Skip to content

0.4

Compare
Choose a tag to compare
@alireza787b alireza787b released this 03 Jul 10:43
· 1737 commits to main since this release
a4dcacc

Version 0.4: Advanced Swarm Control and Feature Enhancements
In version 0.4, we've made some major enhancements that will significantly improve the capabilities of our Drone Show system:

YouTube Tutorial Demonstrating Coordinated SITL Real-World Scenario V0.4

  • Coordinator.py: This Python script acts as the conductor of our drone orchestra, managing a host of tasks:

Synchronizes each drone's system time with a global clock.

Downloads the configuration file (config.csv) from our web server to ensure that each drone is following the most up-to-date flight plan.
Initiates the MAVLink-router (please ensure to download and install it separately from here).
Manages MAVLink routing between serial, UDP, GCS, and the Swarm Control app.
Generates telemetry packets about the state of each drone, which are sent to the Swarm Control app.
Listens to command packets from the ground station, which set a future trigger time for coordinated show starts.

  • Debug_gcs_test.py: This Python script provides the interface for ground control, with the following responsibilities:

Listens to telemetry from all drones, decoding and displaying the packets in real time.
Can initiate a "trigger" command, setting a future timestamp for each drone and altering their states for coordinated maneuvers.
While currently a command-line app, it is designed with a future graphical user interface (GUI) in mind.

  • Multi-Drone Testing: To demonstrate the system's capabilities, we've configured a four-drone test. Each drone operates on its own VMware node with individual PX4 SITL instances running in JMAVSim. Meanwhile, the ground station (Swarm Control app) runs on a Windows system, receiving telemetry from all drones and issuing commands.

  • Bug Fixes and Documentation: Various bugs identified in previous versions have been fixed, and we've added substantial documentation to help users understand the functionality better and resolve potential issues.