Mini Robot Dog #4 - Inverse Kinematics

Sdílet
Vložit
  • čas přidán 21. 08. 2024
  • This is part 4 of my new Mini 3D Printed Robot Dog project.
    I've decided to put my Robot Dog, openDog, on hold for now and build a smaller prototype robot dog for testing to see if I can actually make it walk. At some point I'll return to openDog, but I believe my smaller, compliant design will provide an easier route to stability.
    This time we're looking at how to calculate and code the Inverse Kinematic model - a mathematical model of the robot's mechanical assembly, which then allows us to position the feet in XYZ Cartesian coordinates, and have the software calculate the three complex join positions in real time to achieve the positions.
    CAD and Code for this: github.com/XRo...
    Affiliate links - I will get some money of you use them to sign up or buy something:
    ***************************
    Matterhackers 3D printing supplies: www.matterhacke...?aff=7500
    Music for your CZcams videos: share.epidemics...
    Amazon US: www.amazon.com...
    Amazon UK: www.amazon.co....
    Amazon FR France: www.amazon.fr/...
    Amazon DE Germany: www.amazon.de/...
    Amazon ES Spain: www.amazon.es/...
    Amazon IT Italy: www.amazon.it/...
    ***************************
    You can also support me on Patreon or buy my Merchandise:
    ***************************
    Patreon: / xrobots
    Merchandise: teespring.com/...
    ***************************
    Other socials:
    ***************************
    Instagram: / xrobotsuk
    Facebook: / xrobotsuk
    Twitter: / xrobotsuk
    ***************************
    CAD and Code for my projects: github.com/XRo...
    Huge thanks to my Patrons, without whom my standard of living would drastically decline. Like, inside out-Farm Foods bag decline. Plus a very special shoutout to Lulzbot, Inc who keep me in LulzBot 3D printers and support me via Patreon.
    HARDWARE/SOFTWARE
    Below you can also find a lot of the typical tools, equipment and supplies used in my projects:
    Lulzbot 3D Printers: bit.ly/2Sj6nil
    Lincoln Electric Welder: bit.ly/2Rqhqos
    CNC Router: bit.ly/2QdsNjt
    Ryobi Tools: bit.ly/2RhArcD
    Axminster Micro Lathe: bit.ly/2Sj6eeN
    3D Printer Filament: bit.ly/2PdcdUu
    Soldering Iron: bit.ly/2DrNWDR
    Vectric CNC Software: bit.ly/2zxpZqv
    Why not join my community, who are mostly made up of actual geniuses. There’s a Facebook group and everything: / 287089964833488
    XROBOTS
    Former toy designer, current CZcams maker and general robotics, electrical and mechanical engineer, I’m a fan of doing it yourself and innovation by trial and error. My channel is where I share some of my useful and not-so-useful inventions, designs and maker advice. Iron Man is my go-to cosplay, and 3D printing can solve most issues - broken bolts, missing parts, world hunger, you name it.
    XRobots is the community around my content where you can get in touch, share tips and advice, and more build FAQs, schematics and designs are also available.

Komentáře • 237

  • @jamesbruton
    @jamesbruton  Před 4 lety +46

    Patrons and CZcams Channel members already have next week's video which is about making the dog walk!

  • @peter-gn8ey
    @peter-gn8ey Před 4 lety +47

    really enjoyed how you broke down the math. also very impressive seeing all four feet stay on the ground.

  • @StormBurnX
    @StormBurnX Před 4 lety +48

    It's as insane as it is impressive to watch a single person go through, step by step, the same line of work that an entire team of people at MIT/Boston Dynamics have done. Mad props to you, sir.

    • @jamesbruton
      @jamesbruton  Před 4 lety +11

      thanks!

    • @pidayrocks2235
      @pidayrocks2235 Před 4 lety +8

      Same line of work -- but different level of applied engineering. Cheetah robot is insane.

    • @Proger-sj8cj
      @Proger-sj8cj Před 4 lety +2

      *SkyNet : heheheheheh*

  • @scubahunter00
    @scubahunter00 Před 4 lety +29

    James, thank you so much for taking the time to walk through the IK solving! That's been a bit of a mystery to me for a while.

  • @elliearnold
    @elliearnold Před 4 lety +40

    Fantastic job James! I love seeing how the math translates in to movement - it's really fascinating!

  • @doughntworry
    @doughntworry Před 4 lety +27

    thats a super satisfying motion and the math is much easier than I would have thought. pretty awesome.

  • @MrMelichor
    @MrMelichor Před 4 lety +77

    Me: how does he remember this stuff from highschool?
    James: I'm going to use a website because I don't remember how.
    Me: oh...

    • @rpyrat
      @rpyrat Před 4 lety +5

      Yeah that's pretty much it ^^
      Engineering is not always about knowing the formulas but more about the reasoning that leads you to using them

  • @Alex-xh1zi
    @Alex-xh1zi Před 4 lety +26

    I'm glad you went through the maths and code - I found that particularly interesting

  • @joannot6706
    @joannot6706 Před 4 lety +134

    If geometry was like this in school instead of abstract concepts that seemed completely useless, I'd have been more into it back then.

    • @bkucenski
      @bkucenski Před 4 lety +26

      When a teacher has 30+ students in each classroom it's impossible to teach to each students' interests. When I took trig, I took it upon myself to apply it to programming games and figured out 2D translation and rotation with just what I was learning in class. This is why it's important for parents to encourage and support hobbies. Kids who have productive hobbies never ask "when will I use this?"

    • @IshamPadron
      @IshamPadron Před 4 lety +2

      I feel the same. As an adult, I'm having to use more math than I ever thought I would just owning a home and having to do repairs. If they integrated real world practical math in schools more would be interested in science and math.

    • @ciarfah
      @ciarfah Před 4 lety

      Ben Kucenski The question is "how can I use this for my hobby?"

    • @conorstewart2214
      @conorstewart2214 Před 4 lety +1

      @@stefan9922 I completely agree, teachers could do more to show how it applies to real world examples and how interesting the actual applications of what we learn are. One thing that got me started on the hobby of electronics and robotics with a view of turning it into a career has been films and TV as well as seeing what has already been done by companies such as Boston Dynamics. Most parents have little to no knowledge of these complex fields so why dont teachers who have much more of an insight into them help to promote them to students?

    • @MuhammadDaudkhanTV100
      @MuhammadDaudkhanTV100 Před 4 lety

      Good robot

  • @DaveEverett01
    @DaveEverett01 Před 4 lety +18

    Very smooth motion James. Great work there.

  • @anaskhan9511
    @anaskhan9511 Před 4 lety +6

    the amount of work this guy puts in these stuff is amazing.

  • @oldestnerd
    @oldestnerd Před 4 lety +11

    I'm always impressed. Thank you for sharing your expertise.

  • @moth.monster
    @moth.monster Před 4 lety +1

    Love how you admit to looking stuff up you don't know or remember. There's nothing wrong with using the vast amounts of information available online to your advantage.

  • @mattiasfagerlund
    @mattiasfagerlund Před 4 lety +3

    The movement of the robot is looking awesome! Very cool indeed!
    Btw, In programming we typically avoid atan(x/y) and use atan2(y,x) instead, to avoid the division by zero that's lurking there and because "The single-argument arctangent function cannot distinguish between diametrically opposite directions".

  • @NotSoMax
    @NotSoMax Před 4 lety +2

    This is probably the project I’ve been most excited about and have actually been thinking about doing myself, I love that you make these projects open source super awesome move

  • @clonkex
    @clonkex Před 4 lety +4

    That looks hella cool when it's moving all the different axes at once! Nice work! It actually moves a lot like Spot Mini, which is obviously cool.

    • @ChrisD__
      @ChrisD__ Před 4 lety +1

      He's gotta make it twerk now.

  • @davidalbertopozaaguilar4698

    What an amazing display of CAD an electronics abilities.

  • @joesubbiani
    @joesubbiani Před 4 lety +2

    It looks so much more fluid excellent work

  • @KrisTemmermanNP
    @KrisTemmermanNP Před 4 lety +9

    Great job James! I am impressed by the way you do that! But I woud suggest trying to solve IK problem by using more linear algebra instead of pure trigonometry. It will not only run faster, but once you get a good understanding of it, will be much easier. (although harder to explain in a video). Anyway looking forward to the next video!

    • @silverhead8243
      @silverhead8243 Před 4 lety +1

      This sounds good, can you attach some links.

  • @nicolaschollet7435
    @nicolaschollet7435 Před 4 lety

    I dont comment a lot on your videos but I watch them all! So just a little one to tell you how great I think you are and how amazing it is that you take the time to share and explain all what you do! In a word: Thanks!

  • @ExecutableSyntax
    @ExecutableSyntax Před 3 lety

    Inverse kinematics is so amazing its unreal

  • @PhilipX2030
    @PhilipX2030 Před 4 lety +1

    Beautiful IMU inertial measurement unit.. so tiny! Love that you've put the OS Sonic Controller and all the responsive mechatronics... Love how you pretty much embody exponential progress! My idol...

  • @cwilmot
    @cwilmot Před 4 lety

    Wonderful! This project deserves attention from every robotic universities.
    As Károly Zsolnai-Fehér says, "what a time to be alive!"

  • @diegodoumecq5144
    @diegodoumecq5144 Před 4 lety +26

    Hah! with all of those degrees of freedom you can imbue that thing with a lot of personality without it even having an actual face

    • @desertkil
      @desertkil Před 4 lety +7

      Who needs a face if you have googly eyes!

    • @ciarfah
      @ciarfah Před 4 lety

      desertkil googly eyes are mandatory on every project

  • @Objectivityiskey
    @Objectivityiskey Před 4 lety +1

    This is the most FUCKING AMAZING RC project I have seen in forever. Iv'e built quad copter after quad copter, tracked vehicles, and rock crawler, but this is something different! I wan't this this bot, and I want to put FPV on it and take if into the wilderness!

  • @JohnEdwa
    @JohnEdwa Před 4 lety +1

    In this video, you start with a hodgepodge of 3d printed parts and electronics, and you end up with something that feels like it's alive and clearly has a personality.

  • @LupusMechanicus
    @LupusMechanicus Před 4 lety +11

    literally a god damned genius watched the whole thing

  • @D-S-9
    @D-S-9 Před 4 lety

    Love this video! Thank you for "showing your working" in such detail - felt like the older videos in the best possible way. I hope you enjoyed making it

  • @martinedelius
    @martinedelius Před 4 lety +1

    Excellent work as always James!

  • @FilterYT
    @FilterYT Před 4 lety

    This is so fantastic James! Congratulations and thanks so much for sharing these videos and the code you are publishing. It will be quite a legacy.

  • @simont8358
    @simont8358 Před 4 lety +3

    Morning James been watching you since mid hulk buster I never know wot your explaining but I have to give it to you ur very clever keep up the good work while we are in lockdown

  • @RND_ADV_X
    @RND_ADV_X Před 4 lety +1

    I'm really enjoying this OpenHeadcrab series!😁🤖🦀♥️

  • @Nicolas_dG
    @Nicolas_dG Před 4 lety

    You just made it look so much easier than what i thought it was... well done !

  • @MechTools
    @MechTools Před 4 lety

    Seriously!!
    You are my robotics teacher

  • @leeharrington6438
    @leeharrington6438 Před 4 lety +2

    Good job - looking good

  • @mstreich
    @mstreich Před 4 lety

    I was impressed with your BB-8 droids. This is just WOW.

  • @christophermacier
    @christophermacier Před 4 lety +1

    This is why I came here. Man you are a genius. Wish you could teach some coding for robotics classes.

  • @abcdefg3386
    @abcdefg3386 Před 4 lety

    You should have a look at inverse kinematics and the Jacobian inverse technique, which is exactly what industrial robots use to solve the problem. It might look complicated at first. But as soon as you get to more than two joints and 3D kinematics, it's much more convenient than the trigonometric approach.

  • @TheJohnestOfJohns
    @TheJohnestOfJohns Před 4 lety +3

    Wow this is great content! Thanks for making these

  • @digitexstudios5634
    @digitexstudios5634 Před 3 lety

    Thanks so much for this. I used your IK code to make my own dog.

  • @toastom
    @toastom Před 4 lety

    Literally made his own version of Spot. Incredible.

  • @HoRiOnS
    @HoRiOnS Před 4 lety

    This one is starting to look like a winner. Keep it up.

  • @gmt1
    @gmt1 Před 4 lety

    Really cool, and scaling it to different sizes seems pretty simple. If I had the money, I'd love to build a car sized version to ride around on.

    • @oblivion_2852
      @oblivion_2852 Před 4 lety

      The bigger it is the stronger the motors you need. Precision strong motors really aren't cheap. But we can all dream :p

  • @AbcDef-hl2ic
    @AbcDef-hl2ic Před 4 lety +3

    Great job! Congrats!

  • @Intro2Love
    @Intro2Love Před 4 lety +1

    really good quadruped robot 😎👌

  • @MetalDIY
    @MetalDIY Před 4 lety +1

    Interesting and most importantly useful video, thanks!

  • @DktheWelder
    @DktheWelder Před 4 lety

    Really cool video! it moves so well

  • @jankot6187
    @jankot6187 Před 4 lety +2

    Wow, I am very impressed. Could you please make a video where you will show some things we must have to start building robots like You, and/or the cost of one robot? Also it would be fantastic to know where we can buy all of this engines etc.

  • @CoryTaylor904
    @CoryTaylor904 Před 4 lety +1

    Love the code breakedown.

  • @Obeeron
    @Obeeron Před 4 lety +1

    6:06 "which involves some Pythagore's theorem". It's actually one of al-Kashi's formulas, insanely useful btw

  • @ZombieB
    @ZombieB Před 4 lety +1

    Awesome full movements

  • @PuhuTube
    @PuhuTube Před 4 lety

    I'm amazed... again!

  • @grahamtech
    @grahamtech Před 4 lety

    This is simply wonderful

  • @EnigmaverseElysium
    @EnigmaverseElysium Před 4 lety

    Dang I remember the first one you uploaded on this and this is sooooo much more advanced. Dang, great work

  • @AlecDenholm
    @AlecDenholm Před 4 lety

    You may have done this intentionally for clarity, but for brevity, xx1 = xx1 *-1 can be written as xx1 *= -1, or since you're just seeking to invert it, xx1 = -xx1. The former avoids repeating the variable name, the latter makes the semantic intent clearer.

  • @robevans8555
    @robevans8555 Před 4 lety

    Great work, I love the mechanics and you are doing a great job explaining how the mathematics work,

  • @slippydouglas
    @slippydouglas Před 4 lety

    The reason why programming often uses radians is because floating point numbers have the most accuracy around 1.0 or -1.0- there is just as much accuracy from 0.0-1.0 as there is from 1.0-infinity. While it shouldn't make a huge difference for your calculations with 32-bit precision floats, the closer you can keep the numbers your using to +/-1.0, the less chance of floating point error/rounding showing up.
    Also, working in multiple different scales generally makes your code messier and more prone to errors. It's best to try to choose a system and stick to it for the whole program. If you want to output degrees to the terminal, I'd do the radians-to-degrees conversion inline in the print statement; mixing radians-based and degrees-based variables (even if distinctly named) is just going to clutter things up. Just imagine trying to design a 3D part in CAD and half you measurements are in centimeters and half are in inches!

  • @FOSTER_SCOTT
    @FOSTER_SCOTT Před 4 lety

    The robodog projects and open dog are really cool

  • @reggiep75
    @reggiep75 Před 4 lety

    12:43 - You do the hokey-cokey and you turn around...... I'll get my coat!
    16:12 - The motions that are achieved here are great.

  • @Excalibur32
    @Excalibur32 Před 4 lety

    Such satisfying movement!

  • @anystrap404
    @anystrap404 Před 4 lety

    Super impressive James! I can't get over how great the movement is you've achieved; very cool to watch. =] I may have to take on this project one of these days.

  • @avejst
    @avejst Před 4 lety

    Impressive project
    Thanks for sharing👍😀

  • @oorangejuce
    @oorangejuce Před 4 lety

    openDog is looking good

  • @MrAshadams
    @MrAshadams Před 4 lety

    Awesome explanation and execution!

  • @oraz.
    @oraz. Před 4 lety +1

    That is awesome

  • @kaushikprakashrobotics

    This robot is really cool James. Love the videos!

  • @nicstroud
    @nicstroud Před 4 lety +1

    Can you make an open source ventilator? Is that possible?
    I genuinely don't know how complex it is but it would be cool if all the makers out there could come together and make various parts or a complete unit and have it all open source.

  • @NitishYadav-lb7zc
    @NitishYadav-lb7zc Před 4 lety +3

    That's amazing 😲😲

  • @GaaraMeepo
    @GaaraMeepo Před 4 lety

    Very cool episode

  • @tudime4142
    @tudime4142 Před 4 lety

    eres lo más sigue así eres una inspiración para hacer experimentos

  • @OJASMIXOFFICIAL
    @OJASMIXOFFICIAL Před 4 lety +1

    You can developed it for jumping....as it goes backward you must increase the electrical energy to give more power and it will be enough for a 3 cm jump.

  • @MeineVideokasetten
    @MeineVideokasetten Před 4 lety +2

    This if my favorite robot (dog)!

  • @matthewjackson9746
    @matthewjackson9746 Před 4 lety +1

    Hi James, As always great to watch your inventions take shape. I am also using the same network chips for my robot mower and was interested in your comment about voltage issues. I don't suppose you could say what decoupling capacitor and smoothing capacitor you are using please?

    • @jamesbruton
      @jamesbruton  Před 4 lety +1

      100uF and 0.1uF, but there are still some occasional issues

  • @lucamatteobarbieri2493
    @lucamatteobarbieri2493 Před 4 lety +5

    Just call it Open Robo-Puppy 😉

  • @johnmorgan1629
    @johnmorgan1629 Před 4 lety

    All this talk of joints and servos, half expected James to start singing:
    Hip servo's connected to the knee servo,
    The knee servo's connected to ninjaflex feet,
    That's how the robodog moves along.

  • @10p6
    @10p6 Před 4 lety +1

    Progressing nicely. Now only if you add a motor to the waist so it can twist too :-)

  • @coopermosshart
    @coopermosshart Před 4 lety

    You'd probably find your code would be much cleaner in the end if you used matrices to do the kinematics. Great project regardless, keep it up.

  • @MechDickel
    @MechDickel Před 4 lety

    Cool moves!

  • @community_collab_society
    @community_collab_society Před 4 lety +1

    It's really amazing👍

  • @markevens
    @markevens Před 4 lety

    this is really cool

  • @gregoirepainchaud
    @gregoirepainchaud Před 4 lety

    This bot is slightly frightening, sooo smooth... ;-)
    I wonder if it could be a cool platform to give it some AI, maybe it could teach itself to walk, jump, obstacles... Maybe a collab on that if it's not your field?
    Superb work man! 👍👍👍

  • @gurdyalsingh1857
    @gurdyalsingh1857 Před 4 lety

    appreciatable sir

  • @Thomas_NL
    @Thomas_NL Před 4 lety

    I want to see it doing the Moonwalk!
    Awesome bot!

  • @elijohua
    @elijohua Před 4 lety

    Seriously good...

  • @apolloadamalee
    @apolloadamalee Před 4 lety

    I love it , my brain just keep freezing in middle of the video u sir are a genius

  • @sfahadrizvi
    @sfahadrizvi Před 4 lety

    It would be so cool if you made a hexapod at this scale and I think the movement will be much simpler. Also it will be nice to have wheels on the legs so the dog can drive and walk depending on the need :)

  • @blenderNOOb69
    @blenderNOOb69 Před 4 lety

    Nice work. A suggestion: If I were you, I would never shift between RADIAN and DEGREE. Calculate all in radian and ONLY for HUMANS convert it to DEGREE and send it over the serial port. You remember the smashed vehicle on Mars. The fault was, they calculate in both metric and imperial and they screwed up.. 90 degree is Pİ/2 ;)

    • @jamesbruton
      @jamesbruton  Před 4 lety +1

      Yes all the calcs are done in radians

  • @terrylay2048
    @terrylay2048 Před 4 lety

    It's legitimately beautiful ❤️❤️❤️

  • @marekantozi399
    @marekantozi399 Před 4 lety

    Very good, thank you!

  • @LbZPr3dator
    @LbZPr3dator Před 4 lety +2

    10:35 Looks like a crab now :D

  • @rob57898
    @rob57898 Před 4 lety +1

    you should build a laser harp! :)

  • @xenontesla122
    @xenontesla122 Před 4 lety +3

    It's cool seeing this progress so fast! Should the end of the triangle be closer to the center of curvature in the foot so the body stays level at 5:00?

    • @janhetjoch
      @janhetjoch Před 4 lety

      A foot comes of the ground at 17:13

    • @themegasalad
      @themegasalad Před 4 lety +1

      @@janhetjoch Its because the servo cant get to where the math is telling it to. Geared down servo has a bit limited motion

    • @clonkex
      @clonkex Před 4 lety

      Technically yes, but also the feet won't always be perfectly on the ground anyway due to squishy rubber, rough terrain and the fact that the feet aren't circular so some parts will be closer and some further away. And the springs on the joints will help take up any inaccuracies.

  • @MONTES262011
    @MONTES262011 Před 4 lety

    OMG. Stop tock. I whan see tha toys in motion !!!!

  • @garagemonkeysan
    @garagemonkeysan Před 4 lety

    Maths! Great application and lesson of trig and algebra. Love the video and content. Mahalo for sharing! : )

  • @wunder1385
    @wunder1385 Před 4 lety +1

    Is there a particular reason you use the Arduino ide? Why not platformio on vs code?

  • @wiel4nd
    @wiel4nd Před 4 lety

    You explained that really good 👀

  • @DimitarManovski
    @DimitarManovski Před 4 lety

    Great video :) thanks for sharing

  • @WoLpH
    @WoLpH Před 4 lety

    It's all basic math independently, but combining it all... that quickly makes it complicated. Especially when trying to code it as well. I'm assuming you're using some matrix multiplication to take care of the actual moving?

  • @lemmonsinmyeyes
    @lemmonsinmyeyes Před 4 lety

    Does momentum make it easier to walk/balance? If you are going fast on a bike, it’s easier to stay upright vs balancing from a standstill. If open dog has momentum behind it, easier to walk vs slowly walking ?

  • @gonzaloolguin7937
    @gonzaloolguin7937 Před 4 lety

    Awesome!