我开始使用ROS2(目前处于alpha7状态)。为此,我建立了一个小型网络,其中Raspberry Pi(Raspbian Jessie)通过LAN连接到路由器,主机PC(Ubuntu Gnome 16.04)通过WLAN连接到同一路由器。在主机内部是一些虚拟机(使用VirtualBox)与Debian Jessie一起安装并通过桥接网络(wlp4s0)连接。我还可以在我的所有计算机(Rasp,Host,VM)之间使用ping
,ssh
和scp
。
我发现Rasp没有连接到虚拟机,但虚拟机相互联系。所以我可以在VM之间发送消息。但是Rasp和VM之间的谈话者 - 听众联系并不起作用。
任何人都可以给我一些建议,找出这种行为的原因是什么?
我使用来自(alpha7)的说话者和听者做了一些研究 (所有ros用户都在虚拟机上)
pi:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
pi:bin$ ./talker
> pi@192.168.1.40
> pi:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> pi:bin$ ./listener > yes
> pi:bin$ ./listener__rmw_opensplice_cpp > yes
> pi:bin$ ./listener__rmw_fastrtps_cpp > yes after restarting talker
> pi:bin$ ./listener_best_effort > yes
> pi:bin$ ./listener_best_effort__rmw_opensplice_cpp > yes
> pi:bin$ ./listener_best_effort__rmw_fastrtps_cpp > yes
> ros@192.168.1.20
> ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> ros:bin$ ./listener > no
> ros:bin$ ./listener__rmw_opensplice_cpp > no
> ros:bin$ ./listener__rmw_fastrtps_cpp > no
> ros:bin$ ./listener_best_effort > no
> ros:bin$ ./listener_best_effort__rmw_opensplice_cpp > no
> ros:bin$ ./listener_best_effort__rmw_fastrtps_cpp > no
pi:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
pi:bin$ ./talker__rmw_opensplice_cpp
> pi@192.168.1.40
> pi:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> pi:bin$ ./listener > yes after restarting talker
> pi:bin$ ./listener__rmw_opensplice_cpp > yes
> pi:bin$ ./listener__rmw_fastrtps_cpp > no
> pi:bin$ ./listener_best_effort > yes
> pi:bin$ ./listener_best_effort__rmw_opensplice_cpp > yes
> pi:bin$ ./listener_best_effort__rmw_fastrtps_cpp > yes
> ros@192.168.1.20
> ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> ros:bin$ ./listener > no
> ros:bin$ ./listener__rmw_opensplice_cpp > no
> ros:bin$ ./listener__rmw_fastrtps_cpp > no
> ros:bin$ ./listener_best_effort > no
> ros:bin$ ./listener_best_effort__rmw_opensplice_cpp > no
> ros:bin$ ./listener_best_effort__rmw_fastrtps_cpp > no
pi:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
pi:bin$ ./talker__rmw_fastrtps_cpp
> pi@192.168.1.40
> pi:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> pi:bin$ ./listener > yes
> pi:bin$ ./listener__rmw_opensplice_cpp > yes
> pi:bin$ ./listener__rmw_fastrtps_cpp > yes after restarting talker
> pi:bin$ ./listener_best_effort > yes
> pi:bin$ ./listener_best_effort__rmw_opensplice_cpp > yes
> pi:bin$ ./listener_best_effort__rmw_fastrtps_cpp > yes
> ros@192.168.1.20
> ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> ros:bin$ ./listener > no
> ros:bin$ ./listener__rmw_opensplice_cpp > no
> ros:bin$ ./listener__rmw_fastrtps_cpp > no
> ros:bin$ ./listener_best_effort > no
> ros:bin$ ./listener_best_effort__rmw_opensplice_cpp > no
> ros:bin$ ./listener_best_effort__rmw_fastrtps_cpp > no
ros@192.168.1.20
ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
ros:bin$ ./talker
> ros@192.168.1.21
> ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> ros:bin$ ./listener > yes
> ros:bin$ ./listener__rmw_opensplice_cpp > yes
> ros:bin$ ./listener__rmw_fastrtps_cpp > yes after restarting talker
> ros:bin$ ./listener_best_effort > yes
> ros:bin$ ./listener_best_effort__rmw_opensplice_cpp > yes
> ros:bin$ ./listener_best_effort__rmw_fastrtps_cpp > yes
> pi@192.168.1.40
> pi:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> pi:bin$ ./listener > no
> pi:bin$ ./listener__rmw_opensplice_cpp > no
> pi:bin$ ./listener__rmw_fastrtps_cpp > no
> pi:bin$ ./listener_best_effort > no
> pi:bin$ ./listener_best_effort__rmw_opensplice_cpp > no
> pi:bin$ ./listener_best_effort__rmw_fastrtps_cpp > no
ros@192.168.1.20
ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
ros:bin$ ./talker__rmw_opensplice_cpp
> ros@192.168.1.21
> ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> ros:bin$ ./listener > yes
> ros:bin$ ./listener__rmw_opensplice_cpp > yes
> ros:bin$ ./listener__rmw_fastrtps_cpp > yes
> ros:bin$ ./listener_best_effort > yes
> ros:bin$ ./listener_best_effort__rmw_opensplice_cpp > yes
> ros:bin$ ./listener_best_effort__rmw_fastrtps_cpp > yes
> pi@192.168.1.40
> pi:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> pi:bin$ ./listener > no
> pi:bin$ ./listener__rmw_opensplice_cpp > no
> pi:bin$ ./listener__rmw_fastrtps_cpp > no
> pi:bin$ ./listener_best_effort > no
> pi:bin$ ./listener_best_effort__rmw_opensplice_cpp > no
> pi:bin$ ./listener_best_effort__rmw_fastrtps_cpp > no
ros@192.168.1.20
ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
ros:bin$ ./talker__rmw_fastrtps_cpp
> ros@192.168.1.20
> ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> ros:bin$ ./listener > yes after restarting talker
> ros:bin$ ./listener__rmw_opensplice_cpp > yes
> ros:bin$ ./listener__rmw_fastrtps_cpp > yes after restarting talker
> ros:bin$ ./listener_best_effort > yes
> ros:bin$ ./listener_best_effort__rmw_opensplice_cpp > yes
> ros:bin$ ./listener_best_effort__rmw_fastrtps_cpp > yes
> ros@192.168.1.21
> ros:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> ros:bin$ ./listener > yes
> ros:bin$ ./listener__rmw_opensplice_cpp > yes
> ros:bin$ ./listener__rmw_fastrtps_cpp > yes after restarting talker
> ros:bin$ ./listener_best_effort > yes
> ros:bin$ ./listener_best_effort__rmw_opensplice_cpp > yes
> ros:bin$ ./listener_best_effort__rmw_fastrtps_cpp > yes
> pi@192.168.1.40
> pi:bin$ export OSPL_URI=file:///usr/etc/opensplice/config/ospl.xml
> pi:bin$ ./listener > no
> pi:bin$ ./listener__rmw_opensplice_cpp > no
> pi:bin$ ./listener__rmw_fastrtps_cpp > no
> pi:bin$ ./listener_best_effort > no
> pi:bin$ ./listener_best_effort__rmw_opensplice_cpp > no
> pi:bin$ ./listener_best_effort__rmw_fastrtps_cpp > no