El Addin Smart Motion es un planificador de movimiento que le ayuda a crear automáticamente trayectorias seguras para que su robot se desplace de un punto a otro sin colisiones. Utiliza un algoritmo de evitación de colisiones para garantizar que se pueda encontrar rápidamente una solución sin colisiones.

Puede abrir el menú de Smart Motion accediendo a «Utilidades»➔ «Smart Motion» y haciendo clic en «Generar trayectoria sin colisiones».

Otra forma de abrir el menú es haciendo clic en el primer icono de Smart Motion (el más a la izquierda) de la barra de herramientas.


También puede acceder a él a través del menú desplegable «Comprobación de colisiones» de la barra de herramientas.

Debe asegurarse de que su proyecto RoboDK esté correctamente configurado para utilizar de forma eficaz el planificador Smart Motion.
Su proyecto debe incluir lo siguiente:
1.Robot: un brazo robótico. Para nuestro ejemplo, utilizamos el robot Comau Smart5 NJ 130-2.6.

2.Herramienta: una o más herramientas (TCP). En el ejemplo de soldadura por puntos se utilizará la pistola de soldadura por puntos OBARA.

3.Objetos: Debe haber al menos un objeto (obstáculo) disponible en el espacio de trabajo para poder utilizar la función de evitación de colisiones. En este caso, hemos utilizado un bastidor de coche personalizado junto con un soporte para bastidor de coche y un raíl para bastidor de coche.

4.Objetivos: Las posiciones de inicio y fin de la trayectoria generada deben definirse mediante objetivos. Por lo tanto, deben existir al menos dos objetivos en la estación. El ejemplo contiene objetivos de aproximación y retroceso en la parte delantera y trasera, así como algunos objetivos dentro del sistema de automóvil donde debe realizarse la soldadura por puntos.

Para crear una trayectoria segura con Smart Motion, seleccione los objetivos a los que debe dirigirse el robot y haga clic en «Generar trayectoria». El Addin realiza los cálculos por usted.
Utilizaremos el siguiente ejemplo de soldadura por puntos para mostrar el funcionamiento del Addin Smart Motion: «Soldadura por puntos con Comau». Este ejemplo incluye los cuatro componentes que hemos descrito anteriormente.
Este proyecto también incluye trayectorias sin colisiones en forma de scripts creados mediante el plugin PRM. Con el fin de demostrar el Addin Smart Motion, vamos a eliminar estos programas que se crearon automáticamente mediante el plugin PRM:
●AppFrontPg
●AppRearPg
●HomePg
●HomeToAppFront
●AppRearToHome
●AppFrontToAppRear
●AppRearToAppFront
●Main

Para utilizar el Addin, siga estos pasos:
1.Abra el selector de objetivos: haga clic en el botón «Seleccionar objetivos» del menú «Smart Motion» para abrir la ventana de selección. Estos objetivos definen la trayectoria que desea generar.


2.Elija y ordene los puntos: seleccione los objetivos que desee utilizar en la sección «Objetivos disponibles», situada a la izquierda, y haga clic en el botón >> para trasladarlos a la sección «Objetivos seleccionados», situada a la derecha. Puede cambiar su orden en la parte derecha (mediante la función de arrastrar y soltar) para decidir a dónde se dirige el robot en primer lugar. Una vez seleccionados los objetivos, puede confirmar la selección con el botón «Aceptar».

3.Seleccione la calidad de la trayectoria: mueva el control deslizante «Calidad de la trayectoria». Utilice «Grosera» para comprobaciones rápidas, o muévalo hacia «Fina» para asegurarse de que el robot compruebe los espacios reducidos de forma segura.

4.Cree la trayectoria: Haga clic en el botón «Generar trayectoria». La herramienta creará un movimiento seguro entre cada par de puntos de su lista.



También puede «vincular elementos» seleccionando varios objetivos en el árbol de estaciones (en el orden requerido) y haciendo clic en el icono «Vincular elementos seleccionados» de la barra de herramientas (el segundo icono por la derecha de Smart Motion).
Al configurar una trayectoria de movimiento a través del menú del selector de objetivos, se traslada una lista de puntos disponibles a la lista «Objetivos seleccionados». Junto a algunos de estos elementos seleccionados, se puede activar o desactivar una casilla de verificación denominada «Aproximación».
Estas casillas de selección actúan como sugerencias inteligentes para el solucionador de planificación de trayectorias.
●Cuando no está marcada (Parada estándar): el robot trata el objetivo como un destino estricto. Planificará una trayectoria completa desde el punto A hasta el punto B y, a continuación, planificará una trayectoria completamente nueva desde el punto B hasta el punto C. El robot se comprometerá plenamente a llegar exactamente al punto B antes de pensar en el siguiente paso.
●Cuando está marcada («Pasar por» o «Punto de aproximación»): Al marcar la casilla, se indica al solucionador que este punto es solo un «trampolín» temporal o una puerta de entrada de camino al destino real. En lugar de dividir el movimiento en tramos separados y rígidos (de A a B y, a continuación, de B a C), el solucionador evalúa toda la cadena (A➔ B➔ C) como una única secuencia fluida.
Al marcar un objetivo de aproximación, cambia por completo la forma en que la herramienta «Simplificar programa» optimiza la trayectoria:
●Curvas fluidas: dado que el solucionador sabe que el robot no necesita detenerse por completo en el punto de aproximación, suaviza el movimiento. El robot se desplaza hacia el punto de aproximación y gira con elegancia hacia el destino final sin «tartamudear» ni detenerse bruscamente.
●Limpieza agresiva: cuando la herramienta de simplificación se aplica a una trayectoria de varios puntos, puede realizar un recorte de movimientos innecesarios y voluminosos mucho mejor si puede anticiparse a toda la secuencia, en lugar de detener sus cálculos en cada uno de los objetivos intermedios. Esto se traduce en menos líneas de código, una velocidad constante del robot y tiempos de producción generales más rápidos.
El Addin Smart Motion también ofrece opciones adicionales para ajustar la solución según sus necesidades. Estas opciones le permiten personalizar algunos parámetros que influyen en los resultados finales o en la trayectoria generada.
La rotación del TCP puede limitarse utilizando la opción «Permitir una rotación Z de la herramienta de +/-» del menú. Si la opción está activa, las rotaciones en los ejes X e Y quedan bloqueadas, mientras que la rotación en el eje Z se limita al valor seleccionado (por ejemplo, +/- 45°).
Esta función actúa de forma opuesta a la del «Espacio restringido», obligando al solucionador a operar en el espacio cartesiano para limitar la orientación de la herramienta. Bloquea las rotaciones en los ejes X e Y, mientras que la rotación en el eje Z puede limitarse a un rango específico de grados (más o menos un valor establecido). Si el valor de este campo se establece en «0», la rotación en el eje Z también queda bloqueada junto con las rotaciones en los ejes X e Y. Para mantener desbloqueadas las rotaciones de los tres ejes (X, Y y Z), utilice el valor «-1» en esta opción.
Si se activa la opción «Espacio restringido», el robot intentará atravesar una abertura estrecha o trabajar en un entorno abarrotado. Esta configuración obliga a utilizar el algoritmo en el espacio de las articulaciones (en lugar del espacio cartesiano), lo que garantiza que la configuración probada sea la misma que se utiliza. Esto resulta fundamental para morfologías robóticas en las que las poses cartesianas podrían dar lugar a múltiples configuraciones de articulaciones posibles, lo que provocaría problemas durante la generación de la trayectoria. Al forzar el uso del espacio de las articulaciones, el sistema garantiza que la trayectoria identificada sea única y libre de colisiones.
También puede abrir la configuración del mapa de colisiones de RoboDK haciendo clic en el botón «Mapa de colisiones» del menú de Smart Motion. Un mapa de colisiones correctamente configurado garantiza que el Addin calcule una trayectoria que mantenga una ruta libre de colisiones tomando como referencia la matriz de colisiones.

La opción «Simplificar programa seleccionado» permite al usuario reducir el número de instrucciones de un programa evitando al mismo tiempo las colisiones. En otras palabras, simplifica un programa ya creado para reducir el número de objetivos en la trayectoria, al tiempo que garantiza que esta siga estando libre de colisiones.
Esto resulta útil en los siguientes aspectos:
1.Reduce el tamaño del programa: analiza la trayectoria y elimina los objetivos innecesarios. Esto resulta fundamental para los controladores de robots más antiguos, que cuentan con una memoria limitada y solo pueden almacenar un número determinado de líneas de código.
2.Movimiento más fluido: al eliminar puntos redundantes, se evita que el robot «tartamudee». En ocasiones, los controladores pueden dar sacudidas o ralentizarse si reciben demasiados comandos para una misma zona reducida; simplificar la trayectoria ayuda al robot a mantener una velocidad más constante y fluida.
3.Ejecución más rápida: un programa simplificado suele traducirse en tiempos de ciclo más cortos, ya que el controlador del robot no tiene que procesar tantos puntos, lo que le permite centrarse en mantener la velocidad programada.
4.Limpia trayectorias «desordenadas»: si el programa se crea grabando movimientos o importando una trayectoria CAD densa, puede contener cientos de puntos innecesarios. Esta herramienta «limpia» esos datos al tiempo que garantiza que la nueva trayectoria, más corta, siga evitando todas las colisiones.
5.Mantiene la seguridad de la configuración: Al igual que el resto de Smart Motion, el proceso de simplificación respeta la configuración del robot. Garantiza que, mientras se eliminan puntos, el robot no intente cambiar accidentalmente su configuración (como un giro del codo) de una forma que pudiera provocar una colisión.
Smart Motion no se limita a enlazar objetivos; también puede conectar programas independientes distintos. Esta función resulta muy útil para enlazar operaciones complejas, como pasar de una secuencia de recogida a una trayectoria de mecanizado sin intervención manual.
Para utilizar esta función, seleccione elementos de programas independientes en la interfaz del Selector de objetivos con el fin de calcular trayectorias de transición seguras desde el estado final del primer programa hasta el estado inicial del segundo.

El Addin vincula dos programas identificando el último movimiento del primer programa y el primer movimiento del programa siguiente, generando de este modo una trayectoria de conexión entre ambos.
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.