Autonomous Drone Control System For Object Tracking Flexible System Design With Implementation Example
Autonomous Drone Control System For Object Tracking Flexible System Design With Implementation Example
Authorized licensed use limited to: Chandigarh University. Downloaded on November 03,2024 at 14:34:29 UTC from IEEE Xplore.
II. SYSTEM DESIGN Mission control nodes can be divided into three
System consists of two main components: flight controller subcategories:
and onboard computer. Flight controller is responsible for
Mission planning nodes – responsible for optimizing
executing movements of UAV accordingly to provided control
mission execution schema based on provided sensor
signal. It is also directly connected to some of sensors e.g.
data accordingly to programed mission scenario.
GPS. Onboard computer is the main processing unit of the
whole system. Its role is to manage and compute sensor data Control law nodes – responsible for computing
and send the correct control signal to flight controller. control signals using programed regulators and
control laws.
We decided to build our software in the modular way.
Each module should be responsible for single task and the Flight controller interface node – responsible for the
communication between modules had to be fast and stable. communication with flight controller.
Important factor was scalability of the system to allow
connecting new devices and sensors into it without a need The flight controller interface node does not have to be
to do great changes in already written code. single node. This can actually be set of nodes, but this
category was separated because of its unique role in the
Because some of sensors are connected directly to flight system. It is also one of the elements that do not need any
controller there is a need to propagate acquired data changes when the same UAV is adjusted to different missions.
to computing unit. The best solution would be to make data The diagram of our design is presented in Fig. 1.
coming from each sensor available for every software module
at any time. Depending on the complexity of task there might be a need
to apply different control laws. Mission planning also can be
All of above-mentioned requirements are fulfilled by ROS divided into multiple submodules depending on situation e.g.
(Robot Operating System). Software developed with ROS can state machine for controlling the scenario execution and
consist of numerous modules (called nodes) connected with optimization engine for cooperative operation for multiple
each other through publisher-subscriber system. Another big drones.
advantage of using ROS is availability of vast number
of component (ROS packages), in particular MAVROS
(MAVLink extendable communication node for ROS with
Data handling nodes
proxy for Ground Control Station) package which implements
MAVLink (Micro Air Vehicle Communication Protocol)
protocol and provides means for communication between Sensor Sensor
flight controller and onboard computer.
III. SOFTWARE MODULES
Data processing 1 Data processing 1
In general, design modules could be divided into few
categories based on different criteria. On highest level two
main classes can be distinguished:
Data handling nodes – responsible for handling and Data processing n
analyzing sensor data and providing it in correct form
to mission control nodes.
Mission control nodes – responsible for executing
missions accordingly to sensor data and control law.
Each of those contains few subcategories. For data Mission planning
handling nodes there are: Control law
735
Authorized licensed use limited to: Chandigarh University. Downloaded on November 03,2024 at 14:34:29 UTC from IEEE Xplore.
IV. EXAMPLE OF SYSTEM During tests a great additional load on cpu occurred due
A. Hardware platform to separating image acquisition and processing nodes.
To remove this problem those nodes were merged into one.
For the competition in Abu Dhabi a custom hexacopter
The greatest difference between those two approaches
was constructed. It was equipped with Pixhawk flight
is accessibility of raw image; in final solution it is only
controller and Raspberry Pi 3 as an onboard computer. Set
available for one node. In this particular case only one node
of sensors providing data about drone position was connected
needed access to the image, however, this problem should be
directly to Pixhawk; data from those sensors were tunneled to
further investigated and solved to enable more flexible
Raspberry Pi through MAVROS. To enable autonomous flight
solution.
there were additional sensors needed i.e. a camera and a limit
switch in the gripper to provide feedback. Camera with image
processing algorithm allowed detection and tracking of the C. Image processing
landing pattern placed on the top of moving vehicle. The limit The whole image processing
sensor was used to ensure successful landing before turning algorithm was developed with the use
motors off and also to confirm gripping of an object. of OpenCV library. Role of the vision
Hexacopter constructed for competition is shown on Fig. 2. system was to provide the information
about position of landing platform. The
platform was marked with the pattern
shown in Fig. 3. Fig. 3. Landing pattern
736
Authorized licensed use limited to: Chandigarh University. Downloaded on November 03,2024 at 14:34:29 UTC from IEEE Xplore.
marker. To reduce amount of data it was essential to properly If during landing marker left this region algorithm switched
chose ROI. The size of region was constant and the position of back to following. If marker was detected during start
the next one was based on current position of marker in image procedure system directly switched to following procedure. If
and its displacement. Two element vector representing during execution of either following or landing procedure
position of center of ROI for n+1-th frame can be calculated marker was lost, drone returned to the center of the path and
as (1): was hovering over it the until marker was detected again.
Cn+1 Mn n Start
Where Cn+1 is position of center of ROI calculated for next Position achieved
737
Authorized licensed use limited to: Chandigarh University. Downloaded on November 03,2024 at 14:34:29 UTC from IEEE Xplore.
Processed data is provided to Mission planning node order to achieve satisfactory results with higher speed other
which was merged with control law node. This node types of regulators should be tested.
calculated control signals based on mission plan and sensor
data. Control signals are published and sent through
MAVROS to Pixhawk.
GPIO handle
e handle
Hardwar
Image processing node
Data
planni
Missi
Mission planning
law
Flight
738
Authorized licensed use limited to: Chandigarh University. Downloaded on November 03,2024 at 14:34:29 UTC from IEEE Xplore.