informe final proyectomecatronico
TRANSCRIPT
1
“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]
UNIVERSIDAD NACIONAL DE INGENIERÍA
2013
2
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. PLANTEAMIENTO DEL PROBLEMA
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. 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 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.
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 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:
a. Agricultura
Fig.1 Robots Aradores
b. Seguridad
Fig.2 Robot para Vigilancia
c. Militares
Fig.3 Robot Ruso
3
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
navegación y visión para las tareas específicas
que se pretenden: navegación en el terreno
agrícola para fumigación centralizada,
monitoreo de los productos, malezas y plagas
(visión).
IV. Elaboración de una plataforma robótica para la
investigación en robótica autónoma aplicada a
diversas tareas que se podrían requerir en un
campo abierto como el agrícola (pej.).
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.
7. CARACTERÍSTICAS DEL PRODUCTO FINAL
DE PROYECTO MECATRÓNICO.
En términos generales el robot será de cinemática
diferencial, una cámara para la detección del 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ón-
manipulació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.
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.
Dias Tareas
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
23--27
Terminar el Hardware Modelamiento en Simechanics
Pruebas Fisicas de Algoritmos Vision
Octubre 30--4
Pruebas Fisicas de Algoritmos basicos (punto a punto)
Creacion de un entorno Virtual Matlab Pruebas de Vision con el movil en movimiento
07--11
Interfaz para asignacion de tareas y monitoreo
Union Sim-mechanics - Realidad Virtual Investigacion del metodo por Redes
Neuronales en Vision
14--18 PARCIALES
4
21--25
Desarrollo del modulo electronico para comunicaciones
Elaboracion de algoritmos de evasion de obstaculos Mejorar el Algoritmo de Vision
28--1
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
Noviembre 4--8
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
11--15
Implementación fisica de Algoritmos simulados(evasion)
Elaboración del Algoritmo para seguimiento de trayectorias
Asignacion de objetos especificos por reconocer
18--22
Implementación fisica de Algoritmos simulados(trayectorias)
Union de Algoritmos en el Entorno Virtual Asignacion de objetos especificos por reconocer
25--29
Implementación fisica de Algoritmos simulados(trayectorias)
Union de Algoritmos en el Entorno Virtual
Diciembre 2--6 Pruebas Finales
9--13 FINALES
Tabla.1 Cronograma de tareas
9. DESCRIPCIÓN DE AVANCES
Se ha realizado avances significativos antes del curso
“Proyecto Mecatrónico” referentes al hardware del
robot: sistema de sensores, procesadores y actuadores.
A partir del curso “Proyecto 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.
Fig.5 Conversión de CAD a XML
El robot en Simulink se visualiza de la siguiente
manera:
Fig.6 Robot en SimMechanics
El diagrama de bloques del robot es el
siguiente:
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 desde Solidwork a VRLM
Builder de Matlab es el siguiente:
5
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.
Fig.9 Ambiente Virtual
C. ALGORITMO PARA LA NAVEGACIÓN
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 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.
Modelo Cinemático:
El modelo cinemático del robot es el siguiente:
Fig10. Modelamiento de la base móvil diferencial
Calculo del ángulo de giro del móvil para que se dirija
al punto objetivo
Primer caso ,
Fig.11 Primer Caso
Segundo caso ,
Fig.12 Segundo Caso
6
A.2 Evasión de obstáculos:
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:
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.14 Pruebas de evasión de obstáculos
A.3 Navegación y evasión de obstáculos
El movimiento del robot depende de una decisión
conjunta de los sensores, GPS – Magnetómetro-
Ultrasónicos. El diagrama de flujo desarrollado para
el proyecto es el siguiente:
Fig.15 Diagrama de flujo Navegación
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
de los motores .
Para representar a todo el robot como un sistema de
control se muestra la siguiente imagen.
Fig.15 Diagrama de Control de Navegación
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.
Fig.16 Robot preparándose esperando sus Tarea
Fig.17 Movimiento del Robot
7
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.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:
Fig.19 Diagrama de Flujo de Navegación de
Trayectorias
La representación del sistema de control de
trayectorias es el siguiente:
Fig.20 Diagrama de control de trayectorias
E. INTERFAZ PARA ASIGNACIÓN DE
TAREAS DE NAVEGACIÓN Y VISIÓN
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.
Fig.21 Interfaz GUI Matlab
F. SISTEMA DE COMUNICACIONES
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 hasta 100m
sin ningún problema.
Pi
Hay Obstaculos?
[V1,V2]=F(U1,U2,U3,U4) [V1,V2]=G(phi)
No
Si
No
Si
Conjunto
"n" de Puntos
Está fuera de la
vecindad?
8
Fig.22 Módulos para Comunicación
El algoritmo que se sigue para las
comunicaciones es el siguiente:
Fig.23 Diagrama de Flujo para las Comunicaciones
10. CUADRO DE MATERIALES,
COMPONENTES Y EQUIPOS REQUERIDOS
Tipo Sistema Modelo
Sensores
Ultrasónico
Navegación
Autónoma SRF05
Unidad IMU
Navegación
Autónoma IMU
Cámara web-
cam Visión Artificial Microsoft
GPS
Navegación
Autónoma
A2000
Maestro
Comunicación
RF 2.4Ghz+
antena Comunicaciones NRF24L01
Actuadores
Motor DC
24V encoder
Navegación
autónoma
Controladores
Arduino Due
Controlador de
PID Due
mbed
Navegación
autónoma
mbed
LPC11
Sistema de
Alimentación
Batería Plomo
12V
Batería Litio
10.8V
Litio 10.8V
Otros
Conversor
DC-DC Manipulación DC-DC
Conversor
Frecuencia-
Voltaje
Navegación
autónoma LM331
Placas
Driver de
Potencia
Puente
H/DC-DC
Sistema
Navegación
autónoma
Navegación
autónoma
Estructura
Acero
maquinado
llantas
ruedas locas
Tabla 2. Cuadro de Materiales y equipos
11. INFORME ECONÓMICO TENTATIVO
Tipo Cantidad Precio c/u Precio
Sensores
Ultrasónico 6 30 180
Unidad IMU 1 135 135
Cámara web-
cam 1 120 120
GPS 1 140 140
Comunicación
XBEE PRO
S2 2 150 300
Actuadores
Motor DC
24V encoder 4 60 240
Controladores
Arduino Due 1 200 200
mbed 1 200 200
Ejecución de la
Navegación
Recepción de Data
desde el Transceiver
Se detecto objeto?
Envio de la
coordenada del
robot por el
Transceiver
Envio de una
señal de
deteccion
Si
No
Hacia la
estacion
remota
Dato que se
recibe por Uart
desde la PC
que procesa la
Vision Artificial
Hacia la
estacion
remota
Desde la
Estación
Remota
9
Sistema de
Alimentacion
Bateria Plomo 2 30 60
Bateria Litio
10.8V 2 30 60
Otros
Conversor
DC-DC 2 15 30
Conversor
Frecuencia-
Voltaje 2 5 10
Placas
Driver de
Potencia 1 100 100
Sistema
Navegación
Autónoma 1 20 20
Estructura
Aluminio 1 250 250
maquinado 1 190 190
llantas 2 15 30
ruedas locas 2 15 30
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
a) Es necesario hacer pruebas de todos los
sensores utilizados, para luego calibrarlos si
fuera el caso que estén otorgando medidas
diferentes a las reales .Esto es muy importante
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 de
mayor inversión.
c) Es necesario realizar un filtrado de la data de
ingreso al algoritmo, en futuros avances, ya
que existen instantes en los cuales los
sensores entregan data fuera de su valor
normal.
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
PRO 900 (15Km).
e) El tiempo de actualización y lectura del GPS
resulto de casi 1seg. Lo cual es un problema
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
tendrá que trabajar con prioridades o
interrupciones por parte de los sensores de
ultrasonido.
f) En las pruebas del sistema de visión para
reconocimiento de objetivos, se observó que
la luz del ambiente 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
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
que modelar los sensores para que el robot
llegue a tener un comportamiento, todo lo
anterior hace que la simulación se vuelva
lenta.
h) Para el monitoreo remoto de la navegación
del robot se utilizó el toolbox KML de Matlab.
10
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ánchez-
Hermosilla, 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 para
implementar un controlador digital pid en un
microcontrolador para desarrollo de aplicaciones a bajo
costo” , Universidad de Cundinamarca