有关turtlebot小车的ROS_MASTER_URI的问题

默认情况

PC端可以通过修改.bashrc中的ROS_MASTER_URI对小车远程进行控制,此时**节点管理器master是在小车上运行的**,这是tianbot官方文档给出的配置信息。
PC端可以运行节点通过**小车端的话题**实现PC端和小车的信息交互。

修改情况

现在我想要实现两辆小车通过一个PC端通信,就得实现将PC端作为节点管理器master的载体。于是我将PC端通过ssh登录到小车的系统并更改ROS_MASTER_URI成了PC端的ip地址。我希望小车间**通过PC端的话题实现信息交互**。

但是在控制小车的终端上敲打如下命令之后出现了错误(而在修改ROS_MASTER_URI之前并没出现以下错误)

1.export ROS_MASTER_URI=http://PC端的ip地址:11311

2.roslaunch keyboard_demo.launch

<launch>
  <!-- 底盘驱动 -->
  <include file="$(find turtlebot_bringup)/launch/minimal.launch"/>
  <!-- 键盘控制 -->
  <include file="$(find turtlebot_teleop)/launch/keyboard_teleop.launch"/>
</launch>

[FATAL] [1590927029.220032454]: ASSERTION FAILED

file = /opt/ros/kinetic/include/ros/publisher.h

line = 69

cond = false

message =

[FATAL] [1590927029.220171803]: Call to publish() on an invalid Publisher

[FATAL] [1590927029.220295400]:

[FATAL] [1590927029.224751693]: Failed to load nodelet '/cmd_vel_mux '
of type ' yocs_cmd_vel_mux/CmdVelMuxNodelet' to manager 'mobile_base_nodelet_manager'

[mobile_base_nodelet_manager-3] process has died

[pid 20765, exit code -5, cmd /opt/ros/kinetic/lib/nodelet/nodelet manager __name:=mobile_base_nodelet_manager __log:=/home/tianbot/.ros/log/cc530678-a336-11ea-91ef-e4029b4c4eb0/mobile_base_nodelet_manager-3.log].

log file: /home/tianbot/.ros/log/cc530678-a336-11ea-91ef-e4029b4c4eb0/mobile_base_nodelet_manager-3*.log

[cmd_vel_mux-6] process has died

[pid 20768, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load yocs_cmd_vel_mux/CmdVelMuxNodelet mobile_base_nodelet_manager cmd_vel_mux/output:=mobile_base/commands/velocity __name:=cmd_vel_mux __log:=/home/tianbot/.ros/log/cc530678-a336-11ea-91ef-e4029b4c4eb0/cmd_vel_mux-6.log].

log file: /home/tianbot/.ros/log/cc530678-a336-11ea-91ef-e4029b4c4eb0/cmd_vel_mux-6*.log

不知道具体问题是什么,也不确定如何解决。如果有接触这样问题的大佬是否能解答一下,万分感谢。

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问