Ir al contenido
Fuente revisada

Open Duck Mini v2: de las piezas al primer paso

Sigue las etapas de piezas, impresión, servos, cableado, Raspberry Pi y calibración con las instrucciones originales.

Descargar esta guía

Construye Open Duck Mini v2 por etapas: piezas compatibles, impresión, configuración individual de servos, montaje, cableado, Raspberry Pi, calibración propia y política de marcha correspondiente. Esta ruta enlaza fuentes y comprobaciones; las instrucciones ilustradas originales son esenciales.

Tres controles antes de la primera prueba del conjunto motorizado

Para Open Duck Mini v2 estándar en b23317a. Utilice estas tarjetas junto con el manual original. Las fotografías y el CAD a continuación son referencias del autor original; Este sitio no ha ensamblado el robot.

1. ID de servos y alineación de la bocina

Prepare: Un servo sin ensamblar, su adaptador de bus y alimentación y las instrucciones de configuración de motores correspondientes. La configuración escribe una ID y mueve el servo a cero.

Fotografía de alineación de la bocina del servo · Antoine Pirrone · Open Duck Mini v2 · Apache 2.0 · referencia original
Fotografía de alineación de bocina servo · Antoine Pirrone · Open Duck Mini v2 · Apache 2.0 · referencia original ↗

comprobar en orden

  1. Configure un servo a la vez, manteniendo despejadas las partes móviles; Coloque la bocina después del movimiento de la posición cero.
  2. Etiquete la pierna izquierda 20–24, la pierna derecha 10–14, el cuello 30 y la cabeza 31–33. Conserve la asignación original de nombres conjuntos.
  3. Registre el ID, la alineación de la bocina y cualquier compensación de calibración posterior antes de cerrar el conjunto.

Listo para continuar cuando: Cada una de las 14 articulaciones tiene una identificación registrada y la bocina coincide con la referencia del autor.

Si la verificación falla: No copie los comandos cero/límite del HD1910. Vuelva a verificar el servo seleccionado y el procedimiento de configuración original.

Copiar lista de verificación
1. ID de servo y alineación de bocina
1. Servo IDs and horn alignment
Prepare: One unassembled servo, its power and bus adapter, and the matching configure_motors instructions. Configuration writes an ID and moves the servo to zero.
□ Configure one servo at a time, keeping moving parts clear; fit the horn after the zero-position move.
□ Label left leg 20–24, right leg 10–14, neck 30 and head 31–33. Keep the original joint-name mapping.
□ Record the ID, horn alignment and any later calibration offset before closing the assembly.
Ready to continue when: Each of the 14 joints has one recorded ID and the horn matches the author’s reference.
If the check fails: Do not copy HD1910 zero/limit commands. Recheck the selected servo and original configuration procedure.

2. Conjunto de patas izquierda y derecha

Prepare: Partes de las piernas impresas, servos etiquetados y los dibujos originales de ensamblaje de pies a caderas.

Referencia CAD de montaje de patas · Antoine Pirrone · Open Duck Mini v2 · Apache 2.0 · referencia original
Referencia CAD del conjunto de patas · Antoine Pirrone · Open Duck Mini v2 · Apache 2.0 · referencia original ↗

comprobar en orden

  1. Construya ambos pies de la misma manera; Coloque el lado del conductor del motor como se muestra al lado de foot_top.
  2. Utilice el left_roll_to_pitch y el right_roll_to_pitch correctos en las caderas; mantenga las ID de los servos izquierdo/derecho adjuntas a la pata correspondiente.
  3. Verifique la orientación de la inclinación de la cadera, el recorrido de los cables y el espacio libre antes de sujetar las piernas al tronco.

Listo para continuar cuando: Las dos patas coincidan con el CAD original, las etiquetas sean legibles y ningún cable esté pellizcado.

Si la verificación falla: Regrese al plano de ensamblaje correspondiente. No utilice una imagen reflejada como identificación o referencia de orientación.

Copiar lista de verificación
2. Conjunto de patas izquierda y derecha
2. Left and right leg assembly
Prepare: Printed leg parts, labelled servos and the original feet-to-hips assembly drawings.
□ Build both feet the same way; place the motor driver side as shown beside foot_top.
□ Use the correct left_roll_to_pitch and right_roll_to_pitch at the hips; keep left/right servo IDs attached to the corresponding leg.
□ Check the hip-pitch orientation, cable routing and clearance before fastening the legs to the trunk.
Ready to continue when: The two legs match the original CAD, labels are readable and no cable is pinched.
If the check fails: Return to the relevant assembly drawing. Do not use a mirrored picture as an ID or orientation reference.

3. Cableado de alimentación, bus e IMU

Prepare: Una batería desconectada, los diagramas de cableado de descripción/detalle originales y la configuración de Runtime.

Esquema de cableado de alimentación y módulos · Antoine Pirrone · Open Duck Mini v2 · Apache 2.0 · referencia original
Diagrama de cableado de alimentación y módulos · Antoine Pirrone · Open Duck Mini v2 · Apache 2.0 · referencia original ↗

comprobar en orden

  1. Rastree la batería, el BMS y la alimentación del servo con respecto al diagrama, verificando la polaridad y los números de clavijas del conector.
  2. Suministre el Pi a través de la ruta separada regulada de 5 V. Nunca conecte el voltaje de la batería directamente al pin Pi de 5 V.
  3. Compare el montaje de la IMU y la orientación del tiempo de ejecución, y confirme cómo se puede desconectar la alimentación antes de comenzar la calibración.

Listo para continuar cuando: El cableado desconectado se ha verificado con los diagramas originales y la configuración correspondiente.

Si la verificación falla: Mantenga la energía desconectada hasta que se comprenda la discrepancia. No pase por alto la protección de la batería para diagnosticar un reinicio.

Copiar lista de verificación
3. Cableado de alimentación, bus e IMU
3. Power, bus and IMU wiring
Prepare: A disconnected battery, the original overview/detail wiring diagrams and the Runtime configuration.
□ Trace battery, BMS and servo power against the diagram, checking polarity and connector pin numbers.
□ Supply the Pi through the separate regulated 5 V path. Never connect battery voltage directly to the Pi 5 V pin.
□ Compare the IMU mounting and runtime orientation, and confirm how power can be disconnected before starting calibration.
Ready to continue when: The disconnected wiring has been checked against both original diagrams and the matching configuration.
If the check fails: Keep power disconnected until the mismatch is understood. Do not bypass battery protection to diagnose a restart.

Continuar con las etapas originales de montaje y calibración ↗

OPEN DUCK MINI V2 · 09/09/2026

Open Duck Mini v2 · archivos de impresión y montaje

36 archivos STL originales · 51 piezas impresas · 49 PLA + 2 TPU. Incluye dos diagramas de cableado originales, una guía impresa en inglés y una guía de montaje detallada en chino.

Verificaciones de versión, licencia y archivos

Archivos estándar v2 del repositorio Open Duck Mini de Antoine Pirrone, sin cambios. Incluye la licencia y atribución upstream de Apache 2.0. Estos archivos pertenecen a Open Duck Mini v2. Este sitio no ha probado la impresión física, el ajuste ni la forma de caminar.

Confirmar b23317a485b3cec7d8417f352478778b3475173c
ZIP SHA-256 0d68bcf6650be56e26c40d463202a1c78980fc3e4f45258955eef1227beb3145

Lista completa de impresión: 36 archivos, 51 partes

La guía original especifica PLA con un relleno del 15%; sólo foot_bottom_tpu.stl usa TPU al 40%. La altura de la capa, el número de paredes, los soportes, la orientación y las temperaturas no se especifican completamente. Pruebe un pie y una junta estructural antes de imprimir el lote. Los enlaces de archivos a continuación abren los originales fijados.

Lista completa de impresión: 36 archivos, 51 partes
Archivo STL originalCantidadMaterial/relleno
foot_top.stl2PLA / 15%
foot_side.stl2PLA / 15%
foot_bottom_pla.stl2PLA / 15%
foot_bottom_tpu.stl2TPU / 40%
knee_to_ankle_left_sheet.stl4PLA / 15%
knee_to_ankle_right_sheet.stl4PLA / 15%
leg_spacer.stl4PLA / 15%
left_roll_to_pitch.stl1PLA / 15%
right_roll_to_pitch.stl1PLA / 15%
roll_motor_bottom.stl2PLA / 15%
roll_motor_top.stl2PLA / 15%
trunk_bottom.stl1PLA / 15%
trunk_top.stl1PLA / 15%
neck_left_sheet.stl1PLA / 15%
neck_right_sheet.stl1PLA / 15%
head_pitch_to_yaw.stl1PLA / 15%
head_yaw_to_roll.stl1PLA / 15%
head_roll_mount.stl1PLA / 15%
head.stl1PLA / 15%
head_bot_sheet.stl1PLA / 15%
left_antenna_holder.stl1PLA / 15%
right_antenna_holder.stl1PLA / 15%
left_cache.stl1PLA / 15%
right_cache.stl1PLA / 15%
body_front.stl1PLA / 15%
body_middle_bottom.stl1PLA / 15%
body_middle_top.stl1PLA / 15%
body_back.stl1PLA / 15%
battery_pack_lid.stl1PLA / 15%
bulb.stl1PLA / 15%
flash_light_module.stl1PLA / 15%
flash_reflector_interface.stl1PLA / 15%
left_eye.stl1PLA / 15%
right_eye.stl1PLA / 15%
speaker_interface.stl1PLA / 15%
speaker_stand.stl1PLA / 15%
Se aplica a Open Duck Mini v2. Esta ruta de lectura independiente conecta los documentos del proyecto original. No certifica una construcción completada por este sitio. Utilice las fotografías y diagramas vinculados durante el montaje; contienen detalles que una descripción general del texto no puede reemplazar.

1. Arreglar el diseño y elaborar el presupuesto.

Abra el centro del proyecto original ↗ y la lista de materiales original ↗. Guarde una copia fechada antes de comprar. La guía Tnkr vinculada al autor ↗ también presenta componentes y cantidades: su tabla revisada enumera 14 servos STS3215 de 7,4 V, una Raspberry Pi Zero de 2 W y una IMU BNO055. Este es un inventario inicial, no la lista completa de compras.

Cotiza la variante exacta, la cantidad entregada, el envío, las piezas impresas, las herramientas y los reemplazos en tu propia ubicación. El objetivo histórico del proyecto de menos de $400 no es una cotización de copia local del repositorio actual. No trate dos listados con un nombre de servo similar como equivalentes.

Punto de control: cada pieza tiene origen, variante y cantidad; cada sustitución tiene una nota de compatibilidad sin resolver hasta que se verifique.

2. Imprima e inspeccione las piezas.

La guía de impresión original ↗ especifica PLA con un relleno del 15 %, excepto foot_bottom_tpu.stl, que utiliza TPU al 40 %. Enumera las cantidades para cada archivo. Siga esos recuentos: varias piezas de las patas necesitan cuatro copias, y las partes reflejadas izquierda/derecha son distintas.

Registre la configuración de su impresora, material y cortadora. Inspeccione una junta de muestra y ajuste del inserto antes de repetir un lote completo. Archive los resultados en su diario de montaje para que una reimpresión posterior utilice la misma línea de base.

Punto de control: se contabiliza la lista de impresión y se puede identificar cada par reflejado. Descargue archivos de fabricación de este diseño, en lugar de mallas de simulación de MicroDuck.

3. Dé a cada servo su identidad antes del montaje.

Instale el motor de ejecución v2 en su computadora o Raspberry Pi siguiendo las instrucciones de configuración del motor de ejecución ↗ antes de este paso; la guía del motor permite cualquiera de las dos máquinas. El procedimiento original configura un motor a la vez y lo mueve a una posición de referencia antes de instalar la bocina. Siga la guía de configuración del motor ↗ e inspeccione el script de configuración real ↗. Escribe configuraciones y ordena movimiento; este no es un comando de descubrimiento pasivo.

ID de servo de referencia solo para Open Duck Mini v2
conjuntaIzquierdaDerecha
guiñada de cadera2010
Rollo de cadera2111
tono de cadera2212
rodilla2313
Tobillo2414

El paso del mástil es 30; el cabeceo, la guiñada y el balanceo de la cabeza son 31, 32 y 33. Etiquete los motores configurados antes de colocarlos en la estructura.

Inspeccionar las opciones de configuración del repositorio de tiempo de ejecución instalado
python scripts/configure_motor.py --help

El script revisado vive en scripts/ y acepta --port y --id. Su puerto predeterminado es /dev/ttyACM0; utilizar el dispositivo conectado real. En una herramienta del fabricante, confirme las unidades de posición antes de ingresar un valor: el ángulo cero de una biblioteca no es necesariamente el cero sin formato del codificador.

Por ejemplo, con solo el servo de giro de cadera izquierdo desensamblado conectado y libre para moverse, lo siguiente asigna el ID 20. Reemplace el puerto con su dispositivo; Configure los motores restantes individualmente usando la tabla.

Configure un servo sin ensamblar: ordena el movimiento
python scripts/configure_motor.py --port /dev/ttyACM0 --id 20

Punto de control: cada motor tiene una etiqueta única y la posición de referencia prevista. Termine esta etapa antes de fijar la orientación de la bocina.

4. Ensamble la estructura con la guía ilustrada.

Trabajar a través de las fotografías de montaje originales ↗: tronco, pies, espinillas, muslos, caderas, cuello, cabeza y cuerpo. Siga los pasos de colocación de cables antes de cerrar una unión. La guía requiere un poco de fijador de roscas para tornillos de motor de metal a metal, con instrucciones separadas de no usarlo en tornillos de plástico.

El documento revisado aún deja sin terminar el total exacto de tornillos M3, una foto de la placa de servicio y algunas instrucciones de expresión. Consulte la guía de montaje interactiva ↗ para obtener vistas adicionales; resuelva cualquier pregunta restante sobre ajuste o montaje antes de continuar.

Punto de control: las piezas se asientan en la orientación que se muestra y las juntas móviles dejan espacio para los cables. Guarde las fotos antes de cerrar el caparazón.

5. Verifique el cableado y la orientación del sensor.

Utilice el diagrama electrónico y las tablas de pines en la misma revisión de ensamblaje ↗. Distinguen los números de PIN físicos de los números GPIO de BCM. Traza cada conexión contra la columna correcta. La nota de IMU también explica que una foto más antigua muestra un montaje al revés.

Antes de conectar la alimentación, confirme la polaridad, el suministro especificado para cada placa y el aislamiento de los conductores expuestos. El montaje del paquete de baterías requiere conocimientos electrónicos adecuados; Utilice las instrucciones originales de la batería y las especificaciones de los componentes, no una suposición genérica de colores de tres cables.

Punto de control: registre la revisión del diagrama, la orientación de su IMU y cualquier cambio de cableado. Una fotografía de la constitución de otra persona no confirma sus conexiones.

6. Prepare la Raspberry Pi usando una ruta de instalación.

Disponibilidad de imagen: las instrucciones de imagen ↗ describen una configuración prediseñada para el hardware Raspberry Pi Zero 2 W de referencia. Sin embargo, nuestra verificación de las versiones públicas de ↗ encontró una versión fuente de V2-Classic sin archivos de imagen adjuntos. No pudimos verificar la descarga de la imagen anunciada, así que utilice la ruta manual a continuación. Si una imagen está disponible, verifique su coincidencia de hardware, configure sus propias credenciales y complete la calibración.

Ruta manual: siga el tiempo de ejecución README ↗ para Raspberry Pi OS Lite de 64 bits, interfaces, emparejamiento de controladores y su entorno Python. Utilice un copia local del repositorio por separado para la revisión del tiempo de ejecución revisada:

Crear una copia local de la revisión examinada del runtime de Open Duck Mini
git clone https://github.com/apirrone/Open_Duck_Mini_Runtime Open_Duck_Mini_Runtime-reviewed
cd Open_Duck_Mini_Runtime-reviewed
git checkout --detach 376de65435c93486347cd601a31aa96951799896

Luego complete la instalación de la dependencia en el entorno descrito por ese README. Registre una publicación de imagen o revisión de fuente en el registro para que la depuración futura comience desde la misma configuración.

7. Calibre este robot y pruebe sus entradas.

Utilice las instrucciones de tiempo de ejecución para crear ~/duck_config.json, verifique la IMU y mida las compensaciones de las juntas. La configuración de ejemplo ↗ separa la orientación de la IMU, los desplazamientos de las juntas y las funciones de expresión opcionales. Llénelos desde su construcción; Los valores de compensación de otro fabricante no son su calibración.

El script de verificación del motor ↗ permite el torque y ofrece pruebas de movimiento. Apoye el robot con espacio libre para las articulaciones antes de usarlo y lea cada indicación. Deténgase ante una respuesta motora fallida en lugar de tratar el resto de la prueba como un aprobado.

Utilice la lista de verificación previa a la política original ↗ para verificar las posiciones y compensaciones de las juntas, la orientación de la IMU y los interruptores de pie. Mantenga separados los controles opcionales de ojos, antenas, parlantes y cámaras. Confirma que el mando responda antes de intentar caminar.

Punto de control: guarde su configuración y registre la respuesta observada de cada entrada. Una instalación exitosa por sí sola no supera esta etapa.

8. Pruebe la política correspondiente del primer paseo.

La sección de primer recorrido en tiempo de ejecución ↗ enlaza BEST_WALK_ONNX_2.onnx para este robot. Mantenga su fuente con su versión de tiempo de ejecución. Revise el script para caminar y los controles ↗ antes de lanzarlo en un área de prueba despejada y con soporte.

Para este tiempo de ejecución, el botón A del gamepad alterna la pausa de la política. La pausa no significa que se desconecte la alimentación del motor: el script enciende el hardware antes de su bucle de control. Mantenga el interruptor de alimentación físico accesible. La configuración de ejemplo también tiene como valor predeterminado start_paused a false; Elija el estado de inicio deseado antes de ejecutar.

Después de las comprobaciones anteriores, active el entorno de ejecución instalado, ingrese su directorio scripts/ y use el formulario de comando original a continuación. Reemplace la ruta del modelo con el archivo que descargó para este robot.

Iniciar solo después de la calibración y las comprobaciones de entrada
python v2_rl_walk_mujoco.py --onnx_model_path /absolute/path/BEST_WALK_ONNX_2.onnx

Comience con una breve observación, deténgase, inspeccione el robot y registre lo sucedido. Utilice únicamente la combinación de formato de política y hardware documentada para este tiempo de ejecución. Un archivo MicroDuck ONNX no es una política directa de Open Duck Mini.

El entrenamiento de una nueva forma de andar viene más tarde. Las notas de simulación a real ↗ del proyecto explican el modelo del robot, la identificación del actuador, Open Duck Playground y la ruta del movimiento de referencia; ese documento está marcado como inacabado.

Mantenga un registro que pueda reanudar.

Diario de montaje de Open Duck Mini
Robot: Open Duck Mini v2
Revisión del repositorio de hardware: b23317a485b3cec7d8417f352478778b3475173c
Revisión del runtime o versión de la imagen:
Fecha de la lista de materiales / coste local con entrega:
Revisión de piezas impresas / material / ajustes del laminador:
Modelo de servo y etiquetas de ID:
Revisión del diagrama de cableado / cambios:
Orientación de IMU / resultado de calibración:
Copia de seguridad de offsets articulares en:
Comprobaciones de interruptores de pie y mando:
Archivo de política / fuente / hash:
Condiciones del primer ensayo y resultado observado:
Problema pendiente / siguiente comprobación:

Diagramas de cableado originales.

Diagrama original de alimentación y cableado de módulos de Open Duck Mini v2
Diagramas originales de Open Duck Mini v2 · Repositorio de Antoine Pirrone · Apache 2.0. El Pi utiliza un regulador independiente de 5 V; No conecte el riel de la batería directamente al pin Pi de 5 V.

Abra el diagrama de cableado detallado de resolución completa ↗

CONTINUAR LA CONVERSACIÓN

¿Qué te gustaría entender a continuación?

Mantenga juntos la fuente, su entorno y sus observaciones.

Fuentes y fecha de revisión

Fuentes comprobadas el 9 de septiembre de 2026 · Fuente revisada

  1. Fuente original 1 · github.com / README.md ↗
  2. Fuente original 2 · docs.google.com / edit ↗
  3. Fuente original 3 · tnkr.ai / open-duck-mini-v2 ↗
  4. Fuente original 4 · github.com / print_guide.md ↗
  5. Fuente original 5 · github.com / configure_motors.md ↗
  6. Fuente original 6 · github.com / configure_motor.py ↗
  7. Fuente original 7 · github.com / assembly_guide.md ↗
  8. Fuente original 8 · github.com / README.md ↗
  9. Fuente original 9 · github.com / INSTALL.md ↗
  10. Fuente original 10 · github.com / releases ↗
  11. Fuente original 11 · github.com / example_config.json ↗
  12. Fuente original 12 · github.com / check_motors.py ↗
  13. Fuente original 13 · github.com / checklist.md ↗
  14. Fuente original 14 · github.com / v2_rl_walk_mujoco.py ↗
  15. Fuente original 15 · github.com / sim2real.md ↗