gazebo_quadrotor_aerodynamics.h
Go to the documentation of this file.
1 //=================================================================================================
2 // Copyright (c) 2012-2016, Institute of Flight Systems and Automatic Control,
3 // Technische Universität Darmstadt.
4 // All rights reserved.
5 
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of hector_quadrotor nor the names of its contributors
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
21 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 //=================================================================================================
28 
29 #ifndef HECTOR_QUADROTOR_GAZEBO_PLUGINS_QUADROTOR_AERODYNAMICS_H
30 #define HECTOR_QUADROTOR_GAZEBO_PLUGINS_QUADROTOR_AERODYNAMICS_H
31 
32 #include <gazebo/common/Plugin.hh>
33 #include <gazebo/common/Time.hh>
34 
35 #include <ros/callback_queue.h>
36 #include <ros/ros.h>
37 
38 #include <boost/thread.hpp>
39 
41 
42 namespace gazebo
43 {
44 
45 class GazeboQuadrotorAerodynamics : public ModelPlugin
46 {
47 public:
50 
51 protected:
52  virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf);
53  virtual void Reset();
54  virtual void Update();
55 
56 private:
58  physics::WorldPtr world;
59 
61  physics::LinkPtr link;
62 
64 
67  boost::thread callback_queue_thread_;
68  void QueueThread();
69 
72 
73  std::string body_name_;
74  std::string namespace_;
75  std::string param_namespace_;
76  double control_rate_;
77  std::string wind_topic_;
78  std::string wrench_topic_;
79  std::string frame_id_;
80 
81  common::Time last_time_;
82 
83  // Pointer to the update event connection
84  event::ConnectionPtr updateConnection;
85 };
86 
87 }
88 
89 #endif // HECTOR_QUADROTOR_GAZEBO_PLUGINS_QUADROTOR_AERODYNAMICS_H
virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf)
physics::LinkPtr link
The link referred to by this plugin.
physics::WorldPtr world
The parent World.
hector_quadrotor_model::QuadrotorAerodynamics model_


hector_quadrotor_gazebo_plugins
Author(s): Johannes Meyer
autogenerated on Mon Jun 10 2019 13:36:58