预计完成时间:4 分钟
桥接类型: 双向;发布方: GZ / ROS2;订阅方: ROS2 / GZ
启动双向 ros_gz_bridge
在 Web Shell 1 中执行
ros2 run ros_gz_bridge parameter_bridge /chatter@std_msgs/msg/String@ignition.msgs.StringMsg
**注意:** ROS 消息类型使用斜杠 /,而 Ignition 消息类型在类型定义中使用点号 .。
在这个练习中,请利用上面两种单向桥接方法学到的内容,实现 GZ 到 ROS 通信 和 ROS 到 GZ 通信。
像上面的示例那样,使用两个独立的 web shell 来验证双向通信。
请先自己尝试一下。如果卡住了,再查看下面的参考答案。
GZ 到 ROS 通信:
在 Web Shell 2 中执行
ros2 topic echo /chatter
在 Web Shell 3 中执行
ign topic -t /chatter -m ignition.msgs.StringMsg -p 'data:"Hello"'
ROS 到 GZ 通信:
在 Web Shell 2 中执行
ign topic -e -t /chatter
在 Web Shell 3 中执行
ros2 topic pub /chatter std_msgs/msg/String 'data: "Hello"' --once
你的结果应与下图类似:

