ROS2 Communcation
In order to enable seemless integration of GRID into your current robotics stack, we support ROS2 support with Isaac. This enables users to both publish data from the simulation as well as receive commands into the simulation to execute.
Publishing Simulation Data
In order to publish simulation data, we provide support for a list of message types the details of which are provided below:
Message Type | Configurable Parameters | Description |
---|---|---|
RGBImage | msg_type: "sensor_msgs/Image" , target: "name_of_rgb_camera" , msg_name: "name_of_topic" | RGB image frames |
DepthImage | msg_type: "sensor_msgs/Image" , target: "name_of_depth_camera" , msg_name: "name_of_topic" | Depth image frames |
BasePose | msg_type: "geometry_msgs/Pose" , target: "name_of_robot" , body_name: "name_of_body" , msg_name: "name_of_topic" | Pose of the robot’s base link |
EndEffectorPose | msg_type: "geometry_msgs/Pose" , target: "name_of_robot" , link_name: "name_of_link" , msg_name: "name_of_topic" | Pose of the end-effector link (e.g. panda_hand ) |
JointState | msg_type: "sensor_msgs/JointState" , target: "name_of_robot" , msg_name: "name_of_topic" | Current joint states of the robot |
ContactForces | msg_type: "geometry_msgs/Wrench" , target: "name_of_contact_sensor" , msg_name: "name_of_topic" | Contact force/torque readings |
LidarScan | msg_type: "sensor_msgs/PointCloud2" , target: "name_of_lidar" , msg_name: "name_of_topic" | Point-cloud data from the LiDAR |
ImuData | msg_type: "sensor_msgs/msg/Imu" , target: "name_of_imu" , msg_name: "name_of_topic" | IMU (accelerometer/gyroscope) measurements |
An example of how to publish simulation data using env.yaml
is as follows:
Subscribing to Commands
We also allow users to send commads to the robot in the simulation session. Here is the list of commands we support.
ROS2 Msg Type | Description |
---|---|
sensor_msgs/JointState | Command message to set robot joint positions |
geometry_msgs/Twist | Command message to control base linear/angular velocity |
geometry_msgs/Pose | Command message to set end-effector delta pose |
For each command, users need to specify the name of the topic to which they are publishing the specific message and the target command name from the commands
entity specified in the mdp.yaml
.
An example of how to use commands in env.yaml
is as follows:
We are constantly updating our offering of supported message types, please let us know on our Discord Community or reach out to us on our email.