Hi,
As some of you may know, by default UgCS ground station software for drones comes with two emulators that you can use. Emulators are virtual drones that you can use to, firstly, get acquainted with UgCS before using it with a real drone and, second – to see a preview of how the drone will fly the route.
In some cases when flying with multiple drones you might need some information on where each drone might be at a certain point in time. To do this, you would need more than two emulator drones.
It is possible to add more emulator drones to UgCS and this article is written with the intention of teaching you how. In this case we will show you how to add 20 emulator drones to UgCS.
Here are the steps on how to do this:
1. Firstly, close UgCS and make sure that all UgCS services such as the UCS Server, Geoserver and others are stopped. You can check this in the task bar.
2. Find the emulator.properties file and open it in a text editor. File locations are below:
On Windows:
C:\Program Files (x86)\UgCS\server\emulator\emulator.properties
On macOS:
/Applications/UgCS/server/emulator/emulator.properties
3. After opening the file, find the following line:
#vehicles=emu1
Now delete all text after that line and replace it with the following:
vehicles=emu1,emu2,emu3,emu4,emu5,emu6,emu7,emu8,emu9,emu10,emu11,emu12,emu13,emu14,emu15,emu16,emu17,emu18,emu19,emu20
emu1.name=EmuCopter
emu1.model=copter
emu1.protocol_system_id=1
emu1.transport_port=14555
emu1.home_position=46.7754356, 8.3451395, 0.0
emu2.name=EmuCopter
emu2.model=copter
emu2.protocol_system_id=2
emu2.transport_port=14556
emu2.home_position=46.7756018, 8.3561679, 0.0
emu3.name=EmuCopter3
emu3.model=copter
emu3.protocol_system_id=3
emu3.transport_port=14557
emu3.home_position=46.774540, 8.3463503, 0.0
emu4.name=EmuCopter4
emu4.model=copter
emu4.protocol_system_id=4
emu4.transport_port=14558
emu4.home_position=46.774166, 8.3471775, 0.0
emu5.name=EmuCopter5
emu5.model=copter
emu5.protocol_system_id=5
emu5.transport_port=14559
emu5.home_position=46.774540, 8.3463503, 0.0
emu6.name=EmuCopter6
emu6.model=copter
emu6.protocol_system_id=6
emu6.transport_port=14560
emu6.home_position=46.774166, 8.3471775, 0.0
emu7.name=EmuCopter7
emu7.model=copter
emu7.protocol_system_id=7
emu7.transport_port=14561
emu7.home_position=46.774540, 8.3463503, 0.0
emu8.name=EmuCopter8
emu8.model=copter
emu8.protocol_system_id=8
emu8.transport_port=14562
emu8.home_position=46.774166, 8.3471775, 0.0
emu9.name=EmuCopter9
emu9.model=copter
emu9.protocol_system_id=9
emu9.transport_port=14563
emu9.home_position=46.774540, 8.3463503, 0.0
emu10.name=EmuCopter10
emu10.model=copter
emu10.protocol_system_id=10
emu10.transport_port=14564
emu10.home_position=46.774166, 8.3471775, 0.0
emu11.name=EmuCopter11
emu11.model=copter
emu11.protocol_system_id=11
emu11.transport_port=14565
emu11.home_position=46.774540, 8.3463503, 0.0
emu12.name=EmuCopter12
emu12.model=copter
emu12.protocol_system_id=12
emu12.transport_port=14566
emu12.home_position=46.774166, 8.3471775, 0.0
emu13.name=EmuCopter13
emu13.model=copter
emu13.protocol_system_id=13
emu13.transport_port=14567
emu13.home_position=46.774540, 8.3463503, 0.0
emu14.name=EmuCopter14
emu14.model=copter
emu14.protocol_system_id=14
emu14.transport_port=14568
emu14.home_position=46.774166, 8.3471775, 0.0
emu15.name=EmuCopter15
emu15.model=copter
emu15.protocol_system_id=15
emu15.transport_port=14569
emu15.home_position=46.774540, 8.3463503, 0.0
emu16.name=EmuCopter16
emu16.model=copter
emu16.protocol_system_id=16
emu16.transport_port=14570
emu16.home_position=46.774166, 8.3471775, 0.0
emu17.name=EmuCopter17
emu17.model=copter
emu17.protocol_system_id=17
emu17.transport_port=14571
emu17.home_position=46.774540, 8.3463503, 0.0
emu18.name=EmuCopter18
emu18.model=copter
emu18.protocol_system_id=18
emu18.transport_port=14572
emu18.home_position=46.774166, 8.3471775, 0.0
emu19.name=EmuCopter19
emu19.model=copter
emu19.protocol_system_id=19
emu19.transport_port=14573
emu19.home_position=46.774540, 8.3463503, 0.0
emu20.name=EmuCopter20
emu20.model=copter
emu20.protocol_system_id=20
emu20.transport_port=14574
emu20.home_position=46.774166, 8.3471775, 0.0
In case you need to add an emulator plane (and not a multirotor) here’s an example of how the text should differ:
emu1.name=EmuPlane
emu1.model=plane
emu1.protocol_system_id=102
emu1.transport_port=14556
emu1.home_position=46.774166, 8.3471775, 0.0
4. Next file you need to edit is vsm-emulator.conf. It can be found here:
On Windows:
C:\Program Files (x86)\UgCS\bin\vsm-emulator.conf
On macOS:
/[username]/Library/Application Support/configuration/vsm-emulator.conf
5. Open it and find the following lines:
# Local port for listening connections from UCS.
ucs.local_listening_port = 5555
Delete everything after that and replace it with the following:
connection.tcp_out.1.address = 127.0.0.1
connection.tcp_out.1.port = 14555
connection.tcp_out.2.address = 127.0.0.1
connection.tcp_out.2.port = 14556
connection.tcp_out.3.address = 127.0.0.1
connection.tcp_out.3.port = 14557
connection.tcp_out.4.address = 127.0.0.1
connection.tcp_out.4.port = 14558
connection.tcp_out.5.address = 127.0.0.1
connection.tcp_out.5.port = 14559
connection.tcp_out.6.address = 127.0.0.1
connection.tcp_out.6.port = 14560
connection.tcp_out.7.address = 127.0.0.1
connection.tcp_out.7.port = 14561
connection.tcp_out.8.address = 127.0.0.1
connection.tcp_out.8.port = 14562
connection.tcp_out.9.address = 127.0.0.1
connection.tcp_out.9.port = 14563
connection.tcp_out.10.address = 127.0.0.1
connection.tcp_out.10.port = 14564
connection.tcp_out.11.address = 127.0.0.1
connection.tcp_out.11.port = 14565
connection.tcp_out.12.address = 127.0.0.1
connection.tcp_out.12.port = 14566
connection.tcp_out.13.address = 127.0.0.1
connection.tcp_out.13.port = 14567
connection.tcp_out.14.address = 127.0.0.1
connection.tcp_out.14.port = 14568
connection.tcp_out.15.address = 127.0.0.1
connection.tcp_out.15.port = 14569
connection.tcp_out.16.address = 127.0.0.1
connection.tcp_out.16.port = 14570
connection.tcp_out.17.address = 127.0.0.1
connection.tcp_out.17.port = 14571
connection.tcp_out.18.address = 127.0.0.1
connection.tcp_out.18.port = 14572
connection.tcp_out.19.address = 127.0.0.1
connection.tcp_out.19.port = 14573
connection.tcp_out.20.address = 127.0.0.1
connection.tcp_out.20.port = 14574
Below you can find ready-made emulator.properties and vsm-emulator.conf files.
6. Launch UgCS after updating the files.
Newly added emulator drones will be visible right away. If not, click on the “Add New Vehicle” card on the top right-hand corner of the screen and you should be able to add them.
If you don’t want to have all of them on your screen at once, you can simply remove them and use only the ones that you need. You will easily be able to add them back afterwards in the way described in the paragraph above.
Now it is possible to add all of these 20 emulator drones and create and upload routes to them.
This option can be useful if you want to test the behavior of multiple drones in the air simultaneously as well as to observe the proximity between them at each point in time.
Discover professional mission planning for drones - http://www.ugcs.com
Safe flights,
UgCS Team
Comments
@KristapsBrass is it possible to change the default heading of the emulator drones?
We do support fixed wing drones as well. If you're running Pixhawk / APM setup on your plane, you can use it with UgCS!
That looks really handy! No support for fixed wings though?