informe final proyectomecatronico

10
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

Upload: arturo-contreras-martinez

Post on 23-Oct-2015

26 views

Category:

Documents


1 download

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