Swarm Station

🕹ī¸ Swarm and drone control station

Considering the amount of processes and data we want to access about a single drone or several, a command center was created that brings several useful features for handling swarms and specific data of drones and their location in space.

In addition to avoiding the need to open different terminals to carry out actions that will be carried out recurrently, the swarm station is completely connected with block programming, facilitating the action of launching a swarm.

Main information

For a quick and easy visualization, the main data of the drones were placed in a tab on the right of the screen, where it is possible to visualize the position of each of the drones in addition to other information such as:

  • Battery

  • Connected - checks whether the drone is connected or not

  • CPU data

  • Telemetry

In addition to the informative function, this part also contains the land all button, whose function is to land all drones if this decision is confirmed. This is to bring greater security to extreme cases.

Addicional feactures

The extra features are located on the left bar of the Swarm Station, they are:

Drone's proccess ⚙ī¸

In this part, the user has access to the hardware information of each clover brought from the raspberry pi of the clover in an easy and comparative way, facilitating the identification of problems. The information brought from each clover is:

  • IP address

  • CPU usage

  • Memory usage

  • Temperature

Each card corresponds to a drone and to find out more specific information, just click on the desired drone card and a screen will appear with more data on the drone and your raspberry processes.

Topic List 📋

To avoid the need for another terminal to be opened, a feature was created that shows a list of topics currently active, through these topics it is possible to analyze the calls and procedures that are being carried out.

Terminal Web đŸ–Ĩī¸

This functionality brings a true terminal within the web with the ease of being able to manipulate information directly from the web and avoid the need to divide screens, one to control the drone and another to send commands to it.

In addition, it is possible to create more than one terminal simultaneously, this creation of several terminals happens in an intuitive and facilitated way so that several processes can be run at the same time.

Safe area 🔐

An additional resource is the safe area that allows defining an area of ​​defined format according to the user's interest in which the drones must operate, this area is shown in the visualization of the drones because some markings represent its limit.

If a drone passes through this area, it is forcibly landed immediately, ensuring even more safety and robustness to the project.

How it is Done?

Swarm Station can be accessed from our Homepage, which is a locally served web application. Our front-end is based completely on HTML and CSS to ensure good speed and integration with rosJS (not involving any framework or anything like that). For the backend, we use javascript through the ROS wrapper, rosJS, to carry out the data transmission logic, in addition to a few structures from Clover itself that are in other languages.

Conclusion

With this, we conclude that the Swarm Station is an extremely powerful tool for manipulating swarms and even individual clovers. With it, we guarantee that the user has in his hands, in an extremely responsive way, a complete platform with the real functionalities that a swarm can request. For the lay user with little experience in programming and ROS, this platform is a watershed in democratizing the usability of a swarm of drones.

Last updated