WP3-26: Difference between revisions
(29 intermediate revisions by one other user not shown) | |||
Line 22: | Line 22: | ||
|- | |- | ||
| TRL || 4 | | TRL || 4 | ||
|- | |||
| Contact || osevera at ntis.zcu.cz | |||
|} | |} | ||
=Description= | =Description= | ||
Droneport (DP) is a system for autonomous drone battery management. It complies with a reference architecture, dealing with drone power management, more precisely battery management. | Droneport (DP) is a system for autonomous drone battery management. It complies with a reference architecture, dealing with drone power management, more precisely, battery management. DP consists of a battery management unit for charging and storage, a robotic manipulator for an automatic battery exchange, a data link to the drone, telemetry data, and a human-machine interface (HMI) for remote command and control. Power and storage management building blocks are implemented in Droneport, with a datalink connection to the outside world. Users can use telemetry data via MAVLink protocol to monitor the state of the DP. The DP acts autonomously, it monitors the state of the batteries, controls the battery exchange and charging, provides necessary navigation information for drone landing, and broadcasts the status of the remaining batteries. | ||
[[File:Droneport_320_240.gif| | |||
{|style="margin: 0 auto;" | |||
|[[File:Droneport overview.jpeg|300px|thumb|upright|Droneport overview]] | |||
|[[File:Droneport gripper.jpg|300px|thumb|upright|Detail of the gripper]] | |||
|[[File:Droneport_320_240.gif|300px|thumb|upright|Droneport battery exchange]] | |||
|} | |||
=Contribution and Improvement= | =Contribution and Improvement= | ||
Line 42: | Line 49: | ||
=Design and Implementation= | =Design and Implementation= | ||
[[File:Droneport schema IO.png|400px|thumb|right|Droneport internal components and communication buses]] | |||
The Droneport development is done together with SmartMotion company. DP is a unique device that is able to communicate with various UAVs. For better support of battery exchange, the DP contains a newly designed gripper and a special battery holder. Droneport hardware consists of: | |||
The Droneport development is done together with SmartMotion company. | |||
* Drone landing place with ArUco based landing markers | * Drone landing place with ArUco based landing markers | ||
Line 51: | Line 56: | ||
* Uniquely designed gripper | * Uniquely designed gripper | ||
* Battery management unit for charging and storage | * Battery management unit for charging and storage | ||
* Wireless communication to the | * Wireless communication to the UAVs | ||
* The whole device | * The whole device communicates wirelessly over MAVLink protocol with other devices in the network. The device is controlled using Linux based PC with REXYGEN as real-time control software. | ||
Droneport SW architecture consists of: | Droneport SW architecture consists of: | ||
Line 62: | Line 67: | ||
* Battery management software | * Battery management software | ||
* DP software provides an open API for interoperability with various drones flight controllers. | * DP software provides an open API for interoperability with various drones flight controllers. | ||
=Droneport Traffic Control= | =Droneport Traffic Control= | ||
Line 72: | Line 75: | ||
==Droneport Commander== | ==Droneport Commander== | ||
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]] | |||
DP Commander is implemented in Python and utilizes the [https://github.com/ArduPilot/pymavlink pymavlink] library to communicate with drones and the platform. A simple console user interface was designed using the [http://urwid.org/ Urwid] library. The monitoring of the whole simulation | In the current version, Droneport Commander monitors the status of the drones and withdraws them to the Droneport as needed when the battery State of Charge (SoC) is low. Droneport Commander was tested in a simulated scenario with two drones, where each drone is assigned to its own Droneport. Two different missions were designed for testing in the simulation, in which the park and adjacent buildings are monitored. | ||
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]] | |||
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]] | |||
DP Commander is implemented in Python and utilizes the [https://github.com/ArduPilot/pymavlink pymavlink] library to communicate with drones and the platform. A simple console user interface was designed using the [http://urwid.org/ Urwid] library. The monitoring of the whole simulation includes QGroundControl (QGC) as a standard control center (the client-side), the simulation of the physical devices in Gazebo, and the previously mentioned DPTC interface. The console user interface contains information and commands for both drones, and it is easily adaptable for more drones. | |||
==Droneport Trajectory Planning== | ==Droneport Trajectory Planning== | ||
As part of the study for the [https://github.com/UWB-C4D/ | As part of the study for the [https://github.com/UWB-C4D/droneport_traffic_control/blob/main/trajectory_planning.ipynb Droneport Trajectory Planning] subsystem, a non-collisional drone trajectory that is optimal in terms of battery State of Charge (SoC) was found for the demonstration. The trajectory planning problem was described as an Optimal Control Problem using the Chebyshev pseudospectral method. | ||
For the Droneport system, it has not been necessary to consider collision avoidance yet, hence this part remains purely experimental. In the current state, the drone is sent directly to the Droneport coordinates. Possible collision avoidance can be performed by control systems at the drone level. | For the Droneport system, it has not been necessary to consider collision avoidance yet, hence this part remains purely experimental. In the current state, the drone is sent directly to the Droneport coordinates. Possible collision avoidance can be performed by control systems at the drone level. | ||
Line 89: | Line 97: | ||
=Simulation= | =Simulation= | ||
At first, the Droneport can be used in the simulation environment. The software in the loop (SIL) simulation is suitable for designing various traffic scenarios, checking the necessary number of landing platforms, etc. More information about the simulation tools can be found in the tool repository [[WP6-09]] | |||
=Videos= | |||
You can see the video of the Droneport here: | |||
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ] | [https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ] | ||
[https://youtu.be/juaGfW2ODYQ Droneport in action] | [https://youtu.be/juaGfW2ODYQ Droneport in action] | ||
=Software Repository= | |||
*[https://github.com/UWB-C4D Droneport project] | |||
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control] | |||
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions] | |||
= References = | |||
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., & Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38). | '''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., & Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38). [https://doi.org/10.1145/3522784.3522800 DOI:10.1145/3522784.3522800] | ||
'''[2]''' Bouček, Z., Neduchal, P., & Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham. | '''[2]''' Bouček, Z., Neduchal, P., & Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham. [https://doi.org/10.1007/978-3-030-87725-5_2 DOI:10.1007/978-3-030-87725-5_2] | ||
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., & Reitinger, J. (2022, August). Droneport: From Concept To Prototype. In 2022 26th International Conference on Methods and Models in Automation and Robotics (MMAR) (pp. 134-139). IEEE. | '''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., & Reitinger, J. (2022, August). Droneport: From Concept To Prototype. In 2022 26th International Conference on Methods and Models in Automation and Robotics (MMAR) (pp. 134-139). IEEE. [http://dx.doi.org/10.1109/MMAR55195.2022.9874309 DOI:10.1109/MMAR55195.2022.9874309] |
Latest revision as of 08:41, 10 March 2023
Droneport: An autonomous drone battery management system
ID | WP3-26 |
Contributor | UWB and SM |
Levels | Functional |
Require | Communication service to obtain data from the assigned drones and master controller |
Provide | Autonomous battery exchange and management for UAV |
Input |
|
Output | Available battery resources |
C4D building block | Health management, Mission management |
TRL | 4 |
Contact | osevera at ntis.zcu.cz |
Description
Droneport (DP) is a system for autonomous drone battery management. It complies with a reference architecture, dealing with drone power management, more precisely, battery management. DP consists of a battery management unit for charging and storage, a robotic manipulator for an automatic battery exchange, a data link to the drone, telemetry data, and a human-machine interface (HMI) for remote command and control. Power and storage management building blocks are implemented in Droneport, with a datalink connection to the outside world. Users can use telemetry data via MAVLink protocol to monitor the state of the DP. The DP acts autonomously, it monitors the state of the batteries, controls the battery exchange and charging, provides necessary navigation information for drone landing, and broadcasts the status of the remaining batteries.
Contribution and Improvement
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones.
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:
- battery charging and swapping automatically
- extending the UAV operational time from minutes to hours or more
- MAVLink based data communication standards
- compact and easy handling
- reasonable purchasing/maintenance costs
The DP behaves as a standalone autonomous unit that is wirelessly interconnected with one or more UAVs. It is compatible with other C4D components. It uses an open MAVLink protocol with defined messages for communication and commands. The DP was developed as a part of Comp4Drones project from the scratch up to the technology readiness level 4 (TRL4). At the beginning of the project, there was only a notion of how to extend the operational time of UAV missions.
Design and Implementation
The Droneport development is done together with SmartMotion company. DP is a unique device that is able to communicate with various UAVs. For better support of battery exchange, the DP contains a newly designed gripper and a special battery holder. Droneport hardware consists of:
- Drone landing place with ArUco based landing markers
- Uniquely designed robotic manipulator
- Uniquely designed gripper
- Battery management unit for charging and storage
- Wireless communication to the UAVs
- The whole device communicates wirelessly over MAVLink protocol with other devices in the network. The device is controlled using Linux based PC with REXYGEN as real-time control software.
Droneport SW architecture consists of:
- Drone to DP communication protocol (defined MAVLink messages)
- Drone landing assistant - vision navigation to ArUco markers
- Battery exchange system control - manipulator controller
- Charge control - communication interface between charges and battery slots
- Battery management software
- DP software provides an open API for interoperability with various drones flight controllers.
Droneport Traffic Control
The Droneport Traffic Control (DPTC) component provides a whole system for multiple drone battery management. It provides means for the orchestration of the drone fleets. Based on the monitoring and prediction of the drone battery states and the states of the batteries provided by the Droneport it plans the interruption and resumption of the drone missions. It also makes it possible to coordinate multiple Droneports and redistribute the battery replacement requests between available Droneports.
DPTC component currently includes three subcomponents. The first subcomponent is the Droneport Commander, which communicates with drones and Droneports. Droneport Commander receives the drone status (location, mission and mission progress information, speed, and battery information). It commands the drones to fly to the Droneport, initiates the battery swapping, and ensures a smooth mission follow-up. It sends commands to Droneport to change the drone's battery. The second subcomponent is the Droneport Trajectory Planner which plans the collision-free trajectory of the drone concerning battery discharge. The last subcomponent is the Droneport Orchestrator, which takes care of optimal scheduling of drone battery replacement concerning Droneport occupancy with minimum mission cost (in terms of distance, fuel, etc.).
Droneport Commander
In the current version, Droneport Commander monitors the status of the drones and withdraws them to the Droneport as needed when the battery State of Charge (SoC) is low. Droneport Commander was tested in a simulated scenario with two drones, where each drone is assigned to its own Droneport. Two different missions were designed for testing in the simulation, in which the park and adjacent buildings are monitored.
DP Commander is implemented in Python and utilizes the pymavlink library to communicate with drones and the platform. A simple console user interface was designed using the Urwid library. The monitoring of the whole simulation includes QGroundControl (QGC) as a standard control center (the client-side), the simulation of the physical devices in Gazebo, and the previously mentioned DPTC interface. The console user interface contains information and commands for both drones, and it is easily adaptable for more drones.
Droneport Trajectory Planning
As part of the study for the Droneport Trajectory Planning subsystem, a non-collisional drone trajectory that is optimal in terms of battery State of Charge (SoC) was found for the demonstration. The trajectory planning problem was described as an Optimal Control Problem using the Chebyshev pseudospectral method.
For the Droneport system, it has not been necessary to consider collision avoidance yet, hence this part remains purely experimental. In the current state, the drone is sent directly to the Droneport coordinates. Possible collision avoidance can be performed by control systems at the drone level.
Droneport Orchestrator
Droneport Traffic Control has no ambition to organize the customer's flight missions themselves, but to provide services to maximize the flight time of drones. We consider static Droneports, the drone mission is given by the customer. The DPTC interrupts the mission at a convenient moment so that the drone battery is recharged, and the mission can continue.
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm (see example). According to predicted SoC and evaluated costs for flight to Droneport platforms, the optimal schedule is sought, which is composed of Drone ID, Droneport ID, and mission sequence ID. The prediction of discharge rate is acquired based on distances between mission waypoints, the drone’s velocity, maximum flight time, and initial SoC. The cost of battery replacement is determined by the predicted drone battery drain during its flight to the Droneport platform and back to the mission. The task is further limited by a fixed number of charged batteries in the Droneport platforms. The Orchestrator also performs a calculation of the expected flight time to the Droneport platform, based on which a time slot is entered into the schedule with a safe time reserve to avoid drone collisions near the DP platform. The Droneport Orchestrator passes the found solution to the Droneport Commander. The solution is found periodically by running the problem with updated data. Droneport Commander monitors the progress of the missions, sends commands to the drones according to the plan, and verifies that battery replacements are performed at specified intervals.
Simulation
At first, the Droneport can be used in the simulation environment. The software in the loop (SIL) simulation is suitable for designing various traffic scenarios, checking the necessary number of landing platforms, etc. More information about the simulation tools can be found in the tool repository WP6-09
Videos
You can see the video of the Droneport here:
Software Repository
References
[1] Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., & Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38). DOI:10.1145/3522784.3522800
[2] Bouček, Z., Neduchal, P., & Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham. DOI:10.1007/978-3-030-87725-5_2
[3] Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., & Reitinger, J. (2022, August). Droneport: From Concept To Prototype. In 2022 26th International Conference on Methods and Models in Automation and Robotics (MMAR) (pp. 134-139). IEEE. DOI:10.1109/MMAR55195.2022.9874309