Macbook Air 通过 VMWare 运行 Ubuntu 虚拟机
Pioneer3 AT 机器人
活性氧
罗丝阿里亚
我至少已经完成了 Ros+RosAria 的大部分设置:
192.168.1.112
,通过 roscore
192.168.1.108
在 rosrun 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
其他主题,例如电池状态、电机状态和姿势,但我没有收到来自机器人的任何消息。
我已经尝试根据
这种情况更改参数
/RosAria/TicksMM
和/RosAria/RevCount
。
运行 RosAria 的 Pioneer 机器人明明能够与主节点成功通信,为什么却收不到客户端发来的
cmd_vel
命令?
我正在从事的出现这个问题的项目不再使用相同的设备,所以现在这个问题对我来说并不那么紧迫。我也无法在不久的将来测试所提出的解决方案,因为我无法再使用该先锋机器人。不过,我不会回答这个话题,以防其他人也遇到这个问题。
您还需要在机器人端设置 ROS_IP,以便 ROS 系统知道要使用什么 IP 作为网络接口
我自己在里面设置这个环境
.bashrc
像这样:
export ROS_IP=192.168.1.108
然后来源
.bashrc
。
我认为你也可以使用
rosparam
,但我从未测试过。