chrono::ros::ChROSRobotModelHandler Class Reference

Description

This handler is responsible for publishing a robot model to be visualized in RViz RViz expects a string containing the robot model.

We don't really need to publish this at a high rate, so the update rate is set implicitly to a very large value. This effectively means it will only be published once. This is okay since we'll also set the QoS to be local transient, meaning late joiners will still receive the message even if it's already been published.

#include <ChROSRobotModelHandler.h>

Inheritance diagram for chrono::ros::ChROSRobotModelHandler:
Collaboration diagram for chrono::ros::ChROSRobotModelHandler:

Public Member Functions

 ChROSRobotModelHandler (const std::string &robot_model, const std::string &topic_name="/robot_description")
 Constructor. More...
 
virtual bool Initialize (std::shared_ptr< ChROSInterface > interface) override
 Initializes the handler. This creates the publisher for the robot model topic.
 
virtual ipc::MessageType GetMessageType () const override
 Get the message type of this handler.
 
virtual std::vector< uint8_t > GetSerializedData (double time) override
 Get the serialized data for the handler.
 
- Public Member Functions inherited from chrono::ros::ChROSHandler
virtual ~ChROSHandler ()=default
 Destructor for the ChROSHandler.
 
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.
 
virtual bool IsPublisher () const
 Check if this handler is a publisher (data flows from Chrono to ROS) Default is true. More...
 
virtual void PublishFromSerialized (const std::vector< uint8_t > &data, std::shared_ptr< ChROSInterface > interface)
 Publish data to ROS from serialized bytes. More...
 
virtual void ApplyFromSerialized (const std::vector< uint8_t > &data)
 Apply data to Chrono from serialized bytes. More...
 
virtual void SubscribeAndForward (std::shared_ptr< ChROSInterface > interface, std::function< void(const std::vector< uint8_t > &)> callback)
 Setup subscriber in subprocess to send data back to main process. More...
 
virtual void HandleIncomingMessage (const ipc::Message &msg)
 Handle incoming IPC message from ROS subscriber (bidirectional communication). More...
 
virtual bool SupportsIncomingMessages () const
 Returns true if this handler processes incoming IPC messages. More...
 

Additional Inherited Members

- Public Types inherited from chrono::ros::ChROSHandler
typedef chrono::ros::ipc::MessageType MessageType
 Get the message type of this handler. More...
 
- Protected Member Functions inherited from chrono::ros::ChROSHandler
 ChROSHandler (double update_rate)
 Constructor for the ChROSHandler. More...
 
void IncrementTickCount ()
 Increment the tick count.
 

Constructor & Destructor Documentation

◆ ChROSRobotModelHandler()

chrono::ros::ChROSRobotModelHandler::ChROSRobotModelHandler ( const std::string &  robot_model,
const std::string &  topic_name = "/robot_description" 
)

Constructor.

The topic name defaults to "/robot_description".


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_ros/handlers/robot/ChROSRobotModelHandler.h
  • /builds/uwsbel/chrono/src/chrono_ros/handlers/robot/ChROSRobotModelHandler.cpp