<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://c4d.lias-lab.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Uwb</id>
	<title>COMP4DRONES - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://c4d.lias-lab.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Uwb"/>
	<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php/Special:Contributions/Uwb"/>
	<updated>2026-04-07T00:55:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=724</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=724"/>
		<updated>2022-10-14T12:25:21Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
|[[File:Droneport overview.jpeg|300px|thumb|upright|Droneport overview]]&lt;br /&gt;
|[[File:Droneport gripper.jpg|300px|thumb|upright|Detail of the gripper]]&lt;br /&gt;
|[[File:Droneport_320_240.gif|300px|thumb|upright|Droneport battery exchange]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport schema IO.png|400px|thumb|right|Droneport internal components and communication buses]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=721</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=721"/>
		<updated>2022-10-14T12:24:37Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport schema IO.png|400px|thumb|right|Droneport internal components and communication buses]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=719</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=719"/>
		<updated>2022-10-14T12:24:15Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport schema IO.png|400px|thumb|right|Droneport internal components and communication buses]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
|[[File:Droneport overview.jpeg|300px|thumb|upright|Droneport overview]]&lt;br /&gt;
|[[File:Droneport gripper.jpg|300px|thumb|upright|Detail of the gripper]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=718</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=718"/>
		<updated>2022-10-14T12:23:48Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
|[[File:Droneport overview.jpeg|300px|thumb|upright|Droneport overview]]&lt;br /&gt;
|[[File:Droneport gripper.jpg|300px|thumb|upright|Detail of the gripper]]&lt;br /&gt;
|}&lt;br /&gt;
[[File:Droneport schema IO.png|400px|thumb|right|Droneport internal components and communication buses]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=717</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=717"/>
		<updated>2022-10-14T12:23:17Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
{|style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
|[[File:Droneport schema IO.png|400px|thumb|upright|Droneport internal components and communication buses]]&lt;br /&gt;
|[[File:Droneport overview.jpeg|300px|thumb|upright|Droneport overview]]&lt;br /&gt;
|[[File:Droneport gripper.jpg|300px|thumb|upright|Detail of the gripper]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=715</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=715"/>
		<updated>2022-10-14T12:20:37Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport schema IO.png|600px|thumb|right|Droneport internal components and communication buses]]&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|center|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|center|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=714</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=714"/>
		<updated>2022-10-14T12:20:14Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|center|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|center|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
[[File:Droneport schema IO.png|600px|thumb|right|Droneport internal components and communication buses]]&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=713</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=713"/>
		<updated>2022-10-14T12:19:36Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|center|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|center|Detail of the gripper]]&lt;br /&gt;
[[File:Droneport schema IO.png|200px|thumb|center|Droneport internal components and communication buses]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=File:Droneport_schema_IO.png&amp;diff=712</id>
		<title>File:Droneport schema IO.png</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=File:Droneport_schema_IO.png&amp;diff=712"/>
		<updated>2022-10-14T12:17:59Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=664</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=664"/>
		<updated>2022-10-14T09:10:57Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|right|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|right|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=663</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=663"/>
		<updated>2022-10-14T09:10:29Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|right|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|right|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the UAVs&lt;br /&gt;
* The whole device communicates 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=662</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=662"/>
		<updated>2022-10-14T09:06:14Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|right|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|right|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=634</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=634"/>
		<updated>2022-10-13T08:16:28Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Software Repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|right|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|right|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
*[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=633</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=633"/>
		<updated>2022-10-13T08:16:02Z</updated>

		<summary type="html">&lt;p&gt;Uwb: software repo added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|right|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|right|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
=Software Repository=&lt;br /&gt;
&lt;br /&gt;
[https://github.com/UWB-C4D Droneport project]&lt;br /&gt;
[https://github.com/UWB-C4D/droneport_traffic_control Droneport Traffic Control]&lt;br /&gt;
[https://github.com/UWB-C4D/droneport_gazebo_extensions Gazebo Droneport Extensions]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=632</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=632"/>
		<updated>2022-10-13T08:10:42Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Droneport Trajectory Planning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|right|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|right|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=631</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=631"/>
		<updated>2022-10-12T13:17:10Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
[[File:Droneport overview.jpeg|300px|thumb|right|Droneport overview]]&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|right|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=630</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=630"/>
		<updated>2022-10-12T13:15:58Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|right|Detail of the gripper]]&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=629</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=629"/>
		<updated>2022-10-12T13:15:41Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|thumb|right|Detail of the gripper]]&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=628</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=628"/>
		<updated>2022-10-12T13:15:23Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport gripper.jpg|200px|thumb|left|Detail of the gripper]]&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=627</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=627"/>
		<updated>2022-10-12T13:14:39Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|frame| Detail of the gripper]]&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; 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]&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=626</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=626"/>
		<updated>2022-10-12T13:14:29Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport gripper.jpg|300px|frame| Detail of the gripper]]&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=625</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=625"/>
		<updated>2022-10-12T13:14:03Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Design and Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport gripper.jpg|frame| Detail of the gripper]]&lt;br /&gt;
[[File:Droneport gripper.jpg|frame| Detail of the gripper]]&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=624</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=624"/>
		<updated>2022-10-12T13:09:41Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Droneport Commander */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=623</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=623"/>
		<updated>2022-10-12T13:07:20Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Droneport Commander */  images&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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 [[:File:Droneport-drone-state-diag.png|Figure 59]].&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-drone-state-diag.png|thumb|250px|Fig. 59: Simplified chart of drone states]]&lt;br /&gt;
&lt;br /&gt;
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 is depicted in [[:File:Droneport-monitoring.jpg|Fig. 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 [[:File:Droneport-qgc-mission.png|Fig. 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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport-monitoring.jpg|thumb|350px|Fig. 60: Simulation]]&lt;br /&gt;
[[File:Droneport-qgc-mission.png|thumb|350px|Fig. 61: Map with simulated devices]]&lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=File:Droneport_gripper.jpg&amp;diff=622</id>
		<title>File:Droneport gripper.jpg</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=File:Droneport_gripper.jpg&amp;diff=622"/>
		<updated>2022-10-12T13:00:46Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=File:Droneport_overview.jpeg&amp;diff=621</id>
		<title>File:Droneport overview.jpeg</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=File:Droneport_overview.jpeg&amp;diff=621"/>
		<updated>2022-10-12T12:56:36Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=620</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=620"/>
		<updated>2022-10-12T12:54:44Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Simulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=619</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=619"/>
		<updated>2022-10-12T12:54:31Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Simulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=618</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=618"/>
		<updated>2022-10-12T12:49:43Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=617</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=617"/>
		<updated>2022-10-12T12:49:16Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* WIP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=Videos=&lt;br /&gt;
&lt;br /&gt;
You can see the video of the Droneport here:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=616</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=616"/>
		<updated>2022-10-12T12:48:05Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|right|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=615</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=615"/>
		<updated>2022-10-12T12:47:46Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|frame|left|Droneport battery exchange]]&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=614</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=614"/>
		<updated>2022-10-12T12:46:45Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
[[File:Droneport_320_240.gif|640px|frame|left|Droneport battery exchange]]&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=File:Droneport-qgc-mission.png&amp;diff=613</id>
		<title>File:Droneport-qgc-mission.png</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=File:Droneport-qgc-mission.png&amp;diff=613"/>
		<updated>2022-10-12T12:45:25Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=612</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=612"/>
		<updated>2022-10-12T12:43:46Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[File:Droneport_320_240.gif|640px|thumb|left|Droneport battery exchange]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=611</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=611"/>
		<updated>2022-10-12T12:43:24Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport_320_240.gif|640px|thumb|left|Droneport battery exchange]]&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=File:Droneport-monitoring.jpg&amp;diff=610</id>
		<title>File:Droneport-monitoring.jpg</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=File:Droneport-monitoring.jpg&amp;diff=610"/>
		<updated>2022-10-12T12:43:20Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=File:Droneport-drone-state-diag.png&amp;diff=609</id>
		<title>File:Droneport-drone-state-diag.png</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=File:Droneport-drone-state-diag.png&amp;diff=609"/>
		<updated>2022-10-12T12:43:06Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=608</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=608"/>
		<updated>2022-10-12T12:42:44Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport_320_240.gif|640px|thumb|center|Droneport battery exchange]]]&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=607</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=607"/>
		<updated>2022-10-12T12:38:06Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport_320_240.gif]]&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=606</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=606"/>
		<updated>2022-10-12T12:37:54Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* WIP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=605</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=605"/>
		<updated>2022-10-12T12:36:18Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* WIP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[https://www.youtube.com/watch?v=X_33DVXDpGE Droneport basic principle ]&lt;br /&gt;
[https://youtu.be/juaGfW2ODYQ Droneport in action]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
[[File:Droneport_320_240.gif]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=604</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=604"/>
		<updated>2022-10-12T12:35:51Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* WIP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
&lt;br /&gt;
You can see the video of &lt;br /&gt;
[Droneport basic principle https://www.youtube.com/watch?v=X_33DVXDpGE]&lt;br /&gt;
[Droneport in action https://youtu.be/juaGfW2ODYQ]&lt;br /&gt;
&lt;br /&gt;
see tools repository&lt;br /&gt;
[[File:Droneport_320_240.gif]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=603</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=603"/>
		<updated>2022-10-12T12:22:34Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* WIP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
see tools repository&lt;br /&gt;
[[File:Droneport_320_240.gif]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=602</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=602"/>
		<updated>2022-10-12T12:21:42Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* WIP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
see tools repository&lt;br /&gt;
[[Droneport_320_240.gif]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=File:Droneport_320_240.gif&amp;diff=601</id>
		<title>File:Droneport 320 240.gif</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=File:Droneport_320_240.gif&amp;diff=601"/>
		<updated>2022-10-12T12:20:44Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=600</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=600"/>
		<updated>2022-10-12T12:14:11Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Droneport: an autonomous drone battery management system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: An autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=599</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=599"/>
		<updated>2022-10-12T12:13:47Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: an autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=Droneport Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==Droneport Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==Droneport Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Droneport Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/Droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). Droneport: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP6-09&amp;diff=598</id>
		<title>WP6-09</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP6-09&amp;diff=598"/>
		<updated>2022-10-12T11:46:43Z</updated>

		<summary type="html">&lt;p&gt;Uwb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gazebo DronePort Extensions =&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP6-UWB&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Tool&lt;br /&gt;
|-&lt;br /&gt;
|   License	|| Open-source&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Part of the [[WP3-26|Droneport: an autonomous drone battery management system]]&lt;br /&gt;
&lt;br /&gt;
Gazebo DronePort Extensions (GDE) is a set of tools that enables the Gazebo simulator to simulate [1] an autonomous battery management system called Droneport [2],[3]. It is proposed and developed by the team from New Technologies for Information Society research centre at the University of West Bohemia. Using GDE, it is possible to simulate all functionalities of the DronePort device in single or multi-agent scenarios, where an agent can be either a drone or the DronePort device. It consists of several parts necessary to run the simulation. In particular, it is the DronePort model for Gazebo, the DronePort plugin for Gazebo, a set of Models used for simulation based on the PX4_SITL_Gazebo repository. Finally, scripts for running the simulation and for testing DronePort capabilities are also part of the GDE. All parts are shown in Figure 1&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport_scheme.png|500px|center|Gazebo DronePort Extensions simulation scheme]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
The DronePort model is a box-shaped device with an openable cover containing ArUco code on its top. The model was significantly improved compared to the previous version, modelled as a static, rigid box with ArUco code. The DronePort system has an overview of the battery status of individual drones. Thus, it can prepare for the battery change by doing the following steps. In the first step, it withdraws the drone from the mission. Then the cover of the device opens in reaction to a MAVlink message. When the drone has successfully landed, the device changes its battery. Then, the drone can take off, and a removed battery is put into one of the charging stations in the device. In the simulation, there is a simplification. The changing process is instantaneously done by virtual swapping batteries in the memory. In other words, the simulation doesn’t incorporate the arm for a battery exchange, as is the case of a real device. The model is shown in Figure 2.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport_v_2_open.png|500px|center|DronePort model with the landed Iris drone.]]&lt;br /&gt;
&lt;br /&gt;
The proposed toolchain is based on three prerequisites. The first one is the Gazebo simulator, for which whole simulation extensions are developed. The second one is the PX4 open-source autopilot, and the third one is the Gazebo software in the loop components called the PX4-SITL_Gazebo plugin suite. In particular, the DronePort plugin is based on the mavlink_interface plugin and GPS plugin. The first one enables DronePort to communicate through the MAVlink protocol. The other one is used to enable DronePort to emulate and broadcast its GPS coordinates through the MAVLink protocol to other simulation parts.&lt;br /&gt;
&lt;br /&gt;
The simulation using our toolchain can be based either on Gazebo only or on Gazebo with Robot operating system (ROS) support. Both options are possible thanks to the use of the MAVLink communication protocol. Therefore, in the first case, the developer can communicate with DronePort using an arbitrary MAVLink communication protocol library. As an example, a python library called pymavlink can be mentioned. Examples of cover movement and battery status messages are implemented using this library. &lt;br /&gt;
It was mentioned that the second case is to use the ROS framework to communicate with the simulation of the DronePort device. MAVROS library is needed as it is a ROS implementation of the MAVLink communication protocol. &lt;br /&gt;
&lt;br /&gt;
The simulation should be connected to DronePort control software which is, in our case, implemented in RexyGen software. But it can be implemented in arbitrary technology, again with the only condition of using the MAVLink communication protocol. The control software also sends information about the battery refuelling process. Thus, the Gazebo plugin is used only to visualize the battery refuelling process. It is advantageous because the developer can implement its refuelling process. In more detail, it can have different types of refuelling curves – e.g., linear, quadratic, etc. The interoperability graph is shown in Figure 4. &lt;br /&gt;
&lt;br /&gt;
== Interoperability with other C4D tools ==&lt;br /&gt;
&lt;br /&gt;
GDE can be extended by Paparazzi UAV autopilot to simulate other than PX4 autopilot which is currently used. Moreover, the precision landing developer by Sherpa can be used with GDE in the simulation environment.&lt;br /&gt;
&lt;br /&gt;
[[File:Droneport_interoperability_graph.png|500px|center|Gazebo DronePort Extensions simulation scheme]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). DronePort: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
	<entry>
		<id>https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=597</id>
		<title>WP3-26</title>
		<link rel="alternate" type="text/html" href="https://c4d.lias-lab.fr/index.php?title=WP3-26&amp;diff=597"/>
		<updated>2022-10-12T11:46:08Z</updated>

		<summary type="html">&lt;p&gt;Uwb: /* Detailed Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Droneport: an autonomous drone battery management system=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  ID|| WP3-26&lt;br /&gt;
|-&lt;br /&gt;
|   Contributor	|| UWB and SM&lt;br /&gt;
|-&lt;br /&gt;
|   Levels	|| Functional&lt;br /&gt;
|-&lt;br /&gt;
|   Require	|| 	Communication service to obtain data from the assigned drones and master controller&lt;br /&gt;
|-&lt;br /&gt;
|   Provide || Autonomous battery exchange and management for UAV&lt;br /&gt;
|-&lt;br /&gt;
|   Input		&lt;br /&gt;
|&lt;br /&gt;
* MAVLink-based request for battery exchange&lt;br /&gt;
* UAV mission&lt;br /&gt;
* UAV battery status&lt;br /&gt;
|-&lt;br /&gt;
|   Output		|| Available battery resources&lt;br /&gt;
|-&lt;br /&gt;
|   C4D building block		|| Health management, Mission management&lt;br /&gt;
|-&lt;br /&gt;
|   TRL		|| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Contribution and Improvement=&lt;br /&gt;
&lt;br /&gt;
The Droneport aims to extend the UAV missions by autonomously changing the battery of the drones. &lt;br /&gt;
&lt;br /&gt;
The main goal was to develop a drone Battery management architecture fulfilling a few fundamental objectives:&lt;br /&gt;
* battery charging and swapping automatically&lt;br /&gt;
* extending the UAV operational time from minutes to hours or more&lt;br /&gt;
* MAVLink based data communication standards&lt;br /&gt;
* compact and easy handling&lt;br /&gt;
* reasonable purchasing/maintenance costs&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Design and Implementation=&lt;br /&gt;
&lt;br /&gt;
Figure 85: Droneport manipulator arm with a custom gripper&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Drone landing place with ArUco based landing markers&lt;br /&gt;
* Uniquely designed robotic manipulator&lt;br /&gt;
* Uniquely designed gripper&lt;br /&gt;
* Battery management unit for charging and storage&lt;br /&gt;
* Wireless communication to the drone/swarms&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
Droneport SW architecture consists of:&lt;br /&gt;
&lt;br /&gt;
* Drone to DP communication protocol (defined MAVLink messages)&lt;br /&gt;
* Drone landing assistant - vision navigation to ArUco markers&lt;br /&gt;
* Battery exchange system control - manipulator controller&lt;br /&gt;
* Charge control - communication interface between charges and battery slots&lt;br /&gt;
* Battery management software&lt;br /&gt;
* DP software provides an open API for interoperability with various drones flight controllers.&lt;br /&gt;
&lt;br /&gt;
Figure 86: Top view of the Droneport with landed drone&lt;br /&gt;
&lt;br /&gt;
=DronePort Traffic Control=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.). &lt;br /&gt;
&lt;br /&gt;
==DronePort Commander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 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. &lt;br /&gt;
&lt;br /&gt;
==DronePort Trajectory Planning==&lt;br /&gt;
As part of the study for the [https://github.com/UWB-C4D/droneport_traffic_control/blob/main/trajectory_planner.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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==DronePort Orchestrator==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
In the scheduling of battery exchange the appropriate time to withdraw the drone is sought with the well-known A* algorithm ([https://github.com/UWB-C4D/droneport_traffic_control/blob/main/simple_orchestrator.ipynb 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. &lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Simulation=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
=WIP=&lt;br /&gt;
see tools repository&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''[1]''' Severa, O., Bouček, Z., Neduchal, P., Bláha, L., Myslivec, T., &amp;amp; Flidr, M. (2022). Droneport: From Concept To Simulation. In System Engineering for constrained embedded systems (pp. 33-38).&lt;br /&gt;
&lt;br /&gt;
'''[2]''' Bouček, Z., Neduchal, P., &amp;amp; Flídr, M. (2021, September). DronePort: Smart Drone Battery Management System. In International Conference on Interactive Collaborative Robotics (pp. 14-26). Springer, Cham.&lt;br /&gt;
&lt;br /&gt;
'''[3]''' Bláha, L., Severa, O., Barták, P., Myslivec, T., Jáger, A., &amp;amp; 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.&lt;/div&gt;</summary>
		<author><name>Uwb</name></author>
	</entry>
</feed>