I'm starting working with ROS2 (currently in alpha7 state). For this I build up a small network with an Raspberry Pi (Raspbian Jessie) connected to an router via LAN and an host PC (Ubuntu Gnome 16.04) connected to the same router via WLAN. Inside the host are some virtual machines (using VirtualBox) installed with Debian Jessie and connected via a bridged network (wlp4s0). I can also use ping
, ssh
and scp
between all my machines (Rasp, Host, VMs).
I found that the Rasp doesn't connect to the VM's but the VM's are in contact to each other. So I can send messages between the VM's. But a talker-listener-connection between the Rasp and the VM's doesn't work.
Can anyone give me some suggestions to find out what the reason is to this behaviour?
I do some studies using the talker and listener from the sources (alpha7).:
(all ros users are on virtual machines)
Talker on Raspberry Pi
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
Talker on Virtual Machine
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