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 Member Functions | |
| void | LoadParam (const sdf::ElementPtr &_sdf, const std::string &_name, V &_target, V _defaultValue=V()) const | 
| Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found.  More... | |
| void | LoadParam (sdf::ElementPtr &_sdf, const std::string &_name, std::string &_target, const char *_defaultValue) const | 
| Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found.  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 KeysToCmdVelPlugin, 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.
| 
 | inlineprotectedinherited | 
Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found.
A message is written using gzmsg reporting whether the default value was used or not.
| [in] | _sdf | The SDF element of the plugin. | 
| [in] | _name | Name of a tag inside the SDF. | 
| [out] | _target | The reference to store the param value to. | 
| [in] | _defaultValue | The default value. | 
References gzmsg, and PluginT< T >::handleName.
| 
 | inlineprotectedinherited | 
Load parameter value from _sdf and store it to the given reference, using the supplied default value if the element in _sdf is not found.
A message is written using gzmsg reporting whether the default value was used or not. String specialization to allow accepting const char* values for std::string parameters.
| [in] | _sdf | The SDF element of the plugin. | 
| [in] | _name | Name of a tag inside the SDF. | 
| [out] | _target | The reference to store the param value to. | 
| [in] | _defaultValue | The default value. | 
| 
 | inlinevirtualinherited | 
Override this method for custom plugin reset behavior.
Reimplemented in KeysToCmdVelPlugin, RandomVelocityPlugin, ElevatorPlugin, FollowerPlugin, LinearBatteryPlugin, ActorPlugin, InitialVelocityPlugin, and SphereAtlasDemoPlugin.
| 
 | protectedinherited | 
Path to the shared library file.
| 
 | protectedinherited | 
Short name.
| 
 | protectedinherited | 
Type of plugin.