Skip to content

Releases: alireza787b/mavsdk_drone_show

MDS Mavsdk Drone Show v2.0

08 Nov 10:42
7764933
Compare
Choose a tag to compare

MDS Mavsdk Drone Show v2.0 🚀

We're excited to announce the release of MDS Mavsdk Drone Show v2.0! This version brings significant improvements, new features, and enhanced stability to our drone simulation environment. Whether you're an open-source developer, drone enthusiast, or looking to implement drone shows for your projects, this update has something for you.

🎉 What's New

🚀 Major Features

  • 100-Drone SITL Test: Successfully deployed a 100-drone simulation across both single and clustered cloud servers.
  • Clustered Server Setup: Enhanced scalability by distributing drones across two 50-core VMs, allowing for more complex simulations.
  • Latency Testing: Conducted real-world latency tests by placing servers in Iran and LA, providing insights into communication performance under varied conditions.
  • Drone Show Demo: Improved drone choreography with new formations and maneuvers, including a humorous wedding ring placement demo.
  • Docker Integration: Each drone instance now runs in a separate Docker container with full PX4 SITL and Gazebo integration, ensuring realistic and isolated simulations.

🛠 Improvements

  • Performance Optimization: Streamlined Docker networking and resource allocation for better simulation performance.
  • Bug Fixes: Resolved several issues related to drone synchronization and communication latency.
  • User Interface: Enhanced the GUI for easier management and monitoring of drone instances.

🔧 Major Updates

  • Enhanced React GUI: Our web-based dashboard has been significantly improved for better user experience and real-time swarm monitoring.
  • Integrated Web Server: Transitioned to a Flask-based web server for more efficient communication.
  • Eliminated UDP Dependencies: Streamlined network communication by removing UDP, enhancing reliability.
  • Robust Drone Show Execution Script: Improved scripts for executing drone shows, ensuring smoother operations.
  • Improved Command Handling: Enhanced mechanisms to handle commands, especially when previous commands are still in execution.
  • Extensive Real-World Testing: The platform has undergone rigorous testing in real-world scenarios to validate performance and reliability.
  • Docker-Based SITL Testing: Simplified the process of setting up Software-In-The-Loop (SITL) simulations using Docker.

📚 Resources & Links

🎥 Watch the Demo

Check out our detailed 100-Drone SITL Test in Clustered Cloud Servers video on YouTube to see the new features and improvements in action.

Watch the Demo

🤝 Get Involved

  • Contribute to the Project: Fork the repository, submit pull requests, or join our community discussions.
  • Collaborate: Interested in integrating MDS into your projects or need custom solutions? Reach out via email or LinkedIn.

⚠️ Safety First

While SITL simulations are a powerful tool for testing and development, they are not a substitute for real-world validation. Ensure all real-world drone operations comply with local regulations, have proper safety measures, and include failsafe mechanisms to prevent accidents.

📢 Follow Us

Stay updated with the latest developments, tutorials, and drone shows by following us on our social media channels:


© 2024 Alireza Ghaderi

#DroneSimulation #Mavsdk #DroneShow #PX4SITL #Gazebo #Docker #OpenSourceDrones #TechDemo #100Drones #MDSDroneShow #AerialRobotics #Mechatronics #SmartRobots #AI #PythonDrone #Pixhawk #Robotics #DroneTechnology #DroneDevelopment #Aerospace #EVTOL

0.8

23 Sep 05:39
Compare
Choose a tag to compare
0.8

Version 0.8: Major GUI Improvements and Enhanced Swarm Intelligence

In version 0.8, we have made significant improvements to the GUI and drone dashboard, which is a web-based React application. We have also introduced smarter and smoother drone swarm behaviors using a Kalman Filter implementation.

YouTube Demo of Version 0.8

New Features:

  • Visually create/manage/import/export mission config file
  • Visually create/manage/import/export swarm file
  • Auto check for any position or config mismatch
  • Auto convert SkyBrush CSV zip files to MAVSDK drone show template
  • Docker optimization for running all your SITLs in the cloud in a few minutes
  • MAVLink router installation script (only needed when running in the cloud)
  • Auto startup scripts

Improvements:

  • Huge improvements in GUI and drone dashboard
  • 3D environment improvement for multi drones
  • Improved command handling to ensure each drone receives command
  • Kalman Filter implementation for smarter and smoother drone following
  • Many minor improvements and bug fixes

Known Bugs:

  • Sometimes you need to refresh the page when a new drone is added to the system
  • If relaying the MAVLink commands from the cloud, sometimes QGroundControl won't send
  • When starting a swarm mission, you can no longer send any commands through the dashboard
  • Docker Image for Drone Instance: Download Here
  • Demo Video: Coming Soon (Placeholder for YouTube link)

As always, we welcome your feedback, suggestions, and contributions!

0.7

13 Aug 05:18
3f663c1
Compare
Choose a tag to compare
0.7

Version 0.7: React GUI for Swarm Monitoring & Real-World and SITL Environment Scenario Automization Improvements

In version 0.7, we have implemented a React-based graphical user interface (GUI) for real-time drone swarm monitoring. This allows for an intuitive centralized dashboard to track and command multiple drones in a swarm.

Additionally, we have further optimized and automated the PX4 Docker environment startup and configuration. These improvements enhance the user experience and streamline swarm orchestration.

YouTube Demo of Version 0.7

New Features:

  • Implemented React GUI for real-time swarm monitoring
  • Automated PX4 Docker and virtual machine environment startup and configuration
  • Automized scenario with startup scripts both for SITL environment and Real Drone Hardware
  • Optimized codebase and fixed bugs
  • Added documentation

As always, we welcome your feedback, suggestions, and contributions!

0.6

26 Jul 03:01
Compare
Choose a tag to compare
0.6

Version 0.6: Enhanced Complex Leader/Follower Swarm Control & Docker-Based SITL

As we progress in our drone programming journey, version 0.6 of our project brings more advanced features and improvements, with enhanced swarm control and dockerized SITL demonstrations. In this release, we aim to increase efficiency and automation in managing larger numbers of drones with complex mission dynamics. The demonstration of these features can be found in the link to the YouTube video below.

YouTube Tutorial Demonstrating Enhanced Leader/Follower Swarm Control & Docker-Based SITL V0.6

Changelogs:

  • Improved CDH subsystem, telemetry, and command handling for supporting a larger number of drones
  • Optimized main code and transitioned structures to classes
  • Fixed bugs for smoother operations
  • Automated mav_sys_id and hwID file generation
  • Enabled Docker instances auto-creation for each drone
  • Automatic initialization of each instance for user-friendly operation
For demonstrations, we've run two demos:
  • 1. Single group, single leader 11 followers with a fixed layout arrangement.
  • 2. Three groups, three leaders, each group has three followers maintaining a fixed layout, and each group can be controlled independently.

Docker Image Backupfile. You can import it easily using Portainer and create drone instances from that. It includes PX4 SITL, JMAVSIM, Gazebo, MAVLink Router,mavsdk, Mavsdk_drone_show , ...

https://www.mediafire.com/file/g9m5gyx4ru8ndzv/drone-template-1.tar/file

v0.5

18 Jul 14:27
5362718
Compare
Choose a tag to compare

Version 0.5: Implementing Leader Follower Swarm Mission

In this release, we're stepping beyond simple drone shows and implementing real drone swarm capabilities, like leader/follower missions, using PX4 and MAVSDK in Python. v0.5 introduces the following features and improvements:

YouTube Tutorial Demonstrating Leader Follower Swarm PX4 V0.5

v0.5 Changelogs:
  • Node-to-node telemetry and communication using the new CDH subsystem
  • Added swarm.csv to arrange our swarm mission prototype
  • Improved ground station data handling and reporting
  • Improved coordinator app and bug fixes
  • Improved logging and debugging capabilities
  • Improved Threads management in Coordinator App
  • Improved error reporting and handling
Limitations in v0.5
  • I haven't implemented considerations for telemetry and command acknowledgment yet. will be implemented soon.
  • No Smoothing and Estimation algorithm for the following setpoints has been implemented yet. will be quickly implemented.
We're excited to continue developing this project and exploring the possibilities of drone swarm intelligence. As always, we welcome collaboration, suggestions, and questions from the community.

0.4

03 Jul 10:43
a4dcacc
Compare
Choose a tag to compare
0.4

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.

0.3

01 Jul 12:27
5037762
Compare
Choose a tag to compare
0.3

Version 0.3: Enhanced Drone Show Control and Optimizations
With the new v0.3 update, we have made significant improvements and added several new features:

Skybrush CSV Processing: We've added the ability to process Skybrush CSV files and convert them into our template. This feature also includes creating acceleration and velocities for improved path following. A detailed video tutorial for this is available on our YouTube channel .
YouTube Tutorial on "Using Sky Brush and Blender for PX4 MAVSDK Drone Shows: Improving our Drone Show Project"
Coordinator.py: This new script manages and times the mission and state telemetry, enhancing the control of the drone show.
Merged Control Files: We have merged the multiple and single, as well as real and simulation mode control files for a more streamlined user experience.
Code Optimization: The code has been optimized for better performance and readability.
Bug Fixes: Various bugs have been identified and resolved in this update.
The previous versions, v0.1 and v0.2, are still functional and provide a basis for single drone shows and multiple drone shows respectively. We recommend starting with these versions if you're new to drone programming.

As always, exercise caution and ensure you have the necessary expertise before using offboard mode in a real-world setting. Happy drone programming!

0.2

23 May 05:29
b20aa89
Compare
Choose a tag to compare
0.2

added multiple drones, new built mavsdk, working acceleration
feedforeward, refactor the code, etc

mavsdk_server needed to be downloaded from here(since it is above 25 MB cannot add it in repo directly)
until the set_position_velocity_acceleration_ned added to official mavsdk, we should use this custom mavsdk_server

Initial Release

13 May 08:15
05c709e
Compare
Choose a tag to compare

Just before uploading Youtube Video on Basic Drone Show