Está en la página 1de 5

Robtica

Profesor Fernando Jimnez


18/06/14


Resumen Disear el controlador de un Quadcopter es un
problema retador debido a que no es para nada trivial su
modelamiento, ya que para esto se deben tener en cuenta
muchos factores que tienen un papel importante a la hora
de modelar un drone. En este informe se dise un
controlador por lgica difusa para un Quadcopter, por
medio de un modelo desarrollado y basado de otros
modelos encontrados en la web, as como tambin se
estudi la implementacin e instrumentacin que requiere
el drone para cumplir con un objetivo especfico, recoger
pelotas de tenis.

ndice de Trminos Control difuso, Masa, Inercia, Empuje,
Cmara, Procesamiento de imgenes, Simulacin, Matlab.
I. INTRODUCCIN
Este documento contiene la metodologa llevada a cabo
para la realizacin del proyecto libre del curso de robtica
de la universidad de los Andes. Dividiendo el proyecto en 3
reas fundamentales como el modelaje, deteccin y la
inteligencia aplicada se pudo llegar a avanzar gran parte del
proyecto, quedando pendiente la implementacin como tal
en un DRONE real. Sin embargo se lograron simular las
posibles operaciones que tendra el DRONE teniendo como
implementacin una simulacin que actuaba de una u otra
forma previamente definida de acuerdo a los parmetros de
entrada, todo esto entiempo real.
II. MODELAJE Y CONTROL

Para empezar el modelamiento de este sistema hay que
entender la dinmica del sistema en el espacio. Para este
caso es importante tener en cuenta que el sistema tiene
seis grados de libertad. Tres grados corresponden a los
ngulos de inclinacin del sistema (, , ) y los otros tres
corresponden a las tres componentes espaciales (x, y, z).

A. Movimiento del centro de masa

Para facilitar la dinmica del sistema se quiere conocer
cmo se mueve el centro de masa en el sistema inercial de
las coordenadas espaciales. Esto se resuelve a partir de las
ecuaciones de newton. Se debe considerar cada una de las
fuerzas que actan sobre el sistema. En este caso existen
cuatro fuerzas que afectan el sistema. En general:

= +

+(, , )



La primera fuerza es la fuerza de la gravedad, la siguiente es
la fuerza de perturbaciones del sistema, la siguiente es el
equivalente del empuje de los motores. La fuerza debe
multiplicarse por una matriz de rotacin para conocer cul
es el empuje equivalente en las coordenadas espaciales.
Finalmente se tiene en cuenta la fuerza de friccin.

El empuje se describe de una manera sencilla mediante la
siguiente ecuacin:

=
0
0

4
=1

Donde

es la fuerza de cada motor y k es una constante de


proporcionalidad. En general esta fuerza esta descrita por
el cuadrado de la velocidad angular de las hlices.

B. Movimiento slido rgido

El siguiente conjunto de ecuaciones describen el
movimiento del cuerpo en coordenadas angulares. Por lo
que es importante tener en cuenta las propiedades de un
slido rgido. En general, el factor de inercia que
normalmente esta descrito por el tensor de inercia del
slido, se puede reducir a tres valores nicamente si se
tiene en cuenta solo el movimiento del centro de masa como
se hizo en la anterior seccin, por lo que solo tendremos tres
componentes en el tensor de inercia.

= [

0 0
0

0
0 0

]

Las ecuaciones no siguen las ecuaciones normales que
seguira cualquier slido, ya que este sistema se acelera y
por este motivo este sistema no est en un sistema inercial,
por lo que se tiene que usar ecuaciones de un marco no
inercial que estn descritas por:

=

+ = +
Jorge Elicer Malo Rojas, Andrs Villamil, Viviana Estupian, Camila Lpez
je.malo2858@uniandes.edu.co, am.villamil1467@uniandes.edu.co, v.estupinan452@uniandes.edu.co,
v.estupinan452@uniandes.edu.co.
Departamento de ingeniera elctrica y electrnica





DRONE recogedor de pelotas de tenis (Pickabot)



2

Donde es el torque y es la velocidad angular del sistema.
Lo nico que faltara definir son los tres torques que del
sistema. Estos van estar relacionados por pares de motores
opuestos y la numeracin ser de manera que dos motores
opuestos no son consecutivos.

= [
1

3
]

= [
2

4
]

= [
1

2
+
3

4
]

De esta manera se obtiene seis ecuaciones diferenciales que
pueden ser solucionadas numricamente y donde se
pueden cambiar las fuerzas en el tiempo. El cdigo scr_rk
tiene el modelo planteado para realizar la simulacin y en
este cdigo la letra i representa la velocidad angular al
cuadrado de los motores. Solo se debe correr este cdigo
para ver como es el comportamiento del modelo (este
cdigo ya tiene incluido el control).

C. Control Difusivo

Para realizar el control sobre los seis grados de libertad del
sistema se plante un sistema de lgica difusiva basado en
el esquema utilizado en [1]. En este sistema se propone el
control de cuatro variables de estado y en dos de estas se
hace un doble lazo de control para controlar las dos
variables restantes.


Figura 1. Diagrama de bloques control difuso.
Lo que se logra ac es que a partir de un error en x o y se
logra obtener un ngulo deseado. A partir de este ngulo
deseado el controlador busca llegar a ese ngulo, teniendo
ese ngulo se logra un movimiento que corrige el error en
la posicin obteniendo un nuevo ngulo deseado y de esta
manera, se corrige el error. En caso de no tener error en x o
y el ngulo deseado seria cero y de esta manera se logra
mantener el robot en una posicin estable.

En la simulacin scr_rk se busca que el robot parta de [0, 0,
10] y llegue a [0, 1, 11].

En la figura 2 se puede observar la altura del robot en la
simulacin y adems se puede notar el buen
funcionamiento del control.

Por otro lado, en la figura 3, se puede observar que la
posicin no llega a ser la deseada aunque si llega a
establecerse en una posicin constante. Esto indica que las
constantes del controlador deberan ser modificadas para
lograr un mejor rendimiento.


Figura 2. Grfica Altura Vs. Tiempo


Figura 3. Grfica Posicin Vs. Tiempo
El cdigo tambin muestra la simulacin en vivo de la
trayectoria del robot y como se mueve en el espacio. Como
se puede observar en la figura 4.



3

Figura 4. Simulacin trayectoria Quadcopter
Se puede decir que esta estrategia de control funciona
bastante bien para adaptarse a este control no lineal
multivariable, aunque sera interesante observar los efectos
de otras estrategias de control.
III. SISTEMA DE DETECCIN

Para que el DRONE sea capaz de detectar una pelota de
tenis, se propone implementar cdigos en Matlab, bajo el
toolbox de computer vision con el cual se pueden realizar
innumerables acciones referentes a deteccin de
movimiento y seguimiento de objetos. Sin embargo, realizar
tales procesos requiere una gran capacidad computacional,
lo que causa que la etapa de procesamiento sea un poco
lenta en comparacin a la velocidad requerida por el
proyecto. Teniendo esto en cuenta, se procedi a
desarrollar un cdigo enfocado solo en el rea de inters,
con el fin de ahorrar tiempo de procesamiento a tal punto
que la implementacin sea viable para con los
requerimientos del proyecto.

En el script denominado prueba1 se encuentran
consignadas las lneas de cdigos enfocadas para este
proyecto. Solo se hizo uso del toolbox image procesing
para obtener las libreras con los comandos que se
requieren para cumplir los requisitos previamente
establecidos.

Dentro de este script, se llama una funcin, la cual es la
encargada de realizar todo el procesamiento de imgenes.
Esta funcin recibe 2 variables de entradas, las cuales son
matrices tipo uint8, es decir, un arreglo de 3 matrices para
representar una imagen rgb, cada matriz corresponde a los
componentes red, Green y blue de una imagen. Una
variable es la imagen inicial y la otra es la imagen
desplazada en el tiempo. Todo esto se hace por medio de
cmaras web (el cual es un formato soportado por la cmara
del DJI phantom), la cual est capturando el entorno en
forma de video, para que sea procesado en forma de matriz
en Matlab. En la figura 5 y 6 podemos notar un ejemplo de
las entradas a la funcin implementada.


Figura 5. Imagen inicial.



Figura 6. Imagen final
La idea bsica, es detectar la pelota y separarla de cualquier
entorno para proceder a tomar la decisin sobre qu accin
de control realizar. Para realizar esto se aprovecha la
componente Green de la imagen, es decir, de las tres
matrices RGB existentes para estas imgenes, se toma la
segunda, la cual contiene el valor que aporta cada pixel
haca el color primario verde. Para esto, se realiza simple
manipulacin d matrices en Matlab. Y se obtiene lo
siguiente:



4

Figura 7.Componente green de la figura 5

Figura 8. Componente green de la figura 6
Como es de esperarse, el resultado es una matriz cuyos
valores mximos estarn ubicados en donde haya un color
ms verde, en este caso, en la pelota de tenis. Teniendo esto
en cuenta se procede a realizar la binarizacin de las
imgenes para posteriormente procesarlas.

La binarizacin se realiza con el fin de facilitar el
procesamiento de imgenes, esto es debido que una matriz
binaria es aquella matriz que solo tiene como valores 1 y
0, lo cual si lo traducimos en una imagen, sera una imagen
en blanco y negro, donde un pixel de color blanco hace
referencia a un elemento no nulo (es decir, 1) de la matriz
de la imagen, y un pixel de color negro hace referencia a un
elemento nulo de la matriz estudiada. Teniendo esto en
cuenta y que adems la binarizacin se puede realizar
definiendo un umbral, con el fin de separar la bola del
entorno se procede a convertir en pixel blanco cualquier
valor mayor a la cantidad suficiente para quedarse con la
pelota en la imagen y eliminar todo lo dems. En las figuras
9 y 10 se encuentran los resultados de la binarizacin.


Figura 9. Imagen binarizada de la figura 7.

Figura 10. Imagen binarizada de la figura 8.
Como se puede detallar en las figuras anteriores, an
existen filtraciones de elementos que pueden aportar
componentes verdes elevados haca una imagen. Ahora se
procede a un proceso de filtrado y limpieza para separar la
pelota del entorno de una manera limpia y relativamente
sencilla.
Las figuras 9 y 10 se restan, para saber las diferencias
existentes entre una imagen y la otra y as poder tomar
acciones de control. En el video denominado prueba
deteccin adjunto a los archivos se encuentra con mas
detalle la explicacin del cdigo.
IV. SIMULACIN DEL SISTEMA DE INTELIGENCIA.

Para simular las acciones de inteligencia que se planearon
para este proyecto, se hizo uso de un script de simulacin
de un quadrotor implemento por el doctor Muhannad A.R.
Al-Omari

Bsicamente se definieron 4 movimientos:

Bsqueda de la pelota: El robot realiza un movimiento de
zigzag sobre una zona hasta que encuentra una pelota.

Centrar la pelota: El robot se mueve en pequeos pasos
hacia la pelota hasta que esta queda centrada.



5
Recoger la pelota: El robot recoge la pelota y desciende
hasta una altura determinada.

Dejar la pelota: El robot deja la pelota en el punto de inicio
y se dispone a buscar la siguiente.

El nmero de pelotas que el drone busca es determinado
por el usuario, una vez se han recogido todas las pelotas este
se queda en su posicin inicial.

Para la implementacin se us el tratamiento de imagen
desarrollado para este proyecto. La deteccin de la pelota
se realiza con una sumatoria sobre toda la imagen. Luego se
realiza el movimiento de centrado a partir de la posicin
dada por la imagen tratada.

El muestreo de las imgenes se realiz de manera que
concordara con el movimiento del quadrptero, y que no
alentara este movimiento.

REFERENCIAS
[1] S. A. Raza y W. Gueaieb, Intelligent Flight Control of an
Autonomous Quadrotor, University of Ottawa, Ottawa.

[2] Taylor, Classical Mechanics.

[3] http://www2.fisica.unlp.edu.ar/materias/procesamiento_de
_imagenes/Clase5_imagenes_2011.pdf

[4] http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a
_sequence_of_files.3F