RosAria节点没有收到消息

问题描述 投票:0回答:1

资源

Macbook Air 通过 VMWare 运行 Ubuntu 虚拟机
Pioneer3 AT 机器人
活性氧
罗丝阿里亚

背景

我至少已经完成了 Ros+RosAria 的大部分设置:

  1. 主 ROS 节点在笔记本电脑上运行,地址为
    192.168.1.112
    ,通过
    roscore
  2. RosAria 节点通过
    192.168.1.108
    rosrun 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
其他主题,例如电池状态、电机状态和姿势,但我没有收到来自机器人的任何消息。

我已经尝试根据

这种情况
更改参数
/RosAria/TicksMM
/RosAria/RevCount

问题

运行 RosAria 的 Pioneer 机器人明明能够与主节点成功通信,为什么却收不到客户端发来的

cmd_vel
命令?

免责声明

我正在从事的出现这个问题的项目不再使用相同的设备,所以现在这个问题对我来说并不那么紧迫。我也无法在不久的将来测试所提出的解决方案,因为我无法再使用该先锋机器人。不过,我不会回答这个话题,以防其他人也遇到这个问题。

message ros
1个回答
0
投票

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

我自己在里面设置这个环境

.bashrc
像这样:

export ROS_IP=192.168.1.108

然后来源

.bashrc

我认为你也可以使用

rosparam
,但我从未测试过。

© www.soinside.com 2019 - 2024. All rights reserved.