Índice:

Criando um robô Arduino com auto-balanceamento controlado remotamente: B-robot EVO: 8 etapas
Criando um robô Arduino com auto-balanceamento controlado remotamente: B-robot EVO: 8 etapas

Vídeo: Criando um robô Arduino com auto-balanceamento controlado remotamente: B-robot EVO: 8 etapas

Vídeo: Criando um robô Arduino com auto-balanceamento controlado remotamente: B-robot EVO: 8 etapas
Vídeo: Faça um robô controlado pelo seu celular. Inacreditavelmente fácil. 2024, Novembro
Anonim
Image
Image
Criando um robô Arduino com autoequilíbrio controlado remotamente: B-robot EVO
Criando um robô Arduino com autoequilíbrio controlado remotamente: B-robot EVO
Criando um robô Arduino com autoequilíbrio controlado remotamente: B-robot EVO
Criando um robô Arduino com autoequilíbrio controlado remotamente: B-robot EVO

Por jjrobotsjjrobotsFollow Mais do autor:

Pybot: Python + braço robótico impresso em 3D
Pybot: Python + braço robótico impresso em 3D
Pybot: Python + braço robótico impresso em 3D
Pybot: Python + braço robótico impresso em 3D
Display rotativo motorizado simples (baseado em Arduino + controlado de seu smartphone)
Display rotativo motorizado simples (baseado em Arduino + controlado de seu smartphone)
Display rotativo motorizado simples (baseado em Arduino + controlado de seu smartphone)
Display rotativo motorizado simples (baseado em Arduino + controlado de seu smartphone)
Robotic Arm Gripper
Robotic Arm Gripper
Robotic Arm Gripper
Robotic Arm Gripper

Sobre: Nós amamos robôs, DIY e ciência engraçada. JJROBOTS visa trazer projetos de robótica aberta mais perto das pessoas, fornecendo hardware, boa documentação, instruções de construção + código, "como funciona" informações … Mais sobre jjrobots »

------------------------------------------------

ATUALIZAÇÃO: há uma versão nova e melhorada deste robô aqui: O B-robot EVO, com novos recursos

------------------------------------------------

Como funciona?

O B-ROBOT EVO é um robô arduino de autoequilíbrio controlado remotamente, criado com peças impressas em 3D. Com apenas duas rodas, o B-ROBOT é capaz de manter o equilíbrio o tempo todo usando seus sensores internos e acionando os motores. Você pode controlar seu Robô, fazendo-o se mover ou girar, enviando comandos via Smartphone, Tablet ou PC enquanto mantém o equilíbrio.

Este robô com auto-equilíbrio lê seus sensores inerciais (acelerômetros e giroscópios integrados no chip MPU6000) 200 vezes por segundo. Ele calcula sua atitude (ângulo em relação ao horizonte) e compara esse ângulo com o ângulo alvo (0º se deseja manter o equilíbrio sem se mover, ou um ângulo positivo ou negativo se deseja se mover para frente ou para trás). Usando a diferença entre o ângulo alvo (digamos 0º) e o ângulo real (digamos 3º), ele aciona um Sistema de Controle para enviar os comandos corretos aos motores para manter o equilíbrio. Os comandos para os motores são acelerações. Por exemplo, se o robô estiver inclinado para frente (ângulo do robô é de 3º) então ele envia um comando para os motores acelerarem até que esse ângulo seja reduzido a zero para preservar o equilíbrio.

Etapa 1: Um pouco mais em profundidade …

Um pouco mais em profundidade …
Um pouco mais em profundidade …
Um pouco mais em profundidade …
Um pouco mais em profundidade …
Um pouco mais em profundidade …
Um pouco mais em profundidade …

O problema físico que o B-ROBOT resolve é chamado de pêndulo invertido. Este é o mesmo mecanismo de que você precisa para equilibrar um guarda-chuva acima de sua mão. O ponto de pivô está sob o centro de massa do objeto. Mais informações sobre o pêndulo invertido aqui. A solução matemática para o problema não é fácil, mas não precisamos entendê-la para resolver o problema de equilíbrio do nosso robô. O que precisamos saber é como fazer para restaurar o equilíbrio do robô para que possamos implementar um Algoritmo de Controle para resolver o problema.

Um sistema de controle é muito útil em robótica (uma automação industrial). Basicamente, é um código que recebe informações de sensores e comandos de destino como entradas e cria, em conseqüência, sinais de saída para acionar os atuadores do Robô (os motores em nosso exemplo) a fim de regular o sistema. Estamos usando um controlador PID (Proporcional + Derivativo + Integral). Este tipo de controle possui 3 constantes para ajustar kP, kD, kI. Da Wikipedia: “Um controlador PID calcula um valor de 'erro' como a diferença entre uma [entrada] medida e um ponto de ajuste desejado. O controlador tenta minimizar o erro ajustando [uma saída].” Então, você diz ao PID o que medir (a "Entrada"), onde você deseja que a medição esteja (o "Ponto de ajuste") e a variável que deseja ajustar para fazer isso acontecer (a "Saída").

O PID então ajusta a saída tentando fazer com que a entrada seja igual ao setpoint. Para referência, um tanque de água que queremos encher até um determinado nível, a entrada, o ponto de ajuste e a saída seriam o nível de acordo com o sensor de nível de água, o nível de água desejado e a água bombeada para o tanque. kP é a parte Proporcional e é a parte principal do controle, esta parte é proporcional ao erro. kD é a parte derivada e é aplicada à derivada do erro. Esta parte depende da dinâmica do sistema (depende do robô, motores de peso, inércias …). O último, kI, é aplicado à integral do erro e é usado para reduzir erros constantes, é como uma compensação na saída final (pense nos botões de compensação em um volante de carro RC para fazer o carro ficar totalmente reto, kI remove o deslocamento entre o alvo necessário e o valor real).

No B-ROBOT, o comando de direção do usuário é adicionado à saída dos motores (um motor com sinal positivo e outro com sinal negativo). Por exemplo, se o usuário enviar o comando de direção 6 para virar para a direita (de -10 a 10), precisamos adicionar 6 ao valor do motor esquerdo e subtrair 6 do motor direito. Se o robô não está se movendo para frente ou para trás, o resultado do comando de direção é um giro do robô

Etapa 2: e o controle remoto?

"carregando =" preguiçoso"

Recomendado: