通过VMWare与Ubuntu虚拟机一起使用Macbook Air
Pioneer3 AT机器人
ROS
玫瑰咏叹调
我至少已经拥有Ros + RosAria的大部分设置:
192.168.1.112
在roscore
的笔记本电脑上运行的主ROS节点192.168.1.108
在rosrun rosaria RosAria
的机器人内置计算机上运行的RosAria节点,相应设置的端口可通过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
其他主题,例如电池状态,电机状态和姿势,但没有收到来自机器人的任何消息。
我已经尝试根据this case更改参数/RosAria/TicksMM
和/RosAria/RevCount
。
为什么运行RosAria的先锋机器人如果显然能够与主节点成功通信,却没有收到我的客户端发出的cmd_vel
命令?
我正在解决此问题的项目不再使用相同的设备,所以现在这个问题对我而言并不那么紧迫。由于无法再使用该先锋机器人,因此我也无法在不久的将来测试建议的解决方案。但是,如果其他人也遇到此问题,我将不回答此主题。
答案 0 :(得分:0)
您还需要在机器人端设置ROS_IP,以使ROS系统知道要使用的IP作为网络接口
我自己在.bashrc
内部设置这种环境,
export ROS_IP=192.168.1.108
,然后提供.bashrc
。
我认为您也可以使用rosparam
,但我从未测试过。