Autonomous Indoor Helicopter Flight Using A Single Onboard Camera
Autonomous Indoor Helicopter Flight Using A Single Onboard Camera
Autonomous Indoor Helicopter Flight Using A Single Onboard Camera
Ashutosh Saxena
Computer Science Department
Cornell University, USA
{saip,asujeeth}@stanford.edu
asaxena@cs.cornell.edu
I. I NTRODUCTION
Unmanned aerial vehicles have several indispensable applications in surveillance, intelligence and search and rescue
(SAR) operations. We address the problem of autonomous
flights in indoor environments, which often have only limited
free space and may contain a number of obstacles. These
constraints limit the potential size of the aerial vehicle.
Miniature radio controlled helicopters are particularly
suited for indoor navigation due to their low-speed flight
and in-place hovering capabilities. However, their small size
places a frugal payload restriction on weight and power
supply. Miniature cameras are an attractive option because
they are small, passive sensors with low power requirements.
In comparison, other sensors such as lasers (an active sensing
method, e.g., Hokuyo [11]) are heavy (450g) and have high
power requirements (500mA). In our work, therefore, we use
a miniature light-weight camera (Fig. 1) as the sensor.
Related work on autonomous helicopter flight in outdoor
settings such as [1], [8], [9], [5] have led to terrific control
algorithms capable of performing extreme aerobatic maneuvers. However, navigation in indoor environments pose
complementary challenges both in the perception and control
aspects:
Fig. 1.
Our miniature indoor helicopter (13.6in rotor diameter, 227g
weight). Inset on the right shows the miniature wireless camera used.
Fig. 2. The controller setup showing the wireless image receiver, the laptop
and the wireless transmitter.
Fig. 3.
(2)
(4)
P
0
where
i wi = 1. Using instead of mitigates a number of errors
caused by noise.
z = 3 (zdesired z) + 3 zOF
= 4 desired + 4 OF
(5)
(6)
(7)
(8)
C = M
(9)
Fig. 4.
D. Control Algorithm
The inputs to our control algorithm are the image frames
relayed in real-time from the on-board wireless camera. Our
algorithm uses these to estimate the current position and
velocity of the helicopter and then outputs those estimates
to a PD controller.
We will first describe how we use the vision output to
generate desired velocity controls for the helicopter. Let the
current state of the helicopter be ; the noisy estimate of the
= (
state obtained using our kNN algorithm is
x, y, z, );
and the desired values (e.g. xdesired ) are the coordinates
that we want to move towards. We combine the output of
Our method uses a data-driven supervised learning algorithm for estimating the current state of the helicopter.
This necessitates a labeled training data set. Our training
data consists of videos taken along uniformly spaced points
in each environment. At each point, we take a training video
by rotating first clockwise and then counter-clockwise at
approximately uniform velocity, which provides a continuous
set of labels at a particular (x,y) coordinate. We also take
training videos at a fixed along a line of points in both x
and y directions at varying heights z.3 The data points are
then labeled assuming that the motion was uniform during
each training video.
To construct our final training datasets, we additionally
apply a Gaussian blur to each frame of the training videos
and add those to the training set along with the normal
2 M is mostly a diagonal matrix with the gains hand-tuned. Only a
few off-diagonal entries are non-zero, (i.e., the trim correlations), for
example, changing elevator mostly moves the helicopter forward/backward
but also slightly changes z. Finally, since our representation (x, y)
is in global coordinates, the first 2 2 components of M have
[cos , sin ; sin , cos ].
3 We use a combination of different initial orientations to reduce the
labeling error due to imprecision in the data collection process.
Fig. 5.
values.
Fig. 6.
VI. E XPERIMENTS
We tested our algorithm in two different locations. Our
first environment (E1) is a relatively feature-less open rectangular space (4.8 4.8m). This environment provides few
obstacles for the helicopter, but poses a challenging localization problem. Conversely, our second environment (E2)
is in a constrained space (1.8 3.6m) with narrow corridors
(1.3m wide) and a sharp turn, where even minor deviations
in flight can cause a crash. We collected 28306 and 31559
training frames in E1 and E2 respectively. After projecting
to 32 dimensions using the PCA model, storing the training
model required only 9.51 MB and 12.5 MB. Figures 6 and 10
provide a view of each respective test environment.
(a) x-component
Fig. 8.
(c) -component
(b) y-component
A square trajectory in environment E1. Blue shows the ground-truth and red shows the predicted location. (Best viewed in color)
(a) x-component
Fig. 9.
(c) -component
(b) y-component
A trajectory in environment E2. Blue shows the ground-truth and red shows the predicted location. (Best viewed in color)
TABLE I
AVERAGE AND MEDIAN ERROR ALONG VARIOUS AXES FOR TWO TEST ENVIRONMENTS (E1 AND E2). RAND MEANS THAT WE RANDOMLY PREDICT
THE LOCATION / ORIENTATION DRAWN UNIFORMLY FROM POSSIBLE LOCATIONS .
E1 ( RAND )
E1 (O UR METHOD )
E2 ( RAND )
E2 (O UR METHOD )
X ( METERS )
( MEAN )
X ( METERS )
( MEDIAN )
Y ( ERRORS )
( MEAN )
Y ( METERS )
( MEDIAN )
1.22
.32
.46
.11
1.22
.11
.46
0.01
1.22
.22
.91
.36
1.22
.09
.91
.29
A. Simulator Results
We collected six test videos in E1 and four in E2. The
test videos were collected along various trajectories. Fig. 8
a,b shows the x and y classification results on a typical test
video in E1; this video was taken along a square-path where
the helicopter was pointing along the direction of movement.
Fig. 8c shows another trajectory in which x and y are kept
constant, but is panned.
We tested our framework on a significantly harder trajectory in E2 which consists of a narrow corridor with obstacles
on either sides followed by a sharp turn around a corner
and into a second section of the corridor (see Fig. 7). Fig. 9
shows the simulated results of this trajectory. The constrained
nature of this path makes accurate classification especially
important for robust traversal. We see that the predicted
results follow the ground truth trajectory quite closely. As
shown in Fig. 7 and 10, the trajectory consists of two laps.
In the first part, x and remain mostly constant and y
increases as we move forward in a nearly straight line while
maintaining a safe distance from the sides. In the second part,
( MEAN )
90.0
15.6
90.0
8.3
( MEDIAN )
90.0
12.8
90.0
4.3
32- DIM
64- DIM
256- DIM
PCA ( MS )
23.77
48.6
186.9
K NN ( MS )
FPS
14.32
10.10
1.40
TOTAL
4.77
7.00
487.26
Fig. 10.
Sequence of images showing our helicopter flying and turning the corner to complete the trajectory in E2.
[7] X. Deng, L. Schenato, W.-C. Wu, and S. Sastry. Flapping flight for
biomimetic robotic insects: Part ii- flight control design. IEEE Trans
on Robotics, 22(4):789803, 2006.
[8] E. Feron and S. Bayraktar. Aggressive landing maneuvers for unmanned aerial vehicles. In AIAA Guid, Nav Cont Conf, 2006.
[9] V. Gavrilets, I. Martinos, B. Mettler, and E. Feron. Control logic for
automated aerobatic flight of miniature helicopter. In AIAA Guid, Nav
Cont Conf, 2002.
[10] R. He, S. Prentice, and N. Roy. Planning in information space for a
quadrotor helicopter in a gps-denied environments. In International
Conference on Robotics and Automation (ICRA), 2008.
[11] Hokuyu. Range-finder type laser scanner urg-04lx specifications.
Online, 2005.
[12] N. Johnson. Vision-Assisted Control of a Hovering Air Vehicle in an
Indoor Setting. PhD thesis, Bringham Young University, 2008.
[13] E. Klingbeil, A. Saxena, and A. Y. Ng. Learning to open new doors. In
Robotic Science and Systems (RSS) workshop on Robot manipulation,
2008.
[14] L. Mejias, J. Roberts, K. Usher, P. Corke, and P. Campoy. Two seconds
to touchdown vision-based controlled forced landing. In Intl conf on
Intelligent Robots and Systems (IROS), 2006.
[15] J. Michels, A. Saxena, and A. Y. Ng. High speed obstacle avoidance
using monocular vision and reinforcement learning. In International
Conference on Machine Learning (ICML), 2005.
[16] R. Mori, K. Hirata, and T. Kinoshita. Vision-based guidance control of
a small-scale unmanned helicopter. In Intl conf on Intelligent Robots
and Systems (IROS), 2007.
[17] J.-D. Nicoud and J.-C. Zufferey. Toward indoor flying robots. In Intl
conf on Intelligent Robots and Systems (IROS), 2002.