“DISEÑO E IMPLEMENTACIÓN DE UN ROBOT MÓVIL DE ARQUITECTURA DIFERENCIAL PARA NAVEGACIÓN AUTÓNOMA EN EXTERIORES CON MONITOREO REMOTO Y VISIÓN ARTIFICIAL”
PROYECTO MECATRONICO AUTORES : Contreras Martínez Dimel Arturo,
[email protected] Barrera Camarena José Luis,
[email protected]
UNI VERSI VERSI DAD NACI ONAL DE I NGENI ERÍA 2013
1
1.
INTRODUCCIÓN
En las aplicaciones robóticas modernas el uso de sistemas de navegación y visión es muy frecuente, ya que de esta manera los robots son capaces de desplazarse, ver y reconocer su entorno. Si bien en el mercado existen módulos robóticos de entrenamiento y robots de vigilancia y monitoreo estos son muy caros, y frecuentemente su manejo es muy difícil. Con este trabajo se buscara tener un módulo de entrenamiento fácil de usar y amigable al usuario con el fin de que sirva como un apoyo para la investigación tanto de estudiantes como de empresas en el Perú. Finalmente, con este trabajo se busca fomentar la investigación en nuestra universidad, al proponer nuevas áreas de desarrollo. Este sistema se podrá usar más adelante en la implementación y prueba de nuevos algoritmos y/o el desarrollo de nuevos proyectos. 2.
f. A nivel académico, se integra muy bien los conocimientos aprendidos en la universidad relacionado con control, electrónica, inteligencia artificial, diseño mecánico, programación. 4. APLICACIONES PRÁCTICAS
Las aplicaciones de un robot con sistemas de navegación autónoma y visión son diversas, Se puede usar como un sistema de vigilancia vigilancia o monitoreo remoto cuya característica principal es su movilidad. Como segunda aplicación es posible que lleve a cabo tareas de exploración y reconocimiento de áreas. También se puede aplicar como un módulo de entrenamiento que ayude a fomentar la investigación. Las aplicaciones finales que se pueden dar al robot son diversas, tales como:
PLANTEAMIENTO PLANTEAMIE NTO DEL PROBLEMA a.
Agricultura
Con el proyecto a desarrollar, se quieren resolver (así como innovar en la forma de realizar tareas) los siguientes problemas: a. Traslado de una coordenada inicial a otra final autónomamente. b. Recorrer rutas autónomamente. c. Reconocer objetos con características patrón de entrada. d. Monitorear en tiempo real el recorrido de la navegación del robot. e. Transmisión de los datos de sensores útiles a la estación terrena.
3.
Fig.1 Robots Aradores b. Seguridad
JUSTIFICACIÓN
El robot autónomo, por desarrollar, ofrecerá los siguientes beneficios y ventajas con respecto a las formas tradicionales de trabajo: a. Disminución de las horas hombre de trabajo. b. Automatización de procesos como: producción agrícola, traslado, monitoreo monitoreo y seguridad. c. La creación de un robot autónomo al cual le podemos asignar tareas. d. Elaboración de algoritmos para visión artificial y navegación autónoma en exteriores. e. Desarrollo tecnológico en Perú al hacer uso de sensores y procesadores modernos, además de software y algoritmos muy utilizados a nivel mundial.
2
Fig.2 Robot para Vigilancia c.
Militares
Fig.3 Robot Ruso
d. Traslado autónomo de carga. e.
Reconocimiento de Lugares.
Fig.4 Robot explorador 5. OBJETIVOS
I. Construcción de un robot como prototipo para las pruebas de hardware y software, este consta de la estructura mecánica de la base móvil. II. Diseño y desarrollo del hardware para el manejo de los sensores, procesadores y actuadores del robot prototipo. III. Diseño de software para el control de la ta r eas especí f i cas navegación y visión para las tar que se pretenden: navegación en el terreno agrícola para fumigación centralizada, monitoreo de los productos, malezas y plagas (visión). obótica tica para IV. Elaboración de una plataforma r obó para la investigación en robótica autónoma aplicada a di versas tareas tar eas que qu e se podr ían r equer equerii r en un campo abierto como el agrícola (pej.).
7. CARACTERÍSTICAS DEL PRODUCTO FINAL DE PROYECTO MECATRÓNICO.
En términos generales el robot será de cinemática diferencial, una cámara cámara para la detección del objetivo, objetivo, para la navegación autónoma utilizaremos los sensores GPS, Magnetómetro o brújula, ultrasónicos y los encoder de los motores(para controlar en lazo cerrado las velocidades asignadas a los motores por el algoritmo de control de la navegación), para la parte de procesamiento se realizara un sistema distribuido de microcontroladores dedicados a los módulos mencionados además de una Laptop para el procesamiento de la visión. Al ser este robot un sistema complejo, ya que integra muchos sistemas ya mencionados, lo que se planea en el proyecto es desarrollar por separado los sistemas de visión y de navegación autónoma. Para ello las tareas iniciales del robot serán las siguientes: para el sistema visiónmanipulación se deberá poder identificar objetos con características específicas (color y forma). Por otro lado el sistema de navegación deberá planificar y ejecutar el movimiento del robot en rutas especificas (mapa determinado por coordenadas GPS) y con un punto de meta (coordenada GPS), para ello el robot se valdrá de los sensores ultrasónicos para detectar obstáculos, el GPS para saber su posición actual y una brújula para saber su orientación. orientación. Con respecto a la aplicación del robot, la funcionalidad final que se le dé al robot se tendrá que adaptar y programar de acuerdo al terreno, ya que lo que se desarrollará en el proyecto es la plataforma sobre la cual se podrán programar y asignar tareas fácilmente 8. CRONOGRAMA SEMANAL DE TRABAJO PARA PROYECTO MECATRÓNICO.
6. CARACTERÍSTICAS DEL PRODUCTO FINAL DE LA TESIS
El producto final que se pretende para la tesis, es un conjunto de robots los cuales puedan realizar tareas diversas que sean asignadas y monitoreadas remotamente además de agregar la capacidad de manipulación en el robot (mediante un brazo robótico). Las características específicas se nombran en la sección siguiente.
Dias
Setiembre
16--21
Revisar el movil para ver las mejoras que se pueden hacer Modelamiento en 2D matlab del movil Algoritmo para reconocimiento de Objetos Terminar el Hardware Modelamiento en Simechanics Pruebas Fisicas de Algoritmos Vision
23--27
Octubre
30--4
07--11 14--18
3
Tareas
Pruebas Fisicas de Algoritmos basicos (punto a punto) Creacion de un entorno Virtual Matlab Pruebas de Vision con el movil en movimiento Interfaz para asignacion de tareas y monitoreo Union Sim-mechanics - Realidad Virtual Investigacion del metodo por Redes Neuronales en Vision PARCIALES
21--25
28--1
Noviembr e
4--8
11--15
Desarrollo del modulo electronico para comunicaciones Elaboracion de algoritmos de evasion de obstaculos Mejorar el Algoritmo de Vision Monitoreo de la navegacíon en google earth Elaboracion de algoritmos de evasion de obstaculos Coordinacion del sistema de navegación con el de Visión Monitoreo de la navegacíon en google earth Elaboracion de algoritmos de evasion de obstaculos Coordinacion del sistema de navegación con el de Visión Implementación fisica de Algoritmos simulados(evasion) Elaboración del Algoritmo para seguimiento de trayectorias Asignacion de objetos especificos por reconocer
Fig.5 Conversión de CAD a XML El robot en Simulink se visualiza de la siguiente manera:
Implementación fisica de Algoritmos simulados(trayectorias) Union de Algoritmos en el Entorno Virtual Asignacion de objetos especificos por reconocer 18--22 Implementación fisica de Algoritmos simulados(trayectorias) Union de Algoritmos en el Entorno Virtual 25--29 Diciembre
Pruebas Finales
2--6 9--13
FINALES
Tabla.1 Cronograma de tareas DESCRIPCIÓN DE AVANCES Se ha realizado avances significativos antes del curso del “Proyecto Mecatrónico” referentes al har dware de robot : sistema de sensores, procesadores y actuadores. 9.
Fig.6 Robot en SimMechanics El diagrama de bloques del robot es el siguiente:
A partir del curso “Proyecto Mecatrónico”, Mecatrónico”, se
realizaron pruebas físicas de la navegación y visión del robot. Además se inició con la creación de un entorno virtual en Matlab para simulaciones del robot, considerando todo el modelo del robot y su ambiente. Los avances puntualmente son los siguientes: A. MODELO DEL ROBOT EN SIMMECHANICS
El diseño en CAD del robot, se traslada a Matlab mediante SimMechanics. Este modelo que se crea nos servirá para: * Probar los algoritmos de control más complejos. *Crear un mundo virtual en el cual se realizará un estudio más completo del robot cambiando rápidamente su ambiente y observando su comportamiento. *otros. El proceso de conversión de un modelo en CAD a uno en Simulink, que tiene el formato XML.
4
Fig.7 Modelo matemático del Robot B. CREACION DE REALIDAD VIRTUAL
Para la creación de un entorno virtual de simulaciones, es necesario tener el modelo matemático de comportamiento del robot y el ambiente (y sus interacciones gracias a sensores y actuadores) así como también el objeto gráfico que nos permita visualizar. El Robot exportado exportado desde Solidwork a VRLM Builder de Matlab es el siguiente:
̇
Fig.8 Visualización del Robot en VRLM Builder El comportamiento del robot (modelo matemático) se obtiene gracias a SimMechanics. La creación de ambiente si fue exclusiva en VRLM Builder.
̇ ̇ ̇
Fig10. Modelamiento de la base móvil diferencial diferencial Calculo del ángulo de giro del móvil para que se dirija al punto objetivo
Fig.9 Ambiente Virtual C.
ALGORITMO PARA LA NAVEGACIÓN
Primer caso ,
Para la navegación autónoma se tiene que considerar 2 aspectos básicos, uno es navegar hacia el punto objetivo (orientación y avance) y el otro es poder evadir los obstáculos que se puedan presentar en el transcurso del desplazamiento desplazamiento del robot. A.1
Navegación:
Se trabajó con el modelo cinemático del robot, para poder relacionar los giros con las velocidad de cada rueda.
Fig.11 Primer Caso
Segundo caso ,
Modelo Cinemático:
El modelo cinemático del robot es el siguiente:
Fig.12 Segundo Caso
5
A .2 E vasión vasi ón de obstácul cu l os:
El robot posee la capacidad de utilizar 7 sensores de ultrasónicos para detectar obstáculos, sin embargo se trabajó con 4 para reducir algunos cálculos y se obtuvo un buen resultado para obstáculos de área considerable. El modelo para la evasión de obstáculos es el siguiente:
Debido al error de los sensores , es bastante dificultoso llegar exactamente a la coordenada objetivo , tambien se hicieron pruebas de ello, por ello se trabaja con una vecindad entorno al punto objetivo. Cuando el robot está dentro de esta vecindad se considera que el robot ya llego a su meta. El algoritmo de movimiento calcula las velocidades de cada rueda , esta velocidad se controla en un lazo interno (se asemeja a un control en cascada). Para cumplir dichas velocidades se realiza un control PID (en realidad resulto PI) gracias a los encoders encoders de los motores . Para representar a todo el robot como un sistema de control se muestra la siguiente imagen.
Fig.13 Robot con Obstáculos Para una distancia menor a 50cm de detección de alguno de los sensores ultrasónicos se considera obstáculo. Se realizaron pruebas con bastante éxito.
Fig.15 Diagrama de Control de Navegación
Fig.14 Pruebas de evasión de obstáculos A.3 N avegación avegaci ón y evasi evasi ón de obstácul cu l os
A.4 Pruebas físicas punto a punto Se realizó pruebas de un algoritmo básico de navegación, basado en posición inicial y final.
El movimiento del robot depende de una decisión conjunta de los sensores, GPS – MagnetómetroUltrasónicos. El diagrama diagrama de flujo desarrollado desarrollado para el proyecto es el siguiente:
Fig.16 Robot preparándose esperando sus Tarea
Fig.15 Diagrama de flujo Navegación
6
Fig.17 Movimiento del Robot
D. ALGORITMO PARA NAVEGACION DE TRAYECTORIAS
Para poder seguir caminos por rutas permitidas, es necesario realizar el algoritmo de navegación de trayectorias. Para facilitar ello la trayectoria la modelamos como un conjunto de puntos (ya que el algoritmo punto-punto ya funciona bien) .
Fig.20 Diagrama de control de trayectorias
E. INTERFAZ PARA ASIGNACIÓN DE TAREAS DE NAVEGACIÓN Y VISIÓN
Fig.18 Modelo de Trayectoria El algoritmo para navegación de trayectorias se basa en cambiar de punto objetivo una vez que ya se halla llegado a la vecindad del punto anterior, el diagrama de flujo es el siguiente:
Se elaboró una interfaz en GUI de Matlab, mediante la cual podemos asignar tareas para el sistema de visión y sistema de navegación desde una “estación fija”. Se ingresa el tipo de objeto a detectar (en el monitoreo) y también la posición objetivo. La información le llega al robot gracias al sistema de comunicaciones y también el robot envía su estado hacia la estación fija (monitoreo). El controlador Atmel 2560 que se encuentra en el robot recibe las tareas y envía la parte de visión a la Laptop, y la parte de navegación al controlador Mbed.
Conjunto "n" de Puntos
Pi
Está fuera de la vecindad?
No
Si
Hay Obstaculos? No
Fig.21 Interfaz GUI Matlab
Si
F. [V1,V2]=F(U1,U2,U3,U4)
Fig.19 Diagrama de Flujo de Navegación de Trayectorias La representación del sistema de control de trayectorias es el siguiente:
7
SISTEMA DE COMUNICACIONES
[V1,V2]=G(phi)
Para la trasmisión de toda la información de manera bidireccional se utiliza módulos XBEE PRO S2, anteriormente se utilizó otro modulo denominado NRF24 pero tuvo un poco de desincronización por ello se cambió, que nos permiten enviar las tareas y recibir el estado del robot. Se pudo transmitir información información hasta 100m sin ningún problema.
Controladores Arduino Due mbed
Fig.22 Módulos para Comunicación
Desde la Estación Remota
Ejecución de la Navegación
Envio de la coordenada del robot por el Transceiver
Dato que se recibe por Uart desde la PC que procesa la Vision Artificial
Hacia la estacion remota
Due mbed LPC11
Otros Conversor DC-DC Conversor FrecuenciaVoltaje Placas Driver Potencia Sistema Navegación autónoma
12V Litio 10.8V
Manipulación Navegación autónoma
de
DC-DC LM331
Puente H/DC-DC Navegación autónoma
No
Se detecto objeto?
Estructura Acero
Si
Hacia la estacion remota
de
Sistema de Alimentación Batería Plomo Batería Litio 10.8V
El algoritmo que se sigue para las comunicaciones es el siguiente: Recepción de Data desde el Transceiver
Controlador PID Navegación autónoma
maquinado
Envio de una señal de
llantas
deteccion
ruedas locas
Tabla 2. Cuadro de Materiales y equipos
Fig.23 Diagrama de Flujo para las Comunicaciones
11. INFORME ECONÓMICO TENTATIVO 10. CUADRO DE MATERIALES,
COMPONENTES Y EQUIPOS REQUERIDOS
Tipo
Sistema
Ultrasónico Unidad IMU Cámara webcam GPS Comunicación RF 2.4Ghz+ antena
Visión Artificial Navegación Autónoma
Comunicaciones
Actuadores Motor DC Navegación 24V encoder autónoma
8
SRF05
Precio c/u
Precio
Ultrasónico
6
30
180
Unidad IMU Cámara webcam
1
135
135
1
120
120
1
140
140
S2
2
150
300
Actuadores Motor DC 24V encoder
4
60
240
Arduino Due
1
200
200
mbed
1
200
200
IMU
GPS
Microsoft A2000 Maestro
NRF24L01
Cantidad
Sensores
Modelo
Sensores Navegación Autónoma Navegación Autónoma
Tipo
Comunicación XBEE PRO
Controladores
sensores entregan data fuera de su valor
Sistema de Alimentacion Bateria Plomo Bateria Litio 10.8V
normal.
2
30
60
2
30
60
d) Para que el robot trabaje en terrenos de mayor tamaño es necesario usar un módulo de XBEE de mayor como rango, como un XBEE
Otros Conversor DC-DC Conversor FrecuenciaVoltaje Placas Driver Potencia Sistema Navegación Autónoma
PRO 900 (15Km).
2
15
30 e) El tiempo de actualización y lectura del GPS
2
5
resulto de casi 1seg. 1seg. Lo cual es un problema
10
que retraso un poco el algoritmo de navegación y aún más la evasión de obstáculos, por lo cual en futuras mejoras se
de 1
100
100
tendrá que trabajar con prioridades o interrupciones por parte de los sensores de
1
20
20
Aluminio
1
250
250
maquinado
1
190
190
llantas
2
15
30
ruedas locas
2
15
30
Estructura
ultrasonido.
f)
En las pruebas del sistema de visión visión para reconocimiento de objetivos, se observó que la luz del ambiente am biente afecta considerablemente la detección del objetivo, además de ello el rango de la cámara hace que a distancias grandes (pej.5m) no se logre detectar el
Tabla 3. Costo de materiales del Proyecto *No se cuenta la laptop que se usara para visión principalmente y tampoco la otra en la que se visualiza en tiempo real el movimiento del robot y se asigna tareas.* 12. CONCLUSIONES
objetivo. g) La creación de un entorno virtual de simulación conlleva al modelamiento tanto del ambiente como del robot, estos se realizaron usando los toolbox SimMechanics y VRML de Matlab. Esto se complica cuando se relaciona ambos y además del control e incluso se tiene
a) Es necesario hacer pruebas de todos los sensores utilizados, para luego calibrarlos si
llegue a tener un comportamiento, todo lo
fuera el caso que estén otorgando medidas
anterior hace que la simulación se vuelva
diferentes a las reales .Esto es muy importante
lenta.
para que funcione adecuadamente el sistema de control. b) El sistema de navegación requiere precisión por lo que los sensores deberían poseer error bastante pequeño. Sin embargo para obtener sensores de dicha calidad se requiere r equiere de mayor inversión. c)
que modelar los sensores para que el robot
Es necesario realizar un filtrado de la data de ingreso al algoritmo, en futuros avances, ya que existen instantes en los cuales los
9
h) Para el monitoreo remoto de la navegación del robot se utilizó el toolbox KML de Matlab.
13. REFERENCIAS BIBLIOGRÁFICAS [1] Extracción de características”, Departamento de
Ciencia de la Computación Universidad Católica de Chile 2006 [2] Lía García Pérez "NAVEGACIÓN AUTÓNOMA DE ROBOTS EN AGRICULTURA: UN MODELO DE AGENTES”, Madrid, 2005
[3] Ricardo Faerron Guzmán "Autonomous Robot Navigation With The Use Of GPS" Department of Mechanical and Industrial Engineering 2009 [4]
J.L. Guzmán, M. Berenguel, F. Rodríguez
“Herramienta Interactiva para Robótica Móvil” , Dpto.
Lenguajes y Computación, Universidad de Almera. [5] Ramón González Sánchez, Francisco Rodríguez Díaz “Algoritmo de navegación reactiva de robots Móviles para tareas bajo invernadero”, Departamento de
Lenguajes y Computación. Universidad de Almería 2006 [6] R. González 1(P), F. Rodríguez, J. SánchezHermosilla, J. G. Donaire “Experiencias en sistemas de navegación de robots móviles para tareas en invernadero”.
[7] Matlab Arduino – http://robocv.blogspot.com/2012/01/serial-communication between-arduino.html [8]Fuzzy Logic Examples using Matlab http://arri.uta.edu/acs/ee5322/lectures/Ballal%20fuzzy%20l ogic%20notes.pdf [9] Ubaldo Geovanni Villaseñor Carrillo “Desarrollo de
un sistema de navegación para robots móviles mediante diferentes patrones de comportamientos” , CIINDET 2010
[10] Dr. Francisco Javier Gallegos Funes "Navegación Autónoma de un robot móvil dentro de entornos real/virtual" Tesis de grado ,2008 [11] Alonzo Kelly "An Intelligent, Predictive Control Approach to the High-Speed Cross-Country Autonomous Navigation Problem", The Robotics Institute Carnegie Mellon University 1995 [12] Ilber Adonayt Ruge Ruge
“Método básico básico para
implementar un controlador digital pid en un microcontrolador para desarrollo de aplicaciones a bajo costo” , Universidad de Cundinamarca
10