20-6-2019
Prototipo Robot Móvil Auto Balanceado Teledirigido con
fines de Vigilancia
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD TECNOLOGICA
Prototipo Robot Móvil Auto Balanceado
Teledirigido con fines de Vigilancia
Erick Yoan Ahumada Salcedo
Director
Ing. Mcs Miguel Ricardo Perez Pereira.
Trabajo de grado para optar por el título de
Ingeniero en Control
Bogotá, Colombia
2019
HOJA DE ACEPTACIÓN
PROTOTIPO ROBOT MÓVIL AUTO BALANCEADO TELEDIRIGIDO CON
FINES DE VIGILANCIA
Observaciones.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_________________
______________________________________ Director del Proyector
Ing. Mcs Miguel Ricardo Perez Pereira.
_______________________________
Jurado 1
_______________________________
Jurado 2
UNIVERSIDAD DISTRITAL 6
6 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Contenido
1. INTRODUCCIÓN ............................................................................................. 12
1.1. Planteamiento del problema ........................................................................... 12
1.2. Justificación .................................................................................................... 13
1.3. Objetivos ........................................................................................................ 14 1.3.1. Objetivo General ................................................................................................................... 14 1.3.2. Objetivos Específicos ...................................................................................................... 14
2. MARCOS DE REFERENCIA ............................................................................... 14
2.1 Estado del Arte ........................................................................................................ 14
2.2. Marco Teórico ........................................................................................................ 17 2.2.1. Robot autobalanceado sobre dos ruedas .............................................................................. 17 2.2.2. Acelerometro ........................................................................................................................ 18 2.2.3. Giroscopio ............................................................................................................................. 19 2.2.4. Principio de Funcionamiento Motores paso a paso .............................................................. 20 2.2.5. Control Proporcional, Integral y Derivativo (PID) .................................................................. 21 2.2.6 Microcontrolador ................................................................................................................... 23 2.2.7. Teleoperación ........................................................................................................................ 24 2.2.7.2 Interfaz de Usuario .............................................................................................................. 25
2.3 Desarrollo Ingenieril. ............................................................................................... 26 2.3.1 Unidad de medida inercial. .................................................................................................... 26 2.3.2 Driver motores paso a paso. .................................................................................................. 27 2.3.3 Motores paso a paso. ............................................................................................................. 28 2.3.4 Placa ATmega32u4 ................................................................................................................. 29 2.3.5 Single Board Computers Raspberry Pi .................................................................................... 30 2.3.6 TouchOSC EDITOR .................................................................................................................. 31
3. METODOLOGIA .............................................................................................. 31
3.1. Diseño y Construcción ............................................................................................ 32 3.1.1 Alimentación eléctrica ............................................................................................................ 35 3.1.2 Diagramas circuitales ............................................................................................................. 36 3.1.3 Estructura del prototipo ......................................................................................................... 38
3.2 Modelo Cinematico. ................................................................................................ 44
3.3. Modelo matemático del sistema. ............................................................................ 47 3.3.1 Masa del Pendulo y masa del carro. ....................................................................................... 53 3.3.2 Longitud del péndulo.............................................................................................................. 54
3.4. Algoritmo de control. ............................................................................................. 57 3.4.1. Ángulo de inclinación. ........................................................................................................... 58 3.4.2. Control ................................................................................................................................... 61
3.5. Implementación de cámara. ................................................................................... 63
3.6. Comunicación Inalámbrica. ..................................................................................... 67
3.7. Interfaz Gráfica....................................................................................................... 68
4.0 RESULTADOS Y PRUEBAS ................................................................................... 74
UNIVERSIDAD DISTRITAL 7
7 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
4.1 Diseño del prototipo................................................................................................ 74
4.2 Visualización Cámara web ....................................................................................... 76
4.3 Control de autobalance. .......................................................................................... 78 4.3.1 Sintonización del PID. ............................................................................................................. 78
4.4 Simulación del modelo cinemático ........................................................................... 80
5.0 RECOMENDACIONES Y TRABAJOS FUTUROS ...................................................... 84
6.0 CONCLUSIONES ................................................................................................. 84
7.0 ANEXO .............................................................................................................. 86
7.1 Instalación del sistema operativo Raspbian .............................................................. 86
7.2 Configuración de comunicación de SSH .................................................................... 88
8.0 BIBLIOGRAFIA ................................................................................................... 89
INDICE DE FIGURAS
Figura 1 Shakey[9] ...................................................................................................................... 14
Figura 2 Denning Sentry [11] ...................................................................................................... 15
Figura 3 T-34[12] ......................................................................................................................... 15
Figura 4 SUMMIT-XL[13] ............................................................................................................ 16
Figura 5 Robelf[14] ...................................................................................................................... 17
Figura 6 Robot modelo K5[16] .................................................................................................... 17
Figura 7 Prototipo SR4[21] ......................................................................................................... 18
Figura 8 Descripción del acelerómetro[23] ................................................................................. 19
Figura 9 Funcionamiento del giroscopio [26] ............................................................................. 20
Figura 10 flujo de corriente a través del motor paso a paso (número de pasos)[28] ................ 21
Figura 11 Diagrama de bloques de un proceso controlado por PID[30] .................................... 22
Figura 12 Parte interna de un Microcontrolador[32] .................................................................. 24
Figura 13 Elementos básicos de un sistema de teleoperación[34] ............................................. 25
Figura 14 Sensor Acelerómetro y Giroscopio MPU-605[38] ....................................................... 26
Figura 15 A4988 Stepper Motor Driver Carrier[39] .................................................................... 28
Figura 16 Motor paso a paso y partes del motor paso a paso[28] .............................................. 29
Figura 17 Placa ATmega32[43] .................................................................................................. 30
Figura 18 Raspberry Pi 3 Model B[45] ....................................................................................... 31
Figura 19 Diagrama de bloques de la solución [Fuente el autor] ............................................. 32
Figura 20 Diseño del Prototipo de robot autobalanceado [Fuente el autor] .............................. 33
Figura 21 Plataformas del prototipo del robot autobalanceado, (Franja roja, Franja azul y
Franja verde) [Fuente el autor]. ................................................................................................... 34
Figura 22 Dimensiones físicas del prototipo de robot autobalanceado [Fuente el autor] .......... 34
UNIVERSIDAD DISTRITAL 8
8 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 23 Diagrama de conexiones eléctricas [Fuente el autor]. ............................................... 35
Figura 24 Diagrama eléctrico raspberry [Fuente el autor] .......................................................... 36
Figura 25 Diagrama circuital principal [Fuente el autor]............................................................. 37
Figura 26 Pieza que sostiene a los motores paso a paso [Fuente el autor] ............................... 38
Figura 27 Pieza que sostiene a los motores, junco con los motores. [Fuente el autor] ............. 39
Figura 28 Pieza que sostiene el Arduino Leonardo [Fuente el autor] ........................................ 39
Figura 29 Conexión entre el Arduino y el módulo Brian shield [Fuente el autor] ........................ 40
Figura 30 Paredes del prototipo [Fuente el autor]....................................................................... 40
Figura 31 Banco de baterías (franja azul), conexión entre drivers y motores paso a paso (franja
roja). [Fuente el autor] ................................................................................................................. 41
Figura 32 Conexión de drivers de motores paso a paso [Fuente el autor] ................................. 41
Figura 33 Servo motor instalado (franja roja) [Fuente el autor] ................................................. 42
Figura 34 Conexión del servo motor al Brian shield [Fuente el autor] ....................................... 42
Figura 35 Base de la cámara Web [Fuente el autor] ................................................................. 43
Figura 36 Tercera plataforma, raspberry conectada con la cámara web [Fuente el autor] ....... 43
Figura 37 Prototipo de robot autobalanceado con fines de seguridad [Fuente el autor]. ........... 44
Figura 38 Grafico modelo cinemático [Fuente el autor] .............................................................. 45
Figura 39 Péndulo como varilla, variables que actúan sobre el sistema [Fuente el autor] ....... 48
Figura 40 Masa del péndulo, prototipo de robot [Fuente el autor]. ............................................ 53
Figura 41 Masa del carro, prototipo de robot [Fuente el autor] .................................................. 54
Figura 42 Ángulo de oscilación, determinar longitud del péndulo [Fuente el autor] .................. 54
Figura 43 Lugar de las raíces del sistema. [Fuente el autor] ...................................................... 56
Figura 44 Diagrama de bloques control PID[Fuente el autor] .................................................... 57
Figura 45 Esquema del algoritmo de control [Fuente el autor] ................................................... 58
Figura 46 Aceleraciones en el MPU6050 [55] ............................................................................. 59
Figura 47 Angulo de desviación del prototipo [55] ...................................................................... 59
Figura 48 ángulo que gira el eje X sobre su propio eje.[56] ...................................................... 60
Figura 49 Comportamiento del prototipo de robot (1. Posición estable, 2. Posición inclinada, 3.
Corrección de posición) [Fuente el autor] ................................................................................... 61
Figura 50 Archivo interfaces modificado IP estática [Fuente el autor] ........................................ 64
Figura 51 Imagen trasmitida en la red. [Fuente el autor]. ........................................................... 66
Figura 52 Red del prototipo [Fuente el autor]. ............................................................................ 68
Figura 53 TouchOSC EDITOR [Fuente el autor] ........................................................................ 69
Figura 54 Ventana para crear botones [Fuente el autor] ............................................................ 70
Figura 55 Ventana de configuración de botones [Fuente el autor]. ............................................ 70
Figura 56 Interfaz gráfica PRAS (Prototipo de Robot Autobalanceado con fines de Seguridad)
[Fuente el autor] .......................................................................................................................... 71
Figura 57 Aplicación Touch OSC [Fuente el autor]..................................................................... 72
UNIVERSIDAD DISTRITAL 9
9 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 58 Parámetros de comunicación OSC. [Fuente el autor] ............................................... 72
Figura 59 Programa TouchOSCEditor y Archivo "UD.touchosc" [Fuente el autor] .................... 73
Figura 60 Menu de Layout(Cuadro rojo) e interfaces graficas predeterminadas (cuadro azul)
[Fuente el autor] .......................................................................................................................... 73
Figura 61 Interfaz gráfica vista desde un dispositivo (smartphone o Tablet) [Fuente el autor] .. 74
Figura 62 Prototipo de robot autobalanceado operando, vista frontal [Fuente el autor]............ 75
Figura 63 Prototipo de robot autobalanceado operando, vista lateral [Fuente el autor] ............. 75
Figura 64 Resolución de la imagen transmitida [fuente el autor] ................................................ 76
Figura 65 Angulo de visión de la cámara [Fuente el autor] ....................................................... 77
Figura 66 Posición inicial, calibración del robot [Fuente el autor] .............................................. 78
Figura 67 Oscilaciones en el sistema, con P igual a 63 [Fuente el autor] ................................. 78
Figura 68 Oscilaciones del sistema con el valor de I =33 [Fuente el autor] ............................... 79
Figura 69 Oscilaciones del sistema, sintonización con el valor de D igual a 90 ......................... 79
Figura 70 Simulación del modelo cinemático en Simulink Matlab [Fuente el autor] ................... 80
Figura 71 Desplazamiento en el eje X, con la misma velocidad en las dos ruedas [Fuente el
autor] ........................................................................................................................................... 81
Figura 72 Desplazamiento en el eje Y, con la misma velocidad en las dos ruedas [Fuente el
autor] ........................................................................................................................................... 81
Figura 73 Cambio de ángulo, con la misma velocidad en las dos ruedas [Fuente el autor] .... 82
Figura 74 Desplazamiento en X, con la misma velocidad, pero distinta magnitud [Fuente el
autor]. .......................................................................................................................................... 82
Figura 75 Desplazamiento en Y, con la misma velocidad, pero distinta magnitud [Fuente el
autor]. .......................................................................................................................................... 82
Figura 76 Cambio de ángulo, con la misma velocidad, pero distinta magnitud [Fuente el autor].
..................................................................................................................................................... 83
Figura 77 Desplazamiento en X, distinta velocidad entre las ruedas [Fuente el autor]. ............. 83
Figura 78 Desplazamiento en X, distinta velocidad entre las ruedas [Fuente el autor]. ............. 83
Figura 79 Cambio de ángulo, con distinta velocidad entre las ruedas. [Fuente el autor] ........... 84
Figura 80 Programa SD Card Formatter [fuente el autor] ........................................................... 86
Figura 81 Programa Win 32 Disk Imager.[Fuente el autor] ........................................................ 87
Figura 82 Sistema operativo raspbian instalado [fuente el autor]. ............................................ 87
Figura 83 Menú inicio, opción PREFERENCES [Fuente el autor] .............................................. 88
Figura 84 Raspberry Pi Configuration. [Fuente el autor] .......................................................... 88
INDICE DE TABLAS.
Tabla 1 Fuerzas y parámetros del robot autobalanceado (carro péndulo).[48] .......................... 49
UNIVERSIDAD DISTRITAL 10
10 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
UNIVERSIDAD DISTRITAL 11
11 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
UNIVERSIDAD DISTRITAL 12
12 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
1. INTRODUCCIÓN
La rama de la robótica ha buscado dar solución a problemas cotidianos y
optimizar procesos, de tal manera que se ha convertido en una tecnología de
apoyo en el trabajo humano, cómo en tareas de alto riesgo, tareas secuenciales,
transporte de carga, operaciones militares, exploraciones dentro del agua o el
espacio, inclusive en labores mucho más complejas cómo operaciones
médicas[1]. Otro de los alcances a los que ha llegado la robótica, es el tema de
seguridad y vigilancia, cuyo objetivo es el de supervisar y monitorear zonas en
específico, además de que son un apoyo para los circuitos cerrados de
televisión, haciendo más robusta la protección de la integridad humana.
Este documento pretende exponer el desarrollo de un prototipo de robot
autobalanceado, con fines de vigilancia, el cual consiste en un sistema que
mantiene equilibrio sobre dos ruedas de tal manera que le permite una mayor
movilidad en espacios reducidos, siendo un apoyo a los sistemas de video
vigilancia en torno a los puntos ciegos que tienen las cámaras fijas. Además,
cuenta con la característica de ser un robot teleoperado, que dispone de una
cámara y un sistema de comunicación inalámbrico para la transmisión de datos,
de tal manera pueda ser manipulado a distancia.
1.1. Planteamiento del problema
La robótica se ha interesado en la vida cotidiana de las personas, en labores
como la mensajería, trabajos de oficina, vigilancia entre otros. Con el fin de
mejorar la calidad de vida, la seguridad y el servicio de alguna tarea, un sistema
robótico de seguridad inteligente proporciona una navegación autónoma,
supervisión a través de internet, un sistema de control remoto, sistema de visión
con cámaras, detección de peligros y sistemas de diagnóstico[1]. A menudo
estos robots se les denomina sistemas robóticos “centrados en el ser humano”,
incluyen una amplia seguridad, habilidades comunicativas, adaptabilidad hacia
el usuario y en su gran mayoría tienen apariencia y comportamiento
humanoide[2]. Pero todas estas funciones, conlleva a que este tipo de robots
sean costosos, pesados y ocupen un mayor espacio.
Por otro lado, la vigilancia ha sido respaldada por los circuitos cerrados de
televisión que hacen uso de cámaras para transmitir una señal de un lugar
específico, y esta es recibida por un conjunto de monitores[3]. Una de sus
grandes desventajas es que solo pueden supervisar un área limitada, por tanto,
la visión de la cámara depende de su ubicación, y este limitante genera puntos
ciegos en los cuales se puede tener algún riesgo.
UNIVERSIDAD DISTRITAL 13
13 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Por lo anterior se hace la pregunta de ¿Como desarrollar un prototipo de robot
móvil de vigilancia con un diseño simple, y que ocupe un menor espacio frente a
los prototipos comerciales, además de que sea un apoyo a los sistemas de
seguridad monitoreando los puntos ciegos que puedan tener?
1.2. Justificación
El desarrollo de la robótica en Colombia se ha limitado primordialmente por la
falta de apoyo por parte del gobierno y la industria privada. Otra de las
limitaciones de este campo son los conocimientos encerrados por las
universidades y las comunidades investigativas, ya que comúnmente trabajan de
manera aislada y no interactúan entre ellas, y en consecuencia no se ha
consolidado un desarrollo potencial[4]. Por otro lado, en los países que fomentan
esta clase de investigaciones se han perfeccionado en el ámbito de varias
aplicaciones de trabajo, métodos de inteligencia artificial aplicadas y hardware
especializado, promoviendo que en el futuro la tecnología robótica sea
dominante[5]. De tal manera que está influirá en aspectos cotidianos como en la
seguridad y vigilancia.
En consecuencia, nacen propuestas de prototipos de robots con ventajas y
desventajas en cuanto a su diseño, por ejemplo, un robot omnidireccional que
tiene una alta flexibilidad y un alto rendimiento al movimiento, pero presenta una
complicada estructura, debido a muchos rodillos libres. Otro robot que dispone
de más de 6 ruedas puede mejorar la movilidad en terrenos difíciles, su principal
desventaja es el diseño mecánico, debido al mayor número de ruedas a utilizar,
y esto lleva a que haga un mayor uso de recursos fisico-mecanicos para su
construcción y ocupe un mayor espacio[6].
Siguiendo por la temática de la vigilancia son los sistemas de cámaras de
seguridad los más comunes. Estas se han encontrado durante años en zonas
como tiendas, industrias, bancos e incluso en instituciones gubernamentales.
Los sistemas de cámaras son cada vez más habituales en pequeñas empresas
y en los hogares[7]. A pesar de que muchas cámaras de alta gama puedan hacer
movimientos horizontales, verticales y de acercamiento, su cobertura es limitado,
por ende no pueden visualizar todo un espacio[8].
Lo que esté proyecto busca, es dar una solución frente a la problemática que
tiene la seguridad en cuanto a los puntos ciegos de las cámaras fijas, y el espacio
que puede llegar a cubrir un robot de seguridad. Por ende, se postula realizar el
diseño de un prototipo de robot móvil autobalanceado, que a comparación de los
tipos de robots mencionados anteriormente tiene una estructura mecánica más
simple, esto le permite no ocupar mucho espacio físico en lugares cerrados,
además de implementar en esté una cámara para apoyar a las áreas que no
pueden ser monitoreadas por las cámaras fijas.
UNIVERSIDAD DISTRITAL 14
14 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
1.3. Objetivos
1.3.1. Objetivo General
Diseñar y construir un prototipo robot teledirigido auto balanceado
con cámara abordo capaz de enviar video inalámbrico en una red
cerrada como apoyo en actividades de monitoreo y vigilancia.
1.3.2. Objetivos Específicos
• Diseñar y construir la estructura física de un robot autobalanceable
• Elaborar el modelo cinemático del robot autobalanceable.
• Implementar un algoritmo de control para el autobalance del
prototipo
• Implementar un sistema remoto de comunicación inalámbrica de
doble vía (cámara y operador) que permita la correcta
teleoperación del prototipo.
• Diseño de una interfaz visual para la teleoperación del prototipo.
UNIVERSIDAD DISTRITAL 14
14 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
2. MARCOS DE REFERENCIA
2.1 Estado del Arte
A continuación, se presenta una colección de la evolución robótica en el tema de
seguridad, específicamente en la elaboración del diseño y construcción de
prototipos robóticos.
Empezando con el primer prototipo de robot de seguridad, en los años 1970 fue
creado Shakey(Figura 1), una máquina que contaba con una cámara, sensores
y radio localizador, esto le permitía captar órdenes y operar en función de estas.
Este podía navegar automáticamente desde un sitio a otro y además crear un
mapa de su entorno y diseñar el camino más próximo hasta donde tenía que
llegar. Fue elaborado por el Instituto de Ingeniería Eléctrica y Electrónica (IEEE),
y contaba con una altura aproximada de 170 cm[9].
Figura 1 Shakey[9]
**
UNIVERSIDAD DISTRITAL 15
15 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Denning Sentry (Figura 2), fue diseñado por la empresa Demming Movile
Robotics, su finalidad era operar en la seguridad. Este prototipo empezó en 1983,
y fue construido con un sistema de navegación basado en trayectos
predeterminados, además de que en su instructora contiene una cámara de TV,
micrófono y transmisores inalámbricos para enviar información a la estación de
seguridad, sus dimensiones eran 137.16 cm de altura y con un diámetro de 73.66
cm[10][11].
Figura 2 Denning Sentry [11]
El fabricante de robots Tmsuk y la empresa de seguridad Alacom, desarrollaron
en el 2009 el T-34 (Figura 3) un robot compacto de patrulla y seguridad, que
tiene una red para atrapar intrusos. Este tipo de robot era controlable a través de
teléfonos móviles, estaba equipado con una función de videotelefono, que
permite controlarlo a través de imágenes de cámara real. Sus dimensiones eran
520x600x600 mm y tenía un peso de 12kg[12].
Figura 3 T-34[12]
UNIVERSIDAD DISTRITAL 16
16 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
SUMMIT-XL (Figura 4) diseñado por la empresa robótica de servicio móvil
Robotnik, Desde el 2015, fue diseñado con dos posibles configuraciones
cinemáticas. Además, puede navegar automáticamente o ser teleoperado
mediante una cámara Pan-til-zoom que transmite video en tiempo real. Sus
dimensiones son de 722x613x 392 mm y con un peso de 45kg[13].
Figura 4 SUMMIT-XL[13]
Robelf (Figura 5) fue diseñado y construido por Robotelf Technologies entre el
2014 y 2016, es un robot pensado para la seguridad del hogar, fue pensado y
diseñado como un androide que puede brindar una protección a la casa,
sistemas de vigilancia, sensores de voz, visión y posición. Su tecnología permite
detectar la presencia de extraños al interior de la vivienda y brinda información
en tiempo real a sus dueños mediante alertas a su teléfono. Robelf mide 85
centímetros y pesa 7kg[14][15].
UNIVERSIDAD DISTRITAL 17
17 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 5 Robelf[14]
k5 (Figura 6) es un robot elaborado por la empresa knightscope, tiene una forma
de bala que posee una dimensión de 150x85x91 cm, es capaz de detectar ruidos
anormales, cambios de temperatura o delincuentes conocidos, y alertara a las
autoridades locales. Este modelo patrulla autónomamente, cuenta con una
cámara de video, sensores de imagen térmica, un telemetro laser, radar,
sensores de calidad de aire y un micrófono[16].
Figura 6 Robot modelo K5[16]
2.2. Marco Teórico
2.2.1. Robot autobalanceado sobre dos ruedas
En este tipo de robot, su diseño y control es considerado como un problema de
estudios clásicos de control y se asemeja al principio de un péndulo invertido, en
el cual expone que su centro de masa está por encima de su eje de rotación.
Debido a su estructura, se ha presentado como una alternativa de solución frente
a temas de vehículos autónomos, robots humanoides, sillas de ruedas robóticas,
entre otros. Este diseño proporciona una mejor maniobrabilidad y ocupa menos
espacio, además de que tiene una estructura más simple, compacta y con una
mayor precisión referente al centro de masa[6][17].
El control del robot auto balanceado, presenta al igual que el péndulo invertido
básicamente dos problemas: la estabilidad en torno a la posición de equilibrio; y
el problema de levantar el péndulo desde su posición de reposo hasta la posición
en la que se mantiene erguido[18]. Presenta un complejo sistema de estabilidad,
ya que solo tiene dos ruedas como punto de apoyo, llegar a la solución de su
equilibrio podría alcanzar una estabilidad dinámica avanzada, que permite
mantener un punto equilibrado, incluso mientras lleva algún tipo de carga
pesada. Para poder mantener el robot en una posición rectilínea erecta, los
UNIVERSIDAD DISTRITAL 18
18 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
motores de la estructura deben contrarrestar la caída del robot. Generalmente
los sensores que permiten el control del equilibrio son dos, giroscopios y
acelerómetros. El primero es un dispositivo usado principalmente en medición
de la velocidad angular, y el segundo se encarga de medir la aceleración[19][20],
las salidas de estos dos sensores se juntan para poder calcular un ángulo de
inclinación del robot. De esta manera es controlado comúnmente por un PID,
después se hace una referencia a este tipo de control.
Figura 7 Prototipo SR4[21]
Además de que la característica de autobalance, esta clase de robot se destaca
también por ser altamente maniobrable sobre un espacio reducido, debido a su
tamaño, fiabilidad y características móviles se ha convertido en un tema a
investigar, como en la robótica móvil, que se utiliza para la planificación de
trayectorias y movimientos, con el fin de evadir obstáculos .Uno de los ejemplos
de estas aplicaciones, es el SR4 (Figura 7), este prototipo procesa digitalmente
alguna imagen y a partir de esto ejecuta una orden, ya sea detenerse, seguir una
línea o camino, incluso seguir a otro robot[21].
2.2.2. Acelerometro
Dicho anteriormente esta clase de robots hacen uso de los acelerómetros, son
sensores utilizados para medir la aceleración. Y se denominan acelerómetro por
que miden la aceleración de un objeto al que va unido, lo hace midiendo respecto
de una masa inercial interna. Los acelerómetros son sensores inerciales que
miden la segunda derivada de la posición, mide la fuerza de inercia generada
guando una masa es afectada por un cambio de velocidad. Existen varios tipos
de tecnologías (piezo-eléctrico, piezo-resistivo, galgas extensiométricas, laser,
UNIVERSIDAD DISTRITAL 19
19 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
térmico) y diseños que, aunque todos tienen el mismo fin pueden ser muy
distintos unos de otros según la aplicación a la cual van destinados y las
condiciones en las que han de trabajar[22].
Cuando el dispositivo se somete a aceleraciones la parte interior (puntos) se
deforma y se desplaza respecto a la parte fija, de forma similar al dispositivo
imaginario basado en muelles. El desplazamiento es detectado a través de la
variación de la capacidad del sistema. Por otra parte, los acelerómetros
disponibles normalmente son de 3 ejes, por lo que son capaces de medir la
aceleración a la que está sometido el sensor en X, Y y Z independientemente.
De esta manera se puede conocer simultáneamente la magnitud y dirección de
la aceleración medida de forma absoluta[23].
Figura 8 Descripción del acelerómetro[23]
En el momento de la construcción de este acelerómetro en un MEMS[24], se
empleó una estructura micromecanizada de polisilicio construida sobre una
oblea de silicio. Los muelles de polisilicio suspenden la estructura sobre la oblea
y le proporciona resistencia para soportar las aceleraciones. De tal manera que
se construye mediante un cuerpo sólido, cuyo interior se suspende una masa
sujeta por muelles al cuerpo exterior[25].
2.2.3. Giroscopio
El principio de funcionamiento está basado en la conservación del momento
angular, por eso es utilizado para medir la orientación o para mantenerla
haciendo uso de las fuerzas que ejercen en su sistema de balanceo[22]. En este
caso se hace uso de giroscopios piezo eléctricos. Básicamente un giroscopio
mide los movimientos de un dispositivo con un brazo de accionamiento, sobre el
que, cuando el dispositivo rota, actúa una fuerza de Coriolis y se produce una
vibración vertical. Esto hace que la parte que no se mueva, un estator fijo, se
doble, produciendo movimiento sobre el brazo de detección. Esto ayuda a
calcular la velocidad angulas, que más tarde se transforma en una señal eléctrica
que el sensor procesa de manera instantánea.
El funcionamiento de estos sensores CVG (Coriolis Vibratory Gyroscpes) es que
un objeto vibratorio tiende a vibrar en el mismo, aunque este plano rote. Por
UNIVERSIDAD DISTRITAL 20
20 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
efecto coriolis, el objeto vibratorio ejerce una fuerza y midiéndola se puede
determinar la rotación a la que está sometido el giroscopio. Este movimiento es
convertido en pequeñas señales eléctricas que pueden ser amplificadas y leídas
por una unidad de procesamiento.[26]
Figura 9 Funcionamiento del giroscopio [26]
2.2.4. Principio de Funcionamiento Motores paso a paso
El funcionamiento del motor paso a paso depende de la corriente que circula por
una o más bobinas del estator, se crea un campo magnético creando los polos
Norte-Sur. Luego el rotor se equilibrará magnéticamente orientando sus polos
Norte-Sur hacia los polos Sur-Norte del estator. Cuando el estator vuelva a
cambiar la orientación de sus polos a través de un nuevo impulso recibido hacia
sus bobinas, el rotor volverá a moverse para equilibrarse magnéticamente. Si se
mantiene esta situación, obtendremos un movimiento giratorio permanente del
eje. El ángulo de paso depende de la relación entre el nombre de polos
magnéticos del estator y el nombre de polos magnéticos del rotor[27].
UNIVERSIDAD DISTRITAL 21
21 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 10 flujo de corriente a través del motor paso a paso (número de pasos)[28]
El motor paso a paso no gira continuamente, sino que gira en pasos. Hay 4
bobinas con un ángulo de 90º entre sí fijadas en el estator. Las conexiones del
motor paso a paso están determinadas por la forma en que las bobinas están
interconectadas, mientras que en el motor paso a paso, las bobinas no están
conectadas entre sí. El motor tiene un paso de rotación de 90° con las bobinas
energizadas en orden cíclico, determinando la dirección de rotación del eje[27].
2.2.5. Control Proporcional, Integral y Derivativo (PID)
Uno de los controladores comunes para la manipulación de este tipo de robots
es el control PID (Proporcional Integrativo Derivativo) es un mecanismo de
control genérico sobre una realimentación de bucle cerrado, ampliamente usado
en la industria para el control de sistemas. El PID es un sistema al que le entra
un error calculado a partir de la salida deseada menos la salida obtenida y su
salida es utilizada como entrada en el sistema que queremos controlar. El
controlador intenta minimizar el error ajustando la entrada del sistema. Algunas
aplicaciones pueden solo requerir de uno o dos modos de los que provee este
sistema de control. Un controlador PID puede ser llamado también PI, PD, P o I
en la ausencia de las acciones de control respectivas. Los controladores PI son
particularmente comunes, ya que la acción derivativa es muy sensible al ruido, y
la ausencia del proceso integral puede evitar que se alcance al valor deseado
debido a la acción de control[29].
UNIVERSIDAD DISTRITAL 22
22 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 11 Diagrama de bloques de un proceso controlado por PID[30]
En la figura 11 se puede ver el diagrama de un proceso controlado por PID,
donde el Setpoint (SP) es el valor que se desea dejar el proceso, la variable de
proceso (VP) es la variable que se va a controlar. El controlador PID determina
el punto de referencia y compara con el valor real de la variable de proceso.
La lógica de control PID es ampliamente utilizada en la industria de control de
procesos. Los controladores PID han sido elegidos tradicionalmente por los
ingenieros de sistemas de control debido a su flexibilidad y fiabilidad[31]. Un
controlador PID tiene términos proporcionales, integrales y derivados que
pueden representarse en forma de función de transferencia como:
𝐾(𝑠) = 𝐾𝑝 +𝐾𝑖
𝑠+ 𝐾𝑑𝑠
Donde Kp representa la ganancia proporcional, Ki representa la ganancia
integral, y Kd representa la ganancia derivada, respectivamente. Al sintonizar
estas ganancias del controlador PID, el controlador puede proporcionar una
acción de control diseñada para requisitos específicos del proceso[31]. El
concepto proporcional conduce a una modificación de la salida que es
proporcional al error actual. Este término proporcional se refiere al estado actual
de la variable de proceso. El término integral (Ki) es proporcional tanto a la
magnitud del error como a su duración. (cuando se agrega al término
proporcional) acelera el movimiento del proceso hacia el punto de referencia y a
menudo elimina el error residual de estado estacionario que puede ocurrir con
un controlador proporcional único. La tasa de cambio del error de proceso se
calcula determinando la pendiente diferencial del error a lo largo del tiempo (es
decir, su primera derivada con respecto al tiempo). Esta tasa de cambio en el
error se multiplica por la ganancia derivada (Kd).[31]
Por otro lado, el controlador PID puede ser muy sensible a la presencia de ruido.
El ruido está formado por pequeñas variaciones de tensión de muy alta
frecuencia que pueden afectar especialmente a la parte derivativa del control.
Esto se debe a que estas pequeñas variaciones pueden aumentar
significativamente si se derivan, por lo que, en muchas ocasiones, en lugar de
UNIVERSIDAD DISTRITAL 23
23 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
emplear un controlador PID, se emplea un control PI, que elimina la parte
derivativa y soluciona este problema a costa de no poder controlar el estado
transitorio del sistema. Otra posibilidad para resolver este problema sería la
implantación de un filtro paso bajo que minimice el ruido.[23]
2.2.6 Microcontrolador
El microcontrolador es un circuito integrado que contiene todos los componentes
de un computador. Se emplea para controlar el funcionamiento de una tarea
determinada y, debido a su reducido tamaño, suele ir incorporado en el propio
dispositivo al que gobierna. Esta última característica es la que le confiere la
denominación de «controlador incrustado» (embedded controller). Se dice que
es "la solución en un chip" porque su reducido tamaño minimiza el número de
componentes y el coste, donde se encuentra en la figura 15 la estructura interna
que llevan los microcontroladores[32].
El microcontrolador es un computador dedicado. En su memoria sólo reside un
programa destinado a gobernar una aplicación determinada; sus líneas de
entrada/salida soportan el conexionado de los sensores y actuadores del
dispositivo a controlar. Una vez programado y configurado el microcontrolador
solamente sirve para gobernar la tarea asignada. Un microcontrolador es un
computador completo, aunque de limitadas prestaciones, que está contenido en
el chip de un circuito integrado y se designa a gobernar una sola tarea"[32]. El
número de productos que funcionan en base a uno o varios microcontroladores
aumenta de forma exponencial. Al estar todos los microcontroladores en un solo
circuito integrado, su estructura fundamental y sus características básicas son
muy parecidas. Todos deben disponer de los bloques esenciales Procesador,
memoria de datos y de instrucciones, líneas de E/S, oscilador de reloj y módulos
controladores de periféricos. Sin embargo, cada fabricante intenta enfatizar los
recursos más idóneos para las aplicaciones a las que se destinan
preferentemente.
UNIVERSIDAD DISTRITAL 24
24 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 12 Parte interna de un Microcontrolador[32]
2.2.7. Teleoperación
La teleoperación es un conjunto de tecnologías, que comprenden la operación
o gobierno a distancia de un dispositivo por un ser humano. Este término lleva
a la telerrobotica, la cual se define como el conjunto de tecnologías que
comprenden la monitorización y reprogramación a distancia de un robot por un
ser humano[33]. La telerrobotica nace como una necesidad de muchas
circunstancias en las cuales no es conveniente emplear personas para ejecutar
alguna tarea o labor, ya sea por el alto riesgo a los que posiblemente se les
pueda exponer; por esta razón este concepto se postula para emplearlo en el
robot de vigilancia, ya que alrededor de esta temática se han desarrollado
diversas herramientas y equipos que permiten reemplazar al hombre en
realizar alguna operación a distancia[34].
Los robots teleoperados se han empleado en diversos campos, este tipo de
manejo da una ventaja en el área de protección y seguridad al usuario, ya que
en caso de realizar trabajos en ambientes que sean inseguros o inestables, no
se arriesgue la integridad física. De tal modo que para poder elaborar un robot
teleoperado, también se debe tener en cuenta la realización de un sistema de
teleoperación la cual consta de 5 elementos primordiales para su
funcionamiento:
• Iniciando por el operador es aquel que realiza a distancia el control de la
operación.
• El elemento al cual se tendrá la manipulación es el dispositivo
teleoperado, puede ser un robot, un vehículo, u otro dispositivo.
• Para tener poder tener la interacción entre el operador y el sistema de
operación, se requiere de una interfaz, dentro de esta se incorporan
elementos como el manipulador, el monitor de video u otro dispositivo
que permita al operador mandar información al sistema y del mismo modo
recibir información.
UNIVERSIDAD DISTRITAL 25
25 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
• El siguiente es el control y canales de comunicación; estos son un
conjunto de dispositivos que modulan, transmiten y adaptan el conjunto
de señales que se transmiten entre la zona remota y la local.
• Por último, los sensores en el sistema de teleoperación los sensores son
un conjunto de dispositivos que recogen la información tanto en la zona
local como en la remota, de esta manera puede ser utilizada por la
interfaz y el control.
Figura 13 Elementos básicos de un sistema de teleoperación[34]
2.2.7.2 Interfaz de Usuario
La interfaz gráfica de usuario, conocida también como GUI es un programa
informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes
y objetos gráficos para representar la información y acciones disponibles en la
interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo
para permitir la comunicación con el sistema operativo de una máquina, robot o
computador[35]. De la siguiente manera se debe tener en cuenta los siguientes
pasos:
• Diseñar la interfaz de usuario: Es importante dedicar tiempo y recursos a esta fase, antes de entrar en la codificación. En esta fase se definen los objetivos de usabilidad del programa, las tareas del usuario, los objetos y acciones de la interfaz, los iconos, vistas y representaciones visuales de los objetos, los menús de los objetos y ventanas. Todos los elementos visuales se pueden hacer primero a mano y luego refinar con las herramientas adecuadas.
• Construir la interfaz de usuario: Es interesante realizar un prototipo previo, una primera versión del programa que se realice rápidamente y permita visualizar el producto para poderlo probar antes de codificarlo definitivamente.
• Validar la interfaz de usuario: Se deben realizar pruebas de usabilidad del
producto, a ser posible con los propios usuarios finales del mismo. Es
importante, en suma, realizar un diseño que parta del usuario, y no del
sistema.
UNIVERSIDAD DISTRITAL 26
26 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
2.3 Desarrollo Ingenieril.
2.3.1 Unidad de medida inercial.
Una unidad de medida inercial (IMU) es un dispositivo electrónico que mide y
reporta la fuerza específica de un cuerpo, la velocidad angular y, a veces, el
campo magnético que rodea al cuerpo, utilizando una combinación de
acelerómetros y giroscopios, a veces también magnetómetros. Las IMU se
utilizan normalmente para maniobrar aviones, incluidos los vehículos aéreos no
tripulados (UAV), entre muchos otros, y naves espaciales, incluidos los satélites
y los vehículos de aterrizaje. Desarrollos recientes permiten la producción de
dispositivos GPS con IMU. Una IMU permite que un receptor GPS funcione
cuando las señales GPS no están disponibles, como en túneles, dentro de
edificios, o cuando hay interferencia electrónica presente una IMU inalámbrica
se conoce como WIMU[36]. La mayoría de los IMU´s parten de la combinación
de un acelerómetro en tres ejes y un giroscopio en tres ejes. Ambos dispositivos
se complementan muy bien para combinar la información, ya que entre ambos
se compensan las limitaciones.
En este proyecto se hace uso de la Unidad de Procesamiento de Movimiento
MPU-60X0 es la solución de procesamiento de movimiento primera en el Mundo,
con la fusión integrada del sensor de 9 ejes, usando su probado y patentado
motor MotionFusionTM para aplicaciones en teléfonos móviles y tabletas,
controles de juegos y otros dispositivos de consumo. El MPU-60X0 combina
aceleración y movimiento de rotación más la información de cabecera dentro de
un flujo único para la aplicación. También está diseñado para interactuar con
múltiples sensores digitales no inerciales como sensores de presión, en su
puerto auxiliar I2C [37].
Figura 14 Sensor Acelerómetro y Giroscopio MPU-605[38]
Este sensor cuenta con estas características en cuanto al acelerómetro:
• Salida digital del acelerómetro de 3 ejes con un rango de escala
programable ± 2g, ±4g, ±8g y ±16g.
• ACDs integrado de 16 bits garantiza muestreo simultaneo de
acelerómetros mientras que no requiere multiplexor externo.
• Corriente de operación normal 500Ua.
UNIVERSIDAD DISTRITAL 27
27 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
• Corriente modo de baja potencia de acelerómetro: 10uA en 1.25Hz, 20uA
en 5Hz, 60Ua en 20Hz, 110 uA en 40Hz.
• Detección de orientación y señalización.
• Interrupciones programables por el usuario.
• Interruptor de caída libre.
Este sensor cuenta con estas características en cuanto al giroscopio:
• Salida digital en ejes X, Y e Z, sensores de tasa angular (giroscopios) con
un rango de escala programable de ±250, ±500, ±1000 y ±2000° /seg.
• Señal de sincronización externa conectada al pin FSYNC soporta
imagen, video y sincronización GPS.
• ADCs integrados de 16 bits garantizan muestreo simultaneo de
giroscopio.
• Estabilidad de sensibilidad de temperatura y polarización mejorada
reduce la necesidad de calibración por parte del usuario.
• Mejora el rendimiento de ruido de baja frecuencia.
• Filtr pasa bajos programable digital
• Corriente de operación del Giroscopio: 3,6mA
• Corriente en espera 5uA
• Factor de escala de sensibilidad calibrada.
2.3.2 Driver motores paso a paso.
Este dispositivo es esencial para poder manipular los motores paso a paso,
debido a su practicidad. Para el proyecto se hace uso de una plataforma especial
el A4988 Stepper Motor Driver Carrier (Figura 9), que dispone de dos puentes H
(uno por cada canal), constituidos por transistores MOSFET. Permitiendo
simplificar el manejo de motores paso a paso desde un microprocesador. De tal
manera que permite manejar altos voltajes e intensidades que requieren estos
motores, limitar la corriente que circula por el motor, y proporcionar las
protecciones para evitar que los demás componentes electrónicos puedan
resultar dañados. Para su control únicamente se requiere de dos salidas
digitales, una para indicar el sentido de giro, y otra para comunicar el paso del
motor[39].
UNIVERSIDAD DISTRITAL 28
28 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 15 A4988 Stepper Motor Driver Carrier[39]
El driver opera en un rango de 8 hasta 35V con una corriente de 1A por fase (sin
un disipador de calor) y tiene capacidad para soportar hasta 2A por bobina si
hubiera suficiente refrigeración adicional. Este driver es famoso por ser el más
utilizado en las impresoras 3D para el control de los diferentes motores paso a
paso de las mismas. Tiene una interfaz tipo paso y dirección, cuenta con micro
pasos hasta 1/16, control inteligente del consumo cuando el motor está parado
y control ajustable de la corriente y todo ello en un pequeño circuito del tamaño
de un sello de correos que podemos incorporar fácilmente en nuestros circuitos.
El driver incorpora cinco posibilidades de movimiento: paso completo, medio
paso, un cuarto de paso, un octavo de paso y la decimosexta parte de paso, por
lo que resulta muy versátil a la hora de utilizarlo en diferentes proyectos o
necesidades específicas de movimiento[40].
2.3.3 Motores paso a paso.
El motor de pasos es un dispositivo electromecánico (ver Figura 10), el cual
convierte pulsos eléctricos de entrada en movimientos mecánicos discretos de
salida. La flecha o eje del motor de pasos efectúa una rotación de un ángulo de
1.8°/pulso de incremento discreto, cuando un tren de pulsos eléctricos es
aplicado mediante una secuencia característica del motor. La rotación del motor
está directamente relacionada a estos pulsos aplicados en la entrada, donde la
secuencia de los pulsos aplicado está directamente relacionada con la dirección
de la rotación del eje del motor. La velocidad de rotación del motor es
directamente proporcional a la frecuencia de los pulsos eléctricos aplicados a la
entrada, y el ángulo de rotación es directamente proporcional al número de
pulsos eléctricos aplicados a la entrada[41].
UNIVERSIDAD DISTRITAL 29
29 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 16 Motor paso a paso y partes del motor paso a paso[28]
Los motores paso a paso se conforman de dos partes; la primera es el estator,
que es la parte fija del motor donde las cavidades van depositadas las bobinas
como se puede ver en la figura 10. La segunda parte, es la parte móvil del motor,
compuesta por un imán permanente[28]. Las ventajas que tienen esta clase de
motores son; el ángulo de rotación del motor de pasos es proporcional al número
de pulsos aplicados en la entrada, el motor tiene par completo de retención, la
precisión de posicionamiento y repetibilidad del movimiento donde un buen
motor de pasos tiene una exactitud de ±3 -5% de un paso y este error no es
acumulativo de un paso a otro, presenta una alta confiabilidad debido a que el
motor no tiene escobillas de contacto, el motor responde a pulsos digitales de
entrada, permite obtener una velocidad sincrónica a muy baja velocidad con una
carca directamente acoplada al eje del motor, y tienen un amplio rango de
velocidades de rotación, ya que la velocidad es proporcional a la frecuencia de
los pulsos aplicados a la entrada[41].
2.3.4 Placa ATmega32u4
En este proyecto se hace uso de la placa ATmega32u4. Tiene 20 pines de
entrada/salidas digitales (de los cuales 7 pueden utilizarse como salidas PWM y
12 como entradas analógicas), un oscilador de cristal de 16 MHz, una conexión
micro USB, un conector de alimentación, un cabezal ICSP y un botón de reinicio. El ATmega32u4 incorpora comunicación USB, eliminando la necesidad de un
segundo procesador. Esto permite que el Leonardo aparezca en un ordenador
conectado como un ratón y un teclado, además de un puerto virtual (CDC) serie
/ COM.[42][43]
UNIVERSIDAD DISTRITAL 30
30 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 17 Placa ATmega32[43]
2.3.5 Single Board Computers Raspberry Pi
Para el manejo de la Teleoperación se hace uso de una board especial; es la
Raspberry PI 3 B creada en 2009 por Raspberry Pi Foundation tras reconocer
que, si bien la informática había logrado grandes avances durante los últimos 30
años, los ordenadores modernos no proporcionaban las mismas oportunidades
de aprendizaje que brindaban los ordenadores usados en los años 80. Según
Eben Upton, miembro de la Fundación, esto estaba "reduciendo la llegada a las
universidades de jóvenes capaces de programar, lo que a su vez impedía la
llegada a la industria de graduados capaces de programar, con los consiguientes
problemas que ello conlleva".[44]
La Fundación Raspberry Pi ha elegido Linux como sistema operativo, lo que
permite a los usuarios beneficiarse de más de 20 años de desarrollo de software,
de un extenso ecosistema de aplicaciones y herramientas de código abierto
complementarias, así como de una vibrante comunidad global. La Raspberry Pi
es compatible, entre otras, con las distribuciones Debian y Fedora y, a través de
GitHub2, se proporciona el código fuente necesario para crear un núcleo
específico para la Raspberry Pi.[45]
UNIVERSIDAD DISTRITAL 31
31 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 18 Raspberry Pi 3 Model B[45]
2.3.6 TouchOSC EDITOR
Touch OSC EDITOR, es una aplicación que permite controlar remotamente y
recibir retroalimentación de software y hardware que implementan los protocoles
OSC o MID como Apple Logic Pro/Express, Ableton Live Renoise, Pure Data,
Max/MSP entre otros, la interfaz proporciona una serie de controles táctiles
personalizables para enviar y recibir mensajes[46].
Open Sound Control (OSC) es un protocolo para la comunicación entre
ordenadores, sintetizadores de sonido y otros dispositivos multimedia que está
optimizado para la tecnología de red moderna. Llevando los beneficios de la
moderna tecnología de redes al mundo de los instrumentos musicales
electrónicos, las ventajas de OSC incluyen interoperabilidad, precisión,
flexibilidad y una mejor organización y documentación. Este protocolo es sencillo
pero potente ya que proporciona todo lo necesario para el control en tiempo real
del procesamiento de sonido y otros medios, al tiempo que se mantiene flexible
y fácil de implementar[47].
Existen docenas de implementaciones de OSC, incluyendo entornos de
procesamiento de sonido y medios en tiempo real, herramientas de interactividad
web, sintetizadores de software, una gran variedad de lenguajes de
programación y dispositivos de hardware para la medición de sensores. OSC ha
logrado un amplio uso en campos que incluyen nuevas interfaces basadas en
computadoras para la expresión musical, sistemas de música distribuidos en red
de área amplia y área local, comunicación entre procesos, e incluso dentro de
una sola aplicación[47].
3. METODOLOGIA
Al tener en cuenta la problemática que se ha descrito anteriormente se ha hecho
un prototipo de robot móvil autobalanceado, con fines de vigilancia, el cual
consiste en una estructura que mantiene equilibrio sobre dos ruedas de tal
UNIVERSIDAD DISTRITAL 32
32 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
manera que le permite una mayor movilidad en espacios reducidos, siendo un
apoyo a los sistemas de video vigilancia en torno a los puntos ciegos que tienen
las cámaras fijas. Además, cuenta con la característica de ser un robot
teleoperado, que cuenta con una cámara y un sistema de comunicación
inalámbrico para la transmisión de datos, de tal manera pueda ser manipulado a
distancia. En la figura 19 se muestra el diagrama de bloques de la solución
implementada.
Figura 19 Diagrama de bloques de la solución [Fuente el autor]
3.1. Diseño y Construcción
El diseño del prototipo de robot (Figura 20) está basado en el problema físico
llamado péndulo invertido, como se ha mencionado anteriormente, el problema
expone que el centro de masa del diseño está por encima de su eje de
rotación[6], el objetivo al diseñar el chasis era construir una estructura rígida, que
fuese barata y relativamente ligera, lo suficiente para satisfacer las necesidades
básicas de mantener el equilibrio, se ha optado por un diseño sencillo elaborado
en FreeCAD.
UNIVERSIDAD DISTRITAL 33
33 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 20 Diseño del Prototipo de robot autobalanceado [Fuente el autor]
Primero se diseñó un modelo en el programa FreeCAD, y una vez hecho el
diseño se procedió a imprimir las piezas en una impresora 3D. El material en el
que fue impreso estas piezas es el acrilonitrilo butadieno estireno, uno de los
termoplásticos más usados en la impresión 3D.
El prototipo se ha dividido en tres plataformas, cada una de ellas está compuesta
por un conjunto de componentes que cumplen con una función específica, y
juntas cumplen con el objetivo del proyecto:
La primera plataforma es la franja roja (Figura 21), cuenta con los actuadores del
prototipo del robot, son dos motores paso a paso ubicados a los costados, y cada
uno tiene acoplado una rueda, este conjunto funciona a partir de una señal de
control que envía el microcontrolador para mantener el equilibrio.
La segunda plataforma es la franja azul (Figura 21), la conforman la fuente de
alimentación (caja con 6 baterías AA), el microcontrolador con el módulo de
driver para motores paso a paso (A4988), el chip MPU6050 que cuenta con los
sensores de acelerómetro y giroscopio, y un servo motor que controla el ángulo
de visión de la cámara de video.
Por último, la tercera plataforma (Figura 21) es la franja verde, la conforman una
Raspberry pi B3 junto con una batería especial para su funcionamiento y una
cámara de video.
UNIVERSIDAD DISTRITAL 34
34 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 21 Plataformas del prototipo del robot autobalanceado, (Franja roja, Franja azul y Franja
verde) [Fuente el autor].
Las dimensiones de físicas del prototipo son (Figura 22), de alto tiene 23.5 cm,
de largo 14.79 cm y de ancho 9.1 cm.
Figura 22 Dimensiones físicas del prototipo de robot autobalanceado [Fuente el autor]
UNIVERSIDAD DISTRITAL 35
35 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
3.1.1 Alimentación eléctrica
Continuando con el diseño, en esta parte del proyecto se describe las conexiones
de alimentación del hardware. En resumen, el sistema eléctrico que permite el
control del balanceo del prototipo se centra en la batería y en la distribución de
la tensión y corriente de la batería a otros subsistemas, dado que la batería de
este tipo de robots tiene mucha energía es necesario tener protecciones
adicionales, y disponer de dispositivos de seguridad para apagarlo en caso de
emergencia o mal funcionamiento. Las medidas de seguridad en este sistema
consisten en fusibles, un interruptor. La siguiente figura muestra un diagrama
conceptual del sistema eléctrico:
Figura 23 Diagrama de conexiones eléctricas [Fuente el autor].
La caja de baterías AA; cuenta con 6 baterías alcalinas doble A, el voltaje
nominal es de 1.5V la impedancia es de 120m-ohm, y cada una de ellas cuenta
con el servicio de 26 horas según las especificaciones de fábrica[48]. Las
baterías fueron seleccionadas con el objetivo de cumplir la autonomía de por lo
menos 4 horas de funcionamiento, a su vez de proporcionar la suficiente
corriente para cada uno de los componentes. En cuanto a sus características de
seguridad, el parámetro más importante para el diseño del sistema eléctrico
principal fue la capacidad de corriente, por ende, se escogió la marca Duracell,
una marca confiable y que tiene parámetros que garantizan el buen
funcionamiento del prototipo de robot.
Para la alimentación de la raspberry y la cámara de video, se optó por otro tipo
de batería, con el fin de independizar la visualización del robot, de su control. La
figura 24 muestra un diagrama conceptual de la alimentación para esta parte de
prototipo. La batería es una Power bank, conectada a la entrada micro USB de
la raspberry pi 3 b, y el
UNIVERSIDAD DISTRITAL 36
36 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 24 Diagrama eléctrico raspberry [Fuente el autor]
3.1.2 Diagramas circuitales
El diagrama circuital principal (figura 25); se hace uso de un Arduino Leonardo
como controlador, este procesa la señal emitida por el chip MPU6050 que
contiene el acelerómetro y giroscopios integrados, está leyendo 200 veces por
segundo. De tal manera que está programado para calcular el ángulo con
respecto a un horizonte, comparando el ángulo leído con respecto a un ángulo
deseado. Utilizando la diferencia entre el ángulo deseado y el ángulo real,
conduce un sistema de control para enviar una señal de control hacia los
motores, y de esta forma mantiene el equilibrio. El protocolo de comunicación
entre estos dos elementos es I2C, donde el microcontrolador es el maestro y el
MPU6050 el esclavo.
Para la transmisión de datos que permite la Teleoperación del prototipo, cuenta
con un módulo wifi, que se comunica con el microcontrolador a través de una
comunicación serial, este módulo Wifi permite crear un punto de acceso, por lo
cual no es necesario utilizar una infraestructura Wifi existente, de esta manera
se puede conectar el prototipo en cualquier lugar.
En la parte de potencia del circuito principal cuenta con dos drivers A4988,
cuentan con protector contra sobre picos de corriente. Estos drivers permiten
controlar los motores paso a paso, ya que tienen una salida de corriente de hasta
2A, y están diseñados con cinco resoluciones de paso diferentes. Se instalan
dos motores NEMA17 (4.5 kg CM), se utilizaron estos motores paso a paso en
lugar de motores de corriente continua normales, ya que son mucho más
precisos y tienen menos perdida de rendimiento durante las caídas de tensión,
ya que un pulso es siempre una cantidad exacta de movimiento, ya que los
motores de corriente continua tienen una resistencia mecánica y eléctrica
diferente. Los motores de corriente continua normales pueden tener diferencias
de ficción mecánica y de resistencia eléctrica. Debido a la diferencia de
UNIVERSIDAD DISTRITAL 37
37 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
rendimiento el robot no se movería en línea recta si usara esa clase de motor,
además la manipulación de la velocidad de los motores paso a paso es sencilla
permitiendo así el objetivo de mantener el equilibrio del prototipo. Para la
manipulación de la visión de la cámara, se tuvo en cuenta el uso de un
microservo motor con piñonearía metálica, conectado directamente al
microcontrolador.
Figura 25 Diagrama circuital principal [Fuente el autor]
UNIVERSIDAD DISTRITAL 38
38 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Para mayor practicidad en cuanto a las conexiones entre el módulo wifi, el chip
MPU6050, los drivers de los motores paso a paso y los motores con el
microcontrolador, se optó por el uso de un módulo (BRAIN SHIELD) que contiene
todos estos complementos[49] y es usado comúnmente en proyectos de
robótica. Este módulo permite reducir y simplificar el espacio entre las
conexiones de los dispositivos y mejora la integración entre ellos.
3.1.3 Estructura del prototipo
Una vez diseñado la estructura física del prototipo y elaborado un diagrama de
conexiones, a continuación, se muestra los pasos a seguir para la construcción
del prototipo; como se ha mencionado anteriormente las piezas fueron
elaboradas en impresoras 3D, el resultado de esta impresión y unión de estas
piezas fue el siguiente.
Primero la pieza que sostiene a los dos motores, compuesta por cuatro ranuras
que permiten el paso de cuatro tornillos de 3mm de diámetro que ajustan a la
pieza con los motores, y adicional cuenta con dos aberturas para disipar el calor.
Figura 26 Pieza que sostiene a los motores paso a paso [Fuente el autor]
Una vez impresa, se ubican los motores paso a paso en los costados de la
siguiente manera y se ajustan en las aberturas de los costados con los tornillos
de 3 mm de diámetro.
UNIVERSIDAD DISTRITAL 39
39 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 27 Pieza que sostiene a los motores, junco con los motores. [Fuente el autor]
El segundo paso es ubicar el Arduino Leonardo en su base, diseñada con tres
aberturas para sujetar el Arduino a la pieza con tornillos de 3 mm de diámetro y
cuatro aberturas para ajustar la pieza con las paredes del prototipo con tornillos
de 3mm, al igual que la base que sostiene a los motores, esta pieza cuenta con
aberturas para disponer de disipadores o puede cumple la función de poder
pasar algún tipo de conexión si es necesaria. Como se puede observar en la
figura 28.
Figura 28 Pieza que sostiene el Arduino Leonardo [Fuente el autor]
Una vez puesto el microcontrolador se hace la conexión con el módulo Brian
Shield que contiene los dispositivos que permiten el control del prototipo, como
se puede observar en la figura 29.
UNIVERSIDAD DISTRITAL 40
40 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 29 Conexión entre el Arduino y el módulo Brian shield [Fuente el autor]
Tercer paso, ahora se ajustan las paredes a los costados de la base que sostiene
al Arduino y a los motores paso a paso, y de esta manera se tiene una base
sólida.
Figura 30 Paredes del prototipo [Fuente el autor]
Después, se inserta la caja de baterías que contiene 6 pilas AA, en el espacio
que hay entre la base del Arduino Leonardo, y los motores paso a paso, tal y
como se muestra en la figura 31.
UNIVERSIDAD DISTRITAL 41
41 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 31 Banco de baterías (franja azul), conexión entre drivers y motores paso a paso (franja
roja). [Fuente el autor]
Una vez ajustado las paredes y con el banco de baterías instalado y conectado
al Arduino, se conectan los motores paso a paso a sus respectivos Drivers.
Figura 32 Conexión de drivers de motores paso a paso [Fuente el autor]
Ensamblado la parte de control del prototipo, ahora se instalará el servomotor
que sostiene la base de la cámara web, este motor se ajusta en una de las
paredes del robot.
UNIVERSIDAD DISTRITAL 42
42 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 33 Servo motor instalado (franja roja) [Fuente el autor]
La conexión del servo motor hacia el módulo Brian shield se hace en los pines
“SERVO 0” , el orden es; el cable de color café se ubica en el pin de GND, el
cable de color rojo se ubica en el pin de 5V y la señal de control se ubica el cable
de color naranja con el pin SIG.
Figura 34 Conexión del servo motor al Brian shield [Fuente el autor]
Instalado las conexiones eléctricas del servo motor, se ajusta la base que
sostiene a la cámara web, esta pieza se acopla con el eje del motor, de tal
manera que permite mover la cámara en posición vertical, cuenta con una altura
de 14 cm.
UNIVERSIDAD DISTRITAL 43
43 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 35 Base de la cámara Web [Fuente el autor]
Ahora se instala la última plataforma, donde se encuentra la raspberry junto con
la batería independiente, que alimenta a este sistema. Al igual que las otras
plataformas, esta cuenta con espacios donde entran los tornillos, que acoplan la
plataforma con las dos paredes del robot, una vez acoplada la plataforma, se
conecta la cámara en alguno de los puertos USB de la raspberry.
Figura 36 Tercera plataforma, raspberry conectada con la cámara web [Fuente el autor]
UNIVERSIDAD DISTRITAL 44
44 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Para finalizar, se instala la batería para alimentar el sistema instalado en la última
plataforma, y las ruedas en los ejes de los motores. El resultado final del prototipo
se refleja en la figura 37.
Figura 37 Prototipo de robot autobalanceado con fines de seguridad [Fuente el autor].
3.2 Modelo Cinematico.
La navegación más simple de los robots móviles consiste en el modelo de la
configuración de actuadores que permiten al robot moverse en el entorno, es
decir su modelo cinemático. Obtener una posición precisa de robot suele ser una
tarea extremadamente difícil. Para el caso del prototipo de robot
autobalanceado, contiene dos ruedas que contribuye al movimiento y mantiene
el equilibrio del robot, para el movimiento su configuración es a partir de la
tracción diferencial, ya que el direccionamiento se genera por la diferencia de
velocidades de las ruedas[50][51]. Por lo tanto, para formular el modelo
cinemático, se simplifica con algunos supuestos, los cuales permiten generalizar
el comportamiento del robot:
1. El robot debe ser considerado como un cuerpo rígido, sólido y sin partes
flexibles.
UNIVERSIDAD DISTRITAL 45
45 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
2. Se debe tener en cuenta las restricciones no holonomicas del sistema,
esto hace referencia a que el robot puede moverse hacia adelante o atrás,
pero no desplazarse hacia los lados, para hacer esta clase de
desplazamientos se debe mover por partes.
3. El plano de operación debe ser tratado como horizontal, ya que se ha
diseñado el robot para trabajar sobre una superficie plana sin ningún tipo
de inclinación.
4. A diferencia de un robot diferencial que depende de una rueda adicional
para mantener el equilibrio, el prototipo de robot autobalanceable ya
mantiene el equilibrio sin necesidad de algún dispositivo adicional, así que
el movimiento del robot solo es balance sin resbalar, patinar o deslizarse
entre la rueda y el suelo.
5. Los ejes de dirección deben ser ortogonales a la superficie.
6. Durante el movimiento, la rueda y el plano horizontal tiene un solo punto
de contacto.
Denotando estos supuestos, para realizar el modelo es necesario conocer las
condiciones físicas del sistema o parámetros cinemáticos, se debe conocer los
radios de la rueda izquierda (rL), de la rueda derecha (rR) y la distancia entre las
ruedas D. En la figura 55, se representa los dos rectángulos negros como las
dos ruedas del robot, entre ellos tienen un punto central, este se toma como
referencia de la ubicación del robot.[50][51]
Figura 38 Grafico modelo cinemático [Fuente el autor]
UNIVERSIDAD DISTRITAL 46
46 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Las incógnitas que tiene el prototipo de robot son la posición y la orientación
dentro de un sistema global, de tal manera que, para tener un movimiento
controlado, se debe poder dominar la velocidad de las ruedas (VR y VL). Así que
con este planteamiento se puede partir con ecuaciones sencillas que permitirán
completar la cinemática completa.
Velocidades lineales en las ruedas:
𝑉𝑅 = 𝑟𝑅 ∗ 𝑊𝑅 (1)
𝑉𝐿 = 𝑟𝐿 ∗ 𝑊𝐿 (2)
Las dos anteriores velocidades producirán instantáneamente una velocidad
lineal del robot:
𝑉 =𝑉𝑅 + 𝑉𝐿
2 (3)
Como aproximación, haciendo uso de las velocidades lineales de la rueda para
una primera posición el robot, se moverá de la siguiente manera:
𝑥′ = 𝑥 + 𝑉 ∗ cos(Ø) ∗ 𝑡 (4)
𝑦′ = 𝑦 + 𝑉 ∗ sin(Ø) ∗ 𝑡 (5)
Cuando el robot tenga un movimiento de rotación en su mismo centro de masa,
va a tener una velocidad angular, es decir que va a tener una diferencia entre la
velocidad de sus ruedas sobre la longitud que hay entre ellas:
𝑊 =𝑉𝑅 − 𝑉𝐿
𝐷 (6)
De esta forma al hacer una rotación, daría una nueva orientación, que se
representaría de la siguiente manera:
∅′ = ∅ + 𝑊 ∗ 𝑡 (7)
En resumen, se da en tres ecuaciones a partir de las velocidades angulares en
las ruedas y generando las velocidades lineales en las mismas ruedas se
obtendría las nuevas posiciones y la nueva orientación, así que la ecuación final
arroja dos matrices, la primera es la matriz de rotación y la segunda es la matriz
de velocidad:
[
����
∅
] = [cos (∅) 0sin (∅) 0
0 1
] [𝑉𝑊
] (8)
En este caso el radio de las ruedas es igual, por tanto, al despejar en la última
ecuación el resultado del modelo es:
UNIVERSIDAD DISTRITAL 47
47 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
[
����
∅
] = [cos (∅) 0sin (∅) 0
0 1
] [𝑟𝑉𝑅 + 𝑉𝐿
2
𝑟𝑉𝑅 − 𝑉𝐿
𝐷
] (9)
La multiplicación de estas dos matrices arroja como resultado:
[
����
∅
] =
[ r ∗ cos(∅) ∗
𝑉𝑅 + 𝑉𝐿
2
r ∗ sin (∅) ∗𝑉𝑅 + 𝑉𝐿
2
𝑟𝑉𝑅 − 𝑉𝐿
𝐷 ]
(10)
para tener como entradas al sistema solo la velocidad de las ruedas la
conversión quedaría:
[
����
∅
] =
[ r ∗ cos(∅)
2
r ∗ cos(∅)
2r ∗ sin(∅)
2
r ∗ sin(∅)
2r
𝐷−
r
𝐷 ]
[𝑉𝑅𝑉𝐿
] (11)
3.3. Modelo matemático del sistema.
Como se ha mencionado anteriormente, el robot autobalanceado es una variante
del sistema de péndulo invertido, así que el análisis teórico que se plantea de
este sistema ya se ha tratado en otros proyectos, sobre la modelización de este
sistema ya existe información con en la cual existe una base, desde contenido
web hasta publicaciones de varios artículos científicos en bases de datos. Existe
una diversa cantidad de soluciones para modelar este sistema, todas estas
soluciones son acertadas, en este proyecto los resultados son distintos, aunque
coinciden en ciertos puntos que son claves en el modelo realizado a
continuación.
Para obtener una mayor aproximación al sistema real que se planteó, hacer uso
del péndulo como una varilla, es decir, la masa del péndulo se reparte
uniformemente a lo largo de una varilla de longitud determinada, pero sin
anchura ni profundidad, y está conectada en uno de los extremos a la base del
UNIVERSIDAD DISTRITAL 48
48 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
sistema. Al realizar la modelización se contemplan términos de inercias
relacionados con la dinámica de la varilla, figura 38.
Figura 39 Péndulo como varilla, variables que actúan sobre el sistema [Fuente el autor]
Para determinar el modelo del sistema del robot autobalanceado se utilizara el
documento por Rosvan Florian [52], para lo cual se divide el robot en dos
secciones el pendulo y la base en la que desplaza(carro). Describe un esquema
de fuerzas y parámetros que intervienen, descritas en la siguiente tabla.
VARIABLE DESCRIPCION
N Fuerza normal de reacción del carro sobre el péndulo unión de ambos
-N Fuerza normal de reacción del péndulo sobre el carro (acción-reacción)
NC Fuerza normal de la superficie sobre el carro.
F Fuerza aplicada para mover el carro.
FF Fuerza de fricción entre el carro y la superficie sobre la que se desplaza.
GC Fuerza de gravedad sobre el carro.
Gp Fuerza de gravedad sobre el péndulo.
α Angulo de desviación del péndulo respecto a la posición de equilibrio
ω Velocidad angular del péndulo.
Ԑ aceleración angular del péndulo.
UNIVERSIDAD DISTRITAL 49
49 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
mc Masa del carro
mp Masa del péndulo.
ac Aceleración lineal del carro.
ap Aceleración del péndulo
L Distancia desde la unión entre el carro y el péndulo hasta el centro de masas del péndulo.
g Gravedad
µc Coeficiente de fricción entre la superficie y el carro.
µp Coeficiente de fricción de la articulación que une el carro con el péndulo.
I Momento de inercia del péndulo relativo a la articulación.
M Sumatorio de los pares no inerciales que actúan en el péndulo respecto a la articulación que lo une con el carro.
Tabla 1 Fuerzas y parámetros del robot autobalanceado (carro péndulo).[52]
Una vez determinado las fuerzas y los parámetros del sistema se determina las
ecuaciones.
1. En primer lugar, haciendo uso de la segunda ley de newton al movimiento
lineal, se obtiene la suma de todas las fuerzas.
∑𝐹 = 𝑚 ∗ 𝑎 → 𝐹 + 𝐹𝑓 + 𝐺𝐶 − 𝑁 +𝑁𝐶 = 𝑚𝐶 ∗ 𝑎𝐶 (1)
Descrito la sumatoria, despues se descompone cada fuerza y aceleración de la
ecuación (1) en términos correspondientes a los ejes X y Y, se tiene en cuenta
que Ux y Uy son vectores unitarios
𝐹 = 𝐹 ∙ 𝑈𝑥 𝐹𝑓 = −𝐹𝑓 ∙ 𝑈𝑥 𝐺𝐶 = 𝑚𝑐 ∙ 𝑔 ∙ 𝑈𝑌
𝑁 = 𝑁𝑥 ∙ 𝑈𝑥 − 𝑁𝑌 ∙ 𝑈𝑌 𝑁𝐶 = −𝑁𝐶 ∙ 𝑈𝑌 𝑎𝐶 = �� ∙ 𝑈𝑥 (2)
Descompuesta cada fuerza y aceleración, se separa las ecuaciones en dos, una
para cada eje:
Eje X 𝐹 − 𝐹𝑓 − 𝑁𝑥 = 𝑚𝐶 ∙ �� (3)
Eje Y 𝑚𝐶 ∙ 𝑔 + 𝑁𝑦 − 𝑁𝐶 = 0 (4)
Se puede reescribir la fuerza de fricción como lo describe el modelo de coulumb
de ficción[52], teniendo en cuenta que la superficie limita el movimiento del carro
hacia arriba y hacia abajo la fuerza se describiría así:
𝐹𝑓 = 𝜇𝑐 ∙ |𝑁𝐶| ∙ 𝑠𝑔𝑛(��) = 𝜇𝑐 ∙ 𝑁𝑐 ∙ 𝑠𝑔𝑛(�� ∙ 𝑁𝑐) (5)
UNIVERSIDAD DISTRITAL 50
50 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
2. Se debe aplicar la segunda ley de newton al movimiento lineal del
péndulo, obteniendo así:
𝑁 + 𝐺𝑝 = 𝑚𝑝 ∙ 𝑎𝑝 (6)
Al igual que se hizo con la parte del carro, se debe descomponer las fuerzas y la
aceleración en términos que correspondes a los ejes X y Y. se descompone la
fuerza de gravedad ejercida sobre el péndulo
𝐺𝑝 = 𝑚𝑝 ∙ 𝑔 ∙ 𝑈𝑌 (7)
Ahora se descompone la aceleración del péndulo, se ubica en el centro de masas
del péndulo y se compone de:
Aceleración del carro ya que esta unido al péndulo.
𝑎𝐶 = �� ∙ 𝑈𝑥 (8)
La rotación del péndulo está sujeto a una velocidad angular:
𝜔 = 𝛼 ∙ 𝑈𝑧 (9)
La aceleración angular del péndulo:
Ԑ = α ∙ 𝑈𝑧 (10)
Reescribiendo la aceleración del péndulo de la siguiente manera
𝑎𝑝 = 𝑎𝐶 + Ԑ × 𝑟𝑝 + 𝜔 × (𝜔 + 𝑟𝑝) (11)
Donde:
𝑟𝑝 = 𝑙 ∙ (sin(𝛼) ∙ 𝑈𝑥 − cos(𝛼) ∙ 𝑈𝑦) (12)
rp es el vector que representa la posición del centro de masa del péndulo respecto
a la articulación sobre la cual rota el péndulo. Sustituyendo estas ecuaciones
sobre la ecuación 7 se obtiene:
𝑎𝑝=�� ∙ 𝑈𝑥 + α ∙ 𝑈𝑧 × 𝑙 ∙ (sin(𝛼) ∙ 𝑈𝑥 − cos(𝛼) ∙ 𝑈𝑦) + 𝛼 ∙ 𝑈𝑧 × (𝛼 ∙
𝑈𝑧 × 𝑙 ∙ (sin(𝛼) ∙ 𝑈𝑥 − cos(𝛼) ∙ 𝑈𝑦)) (13)
Se realiza el producto vectorial de los vectores unitarios para simplificar la
ecuación:
𝑈𝑧 × 𝑈𝑥 = 𝑈𝑦
𝑈𝑧 × 𝑈𝑦 = −𝑈𝑥 (14)
UNIVERSIDAD DISTRITAL 51
51 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Se obtiene el siguiente resultado:
𝑎𝑝 = �� ∙ 𝑈𝑥 + α ∙ 𝑙 ∙ (sin(𝛼) ∙ 𝑈𝑦 + cos(𝛼) ∙ 𝑈𝑥) + 𝛼 2 ∙ 𝑙 ∙ (sin(𝛼) ∙ 𝑈𝑥 − cos(𝛼) ∙ 𝑈𝑦) (15)
Ya determinado la aceleración del péndulo, se introduce en la ecuación 6 y de
esta manera se continua con la descomposición de fuerzas y aceleración, en los
términos de los ejes X y Y.
Eje X 𝑁𝑥 = 𝑚𝑝 ∙ (�� + �� ∙ 𝑙 ∙ cos(𝛼)) − ��2 ∙ 𝑙 ∙ sin(𝛼) (16)
Eje Y 𝑚𝑝 ∙ 𝑔 − 𝑁𝑦 = 𝑚𝑝 ∙ (�� + �� ∙ 𝑙 ∙ cos(𝛼)) − ��2 ∙ 𝑙 ∙ sin(𝛼) (17)
3. Aplicando la segunda ley de newton al movimiento rotatorio del péndulo
alrededor de la articulación, se obtiene:
𝑀 = 𝐼 ∙ Ԑ + 𝑟𝑝 × 𝑎𝑐 (18)
De tal manera que, la ecuación 19 es el sumatorio de los pares no inerciales
actuando en el péndulo respecto de la articulación que lo une con el carro.
𝑀 = 𝑟𝑝 × 𝐺𝑐 − 𝜇𝑝 ∙ 𝛼 ∙ 𝑈𝑧 (19)
El momento de inercia del péndulo respecto de la articulación que lo une con el
carro es:
𝐼 = (4
3) ∙ 𝑚𝑝 ∙ 𝑙2 (20)
Y se puede interpretar la ecuación 21 como el par generado por la fuerza inercial
causado por la aceleración del carro.
−𝑟𝑝 × 𝑎𝑐 (21)
De esta manera se sustituye las ecuaciones 19 20 y 21 en 18 se obtiene:
𝑚𝑝 ∙ 𝑔 ∙ 𝑙 ∙ sin(𝛼) − 𝜇𝑝 ∙ �� = (4
3) ∙ 𝑚𝑝 ∙ 𝑙2 ∙ α + 𝑚𝑝 ∙ x ∙ 𝑙 ∙ cos(𝛼) (22)
Una vez determinado este análisis, el siguiente paso es ordenar las ecuaciones
obtenidas, para lo cual se sustituye Nx de la ecuación 16 en la ecuación número
3, como se muestra a continuación:
UNIVERSIDAD DISTRITAL 52
52 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
x =𝐹−𝐹𝑓+𝑚𝑝∙𝑙∙(α∙cos(α)−𝛼 2∙sin(α))
𝑚𝑐+𝑚𝑝 (23)
Para obtener la aceleración lineal, se sustituye de la ecuación 23 en la ecuación
22:
�� =𝑔∙sin(𝛼)+cos(𝛼)∙[
−𝐹−𝑚𝑝∙𝑙∙𝛼 2 sin(α)+𝐹𝑓
𝑚𝑐+𝑚𝑝]−
𝜇𝑝∙��
𝑚𝑝∙𝑙
𝑙∙[4
3−
𝑚𝑝∙cos (𝛼)2
𝑚𝑐+𝑚𝑝]
(24)
Ahora se debe aislar Ny de la ecuación 17 y se sustituye en la ecuación 4:
𝑁𝐶 = (𝑚𝑐 + 𝑚𝑝) ∙ 𝑔 − 𝑚𝑝 ∙ 𝑙 ∙ (�� ∙ sin(𝛼) + ��2 ∙ cos (𝛼)) (25)
Se sustituye Nc de la ecuación 25 en la ecuación 5:
𝐹𝑓 = 𝜇𝑐 ∙ [(𝑚𝑐 + 𝑚𝑝) ∙ 𝑔 − 𝑚𝑝 ∙ 𝑙 ∙ (�� ∙ sin(𝛼) + ��2 ∙ cos(𝛼))] ∙ 𝑠𝑔𝑛(�� ∙ (𝑚𝑐 + 𝑚𝑝) ∙
𝑔 − 𝑚𝑝 ∙ 𝑙 ∙ (�� ∙ sin(𝛼) + ��2 ∙ cos (𝛼)) ) (26)
Ya para finalizar, se introduce la expresión de la fuerza de ficción ecuación 27
en las ecuaciones 23 y 24:
x =𝐹 − 𝜇𝑐 ∙ [(𝑚𝑐 + 𝑚𝑝) ∙ 𝑔 − 𝑚𝑝 ∙ 𝑙 ∙ (�� ∙ sin(𝛼) + ��2 ∙ cos(𝛼))] ∙ 𝑠𝑔𝑛(�� ∙ 𝑁𝐶) + 𝑚𝑝 ∙ 𝑙 ∙ (α ∙ cos(α) − 𝛼 2 ∙ sin(α))
𝑚𝑐 + 𝑚𝑝
Esta ecuación permite obtener el movimiento lineal del sistema, ya que
representa la aceleración lineal del sistema, que posteriormente se puede
integrar para determinar la velocidad lineal, y así mismos integrar la velocidad
para encontrar la posición del robot.
�� =
𝑔 ∙ sin(𝛼) + cos(𝛼) ∙ [−𝐹 − 𝑚𝑝 ∙ 𝑙 ∙ 𝛼 2 sin(α) + 𝜇𝑐 ∙ 𝑠𝑔𝑛(�� ∙ 𝑁𝐶) ∙ cos(𝛼)
𝑚𝑐 + 𝑚𝑝+ 𝜇𝑐 ∙ 𝑔 ∙ 𝑠𝑔𝑛(�� ∙ 𝑁𝐶)] −
𝜇𝑝 ∙ ��𝑚𝑝 ∙ 𝑙
𝑙 ∙ [43
−𝑚𝑝 ∙ cos (𝛼)𝑚𝑐 + 𝑚𝑝
∙ (cos(𝛼) − 𝜇𝑐 ∙ 𝑠𝑔𝑛(�� ∙ 𝑁𝐶))]
Esta ecuación permite obtener el movimiento angular del péndulo, ya que se
puede determinar la aceleración angular, al igual que la anterior, se puede
integrar para determinar la velocidad angular y así mismo integrar la velocidad
para encontrar el ángulo de desviación respecto a un punto de equilibrio.
Para mayor practicidad, para este modelo se supone anular los términos de
friccion, obteniendo:
UNIVERSIDAD DISTRITAL 53
53 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
x =𝐹 + 𝑚𝑝 ∙ 𝑙 ∙ (α ∙ cos(α) − 𝛼 2 ∙ sin(α))
𝑚𝑐 + 𝑚𝑝
�� =
𝑔 ∙ sin(𝛼) + cos(𝛼) ∙ [−𝐹 − 𝑚𝑝 ∙ 𝑙 ∙ 𝛼 2 sin(α)
𝑚𝑐 + 𝑚𝑝]
𝑙 ∙ [43 −
𝑚𝑝 ∙ cos (𝛼)2
𝑚𝑐 + 𝑚𝑝]
Para poder tener control sobre el ángulo de posición, solo se tendrá en cuenta la
ecuación que determina la aceleración angular. Por lo cual es necesario tener
las medidas de la masa del carro, la masa del péndulo y la longitud del péndulo.
3.3.1 Masa del Pendulo y masa del carro.
Para obtener la masa del péndulo y del carro se ha usado una báscula de
precisión, normalmente usada en tareas de cocina. Como se ha descrito
anteriormente el para encontrar el modelo matemático del prototipo de robot se
separa en dos, en un péndulo, y la parte del carro, esta última se define como
las ruedas del robot, y el péndulo se define como la estructura rígida.
Figura 40 Masa del péndulo, prototipo de robot [Fuente el autor].
La masa del péndulo dio como resultado 1,083 gramos, posteriormente se usará
como constante para el modelo matemático.
UNIVERSIDAD DISTRITAL 54
54 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 41 Masa del carro, prototipo de robot [Fuente el autor]
La masa del carro dio como resultado 38 gramos, posteriormente se usará como
constante para el modelo matemático.
3.3.2 Longitud del péndulo.
Para determinar la longitud del péndulo, se siguen los pasos según el artículo
“Diseño, simulación y construcción de un sistema carro-péndulo mediante
tecnología lego”, describen que para obtener el parámetro l se necesita encontrar
el periodo natural de oscilación del péndulo. Con la ecuación descrita a
continuación[53]:
𝑇𝑛 = 2 ∙ 𝜋 ∙ √𝑙
𝑔
Para obtener el periodo natural de oscilación, se debe poner el robot apoyado
únicamente en los ejes de las ruedas, después se debe inclinar y dejar oscilar
libremente, sin actuar los motores, y medir el ángulo de oscilación con ayuda del
giroscopio.
Figura 42 Ángulo de oscilación, determinar longitud del péndulo [Fuente el autor]
-80
-60
-40
-20
0
20
0 500 1000 1500 2000 2500 3000 3500
An
gulo
Tiempo (ms)
Angulo de oscilación
UNIVERSIDAD DISTRITAL 55
55 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Para este caso se tomaron 257 muestras, el tiempo está delimitado desde 0
hasta 3500 milisegundos, se tomaron 6 puntos mínimos de oscilación. De esta
forma:
𝑇𝑛 =3500
6= 583.333 𝑚𝑠
El periodo natural de oscilación es de 0.583 segundos, ahora se puede
determinar la longitud del péndulo.
𝑇𝑛 = 2 ∙ 𝜋 ∙ √𝑙
𝑔→ (
0.583𝑠
2 ∙ 𝜋)
2
∙ 9.8 𝑚
𝑠2= 0.084𝑚
La constante de la longitud del péndulo es 8,43 cm. Ahora se puede completar
el modelo matemático del sistema, para mayor practicidad ya que las derivadas
dinámicas del movimiento no son lineales, suponiendo que el robot se mueve a
lo largo del eje X solo se obtiene pequeñas desviaciones en la posición angular,
esto llega a que se pueda linealizar alrededor de un punto, y de tal manera que
el modelo sea más adecuado para la implementación del controlador, utilizando
este hecho las aproximaciones se hacen alrededor del ángulo 0, modificando así
el modelo:
sin(𝛼) ≅ 𝛼
cos(𝛼) ≅ 1
��2 = 0
Retomando el modelo, y agregando las anteriores modificaciones:
�� =
𝑔 ∙ 𝛼 + [−𝐹
𝑚𝑐 + 𝑚𝑝]
𝑙 ∙ [43 −
𝑚𝑝
𝑚𝑐 + 𝑚𝑝]
Distribuyendo las constantes el modelo quedaría:
�� ∙ 𝑙 ∙ [4
3−
𝑚𝑝
𝑚𝑐 + 𝑚𝑝] − 𝑔 ∙ 𝛼 = [
−𝐹
𝑚𝑐 + 𝑚𝑝]
Aplicando Laplace y agrupando términos:
𝑠2 ∙ 𝑙 ∙ [4
3−
𝑚𝑝
𝑚𝑐 + 𝑚𝑝] = [
−𝐹
𝑚𝑐 + 𝑚𝑝]
𝛼
𝐹=
−1
𝑠2 ∙ 𝑙 ∙ (43 ∙ (𝑚𝑐 + 𝑚𝑝) − 𝑚𝑝) − 𝑔 ∙ (𝑚𝑐 + 𝑚𝑝)
UNIVERSIDAD DISTRITAL 56
56 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Dado que se tiene el numerador negativo, se necesitaría de una
retroalimentación positiva, por tal motivo se define que la fuerza ejercida es una
fuerza negativa.
𝛼
𝐹=
1
𝑠2 ∙ 𝑙 ∙ (43 ∙ (𝑚𝑐 + 𝑚𝑝) − 𝑚𝑝) − 𝑔 ∙ (𝑚𝑐 + 𝑚𝑝)
Como resultado, la entrada del sistema es un ángulo de inclinación, así que para
corregir esta inclinación debe ejercerse una fuerza en sentido contrario para
poder mantener el equilibrio.
𝛼
𝐹=
1
𝑠2 ∙ 8.4 ∙ (43 ∙ (0.038 + 1.083) − 1.083) − 9.8 ∙ (0.038 + 1.083)
𝛼
𝐹=
1
𝑠2(0.03458) − 10.9858
Con la ayuda de la herramienta de sisotool de Matlab, se determina el lugar
geometrico de las raíces. Donde se muestra que tiene un polo real negativo y un
polo real positivo, este último hace que el sistema sea inestable, además de que
ambos con parte compleja nula, es decir reales puros. El sistema es inestable.
Figura 43 Lugar de las raíces del sistema. [Fuente el autor]
A continuación, se utilizó como medida la herramienta de Matlab Tune que se
encuentra en el bloque PID de simulink, para encontrar los valores de las Ks del
sistema, ya que de por si es inestable.
UNIVERSIDAD DISTRITAL 57
57 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 44 Diagrama de bloques control PID[Fuente el autor]
Dio como resultado P=233.9, I= 2081, D=6.457, este controlador se llegó a
implementar en el sistema real pero no se obtuvieron buenos resultados, se ha
tratado de hacer una modelización real lo más cercana posible, pero aun así el
sistema real y el modelo no son idénticos, un ejemplo es la construcción física
ya que en la simulación se considera de una varilla ideal y el sistema real difiere
mucho del modelo. Otro de los aspectos que puede ser el causante de que los
resultados no fueran los mas cercanos es que si se llega aumentar la ganancia,
los polos tendrían la parte real nula y la parte imaginaria no nula, esto indica que
el sistema seria marginalmente estable, por ultimo estos resultados teóricos no
podían implementarse en la estructura ya que el hardware del sistema no estan
diseñados para manejar dichos valores, así que se optó por usar otra manera
de ajustar las variables del control de auto balance en el robot, se usó una
sintonización con el método de “Prueba y Error”[54]. Esta clase de método sigue
unas reglas generas que permiten obtener resultados aproximados, para que
sea más practico se deben guardar datos del ángulo de inclinación y después
analizarlos, para así poder ajustar el PID.
3.4. Algoritmo de control.
El prototipo de robot autobalanceado, hace una lectura de 200 veces por
segundo del chip MPU6050 (acelerómetro y giroscopio), de tal manera que
calcula el ángulo con respecto a un horizonte y compara este ángulo con el
ángulo seleccionado (0° si se quiere mantener el equilibrio sin moverse, o un
ángulo positivo o negativo para moverse hacia adelante o hacia atrás). De tal
modo que usando la diferencia entre el ángulo seleccionado y el ángulo real
conduce a un sistema de control para enviar los comandos correctos a los
motores, y así mantener el equilibrio. Los comandos hacia los motores son la
aceleración, por ejemplo, si el robot esta inclinado hacia adelante, el
microcontrolador envía una orden a los motores para que aceleren hacia
adelante hasta que el ángulo se reduzca a cero y de esta manera mantener el
equilibrio.
UNIVERSIDAD DISTRITAL 58
58 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 45 Esquema del algoritmo de control [Fuente el autor]
En la figura 45 refleja el esquema del algoritmo de control, Para iniciar la lectura
del sensor, el prototipo de robot necesita estar al menos entre 10 y 15 segundos
sin movimiento, el MPU6050 está conectado vía I2C con el microcontrolador, va
adquiriendo las lecturas del microchip y haciendo la estimación del ángulo
utilizando un filtro complementario, que es la combinación entre los datos
tomados del giroscopio y el acelerómetro. Una vez hecho el cálculo del ángulo
estimado, la salida de este cálculo entra al algoritmo de control, primero pasa por
un controlador de estabilidad (control de estabilidad). Para el prototipo, el centro
de gravedad no siempre está ubicado encima del eje de las ruedas, por lo que
es necesario ajustar un poco el ángulo de inclinación para mantener el equilibrio.
Por esto es necesario hacer uso de un segundo controlador (controlador de
velocidad), éste compensa la inclinación para mantener al prototipo equilibrado.
De tal modo que para complementar se utiliza un controlador PID estándar para
la estabilidad del robot, donde un controlador PI se usa para el control de la
velocidad y un controlador PD para la estabilidad (ángulo del robot), la salida de
este controlador es la aceleración de los motores.
3.4.1. Ángulo de inclinación.
Para encontrar la posición angular del prototipo de robot autobalanceado es
necesario hacer uso de un filtro complementario para esto el MPU6050 detecta
el cambio de aceleración y la velocidad angular. Esta clase de filtro depende de
un ángulo determinado por las aceleraciones y por un ángulo determinado por la
velocidad angular. El ángulo determinado por las aceleraciones se halla de la
siguiente manera; La aceleración de la gravedad (ag) afectará en este caso a dos
componentes básicos, una aceleración en el eje Y (ay), y una aceleración en el
eje Z (az) .
UNIVERSIDAD DISTRITAL 59
59 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 46 Aceleraciones en el MPU6050 [55]
El ángulo de desviación del prototipo es el mismo ángulo que se deforma entre
los vectores (Figura 47), la gravedad y la aceleración en z, así que para encontrar
ese ángulo de desviación se hace uso de una función trigonométrica, el arco
tangente.
Figura 47 Angulo de desviación del prototipo [55]
∅ = tan−1𝑎𝑦
𝑎𝑧
De tal manera que, para adquirir el ángulo a partir de las aceleraciones, el primer
paso es declarar las variables y a continuación encontrar el ángulo a partir de las
aceleraciones, de la siguiente manera;
Donde “accel_angle” es el ángulo de inclinación, “accel_t_gyro.value.y_accel” es
la aceleración en el Y, y “accel_t_giro.value.z_accel” es la aceleración en Z. Este
UNIVERSIDAD DISTRITAL 60
60 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
resultado da en radianes, después se multiplica por una constante “RAD2GRAD”
que tiene el valor de 57.2957795, para poder hacer la conversión a grados.
Para encontrar el ángulo a partir de la velocidad angular, es necesario integrar
la velocidad y conocer el ángulo inicial, para ello se usa la siguiente formula:
∅ = ∅𝑥0 + 𝑊𝑥∆𝑡
Cuando se refiere a Øx se refiere al ángulo que gira el eje X sobre su propio eje.
Como se puede ver en la siguiente imagen.
Figura 48 ángulo que gira el eje X sobre su propio eje.[56]
Por consiguiente, para poder calcular el ángulo con la velocidad angular, primero
se hace la conversión a grados por segundo, de la siguiente manera:
Ya hecho la conversión, el paso siguiente es hacer uso del filtro complementario,
de tal manera que se toman las señales de movimiento lento del acelerómetro y
las señales de movimiento rápido de un giroscopio y de esta manera poder
combinarlas. El objetivo es pasar las señales del acelerómetro a través de un
filtro pasa bajo y las señales del giroscopio a través de un filtro pasa alto, en su
forma más simple el filtro complementario se puede usar de la siguiente manera:
𝑎𝑛𝑔𝑙𝑒 = (1 − 𝑎𝑙𝑝ℎ𝑎) ∗ (𝑎𝑛𝑔𝑙𝑒 + 𝑔𝑦𝑟𝑜 ∗ 𝑑𝑡) + (𝑎𝑙𝑝ℎ𝑎) ∗ (𝑎𝑐𝑐)
Donde el Alpha es la relación entre el tiempo que se desea tomar la muestra y la
frecuencia de muestro, gyro es el ángulo del giroscopio y acc es el ángulo del
acelerómetro, dt es el tiempo que ha pasado desde que se ha calculado el filtro.
Para este caso se toma un alfa de 0.99, y en el algoritmo se implementa a
continuación:
UNIVERSIDAD DISTRITAL 61
61 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Y para determinar el dt se mide el transcurso de tiempo en que el Arduino
empezó a ejecutar el programa actual, con la función micros, que permite
determinar el número de microsegundos. Una vez adquiere el valor de tiempo de
inicio, se toma la diferencia entre un valor anterior y un valor nuevo, y se
multiplica para tener el valor de dt en segundos.
3.4.2. Control
De tal manera que, para mantener una posición estable, el prototipo de robot
debe conducir sus ruedas en dirección a la de su caída, y así poder mantener el
centro de gravedad del robot por encima del punto de giro. Para poder conducir
las ruedas en la dirección de caída, se debe saber el ángulo de inclinación y la
velocidad a la que está cayendo.
Figura 49 Comportamiento del prototipo de robot (1. Posición estable, 2. Posición inclinada, 3. Corrección de posición) [Fuente el autor]
UNIVERSIDAD DISTRITAL 62
62 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Una vez ajustado y calibrado la lectura del ángulo de inclinación del prototipo, el
paso siguiente es calcular una velocidad estimada(estimated_speed). Para eso
se toma la velocidad de los dos motores combinados (actual_robot_speed), junto
con la velocidad del robot que es leída por el IMU (angular_velocity), para
mejorar la calidad de la lectura de la velocidad, al final se pasa por un filtro pasa
bajo en la velocidad estimada.
La velocidad estimada junto con un setpiont de velocidad, se introducen en un
tipo de control PI el cual arroja como resultado un valor de ángulo de inclinación.
Las entradas del sistema son la variación de tiempo (DT), la velocidad estimada
(input), la velocidad deseada (setpoint), las variantes de Kp y Ki. Arrojando el
resultado un ángulo de posición.
El paso siguiente es introducir esta salida de ángulo estimado al controlador PD,
el control de estabilidad. Para lo cual se hace uso del ángulo estimado calculado
anteriormente, anexando las K’s del sistema su salida es la posición. De la
siguiente manera.
UNIVERSIDAD DISTRITAL 63
63 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Esta salida es convertida en datos hacia la librería steeper, que toma los datos
de dirección y aceleración, ya que se deriva dos veces la posición, y la salida de
este controlador realmente es la aceleración hacia los motores, como se puede
ver en las siguientes líneas de código, donde se deriva por segunda vez la
posición. Son la salida hacia el driver de los motores paso a paso.
3.5. Implementación de cámara.
El prototipo de robot autobalanceado cuenta con una cámara instalada en el
brazo, que permite la Teleoperación del robot, en esta parte del documento se
recopila una serie de pasos que permiten la instalación y adecuación de cámara
para la trasmisión de imágenes que puede proyectar el prototipo de robot
autobalanceado. Para lo cual se tuvo en cuenta el uso de una raspberry pi, y una
cámara web.
En la implementación de la cámara, primero se debe tener instalado el sistema
operativo Raspbian (Anexo 1), una vez realizada la instalación y activando las
características de SSH y VNC de la raspberry (Anexo 2), se debe establecer una
conexión con la red creada por el módulo ESP8266. Para ello se tiene que dejar
UNIVERSIDAD DISTRITAL 64
64 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
la IP fija, de tal manera que se edita el archivo “interfaces”, en la consola se debe
digitar la siguiente línea de código:
Dentro de este archivo se deben añadir, modificar o sustituir las líneas que falten,
estas modificaciones sirven en la mayoría de las versiones de raspbian, así como
también en las distribuciones basadas e Debian, Ubuntu, etc. En algunas
ocasiones puede generarse conflictos de red. El archivo queda modificado como
se ve en la Figura 50.
Figura 50 Archivo interfaces modificado IP estática [Fuente el autor]
Se ha dejado la IP estática en la declaración de eth0, así mismo se añadió un
auto. Por otro lado, en eth0 se configuro la dirección de IP deseada (address) en
el caso de la conexión ethernet es 192.168.10.2, la máscara de red (netmask),
normalmente se hace uso de 255.255.255.0 y la puerta de enlace (gateway) se
configuro la puerta con la IP 192.168.10.1, se deja estas configuraciones de eth0
para poder acceder a la raspberry usando una comunicación cableada. Así
mismo se configura la conexión vía wifi, en la puerta de enlace se inserta la IP
192.168.4.1 que se crea con el módulo ESP8266, además del nombre de la red
wifi (wpa-ssid) para este caso se creó “JJROBOTS_15”, y se anexa su
contraseña (wpa-passhrase) “87654321”.
El paso por seguir es instalar es el software Motion, tiene como función el
monitoreo de señal de video de una o más cámaras, con detección de
UNIVERSIDAD DISTRITAL 65
65 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
movimiento. Lo conveniente para hacer esta instalación es actualizar el sistema,
usando los comandos “Update” y “Upgrade”.
Una vez instalado el programa con el comando “sudo apt—get install motion”, se
conecta la cámara web por alguno de los puertos USB de la raspberry, paso
siguiente, se debe enviar el comando “lusb”, este arroja los dispositivos
conectados en los puertos USB.
En este caso da una lista, y en el puerto 4 se encuentra la cámara con el nombre
de “Genesys logic inc”. El paso siguiente es ajustar algunos componentes del
archivo en el programa motion, para ello se entra con el comando “sudo nano
/etc/motion/motion.conf” una vez dentro del archivo, se modifican las siguientes
líneas de código:
1. Cambiar la línea de código “Daemon” a ON
2. Configurar el “framerate” por cualquier valor entre 2 a 100.
3. Dejar el puerto 8081, en la línea “stream_port”
UNIVERSIDAD DISTRITAL 66
66 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Al finalizar estas modificaciones, se guarda las configuraciones oprimiendo las
teclas CTRL+O, y se accede a la opción de guardar, después se debe salir del
archivo con las teclas CTRL+X, para dar inicio al programa motion, en primer
lugar, se tiene que reiniciar el software, para esto se escribe el comando “sudo
service motion restart”, y paso siguiente digitar el comando “sudo motion”.
También se puede dar inicio al programa motion, con el comando “sudo service
motion start”-
Para parar la transmisión se ejecuta el comando “sudo service motion stop”.
A continuación, se conecta un dispositivo a la red creada por el módulo, y se
abre un navegador. En el navegador se digita la IP estática de la raspberry con
el puerto 8081, en este caso 192.168.4.200:8081, a continuación, saldrá la
imagen proyectada por la cámara y trasmitida en la red.
Figura 51 Imagen trasmitida en la red. [Fuente el autor].
UNIVERSIDAD DISTRITAL 67
67 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
3.6. Comunicación Inalámbrica.
Como se ha descrito anteriormente, la comunicación para la trasmisión de datos
entre la interfaz gráfica y el robot, se hace uso de un módulo wifi que está en
integrado con una plataforma denominada BRAIN SHIELD. De tal manera que
le permite una conexión vía Wifi, además es compatible con el protocolo TCP/IP,
y cumple con el objetivo de dar acceso a cualquier microcontrolador a una red.
En este caso, la comunicación entre el módulo y el microcontrolador es serial
(figura 25). Una vez conectado, el paso siguiente es programar el módulo
ESP8266 haciendo uso de los comandos AT.
Se empieza por reiniciar el módulo con el comando “AT+RST”, el módulo en
respuesta a este comando envía un mensaje de “OK”, una vez reseteado se
procede a generar una red Wifi, con el comando “AT+CWMODE=2”, el modo
que se selecciono es “AP” el cual configura el módulo en modo de punto de
acceso, hace que el dispositivo proporcione a otros dispositivos una red Wifi, el
número de dispositivos que pueden conectarse simultáneamente al módulo es
de 0 a 8. Se configura al punto de acceso con el nombre de la red “JJROBOTS”
y su contraseña es “87654321”.
Después se crea un servidor UDP, seleccionando el comando “AT+CIPMUX=0”,
y configurando los parámetros de puerto en 2223 y 2222. Y la dirección de IP del
servidor que es por defecto “192.168.4.1” y el cliente tomaría la dirección de
“192.168.4.2”.
UNIVERSIDAD DISTRITAL 68
68 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Este tipo de configuración permitirá conectarse con cualquier dispositivo que
tenga una conexión a wifi, ya que el ESP8266 crea la red (Figura 45), y de esta
manera se puede conectar la interfaz gráfica, este en cualquier dispositivo, un
Smartphone o una Tablet, se puede conectar a la red del prototipo de robot, y
así pueda interactuar en la manipulación del robot.
Figura 52 Red del prototipo [Fuente el autor].
3.7. Interfaz Gráfica.
Para la comunicación entre el prototipo de robot autobalanceado y el operador,
se hace uso de un protocolo de comunicación especializado “OSC”, su función
principal es la manipulación entre un computador y un instrumento musical como
sintetizadores de sonido y otros dispositivos multimedia en tiempo real [47], en
este caso se crea una interfaz gráfica para la manipulación del prototipo de robot,
ya que esta herramienta moderna permite la interoperabilidad, precisión,
flexibilidad y una mejor organización.
UNIVERSIDAD DISTRITAL 69
69 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
El primer paso es instalar El programa touchOSC EDITOR en el computador,
este permite crear una interfaz con elementos como: Faders,Rotary controls,
Encoder controls, Push Buttons, Toggle Buttons, XY pads, Multi-push, multi-
toggles, multi-pads, LEDs, Labels, Time y baterry displays.
Figura 53 TouchOSC EDITOR [Fuente el autor]
El propósito de usar esta aplicación es que el prototipo de robot autobalnceado
pueda ser controlado por el usuario desde casi cualquier dispositivo existente, y
se puede controlar vía remota usando el protocolo OSC a través de una conexión
a internet utilizando paquetes UDP, una forma ligera y eficiente de enviar
comandos al prototipo.
UNIVERSIDAD DISTRITAL 70
70 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 54 Ventana para crear botones [Fuente el autor]
Para seleccionar la clase de botones e indicadores, se debe dar clic derecho
sobre la pantalla negra, aparecerá una ventana donde se puede elegir el tipo de
botón o indicador (figura 41 interfaz TouchOSC EDITOR.)
Cada vez que se crea un nuevo botón, se puede modificar su nombre, su rango
de valor, el tamaño del botón y su ubicación dentro de la interfaz, estos
parámetros están ubicados en la parte izquierda de la interfaz del programa
TouchOSC EDITOR.
Figura 55 Ventana de configuración de botones [Fuente el autor].
UNIVERSIDAD DISTRITAL 71
71 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Los parámetros de los botones para el manejo del prototipo de robot
autobalanceado son:
• Fader1: rango de valor 0 a 1, color naranja. Se interpreta como la
aceleración del robot
• Fader2: rango de valor de 0 a 1, color verde. Se interpreta como la
dirección (izquierda o derecha).
• Push1: rango de valor 0 a 1, color amarillo, opción “send on press”
activada. Se interpreta como el botón que maneja la visión de la cámara.
Figura 56 Interfaz gráfica PRAS (Prototipo de Robot Autobalanceado con fines de Seguridad) [Fuente el autor]
Creada la interfaz gráfica, se guarda como un tipo de archivo “touchosc”, ahora
en el dispositivo con el que se podrá operar el prototipo de robot, se debe
descargar la aplicación TouchOSC, se puede descargar desde la playstore para
los dispositivos que manejen el sistema operativo Android, básicamente es una
superficie de control OCS.
UNIVERSIDAD DISTRITAL 72
72 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 57 Aplicación Touch OSC [Fuente el autor]
Descargada e instalada la aplicación, el paso siguiente es configurar los
parámetros de comunicación “OSC”, para lo cual la aplicación cuenta con las
siguientes opciones:
Figura 58 Parámetros de comunicación OSC. [Fuente el autor]
En el parámetro “Host” se introduce el servidor en este caso es la IP
“192.168.4.1” configurada en el módulo ESP8266, el puerto de salida “2222” y el
puerto de entrada “2223”.
UNIVERSIDAD DISTRITAL 73
73 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
El paso por seguir es grabar la interfaz gráfica dentro del dispositivo con el cual
se va a interactuar, en este caso un smartphone, el programa TouchOSCEditor
crea un archivo tipo “.touchosc”, se conecta el dispositivo al computador y se
guarda el archivo dentro del dispositivo.
Figura 59 Programa TouchOSCEditor y Archivo "UD.touchosc" [Fuente el autor]
Una vez guardado, se debe ir a la aplicación OSC, y después al menú de
configuraciones y escoger la opción layout, allí se despliega un selector de
interfaces gráficas predeterminadas.
Figura 60 Menu de Layout(Cuadro rojo) e interfaces graficas predeterminadas (cuadro azul) [Fuente el autor]
UNIVERSIDAD DISTRITAL 74
74 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Además, cuenta con la opción de agregar una nueva interfaz gráfica “Add from
file”, allí se elige la dirección del archivo donde se guardó la interfaz gráfica
diseñada, y el resultado de la interfaz en el dispositivo es:
Figura 61 Interfaz gráfica vista desde un dispositivo (smartphone o Tablet) [Fuente el autor]
Para enviar datos y recibir datos de la interfaz gráfica, se debe hacer uso de la
librería OSC message y OSC bundle, una vez instaladas, para recibir datos solo
hay que dar la instrucción de “OSC.MsgRead();” y separar los mensajes de
lectura en un vector, y hacer la conversión a enteros para poder ser operados en
el programa del algoritmo de control.
4.0 RESULTADOS Y PRUEBAS
4.1 Diseño del prototipo
Las pruebas de funcionamiento del robot, en sus ruedas se evidencian que,
trabaja mejor en superficies planas sin inclinación, además tienen un plástico
rugoso que le permite adherirse más al suelo y no resbalarse. El prototipo pesa
alrededor de 1 kg, cuenta con dos fuentes de alimentación, ya que el consumo
por parte de los motores pasa a paso es elevados y genera ruidos al momento
de poder transmitir los datos, por este motivo, se independizo la alimentación de
la cámara y la del control del autobalance. Para la independizar la alimentación
de la cámara, se hizo uso de una power bank, sus especificaciones son:
• Input: DC 5V -1 A(MAX).
• Output: DC 5V-2.1 A
UNIVERSIDAD DISTRITAL 75
75 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
• Capacidad: 5600mAh
Figura 62 Prototipo de robot autobalanceado operando, vista frontal [Fuente el autor]
El diseño y modificaciones finales se reflejan en la figura 62, una vista frontal del
prototipo de robot, se observa el plástico que se adhirió a las llantas para poder
tener más fricción con el suelo y evitar los deslizamientos, además en una vista
lateral, figura 57, cuenta con la instalación de la cámara y el control de
autobalance.
Figura 63 Prototipo de robot autobalanceado operando, vista lateral [Fuente el autor]
UNIVERSIDAD DISTRITAL 76
76 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
4.2 Visualización Cámara web
Al implementar la cámara web junto con la visualización a través de la red creada
por el módulo WiFi, existe una latencia en la señal emitida, el sistema toma
captura de una imagen nueva cada 2 segundos con la opción “framerate”,
además de la transmisión esta alrededor de los 5 segundos,
La resolución de la captura de la imagen tiene configurado de ancho 320 pixeles
y de alto 240 pixeles, la imagen de transmisión puede visualizarse desde
cualquier dispositivo que esté conectado a la red creada por el módulo.
Figura 64 Resolución de la imagen transmitida [fuente el autor]
El ángulo de visión con el que opera el prototipo es de 45°, y tiene una distancia
de trabajo cerca de los 3 metros, este ángulo de inclinación se determinó a partir
de la medida entre tres puntos, para esta prueba, dos puntos serian
representados por 2 cajas y el tercer punto es el prototipo, así que la distancia
entre puntos y el ángulo que forman las rectas, se puede determinar el ángulo
de visión del prototipo, esta prueba se refleja en la imagen 59.
UNIVERSIDAD DISTRITAL 77
77 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 65 Angulo de visión de la cámara [Fuente el autor]
Haciendo uso del teorema del coseno, se encuentra el ángulo de visión. Para lo
cual se hace uso de la siguiente formula:
𝑎2 = 𝑏2 + 𝑐2 − 2𝑏𝑐 ∗ 𝑐𝑜𝑠𝐴
Despejando el ángulo de la ecuación, seria:
𝐴 = cos−1 (𝑎2 − 𝑏2 − 𝑐2
−2𝑏𝑐)
𝐴 = cos−1 (502 − 652 − 652
−2(65)(65))
𝐴 = 45.239°
El resultado de la ecuación arrojo 45.239°, este es el ángulo de visión que tiene
la cámara, además de una distancia de menos de 2 metros.
UNIVERSIDAD DISTRITAL 78
78 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
4.3 Control de autobalance.
El robot necesita de una calibración, así que primero toma un ángulo de
referencia para poder balancearse, de tal manera que antes de poder hacer el
autobalance primero necesita estar de manera horizontal, después de 5
segundos se debe poner el robot de manera vertical, y ya empezara el
autobalance. En caso de que se caiga, el robot pasa otra vez por la función de
calibración. Es una de las condiciones iniciales que presenta el prototipo.
Figura 66 Posición inicial, calibración del robot [Fuente el autor]
4.3.1 Sintonización del PID.
Se ha mencionado que la sintonización del PID que controla el equilibrio del robot
se elaboró a partir del método de prueba y error. A continuación, se describe el
proceso junto con los análisis de datos obtenidos. Primero se dejan todas las K’s
en cero, se aumenta el valor de la constante P, mientras se hace esto se debe
sostener el robot para asegurarse de que no se caiga, se aumenta hasta que el
robot responda rápidamente a cualquier inclinación.
Figura 67 Oscilaciones en el sistema, con P igual a 63 [Fuente el autor]
UNIVERSIDAD DISTRITAL 79
79 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
El valor de la ganancia para que el sistema oscilara de esta manera fue de 63,
ahora se escoge la mitad de este valor, es decir 32. Una vez ajustado el valor de
P, ahora se ajusta el valor de I, según el método se debe ejercer la misma
operación que con el valor de P, pero este componente es difícil de corregir ya
que se debe mantener relativamente bajo, ya que puede acumular errores
rápidamente, pero solo con estos dos componentes el sistema llegará a oscilar
demasiado y finalmente caerá.
Figura 68 Oscilaciones del sistema con el valor de I =20 [Fuente el autor]
El valor de la variable integral para que el sistema oscilara es de 20, se toma la
aproximadamente la mitad de este valor es decir 10. Ahora se debe aumentar el
valor de la variable D, de tal manera que los componentes derivados trabajan en
contra de cualquier movimiento, se prueba que ayuda a amortiguar las
oscilaciones y a reducir los excesos, esta variable debe ser más alta que las
otras dos (se multiplica por 10 este valor) se vio en práctica, al momento de ver
el robot autobalancearse, pero no se debe ajustar demasiado alto, ya que
reducirá la capacidad de reaccionar a las fuerzas extremas como los empujones.
Figura 69 Oscilaciones del sistema, sintonización con el valor de D igual a 90
UNIVERSIDAD DISTRITAL 80
80 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Con las configuraciones finales, el valor de D dio 90, de tal manera que, en el
código, se dejaron las siguientes variables que permitieron la sintonización del
PID, Kp= 0.32 Ki=0.1 y Kd=4.5.
4.4 Simulación del modelo cinemático
Una vez determinado el modelo, se desarrolla un modelo en la plataforma
simulink de Matlab, de tal manera se ejecuta una simulación que permite
comprobar el comportamiento del modelo. Con los parámetros de que el radio
de las dos ruedas es el mismo y tiene un valor de 45 mm, y la distancia entre
ruedas es de 134 mm. De tal manera que el modelo se ajusta de la siguiente
manera:
[
����
∅
] =
[ 45mm ∗ cos(∅)
2
45 ∗ cos(∅)
245mm ∗ sin(∅)
2
45mm ∗ sin(∅)
20.3358 −0.3358 ]
[𝑉𝑅𝑉𝐿
]
[
����
∅
] = [22.5mm ∗ 𝑐𝑜𝑠(∅) 22.5mm ∗ 𝑐𝑜𝑠(∅)
22.5mm∗ sin(∅) 22.5mm ∗ sin(∅)0.3358 −0.3358
] [𝑉𝑅𝑉𝐿
]
Una vez terminado el modelo, se desarrolla una simulación del modelo en la
plataforma de Simulink de Matlab, que permitió ver el comportamiento del
modelo con pruebas donde se varia la velocidad de las ruedas.
Figura 70 Simulación del modelo cinemático en Simulink Matlab [Fuente el autor]
UNIVERSIDAD DISTRITAL 81
81 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Iniciando donde la velocidad de las dos ruedas tenga la misma velocidad, se
espera que tenga movimiento a lo largo del eje “x”, la salida de estas pruebas se
puede comprobar en los siguientes gráficos, donde se muestra el
desplazamiento en los ejes “X” y “Y”, y el cambio de ángulo.
Figura 71 Desplazamiento en el eje X, con la misma velocidad en las dos ruedas [Fuente el autor]
Figura 72 Desplazamiento en el eje Y, con la misma velocidad en las dos ruedas [Fuente el autor]
UNIVERSIDAD DISTRITAL 82
82 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 73 Cambio de ángulo, con la misma velocidad en las dos ruedas [Fuente el autor]
La siguiente prueba, es tener las mismas velocidades, pero con magnitud
distinta, es decir, que una rueda gira en sentido contrario a la otra, se espera un
movimiento rotacional, los resultados se muestran a continuación.
Figura 74 Desplazamiento en X, con la misma velocidad, pero distinta magnitud [Fuente el autor].
Figura 75 Desplazamiento en Y, con la misma velocidad, pero distinta magnitud [Fuente el autor].
UNIVERSIDAD DISTRITAL 83
83 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 76 Cambio de ángulo, con la misma velocidad, pero distinta magnitud [Fuente el autor].
La última prueba elaborada, se realiza con una velocidad mayor que la otra, esto
demuestra que se tiene un movimiento rotacional con desplazamiento circular,
como se muestra a continuación.
Figura 77 Desplazamiento en X, distinta velocidad entre las ruedas [Fuente el autor].
Figura 78 Desplazamiento en Y, distinta velocidad entre las ruedas [Fuente el autor].
UNIVERSIDAD DISTRITAL 84
84 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 79 Cambio de ángulo, con distinta velocidad entre las ruedas. [Fuente el autor]
5.0 RECOMENDACIONES Y TRABAJOS FUTUROS
El control para la teleoperacion del prototipo es independiente a la visualización
que contiene, para poder hacer uso del control se debe instalar la APP
TouchOSC, para las pruebas en este proyecto, se instaló en un celular que
cuenta con un sistema operativo Android Version 4.4.4, y para la visualización
se recomienda hacer uso del navegador en otro dispositivo diferente con el que
se hace uso del control.
Para trabajos futuros, se espera que se pueda unir la transmisión de imagen y el
control de teleoperacion, y de esta manera formar una interfaz más robusta,
además de contar con tecnologías de GPS e instrumentación que le permita al
robot no solo vigilar, sino también poder tener más lecturas de otro tipo de
variables.
Finalmente, se puede llegar a desarrollar un modelo cinemático diferente que
contemple otro tipo de escenario, además de un modelo dinámico y un control
de equilibrio distinto al implementado.
6.0 CONCLUSIONES
Una vez concluido el desarrollo del proyecto de grado se pueden obtener
diversas conclusiones. Para poder llegar a tener una estructura física que tenga
las características de ser rígida y resistente además de que permita acomodar
cada uno de los componentes que conforman el robot autobalanceado, se realizó
una investigación de diseños de robots autobalanceados, para lo cual se
diseñaron las tres plataformas donde se sitúan cada componente de este
UNIVERSIDAD DISTRITAL 85
85 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
sistema, posteriormente se imprimieron con un material termoplástico
denominado ABS (Acronitrilo butadieno estireno) con características de tener un
alto nivel de dureza, además de que se puede manipular con facilidad.
El sistema de control se conforma del robot autobalanceado representado como
planta, el módulo MPU6050 que cuenta con acelerómetro y giroscopio, es el
sensor el cual toma los datos del ángulo de inclinación, el controlador compuesto
por un microcontrolador ARDUINO LEONARDO cuya función es la de calcular el
ángulo de error y ajustarlo para así poder mantener el equilibrio del robot,
enviando una señal digital hacia la etapa de potencia, en este caso los motores
paso a paso, controlando el sentido de giro para cada motor donde se ha
acoplado ruedas en los ejes. Todo este sistema se energiza a través de un
conjunto de 6 baterías AA.
Para determinar el ángulo al cual se debe ajustar el controlador y así mantener
el equilibrio, primero pasa por una etapa de calibración, consiste en dejar el robot
en posición horizontal, pasara alrededor de 5 segundos y se debe dejar en una
posición vertical, de esta manera ya empezara a controlar su equilibrio, esto se
debe a que el robot tiene puntos de operación donde el ángulo es erróneo, y el
ajuste es inestable, por ende se debe regir los parámetros de operación en el
punto de equilibrio y así se establece una acción de control adecuada que
permite el equilibrio en el robot.
Se ha elegido actuadores motores paso a paso, ya que cuentan con suficiente
torque, además que están configurados rodamientos que soportan el cambio de
sentido de giro y se puede controlar la velocidad de los motores con mayor
precisión a comparación de los motores DC.
Debido al consumo por parte de la etapa de Teleoperación se ha independizado
la alimentación, y esta cuenta con una batería recargable. Se ha usado un
software libre Motion, cuenta con características que permiten enviar la
información del video tomada hacia una red cerrada, en las pruebas realizadas
para ver el campo de visión del robot
A partir de las pruebas hechas del modelo cinemático, se puede concluir que el
resultado es similar al modelo de un robot diferencial, aunque este último, para
poder mantener el equilibrio, como punto de apoyo utiliza tres ruedas, dos de
ellas controladas individualmente y una rueda libre. Una de las condiciones en el
modelo cinemático, es que de por si el robot mantiene el equilibrio sin necesidad
de algún dispositivo adicional, así que el movimiento del robot solo es balance
sin resbalar, patinar o deslizarse entre la rueda y el suelo.
El prototipo de robot móvil autobalanceado con fines de vigilancia, cuenta con
características que le dan ventajas sobre otro tipo de robots, como lo son el
espacio que ocupa, es menor a la de un prototipo móvil que cuente con más de
dos ruedas, su estructura mecánica es más simple y compacta, además llega a
ser maniobrable sobre espacios reducidos. Es un soporte para las cámaras de
vigilancia fijas, ya que suelen tener puntos ciegos, y es aquí donde puede operar
el prototipo, siendo una ayuda a esta clase de sistemas de vigilancia.
UNIVERSIDAD DISTRITAL 86
86 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
7.0 ANEXO
7.1 Instalación del sistema operativo Raspbian
Requisitos para hacer la instalación:
• Tarjeta SD mini, con 8G mínimo.
• Descargar el archivo, 2018-11-13-raspbian-stretch-full.
• Monitor con salida HDMI.
• Cable HDMI.
• Teclado USB.
• Cable USB mini.
• Raspberry Pi 3.
1. Formatear la tarjeta mini SD, se introduce la memoria SD en un adaptador
de mini SD a SD, después al puerto SD del computador, usando el
programa SD Card Formatter, se formatea la memoria mini SD.
Figura 80 Programa SD Card Formatter [fuente el autor]
2. Formateada la memoria mini SD, se crea la imagen del sistema en la
tarjeta mini SD, para ello se ha utilizado el programa Win 32 Disk, se
especifica la ubicación del archivo. Img en la opción “Device” se elige el
puerto de la memoria SD mini y se selecciona la opción “Write”.
UNIVERSIDAD DISTRITAL 87
87 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
Figura 81 Programa Win 32 Disk Imager.[Fuente el autor]
3. Una vez cargada la imagen, para iniciar el sistema operativo en la
Raspberry. Primero se debe conectar el teclado (puerto USB) y el monitor
a la raspberry (puerto HDMI). A continuación, se introduce la tarjeta SD
mini en la Raspberry y se conecta la alimentación. Por el monitor se
observa como el sistema operativo se va instalando.
Figura 82 Sistema operativo raspbian instalado [fuente el autor].
UNIVERSIDAD DISTRITAL 88
88 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
7.2 Configuración de comunicación de SSH
La comunicación es necesaria para el traspaso de información entre el
computador y la raspberry, sin depender de un monitor y teclados externos.
Figura 83 Menú inicio, opción PREFERENCES [Fuente el autor]
1. Una vez instalado el sistema operativo, se da click el inicio del escritorio,
se selecciona la opción “PREFERENCES”, allí aparece la opción de
“Raspberry Pi Configuration”. A continuacion se deben activar las
opciones de Cámara, SSH y VNC, después de haber configurado las
opciones, se reiniciará el sistema operativo.
Figura 84 Raspberry Pi Configuration. [Fuente el autor]
UNIVERSIDAD DISTRITAL 89
89 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
8.0 BIBLIOGRAFIA
[1] B. Josmell, H. Alva, A. Asesor, M. Ing, J. Edward, y L. León, “Diseño De Un Prototipo De Robor Bípedo Con Pllanificación De Trayectorias Con Criterios Zmp Para Su Estabilidad Al Caminar Sobre Superficie Plana”, 2017.
[2] A. Gregoriades, S. Obadan, H. Michael, y V. Papadopoulou, “A robotic system for home security enhancement”, 2012.
[3] V. Kumar y J. Svensson, “Promoting social change and democracy through information technology”, A Vol. Adv. Electron. Gov. Digit. Divid. Reg. Dev. B. Ser., vol. i, p. 326 pages, 2015.
[4] J. T. Lozano y P. Informaci, “Robótica y Automatización Indus Información legal”, pp. 3–5, 2018.
[5] U. N. A. Revisión, S. El, F. Del, y T. La, “DE DEBATE”, pp. 1–5.
[6] R. Álvaro, M. Alejandro, y J. Jovani A., “Sistema De Monitoreo Y Control Para Un Robot Autobalanceado Sobre Dos Ruedas Modelado En 3D”, Rev. U.D.C.A Actual. & Divulg. Científica, pp. 541–551, 2014.
[7] H. Cameras et al., “What is CCTV ?”, 2018. .
[8] C. De Acesso y C. Fronterizo, “Vigilancia panorámica”, pp. 3–5, 2018.
[9] C. History, “SRI ’ s Pioneering Mobile Robot Shakey Honored as IEEE Milestone On the goals of the Shakey project : On why Shakey had no arms :”, pp. 1–6, 2018.
[10] A. Y. Experiencias y G. Bermúdez, “Robots móviles.”, pp. 6–17, 2002.
[11] C. H. M. Revolution, “CHM Revolution Sentry robot”, 2018.
[12] S. Toto y A. Tech, “Meet the Tmsuk T-34 , a Startups mini robocop on four wheels”, pp. 1–11, 2018.
[13] E. Noticias, B. Contacto, E. Noticias, y B. Contacto, “SUMMIT-
UNIVERSIDAD DISTRITAL 90
90 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
XL Robot móvil SUMMIT-XL Plataforma para investigación y vigilancia”, pp. 1–5, 2018.
[14] G. R. News, “Robelf”, 2018. .
[15] M. Ambiente, “Robelf , el robot doméstico que aspira a convertirse en un nuevo miembro de la familia”, pp. 15–16, 2018.
[16] B. J. Robinson, “Knightscope’s new robotic law enforcer is like staring at the demise of humanity”, 2016. [En línea]. Disponible en: http://pando.com/2014/02/24/knightscopes-new-robotic-law-enforcer-is-like-staring-at-the-demise-of-humanity/.
[17] J. F. Gomez, “Diseño e implementacion de un Robot Autobalanceado”, 2017.
[18] “Balancing a Two-Wheeled Autonomous Robot”, 2003.
[19] R. Gyroscope, “Gyroscope Introduction”, 2015. [En línea]. Disponible en: http://sensorwiki.org/doku.php/sensors/gyroscope#fn__1.
[20] S. Actuators, I. Communication, y T. References, “Accelerometer Summary Types of Accelerometer”, 2017. [En línea]. Disponible en: http://sensorwiki.org/doku.php/sensors/accelerometer.
[21] Samy74, “RS4 - Self balancing Raspberry Pi image processing Robot RS4”, 2013. [En línea]. Disponible en: https://www.robotshop.com/letsmakerobots/rs4-self-balancing-raspberry-pi-image-processing-robot.
[22] J. D. Bernal Iñiguez, “Diseño, construcción e implementación de un sistema de captura de movimiento para análisis ergonómico de riesgo laboral de extremidades superiores”, Univ. Politécnica Sales., pp. 1–99, 2014.
[23] A. G. Moisés y A. Einstein, “Informática y de Telecomunicación Diseño y construcción de un robot auto-balanceado mediante Arduino Grado en Ingeniería Eléctrica y Electrónica Trabajo Fin de Grado”, núm. 1, p. 112, 2017.
[24] T. Mems, “2. Tecnología MEMS 2.1 Introducción”, pp. 3–23.
[25] I. Inc., “MPU-6000 and MPU-6050 Product Specification”, InvenSense Inc., vol. 1, núm. 408. pp. 1–57, 2013.
[26] B. Barone, J. Rodriguez, y B. Barone, “DESARROLLO DE UN
UNIVERSIDAD DISTRITAL 91
91 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
SISTEMA DE NAVEGACIÓN INERCIAL REPROGRAMABLE PARA MÚLTIPLES PLATAFORMAS MÓVILES”, 2016.
[27] F. Conti, Motores Paso a Paso. 2013.
[28] “MOTORES PASO A PASO”. [En línea]. Disponible en: http://nosinmiarduino.blogspot.com/2015/02/motores-paso-paso.html.
[29] C. Knospe, “PID control”, Control Syst. IEEE, vol. 26, núm. 1, pp. 216–251, 2006.
[30] J. Hogenson., “PID for Dummies”, 2015. [En línea]. Disponible en: https://www.csimn.com/CSI_pages/PIDforDummies.html.
[31] R. C. and R. H. B. Dorf, Modern Control Systems, 9 th ed, Prentice–H. 2001.
[32] M. Pr, C. Para, y P. Manos, Micro controladores. .
[33] E. Nuño Ortega y L. Basañez, “Teleoperación: técnicas, aplicaciones, entorno sensorial y teleoperación inteligente”, 2004.
[34] A. Cerón Correa, “Sistemas Roboticos Teleoperados”, Facultad de Ingeniería Universidad Militar Nueva Granada, Bogotá D.C Colombia, 2005.
[35] J. Pavón, “Interfaces gráficas de usuario Conceptos Tipos de programas en Java”, en Facultad de Informática- UCM, vol. 1, p. 36.
[36] R. C. Johnson, “GPS system with IMUs tracks first responders”, EE TIMES, 2015.
[37] T. Kobelkowsky Vidrio, A. Gerardo, y N. Sigüenza, “DESARROLLO DE UN PICO SATELITE TIPO CANSAR CON CAMARA HD PARA EL ESTUDIO Y ANALISIS DE LA SUPERFICIE TERRESTRE.”, 2013.
[38] Emartee.Electronics, “MPU-6050 3 Axis Gyroscope And Accelerometer Sensor Module”, 2015. [En línea]. Disponible en: https://www.emartee.com/product/42257/MPU 6050 3 Axis Gyroscope And Accelerometer Module.
[39] “A4988 Stepper Motor Driver Carrier”, 2015. [En línea]. Disponible en: https://www.pololu.com/product/1182.
[40] INTPLUS, “DRIVER PARA MOTOR PASO A PASO A4988
UNIVERSIDAD DISTRITAL 92
92 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
S310084”. [En línea]. Disponible en: http://www.superrobotica.com/s310084.htm.
[41] E. A. P. CASTILLO, “DISEÑO DE UN CONTROL BACKSTEPPING PARA UN MOTOR DE PASOS”, UNIVERSIDAD AUTONOMA DE NUEVO LEON, 2005.
[42] “Arduino”, 2018. [En línea]. Disponible en: https://www.arduino.cc/en/Main/Arduino_BoardLeonardo. [Consultado: 29-sep-2018].
[43] N. Program y D. Memories, “ATmega16U4 / ATmega32U4”, 2016.
[44] M. S. Tovar y M. Unit, “Minicomputador educacional de bajo costo " Raspberry Pi " ( Primera parte )”, núm. July, 2015.
[45] R. Pi, “DATASHEET Raspberry Pi Compute Module (CM1) Raspberry Pi Compute Module 3 (CM3) Raspberry Pi Compute Module 3 Lite (CM3L)”, vol. 3, núm. October. pp. 0–21, 2016.
[46] H. Limited, “TouchOSC”, 2018. [En línea]. Disponible en: https://play.google.com/store/apps/details?id=net.hexler.touchosc_a&hl=deor.
[47] “Introduction to OSC”. [En línea]. Disponible en: http://opensoundcontrol.org/introduction-osc.
[48] A. D. Battery, “ID1500 Size : AA ( LR6 ) ID1500 Size : AA ( LR6 )”, pp. 1–2.
[49] J. J. & J. Pedro, “DC-DC Converters WiFi Module Stepper Driver headers”. [En línea]. Disponible en: http://www.jjrobots.com/wp-content/uploads/2015/08/jjRobots-Brain-shield-schematic.pdf.
[50] L. Enrique, M. Alejandro, y E. Leonardo, “SEGUIMIENTO DE TRAYECTORIAS CON UN ROBOT MÓVIL DE CONFIGURACIÓN DIFERENCIAL PATH-FOLLOWING WITH DIFERENTIAL MOBILE ROBOT SUIVI DE TRAJECTOIRES EN UTILISANT UN ROBOT MOBILE À”, vol. 5, núm. 1, pp. 26–34, 2014.
[51] A. Chhotray, M. K. Pradhan, K. K. Pandey, y D. R. Parhi, “Kinematic Analysis of a Two-Wheeled Self-Balancing Mobile Robot Kinematic model”, pp. 87–93, 2016.
[52] V. Florian, “Correct equations for the dynamics of the cart-pole
UNIVERSIDAD DISTRITAL 93
93 Prototipo Robot Móvil Auto Balanceado Teledirigido con fines de Vigilancia
system”, pp. 1–6, 2007.
[53] A. Calv, A. Oller, y P. Fecha, “DISEÑO , SIMULACIÓN Y CONSTRUCCIÓN DE UN SISTEMA CARRO ‐ PÉNDULO MEDIANTE LA TECNOLOGÍA LEGO TITULACIÓN : Máster en Ingeniería Electrónica”, 2012.
[54] N. Kuyvenhoven, “PID Tuning Methods An Automatic PID Tuning Study with MathCad”, 2002.
[55] TutosIngenieria, “Medición de ángulo con aceleraciones del MPU6050, arduino y Matlab”, 2016. [En línea]. Disponible en: https://www.youtube.com/watch?v=pz-sEku-jGM.
[56] Tutoriales, “Tutorial MPU6050, Acelerómetro y Giroscopio”. [En línea]. Disponible en: https://naylampmechatronics.com/blog/45_Tutorial-MPU6050-Acelerómetro-y-Giroscopio.html.
Top Related