5 estrategias probadas para prevenir colisiones de robots (y un plan de respaldo final)
¿Cómo evitar que tu robot colisione con objetos en su espacio de trabajo? Aquí te explicamos cómo evitar colisiones sin complicarte la vida.
Una pregunta reciente en el foro de RoboDK puso de relieve un problema común con los robots. El usuario Micronexx preguntaba cómo evitar colisiones, si RoboDK genera trayectorias libres de colisiones automáticamente o si el usuario debe hacer ajustes manuales.
Este tema es más complejo de lo que parece. RoboDK ciertamente incluye funcionalidades que ayudan a evitar colisiones, incluido cierto enrutamiento automático. Sin embargo, la "evitación de colisiones" en robótica es un tema profundo y complejo. Proyectos de investigación enteros se dedican a la planificación de trayectorias y la evitación de colisiones. Incluso se han desarrollado algoritmos avanzados de Inteligencia Artificial para ello.
La buena noticia es que, para la mayoría de nosotros, las cosas no tienen por qué ser tan complicadas. Existen formas más sencillas de evitar que tu robot colisione con objetos.
5 formas sencillas de evitar colisiones de robots
Suele ser mejor empezar por lo simple.
Esta es una buena regla general al intentar resolver cualquier problema en la programación de robots. Aunque los robots son capaces de funcionalidades avanzadas, las soluciones de ingeniería simples suelen ser las mejores.
Aquí tienes 5 formas sencillas de evitar que tu robot colisione con objetos.
1. Planifica tu espacio de trabajo correctamente desde el principio
Las colisiones ocurren con mayor frecuencia cuando el espacio de trabajo no se ha planificado bien. Deberías comenzar cualquier integración robotizada planificando el espacio, por ejemplo, esbozándolo en papel.
Planifica qué áreas recorrerá el robot y cuáles quedarán fuera de su alcance. Intenta "representar" la secuencia de movimientos del robot con tu propio brazo antes de programarlos en el robot; este es un método muy eficaz para reducir posibles problemas antes de que surjan, y es muy rápido de hacer.
2. Elimina físicamente las obstrucciones potenciales
La mejor forma de evitar colisiones es asegurarse de que no haya nada con lo que el robot pueda chocar. Esto significa retirar del espacio de trabajo cualquier cosa que pueda obstruir la trayectoria del robot.

Asegúrate de que haya un camino despejado entre las diferentes áreas del espacio de trabajo. Si el robot recogerá objetos de una ubicación y los ensamblará en otra, retira todo lo que haya en el espacio de trabajo entre estos dos puntos.
Esto puede parecer obvio, pero es fácil olvidarse cuando se usa programación fuera de línea. Por ejemplo, puedes ver un pilar en el espacio de trabajo del robot y pensar "Está bien, lo evitaré en el programa del robot". Pero luego, al programar en un entorno simulado donde el pilar no existe, te olvidas de él y programas al robot para que se mueva justo a través de él.
3. Haz coincidir el mundo real con la simulación
El mundo real y la simulación dentro de RoboDK deben coincidir lo máximo posible. Puedes lograr esto de dos maneras:
- Crear un modelo preciso del espacio de trabajo físico dentro de la simulación: esto implica medir la ubicación exacta de cada objeto y modelarlo en el software. Puede ser extremadamente laborioso y, cuanto más confíes en la precisión de la simulación, menos margen de error habrá.
- Eliminar del mundo real los objetos que no están en la simulación: esto implica simplificar el espacio de trabajo real retirando objetos.
En la práctica, la mejor opción es una combinación de ambas. Retiras todos los objetos innecesarios del espacio de trabajo físico y añades todos los objetos necesarios a la simulación.
4. Ajusta manualmente los objetivos de programación
Antes de empezar a usar algoritmos complejos de evitación de colisiones, intenta ajustar tú mismo los movimientos del robot. Para la mayoría de aplicaciones, mover manualmente los objetivos dentro de RoboDK es una solución rápida, eficaz y robusta.
Por ejemplo, si el robot colisiona con un objeto durante un comando de Movimiento Articular, simplemente añade un par de puntos de paso extra para evitar el objeto. O, aún mejor, pregúntate si el objeto realmente necesita estar en el espacio de trabajo.
Una práctica que puede reducir significativamente las colisiones es decidir si cada movimiento es un movimiento de "tránsito" o un movimiento "operacional". Realiza los movimientos de tránsito solo en espacio libre donde no haya obstrucciones. Luego, detente a una pequeña distancia de la operación (la llamada "distancia de aproximación") y muévete cuidadosamente hacia la tarea antes de ejecutar el movimiento operacional.
5. Usa la nueva función del Asistente de Mecanizado
El mecanizado robotizado es una tarea donde probablemente necesitarás planificación de trayectoria automatizada. RoboDK facilita la generación de trayectorias de mecanizado mediante su asistente integrado.
La mayoría de las veces, no tendrás colisiones si has seguido los consejos anteriores. Sin embargo, existe una opción para evitar colisiones automáticamente durante la operación de mecanizado, que añadimos en la última versión de RoboDK. Lee la respuesta de Albert en el foro, que explica cómo usar esta nueva función.
Esta función evita colisiones rotando automáticamente el robot alrededor del eje Z de la herramienta. Como resultado, no evitará todas las colisiones, pero mejora la robustez del asistente de mecanizado.
Último recurso: Usa un planificador de movimiento avanzado
Si has pasado por todos los pasos anteriores y decides que aún necesitas evitación de colisiones autónoma, es hora de sacar la "artillería pesada". Esto significa usar algoritmos de planificación de movimiento de terceros para generar la trayectoria de tu robot.
Hay muchos planificadores de trayectoria que detectan y evitan colisiones automáticamente. Sin embargo, la mayoría son programas de investigación en fase muy temprana y, por tanto, no son muy fiables. Además, la mayoría están diseñados para robots móviles que solo se mueven en 2 dimensiones.
Sin embargo, hay algunos planificadores de trayectoria decentes que funcionan para manipuladores industriales. Ten en cuenta que para usarlos tendrás que hacer una programación seria.
- MoveIt!: es uno de los planificadores de movimiento gráficos más desarrollados para manipulación robótica. Usa el framework OMPL y proporciona una interfaz gráfica relativamente fácil. Está integrado en ROS. Si ya conoces ROS, podría ser una buena opción. Si no, puedes tener una curva de aprendizaje pronunciada.
- Open Motion Planning Library (OMPL): es posible usar OMPL solo, sin MoveIt! Proporciona bibliotecas en C++ y también tiene bindings para Python. Hay una cantidad razonable de documentación, pero aún implicará una curva de aprendizaje ya que la biblioteca tiene mucha funcionalidad.
- Bubbles: es una pequeña biblioteca que el CEO de RoboDK, Albert Nubiola, recomienda. Es un planificador de movimiento independiente para manipuladores que usa el algoritmo de mapa de carreteras probabilístico (PRM). Está escrito en C++ y tiene muy poca documentación. Pero, si eres un mago de la programación y estás dispuesto al desafío, podría proporcionar una solución mucho menos inflada que usar MoveIt.
En general, es mejor evitar colisiones usando uno de los métodos más sencillos. Pero, si necesitas usar los algoritmos avanzados, la evitación de colisiones es un tema fascinante.
¿Qué colisiones han causado problemas en tus aplicaciones robotizadas? Cuéntanos en los comentarios a continuación o únete a la discusión en LinkedIn, Twitter, Facebook, Instagram o en el foro de RoboDK.
Robot industrial
- Otto DIY+: Robot Arduino Bluetooth fácil de imprimir en 3D
- 4 Formas Sencillas de Mantener Fríos los Motores Paso a Paso de tu Impresora 3D
- Convierte Impresiones 3D Fallidas en Recursos: 4 Métodos Simples de Reciclaje
- Eliminar el Stringing en Impresión 3D: 5 Estrategias Probadas para Modelos Limpios y de Alta Calidad
- 10 perspectivas innovadoras sobre automatización robótica para fabricación moderna
- 5 Estrategias Comprobadas para Hacer su Entrega de Última Milla Más Verde
- 6 Tácticas Comprobadas para Afilar la Eficiencia de Programas CNC
- Estrategias robóticas efectivas para superar la escasez de mano de obra
- Tendencias de robótica 2022: Estrategias innovadoras de automatización para fabricantes
- PACKEX Toronto: Adopte la automatización sin fisuras hoy
- 4 estrategias probadas para impulsar la eficiencia de combustible en excavadoras