instituto polit ecnico nacional...instituto polit ecnico nacional centro de innovaci on y desarrollo...
TRANSCRIPT
Instituto Politecnico NacionalCentro de innovacion y Desarrollo
Tecnologico en Computo
T E S I S
Diseno de un Sistema de TeleoperacionHaptica para un Cuadrotor
Que para obtener el grado de
Maestrıa en Tecnologıa de Computo
presenta
Marco Antonio Butron Castaneda
Directores de Tesis
Dr. Gabriel Sepulveda Cervantes
Dr. Edgar Alfredo Portilla Flores
Mexico, D.F., enero de 2014
This paper is dedicated to all of us who believe
in the wonders of human ingenuity and robot servitude
for the betterment of our life
Shimon Nof
Resumen
El presente trabajo se trata del diseno de un sistema de teleoperacion haptica para
un cuadrotor, a lo largo de este se hablara de las plataformas experimentales que
se utilizaron (dispositivo haptico, cuadrotor, sistema de computo) y los argoritmos
y programas empleados para su utilizacion en conjunto. Cabe mencionar que el
trabajo es de integracion de tecnologıas, dicha integracion se logra mediante el
analisis, entendimiento y programacion de los sistemas utilizados. La programacion
de los subsistemas, tales como el dispositivo haptico, el cuadrotor y la interfaz de
usuario, los cuales fueron realizados de manera modular.
Abstract
This paper presents the design of a haptic tepeoperacion system for a quadrotor,
along this will be discussed experimental platforms that were used (haptic device,
cuadrotor, computer system) and the argorithms and programs used for the inte-
gration. It should be mentioned that this work is about integration of technologies,
such integration is achieved through analysis, understanding and programming of
systems. The programming of the subsystems, such as the haptic device, the cua-
drotor and the user interface, were programmed in a modular way.
iv
Indice General
Resumen IV
Abstract IV
Indice de Figuras VII
Indice de Tablas IX
1. Antecedentes 1
1.1. Robotica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Robotica Movil . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1.1. UAVs . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Teleoperacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1. Elementos y Arquitectura . . . . . . . . . . . . . . . . . . . 5
1.2.2. Arquitectura de Control . . . . . . . . . . . . . . . . . . . . 6
1.2.3. Dispositivos de Control y Retroalimentacion . . . . . . . . . 8
1.2.3.1. Dispositivos de Control . . . . . . . . . . . . . . . 9
1.2.3.2. Caracterısticas de los Dispositivos de Control . . . 12
1.2.3.3. Dispositivos de Retroalimentacion . . . . . . . . . . 13
1.2.4. Caracterısticas de los dispositivos de Retroalimentacion . . . 14
1.2.5. Factores Humanos . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.5.1. Caracterısticas Dinamicas del Operador . . . . . . 15
1.2.6. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.6.1. Control Unilateral . . . . . . . . . . . . . . . . . . 18
1.2.6.2. Control independiente y control integrado . . . . . 18
1.2.6.3. Control en posicion y velocidad . . . . . . . . . . . 19
1.2.6.4. Control por reflexion de fuerzas . . . . . . . . . . . 19
1.3. Haptica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.1. Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.2. Representacion Haptica . . . . . . . . . . . . . . . . . . . . 22
1.3.2.1. Tipos de Representacion Haptica . . . . . . . . . . 22
1.4. LabView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2. Estado del Arte 26
v
Indice vi
2.1. A Passivity-Based Decentralized Approach for the Bilateral Tele-operation of a Group of UAVs with Switching Topology [18] . . . . 27
2.2. Experiments of Passivity-Based Bilateral Aerial Teleoperation of aGroup of UAVs with Decentralized Velocity Synchronization [19] . 28
2.3. Haptic Teleoperation of Multiple Unmanned Aerial Vehicles overthe Internet [20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4. An Evaluation of Haptic Cues on the Tele-Operator’s PerceptualAwareness of Multiple UAVs’ Environments [21] . . . . . . . . . . 30
2.5. Shared Control; Balancing Autonomy and Human Assistance witha Group of Quadrotor UAVs [22] . . . . . . . . . . . . . . . . . . . 31
2.6. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.7. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.8. Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3. Cuadrotor, Modelado Dinamico y Simulacion 35
3.1. Cuadrotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2. Modelado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3. Simulacion del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4. La plataforma AR.Drone de Parrot . . . . . . . . . . . . . . . . . . 41
3.4.1. El Vehıculo Aereo . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.1.1. Electronica de abordo . . . . . . . . . . . . . . . . 42
3.4.2. Arquitectura de control . . . . . . . . . . . . . . . . . . . . . 44
3.4.3. Experimento con Cuadrotor . . . . . . . . . . . . . . . . . . 46
4. Dispositivo Haptico 49
4.1. Descripcion y Funcionamiento del Dispositivo . . . . . . . . . . . . 49
4.1.1. Interfaces Hapticas . . . . . . . . . . . . . . . . . . . . . . . 51
4.2. Control del Dispositivo Haptico . . . . . . . . . . . . . . . . . . . . 54
4.2.1. Experimento con Dispositivo Haptico . . . . . . . . . . . . . 55
5. Plataforma Experimental 59
5.1. Componentes del Sistema . . . . . . . . . . . . . . . . . . . . . . . 59
5.2. Lazos: Cinestesico, Control, Servo y Visual . . . . . . . . . . . . . . 60
5.2.1. Flujo de Informacion . . . . . . . . . . . . . . . . . . . . . . 62
5.3. Programacion del Sistema . . . . . . . . . . . . . . . . . . . . . . . 64
5.4. Interfaz de Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6. Resultados Obtenidos 73
6.1. Publicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2. Trabajo a Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Bibliografıa y Referencias 79
Indice de Figuras
1.1. Robot industrial KUKA para trabajos de presicion, [2] . . . . . . . . . 2
1.2. Primeros globos considerados como ancestros de los UAVs, [6] . . . . . . 4
1.3. Elementos basicos de un sistema de teleoperacion, [7] . . . . . . . . . . 6
1.4. Niveles de modo de control remoto, [7] . . . . . . . . . . . . . . . . . . 7
1.5. Arquitectura generica de un sistema de teleoperacion, [7] . . . . . . . . 9
1.6. Diversos dispositivos hapticos, [7] . . . . . . . . . . . . . . . . . . . . 11
1.7. PHANToM R© Omni R©, [7] . . . . . . . . . . . . . . . . . . . . . . . . 11
1.8. Guante sensorizado, [10] . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.9. El operador como controlador del sistema de teleoperacion, [7] . . . . . 15
1.10. Esquema general de control unilateral, [7] . . . . . . . . . . . . . . . . 19
1.11. Diagrama de bloques y de usuario en LabView . . . . . . . . . . . . . 25
2.1. Elementos del sistema del artıculo, [19], a) Sistema real, 4 cuadrotores,
el lider es teleoperado, b) Mando de retroalimentacion haptica para el
usuario, c) Sistema virtual . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2. UAVs en ambiente de simulacion 3D y mando haptico, [20] . . . . . . . 30
2.3. Experimento, Interfaz grafica de Usuario o GUI, por sus siglas en ingles
y mando haptico Omega, [21] . . . . . . . . . . . . . . . . . . . . . . 31
2.4. Arquitectura general del sistema, visto para un numero n de UAVs. [22] 33
3.6. Comportamiento del centro de masa del cuadrotor con respecto al marco
coordenado, se induce un momento en el eje de giro x. . . . . . . . . . . 40
3.7. Comportamiento del centro de masa del cuadrotor con respecto al marco
coordenado, se inducen dos momentos en el eje x y en y. . . . . . . . . 40
3.8. Comportamiento del centro de masa del cuadrotor con respecto al marco
coordenado, se inducen dos momentos en el eje y y en z. . . . . . . . . 41
4.1. Dispositivo haptico Falcon R© Novint R© . . . . . . . . . . . . . . . . . . 49
4.2. Principales componentes de una interfaz haptica y sus interrelaciones, [33] 53
4.3. Diagrama de flujo Maestro . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4. Cırculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.5. Diagrama de flujo Esclavo . . . . . . . . . . . . . . . . . . . . . . . . 57
5.1. Elementos basicos del sistema . . . . . . . . . . . . . . . . . . . . . . 60
5.2. Lazos internos del sistema . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3. Diagrama de flujo general . . . . . . . . . . . . . . . . . . . . . . . . 63
5.4. Diagrama de flujo, accion del dispositivo haptico . . . . . . . . . . . . 65
vii
Indice de Figuras viii
5.5. Diagrama de control del AR.Drone [35] . . . . . . . . . . . . . . . . . 65
5.6. Diagrama de flujo, datos del Cuadrotor . . . . . . . . . . . . . . . . . 66
5.7. Inrterfaz de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.8. Programacion grafica del resorte en LabView . . . . . . . . . . . . . . 70
5.9. Implementacion de la retroalimentacion haptica en LabView . . . . . . 71
5.10. Bloque completo del programa . . . . . . . . . . . . . . . . . . . . . . 72
Indice de Tablas
1.1. Caracterısticas de los mecano-receptores cutaneos . . . . . . . . . . . . 17
1.2. Caracterısticas necesarias de un sistema teleoperado derivadas de las
caracterısticas senso-motrices de los seres humanos, [7] . . . . . . . . . 17
3.1. Pilotaje del cuadrotor mediante el teclado . . . . . . . . . . . . . . . . 47
4.1. Caracterısticas del dispositivo Falcon R© . . . . . . . . . . . . . . . . . . 50
4.2. Comparacion del Falcon R© con dispositivos de uso/caracterısticas similares 51
ix
Capıtulo 1
Antecedentes
1.1. Robotica
A lo largo del la historia el hombre ha desarrollado herramientas que lo ayuden
a desempenar tareas que de otra forma le serıan complicadas, laboriosas o peli-
grosas. Cuando el hombre comenzo a utilizar herramientas, estas no eran mas que
palos y piedras que les permitıan cazar o recolectar frutos de algun arbol. Despues
de la revolucion indistrial hubo un auge en el desarrollo de tecnologıa, como siem-
pre, las guerras han estado directamente relacionadas. Desde el Unimate, primer
robot1 industrial, que fue instalado en el area de fundicion de la empresa General
Motors, esto en el ano de 1961, el desarrollo de la robotica no se ha detenido y
ha ido creciendo a pasos agigantados. En sus primeros anos los robots no hacıan
mas que tareas repetitivas o peligrosas en las lıneas de ensamblaje, principalmente
en empresas manufactureras que tenıan la capacidad de comprar un artilugio de
estos. En la actualidad podemos encontrar robot industriales muy complejos que
desarrollan casi el total de las tareas que los humanos desempenaban en las lıneas
de montaje y ensamblaje, esto, principalmente puede ser visto en el area automo-
triz donde el personal humano solamente se dedica a tareas sencillas y casi todas
ellas de supervision o medicion. Un ejemplo de estos robots puede observarse en
la figura 1.1 el cual tiene una presicion y repetibilidad adecuadas para la indus-
tria, ademas puede ocuparse para trabajos de corte laser o maquinado de piezas,
1Robot, palabra acunada por el checo Karel Capek en su obra dramatica ((Rossum’s UniversalRobots)), tomada de la palabra checa ((robota)) que significa esclavo o trabajo forzado.
1
Antecedentes 2
esta dotado de 6 GDL2 de los cuales se ocupan 3 para la posicion del robot y 3
para la orientacion del efector final.
Figura 1.1: Robot industrial KUKA para trabajos de presicion, [2]
Una de las caracterısticas principales de los robots industriales es que son de base
fija o por llamarlo de otra manera, robot de base inercial, este tipo de robots se
caracterizan por tener un marco coordenado base fijo, a partir del cual se realizan
todos los calculos cinematicos y dinamicos para el desempeno de diferentes tareas
como pueden ser: seguimiento de trayectorias, trabajos de carga, por mencionar
algunos. Pensando en trabajos que requieren la precision y repetibilidad de un
robot, pero que no son dentro de una industria formal o dentro de un espacio de
trabajo conocido, nacio la robotica movil.
1.1.1. Robotica Movil
Despues de que se estableciera formalmente la robotica en la industria durante
los anos setentas y ochentas otras formas de robootica surgieron, estas nuevas
((formas)) daban cabida a necesidades no antes cubiertas por los investigadores en
el area.
Lunokods y rovers fueron los primeros robots moviles que se crearon, especıfica-
mente para exploracion espacial, pero dieron pie a que se desarrollaran trabajos
2Grados de libertad, se dice que un objeto cuenta con n grados de libertad, si su configuracionpuede ser expresada de forma mınima por n parametros, [1]
Antecedentes 3
(a) Robot TALON para uso militar, [3] (b) Roomba, robot para aseo, [4]
tan rudimentarios o complejos como puedan imaginarse. Actualmente podemos
encontrar robots para servicio humano, robots caseros a precios asequibles, y son
robots que desempenan tareas sencillas como barrer o aspirar hasta robots mas
complejos como son los sistemas de telepresencia, robots militares todo terreno
con pacidades de comunicacion e identificacion de paquetes, enemigos, etc. (este
ultimo se muestra en la figura 1.3) y los robots moviles aereos en todas sus formas.
Las principales caracterısticas de los robots moviles o de base no inercial, es pre-
cisamente eso, que no tienen una base fija y pueden desplazarse de un ambiente
a otro siempre y cuando sus mecanismos de movimiento se lo permitan, es de-
cir, pueden ser utilizados para la misma o diferentes tareas en diversos espacios o
ambientes, desde laboratorios con caracterısticas conocidas hasta ambientes hos-
tiles y desconocidos en los cuales el humano no puede ingresar facilmente. Con el
desarrollo de la robotica movil vino consigo el desarrollo de robots aereos y con
esto lo que llamamos UAVs (Unmaned Aerial Vehicules por sus siglas en ingles) o
vehıculos aereos no tripulados.
1.1.1.1. UAVs
En su comienzo, los UAVs no fueron mas que globos de aire caliente que se usaban
para arrojar bombas, tal y como sucedio el 22 de agosto de 1849 cuando Austria
atacaba Venecia [5]. Posteriormente, muy posteriormente de hecho, los UAVs
empezaron a ser utilizados, principalmente en actos belicos, despues de la primera
guerra mundial se comenzaron a disenar y fabricar lo que serıan los predecesores de
Antecedentes 4
Figura 1.2: Primeros globos considerados como ancestros de los UAVs, [6]
los que hoy son ’”misiles crucero’”, en ese entonces llamados ’”torpedos aereos’”,
fueron estos los primeros vehıculos aereos no tripulados [6], bombas autodirigidas
1.2.
Los UAVs son en si vehıculos que no llevan personas a bordo y no todos los UAVs
pueden ser considerados robots, ya que para que sean considerados de esta manera,
se requiere que estos tengan cierta autonomıa y que no sean pilotados de manera
remota con un control para el usuario. Retomando un poco la terminologıa de los
robots industriales, se puede decir que aquellos UAVs que tengan un sistema de
control a bordo, el cual pueda autopilotarlos y recrear alguna trayectoria o tarea
pueden ser considerados como robots.
1.2. Teleoperacion
A mediados del siglo pasado se vio la necesidad de manipular materiales en am-
bientes potencialmente peligrosos o con propiedades radioactivas, fue entonces
cuando se comenzaron a desarrollar dispositivos mas complejos para manipular a
distancia.
Estos desarrollos desembocaron finalmente en lo que se conoce como sistemas
de teleoperacion maestro-esclavo, en los que un manipulador denominado esclavo
Antecedentes 5
reproduce fielmente los movimientos de un dispositivo o manipulador maestro,
controlado a su vez manualmente por un operador humano. Se puede decir que es
entonces cuando la teleoperacion cobra importancia como tecnologıa.
De forma general, la teleoperacion comprende todas aquellas tecnologıas que per-
miten a un ser humano operar a distancia, con aplicacion especıfica a la realizacion
de tareas imprescindibles probablemente no repetitivas en ambientes hostiles y/o
inaccesibles. Tambien como teleoperacion se entiende la accion propiamente dicha
de operar a distancia.
1.2.1. Elementos y Arquitectura
A continuacion se describe la forma mas habitual de trabajar con un sistema basico
de teleoperacion, pero aunque es la mas general hay que tener en cuenta que no
es la unica posible. En un sistema de teleoperacion es necesario contar con un
operador humano, que ha de estar siempre presente durante la realizacion de la
tarea; pero a no ser que se este teleoperando un robot, es el propio operador el
que cierra en todo momento el bucle de control mas externo.
Primero, el operador maneja un manipulador maestro o dispositivo de control,
para indicar los movimientos y demas acciones del elemento esclavo que realiza el
trabajo en zona remota. Como esta zona suele ser peligrosa o estar a una consi-
derable distancia es necesario contar con algun tipo de interfaz que proporcione
algo de telepresencia al operador. Lo mas basico es contar con una interfaz visual
que le permita ver los objetos del entorno y como se mueve el sistema teleoperado.
Para aumentar mas la telepresencia, se puede contar con un sistema para la re-
alimentacion sobre el operador de las fuerzas de reaccion que siente el dispositivo
teleoperado en su interaccion con el entorno. Para ello se debera de contar con los
respectivos sensores y actuadores sobre el dispositivo maestro-esclavo.
Tanto para la trasmision de las senales del maestro hacia el esclavo y viceversa son
necesarios unos buenos canales de comunicacion adaptados a las necesidades del
ancho de banda y a los requerimientos propios del entorno. Generalmente, en los
sistemas mas avanzados se cuenta con una computadora encargada de procesar
todo el flujo de senales y de adaptarlas o utilizarlas para otros fines. De forma
general, un sistema teleoperado consta de los siguientes elementos, que tambien se
muestran en la figura 1.3:
Antecedentes 6
Figura 1.3: Elementos basicos de un sistema de teleoperacion, [7]
Operador o teleoperador
Dispositivo teleoperado
Dispositivos de control
Dispositivos de realimentacion
Control y canales de comunicacion
Sensores
1.2.2. Arquitectura de Control
El grado y modo de intervencion en la realizacion de la tarea con un sistema
teleoperado puede variar segun las circunstancias y necesidades. En la figura 1.4
se muestran diversos grados de control, desde un control totalmente manual a
un control totalmente automatico. Entre estos dos extremos se tiene un control
manual en el que las senales de control y realimentacion son procesadas por un
ordenador, para adecuarlas a las necesidades del dispositivo; en este esquema el
operador tiene control total del sistema y de la generacion de comandos.
Cuando ciertos bucles de control se cierran a traves de un ordenador sin que lle-
guen al operador, se habla de control supervisado, es lo que se representa en el
esquema tercero y cuarto de la figura 1.4, vista de izquierda a derecha. En el
tercer esquema el operador todavıa mantiene un cierto grado de control y gene-
ra comandos de forma continua, mientras el ordenador se encarga de adaptar o
mejorar los comandos manuales o cerrar bucles de control complementarios.
Antecedentes 7
Figura 1.4: Niveles de modo de control remoto, [7]
Dependiendo de como se comparta temporalmente la realizacion de las tareas entre
el operador y el sistema de control se tienen dos opciones:
1. Control compartido: de manera simultanea ambos comparten la ejecucion de
la tarea.
2. Control negociado: computador y operador trabajan de forma alternativa.
Finalmente, en el cuarto esquema la mayor parte del control la realiza el compu-
tador, dejando al operador encargarse de comandos de alto nivel de manera inter-
mitente. Este tipo de control es util para situaciones en las que existe un retardo
en las comunicaciones entre la zona local y la zona remota.
La figura 1.5 muestra una arquitectura de un sistema de teleoperacion, con los blo-
ques de procesamiento y los canales de comunicacion. A continuacion se describe
la funcionalidad de cada uno de los bloques de esta arquitectura:
Dispositivo de control: dispositivo que controla el operador, con el que se ge-
neran los comandos hacia el dispositivo teleoperado.
Pre-procesamiento de comandos: representa el procesamiento de las senales
generadas por los dispositivos de la zona local.
Antecedentes 8
Lazo de control autonomo: depende del grado de autonomıa, modifica o adap-
ta los comandos incluso genera ordenes nuevas.
Sistema teleoperado: dispositivo que esta bajo el control del operador a traves
del sistema de teleoperacion. Contiene sensores que enviaran distintos tipos
de medidas a la zona local.
Pre procesamiento de realimentacion: representa el procesamiento de las senales
realimentadas que vienen de la zona remota.
Combinacion y distribucion de la informacion: se concentra toda la infor-
macion proveniente de la zona remota, proporciona informacion util para la
posible realimentacion de fuerzas como una realimentacion visual.
Realimentacion visual basica: dispositivos de realimentacion de la informa-
cion visual (monitores).
Realimentacion visual aumentada: representa pantallas en las que se repre-
senta en forma de graficos informacion proveniente de la zona remota.
Simulador: puede tratarse de un simulador predictivo, util para prever el resul-
tado de los comandos en sistemas con retardos en la comunicacion, tambien
puede estar dotado de inteligencia y a partir de los comandos basicos crear
comandos finales a trasmitir en la zona remota.
Realimentacion haptica: sistema de realimentacion de fuerzas directamente so-
bre el brazo o la mano del operador, la generacion de la fuerza debe estar
basada directamente en la fuerza de contacto medida en la zona remota, o
incluso basada en un modelo existente en el simulador.
1.2.3. Dispositivos de Control y Retroalimentacion
Dos elementos importantes de un sistema de teleoperacion son los dispositivos de
control y realimentacion. Los primeros son usados por el operador para generar
comandos de movimiento o control para el sistema, y los segundos tienen como
objetivo proporcionar al operador informacion de lo que esta ocurriendo en la zona
remota.
Antecedentes 9
Figura 1.5: Arquitectura generica de un sistema de teleoperacion, [7]
Existen en el mercado una gran variedad de ambos dispositivos, muchos de ellos
recien salidos de los laboratorios de investigacion, pues se trata de un mercado en
constante evolucion.
1.2.3.1. Dispositivos de Control
Existe una gran variedad de dispositivos de control aplicables a la teleoperacion,
algunos han sido disenados especıficamente para este ambito, mientras otros son
de interaccion con las computadoras o provienen del ambito de la realidad virtual
o la industria de juegos para computadora, un ejemplo de estos son el Falcon de la
empresa Novint y el Sidewinder de Microsoft, ambos fabricados en primer plano
como dispositivos de control para videojuegos.
En funcion de los GDL que el dispositivo permite comandar se puede clasificarlos
en dispositivos 2D (comandos en un plano) y dispositivos 3D (comandos en el
espacio) que pueden ser unicamente de 3 GDL para posicionamiento o tambien
de 6 GDL para orientacion, siendo los dispositivos 3D son los mas habituales en
teleoperacion por esta misma razon.
Antecedentes 10
(a) FalconR© de NovintR© con agarradera enforma de pistola, [8]
(b) SidewinderR© de MicrosoftR©,[9]
Algunos de estos dispositivos cuentan con una palanca o agarradera capaces de
medir desplazamientos y generar comandos en tres o mas GDL, se distinguen los
siguientes tipos:
Cartesianos: se componen de una palanca de mando sobre un sistema de ejes
lineales colocados en una configuracion ortogonal. Sus principales ventajas
son el aumento del volumen de trabajo y la mayor movilidad del usuario.
Por otro lado pueden llegar a ser muy voluminosos. (ver figura 1.6c)
Paralelos: estan basados en una cadena cinematica paralela, compuesta por
una base fija y una plataforma movil conectadas por seis articulaciones li-
neales dispuestas en paralelo (ver figura 1.6b). La palanca de mandos esta de
forma tal que permite movimientos de 6 GDL, tiene buena precision de po-
sicionamiento, gran robustez y buena caracterıstica dinamica, por otro lado
el control cinematico es mas complicado y para grandes desplazamientos la
estructura puede ser demasiado voluminosa.
Fuerza/par: estos dispositivos cuentan en la palanca o agarradera de un
sensor fuerza/par capaz de medir la fuerza y el par que el operador ejerce
sobre ella. Presenta el problema de no ser intuitivo para algunos movimientos
y la precision de los comandos por parte del operador no es buena. (ver
figura 1.6c)
Otros tipos de dispositivos son denominados como controles articulados, en este
grupo se incluyen los dispositivos que permiten generar comandos en 3 o mas GDL
y estan compuestos por una cadena cinematica articulada en serie. Son siempre
disenos especıficos y buscan aumentar la teleoperacion.
Antecedentes 11
a)SpaceMouse b)Ejemplo de dispositivo paralelo c)PERForce
Figura 1.6: Diversos dispositivos hapticos, [7]
Brazos maestros: similares a los manipuladores pasivos que el operador guıa
moviendo su extremo en forma de agarradera, pueden estar anclados al techo
o pared ası como sobre una mesa o el suelo. Son muy intuitivos para el opera-
dor, pues se mueven como si moviera el brazo, permiten realizar movimientos
de 6 GDL y en general presentan caracterısticas dinamicas deficientes.
Sondas maestras: mecanismos articulados en serie de dimensiones pequenas,
el operador agarra el extremo con los dedos y opera como si se tratase de un
lapiz o apuntador. Existen versiones de 3 y 6 GDL. Son tambien dispositivos
muy intuitivos, y mucho mas compactos que los brazos maestros, lo que les
permite tener un mayor rango dinamico, con un volumen medio de traba-
jo. Su principal inconveniente es el cansancio que representa su operacion.
(figura 1.7).
Exo-esqueletos: estructuras similares a los brazos maestros pero anclados
directamente al brazo del operador, de forma que reproducen directamente
sus movimientos.
Figura 1.7: PHANToM R© Omni R©, [7]
Antecedentes 12
Existen tambien otras tecnicas y dispositivos propios de otros campos, como reali-
dad virtual que pueden utilizarse como dispositivos de entrada. Los mas relevantes
son:
Guantes sensorizados: tambien llamados guantes de datos. Se trata de guan-
tes en los que se han colocado una serie de sensores que permiten captar el
movimiento y la posicion de cada uno de los dedos de la mano (figura 1.8).
Permiten manejar un gran numero de GDL, su aplicacion en teleoperacion
es limitada por su poca precision.
Figura 1.8: Guante sensorizado, [10]
Dispositivos de seguimiento corporal: dispositivos que permiten localizar en
el espacio los diversos miembros, e incluso el cuerpo entero. Hacen uso de
una gran cantidad de tecnologıas: optica, mecanica, magnetica o inercial.
1.2.3.2. Caracterısticas de los Dispositivos de Control
Las caracterısticas de los dispositivos de control de entrada de comandos de un
sistema determinan la utilidad del mismo, por tanto es interesante contar con una
serie de caracterısticas que permitan identificar las prestaciones de cada dispositivo
frente a otros.
Se dividen estas caracterısticas en 3: las funcionales, las de diseno y por ultimo las
de adecuacion para el uso. A continuacion se profundiza en las tres mencionadas.
Caracterısticas funcionales:
Modos de control: manera en que se generan los comandos y como esos
comando se relacionan con el movimiento del dispositivo remoto.
Manos requeridas: numero de manos necesarias para el control del disposi-
tivo.
Antecedentes 13
Precision y control fino: hace referencia a la precision del dispositivo y su
resolucion.
Carga de trabajo: se refiere a la atencion y necesidad de la aplicacion de los
diferentes sentidos para el uso del dispositivo.
Caracterısticas de diseno:
Ancho de banda: ancho de banda del bucle de control entre dispositivo de
control y el sistema teleoperado, es decir, la frecuencia a la que se muestrean
los comandos y se transmiten.
Volumen de operacion: volumen necesario para poder operar comodamente
el dispositivo de entrada.
Velocidades y aceleraciones maximas: velocidades y aceleraciones a los que
el operador puede mover el dispositivo.
Flexibilidades y errores estaticos: hace referencia a la flexibilidad mecanica,
servo control y a los posibles errores estaticos.
Acoplamiento cruzado: acoplamiento fısico durante la operacion entre dis-
tintos comandos de movimiento.
Efectos inerciales: la inercia aparente que el operador siente al mover el
dispositivo de entrada.
Caracterısticas de adecuacion para el uso:
Complejidad y fiabilidad.
Costo.
Seguridad.
1.2.3.3. Dispositivos de Retroalimentacion
Se entiende como dispositivos de realimentacion a todos aquellos dispositivos que
informan al operador sobre el desarrollo de la tarea. Los tipos de dispositivos estan
relacionados con el tipo de informacion que se quiere mostrar al operador: visual,
cinestesica, tactil o auditiva fundamentalmente. Dentro de los cuales encontramos:
Antecedentes 14
Monitores de video.
Pantallas de visualizacion tridimensional.
Cascos de visualizacion tridimensional.
Visualizadores transparentes.
Dispositivos de realimentacion tactil.
Dispositivos de realimentacion cinestesica o de fuerzas.
1.2.4. Caracterısticas de los dispositivos de Retroalimen-
tacion
Para que la informacion sea util al operador, no le confunda y le preste una imagen
fiel sobre lo que esta ocurriendo en la zona remota, es necesario prestar atencion
a una serie de caracterısticas. Estas basicamente mecanicas son explicadas acon-
tinuacion. Caracterısticas mecanicas:
Ancho de banda: ancho de banda de la informacion que se realimenta al
operador de forma mecanica.
Nivel de retroalimentacion: capacidad de generar fuerzas de mayor o menor
nivel sobre el operador. Dependiendo del sistema se requerira la reproduccion
exacta o escalada de la fuerza.
Retroalimentacion activa o pasiva: indica si la realimentacion sobre el ope-
rador implica una reaccion inmediata del mismo.
Ajuste: hace referencia a la versatilidad del dispositivo para adaptarse a
diversos usuarios.
Ergonomıa: postura del usuario.
Peso y tamano: peso y tamano del dispositivo de realimentacion, importante
en aquellos dispositivos portatiles.
Equilibrado: distribucion correcta del peso
Resistencia: capacidad de aguantar condiciones mecanicas adversas
Antecedentes 15
Mantenimiento y almacenamiento: tipo de mantenimiento necesario y capa-
cidad de almacenamiento y transporte cuando no esta en uso.
1.2.5. Factores Humanos
Una de las mayores diferencias de los sistemas de teleoperacion con respecto a
sistemas de funcionamiento automatico es la intervencion de un operador humano
en la realizacion del proceso. Esta intervencion se debe al hecho de requerir rea-
lizar tareas no predecibles o de gran complejidad, por lo que no tienen una facil
automatizacion, de esta forma se aprovecha la enorme capacidad de decision y
respuesta ante eventos externos que poseen los humanos.
La importancia del operador radica en que cierra el bucle de control del sistema
global. El operador actua como un controlador, generando senales de actuacion
sobre el dispositivo de control a partir de la realimentacion de informacion del sis-
tema remoto (figura 1.9). Si sus acciones de control no son adecuadas los resultados
pueden ser desastrosos.
Figura 1.9: El operador como controlador del sistema de teleoperacion, [7]
1.2.5.1. Caracterısticas Dinamicas del Operador
Dentro de las definiciones que se tienen para describir como se comporta un opera-
dor desde el punto de vista de control manual son variadas, ((el operador humano
actua como un controlador adaptativo y robusto)), ((el operador humano en un
sistema hombre-maquina es el arquetipo de un controlador de toma de decisiones
jerarquico, adaptativo y optimizador)) y ((el operador humano es un controlador
adaptativo que aprende de la experiencia)), entre otras.
Antecedentes 16
Frente al conjunto de estımulos externos el operador humano presenta dos limi-
taciones principales. En primer lugar, su capacidad de atencion es limitada, y
si existen diversos estımulos simultaneamente debera compartir la atencion entre
todos ellos. Por otro lado requiere de un tiempo para la toma de decisiones.
Desde que se produce el hecho relevante hasta que el cerebro envıa la correspon-
diente orden al sistema neuro-muscular transcurre un tiempo, este tiempo, se debe
principalmente a la retroalimentacion visual y al procesamiento de la informacion.
Una vez que se ha tomado una decision y se ha generado una orden de movimiento
a los musculos se necesita un tiempo determinado para que la informacion llegue
al sistema neuro-muscular, y por otro lado, este sistema tiene su propia dinamica
de respuesta.
Los seres humanos pueden variar algunas caracterısticas de funcionamiento del
sistema neuro-muscular junto con su realimentacion propioceptiva; se pueden va-
riar las caracterısticas dinamicas del brazo y del codo, como la rigidez, inercia y
el amortiguamiento, aunque los cambios que se pueden realizar en la inercia son
mınimos, la rigidez y el amortiguamiento estan correlacionados.
Es importante destacar el diferente ancho de banda en la actuacion y la sensacion
del ser humano; mientras la actuacion ronda los 5-10Hz, la sensacion esta por
encima de los 20-30Hz hasta llegar a los 100Hz para realimentaciones cinestesicas.
Como consecuencia de los retrasos en las distintas transmisiones y respuestas de
los componentes, el ancho de banda de respuesta en el control manual ante senales
de referencia aleatorias de fuerza y posicion no llega a los 2Hz.
Ademas de los elementos sensomotrices los humanos poseen en la mano unos senso-
res exteroceptivos, denominados mecano-receptores cutaneos, que permiten reco-
ger informacion tactil del entorno (tabla 1.1). Mediante estos se detectan estımulos
hasta los 300Hz e incluso se pueden detectar vibraciones por encima de 1KHz en
frecuencia y por debajo de 1µm en amplitud.
En cuanto a la resolucion diversos estudios han confirmado que se pueden discernir
variaciones de 2o en las articulaciones de los dedos, munecas y codos, llegando hasta
0.8o en el hombro. Por otro lado la distancia mınima entre 2 estımulos tactiles en
los dedos que permite distinguirlos es de alrededor 2.5mm mientras que en la palma
de la mano es de 11mm y en los muslos de 67mm.
Antecedentes 17
Tabla 1.1: Caracterısticas de los mecano-receptores cutaneos
El operador posee dos canales para el reconocimiento del entorno en forma de dos
senales de caracterısticas distintas: una de baja frecuencia y alta energıa que es
medida por musculos y demas elementos del brazo, que sirve para la coordinacion;
y una segunda de alta frecuencia y baja energıa que es medida por elementos sen-
soriales de la piel y que transmite informacion de alta calidad sobre el entorno.
La tabla 1.2 resume de forma general las caracterısticas que debe tener un siste-
ma teleoperado tomando en cuenta las caracterısticas senso-motrices de los seres
humanos.
Tabla 1.2: Caracterısticas necesarias de un sistema teleoperado derivadas delas caracterısticas senso-motrices de los seres humanos, [7]
1.2.6. Control
Un sistema de teleoperacion se puede definir de forma simple como un sistema en
el que un operador humano controla un dispositivo remotamente. El concepto de
control es, por tanto, intrınseco a la teleoperacion, pero desde el punto de vista de
Antecedentes 18
una relacion operador-dispositivo, y no tanto de la perspectiva de control dinami-
co de este ultimo. Se presentan en orden creciente de complejidad los conceptos
principales de control en teleoperacion:
Control unilateral.
Control independiente y control integrado.
Control en posicion y velocidad.
Control por reflexion de fuerzas.
Control bilateral.
Control de sistemas con retardo temporal.
1.2.6.1. Control Unilateral
En los primeros desarrollos de sistemas teleoperados maestro-esclavo el control
implementado era unilateral tambien llamado de bucle abierto. En este tipo de
sistema no existe ninguna senal de retroalimentacion desde el esclavo hacia el
maestro. Unicamente se puede realizar un control en un sentido, es decir, que el
manipulador esclavo se mueve al mover el maestro pero no a la inversa.
Dentro del control unilateral se pueden destacar diversas formas de realizar el
control segun como y cuales son las senales que se generan en el maestro.
1.2.6.2. Control independiente y control integrado
El control independiente o por interrupciones se realiza con dispositivos maestros
en los que al mismo tiempo unicamente se pueden generar referencias o mandar
senales de control, normalmente del tipo todo o nada en velocidad. Por otro lado
el control integrado, existe un dispositivo maestro que genera todas las senales
de referencia de uso simultaneo en todos los bucles de control del esclavo (figura
1.10).
Antecedentes 19
Figura 1.10: Esquema general de control unilateral, [7]
1.2.6.3. Control en posicion y velocidad
En el control integrado es posible realizar dos tipos de control distintos en funcion
de como se utilice las senales de salida. Si estas senales se utilizan como referencias
de posicion para los GDL, se habla de control en posicion; si en cambio se utilizan
como referencias de velocidad, se habla de control en velocidad. El control de
posicion es mas util que el control en posicion en cuanto la los tiempos de ejecucion,
la fuerza media ejercida sobre el entorno o la valoracion de los operadores sobre
su comodidad de operacion.
1.2.6.4. Control por reflexion de fuerzas
La conveniencia de transmitir al operador los esfuerzos de contacto que el manipu-
lador esclavo realiza en el entorno remoto. Tengase en cuenta de que se esta hablan-
do de reflexion y no de realimentacion, que serıa un caso particular de reflexion.
La reflexion de esfuerzos puede ser realizada de diferentes formas, siendo la mas
frecuente la reflexion visual y la realimentacion haptica, tambien se tienen reflexion
mediante sonidos y tactil, [11].
Reflexion Visual de Fuerzas
Se realiza presentando estas de manera visual al operador mediante un visualiza-
dor. El grafico incluye tanto las fuerzas ejercidas por el operador en cada uno de
los ejes como sus respectivos momentos.
Antecedentes 20
1.3. Haptica
La haptica, aunque no sea una palabra aceptada en la Real Academia de la Lengua
Espanola, hace referencia al sentido del tacto, teniendo su origen en el termino
griego ((Hapthai)) relativo al tacto. Es muy utilizado en el area tecnologica, a
continuacion se explican mas a fondo algunos de los terminos usados en el presente
trabajo.
1.3.1. Definiciones
Retroalimentacion haptica, es la realimentacion de la sensacion de contacto. Es-
te termino engloba dos conceptos sumamente importantes que no se deben de
confundir, son la realimentacion tactil y la realimentacion de fuerzas.
Es por eso que los dispositivos capaces de realimentar al operador sensaciones
tactiles y de fuerza se les denomine interfaces hapticas, incluso cuando algunos
autores utilicen este termino unicamente para la realimentacion tactil.
La retroalimentacion tactil se refiere a la sensacion de contacto aplicada a la piel.
Es medida por los receptores colocados cerca de la piel, los cuales poseen un gran
ancho de banda que va de los 50 a los 350 Hz, permitiendo detectar el primer
contacto con el entrono, conocer la geometrıa de la superficie, su rugosidad y su
temperatura.
La retroalimentacion de fuerzas tambien conocida como cinestesica es la realimen-
tacion de la sensacion de una resistencia al avance o un peso que hace referencia a
la excitacion de los sensores colocados en los musculos y tendones, unidos a huesos
y articulaciones, y que transmiten a la espina dorsal y al cerebro las tensiones y
fuerzas que se producen durante el movimiento, ya sean inerciales o de contacto.
Se trata de receptores con poco ancho de banda que proporcionan informacion
sobre la fuerza total de contacto, ası como el peso y deformabilidad de un objeto.
No debe de haber confusion, la retroalimentacion tactil aparece unicamente duran-
te el contacto, mientras que la realimentacion de fuerzas puede darse sin contacto,
pues estas pueden deberse a un peso o a fuerzas inerciales. Ademas, la realimen-
tacion de fuerzas se opone activamente al movimiento libre de la mano o el brazo,
mientras que la realimentacion tactil es del todo pasiva.
Antecedentes 21
Por otro lado, la propiocepcion es la capacidad de conocer la disposicion estatica
de cada uno de sus miembros. Hace referencia a la sensacion de posicion estatica.
Esta capacidad esta basada en los receptores localizados en las articulaciones del
esqueleto, en el oıdo y en impulsos generados por el sistema nervioso central.
En un sistema de teleoperacion, si se considera que el manipulador esclavo es un
miembro del operador, la capacidad con que el sistema dote al operador para que
este sepa en cada momento donde se encuentra el manipulador remoto con respecto
al entorno y a su punto de vista, dotara al operador de telepropiocepcion.
La union de estos terminos nos da como resultado la generacion de otros nuevos
como lo son la telepresencia y la realidad aumentada. La telepresencia hace refe-
rencia a la situacion o circunstancia que se da cuando un humano tiene la sensacion
de encontrarse fısicamente en un lugar remoto. Esta se consigue proporcionando
coherentemente al ser humano suficiente cantidad de informacion sobre el entorno
remoto, para lo cual nos servirıa la telepropiocepcion ası como la retroalimenta-
cion haptica, retroalimentacion visual auditiva, entre otras. El objetivo de esta
tecnologıa es hacer sentir al operador lo que sentirıa si estuviera en el ambiente
remoto. Sin embargo no podemos confundir este concepto con la realidad virtual.
En el caso de la teleoperacion la manera mas basica de conseguir algo de telepre-
sencia es contar con camaras de video en la zona remota (realimentacion visual).
Si, ademas, se puede realimentar hapticamente o auditivamente al operador con
los sucesos que ocurren durante el transcurso de la tarea, se tendra un mayor grado
de telepresencia.
La realidad virtual es la situacion que se da cuando un ser humano tiene la sen-
sacion de encontrarse en un lugar distinto de done fısicamente esta, esto, gracias
a la informacion generada exclusivamente por un computador. El entorno que se
genera, y en el que el operador se encuentra inmerso se denomina entorno virtual
o ambiente virtual, y la situacion de estar en el se conoce como presencia virtual.
Hoy en dıa, la telepresencia y la realidad virtual se empiezan en mezclarse, dan-
do origen a lo que se conoce como realidad aumentada, que es la situacion o
circunstancia que percibe un operador cuando la informacion sensorial que le es
realimentada de un entorno es modificada previamente por una computadora con
el objetivo de anadirle nueva informacion creada artificialmente, y que no es ac-
cesible directamente por los sentidos del operador, aun si este se encontrase en el
ambiente remoto.
Antecedentes 22
En esta realidad aumentada se puede incluir la superposicion de graficos sobre
imagenes de video o la generacion de superficies de contacto virtuales para la
proteccion de equipos.
Todas estas tecnologıas pretenden emular la naturaleza sin conseguir nunca la per-
feccion. Uno de los principales problemas para esto es la imposibilidad de alcanzar
la continuidad de estos fenomenos naturales utilizando los sistemas discretos en los
que se basa toda la tecnologıa digital actual. Lo que nos obliga a buscar metodos
para tratar de compensar las carencias tecnologicas.
Los dispositivos hapticos requieren de una arquitectura de control basada en soft-
ware que nos lleva al problema de la discretizacion. Para tratar este problema
debemos de saber que la frecuencia mınima necesaria para crear una sensacion
de tacto continuo es de 1 KHz aproximadamente. Las frecuencias inferiores son
tambien utiles, ya que permiten simular efectos de superficie, como las texturas o
la friccion.
1.3.2. Representacion Haptica
Cuando hablamos de haptica es comun encontrarnos con el termino ((Haptic Ren-
der)) o representacion haptica. Este es el proceso de determinar la fuerza de reaccion
para una determinada posicion del dispositivo. Consiste en el diseno del software
que realiza las siguientes tareas:
Leer la posicion y orientacion del dispositivo
Calcular la interaccion del dispositivo con el mundo virtual en funcion de los
datos leıdos.
Devolver la sensacion haptica como consecuencia de la reaccion ante esta
interaccion.
1.3.2.1. Tipos de Representacion Haptica
Existen diversos casos para la representacion haptica los cuales se mencionaran a
continuacion:
Representacion haptica puntual
Antecedentes 23
Podrıa decirse que es la forma mas sencilla, considera que el dispositivo haptico
representa un punto en el entorno virtual, denominado Punto de Interfaz Haptica
o HIP por sus siglas en ingles (Haptic Interface Point). Para este caso, lo unico
que nos interesa es la posicion del dispositivo, no su orientacion.
Sin embargo este tipo de representacion presenta problemas debido a la discreti-
zacion. Al no poder mostrar de forma continua la posicion, existe la posibilidad
de que entre dos muestreos consecutivos el HIP haya podido penetrar en algun
objeto del mundo virtual.
Representacion haptica puntual con Proxy
Para evitar algunos problemas con la representacion puntual, aparece el concepto
Proxy, tambien conocido como punto de contacto de superficie o SCP (Surface
Contact Point). Este es un punto que sigue la restriccion de mantenerse siempre
en el exterior de los objetos del entorno virtual. Con esto el SCP seguira la posi-
cion del HIP mientras no ocurran colisiones, pero ambos se separaran cuando el
HIP penetre algun objeto. Gracias a esto ya es posible calcular las fuerzas que se
aplicarıan al dispositivo para contrarrestar la separacion entre el HIP y el SCP.
Deteccion de Colisiones Continuas
La solucion definitiva a estos problemas no es facil de implementar, consiste en
anadir una dimension mas a nuestro muestreo de la posicion del dispositivo hapti-
co, que serıa el tiempo. Para ello tenemos que estimar el recorrido que ha seguido
el dispositivo final entre dos muestras consecutivas, por lo que sera necesario in-
terpolar. Con esto el HIP se ha pasado a ser de un punto a un segmento, que une
la posicion actual del dispositivo con la posicion previa.
Detectando ahora las colisiones entre los objetos del entorno virtual y nuestro
segmento, podemos saber exactamente cuando se ha penetrado o atravesado un
objeto y determinar con precision el punto en que se produjo la colision. A este
punto que se le denomina HIP ideal o IHIP (Ideal Hip) es nuestro Proxy, que
estara siempre restringido a la superficie de los objetos virtuales.
Representacion haptica no puntual
En muchas ocasiones no es suficiente simplificar la posicion del dispositivo haptico
mediante un punto o segmento, teniendo que considerar no solo la posicion sino
Antecedentes 24
la orientacion. Para este tipo de aplicaciones se hace imprescindible el uso de seis
GDL en el dispositivo haptico.
1.4. LabView
LabView R©, de la empresa “National Instruments”, por sus siglas en ingles, “La-
boratory Virtual Instrumentation Engineering Workbench”, es una plataforma y
entorno de desarrollo para el desarrollo de sistemas, hace uso de un lenguaje de
programacion visual grafico. Es utilizado como base para sistemas de hardware y
software en pruebas de control y diseno, simulado o real y embebido, pues esta pen-
sado para aumentar la productividad y desempeno de personas especializadas en
diversas areas de la ingenierıa al momento de realizar aplicaciones computacio-
nales. LabView es lanzado oficialmente en 1986 como una solucion al problema
de hardware , especıficamente al control de sistemas de instrumentacion, teniendo
como uno de sus lemas “La potencia esta en el Software”.
Entre las principales caracterısticas del software LabView encontramos las siguien-
tes:
Manejo de multiples interfaces de comunicacion, como son: Puerto serie,
puerto paralelo, GPIB, PXI, TCP/IP, UDP, DataSocket, Irda, Bluetooth,
USB, entre otros.
Capacidad de interaccion con otros lenguajes y aplicaciones: DLL (Bibliote-
cas de enlace dinamico), .net, ActiveX, Matlab/Simulink, AutoCAD, Solid-
Works, entre otros.
Posee herramientas graficas y textuales para el procesado digital de senales.
Visualizacion y manejo de graficas con datos dinamicos.
Adquisicion y tratamiento de imagenes.
Programacion de FPGAs para control o validacion.
Sincronizacion entre dispositivos.
En la figura 1.11 se puede observar un ıcono de LabView del panel frontal o de
usuario y su representacion en diagrama de bloques.
Antecedentes 25
Figura 1.11: Diagrama de bloques y de usuario en LabView
Una aplicacion de computadora realizada mediante LabView cuenta de dos partes
principalmente:
Panel frontal: es la interfaz de usuario, es decir es la parte visual e interac-
tiva que es visible para el usuario mientras la aploicacion esta en ejecucion.
Los usuarios podran observar los datos del programa actualizados mediante
indicadores de diferentes tipos, ası mismo el panel frontal permite la entrada
de datos por parte del usuario.
Diagrama de bloques: es el programa propiamente dicho, en este, se define la
funcionalidad mediante la colocacion de ıconos o sımbolos que representan
diferentes acciones, los cuales a su vez se interconectan entre si para tener
una salida deseada.
Capıtulo 2
Estado del Arte
La robotica aerea es un campo de rapido crecimiento en robotica y aeronaves
multirotor. De hecho los cuadrotores, en cuanto a control de robots se refiere, se han
convertido en una plataforma para desarrollo e investigacion a nivel mundial [12].
Actualmente existen varios laboratorios especializados en cuadrotores en diferentes
universidades al rededor del mundo, los cuales se especializan en diferentes areas
o tipos de control para estas aeronaves. Dentro de los laboratorios mas destacados
a nivel mundial podemos encontrar los soguientes:
GRASP1 de la universidad de Pennsylvania en los Estados Unidos de Ameri-
ca, este laboratorio se especializa en algoritmos de control robustos para
maniobras agresivas para cuadrotores [13].
FMA2 de la ETH3 de Zurich, este laboratiorio se especializa en tareas de
control con sistemas multiagente, es decir con cuadrotores cooperativos [14].
ACL4 del MIT5, laboratorio especializado en sistemas de control para segui-
miento de trayectorias con cuadrotores capaces de variar la configuracion de
sus propelas y generar empujes negativos [15].
Laboratiorio de robotica y UAVs de la UTC6 en Francia, dirigida por el
Dr. Rogelio Lozano egresado del IPN, este laboratorio es de los pioneros
1General Robotics, Automation, Sensing and Perception2The Flying Machine Arena3Eidenossische Technische Hochschule4Aerospace Controls Laboratory5Massachusetts Institute of Technology6Universite de Technologie de Compiegne
26
Estado del Arte 27
en trabajar con cuadrotores y se especializan en algoritmos de control para
pruebas en cuadrotores [16].
Laboratorio RONIHM7 del CINVESTAV8 del IPN, este laboratorio se espe-
cializa en algoritomos de control de orientacion y posicion para cuadrotores
y en algoritmos de control para tareas cooperativas con cuadrotores [17].
Parte de los trabajos analizados, que conllevan el uso de las mismas que tecnologıas
que en este trabajo se presentan son mostrados a continuacion con una breve
descripcion de los mismos y el aporte de estos.
2.1. A Passivity-Based Decentralized Approach
for the Bilateral Teleoperation of a Group
of UAVs with Switching Topology [18]
Un enfoque descentralizado basado en Pasividad para la teleoperacion
bilateral de un Grupo de vehıculos aereos no tripulados con conmuta-
cion de topologıa
En ese artıculo se presenta una nueva estrategia de control distribuida para tele-
operar una flota de UAVs, Se Utilizan tecnicas de control basadas en pasividad,
permiten que el comportamiento de los UAVs sea lo mas flexible posible y que
estos tomen decisiones de unir o dividir la flotilla garantizando siempre la estabi-
lidad del sistema. Por otra parte, el sistema global de teleoperacion esta disenado
tambien de forma pasiva, por lo tanto, se caracteriza por tener un comportamiento
estable tanto en movimiento libre como en la interaccion con obstaculos pasivos
desconocidos.
El sistema que proponen es validado a traves de semi-experimentos. Cabe mencio-
nar que los avances en teleoperacion de cuadrotores mostrados en este arıculo no
presentan avances sobre retroalimentacion cinestesica ni de ningun otro tipo.
7Robotica no Inercial e Interfaces Hombre-Maquina8Centro de Investigacion y de Estudios Avanzados
Estado del Arte 28
2.2. Experiments of Passivity-Based Bilateral
Aerial Teleoperation of a Group of UAVs
with Decentralized Velocity Synchroniza-
tion [19]
Experimentos basados en pasividad bilateral de teleoperacion aerea de
un grupo de vehıculos aereos no tripulados con velocidad de sincroni-
zacion descentralizada
En este trabajo se realiza la validacion experimental de la estrategia de control
basada en pasividad para la teloperacion de un grupo de UAVs presentada en el
artıculo anterior, aunque, en este trabajo ya se presenta informacion acerca de la
teleoperacion bilateral, es decir, se incluye retroalimentacion haptica en el control
del grupo de aeronaves. Como se ha mencionado anteriormente en este escrito, un
sistema de teleoperacion bilateral cuenta con un maestro y un esclavo, en elartıculo
aquı analizado, el esclavo, que es el grupo de aeronaves, goza de un autonomıa
propia de un grupo de aeronaves, las cuales permiten la evacion de obstaculos
paraası evitar colisiones. Por otra parte, el lado del maestro, representado por un
operador humano, controla el movimiento del grupo de aeronaves y recibe fuerza de
las senales de retroalimentacion que le informan el estado del movimiento remoto
del esclavo.
Cabe mencionar que este artıculo es de gran relevancia para el trabajo que se
esta realizando, esto debido a la propuesta de control que se comprueba ya que
se cuenta con un control basado en pasividad inmerso en el subsistema esclavo, el
cual, permite que este sistema cuente con la estabilidad propia de un sistema de
cuadrotores pero a su vez permite la interaccion con un operador, introduciendo
informacion para el pilotaje de las aeronaves y proporcionando informacion del
estado del grupo para su representacion en un dispositivo haptico. Los descrito
anteriormente puede apreciarse en la figura 2.1, la cual, muestra los componentes
del sistema descrito en este artıculo.
Estado del Arte 29
Figura 2.1: Elementos del sistema del artıculo, [19], a) Sistema real, 4 cua-drotores, el lider es teleoperado, b) Mando de retroalimentacion haptica para el
usuario, c) Sistema virtual
2.3. Haptic Teleoperation of Multiple Unman-
ned Aerial Vehicles over the Internet [20]
Teleoperacion haptica de multiples vehıculos aereos no tripulados a
traves de Internet
En este artıculo se presente un nuevo esquema de control para la teleoperacion
haptica de multiples vehıculos aereos a traves de internet, este esquema consiste
principalmente en tres leyes de control: 1) La capa de control para el UAV, donde
cada UAVes controlado par seguir una trayectoria basada en la cinematica de su
punto de representacion virtual (virtual point, VP por sus siglas en ingles), 2)
Capa de control del punto virtual o VP, donde se modula la posicion de cada
Estado del Arte 30
punto virtual de acuerdo con los comandos de teleoperacion y el uso de algunos
elementos y herramientas de ayuda como son campos potenciales artificiales, de
repulsion todos ellos en este caso, los cuales evitan que las aeronaves se acerquen
demasiado entre si ası como evitar que se acerquen demasiado a los obstaculos
que se puedan presentar, y por ultimo 3) La capa de teleoperacion, a traves de la
cual se puede mandar al usuario retroalimentacion de la velocidad de los UAVs
o su cercanıa con obstaculos o metas, todo lo anterior a traves de internet. Una
vez mas, cabe mencionar que los resultados obtenidos en este trabajo provienen de
semi-experimentos, es decir, todas las pruebas son mediante simulacion (figura 2.2.
Figura 2.2: UAVs en ambiente de simulacion 3D y mando haptico, [20]
2.4. An Evaluation of Haptic Cues on the Tele-
Operator’s Perceptual Awareness of Mul-
tiple UAVs’ Environments [21]
Evaluacion de senales hapticas de la percepcion del teleoperador de
ambientes de multiples vehıculos aereos no tripulados
En este artıculo se presenta una extencion de las investigaciones hechas anterior-
mente mediante la investigacion y analisis del rendimiento de los controladores y
como este podrıa mejorarse con senales de retroalimentacion haptica para el ope-
rador. Presentan 3 disenos de senales de retroalimentacion haptica que ayudan a
Estado del Arte 31
mejorar la percepcion ambiental del operados en el ambiente remoto. Los 3 disenos
se basan en a) informacion de la velocidad de los vehıculos, b) datos de proximidad
a los obstaculos y c) una combinacion de las dos anteriores. Por ultimo, se vali-
dan estas propuestas mediante un experimentacion, esto, mediante la evaluacion
de la sensibilidad percibida por el operador respecto al entorno remoto donde se
encuentran los UAVs. Finalmente, llegan a la conclusion de que la teleoperacion
se mejora mediante el uso de dispositivos hapticos. Todos los experimentos en este
artıculo llegan a nivel simulacion, (figura 2.3).
Figura 2.3: Experimento, Interfaz grafica de Usuario o GUI, por sus siglas eningles y mando haptico Omega, [21]
2.5. Shared Control; Balancing Autonomy and
Human Assistance with a Group of Qua-
drotor UAVs [22]
Control compartido; balanceando autonomıa y asistenciahumana con
un grupo de vehıculos aereos cuadrotores
En el ultimo trabajo se puede observar como es que se han dado los avances en
materia de teleoperacion de UAVs, ya seaen grupo o de manera individual, se
Estado del Arte 32
puede apreciar mediante los graficos presentados que ya se tiene una idea conci-
sa de la manera en la que se tienen que integrar los componentes de un sistema
de teleoperacion haptica de cuadrotores. Para empezar, se argumenta que toda
aeronave tiene un control propio, el cual, garantizala estabilidad del mismo UAV
ası como su teleoperacion, ademas se plantea un lazo de control con el sistema de
teleoperacion y por ultimo se plantea un lazo de control con el mando haptico,
ademas de las partes anteriores, en los casos en los que se teleoperan grupos de
UAVs, se tiene conocimiento de la posicion de cada una de las aeronaves, de esta
manera se pueden establecer formaciones entre ellas, para ası, facilitar la teleope-
racion de todas tomando un solo cuadrotor como pivote o esclavo y que las demas
actuen de acuerdo a la trayectoria de este. En este artıculo ademas se llevan a cabo
experimentos en ambientes de simulacion y en sistemas de cuadrotores reales en
espacios controlados. En la figura 2.4 se puede observar un esquema completo de
la arquitectura del sistema de teleoperacion haptca, tomando en cuenta el sistema
de control bilaterial y el control de las aeronaves, este ultimo embebido en cada
una, para dotarlade ası, decierto nivel de autonomıa y estabilidad.
Tomando en cuenta el conocimiento adquirido en el desarrollo del presentecapıtulo,
especıficamos los requerimientos y partes del sistema como sigue: El prototipo debe
contar con lo siguiente:
Dispositivo o mando haptico, este sera el metodo de entrada de informa-
cion desde el usuario para controlar la posicion de la aeronave, ası mismo
sera la salida de informacion del sistema hacia el usuario para mejorarle la
percepcion del entorno teleoperado.
Aeronave cuadrotor, las caracterısticas principales de la aeronave teleoperada
o esclavo seran dos, a) el cuadrotor contara con un controlador propio, el cual,
debe garantizar la estabilidad del vuelo de este y que a su vez le permita ser
controlado en posicion mediante un control remoto; b) que la aeronave sea
capaz de enviar informacion al usuario de sus caracterısticas de vuelo como
lo son: velocidad, inclinacion, aceleracion y, de ser posible, video.
De los trabajos analizados en esta seccion se pueden resaltar algunos que incluyen
retroalimentacion haptica en la teleoperacion de aeronaves, aunque, solo uno de
estos lo hace sobre sistemas reales y no solo en simulaciones virtuales.
Estado del Arte 33
Figura 2.4: Arquitectura general del sistema, visto para un numero n de UAVs.[22]
Estado del Arte 34
2.6. Motivacion
Actualmente no se han reportado resultados significativos de la comunidad cientıfi-
ca mundial respecto a las ventajas o desventajas, ası como las caracterısticas de un
sistema de teleoperacion de robots aereos que involucre retroalimentacion haptica.
2.7. Objetivo General
Disenar e implementar un sistema de teleoperacion haptica de posicion para un
cuadrotor estable en el dominio del tiempo.
2.8. Objetivos Especıficos
Utilizacion del dispositivo haptico.
Modelado del cuadrotor.
Sensado de fuerzas en el cuadrotor.
Implementacion del sistema de control en el dispositivo haptico.
Interfaz de control del sistema.
Implementacion del control bilateral.
Simulacion del sistema.
Pruebas sobre el sistema real en ambiente controlado.
Pruebas sobre el sistema real en ambiente no controlado.
Capıtulo 3
Cuadrotor, Modelado Dinamico y
Simulacion
El presente capıtulo se describe el funcionamiento de un cuadrotor y se muestra el
modelado dinamico del cuadrotor, es decir, las ecuaciones matematicas que deter-
minan el estado del sistema y que toman en cuenta las variables independientes
que lo describen. Se presenta tambien un analisis del modelo y una simulacion del
mismo.
Figura 3.1: Cuadrotor Arducopter R© de la empresa 3DRobotics R©, el cual esun proyecto open surce
35
Cuadrotor, Modelado Dinamico y Simulacion 36
3.1. Cuadrotor
Un cuadrotor es una aeronave de ala rotativa, cuenta con cuatro rotores inde-
pendientes montados en los extremos de una cruceta, cada rotor o motor tiene
acoplado a su vez una propela, la cual al girar, genera un empuje o desplaza-
miento de aire con el cual la aeronave puede elevarse, en la figura 3.1 puede verse
un cuadrotor. A continuacion se tratarra de describir el funcionamiento de una
cuadrotor de la manera mas simple posible.
Debido a su construccion y a su autonomıa, un cuadrotor es considerado como un
robot movil aereo subactuado, esto debido a que cuenta con 6 GDL, 3 de posicion
y 3 de orientacion, pero solo cuenta con 4 entradas de control, es decir, para hacer
que la aeronave vuele solo podemos controlar las velocidades de los 4 rotores, por
lo tanto es considerado como un robot subactuado. El control de los 6 GDL se
logra con 3 movimientos inducidos en la aeronave: 1) Alabeo (Roll), 2) Cabeceo
(Pitch) y 3) Guinada (Yaw), en la imagen 3.2 se pueden ver los movimientos que
de Roll, Pitch y Yaw y se describe como es que estos se producen.
Figura 3.2: a) Yaw (sentido antihorario), b) Yaw (sentido horario), c) Despe-gue (Take off), d) Roll (sentido horario), e) Pitch (sentido antihorario), f) Pitch
(sentido horario), g) Aterrizaje (Land), h) Roll (sentido antihorario)
En la imagen 3.2 se expesa mediante flechas el sentido de giro de los rotores, si la
flecha es negra el sentido es antihorario, si la flecha es blanca el sentido es horario;
ademas de esto, se expresa mediante flechas grandes o pequenas la velocidad de
giro de los rotores, ya sea alta o baja respectivamente. De esta manera se sobre
Cuadrotor, Modelado Dinamico y Simulacion 37
entiende que en la figura anterior, en el inciso c la velocidad de los 4 rotores es
alta e igual para todos, por lo que la aeronave tendrıa un empuje igual en cada
rotor y podrıa despegar o elevarse.
Ademas de lo descrito anteriormente, cabe mencionar que hay dos configuraciones
usuales para un cuadrotor, de tipo + y tipo x. Para ambas configuraciones se
utiliza la notacion anterior para modificar la orientacion , diferenciando solamente
el frente de la aeronave y el como se modifica su posicion, ya que cuando esta en
configuracion x utiliza la fuerza de 2 rotores a la vez para trasladarse en el plano
xy. En la imagen 3.3 pueden observarse las dos configuraciones.
Figura 3.3: En la izquierda configuracion +, en la derecha configuracion x, elbloque con punta del centro representa el frentede la aeronave
Se mencionara a continuacion el modelo matematico de la aeronave.
3.2. Modelado
Figura 3.4: Sistema del cuadrotor, fi representa el empuje del motor, Mi y Tes el empuje principal, [23]
Cuadrotor, Modelado Dinamico y Simulacion 38
El modelo dinamico de un cuadrotor es obtenido mediante la representacion de la
aeronave como un cuerpo rıgido en 3D y sujeta a una fuerza y tres momentos [23].
Se considera el marco coordenado fijo tierra I = ex, ey, ez y el amrco del cuerpo A
= ecx,ecy,e
cz, como puede apreciarse en la figura 3.4. Se asume que el centro de masa
del cuarpo del cuadrotor y el marco coordenado de este coinciden. La orientacion
del cuerpo rıgido esta dada por la rotacion R : A → I, donde R ∈ SO(3) es una
matriz de rotacion ortogonal (es una matriz cuadrada cuya matriz inversa coincide
con su matriz traspuesta).
Las ecuaciones del modelado de Newton-Euler (estas describen la dinamica rota-
cional y traslacional combinadas de un cuerpo rıgido) se describen de la siguiente
manera:
mξ = −T Rex + F (t) (3.1)
R = R[Ω×] (3.2)
J Ω = −Ω× JΩ + r + d(t) (3.3)
donde:
ξ = (x, y, z)T denota la posicion del centro de masa de la aeronave en el
marco coordenado I relativo fijado al origen.
Ω = (Ω1,Ω2,Ω3)T ∈ A denota la velocidad angular del cuadrotor expresada
en el marco del mismo.
m denota la masa del cuerpo rıgido que representa a la aeronave
J ∈ R3×3 denota la matriz de inercia alrededor del centro de masa.
[Ω×] denota la matriz antisimetrica del vector Ω.
T ∈ R+ representa la magnitud de las principales fuerzas no conservativas
aplicadas al cuerpo.
F (t) expresa las fuerzas externas aplicadas al vehıculo, F (t) = mgez.
Cuadrotor, Modelado Dinamico y Simulacion 39
T ∈ A es el par de control.
d(t) ∈ R3 representa el par externo de las perturbaciones inducidas por F (t).
3.3. Simulacion del Modelo
Para lograr un mejor entendimiento del modelo al que se llega, se realiza una
simulacion dinamica en MatLab. La simulacion se realiza mediante Simulink y
para el caso de esta se le provee de un momento en el eje y. El diagrama de
bloques queda como se muestra en la figura 3.5.
Figura 3.5: Diagrama de bloques del modelo matematico del cuadrotor parasu simulacion.
Cuadrotor, Modelado Dinamico y Simulacion 40
El resultado de la simulacion del modelo dinamico al cual se le provee de un
momento en el eje y y que a su vez genera un desplazamiento sobre el plano x
y una variacion de altura con respecto al eje z puede apreciarse en la figura 3.6.
Se induce un momento positivo en el eje y y debido a esto se puede apreciar un
desplazamiento sobre el eje x y sobre el eje z.
a) Eje x b) Eje y c) Eje z
Figura 3.6: Comportamiento del centro de masa del cuadrotor con respectoal marco coordenado, se induce un momento en el eje de giro x.
Un ejemplo mas de la anterior simulacion se aprecia para el caso de inducir un
momento en los ejes x y y como bien puede apreciarse en la figura 3.7.
a) Eje x b) Eje y c) Eje z
Figura 3.7: Comportamiento del centro de masa del cuadrotor con respectoal marco coordenado, se inducen dos momentos en el eje x y en y.
En el ultimo ejemplo, mostrado en la figura 3.8, se induce un momento en el eje z
y uno de la mitad de la magnitud en el eje y.
Cuadrotor, Modelado Dinamico y Simulacion 41
a) Eje x b) Eje y c) Eje z
Figura 3.8: Comportamiento del centro de masa del cuadrotor con respectoal marco coordenado, se inducen dos momentos en el eje y y en z.
3.4. La plataforma AR.Drone de Parrot
En el ano 2004, la companıa Parrot R© comenzo con el proyecto llamado AR.Drone R©
con el objetivo de crear un micro UAV para el mercado masivo de videojueagos
y entretenimiento engeneral. El proyecto se presento publicamente en el Show de
consumo electronico, CES por sus siglas en ingles, en el ano 2010 y el 18 de agosto
del mismo ano, el AR.Drone fue lanzado al mercado. Una de sus principales carac-
terısticas es ser una plataforma aerea estable, controlada remotamente mediante
unainterfaz grafica amigable, la cual, se ejecutaen un dispositivo movil con sistema
operativo IOS o Android. El dispositivo se encuentra en el mercado a un precio
de $300.00 dolares estadounidenses. En el desarrollo de este trabajo se utilizo un
AR.Drone y a continuacion se hablara de la tecnologıa de control embebida en la
aeronave.
3.4.1. El Vehıculo Aereo
El AR.Drone esta basado en el clasico diseno del cuadrotor. Cuenta con 4 motores
brushless usados para mover las 4 propelas unidas a ellos. Juntos, constituyen al
generador de empuje variable. Cada motor esta montado en un base que hace
de pata para el dispositivo, esta base esta fabricada de plastico PA66, el cual
es altamente resistente, a su vez, cada base lleva consigo el circuito de control
del motor brushless (BLCB por sus siglas en ingles). Cada BLCB usa su propio
microcontrolador de 8 bits ATMega8L y un sistema corta corriente para apagar
el motor en el caso de que alguna propela choque contra un obstaculo. Los cuatro
Cuadrotor, Modelado Dinamico y Simulacion 42
Figura 3.9: Cuadrotor AR.Drone R© con su carcasa outdoor
generadores de empuje estan a su vez acoplados a una cruceta tubular de fibra
de carbon, la cual cuenta con un refuerzo central plastico hecho con Polipropileno
expandido (EPP, por sus siglas en ingles) que sirve como estructura para cargar
con la baterıa de polımero de litio (LiPo) en una canasta plastica. La baterıa de
3 celdas provee una tension electrica de 11.1V y 1000mAh de corriente con un
factor de descarga de 15c, la baterıa 80g. Con carga completa, la baterıa es capaz
de proveer energıa al cuadrotor por un periode que va de 10 a 15 minutos para el
vuelo. La canasta se encuentra encima de una espuma, la cual a su vez esta encima
del refuerzo plastico de EPP, este ensamblado sirve para filtrar las vibraciones de
los motores. El cuadrotor tiene dos carcasas distintas, una para interiores (indoor),
la cual tiene una estructura circular alrededor de cada propela para protegerlas y
evitar al mismo tiempo de danar algo dentro de una habitacion, ademas cuenta
con la carcasa para exteriores (outdoor) la cual no es mas que una cubierta para
la baterıa, ver imagen 3.9.
3.4.1.1. Electronica de abordo
La electronica bordo consiste en 2 tarjetas unidas mediante tornillos a la canasta
de plastico. La primera es la tarjeta madre que esta conectada a la segunda que
es la tarjeta de navegacion.
Cuadrotor, Modelado Dinamico y Simulacion 43
Tarjeta principal: contiene un procesador Parrot P6 (procesador de 32 bits
tipo ARM, trabaja a 468MHz), chip Wi-Fi, una camara orientada vertical-
mente y un conector para la camara frontal.
Un sistema operativo Linux de tiempo real y todos los calculos se hacen en
el procesador P6. Ademas el procesador carga con los datos adquiridos por
las dos camaras de video. La camara frontal cuenta con una resolucion VGA
(640x480 pixeles), senal que trabaja a una frecuencia de 15 cuadros por se-
gundo. La camara vertical es utilizada en los algoritmos de navegacion para
calcular la velocidad del vehıculo y trabaja a una frecuencia de 60 cuadros
por segundo. Ambas camaras pueden utilizarse para desempenar funciones
de reconocimiento de patrones para su uso en videojuegos. Un puerto mini-
USB es incluido para efectos de actualizacion del software o para conexion
de aditamentos como GPS, un proyector laser, entre otros.
Tarjeta de Navegacion: utiliza un microcontrolador PIC de 16 bits trabajan-
do a 40 MHz y sirve como interfaz con los sensores. Estos sensores son: un
acelerometro de 3 ejes, un giroscopo de 2 ejes, un giroscopo vertical de un
eje y 2 sensores ultrasonicos.
Los sensores ultrasonicos utilizados para la estimacion de la altura son de
marca Powerwave. El microcontrolador PIC meneja los sensores y digitaliza
la senal del receptor ultrasonico. Los sensores ultrasonicos trabajan a una
frecuencia de resonancia de 40 kHz y pueden medir distancias tan largas
como 6 metros a una frecuencia de 25 Hz.
Los acelerometros y giroscopos constituyen una unidad de medicion iner-
cial (IMU, por sus siglas en ingles) de bajo costo. El costo de la IMU es
de menos de $10 dolares estadounidenses. Un acelerometro Bosh BMA150
de 3 ejes y usado en conjunto con un convertidor analogico-digita (A/D) de
10 bits tienen una resolucion de +/- 2. El giroscopo de dos ejes el modelo
UDG500 de Invensense, contiene un sensor analogico y es digitalizado por
un microcontrolador PIC de 12 bits con convertidor A/D; puede medir a una
velocidad de variacion de 500 grados/segundo. En el eje vertical, un girosco-
po mas preciso fue considerado, es un Epson modelo XV3700, tiene funcion
de auto cero para minimizar la deriva. La IMU finciona a una frecuencia de
200 MHz.
Software embebido: el sistema operativo de tiempo real es una version per-
sonalizada de Linux. Simultaneamente maneja multiples hilos: comunicacion
Cuadrotor, Modelado Dinamico y Simulacion 44
Wi-Fi, muestreo de la informacion de las camaras, compresion de video para
su transmision inalambrica, procesamiento de imagenes, adquisicion de datos
de los sensores, estimacion de estados y control en lazo cerrado.
3.4.2. Arquitectura de control
La fusion de datos y la arquitectura de control consisten en varios bucles en los
que el piloto humano se ve envuelto. El piloto usa un dispositivo movil, a traves
de conexion Wi-Fi, para enviar remotamente ordenes de alto nivel, y, simultanea-
mente, visualiza la transmision de video que recibe del AR.Drone. Una imagen de
lo que el piloto visualiza en el dispositivo movil puede observarse en la figura 3.10.
Figura 3.10: Captura de pantalla de la interfaz grafica para el usuario
La arquitectura es ilustrada en la figura 3.11. Los interruptores entre los diferentes
modos (hovering1, flight2, take off 3, landing4, forward flight5) son manejados por
una maquina de estados finitos que a su vez sigue las ordenes del piloto. Este punto
es ilustrado en la figura 3.12. La maquina de estados finitos tiene funciones por
defecto, por ejemplo, cuando el usuario no toca la pantalla, el AR.Drone se pone en
modo hovering, dondelaaltura se mantieneconstante y la orientacion y velocidad
son estabilizadas a cero. Un click doble en la pantalla hace que la aeronave entre
en modo landing.
El lazo de control es realizado por dos lazos anidados, el lazo de control de orienta-
cion y el lazo de control de la velocidad angular. El primer lazo calcula la velocidad
1Permanecer inmovil2vuelo3Despegue4Aterrizaje5Vuelo recto
Cuadrotor, Modelado Dinamico y Simulacion 45
Figura 3.11: Fusion de datos y arquitectura de control, [24]
angular de la diferenciaentre el estimado de orientacion y el punto cero de orienta-
cion (cero en caso de hovering preestablecido por el usuario en modo flight). Esta
velocidad angular es seguida mediante un control proporcional integral (PI). El
lazo de control de la velocidad angular de los motores es un control proporcional,
[24].
De la maquina de estados descrita en la figura 3.12, pueden observarse dos modos
guiados. En modo fliying, el punto cero de orientacion es dado por el piloto. En
modo hovering, la orientacion es establecida al punto cero de la aeronave pero
la transicion desde modo flying a hovering es realizado por una funcion llama-
da Gotofix, que es una tecnica de planeacion de movimientos. El modo hovering
(velocidad y orientacion cero) es mantenidapor el lazo de control hovering que
consisteen un controlador PI de estimacion de la velocidad.
La planeacion de movimientos Gotofix es una caracterıstica importante en el
AR.Drone. La planeacion de movimientos comienza desde la orientacion y ve-
locidad actuales del cuadrotor cuandoel piloto deja el modo flying. La tecnica de
Cuadrotor, Modelado Dinamico y Simulacion 46
Figura 3.12: Maquina de estados finitos que gobierna el vuelo y algunos modosde control, [24]
generacion de trayectorias de transicion ha sido cuidadosamente disenada sin co-
nexion para obtener una velocidad y una orientacion cero en un lapso de tiempo
corto (sin exederse), bajo la forma de un control de retroalimentacion positiva
determinado por la inversion de la dinamica que lo rige.
3.4.3. Experimento con Cuadrotor
Utilizando el SDK para Windows proporcionado por Parrot para el control de la
aeronave AR.Drone, se llevo a cabo una aplicacion de consola de Windows con
la cual la computadora se conecta con el cuadrotor, esto en vez de hacerlo con
un dispositivo movil. Si bien, la mera conexion es via Wi-Fi, ya que el propio
AR.Drone crea un punto de acceso y cualquier dispositivo puede conectarse de
manera directa, el envıo y recepcion de paquetes de datos no es del todo simple.
La aplicacion que se utilizo como base para el desarrollo deeste trabajo. Laapli-
cacion tenıa dos funciones principales, ser capaz de pilotar el cuadrotor desde el
Cuadrotor, Modelado Dinamico y Simulacion 47
teclado de una computadora y por otro lado recibir toda lainformacion de nave-
gacion desde la aeronave.
Para lograr el pilotaje desde el teclado basto hacer uso de las funciones por defecto
y el ejemplo de funcionamiento incluidos en el SDK. Las funciones basicas para el
pilotaje via teclado del cuadrotor son las siguientes:
Tecla Accion8 o I Vuelo hacia delante2 o K Vuelo hacia atras4 o J Vuelo hacia la izquierda6 o L Vuelo hacia la derechaA o + Vuelo hacia arribaQ o - Vuelo hacia abajo7 o U Giro en sentido antihorario9 u O Giro en sentido horario
Barra espaciadora Despegue/AterizajeEsc o Tab Emergencia/Recobrar de Emergencia
F Envıo de una trama planaG Hovering
Tabla 3.1: Pilotaje del cuadrotor mediante el teclado
La comunicacion con el AR.Drone se hace a traves de cuatro funciones denomi-
nadas servicios de comunicacion, estos servicios estan implementados en el SDK,
[25].
Controlando y configurando el drone, se hace a traves de comandos AT (AT
Commands) esta es la manera regular
Para obterner lainformacion de navegacion del cuadrotor se hace uso de la
funcion navdata, esta nos entrega una cadena de caracteres entre los que
se encuentra informacion del Drone como son: estatus, altitud, orientacion,
velocidad. Navdata ademas contiene informacion filtrada y no de las medi-
ciones de los sensores. Esta informacion es enviada del AR.Drone al cliente
a una frecuencia de 200Hz, es decir cada 5ms.
Una transmision de video es enviada por el AR.Drone al dispositivo clien-
te. Imagenes de este video son decodificadas utilizando los decodificadores
incluidos en el SDK.
Cuadrotor, Modelado Dinamico y Simulacion 48
Los datos crıticos son comunicados a traves de un canal llamado el puerto de
control. Este puerto es en sı una comunicacion TCP para proporcionar una
comunicacion fiable. Es usado para recuperar los datos de configuracion.
Figura 3.13: Arquitectura en capasdeuna aplicacion de cliente usando el SDKde AR.Drone, [25]
Capıtulo 4
Dispositivo Haptico
En el presente capıtulo trata del dispositivo haptico empleado para la realizacion
de este trabajo, primeramente se habla de sus caracterısticas fısicas y cinematicas
y despues de su utilizacion mediante argoritmos de renderizacion haptica.
4.1. Descripcion y Funcionamiento del Disposi-
tivo
Figura 4.1: Dispositivo haptico Falcon R© Novint R©
49
Dispositivo Haptico 50
Para el presente trabajo se utilizo un dispositivo haptico llamado Falcon R©, creado
por la empresa Novint R©, el cual es considerado como un robot paralelo en confi-
guracion delta [26] de 3 GDL, las 3 articulaciones forman un paralelogramo que
permiten un movimiento en los 3 ejes coordenados x, y y z para modificar la posi-
cion del efector final, por su contruccion solo permiten el moviemiento el los tres
ejes de posicion, los 3 actuadores pueden ser lineales o rotativos para este tipo de
robots. Existen algunas ventajas en la configuracion delta para los robots, entre
ellas pueden encontrarse que son una excelente plataforma para tareas de tomar
y poner (pick-and-place), su relacion de potencia-peso es alta, una consideradcion
mas es que su construccion es mas delgada o pequena y la carga que pueden so-
portar es grande superando por mucho a los robots de cadena cinematica abierta
[27].En la figura 4.1 puede verse el dispositivo utilizado en el desarrollo de este
proyecto.
Las caracterısticas del Falcon R© son mostradas en la tabla 4.1.
Volumen de Trabajo 4”x 4”x 4”Capacidad de Fuerza >2lb
Resolucion de Posicion >400dpiDesconexion de la agarradera <1 segundo, tiempo de cambio
Interfaz de comunicacion USB 2.0Tamano 9”x 9”x9”
Peso 4lbConsumo de energıa 30W, 100-240V, 50-60Hz
Tabla 4.1: Caracterısticas del dispositivo Falcon R©
Aunada a estas caracterısticas, se puede resaltar el precio del dispositivo, el cual
ronda los $250 dolares estadounidenses, siendo ası unos de los dispositivos hapticos
de escritorio mas economicos en su tipo. A continuacion se ofrece una compara-
cion en precios y caracterısticas con otros dispositivos similares en capacidades
y funciones. Ver tabla 4.2, [28]. Entre lo mas destacable se tiene la relacion
costo-beneficio que aporta el dispositivo.
El Falcon R© como bien se menciono anteriormente utiliza el protocolo USB para su
conexion con la computadora que lo controla, el dispositivo recibe los comandos
deseados y los interpreta con el firmware que posee; la lectura de datos de los
sensores y encoder es transmitida de vuelta a la computadorade control de la
misma manera. El fabricante NOVINT R© ha liberado un SDK que trabaja con el
sistema operativo Windows unicamente, sin embargo hay una serie de bibliotecas
Dispositivo Haptico 51
Novint Falcon SensAblePhantom
Nintendo Wii-Mote
GDL 3 6 de 6Ejes de movimiento x, y y z x, y, z, roll, pitch
y yawx, y, z, roll, pitchy yaw
Exploracion de formas3D (retroalimentacioncinestesica)
Si Si No
Dinamica 3D Realista (per-cepcion de peso, momento,inercia, etc. para el usuario)
Si Si No
Precio para el Usuario (pre-cios en dolares americanos)
$250.00 de $2000 a$10000
Consola $200
Agarradera (handler) Muchas va-riantes
Pluma/Stylus WiiMote
Conexion/Comunicacion USB2.0 FireWire BluetoothControl 3D comparable alde la vida diaria
Si Si En algunasaplicaciones
Alta precision deun contro3D a un precio asequible
Si No No
Alta fidelidad de retroali-mentacion de fuerzas a unprecio asequible
Si No No
Tabla 4.2: Comparacion del Falcon R© con dispositivos de uso/caracterısticassimilares
de codigo abierto que nos permiten utilizar el dispositivo en multiples plataformas
como lo son: libnifalcon [29], chai3d [30], h3Dapi [31], las cuales trabajan en el
sistema operativo Linux ademas de Windows.
La interfaz utiliza una velocidad de muestreo de 1KHz, esto de manera ideal, se ha
observado en multiples trabajos que la velocidad 1KHz no siempre puede obtenerse
a traves de USB [32], fluctuando estas entre 800Hz y 1KHz dependiendo de la
carga del controlador de la computadora, por lo cual el firmware mantiene las
fuerzas comandadas por 100ms cuando no recibe datos o hasta que la informacion
varıe.
4.1.1. Interfaces Hapticas
Una interfaz haptica puede ser, como se menciona en 1, para realidad virtual (RV)
o para un sistema de teleoperacion. Independientemente de cual sea el caso, hay
Dispositivo Haptico 52
ciertos factores que intervienen en este tipo de interfaz, tomando en cuenta que la
funcion de esta es la interaccion del usuario a traves de un dispositivo haptico con el
mundo virtual o el ambiente teleoperado, esta interaccion provee retroalimentacion
de fuerzas en el canal cinestesico y tactil del operador. Hay 3 elementos principales:
el operador, el dispositivo haptico y el sistema de renderizado y de computo [33].
Operador: es el individuo que interactua con el ambiente virtual o teleope-
rado a traves del dispositivo haptico.
Dispositivo haptico: encargado de desplegar informacion proveniente del
mundo virtual, reflejada sobre el operador, ya sea en forma de estimulacion
cinestecica o en estimulacion tactil.
Sistema de computo: encargado de calcular y procesar los modelos matemati-
cos y procedimientos graficos (para mundos virtuales) y de sensado (en te-
leoperacion). Este sistema se encarga de leer las posiciones y veocidades
provenientes del dispositivo haptico ası como de calcular y enviar los pares
de control.
Renderizado haptico: proceso mediante el cual se generan las senales de
control sobre dispositivos hapticos para generar el vector de fuerza calcu-
lada/sensada en el ambiente virtual/teleoperado sobre el efector final del
dispositivo haptico.
Servo: conformado por los mecanismos y la parte electronica de potencia
y comunicacion que permiten al dispositivo haptico generar las fuerzasde
reaccion calculadas por el sistema de computo.
En la figura 4.2 se presentan los elementos de una interfaz haptica.
Ademas en la figura se mencionan las interrelaciones importantes de la interfaz
haptica, estas, se decriben a continuacion:
El acoplamiento cinestesico humano-dispositivo haptico (en contacto): en es-
te, el operador cambia el estado del dispositivo desplazando o manipulando
los mecanismos del dispositivo. El dispositivo a su vez retroalimenta al ope-
rador fuerzas o estimulacion tactil virtuales sobre las terminales nerviosas
y/o articulaciones.
Dispositivo Haptico 53
Figura 4.2: Principales componentes de una interfaz haptica y sus interrela-ciones, [33]
El acoplamiento dispositivo-sistema de computo (en contacto): se representa
como un sistema de control donde el dispositivo haptico despliega la fuerza
de contacto calculada en el sistema de computo en el mundo real hacia
el operador ademas de capturar la posicion y velocidad hacia el sistema
de computodesdedonde recibe las correspondientes acciones e control de los
actuadores.
El acoplamiento visual-auditivo (sin contacto): este se presenta debido a la
renderizacion 3D en el caso de interaccion con ambientes virtuales o debido
a la realimentacion visual por parte del sistema teleoperado, y sea fısica o a
traves de camaras.
El sistema de control haptico es, por lo tanto, responsable de la estimulacion
cinestesica hacia el humano.
Hay ciertos puntos importantes que se deben tomar en cuenta al momento de hacer
una aplicacion de usuario que incluya una interfaz haptica, entre las caracterısticas
mas importantes esta la siguiente: El sistema o subsistema de comunicacion de la
aplicacion debe ser capaz de enviar informacion al dispositivo haptico a 1KHz, [34],
Dispositivo Haptico 54
o tratando de alcanzar esta velocidad, esto es debido a las funciones de percepcion
del usuario como tal, si la frecuencia de refresco del dispositivo es menor a 1Khz,
el usuario percibiria una fuerza no contante, es decir, el realismo o dinamismo de
la aplicacion no serıa el adecuado.
Habiendo mencionado lospuntos basicos para entender las capacidades del dispo-
sitivo hatico Falcon y las caracteıstica de una interfaz haptica, a continuacion se
hablara de su conexion, programacion y control.
4.2. Control del Dispositivo Haptico
Anteriormente se mencionaron 4 plataformas de desarrollo para el control del
dispositivo, en su mayorıa de cıdigo abierto y multiplataforma, siendo esta una
ventaja por encima del SDK oficial.
Para el desarrolo de esta tesis se utilizo la plataforma de codigo abierto CHAI3D,
la cual tiene soporte para el dispositivo en la version para Windows de 32 bits,
esta se programa a trves de una solucion de Visual Studio en lenguaje C++.
Las bibliotecas de CHAI3d utilizadas se centran en la interaccion de los dispositivos
con ambientes virtuales, cuenta con una serie de ejemplos y aplicaciones para
que el usuario se familiarice con los metodos de programacion y a partir de esto
pueda desarrollar aplicaciones. La parte grafica de los ejemplos y apicaciones de
los ambientes virtuales de muestra utilizan openGL.
Aunado al uso de las bibliotecas propias de CHAI, se utilizan bibliotecas ma-
tematicas y parte de las bibliotecas que se incluyen en el SDK, esto para hacer
mas eficiente el uso del dispositivo mediante programacion, la union de bibliotecas
que se uso para este desarrollo fue realizada por [33].
Para aprender a utilizar el dispositivo haptico se trabajo con una aplicacion de las
bibliotecas de CHAI, la aplicacion es Devices, esta aplicacion hace la identificacion
de los dispositivos conectadosa la computadora, les asigna un numero y un proxy en
pantalla y es capaz de renderizar un ambiente viscoso, a partir de esa aplicacion se
creo una nueva, en donde identificamos el dispositivo, posteriormente renderizamos
una esfera en el centro del volumen de trabajo del dispositivo que el usuario es
capaz de percibir, gracias a esta renderizacion haptica. Dicho ejemplo se explica a
continuacion.
Dispositivo Haptico 55
4.2.1. Experimento con Dispositivo Haptico
Como primer experimento, haciendo uso de lo que se habıa aprendido del dispo-
sitivo haptico, se realizo el trabajo denominado Teleoperacion de un robot movil
diferencial mediante un dispositivo haptico con retroalimentacion visual el cual
fue presentado en el 11Congreso Nacional de Mecatronica.
Para llevar a cabo este trabajo, este se dividio en subsistemas, por un lado el
subsistema maestro compuesto por el dispositivo haptico y una computadora; por
el otro lado el subsistema esclavo, compuesto por el robot movil diferencial y una
netbook de abordo. La comunicacion entre las dos computadoras se realizo dema-
nera inalambrica con modulos Xbee, los cuales permiten una counicacion serial
limpia.
Figura 4.3: Diagrama de flujo Maestro
En la figura 4.3 se aprecia el diagrama de flujo del funcionamiento del programa
para el subsistema maestro. Como se puede ver, este programa solo hace una com-
paracion de la localizacion del proxy con respecto una circunferencia y dependiendo
de donde se encutre este, envıa los datos de posicion via serial.
La ecuacion 4.1 presenta la ecuacion comparativa del punto del efector final en el
volumende de trabajo con respecto el volumen de la esfera preestablecida.
ϕ = (x− xd)2 + (y − yd)2 − r2 (4.1)
Dispositivo Haptico 56
donde:
ϕ :determina la distancia de un punto con respecto al contorno del cırculo.
x y y: determinanla posicion del efector final.
xd y yd: determinan la posicion del centro de la circunferencia.
r: radio de la circunferencia.
Figura 4.4: Cırculo
Por su parte, el subsistema esclavo recibe los datos de posicion del dispositivo
haptico y realiza su movimiento dependiendo de estos, figura 4.5.
Gracias al uso y union de las bibliotecas para el uso del Falcon podemos reducir la
programacion a bases meramente matematicas y de esta manera llevar a cabo una
programacion mas sencilla. Se expresa la esfera en el centro del volumen de trabajo
mediante la ecuacion pertinente, posteriormente se le asignan propiedades fısicas
para su interaccion con el proxy correspondiente al dispositivo haptico y ası al
usuario, por lo tanto se requiere que esta varıe con respecto al tiempo, ası que se
considera la siguiente ecuacion ordinaria de segundo orden:
ϕ(x, y, z) + bϕ(x, y, z) + kϕ(x, y, z) = 0 (4.2)
donde
Dispositivo Haptico 57
Figura 4.5: Diagrama de flujo Esclavo
b y k son las constantes escalares positivas que representan el amortigua-
miento y elasticidad del sistema respectivamente
ϕ y ϕ son la primera y segunda derivada temporal del cırculo ϕ ( 4.1).
El sistema permite que ϕ sea distinta de cero alo largo del tiempo, dada la con-
figruacion de la ecuacion, el sistema se comporta como un sistema masa-resorte-
amortiguador.
De esta manera se represena un objeto virtual esferico de radio r al centro del
volumen de trabajo, es decir, a las coordenadas (0, 0, 0) en x, y y z respectivamente.
Una vez definido dicho objeto, ecuacion 4.2, dicho objeto se convierte en un objeto
dinamico, con la posibilidad de modificar su estado a traves del tiempo. El interes
en definir un objetovirtual dinamico es permitir a un agente externo, en este caso
el usuario, que modifique el estado del objeto, por lo que es necesario introducir
una fuerza externa al sistema para asi “deformarlo”.
El modelo matematico quedarıa de la siguiente forma:
Dispositivo Haptico 58
− F = ϕ(x, y, z) + bϕ(x, y, z) + kϕ(x, y, z) (4.3)
donde:
F : es la fuerza exogena capaz de modificar el estado del sistema, esta puede
ser modificada por el usuario mediante el dispositivo haptico. Una propiedad
importante de la ecuacion 4.3 es qe los cambios solo suceden en direccion
normal a la superficie definia por 4.2, es decir, en direccion del vector normal.
La representacion de fuerzas en el espacio articular del dispositivo haptico se logra
mediante la cinematica directa de este, por lo que es necesario pasar de un espacio
cartesiano R3 a un espacio artıcular q en R3. Para esto, se utilizan las bibliotecas
del SDK que proporciona Novint R© las cuales mediante el uso de vectores de fuerza
pueden representar esta en el espacio articular del robot.
Capıtulo 5
Plataforma Experimental
En el presente capıtulo se muestran los elementos que componen al sistema de
teleoperacion con retroalimentacion haptica del cuadrotor ası como la descripcion
detallada de los elementos deprogramacion que se utilizan, tambien se habla de
las herramientas computacionales utilizadas para su desarrollo y de los aspectos
tecnicos.
Las aplicaciones de teleoperacion que emplean interfaces hapticas involucran la
mecanica del dispositivo haptico, los algoritmos de control, representados por los
modelos matematicos en el sistema teleoperado (en este caso el sistema de control
embebido del cuadrotor) y del dispositivo haptico, la programacion de la aplicacion
como lo es la comunicacion con los dispositivos y la representacion de fuerzas y
posiciones en estos.
5.1. Componentes del Sistema
Los dispositivos principales utilizados en el proyecto son (figura 5.1):
Dispositivo haptico Falcon.
Equipo de computo, computadora portatil con sistema operativo Windows.
Cuadrotor AR.Drone.
59
Plataforma experimental 60
Figura 5.1: Elementos basicos del sistema
Para el desarrollo de este trabajo se utilizaron diferentes partes que anteriormente
se habıan programado, las cuales al ser programadas de manera modular, fueron
ensambladas mediante el uso de LabView.
Como se presento en el capıtulo 4, el uso del dispositivo haptico se reduce a pro-
gramacion mediante el uso de las herramientas disponibles, en la elaboracion del
subsistema haptico de este trabajo se retoman los experimentos hechos anterior-
mente y se utiliza una DLL (Biblioteca de enlace dinamico) con funciones DLL
para leer los datos de posicion del falcon y escribir los datos de fuerza en el dispo-
sitivo.
5.2. Lazos: Cinestesico, Control, Servo y Visual
El sistema 5.2 consta de varios lazos, el cinestesico, el de control, el lazo servo y
el visual. Se hablara de cada uno de estos con referencia a este proyecto especıfi-
camente.
Lazo Cinestesico: se logra de la interaccion del usuario con el dispositivo
haptico, la manipulacion del efector final del dispositivo genera cambios de
posicion que se envıan a la computadora, la cual a su vez, determina la accion
deseada del usuario y la envıa a la aeronave. Para el caso de este trabajo
solamente se modificara la poscion del AR.Drone en el plano x, y y la altura,
con los ejes coordenados del Falcon x, z y y respectivamente. Se dice lazo
cinestesico debido a las fuerzas de interaccion existentes, ya sean inducidas
Plataforma experimental 61
Figura 5.2: Lazos internos del sistema
por el usuario para lograr la teleoperacion o sean de vuelta por parte del
dispositivo haptico hacia el operador para retroalimentar fuerzas del sistema
teleoperado. La frecuencia de trabajo de este lazo debe rondar 1Khz para
que la percepcion del usuario no se veamenguada.
Lazo de Control: este se da entre la el dispositivo haptico y la computadora
ya que el dispositivo enviara a la computadora los datos de control para
la teleoperacion y a su vezrecibira la informacion de retroalimentacion de
fuerzas para ser desplegada al usuario.
Lazo Servo: en este la computadora envıa los datos de velocidad que se
habran de inducir en los motores del cuadrotor, el cuadrotor cuenta con un
sistema de control interno que le permite volar de manera estable, las senales
de la computadora le sirven como guıa en los movimientos que tiene que hacer
para posicionarse como sea que el usuario desee en el espacio 3D. Losdatos
de navegacion de la aeronave son enviados por Wi-Fi hacia la computadora
para ser procesados. La velocidad de trabajo de este lazo ronda los 200MHz
gracias a la comunicacion Wi-Fi y el sistema operativo de tiempo real de
abordo.
Lazo Visual: es el lazo existente entre el usuario y el cuadrotor, no hay
ningun tipo de interaccion como tal, este lazo solo existe para darle una
referencia visual al operador de lo que esta pasando con el dispositivo que se
esta teleoperando. El lazo visual puede existir de manera directa, es decir, que
Plataforma experimental 62
el usuario tenga a la vista la aeronave que esta pilotando, o bien, puede existir
de manera indirecta, como por ejemplo, con una transmision de video desde
la aeronave, la cual se despliega en la computadora para ası establecer una
referencia visual de pilotaje para el ususario, en el caso de la transmision de
video, esta tendrıa que funcionar al menos a 24Hz para que la percepcion del
usuario no se vea afectada, en este caso, debido a las caracterısticas propias
del AR.Drone solo se puede cumplir esta demanda con la transmision de
video de la camara vertical, en cuanto a la camara frontal, la transmision de
video serıa de 18MHz.
Un diagrama de flujo de la aplicacion completa puede verse en la figura 5.3. En
este se presenta la estructura basica de la aplicacion completa
5.2.1. Flujo de Informacion
La informacion necesaria para la creacion de fuerzas de retroalimentacion haptica
proviene del dispositivo haptico, del usuario, del sistema de computo y de los datos
de navegacion del cuadrotor. El flujo de informacion entre los distintos dispositivos
y componentes se comentan a continuacion:
Paso 1 El piloto/operador mueve el efector final del dispositivo haptico, de
esta maner genera nuevas posiciones articulares
Paso 2 Dichas posiciones son sensadas mediante los encoders del dispositivo
Paso 3 Los datos de posicion del dispositivo son enviados a la computadora
para su procesamiento
Paso 4 El programa recibe los datos del dispositivo y los guarda en localidades
de memoria para su posterior utilizacion
Paso 5 El programa calcula las variables de posicion que seran enviadas al
cuadrotor
Paso 6 El cuadrotor recibe los datos de la variacion de la posicion y con estos
varıa la orientacion del dispositivo
Plataforma experimental 63
Figura 5.3: Diagrama de flujo general
Paso 7 El desplazamiento del dispositivo genera un cambio en la velocidad,
la velocidad ası como otros datos de navegacion del cuadrotor don
sensados mediante la IMU, dichos datos son enviados a la computadora
Plataforma experimental 64
Paso 8 Los datos de navegacion son procesados para conocer el estado de la ae-
ronave, se realiza una comparacion en la velocidad actual de cuadrotor
y los datos enviados anteriormente
Paso 9 Si existe una diferencia significativa, entre el cambio de posicion desea-
do en la aeronave y los datos sensados, se enviara una senal de control
al dispositivo haptico, esta,traducia en un vector de fuerza
Paso 10 Los datos de control recibidos en voltajes que se envıan como pares de
control al dispositivo
Paso 11 El usuario percibe fuerzas de reaccion debido a su acoplaminetoen el
dispositivo haptico
Paso 12 El operador recibe una realimentacion visual, directa o indirecta, del
dispositivo en la tarea que realiza
5.3. Programacion del Sistema
Los datos enviados para el control de la posicon del cuadrotor son tomados direc-
tamente de una comparacion de la posicion del proxy del disositivo haptico con
respecto a su origen. El algoritmo para este calculo es el mismo que el ejemplo
mostrado en el capıtulo 4. Ademas de la comparativa de posicion del proxy del
dispositivo haptico, es necesario tener cierto control sobre el dispositivo, ya que si
de momento el operador deja libremente el efector final, es decir, sin ningun tipo
de restriccion, el movimiento propio del dispositivo causado por su propio peso
podrıa afectar la teleoperacion, ya que aun cuando el operador no este haciendo
uso del dispositivo podrıan estar enviandose datos no deseados.
A continuacion se muestra el diagrama de flujo del algoritmo empleado para el
control propio del dispositivo haptico:
Mediante la manipulacion del dispositivo haptico por parte del operador se obtie-
nen las variables de control para la posicion de cuadrotor. Las variables de posicion
seran entonces x, z y y del dispositivo, con las cuales se podran manipular x, y y
z del cuadrotor respectivamete.
En la figura 5.5 se observa un diagrama de control del propio del cuadrotor, hay
que recordar que los datos del ususario, que en este caso ya no provienen de un
Plataforma experimental 65
Figura 5.4: Diagrama de flujo, accion del dispositivo haptico
Figura 5.5: Diagrama de control del AR.Drone [35]
dispositivo movil si no de la computadora que sera nuestra estacion de tierra y
que a su vez procesa los datos del dispositivo haptico, interactuan unicamente con
la maquina de estados finitos del controlador de la aeronave, mas sin embargo, se
pueden recibir todos los datos de navegacion para su procesamiento.
En la figura 5.5 se presenta el esquema de control interno del del AR.Drone el
cual realiza la auto estabilizacion del sistema y conduce la aeronave a partir de 4
senales de control que recibe de la estacion de tierra. Dichas senales de control son
las siguientes:
Plataforma experimental 66
rx: giro con respecto al eje x, Roll
ry: giro con respecto al eje y, Pitch
rz: ganancia de los motores para el control de altura en z, Thrust
rψ: giro con respecto al eje z, Yaw
Para el proyecto presentado unicamente utilizaremos las entradas de control de
rx, ry y rz, para controlar la posicion y elevacion de la aeronave, no se utiliza
la entrada de control de Yaw por la construccion y capacidades del dispositivo
haptico, para esto seria necesario un dispositivo que permita mas entradas o GDL.
En el diagrama de control anterior se puede ver ademas el por que del sistema
subactuado, a la entrada del bloque de control del cuadrotor tenemos 4 variables,
3 de posicion y 1 de orientacion, pero, a la salida tenemos 6 variables, 3 de posicion
y 3 de orientacion. Tambien se aprecia la salida de los datos de navegacion de vuelta
a control de guiado del usuario.
Figura 5.6: Diagrama de flujo, datos del Cuadrotor
Plataforma experimental 67
Un diagrama de flujo de la programacion de los datos de vuelo de la aeronave
puede observarse en la figura 5.6. El envıo de datos de posicion y de recepcion
de datos de navegacion de la aeronave se realiza a traves de Wi-Fi, ademas de
ser lograda gracias a las bibliotecas de la API que proporciona Parrot. Multiples
bibliotecas de procesamiento de los datos, tanto de navegacion como de video,
pueden ser utilizadas.
Desafortunadamente la platadorma AR.Drone es de codigo cerrado, unicamente
se tiene acceso a la informacion que el fabricante provee desde la computadora de
abordo y unicamente se puede acceder a esta mediante Wi-Fi. Existen al menos
dos desarrollos de codigo abierto para la plataforma ROS1 y URBI2, los cuales
sustituyen el firmware de abordo y permiten un acceso total a los sensores y
controladores del sistema.
La integracion final se realizo utilizando el software LabView y el ToolKit de
ArDrone, ademas se utilizo una DLL para utilizar el dispositivo haptico Falcon.
A continuacuon se presenta la interfaz de usuario desarrollada en este trabajo.
5.4. Interfaz de Usuario
Con la programacion grafica y modular de LabView ası como con los blouqes del
toolkit de ArDrone se logra establecer la comunicacion TCP/IP que se requiere
para controlar el ArDrone. Una muestra de la aplicacion puede verse en la figura
5.7.
El uso del dispositivo haptico se logra mediante el uso de una biblioteca de en-
lace dinamico, la cual, resume las funciones a utilizar y provee la informacion en
variables reconocibles dentro del ambiente de Labview.
Las diferentes partes de la interfaz estan especificadas con etiquetas, y son las
siguientes:
Posicion Falcon, aqui se despliega la informacion de posicion en x, y y z del
dispositivo.
1Robotics Operating System2Plataforma de software de codigo abierto para conrolar robots o sistemas complejos en
general
Plataforma experimental 68
Figura 5.7: Inrterfaz de usuario
Kp Roll, esta es una barra deslizadora para el usuario que permite ajustar
el valor de la ganancia proporcional que afecta al eje x del dispositivo.
Kd Roll, esta es una barra deslizadora para el usuario que permite ajustar
el valor de la ganancia diferencial que afecta al eje x del dispositivo.
Kp Pitch, esta es una barra deslizadora para el usuario que permite ajustar
el valor de la ganancia proporcional que afecta al eje y del dispositivo.
Kd Pitch, esta es una barra deslizadora para el usuario que permite ajustar
el valor de la ganancia proporcional que afecta al eje y del dispositivo.
Ganancia Haptica Thrust, es una barra deslizante que permite controlar la
ganancia de control para la retroalimentacion haptica en el eje z.
Roll, muestra la ganancia con respecto al eje x enviada a los motores izquier-
dos y derechos.
Pitch, muestra la ganancia con respecto al eje y enviada a los motores de-
lanteros y traseros.
Thrust, muestra la ganancia enviada a los cuatro motores para controlar la
altura de vuelo de la aeronave.
NavData Out, Muestra los datos de navegacion, o informacion de vuelo, que
se recibe desde la aeronave, en este bloque se muestra el estado del control,
el porcentaje de la baterıa, el angulo de Pitch en grados, el angulo de Roll
en grados, el angulo de Yaw en grados, la altura de vuelo en cm, la velocidad
Plataforma experimental 69
de desplazamiento en x, la velocidad de desplazamiento en y, la velocidad
de desplazamiento en z y el tipo de deteccion emleado en la camara.
Hover, este es un boton con enclavamiento que permite acticar el modo
Hovering de vuelo.
Take Off/Land, boton con enclavamiento que permite despegar y aterrizar
la aeronave.
Emergency Landing, boton con enclavamiento que permite entrar en modo
de aterrizaje de emergencia automatico al cuadrotor.
Battery Remaining, cuadro que muestra el p¿orcentaje de bateria restante
de la aeronave.
Stop, boton para detener la aplicacion de control del cuadrotor.
Video Stream, cuadro de video, en este se desplega el video tomado en el
ArDrone.
Stop Video, boton para detener la transmision de video.
Las funciones de la biblioteca de enlace dinamico utilizadas dentro de la aplicacion
final son las siguientes:
dll init, realiza la inicializazion del dsispositivo haptico.
dll getX, se obtiene la posicion en x del dispositivo.
dll getY, se obtiene la posicion en y del dispositivo.
dll getZ, se obtiene la posicion en z del dispositivo.
dll getXp, se obtiene la velocidad del dispositivo en el eje x.
dll getZp, se obtiene la velocidad del dispositivo en el eje z.
dll setForce, envıa la informacion del vectoer de fuerza a desplegar en el
dispositivo.
Plataforma experimental 70
Tal como se propuso desde un principio, el dispositivo haptico tiene habilitado un
resorte al centro de su area de trabajo, dicho resorte actua en los ejes x y y, de
esta forma el dispositivo tiende a llevar al usuario al centro y evitar enviar datos
de posicion a la aeronave que puedan entonrpecer o perjudicar la teleoperacion,
se utilizan las barras deslizantes para aumentar o disminuir el efecto del resorte
o la fuerza con la que el usuario es llevado al centro. Dicho funcionamiento es
habilitado dentro de LabView tomando en cuenta los valores configruados para las
ganancias y la posicion del dispositivo. La programacion en bloques de LabView
para representar el resorte en el Falcon puede verse en la figura 5.8.
Figura 5.8: Programacion grafica del resorte en LabView
La parte haptica de la teleoperacion puede funcionar en los 3 ejes, pero, debido a
que la aeronave calcula su propio velocidad mediante la integracion de los datos
de aceleracion obtenidos por el acelerometro que posee, estos tienen errores de
integracion incrementales en el tiempo, lo cual es poco funcional para los experi-
mentos, sin embargo, la velocidad en el eje x de la aeronavce se calcula a partir de
los datos obtenidos por los sensores ultrasonicos por lo cual es confiable para hacer
el ejercicio de retroalimentacion de fuerzas, esta se logra comparando la los cambio
Plataforma experimental 71
de altura y representandoselos al usuario para su compensacion. La programacion
grafica se presenta en la figura 5.9.
Figura 5.9: Implementacion de la retroalimentacion haptica en LabView
La programacion grafica y configuracion de la aplicacion final se presenta en la
figura 5.10, se tienen 2 ciclos principales, el de video y el de control, y un bloque
externo, el bloque externo es un bloque dll de inicializacion del dispositivo haptico
y se inicia al princiıo de la aplicacion, en el ciclo de video se inicializa la conexion
para la transmision de video desde el ArDrone, el ciclo mas grande es el ciclo
principal, en este se entabla la conexion de control del cuadrotor y se inicia el
bloque para el recepcion de los datos de navegacion.
La aplicacion final es un archivo ejecutable de Windows (.exe), los requisitos para
utilizar la aplicacio son: tener instalados los controladores del dispositivo Falcon
que provee directamente el fabricante Novint, tener la computadora conectada al
ArDrone mediante Wi-Fi a la red que la aeronave crea.
Plataforma experimental 72
Figura 5.10: Bloque completo del programa
Capıtulo 6
Resultados Obtenidos
El objetivo principal de este trabajo es disenar en implementar un sistemade te-
leoperacion para un cuadrotor mediante un disposotivo haptico, en el cual, se
realimentarıan fuerzas sensadas en el vehıculo, todo esto, manteniendo el cuadro-
tor estable en su operacion. Para lograr lo anterior se plantearon algunos objetivos
especıficos, a los cuales se dio solucion como a continuacion se comentara.
Se aprendio a utilizar el dispositivo haptico Falcon Novint mediante el uso
de bibliotecas de codigo abierto ademas de el SDK proporcionado por el
fabricante. Se realizaron varios ejercicios con el dispositivo entre los que se
encuentran:
• Representacion de un objeto virtual (esfera) y asignacion de propie-
dades fısicas para lograr una interaccion con el usuario mediante el
dispositivo. Este primer experimento carecıa de fısica realista, la esfera
representaba un objeto indeformable y unicamente existıa una reali-
mentacion de fuerzas normal al objeto.
• Seguimiento de una trayectoria circular en un plano del dispositivo,
ademas se implemento un controlador basado en el error, cuando el
usuario tomaba el efector final del robot y modificaba la trayectoria,
eldispositivo compensaba la fuerza del usuario
• Se programo un campo portencial artificial en el dispositivo, primero
repulsivo y luego atractivo, la principal caracterıstica del campo pro-
gramado es su semejanza con un sistema masa-resorte-amortiguador.
73
Resultados Obtenidos 74
• Representacion de un objeto virtual mediante su modelo matematico
ademas de tener una realimentacion de fuerzas mas realista con el uso
de descomposicion ortogonal para la representacion de fuerzas en el
dispositivo haptico, se pueden sentir deformaciones del objeto virtual
asi como rugosidad. La realimentacion de fuerzas no solo se calcula
en sentido normal del objeto, si no ademas en sentido tangencial y en
vectores compuestos por estos.
• Finalmente se llevo a cabo la teleoperacion de un robot movil dife-
rencial a traves del dispositivo haptico, la programacion se realizo de
manera modular, esto de forma que el sistema fuera capaz de adaptar-
se sin menores cambios para teleoperar otros dispositivos, lo cual, se
realizo despues con un helicoptero de juguete y un brazo manipulador.
Se adquirieron las bases matematicas para entender el modelo dinamico clasi-
co del cuadrotor. Se trabajo el modelo visto como un PVTOL doble, de esta
manera se tienen las 4 entradas de control: Roll, P itchY aw y Thrust. Se
estudio el modelo, se programo en Matlab R© y se realizo la simulacion de
este, variando la orientacion para obtener un cambio en la posicion x, y de
la aeronave.
Una vez que se tuvo acceso al cuadrotor, en este caso fue el AR.Drone de
Parrot, se solicito el acceso para hacer uso del SDK oficial el cual tiene ciertas
restricciones y solo estpa disponible para desarrolladores. Una vez que se
tuvo acceso al SDK se estudiaron las bibliotecas de este y se establecio una
conexion con una computadora, en vez de un dispositivo movil (telefono
inteligente, tableta, etc.), y se realizo un programa de ejemplo en el que se
obtuvieran los datos de navegacion, en los cuales se incluye la velocidad de
desplazamiento que calcula la computadora de abordo del cuadrotor, este
calculo de velocidad se basa en la informacion de inclinacion del giroscopo,
la velocidad sensada en el acelerometro y en la informacion de la camara
vertical.
Como se menciono anteriormente, el dispositivo haptico no podıa estar li-
bre, ya que al estar en algun punto aleatorio, y desconocido en un principio,
del espacio de trabajo no se podrıa operar la aeronave. El control que se
le programo al dispositivo fue un resorte acoplado al centro del volumen de
trabajo, el cual, mantiene al dispositivo en el punto (0, 0, 0) de sus coorde-
nadas cartesianas y solamente cambia su posicion cuando es manipulada por
Resultados Obtenidos 75
el usuario, en cuyo caso tambien varıa la posicion del cuadrotor, y cuan-
do recibe informacion desde la aeronave que indica que se esta desplazando
sin ası haberlo solicitado, cambia la posicion para que el operador pueda
compensar la perturbacion de la aeronave.
La aplicacion final despliega informacion de navegacion de la aeronave ası co-
mo un flujo de video que recibe por parte del cuadrotor, con el cual se esta-
blece el lazo visual con el operador.
La aplicacion controla al cuadrotor basado en las senales de posicion del
dispositivo haptico y al mismo tiempo controla la posicion del dispositivo
haptico basado en las senales de velocidad del cuadrotor. Lo anterior selogra
estableciendo estados de reposo para ambos dispositivos, procurando que
despues de cada accion del operador o perturbacion en la aeronave ambos
tiendan su estado de reposo.
Se realizaron pruebas de pilotaje indoor (dentro de un recinto libre de viento
y en condiciones controladas). En estas pruebas se demostro que se puede
operar la aeronave y al mismo tiempo recibir realimentacion de fuerzas sin
que esto afecte la teleoperacion.
Se realizaron pruebas de pilotaje outdoor, es decir, fuera de un recinto con
condiciones controladas. En estas pruebas se demostro que se puede operar
la aeronave y al mismo tiempo recibir realimentacion de fuerzas sin que esto
afecte la teleoperacion. Ademas de que es posible percibir en el mando hapti-
co cuando la aeronave es afectada por un agente externo (viento, obstaculo,
etc.) para que el usuario compense dicha perturbacion y mejore su capacidad
de teleoperacion.
Conclusiones y Trabajo a Futuro
El uso de dispositivos hapticos en tareas de teleoperacion de robots es sin duda de
gran ayuda, cuando se mejora la percepcion del operador del ambiente teleoperado
se logra una mejor coordinacion de este y por lo tanto un mejor desempeno en la
tarearealizada.
El uso de vehıculos aereos no tripulados para uso no militar es cada dıa mas am-
plio y asequible. Actualmente pueden encontrarse UAVs realizando tareas de riego
en el campo, son utilizados para fotografıa y videograbacion aerea en espacios
reducidos, lo cual resulta de gran ayuda cuando se tienen que realizar tomas en
espacios con edificios altos, pueden tambien encontrarse para exploracion en zo-
nas de desastre. En 2012, durante la catastrofe nuclear de Fukushima, Japon, se
utilizaron cuadrotores para explorar los reactores nucleares y para entrar en zonas
en extremo peligrosas para los seres humanos. Al brindarle a los operadores la
posibilidad de sentir las perturbaciones que una aeronave esta experimentado, po-
siblemente fuera de su vista, se garantiza un mejor desempeno y aprovechamiento
de esta herramienta para la realizacion de diversas tareas.
El uso de programas y bibliotecas de codigo abierto en el desarrollo de este pro-
yecto fueron fundamentales para el exito de este, ademas de tener acceso al cono-
cimiento completo de los dispositivos que se estan utilizando, se garantiza que el
conocimiento pueda reproducirse y mejorarse mendiante la participacion de otros
desarrolladores y estudiosos que esten interesados en el tema.
Se puede concluir que los objetivos planteados en este trabajo se llevaron a ca-
bo de manera exitosa. Se diseno un sistema modular para la teleoperacion de un
cuadrotor, probando ademas que se puede acoplar otro sistema para ser teleope-
rado o incluso otro tipo de mando para pilotar el cuadrotor. Se verifico de manera
experimental la utilidad del sistema de teleoperacion.
76
Conclusiones 77
6.1. Publicaciones
Los artıculos publicados derivados de este trabajo son los siguientes:
Butron-Castaneda Marco, Gonzalez-Garcıa Luis, Sepulveda-Cervantes Ga-
briel, Portilla-Flores Edgar. “Teleoperacion de un Robot Movil Diferencial
Mediante un Dispositivo Haptico con Retroalimentacion Visual”, 11Congreso
Nacional de Mecatronica. Villahermosa Tabasco, Octubre de 2012.
Ponce de Leon-Zarate Gerardo, Butron-Castaneda Marco, Sepulveda-Cervantes
Gabriel, Portilla-Flores Edgar. “Deteccion de Fuerza Contra-Electro-Motriz
para el control de un Motor Brushless”, 11Congreso Nacional de Mecatroni-
ca. Villahermosa Tabasco, Octubre de 2012.
6.2. Trabajo a Futuro
Se han desarrollado herramientas que permiten la integracion de multipes
dispositivos de teleoperacion y robots. Gracias a esto se puede extender el
uso de dispositivos hapticos a otras aplicaciones. Los posibles trabajos de
mejoramiento y desarrollo son:
• Implementar un dispositivo haptico con mas GDL que brinde una mejor
interaccion con el dispositivo
• Programar el vehıculo aereo mediante el uso de plataformas de desa-
rrollo modulares como lo son ROS y URBI para lograr un control total
de la aeronave
• Migrar el sistema de teleoperacion al sistema operativo Linux, esto,
para mejorar el desempeno del sistemaya que ası podrıan mejorarse los
tiempos de comunicacion y a su vez el control de los dispositivos.
• Implementar un cuadrotor de codigo abierto, el cual, permita la modi-
ficacion de los algoritmos de control que gobiernan su estabilidad, para
ası probar los algoritmos estudiados.
• Implementar un sistema de vision artıficial para conocer la posicion
de la aeronave en todo momento y mejorar el algoritmo de control del
sistema.
Conclusiones 78
La realizacion de los trabajos a furuto aquı presentados permitirıa el desa-
rrollo de otros trabajos de maestrıa y permitirıan tambien, al que escri-
be, continuar con estudios de doctorado asegurando ası un mejor desarrollo
academico y el desarrollo de conocimiento.
Bibliografıa
[1] Seth; Vidyasagar-M. Spong, Mark; Hutchinson. Robot Modeling and
Control. John Wiley and Sons, 2006.
[2] Kuka Robotics. Kuka, 2013. URL http://www.kuka.com.
[3] Quinetiq. Talon robot, 2013. URL http://www.qinetiq.com.
[4] IRobot. Roomba, 2013. URL http://www.irobot.net.
[5] Monash University. Remote piloted aerial vehicles : An anthology,
2013. URL http://www.ctie.monash.edu/hargrave/rpav_home.
html#Beginnings.
[6] Lee Pearson. Developing the flying bomb, 2013. URL http://www.
history.navy.mil/download/ww1-10.pdf.
[7] Antonio Barrientos. Fundamentos de Robotica. McGraw Hill, 2007.
ISBN 978-8448156367.
[8] Novint. Novint, 2011. URL www.novint.com.
[9] Microsoft. Sidewinder, 2007. URL www.Microsoft.com.
[10] ca Del Olmo, C. Dispositivos hapticos: Una vision global., 2009. URL
http://www.gmrv.es.
[11] T.B Massimino, M. y Sheridan. Sensory substitution for Force Feedback
in Teleoperation. Presence, 1993.
[12] Kumar V. Corke-P. Mahony, R. Multirotor aerial vehicles, modeling,
estimation and control of quadrotor. IEEE Robotics and Automation
Magazine, 2012.
79
Conclusiones 80
[13] University of Pennsylvania GRASP. General robotics, automation, sen-
sing and perception, 2013. URL https://www.grasp.upenn.edu/.
[14] Eidenossische Technische Hochschule Zurich ETH. Flying machine are-
na, 2013. URL http://www.flyingmachinearena.org.
[15] Massachusetts Institute of Technology ACL. Aerospace controls labo-
ratory, 2013. URL http://acl.mit.edu/.
[16] Universite de Technologie de Compiegne UTC. Laboratiorio de robotica
y uavs de la utc, 2013. URL http://www.utc.fr/.
[17] Unidad Monterrey RONIHM, Centro de Investigacion y de Estudios
Avanzados del IPN. Laboratorio de robotica no inercial e interfaces
hombre maquina, 2013. URL http://monterrey.cinvestav.mx/.
[18] Robuffo-Giordano P. Secchi C. Il-Son h. Bulthoff H. Franchi, A. A
passivity-based decentralized approach for the bilateral teleoperation
of a group of uavs with switching topology. 2011 IEEE International
Conference on Robotics and Automation, 2011.
[19] Franchi A. Secchi C. Bulthoff-H. Robuffo-Giordano, P. Experiments
of passivity-based bilateral aerial teleoperation of a group of uavs with
decentralized velocity synchronization. 2011 IEEE/RSJ International
Conference on Intelligent Robots and Systems, 2011.
[20] Franchi A. Robuffo-Giordano P. Il-Son h. Bulthoff H. Lee, D. Haptic
teleoperation of multiple unmanned aerial vehicles over the internet.
2011 IEEE International Conference on Robotics and Automation, 2011.
[21] Kim Junsuk-K. Franchi A.-Robuffo-Giordano P. Lee D. Bulthoff H. Il-
Son, H. An evaluation of haptic cues on the tele-operator’s perceptual
awareness of multiple uavs’ environments. IEEE World Haptics Confe-
rence 2011, 2011.
[22] Franchi A. Robuffo-Giordano P. Secchi-C.-Il-Son h. Bulthoff H. Ryll, M.
A passivity-based decentralized approach for the bilateral teleoperation
of a group of uavs with switching topology, 2012.
[23] Parra-Vega V.-Tang C. Oliva-Palomo-F.-Izaguirre-Espinoza C. Sanchez,
A. Continuous reactive-based position-attitude control of quadrotors.
51st IEEE Conference on Decision and Control, 2012.
Conclusiones 81
[24] Calluo Francois-Vissiere David Petit-Nicolas Bristeau, Pierre-Jean. The
navigation and control technology inside the ar.drone micro uav, 2012.
[25] Nick Dijkshoorn. Simultaneous localization and mapping with the
ar.drone, 2011.
[26] R. Clavel. Device for the movement and positioning of an element in
space, 1989.
[27] Andre Olson. Modelling and control of a delta-3 robot, 2009.
[28] Tom Anderson. Novint, 3d haptics technology softwate, 2009.
URL http://www.sandia.gov/research/research_development_
100_awards/_assets/\documents/2007_winners/novint_
SAND2007-1997P.pdf.
[29] Kyle Machulis. Biblioteca de codigo abierto libnifalcon, 2009. URL
http://qdot.github.io/libnifalcon/.
[30] Francois Conti. Biblioteca de codigo chai3d, 2008. URL http://www.
chai3d.org.
[31] h3Dapi. Biblioteca de codigo h3dapi, 2007. URL http://www.h3dapi.
org/.
[32] Hillier Nick Martin, Steven. Characterisation of the novint falcon haptic
device for application as a robot manipulator, December, 2004.
[33] Vicente Sepulveda-Cervantes, Gabriel y Parra-Vega. Estacion Haptica
para Deformacion, Corte y Sutura de Organos Deformables con Propie-
dades Superficiales. PhD thesis, 2009.
[34] Vincent Mahvash, Mohsen y Hayward. Hapticrendering of cutting: a
fracture mechanics approach, 2001.
[35] Sanchez-Lopez J.-Mellado-Bataller I.-Fu-C.-Campoy-P. Pestana, J.
Control autonomo del seguimiento de trayectorias de un vehıculo cua-
drotor. ASME 2012 5th Annual Dynamic Systems and Control Confe-
rence joint with the JSME 2012 11th Motion and Vibretion COnference,
2012.