• No se han encontrado resultados

Determinación y localización espacial de objetos geométricos simples para la manipulación por un robot móvi autónomol

N/A
N/A
Protected

Academic year: 2020

Share "Determinación y localización espacial de objetos geométricos simples para la manipulación por un robot móvi autónomol"

Copied!
83
0
0

Texto completo

(1)

UNIVERSIDAD VERACRUZANA

DETERMINACIÓN Y LOCALIZACIÓN ESPACIAL DE

OBJETOS GEOMÉTRICOS SIMPLES PARA LA

MANIPULACIÓN POR UN ROBOT MÓVIL

AUTÓNOMO

T E S I S

QUE PARA OBTENER EL GRADO DE:

MAESTRO EN INTELIGENCIA ARTIFICIAL

PRESENTA:

I.I.E. SERGIO HERNÁNDEZ MÉNDEZ

[Seleccionar fecha]

DIRECTOR DE TESIS:

DR. ANTONIO MARÍN HERNÁNDEZ

REVISORES:

M.C. ANGÉLICA GARCÍA VEGA

DR. IGNACIO HERRERA AGUILAR

FACULTAD DE FÍSICA E INTELIGENCIA ARTIFICIAL

DEPARTAMENTO DE INTELIGENCIA ARTIFICIAL

(2)

2

Agradecimientos

A Dios por ser la luz que me ilumina y me guía todos los días de mi vida.

Mi familia, tías, hermanas, mama, mi prima Angélica a todas ellas por su amor y apoyo que siempre están conmigo en las buenas y en las malas. Gracias por motivarme a concluir una etapa más en mi vida profesional.

Al Dr. Antonio Marín un agradecimiento especial por toda la paciencia y disposición que tuvo conmigo durante la realización de este trabajo. Gracias por su amistad.

Agradezco a mis revisores de tesis, la Mtra. en C. Angélica García Vega, y al Dr. Ignacio Herrera por sus comentarios para mejorar este trabajo, así como al Dr. Luis Marín por su valiosa aportación en la realización de esta tesis.

Mis amigos de la generación 2008-2010, Candy, Ariadna, Omar, Mauricio, Rubén, Carlos, Roberto, Morgado, Rechy, con quienes compartí momentos inolvidables dentro y fuera de la escuela.

Doy las gracias al personal administrativo de la MIA, en especial a Irma, Alma, Amalia, por su amistad y aprecio recibido en el transcurso de la maestría.

(3)

3 Contenido

Capítulo I ... 5

Introducción ... 5

1.1 Robots industriales ... 6

1.2 Robots móviles ... 8

1.3 Robots de servicio ... 9

1.4 Manipulación ... 12

1.5 Definición del problema ... 14

1.5.1 Objetivo general ... 15

1.5.2 Objetivos específicos ... 15

1.6 Alcances y limitaciones ... 16

Capítulo II ... 18

Los Robots de servicio y la manipulación: Estado del arte ... 18

2.1 Percepción ... 18

2.2 Planificación de movimientos... 22

2.3 Acción ... 25

2.4 Control visual ... 27

Capítulo III ... 30

Localización de objetos en el espacio de trabajo ... 30

3.1 Revisión de trabajos relacionados ... 32

3.2 Visión estéreo ... 36

3.3 Ajuste del plano con mínimos cuadrados... 38

3.4 Crecimiento de regiones ... 41

Capítulo IV ... 47

Cinemática Inversa y planificación de trayectorias ... 47

4.1 Planificación de trayectorias ... 47

4.2.1 Planificación con mapas de caminos (RoadMaps) ... 49

4.2 Cinemática inversa ... 51

Capitulo V ... 54

Implementación y resultados ... 54

5.1 Problemática de la propuesta inicial ... 54

5.2 Descripción de solución alternativa ... 64

5.2.1 Integración de los módulos con el brazo cyton ... 70

Capitulo VI ... 73

Conclusiones ... 73

6.1 Trabajo futuro... 75

(4)

4

Resumen

Un factor clave para el éxito en las tareas de los robots de servicio, es la capacidad de poder manipular objetos de forma autónoma, particularmente existe un gran interés en lograr que estos robots realicen tareas domésticas, lugares que son considerados entornos semi -estructurados. Para que un robot pueda realizar tareas de manipulación se requieren a grosso modo tres componentes: a) percepción, detección y ubicación de los objetos a manipular, b) planificación, calcular la secuencia de movimientos para acercarse a estos, y c) acción, control de movimiento para realizar la secuencia y ajuste de posición para tomar los objetos. En el presente trabajo se aborda el problema de manipulación de objetos por robots móviles autónomos, principalmente desde la parte de percepción. El objetivo principal es poder ubicar y localizar ciertos objetos para posteriormente poder manipularlos. Para lograr esto, se emplea la información 3D proveniente de una cámara estéreo (conjunto de puntos en el espacio) para determinar el plano dominante, el cual corresponde a la superficie donde están colocados los objetos, en nuestro caso una mesa. Una vez obtenido el plano dominante se proyectan los puntos 3D de los objetos en dicho plano y en seguida se calcula su centroide. Con este proceso obtenemos las coordenadas espaciales de los objetos con respecto a nuestro robot y entonces se podrá mover el brazo hacia estos. Adicionalmente, en este trabajo se solucionaron parcialmente las partes de planificación y acción. Para ello se empleo: a) por una parte un planificador de trayectorias, el cual dada una posición y orientación de inicio y una posición y orientación final de la pinza del brazo, genera la secuencia de posiciones para llegar al objetivo y b) por otra parte se realizó la parte de control de movimientos, a partir de la cinemática inversa.

(5)

5

Capítulo I

Introducción

Los robots en nuestros días están tomando una aceptación cada vez más importante, y se puede apreciar cada vez más su incursión en la vida de las personas. Este aumento, se debe principalmente a los avances por un lado, del hardware (sensores, dispositivos, motores, etc.) y por otro lado del software (visón por computador, minería de datos, etc.) los cuales han permitido que estas máquinas puedan desarrollar sus tareas de una manera cada vez más eficiente y en algunas veces en convivencia con los humanos. Claramente se puede apreciar que la robótica es un área multidisciplinaria en la que se conjunta la electrónica, mecánica, informática, teoría de control, entre otras.

Esta disciplina es considerada aun relativamente joven. El termino robot apareció por primera vez en 1921, en la obra teatral R.U.R (Rossum’s Universal Robots), del novelista y autor dramático Karel Capek en cuyo idioma, el checo, la palabra “robota” significa fuerza de trabajo o servidumbre. El concepto de Robótica aparece inicialmente en las novelas de ciencia-ficción de Isaac Asimov (1942), además de que, es en estas en donde se establecen las tres leyes fundamentales de la robótica. Asimov presenta a los robots como unos mecanismos tales que obedecen siempre las órdenes de las personas, pero al mismo tiempo cuentan un alto grado de autonomía, sin quebrantar las leyes mencionadas.

(6)

6 1.1 Robots industriales

“Máquina o ingenio electrónico programable, capaz de manipular objetos y realizar operaciones antes reservadas solo a las personas”.

Hay una variedad de definiciones para el término robot y esto se debe a las distintas disciplinas afines que origina este concepto por lo que es un poco complicado acotar y dar una definición que abarque todo el conjunto de sistemas que son entendidos en la actualidad para un robot.

De una manera muy general y para nuestros propósitos podemos clasificar a los robots en: a) robots industriales y b) robot móviles. A continuación se explica esta clasificación así como algunas definiciones referentes a ello.

1.1 Robots industriales

Según la Robots Industries Association (RIA) define un robot industrial de la siguiente manera:

“Un robot industrial es un manipulador multifuncional reprogramable, capaz

de mover materias, piezas, herramientas, o dispositivos especiales, según

trayectorias variables, programadas para realizar tareas diversas”.

Un robot manipulador típicamente es un dispositivo robótico que consiste de un conjunto de eslabones (links) rígidos conectados entre sí por un conjunto de articulaciones (joints). Un eslabón el cual es fijo, es llamado base, mientras que otro eslabón que es usado para interactuar con el ambiente es llamado pinza o efector

final. Cuando los eslabones y las articulaciones están conectadas en forma serial

desde la base al efector final, es llamado manipulador serial o manipulador de

(7)

7 1.1 Robots industriales

La mayor parte de los robots manipuladores tienen cierta similitud con la anatomía del brazo humano, por lo que en ocasiones, para hacer referencia de las distintas partes que componen el robot, se usan términos como hombro, codo y muñeca. En un manipulador son necesarios tres grados de libertad para posicionar un objeto en el espacio tridimensional y otros tres grados de libertad para orientarlo (x, y, z, α,β,γ).

Los robots de uso industrial se suelen caracterizar por sus grandes dimensiones y por que permanecen siempre sujetos a una base. A estos robots industriales se les acoplan distintos tipos de herramientas como pueden ser pinzas neumáticas de alta presión, cañón láser, atornillador, fresa lija, pistola de pintura,

según la tarea a ejecutar y son controlados comúnmente por un sistema de una computadora (figura 1.1 b).

(a) (b)

Figura 1.1. a)cadena cinemática abierta b) Robot industrial IRB6600

El gran incremento y demanda de estos robots en la industria se debe principalmente a que son muy rápidos y precisos, aumentado así la productividad de las empresas. La industria automotriz es la que más aglutina de este tipo de robots.

Base = Eslabón =0 Articulación 1 Eslabón 1 Articulación 2 Eslabón 2 Eslabón n-1 Eslabón n Articulación

n-1 Articulación n

(8)

8

1.2 Robots móviles

Por otra parte se encuentran los robots móviles, donde la movilidad es un

factor clave en la realización de las tareas a ejecutar. Además de la movilidad, deben tener otra característica muy importante que es la inteligencia. Esta es necesaria para que estos robots realicen sus tareas en un entorno que puede estar variando y al cual se deben adaptar. Se pueden encontrar distintas definiciones para un robot móvil, la establecida por la Asociación Internacional de Estándares (ISO) en su norma ISO 8373 define un robot móvil como:

“Robot que contiene todo lo necesario para su pilotaje y movimiento (potencia, control y sistema de navegación)”.

Estos robots pueden estar diseñados para desenvolverse en distintos medios, entonces se puede tener robots: terrestres, aéreos o submarinos (figura 1.2). Esta clase de robots pueden ser autónomos o semi-autónomos.

(a) (b) (c)

Figura 1.2. Robots móviles: a) RobuROC 6 b)global hamk y c) Robot Acuático Madeleine

(9)

9 1.3 Robots de servicio

Máquina capaz de extraer información de su ambiente y usar conocimientos sobre su mundo, para moverse sin incidentes y de una manera que tenga sentido y propósito.

La vasta diversidad de aplicaciones que han tenido los robots en los últimos años y la evolución que han llevado ha sido comparada de manera muy similar a la de las computadoras hace 30 años así lo afirma Bill Gates, presidente y fundador de

Microsoft en su artículo “A Robot in Every Home” [1].

En la actualidad uno de los principales objetivos y aspiraciones de la robótica es la creación de robots autónomos, los cuales entre otras cosas, puedan aceptar realizar una tarea dada con una descripción de alto nivel y que la ejecuten exitosamente sin intervención humana.

1.3 Robots de servicio

En años recientes se ha popularizado el uso de robots, para brindar servicios a los humanos, Estos robots de servicio combinan las características de manipulación de los robots y las capacidades de los robots móviles.

Según la organización Mundial de Robótica, en su informe de 2008 (IFR, 2008), a finales de 2011 habrá más de 17 millones de robots de servicio en el mundo. Un robot de servicio, es un robot que opera parcial o completamente autónomo para prestar servicios útiles a los humanos [2].

(10)

10 1.3 Robots de servicio

Por otro lado se encuentran los robots de uso personal, los cuales pueden ser apropiados para la educación o el entretenimiento, así como en un futuro serán asistentes para las labores del hogar. En la actualidad están recibiendo un especial interés dentro de la comunidad científica los robots de asistencia, cuyo propósito principal es ayudar a las personas mayores y/o discapacitados en su vida diaria. Hoy en día los robots de servicio se encuentran principalmente en las aéreas domésticas, se pueden encontrar como robots aspiradoras, cortadores de céspedes y limpiadores de albercas. Existen también robots de entretenimiento y ocio, aquí se incluyen los robots de juguete.

En la figura 1.3, se muestra la cantidad de robots personales y de uso

domestico en el 2009 y su pronóstico para el 2013. En 2009 se vendieron aproximadamente un millón de robots aspiradoras (7% más que en 2008) y más de 26,000 robots cortadores de césped.

Figura 1.3 Robots de servicio para uso personal y domestico. Fuente departamento de estadísticas de IFR

(11)

11 1.3 Robots de servicio

En los trabajos que encontramos en la literatura sobre robots de servicio se han reportado varios compendios sobre la conveniencia de robots de asistencia para personas de edad avanzada o con discapacidades [3, 4, 5]. Un robot asistente capaz de realizar tareas cotidianas podría permitir a las personas con reducida movilidad vivir más independientemente. Los usuarios con discapacidades demandan que los robots de servicios tengan funcionalidades como: preparar alimentos y bebidas, poder tomar los objetos de un estante, encender o apagar las luces, tapar los recipientes, regar las plantas, abrir y cerrar puertas o cajones, entre otras tareas del hogar.

Desafortunadamente la tecnología de los robots actuales está lejos de llegar

a todas esas funcionalidades [6]. En la mayor parte de los casos, si no es que en todos, se requiere de complejas capacidades de manipulación, y aun no existen robots autónomos con la suficiente robustez de manipulación; y mucho menos

disponibles comercialmente.

Como un caso particular podemos mencionar el brazo Manus [7], de seis grados de libertad y una pinza, ver figura 1.4, que está siendo comercializado como un manipulador, el cual se puede conectar a una silla de ruedas y ser controlado por un usuario mediante un joystick u otro dispositivo de entrada.

(12)

12 1.4 Manipulación

Existen algunas empresas de reciente creación que tienen planes ambiciosos para mejorar y comercializar sus prototipos de robots móviles de asistencia, como por ejemplo, el robot personal Wyrobek [8], o ReadyBo [9]. Existen también la colaboración entre grandes empresas y las universidades las cuales tienen por objetivo la misma meta, como es el caso del robot asistente HAR [10], que está siendo construido por investigadores de la Universidad de Tokio en colaboración con Toyota. Muchos centros de investigación se están interesando en robots de multi-articulación para la manipulación de objetos, como se muestra en la figura 1.5; y recientemente en robots humanoides.

(a) (b) (c)

Figura 1.5 Robots manipuladores: a) Jaco, b) Mitsubishi PA-10 y c) KUKA

1.4 Manipulación

En un sistema robótico, la habilidad de manipular objetos, por ejemplo: tazas, lapiceros, libros, etc., es un factor clave para que este pueda operar en entornos de servicios, ya que estos entornos se caracterizan por su limitada estructura y un nivel muy alto de incertidumbre.

(13)

13 1.4 Manipulación

encuentran más controlados, se enfrentan a diversos problemas para su utilización directa.

Un robot móvil con capacidades de manipulación debe adquirir constantemente información perceptual acerca del mundo para ejecutar exitosamente las tareas. Los humanos para tomar objetos: a) primero localizamos el objeto a manipular, el cual puede estar en cualquier lugar, por ejemplo en una mesa; b) luego nos dirigimos hacia el y realizamos la acción de mover el brazo para acercarnos y finalmente c) realizamos las acciones para poder tomarlo. En un robot autónomo básicamente son las habilidades: percepción, planificación y acción.

La percepción ocupa un papel fundamental para este tipo de actividades, ya que a partir de la información obtenida se puede llegar a disponer de una descripción del entorno, permitiendo la identificación y ubicación de los objetos

para su manipulación. Esta consiste en situar al efector o pinza en una serie de posiciones de acuerdo con las órdenes de movimiento dadas y las condiciones de trabajo. Los problemas a resolver entonces en la manipulación son: a) posicionamiento y cinemática inversa, b) planificación de trayectorias y c) control de movimientos.

En el posicionamiento se estudia la colocación y orientación de los objetos en el espacio tridimensional también llamado espacio de trabajo. Las herramientas para trabajar con este problema son los: sistemas de referencia y las transformaciones homogéneas.

(14)

14 1.5 Definición del problema

La planificación de trayectorias es el camino que describe el efector en el espacio al realizar el movimiento. Los objetivos de la planificación es evitar obstáculos, además de evitar movimientos bruscos y/o zig-zag es decir, maximizar la productividad.

El control de movimientos es la generación del movimiento deseado, esto se logra mediante la aplicación de fuerzas (lineales) o pares de ellas (rotacionales) en las articulaciones. El control de movimiento requiere del cálculo de los pares necesarios para conseguir posiciones y velocidades requeridas. En esta tesis nuestro propósito es poder juntar esas tres características para poder lograr una correcta manipulación robótica.

1.5 Definición del problema

Se desea considerar un robot de servicio el cual requiera manipular objetos que se encuentran en una superficie. Como el que se muestra en la figura 1.6. Esto implica resolver distintos problemas, uno de ellos es la detección y ubicación de los objetos en la superficie; otro es la planificación de trayectorias ya que es de suma

importancia saber por dónde se puede dirigir el brazo de forma segura evitando así colisiones. Además también se debe resolver la cinemática inversa para cada uno de los puntos de esta trayectoria, esto es para evitar singularidades o configuraciones

(15)

15 1.5.1 Objetivo general

Figura 1.6 Ambiente en el que se desea manipular los objetos

1.5.1 Objetivo general

Desarrollar un sistema capaz de establecer autónomamente, basándose en la percepción visual la cual nos va brindar información 3D sobre un conjunto de objetos, un plano dominante en un ambiente semi-estructurado para manipular objetos geométricos con un brazo robot.

1.5.2 Objetivos específicos

 Ubicar los objetos en la imagen estéreo.

 Utilizar la información de disparidad proporcionada por la cámara para obtener

el plano dominante de la escena y así poder proyectar los objetos detectados sobre este plano.

cámara derecha cámara

izquierda

(16)

16 1.6 Alcances y limitaciones

 Poder controlar la cinemática inversa del brazo.

 Aplicar planificación de trayectorias para dirigir el brazo hacia un objeto

deseado, sin colisionar.

1.6 Alcances y limitaciones

En este trabajo se desea que el robot pueda ubicar los objetos depositados en una mesa, independientemente de la ubicación del robot, así como determinar si podrán ser alcanzables. Dentro de las limitaciones podemos mencionar que los objetos que se utilizan en el ambiente tendrán formas geométricas regulares (cubos, cilindros, prismas) y colores bien definidos, permitiendo con esto una buena detección y localización de los objetos y por ende una buena interpretación de la escena.

Consideraremos para este caso particular de manipulación, que la base del brazo del robot se encuentra en un plano paralelo al plano donde están ubicados los objetos, es decir, el brazo se encuentra en un plano paralelo a la mesa (figura 1.6). En el espacio de trabajo el brazo será el único objeto en movimiento.

La organización de la tesis se presenta de la siguiente manera; en el capitulo dos se revisan los artículos más importantes relacionados al tema de manipulación, es decir planificación, percepción, control de movimiento y control visual.

(17)

17 1.6 Alcances y limitaciones

(18)

18

Capítulo II

Los Robots de servicio y la

manipulación: Estado del arte

En el capítulo anterior se estableció una clasificación generalmente aceptada para los robots así como las características de esta clasificación. Se describió a un robot de servicio como un robot que tiene capacidades de manipulación y de movilidad, entre otras. Para que un robot de servicio pueda ejecutar tareas de manipulación en un ambiente semiestructurado, es necesario que pueda percibir, planificar y controlar sus movimientos.

El contenido de este capítulo está enfocado a examinar algunos trabajos previos a la propuesta de investigación, es decir, a robots autónomos con capacidades de manipulación, en los cuales se proponen diferentes técnicas para abordar este problema.

2.1 Percepción

La percepción es una de las capacidades más importantes que debe tener un robot autónomo. Esta capacidad permite a un robot percibir por medio de sus sensores el entorno y sus características principales. Es a través de la percepción que un robot puede reconstruir o elaborar mapas, y almacenarlos en una representación interna.

(19)

19 2.1 Percepción

Tratando de cumplir con los objetivos mencionados se han construido varios prototipos. Por ejemplo, el robot humanoide ARMARIII (Figura 2.1) cuenta con un sistema de percepción que puede localizar objetos domésticos grandes y pequeños. Este sistema hace uso de una fase de reconocimiento usando características de correspondencia de puntos y la transformada Hough, posteriormente una estimación iterativa de una transformación afín. El método final de estimación de posición 6D (translación, rotación) utiliza un algoritmo de triangulación estéreo [11].

Figura 2.1. Robot Armar- III

(20)

20 2.1 Percepción

Figura 2.2. Robot PR2 de Willow Garage

(21)

21 2.1 Percepción

Figura 2.3. Robot Justin de la DLR

(22)

22 2.1 Percepción

Figura 2.4. Plataforma móvil B21 del Instituto Technische Universität

München, Alemania

2.2 Planificación de movimientos

Es en los años de los 60's que aparecen los primeros trabajos sobre planificación de movimientos y en los 80's aparece la noción de espacio de configuraciones con Lozano-Pérez [15], uno de los conceptos más importantes en el área. En esas dos décadas varias técnicas para la planificación fueron propuestas.

A principios de los 90's se publica un libro con una excelente compilación de trabajos relacionados con el progreso de planificación de movimientos [16].

(23)

23 2.2 Planificación de movimientos

Recientemente otro excelente libro con modernos algoritmos sobre planificación y avances teóricos es el que se presenta en [19].

Existen varias técnicas para resolver la planificación de movimientos, una de ellas es la basada en muestreo y en los últimos años varios algoritmos de este tipo ha se han propuesto como lo es el planificador de caminos aleatorios o RPP (por sus siglas en inglés, Randomized Path Planner), [20], o el de Hilo de Ariadna [21],

también planificadores probabilísticos de mapas de caminos o PRM’s, por sus siglas en

inglés Probabilistic RoadMaps [22], y árboles de exploración rápida aleatoria o RRT’s, (Rapidily-exploring Random Tree) [23].

En esta sección se mencionarán algunos trabajos relacionados con planificadores de movimientos, con un particular énfasis en los trabajos con manipuladores que son los que nos interesan en este trabajo.

El planificador de movimientos basado en muestro, llamado SANDROS [24] fue diseñado para brazos manipuladores. Este planificador busca en una manera de

multi-resolución sobre una malla no uniforme (por ejemplo la resolución sobre los ejes de coordenadas pueden ser diferentes). Los ejes están dados en diferentes resoluciones porque en los brazos manipuladores, los enlaces que están cerca de la base tienen mayor impacto en la posición de la pinza. El planificador también usa la información para colocar las articulaciones del brazo en la máxima distancia desde el área de trabajo de los obstáculos.

L. Tian y C.L Collins [25] usan un algoritmo genético con una función multi-criterio para la planeación de movimientos de la pinza de un manipulador redundante.

(24)

24 2.2 Planificación de movimientos

discretizado del robot, y explota, el uso de procesos paralelos para la búsqueda simultanea de una ruta valida. La búsqueda paralela es guiada por un número de procesos de búsquedas secuenciales basados en reglas, los cuales trabajan para encontrar un camino que conecte la configuración inicial con la configuración final, mediante un numero de configuraciones de submetas generadas aleatoriamente.

Ya que el planificador solamente realiza pruebas de colisión en línea con la información adecuada de proximidad sin la necesidad de utilizar información precomputada, el enfoque es adecuado para problemas de planificación con multi-robots o en ambientes dinámicos. Las pruebas fueron realizadas en un brazo manipulador PUMA 200.

En [27] se presenta un planificador dinámico de caminos, para un brazo de siete grados de libertad (DOF, Degrees Of Freedom). Básicamente descompone el

problema de siete grados de libertad en otros más simples. Debido al modelo especifico cinemático del brazo, un Mitsubischi PA-10. El planificador puede ser reducido primero a un problema redundante de 6 DOF en un espacio de configuración 5D, que puede ser descompuesto aun mas en dos problemas: la planificación de la posición 3D en el espacio cartesiano y la planificación en un espacio 3D compuesta por la orientación de los ángulos y una parametrización de brazos redundantes. En la planificación la posición y la orientación son entrelazadas y realizadas “en vuelo”, sin conocimiento explicito global del ambiente, se usan dos instancias de la expansión de onda dinámica de una red neuronal (DWENN). La naturaleza dinámica y de exploración del algoritmo DWENN, le permite tratar con obstáculos estacionarios o dinámicos de una manera unificada.

(25)

25 2.3 Acción

pruebas fueron realizadas en un ambiente 3D simulado con un brazo de siete grados de libertad.

2.3 Acción

En las tareas de manipulación que realizan los robots de servicio se requieren algoritmos de control seguros para que no se dañe ni el objeto, ni el manipulador. Con este propósito se han hecho bastantes investigaciones que abordan el problema de control.

En [29] se propone un enfoque en cinemática inversa para trasladar posiblemente los puntos de control en una cadena cinemática de un robot manipulador. Para esto los autores se basan en un modelo de cuerpo entero, donde por computación analítica o seleccionando explícitamente, se pueden establecer los puntos de control. Estos puntos de control son obligados a trasladarse suavemente

en la columna vertebral (spine) de los eslabones del robot manipuladorconsiderado.

Las pruebas fueron hechas en simulación pero como trabajo futuro lo esperan aplicar en robots manipuladores espaciales como Justin.

(26)

26 2.3 Acción

en un manipulador con seis grados de libertad y demuestran que puede ser usado para garantizar la convergencia a un punto final con posición y orientación (si es que existe), y les permite seleccionar directamente cual solución de cinemática inversa del algoritmo convergerá.

En [31,32] proponen un lazo de control que garantice características de movimiento suave de la pinza de un brazo robot en el espacio cartesiano, usando cuaterniones. Su objetivo es proveer un movimiento suave mientras el robot realiza sus tareas de servicio. Argumentan que el movimiento suave es para limitar el tirón, aceleración y velocidad. Definen el movimiento suave, por un inicio suave y final suave con condiciones limitadas en aceleración y tirón. Y además el movimiento realizado entre estos eventos es también suave incluyendo cambios en dirección y

en rotación. El control propuesto fue probado en un brazo manipulador Mitsubishi PA10-6CE.

En los robots manipuladores el control de fuerza ha sido empleado para la interacción con su entorno y ha sido estudiado por varios años como en [33, 34, 35, 36]. Por otra parte existen otros esquemas para controlar velocidad y fuerza simultáneamente en brazos manipuladores, pero básicamente pueden ser clasificados de dos maneras; uno es control hibrido velocidad/fuerza [37], y el otro como control de impedancia [38].

En [39] se aborda el problema de lograr un control de fuerza dinámico con manipuladores provistos de controladores de posición de bajo nivel y/o velocidad típicamente empleados en brazos industriales. Ellos proponen un algoritmo de control de fuerza adaptativo para velocidad/posición de brazos robóticos.

(27)

27 2.4 Control visual

2.4 Control visual

El control visual ha sido muy empleado en el campo de la manipulación robótica como se muestra en los siguientes trabajos de [41, 42]. El control visual nos sirve para saber la posición del robot respecto a un objeto, ya sea usando una

cámara externa o montada sobre la pinza. Los métodos de control visual pueden ser clasificados en ver y mover dinámico contra control visual directo. Por otra parte, los sistemas de control visual pueden ser también clasificados, según la naturaleza que ellos apliquen, es decir los enfoques basados en posición, basados en imagen e híbridos.

El control basado en posición emplea la computación de una posición cartesiana 3D (posición y orientación) y normalmente necesita un modelo 3D del objeto y una cámara calibrada [43]. El control basado en posición fue propuesto en [44] y trabajos más recientes sobre este tipo de control se presentan en [45, 46].

Por otro lado el control basado en imagen no necesita un completo modelo del objeto ya que el lazo de control es directamente cerrado en el espacio de la imagen [47], proporcionando mayor robustez a los errores de modelado así como perturbaciones de ruido con respecto a los enfoques basados en posición [48].

También la comunidad de investigadores se ha motivado a explorar enfoques híbridos como el que es presentado en [49], llamado 2 ½ D visual servoing el cual no necesita ningún modelo geométrico 3D del objeto, lo cual es una ventaja frente al control visual basado en posición. Por otro lado en comparación con el control visual

basado en imagen, este asegura la convergencia de la ley de control en todo el

espacio de trabajo. El método fue propuesto originalmente para una configuración

(28)

28 2.4 Control visual

En [50], es considerado un control visual basado en visión estéreo. Los autores describen la teoría y la implementación de un sistema que posiciona un robot manipulador usando información de las dos cámaras. Su sistema rastrea simultáneamente la pinza del robot y sus características visuales usadas para definir la posición final. Una señal de error basada en la distancia visual entre la pinza y el objetivo es definida y una regla de control que mueve el robot para manejar este error a cero. La ley de control es integrada en un sistema que realiza el seguimiento y control estéreo en un solo procesador sin ningún hardware de propósito especial. Sus experimentos con este sistema han demostrado que el control es robusto al error de calibración de las cámaras, que pueden ser movidas varios centímetros y rotadas varios grados mientras el sistema está corriendo sin efectos adversos

En [51], se presenta un sistema de control visual para alinear la pinza con un objeto. En lugar de trabajar en el espacio Euclidiano, el control visual se lleva a cabo

en el espacio proyectivo haciendo la reconstrucción proyectiva con una cámara estéreo, evitando así la necesidad de calibrar la cámara. La relación deseada de la pinza con el objeto es aprendida durante un procedimiento fuera de línea.

El trabajo de Taylor y Kleeman [52], utiliza un enfoque de control visual basado en posición, para un robot humanoide con el fin de guiar la mano hacia los objetos. La posición de la mano fue estimada con un filtro Kalman tomando como entrada la reconstrucción estéreo de un conjunto de leds agregados en la mano del robot. En este trabajo los autores argumentan que se basan en este tipo de control visual debido a las facilidades que ofrece para la especificación de tareas.

(29)

29 2.4 Control visual

usando dos cámaras para medir la posición visual relativa entre el objeto y la meta final. Con una pinza montada sobre el brazo, la utilidad de su sistema es demostrada en una tarea que consistía en apilar bloques. Ellos usan el jacobiano completo y por lo tanto el control de un sistema acoplado.

Finalmente en [54], se puede encontrar una buena revisión de trabajos relacionados a control visual hasta mediados de los 90's, mientras que en [55] se encuentra una revisión mas reciente sobre trabajos relacionados a este tema.

A lo largo de este capítulo se describieron los distintos enfoques de

percepción, planificación de trayectorias, control de movimientos y control visual, todos ellos propuestos para manipuladores robóticos en distintas plataformas.

En nuestro caso particular para realizar la manipulación de objetos con un robot emplearemos una cámara estéreo y un brazo manipulador redundante, los cuales constituyen el torso de un robot móvil.

(30)

30

Capítulo III

Localización de objetos en el

espacio de trabajo

En el capítulo anterior se mencionaron algunos de los diferentes problemas que existen en el área de manipulación en robots de servicio y como es que han sido abordados por los diferentes grupos de investigación en todo el mundo para tratar con el tema.

También se menciono en ese mismo capítulo que, la percepción es una tarea fundamental para la manipulación de objetos con robots móviles.

Se pretende que el robot pueda en una primera instancia detectar y localizar un conjunto de objetos en una mesa, para su futura manipulación.

(31)

31 Localización de objetos en el espacio de trabajo

Figura 3.1. Prototipo de robot manipulador del laboratorio de robótica

Para la tarea de percepción utilizaremos únicamente los datos provenientes de nuestra cabeza estéreo, esto es, el modelo del mundo solo será determinado mediante este sensor. La cámara estéreo utilizada (figura 3.2a), proporciona directamente por medio de una conexión firewire (IEEE 1394), las imágenes tomadas

por cada una de las cámaras, el mapa de disparidad y una estructura de puntos 3D ligados a esa percepción y con marco referencial la cámara estéreo.

(32)

32 3.1 Revisión de trabajos relacionados

Estas condiciones particulares son muy pertinentes para nuestro trabajo, dado que se espera obtener una buena reconstrucción de los objetos colocados en la mesa.

(a) (b)

Figura 3.2. a) Cámara estero Videre, b) figuras geométricas simples

El objetivo particular en esta fase del trabajo es usar la información 3D de nuestra cámara estéreo para ubicar espacialmente con respecto al robot los objetos a manipular.

El contenido de este capítulo estará enfocado a la descripción de la propuesta inicial para la localización de los objetos con respecto al plano principal, en este caso la mesa, el cual se presupone paralelo, al plano donde se localiza nuestro robot. En la siguiente sección se revisarán algunos trabajos relacionados con al ajuste de planos a partir de datos 3D.

(33)

33 3.1 Revisión de trabajos relacionados

Como ha sido mencionado, para las tareas de manipulación es importante que un robot móvil pueda reconstruir un modelo 3D del ambiente a partir de sus sensores. Uno de los más usados es el sensor de visión, particularmente las cámaras estéreo. Con estos sensores, a partir de una pareja de imágenes se puede obtener un conjunto de puntos 3D, como en nuestro caso. Sin embargo, no son los únicos sensores que proporcionan datos tridimensionales, por ejemplo, existen entre otros, los siguientes tipos de sensores: a) los sensores de tiempo de vuelo o TOF, los cuales permiten obtener imágenes 3D en tiempo real mediante el tiempo de retardo entre el envió y recepción de una señal generalmente luminosa como lo es luz infrarroja, b) sensores basados en luz estructurada, los cuales se basan en la deformación que sufre un patrón de luz emitido por el propio sensor al ser proyectado sobre

cualquier objeto.

A continuación se analizarán algunos trabajos relativos a la determinación de

planos a partir de nubes de puntos 3D, provenientes de diferentes sensores.

Boyer et al., [56] proponen un estimador secuencial robusto para ajustar superficies de un conjunto de datos con ruido. En este trabajo, con el fin de eliminar datos erróneos (outliers), se detectan bordes y se extraen regiones lisas, a partir de estos se ajustan las superficies, las cuales quedan determinadas por el criterio AIC (Akaike Information Criterion). Takeda y Latombe [57] consideraron un caso especial donde el problema puede ser reducido a un problema de una sola dimensión de una línea ajustada y computarlo como una solución de una máxima probabilidad.

(34)

34 3.1 Revisión de trabajos relacionados

poligonización para obtener la forma del objeto ajustado al plano. Las pruebas son hechas en un robot móvil con un sensor de cámara de tiempo de vuelo (TOF) Swissranger SR-3000.

En [59] se hace una comparación de métodos de ajuste del plano local para

una serie de datos. En este trabajo, además los autores introducen un modelo de ruido para una serie de datos que se obtiene de un sensor láser y se derivan dos soluciones simples del ajuste del plano óptimo local. Los autores comparan su método contra algunos otros dando como resultado que el método de mínimos cuadrados es el menos adecuado debido a la no incorporación de un modelo de ruido.

En otros se ha logrado incorporar el ruido para el ajuste de planos con mínimos cuadrados, por ejemplo en [60] introducen una técnica de mínimos

cuadrados en movimiento para la reconstrucción de superficies lisas, desde una nube de puntos potencialmente ruidosa. Usan técnicas estadísticas para guiar la creación de la vecindad utilizada por el cómputo de movimiento de los mínimos cuadrados. Localmente clasifican regiones de un conjunto de puntos en, múltiples regiones lisas libres de valores atípicos. Esa clasificación les permite proyectar puntos en una región localmente lisa en lugar de una superficie que es lisa en todas partes, y así definen un pedazo de superficie lisa e incrementan la estabilidad numérica del operador de proyección

(35)

35 3.1 Revisión de trabajos relacionados

Considerando el análisis de estos trabajos y el equipo disponible, la propuesta inicial para la detección y localización de objetos en este trabajo es la siguiente:

Se localizarán los objetos de colores en las imágenes provenientes de la cámara estéreo y dada las condiciones en las que trabajaremos (definidas al inicio de este capítulo) se espera que solo en estas regiones se obtenga datos de disparidad.

Se propone emplear el uso de mínimos cuadrados para la obtención del plano superior a partir de la nube de puntos 3D. Dada la configuración propuesta de la cabeza estéreo (vista superior inclinada), la información 3D que se obtendrá será mayormente sobre la cara superior de los objetos y parcialmente en los costados frontales. Particularmente recordemos que tenemos la condición de que todos los objetos tienen la misma altura.

Para evitar los valores atípicos y ruido se propone que el ajuste del plano se vaya haciendo de manera incrementalmente a partir de un crecimiento de regiones

sobre los datos crudos en 3D. Este crecimiento de regiones se prevé elimine los valores atípicos y ruido presente debido a los parámetros de propio método. El proceso inicial del crecimiento de regiones se hace a partir de una selección aleatoria de puntos semilla, seleccionados en la imagen de disparidad.

(36)

36 3.2 Visión estéreo

A continuación describiremos los detalles de las técnicas usadas, para desarrollar nuestra propuesta.

3.2 Visión estéreo

En un sistema de visión biológica al observar un objeto, la separación de los ojos hace que cada ojo vea una imagen muy parecida, pero no iguales. Esta diferencia de posición es suficiente para inferir información de profundidad, en una cámara estéreo se realiza lo mismo a partir de las imágenes obtenidas.

En esta tesis se asume que se tiene un sistema de cámara estéreo calibrado (figura 3.3) con una distancia entre las dos cámaras dada por b y una longitud focal f para ambas cámaras. La distancia horizontal desde el centro de la imagen a la

posición del objeto en esta es di para la imagen de la izquierda, y el dd de la imagen

de la derecha.

Bajo esta condición, la diferencia entre di y el dd se llama la disparidad y está

directamente relacionado con la distancia r del objeto normal al plano de la imagen. La relación es:

δ = di – dd (1)

la profundidad D del punto r puede ser calculada como:

r = bf / δ (2)

Entonces llamaremos imagen de disparidad al conjunto r= {(xi, yi, δi)}, donde δ es el

(37)

37 3.2 Visión estéreo

Figura 3.3. Esquema simplificado de la geometría estero

En la cámara estéreo utilizada se considera la imagen izquierda como la

imagen de referencia. Para este trabajo se asume que se tiene un buen mapa de

disparidad D y que por lo tanto una buena reconstrucción 3D; y entonces nuestra tarea es ajustar un modelo lineal a esos últimos. En la figura 3.4 solo se muestra una imagen tomada con la cámara a) y a partir de la pareja de imágenes se muestra su correspondiente mapa de disparidad b).

(a) (b)

(38)

38 3.3 Ajuste del plano con mínimos cuadrados

3.3 Ajuste del plano con mínimos cuadrados

El método de mínimos cuadrados es un método de extrapolación para poder encontrar la curva que mejor se ajuste a una serie de puntos. Este método también puede ser llamado con el nombre de regresión.

Los datos 3D provenientes de la cámara tienen una estructura (x, y, z) de acuerdo al marco referencial de esta. Por lo tanto se tiene que el eje z es perpendicular al plano de la cámara y siempre será positivo para valores validos de disparidad. El eje de las x es horizontal y es positivo en la dirección derecha del centro de la imagen; y el eje de las y es vertical y positivo en la dirección hacia abajo del centro de la imagen (sistema de coordenadas diestras).

Ya que el eje z apunta en dirección hacia la mesa nos interesa ajustar al plano que minimice las distancias sobre este eje, y por lo tanto este plano ajustado será el plano paralelo a la mesa.

Una vez establecidas las coordenadas del marco referencial procedemos a calcular la ecuación del plano con mínimos cuadrados. En este caso asumimos que la componente z de los datos es funcionalmente dependiente en los componentes de x y y.

Entonces para una serie de puntos 3D con coordenadas (x, y, z), determinamos los parámetros A, B, y C tal que el plano definido por la ecuación:

z = Ax + By + C

es el que ajuste mejor al muestreo, en el sentido que la suma de los errores al

(39)

39 3.3 Ajuste del plano con mínimos cuadrados

Así el error es medido solamente en la dirección z. Lo cual se muestra de la siguiente manera:

(z1 – Ax1 – By1 - D)2= ε1

(z2 – Ax2 – By2 - D)2= ε2

(zi – Axi – Byi - D)2= εi

(zn – Axn – Byn - D)2= εn

Sumando los n términos tenemos lo siguiente:

+ + + −2 −2 −2

+ 2 + 2 + 2 =

Como deseamos que ε sea mínimo es necesario que las derivadas parciales

de ε respecto a las tres incógnitas que tenemos A, B, D, sean cero, por lo tanto:

= 2 −2 + 2 + 2 = 0

= 2 −2 + 2 + 2 = 0

(40)

40 3.3 Ajuste del plano con mínimos cuadrados

= 2 −2 + 2 + 2 = 0

Si agrupamos términos semejantes:

+ + = + + = + + = Y entonces: ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ 1 ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤

(41)

41 3.4 Crecimiento de regiones

Figura 3.5 Representación de un plano usando mínimos cuadrados. Los puntos rojos

representan la nube de puntos 3D de la cámara, las líneas azules las distancias al plano.

El algoritmo de ajuste del plano se divide en dos partes. La primera es la que calcula el plano usando la técnica mencionada y la segunda parte, es el crecimiento de regiones, descrita en la siguiente sección, con esta técnica evitaremos, como se menciono anteriormente, la incorporación de valores atípicos al plano ajustado.

3.4 Crecimiento de regiones

El crecimiento de regiones, que es una técnica muy conocida en la segmentación de imágenes, implica elegir una serie de pixeles iníciales que serán llamados puntos semilla.

(42)

42 3.4 Crecimiento de regiones

cuenta con valores de disparidad, es decir componentes 3D, entonces se revisaran los valores de sus ocho vecinos.

Se analiza si el conjunto de datos iníciales (punto semilla y sus vecinos) genera un plano por medio de mínimos cuadrados, tal que la separación máxima entre los puntos y el plano sea menor a un umbral dado, en este caso 2mm. Si se cumple con la condición anterior, entonces se acepta el grupo de puntos 3D como grupo o conjunto semilla y se validará el crecimiento de regiones con respecto a este plano inicial, en caso contrario se toma otro de los puntos del conjunto generado aleatoriamente y se procede de la misma manera.

Para realizar el crecimiento de la región se debe seguir el siguiente procedimiento:

-Se genera el conjunto de vecinos a la región tales que tengan un valor válido de disparidad.

-Sea p un punto dentro del conjunto vecinos a ser agregado a la región, d la distancia de el punto p al plano Pl, y un umbral U, el criterio para agregar p es tal que:

d > U.

Estos dos pasos se realizarán continuamente hasta que el conjunto de vecinos a agregar sea el conjunto vacio.

La ecuación del plano es recalculada mediante el método de mínimos cuadrados para cada etapa de agregado de vecinos.

(43)

43 3.4 Crecimiento de regiones

la figura 3.6b se muestran los mismo puntos (región semilla) en el espacio 3D, con los cuales se determinará el plano inicial para el crecimiento de regiones.

1 1 1

1 1 1

1 1 1

(a) (b)

Figura 3.6. a) Arreglo de pixeles con vecindad de 8 b) vecindad de 8 puntos en el espacio, el punto rojo es la semilla.

(44)

44 3.4 Crecimiento de regiones

Los puntos que pertenecieran al plano de los objetos, serian proyectados al plano paralelo de la mesa, con esto obtendríamos las huellas que estos dejan sobre la mesa y así sabríamos donde se encuentra el objeto.

En la figura 3.8 se muestra una de las imágenes del par estéreo (imagen izquierda), en donde aparece un objeto cubico. Correspondiente a este mismo objeto la figura 3.9a se muestra la imagen de disparidad y en 3.9b se puede

observar el crecimiento de regiones para este caso.

Figura 3.8. Imagen izquierda de una pareja de imágenes estéreo Plano mesa Plano esperado

(45)

45 3.4 Crecimiento de regiones

(a) (b)

Figura 3.9. a) mapa de disparidad, b)crecimiento de región

Los colores en la figura 3.9a (mapa de disparidad) corresponde a la distancia de la cámara a los objetos, así los colores claros indican una alta disparidad (menor distancia) y los colores oscuros indican una baja disparidad (mayor distancia); En estas imágenes los píxeles negros indican que no hay información de disparidad. La causa de esto es porque la mesa es blanca y por lo tanto no se tiene una textura que permita obtener dicha información.

El crecimiento de la figura 3.9 b) tiene una forma muy similar a la del objeto en el mapa de disparidad, lo cual era de esperarse debido a las condiciones de trabajo presentes.

(46)

46

Figura 3.10 Plano obtenido con la nube de puntos 3D el punto rojo es la semilla

Se observa en la figura 3.10 que el plano se ajusta bien a la nube de puntos 3D, lo cual indica que mínimos cuadrados si obtiene el plano que minimiza las distancias sobre el eje de z.

Desafortunadamente, y bien si nuestra propuesta inicial parecía promisoria, esta no pudo ser utilizada tal cual, debido a algunos problemas propios

(47)

47

Capítulo IV

Cinemática Inversa y

planificación de trayectorias

En el capitulo anterior se mencionaron las técnicas empleadas en la parte de percepción para poder ubicar los objetos en una mesa de acuerdo a nuestras condiciones de trabajo. A partir de esa información se debe mover el brazo robótico hasta llegar al objeto deseado.

Para que el brazo pueda desplazarse hacia el objeto a manipular en el área de trabajo sin colisionar con obstáculos, se empleara la planificación de trayectorias. Ya que la planificación generara una secuencia de configuraciones, es importante contar con la cinemática inversa del brazo para poder mover las articulaciones al punto deseado. A continuación se explican estas dos técnicas empleadas en este trabajo. En nuestro caso de investigación el brazo del robot es el único objeto en

movimiento y se ignoran sus propiedades dinámicas.

4.1 Planificación de trayectorias

La planificación de trayectorias es una parte fundamental en el área de la robótica móvil. Esta técnica le permite a los robots saber por dónde desplazarse sin

colisionar con obstáculos, permitiéndoles así llegar desde una posición de partida a

(48)

48 4.1 Planificación de trayectorias

orientaciones, evitando siempre el contacto con los obstáculos. Esto es de suma importancia para un robot manipulador ya que el planificador deberá generar un conjunto de puntos por los cuales debe seguir la pinza en el espacio hasta llegar al objeto deseado.

Figura 4.1 Ruta generada evitando contacto con los obstáculos

Como se menciono en el capitulo dos sección 2.2 existen varias técnicas que intentan resolver el problema de planificación de movimientos. La planificación de movimientos puede ser clasificada en estática o dinámica dependiendo de si los obstáculos se encuentran fijos o en movimiento. En el caso de obstáculos estáticos se conoce toda la información acerca de los obstáculos que se encuentran en el ambiente.

Por otra parte los métodos de planificación de trayectorias como, descomposición de celdas, campos potenciales, mapas de caminos (Roadmaps), y arboles de exploración rápida aleatoria o RRT (Rapidily-exploring Random Tree) [23], son los más comunes y empleados en entornos de trabajo semiestructurado, con obstáculos conocidos y estáticos.

C. inicial

C. final

Ruta

(49)

49 4.1 Planificación de trayectorias

En este trabajo se empleara el planificador de mapas de caminos el cual se explica en la sección siguiente.

4.2.1 Planificación con mapas de caminos (RoadMaps)

Este planificador consiste en capturar la conectividad del espacio de configuraciones libre C mediante una red de curvas de dimensión 1 denominadas “Roadmap”[19]. Una vez que es calculado el Roadmap, se deberá encontrar un camino que conecte la configuración inicial y la configuración final.

Dentro de los métodos de mapas de caminos existen varias técnicas los cuales pueden ser Grafos de visibilidad, Diagramas de Voronoi [61], y Roadmap probabilístico. Para el caso de Roadmap probabilístico se hace uso de un planificador local el cual calcula una ruta entre dos configuraciones q y q’, y que las conecta a ambas configuraciones en ausencia de obstáculos. Esta se puede construir en línea recta cuando los movimientos del robot no se encuentran restringidos.

A continuación se explica brevemente el método de Roadmap ya que la planificación de trayectoria del brazo cyton utiliza esta utiliza esta técnica.

4.2.1.1 Mapa de caminos probabilístico (PRM Probabilistic Roadmap Method)

Este método consiste de dos fases, la primera fase llamada de construcción en la cual se crea un mapa de caminos probabilístico y se representa como un grafo G=(N,E) cuyos nodos N corresponden a configuraciones libres de colisión y las aristas E son las rutas factibles entre dichas configuraciones.

(50)

50 4.1 Planificación de trayectorias

Cuando n es lo suficientemente grande, entonces se cubre todo el espacio de trabajo y el roadmap o grafo generado está totalmente conectado. De lo contrario el grafo estará constituido por componentes disconexos y entonces no se ha capturado completamente la conectividad de dicho espacio.

La otra parte es la etapa de conexión, en esta se intenta conectar cada uno de los nodos con sus k nodos más cercanos y las líneas que los conectan definen las aristas en el Roadmap.

Finalmente se pasa a la fase de consulta (query phase) para intentar conectar las configuraciones inicial y final al mapa probabilístico generado. Por último se emplean algoritmos de búsqueda en grafos para la obtención de un camino valido, por ejemplo búsqueda en amplitud, en profundidad o algoritmos de búsqueda

informada basados en heurísticas por ejemplo A*.

Para obtener la planificación del brazo cyton se utilizo move3D, una

plataforma de software desarrollada en LAAS. En move3D [62] se pueden generar escenas que contengan obstáculos además del robot, y por lo tanto se puedan generar trayectorias desde una configuración inicial a una configuración final. Move3D cuenta con un modulo que permite detectar colisiones, por ejemplo el brazo con la mesa o con los postes que sostienen la cámara.

(51)

51 4.2 Cinemática inversa

Figura 4.2. Representación 3D del área de trabajo del brazo en move3D

4.2 Cinemática inversa

La cinemática estudia la descripción analítica del movimiento espacial del robot, con respecto a un sistema de referencia, como una función del tiempo, sin tomar en cuenta las fuerzas que originan el movimiento. En todo momento será necesario poder determinar el conjunto de parámetros (configuración) que definan la posición y orientación de todos los puntos del robot con respecto a un sistema de referencia fijo.

En la cinemática se tienen dos tipos, directa e inversa. Para el caso de la cinemática directa se debe hallar la posición y orientación de la pinza respecto a la

base en función de las variables de cada una de las articulaciones θi. En el problema

de la cinemática directa se puede resolver a través de una transformación homogénea empleando los parámetros de Denavit-Hartenberg [63].

Para la cinemática inversa nos interesa saber los valores que deben tomar

(52)

52 4.2 Cinemática inversa

posicione y oriente según una posición espacial deseada. Como ejemplo se muestra la figura 4.3.

Figura 4.3 Brazo manipulador con un sistema coordenado fijo a la base

(53)

53 4.2 Cinemática inversa

.

Figura 4.4 Modelo 3D del brazo cyton con las de cada una de las articulaciones

Para nuestro caso se utilizo la cinemática inversa generalizada la cual es empleada

en [64] donde se implementa diferentes métodos numéricos para resolver el modelo cinemático inverso de cualquier robot compuesto por cuerpos rígidos articulados cuando la dimensión de su espacio de configuraciones es mayor a la

dimensión del espacio operacional. Utilizan una matriz Jacobiana que relaciona localmente los espacios de las velocidades articulares los cuales componen el modelo cinemático del robot.

(54)

54

Capitulo V

Implementación y resultados

A continuación se desglosan y analizan los resultados obtenidos mediante las técnicas mencionadas en los capítulos anteriores.

5.1 Problemática de la propuesta inicial

La figura 5.1 muestra la cámara estéreo utilizada para el procesamiento de imágenes, la cual se encuentra montada sobre la unidad de movimiento pan-tilt. Se

desea que la cámara pueda captar la mayor cantidad de información visual de la escena enfrente del robot. Particularmente, se requiere la información de los objetos depositados en la mesa que se encuentren al alcance del brazo robot. Por lo

(55)

55 5.1 Problemática de la propuesta inicial

Figura 5.1. Estructura robótica

Con esta inclinación el robot tiene la mejor configuración para observar los objetos a manipular. En la figura 5.2 se muestra una pareja de imágenes tomadas con la cámara estéreo desde este ángulo. Como se observa en las imágenes a) y b) de la misma figura, en estas aparecen más objetos en el campo visual. Por lo tanto se delimito la zona en la cual solo se encontraran los objetos más cercanos, es decir los que tienen un alto valor de disparidad.

(a) (b)

(56)

56 5.1 Problemática de la propuesta inicial

El mapa de disparidad correspondiente a las figuras anteriores es el que se muestra en la figura 5.3. Como se menciono anteriormente los colores claros indican una alta disparidad, los obscuros baja disparidad y por último los pixeles negros indican que no hay información de disparidad. Es esta información la que se usa para delimitar la zona de objetos cercanos.

Figura 5.3 Mapa de disparidad de la objetos de la pareja de imágenes de la figura 3.2

Igualmente, se tiene la reconstrucción 3D de la escena a partir del mapa de disparidad. El cual se muestra a continuación en la figura 5.4 a) y 5.4 b). El eje coordenado es el marco referencial ligado a la cámara, la línea roja representa el eje

z el cual atraviesa la nube de puntos, siendo así este el eje principal a considerar

para ajustar el plano a esa nube de puntos. La parte enfrente de la cámara será siempre la parte positiva del eje z, y por lo tanto todos los objetos enfrente de la cámara tendrán valores positivos en el eje z.

El eje y es la línea verde y es positivo del centro de la imagen hacia abajo; y la línea azul es el eje coordenado x, el cual es positivo del centro de la imagen hacia la

(57)

57 5.1 Problemática de la propuesta inicial

(a) (b)

Figura 5.4. Reconstrucción 3D desde el marco referencial de la cámara a)Vista frontal, b) Vista lateral

Como se menciono en el capítulo 3, la propuesta inicial consideraba la información de las imágenes obtenidas con la cámara, para proceder a calcular un plano sobre los puntos 3D de los objetos, empleando las técnicas de mínimos

cuadrados y crecimiento de regiones. Como se propuso en el capítulo mencionado, para hacer frente a los problemas de ruido o valores atípicos se opto utilizar el crecimiento de regiones.

Ciertamente, la mayoría de esos valores fueron eliminados ya que se planteo como requisito que los puntos nuevos a ser considerados en el crecimiento de región debían cumplir una distancia mínima al plano (2mm), de lo contrario eran desechados y entonces el plano no era afectado por esos valores.

(58)

58 5.1 Problemática de la propuesta inicial

Figura 5.5. Objeto cuadrado depositado en la mesa, dentro de la zona de alcance del brazo Cyton

(a) (b)

Figura 5.6. Reconstrucción 3D a) vista frontal b) vista lateral

(59)

59 5.1 Problemática de la propuesta inicial

Por lo tanto, el plano que se calculaba sobre esta nube de puntos presenta una inclinación con respecto a un plano paralelo a la mesa. En la imagen de la figura 5.7a se hace un acercamiento a la nube de puntos correspondiente al objeto y se observa como esta presenta una inclinación; y en (b) la línea mostrada representa un plano obtenido para esa nube de puntos.

(a) (b)

Figura 5.7. Nube de puntos 3D a) el área en el círculo es la nube de puntos correspondientes al objeto de la figura 5.5. b) la línea es el plano de esos puntos y este

ya no es paralelo al plano de la mesa como se esperaba en un principio.

(60)

60 5.1 Problemática de la propuesta inicial

Figura 5.8 Plano obtenido

Por lo tanto, dados resultados, si se tienen varios objetos en la mesa en los cuales se aplique el crecimiento de regiones, el plano resultante de cada región tendrá también una inclinación y no corresponderán entre sí para obtener el plano superior deseado.

Como se vio en el capítulo 3, la imagen de disparidad es formada a partir la correlación entre cada uno de los píxeles y los detalles de su vecindad entre las imágenes izquierda y derecha provenientes de nuestra cabeza estéreo.

(61)

61 5.1 Problemática de la propuesta inicial

estas nos dan la relación para determinar en función de esta distancia, la profundidad real a la que están los objetos está dada por la ecuación (2).

Dependiendo de los parámetros de ajuste en el momento de hacer la correlación estéreo, se realiza una búsqueda solo en la vecindad entre píxeles, y particularmente solo sobre la línea epipolar. Una vez encontrada la correlación más alta, la diferencia en posición es almacenada como disparidad.

Comúnmente la vecindad que se recorre sobre la línea epipolar es entre 8 y 32 pixeles, en nuestro caso usamos 32 pixeles como máximo para dicha búsqueda. De esta manera se tienen 32 niveles (de 0 a 31) en los cuales se pudiera encontrar la correspondencia entre pixeles de las diferentes imágenes. Y es eso, lo que esta codificado en la imagen de disparidad. Es importante mencionar que la relación entre la separación de los diferentes niveles no es una relación lineal como se

muestra la figura 5.9.

(62)

62 5.1 Problemática de la propuesta inicial

En esta figura 5.9 se muestra como los planos correspondientes a la detección están más cerca entre ellos para distancias grandes de disparidad y más alejados para distancias pequeñas. Para una correlación de cero pixeles, corresponde una distancia al infinito.

Si bien la resolución (rango y diferencia de los niveles de disparidad) es alta en la zona más cercana a nuestra cámara, resulto (interesante) que el ruido generado es mucho mayor en esa zona. En nuestro caso, la distancia más cercana, dadas las características de nuestra cámara corresponde aproximadamente a 70 cm, la cual es prácticamente la distancia a la cual están los objetos de nuestro torso robótico.

Como se puede observar en la figura 5.10, existen muchos bordes de los objetos que son mal interpretados por las ventanas de correlación y son adjuntados

a los puntos 3D de estos, sin realmente pertenecer a ellos.

Si bien el aumento de la ventana de disparidad aumenta la posibilidad de una

buena correlación también genera que mucho de este ruido sea incorporado.

Para resolver este problema, la mayoría de los trabajos proponen aumentar el campo visual de las cámaras para reducir la distancia mínima a la cual se pueden detectar los objetos, pero esto implica una reducción del tamaño del objeto en la imagen, entonces menor superficie de este para poder realizar la correlación y por ende la calidad de la reconstrucción se vería afectada. El colocar objetos más grandes resolvería esto, pero no sería posible manipularlos por nuestro robot,

además de que el tamaño de objetos propuesto corresponde a los objetos que un

(63)

63 5.1 Problemática de la propuesta inicial

Figura 5.10 Imagen con bordes falsos agregados a los objetos

Aunado a este ruido, resulta que al colocar nuestra cámara con esa inclinación los planos de disparidad son igualmente desplazados provocando lo que tenemos como resultado en la figura 5.11 b).

(a) (b)

(64)

64 5.2 Descripción de solución alternativa

Finalmente, dado que en lugar de obtener una sección rectangular de nuestros objetos se tiene una sección curva, realizamos una modificación a nuestra propuesta para poder tratar con estos problemas, la cual se describirá en la siguiente sección.

5.2 Descripción de solución alternativa

Para resolver este problema, se utilizo el trabajo de [65] el cual se venía

desarrollando de forma paralela a esta investigación y sus resultados son relevantes para este caso debido a que calcula una fusión de datos a partir de bordes y colores.

Con su resultado se obtiene una máscara que nos servirá para ajustar el plano en la nube de puntos 3D. Esta máscara es de suma importancia, dado que elimina mucho del ruido generado por los bordes de los objetos al igual que los generados por las sombras de estos como los mostrados en la figura 5.10.

El método propuesto por [61] utiliza los bordes y los colores de los objetos para segmentar la región de la imagen que corresponde a los objetos vistos. Tomando sus resultados como una máscara de segmentación podemos filtrar mucho del ruido generado por los problemas propios de la visión estéreo, permitiéndonos así, obtener un plano que se ajuste a la nube de puntos 3D al interior de esta máscara.

Referencias

Documento similar