连接到 ROS 2


预计完成时间:4 分钟

3.5   IGN 与 ROS 双向桥接

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

启动双向 ros_gz_bridge

  在 Web Shell 1 中执行

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

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

练习 3.4.1

在这个练习中,请利用上面两种单向桥接方法学到的内容,实现 GZ 到 ROS 通信ROS 到 GZ 通信

像上面的示例那样,使用两个独立的 web shell 来验证双向通信。

请先自己尝试一下。如果卡住了,再查看下面的参考答案。

练习 3.4.1 结束
练习 3.4.1 参考答案

GZ 到 ROS 通信:

  在 Web Shell 2 中执行

In [ ]:
ros2 topic echo /chatter

  在 Web Shell 3 中执行

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

ROS 到 GZ 通信:

  在 Web Shell 2 中执行

In [ ]:
ign topic -e -t /chatter

  在 Web Shell 3 中执行

In [ ]:
ros2 topic pub /chatter std_msgs/msg/String 'data: "Hello"' --once

你的结果应与下图类似:

"ROS IGN Bridge"

练习 3.4.1 参考答案结束