Ros2JointStateMessageImpl#

Fully qualified name: isaacsim::ros2::bridge::Ros2JointStateMessageImpl

class Ros2JointStateMessageImpl : public isaacsim::ros2::bridge::Ros2JointStateMessage, private isaacsim::ros2::bridge::Ros2MessageInterfaceImpl#

Implementation of ROS 2 Joint State message.

Handles the creation and manipulation of sensor_msgs/msg/JointState messages, which contain robot joint positions, velocities, and efforts.

Public Functions

Ros2JointStateMessageImpl()#
virtual ~Ros2JointStateMessageImpl()#
virtual const void *getTypeSupportHandle()#

Gets the type support handle for the message.

Returns a pointer to the ROS IDL message type support data structure. The actual type depends on the message category:

  • Topic: rosidl_message_type_support_t

  • Service: rosidl_service_type_support_t

  • Action: rosidl_action_type_support_t

Returns:

Pointer to the type support structure or nullptr.

virtual void writeData(
const double &timeStamp,
omni::physics::tensors::IArticulationView *articulation,
pxr::UsdStageWeakPtr stage,
std::vector<float> &jointPositions,
std::vector<float> &jointVelocities,
std::vector<float> &jointEfforts,
std::vector<uint8_t> &dofTypes,
const double &stageUnits,
)#

Sets the joint state data.

Parameters:
  • timeStamp[in] Time in seconds

  • articulation[in] Pointer to articulation view

  • stage[in] USD stage pointer

  • jointPositions[in] Vector of joint positions

  • jointVelocities[in] Vector of joint velocities

  • jointEfforts[in] Vector of joint efforts

  • dofTypes[in] Vector of DOF types

  • stageUnits[in] Stage unit scale factor

virtual void readData(
std::vector<char*> &jointNames,
double *jointPositions,
double *jointVelocities,
double *jointEfforts,
double &timeStamp,
)#

Reads the joint state data.

Parameters:
  • jointNames[out] Vector of joint names

  • jointPositions[out] Array of joint positions

  • jointVelocities[out] Array of joint velocities

  • jointEfforts[out] Array of joint efforts

  • timeStamp[out] Time in seconds

virtual size_t getNumJoints()#

Gets the number of joints in the message.

Returns:

size_t Number of joints

virtual bool checkValid()#

Validates the joint state message.

Returns:

bool True if the message is valid

inline void *getPtr()#

Retrieves the message pointer.

Returns the pointer to the underlying ROS 2 message if it has been properly created and initialized.

Note

This method does not perform type checking - the caller is responsible for proper casting to the appropriate message type.

Returns:

Pointer to the message or nullptr if not initialized.

Protected Attributes

void *m_msg = nullptr#

Message pointer.