外部ROS节点无法与simulink通信金宝app

28次浏览(最近30天)
马克Duntz
马克Duntz 2019年8月13日
在Mathworks网络研讨会“MATLAB and si金宝appmulink Robotics Arena: simulation Quadcopter tasks”中,我试图用Gazebo实现simulink无人机控制器仿真。
我能够得到一切设置,但当我运行simulink控制器,它不影响凉亭模拟。金宝app两个ROS节点相互检测,主题运行正常。我已经追踪到Simulink控制器和Gazebo sim之间的通信问题。金宝app金宝appSimulink正在发布消息,但Gazebo sim没有接收它们。
这和节点ip有关系吗?我已经尝试了所有我能想到的组合。
当我执行rosnode info 时,我收到通信错误" error: communication with node[http:192.168.122.1:40426/] failed!"
什么好主意吗?谢谢

答案(2)

凸轮扎尔茨贝格
凸轮扎尔茨贝格 2019年8月14日
嘿,马克,
我通常看到这类问题走向另一个方向(外部节点无法将数据发送到MATLAB/Simulink),但也可能发生在另一个方向。金宝app尝试设置 ROS_IP环境变量 (设置为它所在机器的IP地址)。它需要在MATLAB中设置,也需要在外部机器上运行任何ROS节点的每个终端中设置。重启所有的ROS节点。
还要确保ROS_HOSTNAME为 如果尝试ROS_IP设置。这有助于确保正确发布节点的IP地址,从而实现节点之间的点对点通信。
如果这还不能解决问题,这里有一些进一步的步骤:
  1. 你能检查一下你是否能从远程机器上执行"rosnode ping "。如果不是,则可能是DNS解析问题。
  2. 看看你是否能从MATLAB发布消息到远程机器,看看它是否只是一个simulink问题。金宝app
  3. 尝试不同的消息类型(std_msgs中的一种)。有可能(虽然不太可能)存在某种消息类型的差异,导致ROS由于不匹配的md5校验和而丢弃消息。这通常会给出一个错误,但也许Gazebo正在悄悄地捕捉它?如果您需要更新内置消息类型,这是使用说明
凸轮
2的评论

登录评论。


伊内斯Vujkovac
伊内斯Vujkovac 2019年10月8日
嘿,马克,
我意识到这已经成为一个老的帖子,我希望你能够解决你的问题,但只是对任何人谁正在研究它,它应该只是一个问题,允许入站规则Matlab专门。即使您的计算机允许入站连接,也要确保Matlab没有被阻塞。所有需要的设置都在防火墙的高级设置中(我假设你使用的是WIndows)

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!

翻译的