O Add-in Smart Motion é um planejador de movimento que ajuda a criar automaticamente trajetórias seguras para que seu robô se desloque de um ponto a outro sem colisões. Ele utiliza um algoritmo de prevenção de colisões para garantir que uma solução livre de colisões seja encontrada rapidamente.

Você pode abrir o menu do Smart Motion acessando “Utilitários”➔ “Smart Motion” e clicando em “Gerar trajetória sem colisões”.

Outra maneira de abrir o menu é clicando no primeiro ícone do Smart Motion (o mais à esquerda) na barra de ferramentas.


Você também pode acessá-lo por meio do menu suspenso “Verificação de colisão” na barra de ferramentas.

Certifique-se de que seu projeto RoboDK esteja configurado corretamente para utilizar o planejador Smart Motion de maneira eficaz.
Seu projeto deve incluir o seguinte:
1.Robô: Um braço robótico. Para o nosso exemplo, estamos utilizando o robô Comau Smart5 NJ 130-2.6.

2.Ferramenta: Uma ou mais ferramentas (TCP). O exemplo de soldagem por pontos utilizará a pistola de soldagem por pontos OBARA.

3.Objetos: Pelo menos um objeto (obstáculo) deve estar disponível na área de trabalho para que o sistema de prevenção de colisões seja utilizado. Neste caso, utilizamos uma estrutura de carro personalizada, juntamente com um suporte para estrutura de carro e um trilho para estrutura de carro.

4.Alvos: Os pontos inicial e final da trajetória gerada devem ser definidos por meio de alvos. Portanto, pelo menos dois alvos devem estar presentes na estação. O exemplo contém alvos de aproximação/retração na parte dianteira e traseira, além de alguns alvos dentro do sistema de carro, onde a soldagem por pontos deve ocorrer.

Para criar uma trajetória segura utilizando o Smart Motion, selecione os alvos para os quais o robô precisa se deslocar e clique em “Gerar Trajetória”. O Add-in realiza o cálculo para você.
Utilizaremos o seguinte exemplo de soldagem por pontos para demonstrar o Add-in Smart Motion: Soldagem por pontos com a Comau. Este exemplo inclui os quatro componentes que descrevemos anteriormente.
Este projeto também inclui trajetórias livres de colisão na forma de scripts criados com o plugin PRM. Para fins de demonstração do Add-in Smart Motion, estamos removendo esses programas que foram criados automaticamente com o plugin PRM:
●AppFrontPg
●AppRearPg
●HomePg
●HomeToAppFront
●AppRearToHome
●AppFrontToAppRear
●AppRearToAppFront
●Main

Para utilizar o Add-in, siga estas etapas:
1.Abra o seletor de alvos: clique no botão “Selecionar alvos” no menu do Smart Motion para abrir a janela de seleção. Esses alvos definem a trajetória que você deseja gerar.


2.Escolha e ordene os pontos: selecione os pontos que deseja utilizar na seção “Alvos disponíveis”, à esquerda, e clique no botão >> para movê-los para a seção “Alvos selecionados”, à direita. Você pode alterar a ordem deles à direita (arrastando e soltando) para decidir para onde o robô irá primeiro. Depois que os alvos estiverem selecionados, você pode confirmar a seleção com o botão “OK”.

3.Escolha a qualidade da trajetória: mova o controle deslizante “Qualidade da trajetória”. Use “Grossa” para verificações rápidas ou mova-o na direção de “Fina” para garantir que o robô verifique espaços estreitos com segurança.

4.Crie a trajetória: clique no botão “Gerar Trajetória”. A ferramenta criará uma trajetória segura entre cada par de pontos da sua lista.



Você também pode “vincular itens” selecionando vários alvos na árvore de estações (na ordem necessária) e clicando no ícone “Vincular itens selecionados” na barra de ferramentas (o segundo ícone ou o ícone mais à direita do Smart Motion).
Ao configurar uma trajetória de movimento por meio do menu do seletor de alvos, uma lista de pontos disponíveis é transferida para a lista “Alvos selecionados”. Ao lado de alguns desses itens selecionados, há uma caixa de seleção intitulada “Aproximação” que pode ser ativada ou desativada.
Essas caixas de seleção funcionam como dicas inteligentes para o solucionador de planejamento de trajetória.
●Quando desmarcada (Parada Padrão): O robô trata o alvo como um destino estrito. Ele planejará uma trajetória completa do Ponto A ao Ponto B e, em seguida, planejará uma trajetória totalmente nova do Ponto B ao Ponto C. O robô se dedicará totalmente a chegar exatamente ao Ponto B antes de pensar no próximo passo.
●Quando marcada (Passagem ou Ponto de Aproximação): Marcar a caixa indica ao solucionador que esse ponto é apenas um “trampolim” temporário ou um portão de entrada no caminho para o destino real. Em vez de dividir o movimento em trechos separados e rígidos (A para B e, em seguida, B para C), o solucionador avalia toda a cadeia (A➔ B➔ C) como uma única sequência fluida.
A definição de um alvo de aproximação altera completamente a forma como a ferramenta “Simplify Program” otimiza a trajetória:
●Curvas Suaves: Como o solucionador sabe que o robô não precisa parar completamente no ponto de aproximação, ele combina o movimento de maneira suave. O robô se desloca em direção ao ponto de aproximação e se deslocará graciosamente até o destino final, sem “gaguejar” ou parar bruscamente.
●Limpeza agressiva: quando a ferramenta de simplificação é executada em uma trajetória com vários pontos, ela consegue realizar o recorte de movimentos desnecessários e desajeitados com muito mais eficácia se puder analisar antecipadamente toda a sequência, em vez de interromper seus cálculos a cada alvo intermediário. Isso resulta em menos linhas de código, velocidade constante do robô e tempos de produção gerais mais rápidos.
O Add-in Smart Motion também oferece opções adicionais para ajustar a solução de acordo com suas necessidades. Essas opções permitem personalizar alguns parâmetros que afetam os resultados finais ou a trajetória gerada.
A rotação do TCP pode ser limitada utilizando a opção “Permitir rotação da ferramenta no eixo Z de +/-” no menu. Se a opção estiver ativa, as rotações nos eixos X e Y ficam bloqueadas, enquanto a rotação no eixo Z é limitada ao valor selecionado (por exemplo, +/- 45°).
Esse recurso funciona de maneira oposta ao “Espaço restrito”, forçando o solucionador a operar no espaço cartesiano para restringir a orientação da ferramenta. Ele bloqueia as rotações nos eixos X e Y, enquanto a rotação no eixo Z pode ser limitada a um intervalo específico de graus (mais ou menos um valor definido). Se o valor deste campo for definido como “0”, a rotação no eixo Z também será bloqueada, juntamente com as rotações nos eixos X e Y. Para manter as rotações dos três eixos (X, Y e Z) desbloqueadas, utilize o valor “-1” nesta opção.
Se a opção “Espaço restrito” estiver ativada, o robô tentará passar por uma abertura estreita ou trabalhar em um ambiente com muitos obstáculos. Essa configuração força o uso do algoritmo no espaço de articulação (em vez do espaço cartesiano), o que garante que a configuração testada seja a mesma utilizada. Isso é fundamental para morfologias de robôs nas quais as poses cartesianas podem resultar em múltiplas configurações de articulação possíveis, causando problemas durante a geração da trajetória. Ao forçar o uso do espaço de articulação, o sistema garante que a trajetória identificada seja única e livre de colisões.
Você também pode abrir as Configurações do Mapa de Colisão do RoboDK clicando no botão Mapa de Colisão no menu do Smart Motion. Um mapa de colisão devidamente configurado garante que o Add-in calcule uma trajetória que mantenha um caminho livre de colisões, consultando a matriz de colisão.

A opção “Simplificar programa selecionado” permite que o usuário reduza o número de instruções em um programa, evitando colisões. Em outras palavras, ela simplifica um programa já criado para reduzir o número de alvos na trajetória, garantindo que esta permaneça livre de colisões.
Isso é útil nos seguintes aspectos:
1.Reduz o tamanho do programa: analisa a trajetória e remove alvos desnecessários. Isso é essencial para controladores de robôs mais antigos, que possuem memória limitada e só podem armazenar um determinado número de linhas de código.
2.Movimento mais suave: Ao remover pontos redundantes, evita-se que o robô apresente “gaguejos”. Os controladores podem, por vezes, dar solavancos ou desacelerar se receberem comandos em excesso para uma mesma área pequena; simplificar a trajetória ajuda o robô a manter uma velocidade mais constante e fluida.
3.Execução mais rápida: Um programa simplificado geralmente resulta em tempos de ciclo mais curtos, pois o controlador do robô não precisa processar tantos pontos, permitindo que ele se concentre em manter a velocidade programada.
4.Limpa trajetórias “desorganizadas”: Se o programa for criado por meio da gravação de movimentos ou da importação de uma trajetória CAD densa, ele poderá conter centenas de pontos desnecessários. Esta ferramenta “limpa” esses dados, garantindo ao mesmo tempo que a nova trajetória, mais curta, continue evitando todas as colisões.
5.Mantém a segurança da configuração: Assim como o restante do Smart Motion, o processo de simplificação respeita a configuração do robô. Ele garante que, enquanto os pontos estão sendo removidos, o robô não tente acidentalmente alterar sua configuração (como uma inversão do cotovelo) de forma que cause uma colisão.
O Smart Motion não se limita a conectar alvos; ele também pode fazer a ponte entre programas autônomos distintos. Esse recurso é extremamente útil para conectar operações complexas, como passar de uma sequência de coleta para uma trajetória de usinagem sem intervenção manual.
Para utilizar esse recurso, selecione itens de programas separados na interface do Seletor de Alvos para calcular trajetórias de transição seguras do estado final do primeiro programa até o estado inicial do segundo.

O Add-in vincula dois programas identificando o último movimento do primeiro programa e o primeiro movimento do programa subsequente, gerando efetivamente uma trajetória de conexão entre eles.
No RoboDK, tanto o Smart Motion quanto o Planejador de Movimento Sem Colisões (PRM) foram projetados para ajudar um robô a se mover sem colidir com obstáculos. No entanto, eles utilizam matemática e fluxos de trabalho diferentes para realizar essa tarefa.
O recurso de planejamento de movimento do Planejador de Movimento Sem Colisões cria automaticamente trajetórias livres de colisões dentro do espaço de trabalho do robô, utilizando um algoritmo de planejamento de movimento chamado “rotas probabilísticas” (PRM).
A maior diferença entre os dois planejadores de movimento é a quantidade de trabalho de preparação necessária antes que o robô se mova.
O planejador PRM é uma ferramenta que funciona como a construção de uma rede viária permanente. Primeiramente, ele executa uma “fase de construção”, na qual são gastos vários minutos posicionando pontos aleatoriamente e tentando conectá-los em um mapa-rota gigante. Uma vez concluído esse mapa, encontrar uma trajetória é instantâneo, pois as “estradas” já estão construídas. No entanto, se você mover apenas uma mesa, uma caixa ou qualquer outro objeto na estação, todo o mapa se torna inútil e é necessário reconstruí-lo do zero.
O Smart Motion foi desenvolvido para ser muito mais flexível. Não há uma etapa demorada de construção de mapas. Ele analisa exatamente onde o robô está e para onde precisa ir e, em seguida, encontra um “túnel” seguro através dos obstáculos. É um processo de uma única etapa: selecione os alvos, clique em “Gerar” e ele se move. Se você mover um objeto em sua célula, basta clicar em “Gerar Trajetória” novamente, sem esperar por um novo mapa.
A velocidade no planejamento de trajetória não se resume apenas à rapidez com que o robô se move, mas também ao tempo que o planejador leva para realizar os cálculos.
A “fase de consulta” no planejador PRM (localização da trajetória no mapa) é muito rápida, mas também é acompanhada por uma “fase de construção” bastante demorada. Isso é ótimo se a estação permanecer sempre estática, mas leva tempo caso haja alterações frequentes.
O Smart Motion utiliza um algoritmo incrivelmente rápido para resolver um único problema do tipo “de A a B”. Ele começa a busca a partir de ambas as extremidades da trajetória ao mesmo tempo e se encontra no meio. Isso torna o “tempo de raciocínio” quase imperceptível para a maioria das tarefas comuns.
O foco de qualquer planejador de movimento é a detecção e prevenção de colisões. Portanto, a precisão das trajetórias seguras geradas é um fator muito importante.
O planejador PRM baseia-se nos pontos aleatórios que colocou durante a fase de mapeamento. Se os pontos aleatórios não caírem dentro de um espaço estreito, o robô considerará que está bloqueado, mesmo que haja espaço de sobra. Um número maior de amostras e mais arestas por amostra produzirão um mapa mais detalhado, cuja geração levará mais tempo, mas resultará em uma solução mais precisa.
O Smart Motion inclui uma opção de “Espaço Restrito” para esses pontos complexos. Quando essa opção está ativada, o solucionador é forçado a operar no espaço articular, em vez do espaço cartesiano. Dessa forma, garante-se que, ao testar uma pose, o sistema identifique uma configuração de articulação única, o que evita problemas relacionados a múltiplas soluções possíveis para uma única pose cartesiana. Em resumo, isso ajuda o planejador a lembrar a posição e a configuração do robô para garantir que a trajetória encontrada seja preservada.
Ambos os planejadores de movimento permitem controlar o quanto o robô “se preocupa” com o ambiente ao seu redor.
Para obter uma trajetória mais suave ou mais segura usando o planejador PRM, o “Número de amostras” e o “Número de arestas por amostra” precisam ser aumentados proporcionalmente. Isso melhora o mapa, mas aumenta o tempo de espera.
O Smart Motion utiliza um simples controle deslizante de “Qualidade da Trajetória” com os seguintes limites:
1.Grossa: é utilizada em espaços amplos e abertos para obter uma resposta imediata.
2.Fino: É utilizado para tarefas complexas. Obriga o robô a dar “pequenos passos” para verificar se há colisões e gerar uma trajetória geral suave.