连接到 ROS 2


预计完成时间:3 分钟

3.3   IGN 到 ROS 桥接

桥接类型: 单向发布方: GZ订阅方: ROS2

  1. 启动 ros_gz_bridge

  在 Web Shell 1 中执行

**注意:** ROS 消息类型使用斜杠 /,而 Ignition 消息类型在类型定义中使用点号 .

In [ ]:
ros2 run ros_gz_bridge parameter_bridge /chatter@std_msgs/msg/String[ignition.msgs.StringMsg
- 注释 -

对应的新 Gazebo Sim 写法:

In [ ]:
ros2 run ros_gz_bridge parameter_bridge /chatter@std_msgs/msg/String[gz.msgs.StringMsg
- 注释结束 -
  1. 启动 ROS2 订阅者

  在 Web Shell 2 中执行

In [ ]:
ros2 topic echo /chatter
  1. 启动 GZ 发布者

  在 Web Shell 3 中执行

In [ ]:
ign topic -t /chatter -m ignition.msgs.StringMsg -p 'data:"Hello"'
- 注释 -

对应的新 Gazebo Sim 写法:

In [ ]:
gz topic -t /chatter -m gz.msgs.StringMsg -p 'data:"Hello"'
- 注释结束 -
  1. 检查 ROS2 订阅终端中的输出

你的结果应与下图类似:

"IGN To ROS Bridge"