chrono::ros::ChROSIPCInterface Class Reference

Description

IPC-based interface that runs ROS in a separate process to avoid symbol conflicts.

#include <ChROSIPCInterface.h>

Inheritance diagram for chrono::ros::ChROSIPCInterface:
Collaboration diagram for chrono::ros::ChROSIPCInterface:

Public Member Functions

 ChROSIPCInterface (const std::string &node_name)
 Constructor. More...
 
 ~ChROSIPCInterface ()
 Destructor - ensures subprocess cleanup.
 
void Initialize (rclcpp::NodeOptions options=rclcpp::NodeOptions()) override
 Initialize the subprocess-based ROS interface.
 
void SpinSome (std::chrono::nanoseconds max_duration=std::chrono::nanoseconds(0)) override
 Process IPC messages (replaces SpinSome functionality)
 
rclcpp::Node::SharedPtr GetNode () override
 Override GetNode to return nullptr (no node in main process)
 
bool SendHandlerData (ipc::MessageType message_type, const void *data, size_t size)
 Send handler data to the subprocess for publishing. More...
 
bool ReceiveMessage (ipc::Message &message)
 Receive message from subprocess (bidirectional communication) More...
 
- Public Member Functions inherited from chrono::ros::ChROSInterface
 ChROSInterface (const std::string node_name)
 Constructor for the ChROSInterface class. More...
 
virtual ~ChROSInterface ()=default
 Virtual destructor for polymorphism.
 
const std::string & GetNodeName () const
 Get the node name (for IPC interface access)
 

Constructor & Destructor Documentation

◆ ChROSIPCInterface()

chrono::ros::ChROSIPCInterface::ChROSIPCInterface ( const std::string &  node_name)

Constructor.

Parameters
node_nameName for the ROS node in the subprocess

Member Function Documentation

◆ ReceiveMessage()

bool chrono::ros::ChROSIPCInterface::ReceiveMessage ( ipc::Message message)

Receive message from subprocess (bidirectional communication)

Parameters
messageMessage buffer to fill
Returns
true if message was received, false if no messages available

◆ SendHandlerData()

bool chrono::ros::ChROSIPCInterface::SendHandlerData ( ipc::MessageType  message_type,
const void *  data,
size_t  size 
)

Send handler data to the subprocess for publishing.

Parameters
message_typeType of handler data
dataSerialized data to send
sizeSize of data in bytes

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