为什么真实机器人(而不是仿真机器人)中的多个机器人不能运行gmap包? [英] Why gmapping package is not run in multiple robot in real robot (not simulation)?

查看:11
本文介绍了为什么真实机器人(而不是仿真机器人)中的多个机器人不能运行gmap包?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已从机械手tb3_0的raspberry pi运行此命令以运行/tb3_0/turtlebot3_core节点

pi@raspberinki:~$ROS_NAMESPACE=tb3_0 rosLaunch turtlebot3_bringup turtlebot3_robot.unch

然后在PC终端运行tb3_0机器人的gmapping

amirul@nMy-lab:~$ROS_NAMESPACE=tb3_0 ros Launch turtlebot3_SLAM turtlebot3_gmapping.Launch set_base_Frame:=tb3_0/base_Footprint set_odom_Frame:=tb3_0/Odom set_map_Frame:=tb3_0/map

但gmap程序包显示警告消息

[WARN][1635496431.864557793]:MessageFilter[TARGET=ODOM]:到目前为止丢弃了100.00%的消息。有关详细信息,请将[ros.gmapping.MESSAGE_NOTIFIER]ROSS控制台记录器转换为调试。

我认为我没有将robot_state_publisher节点发布到/tb3_0/gmapping节点。如何在tb3_0 ROSNAMESPACE中运行robot_state_publisher节点?谢谢!

这是正在运行的节点的rqt_graph

推荐答案

这取决于您启动robot_state_publisher的方式。如果使用启动文件,则可以使用ns属性将命名空间应用于节点。但是,如果希望发布名称空间转换,则应该使用tf_prefix参数。以以下示例为例

<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher">
    <param name="publish_frequency" value="50.0"/>
    <param name="tf_prefix" value="tb3_0" />
</node>

这篇关于为什么真实机器人(而不是仿真机器人)中的多个机器人不能运行gmap包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆