Guia de Desenvolvimento do StackForce Giant Bipedal Wheeled Robot
Este guia foi projetado para desenvolvedores profissionais e pesquisadores, oferecendo uma solução completa desde a configuração básica até o desenvolvimento de aplicações avançadas. Se você é iniciante, recomendamos começar pela versão Mini.
📋 Índice
- Visão Geral do Produto
- BOM Lista de Materiais
- Recursos Principais
- Início Rápido
- Guia de Operação por Controle Remoto
- Guia de Depuração do Sistema
- Montagem de Hardware
Visão Geral do Produto
Posicionamento do Produto
O StackForce Giant Bipedal Wheeled Robot é um sistema de robô sobre rodas e pernas de nível profissional construído sobre a plataforma leve de desenvolvimento de robôs StackForce. Em comparação com a versão Mini, a versão completa apresenta melhorias significativas em configuração de hardware, funcionalidade de software e capacidade de expansão, sendo especificamente projetada para desenvolvimento profissional, pesquisa acadêmica e aplicações comerciais.
Arquitetura Técnica Central
Sistema de Controle Colaborativo de Dois Chips
- Chip de Controle Principal S1: Responsável pelo controle de motor, execução do algoritmo FOC e controle de movimento
- Chip Coprocessador S3: Responsável pelo controle de servo, fusão de sensores e comunicação sem fio
Modelo de Cinemática Omnidirecional
- Algoritmo de cálculo de atitude baseado em quaternions
- Solução de cinemática inversa em tempo real
Algoritmo Inteligente de Equilíbrio
- Controle PID adaptativo
- Ajuste dinâmico do centro de gravidade
- Estabilização adaptativa em terrenos complexos
BOM Lista de Materiais
Lista de Materiais da Estrutura de Grande Roda-Perna
| Nome do Item | Quantidade | Observações |
|---|---|---|
| Componentes Eletrônicos | ||
| Placa de Controle Principal StackForce | 1 | |
| Placa de Alta Corrente StackForce A | 1 | |
| Placa de Alta Corrente StackForce B | 1 | |
| Placa de Servo StackForce | 1 | |
| Placa CAN StackForce | 1 | |
| Placa de Expansão IO StackForce | 1 | |
| Placa Hall StackForce | 1 | |
| Peças Estruturais de Fibra de Carbono | ||
| Painel Lateral | 2 | Espessura de 5mm |
| Estrutura Base do Painel Lateral | 2 | Espessura de 3mm |
| Guia Frontal | 4 | Espessura de 5mm |
| Defletor | 2 | Espessura de 3mm |
| Peças Impressas em 3D em PLA | ||
| Perna Superior | 4 | |
| Perna Inferior | 4 | |
| Painel Frontal/Traseiro | 4 | |
| Conector de Painel Frontal/Traseiro | 4 | |
| Conector de Defletor | 4 | |
| Base de Controle Principal | 1 | |
| Tampa do Motor | 4 | |
| Placa de Cobertura V1 | 2 | |
| Placa de Cobertura V2 | 2 | |
| Compartimento da Bateria | 1 | |
| Tampa da Bateria | 1 | |
| Peças Usinadas em CNC | ||
| Conector de Perna 30 | 2 | |
| Conector de Perna 40 | 2 | |
| Perfil de Alumínio | ||
| 4030100 espessura 1mm | 4 | Requer perfuração |
| 6020320mm espessura 1mm | 2 | Requer perfuração |
| Fixadores | ||
| M2*10 | 1 | Cabeça arredondada preta |
| M3*8 | 4 | Cabeça arredondada |
| M3*8 | 32 | Preta, sextavada interna |
| M3*10 | 12 | Preta, sextavada interna |
| M3*14 | 16 | Preta, sextavada interna |
| M3*20 | 12 | Preta, sextavada interna |
| M3*25 | 24 | Preta, sextavada interna |
| M3*40 | 16 | Preta, sextavada interna |
| M3*45 | 8 | Preta, sextavada interna |
| M3*50 | 8 | Preta, sextavada interna |
| M3*50 | 8 | Preta, cabeça chata |
| M4*30 | 44 | Preta, sextavada interna |
| M4*30 | 2 | Cabeça arredondada preta |
| Pilar de Cobre | 22 | M3*8+4 |
| Prisioneiro | 4 | 10M830 |
| Porca M3 | 10 | Preta |
| Porca Travante M3 | 54 | Preta |
| Porca Travante M4 | 20 | Preta |
| Porca Travante M6 | 4 | |
| Porca Travante M8 | 4 | |
| Rolamento com Rosca Externa | 4 | 9C2L15M6 |
| Rolamento F6000ZZ | 8 | 10268 |
| Motores | ||
| Motor de Cubo 5,5 polegadas 24v | 2 | |
| GIM6010-8-Standard Version | 4 |
Recursos Principais
1. 🚀 Plataforma de Hardware de Alto Desempenho
Sistema de Controle Principal
- Arquitetura de Dois Chips: Processamento colaborativo S1 + S3
- Desempenho em Tempo Real: Tempo de resposta em nível de microssegundos
- Interfaces de Expansão: Interfaces ricas I2C, SPI, PWM
Sistema de Controle de Movimento
- Controle Vetorial FOC: Controle de torque preciso
2. 🧠 Sistema de Percepção Inteligente
Configuração de Sensores
- IMU de Alta Precisão: Fusão de sensores de 9 eixos
- Encoder Magnético: Realimentação de posição com precisão de 14 bits
3. 🌐 Poderosas Capacidades de Comunicação
Comunicação Sem Fio
- WiFi 6: Transmissão de dados em alta velocidade
- Bluetooth 5.2: Conexão de baixo consumo de energia
- Protocolo Personalizado: Pilha de protocolo de comunicação eficiente para conexão com controle remoto
Interfaces Com Fio
- USB Type-C: Depuração serial
- Barramento CAN: Acionamento de motor
4. 🔧 Suporte Flexível ao Desenvolvimento
Cadeia de Ferramentas de Desenvolvimento
- PlatformIO: Ambiente profissional de desenvolvimento embarcado
- ROS/ROS2: Compatibilidade com o Sistema Operacional de Robôs
Ecossistema Open Source
- Totalmente Open Source: Código de controle é open source
- Design Modular: Facilita a expansão de funcionalidades
Início Rápido
Requisitos de Sistema
Requisitos de Hardware
- Kit de Robô Versão Completa StackForce
- Computador com Ubuntu 20.04+ ou Windows 10+ instalado
- Pelo menos 8GB de RAM, 100GB de espaço de armazenamento disponível
Requisitos de Software
- Visual Studio Code
- Extensão PlatformIO IDE
Guia de Operação por Controle Remoto
1. Fiação do Receptor
O diagrama abaixo mostra a sequência de fios de saída do receptor; apenas os três fios a seguir são necessários: CH1/PPM, GND, VCC.
O receptor faz a saída na seguinte ordem: CH1/PPM, GND, VCC
A placa de expansão possui 40 pinos, com GND e 3V3 na fileira do meio, conforme mostrado no diagrama abaixo.

2. Pareamento de Frequência entre Receptor e Controle Remoto
Antes de fazer o pareamento de frequência, primeiro desligue o controle remoto, depois ligue e desligue o receptor três vezes em até 10 segundos para entrar no modo de pareamento. O indicador do receptor acenderá e apagará após um segundo.

Em seguida, mova a chave de habilitação do controle remoto para baixo para ativar a transmissão de sinal, mova o joystick esquerdo do controle remoto para a posição mais baixa e então ligue o controle remoto. O pareamento de frequência será bem-sucedido. Após o pareamento bem-sucedido, o indicador do receptor apagará.
3. Instruções Básicas de Uso do Controle Remoto

Funções dos Joysticks e Chaves
| Controlador | Função | Descrição |
|---|---|---|
| Joystick de Habilitação | Se o controle remoto envia sinal ou não | Deve ser acionado antes de controlar o robô |
| Joystick Esquerdo (cima/baixo) | Controlar a altura do robô | Para cima eleva, para baixo abaixa |
| Joystick Esquerdo (esquerda/direita) | Controlar a altura de ambos os lados das pernas do robô | Precisa habilitar a função de balanço do ombro |
| Joystick Direito (cima/baixo) | Controlar o movimento para frente/para trás do robô | Para cima move para frente, para baixo move para trás |
| Joystick Direito (esquerda/direita) | Controlar a virada para esquerda/direita do robô | Vira para a esquerda, vira para a direita |
Uso do Joystick Esquerdo com o Botão Esquerdo
- Quando o botão esquerdo é girado no sentido horário até o topo: Mover o joystick esquerdo para baixo habilita a função de balanço do ombro; mover para cima desabilita
- Quando o botão esquerdo é girado no sentido anti-horário até o fundo: Mover para baixo faz o robô pular, mover para cima desabilita o pulo

Joystick Direito e Botão Direito
-
O joystick direito possui três posições:
- Posição superior: Desabilitar motor de cubo
- Posição intermediária: Habilitar motor de cubo
- Posição inferior: Ativar mecanismo autoestabilizante
-
Botão direito: Ajustar o desvio de equilíbrio
4. Etapas de Operação de Ligar o Robô
Processo Detalhado de Operação
-
Preparação do Controle Remoto
- Mova o joystick esquerdo do controle remoto até a posição mais baixa e então ligue o controle remoto
- Certifique-se de que as pernas do robô estejam suspensas e paralelas ao solo
- As pernas do robô devem ficar penduradas naturalmente, garantindo rotação suave das rodas para calibração
-
Ligar o Robô
- Ligue a chave de alimentação do robô
- Aguarde a conclusão da calibração do motor de cubo
-
Reset da Placa de Controle Principal
- Mova o joystick esquerdo completamente para cima para resetar o chip S3 na placa de controle principal
- Aguarde a conclusão da calibração
-
Recolhimento das Pernas
- Mova o joystick esquerdo completamente para baixo para recolher as pernas do robô
- Coloque o robô no chão
-
Ativação do Motor de Cubo
- Mova o joystick direito para a posição intermediária para iniciar o motor de cubo
- Se o robô não conseguir manter o equilíbrio, faça um ajuste fino no botão direito do controle remoto até que o robô mantenha o equilíbrio
Lembretes Importantes:
- Não descarregue demais a bateria do controle remoto
- Você pode usar um multímetro para medir a tensão da bateria
- A faixa normal de descarga é geralmente de 25-21V
- Se a tensão cair abaixo de 21V, carregue a bateria a tempo
- Se você não entender as etapas acima, pode entrar em contato com a equipe técnica para assistir ao vídeo de operação de ligar o robô!
Guia de Depuração do Sistema
Esta seção usa o número de ID da placa do motor de junta como rótulo para explicação. Conecte estritamente de acordo com o diagrama de fiação.
1. Guia de Fiação
Diagrama de Fiação - Faça a fiação estritamente de acordo com o diagrama para garantir que cada conexão esteja correta

1. Fiação do Motor de Cubo
Fiação da linha trifásica do motor de cubo e da linha trifásica Hall:
- Sequência de soldagem dos fios trifásicos do motor de cubo (da esquerda para a direita): Verde, Amarelo, Azul
- Sequência dos fios do encoder (da esquerda para a direita): Amarelo, Verde, Azul, Preto, Vermelho
Diagrama detalhado de fiação:
![]() Figura 1: Fiação da linha trifásica do motor | ![]() Figura 2: Detalhes da fiação do encoder |
Distribuição da fiação dos motores de cubo esquerdo e direito:
- Motor de cubo esquerdo:
- Linha trifásica → Placa de alta corrente B
- Linha do encoder Hall → Porta M0 da placa Hall
Esquema detalhado de fiação das rodas esquerda e direita:
![]() Esquema de fiação do motor de cubo esquerdo | ![]() Esquema de fiação do motor de cubo direito |
2. Gravação do Firmware S1
Preparação antes da gravação
Lembrete Importante - A direção de inserção do cabo USB é crucial, a inserção incorreta pode causar danos ao dispositivo
- Insira a ponta tipo-c do cabo USB com o lado da emenda voltado para baixo na interface tipo-c da placa de controle principal
- Verifique o LED indicador da placa de controle principal:
- Se a placa de controle principal acender amarela → Normal, pode gravar diretamente
- Se a placa de controle principal acender verde → Pressione o botão branco de travamento automático ao lado para alternar para a luz amarela

⚠️ Observe a direção de inserção do cabo USB
Etapas de gravação
Passo 1: Abrir a ferramenta de gravação
- Clique duas vezes para abrir a ferramenta
flash_download_tool_3.9.2.exe - Após a ferramenta abrir, uma caixa de diálogo aparecerá, selecione ESP32

Passo 2: Selecionar o arquivo de firmware
- Clique nos três pontos (ícone 📁) na primeira linha
- Na pasta que abrir, selecione o arquivo
target.bin

Passo 3: Configurar os parâmetros de gravação
Lista de Verificação de Configuração de Parâmetros - Configure de acordo com os seguintes parâmetros para garantir a gravação bem-sucedida
Configure os seguintes parâmetros:
- ✅ Selecionar caminho do arquivo (exibido automaticamente)
- ✅ Marcar seleção
- ✅ Endereço de escrita:
0x00 - ✅ Frequência de clock:
80MHz - ✅ Modo de flash:
QIO - ✅ Seleção de porta serial: Verifique a porta correspondente ao CH340 através do Gerenciador de Dispositivos
- ✅ Taxa de baud:
921600
![]() 📋 Etapa 1 de configuração de parâmetros | ![]() 📋 Etapa 2 de configuração de parâmetros | ![]() 📋 Etapa 3 de configuração de parâmetros |
Passo 4: Verificar resultados da gravação Após a gravação bem-sucedida:
- Monte a placa e conecte os fios
- Abra o assistente serial (VOFA) e selecione a porta correspondente
- Ligue o robô:
- Primeiro ligue o controle remoto
- Empurre o joystick esquerdo do controle remoto para cima
- Empurre a alavanca superior direita para cima (posição L)
- Pressione o botão de reset do chip S1 (posição marcada com caixa vermelha)
Etapas de Verificação - Verifique de acordo com as seguintes etapas após a conclusão da gravação
![]() ✅ Posição do botão de reset do chip S1 | ![]() 📊 Interface do assistente de depuração serial |
Se as informações impressas na serial forem como mostrado na figura abaixo, significa que a fiação do motor de cubo está correta e o firmware S1 foi gravado com sucesso.

🎉 Gravação bem-sucedida! Ver esta mensagem indica que tudo está normal
3. Verificando a Resistência de Terminação
Números de ID da Placa Controladora do Motor de Junta
As placas controladoras dos motores de junta têm firmware gravado antes do envio e são etiquetadas com rótulos que são os números de CAN ID:
| Posição da Junta | Número CAN ID |
|---|---|
| Placa controladora do motor da junta dianteira esquerda | 0x04 |
| Placa controladora do motor da junta dianteira direita | 0x03 |
| Placa controladora do motor da junta traseira esquerda | 0x02 |
| Placa controladora do motor da junta traseira direita | 0x01 |
Conexão e Configurações de Resistência de Terminação
-
Usar cabo XT30 (2+2) para conexão:
- Conecte as quatro placas controladoras de motor de junta em série
- Só é necessário abrir a resistência de terminação de uma das placas controladoras de motor na fiação
- As outras três não precisam abrir resistência de terminação
-
Verificação da Resistência de Terminação da Placa CAN:
- Verifique se a resistência de terminação na placa CAN está aberta
- Use o modo de resistência de um multímetro para medir a resistência dos terminais H e L da placa CAN
- A resistência normal deve ser em torno de 60Ω
-
Solução de Problemas:
- Se a resistência estiver incorreta, verifique se os interruptores de resistência de terminação na parte de trás das outras três placas controladoras de motor de junta estão fechados
- Certifique-se de que apenas uma resistência de terminação esteja em estado aberto
4. Calibrando a Posição Zero
Passo 1: Modificar Configurações de Código
No arquivo can.cpp:
- Role para baixo para encontrar a função
CAN_control()

📝 Localização do código-chave em can.cpp
No arquivo main.cpp:

📝 Localização do código-chave em main.cpp
Passo 2: Preparação de Hardware e Gravação
-
Preparação do robô:
- Primeiro deixe as pernas do motor de junta penduradas naturalmente para baixo na vertical
- Insira o cabo USB na placa de controle principal (observe que o lado da interface tipo-c com a emenda fica para baixo, o lado sem emenda fica para cima)
- Após a inserção, a porta serial S3 da placa de controle principal deve acender luz verde
- Se acender amarela, pressione o botão branco na placa de controle principal para alternar para o chip S3
-
Gravação do Programa:
- Grave o programa modificado

🔧 Estado de conclusão da preparação de hardware
-
Teste de Energização:
- Abra o assistente serial após gravar o programa
- Ligue o robô (empurre a alavanca superior direita do controle remoto para cima (L))
- Redefina o chip S3
- Observe que os ângulos iniciais dos motores de junta impressos pela porta serial estão todos próximos de 0
-
Verificar Dados de Ângulo:
- Balance um dos grandes braços do robô
- Os dados que mudarem correspondem aos dados de ângulo daquela posição do grande braço

📊 Saída serial - verificação de dados de ângulo
Passo 3: Concluir Configurações da Posição Zero
No arquivo main.cpp:

✅ Configuração da posição zero em main.cpp concluída
No arquivo can.cpp:
- Após comentar
posInit(), você precisa remover o comentário do envio de comandos CAN na funçãoCAN_Control()no arquivo can.cpp - Comente a impressão do ângulo elétrico do motor de junta

✅ configuração final de can.cpp concluída
Etapa 4: Ajuste Final
- Regrave o programa no chip S3
- Teste de Controle:
- Ligar o robô
- Controlar o joystick de altura das pernas
- Observar se as mudanças na altura das pernas seguem o controle do joystick esquerdo
- Ajuste de Balanceamento de Altura:
- Colocar o robô no chão
- Recolher as pernas do robô ao mínimo
- Observar se as alturas em ambos os lados do plano do robô são consistentes
- Se não forem consistentes, ajustar os valores
leftYerightYno arquivo robot.cpp
Diagrama de Ajuste de Balanceamento de Altura:
![]() ⚖️ Diagrama de ajuste de altura - antes do ajuste | ![]() ⚖️ Diagrama de ajuste de altura - depois do ajuste |
5. Depuração de Valores de Parâmetros PID
Preparação para Depuração
Interface de Depuração de Parâmetros PID:
![]() 🔧 Etapas de depuração PID - comentários de função | ![]() 🔧 Etapas de depuração PID - impressão de parâmetros |
Etapas de Depuração
Depurar parâmetros PID em três valores de altura:
| Valor de Altura | Posição Correspondente | Preencher Parâmetros |
|---|---|---|
| 0 | Ponto mais baixo | pid0 |
| 100 | Ponto médio | pid1 |
| 200 | Ponto mais alto | pid2 |
Cada parâmetro pid inclui:
- Kp do loop de velocidade
- Kp do loop de verticalidade
- Kd do loop de verticalidade
- Kp do eixo X do robô
Processo de Depuração
-
Depurar cada altura individualmente:
- Depurar os valores de parâmetros PID para três diferentes valores de altura separadamente
- Garantir que o robô possa manter o equilíbrio em cada altura
-
Preencher parâmetros:
- Preencher os parâmetros PID depurados dos três valores de altura na função de ajuste linear PID em ordem
- Preencher os valores de parâmetros PID do ponto mais baixo em pid0
- Preencher os valores de parâmetros PID do ponto médio em pid1
- Preencher os valores de parâmetros PID do ponto mais alto em pid2
-
Verificação final:
- Após concluir a depuração, remova o comentário da função de ajuste linear PID
- Gravar o programa no S3
- Ligar o robô de acordo com as etapas de energização do robô
- Verificar em solo se os parâmetros PID atendem ao equilíbrio de movimento e aos requisitos operacionais do robô
Se você precisar consultar vídeos de operação, pode entrar em contato com a equipe técnica no grupo para obter o vídeo de operação de energização do robô!
Montagem de Hardware
Guia Detalhado de Montagem
Documentos e Vídeos de Montagem
📄 Documentos de Montagem
- 📗 Manual Detalhado de Montagem (Versão em Inglês)
- 📘 Manual Detalhado de Montagem (Versão em Chinês)
- 📋 Lista de Materiais BOM (Versão em Chinês)
- 📋 Lista de Materiais BOM (Versão em Inglês)
🔧 Ferramentas de Desenvolvimento
- ⚙️ Tutorial de Configuração de Ambiente VSCode + PIO
- 📦 Kit de Ferramentas MingW64
- 🔌 Guia de Instalação do Driver CH340
- 💾 Pacote de Driver CH340
💻 Firmware e Programas
- ⚡ Ferramenta de Gravação de Firmware S1
- 🔧 Programa de Controle Mais Recente
- 🔧 Programa de Depuração de Junta
- 🖼️ Capturas de Tela de Depuração de Programa
📚 Documentação Técnica
🗂️ Modelos 3D e Esquemáticos
- 📐 Modelo 3D do Robô (Formato STP)
- 🔌 Esquemático da Placa de Controle Principal
- 🔌 Esquemático da Placa de Expansão CAN/485
- 🔌 Esquemático do Módulo Servo IMU
🎥 Tutoriais em Vídeo
Etapas Detalhadas de Montagem
Fase 1: Construção da Estrutura Mecânica
- Montar a estrutura da base
- Instalar os componentes de roda-perna
- Conectar a estrutura do corpo principal
Fase 2: Integração do Sistema Eletrônico
- Instalar o sistema de controle principal (placas S1/S3)
- Configurar módulos de sensores
- Configurar interfaces de comunicação
Fase 3: Depuração do Sistema
- Executar auto-verificação de hardware
- Verificar a funcionalidade do sistema
Conclusão
O Robô Gigante Bípede com Rodas StackForce representa o mais recente nível de desenvolvimento da tecnologia de robôs roda-perna. Estamos empenhados em fornecer aos desenvolvedores as ferramentas mais poderosas e o suporte mais abrangente para promover conjuntamente o desenvolvimento da tecnologia de robôs.
Seja você estudante, pesquisador ou engenheiro, StackForce pode oferecer uma plataforma inovadora com possibilidades ilimitadas. Esperamos ver você criar aplicações incríveis!
Suporte Técnico & Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para 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.












