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
  • НаукаНаука

Комментарии • 229

  • @Skyentific
    @Skyentific  4 года назад +32

    Links to open source files of Ben Katz:
    Hardware: github.com/bgkatz/3phase_integrated
    Firmware: os.mbed.com/users/benkatz/

    • @Skyentific
      @Skyentific  4 года назад +3

      Ben Katz youtube: ruclips.net/user/BenKatz

    • @romiolover6852
      @romiolover6852 4 года назад +1

      Please can you tell me on which board (platform) I can compile the firmware without facing errors ?

    • @asheshshrestha
      @asheshshrestha 4 года назад +1

      What are you using to plot the graphs?

    • @bankhs
      @bankhs 4 года назад +8

      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 )

    • @romiolover6852
      @romiolover6852 4 года назад +1

      @@bankhs thank you for these informations

  • @shrinarayan980
    @shrinarayan980 4 года назад +74

    I don't know why r u so underrated, you deserve much more

    • @Skyentific
      @Skyentific  4 года назад +3

      Thank you a lot!

    • @hiteshbhojne6852
      @hiteshbhojne6852 3 года назад

      I agree !!
      And he needs to be more on the mark
      🙏🏻

  • @STRATOS13PAO
    @STRATOS13PAO 4 года назад +34

    So much effort into this, great work, your content is of great quality. I love all your videos!

    • @Skyentific
      @Skyentific  4 года назад +3

      Thank you a lot. Such comments motivate me even more! :))

  • @robotriks
    @robotriks 4 года назад +14

    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!

    • @Skyentific
      @Skyentific  4 года назад +1

      Thank you a lot for such kind comment!

  • @alfiolocatelli5093
    @alfiolocatelli5093 4 года назад +10

    2:20 perfect explanation! 💯 Very cool as always

  • @thedrunknmunky6571
    @thedrunknmunky6571 4 года назад +31

    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!

    • @Skyentific
      @Skyentific  4 года назад +5

      Thank you a lot. I am really glad to hear this.

  • @klausnielsen1537
    @klausnielsen1537 4 года назад +5

    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.

  • @DonQuichotteLiberia
    @DonQuichotteLiberia 4 года назад +2

    This video and the previous one may be some of the best on youtube. Thanks for building, creating and sharing!

  • @geripapaable
    @geripapaable 4 года назад +1

    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...

  • @antonwinter630
    @antonwinter630 4 года назад +3

    i am constantly learning something new every time you post a video

  • @BrianBrocken
    @BrianBrocken 4 года назад +3

    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 😉👍

    • @Skyentific
      @Skyentific  4 года назад +1

      Thank you! I am glad that it is helpful.

  • @TerryLawrence001
    @TerryLawrence001 4 года назад +1

    Wow! A very clear explanation of close loop servos. I am hooked!

  • @user-pr1kh2cu1s
    @user-pr1kh2cu1s 4 года назад +1

    Сначала меня отпугнул этот акцент (раньше пытался осилить речь носителей), но потом я понял .что понимаю где-то 80-90% сказанного (без переводчика) и информация воспринимается лучше....теперь учу английский по Вашим видео....очень доступно и понятно...меньше сложных фразеологизмов, чем у носителей языка...Спасибо за видео...очень технологичные узлы...ждем новых видео.

  • @bakedbillybacon
    @bakedbillybacon 4 года назад +2

    Man, you are an amazing engineer. Great work. Amazing and entertaining videos. Thanks a lot for your efforts and very high level projects.

  • @olegpetroff6186
    @olegpetroff6186 4 года назад +2

    :) отличная картинка, прирожденный художник! Perfectly! Thank you for the video!

  • @sounavailable
    @sounavailable 4 года назад +10

    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).

    • @jaredjones6570
      @jaredjones6570 3 года назад

      ruclips.net/video/6MF33St61vo/видео.html

  • @MegaCoolshot
    @MegaCoolshot 4 года назад +5

    crazy underrated channel

  • @mohtashimmakhdoomi8253
    @mohtashimmakhdoomi8253 4 года назад +3

    Very interesting! I was looking for this kind of explanation. Thank you!

    • @Skyentific
      @Skyentific  4 года назад

      Thank you for your comment, and for watching my video!

  • @DMonZ1988
    @DMonZ1988 4 года назад +1

    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.

  • @davidcurtis8375
    @davidcurtis8375 4 года назад

    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!

  • @GeorgeDolbier
    @GeorgeDolbier 4 года назад +1

    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.

    • @Skyentific
      @Skyentific  4 года назад

      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.

  • @dunichtich100
    @dunichtich100 4 года назад +1

    Great work, this is groundbreaking research for the open source community!

  • @modraccin9514
    @modraccin9514 4 года назад +4

    "Cool! And with different colors!" :D

  • @zahidullah3413
    @zahidullah3413 2 года назад

    @skyentific you are doing great work for the community. keep growing. welldone and superb working. your mind is full of genious ideas.

  • @jcims
    @jcims 4 года назад +1

    Just pausing at 2:28 to say your biological model for the controller 'stack' is brilliant!!! Great job.

  • @kayaonur5657
    @kayaonur5657 4 года назад +1

    Amazing video as usual! Thanks a loT!

  • @NathanHarris83
    @NathanHarris83 4 года назад

    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!

  • @chebhou
    @chebhou 4 года назад +3

    Congrats on the 50k subs !

    • @Skyentific
      @Skyentific  4 года назад +1

      Thank you! This is actually thanks to my viewers! So congrats to all of us! :)

  • @mattanimation
    @mattanimation 4 года назад +1

    Nice, I was wondering when mjobots was gonna get some love. Great video.

  • @yoashuain1
    @yoashuain1 2 месяца назад

    Great explanation using anatomy.

  • @JohnDuthie
    @JohnDuthie 2 года назад

    I can't stop watching Skyentific's videos on robots

  • @Mosfet510
    @Mosfet510 4 года назад +1

    Very fast and a lot of features, good video.

  • @thunderinvader9031
    @thunderinvader9031 4 года назад +4

    Хороший контент, так держать

  • @zhangyichao4612
    @zhangyichao4612 4 года назад +1

    Thanks for your share.It's real good job.

  • @ekiki9141
    @ekiki9141 4 года назад +2

    Great content like always. Here is the time to build the Cheetah robot :) It would be great.

  • @stefanguiton
    @stefanguiton 4 года назад +1

    What a great video, keep it up!

  • @morganfreeman1906
    @morganfreeman1906 3 года назад

    This guy is amazing his channel is way underrated.

  • @themachobbit
    @themachobbit 4 года назад +3

    Really nice, makes me want to build one!

  • @mobinmortazavi83
    @mobinmortazavi83 4 года назад

    I love your videos and your interest in BLDC motors - Continue making these great videos bro!

  • @uthvfyrekbnm6008
    @uthvfyrekbnm6008 4 года назад +3

    You need to make the tutorial how to modelling for 3d printing. Embedded nuts, slots , etc
    Your designs are awesome

  • @smarthandsomeguy
    @smarthandsomeguy 3 года назад +1

    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.

  • @glauberprado8752
    @glauberprado8752 4 года назад +1

    Your drawboard is a piece of art!!!

  • @rayeaglenz
    @rayeaglenz 4 года назад

    Always super interesting! And with different colors! thank you for all the time you put into creating these videos :)

  • @markchinski4418
    @markchinski4418 4 года назад

    I've played around with (low power) DC motor drives.
    So that's how they did it.
    Good show.

  • @sukritapanigrahi1740
    @sukritapanigrahi1740 4 года назад

    Was looking for this, thank you so much!!

  • @teslastellar
    @teslastellar 4 года назад +1

    Excellent as usual 👍

  • @DMonZ1988
    @DMonZ1988 4 года назад +1

    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.

  • @chuongnguyen4980
    @chuongnguyen4980 4 года назад

    This is the video of the day...so motivated

  • @JulianMakes
    @JulianMakes 4 года назад

    Awesome as usual!

  • @seanmcdonald656
    @seanmcdonald656 4 года назад

    Another fantastic video

  • @CNCHOUSE
    @CNCHOUSE 4 года назад +10

    0:17 Slovenian time on friday! Но я буду первым!)

  • @soufianyjjou4758
    @soufianyjjou4758 3 года назад

    @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.

  • @albertkolosow
    @albertkolosow 3 года назад

    Great information. Thank you!

  • @PhG1961
    @PhG1961 4 года назад

    Awesome and excellent video !

  • @chrismofer
    @chrismofer 4 года назад

    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.

  • @ml1186
    @ml1186 3 года назад

    Awesome stuff!!

  • @buidelrat132
    @buidelrat132 4 года назад +2

    That's great! Are you planning on making your own board integrating those components?

  • @Light-iw1tu
    @Light-iw1tu 4 года назад +4

    can you make video on how to control dc and stepper speed, time and rotation direction motor with keypad with lcd display

  • @4mb127
    @4mb127 4 года назад

    Great information and presentation.

  • @ersinsevinc6142
    @ersinsevinc6142 4 года назад

    Day by Day videos start to be more funny and colourful 😂

  • @gilcae
    @gilcae 4 года назад

    Always great!

  • @pahafico2
    @pahafico2 2 года назад

    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!

  • @AlexKite68
    @AlexKite68 3 года назад

    Great! Thank you!

  • @hexogangsta9041
    @hexogangsta9041 4 года назад +1

    Прикольно :) через минуту я даже перестал замечать английский язык. Как будто слушал на русском :)

    • @Arslan8118
      @Arslan8118 4 года назад

      Русский акцент сильно земетно.

  • @VideoStefan17
    @VideoStefan17 4 года назад +1

    WEEEEEEHHH comments!!!! ;)
    nice work!

  • @elihanmunoz4890
    @elihanmunoz4890 4 года назад +2

    It's so great job

  • @Demnus
    @Demnus 4 года назад +2

    Ёр инглиш из вери гуд, Комрад! ^^

  • @user-eb4kl1uy2c
    @user-eb4kl1uy2c 4 года назад +1

    Круто, мне нравится!

  • @MrChatmoon
    @MrChatmoon 3 года назад

    Excellent!!!

  • @dman8776
    @dman8776 4 года назад +2

    Robot revolution!

  • @a1k0n
    @a1k0n 4 года назад +2

    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?

  • @raoba5565
    @raoba5565 4 года назад

    i love the picture he made on the board

  • @Bravefsj
    @Bravefsj 4 года назад

    thank you for sharing.

  • @sqwert654
    @sqwert654 4 года назад +1

    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 :)

  • @OnetrebuH
    @OnetrebuH 4 года назад

    Love it!

  •  4 года назад

    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 :)

  • @harshdobariya1030
    @harshdobariya1030 3 месяца назад

    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?

  • @CrisMadla
    @CrisMadla 4 года назад +1

    Quality stuff! What's your background btw? I'm a Mech Eng. who kinda wished they did EE 😂

    • @Skyentific
      @Skyentific  4 года назад

      I am scientist (physics) at University, who kinda wish to be a mechanical engineer. :)

  • @wecnn
    @wecnn 4 года назад +3

    "Let's replace 20 wires with just 2",- he said! ... 36 wires and 6 hours later ... ))

  • @greaterthanbut
    @greaterthanbut 3 года назад

    I found my mentor 😎... respect

  • @lard_on_a_pan
    @lard_on_a_pan 4 года назад +1

    Ну наконец-то не индийский акцент)

  • @gnarlyde
    @gnarlyde 4 года назад

    Klasse Video! Hast du dir schon mal überlegt den original Mini Cheetah Controller selbst zu fertigen also PCB bestellen und bestücken?

  • @scottedwards9593
    @scottedwards9593 4 года назад

    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!

  • @cem_kaya
    @cem_kaya 4 года назад

    you are awesome

  • @Techn0man1ac
    @Techn0man1ac 4 года назад +2

    Перед робот революшн, я бы порекомендовал Вам Айзека Азимова почитать

  • @EdwinFairchild
    @EdwinFairchild 4 года назад

    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

    • @Rocan0
      @Rocan0 4 года назад +1

      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.

    • @EdwinFairchild
      @EdwinFairchild 4 года назад

      @@Rocan0 got it! Thanks!!

  • @anandkumarpatidar1140
    @anandkumarpatidar1140 3 года назад

    Could you please make some videos on CANbus communication for motors in details?

  • @LUISANGEL27
    @LUISANGEL27 4 года назад +3

    I have a similar eeepc mini-laptop running archlinux

    • @Skyentific
      @Skyentific  4 года назад +1

      Archlinux is a good idea, for windows it is crazy slow. :)

  • @slevinshafel9395
    @slevinshafel9395 4 года назад

    Link to driver and electronics: odriverobotics.com/
    and mjbots mjbots.com/collections/servos-and-controllers/products/moteus-r4-3-developer-kit

  • @user-ui9fc6xz8d
    @user-ui9fc6xz8d 2 года назад

    I cannot import the mbed-dev-f303 library in mbed. How did you import the mbed library?

  • @VIP-kc7zg
    @VIP-kc7zg 3 года назад

    please can you do some tutorials on connections of controllers how to connect this stuffs and the coding methods and all..

  • @tatulyeghiazaryan9360
    @tatulyeghiazaryan9360 4 года назад

    Great!

  • @Build_the_Future
    @Build_the_Future 4 года назад +1

    Way better than my videos :)

  • @Marci124
    @Marci124 4 года назад +2

    I recommend everyone check out Ben Katz's channel and his blog.

  • @foobarbecue
    @foobarbecue 4 года назад

    And with different colors!!

  • @samueldallain6951
    @samueldallain6951 2 года назад

    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!

  • @pagetheme
    @pagetheme 3 года назад

    Здравствуйте Skyentific. Я повторяю полностью весь ваш проект из видео. Все собрал и даже все кое как работает. Когда мотор находится в режие крутящего момента он сильно вибрирует и создаёт сопротивление. Я подозреваю что дело в моторе который я использую F17601 Tarot 4008 Martin. Скажите как вы расчитали параметры которые вы внесли в код в файле motor_config.h? Где можно почитать что то на эту тему чтобы понять откуда взялись эти значения? Большое Спасибо.

  • @ezequielfarina4559
    @ezequielfarina4559 4 года назад +1

    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.

    • @Skyentific
      @Skyentific  4 года назад +1

      Normally the latest version of steady win should work with this algorithm. What do you mean by incorrect velocity adjustment?

    • @ezequielfarina4559
      @ezequielfarina4559 4 года назад

      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.

  • @strongbad2795
    @strongbad2795 4 года назад +1

    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?

    • @Skyentific
      @Skyentific  4 года назад +1

      I just took the schematics of original MIT controller, schematics of each evaluation boards. And from this I deduced how to connect evaluation boards.

    • @strongbad2795
      @strongbad2795 4 года назад

      Skyentific that’s excellent! If you would like more info on the DRV, I can help!

  • @TexonStudio
    @TexonStudio 4 года назад +1

    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?

    • @Skyentific
      @Skyentific  4 года назад +1

      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.

    • @TexonStudio
      @TexonStudio 4 года назад

      @@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.