rosjava(android_core)pub子示例节点被隔离

时间:2014-10-10 15:20:00

标签: java android ros

我正在尝试将android_core的android pubsub教程与我服务器中的主核心连接起来。

实际上这个例子运行正常,我能够看到android订阅者在侦听器活动中获取消息,这些消息是从用rosjava编写的talker节点发送的。

当我运行一个额外的监听器节点时,似乎订阅正常:

rostopic info /chatter
Type: std_msgs/String

Publishers: 
 * /rosjava_tutorial_pubsub/talker (http://10.0.2.15:45508/)

Subscribers: 
 * /listener_6323_1412952506377 (http://laptop:37300/)
 * /android_gingerbread/ros_text_view (http://10.0.2.15:47832/)

图表应如下所示:

| / listener_6323_1412952506377 | -------> | / rosjava_tutorial_pubsub / talker | | / android_gingerbread / ros_text_view | - > | --------------------------------- |

所以,问题在于,即使它被订阅,它也看不到任何东西,说话者在模拟器中发送的消息很好地到达模拟器中的监听器,但不到外部监听器。此外,我尝试从控制台发送消息,并且控制台中的侦听器可以很好地接收消息,但模拟器中的侦听器将看不到它。另外,我注意到当我运行rqt_graph时,它在我启动Android APP后立即停止工作。

我在控制台和模拟器中使用设置为IP的ROS_MASTER_URI,因此命名空间不应该存在不匹配。

这里可能会发生什么?,消息的名称空间问题?,版本不兼容问题? IDK。

此致

1 个答案:

答案 0 :(得分:0)

问题是Android模拟器,它隔离了虚拟设备的网络接口。 有两种解决方案: 1)执行端口转发以使节点在外部可见。 2)摆脱鸸and并使用真实设备。

相关问题