WP3-26
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 |
<video type="html5">/myWiki/resources/assets/my-video.mp4</video>
Detailed 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. Regarding the reference architecture, the DP consists of a battery management unit for charging and storage, a robotic manipulator for automatic battery exchange, a data link to the drone, a telemetry data and 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 providing necessary navigation information for drone landing, 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
Figure 85: Droneport manipulator arm with a custom gripper
The Droneport development is done together with SmartMotion company. Our team collaborates together on hardware and software design. The DP will be a unique device that will be 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 drone/swarms
- The whole device will communicate wirelessly over MAVLink protocol [29] with other devices in the network. The device is controlled using Linux based PC with REXYGEN [34] 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.
Figure 86: Top view of the Droneport with landed drone
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. A simplified state diagram of the drone is shown in Figure 59.
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 is depicted in Figure 60 which shows QGroundControl (QGC) as a standard control center (the client-side), the simulation of the physical devices in Gazebo, and the previously mentioned DPTC interface. In Figure 61, you can see the two drones, DronePorts, the area under consideration, the specified missions, and other standard information provided by QGC. 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
see tools repository
WIP
see tools repository
References
see tools repository