Pular para o conteúdo principal

Introdução ao uso do Robô Bípedo de Duas Rodas baseado na Plataforma de Desenvolvimento StackForce

dica

Este tutorial fornece apenas instruções de montagem e depuração para ajudar os desenvolvedores a construir o mais rápido possível um robô completo com rodas e pernas. Se você precisar aprender os princípios fundamentais dos robôs com rodas e pernas, consulte o vídeo tutorial de código aberto de DengGe no Bilibili. Para desenvolvimento secundário, você pode procurar tutoriais em outros sites ou fóruns.

Introdução

O robô bípedo de duas rodas StackForce é desenvolvido com base na plataforma leve de desenvolvimento de robótica StackForce. Seu hardware central é composto pela placa de controle principal da série StackForce, placa de acionamento de motor e placa de acionamento de servo.

O robô inclui um modelo cinemático de corpo inteiro e um algoritmo de autoestabilização adaptativo ao estado. Com o poder de computação em tempo real da plataforma StackForce, ele suporta controle de múltiplas posturas, autoestabilização em terrenos complexos, descida de escadas e movimento estável em vários declives. A plataforma oferece suporte a transmissores RC, Bluetooth, comunicação serial e controle sem fio. Os usuários podem programar e ajustar o sistema conforme necessário. O produto fornece tutoriais completos de instalação e cursos em vídeo, tornando-o um robô bípedo de duas rodas de mesa com ótimo custo-benefício.

Principais recursos

  1. Código aberto e baixo custo: Segue uma licença de código aberto; todo o código-fonte e arquivos de projeto estão totalmente disponíveis, permitindo que desenvolvedores estudem, modifiquem e façam desenvolvimento secundário livremente.
  2. Controle de motor de alto desempenho: Equipado com tecnologia FOC (Field-Oriented Control), oferecendo suporte a controle de velocidade, posição e torque em malha aberta/fechada para controle de movimento preciso.
  3. Poderoso suporte de hardware: Utiliza um controlador principal ESP32 com interfaces ricas como I2C, SPI e PWM, permitindo expansão flexível de recursos.
  4. Capacidades abrangentes: Suporta autoequilíbrio, movimento em alta velocidade, estabilização de postura e controle sem fio, adaptando-se a vários terrenos complexos.
  5. Fácil de aprender e usar: Acompanha código de exemplo completo e tutoriais em vídeo, reduzindo significativamente a barreira de aprendizado para iniciantes.

Especificações

EspecificaçãoDetalhes
Placa de Controle PrincipalPlaca de controle principal StackForce
Placa de Driver de MotorDriver de motor brushless de canal duplo 5A (baixa potência)
MotoresMotores brushless de gimbal 2208
Placa de Driver de ServoDriver de servo multicanal com IMU integrada
Fonte de alimentaçãoBateria de polímero de lítio 12,6V
EncoderEncoder magnético de alta precisão MT6701 de 14 bits
Controle sem fioControle remoto WiFi + controle sem fio Bluetooth PS4
Peso total540 g
Dimensões10,5 × 21,0 cm (C × L), Altura 12,0–21,0 cm

Lista de materiais (BOM)

Download da BOM

Nome do itemQuantidadeUnidadeEspecificaçõesObservações/Padrões
Componentes eletrônicos
Placa de Controle Principal StackForce1pcStackForce
Placa Driver StackForce 5A de Baixa Potência1pcStackForce
Placa de Servo StackForce1pcStackForce
Encoder MT67012pcStackForce
Motor de Gimbal 22082pc
Servo DS041MG 500–25004pc
Controle Remoto MC6C-MINI1pc
Receptor MC7RBv21pc
Bateria Li-Polymer 12V1pc19×34×42mm
Conector de Motor MR30-U2pcPara motor
Cabo de Encoder SH1.0-5P2setPara encoder
Fio Dupont 3P (Fêmea-Fêmea)1setPara receptor
Ferragens mecânicas
Porca Travante M34pcM3GB889.1-86
Porca M34pcM3DIN934
Espaçador de Nylon4pc5×3.2×9mmABS
Arruela M34pcM3Aço inox 304
Ímã Radial2pc6×2.5mm
Parafuso de Cabeça Redonda M2×424pcM2×4GB/T845
Parafuso de Cabeça Redonda M2×1012pcM2×10GB/T845
Parafuso de Cabeça Redonda M3×64pcM3×6GB/T845
Parafuso de Cabeça Redonda M3×84pcM3×8GB/T845
Parafuso de Cabeça Redonda M3×164pcM3×16GB/T845
Parafuso de Cabeça Redonda M4×182pcM4×18GB/T845
Parafuso Autoatarraxante M2×616pcM2×6GB/T845
Parafuso de Cabeça Chata M2×646pcM2×6Aço inox 304
Parafuso de Cabeça Chata M3×616pcM3×6Aço inox 304
Espaçador de Cobre M3×7+44pcM3×7+4Cobre / GB
Rolamento 6704ZZ4pcØ27ר20×4mm
Rolamento 6701ZZ6pcØ18ר12×4mm
Componentes estruturais
Peças Impressas em 3D29pc
Pneus 1:10 6030-6085 Resistentes ao Desgaste2pc

Sumário

Tutorial da Versão Montada

Manual Básico de Operação do StackForce Wheeled_Legged_Robot (PDF)

Você pode controlar o robô remotamente simplesmente iniciando-o na ordem especificada no documento em PDF.

Tutorial da Versão em Kit 1 - Montagem

Documento de instalação do Mini-Wheeled-legged robot.pdf

dica

A montagem possui muitas etapas, portanto, siga o guia com atenção. Alguns furos são feitos para parafusos autoatarraxantes, e é normal que os parafusos do pacote sejam diferentes dos do tutorial. Isso não afetará a montagem, e você pode usar parafusos de substituição adequados, se necessário.

cuidado

Durante a montagem, preste atenção ao aperto dos parafusos. Não os aperte demais para evitar espanar ou danificar as roscas.

Tutorial da Versão em Kit 2 - Calibração

Primeiro, faça o download dos arquivos de código necessários para a calibração.

Configuração do ambiente

Passo 1: Baixe o Visual Studio Code.

Passo 2: Abra o Visual Studio Code, depois pesquise e instale a extensão PlatformIO IDE no Extensions Marketplace.

Após clicar em instalar, o PlatformIO fará automaticamente o download dos componentes adicionais necessários. Em alguns casos, o MinGW pode estar ausente, o que impedirá você de criar novas pastas. Se isso acontecer, será necessário instalar o MinGW-w64 manualmente.

Step 3:Download MinGW-w64

Link de download do pacote de ferramentas do Wheeled-Legged Robot(Inclui MinGW-w64)

Após baixar o arquivo, extraia-o e encontre a mingw64 folder dentro do pacote de ferramentas. Extraia-a e instale-a em um diretório que use apenas caracteres em inglês. Abra a extracted folder → abra a bin folder → copie o path of the bin directory (por exemplo: D:\ming\mingw64\bin).

Configuração do ambiente: Pesquise e abra Advanced System Settings no seu computador → Environment VariablesSystem variablesPathNew → cole o bin path copiado anteriormente → clique em OK.

  • 1: Pesquise e abra Advanced System Settings.
  • 2: Clique em Environment Variables.
  • 3: Clique duas vezes em Path em Variáveis de sistema.
  • 4: Crie uma nova entrada de variável de ambiente.

Etapa 4: Instruções dos Botões de Compilar e Upload

(: Compilar o programa →: Fazer upload do programa para o hardware      Auto: Selecionar a porta serial)

dica

A seguir são explicados os botões de upload. Ainda não faça o upload do programa. Desenvolvedores podem revisar aqui primeiro o processo de upload.

Após conectar o computador ao hardware, clique em Auto (opcional). O sistema detectará e recomendará automaticamente uma porta serial. Depois de selecionar a porta serial, clique em Compile (opcional) e Upload para gravar o programa no hardware.

Gravação e Depuração do S1

Conectando o Chip S1

Conecte o cabo USB. O lado com o vão do conector USB deve ficar para cima e o lado sem o vão deve ficar para baixo. Solte o botão branco para alternar para o chip S1 (a luz amarela acenderá).

dica

Observação: Por que existe um lado superior e um inferior?

Como a placa possui dois chips — S1 para o programa do motor e S3 para o programa de controle dos servos — o conector Type-C usa duas fileiras de pinos separadas para comunicação. Cada chip usa uma fileira diferente para gravação. O botão branco alterna qual chip o computador irá gravar.

Gravando o Programa do S1

Método 1: De acordo com o programa de controle do motor S1 pré-gravado, você pode pular para Vofa Serial Assistant Download and Usage Guide.

Método 2: Regravar o programa de controle do motor S1 (não recomendado)

Abra o projeto BLDC_Control no VS Code.

Isso permite que o PlatformIO instale automaticamente as bibliotecas necessárias, portanto não arraste a pasta do projeto diretamente para o VS Code. Em vez disso, abra uma nova janela do VS Code e use FileOpen Folder.

Localize a pasta onde o programa do S1 está armazenado e clique em Select Folder.

Antes de gravar, você precisa modificar o código de registro e o modo de comunicação:

Modificar o código de registro:

Cada placa possui um código de registro exclusivo.
Seu código de registro está impresso na etiqueta anexada à embalagem da placa de controle principal.
Insira esse código no campo correspondente.
Você também pode ler o código de registro a partir da saída serial do S1 (explicado anteriormente no guia de instalação).

Modificar o modo de comunicação:

Altere o valor na posição mostrada na imagem para ONBOARD. (USB = comunicação serial entre o chip S1 e o computador, ONBOARD = comunicação entre os chips S1 e S3.)

Após fazer as alterações, clique no ícone no canto inferior esquerdo para gravar o programa.

dica

Problemas comuns durante a gravação e como resolvê-los:

  1. Resultado de gravação bem-sucedida
  1. Este é o chip S3, que não corresponde ao programa S1

Solução:
Verifique se o cabo USB está conectado invertido — o lado sem o vão deve ficar para cima.
Verifique se o botão branco está solto. Quando solto, o LED amarelo acende, indicando que a placa está em modo de gravação S1.

  1. Porta serial ocupada

Solução:
Verifique se outro programa está usando a porta serial.
Certifique-se de que o monitor serial do Vofa esteja fechado.
Verifique se todos os outros assistentes seriais liberaram a porta.

Guia de Download e Uso do Vofa Serial Assistant

Em seguida, abra o assistente serial e defina o baud rate para 115200 para verificar a saída serial. Link de download do Vofa Serial Assistant: Download Center | VOFA-Plus

Depuração do Programa de Controle do Motor S1 – Calibração do Número de Pares de Polos

Segure o robô de forma que as rodas fiquem fora do chão e pressione o botão de reset do S1.
As informações de pares de polos aparecerão no Vofa. Aguarde as rodas terminarem a rotação de autoteste.
Se o valor detectado de pares de polos for 7, a calibração foi bem-sucedida, conforme mostrado abaixo:

dica

Se o valor de pares de polos mostrar inf ou outro texto, verifique se a alimentação está ligada, confirme a fiação e certifique-se de que o ímã esteja instalado corretamente.

Se o valor detectado for 6, 8 ou qualquer outro diferente de 7, a roda pode estar montada muito apertada
(consulte o guia de instalação das pernas com rodas e pesquise por motor bearing installation para reinstalar).

A roda também pode estar tocando o chão ou outro objeto.
Sempre que o robô for ligado ou o S1 for reiniciado, as rodas devem estar fora do chão para que o autoteste seja executado corretamente.

Repita o processo e pressione o botão de reset do S1 até que o número de pares de polos mostre 7.

Aquisição do Valor de Offset do S3

Depois de concluir a gravação do S1, alterne para o chip S3 e grave o programa do S3. (Certifique-se de que o vão da porta USB fique voltado para baixo. Pressione o botão mostrado na imagem — quando a luz ficar verde, isso indica que o sistema mudou para o S3.)

cuidado

Certifique-se de remover o conjunto da coxa antes de gravar o programa.

    1. No VSCode, abra a pasta bipedal_calibrate (programa de calibração de valores de offset), grave o programa diretamente e depois abra o Vofa e defina o baud rate para 115200.
      Você verá uma saída serial como 0,0,0,0, que representa os valores de offset dos servos 1, 2, 3 e 4.
    1. Ligue a bateria. Depois que os servos terminarem de girar, instale as pernas de modo que fiquem o mais perpendiculares possível ao chão.
    1. No terminal serial, insira comandos como 1,2,3,4 para controlar os servos até que as pernas fiquem perfeitamente verticais.
      Guia de direção: Quando a perna estiver voltada para você, o sentido horário é negativo e o anti-horário é positivo.

Por exemplo: Na imagem acima, o servo 1 está levemente inclinado para a esquerda e o servo 2 ligeiramente para a direita.
Digite 5,-6,0,0 para corrigir os servos 1 e 2 de volta à vertical. (5 significa girar o servo 1 no sentido anti-horário em 5 unidades; -6 significa girar o servo 2 no sentido horário em 6 unidades.)

Ajuste os servos 3 e 4 usando o mesmo método:
Use 0,0,x,0 para controlar o servo 3 e 0,0,0,x para controlar o servo 4.
Depois de terminar todos os ajustes de offset, aperte os parafusos pretos dentro da carcaça do servo para fixar as pernas.

dica

Registre os valores de offset atuais — eles precisam ser escritos no programa de controle dos servos S3 abaixo.

Calibração e Depuração do S3

StackForce Wheeled_Legged_Robot Basic Operation Manual (PDF)

1. Modificar Valores de Offset

Abra a pasta bipedal (programa de controle de servo) no VS Code.
No arquivo bipedal_data.h, atualize os valores de offset em OFFSET.
Insira os valores de offset obtidos no programa anterior nas posições correspondentes mostradas abaixo.

2. Depuração dos Servos

  • Após gravar o programa, desconecte o USB.
    Pressione o 5 por longo tempo para ligar o controle remoto.
    Ajuste as chaves: A (superior esquerda) para o meio, B (inferior esquerda) para baixo, C (superior direita) para baixo.
  • Segure o robô e mantenha-o nivelado para que a calibração do giroscópio e a calibração do motor possam prosseguir.
    Pressione o botão de alimentação para ligar o robô.
  • Aguarde cerca de 10 segundos para o autoteste ser concluído.
    Coloque A no meio para habilitar os servos. Eles retornarão à posição inicial.
    Coloque C no meio para sair da calibração dos servos.
    Deslize B para ajustar a altura das pernas (coordenada Y da roda).
    Deslize D para mover as rodas para frente/trás (coordenada X da roda).
  • Observação sobre o movimento do robô com rodas-pernas:
    Quando D é empurrado para frente, os servos giram para mover a coordenada X da roda para trás. O robô com rodas-pernas se inclina para frente, fazendo com que o robô se mova para frente.

3. Configurar SpdDir

Defina uma direção de rotação fixa para os motores. No arquivo main, procure por motors.setTargets e defina o torque de motor 0 e motor 1 como 2.

Use o Vofa para visualizar as velocidades dos motores. Defina a taxa de transmissão do Vofa para 921600 e conecte a S3.

Grave o programa na S3, abra o Vofa (taxa de transmissão 921600), defina o A switch up do controle remoto para habilitar os motores, ligue a alimentação e segure o robô enquanto ele conclui a autoverificação. (Você pode primeiro verificar com Vofa–S1 para confirmar se a autoverificação foi concluída com sucesso.)

Verifique a rotação dos motores:

  • Motor esquerdo: a rotação para frente deve mostrar velocidade positiva.
    Se o terceiro valor (velocidade M1) for negativo, inverta motorStatus.M1SpdDir. Se for positivo, nenhuma alteração é necessária.

  • Motor direito: a rotação para trás deve mostrar velocidade negativa.
    Se o segundo valor (velocidade M0) for negativo, nenhuma alteração é necessária. Se for positivo, inverta motorStatus.M0SpdDir.

dica

Se a explicação acima ainda não estiver clara, consulte as regras simplificadas abaixo:

Se a roda girar para frente e o Vofa mostrar um valor negativo, invert o dir de feedback.

Se a roda girar para frente e o Vofa mostrar um valor positivo, not altere o dir de feedback.

Se a roda girar para trás e o Vofa mostrar um valor positivo, invert o dir de feedback.

Se a roda girar para trás e o Vofa mostrar um valor negativo, not altere o dir de feedback.

4. Configurar o dir de Controle do Motor (procure motors.setTargets)

Descomente a linha de controle do motor conforme mostrado na imagem e comente a linha abaixo dela, depois grave o programa.

Ligue o robô. Após a conclusão do reset, incline o robô para frente enquanto o segura. Se ambas as rodas girarem para frente, a direção de equilíbrio está correta.
Se a roda esquerda girar para trás, invert M1Dir. A roda direita é ajustada da mesma forma.

Depois de concluir essas etapas, o robô já pode ser controlado. A seguir é descrito como operá-lo. Você também pode consultar o documento StackForce Wheeled_Legged_Robot Basic Operation Manual (PDF).

Joysticks frontais:

  • Etapa 1: Coloque a chave superior esquerda em middle, a chave superior direita em down e o stick inferior esquerdo na posição lowest. Segure o robô, deixe as pernas penduradas naturalmente, mantenha as rodas fora do chão e o corpo nivelado.

    Ligue a alimentação, aguarde cerca de 10 seconds, depois coloque o robô no chão e mantenha-o na posição vertical.

  • Etapa 2: Coloque a chave superior direita em middle, empurre o stick inferior esquerdo slightly up e coloque a chave superior esquerda em up. O robô entra no modo de autoequilíbrio.

    Use o stick inferior direito forward/back para mover para frente/trás e left/right para virar à esquerda/direita.

    Use o stick inferior esquerdo up/down para ajustar a altura das pernas.

    Quando a chave superior direita estiver na posição top, mova o stick inferior esquerdo left/right para controlar o rolamento. Desligue a alimentação para sair do modo de rolamento.

Demonstração ao Vivo

(Vídeo de demonstração real a ser adicionado)

Citação

中文文档

gitee

StackForce Wheeled_Legged_Robot Basic Operation Manual (PDF)

Mini-Wheeled-legged robot installation document.pdf

Conjunto completo de esquemáticos da placa de controle

Projetos de exemplo para o kit de desenvolvimento

Aquisição de código de registro do cliente

urdf & stl

BOM

Pacote de Ferramentas do Robô com Rodas-pernas

Suporte Técnico & Discussão sobre o Produto

Obrigado por escolher nossos produtos! Estamos aqui para lhe fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...