How to build MIT Mini Cheetah Controller
HTML-код
- Опубликовано: 17 авг 2024
- MIT Mini Cheetah is very capable robot. I've decided to look at its brushless controller. Fortunately, it is open source, so we can build it! The two most interesting features for me are the simple control protocol and very fast torque measurements. I plan to do some interesting tests with it, in order to evaluate, if it is useful for robot arms too. By the way, the robot arms from HERMES robot (MIT) use the actuators, similar to MIT Mini Cheetah.
Special thanks to my special Patrons: Wesley Corp, RobotDigg Shanghai, Pierre Freyssinet, M. Aali and Shounak Bhattacharya!
Please subscribe. This will help me to develop other projects like this, to bring the bright future closer!
One time donation:
www.paypal.me/...
If you want to help this channel, please support me on Patreon:
/ skyentific
Instagram: / skyentificinsta
Facebook: / skyentificface
Twitter: / skyentifictweet
#DIY #Brushless #Robotics Наука
Links to open source files of Ben Katz:
Hardware: github.com/bgkatz/3phase_integrated
Firmware: os.mbed.com/users/benkatz/
Ben Katz youtube: ruclips.net/user/BenKatz
Please can you tell me on which board (platform) I can compile the firmware without facing errors ?
What are you using to plot the graphs?
G. (@Skyentific), this controller is Ben's MSc. Thesis (dspace.mit.edu/handle/1721.1/118671), not Ph.D. It is interesting that I have the same setup but with CAN2CAN with both ends Nucleo 446RE -not Arduino. :) For the folks who would like to have more details of the firmware, there is an online document by Bart (docs.google.com/document/d/1QIEI6IdHOcW4N1cRyucb33io4LriNYafIMs1sjLfTQU/edit )
@@bankhs thank you for these informations
I don't know why r u so underrated, you deserve much more
Thank you a lot!
I agree !!
And he needs to be more on the mark
🙏🏻
So much effort into this, great work, your content is of great quality. I love all your videos!
Thank you a lot. Such comments motivate me even more! :))
Seeing your videos always gives me motivation to keep pushing ahead with the projects I'm working on. Thank you for being an inspiration and creating great content!The brushless robot revolution cannot come soon enough!
Thank you a lot for such kind comment!
2:20 perfect explanation! 💯 Very cool as always
Thank you!
I’m gonna be doing my final year project in my mechatronics engineering honours and I’ve been watching your videos for the past few months. I’m so fortunate to find such a genius to explain these things to me so that I can also understand and use them. Genuinely a fan. Your 6 DOF robot arm stuff is what got me hooked btw. Keep it up!
Thank you a lot. I am really glad to hear this.
You are amazing! How you manage to put all this together and also film, explain, edit, build and use all this is truly amazing. And even though you say that the motor you use is not strong then from what I know about these little motors they are surprisingly powerful. So well done. Keep it up I am listening and enjoying. TY for sharing your work.
This video and the previous one may be some of the best on youtube. Thanks for building, creating and sharing!
The fact that this channel didn't made for profit and the way how you explain all sort of things is honorable! I hope we can all enjoy your videos for a long time. There is so much thing that i want to learn and it seems your channel is the perfect stock. Great subjects, outstanding implementation! Keep goin' to the "robot revolution" ! I'll stay tuned...
i am constantly learning something new every time you post a video
This was actually exactly what I’ve been looking for the past couple of days. What a coincidence. Very nice and well explained video as always 😉👍
Thank you! I am glad that it is helpful.
Wow! A very clear explanation of close loop servos. I am hooked!
Сначала меня отпугнул этот акцент (раньше пытался осилить речь носителей), но потом я понял .что понимаю где-то 80-90% сказанного (без переводчика) и информация воспринимается лучше....теперь учу английский по Вашим видео....очень доступно и понятно...меньше сложных фразеологизмов, чем у носителей языка...Спасибо за видео...очень технологичные узлы...ждем новых видео.
Man, you are an amazing engineer. Great work. Amazing and entertaining videos. Thanks a lot for your efforts and very high level projects.
:) отличная картинка, прирожденный художник! Perfectly! Thank you for the video!
I would be interested in a more thorough review of the mjbots controller! Electronically mjbots, odrive and MIT Cheetah controllers are almost identical, down to the STM32 uC (and the sw is open-source for all of them). But only the mjbots electronics are open AND specifically made compact to be mounted on actuators AND available to be bought assembled (at the price of just the DC drive stage dev board from your video).
ruclips.net/video/6MF33St61vo/видео.html
crazy underrated channel
Thank you!
Very interesting! I was looking for this kind of explanation. Thank you!
Thank you for your comment, and for watching my video!
wow, congratulations on 50,000 subs! i remember the beginnings and feel like that actually happened pretty quickly. its very well deserved and we'll be at 1M in no time!
just think of the subs when the robots hear about you. there'll be self-replicating sub-bot production lines everywhere.
Excellent video as always! I was not aware that Cheetah h/w & f/w was available open source, so thank you for the links! I must comment on CAN bus however, so that everyone watching understands -- you say: "CAN takes two wires" -- well, yes, because you already have a common ground from the power rail. Many people assume that CAN is differential signalling, but strictly speaking, it is not. When sending payload data, CAN_H and CAN_L are always opposite, so might be considered a differential pair, but during the arbitration phase, where message IDs are in collision on the bus, all the CAN transceivers on the bus must have a common ground. CAN_H and CAN_L are ground-referenced during arbitration. So CAN really takes 3 wires -- of course, if all the stations on the CAN bus share a common power supply, then the ground comes from that -- but beware of isolated ground planes! Thank you for another great video!
amazing work as allways! it will be wonderful to see all these components put onto a single board, with so many places offering custom PCBs this should be cheap and easy.
I looked at this. I don’t yet found how to do it. But it is not easy and not cheap. Only the components (without PCB and soldering) cost around 35USD. Also there are no many companies which can provide assembly. And not many of them have all necessary components. For example, JLCPCB, which is advertised by many youtubers, cannot assemble such board. The only possibility to get reasonable price is to order large quantity.
Great work, this is groundbreaking research for the open source community!
"Cool! And with different colors!" :D
@skyentific you are doing great work for the community. keep growing. welldone and superb working. your mind is full of genious ideas.
Just pausing at 2:28 to say your biological model for the controller 'stack' is brilliant!!! Great job.
Amazing video as usual! Thanks a loT!
I freaking love your videos. While I'm quite new to robotics and such, I'm picking up very valuable bits of knowledge. Thanks, and keep it up!
Congrats on the 50k subs !
Thank you! This is actually thanks to my viewers! So congrats to all of us! :)
Nice, I was wondering when mjobots was gonna get some love. Great video.
Great explanation using anatomy.
I can't stop watching Skyentific's videos on robots
Very fast and a lot of features, good video.
Thank you!
Хороший контент, так держать
Спасибо.
Thanks for your share.It's real good job.
Great content like always. Here is the time to build the Cheetah robot :) It would be great.
What a great video, keep it up!
This guy is amazing his channel is way underrated.
Really nice, makes me want to build one!
This is great! :)
I love your videos and your interest in BLDC motors - Continue making these great videos bro!
You need to make the tutorial how to modelling for 3d printing. Embedded nuts, slots , etc
Your designs are awesome
Good video. From what I saw in the code snippets, the original author uses a PD controller algorithm to reach set points. I think you could have mentioned that. PD/PID controllers are very essential and super fun to learn about and experiment with. I use them in virtually all robot related coding I do.
Your drawboard is a piece of art!!!
Thank you :)
Always super interesting! And with different colors! thank you for all the time you put into creating these videos :)
I've played around with (low power) DC motor drives.
So that's how they did it.
Good show.
Was looking for this, thank you so much!!
Excellent as usual 👍
Thank you!
if theres one thing i can't stand about your videos its that they're a serious pain in the neck!
every time i get the notification, i want to do a somersault! i'll need those robot arms and legs soon please.
This is the video of the day...so motivated
Awesome as usual!
Another fantastic video
0:17 Slovenian time on friday! Но я буду первым!)
First! Первый:)
@11:14 I totally approve your temperature checking procedure. I have the same genuine one. I just put my fingers on chips and actuators casings. Just to get a feel of how wrong I am operating them. Sometimes I wonder how those guys writing the datasheets are able to crank that much power in smd components. Maybe "Absolute maximum ratings" is not standing for "Ideal operation mode without heatsink and no air flow". Never mind. I guess seeing the magic smoke is how you learn.
Great information. Thank you!
Awesome and excellent video !
what a great video, I've played with odrive before (+Teensy and LoRa!) in a programmable cable cam. I didn't know about these other controllers. encoded brushless motors seems like the future for all types of actuators given these tiny and powerful servo controllers.
Awesome stuff!!
That's great! Are you planning on making your own board integrating those components?
can you make video on how to control dc and stepper speed, time and rotation direction motor with keypad with lcd display
Great information and presentation.
Day by Day videos start to be more funny and colourful 😂
Always great!
Your videos are so awesome. Just saw that somebody else uses your videos for their engineering thesis, as will I. I have even quoted you multiple times!
As for the MIT mini cheetah controller, I would say its only useful for robodog applications or robots which generally have a parallel kinematic configuration? the mjbots controller would be more useful for a serial kinematic configuration, as the user can integrate the controller into a daisy chain? Really love your stuff. Cheers!
Great! Thank you!
Прикольно :) через минуту я даже перестал замечать английский язык. Как будто слушал на русском :)
Русский акцент сильно земетно.
WEEEEEEHHH comments!!!! ;)
nice work!
It's so great job
Thank you!
Ёр инглиш из вери гуд, Комрад! ^^
Круто, мне нравится!
Excellent!!!
Robot revolution!
Yes!!! :)
I wonder if the torque offset at rest is from the cogging torque of the motor? As in, it's resisting the permanent magnets trying to snap to the nearest pole?
i love the picture he made on the board
thank you for sharing.
Very nice. I want my to make own little mini Cat for security around the house. Your channel shows its possible with the skills and interests I have acquired over the last 50 years :)
Love it!
Nice work, like always! Whats is the plan, develop your own driver for brushless motor? I think you check the L6234, Why you choose it over the DRV8323R? I know that it accept more current but I also think, it neccesary more than 5 amp? Keep going with your research, I'm your fan :)
Hello, your videos are great and we learn so much from them. Thank you. Can you tell, from where can I find the CAN Arduino code for mini Cheetah controller?
Quality stuff! What's your background btw? I'm a Mech Eng. who kinda wished they did EE 😂
I am scientist (physics) at University, who kinda wish to be a mechanical engineer. :)
"Let's replace 20 wires with just 2",- he said! ... 36 wires and 6 hours later ... ))
Nice! :))))
I found my mentor 😎... respect
Ну наконец-то не индийский акцент)
Klasse Video! Hast du dir schon mal überlegt den original Mini Cheetah Controller selbst zu fertigen also PCB bestellen und bestücken?
Hey! We need help speeding up a system. We can make drinks in about 20 seconds, we want to make them in about 10 seconds. Can you advise us on what path to take to upgrade our stepper motor driven autonomous bottling kiosks to something faster? You rock and we love you!
you are awesome
Перед робот революшн, я бы порекомендовал Вам Айзека Азимова почитать
what is the added benefit of using this type of brushless motor as oppose to one specifically designed for position and steps , like a stepper ? I always thought these where designed to just go very fast and continuously.... but what hes doing here looks soo freaking amazing
There are multiples pros and cons :
Brushless are fast and powerful, most controllers can handle external forces (you get motors acting like springs, more current makes them stiffer) and they have a very smooth operation.
In the other hand, stepper motors cannot support being back driven (they "lose steps" if they don't have an encoder) they create vibrations because of the steps and their torque gets lower when they turn, but they provide a better "holding" torque.
Also brushless motor control boards are much more expensive and complex (as you can see in the video) than simple stepper drivers.
In terms of precision... It depends of the usecase, but both solutions are equally capable.
@@Rocan0 got it! Thanks!!
Could you please make some videos on CANbus communication for motors in details?
I have a similar eeepc mini-laptop running archlinux
Archlinux is a good idea, for windows it is crazy slow. :)
Link to driver and electronics: odriverobotics.com/
and mjbots mjbots.com/collections/servos-and-controllers/products/moteus-r4-3-developer-kit
I cannot import the mbed-dev-f303 library in mbed. How did you import the mbed library?
please can you do some tutorials on connections of controllers how to connect this stuffs and the coding methods and all..
Great!
Way better than my videos :)
I recommend everyone check out Ben Katz's channel and his blog.
Agree!
And with different colors!!
Hey thanks for the awesome video. I have a question concerning the MCP_CAN library. I see that it has been updated since your video came out and some functions have changed. Do you have an updated Arduino code you can share? Thanks!
Здравствуйте Skyentific. Я повторяю полностью весь ваш проект из видео. Все собрал и даже все кое как работает. Когда мотор находится в режие крутящего момента он сильно вибрирует и создаёт сопротивление. Я подозреваю что дело в моторе который я использую F17601 Tarot 4008 Martin. Скажите как вы расчитали параметры которые вы внесли в код в файле motor_config.h? Где можно почитать что то на эту тему чтобы понять откуда взялись эти значения? Большое Спасибо.
Hi Skyentific, lately i ve been following your work very close and with this last video i was wondering if i could controll the steady win motors v3 following this steps. I had a similar code but didnt get a smooth position control due to an incorrect velocity adjustment. Thank you for your work.
Normally the latest version of steady win should work with this algorithm. What do you mean by incorrect velocity adjustment?
Hi, in my code i use the same type of messages with position, velocity, kp, etc. Putting a low kp and adding small steps i get a smooth and close result to the position desire (always moving with the same velocity despite significant changes). But even when i put kp to 0 and want only a velocity controll i cant see any significant changes on this parameter. Also my motor with higther steps vibrates a lot. In case you are wondering if its a motor problem ive already had change it and got the same problem. Thank you again for your time and continue with this great videos.
I looked at a lot of the links mentioned below but didn't find how to construct this with the various evaluation boards you are using, any more information available?
I just took the schematics of original MIT controller, schematics of each evaluation boards. And from this I deduced how to connect evaluation boards.
Skyentific that’s excellent! If you would like more info on the DRV, I can help!
Hi Skyentific, I'm curious if you've tried to use gimbal bldc motors in robotics. I'm currently trying to choose the best main motors for 4 wheel robot. The theoretical required torque for one wheel schould be around 6,5Nm and maximum velocity of the robot has to be 0,5m/s. Oh, and I have 22,2V battery.
My plan is to pair the motor with low ratio gearbox which will be 3d printed. I found that gimbal motors have really small Kv and current. I'm thinking about using them along with 1:10-1:15 3d-printed planetary gearbox. Is this a good idea? Maybe it would be better to use higher Kv motor with higher ratio gearbox ? Or just use something like MIT Mini Cheetah that your rewieved?
I think you are doing everything right. I would do the same. Low KV motor with large radius (thus large torque) coupled with low ratio planetary gearbox should be perfect. If you have money for this project maybe you can use Gyems actuators (I did the review couple months ago). Otherwise 3D printed should work too.
Of course you can also do this with low torque motor and high gear ratio reducer. But I don’t like this approach. I think it is less reliable.
@@Skyentific Thanks a lot for reply. Unfortunately, Gyems actuators are not available im my country and I'm forced to buy parts for the project locally, not from China. I found very interesting motors, T-Motor G80 and G60 gimbal like motors. They are deesigned to use them in robotics applications. They seem to fit my needs perfecly so I think I will go for them and low ratio planetary gearbox.