Plugin which checks if this model has touched some specific target for a given time continuously and exclusively. More...
#include <TouchPlugin.hh>
Inherits ModelPlugin.
Public Types | |
typedef boost::shared_ptr < ModelPlugin > | TPtr |
plugin pointer type definition More... | |
Public Member Functions | |
TouchPlugin () | |
Constructor. More... | |
void | Enable (ConstIntPtr &_msg) |
Callback for enable "service". 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... | |
virtual void | Init () |
Override this method for custom plugin initialization behavior. More... | |
virtual void | Load (physics::ModelPtr _model, sdf::ElementPtr _sdf) |
Load function. More... | |
virtual void | Reset () |
Override this method for custom plugin reset behavior. More... | |
Static Public Member Functions | |
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 | |
std::string | filename |
Path to the shared library file. More... | |
std::string | handleName |
Short name. More... | |
PluginType | type |
Type of plugin. More... | |
Plugin which checks if this model has touched some specific target for a given time continuously and exclusively.
After the touch is completed, the plugin is disabled. It can be re-enabled through a Gazebo transport topic.
It requires that contact sensors be placed in at least one link on this model.
Parameters:
<sensor> Name of contact sensor attached to one of this model's links. There can be multiple sensor elements in case many links are checked.
<target> Scoped name of collision which we want to be touching. This can be a substring of the desired collision name so we match more than one collision. For example, using the name of a model will match all its collisions.
<time> Target time in seconds to maintain contact.
<namespace> Namespace for transport topics: /<namespace>/enable : Topic used to enable and disable the plugin. /<namespace>/touched : Topic where a message is published once the touch is complete.
<enabled> Set this to true so the plugin works from the start and doesn't need to be enabled.
|
inherited |
plugin pointer type definition
TouchPlugin | ( | ) |
Constructor.
|
inlinestaticinherited |
a class method that creates a plugin from a file name.
It locates the shared library and loads it dynamically.
[in] | _filename | the path to the shared library. |
[in] | _name | short name of the plugin |
References PluginT< T >::filename, gzerr, and SingletonT< SystemPaths >::Instance().
void Enable | ( | ConstIntPtr & | _msg | ) |
Callback for enable "service".
[in] | _msg | Message with 0 to disable and 1 to enable the plugin. |
|
inlineinherited |
Get the name of the handler.
References PluginT< T >::filename.
|
inlineinherited |
Get the short name of the handler.
References PluginT< T >::handleName.
|
inlineinherited |
|
inlinevirtualinherited |
Override this method for custom plugin initialization behavior.
Reimplemented in BuoyancyPlugin, HarnessPlugin, FollowerPlugin, PlaneDemoPlugin, MudPlugin, CartDemoPlugin, VehiclePlugin, GimbalSmall2dPlugin, LinearBatteryPlugin, DiffDrivePlugin, and SphereAtlasDemoPlugin.
|
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 ModelPlugin.
|
inlinevirtualinherited |
Override this method for custom plugin reset behavior.
Reimplemented in RandomVelocityPlugin, ElevatorPlugin, FollowerPlugin, LinearBatteryPlugin, InitialVelocityPlugin, and SphereAtlasDemoPlugin.
|
protectedinherited |
Path to the shared library file.
|
protectedinherited |
Short name.
|
protectedinherited |
Type of plugin.
Referenced by ModelPlugin::ModelPlugin().