Description
This handler is responsible for publishing transform (tf) information.
For more information on the use of tf in ROS, see the tf2_ros documentation.
#include <ChROSTFHandler.h>
Public Member Functions | |
ChROSTFHandler (double update_rate) | |
Constructor. | |
virtual bool | Initialize (std::shared_ptr< ChROSInterface > interface) override |
Initializes the handler. More... | |
void | AddTransform (std::shared_ptr< chrono::ChBody > parent, std::shared_ptr< chrono::ChBody > child) |
Add a transform to be published. More... | |
void | AddTransform (std::shared_ptr< chrono::ChBody > parent, chrono::ChFrame< double > child_frame, const std::string &child_frame_id) |
Add a transform to be published. More... | |
Public Member Functions inherited from chrono::ros::ChROSHandler | |
virtual | ~ChROSHandler ()=default |
Destructor for the ChROSHandler. | |
virtual void | Update (double time, double step) final |
Updates the internal clock and checks if a tick should occur. More... | |
const double | GetUpdateRate () const |
Get the period which this handler operates at. | |
const uint64_t | GetTickCount () const |
Get the number of times Tick() has been called. | |
Protected Member Functions | |
virtual void | Tick (double time) override |
Update the transforms and publish them. More... | |
Protected Member Functions inherited from chrono::ros::ChROSHandler | |
ChROSHandler (double update_rate) | |
Constructor for the ChROSHandler. More... | |
Member Function Documentation
◆ AddTransform() [1/2]
void chrono::ros::ChROSTFHandler::AddTransform | ( | std::shared_ptr< chrono::ChBody > | parent, |
chrono::ChFrame< double > | child_frame, | ||
const std::string & | child_frame_id | ||
) |
Add a transform to be published.
This version of the AddTransform function will publish a static transform between the parent and child frame. This is useful for two bodies that are connected by a link. The parent frame id is queried using the parent->GetName() method.
- Parameters
-
parent The parent body child_frame The child frame child_frame_id The child frame id
◆ AddTransform() [2/2]
void chrono::ros::ChROSTFHandler::AddTransform | ( | std::shared_ptr< chrono::ChBody > | parent, |
std::shared_ptr< chrono::ChBody > | child | ||
) |
Add a transform to be published.
This version of the AddTransform function will use two bodies directly and calculate the transform at each tick. This is useful for two bodies that are not connected by a link. The parent and child frame id is queried using the parent->GetName() and child->GetName() methods, respectively.
- Parameters
-
parent The parent body child The child body
◆ Initialize()
|
overridevirtual |
Initializes the handler.
This will create the tf broadcaster. The topic name is assigned to /tf internally within the broadcaster and this can not be changed.
Implements chrono::ros::ChROSHandler.
◆ Tick()
|
overrideprotectedvirtual |
Update the transforms and publish them.
- Parameters
-
time The current time of the simulation
Implements chrono::ros::ChROSHandler.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_ros/handlers/ChROSTFHandler.h
- /builds/uwsbel/chrono/src/chrono_ros/handlers/ChROSTFHandler.cpp