A revisão será útil para quem está envolvido em robôs físicos e para quem o arduino não é suficiente, bem como para pessoas que gostariam de implementar qualquer uma das funções de perceber o mundo exterior em seus robôs ou dispositivos.
Misty Robot da Misty Robotics na CESDependendo da finalidade do robô, ele precisa resolver vários problemas. Acontece que um controlador e, por exemplo, os sensores mais simples são suficientes para resolvê-los. No entanto, às vezes é necessário que o robô possa executar tarefas não de acordo com as coordenadas codificadas, mas dependendo do estado do espaço circundante ou da área de trabalho. Torna-se necessário o uso de sensores mais sofisticados, como câmeras ou lidares, e o uso de algoritmos especiais para processar as informações recebidas.
Visão e compreensão
Ver e entender o que é visto é a primeira função que pode vir à mente.
Detecção de Objetos
Permite encontrar objetos de tipos especificados no campo de visão.
Exemplo de algoritmoRastreando objetos
Permite rastrear o movimento de um objeto ou objetos no campo de visão.
Exemplo de algoritmoSegmentação
Permite que pixel por pixel determine o conteúdo do campo de visão.
Exemplo de algoritmoAvaliação da profundidade
Permite identificar obstáculos no caminho e distância deles usando a visão computacional.
Exemplo de Operação de Algoritmo
Um exemplo de algoritmo para uma câmera convencionalAlgoritmo de exemplo para uma câmera estéreoSe as condições de trabalho do seu robô permitirem o uso de câmeras Depth com iluminação IR ativa, por exemplo, como o Intel Realsense, você poderá usar o
SDK proprietário .
Movimento e tomada de decisão
A maioria dos robôs físicos, seja um manipulador, um robô móvel ou qualquer outra coisa, precisa se mover de alguma forma no espaço. E, às vezes, no processo desses movimentos, especialmente se as condições ou o ambiente de funcionamento podem mudar significativamente, o robô precisa mudar a trajetória e a velocidade do movimento.
Orientação espacial
Permite determinar as coordenadas da localização do robô no espaço, inclusive dentro de edifícios.
Exemplo de algoritmoTomar decisões ao se mover
Permite que o robô móvel tome decisões sobre as manobras necessárias para otimizar a trajetória do movimento em um ambiente dinâmico. O algoritmo usa
aprendizado por reforço .
Exemplo de algoritmoCapturar e manipular objetos
Permite que o braço robótico tome decisões sobre as ações necessárias para capturar objetos de várias formas. O algoritmo também usa aprendizado por reforço.
Exemplo de algoritmoRecursos de implementação para robôs
Desempenho
Os algoritmos descritos neste artigo são computacionalmente vorazes e geralmente requerem uma GPU. Portanto, dependendo dos requisitos para as condições operacionais do robô, o desenvolvedor precisa escolher uma opção de design e otimizar o código.
Possíveis opções:
- computação em um PC pessoal dedicado
- computação em nuvem
- cálculos a bordo
A escolha feita ditará seus requisitos de otimização de equipamentos e algoritmos.
Interação
Um algoritmo para resolver um problema geralmente não é suficiente. Portanto, ao usar algoritmos em robôs, os desenvolvedores terão que enfrentar a tarefa de integração, ou seja, É necessário garantir a interação com outros algoritmos e software.
Em vez de saída
Trabalhando em uma empresa que desenvolve software para robôs, muitas vezes é preciso lidar com vários robôs e algoritmos, além de encontrar novas abordagens para resolver problemas complexos. Percebi que recentemente houve um aumento do interesse em funções relacionadas à segurança e à possibilidade de operação autônoma de mecanismos, principalmente nas imediações das pessoas.
A revisão apresentada contém uma lista longe de exaustiva de tarefas e algoritmos. Como exemplos, um algoritmo é selecionado pelo autor. Observe também que qualquer uma das tarefas apresentadas pode ser resolvida de muitas outras maneiras e / ou usando outros algoritmos. Se você tiver em mãos outros exemplos de tarefas com algoritmos, deixe nos comentários.
PS: Para a sobremesa - um lindo vídeo do “under heaven” com um robô de rodas e um sistema de tomada de decisão a bordo