Anteriormente

É importante que você tenha visto o post anterior, Definição do modelo Bbot, para um completo entendimento do desenvolvimento do projeto.

Na etapa dois do processo de construção do Bbot, e de qualquer outro projeto de robótica, é importante definir as funcionalidades do robô. Antes de iniciarmos as próximas etapas, o desenho da arquitetura do robô (mão na massa!! 👷🔧), precisamos listar essas características e analisar como elas estão conectadas entre si, tendo assim um total controle do desenvolvimento do projeto.


Diagrama das funcionalidades

No diagrama construído para o Bbot, podemos ver uma gama de funcionalidades. Para facilitar o entendimento, vamos particionar o diagrama em seções de funcionalidade.

Diagrama de funcionalidades

Localização

A localização é responsável por monitorar da posição e orientação do robô dentro do ambiente no qual está contido. Usando os dados de posicionamento e orientação, enviados pelos sensores presentes no sistema de percepção, esta funcionalidade fornece aos sistemas de mapeamento e planejamento de trajetória uma mensagem contendo os dados de posição e orientação do robô no ambiente. A funcionalidade localização serve de base para outras funcionalidades que promovem autonomia ao robô.

Not found

A navegação para o bbot utiliza o planejamento local e global para transitar de forma segura no ambiente. O sistema de navegação possui como dependência a funcionalidade de planejamento de trajeto. Como saída da funcionalidade de navegação, será enviado a execução da trajetória e, na falha de uma adequada navegação, envia um comando de replanejamento de trajeto.

Not found

Percepção

O sistema de percepção do Bbot, através de sensoriamento, deve fornecer ao robô a capacidade de perceber e traduzir as suas próprias condições e as condições do ambiente no qual está inserido. Essas funções são garantidas pela aquisição e processamento de dados coletados de sensores inerciais e sensores ópticos, os quais estão integrados à estrutura do robô. O sistema de percepção oferece, portanto, modelagem do robô e do ambiente obtida pela representação dos dados de IMU, LiDAR 2D, Câmera e Sensor de tensão e pelos algoritmos de tratamento aplicados a esses dados.

A funcionalidade de percepção depende dos dados sensoriais que estão incorporados na estrutura do robô.

As saídas desta funcionalidade são o mapeamento, localização, detecção e controle.

Not found

Mapeamento

Utilizando as informações da localização, é possível criar um mapa do ambiente.

A funcionalidade de mapeamento depende dos dados de percepção (pontos 3d do sensor LiDAR) e localização.

Através dos mapa, é possível gerar um costmap global e um costmap local, que é utilizado pela funcionalidade de planejamento de trajetória para identificar a posições do mapa onde o robô não pode transitar e pela funcionalidade de navegação para planejar os controles de velocidade do robô de forma que ele não colida com os obstáculos.

Not found

Detecção

No Bbot essa funcionalidade é responsável pela detecção da TAG (importante para missão do robô). Depende dos dados da funcionalidade de percepção e tem como saída o planejamento de trajetória (enviando a pose de destino).

Not found

Controle

Define a estratégia adotada para que o robô consiga se equilibrar. No nosso caso, foi escolhido o controlador PID. Depende da funcionalidade da percepção e tem como saída os comandos de velocidade do robô para que ele consiga de equilibrar.

Not found

Comportamento

O comportamento tem como função avaliar as situações do ambiente e do estado do robô. Esta funcionalidade é genérica e pode ser descrita como um tomador de decisões que garantem o bom funcionamento do robô. No caso do Bbot, esta funcionaliade irá monitorar a carga atual da bateria e garantir que o robô interrompa sua missão e sinalize o usuário caso esta esteja abaixo de um dado valor. Esta funcionalidade, no entanto, pode ser incrementada futuramente para englobar outras decisões.

Not found

Inatividade

É a funcionalidade que dá ao robô uma posição de proteção por motivos de falha. Ela tem como entradas as falhas do robô e como saída a posição de inatividade.

Not found

Planejamento de trajetória

Recebe dados do mapeamento, detecção, localização e navegação e, seguindo uma trajetória definida na interface, faz um planejamento adequado para o robô. Tem como saída o path global e local para a funcionalidade de navegação.

Not found

Atuação

Essa funcionalidade torna possível o controle dos atuadores das pernas e de locomoção. Tem como entrada os comandos de velocidade dados pelo controle e como saída os comandos de movimento para cada junta do robô. Esta funcionalidade faz a comunicação direto com o hardware.

Not found

Conclusão

Na segunda etapa do projeto, nós apresentamos as funcionalidades e como elas estão relacionadas. Com base nesses parâmetros propostos aqui, podemos partir para a construção do Bbot!! Bbot 🔧 Bbot




Autor


Not found

Matheus França
Estagiário no laboratório de Robótica e Sistemas Autônomos (RoSA), Senai Cimatec, graduando em Engenharia de Controle e Automação na Área 1.