viernes, 9 de diciembre de 2022

Fundamentos de robótica con Mordechai Ben-Ari y Francesco Mondada

'Elements of robotics' es un libro sobre robótica orientado al mundo académico, a la enseñanza de los principios de la robótica en sus primeros pasos. De hecho, está dirigido, según no sindican los autores en el prefacio, no sólo a estudiantes de un primer curso universitario sino, incluso, a alumnos de últimos cursos de bachillerato. Este carácter educativo e introductorio se nota en todo el desarrollo del material.

El contenido se estructura en dieciséis capítulos como sigue:
  • 'Chapter 1 - Robots and Their Applications:' Comienza con una breve definición de robot. Sigue con una propuesta de clasificación y luego va haciendo un recorrido mostrando algunos de esos tipos: robots industriales, robots móviles, robots humanoides y robots educativos. Luego define un robot genérico que va a utilizar en abundancia en lo que resta de libro para ilustrar muchos conceptos y proponer actividades.

  • 'Chapter 2 - Sensors:' Dedicado, claro, a sensores. Aporta una clasificación. Luego dedica bastante espacio a describir distintos tipos de sensores de distancia. Pasa a continuación a hablar de cámaras y otros sensores y finaliza detallando características como rango resolución, y precisión así como la linealidad / no linealidad.

  • 'Chapter 3 - Reactive behavior:' Habla del denominado comportamiento reactivo, una forma de algoritmo de control en que el comportamiento de un robot cambia ante la aparición de un evento sin usar datos ni mucha inteligencia. De cara a aplicar los algoritmos y ejemplos que aporta luego, describe primero los llamados 'Vehículos de Braitenberg' y luego, con esa base, ejemplifica algoritmos para reaccionar ante la detección de un objeto o seguir una línea.

  • 'Chapter 4 - Finite State Machines:' Se añade el concepto de estado y las máquinas de estados en el control de los robots y con esta base se introducen los algoritmos de búsqueda y aproximación.

  • 'Chapter 5 - Robotic Motion and Odometry:' Se adentra en el movimiento y en la medida del mismo mediante mecanismos, entre otros, como la odometría. Primero proporciona algún concepto básico sobre distancia, tiempo, velocidad y aceleración. Luego salta ya a hablar de navegación en robots usando odometría tanto en movimiento lineal como con curvas y explica también la problemática con los errores en odometría. Habla de los codificadores en ruedas y de las unidades inerciales y finaliza introduciendo la idea de los grados de libertad.

  • 'Chapter 6 - Control:' Explica elementos básicos de la teoría de control, empezando por el control en lazo abierto y cerrado y siguiendo por los controles proporcional, integral y derivativo.

  • 'Chapter 7 - Local Navigation: Obstacle Avoidance:' Se centra en los aspectos si se quiere más reactivos del movimiento, aquellos que hacen reaccionar ante la aparición de obstáculos u otros elementos cercanos e imprevistos. Se explican algoritmos como diferentes variantes de seguir una pared o seguir una línea y la búsqueda de caminos tras estudiar el movimiento de las hormigas.

  • 'Chapter 8 - Localization:' Aborda el tema de la localización, es decir, que el robot conozca dónde se encuentra. Comienza introduciendo la idea de los puntos de referencia ('landmarks') y cómo determinar la posición del robot a partir de posiciones de objetos conocidos incluyendo la triangulación. Luego habla brevemente de posicionamiento vía GPS, de la localización probabilística y de la incertidumbre en el movimiento.

  • 'Chapter 9 - Mapping:' Primer capítulo dedicado a los mapas, un artefacto por el que los robots tienen información sobre, entre otras cosas, la posición de obstáculos y que son un elemento muy importante en la navegación. Se explica la diferenciación entre mapas discretos y continuos y se introduce algún algoritmo para crear un mapa a partir de exploración. Luego se habla de la construcción de mapas cuando se tiene información del entorno y se finaliza hablando de SLAM ('Simultaneous Localization and Mapping') tanto de manera formal como con ejemplos y ejercicios.

  • 'Chapter 10 - Mapping-based Navigation:' Estudia el caso de la navegación basada en mapas. Primero se aplica el algoritmo de Dijkstra tanto en mapas continuos como de rejilla y con coste tanto constante como variable. Y se finaliza con el algoritmo A*.

  • 'Chapter 11 - Fuzzy Logic Control:' Un extraordinariamente breve capítulo dedicado al control mediante lógica difusa en que simplemente se introducen los tres pasos: convertir en difuso, aplicar las reglas y deshacer la 'difusión'.

  • 'Chapter 12 - Image Processing:' Se dedica al tratamiento de imágenes, de momento sin un alto grado de inteligencia. Comienza introduciendo ideas básicas como la propia obtención de imágenes, el procesamiento digital de señal y el enriquecimiento de señales mediante filtros o manipulación de histogramas. Y luego se pasa ya a tareas más concretas como la forma de detectar bordes y esquinas o grandes objetos.

  • 'Chapter 13 - Neural Networks:' Se dedica a las redes neuronales. Comienza con ideas generalistas sobre los sistemas neurológicos biológicos y el modelo de redes neuronales artificiales para, en seguida, saltar a su uso en robótica en el caso de vehículos de Braitenerg. Luego retorna a conceptos propios de las redes neuronales artificiales como las diferentes topologías, la memoria o el aprendizaje.

  • 'Chapter 14 - Machine Learning:' Sigue con elementos de inteligencia artificial introduciendo algunos elementos ligeramente dispersos de su uso en robótica. Así, habla de algunas formas de diferenciar entre colores. Luego se adentra bastante en el análisis discriminante lineal para a continuación saltar a explicar los perceptrones.

  • 'Chapter 15 - Swarm Robotics:' Aborda el interesante mundo de la robótica de enjambre, es decir, el uso de múltiples robots que colaboran en la ejecución de tareas. Primero se explican algunas aproximaciones existentes y luego se pasa a explicar con más detalle dos casos: la coordinación mediante intercambio local de información y la coordinación mediante interacciones físicas.

  • 'Chapter 16 - Kinematics of a Robotic Manipulator:' Un último capítulo que parece casi un anexo, donde se describe la cinemática y dinámica del típico manipulador industrial usando el habitual aparataje matemático con vectores y matrices. Se habla de la cinemática directa e inversa, de traslaciones y rotaciones y se remata con ideas sobre movimiento tridimensional.

A lo largo de los capítulos abundan los ejemplos, actividades y ejercicios como corresponde a un libro hecho con fines educativos.

'Elements of robotics' es un libro austero, sin adornos ni alharacas, pero tremendamente claro, ordenado y pedagógico. Un gran recurso para introducirse en el mundo de la robótica o incluso para volver a sus principios básicos de vez en cuando y ordenar ideas.

Muy recomendable para estudiantes y personas realmente interesadas en los aspectos técnicos de la robótica.


Mordechai Ben-Ari

(Fuente: Traducción y ligera elaboración propia de su entrada en Wikipedia)

Mordechai Ben-Ari
Mordechai (Moti) Ben-Ari es profesor emérito de ciencia de los computadores en el Weizmann Institute of Science.

Ben-Ari ha publicado numerosos libros de texto en ciencia de los computadores, desarrollado herramientas software para enseñar Ciencia de los Computadores, y escrito artículos influyentes en materia de educación en ciencia de los computadores. Su foco principal ha estado en los libros y herramientas para el aprendizaje de conceptos teóricos en ciencia de los computadores, matemáticas y lógica matemática.

En colaboración con la University of Joensuu (ahora parte de la University of Eastern Finland) su grupo desarrolló el programa Jeliot, un sistema de animación para enseñar computación y programación a nivel elemental.

Ha colaborado con la École Polytechnique Fédérale de Lausanne en robótica educativa usando el robot Thymio.

Ben-Ari ha publicado dos libros en el programa Open Access de Springer:
  • 'Elements of robotics' con Francesco Mondada
  • 'Mathematical Surprises'
Ben-Ari recibió el premio ACM SIGCSE Award for Outstanding Contributions for Computer Science Education en 2004, fue nombrado ACM Distinguished Educator en 2009 y recibió el ACM Karl V. Karlstrom Award en 2019.

Puedes saber más del autor visitando su perfil en LinkedIn.

Francesco Mondada

(Fuente: Traducción y ligera elaboración propia de su entrada en Wikipedia)

Francesco Mondada
Francesco Mondada (nacido el 17 de Marzo de 1967) es un profesor suizo de Inteligencia Artificial y robótica. Obtuvo un Máster en Microingeniería en el EPEL en 1991 y un doctorado en 1997. Es uno de los creadores de Kephera y dirigió el diseño del S-bot, el e-puck, el marXbot y los robots móviles Thymio. En conjunto, estos robots se mencionan en más de 9000 artículos de investigación. En concreto el robot Kephera es un hito en el campo de las robótica evolutiva y bio-inspirada,

Es uno de los fundadores del K-Team SA y director desde su creación en 1995 y hasta 2000, y uno de los fundadores de Calerga Sarl en 2001 y Mobsya en 2010.

Su trabajo reciente se encuadra en la robótica colectiva y la educación.

Puedes saber más del autor visitando su perfil en LinkedIn o su página profesional.

Ficha técnica:

EDITORIAL: Springer
AÑO: 2018 
ISBN: 978-3319625324
PAGINAS: 324

Artículos de este blog relacionados

No hay comentarios:

Publicar un comentario