/Open_Duck_Mini

Making a mini version of the BDX droid

Primary LanguagePythonApache License 2.0Apache-2.0

Open Duck Mini

This project is still a work in progress !

Capture d’écran du 2024-07-22 18-15-29

I'm making a miniature version of the BDX Droid by Disney. It will be about 35 centimeters tall with its legs extended.

bdx-2024-09-04_14.27.12.mp4

This is a policy trained in Isaac Gym with Amp_for_hardware running in Mujoco.

open_duck_mini_stand.mp4

This is a policy trained in Isaac Gym for standing up while being robust to perturbations.

VID_20240904_194531.mp4

This is an attempt at running the walking policy on the real robot. Still some work to do :)

This repo

This is kind of a hub where I centralize all resources related to this project. This is a working repo, so there are a lot of undocumented scripts :) I'll try to clean things up at some point.

CAD

https://cad.onshape.com/documents/a18ff8cc622a533762a3a6f5/w/27ef6089ad5fe9ba396b6036/e/9ce9b71d7a21eb04415b067f

See this document for getting from a onshape design to a simulated robot in MuJoCo

RL stuff

The RL method used to learn to walk is Adversarial Motion Priors Make Good Substitutes for Complex Reward Functions.

My fork of the original repo is there

This is the current policy running in Isaac Gym. It can be controlled to walk forward and to turn left or right.

bdx-2024-09-03_16.35.35.mp4

BOM

Note : I switched to using xc330-M288-T servomotors instead of xl330-M288-T for the legs. They are more expensive, but way more powerful. Maybe we'll try to go back to xl330 servos once everything is working properly with the xc330.

https://docs.google.com/spreadsheets/d/18hrYgjaE9uL2pnrnq5pNUzFLZcI4Rg0AvSc9sqwE680/edit?usp=sharing

Assembly Guide

TODO

The current version (alpha) is not very easy to build, has some mechanical problems (too much play at some joints). After everything works on this version of the robot, I will redesign it from the ground up, trying to make it more accessible and better mechanically designed !

Embedded runtime

This repo contains the code to run the policies on the onboard computer (Raspberry pi zero 2w) https://github.com/apirrone/Open_Duck_Mini_Runtime

Resources

Interesting papers and resources

Directly BDX related (from disney)

Bootstraping by behavior cloning

References

Imitation learning

MPC

Thanks a lot to HuggingFace for sponsoring this project !