ros 节点话题重映射和命名空间(以turtlesim为例)

本文以turtlesim为例,探讨ROS中节点和话题的重映射以及命名空间的使用。通过重映射,可以避免节点和话题名称冲突,实现多个实例同时运行。通过rosnode list、rqt_graph工具观察效果,并演示如何通过键盘控制多个乌龟在不同命名空间下独立运动,展示了ROS系统的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于ROS必须有唯一的名称,不论是节点还是话题都是如此,简单地两次执行相关节点将导致之前执行的节点终止。但是我们可以在运行时更改节点的名称,而不需要运行额外的程序或更改源代码。方法包括命名空间(namespace)和重新映射(remapping)。
这里说一下关于节点和话题的名称重映射,以turtlesim这个简单的小实验为例子。
节点名称重映射:

  1. 记得先打开ros_maseter,运行roscore.

  2. rosrun turtlesim turtlesim_node __name:=first_turtle
    此处name前为两个下划线。

  3. rosrun turtlesim turtlesim_node __name:=second_turtle

  4. 通过rosnode list 可以查看当前的节点有哪些

  5. rosrun turtlesim turtle_teleop_key
    可以通过键盘控制来控制两个乌龟同时运动,因为两只乌龟订阅同一个话题turtle1/cmd_vel,而发布节点turtle_teleop_key只向话题turtle1/cmd_vel发送消息。
    在这里插入图片描述
    如图所示,可以开启两个turtlesim,并且有不同的名称,可以通过键盘同时控制两个乌龟同时运动在做多摄像头定位时非常有用。
    利用rqt_graph工具可以看到当前节点和话题关系。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值