En RoboDK, tanto Smart Motion como el Planificador de movimiento sin colisiones (PRM) están diseñados para ayudar al robot a desplazarse sin chocar contra obstáculos. Sin embargo, utilizan matemáticas y flujos de trabajo diferentes para llevar a cabo esta tarea.
La función de planificación de movimiento del Planificador de movimiento sin colisiones crea automáticamente trayectorias sin colisiones dentro del espacio de trabajo del robot mediante un algoritmo de planificación de movimiento denominado «mapas de ruta probabilísticos» (PRM).
La principal diferencia entre ambos planificadores de movimiento radica en la cantidad de trabajo de preparación que hay que realizar antes de que el robot se ponga en marcha.
El planificador PRM es una herramienta que funciona como si se construyera una red de carreteras permanente. En primer lugar, ejecuta una «fase de construcción», en la que se dedican varios minutos a colocar puntos aleatoriamente e intentar conectarlos para formar un mapa de rutas gigante. Una vez acabado ese mapa, encontrar una trayectoria es instantáneo, ya que las «carreteras» ya están construidas. Sin embargo, si se mueve tan solo una mesa, una caja o cualquier otro objeto de la estación, todo el mapa queda inservible y hay que reconstruirlo desde cero.
Smart Motion está diseñado para ser mucho más flexible. No hay ningún paso lento de creación de mapas. Analiza exactamente dónde se encuentra el robot y adónde debe dirigirse, y a continuación encuentra un «túnel» seguro a través de los obstáculos. Se trata de un proceso de un solo paso: seleccione los puntos (objetivos), haga clic en «Generar» y el robot se pone en marcha. Si mueve un objeto dentro de su célula, simplemente vuelva a hacer clic en «Generar trayectoria» sin esperar a que se cree un nuevo mapa.
La velocidad en la planificación de movimientos no se reduce únicamente a la rapidez con la que se desplaza el robot, sino también al tiempo que tarda el planificador en realizar los cálculos.
La «fase de consulta» del planificador PRM (búsqueda de la trayectoria en el mapa) es muy rápida, pero va acompañada de una «fase de construcción» muy prolongada. Resulta ideal si la estación permanece siempre estática, pero lleva tiempo si se realizan cambios frecuentes.
Smart Motion utiliza un algoritmo increíblemente rápido a la hora de resolver un problema sencillo de «de A a B». Comienza a buscar desde ambos extremos de la trayectoria al mismo tiempo y se encuentra en el punto medio. Esto hace que el «tiempo de reflexión» sea prácticamente imperceptible para la mayoría de las tareas habituales.
El objetivo principal de cualquier planificador de movimiento es la detección y evitación de colisiones. Por lo tanto, la precisión de las trayectorias seguras generadas es un factor muy importante.
El planificador PRM se basa en los puntos aleatorios que colocó durante la fase de mapeo. Si los puntos aleatorios no se sitúan dentro de un espacio estrecho, el robot considerará que está bloqueado, aunque haya espacio de sobra. Un mayor número de muestras y más aristas por muestra producirán un mapa de ruta más detallado, cuya generación llevará más tiempo, pero que conducirá a una solución más precisa.
Smart Motion incluye una opción de «Espacio restringido» para este tipo de puntos complicados. Cuando está activada, el solucionador se ve obligado a operar en el espacio de las articulaciones en lugar de en el espacio cartesiano. De este modo, se garantiza que, al comprobar una pose, el sistema identifique una configuración de articulaciones única, lo que evita problemas relacionados con la existencia de múltiples soluciones posibles para una misma pose cartesiana. En resumen, esto ayuda al planificador a recordar la posición y la configuración del robot para garantizar que se mantenga la trayectoria encontrada.
Ambos planificadores de movimiento nos permiten controlar en qué medida el robot «se preocupa» por su entorno.
Para obtener una trayectoria más fluida o más segura utilizando el planificador PRM, es necesario aumentar en consecuencia el «Número de muestras» y el «Número de aristas por muestra». Esto mejora el mapa, pero alarga el tiempo de espera.
Smart Motion utiliza un sencillo control deslizante de «Calidad de la trayectoria» con los siguientes límites:
1.Grosero: se utiliza en espacios muy abiertos para obtener una respuesta inmediata.
2.Preciso: Se utiliza para trabajos complejos. Obliga al robot a dar «pasos minúsculos» para detectar posibles colisiones y generar una trayectoria global fluida.