Adding several emulator drones to UgCS


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.

emulator.properties

vsm-emulator.conf

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

Views: 524


100KM
Comment by Hein du Plessis on April 10, 2018 at 5:07am

That looks really handy! No support for fixed wings though?

Comment by Kristaps Brass on May 3, 2018 at 4:25am

We do support fixed wing drones as well. If you're running Pixhawk / APM setup on your plane, you can use it with UgCS!

Comment by Joshua Fernandes on September 27, 2018 at 12:54am

@KristapsBrass is it possible to change the default heading of the emulator drones?

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2018   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service