Índice:

Robô que anda sozinho: 7 etapas
Robô que anda sozinho: 7 etapas

Vídeo: Robô que anda sozinho: 7 etapas

Vídeo: Robô que anda sozinho: 7 etapas
Vídeo: Robô humanoide impressiona visitantes em Londres | LIVE CNN 2024, Novembro
Anonim
Robô que anda sozinho
Robô que anda sozinho

O que eu fiz?

● Um bot que pode ser treinado para andar (seguir em frente) em superfícies diferentes. O bot descreve uma criatura simples com 4 pernas "sem joelhos" que está lutando para se mover para frente. Ele sabe que pode orientar cada uma das pernas de apenas 3 maneiras possíveis. Agora, ele precisa descobrir as melhores etapas possíveis para se manter em movimento. Uma vez que seu movimento também depende do atrito com a superfície, acreditamos que para cada superfície diferente que ela caminhar, haverá um conjunto diferente (não necessariamente exclusivo, mas provavelmente semelhante) de etapas para maximizar seu esforço de avançar.

Para que isso é usado?

● É melhor usado para visualizar os padrões de caminhada de um AI ROBOT.

Etapa 1: o diagrama de fluxo

O Diagrama de Fluxo
O Diagrama de Fluxo

Aqui está uma análise de todo o projeto. Em linhas gerais o projeto é em 2 partes eletrônicas com estrutura mecânica do robô e a outra é o algoritmo rodando no pc e o código rodando no arduino.

Etapa 2: PRINCIPAIS COMPONENTES ENVOLVIDOS:

Eletrônicos

Arduino UNO (!)

Sensor ultrasônico

Servo Motors

Módulo bluetooth

Codificação

IDE Arduino

Teraterm

Notebook Jupyter

Algoritmo de aprendizagem Q

Etapa 3: MÓDULO V1:

MÓDULO V1
MÓDULO V1

Aprendizagem por Reforço: Usando RNA (Rede Neural Artificial) planejamos treinar nosso robô e descobrimos dois métodos possíveis.

Restrições: Cada perna (servo motor) é restringida para assumir apenas 3 posições possíveis 60, 90 e 120 graus. Premissas: Consideramos que o movimento do robô constituirá 4 estados (um estado é uma determinada orientação de todos os quatro servos), ou seja, haverá 4 estados diferentes do robô que consideraremos como 4 etapas, respectivamente, dando-nos um ciclo de movimento, em qual o bot se moverá um pouco à frente. Este ciclo será repetido ad infinitum para manter o robô em movimento.

Mas o único problema era o número de iterações a serem avaliadas - Temos 3 orientações possíveis para cada motor e existem 4 motores diferentes, tornando 3 ^ 4 = 81 estados nos quais o robô pode existir em uma única etapa ou estado. Temos que dar 4 passos diferentes para completar um movimento complexo, o que significa 81 ^ 4 = 43, 046, 721 combinações possíveis a serem verificadas quanto à eficiência máxima para um ciclo de movimento. Suponha que leve 5 segundos para treinar um único estado - levaria 6,8250 anos para concluir o treinamento!

Etapa 4: MÓDULO V2:

Algoritmo Q-learning

Um algoritmo de aprendizado de reforço inicial desenvolvido para treinar coisas que têm estado finito e encontrar os caminhos mais curtos. fonte:

Matemática do Algoritmo: Existem 81 estados possíveis para cada etapa em que o bot pode estar, nomeamos esses estados como números de 1 a 81 e agora o que queremos saber é o valor de transição, significando a mudança na posição do robô (distância movida) enquanto se move de um estado aleatório s1 para algum outro estado s2 (s1, s2 desses 81 estados). Podemos vê-lo como uma matriz com 81 linhas e 81 colunas onde um elemento da matriz será igual ao valor da distância que ele se moveu correspondente ao seu número de linha e coluna. Esses valores podem ser positivos ou negativos dependendo da ação do robô na palavra real. Agora encontraremos um circuito fechado de estados onde a distância que percorre é sempre positiva. Estaremos avaliando os valores da matriz 81x81 que são 81 ^ 2 = 6561, agora se levarmos 5 segundos para armazenar esses valores na matriz, então leve 9,1125 horas apenas para fazer uma matriz inteira e, em seguida, um ciclo de etapas para maximizar a eficiência da movimentação pode ser facilmente descoberto.

Etapa 5: PROBLEMAS ENVOLVIDOS -

  1. Para alguns estados, o movimento do bot era muito irregular e estava afetando o valor do sensor de ultrassom, o bot se inclinava e pegava distância de uma parede distante.
  2. O problema de desconectar do laptop e reiniciar o arduino estava fazendo com que ele treinasse a partir do valor 0 era muito irritante.
  3. Assistir o robô treinar por 5h contínuas foi muito exaustivo.

Etapa 6: MÓDULO A1 e A2:

  • Parte mecânica inclui a placa do chassi com quatro servos fixados nela. Usamos palitos de sorvete para fazer as pernas.
  • Nossa tarefa principal - manter o controle da distância do bot de sua posição inicial.
  • Nossa primeira abordagem foi usar o sensor giroscópio e usar a aceleração do bot conforme ele se move para extrair sua velocidade e, posteriormente, sua posição.
  • Problema - acabou sendo muito complicado de implementar! Alternativa - Restringimos o movimento do bot a apenas uma dimensão e usamos um sensor ultrassônico para medir a distância de uma parede bem à frente.
  • O módulo HC05-Bluetooth foi usado durante o período de treinamento para transmitir a taxa de transição de distância entre duas etapas para o PC e lá os dados foram armazenados em uma matriz.

Etapa 7: Link para vídeos:

Link para vídeos
Link para vídeos

Passos de bebê:

Foto de treinamento:

Quase em linha reta:

Vídeo do robô dançando:

Vídeo final0:

Recomendado: