5 Estratégias Comprovadas para Prevenir Colisões de Robôs (e um Plano de Contingência Final)
Como você impede seu robô de colidir com objetos em seu espaço de trabalho? Aqui está como evitar colisões de robôs sem complicar sua vida.
Uma pergunta recente no Fórum RoboDK destacou um problema comum com robôs. O usuário Micronexx perguntou como evitar colisões. Perguntou se o RoboDK gera trajetórias livres de colisões automaticamente, ou se o usuário tem que fazer ajustes manuais.
Esta é uma questão mais complicada do que parece à primeira vista. O RoboDK certamente inclui funcionalidades que ajudam a evitar colisões, incluindo algum roteamento automático. No entanto, "evitação de colisão" em robótica é um tópico profundo e complexo. Projetos de pesquisa inteiros são dedicados a planejamento de trajetória e evitação de colisão. Algoritmos avançados de Inteligência Artificial até foram desenvolvidos para isso.
A boa notícia é que, para a maioria de nós, as coisas não precisam ser tão complicadas. Existem maneiras mais fáceis de impedir seu robô de colidir com objetos.
5 Maneiras Fáceis de Evitar Colisões de Robôs
Geralmente, é melhor começar simples.
Esta é uma boa regra prática ao tentar resolver qualquer problema em sua programação de robô. Mesmo que robôs sejam capazes de funcionalidades avançadas, as soluções de engenharia simples são frequentemente as melhores.
Aqui estão 5 maneiras simples de impedir seu robô de colidir com objetos.
1. Planeje Seu Espaço de Trabalho Corretamente desde o Início
Colisões ocorrem mais frequentemente quando o espaço de trabalho não foi bem planejado. Você deve iniciar qualquer integração de robô planejando o espaço, por exemplo, esboçando no papel.
Planeje quais áreas o robô vai se mover e quais áreas estarão fora de seu alcance. Tente "encenar" a sequência de movimentos do robô com seu próprio braço antes de começar a programá-los no robô — este é um método muito eficaz para reduzir problemas potenciais antes que surjam, e é muito rápido de fazer.
2. Remova Fisicamente Obstruções Potenciais
A melhor maneira de evitar colisões é garantir que não haja nada para o robô colidir. Isso significa remover qualquer coisa que possa obstruir o caminho do robô do espaço de trabalho.

Certifique-se de que há um caminho livre entre diferentes áreas do espaço de trabalho. Se o robô vai pegar objetos de um local e montá-los em outro, remova tudo do espaço de trabalho entre esses dois locais.
Isso pode parecer óbvio, mas é fácil esquecer de fazer quando você está usando programação offline. Por exemplo, você pode ver um pilar no espaço de trabalho do robô e dizer "Está tudo bem. Vou apenas evitá-lo no programa do robô." Mas então, como você está programando em um ambiente simulado onde o pilar não existe, você esquece dele e programa o robô para mover-se bem através dele.
3. Alinhe o Mundo Real à Simulação
O mundo real e a simulação dentro do RoboDK devem ser o mais próximos possível. Você pode alcançar isso de 2 maneiras:
- Faça um modelo preciso do espaço de trabalho físico dentro da simulação — Isso envolve medir a localização precisa de cada objeto e modelá-lo no software. Pode ser extremamente demorado e quanto mais você confia na precisão da simulação, menos margem há para erro.
- Remova objetos do mundo real que não estão na simulação — Isso envolve simplificar o espaço de trabalho real removendo objetos.
Na prática, a melhor opção é uma combinação destas. Você remove todos os objetos desnecessários do espaço de trabalho físico e adiciona todos os objetos necessários na simulação.
4. Ajuste Alvos de Programação Manualmente
Antes de começar a usar algoritmos complexos de evitação de colisão, tente ajustar os movimentos do robô você mesmo. Para a maioria das aplicações, mover manualmente os alvos dentro do RoboDK é uma solução rápida, eficaz e robusta.
Por exemplo, se o robô colide com um objeto durante um comando de Movimento Articular, simplesmente adicione alguns waypoints extras para evitar o objeto. Ou — ainda melhor — pergunte se o objeto realmente precisa estar no espaço de trabalho em primeiro lugar.
Uma prática que pode reduzir significativamente colisões é decidir se cada movimento é um movimento de "deslocamento" ou um movimento "operacional". Realize apenas movimentos de deslocamento no espaço livre onde não há obstruções. Então, pare a uma pequena distância da operação (também conhecida como "distância de aproximação") e mova-se cuidadosamente para a tarefa antes de realizar o movimento operacional.
5. Use o Novo Recurso do Assistente de Usinagem
A usinagem robótica é uma tarefa onde você provavelmente precisará de planejamento de trajetória automatizado. O RoboDK facilita a geração de caminhos de usinagem usando seu assistente de usinagem embutido.
Na maioria das vezes, você não terá colisões se seguir os conselhos acima. No entanto, há uma opção para evitar colisões automaticamente durante a operação de usinagem, que adicionamos na versão mais recente do RoboDK. Leia a resposta do Albert no fórum que explica como usar este novo recurso.
Este recurso evita colisões rotacionando automaticamente o robô em torno do eixo z da ferramenta. Como resultado, não evitará todas as colisões, mas melhora a robustez do assistente de usinagem.
Último Recurso: Use um Planejador de Movimento Avançado
Se você passou por todos os passos acima e decidiu que ainda precisa de evitação de colisão autônoma, é hora de usar os "grandes canhões". Isso significa usar algoritmos de planejamento de movimento de terceiros para gerar a trajetória do seu robô.
Existem muitos planejadores de trajetória que detectam e evitam colisões automaticamente. No entanto, a maioria são programas de pesquisa em estágio muito inicial e, como resultado, não são muito confiáveis. Além disso, a maioria são projetados para robôs móveis que só se movem em 2 dimensões.
Existem, no entanto, alguns planejadores de trajetória decentes que funcionam para manipuladores robóticos industriais. Aviso: para usá-los você terá que fazer uma programação séria.
- MoveIt! — O MoveIt! é um dos planejadores de movimento gráficos mais desenvolvidos para manipulação robótica. Ele usa o framework OMPL e fornece uma interface gráfica fácil(ish). É integrado ao ROS. Se você já está familiarizado com ROS, esta pode ser uma boa opção. Se não, você pode ter uma curva de aprendizado íngreme.
- Open Motion Planning Library (OMPL) — É possível usar OMPL sozinho, sem MoveIt! Ele fornece bibliotecas em C++ e também tem bindings em Python. Há uma quantidade razoável de documentação, mas ainda envolverá uma curva de aprendizado, pois a biblioteca tem muita funcionalidade.
- Bubbles — Esta é uma pequena biblioteca que o CEO da RoboDK, Albert Nubiola, recomenda. É um planejador de movimento autônomo para manipuladores que usa o algoritmo de mapa de estrada probabilístico (PRM). É escrito em C++ e tem pouca documentação. Mas, se você é um mago da programação e está disposto a um desafio, pode fornecer uma solução muito menos inchada do que usar MoveIt.
Em geral, é melhor evitar colisões usando um dos métodos mais fáceis. Mas, se você precisar usar os algoritmos avançados, a evitação de colisão é um tópico fascinante.
Quais colisões causaram problemas para suas aplicações robóticas? Conte-nos nos comentários abaixo ou junte-se à discussão no LinkedIn, Twitter, Facebook, Instagram ou no Fórum RoboDK.
Robô industrial
- 5 Estratégias Comprovadas para Tornar sua Entrega de Última Milha Mais Verde
- Otto DIY+ Robô Arduino Bluetooth – Kit de Montagem Fácil com Impressão 3D
- 6 Táticas Comprovadas para Afiar a Eficiência do Programa CNC
- 4 Estratégias Comprovadas para Aumentar Eficiência de Combustível de Escavadeiras
- 10 Perspectivas Inovadoras sobre Automação Robótica para Manufatura Moderna
- 4 Formas Simples de Manter os Motores de Passo da Sua Impressora 3D Frios
- Transforme Impressões 3D Falhadas em Recursos: 4 Métodos Simples de Reciclagem
- Estratégias Eficazes de Robôs para Superar Escassez de Mão de Obra
- Tendências de Robótica 2022: Estratégias Inovadoras de Automação para Fabricantes
- PACKEX Toronto: Adote Automação Perfeita Hoje