Allow moving the control surfaces of a Cessna C-172 plane. More...
#include <CessnaPlugin.hh>
Public Member Functions | |
CessnaPlugin () | |
Constructor. More... | |
~CessnaPlugin () | |
Destructor. More... | |
virtual void | Load (physics::ModelPtr _model, sdf::ElementPtr _sdf) |
Load function. More... | |
Public Member Functions inherited from gazebo::ModelPlugin | |
ModelPlugin () | |
Constructor. More... | |
virtual | ~ModelPlugin () |
Destructor. More... | |
virtual void | Init () |
Override this method for custom plugin initialization behavior. More... | |
virtual void | Reset () |
Override this method for custom plugin reset behavior. More... | |
Public Member Functions inherited from gazebo::PluginT< ModelPlugin > | |
PluginT () | |
Constructor. More... | |
virtual | ~PluginT () |
Destructor. More... | |
std::string | GetFilename () const |
Get the name of the handler. More... | |
std::string | GetHandle () const |
Get the short name of the handler. More... | |
PluginType | GetType () const |
Returns the type of the plugin. More... | |
Additional Inherited Members | |
Public Types inherited from gazebo::PluginT< ModelPlugin > | |
typedef boost::shared_ptr < ModelPlugin > | TPtr |
plugin pointer type definition More... | |
Static Public Member Functions inherited from gazebo::PluginT< ModelPlugin > | |
static TPtr | Create (const std::string &_filename, const std::string &_name) |
a class method that creates a plugin from a file name. More... | |
Protected Attributes inherited from gazebo::PluginT< ModelPlugin > | |
std::string | filename |
Path to the shared library file. More... | |
std::string | handleName |
Short name. More... | |
PluginType | type |
Type of plugin. More... | |
Allow moving the control surfaces of a Cessna C-172 plane.
This plugin might be used with other models that have similar control surfaces.
The plugin requires the following parameters: <propeller> Name of the joint controlling the propeller spin. <propeller_max_rpm> Maximum angular speed in rpm. <left_aileron> Name of the joint controlling the left aileron. <left_flap> Name of the joint controlling the left flap. <right_aileron> Name of the joint controlling the right aileron. <right_flap> Name of the joint controlling the right flap. <elevators> Name of the joint controlling the rear elevators. <rudder> Name of the joint controlling the rudder.
The following parameters are optional: <propeller_p_gain> P gain for the PID that controls the propeller's speed. <propeller_i_gain> I gain for the PID that controls the propeller's speed. <propeller_d_gain> D gain for the PID that controls the propeller's speed. <surfaces_p_gain> P gain for the PID that controls the position of the control surfaces. <surfaces_i_gain> I gain for the PID that controls the position of the control surfaces. <surfaces_d_gain> D gain for the PID that controls the position of the control surfaces.
The plugin will be subscribed to the following topic: "~/<model_name>/control" The expected value is a Cessna message.
The plugin will advertise the following topic with the current state: "~/<model_name>/state"
gazebo::CessnaPlugin::CessnaPlugin | ( | ) |
Constructor.
gazebo::CessnaPlugin::~CessnaPlugin | ( | ) |
Destructor.
|
virtual |
Load function.
Called when a Plugin is first created, and after the World has been loaded. This function should not be blocking.
[in] | _model | Pointer to the Model |
[in] | _sdf | Pointer to the SDF element of the plugin. |
Implements gazebo::ModelPlugin.