How Robots Use Maths to Move

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 พ.ค. 2024
  • Get your first 10 PCBs for free at www.pcbway.com/
    I get asked a lot of questions about Inverse-Kinematics for Robotics. I've used Inverse-Kinematics a lot in the past for Robot Dog projects, so I thought I'd do a simple demo video for a simple Kinematic model, and also build another stage of my Great Ball Contraption.
    CAD and Code: github.com/XRobots/BallContra...
    You can support me on Patreon or buy my Merchandise:
    ***************************
    Patreon: / xrobots
    Merchandise: teespring.com/stores/james-br...
    ***************************
    Affiliate links - I will get some money of you use them to sign up or buy something:
    ***************************
    Matterhackers 3D printing supplies: www.matterhackers.com?aff=7500
    Music for your TH-cam videos: share.epidemicsound.com/xrobots
    ***************************
    Other socials:
    ***************************
    Instagram: / xrobotsuk
    Facebook: / xrobotsuk
    Twitter: / xrobotsuk
    ***************************
    CAD and Code for my projects: github.com/XRobots
    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:
    Filament from: www.3dfuel.com/
    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 TH-cam 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.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 298

  • @Daisyboobs
    @Daisyboobs 3 ปีที่แล้ว +224

    This robot is missing an important feature: googly eyes.

  • @carsont1635
    @carsont1635 3 ปีที่แล้ว +103

    I can't believe you've broken down something I was so intimidated about into really lovely trigonometry. Treating each solved distance as a black box for later trig makes it so elegant. Thank you for teaching real skills in your videos. I really appreciate the work you do!

    • @kevinwoodrobotics
      @kevinwoodrobotics 5 หลายเดือนก่อน +3

      Yes, simple examples can be solved with trig, but if you want to get into more advanced robots with high dof's and redundancy, you'll need to rely on numerical methods and understanding of transformation matrices to solve the problem

  • @0dWHOHWb0
    @0dWHOHWb0 3 ปีที่แล้ว +69

    "What is my purpose?"
    ...
    "Oh my god..."

  • @Diamonddrake
    @Diamonddrake 3 ปีที่แล้ว +102

    Just need a 2nd one and they can go forever playing “your ball! No! Your ball!”

  • @bournemaking1768
    @bournemaking1768 3 ปีที่แล้ว +51

    I had to learn the maths for my EPQ project last year and I didn't entirely understand it. Now it makes sense!!!
    Great video and can't wait for the next one!

  • @jonathancohen2506
    @jonathancohen2506 2 ปีที่แล้ว +11

    Your skill with all facets of robotics is truly impressive- concept, 3D design and printing, assembly, math and coding, testing and refinement. So impressed!

  • @Benlucky13
    @Benlucky13 3 ปีที่แล้ว +3

    I love how with channels like this even the ad portion is interesting. No crummy mobile game ad, but actually relevant and useful companies as sponsors

    • @jamesbruton
      @jamesbruton  3 ปีที่แล้ว +2

      thanks, trying to keep them relevant if poss.

    • @WistrelChianti
      @WistrelChianti 3 ปีที่แล้ว

      @@jamesbruton I tend to actually watch them, was interesting to see they make parts not just circuit boards. Didn't know that.

  • @maxfranciscorbett2183
    @maxfranciscorbett2183 วันที่ผ่านมา

    I teach High School Engineering (in the states) and seeing you break down robotics into simple Trig allows me to show the students how Geometry is applied in robotics at this basic level. I hope this will inspire some students to go into robotics.

  • @jonathandavidson2468
    @jonathandavidson2468 3 ปีที่แล้ว +2

    I love how this is even used in video games for almost anything dynamically animated. The best example is VR, inverse kinematics is used to calculate where the elbow should be located based off of your shoulders and hands in-game.
    Thanks so much for this video! It really helps introduce me to IK which I was always scared of learning, great job breaking down the math behind it to make it sound really simple and straight forward.

  • @grudge579
    @grudge579 3 ปีที่แล้ว +1

    This is one of the simplest practical demonstrations of inverse kinematics i have ever seen. Hats of to you James!

  • @timothysands5537
    @timothysands5537 ปีที่แล้ว +8

    You sir, are making the world a better place with your videos. The inverse kinematics you showed was far simpler than how I imagined it to be. I was over here trying to use MatLab to create Differential Equations and then setup a robotic simulation with moments of inertia, COM, etc.
    Your video ultimately brought me back to the realization that 'baby steps first' would be my best move instead of just leaping into the deep end.
    That said, there is nothing that teaches like a project does, and yours are always fun to watch and learn from (like when you built a camera that follows you or the backpack disc that spins to balance you on a beam walk)

  • @oldcowbb
    @oldcowbb 3 ปีที่แล้ว +112

    highschool student: trig are useless

    • @officer_baitlyn
      @officer_baitlyn 3 ปีที่แล้ว +10

      i went from a pretty meh math student in middle/highschool to studying physics / tutoring
      and to be fair,
      if im not studying physics or tutoring at the moment
      i couldnt care less about trigonometry (technically, i still do :^))
      but when i do, its pretty essential to have
      u gotta remember that the majority of people learning trig in school prob wont be using it unless their job is tech or science related

    • @ryanengle9725
      @ryanengle9725 ปีที่แล้ว +2

      @@officer_baitlyn said so well 👑

    • @Jim-sz7wz
      @Jim-sz7wz ปีที่แล้ว +2

      ​@Officer_Baitlyn, you also forgot the vast majority of trades; trig is literally used daily for construction, without it, buildings would be wonky

    • @travisjohnson8540
      @travisjohnson8540 4 หลายเดือนก่อน +1

      To them, it is

    • @williamtarabalka4920
      @williamtarabalka4920 2 หลายเดือนก่อน

      The mechanical engineer who designed you car and electronic engineer your cellphone agree that you are the man. Satellites are useless too.

  • @josiahmitchell530
    @josiahmitchell530 3 ปีที่แล้ว +3

    This is very inspiring! I've been wanting to make something similar recently and I've also been taking trigonometry in college right now, so seeing how you implemented it in inverse kinematics was awesome to see and providing the code too! I find this helpful.

  • @OpsFox245
    @OpsFox245 3 ปีที่แล้ว +2

    Got a recommendation on youtube to watch some of your videos about robotics and I didn't know why given all my recent searches are for procedural animation. A few hours later youtube recommends this to me and now I understand. I see your tricks youtube.

  • @lloydrmc
    @lloydrmc ปีที่แล้ว

    Brilliant! TH-cam served up your reverse kinematics demo deo up to me, which led me to this video, (right in the middle of your process), and it all made perfect sense, because you are a gifted teacher.
    Subscribed!

  • @MarinusMakesStuff
    @MarinusMakesStuff 3 ปีที่แล้ว +9

    Thanks a lot for this very informative and inspiring video James! The first thing I was thinking of when I saw the gripper was: 'Why not use suction?'. Also learned a thing or two about inverse kinematics. Maybe I'll give it a try in the future!

  • @navid9852
    @navid9852 3 ปีที่แล้ว +2

    Really like the end effector design. Pretty simple but works very well.

  • @Mippi12
    @Mippi12 3 ปีที่แล้ว +13

    Jurassic Park robotic arm.
    Remember?
    Egg? Do you breed velociraptors?

  • @xabier1698
    @xabier1698 3 ปีที่แล้ว +13

    wow, i am just learning the math behind the movements in my robotic career

  • @davestinyworkshopotherprojects
    @davestinyworkshopotherprojects 2 ปีที่แล้ว

    Thanks so much for this James. I've been watching through a bunch of your videos again while at work (I'm a D.E. teacher - coding of various kins, and robotics (using Robbo)). I had bought one of those cheap robotic arm kits from Lazada, to which I added the servos and an Arduino. At first I coded it to work sequentially, which was all I knew how to do, so arm rotation, then vertical arm movement, then the claw. It randomly selects a position by choosing numbers in the pre-defined range of movement for each servo. But, while watching this video, and others, I worked out a way to program simultaneous movement. I'm not using timing, or anything like that. It takes the current position for each servo, and the newly selected position, calculates the difference for each servo, then divides by 100. I then have a loop of 100 iterations that adjusts the position of each servo in the required direction be adding or subtracting the number and writing to the servo for each iteration of the loop. So, I have a relatively smooth transition of all three servos from current to new position. The claw is changed separately after the arm finishes moving. The servos for this arm are SG90s, so they're a bit rough a jittery, but they do the job. I've also added LEDs that light up when each part of the code is being executed and I hope to add a 2 row LCD display to show the position numbers for each servo while it is operating. The robot is mounted on the back wall of my classroom purely as a demo piece, so serves no practical functionality except the most important one - to inspire my students. Thanks again for your awesome channel! I actually feel like building a bigger arm now from scratch, perhaps using PVC piping and 3D printed joints, or metal joints, like in your example here. Hmmm!

  • @NoirPhoenix
    @NoirPhoenix 3 ปีที่แล้ว +1

    Oh my gosh, Thank you so much James, i've struggled to wrap my head around IK for so long on how it works, I'm doing game dev in uni but could never understood how IK actually works. I've watched videos working with unity but none of them explained this in an easy way like you have, been subscribed to your channel for a while now and was not expecting to learn something i've been wanting to learn in game dev from you. So thank you so much sir! ahaha

  • @GunGryphon
    @GunGryphon 3 ปีที่แล้ว +5

    12:09 What the robot hears:
    "Standard insertion for a nonstandard specimen. Go ahead, Gordon. Slot the carrier into the analysis port."

  • @rpavlik1
    @rpavlik1 3 ปีที่แล้ว

    This is great stuff! I was hoping for the linear algebra of IK, which I didn't get, but I did get a very nice project doing one task well, with all the details and intermediate steps shown, which is really great. Might use this to show the kid how even a simple task robot has a lot of parts and steps.

  • @David-kq4co
    @David-kq4co 3 ปีที่แล้ว +1

    really good video, nicely explained. Well done

  • @kingarthurthe5th
    @kingarthurthe5th 3 ปีที่แล้ว +6

    “The great ball contraption”
    “The high voltage ball accelerator”
    Great naming scheme Monsieur Bruton

  • @IBIS_main1011
    @IBIS_main1011 ปีที่แล้ว +2

    すごい!シンプルな設計だがプログラムに無駄がなく制御がしっかりしていて尊敬します。

  • @rooley123
    @rooley123 3 ปีที่แล้ว

    This is the exact sort of project I've been looking at learning about new 3d printer on order soon 🤘

  • @DmitriyKhazansky
    @DmitriyKhazansky 3 ปีที่แล้ว

    Big fan of the break down video of the madness that happens in the background of all of your other videos!!

  • @tlange5091
    @tlange5091 3 ปีที่แล้ว +18

    hello suicidal robot from the secret santa in the background. Glad he is still physically alive!

  • @joran4612
    @joran4612 3 ปีที่แล้ว +3

    cant wait for the 1m special! hope it will be soon

  • @johnwick7175
    @johnwick7175 3 ปีที่แล้ว

    Thank you for this video, it was excellent. So far, I've only been taught the very basics of kinematics at Uni as it is not really my field. I don't know why, but it didn't occur to me that trigonometry was being used so extensively to control robots. All these applications for triangle calculations never cease to amaze me. I will have to try and build this myself immediately 😎👍

  • @raagamparmar179
    @raagamparmar179 3 ปีที่แล้ว

    WOW! No words can explain how impressed I am by this! GREAT Explanation!!!!!!!!!!!!!!!!!!

  • @campbellmorrison8540
    @campbellmorrison8540 9 หลายเดือนก่อน

    This is fantastic, if I can understand your code Im going to have a go at implementing this in Meccano. Thank you for sharing your knowledge,

  • @jubaerhasan4723
    @jubaerhasan4723 3 ปีที่แล้ว

    Thank you so much sir been waiting for this . Really appreciate it

  • @vocaldeviation
    @vocaldeviation ปีที่แล้ว

    This is amazing information for free. Thanks dude.

  • @SaintAngerFTW
    @SaintAngerFTW ปีที่แล้ว

    Awesome work... love you James

  • @nickmegert4662
    @nickmegert4662 3 ปีที่แล้ว

    Liked and subscribed. Amazing video, I love how you broke down every facet of the biuld.

  • @adil.9064
    @adil.9064 ปีที่แล้ว

    Fantastic video with a perfect ratio of entertainment and education

  • @Zhaymoor
    @Zhaymoor 3 ปีที่แล้ว +1

    Genius Video ! Thank you so much

  • @staleif
    @staleif 3 ปีที่แล้ว +1

    how do you not have more subscribers.... this is some real amazing stuff you are doing! keap up the good work

  • @GordonWrigley
    @GordonWrigley 3 ปีที่แล้ว

    From a software point of view, when working with IK, it's always a good idea to write the forward side as well and check that the results match (within rounding errors).
    What's shown here is calculated_angles = IK(demand_position).
    What you would add is calculated_position = K(calculated_angles) where K is a new function to calculation position from angles.
    Then you check that demand_position = calculated_position (allowing for rounding error).
    The reason to do this is it will find mistakes in your IK code, if that equality doesn't hold then either IK or K is buggy. Also the K side is often the simpler of the two.

  • @ayanvaidya2727
    @ayanvaidya2727 3 ปีที่แล้ว +1

    thank you very much this is very helpful as this is quite similar to a scara arm(here z-x and in scara x-y by 2 joints) which is my final year project.

  • @newburypi
    @newburypi 3 ปีที่แล้ว

    Many thanks for this video. It has answered a few more questions regarding robot arm movement. One thought, if I may, to make a more interesting display. Have the movement, down the rail, and raising the ball to its upmost position occur in the same time period.

  • @johnclarke7960
    @johnclarke7960 3 ปีที่แล้ว

    Really appreciate your work!

  • @azizrizki1664
    @azizrizki1664 ปีที่แล้ว

    excellent .. kinematique was crazy very good job Master

  • @toysnic9769
    @toysnic9769 3 ปีที่แล้ว

    It feel so easy with you ! Great job very good for education !

  • @mandar3567
    @mandar3567 3 ปีที่แล้ว

    Thank you for explaining it👍🏻

  • @WistrelChianti
    @WistrelChianti 3 ปีที่แล้ว

    Brilliant! Thanks! Defo more inverse kinematics. A follow on with an arm rotation axis would be great (or even bring in/demo with the slider, so all happens at same time rather than being 2 discrete sets of movement). Still not sure I totally followed (not the maths, good with trig, more the algorithm/process) but will grab the code and see if the comments help and maybe try it out on some servos with taped on pencils or something. There was also another good one you did on minidog for this

  • @HERETIC529
    @HERETIC529 3 ปีที่แล้ว +1

    So you’ve essentially built a pick and place machine. Really cool!

  • @stingraymaster877
    @stingraymaster877 2 ปีที่แล้ว +1

    This is the 10th time I’ve watched this trying to understand this.

  • @MacEvoyING
    @MacEvoyING 2 ปีที่แล้ว

    Very well explained!

  • @bbogdanmircea
    @bbogdanmircea 3 ปีที่แล้ว

    Amazing simple explanation!!! Also quite easy build, probably could be done also with a 3D Printer Stepper for the belt and cheaper servos for the arm as the forces are not so big?

  • @Geeksmithing
    @Geeksmithing 3 ปีที่แล้ว +2

    James, this is so super useful for me! Thank you! How much more complicated do the maths get when adding a rotation to one of the joints as well?

  • @sasikumarr9216
    @sasikumarr9216 3 ปีที่แล้ว

    I'm waiting for ur next full setup video ❤❤💕💕

  • @silvio9142
    @silvio9142 3 ปีที่แล้ว

    thank you very much for this good video it help me a lot !

  • @beartastic-ftw
    @beartastic-ftw 3 ปีที่แล้ว

    Cool, I'd love to see the same done with a typical ramps board and gcode as well

  • @almosthuman4457
    @almosthuman4457 3 หลายเดือนก่อน

    thank you so much for teaching me.

  • @StenOuborg
    @StenOuborg 3 ปีที่แล้ว +31

    Hi James, have you tried using the Jacobian matrix? It makes solving inverse kinematics pretty easy. Just describe the coordinates of the end effector as a function of the joint angles once and from then on out it's a matter of simple linear algebra!

    • @leftaroundabout
      @leftaroundabout 3 ปีที่แล้ว +5

      It's not _just_ a matter of linear algebra, because the forward mapping is nonlinear. Yes, you can still use the inverse Jacobian to run some Newton-Raphson steps, but this isn't exactly _easier_ than, if possible as in this example, directly computing the exact solution with trigonometry tricks. Especially when using a low-powered microcontroller, it's quite advantageous to need only one computation step.

    • @leftaroundabout
      @leftaroundabout 3 ปีที่แล้ว +2

      ...Though then again, it isn't really necessary to directly compute the target parameters _at all_ - instead, depending on the application it can make a lot of sense to compute only _directions_ of movement, which the Jacobian can directly offer. Then physically following the directions is essentially a mechanical way of solving the nonlinear equations.

  • @michaeltina3866
    @michaeltina3866 2 ปีที่แล้ว

    Thank you so much
    Very nice video

  • @maheshpatel2005
    @maheshpatel2005 3 ปีที่แล้ว

    Great video...keep inspiring us...

  • @andymouse
    @andymouse 3 ปีที่แล้ว

    Oddly enough I think this is my favorite robot ! it's really cool and seems somehow more accessible (still love the dogs !)...cheers.

  • @Schwuuuuup
    @Schwuuuuup 3 ปีที่แล้ว +1

    Your videos are clearly made to inspire. But the Components you use (especially the motors) are more of the pricey variety. I would like to see a video, where you go over your "standard components" and explain, why you chose them and not other - I guess oftentimes it's because it was what you had at hand. On the other hand, I would love even more a video where you challenge yourself to only use small 3$ nano-servos and/or 28BYJ-48 Stepper with ULN2003 driver modules --- you know, stuff that kids could afford. These have limited capabilities, but it would be nice to see what they can do in their limits when someone like you uses them.

  • @siddheshshinde4522
    @siddheshshinde4522 4 หลายเดือนก่อน

    Great man keep going❤❤

  • @Bianchi77
    @Bianchi77 2 ปีที่แล้ว

    Thanks for sharing, keep it up:)

  • @ikocheratcr
    @ikocheratcr 3 ปีที่แล้ว

    I could see that robot moving balls all day long on my desk. It has some kinda funny action. Simple and clean.

  • @smashino
    @smashino 3 ปีที่แล้ว

    Awesome video, James! As always.
    I'm curious as to how long it took you to program this thing? Was there any problem solving or are you very comfortable with these kinds of projects now? :)
    Thank you!

  • @Rowie_9
    @Rowie_9 3 ปีที่แล้ว

    You should investigate the use of transformation matrices when doing kinematics. Super simple doing complex 3D forward/inverse kinematics of n link robot arms or anything really with trig.

  • @cepi24
    @cepi24 ปีที่แล้ว

    Sir you are absolute genius

  • @AaronAlso
    @AaronAlso 3 ปีที่แล้ว

    You could add a rotation axis to the base of the arm and make this bit a hub to randomly select different paths for the balls to take. All of which, eventually, end up back here at the hub. Either way, this is a great explanation and demonstration.

  • @ScubaDubaJosh
    @ScubaDubaJosh 2 ปีที่แล้ว

    Great video. the math is a lot easier than I thought it would be.

  • @dumbtex6107
    @dumbtex6107 2 ปีที่แล้ว

    I swear at any moment james could just OWN the r/arduinoprojects or r/3dprinting subreddits an absolute legend thanks for the introduction into inverse kinematics btw

  • @rdyer8764
    @rdyer8764 3 ปีที่แล้ว +1

    Another excellent, excellent video! Well explained and demonstrated AND most importantly, your teaching methods are very encouraging, and give the viewers (me!) the idea that I too can attain the same results with a reasonable amount of work. Well done, or as you Brits say, "Brilliant!" Now we just have to teach you guys that there is no such noun as 'Mathematic'. :))

  • @crazyphrog6289
    @crazyphrog6289 3 ปีที่แล้ว

    This is really cool. And I am looking forward to seeing the great ball contraption completed. As I watch this, I wonder if it would be easy to change the gripper to be 90 degrees to what it is now, and shaped like a ducks bill, and feed the balls at 90 degrees to what it is doing here to help with it picking the balls up while looking like a duck. :)

  • @plymouthrovadventures.646
    @plymouthrovadventures.646 3 หลายเดือนก่อน

    Thank You. My Math's sucks.. So this is a very good tutorial for me as I am trying to build a Similar system to yours. .. Thanks Again.

  • @Paul_Bearden
    @Paul_Bearden 2 ปีที่แล้ว

    I like that servo, big bold 20 kg cm, which is 0.2 Newton meters. That means a 2 cm diameter primary spur gear would yield about 18.79 kg of force, however, keep in mind that it is at the servo's rated rpm, which is probably very slow to give such high torque.

  • @Vaxtin
    @Vaxtin ปีที่แล้ว

    "What is my purpose?"
    You pick up ping-pong balls and drop them somewhere else.
    It's simple but still interesting to watch.

  • @mychkyl
    @mychkyl 3 ปีที่แล้ว

    bro get this man back on the algorithm

  • @frankdearr2772
    @frankdearr2772 ปีที่แล้ว

    hello, thanks for sharing your skills about that topic :)

  • @sharedinventions
    @sharedinventions 3 ปีที่แล้ว

    You should add gate(s) with special cutout, the profile of the arm. So the arm must be in that exact position to pass through the gate.

  • @andrewbarnard3229
    @andrewbarnard3229 3 ปีที่แล้ว +1

    hey james have you seen the 3d printed linear actuator retsetman posted?, it lifts over 20kg! would be really cool to see a set tried out on project X

  • @KiteTurbine
    @KiteTurbine 3 ปีที่แล้ว

    This is why we have youtube
    Brilliant description
    Thanks for sharing

  • @chonk0478
    @chonk0478 3 ปีที่แล้ว

    Loved the math for this one - would it be possible to add in the kinematics equations to use the arm to toss a ball into the air and then catch it by matching its trajectory with the arm (likely needing a much better feedback/encoding system)?

  • @hetthummar9582
    @hetthummar9582 3 ปีที่แล้ว +1

    Hy James awesome video as always. But I have one question for you -> How much time required while making this project.
    I am asking this because for me sometimes even a very small project takes one or two weeks to complete and then I start to wonder that I am not doing anything wrong.

  • @rajatpaliwal9512
    @rajatpaliwal9512 3 ปีที่แล้ว

    Great sir

  • @fatgamer919fan4
    @fatgamer919fan4 3 ปีที่แล้ว +1

    Inverse kinematics gota love them

  • @AnimilesYT
    @AnimilesYT ปีที่แล้ว

    I've noticed one little thing which is not entirely correct at 11:15
    If anyone is building a robotic arm, then keep this in mind:
    It is true that in most cases it will move in a straight line. I believe this is true for the points you use in this example. But there are cases where the arm has to contract and later extend again. For example at 9:00 you can see the elbow making a sharper angle as it gets down, but towards the end it starts to extend a little bit again. If it would go down further it would rotate in the other direction more. So going from the starting position to the end position would cause it to skip most of its movement which means it won't go in a straight line down.
    You can also see that the servos don't move at the same speed the whole time. While the arm is going down the elbow servo moves very quickly at the beginning but it slows down near the end.
    One way to solve this is to interpolate several coordinates between point A and B and then use the ramp library to interpolate the servo speed between these points. Make sure you're not executing the code faster than the arm can move though. But without feedback on the current position it's hard to make everything move smooth. I'd suggest to make the movements slow at the beginning so you don't run into problems caused by slow servos. Otherwise it may look like your code isn't working properly even though you're going over the servo's limit :)

  • @Palamdrone
    @Palamdrone 3 ปีที่แล้ว +1

    First of, thanks for the video! Code for the absolute coordinate is a bit weird. You computed the shoulderAngle2Degrees and shoulderAngle1Degrees but did not do angle arithmetic to calculate the final angle. Instead, you converted both to pwm secs and subtracted the two values in servo write which can be easily overlooked.

  • @Simon-fn1ed
    @Simon-fn1ed 3 ปีที่แล้ว

    Lovely!

  • @manuelmbscorreia
    @manuelmbscorreia 3 ปีที่แล้ว +1

    12:04 it's beautiful. I have looked at this for 5 hours now...

  • @bradhoward9701
    @bradhoward9701 3 ปีที่แล้ว

    I finally managed to get ros2 installed and working. my brain hurts already. damn you and your inspiration James, damn you!

    • @jameshamaker9321
      @jameshamaker9321 3 ปีที่แล้ว

      I happen, to know there are other personalities on this site, named James. Allow me, to introduce myself, I'm the other James. There's another one, he's in Canada somewhere.

  • @christianparker9315
    @christianparker9315 3 ปีที่แล้ว

    Best. Channel. On. TH-cam.

  • @nickbaddorf2673
    @nickbaddorf2673 3 ปีที่แล้ว

    I hope you work on the RUR next!

  • @davisdiercks
    @davisdiercks 3 ปีที่แล้ว

    Nice demonstration! I notice sometimes you also talk about having a low or high "integral value" as you tweak things, what does this mean? Is it related to the IK model? I'm currently taking calculus 3 but not sure what you mean in those applications.

  • @Rob_65
    @Rob_65 3 ปีที่แล้ว

    I keep swapping kinematics and inverse kinematics around. Luckily my robot has both built in.
    This is a nice and simple example and looks like a scara robot that is tilted 90 deg. on the X-axis.
    Programming a robot in cartesian coordinates can be difficult due to "singularities". I've had a few errors where the robot controller (Kuka KR180) would report a singularity error and not move at all but I have also had some strange movements that resulted in an overload on one of the axes. At that time, the robot performs an abrupt E-stop which is not that funny when 50 kg of mass is being moved... I actually checked the massive bolts that are used to mount the robot on the floor to see if they were not damaged.

  • @MrCraftNmine
    @MrCraftNmine 3 ปีที่แล้ว

    After finally capturing reverse kinematics, the gods decided that his punishment would last for all eternity. He would have to move a ping pong ball from one place to another; upon dropping the ball, the ball would be placed back at the starting position again, leaving reverse kinematics to start over. James sees reverse kinematics as the absurd hero who lives life to the fullest, hates death, and is condemned to a meaningless task. One must imagine reverse kinematics happy.

  • @viclaining8667
    @viclaining8667 3 ปีที่แล้ว

    Woow!!
    how do you configure speed of the servo motor?

  • @robertmiosga5547
    @robertmiosga5547 ปีที่แล้ว

    Brilliant, do you still have the code for the manual control with potentiometers ?? Thanks :D

  • @WilliamPriola
    @WilliamPriola 3 ปีที่แล้ว

    I think this would make a great distribution point where the arm can deliver balls to different sections, just by stopping it's linear axis at different locations. i.e. the static ball accelerator or the coanda effect section

    • @jamesbruton
      @jamesbruton  3 ปีที่แล้ว +1

      Good idea - it could be longer also

  • @memejeff
    @memejeff 3 ปีที่แล้ว

    epic man

  • @reg2590
    @reg2590 3 ปีที่แล้ว

    12:30 Why is this section so mesmerizing? in lockdown perhaps. I need a 30min video of the balls going round in a looped track

    • @jameshamaker9321
      @jameshamaker9321 3 ปีที่แล้ว

      Something like, the wintergarten, marble machine ?