【问题标题】:RosAria node doesn’t receive messagesRosAria 节点不接收消息
【发布时间】:2018-10-22 23:49:12
【问题描述】:

资源

Macbook Air 与 Ubuntu 虚拟机通过 VMWare
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:11311ROS_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 的 Pioneer 机器人显然能够与主节点成功通信,为什么它没有收到来自我的客户端的 cmd_vel 命令?

免责声明

我正在处理的这个问题出现的项目不再使用相同的设备,所以现在这个问题对我来说不是那么紧迫。我也无法在不久的将来测试提出的解决方案,因为我不再可以使用那个 Pioneer 机器人。但是,如果其他人也遇到此问题,我将不回答此主题。

【问题讨论】:

    标签: message ros robot


    【解决方案1】:

    您也需要在机器人端设置 ROS_IP 以让 ROS 系统知道使用哪个 IP 作为网络接口

    我自己在 .bashrc 内部设置了这个环境,就像这样:

    export ROS_IP=192.168.1.108

    然后来源.bashrc

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

    【讨论】:

    • 我已经在机器人的 .bashrc 文件中将 ROS_MASTER_URI 和 ROS_IP 都设置为笔记本电脑的地址,并获取了它
    • 你需要在ROS_IP里面设置robot IP,在ROS_MASTER_URI里面设置master IP,ROS_IP应该是你自己接口的IP地址,而不是master的远程地址
    猜你喜欢
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多