3 research outputs found
Position control of a quadrotor UAV using stereo computer vision
Quadrotors are a recent popular consumer product, prompting further developments with regards
to combining attitude and position control for such unmanned aerial vehicles (UAVs). The
quadrotor’s attitude (orientation) can be controlled using measurements from small and inexpensive
sensors such as gyroscopes, accelerometers, and magnetometers combined in a complementary
filter.
The quadrotor’s position can be controlled using a global positioning system (GPS); this has
shown to be an effective method but is not reliable in urban or indoor environments where quadrotors
may be flown. An alternative method such as visual servoing may provide reliable position
control in urban environments. Visual servoing uses one or more on-board cameras to detect
visual features in their field-of-view. If more than one camera is used, a more accurate position
can be determined.
This work discusses the the application of stereo visual servoing to a quadrotor for position control
combined in a Kalman filter with IMU readings to provide a better estimate of its position
Visual control of multi-rotor UAVs
Recent miniaturization of computer hardware, MEMs sensors, and high energy density
batteries have enabled highly capable mobile robots to become available at low cost.
This has driven the rapid expansion of interest in multi-rotor unmanned aerial vehicles.
Another area which has expanded simultaneously is small powerful computers, in the
form of smartphones, which nearly always have a camera attached, many of which now
contain a OpenCL compatible graphics processing units. By combining the results of
those two developments a low-cost multi-rotor UAV can be produced with a low-power
onboard computer capable of real-time computer vision. The system should also use
general purpose computer vision software to facilitate a variety of experiments.
To demonstrate this I have built a quadrotor UAV based on control hardware from
the Pixhawk project, and paired it with an ARM based single board computer, similar
those in high-end smartphones. The quadrotor weights 980 g and has a flight time of
10 minutes. The onboard computer capable of running a pose estimation algorithm
above the 10 Hz requirement for stable visual control of a quadrotor.
A feature tracking algorithm was developed for efficient pose estimation, which relaxed
the requirement for outlier rejection during matching. Compared with a RANSAC-
only algorithm the pose estimates were less variable with a Z-axis standard deviation
0.2 cm compared with 2.4 cm for RANSAC. Processing time per frame was also faster
with tracking, with 95 % confidence that tracking would process the frame within 50 ms,
while for RANSAC the 95 % confidence time was 73 ms. The onboard computer ran the
algorithm with a total system load of less than 25 %. All computer vision software uses
the OpenCV library for common computer vision algorithms, fulfilling the requirement
for running general purpose software.
The tracking algorithm was used to demonstrate the capability of the system by per-
forming visual servoing of the quadrotor (after manual takeoff). Response to external
perturbations was poor however, requiring manual intervention to avoid crashing. This
was due to poor visual controller tuning, and to variations in image acquisition and
attitude estimate timing due to using free running image acquisition.
The system, and the tracking algorithm, serve as proof of concept that visual control of
a quadrotor is possible using small low-power computers and general purpose computer
vision software