Pour Open Duck Mini v2 standard à b23317a. Utilisez ces cartes avec le manuel original. Les photos et CAD ci-dessous sont les références de l’auteur original ; ce site n'a pas assemblé le robot.
Préparez : Un servo non assemblé, son adaptateur d'alimentation et de bus, ainsi que les instructions configure_motors correspondantes. La configuration écrit un identifiant et déplace le servo à zéro.

Prêt à continuer lorsque : Chacune des 14 articulations a un identifiant enregistré et le klaxon correspond à la référence de l'auteur.
Si la vérification échoue : Ne copiez pas les commandes zéro/limite du HD1910. Revérifiez le servo sélectionné et la procédure de configuration d'origine.
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.Préparez : Pièces de jambes imprimées, servos étiquetés et dessins d'assemblage originaux des pieds aux hanches.

Prêt à continuer lorsque : Les deux pieds correspondent à la CAO originale, les étiquettes sont lisibles et aucun câble n'est pincé.
Si le contrôle échoue : Revenir au plan d'assemblage concerné. N'utilisez pas d'image en miroir comme référence d'identification ou d'orientation.
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.Préparez : Une batterie déconnectée, les schémas de câblage originaux aperçu/détail et la configuration du Runtime.

Prêt à continuer lorsque : Le câblage déconnecté a été vérifié par rapport aux schémas d'origine et à la configuration correspondante.
Si la vérification échoue : Maintenir l'alimentation coupée jusqu'à ce que la discordance soit comprise. Ne contournez pas la protection de la batterie pour diagnostiquer un redémarrage.
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.Poursuivre les étapes d'assemblage et d'étalonnage d'origine ↗
Le guide original spécifie du PLA à 15 % de remplissage ; seul foot_bottom_tpu.stl utilise le TPU à 40 %. La hauteur des couches, le nombre de murs, les supports, l'orientation et les températures ne sont pas entièrement spécifiés. Effectuez un essai d'ajustement d'un pied et d'un joint structurel avant d'imprimer le lot. Les liens de fichiers ci-dessous ouvrent les originaux épinglés.
Ouvrez le hub de projet original ↗ et la nomenclature originale ↗. Enregistrez une copie datée avant de faire vos achats. Le guide Tnkr lié à l'auteur ↗ présente également les composants et les quantités : son tableau révisé répertorie 14 servos Feetech 7,4 V STS3215, un Raspberry Pi Zero 2 W et une IMU BNO055. Il s'agit d'un inventaire de départ, pas de la liste complète des courses.
Évaluez la variante exacte, la quantité livrée, l'expédition, les pièces imprimées, les outils et les remplacements dans votre propre emplacement. L’objectif historique du projet inférieur à 400 $ n’est pas un devis de paiement actuel. Ne traitez pas deux listes avec un nom de servo similaire comme équivalentes.
Point de contrôle : chaque pièce a une source, une variante et une quantité ; chaque substitution a une note de compatibilité non résolue jusqu'à ce qu'elle soit vérifiée.
Le guide d'impression original ↗ spécifie du PLA à 15 % de remplissage, sauf foot_bottom_tpu.stl, qui utilise du TPU à 40 %. Il répertorie les quantités pour chaque fichier. Suivez ces comptes : plusieurs pièces de jambe nécessitent quatre copies et les parties gauche/droite en miroir sont distinctes.
Enregistrez les paramètres de votre imprimante, de votre matériel et de votre trancheuse. Inspectez un échantillon de joint et insérez l’ajustement avant de répéter un lot entier. Enregistrez les résultats dans votre journal de construction afin qu'une réimpression ultérieure utilise la même référence.
Point de contrôle : la liste d'impression est prise en compte et vous pouvez identifier chaque paire en miroir. Téléchargez les fichiers de fabrication à partir de cette conception, plutôt que les maillages de simulation MicroDuck.
Installez le runtime v2 sur votre ordinateur ou Raspberry Pi en utilisant les instructions de configuration du runtime ↗ avant cette étape ; le guide moteur permet l'une ou l'autre machine. La procédure originale configure un moteur à la fois et le déplace vers une position de référence avant le montage du klaxon. Suivez le guide de configuration du moteur ↗ et inspectez le script de configuration réelle ↗. Il écrit les paramètres et commande le mouvement ; ce n'est pas une commande de découverte passive.
| Commune | Gauche | À droite |
|---|---|---|
| Lacet de la hanche | 20 | 10 |
| Roulement des hanches | 21 | 11 |
| Pas de hanche | 22 | 12 |
| Genou | 23 | 13 |
| Cheville | 24 | 14 |
La hauteur du cou est 30 ; Le tangage de la tête, le lacet et le roulis sont 31, 32 et 33. Étiquetez les moteurs configurés avant de les insérer dans la structure.
python scripts/configure_motor.py --helpLe script révisé réside dans scripts/ et accepte --port et --id. Son port par défaut est /dev/ttyACM0 ; utilisez l’appareil réellement connecté. Dans un outil fabricant, confirmez les unités de position avant de saisir une valeur : l'angle zéro d'une bibliothèque n'est pas nécessairement le zéro brut du codeur.
Par exemple, avec uniquement le servo de lacet de hanche gauche non assemblé connecté et libre de se déplacer, ce qui suit attribue l'ID 20. Remplacez le port par votre appareil ; configurez les moteurs restants individuellement à l’aide du tableau.
python scripts/configure_motor.py --port /dev/ttyACM0 --id 20Point de contrôle : chaque moteur a une étiquette unique et la position de référence prévue. Terminez cette étape avant de verrouiller l’orientation du klaxon.
Parcourez les photographies originales d'assemblage ↗ : tronc, pieds, tibias, cuisses, hanches, cou, tête et corps. Suivez les étapes d’acheminement des câbles avant de fermer un joint. Le guide demande un peu de frein-filet sur les vis de moteur métal sur métal, avec une instruction distincte de ne pas l'utiliser sur des vis en plastique.
Le document examiné laisse toujours le total exact des vis M3, une photo de la carte servo et quelques instructions de fonction d'expression inachevées. Consultez le guide d'assemblage interactif ↗ pour des vues supplémentaires ; résolvez toute question d’ajustement ou de montage restante avant de continuer.
Point de contrôle : les pièces sont placées dans l'orientation indiquée et les joints mobiles laissent de la place pour les câbles. Enregistrez les photos avant de fermer la coque.
Utilisez le schéma électronique et les tableaux de broches dans la même révision d'assemblage ↗. Ils distinguent les numéros de broches physiques des numéros GPIO BCM. Tracez chaque connexion par rapport à la bonne colonne. La note de l'IMU explique également qu'une photo plus ancienne montre un montage à l'envers.
Avant de connecter l'alimentation, confirmez la polarité, l'alimentation spécifiée pour chaque carte et l'isolation des conducteurs exposés. L’assemblage de batteries nécessite des compétences en électronique appropriées ; utilisez les instructions d'origine de la batterie et les spécifications des composants, et non une hypothèse générique de couleur à trois fils.
Point de contrôle : enregistrez la révision du schéma, l'orientation de votre IMU et toute modification de câblage. Une photographie de la construction de quelqu’un d’autre ne confirme pas vos connexions.
Disponibilité de l'image : les instructions de l'image ↗ décrivent une configuration prédéfinie pour le matériel de référence Raspberry Pi Zero 2 W. Cependant, notre vérification des versions publiques ↗ a trouvé une version source V2-Classic sans fichier image joint. Nous n'avons pas pu vérifier le téléchargement de l'image annoncée, utilisez donc la méthode manuelle ci-dessous. Si une image devient disponible, vérifiez sa correspondance matérielle, configurez vos propres informations d'identification et terminez l'étalonnage.
Itinéraire manuel : suivez le runtime README ↗ pour Raspberry Pi OS Lite 64 bits, les interfaces, l'appairage des contrôleurs et son environnement Python. Utilisez une extraction distincte pour la révision d'exécution révisée :
git clone https://github.com/apirrone/Open_Duck_Mini_Runtime Open_Duck_Mini_Runtime-reviewed
cd Open_Duck_Mini_Runtime-reviewed
git checkout --detach 376de65435c93486347cd601a31aa96951799896Terminez ensuite l’installation des dépendances dans l’environnement décrit par ce README. Enregistrez une version d'image ou une révision de source dans le journal afin que le débogage futur démarre à partir de la même configuration.
Utilisez les instructions d'exécution pour créer ~/duck_config.json, vérifier l'IMU et mesurer les décalages articulaires. L'exemple de configuration ↗ sépare l'orientation IMU, les décalages articulaires et les fonctionnalités d'expression facultatives. Remplissez-les à partir de votre build ; les valeurs de décalage d’un autre fabricant ne constituent pas votre étalonnage.
Le script de contrôle moteur ↗ active le couple et propose des tests de mouvement. Soutenez le robot avec un jeu de joint avant de l'utiliser et lisez chaque invite. Arrêtez-vous en cas d'échec de la réponse motrice au lieu de traiter le reste du test comme une réussite.
Utilisez la liste de contrôle pré-politique originale ↗ pour vérifier les positions et les décalages des articulations, l'orientation de l'IMU et les commutateurs au pied. Gardez les contrôles optionnels des yeux, des antennes, des haut-parleurs et de la caméra séparés. Confirmez que la manette de jeu répond avant d'essayer de marcher.
Point de contrôle : enregistrez votre configuration et enregistrez la réponse observée de chaque entrée. Une installation réussie ne suffit pas à franchir cette étape.
La section de première marche d'exécution ↗ relie BEST_WALK_ONNX_2.onnx pour ce robot. Conservez sa source avec votre version d'exécution. Passez en revue le script de marche et les contrôles ↗ avant de le lancer dans une zone de test claire et prise en charge.
Pour ce runtime, le bouton A de la manette de jeu active la pause de la politique. La pause ne signifie pas que l'alimentation du moteur est déconnectée : le script allume le matériel avant sa boucle de contrôle. Gardez l’interrupteur d’alimentation physique accessible. L'exemple de configuration définit également par défaut start_paused sur false ; choisissez l’état de démarrage souhaité avant de l’exécuter.
Après les vérifications ci-dessus, activez l'environnement d'exécution installé, entrez dans son répertoire scripts/ et utilisez le formulaire de commande d'origine ci-dessous. Remplacez le chemin du modèle par le fichier que vous avez téléchargé pour ce robot.
python v2_rl_walk_mujoco.py --onnx_model_path /absolute/path/BEST_WALK_ONNX_2.onnxCommencez par une brève observation, arrêtez-vous, inspectez le robot et enregistrez ce qui s'est passé. Utilisez uniquement le format de stratégie et la combinaison matérielle documentés pour ce runtime. Un fichier MicroDuck ONNX n’est pas une politique Open Duck Mini d’insertion.
L’entraînement à une nouvelle démarche vient plus tard. Les notes de simulation du projet ↗ expliquent le modèle du robot, l'identification de l'actionneur, l'Open Duck Playground et l'itinéraire de mouvement de référence ; ce document est lui-même marqué comme inachevé.
Robot : Open Duck Mini v2
Révision du dépôt matériel : b23317a485b3cec7d8417f352478778b3475173c
Révision du runtime ou version de l’image :
Date de la nomenclature / coût local livré :
Révision des pièces imprimées / matériau / réglages du trancheur :
Modèle de servo et étiquettes d’identifiants :
Révision du schéma de câblage / modifications :
Orientation de l’IMU / résultat d’étalonnage :
Sauvegarde des décalages articulaires dans :
Vérifications des capteurs de pied et de la manette :
Fichier de politique / source / hash :
Conditions du premier essai et résultat observé :
Problème non résolu / prochaine vérification :