HR-RECYCLER

¿Es realmente seguro que las personas compartan espacio de trabajo con robots? Robotnik en el proyecto HR-RECYCLER

La Industria 4.0 y las fábricas inteligentes son un marco propicio para las empresas que se plantean crecer. El sector tecnológico, en concreto la robótica colaborativa, está en constante desarrollo para dar respuesta a los nuevos retos que presenta este contexto.

Nuevos retos

Como decía Ángel Soriano en esta entrevista, ‘uno de los desafíos principales a los que nos enfrentamos en el desarrollo de los proyectos de I+D son los entornos dinámicos e impredecibles. Es uno de los factores más críticos a la hora de ofrecer una solución aplicable a distintos escenarios o casos de uso'.

Frente a estos escenarios cambiantes y dinámicos, es necesario ofrecer la máxima seguridad para que robots y humanos puedan operar de forma eficaz y con todas las garantías.

Este post muestra cómo la velocidad se adapta al entorno para que el robot cumpla su misión lo más rápido posible manteniendo la seguridad del sistema.
Los AMR actuales son más potentes, más avanzados y más productivos, por lo que la seguridad se ha convertido en un elemento fundamental y en el reto clave para una colaboración eficaz con los operarios.

HR-RECYCLER es un proyecto H2020 de I+D que desarrolla una Planta híbrida de reciclaje humano-robot para el reciclaje de equipos eléctricos y electrónicos.
Robotnik, como proveedor de hardware, se encarga de desarrollar nuevos conceptos de UAV capaces de manejar material dentro de fábricas inteligentes y preprocesar materiales RAEE por procedimientos robóticos automáticos (categorización de dispositivos eléctricos/electrónicos, desmontaje, clasificación de los componentes del dispositivo, etc.).

La seguridad es la clave

Para Robotnik, como fabricante de robots con experiencia desde 2002, y dentro del entorno colaborativo del proyecto HR-RECYCLER, este aspecto es especialmente importante ya que humanos y robots trabajarán codo con codo.

En artículos anteriores se ha hablado de la importancia de la seguridad centrándose en el aspecto predictivo/anticipatorio, es decir, la señalización y cómo se implementa en los AMR. Además de esto, la seguridad también implica aspectos como evitar colisiones, la ralentización o la detención de los robots y la comodidad de los humanos cuando un robot móvil autónomo trabaja a su alrededor.

Pero, ¿cómo funciona esto realmente? ¿Cómo garantiza Robotnik la seguridad de sus robots?

Robotnik pretende garantizar la seguridad de sus robots mediante el cumplimiento de la norma EN ISO 3691-4:2020, relativa a Carretillas industriales - Requisitos de seguridad y verificación - Parte 4: Carretillas industriales sin conductor y sus sistemas.

Para el cumplimiento de la normativa y además de los reglamentos concretos de cada país, este ofrece al lector una breve descripción sobre qué, por qué y cómo se alcanzará el conjunto de premisas de la ISO relacionadas con el movimiento.

En primer lugar, el robot debe estar adecuadamente diseñado para permitir que el sistema reduzca la velocidad, detenga el movimiento o modifique su comportamiento en función de las condiciones ambientales, tal y como se recoge en la ISO mencionada anteriormente, los requisitos mínimos de hardware en cuanto a garantizar el movimiento son:

  • Sistema de frenado: el robot necesita estar equipado con un sistema de frenado capaz de funcionar cuando el robot está apagado y también capaz de detener el sistema cuando los actuadores están fuera de control.
  • Sistema de control de velocidad:el robot debe estar equipado con un sistema de control de velocidad para enviar una señal de parada en caso de exceso de velocidad. También tiene que estar alineado y ser compatible con la estabilidad de la plataforma.
  • Sistema de control de la dirección: el robot necesita controlar el ángulo de dirección de los actuadores para controlar la estabilidad del robot.
  • Dispositivos de protección y medidas complementarias: para detectar personas en los recorridos en modo automático, los robots deben estar equipados con sensores capaces de detectar personas y correctamente instalados para ello. Si estos dispositivos no pueden funcionar en el sentido del movimiento, la velocidad máxima debe ser inferior a 0,3 m/s.

Una vez que esta parte ya está instalada en el robot y correctamente integrada, la configuración y las áreas de control deben estar alineadas con las capacidades del robot. Para comprobar todos los componentes, los robots tienen instalado el módulo PLC seguro, un controlador de seguridad modular ajustable para aplicaciones de seguridad y el núcleo del proceso de supervisión. El nivel de seguridad realmente alcanzado viene determinado por el cableado externo, la forma en que se implementa el cableado, la configuración, la selección de los activadores de comandos y la forma en que están dispuestos en la máquina.
En los robots de Robotnik, el sentido del cableado y de la interacción es el siguiente:

safety

 

Configuración

El PLC seguro se comunica con los frenos electromecánicos para activar la seguridad y detener o reducir la velocidad del robot. La configuración depende del diseño, la función y el área de trabajo del robot. Si el personal puede acceder a la trayectoria de la lanzadera, deben implementarse ciertas condiciones de seguridad de acuerdo con las normas aplicables, por lo que el robot debe ser capaz de actualizar este nivel de seguridad en tiempo real:

  • Áreas láser. Los escáneres láser utilizados pueden conmutar entre dos tipos de áreas: el área de advertencia, donde el robot reduce su velocidad máxima como prevención; y el campo de protección, donde el robot detiene su comportamiento si algo le cierra el paso. Ambos campos están configurados para aumentar proporcionalmente a la velocidad. La distancia mínima del campo de protección para el límite de velocidad máxima más bajo es de 0,3 m.
  • Límite de velocidad: los límites de velocidad se incluyen como una de las condiciones en la ISO para garantizar que el robot podrá detenerse antes de chocar y con una distancia restante, los límites también pueden reducirse para mejorar la estabilidad de la base o la carga. La velocidad máxima permitida debe ser inferior a 0,3 m/s si los sistemas de detección de personal (es decir, los escáneres láser) están silenciados y sólo pueden ser utilizados por los trabajadores especializados. Si el robot no trabaja cerca de las personas y tiene un gran espacio para trabajar, la velocidad máxima es de 1,2 m/s con el sistema de detección de personal activo. En la siguiente tabla se resumen todos los casos posibles de velocidad:

  • Ángulo de dirección: la dirección del movimiento es también uno de los condicionantes ya que la estabilidad puede verse afectada o el robot puede tener zonas no cubiertas por la seguridad.

 

Configuración específica

En el marco del proyecto se diseñaron dos tipos de robots: el RB-KAIROS+ que es una plataforma omnidireccional montada con un manipulador, y el RB-ARES, que es una transpaleta robotizada.

La configuración del RB-KAIROS+ cuenta con frenos de seguridad, dos botones de emergencia accesibles, un sistema de monitorización de la tracción en cada rueda y dos láseres 2D instalados y situados en dos de sus esquinas. Los escáneres proporcionan al robot un rango de visión de 360º de su entorno. El rango de visión detecta cualquier obstáculo situado a una altura de 170 mm del suelo, que es la altura recomendada para detectar las piernas del personal.

El RB- KAIROS + está configurado, de serie, para activar la parada de emergencia al detectar un obstáculo a una distancia de 1.000 mm. Esta configuración puede ser modificada en función del entorno o de la aplicación a realizar, siempre que no comprometa la seguridad de los usuarios.

 

El robot tiene una zona de seguridad predefinida en el plano horizontal, determinada por la detección de láseres de seguridad. Cuando se detecta un obstáculo o una persona dentro de la zona de seguridad, el RB-KAIROS+ se detiene hasta que la zona vuelve a estar libre. El tamaño de la zona de seguridad depende de la velocidad de la base móvil.

Cuando la base está estática o tiene una velocidad inferior a 0,15 m/s, la zona de seguridad es la que se detalla en el siguiente esquema:

Esta superficie aumenta con la velocidad de la base móvil hasta alcanzar las dimensiones máximas con una velocidad de 1m/s:

Una vez alcanzada la velocidad máxima de 1,3m/s, la plataforma se detiene por razones de seguridad.

En el caso de la transpaleta, está configurada con los frenos de seguridad, el sistema de control de la dirección y la tracción y un único láser 2D instalado y situado en la parte delantera, que le confiere un rango de visión de 270º. El rango de visión detecta cualquier obstáculo situado a una altura de 170 mm del suelo y está configurado para activar la parada de emergencia al detectar un obstáculo a una distancia de 250 mm.safety

El robot tiene una zona de seguridad predefinida en el plano horizontal, determinada por la detección láser de seguridad. El tamaño de la zona de seguridad depende del vector de velocidad de la base móvil, es decir, de su módulo, sentido y dirección de movimiento. Se definen varias regiones pequeñas y sólo se activan las que están en la dirección y sentido del vector de movimiento.

safety zone

Cuando la base es estática o tiene una velocidad inferior a 0,15 m/s, la zona de seguridad es la que se detalla en el siguiente esquema:

Esta superficie aumenta con la velocidad de la base móvil hasta alcanzar las dimensiones máximas con una velocidad de 1,2 m/s:

Conclusiones

La seguridad es una parte crucial que hay que tener en cuenta a la hora de diseñar un AMR que trabaje en un escenario colaborativo entre humanos y robots. Dentro del diseño de soluciones robóticas, Robotnik trabaja para conseguir una sinergia total entre los componentes para construir y desarrollar robots capaces de trabajar de forma segura entre humanos y que, al mismo tiempo, representen una solución eficiente y rentable para la empresa que apuesta por la implantación de la robótica.

 

 


robotics r&d

Robotnik en DECENTER: Robótica + Inteligencia artificial

Entrevista PhD- Decenter Project Coordinator.

La Inteligencia Artificial es una tecnología en constante evolución y cuyas posibilidades e influencia en distintos ámbitos es amplísima. Existen numerosas aplicaciones de IA relacionadas con robótica móvil que tienen una relación directa en distintos sectores industriales. 

Todas estas aplicaciones, así como los hábitos de la sociedad actual, hace que sea necesario enfocar nuestra atención en un punto clave: ¿Qué hacemos con la enorme cantidad de datos que generamos? 

Robotnik forma parte de DECENTER, un proyecto europeo dentro del programa H2020 cuya finalidad es precisamente gestionar, proteger y procesar de forma eficiente y segura estos datos. 

Ángel Soriano, responsable por parte de Robotnik en este proyecto, que nos acerca un poco más a DECENTER, contándonos cómo ha evolucionado desde sus inicios, en qué fase se encuentran los objetivos, las conclusiones que extraen y mucho más.

 

1. Para comenzar la conversación, ¿podrías hacernos un resumen de en qué consiste exactamente DECENTER?

DECENTER es un proyecto que intenta ofrecer una infraestructura que facilite a los desarrolladores de Inteligencia Artificial y software orientado al Cloud&Edge computing, la integración y despliegue de sus servicios o aplicaciones.

El proyecto contempla 3 perfiles diferentes:

  1. Programadores y arquitectos orientados a la computación distribuida o gestión de la computación en edge/cloud.
  2. Desarrolladores enfocados a algoritmos de IA, los cuales normalmente requieren gran capacidad de cómputo y memoria.
  3. Operarios o personal técnico responsable del buen funcionamiento e integración del software desplegado en el hardware disponible.

Lo que se pretende con DECENTER es facilitar al técnico la integración de procesos y/o algoritmos de IA en el sistema que ya tiene implantado en su fábrica, y que además pueda procesarlos en el edge o en el cloud.

 

 

Un ejemplo: tenemos un profesional que se dedica a desarrollar un algoritmo que es capaz de identificar robots dentro de una fotografía. Por otro lado, tenemos a un trabajador-operario que conoce su sistema, que es capaz de tomar esa fotografía, pero no es especialista en Inteligencia Artificial. ¿Cómo puede integrar las ventajas que ofrece la IA sin necesidad de especializarse en ello?

DECENTER pretende crear estas conexiones y distribuir la computación (estos algoritmos requieren mucha capacidad de cómputo) a distintos niveles. 

Un nivel local, podría ser ejecutarlo dentro del mismo ordenador que toma la fotografía. 

Un nivel por encima sería ejecutarlo dentro de un ordenador que no es el mismo que toma la fotografía, pero está dentro de la misma región o relativamente cerca (Edge).

Y un nivel superior sería ejecutarlo en el cloud.

Jugando con esos 3 niveles, el proyecto ofrece una plataforma que facilita esa integración y comunicación.

 

¿Qué papel desempeña Robotnik en el proyecto?

Todo lo anteriormente explicado se aplica a 4 casos de uso que están definidos en el proyecto. Robotnik es proveedor de uno de los casos de uso del proyecto: logística de robótica.

Cuando un robot está realizando sus tareas autónomas navegando por el almacén, tiene que tomar ciertas decisiones en base a los imprevistos que van surgiendo, como por ejemplo el hecho de encontrar obstáculos que bloqueen su camino. En ciertas ocasiones, si el robot no es capaz de identificar qué es ese obstáculo, la opción más segura es, primero que el robot se detenga inmediatamente y después: 

  • O que el robot se quede estático esperando hasta que el obstáculo desaparezca para asegurar que no existe riesgo alguno de colisión. 
  • O que el robot replanifique su trayectoria para alcanzar su objetivo por otro sitio e intentar evitar el obstáculo.  

Esta es una situación muy frecuente en flotas de robots móviles colaborativos ya que suelen compartir espacio de trabajo entre ellos mismos y con trabajadores del mismo almacén. 

DECENTER abre la posibilidad de aplicar una identificación de obstáculos a través de la IA. 

Robotnik ofrece los robots y toda la infraestructura, además de desarrollar la integración de la plataforma DECENTER dentro del robot y de la estructura que ya teníamos y gracias a este servicio que nos ofrece el partner y el proyecto, hemos podido ramificar las opciones de gestionar las flotas de robots en almacenes. 

 

2. En este punto, ¿Qué objetivos de los marcados se han cumplido y en qué aspectos será necesario seguir trabajando?

Un ejemplo de objetivo cumplido en el caso de uso concreto de Robotnik es: nos propusimos ser capaces de identificar otro robot con un nivel de confianza superior al 80% y de reducir el uso de la CPU de los robots un 10% derivando computación al edge/cloud. Ambos objetivos se han alcanzado de manera satisfactoria.

 

3. ¿Qué supone este proyecto para la industria 4.0?

Hay varias cosas que DECENTER aporta a la industria 4.0 directamente. Una de ellas es la gestión de la computación: poder derivar y gestionar la computación entre dispositivos. La computación distribuida es algo que está actualmente a la orden del día y es pura vanguardia. Hablamos incluso, de hacerlo de una manera inteligente en base a unos objetivos o prioridades. 

Robotnik diseña y fabrica robots móviles. Si queremos que un robot ejecute un algoritmo muy pesado y con mucha capacidad de cómputo (esto sucede en muchísimas ocasiones: cámaras de alta resolución, LiDAR que captura 320.000 puntos distintos cada segundo...), hemos de capacitarlo para ello.

La solución directa es que la CPU del robot sea muy potente lo que implica normalmente implica que sea más cara. Sin embargo, con la capacidad de delegar computación, tienes la posibilidad de enviar todos esos datos usando la comunicación con otros dispositivos o con el cloud, computar los datos allí y aplicar el resultado devuelto al robot.

Esto abarata costes desde el punto de vista de la producción del robot, hace el sistema más inteligente puesto que se reduce el consumo eléctrico del robot, optimiza la energía y en general, optimiza recursos.

 

4. Teniendo en cuenta tanto a las grandes empresas como a las PYMES, ¿Cuál es el mayor reto para la aplicación real de la Inteligencia Artificial en la industria?

El mayor reto es sin duda que la IA se encuentra en continua evolución y expansión y su integración en la industria requiere de personal especializado para ello. Actualmente existe una brecha entre la comunidad especializada en IA y el personal involucrado en la industria que debe lidiar con los problemas propios de su industria.

DECENTER intenta acercar ambos perfiles de modo que la industria pueda beneficiarse de la aplicación de la IA sin necesidad de ser especialista en IA.

Existe otro reto tecnológico implícito para aplicar la metodología de DECENTER en una aplicación real de industria, las comunicaciones. Cuando se delega la computación entre dispositivos, y estos requieren de cierta velocidad de procesamiento en tiempo real, se necesita que la comunicación entre dispositivos sea rápida y segura. 

En DECENTER hemos trabajado a varios niveles: 

  1. El EDGE. Aquí no te hace falta internet para comunicarte con otro dispositivo y se considera un nivel mucho más rápido en cuanto a comunicaciones que el cloud.
  2. El cloud. Aquí sí que hace falta una conexión a internet para acceder a los servidores y normalmente se asume que es más lento que el EDGE. 

Por tanto, en general las comunicaciones es el gran challenge tecnológico que tiene esta metodología. Aquí cabría también hablar del 5G, que es otro campo en el que Robotnik está participando activamente en otros proyectos. 

 

5. Qué casos de uso han tenido más repercusión o qué sectores han mostrado interés en los avances de DECENTER?

DECENTER tiene que ver sobre todo con el procesamiento de datos, su rapidez en transmisión de datos y capacidad de computación de los mismos. Recursos computacionales. 

Todos los proyectos tienen un desarrollo en el que siempre se definen unos casos de uso para demostrar que el desarrollo es aplicable a aplicaciones reales. Al final, hay que demostrar en qué áreas de interés va a funcionar lo que se desarrolla durante el proyecto.

En nuestro caso de uso en DECENTER, los stakeholders son cualquiera que emplee robótica de logística.

Puede ser interesante para cualquier gestión de almacenes tanto por el ahorro que va a suponer para la empresa como por el salto tecnológico y productivo. 

Durante el piloto de DECENTER se probó con el RB-1 BASE, dando resultados muy atractivos. Ahora no tengo robots individuales, sino que tengo una flota de ordenadores que se ‘ayudan’ entre sí para optimizar los procesos, no sólo desde un punto de vista físico, sino sobre todo desde el procesamiento de datos y la ejecución de cada uno de ellos: si uno de tus robots se está parado cargando, puedes utilizar la computación o pc de ese robot para procesar datos del robot que sí está moviendo.

 


industry 4.0

Robots móviles y seguridad: la experiencia de Robotnik en el proyecto HR-RECYCLER

Los robots colaborativos han pasado a primer plano en la escena internacional al generalizarse la Industria 4.0. Hoy tenemos robots más potentes, más avanzados y más productivos, por lo que la combinación robots móviles y seguridad es un elemento clave.

La seguridad es la clave

Para Robotnik, como fabricante de robots con amplia experiencia y dentro del entorno colaborativo del proyecto HR-Recycler, este aspecto es especialmente importante ya que humanos y robots trabajarán codo con codo. La solución propuesta para transportar materiales dentro de una fábrica tiene que hacerse de forma segura.

Para este proyecto, los robots diseñados son el RB-KAIROS+ (manipulador móvil) y el RB-ARES (transpaleta). Es realmente importante cómo los robots móviles mostrarán la intención de movimiento, elevación o manipulación.

industry 4.0

 

Para garantizar el correcto funcionamiento en el complejo marco de este proyecto, Robotnik ha dotado a sus robots de sensores y señalizadores que permiten al robot proceder con seguridad y mostrar sus objetivos de forma anticipada.

Los fabricantes pueden introducir medidas de seguridad en sus operaciones automatizadas de varias maneras. El tipo y la complejidad de estas medidas variarán según la aplicación robótica.

Para garantizar la máxima seguridad, existen ciertas reglas y normas de seguridad que estos robots colaborativos deben cumplir. En Europa se encuentran en la norma EN ISO 3691-4:2020 e ISO 12100:2010 6.4.3

rb-ares mobile robot

Aplicación de la normativa ISO

Este post pretende dar al lector una breve descripción sobre qué implica y como se aplica esta normativa.

En primer lugar, ¿qué incluye la normativa ISO? La normativa sobre sistemas de alerta dice:

  1. Cuando se inicie cualquier movimiento después de un estado de parada de más de 10 segundos, se activará una señal de aviso visible o acústica durante al menos 2 segundos antes del inicio del movimiento.
  2. Durante cualquier movimiento se activará una señal de aviso visible o acústica.
    Si los medios de detección humana están activos, la señal será diferente.
  3. Cuando los robots cambien su dirección desde una trayectoria recta, se dará una indicación visible de la dirección que debe tomar antes de que cambie la dirección en caso de que el robot se conduzca de forma autónoma.
  4. Cuando el elevador esté activo, deberá haber una señalización especial.

La solución propuesta es un software de dos pasos que gestionará las señales del robot, explicado a continuación tras el diagrama y en las celdas rojas:

El robot_local_control es un nodo gestor que tiene información sobre el estado de todo el robot: estado del elevador, meta activa, misión terminada, etc. A la derecha, un grupo de nodos que gestiona el movimiento del robot con un nivel de prioridad:

  • Robotnik_pad_node: El trabajador utiliza un pad PS4 para controlar el robot y este nodo transmitirá las órdenes (modo no autónomo).
  • Nodos de planificación de rutas: de igual manera que Move_base, controla el robot (modo autónomo).

Robotnik ha instalado en sus robots móviles dos formas de alertar a los usuarios de las instalaciones: dispositivos acústicos o indicadores luminosos a través de acoustic_safety_driver y leds_driver.

industry 4.0

Como se puede ver, hay dos pasos para unir las partes superior e inferior, un nodo para transformar el movimiento en señales para mostrar la intención del robot y otro para orquestar los dos tipos de señales y gestionar los requisitos de la normativa.

Un controlador de señales de giro está destinado a resolver el primer y el cuarto requisito de la normativa en función del modo del robot (autónomo o no autónomo).

En modo no autónomo, y como dice la norma, el movimiento depende de un personal debidamente autorizado y formado por lo que basta con mostrar que el robot se mueve leyendo la orden de movimiento y comprobando la velocidad aplicada.

En modo autónomo el robot navega hacia un punto de destino a través de una trayectoria calculada por el planificador, además gestiona el AMR para evitar obstáculos de forma dinámica y por ello es importante alertar a los trabajadores en todo momento.

¿Cuál es el proceso?

Esta es una breve descripción de la función, que tiene en cuenta el plan y recalcula al mismo tiempo que el planificador para poder mostrar la predicción más actualizada del movimiento.

 

Por último, el robot_signal_manager pretende resolver el resto de problemas ya que tiene acceso al estado del robot, muestra una señal luminosa o una señal acústica 2 segundos antes del movimiento, da prioridad a las señales de emergencia (en consonancia con el comportamiento del robot, las señales rojas significan que el robot se detendrá) y las señales que no son exclusivas se muestran mediante balizas o señales acústicas.

 

La zona ocupada es una de las señales no exclusivas. Los robots tienen unas balizas extra que parpadean en rojo cuando hay algo en la zona de protección (cerca del área de movimiento del robot, de la zona crítica) y en amarillo se indica cuando hay algo en la zona de advertencia (cerca de la zona de protección).

 

Resumiendo

La seguridad no sólo consiste en detener el robot o evitar un choque cuando se produce la colaboración entre humanos y robots. Con el desarrollo de estos nodos, Robotnik pretende no sólo disminuir la probabilidad de accidente o cumplir con las premisas de la ISO de seguridad, sino también ayudar a los trabajadores a sentirse más cómodos con las decisiones del robot móvil y acercar la colaboración humano-robot, mostrando señales claras sobre la actuación del robot.


dissasembly area

Como usar MoveIT para desarrollar una aplicación de manipulación robótica

El proyecto HR-Recycler, financiado por la Comisión Europea, tiene como objetivo desarrollar un entorno híbrido de colaboración humano-robot para el reciclaje de residuos electrónicos. Humanos y robots trabajarán de forma colaborativa compartiendo diversas actividades de manipulación. Una de estas tareas tiene lugar en el área de desmontaje, donde los residuos electrónicos se desmontan y sus componentes se clasifican por tipo en cajas. 

Una plataforma sencilla para aplicaciones de manipulación robótica

Para agilizar la tarea de clasificación de componentes, Robotnik está desarrollando el robot manipulador móvil RB-KAIROS encargado de coger las cajas con componentes electrónicos de las mesas de trabajo y transportarlas hasta su destino final o hasta la próxima estación de procesamiento. MoveIt es una plataforma de desarrollo de aplicaciones de manipulación robótica de código abierto, que permite desarrollar aplicaciones complejas de forma sencilla usando ROS. 

Este post expone brevemente cómo Robotnik ha utilizado MoveIt para el desarrollo de una aplicación de manipulación que se puede integrar en el robot RB-KAIROS.

Características y ventajas de usar MoveIt

A medida que se iban probando las funcionalidades de MoveIt, se puso de manifiesto lo útil que era, en las etapas iniciales del proceso, desarrollar una aplicación de manipulación robótica. Ayudó a decidir el diseño del entorno de trabajo, a determinar si el robot era capaz de desempeñar las actividades de manipulación necesarias en ese entorno de trabajo y si no era así, a modificar el entorno para conseguir el mejor desempeño.

Diseño del entorno de trabajo en MoveIt

MoveIt permite crear y simular el entorno de trabajo del robot utilizando objetos de malla 3D diseñados en cualquier programa CAD, permitiendo además la interacción entre el robot y este entorno de trabajo. 

Con MoveIt se puede planificar el movimiento del robot a cualquier posición teniendo en cuenta la situación actual de los objetos presentes en el entorno, evitando así colisiones. Pero lo más interesante es que no sólo planifica la trayectoria evitando los obstáculos, si no que además  permite interactuar con los objetos del entorno, pudiendo coger cualquier objeto del entorno e incluirlo como si fuera parte del robot a la hora de planificar la trayectoria a la posición deseada. Cualquier objeto de colisión de MoveIt puede vincularse al eslabón (link) del robot que se desee, una vez vinculados se moverán conjuntamente.

Figure 2: Planificación de escena con objetos de colisión (verde) y objetos adjuntos (violeta).

Esta herramienta ayudó a resolver desde el primer momento ciertas dudas: si el manipulador móvil era capaz de coger cajas desde una mesa con una cierta altura, a qué distancia de la mesa deberíamos colocarnos para poder coger las cajas correctamente, si había el suficiente espacio para que el robot pudiera mover el brazo y así llevar a cabo las acciones de manipulación necesarias. También sirvió para diseñar las cajas que el robot debe manipular, de forma que tuvieran un tamaño y forma adecuados para encajar en el reducido espacio disponible en el entorno de trabajo y para permitir la correcta ejecución de las tareas de manipulación. 

Planificación de movimientos con MoveIt

MoveIt incluye varias herramientas que permiten adaptar el algoritmo de planificación de  movimientos para alcanzar la posición del robot deseada usando criterios personalizables y así obtener el mejor desempeño para tu aplicación. Esto es muy útil ya que permite restringir los movimientos que el robot puede realizar para moverse de una posición a otra, que en una aplicación como la desarrollada, con un espacio de trabajo reducido donde el robot debe manipular objetos en un entorno compartido con humanos, es muy importante.

Figure 3: Planificación de la meta deseada teniendo en cuenta las colisiones con la escena.

Un requerimiento de movimiento importante es mantener las cajas paralelas al suelo al transportarlas ya que estas están llenas de componentes electrónicos a reciclar. Planificar con restricciones de movimiento es fácil en Moveit.

MoveIt permite aplicar diferentes restricciones de movimiento, las que han resultado más útiles para nuestra aplicación son las restricciones de orientación y articulación. 

  • Las restricciones de orientación:  ayudan a fijar la orientación deseada de cualquier eslabón (link) del robot. Son muy útiles cuando se desea mantener el extremo final del brazo manipulador del robot (end-effector) paralelo al suelo. En este caso sirve para mantener el end_effector, que es donde se encuentra la herramienta de succión para coger las cajas,  paralela al suelo.
  • Las restricciones de articulación: son útiles para limitar la posición de cualquier articulación del robot a un rango determinado. Y también lo son cuando se desea controlar la posición relativa de las articulaciones del robot durante el movimiento, manteniendo siempre una forma determinada. En este caso, permitió definir la posición entre el codo y hombro del brazo robótico, de forma que los movimientos que se ejecutan son más naturales y, además, se evitan configuraciones que pueden ser potencialmente peligrosas.

 

Figure 4:  Planificación de movimiento con restricciones de articulación y orientación vs sin.

Otra configuración que se puede realizar con MoveIt es modificar el algoritmo de planificación y  usar durante la planificación una configuración de espacio cartesiano o de espacio articulaciones a la hora de representar el problema de planificación que se debe optimizar.  Se puede intercambiar entre los dos espacios según la trayectoria final que se desee obtener.

  • Planificación en el espacio cartesiano (movimientos cartesianos): se utiliza cuando se desea seguir una trayectoria muy precisa con el extremo final del brazo (end-effector) donde se encuentra la herramienta. En este caso, usamos esta configuración al movernos desde la posición de aproximación a la caja hasta la posición de coger la caja y al revés. Debido a que el robot manipulador móvil debe cargar las cajas en su espalda para transportarlas, el espacio que existe es reducido y, por tanto, las cajas deben ir muy próximas, intentando evitar su deslizamiento durante el transporte y encajándose  dentro de unas bandejas. Usando una trayectoria calculada en espacio cartesiano queda asegurado que las cajas se elevan de forma totalmente vertical, evitando así enganches entre cajas y parones innecesarios, además de lograr que las cajas se queden exactamente dentro de las bandejas.
  • Planificación en el espacio de articulaciones: se utiliza habitualmente ya que permite obtener trayectorias mucho más naturales y fluidas. En este caso, se utilizó para mover el brazo de forma fluida entre diferentes posiciones que no tienen requerimientos muy estrictos de posición.

 

Figure 5: Motion Planning en espacio Cartesian vs espacio Joint.

Lo que se presenta en este post es solo un pequeño resumen de cómo en Robotnik se ha  usado MoveIt para desarrollar una aplicación de manipulación con un brazo robótico preliminar. MoveIt ofrece muchas otras herramientas que permiten desarrollar una aplicación compleja, algunas de las cuales incluyen: la integración de sensores que permiten añadir visión artificial para reconocimiento de objetos en el entorno  que se pueden importar al entorno de MoveIt, o el uso de algoritmos de deep learning para generar poses de agarre de diferentes objetos usando la herramienta instalada en el brazo manipulador.

Estas áreas serán exploradas a medida que avance el proyecto y, del mismo modo, compartidas para dar a conocer las últimas funcionalidades de MoveIt para desarrollar una aplicación de manipulación con brazo robótico.

A continuación puede ver un corto vídeo con una demostración de la situación actual de la aplicación de manipulación desarrollada instalada en un RB-KAIROS de Robotnik.

https://www.youtube.com/watch?v=JgyDB57xjDw