Running multiples drones in a simulation


#1

HI.

I’m new with sphinx and I’m trying to start a simulaition with 2 drones but I can’t connect to them after the simulation starts. I’m using python for that purpose.
I read the documentation and it’s says that I have to set in the .drone file the ip 192.164.42.1 for the stolenInterface parameter, but I don’t understand how can I have multiples drones with the same ip.
So my questions are:
is it possible to have multiples drones ina a simulation using sphinx? and in case that the answer is yes, can someone give me an example of the .drones files for that case?

Thanks.


#2

To simulate multiple drones, you must make sure that each drone has a unique name and its own network interface (or no interface at all). For instance, this will starts sphinx with two Bebop 2 named bebop2 and other, one that steals wlan0, and one that does not have any interface:

sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone
/opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone::name=other::stolen_interface=

If you have multiple wifi interfaces available, you can set the stolen_interface parameter of the second drone. For example:

sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone
/opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone::name=other::stolen_interface=wlan1:eth0:192.168.42.2/24

#3

if I just have one wifi interface can I control the 2 drones?
I’m using python with pyparrot to connect to the drones in the simulation but i find only one.of them.


#4

No, you must have two wifi interfaces to control two drones in the same world with pyparrot because it only supports WiFi and BLE interfaces. However, if you use Parrot SDK, you can also connect to the virtual interface (whose IP is provided by the instance property debug_ipaddr):

$ fdc get_property instances <instance_name> debug_ipaddr

The default address is 10.202.0.1 (then 10.202.0.2 for the second drone, …).