Our research interests focus on enabling autonomous, mobile systems to be applicable in a variety of civil applications, mainly in the areas of emergency response,
disaster control, and environmental monitoring. These scenarios require a high
level of autonomy, reliability and general robustness from every robotic system,
regardless of whether it operates on the ground or in the air.
In previous and parallel work with autonomous airships
we gained experience with UAV control and autonomous
navigation. Compared to airships, the multirotor
UAVs we use in one of our current projects are of course
much smaller and can carry much less payload. On the
other hand, due to their compactness, they can be deployed
a lot faster and do not require any preparation except for
connecting the batteries. Their shorter flight time duration
is compensated for by the quickly exchangeable batteries
that allow a fast re-takeoff. Compared to helicopters, multirotor systems are cheaper, require less maintenance effort, are
much more stable in flight and less dangerous due to their smaller and lighter rotors.
We are working with two different quadrotor systems, the Hummingbird and the bigger Pelican.
Pelican
Since December 2010 we have been working with the Pelican UAV from Ascending Technologies. We equipped it with the following additional components:
Microsoft Kinect
2 ATMega644P (8 Bit Microcontroller)
SRF 10 sonar sensor
ADNS3080 (optical flow sensor)
The ADNS3080 optical flow sensor is used for velocity and position control in GPS denied and indoor environments. Using this sensor, two PID controllers compensate for the drift that inevitably occurs over time. Altitude control is performed using the SRF10 sonar sensor. Position, velocity, and altitude control run on the two additional microcontrollers at around 20 Hz. The general system architecture and controller design follows that of the Hummingbird UAV described below and in several publications.
Autonomous Corridor Following Using the Kinect
Autonomous corridor following is performed using the Kinect sensor, the point cloud library (PCL) and ROS in combination with our own velocity, position and altitude controllers . The 3D point cloud from the Kinect sensor is pre-processed and searched for planes. Position and orientation of the UAV inside the corridor can be estimated from the plane parameters. A high-level controller then generates motion commands for the lower level controllers that keep the UAV on a trajectory in the middle of the corridor.
Hummingbird
System Architecture
We equipped the system with the following additional components:
2 ATMega644P (8 Bit Microcontroller)
Gumstix Verdex embedded system
XBee Pro 802.15.4 radio
SRF 10 sonar sensor
Logitech Quickcam Pro 4000
ADNS3080 (optical flow sensor)
Position and Velocity Controller
In GPS denied environments, the only way to measure position and velocity
is to integrate the information from the onboard acceleration
sensors and gyros. However, due to the noisy input signals
large errors accumulate quickly, rendering this procedure
useless for any velocity or even position control.
In our approach, an optical flow sensor facing the ground
provides information on the current velocity and position of
the UAV. The Avago ADNS-3080 we use is commonly found
in optical mice and calculates its own movements based on
optical flow information with high accuracy and a framerate
of up to 6400 fps. After exchanging the optics and attaching
a M12-mount lens with f = 4.2mm to the sensor, we are
able to retrieve high quality position and velocity signals that
accumulate only small errors during the flight.
Autonomous Landing
The OpenCV-based software on the embedded computer system receives the images from
the onboard USB Logitech QuickCam 4000 and processes them. The results of this processing step are the estimated
height z above ground and the position (x, y) of the UAV
relative to the landing pad, projected to the ground plane.
These estimates (especially the translation (x, y)) need to
be corrected for the current nick and roll angles of the UAV.
This is necessary because the camera is fixed on the frame of
the UAV and is not tilt-compensated in any way. The initial
position estimates (x, y, z) are corrected using the current
nick and roll angles. These corrected position
estimates are then used as inputs for a PID-controller that
generates the necessary motion commands to keep the UAV
steady above the center of the landing pad. This controller
is again executed on the ATmega644P microcontroller.
Lange, S., Sünderhauf, N., Neubert, P., Drews, S., Protzel, P. (2011). Autonomous Corridor Flight of a UAV Using a Low-Cost and Light-Weight RGB-D Camera. Proc. of International Symposium on Autonomous Minirobots for Research and Edutainment (AMiRE), Bielefeld, Germany.
Drews, S., Lange, S., Protzel, P. (2010). Validating an Active Stereo System Using USARSim. Proc. of International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR), Darmstadt, Germany.
Drews, S., Lange, S., Protzel, P. (2010). Creating a Distributed Development Environment for Unmanned Aerial Vehicles using USARSim. 55th International Scientific Colloquium (IWK), Ilmenau.
Lange, S., Protzel, P. (2010). Active Stereo Vision for Autonomous Multirotor UAVs in Indoor Environments. Proc. of 11th Conference Towards Autonomous Robotic Systems. Plymouth, UK.
Lange, S., Sünderhauf, N., Protzel, P. (2008). Autonomous Landing for a Multirotor UAV Using Vision.Workshop Proc. of SIMPAR 2008 Intl. Conf. on Simulation, Modeling and Programming for Autonomous Robots, Venice(Italy) 2008 November,3-4 ISBN 978-88-95872-01-8 pp. 482-491.