Estabilización Visual de un Quadrotor
Eder Rodriguez, David Lara, Gerardo Romero Galvan, Guillaume Caron,
Claude Pegard
To cite this version:
Eder Rodriguez, David Lara, Gerardo Romero Galvan, Guillaume Caron, Claude Pegard. Estabilización Visual de un Quadrotor. Congreso de Instrumentacion, SOMI XXX, Oct 2015, Durango,
México. hal-01270425
HAL Id: hal-01270425
https://hal.archives-ouvertes.fr/hal-01270425
Submitted on 8 Feb 2016
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Estabilización Visual de un Quadrotor
Eder A. Rodríguez, David Lara, Gerardo Romero Galván
Universidad Autónoma de Tamaulipas Carr. Reynosa - San Fernando, cruce con Canal Rodhe,
Arcoíris, Reynosa Tamps., México
[email protected],
[email protected],
[email protected]
Guillaume Caron, Claude Pegard
Université de Picardie Jules Verne
Chemin du Thil, 80000 Amiens, Francia
[email protected],
[email protected]
RESUMEN
El presente documento trata sobre la estabilización basada en la imagen de un vehículo aéreo
no tripulado UAVs tipo quadrotor (AR-Drone 2.0 de Parrot) que obtiene información mediante
su cámara frontal. Se aplica la Técnica de Control Visual Basada en Imagen (IBVS, por sus siglas
en ingles), y se hace uso del meta sistema operativo ROS mediante el lenguaje C++, algunas
librerias de ViSP y una configuración del tipo ojo-en-mano (eye-in-hand) para procesar los datos
obtenidos por la cámara. El seguimiento de las imágenes se logra utilizando el algoritmo KLT y
las velocidades se calculan utilizando la pseudo inversa de la aproximación de la matriz de
interacción en la ley de control. Los resultados se muestran de forma cuantitativa y cualitativa.
PALABRAS CLAVE: quadrotor, Control, características de interes, Técnica de Control Visual
Basada en Imagen, ojo-en-mano, ROS, KLT.
1
INTRODUCCIÓN
En las últimas décadas el avance de la robótica ha impulsado el desarrollo de los UAVs. Estos
vehiculos tienen muchas aplciaciónes en situaciones que ponen en riesgo a los seres humanos y
en las que su acceso es limitado, por ejemplo en un desastre natural, un terremoto, una
inundación, una catastrofe nuclear, o en tareas que faciliten el trabajo del hombre, vigilancia de
tráfico, tomas aereas, busqueda de personas entre otras [1]. El auge de los UAVs ha propiciado
el desarrollo de algunas disciplinas tales como la aerodinamica, la mecanica, el control
automatico y el control. Esta ultima disciplina tiene un gran campo de estudio y resultados muy
importantes en la robotica. El control visual combina procesamiento de imágenes con técnicas
de control de tal forma que la información se usa para la retroalimentación del sistema. El
problema principal del control visual es el hecho de obtener una interpretación robusta, fiel y
en tiempo real del campo visual mediante estructuras de control y algoritmos. Las soluciones
provistas por el control visual típicamente se dividen en Técnicas de Control Basadas en Imagen
(IBVS) y Técnicas de Control Basadas en Pose (PBVS). Por otra parte, las imágenes pueden ser
obtenidas mediante una cámara montada directamente en el manipulador del robot o en un
robot movil (ojo-en-mano), en estos casos, el movimiento del robot induce el movimiento de la
cámara, o la cámara puede estar fija en el espacio de trabajo y así poder observar el
movimiento del robot desde una configuración estacionaria (mano-a-ojo). Otras
configuraciones pueden ser posibles, por ejemplo, montar un conjunto de imágenes sobre una
base fija [2].
El quadrotor AR Drone 2.0 de Parrot fue elegido para realizar esta investigación. Es controlado
por medio de una red Wi-Fi desde algún dispositivo tal como una laptop, un ipad o un
smartphone con sistema operativo android. Puede ser manipulado utilizando el meta-sistema
operativo ROS [3] y el controlador ardrone_autonomy desarrollado por Autonmy Lab [4].
Cuenta con una cámara frontal HD 720p a 30FPS, un giroscopio de 3 ejes con una presición de
2000°/segundo, un acelerometro de ejes con una presición de 50mg, un magnetometro con
precision de hasta 6°, un barometro con una presición de 10Pa, un sensor ultrasónico para
medir la altura y una cámara vertical QVGA que mide velocidad con respecto al suelo. Los
motores son sin escobillas de 14.5W, 28500RPM [5].
2
CONCEPTOS BASICOS DE VISÓN
Las imágenes son simplemente un arreglo grande de valores de los pixeles, pero, para las
aplicaciones de robótica, las imágenes tienen muchos datos e insuficiente información [1]. Las
características de interes en la imagen son medidas que pueden contener la información de la
pose de algun objeto, el tipo de objeto o su velocidad. Existen diferentes tipos de características
de interes en la imagen, por ejemplo, puntos, lineas o áreas. En este artículo se emplean los
puntos de interes de la imagen que se obtienen por medio del algoritmo KLT.
3
CONTROL VISUAL
Consiste básicamente en integrar, en tiempo real, la información visual en el bucle de control
de un robot manipulador [6]. Para realizar un control visual se necesitan encontrar las
características de interes en la imagen, procesar la información y generar los valores de
consignia correspondientes. El propósito de todo el control basado en visión se centra en
minimizar el error
, típicamente definido por
es un
. El vector
conjunto de medidas de la imagen. Estas medidas de imagen se usan para calcular el vector de
elementos visuales,
, en el cual es un conjunto de parámetros que representa
información potencial adicional sobre el sistema. El vector contiene los valores deseados de
los elementos. Una vez seleccionado, el diseño del esquema de control puede ser más simple.
Tal vez el enfoque más directo sea el diseño de un control de velocidad. Para hacer esto,
requerimos de una relación entre la variación del tiempo de y la velocidad de la cámara. Sea
la velocidad de la camara denotada por
,
la velocidad lineal instantanea del
origen del marco de la cámara y
la velocidad angular instantanea desde el marco de
referencia de la cámara, la relacion entre y
esta dada por
, en donde
es
llamada la matriz de interacción relacionada a . Entonces la relación entre la velocidad de la
cámara y la variación del error en el tiempo:
,
(1)
donde
. Considerando
como la entrada del controlador del robot, y si quisieramos,
por ejemplo, intentar asegurar el desacople del decrecimiento exponencial del error (i.e.,
), usando (1) obtenemos:
,
(2)
donde
es elegido como la pseudo-inversa Moore-Penrose de , que es
cuando
es de rango completo 6. Esta elección permite
y
ser mínimo. Cuando
si el determinante
, es posible invertir , resultando en el
control
. En sistemas reales de control visual, es imposible conocer
perfectamente en práctica
o . Entonces se requiere realizar una aproximación o una
estimación de una de esas dos matrices. A continuación, denotamos la aproximación de la
pseudo inversa de la matriz de interacción con el símbolo . Usando esta notación, la ley de
control es de hecho
.
(3)
Este es el diseño básico implementado en la mayoria de los controladores visuales [7].
3.1
Control Visual Basado en Imagen
Los esquemas tradicionales de control basado en la imagen [8], [9] usan las coordenadas del
plano de la imagen de un set de puntos para definir el set . Las medidas de la imagen son,
usualmente, coordenadas de pixel en un conjunto de imágenes, y los parametros en la
definición de
son los parámetros intrínsecos de la cámara que relacionan las
medidas de la imagen expresadas en pixeles con las cáracteristicas en la imagen [7].
3.2
La Matríz de Interacción
Para un punto 3-D con coordenadas
en el marco de referencia de la cámara,
que proyecta en la imagen un punto en 2-D con coordenadas
, tenemos:
,
(4)
donde
son las coordenadas de un punto de la imagen expresadas en unidades de
pixel, y
es el conjunto de los parámetros intrinsecos de la cámara:
y son
las coordenadas del punto principal,
es la distancia focal, y
es el cociente de las
dimensiones del pixel. En este caso, tomamos
, como las coordenadas del punto
del plano de la imagen.
Derivando (4) obtenemos
.
(5)
La velocidad de los puntos en 3-D de la cámara se relacionan con la velocidad espacial en
.
(6)
Combinando (5) y (6) obtenemos
(7)
puede ser escrita como
, donde la matríz de interacción
.
se relacionan con en
(8)
En la matríz , el valor de la profundidad es el punto relativo en el marco de la cámara. Por
lo tanto, en cualquier esquema de control que use esta matríz de interacción se debe de
estimar o aproximar el valor de . Similarmente, los parámetros intrínsecos de la cámara estan
involucrados en el cálculo de e . Así,
no puede ser directamente usado en (3), entonces
se debe de usar como una estimación o aproximación. Se necesitan al menos 3 puntos para
controlar 6 grados de libertad. Si usamos un vector de característica
, al apilar
los puntos en la matríz de interacción, se obtiene
.
(9)
En este caso, existen algunas configuraciones para cual
es singular [10]. Además, existen
cuatro poses de la cámara para cual
, es decir, existen cuatro mínimos globales, y es
imposible diferenciarlos [11]. Por estas razones, generalmente se consideran más de tres
puntos.
4
METODOLOGÍA
Algoritmo KLT: El seguidor de puntos de interes Kanade-Lucas-Tomasi (KLT) está diseñado para
detectar y seguir un conjunto de características en la imagén dentro de una secuencia de
imágenes. Se asume un desplazamiento pequeño entre dos imágenes consecutivas. El
seguimiento esta basado en los gradientes de la imagen. Si es el desplazamiento de un punto
, esta expresión puede
de interes entre dos imágenes e
entonces
ser aproximada por:
,
(10)
solamente una región que rodea al punto de interes es utilizada para calcular su
desplazamiento. es calculada por minimización. Los puntos de interes son usualmente
detectados usando los valores característicos de la matriz de la derivada de segundo orden de
la imagen. Solo los elementos con valores característicos altos son consideradas como puntos
de interes [12].
5
RESULTADOS
La Figura 1 muestra como las velocidades calculadas decrecen cuando el dron se desplaza de
izquierda a derecha hasta llegar a su posición deseada. La rapidez
es mayor que la rapidez
lineal en los demas ejes y
debido a que las velocidades y
no estan desacopladas.
Figura 1. Velocidades calculadas cuando la traslación se realiza sobre el eje
La aplicación del control visual se llevó a cabo en un lugar cerrado y con suficiente iluminación
donde las corrientes de aire era pequeñas. La Figura 2 muestra las imagenes tomadas por el
UAV mientras realizaba el control visual desplazandose lateralmente hasta obtener la imagen
deseada (primera imagen).
Figura 2. Estabilización visual
6
CONCLUSIONES
El código funciona bien, pero, en algunos casos, el comportamiento del quadrotor no es el ideal
debido a las corrientes de aire, el cambio en la iluminación, la latencia generada por los
procesos de computación y al guardar imágenes, el desplazamiento del quadrotor en el modo
hovering y que la rapidez lineal entre .01 y .1 no son obedecidas correctamente por el AR Drone
2.0.
7
AGRADECIMIENTOS
Este trabajo de investigación fue desarrollado en la Universidad Autónoma de Tamaulipas, UAT
Reynosa Rodhe en colaboración con la Université de Picardie Jules Verne de Amiens, Francia.
REFERENCIAS
[1] Corke P. Robotics, Vision and Control. 1st ed. Berlin: Springer-Vertag 2011.
[2] Pascual Campoy. Campoy P, Mondragón F, Iván O. et al. Visual Servoing for UAVs. InTech,
Rijeka Croatia 2010.
[3] ROS (Robot Operating System) provides libraries and tools to help software developers
create robot applications. Avalible at: http://wiki.ros.org/es (Accesed on: August 21, 2015)
[4] Parrot Wi-Fi quadricopter. Augmented Reality games on iPhone, iPod touch and iPad &
Android. Avalible at: http://ardrone2.parrot.com/ (Accesed on: August 21, 2015)
[5] ROS driver for Parrot AR-Drone 1.0 and 2.0 quadrocopters. Avalible at:
https://github.com/AutonomyLab/ardrone_autonomy (Accesed on: August 21, 2015)
[6] Pomares J, Gutierrez R, López M, et al. Seguimiento de trayectorias 3D mediante el Control
Visual Basado en Imagen. Universidad de Alicante. Alicante, España.
[7] Chaumette F, Hutchinson S. Visual Servo Control Part1: Basic Approaches. IEEE Robotics &
Automation Magazine. France 2006.
[8] Feddema J, Mitchell O. Vision-guided servoing with featurebased trajectory generation.”
IEEE Trans. Robot. Automat. 1989.
[9] Weiss L, Sanderson A, Neuman C. Dynamic sensor-based control of robots with visual
feedback. IEEE J. Robot. Automat. 1987.
[10] Michel H, Rives P. Singularities in the determination of the situation of a robot effector
from the perspective view of three points. INRIA Research Report, Tech. 1993.
[11] Fischler M, Bolles R. Random sample consensus: A paradigm for model fitting with
applications to image analysis and automated cartography. Communicat. ACM. 1981.
[12] Chaumette F, Marchand E, Melchior N, et al. Image manipulation and processing. ViSP
tutorial, Lagadic project 2012.