资源
通过VMWare实现带有Ubuntu虚拟机的Macbook
Pioneer3 AT机器人
罗斯
RosAria
上下文
至少我已经完成了Ros+RosAria的大部分设置:
192.168.1.112上通过roscore运行在笔记本上的主ROS节点rosrun rosaria RosAria在192.168.1.108的内置计算机上运行,端口通过rosparam set...、ROS_MASTER_URI=192.168.1.112:11311和ROS_IP=192.168.1.112访问机器人的马达和传感器。rostopic pub /RosAria/cmd_vel geometry_msgs/Twist “linear:... angular:...”的膝上型计算机上的另一个终端窗口运行在机器人上的RosAria节点确认它能够连接到主机,如果我在笔记本上运行命令rostopic list,我可以看到/RosAria/cmd_vel是可用的主题之一。
在终端窗口,我试图发布给/RosAria/cmd_vel,我被告知,信息正在发送,但机器人没有显示出收到它的迹象,既没有控制台信息,也没有移动车轮。
但是,如果我退出机器人上的RosAria节点,并在我的笔记本上运行rostopic pub命令时重新启动它,机器人在启动时注册一次消息,相应地移动一会儿,然后什么也不做。
我也尝试过rostopic echo的其他主题,如电池状态,电机状态和姿态,但我没有收到来自机器人的任何信息。
我已经尝试过根据/RosAria/TicksMM和/RosAria/RevCount更改参数这个案例。
问题
如果RosAria显然能够成功地与主节点通信,为什么运行cmd_vel的先锋机器人没有接收来自我的客户端的cmd_vel命令?
免责声明
我所从事的这个问题出现的项目不再使用相同的设备,所以现在这个问题对我来说并不是那么紧迫。在不久的将来,我也无法测试所提出的解决方案,因为我再也不能访问那个先锋机器人了。但是,如果其他人也遇到这个问题,我将保留这个话题。
发布于 2018-10-24 16:08:45
您也需要在机器人端设置ROS_IP,让ROS系统知道使用什么IP作为网络接口
我自己在.bashrc中设置了这样的环境:
export ROS_IP=192.168.1.108
然后是源.bashrc。
我认为你也可以使用rosparam,但我从未测试过。
https://stackoverflow.com/questions/52939173
复制相似问题