Contact sensor. More...
#include <sensors/sensors.hh>
Public Member Functions | |
ContactSensor () | |
Constructor. More... | |
virtual | ~ContactSensor () |
Destructor. More... | |
msgs::Contacts | Contacts () const |
Get all the contacts for the ContactSensor. More... | |
std::map< std::string, physics::Contact > | Contacts (const std::string &_collisionName) const |
Gets contacts of a collision. More... | |
unsigned int | GetCollisionContactCount (const std::string &_collisionName) const |
Return the number of contacts for an observed collision. More... | |
unsigned int | GetCollisionCount () const |
Get the number of collisions that the sensor is observing. More... | |
std::string | GetCollisionName (unsigned int _index) const |
Get a collision name at index _index. More... | |
msgs::Contacts | GetContacts () const GAZEBO_DEPRECATED(7.0) |
Get all the contacts for the ContactSensor. More... | |
std::map< std::string, physics::Contact > | GetContacts (const std::string &_collisionName) GAZEBO_DEPRECATED(7.0) |
Gets contacts of a collision. More... | |
virtual void | Init () |
Initialize the sensor. More... | |
virtual bool | IsActive () const |
Returns true if sensor generation is active. More... | |
virtual void | Load (const std::string &_worldName, sdf::ElementPtr _sdf) |
Load the sensor with SDF parameters. More... | |
virtual void | Load (const std::string &_worldName) |
Load the sensor with default parameters. More... | |
Public Member Functions inherited from gazebo::sensors::Sensor | |
Sensor (SensorCategory _cat) | |
Constructor. More... | |
virtual | ~Sensor () |
Destructor. More... | |
SensorCategory | Category () const |
Get the category of the sensor. More... | |
event::ConnectionPtr | ConnectUpdated (std::function< void()> _subscriber) |
Connect a signal that is triggered when the sensor is updated. More... | |
void | DisconnectUpdated (event::ConnectionPtr &_c) |
Disconnect from a the updated signal. More... | |
void | FillMsg (msgs::Sensor &_msg) |
fills a msgs::Sensor message. More... | |
SensorCategory | GetCategory () const GAZEBO_DEPRECATED(7.0) |
Get the category of the sensor. More... | |
uint32_t | GetId () const GAZEBO_DEPRECATED(7.0) |
Get the sensor's ID. More... | |
common::Time | GetLastMeasurementTime () GAZEBO_DEPRECATED(7.0) |
Return last measurement time. More... | |
common::Time | GetLastUpdateTime () GAZEBO_DEPRECATED(7.0) |
Return last update time. More... | |
std::string | GetName () const GAZEBO_DEPRECATED(7.0) |
Get name. More... | |
NoisePtr | GetNoise (const SensorNoiseType _type) const GAZEBO_DEPRECATED(7.0) |
Get the sensor's noise model for a specified noise type. More... | |
uint32_t | GetParentId () const GAZEBO_DEPRECATED(7.0) |
Get the sensor's parent's ID. More... | |
std::string | GetParentName () const GAZEBO_DEPRECATED(7.0) |
Returns the name of the sensor parent. More... | |
std::string | GetScopedName () const GAZEBO_DEPRECATED(7.0) |
Get fully scoped name of the sensor. More... | |
virtual std::string | GetTopic () const GAZEBO_DEPRECATED(7.0) |
Returns the topic name as set in SDF. More... | |
std::string | GetType () const GAZEBO_DEPRECATED(7.0) |
Get sensor type. More... | |
double | GetUpdateRate () GAZEBO_DEPRECATED(7.0) |
Get the update rate of the sensor. More... | |
bool | GetVisualize () const GAZEBO_DEPRECATED(7.0) |
Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF. More... | |
std::string | GetWorldName () const GAZEBO_DEPRECATED(7.0) |
Returns the name of the world the sensor is in. More... | |
uint32_t | Id () const |
Get the sensor's ID. More... | |
common::Time | LastMeasurementTime () const |
Return last measurement time. More... | |
common::Time | LastUpdateTime () const |
Return last update time. More... | |
std::string | Name () const |
Get name. More... | |
NoisePtr | Noise (const SensorNoiseType _type) const |
Get the sensor's noise model for a specified noise type. More... | |
uint32_t | ParentId () const |
Get the sensor's parent's ID. More... | |
std::string | ParentName () const |
Returns the name of the sensor parent. More... | |
virtual ignition::math::Pose3d | Pose () const |
Get the current pose. More... | |
void | ResetLastUpdateTime () |
Reset the lastUpdateTime to zero. More... | |
std::string | ScopedName () const |
Get fully scoped name of the sensor. More... | |
virtual void | SetActive (const bool _value) |
Set whether the sensor is active or not. More... | |
void | SetParent (const std::string &_name, const uint32_t _id) |
Set the sensor's parent. More... | |
virtual void | SetPose (const ignition::math::Pose3d &_pose) |
Set the current pose. More... | |
void | SetUpdateRate (const double _hz) |
Set the update rate of the sensor. More... | |
virtual std::string | Topic () const |
Returns the topic name as set in SDF. More... | |
std::string | Type () const |
Get sensor type. More... | |
void | Update (const bool _force) |
Update the sensor. More... | |
double | UpdateRate () const |
Get the update rate of the sensor. More... | |
bool | Visualize () const |
Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF. More... | |
std::string | WorldName () const |
Returns the name of the world the sensor is in. More... | |
Protected Member Functions | |
virtual void | Fini () |
Finalize the sensor. More... | |
virtual bool | UpdateImpl (const bool _force) |
This gets overwritten by derived sensor types. More... | |
Protected Member Functions inherited from gazebo::sensors::Sensor | |
bool | NeedsUpdate () |
Return true if the sensor needs to be updated. More... | |
Additional Inherited Members | |
Protected Attributes inherited from gazebo::sensors::Sensor | |
bool | active |
True if sensor generation is active. More... | |
std::vector< event::ConnectionPtr > | connections |
All event connections. More... | |
common::Time | lastMeasurementTime |
Stores last time that a sensor measurement was generated; this value must be updated within each sensor's UpdateImpl. More... | |
common::Time | lastUpdateTime |
Time of the last update. More... | |
transport::NodePtr | node |
Node for communication. More... | |
std::map< SensorNoiseType, NoisePtr > | noises |
Noise added to sensor data. More... | |
uint32_t | parentId |
The sensor's parent ID. More... | |
std::string | parentName |
Name of the parent. More... | |
std::vector< SensorPluginPtr > | plugins |
All the plugins for the sensor. More... | |
ignition::math::Pose3d | pose |
Pose of the sensor. More... | |
gazebo::rendering::ScenePtr | scene |
Pointer to the Scene. More... | |
sdf::ElementPtr | sdf |
Pointer the the SDF element for the sensor. More... | |
common::Time | updatePeriod |
Desired time between updates, set indirectly by Sensor::SetUpdateRate. More... | |
gazebo::physics::WorldPtr | world |
Pointer to the world. More... | |
Contact sensor.
This sensor detects and reports contacts between objects
gazebo::sensors::ContactSensor::ContactSensor | ( | ) |
Constructor.
|
virtual |
Destructor.
msgs::Contacts gazebo::sensors::ContactSensor::Contacts | ( | ) | const |
Get all the contacts for the ContactSensor.
During ODEPhysics::UpdateCollisions, all collision pairs in the world are pushed into a buffer within ContactManager. Subsequently, World::Update invokes ContactManager::PublishContacts to publish all contacts generated within a timestep onto Gazebo topic ~/physics/contacts.
Each ContactSensor subscribes to the Gazebo ~/physics/contacts topic, retrieves all contact pairs in a time step and filters them wthin ContactSensor::OnContacts against <collision> body name specified by the ContactSensor SDF. All collision pairs between ContactSensor <collision> body and other bodies in the world are stored in an array inside contacts.proto.
Within each element of the contact.proto array inside contacts.proto, list of collisions between collision bodies (collision1 and collision 2) are stored in an array of elements, (position, normal, depth, wrench). A timestamp has also been added (time). Details are described below:
std::map<std::string, physics::Contact> gazebo::sensors::ContactSensor::Contacts | ( | const std::string & | _collisionName | ) | const |
Gets contacts of a collision.
[in] | _collisionName | Name of collision |
|
protectedvirtual |
Finalize the sensor.
Reimplemented from gazebo::sensors::Sensor.
unsigned int gazebo::sensors::ContactSensor::GetCollisionContactCount | ( | const std::string & | _collisionName | ) | const |
Return the number of contacts for an observed collision.
[in] | _collisionName | The name of the observed collision. |
unsigned int gazebo::sensors::ContactSensor::GetCollisionCount | ( | ) | const |
Get the number of collisions that the sensor is observing.
std::string gazebo::sensors::ContactSensor::GetCollisionName | ( | unsigned int | _index | ) | const |
Get a collision name at index _index.
[in] | _index | Index of collision in collection of collisions. |
msgs::Contacts gazebo::sensors::ContactSensor::GetContacts | ( | ) | const |
Get all the contacts for the ContactSensor.
During ODEPhysics::UpdateCollisions, all collision pairs in the world are pushed into a buffer within ContactManager. Subsequently, World::Update invokes ContactManager::PublishContacts to publish all contacts generated within a timestep onto Gazebo topic ~/physics/contacts.
Each ContactSensor subscribes to the Gazebo ~/physics/contacts topic, retrieves all contact pairs in a time step and filters them wthin ContactSensor::OnContacts against <collision> body name specified by the ContactSensor SDF. All collision pairs between ContactSensor <collision> body and other bodies in the world are stored in an array inside contacts.proto.
Within each element of the contact.proto array inside contacts.proto, list of collisions between collision bodies (collision1 and collision 2) are stored in an array of elements, (position, normal, depth, wrench). A timestamp has also been added (time). Details are described below:
std::map<std::string, physics::Contact> gazebo::sensors::ContactSensor::GetContacts | ( | const std::string & | _collisionName | ) |
Gets contacts of a collision.
[in] | _collisionName | Name of collision |
|
virtual |
Initialize the sensor.
Reimplemented from gazebo::sensors::Sensor.
|
virtual |
Returns true if sensor generation is active.
Reimplemented from gazebo::sensors::Sensor.
|
virtual |
Load the sensor with SDF parameters.
[in] | _sdf | SDF Sensor parameters |
[in] | _worldName | Name of world to load from |
Reimplemented from gazebo::sensors::Sensor.
|
virtual |
Load the sensor with default parameters.
[in] | _worldName | Name of world to load from. |
Reimplemented from gazebo::sensors::Sensor.
|
protectedvirtual |
This gets overwritten by derived sensor types.
This function is called during Sensor::Update. And in turn, Sensor::Update is called by SensorManager::Update
[in] | _force | True if update is forced, false if not |
Reimplemented from gazebo::sensors::Sensor.