• No se han encontrado resultados

Robótica inteligente: Implementación de sensores 3D para desenvolvimiento de robots móviles y vehículos autónomos

N/A
N/A
Protected

Academic year: 2020

Share "Robótica inteligente: Implementación de sensores 3D para desenvolvimiento de robots móviles y vehículos autónomos"

Copied!
135
0
0

Texto completo

(1)

TECNOLÓGICO DE COSTA RICA

CARRERA DE INGENIERÍA MECATRÓNICA

“Robótica inteligente: Implementación de sensores 3D para

desenvolvimiento de robots móviles y vehículos autónomos”

Laboratório de Robótica Móvel- ICMC- Universidade de São Paulo

Informe de Proyecto de Graduación para optar por el título de Ingeniero en Mecatrónica con el grado académico de Licenciatura

Estudiante: Sergio Valverde Moreno 201121914

(2)
(3)

iii

(4)

iv

HOJA DE INFORMACIÓN DEL PROYECTO

Datos del estudiante:

Nombre: Sergio Valverde Moreno

Cédula: 1-1537-0017 Carné ITCR: 201121914

Dirección de su residencia: De la última parada de buses de Platanares de Moravia, 800 metros este, 25 metros norte. Casa amarilla de dos pisos, portón rojo.

Teléfono de residencia: 2529-0259

Teléfono celular: 8895-0007

Correo electrónico: sergiovalverdem@hotmail.com

Información del proyecto:

Nombre del Proyecto: Robótica Inteligente: Implementación de sensores 3D para desenvolvimiento de robots móviles y vehículos autónomos.

Información de la empresa:

Nombre: Laboratório de Robótica Móvel- ICMC- Universidade de São Paulo

Actividad Principal: Centro de Investigación

Zona: São Carlos, São Paulo, Brasil

Dirección: Avenida Trabalhador São-carlense, 400 - Centro

Teléfono: +55 (16) 3373-9700

Información del encargado/asesor en la empresa: Nombre: Dr. Fernando Santos Osório

Puesto que ocupa: Profesor investigador

Departamento: Laboratório de Robótica Móvel

Profesión: Profesor Grado académico: Doctor

(5)

v

Resumen

El presente proyecto se realizó en la Universidade de São Paulo en Brasil, en la sede de la ciudad de São Carlos. Específicamente se trabajó en el Laboratório de Robótica Móvel, perteneciente al Instituto de Ciências Matemáticas e de Computação. Como su nombre lo dice, en este laboratorio se realiza investigación y desarrollo de aplicaciones relacionadas al área de robótica móvil.

El proyecto consistió en desarrollar una aplicación para que un robot móvil pueda navegar de forma autónoma, evitando obstáculos, hasta llegar a una coordenada específica definida por el usuario. Para diseñar e implementar esta aplicación se debe tomar en cuenta que la navegación y detección de obstáculos se hizo con base en sensores 3D, para lo cual se seleccionó un Kinect.

La aplicación se simuló y probó en un ambiente de simulación especial para aplicaciones robóticas, llamado V-REP. El proceso de desarrollo del proyecto se inició con

la elaboración de algoritmos de navegación para únicamente evitar obstáculos. Una vez alcanzado este objetivo, se procedió a implementar la teoría de campos potenciales y se

utilizaron otros sensores para determinar la posición y orientación del robot en el espacio, con el objetivo de definir una trayectoria hasta la coordenada meta y así hacer la navegación más eficiente.

Por último, se trabajó con los datos reales de los sensores en físico para corroborar el funcionamiento de la aplicación y así compararlo con los resultados obtenidos anteriormente de la parte simulada.

(6)

vi

Abstract

This project was developed in the Universidade de São Paulo in Brasil, on the campus located in the city of São Carlos. The work was done specifically in the

Laboratório de Robótica Móvel, which belongs to the Instituto de Ciências Matemáticas e Computação. As its name indicates, this laboratory does research and develops applications related to the area of mobile robotics.

The project consisted on developing an application that allows a mobile robot to navigate autonomously, avoiding obstacles, until it reaches a specific coordinate point defined by the user. For the design and implementation of this application, it is necessary to keep in mind that navigation and obstacle detection are based on the use of 3D sensors. For this purpose, the Kinect was selected.

The simulation and testing of the project was done in a special simulation environment for robotic applications, called V-REP. The project development process began with the elaboration of navigation algorithms for obstacle avoidance. Once this goal

was achieved, the potential fields theory was implemented and other sensors were used to determine the robot‟s spatial position and orientation, with the objective of defining a

trajectory to the goal coordinate point, thus doing a more efficient navigation.

Finally, real data from the physical sensors was used to corroborate the functioning of the application, with the purpose of comparing it with the previously obtained results from the simulated part.

(7)

vii

Dedicatoria

(8)

viii

Agradecimientos

(9)

ix

2.1.1. Inicios de la robótica móvil y navegación autónoma ... 7

2.1.2. Actualidad ... 10

2.2. Sensores importantes en robots móviles ... 13

2.2.1. Sensores 3D ... 14

2.2.2. GPS ... 17

2.2.3. IMU ... 18

2.3. Métodos de navegación en vehículos móviles ... 19

(10)

x

3.4.1. Requerimientos ... 32

3.4.2. Tabla morfológica de requerimientos y análisis de opciones ... 33

3.4.3. Especificaciones ... 40

4.2.4. Control de velocidad y ángulo resultante de la trayectoria del robot ... 68

4.3. WayPoints ... 77

4.4. Descripción de la simulación realizada ... 79

Capítulo 5: Implementación con sensores en físico ... 82

5.1. Configuración de los sensores ... 83

5.2. Descripción de la solución ... 87

Apéndice A.2. Otras aplicaciones con campos potenciales ... 115

Anexos ... 117

Anexo B.1. Hoja de datos del Pioneer P3-DX ... 117

Anexo B.2. Conexión del 9DOF Razor IMU con el “FTDI Basic Breakout” ... 119

(11)

xi

ÍNDICE DE FIGURAS

Figura 1. Robot móvil al lado izquierdo y robot estacionario al lado derecho. Recuperado de: (Mihai, 2015) ... 6

Figura 2. Primer modelo del Machina Speculatrix de Walter Grey. Recuperado de:

(Gasperi, 2015) ... 8

Figura 3. Robot Dante II durante una misión de exploración en un cráter volcánico.

Recuperado de: (Braga, 2014) ... 9

Figura 4. Nuevo prototipo del Google Driverless Car. Recuperado de: (Inman, 2015) ... 12

Figura 5. Proyecto CaRINA 2. Recuperado de: (Laboratório de Robótica Móvel, 2015) .. 13

Figura 6. Ejemplo de “point cloud” generado por un sensor Kinect. Recuperado de:

(Gnecco, 2012) ... 15

Figura 7. Sensores tipo LiDAR marca Velodyne. Recuperado de: (Higgins, 2015)... 17

Figura 8. Sensor MPU6050 tipo IMU de InvenSense. Recuperado de: (Goss, 2015) ... 18

Figura 9. Vehículos de Braitenberg, de izquierda a derecha: Vehículo 1, Vehículo 2a y Vehículo 2b. (Braitenberg, 1986) ... 20

Figura 10. En la Figura a, se muestra la configuración de un espacio bidimensional con obstáculos. En la Figura b y Figura c, se muestra el campo potencial de atracción de la meta y el de repulsión de los obstáculos, respectivamente. En la Figura d, el campo potencial resultante. En la Figura e, el camino generado por los campos y en la Figura f, el gradiente de vectores negados en el espacio. (Latombe, 1991) ... 22

Figura 11. Trayectoria entre los puntos A y B definida por una serie de “waypoints”. Recuperado de: (Reis, 1996) ... 23

Figura 12. Entorno de simulación de Gazebo. Recuperado de: (Player, 2014) ... 26

Figura 13. Entorno de simulación de V-REP. Recuperado de: (Coppelia Robotics, 2015) 27

Figura 14. Ambiente de simulación para probar evitar obstáculos. Elaborado por el autor en VRep. ... 42

Figura 15. Características del sensor Kinect. Recuperado de: (Grupo de Investigación en Robótica Autónoma, 2015)... 44

Figura 16. Diagrama de flujo para lectura del “point cloud” para encontrar el punto más

cercano al Kinect. Elaborado por el autor en LucidChart. ... 46

Figura 17. Dimensiones del Pioneer P3-DX. Recuperado de: (Adept MobileRobots, 2015) ... 50

Figura 18. Diagrama de flujo del algoritmo de control de movimiento del Pioneer P3-DX. Elaborado por el autor en LucidChart. ... 55

Figura 19. En rojo, ejemplo de las mediciones del giroscopio, donde los ángulos son

valores positivos o negativos en 0 y 180°. Recuperado de (28IM, 2015) ... 58

Figura 20. Diagrama de flujo para calcular el campo potencial de atracción entre el robot y la meta. Elaborado por el autor en LucidChart. ... 65

Figura 21. Diagrama de flujo para calcular el campo potencial de repulsión entre el robot y el obstáculo. Elaborado por el autor en LucidChart. ... 67

(12)

xii

Figura 23. Cálculo del ángulo y el sentido de giro para el caso de angleZ y anglePath con

el mismo signo. Elaborado por el autor en LucidChart. ... 70

Figura 24. Ángulos de orientación con diferente signo con respecto al marco de referencia global. Elaborado por el autor en Paint. ... 71

Figura 25. Cálculo del ángulo y el sentido de giro para el caso de angleZ y anglePath con diferente signo. Elaborado por el autor en LucidChart. ... 72

Figura 26. Cálculo del ángulo y el sentido de giro para el caso en el que uno o ambos ángulos de orientación son cero. Elaborado por el autor en LucidChart. ... 73

Figura 27. Modelo cinemático de un robot móvil de tracción diferencial de dos ruedas. (Bañó, 2003) ... 74

Figura 28. Algoritmo de los “waypoints”. Elaborado por el autor en LucidChart. ... 78

Figura 29. Ambiente modelado para probar la aplicación. Elaborado por el autor en V-REP. ... 80

Figura 30. Receptor GPS, modelo XC-GD75. Recuperado de: (Sunsky, 2015) ... 84

Figura 31. 9DOF Razor IMU. Recuperado de: (Sparkfun, 2015) ... 85

Figura 32. Kinect II. Recuperado de: (Duarte, 2013) ... 86

Figura 33. Ambiente para comprobar los datos de simulación. Realizado por el autor. ... 88

Figura 34. Datos de posición leídos en V-REP por medio de comunicación serial con el GPS. Elaborado por el autor en V-REP. ... 90

Figura 35. Datos de orientación leídos en V-REP por medio de comunicación serial con el IMU. Elaborado por el autor en V-REP. ... 91

Figura 36. Primer caso de análisis. Pasillo con obstáculo principal a 0,5 m. Elaborado por el autor en Octave. ... 93

Figura 37. Segundo caso de análisis. Pasillo con obstáculo más cercano en la pared. Elaborado por el autor en Octave. ... 96

Figura 38. Tercer caso de análisis. Robot muy cercano a la pared. Elaborado por el autor en Octave. ... 98

Figura 39. Parte de la navegación evitando obstáculos realizada por el Pioneer P3-DX. Elaborado por el autor en V-REP. ... 101

Figura 40. Parte de la navegación final realizada por el Pioneer P3-DX. Elaborado por el autor en V-REP. ... 104

Figura A.2.1. Ambiente de prueba para la aplicación de seguidor de persona. Elaborado por el autor en V-REP. ... 115

Figura B.2.1. Conexión del 9DOF Razor IMU con el “FTDI Basic Breakout”. Recuperado de: (Bouchier, 2014) ... 119

Figura B.3.1. Diferentes formatos NMEA para GPS y su significado. Recuperado de: (Baddeley, 2001) ... 121

(13)

xiii

ÍNDICE DE TABLAS

Tabla 1. Tabla morfológica para las posibles soluciones a cada requerimiento del sistema. Elaborado por el autor. ... 33

Tabla 2. Variables utilizadas en el algoritmo de detección de punto más cercano en el “point cloud”. Elaborado por el autor. ... 45

Tabla 3. Variables utilizadas en el algoritmo de control de movimiento del Pioneer P3-DX. Elaborado por el autor. ... 51

Tabla 4. Velocidad en cada motor en función de la distancia a la que se encuentra el objeto más cercano. Elaborado por el autor. ... 54

Tabla 5. Valores de las variables usadas en las fórmulas de campos potenciales. ... 63

Tabla 6. Variables utilizadas para el cálculo del campo potencial de atracción entre el robot y la meta. Elaborado por el autor. ... 63

Tabla 7. Variables utilizadas para el cálculo del campo potencial de repulsión entre el robot y el obstáculo. Elaborado por el autor. ... 66

(14)

1

Capítulo 1: Introducción

1.1.

Contextualización y motivación

El ser humano siempre ha buscado métodos para facilitar su trabajo y siempre que

sea posible hacerlo más eficiente. Por ello se ha visto que a lo largo de la historia, se ha valido de la tecnología para llevar a cabo esta tarea. Es aquí donde la robótica ha tomado un

papel fundamental para cumplir este objetivo.

Los ejemplos más claros de esto se pueden ver en el sector industrial, con los brazos robóticos. Su velocidad de trabajo y precisión han ayudado a mejorar la producción y el desarrollo de las empresas. Sin embargo, este tipo de robots en su mayoría se encuentran restringidos a una única posición y campo de trabajo por el hecho de tener una base fija.

Es aquí donde el área de la robótica móvil toma importancia. La robótica móvil es el área de investigación que se encarga del control de vehículos autónomos y semiautónomos. Lo que diferencia esta área de investigación con respecto a otras áreas tradicionales como manipuladores robóticos, inteligencia artificial, y visión computacional, es el énfasis en problemas relacionados a entender regiones del espacio substancialmente más grandes que aquellas que pueden ser observadas a partir de un solo punto de vista. Por esta razón, tareas como moverse en el espacio de forma adecuada, realizar mediciones del ambiente por el que se desplaza el robot, así como el procesamiento y razonamiento acerca de la información del ambiente, son tareas básicas en la robótica móvil. (Dudek & Michael, 2010)

Esta área ha tomado gran relevancia en los últimos años y se puede evidenciar que en los próximos tendrá aún más impacto. Por esta razón, se decidió realizar el proyecto de graduación en esta área. El proyecto se llevó a cabo en la Universidade de São Paulo (USP) en la sede São Carlos, específicamente en el Laboratório de Robótica Móvel perteneciente al Instituto de Ciências Matemáticas e de Computação.

(15)

2

Latinoamérica también lo es y está entre las cien primeras a nivel mundial, según los reconocidos rankings de QS World University Rankings, World Reputation Ranking, Webometrics Ranking of Universities, entre otros.

La universidad fue creada en el año 1934 y desde entonces se ha caracterizado por su calidad y excelencia. Actualmente, la USP es responsable por el 22% de la producción científica del país. Para desarrollar sus actividades, la universidad cuenta con ocho campus en distintas ciudades del estado de São Paulo, además de museos y centros de investigación ubicados en distintos puntos del país. (Universidade de São Paulo, 2015)

De forma más específica, el Laboratório de Robótica Móvel desarrolla investigación en diversas áreas relacionadas a robótica y sistemas de transporte inteligente. Dentro de ellas se destacan: visión computacional, aprendizaje de máquina, robots y vehículos autónomos. Actualmente, la mayor parte de la investigación realizada en el laboratorio está relacionada al desarrollo de vehículos robóticos inteligentes para ambientes urbanos y agrícolas.

A través de colaboraciones con empresas e institutos de investigación de Brasil y del exterior, el laboratorio desarrolla sistemas robustos, eficientes y capaces de operar en ambientes reales, actuando en conjunto o sustituyendo humanos en tareas que representen un riesgo. (Laboratório de Robótica Móvel, 2015)

El proyecto que se llevó a cabo en este laboratorio, consiste en desarrollar e implementar algoritmos de navegación para que un robot móvil pueda navegar de forma autónoma y llegar hasta una coordenada o punto específico. Para la simulación de estos algoritmos se usará un modelo de un robot Pioneer P3-DX de la empresa Adept.

A pesar de que este robot cuenta con sensores ultrasónicos alrededor de él para

ayudar en la navegación y evitar colisiones, no se hará uso de ellos. Esto se debe a que se usó un sensor 3D, el Kinect de Microsoft, con el cual se trabajó la implementación. La razón de esto es porque se quiere investigar en la tecnología de las nubes de puntos o “point clouds” y las aplicaciones que puede tener. Por otro lado, el Kinect es un sensor

(16)

3

Este proyecto no solo representa la implementación de algoritmos para la navegación autónoma de vehículos por medio de sensores 3D, sino que su implementación se hace con el objetivo de poder usarlo en situaciones cotidianas, donde se le pueda facilitar

la vida a las personas por medio de la robótica móvil. Por ejemplo, este tipo de proyecto puede utilizarse para transportar sustancias u objetos peligrosos en fábricas donde puede representar un riesgo para la integridad de una persona y la a vez se podría tratar de hacer el proceso más eficiente y organizado. Por otro lado, se le podría dar uso en aeropuertos, donde estos vehículos autónomos seguirían a los viajeros para cargar su equipaje y maletas. Este punto de vista se puede extender para ayudar a personas que tienen discapacidades físicas o adultas mayores que no pueden hacer esfuerzos o podrían hacerse daño si intentan transportar elementos por sí mismos.

Como puede verse, la realización de este proyecto representa un aporte a un campo que está comenzando a tener auge, cuyas contribuciones no solo se limitan al sector industrial sino que también pueden contribuir a mejorar la calidad de vida de las personas.

Desde el punto de vista de la ingeniería mecatrónica, este proyecto involucra distintos campos, como lo es la robótica, la electrónica, la mecánica, sistemas de visión, programación, entre otros; por lo que se constituye como un proyecto muy completo para optar por el título de ingeniero en mecatrónica.

(17)

4

1.2.

Objetivos

1.2.1. Objetivo general

Implementar un sistema de procesamiento de información de sensores 3D para que un robot móvil o vehículo se mueva de forma autónoma, evitando obstáculos y a la vez mapee un lugar determinado con el fin de que alcance una coordenada específica.

1.2.2. Objetivos específicos

 Procesar la información generada a partir del sensor 3D.

 Diseñar algoritmos de navegación para el sistema, de la información obtenida anteriormente.

 Simular la aplicación que se quiere realizar por medio del programa V-REP,

especial para aplicaciones en robótica.

 Diseñar la aplicación para la implementación del proceso simulado.

(18)

5

1.3.

Organización del trabajo

El trabajo consta de seis capítulos. En el primer capítulo se realizó una introducción, se brindó una contextualización y motivación del por qué se llevó a cabo este proyecto en específico y también se presentaron los objetivos que se pretenden alcanzar.

En el Capítulo 2, se presentan aspectos bibliográficos. Primero se da una descripción de lo que es la robótica y conforme se avanza en el capítulo se guía al lector hacia el tema en específico de la robótica móvil. Se detalla un poco de los inicios de la navegación autónoma y los vehículos móviles, hasta mostrar los proyectos de mayor relevancia en esta área actualmente. Se explican también las técnicas y sensores necesarios para poder llevar a cabo el proyecto y por último se describen ambientes de simulación en los que podría probarse el trabajo realizado.

En el Capítulo 3, se describe a fondo el problema que se desea resolver y el diseño de ingeniería para escoger las mejores soluciones para cada requerimiento del proyecto. Una vez que se solventa cada requerimiento, se definen las especificaciones a partir de las cuales se desarrollará el trabajo.

En el Capítulo 4, se describe la parte principal del proyecto, la simulación. El capítulo explica el procedimiento para avanzar de una navegación donde hay un comportamiento totalmente reactivo y solo se evitan obstáculos, hasta llegar a una navegación inteligente donde se calculan las trayectorias para llegar hasta un punto específico. También se puede observar cómo se pone en práctica la teoría brindada en el Capítulo 2 y el diseño planteado en el Capítulo 3.

En el Capítulo 5, se explica la implementación realizada para verificar los datos o comportamientos obtenidos del capítulo anterior. Se utilizan los sensores reales, así como

información real del sensor 3D.

(19)

6

donde se podrían realizar posibles mejoras. También se muestran las limitaciones del proyecto y las conclusiones del mismo.

Capítulo 2: Revisión bibliográfica

2.1.

Robótica

En el año de 1921 aparece por primera vez la palabra robot. Esta fue usada por el

novelista checo Karel Capek en su novela “Rossum’s Universal Robots”. En su idioma la palabra “robota” significa servidumbre o fuerza de trabajo.

Con el paso del tiempo, los robots han tomado un papel sumamente importante en las actividades realizadas por los seres humanos. Es por ello que ahora existen diversos tipos y con funciones especializadas. De acuerdo con Onwubolu (2005) existen básicamente dos tipos de robots: móviles y estacionarios. Los robots móviles tienen la libertad de moverse en el campo de trabajo. Los robots estacionarios se encuentran fijos en una posición (caso de un brazo robótico).

(20)

7

Los brazos articulados constituyen la mayoría de los robots industriales. Según el

Robot Institute of America, un robot industrial es un manipulador programable multifuncional diseñado para mover materiales, piezas, herramientas o dispositivos

especiales, mediante movimientos variados, programados para la ejecución de distintas tareas.

El desarrollo de robots móviles responde a la necesidad de extender el campo de aplicación de la robótica, que se encuentra limitado por el campo de trabajo definido por una estructura mecánica fija en uno de sus extremos. También busca minimizar en la medida de lo posible la intervención humana, con el fin de incrementar la autonomía.

(Ollero, 2001)

Sin importar el tipo de robot con el que se esté trabajando, los robots en su mayoría están compuestos por diversos dispositivos y módulos. Los más relevantes son los sensores, por medio de los cuales se tiene una percepción del ambiente. Los sistemas de

procesamiento de información también son una parte muy importante, ya que por medio de ellos se logra planificar qué hará el robot, se tomarán decisiones y en general se controlará

al robot. Por último están los actuadores. Por medio de ellos se ejecutan las acciones del robot, generalmente a través de motores. (Sociedade Brasilera de Computação, 2015)

2.1.1. Inicios de la robótica móvil y navegación autónoma

(21)

8

Figura 2. Pri mer modelo del M achina Speculatrix de Walter Grey. Recuperado de: (Gasperi, 2015)

A finales de los años 60, se desarrolló en la Universidad de Stanford el primer robot móvil controlado por visión, Shakey. Este robot tenía una única tarea, la cual consistía en reconocer un objeto usando su sensor de visión, para después encontrar su camino hacia él y realizar una acción sobre dicho objeto.

De igual forma en Stanford, en los años 70 se desarrolló un robot capaz de evitar obstáculos utilizando una cámara, CART. Este robot tomaba nueve fotos desde un punto específico para crear un modelo bidimensional del ambiente. Este robot fue bastante exitoso evitando obstáculos. Sin embargo, era muy lento y tenía problemas en obtener su ubicación exacta y a la vez visualizar obstáculos con carencia de alto contraste. (Nehmzow, 2003)

(22)

9

como atraídos hacia una señal u objeto específico y en otras tratar de evitarlos. Los aportes generados por Braitenberg en el área de navegación autónoma, siguen teniendo una gran importancia actualmente. (Braitenberg, 1986)

En los años 90, los robots móviles comienzan a utilizarse no solo para fines de investigación o académicos, sino que para aplicaciones en exploración. Por ejemplo, entre 1992 y 1994 se desarrollan en la Universidad de Carnegie Mellon el Dante I y el Dante II. Ambos eran robots caminantes, los cuales utilizaban sensores láser para monitorear el terreno y determinar un camino seguro para desplazarse. Su principal aplicación fue para la exploración en volcanes, con el fin de determinar la composición de gases emanados en los cráteres. (Carnegie Mellon University, 2015)

Figura 3. Robot Dante II durante una misión de exploración en un cráter volcánico. Recuperado de: (Braga, 2014)

A finales de los 90, otra de las aplicaciones más importantes de la historia de la robótica móvil se dio con el Mars Rover, sobre todo en el campo de la navegación autónoma. Este robot se diseñó con el propósito de explorar la superficie del planeta Marciano y a la vez enviar esa información a la Tierra. Este robot contaba con tres cámaras de navegación, dos blanco y negro y una a colores. (NASA, 2015)

(23)

10

móvil autónomo que limpia el suelo y que actualmente se sigue vendiendo. En su primera versión, el movimiento del robot se realizaba en un patrón de espiral hasta encontrar una pared, luego su patrón cambiaba para funcionar como un seguidor de paredes. Este robot

continuaba con estos patrones hasta que el tiempo de funcionamiento terminaba.(iRobot, 2015)

Si bien es cierto tratar de resumir la historia de la robótica móvil en unas cuantas páginas no es una tarea fácil, se han mostrado algunos de los ejemplos más importantes y que han marcado un hito en este campo, ya que gracias a ellos se ha llegado a consolidar esta área de la robótica a lo que es hoy.

2.1.2. Actualidad

En el año 2004 se dio por primera vez el DARPA Grand Challenge, evento que marcó un antes y después en la historia vehículos autónomos. El evento organizado por la

Defense Advanved Research Agency de los Estados Unidos, tenía como propósito el desarrollo de tecnologías necesarias para la creación del primer vehículo terrestre

completamente autónomo, capaz de completar una trayectoria fuera de carretera en el menor tiempo posible.

El evento se llevó a cabo en el desierto de Mojave y se debía recorrer una ruta de 240 km. Sin embargo, ninguno de los vehículos logró la terminar el evento. La mayor distancia recorrida fue de 11.78 km. Por esta razón, el premio no fue entregado y el próximo año se llevó a cabo la segunda edición de este evento. (DARPA, 2014)

(24)

11

Los avances conseguidos en estas competencias demostraron la relevancia que tiene esta área de investigación de la robótica, así como una tendencia para los próximos años. Ejemplo de ello es que en el año 2009, Google inició con uno de los proyectos más

conocidos de la robótica móvil actualmente, el Google Driverless Car.

Este es en un vehículo autónomo capaz de conducir por las carreteras de las ciudades sin necesidad alguna de un conductor. Mediante el uso de sus sensores y software, puede detectar objetos como ciclistas, peatones, vehículos y más, y está diseñado para manejar de forma segura alrededor de ellos.

Para su funcionamiento, el vehículo está equipado con cámaras, sensores láser y radares que detectan objetos en todas las direcciones. Toda esta información es procesada por una computadora que está diseñada específicamente para el manejo autónomo.

Para lograr el manejo por sí solo, el primer paso que realiza el robot es preguntarse dónde está. Para ello, procesa tanto la información de los sensores como la de los mapas para obtener su posición en el espacio. El automóvil es capaz de saber en qué calle se encuentra así como el carril en el que va. El siguiente paso es detectar los objetos que se encuentran a su alrededor. Una vez detectados, el software los clasifica de acuerdo a tamaño, forma y patrón de movimiento.

(25)

12

Figura 4. Nuevo prototi po del Google Driverless Car. Recuperado de: (Inman, 2015)

El éxito de estos vehículos ha sido tanto que en varias ciudades de los Estados Unidos ya se ha aprobado su uso en carreteras. En muchos estados ya están trabajando en una legislación para que puedan comenzar a funcionar y hasta el momento únicamente en dos estados se ha mostrado oposición a su funcionamiento.(Weber, 2014)

A nivel de Brasil, en el Laboratório de Robótica Móvel de la USP, se han desarrollado dos proyectos que han llamado mucho la atención del público y han demostrado los avances que se están logrando en esta área.

El primero de ellos es el proyecto CaRINA 2 (Carro Robótico Inteligente para Navegação Autônoma), el cual consiste en vehículo autónomo inteligente capaz de navegar en ambientes urbanos sin la necesidad de un conductor humano. CaRINA 2, es un vehículo marca Fiat Palio Adventure, al cual se le realizaron modificaciones mecánicas y eléctricas para su correcto funcionamiento. Los objetivos de este proyecto están enfocados en la disminución del número de accidentes en las carreteras y el aumento de la eficiencia del tránsito. También se pretende desarrollar un sistema de ayuda al conductor, por medio del cual se le notificaría de situaciones de riesgo durante la conducción.

Para su funcionamiento, el vehículo cuenta con los siguientes sensores: LIDAR (Light Detection and Ranging), cámara estéreo, GPS (Global Positioning System), IMU (Inertial Measurement Unit). Otros tipos de cámaras y radares se encuentran en pruebas para posteriormente agregarlos al sistema de sensores existentes.

(26)

13

Figura 5. Proyecto CaRINA 2. Recuperado de: (Laboratório de Robótica M óvel, 2015)

El éxito de este proyecto fue tanto que posteriormente se trabajó en conjunto con la empresa Scania, para que el LRM desarrollara el primer camión autónomo de América Latina. Al igual que en el proyecto CaRINA, al camión se le realizaron modificaciones mecánicas y eléctricas para que pudiera ser totalmente controlado por computadora. Se utilizó un GPS de alta precisión para la localización y planeamiento de trayectoria. La detección de obstáculos fue realizada a través de los datos obtenidos por un radar y una cámara estéreo. El software de control, desarrollado en el LRM, es ejecutado por un computador empotrado en el vehículo. (Laboratório de Robótica Móvel, 2015)

Esta tendencia muestra que la tecnología de la navegación autónoma y robots móviles está teniendo una gran influencia en la vida de las personas. Muestra que es un campo en el que innegablemente se tiene que trabajar cada día más.

2.2.

Sensores importantes en robots móviles

(27)

14

Según la Instrument Society of America, un sensor puede definirse como un dispositivo que brinda una salida útil en respuesta a una medición específica. La salida es definida como una “cantidad eléctrica”, la cual representa la medición de una “cantidad física, propiedad o condición”.

Esta definición puede generalizarse al extender el término de “cantidad eléctrica” a cualquier tipo de señal como mecánica y óptica, y al extender “cantidad física, propiedad o condición” a aquellas de naturaleza química y biológica, entre otros. (Patranabis, 2003)

Los sensores tienen un sinfin de aplicaciones. En la robótica móvil generalmente lo que se busca es obtener información de la ubicación en el espacio y cómo eso puede ayudar a tomar acciones para moverse de forma inteligente. Algunos de los principales sensores que se utilizan para llevar a cabo estas tareas se describen en las siguientes secciones.

2.2.1. Sensores 3D

Este tipo de sensores permite medir la profundidad o distancia a un objeto al iluminarlo con rayos de luz o patrones específicos que son emitidos por láser u otro tipo de fuente de iluminación. Posteriormente, los rayos o patrones dispersos sobre él se miden por medio de receptores. (Horaud, 2014)

En su mayoría, los sensores 3D generan “point clouds” o nubes de puntos. Un

point cloud” es una estructura de datos que permite representar colecciones de puntos

multidimensionales, los cuales se usan generalmente para representar información en tres dimensiones. La mayoría de las veces, los puntos de un “point cloud” 3D representan las

coordenadas geométricas X, Y, Z de una superficie generada. Cuando se cuenta con la información de color de cada uno de esos puntos, se habla de un “point cloud” 4D.

(28)

15

Figura 6. Ejemplo de “point cloud” generado por un sensor Kinect. Recuperado de: (Gnecco, 2012)

2.2.1.1. Kinect

Al hablar acerca de este sensor, muchas personas pensarían que es solo una herramienta de juego para la consola de Xbox. Sin embargo, el Kinect es mucho más que eso. Se han desarrollado drivers, así como programas especializados que permiten recolectar los datos de este sensor, lo que ha permitido su adopción en la robótica.

Por medio de esos drivers, se obtienen los datos de las cámaras RGB e infrarrojas con las que cuenta el dispositivo. Para el cálculo de la profundidad de una imagen, el Kinect cuenta con un emisor de patrón cuadriculado NIR (Near Infrared). Posteriormente, este patrón es capturado por un sensor NIR que procesa la luz estructurada y así obtiene la profundidad de cada pixel. Por medio de una cámara normal se obtiene una imagen RGB.

(Sociedade Brasilera de Computação, 2015)

El uso del Kinect tiene algunas limitaciones:

 El valor de profundidad de un píxel determinado tiene un margen de error: esto se

(29)

16

 Uso preferiblemente en ambientes internos: debido a que el sol emite luz infrarroja,

los sensores de profundidad del Kinect pueden ver su funcionamiento afectado por interferencia de los rayos solares. (Salvatore, Osio, & Morales, 2014)

Estas son consideraciones de suma importancia que se deben tener en cuenta al trabajar con un sensor de este tipo.

2.2.1.2. Cámaras estéreo

Este tipo de cámaras permite obtener la profundidad del ambiente al utilizar algoritmos que procesan las imágenes provenientes de dos cámaras desfasadas. La relación existente entre el mismo punto visto de diferentes posiciones permite calcular la profundidad de los elementos del ambiente. (Sociedade Brasilera de Computação, 2015)

2.2.1.3. LIDAR

Los sensores LIDAR son aquellos que utilizan métodos de medición remota, donde

se usa la luz en forma de un láser pulsante para medir distancias. Estos sistemas consisten principalmente de un láser, un escáner y un GPS especializado, sobre todo cuando se

utilizan en aeronaves. (National Oceanic and Atmospheric Administration, 2015)

(30)

17

Figura 7. Sensores tipo LiDAR marca Velodyne. Recuperado de: (Higgins, 2015)

2.2.2. GPS

El Global Positioning System es una utilidad que permite saber a sus usuarios su ubicación en el globo, por medio de un sistema de veinticuatro satélites funcionales que orbitan el planeta y que continuamente transmiten información acerca de su ubicación.

Por medio de este sistema, el receptor de GPS puede calcular su ubicación al leer la información de los diferentes tiempos de llegada de la señal, con respecto a la distancia relativa a dos o más satélites. Gracias a esto, el receptor puede inferir su ubicación por medio de una triangulación.

(31)

18

2.2.3. IMU

El Inertial Measurement Unit es un dispositivo electrónico que recopila información de la velocidad angular y la aceleración lineal para ser enviada a un procesador principal. El IMU en realidad contiene dos sensores separados. El primero es un acelerómetro en tres

dimensiones. Este genera tres señales analógicas describiendo la aceleración que es producida en cada uno de los ejes. Generalmente, la aceleración más significativa medida

por este sensor es la gravedad, debido a las limitaciones físicas del sistema.

El segundo sensor es el que mide el cambio angular en tres dimensiones. Este sensor tiene a su salida tres señales analógicas que describen el cambio angular en cada uno de los ejes del sensor. (University of Maryland, 2004)

(32)

19

2.3.

Métodos de navegación en vehículos móviles

2.3.1. Braitenberg

Como se mencionó anteriormente, en el año 1984 Braitenberg expuso, en su libro

Vehicles, vehículos que navegaban de forma autónoma gracias al accionamiento de actuadores de forma proporcional a las mediciones realizadas por sensores.

El comportamiento de estos robots es reactivo; es decir, reaccionan en función de un estímulo, por lo que si este desaparece, la reacción también. Los comportamientos descritos por Braitenberg se pueden ejemplificar por medio de los siguientes vehículos:

 Vehículo 1: este vehículo cuenta con un motor (actuador) y un sensor únicamente,

por lo que la fuerza del motor es proporcional a las mediciones del sensor. Por ejemplo, si se cuenta con un sensor de temperatura, el robot se desplazará con mayor velocidad en zonas calientes y con menor velocidad en zonas frías, y se detendrá en zonas donde la temperatura es cero.

 Vehículo 2a: este vehículo cuenta con dos sensores a cada lado y dos motores, uno

izquierdo y otro derecho. Los sensores se encuentran conectados al motor de su respectivo lado. Esta conexión provocará que si el estímulo detectado por el sensor derecho es mayor, el motor de este lado girará con más velocidad haciendo que el robot se desplace a la izquierda. Debido a esto, el comportamiento de este robot es de escapar o alejarse del estímulo.

 Vehículo 2b: para este caso se tiene la misma configuración de sensores y motores que del vehículo 2a, solo que ahora los sensores se conectan a los motores de los lados opuestos. Esta nueva conexión provocará que si el estímulo detectado por el

(33)

20

Figura 9. Vehículos de Braitenberg, de izquierda a derecha: Vehículo 1, Vehículo 2a y Vehículo 2b. (Braitenberg, 1986)

Los aportes de esta teoría de Braitenberg permiten conceptualizar mejor algunas aplicaciones de navegación. Por ejemplo, si se trabaja con robots móviles que tengan

características similares de configuración de los motores y sensores, se pueden generar algoritmos para evitar obstáculos adoptando un comportamiento como el del vehículo 2a. También se podrían generar algoritmos para alcanzar una meta si se adopta un comportamiento como el del vehículo 2b. (Braitenberg, 1986)

2.3.2. Campos potenciales

Este método de navegación se basa en la idea de concebir al robot como una partícula que se ve influenciada por la fuerza de campos artificiales de atracción y repulsión. El espacio por el que se desplaza la partícula es el resultado de la suma de un campo potencial de atracción, el cual posee una fuerza que jala la partícula hacia el destino o meta, y de un campo de repulsión, que contiene fuerzas que la alejan de los obstáculos.

Si se define el campo de atracción como:

(34)

21

Donde atr(q) es el campo potencial de atracción de la meta que actúa sobre la

partícula, la constante es un factor de escala positivo que permite modificar el alcance del

campo potencial y meta(q) denota la distancia euclidiana de la posición de la partícula a la

posición meta || q - qmeta ||.

La fuerza artificial de atracción se puede obtener del gradiente del campo de

atracción descrito anteriormente, lo que da como resultado la siguiente ecuación:

⃗atr = ⃗⃗⃗ atr (2.2)

⃗atr = ( – meta (2.3)

La función atr(q) es positiva o nula, y alcanza su valor mínimo en meta, donde su

valor es cero.

Por otro lado, el campo potencial de repulsión viene dado por la siguiente fórmula:

rep(q)={ ( )

(2.4)

Donde es un factor de escala positivo que permite modificar el alcance del campo

potencial. La función es la distancia euclidiana que hay entre la partícula y el

obstáculo más cercano, – obs ||. La variable representa la distancia a partir de la cual

comienza ejercer su efecto el campo de repulsión. La fuerza de repulsión respectiva a este campo se muestra en la siguiente ecuación:

(35)

22

y la de repulsión. Con este vector de fuerza se puede tener la dirección en la que hay que desplazarse así como una velocidad proporcional al módulo de este vector.

Figura 10. En la Figura a, se muestra la configuración de un espacio bidimensional con obstáculos. En la Figura b y Figura c, se muestra el ca mpo potencial de atracción de la

meta y el de repulsión de los ob stáculos, respectivamente. En la Figura d, el campo potencial resultante. En la Figura e, el ca mino generado por los campos y en la Figura f,

el gradiente de vectores negados en el espacio . (Latombe, 1991)

Este es un método de navegación elegante. Sin embargo, no es tan eficiente en situaciones en las que pueden presentarse mínimos locales. Los mínimos locales son zonas en las que la función potencial es igual a cero pero no es el punto meta, por lo que el robot se queda atrapado en ellos sin alcanzar su objetivo. (Latombe, 1991)

(36)

23

2.3.3. Waypoints

Este método de navegación es muy popular en sistemas que cuentan con GPS. Los “waypoints” son una serie de puntos o coordenadas que definen una trayectoria de

navegación. Por ejemplo, para desplazarse de un punto inicial A hasta un punto de destino

B, se puede hacer por medio de una trayectoria directa entre estos dos puntos o se puede dividir el trayecto en trechos o etapas. De esta forma, se puede definir una ruta más

eficiente y con un movimiento más suave entre el inicio y el final.

Figura 11. Trayectoria entre los puntos A y B definida por una serie de “waypoints”. Recuperado de: (Reis, 1996)

En la imagen anterior se puede ver un ejemplo de “waypoints”, donde la trayectoria

(37)

24

2.4.

Entornos de simulación

Antes de poner en práctica la teoría, cálculos y diseños que se han realizado, siempre es bueno contar con una herramienta o alternativa que permita validar el trabajo hecho. Por esto, los simuladores son una excelente opción en estos casos, ya que se pueden corregir situaciones que no se habían contemplado así como errores que pueden suceder.

En el campo de la robótica móvil es de suma importancia contar con este tipo de recursos. Llevar a cabo la implementación de un proyecto puede ser muy cara y si se puede saber de antemano o al menos tener una idea de si realmente el trabajo realizado se apegará

a la teoría, se puede realizar una implementación más barata y eficiente. De igual forma, se pueden mejorar los algoritmos que procesan la información de los sensores y hacen actuar al robot.

Existen muchos programas para la simulación de robots, los cuales incluyen tanto robots móviles como robots de base fija, además de gran cantidad de sensores y herramientas para hacer cálculos cinemáticos y dinámicos. En las siguientes secciones se hablará un poco acerca de algunos simuladores, dándole mayor atención al simulador V-REP, ya que en este programa se llevó a cabo la simulación del proyecto.

2.4.1. ROS

ROS (Robot Operation System) es una colección de herramientas, librerías y convenciones que sirven para simplificar la escritura de software para robots. Su propósito es simplificar la tarea de crear los complejos y robustos comportamientos de un robot, siendo aplicable en distintas plataformas robóticas.

(38)

25

2.4.2. Webots

Este simulador permite modelar, programar y simular robots móviles. Con este programa, el usuario puede diseñar complejas configuraciones robóticas, ya sea con uno o más robots similares o diferentes, en un ambiente compartido. Hasta el momento, Webots

es utilizado en más de 1 200 centros de investigación y universidades.

El control del robot puede programarse directamente desde el ambiente de desarrollo integrado que posee o también pueden usarse otros ambientes de desarrollo

compatibles con Webots. Los programas de control tienen la opción de que pueden transferirse a robots comerciales disponibles.

Este simulador no es de código libre, por lo que se tiene que comprar la licencia ya sea para uso comercial o educacional. Algunos modelos de robots móviles también se pueden comprar en caso de que sea necesario. (Cyberbotics, 2015)

2.4.3. Player/Stage/Gazebo

Player es un proyecto de código libre, donde su servidor probablemente es una de las interfaces para control de robots más usadas alrededor del mundo. Esta plataforma junto con sus ´backends´ Stage y Gazebo son ampliamente usados en la investigación de robots y sistemas de sensores. Player es desarrollado por un equipo internacional de investigadores en robótica y es usado en laboratorios en todo el globo.

Player brinda una interfaz en línea con variedad de robots y sensores. Su modelo permite escribir los programas de control del robot en cualquier lenguaje y posteriormente correrlos en cualquier computador que posea conexión en línea con el robot.

(39)

26

Gazebo es un simulador robótico 3D. Al igual que con Stage, con este programa se pueden simular poblaciones de robots, sensores, objetos, así como interacciones entre ellos, ya que incluye simulaciones de física de cuerpos rígidos. Aparte de dos interfaces nativas

con las que cuenta, también tiene una interfaz de Player. (Player, 2014)

Figura 12. Entorno de simulación de Gazebo. Recuperado de: (Player, 2014)

2.4.4. V-REP

El simulador V-REP cuenta con un ambiente de desarrollo integrado. Este ambiente está basado en un control distribuido de arquitectura: cada objeto o modelo puede ser controlado individualmente por medio de un script o código propio, un plugin de ROS, un cliente remoto API, o una solución propia. Los controles pueden ser escritos en lenguajes

como C/C++, Python, Java, Lua, Matlab, Octave o Urbi.

(40)

27

Este simulador cuenta con una versión educacional que es de licencia gratuita. Sin embargo, también hay una versión pro que requiere una licencia comercial. En ambas versiones se cuenta con las siguientes características:

 Motores para cálculos físicos y dinámicos como Bullet, ODE, Vortex y Newton. Los cuales permiten simular condiciones físicas del mundo real así como la interacción entre objetos.

 Herramientas de cálculos de cinemática inversa y directa para cualquier tipo

de mecanismo (Con extremidades, cerrado, redundante, entre otros).  Detección de colisiones.

 Simulación de diversos sensores de proximidad y visión, así como

herramientas para personalizarlos.

 Registro de información y visualización, interfaces de usuario

personalizables, fácil importación y exportación de modelos, entre muchas otras funciones. (Coppelia Robotics, 2015)

(41)

28

2.5. Consideraciones finales

En el capítulo anterior se presentaron aspectos importantes de la teoría de la robótica móvil. Se dio a conocer un poco acerca de la historia de esta área, los avances que se han realizado, así como los proyectos que se están desarrollando actualmente, con el fin de demostrar las tendencias hacia las que se dirige está área de la robótica.

Se describieron tecnologías que permiten facilitar la tarea de un robot móvil para desplazarse en el ambiente y tener una noción de él. También, se dio una introducción a distintas técnicas de navegación que son de gran utilidad para llevar a cabo este proyecto.

Por último, se mostraron distintos ambientes de programación en los cuales se puede simular la aplicación que se desea implementar, así como las distintas funcionalidades que tienen. Toda la información brindada en este capítulo, pretende facilitar al lector la comprensión de la solución implementada en este proyecto.

(42)

29

Capítulo 3: Generalidades del proyecto

En este capítulo se da una descripción más detallada del diseño de ingeniería, para definir los aspectos necesarios para solucionar el problema planteado. En cada sección se brinda al lector la información necesaria para que pueda entrar en contexto con el proceso de desarrollo del proyecto, así como las razones por las cuáles se seleccionó un determinado elemento o técnica como la mejor solución a un requerimiento.

3.1.

Entorno del proyecto

Desde hace muchos años la Universidad de São Paulo ha destacado por la investigación y el desarrollo de proyectos, teniendo un gran impacto en áreas como la ciencia y la tecnología. Específicamente, el Laboratorio de Robótica Móvel de esta universidad en la sede São Carlos, está trabajando en el área de navegación autónoma e inteligente de vehículos y robots móviles. Para ello, se implementan sensores de muy alta tecnología, como sensores láser para monitoreo 3D de superficies, sensores de proximidad y ultrasónicos; así como sistemas de visión y algoritmos computacionales, en vehículos o robots ya existentes para que logren esa autonomía e inteligencia que antes no poseían.

Los propósitos de estos proyectos son varios, desde conducción autónoma en ambientes urbanos hasta aplicaciones en industria, agricultura y comercio. Uno de los proyectos más recocidos de este laboratorio es CaRINA, el cual es un automóvil al que se le han implementado sensores, así como modificaciones mecánicas y electrónicas para que maneje de forma autónoma sin ayuda alguna por las calles de São Carlos.

El proyecto desarrollado a continuación tiene como propósito utilizar sensores de

tecnología 3D con el fin de detectar obstáculos y así poder navegar autónomamente evitando colisiones y llegar a un punto específico. La información o “point clouds

(43)

30

3.2.

Descripción del problema

3.2.1. Generalidades

La navegación autónoma de vehículos así como el mapeo de zonas tiene un sinfín de aplicaciones. Una de gran peso e importancia es en zonas de riesgo o peligrosas, así como en las que han ocurrido desastres naturales. En estas situaciones, es muy peligroso enviar a una persona a realizar algún trabajo, ya que puede resultar herida o en el peor de los casos perder la vida. Por esta razón, un vehículo o robot autónomo que pueda llevar a cabo este trabajo es una excelente solución.

Por otro lado, este tipo de vehículos tiene aplicaciones muy importantes a nivel

comercial e industrial. Por ejemplo, a nivel industrial, un vehículo capaz de llegar a una coordenada específica, con la capacidad de evitar obstáculos y evitar colisiones con objetos o personas, sería de gran provecho ya que se pueden mejorar los procesos productivos y la eficiencia de las fábricas. De igual forma, contribuiría con la seguridad de los trabajadores en caso de que se tengan que transportar materiales que representen un riesgo para la salud o la integridad física.

En el sector comercial, se pueden realizar aplicaciones para facilitar la vida cotidiana, donde un robot autónomo con las características descritas anteriormente, sea capaz de seguir a una persona con el fin de cargarle sus pertenencias. Por ejemplo, en un aeropuerto, se podrían usar como un servicio de transporte de maletas para los viajeros, en supermercados para hacer las compras y así con un sinfín de aplicaciones en distintas áreas. Se podría usar también para llevar las pertenencias de personas adultas mayores o de personas con alguna discapacidad y con esto evitar que sufran alguna lesión.

Con este proyecto, se tendrá una aplicación capaz de navegar autónomamente por distintos ambientes, evitando obstáculos de forma reactiva y con la que se podrá alcanzar la coordenada de un objetivo específico

(44)

31

3.2.2. Síntesis del problema

El problema consiste en implementar una aplicación por medio de sensores 3D para que un robot móvil o vehículo sea capaz de desplazarse autónomamente, evitando obstáculos, y sea capaz de llegar a una coordenada específica y con ello evitar problemas en

la integridad física de las personas que requieran transportar materiales u otros objetos.

3.3.

Enfoque de la solución

Para la solución del proyecto, la navegación se hizo con base en sensores 3D. Estos sensores generan “point clouds”, los cuales, al ser procesados por diferentes algoritmos

computacionales, permiten realizar un mapeo del lugar en el que se encuentran. Primero, se

debió simular el funcionamiento de este sensor junto con el robot en un programa llamado V-REP, el cual es especial para aplicaciones de robótica móvil.

(45)

32

3.4.

Metodología de trabajo

3.4.1.

Requerimientos

Para tener un mejor planeamiento del desarrollo del proyecto se definen los siguientes requerimientos:

1. La aplicación debe ser diseñada para un robot móvil con movimiento por medio de

ruedas.

2. El sistema debe ser capaz de llegar a un punto específico determinado por el usuario.

3. El sistema debe usar un sensor de tecnología 3D como base para su navegación. 4. Conforme el robot se desplaza, este deberá ser capaz de detectar obstáculos.

5. Una vez detectado el obstáculo, el robot deberá ser capaz de evitar colisiones con él. 6. La aplicación debe tener la capacidad de reconocer la ubicación del robot en el

ambiente.

7. La aplicación debe tener la capacidad de reconocer la orientación del vehículo conforme se mueve.

8. La aplicación debe poder seguir una trayectoria definida por el usuario. 9. La aplicación debe accionar el movimiento del vehículo de forma autónoma.

(46)

33

3.4.2. Tabla morfológica de requerimientos y análisis de opciones

Tabla 1. Tabla morfológica para las posibles soluciones a cada requerimiento del sistema. Elaborado por el autor.

8

Waypoints Seguidor de línea Mapa precargado

9

Computador

Para mejorar el proceso de diseño de la aplicación, se elaboró la tabla morfológica mostrada, en relación a los requerimientos planteados en la sección anterior. Para cada uno de ellos, se enunciaron posibles alternativas con las cuales se podría desarrollar una

(47)

34

Para el primer requerimiento se presentan varias opciones de robots móviles con movimiento por medio de ruedas. La primera alternativa propuesta es el robot diferencial. Este tipo de robot es aquel que cuenta con dos ruedas accionadas por motores

independientes y una tercera rueda que sirve de apoyo (en algunos casos pueden ser de cuatro ruedas). La diferencia de velocidad en las ruedas del robot permite que este gire en una dirección específica o que continúe en línea recta si se mantiene la misma velocidad en ambas.

La ventaja de este tipo de robot es que posee la cinemática más sencilla de los que se mueven por medio de ruedas. Esta característica permite que sea más fácil controlar el robot. Por otro lado en el LRM se cuenta con un robot de este tipo por lo que la aplicación también debe ir en función de los elementos con los que cuenta en el laboratorio.

La segunda opción es utilizar un robot tipo triciclo. Para este tipo de robot se cuenta con dos ruedas que brindan la tracción y una tercera que brinda el sentido de dirección en el que se debe mover el robot. El modelo cinemático de este robot es más complejo que el del robot anterior aunque su uso es muy común.

El robot omnidireccional presenta la ventaja de que puede moverse en cualquier dirección sin la necesidad de reorientarse. La desventaja de este sistema es la sincronización que se debe poseer entre las ruedas para un correcto desplazamiento del robot. Esto hace que el modelo cinemático sea más complejo y por ello también su control.

Al analizar las opciones que se tienen respecto al primer requerimiento, se determina que lo mejor es hacer la aplicación para un robot de tracción diferencial. Esto debido a que se cuenta con robot de este tipo en el LRM y se desarrollaría una aplicación

para uno de los recursos con los que cuenta el laboratorio. Por otro lado, se presenta la ventaja de que el modelo cinemático de este sistema es el más simple de todas las opciones, por ello es que se tomó esta decisión.

(48)

35

También presenta la ventaja de que, en caso de ser necesario, la técnica de recepción de datos es muy similar a otras técnicas cómo triangulación por señal de red celular o de wifi. Por esto, en caso de ser necesarias modificaciones para funcionamiento en otros ambientes,

no se requerirían muchos cambios. La desventaja de este método es que el GPS presenta un error importante asociado a la señal, por lo que si no se combina con otros métodos puede afectar la precisión de la lectura de los datos.

La segunda opción es utilizar un seguidor de señal. Esto es un sistema que modifique su comportamiento conforme detecta una señal con mayor intensidad, como el caso de un seguidor de luz, una señal de radiofrecuencia, una señal infrarroja, entre otros. Sería un comportamiento seguidor de estímulo como el del vehículo 2b de Braitenberg (Braitenberg, 1986). La desventaja de este sistema es que no es un método muy preciso y se dependería del alcance de la señal, además de que se deberían colocar distintos emisores.

Sin embargo, puede ser una opción muy barata de implementar.

Por último, se presenta la opción de ser controlado de forma remota. Como existe otro requerimiento de que el vehículo debe accionarse de forma autónoma y debido a la naturaleza del proyecto, esta opción queda descartada.

Analizando las dos opciones restantes, se puede ver que el que presenta más facilidad de uso es el GPS, ya que es un sistema muy generalizado. Aunque el seguidor de señal puede ser una opción más barata, en el laboratorio ya se cuenta con un receptor de GPS y por otro lado esta es la opción que se tiene para este tipo de función en el simulador. Por esta razón, se selecciona el GPS como el método para llegar a un punto específico, siempre teniendo en cuenta que su error asociado puede modificar el comportamiento del sistema.

Para el tercer requerimiento, se debe escoger un tipo de sensor 3D para trabajar la navegación. El primero que se presenta es el LIDAR. Como se habían mencionado anteriormente, este sistema funciona por medio de un láser pulsante. Este sistema es muy preciso y tiene un largo alcance. Sin embargo, su precio es muy elevado. Por ejemplo, un

(49)

36

El Kinect es otra alternativa para este requerimiento. Aunque no es tan preciso ni tiene un alcance tan amplio como el sensor anterior, este sensor cuenta con una amplia documentación y acceso a su método de funcionamiento. Su alcance máximo es de 3.3

metros, por lo que brinda la posibilidad de detectar obstáculos dentro de un rango en el que se puede maniobrar con facilidad. Por otro lado, este sensor es mucho más barato, su

De las tres opciones, se podría decir que la que presenta el mejor costo-beneficio es el Kinect, debido a su precio y versatilidad. Por otro lado, para esta aplicación no se requiere un grado de exactitud tan elevado como para usar alguno de los otros sensores mencionados. Por lo tanto, se escoge el Kinect como el sensor de tecnología 3D.

El cuarto requerimiento hace referencia a la detección de obstáculos. Para ello, existen varias opciones de uso de sensor, y se debe definir el tipo de tecnología que se utilizará. Si se trabaja con sensores capacitivos y ultrasónicos se requerirían varios sensores ya que sus mediciones son muy puntuales y no abarcan ángulos y distancias muy grandes. Por otro lado, al tener una mayor configuración de sensores el sistema se torna más complejo.

El sensor láser y el Kinect presentan la ventaja de que pueden abarcar un mayor ángulo de medición, así como mayores profundidades. Sin embargo, este requerimiento se encuentra sumamente ligado al anterior, por lo que se puede tener una aplicación más simplificada y eficiente al utilizar un único sensor que pueda cumplir con dos requerimientos. Por ello se define el Kinect como la solución adecuada.

(50)

37

por medio de esta técnica de programación se pueden reconocer patrones así como elementos que el usuario puede definir cómo obstáculos. Esta sería una buena técnica, aunque el nivel de complejidad que posee es muy elevado y existen otros métodos que

pueden presentar resultados igualmente buenos, por lo que se descarta esta opción.

La segunda opción es utilizar la teoría de campos potenciales. Como se había explicado en el capítulo anterior, esta técnica permite modelar al robot como una partícula que se ve afectada por campos de fuerzas imaginarios y con ello determinar el camino que debe tomar el robot. Aunque no es un método sencillo y pueden existir técnicas similares, esta opción destaca ya que permite al usuario determinar la trayectoria a seguir de forma reactiva, es decir, con mediciones de sensores como GPS y Kinect. La principal desventaja de esta teoría es que presenta mínimos locales, o puntos donde la suma de las fuerzan que actúan sobre el robot son cero pero en realidad no es el punto meta. Si este método se combina con diferentes técnicas, se puede reducir considerablemente este efecto.

Por último, se encuentra la opción de establecer una respuesta directa en función de la distancia a la que se encuentra de los obstáculos. Por ejemplo, se puede definir una función lineal que dentro de un rango de distancias modifique la velocidad de las ruedas para que gire en una dirección o gire sobre su propio eje. Este es un método sencillo. Sin embargo, se requiere conocer la cinemática del vehículo en el que se trabajará para obtener una respuesta adecuada.

Las dos últimas opciones brindan buenas soluciones para evitar obstáculos. Los campos potenciales son una solución más elegante y la respuesta directa es un método más

sencillo. Estas dos opciones se pueden combinar para obtener un algoritmo más completo para evitar obstáculos y lograr una navegación más precisa y eficiente.

(51)

38

El requerimiento número seis está muy relacionado con el requerimiento número dos, ya que para ello se pueden utilizar los mismos sensores. Las tres opciones presentadas tienen un funcionamiento similar, donde la ubicación es determinada por medio de la

triangulación de distintas señales. El principal aspecto a considerar es el ambiente en el que se utilizará la aplicación. Por ejemplo, el GPS funciona muy bien para aplicaciones al aire libre, el wifi y la red celular funcionan mejor que el GPS para ambientes internos.

(52)

39

Al analizar las tres opciones, se puede ver que la más versátil y de fácil acceso es el IMU. Por ello, se selecciona para llevar a cabo la aplicación, ya que con un solo dispositivo se pueden medir tanto la orientación como la velocidad angular. Por otro lado, al contar con

un microprocesador, el acceso a su información es más sencillo.

Para seguir una trayectoria se debe tener en cuenta los requerimientos anteriores, ya que dependiendo de los sensores con los que se cuenta, la implementación puede ser más compleja según el método. Por ejemplo, con la técnica del seguidor de línea no se cuenta con el sensor más adecuado para detectarla, ya que por medio del Kinect se requiere un mayor procesamiento computacional para hacerlo. Además se requerirían hacer modificaciones físicas al ambiente para llevarlo a cabo.

El mapa precargado con una ruta permitiría definir fácilmente el camino que debe seguir el robot. La desventaja de este método es que se requiere conocer muy bien el ambiente en el que se trabaja o tener un mapa de él y por otro lado también se limita la libertad que tiene el robot para desplazarse.

Utilizar “waypoints” sería una buena opción ya que en conjunto con el método de

campos potenciales, se podría definir la trayectoria que se quiere que siga el robot y a la vez se minimizaría el problema de los mínimos locales. La combinación de estos dos métodos es una excelente simbiosis de las herramientas con las que se puede trabajar, ya que se satisface un requerimiento y se reduce la desventaja de una técnica seleccionada anteriormente (mínimos locales). Por esta razón, se decide utilizar la técnica de “waypoints”.

El requerimiento número nueve hace referencia al movimiento del vehículo de

forma autónoma. Para ello se presenta la opción de utilizar un computador portátil o utilizar un microcontrolador. El microcontrolador tiene la ventaja de que su tamaño es menor que el del computador portátil, haciéndolo más fácil de acoplar a un robot. También permite ser programado para una única tarea específica, lo que lo puede hacer más eficiente en el control.

Figure

Figura 1. Robot  móvil al  lado izquierdo y robot estacionario al lado derecho.
Figura 2.  Pri mer modelo del M achina Speculatrix de Walter Grey.  Recuperado de:
Figura 3. Robot Dante II durante una  misión de exploración en un cráter volcánico.
Figura 6.  Ejemplo de “point cloud” generado por un sensor Kinect. Recuperado de:
+7

Referencias

Documento similar

De entre las opciones mostradas anteriormente para la realización de este proyecto se optó por una basada en triangulación por distancias absolutas, donde un

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2012 representan en todos los aspectos

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo 168

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

- El primer fichero (“index.php”) es consultado por la aplicación móvil cuando el usuario presiona sobre “Comenzar” de la aplicación, en ese momento, el script se encarga

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan