Introducción al Robot Bípedo de Dos Ruedas Basado en la Plataforma de Desarrollo StackForce
Este tutorial solo proporciona instrucciones de ensamblaje y depuración para ayudar a los desarrolladores a construir un robot de patas con ruedas completo lo más rápido posible. Si necesitas aprender los principios subyacentes de los robots de patas con ruedas, puedes consultar el video tutorial de Bilibili por DengGe. Para desarrollo secundario, puedes buscar tutoriales en otros sitios web o foros.
Introducción
El robot bípedo de dos ruedas StackForce está desarrollado basado en la plataforma de desarrollo de robótica ligera StackForce. Su hardware central está compuesto por la placa de control principal de la serie StackForce, la placa controladora de motor y la placa controladora de servo.
El robot incluye un modelo cinemático de cuerpo completo y un algoritmo de auto-estabilización adaptativo al estado. Con el poder de cómputo en tiempo real de la plataforma StackForce, soporta control multi-postura, auto-estabilización en terreno complejo, descenso de escaleras y movimiento estable en varias pendientes. La plataforma soporta transmisores RC, Bluetooth, comunicación serial y control inalámbrico. Los usuarios pueden programar y ajustar el sistema según sea necesario. El producto proporciona tutoriales de instalación completos y cursos en video, convirtiéndolo en un robot bípedo de dos ruedas de escritorio rentable.

Enlaces técnicos
-
Video tutorial de código abierto de DengGe en Bilibili: https://www.bilibili.com/video/BV1kz421B73V/?share_source=copy_web&vd_source=dd1f489993457f044ad480eab0e73bdc
-
Código de fuente abierta para el curso de robot de patas con ruedas: https://gitee.com/StackForce/bipedal_wheeled_robot
-
Documentación para la plataforma de desarrollo de robótica ligera StackForce: http://stackforce.cc/#/
-
Proyectos de robots de código abierto para la plataforma de desarrollo de robótica ligera StackForce: https://gitee.com/StackForce
Características Principales
- Código abierto y bajo costo: Sigue una licencia de código abierto; todo el código fuente y archivos de diseño están completamente disponibles, permitiendo a los desarrolladores estudiar, modificar y realizar desarrollo secundario libremente.
- Control de motor de alto rendimiento: Equipado con tecnología FOC (Control Orientado al Campo), soportando control de velocidad, posición y torque en bucle abierto/cerrado para control de movimiento preciso.
- Soporte de hardware potente: Utiliza un controlador principal ESP32 con interfaces ricas como I2C, SPI y PWM, permitiendo expansión flexible de características.
- Capacidades integrales: Soporta auto-equilibrio, movimiento de alta velocidad, estabilización de postura y control inalámbrico, adaptándose a varios terrenos complejos.
- Fácil de aprender y usar: Viene con código de ejemplo completo y tutoriales en video, reduciendo significativamente la barrera de aprendizaje para principiantes.
Especificaciones
| Especificación | Detalles |
|---|---|
| Placa de Control Principal | Placa de control principal StackForce |
| Placa Controladora de Motor | Controlador de motor sin escobillas de doble canal 5A (baja potencia) |
| Motores | Motores sin escobillas de cardán 2208 |
| Placa Controladora de Servo | Controlador de servo multicanal con IMU integrado |
| Fuente de Alimentación | Batería de polímero de litio 12.6V |
| Codificador | Codificador magnético de alta precisión MT6701 de 14 bits |
| Control Inalámbrico | Control remoto WiFi + controlador inalámbrico Bluetooth PS4 |
| Peso Total | 540 g |
| Dimensiones | 10.5 × 21.0 cm (L × A), Altura 12.0–21.0 cm |
BOM
| Nombre del Artículo | Cantidad | Unidad | Especificaciones | Notas/Estándares |
|---|---|---|---|---|
| Componentes Electrónicos | ||||
| Placa de Control Principal StackForce | 1 | pc | StackForce | |
| Placa Controladora de Baja Potencia 5A StackForce | 1 | pc | StackForce | |
| Placa de Servo StackForce | 1 | pc | StackForce | |
| Codificador MT6701 | 2 | pc | StackForce | |
| Motor de Cardán 2208 | 2 | pc | ||
| Servo DS041MG 500–2500 | 4 | pc | ||
| Controlador Remoto MC6C-MINI | 1 | pc | ||
| Receptor MC7RBv2 | 1 | pc | ||
| Batería Li-Polímero 12V | 1 | pc | 19×34×42mm | |
| Conector de Motor MR30-U | 2 | pc | Para motor | |
| Cable de Codificador SH1.0-5P | 2 | set | Para codificador | |
| Cable Dupont 3P (Hembra-Hembra) | 1 | set | Para receptor | |
| Hardware Mecánico | ||||
| Tuerca de Seguridad M3 | 4 | pc | M3 | GB889.1-86 |
| Tuerca M3 | 4 | pc | M3 | DIN934 |
| Separador de Nylon | 4 | pc | 5×3.2×9mm | ABS |
| Arandela M3 | 4 | pc | M3 | 304 Inoxidable |
| Imán Radial | 2 | pc | 6×2.5mm | |
| Tornillo de Cabeza Redonda M2×4 | 24 | pc | M2×4 | GB/T845 |
| Tornillo de Cabeza Redonda M2×10 | 12 | pc | M2×10 | GB/T845 |
| Tornillo de Cabeza Redonda M3×6 | 4 | pc | M3×6 | GB/T845 |
| Tornillo de Cabeza Redonda M3×8 | 4 | pc | M3×8 | GB/T845 |
| Tornillo de Cabeza Redonda M3×16 | 4 | pc | M3×16 | GB/T845 |
| Tornillo de Cabeza Redonda M4×18 | 2 | pc | M4×18 | GB/T845 |
| Tornillo Autorroscante M2×6 | 16 | pc | M2×6 | GB/T845 |
| Tornillo de Cabeza Plana M2×6 | 46 | pc | M2×6 | 304 Inoxidable |
| Tornillo de Cabeza Plana M3×6 | 16 | pc | M3×6 | 304 Inoxidable |
| Separador de Cobre M3×7+4 | 4 | pc | M3×7+4 | Cobre / GB |
| Rodamiento 6704ZZ | 4 | pc | Ø27ר20×4mm | |
| Rodamiento 6701ZZ | 6 | pc | Ø18ר12×4mm | |
| Componentes Estructurales | ||||
| Piezas Impresas en 3D | 29 | pc | ||
| Neumáticos Resistentes al Desgaste 1:10 6030-6085 | 2 | pc |
Tabla de Contenidos
- Tutorial de Versión Ensamblada
- Tutorial de Versión Kit 1 - Ensamblaje
- Tutorial de Versión Kit 2 - Calibración
Tutorial de Versión Ensamblada
Manual de Operación Básica del Robot de Patas con Ruedas StackForce (PDF)
Puedes controlar remotamente el robot simplemente iniciándolo en el orden especificado en el documento PDF.
Tutorial de Versión Kit 1 - Ensamblaje
Documento de instalación del robot mini de patas con ruedas.pdf
El ensamblaje tiene muchos pasos, así que por favor sigue la guía cuidadosamente. Algunos agujeros están hechos para tornillos autorroscantes, y es normal si los tornillos en el paquete difieren de los del tutorial. Esto no afectará el ensamblaje, y puedes usar tornillos de reemplazo adecuados si es necesario.
Durante el ensamblaje, presta atención al apriete de los tornillos. No los aprietes demasiado para evitar dañar o estropear las roscas.
Tutorial de Versión Kit 2 - Calibración
Por favor, primero descarga los archivos de código requeridos para la calibración.
Configuración del Entorno
Paso 1: Descarga Visual Studio Code.

Paso 2: Abre Visual Studio Code, luego busca e instala la extensión PlatformIO IDE desde el Marketplace de Extensiones.
Después de hacer clic en instalar, PlatformIO descargará automáticamente los componentes adicionales requeridos. En algunos casos, MinGW puede estar faltando, lo que te impedirá crear nuevas carpetas. Si esto sucede, necesitarás instalar MinGW-w64 manualmente.
Paso 3:Descargar MinGW-w64
Enlace de Descarga del Paquete de Herramientas del Robot de Patas con Ruedas(Incluyendo MinGW-w64)
Después de descargar el archivo, extráelo y encuentra la carpeta mingw64 dentro del paquete de herramientas.
Extráela, luego instálala en un directorio que use solo caracteres en inglés.
Abre la carpeta extraída → abre la carpeta bin → copia la ruta del directorio bin
(por ejemplo: D:\ming\mingw64\bin).
Configuración del entorno:
Busca y abre Configuración Avanzada del Sistema en tu computadora → Variables de Entorno → Variables del sistema → Path → Nuevo → pega la ruta bin copiada anteriormente → haz clic en OK.
- 1: Busca y abre
Configuración Avanzada del Sistema.

- 2: Haz clic en
Variables de Entorno.

- 3: Haz doble clic en
Pathbajo Variables del sistema.

- 4: Crea una nueva entrada de variable de entorno.

Paso 4: Instrucciones de los Botones de Compilar y Cargar
(√: Compilar el programa →: Cargar el programa al hardware Auto: Seleccionar el puerto serie)
Lo siguiente explica los botones de carga. No cargues el programa todavía. Los desarrolladores pueden revisar el proceso de carga aquí primero.
Después de conectar la computadora al hardware, haz clic en Auto (opcional).
El sistema detectará automáticamente y recomendará un puerto serie.
Después de seleccionar el puerto serie, haz clic en Compile (opcional) y Upload para flashear el programa al hardware.

Flasheo y Depuración del S1
Conectando el Chip S1
Conecta el cable USB. El lado con el hueco del conector USB debe mirar hacia arriba, y el lado sin el hueco debe mirar hacia abajo. Suelta el botón blanco para cambiar al chip S1 (la luz amarilla se encenderá).

Nota: ¿Por qué hay un lado superior e inferior?
Porque la placa tiene dos chips—S1 para el programa del motor y S3 para el programa de control del servo—el conector Type-C usa dos filas de pines separadas para la comunicación. Cada chip usa una fila diferente para el flasheo. El botón blanco cambia qué chip flasheará la computadora.
Flasheando el Programa S1
Método 1: Según el programa de control de motor S1 pre-grabado, puedes saltar adelante a Guía de Descarga y Uso del Asistente Serie Vofa.
Método 2: Reflashear el programa de control de motor S1 (no recomendado)
Abre el proyecto BLDC_Control en VS Code.
Esto permite que PlatformIO instale automáticamente las librerías requeridas, así que no arrastres la carpeta del proyecto directamente a VS Code. En su lugar, abre una nueva ventana de VS Code y usa File → Open Folder.

Localiza la carpeta donde está almacenado el programa S1, luego haz clic en Select Folder.

Antes del flasheo, necesitas modificar el código de registro y el modo de comunicación:
Modificar el código de registro:
Cada placa tiene un código de registro único.
Tu código de registro está impreso en la etiqueta adjunta al paquete de la placa de control principal.
Ingresa ese código en el campo correspondiente.
También puedes leer el código de registro desde la salida serie S1 (explicado anteriormente en la guía de instalación).


Modificar el modo de comunicación:
Cambia el valor en la ubicación mostrada en la imagen a ONBOARD. (USB = comunicación serie entre el chip S1 y la computadora, ONBOARD = comunicación entre los chips S1 y S3.)

Después de hacer los cambios, haz clic en el ícono → en la esquina inferior izquierda para flashear el programa.
Problemas comunes durante el flasheo y cómo resolverlos:
- Resultado de flasheo exitoso

- Este es el chip S3, que no coincide con el programa S1

Solución:
Verifica si el cable USB está conectado al revés — el lado sin el hueco debe mirar hacia arriba.
Verifica si el botón blanco está suelto. Cuando está suelto, el LED amarillo se enciende, indicando que la placa está en modo de flasheo S1.
- Puerto serie ocupado

Solución:
Verifica si otro programa está usando el puerto serie.
Asegúrate de que el monitor serie Vofa esté cerrado.
Verifica que todos los otros asistentes serie hayan liberado el puerto.
Guía de Descarga y Uso del Asistente Serie Vofa
A continuación, abre el asistente serie y establece la velocidad de baudios a 115200 para verificar la salida serie. Enlace de descarga del Asistente Serie Vofa: Download Center | VOFA-Plus

Depuración del Programa de Control de Motor S1 – Calibración de Pares de Polos
Sostén el robot para que las ruedas estén fuera del suelo, luego presiona el botón de reset S1.
La información de pares de polos aparecerá en Vofa. Espera a que las ruedas terminen la rotación de auto-prueba.
Si el valor de par de polos detectado es 7, la calibración es exitosa, como se muestra a continuación:

Si el valor de par de polos muestra inf u otro texto, verifica si la energía está encendida, verifica el cableado, y asegúrate de que el imán esté instalado correctamente.
Si el valor detectado es 6, 8, o cualquier cosa diferente a 7, la rueda puede estar montada muy apretada
(consulta la guía de instalación de rueda-pierna y busca instalación de rodamiento del motor para reinstalar).
La rueda también puede estar tocando el suelo u otro objeto.
Cada vez que el robot se enciende o S1 se reinicia, las ruedas deben estar fuera del suelo para que la auto-prueba funcione correctamente.
Repite el proceso y presiona el botón de reset S1 hasta que el par de polos muestre 7.
Adquisición de Valor de Offset S3
Después de terminar el flasheo S1, cambia al chip S3 y flashea el programa S3. (Asegúrate de que el hueco del puerto USB mire hacia abajo. Presiona el botón mostrado en la imagen—cuando la luz se vuelve verde, indica que el sistema ha cambiado a S3.)

Asegúrate de remover el ensamblaje del muslo antes de flashear el programa.

-
- En VSCode, abre la carpeta bipedal_calibrate (programa de calibración de valor de offset), flashea el programa directamente, luego abre Vofa y establece la velocidad de baudios a
115200.
Verás salida serie como0,0,0,0, que representa los valores de offset de losservos 1, 2, 3, y 4.
- En VSCode, abre la carpeta bipedal_calibrate (programa de calibración de valor de offset), flashea el programa directamente, luego abre Vofa y establece la velocidad de baudios a

-
- Enciende la batería. Después de que los servos terminen de rotar, instala las piernas para que estén lo más verticales posible al suelo.

-
- En el terminal serie, ingresa comandos como
1,2,3,4para controlar los servos hasta que las piernas estén perfectamente verticales.
Guía de dirección: Cuando la pierna está mirando hacia ti, sentido horario es negativo, sentido antihorario es positivo.
- En el terminal serie, ingresa comandos como
Por ejemplo: En la imagen de arriba, el servo 1 está inclinado ligeramente a la izquierda, y el servo 2 está inclinado ligeramente a la derecha.
Ingresa 5,-6,0,0 para corregir los servos 1 y 2 de vuelta a vertical. (5 significa rotar el servo 1 en sentido antihorario por 5 unidades; -6 significa rotar el servo 2 en sentido horario por 6 unidades.)

Ajusta los servos 3 y 4 usando el mismo método:
Usa 0,0,x,0 para controlar el servo 3, y 0,0,0,x para controlar el servo 4.
Después de terminar todos los ajustes de offset, aprieta los tornillos negros dentro de la carcasa del servo para asegurar las piernas.
Registra los valores de offset actuales — necesitan ser escritos en el programa de control de servo S3 a continuación.
Calibración y Depuración S3
Manual de Operación Básica del Robot de Ruedas y Piernas StackForce (PDF)

1. Modificar Valores de Offset
Abre la carpeta bipedal (programa de control de servo) en VS Code.
En el archivo bipedal_data.h, actualiza los valores de offset bajo OFFSET.
Ingresa los valores de offset obtenidos del programa anterior en las posiciones correspondientes mostradas a continuación.

2. Depuración de Servo
- Después de flashear el programa, desconecta el USB.
Mantén presionado 5para encender el control remoto.
Configura los interruptores:A (arriba-izquierda) al medio,B (abajo-izquierda) hacia abajo,C (arriba-derecha) hacia abajo. - Sostén el robot y mantenlo nivelado para que la calibración del giroscopio y la calibración del motor puedan proceder.
Presiona el botón de encendido para encender el robot. - Espera aproximadamente 10 segundos para que se complete la auto-verificación.
ConfiguraA al mediopara habilitar los servos. Regresarán a la posición inicial.
ConfiguraC al mediopara salir de la calibración del servo.
Desliza B para ajustar la altura de la pierna (coordenada Y de la rueda).
Desliza D para mover las ruedas hacia adelante/atrás (coordenada X de la rueda). - Nota de movimiento del robot rueda-pata:
Cuando D se empuja hacia adelante, los servos rotan para mover la coordenada X de la rueda hacia atrás. El robot rueda-pata se inclina hacia adelante, causando que el robot se mueva hacia adelante.
3. Configurar SpdDir
Establece una dirección de rotación fija para los motores. En el archivo main, busca motors.setTargets y establece el torque del motor 0 y motor 1 a 2.

Usa Vofa para ver las velocidades del motor. Establece la velocidad de baudios de Vofa a 921600 y conéctate a S3.

Carga el programa a S3, abre Vofa (velocidad de baudios 921600), establece el interruptor A del control remoto hacia arriba para habilitar los motores, enciende, y sostén el robot mientras completa la auto-verificación. (Puedes primero verificar con Vofa–S1 para confirmar si la auto-verificación pasó.)

Verifica la rotación del motor:
-
Motor izquierdo: la rotación hacia adelante debe mostrar velocidad positiva.
Si el tercer valor (velocidad M1) es negativo, inviertemotorStatus.M1SpdDir. Si es positivo, no se necesita cambio. -
Motor derecho: la rotación hacia atrás debe mostrar velocidad negativa.
Si el segundo valor (velocidad M0) es negativo, no se necesita cambio. Si es positivo, inviertemotorStatus.M0SpdDir.

Si la explicación anterior aún no está clara, consulta las reglas simplificadas a continuación:
Si la rueda gira hacia adelante y Vofa muestra un valor negativo, invierte la dir de retroalimentación.
Si la rueda gira hacia adelante y Vofa muestra un valor positivo, no cambies la dir de retroalimentación.
Si la rueda gira hacia atrás y Vofa muestra un valor positivo, invierte la dir de retroalimentación.
Si la rueda gira hacia atrás y Vofa muestra un valor negativo, no cambies la dir de retroalimentación.
4. Configurar Control de Motor dir (buscar motors.setTargets)
Descomenta la línea de control del motor como se muestra en la imagen y comenta la línea debajo de ella, luego carga el programa.

Enciende el robot. Después de que se complete el reinicio, inclina el robot hacia adelante mientras lo sostienes. Si ambas ruedas rotan hacia adelante, la dirección de equilibrio es correcta.
Si la rueda izquierda gira hacia atrás, invierte M1Dir. La rueda derecha se ajusta de la misma manera.

Después de completar estos pasos, el robot ahora puede ser controlado. Lo siguiente describe cómo operarlo. También puedes consultar el documento Manual de Operación Básica del Robot Rueda-Pata StackForce (PDF).
Joysticks del lado frontal:
-
Paso 1: Establece el interruptor superior izquierdo en
medio, el interruptor superior derecho enabajo, y el stick inferior izquierdo enmás bajo. Sostén el robot, deja que las patas cuelguen naturalmente, mantén las ruedas fuera del suelo, y mantén el cuerpo nivelado.Enciende, espera aproximadamente
10 segundos, luego coloca el robot en el suelo y manténlo erguido. -
Paso 2: Establece el interruptor superior derecho en
medio, empuja el stick inferior izquierdoligeramente hacia arriba, y establece el interruptor superior izquierdo enarriba. El robot entra en modo de auto-equilibrio.Usa el stick inferior derecho
adelante/atráspara moverse hacia adelante/atrás yizquierda/derechapara girar a la izquierda/derecha.Usa el stick inferior izquierdo
arriba/abajopara ajustar la altura de las patas.Cuando el interruptor superior derecho está en
arriba, mueve el stick inferior izquierdoizquierda/derechapara controlar el balanceo. Apaga para salir del modo de balanceo.
Demostración en Vivo
(Video de demostración real por agregar)
Cita
Manual de Operación Básica del Robot Rueda-Pata StackForce (PDF)
Documento de instalación del robot mini rueda-pata.pdf
Conjunto completo de esquemas de la placa de control
Proyectos de ejemplo para el kit de desarrollo
Adquisición de código de registro del cliente
Paquete de Herramientas del Robot Rueda-Pata
Soporte Técnico y Discusión del Producto
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.