RosAria节点未收到消息

时间:2018-10-22 23:49:13

标签: message ros robot

资源

通过VMWare与Ubuntu虚拟机一起使用Macbook Air
Pioneer3 AT机器人
ROS
玫瑰咏叹调

上下文

我至少已经拥有Ros + RosAria的大部分设置:

  1. 通过192.168.1.112roscore的笔记本电脑上运行的主ROS节点
  2. 通过192.168.1.108rosrun rosaria RosAria的机器人内置计算机上运行的RosAria节点,相应设置的端口可通过rosparam set...ROS_MASTER_URI=192.168.1.112:11311访问机器人的电机和传感器,和ROS_IP=192.168.1.112
  3. 运行rostopic pub /RosAria/cmd_vel geometry_msgs/Twist “linear:... angular:...”的笔记本电脑上的另一个终端窗口

机器人上运行的RosAria节点确认它能够连接到主机,并且如果我在笔记本电脑上运行命令rostopic list,我可以看到/RosAria/cmd_vel是可用主题之一。

在我尝试发布到/RosAria/cmd_vel的终端窗口中,我被告知消息正在发送,但是机器人没有收到任何迹象,控制台消息或车轮都未移动。

但是,如果我退出机器人上的RosAria节点并重新启动它,同时在笔记本电脑上运行rostopic pub命令,则机器人会在启动时注册一次消息,相应地移动一会儿,然后什么也不做

我也尝试过rostopic echo其他主题,例如电池状态,电机状态和姿势,但没有收到来自机器人的任何消息。

我已经尝试根据this case更改参数/RosAria/TicksMM/RosAria/RevCount

问题

为什么运行RosAria的先锋机器人如果显然能够与主节点成功通信,却没有收到我的客户端发出的cmd_vel命令?

免责声明

我正在解决此问题的项目不再使用相同的设备,所以现在这个问题对我而言并不那么紧迫。由于无法再使用该先锋机器人,因此我也无法在不久的将来测试建议的解决方案。但是,如果其他人也遇到此问题,我将不回答此主题。

1 个答案:

答案 0 :(得分:0)

您还需要在机器人端设置ROS_IP,以使ROS系统知道要使用的IP作为网络接口

我自己在.bashrc内部设置这种环境,

export ROS_IP=192.168.1.108

,然后提供.bashrc

我认为您也可以使用rosparam,但我从未测试过。

相关问题