My setup is a running sphinx-server on a remote headless computer. sphinx-server is running perfectly but I have issues in setting up the network settings so that I can connect to the simulated drone. The current status is that I succeed in connecting, from my client with sphinx-client, to the remote sphinx-server but I fail to contact the drone (which has the 10.202.0.1 on the remote computer).
I may be confused by the --interface or stolen_interface or port_forwarding options ?
Here is my setup :
Server : Ubuntu 16.04, ethernet interface enp4s0 with IP 192.168.10.79
Client : Ubuntu 18.04
on the server, I run :
DISPLAY=:99 sphinx-server --interface=enp4s0 /opt/parrot-sphinx/usr/share/sphinx/worlds/outdoor_1.world /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone::stolen_interface=::with_front_cam=true::firmware=/usr/share/firmwared/firmwares/ardrone3-milos_pc.ext2.zip
no issue to ping 10.202.0.1 directly from the server but obviously this IP is not seen from the client.
On the client, I can do the following :
And I see the running gazebo with the bebop2 in the environment.
But then, I want to contact the drone (with ROS/bebop_autonomy), without going through the sphinx-client and this is where I’m not sure what to do. The following command fails “roslaunch bebop_driver bebop_node.launch ip:=192.168.10.79”
on the server, I define a virtual interface ;
ifconfig enp4s0:1 192.168.10.82
Then I start the server by giving this interface to the --interface option or this IP to --port-forwarding but in both cases, I still cannot reach the drone from my client by contacting 192.168.10.82 but I suppose this is OK and should use stollen_interface .
But the following fails to start :
DISPLAY=:99 sphinx-server --interface=enp4s0:1 /opt/parrot-sphinx/usr/share/sphinx/worlds/outdoor_1.world /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone::stolen_interface=enp4s0:1:eth0:192.168.42.1/24::with_front_cam=true::firmware=/usr/share/firmwared/firmwares/ardrone3-milos_pc.ext2.zip
Misformed stolen_interface. Should be:
which I suppose is linked to the fact that my virtual interface is called enp4s0:1 and “:” is the field separator.
… I basically tried several combinations but I’m getting lost and not sure which is the right track.