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 TrackedVehiclePlugin, KeysToCmdVelPlugin, SimpleTrackedVehiclePlugin, BuoyancyPlugin, HarnessPlugin, WheelTrackedVehiclePlugin, 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 TrackedVehiclePlugin, KeysToCmdVelPlugin, RandomVelocityPlugin, SimpleTrackedVehiclePlugin, ElevatorPlugin, WheelTrackedVehiclePlugin, FollowerPlugin, LinearBatteryPlugin, ActorPlugin, InitialVelocityPlugin, and SphereAtlasDemoPlugin.
|
protectedinherited |
Path to the shared library file.
|
protectedinherited |
Short name.
|
protectedinherited |
Type of plugin.