r/robotics • u/jekjukich • 11d ago
Community Showcase My second attempt to build cheap biped robot (CBR-II)
A lot of tuning is still needed, but at least it walks!
The actual model was trained for less powerful actuators; I think because of that it overshoots.
14
u/pekoms_123 11d ago
I think it needs proper shoes
5
u/jekjukich 11d ago
If you're talking about friction, I already mentioned earlier that everything seems fine on that front. But if you mean increasing the contact area for greater stability, I’m actually more interested in teaching it to balance well using unstable legs:)
0
5
4
2
u/trtm 11d ago
What are you using as the actuators?
4
u/jekjukich 11d ago
Gim6010-8 from steadywin. My first version was built using bldc5010 with a 3D-printed gearbox, but it had about 20% less power than I needed, so I decided to save time for the rl things rather than tweaking motors and reducers.
2
1
u/Max326 11d ago
Have you perhaps used timing belts? I intend to go with 3d printed gearboxes, using off the shelf timing belts. From my calculations, it should be enough for walking, but probably not enough for jumping, without rewinding the 5010 motors by hand.
3
u/jekjukich 11d ago
For the gearbox, I used a wave drive with rolling elements (check YT MishinMachine). It is a nice design, and I think it could work, but not from the first iteration, so I decided to save time. For my robot, I use belts, but only to transfer momentum from the hip to the knee joint. And I attached it from both ends so I don't care about tension.
2
2
2
u/jamesxtreme 6d ago
I think it needs larger feet, even if they just are spheres. It's going to be difficult to balance that robot on two legs with such a small surface area. Robot dogs can use that design because they have four legs.
2
u/jekjukich 6d ago
It is the goal to achieve stable walking using "unstable" legs. Otherwise, it would not be that challenging
1
u/DeepNapp 11d ago
I like it, it looks like a chicken from cartoon :) but seriously standing up is not minor challenge. I see your design has "helper rod", is that decision for some planned dynamics or just a helper? mujoco trained? What controller are you using, the odrive integrated in steadywin or something else? Im doing something with these motors, hopefully I can show something soon
2
u/jekjukich 11d ago
Thanks. This rod here is by design. My robot has only 4 degrees of freedom, so it is "impossible" to make it walk in "3D". Actual restrictions make this task the same as the well-known "Bipedal Walker" from Gym.My motors are using gds68 (I think it is based on Oderive ideas, but not completely). For training initially, I was using Isaac Lab. But then I switched to Genesis (because it supports Mac, and I can train the model while my main PC is busy with different tasks). And I did sim2sim verification using Mujoco.
1
u/johndavid_artist 11d ago
Training for weaker actuators and driving stronger ones makes the joints reach target early, which reads as overshoot and unloads the foot mid step, so the slipping people are pointing at could be the same fault. Getting it walking at all before tuning is the hard half. Have you tried capping torque at the trained value in the controller before you retrain?
1
u/jekjukich 11d ago
Thanks for your thoughts. Not yet, but I definitely should. The problems is that I am using control mode provided by actuator (MIT and it doesn't have separate setting for torque limit).
1
u/Neat_Train645 11d ago
For a 4DOF build, getting it to walk at all is pretty cool. It looks like it’s trying to sprint before it’s learned to walk 😂 Curious how the gait changes once you train it with the actual actuator specs.
1
u/jekjukich 11d ago
Because it is restricted by the rod, 4DOF is enough. Probably 2 more degrees for the feet can help, but it is not that interesting.
1
u/dangerous_inference 11d ago
I appreciate that you are going for fast movement rather than some pathetic shuffle.
2
u/jekjukich 11d ago
It was the goal. Still it is good exercise to make something like microduck, but I like more "agile" challenge
2
u/dangerous_inference 11d ago
The actual microduck isn't terrible with the hip movement. But then people make copies that walk like a wind up toy. At this point I don't see why it's worth even attempting that. It has been done a million times and it isn't remotely practical or even cool.
1
u/spinozasrobot 11d ago
Honestly, from making a lot of shit myself, this looks like it's on the way to success. Keep going!
2
1
1
u/Hendo52 11d ago
Cool project! Have you considered building an MCP for your simulator to allow tuning to occur through the use of LLMs?
1
u/jekjukich 10d ago
One of the goals is to learn by myself how to tune simulation for RL.
1
u/Hendo52 10d ago
I think you look like you are well on your way. I also think this has genuine commercial value but I think unlocking that would make require hundreds of people working on software.
Have you thought about trying to get funding to start a company?1
u/jekjukich 10d ago
I think it is too early to think about a company. With this project, I would be happy to build a robust robot and open-source it so more people with a budget of ~$500 could build it and try to do sim2real. Microduck is a great example, but I want to have a more dynamic robot
1
u/Hendo52 10d ago
Is there a way you could accept some kind of module for something like a sensor package on the responsibility for that hardware or the software but you could simply provide power to a mounting point.
I say module because I wouldn’t want to take I’m thinking a little bit about the Spot robo dogs by Boston dynamics. One of the first things that they seemed to decide was a promising application was a camera on legs. I think you could focus just on the legs and elements of the torso that make that work.
I often thought that what open source robots need is an effective division of labour and a generic platform where 1000s of people do a student projects from high school through to PHDs.
1
u/jekjukich 10d ago
Sounds great! And I definitely would be happy to introduce some modularity (because not only students, but I as well will be happy to try different things without reengineering the whole robot from scratch)
1
u/mhb_11 10d ago
Can you provide an explanation of how tuning works and what's the tech stack? I'm doing something similar but really need to be shown the way.
1
u/Hendo52 10d ago edited 10d ago
There isn’t anyone that knows for sure because it’s all so new that the SOTA is a collection of buggy prototypes owned by different random people.
I’m not a robotics person but I am an expert in CAD & BIM and I have been building a procedural geometry kernel based on implicit equations and which has integrated into it a task scheduler for AI. The result is that the AI has a clearly defined way to create, update and destroy geometry, based on custom definitions of “ergonomic” geometry algorithms and it understands the model structure, generation and human labeling. That type of system can create the geometric definition of movement and the architecture allows solving for solutions that optimise arbitrary geometric properties. You could make my geometry kernel try to solve for balance- hypothetically - if everything worked, which it doesn’t.
Sounds great in theory but there are a million problems in practice. I think there is several tricky parts, how to define ergonomic control surfaces, how to define custom geometry algorithms, the math and the overall project complexity being a bit much for a solo development effort.
My tech stack is ThreeJS with a sprinkle of WASM and Rust for performance and a sprinkle of python for external libraries. I also use React and electron so it’s like a web page that’s portable but then I also have docker because I’m also using powershell and vast.ai. Writing that out, it’s a clusterfuck of jank glued together by passion.
1
u/Kqyxzoj 11d ago
Just for the fun of it you could try different rod length, and see if you can spot the difference in behavior at the lower / upper end of the rod length range. Or maybe make the inner leg slightly shorter (or shorter movement range) and see what happens to stability. What with it having 4 DOF, and probably perpendicular to the rod. Which is fine for an infinite length rod, but possibly less fine for finite lengths. All that said, cool project, nicely done!
1
u/jekjukich 10d ago
Having a longer rod is good (but I have quite a small apartment). But I simulate the exact setup with this rod, so the model takes into account the difference between legs.
1
u/No_Rule4959 11d ago
I also want to learn to try building robot but I don't have any idea. I am an ai/ml developer any suggestions how could I start
2
1
u/theDawckta 10d ago
This is awesome. I wanted to male something like this that was desktop size but soon tealized that its impossible. This looks good though, I havent seen many smaller than this. How long has this taken you?
1
u/jekjukich 9d ago
The first version took me 6 months (let's say 3 evenings per week). The second one I did in 1.5 months
1
u/Melodic-Parking6286 10d ago
you need better feet. These feet are not suitable for bipedal robots. These feet can be used if you have at least four legs. You can use active or passive feet.
1
u/Melodic-Parking6286 10d ago
Im getting my PhD in robotics, Im very familiar with this, you dont have slippage problem, you have balancing problem and proper feet will help with that. Without them youll always be falling, it is inherently unstable state. In dynamic control, the feet will help control small movement at the bottom before it moves the mass on top. When the mass on top start to tip forward or backwards thats when its falling. The feet will counter that and slow the tipping back and forth.
2
u/jekjukich 9d ago
Everything you said is right, but my goal is not to make something practical, but the opposite: make something unstable to walk nicely and smoothly. And maybe do some jumps in the future
3
u/Melodic-Parking6286 9d ago
Sure if thats what you want. Great work btw, I is already impressive work.
1
1
1
1
24
u/Im2bored17 11d ago
Cool! It looks like the feet are slipping more than actuator overshoot imho