How Robots Use Maths to Move

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

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

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

    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

      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

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

    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 ปีที่แล้ว +4

      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.

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

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

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

    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!

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

    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.

  • @maxfranciscorbett2183
    @maxfranciscorbett2183 7 หลายเดือนก่อน +3

    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.

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

    This robot is missing an important feature: googly eyes.

  • @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)

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

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

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

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

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

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

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

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

    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!

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

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

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

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

    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.

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

    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!

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

    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!

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

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

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

    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

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

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

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

    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.

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

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

    This might be good to have right before the wind tunnel part since that was very sensitive to how the balls enter, and this is probably gonna be the most reliable part.

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

      Although didn't they need to be sorta thrown into that? So perhaps the static accelerator would be better

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

      @@xxportalxx. that being said, the fact that the arm can move at different speeds allows it to "throw" balls, and since the static accelerator is a gimmick anyway, it doesn't get as much speed as it should and may fail. also, it's a Coanda effect staircase. a wind tunnel is a very different thing.

    • @xxportalxx.
      @xxportalxx. 3 ปีที่แล้ว

      @@Bigwings2043 idk I think it would be difficult to have it throw a ball, but perhaps that's the solution.

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

      @@xxportalxx. although it may be difficult to code, I think the fact it is so reliable once you get the coding down makes up for it, whereas the ball accelerator is much more mechanical based, and therefore more unreliable.

    • @xxportalxx.
      @xxportalxx. 3 ปีที่แล้ว

      @@Bigwings2043 the ball accelerator is purely electrostatic, the only mechanical part is a belt being turned against a brush lmfao

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

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

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

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

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

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

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

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

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

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

  • @RandomPerson494-12c
    @RandomPerson494-12c 3 ปีที่แล้ว +13

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

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

    11:00 does that same library have a function to interpolate in a sigmoidal shape instead of linearly? A smoothed (sigmoidal) curve would probably look better, be more energy-efficient and expose the objects it moves to less forces

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

    Fantastic video with a perfect ratio of entertainment and education

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

    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

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

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

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

    highschool student: trig are useless

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

      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 ปีที่แล้ว +3

      ​@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 ปีที่แล้ว +2

      To them, it is

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

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

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

    really good video, nicely explained. Well done

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

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

    Genius Video ! Thank you so much

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

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

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

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

  • @دابراهيمالضيفي
    @دابراهيمالضيفي 4 หลายเดือนก่อน

    Thank you too much,for the basic,clear,interactive education..

  • @D-Khaz
    @D-Khaz 3 ปีที่แล้ว

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

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

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

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

    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,

  • @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 😎👍

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

    1:31
    Could you tell us WHERE to source WHAT parts go into your V-wheel Rollers (that already have bearings inside) as well as the V-slot Extrusion TRACK that the Rollers roll along?
    Thanx!

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

  • @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?

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

    Could you feed in the horizontal axis and have the arm start reaching before it comes to a stop? Another ramp smoothing between instructions.

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

      Sounds like an optimization: IF there’s another ball waiting…

  • @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 ?

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

    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.

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

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

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

    I don't know why the arm is dropping the ball so high. The servo can take it lower, and the upper arm should be able to drop the ball softer and closer to the ground.

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

    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.

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

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

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

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

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

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

    Best. Channel. On. TH-cam.

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

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

    Im working through your code and am in the encoder area, can you tell me what sort of motor you are using is please Ive never used an encoded DC motor before. Ive sorted the servos

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

    excellent .. kinematique was crazy very good job Master

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

    What type of v slot extrusion do you use and plz send link for the motor and v wheels, thanks!

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

      and plz send link for skrews and bolts and nuts too

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

    This is why we have youtube
    Brilliant description
    Thanks for sharing

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

    Awesome work... love you James

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

    have you considered using the esp8266 or esp32 as cheaper boards which could be bought in bulk for class rooms, they take the same code youre writing

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

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

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

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

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

    I have been trying to create a robot dog however when I try to move the legs it doesn't move in a straight line. Is there something I am missing that would fix this?

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

    The interesting thing is if you model on real life - what is the mix in a human/animal between the maths of moving a limb to the right place and the feedback/touch/visual etc that its in the right place?
    What would you say - 50/50 or more like 60% feedback, 40% muscle position?

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

    This is amazing information for free. Thanks dude.

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

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

    I'm interested how we could incorporate animation curves, and if they help even more to smooth out the motion.

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

      Yep - the Ramp library does all sorts of curve reponses too.

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

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

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

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

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

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

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

  • @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)?

  • @RubyRed-bu6sm
    @RubyRed-bu6sm 2 ปีที่แล้ว

    Hi :) I don't really understand the concept with the 45' offset. Sorry, I am new to servos, the milliseconds PWM basically tells the motor to turn for a certain amount of time and that equals the angle that we calculated? So I understand how the shoulder angle inside the first triangle is calculated, but I do not understand how that information is converted into usable information for the servo, because for the right triangle from the shown picture I assume that the servo is a 0 degrees and if you want to move the arm forward it has to turn for a certain amount of degrees, but that angle is not the same as the "shoulder angle" from the right triangle from the starting position, is it? So I think my question is how do you convert the calculated shoulder angle to the rotation of the servo trigonometrically?

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

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

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

  • @cj.tranzistor
    @cj.tranzistor ปีที่แล้ว

    How it will move in straight line while interpolating servos with linear ramp while actual change in degrees cannot be linear when end effector moving in straight line?

  • @JAYTHEGREAT355
    @JAYTHEGREAT355 7 หลายเดือนก่อน

    you can use mathlab ,inverse keynematics tool box to generate joint simulations.

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

    Sir you are absolute genius

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

    Hi, do you have any suggestions for a manipulater that can pickup a small , 6mm dia by 18mm tall, item? Thanks

  • @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'. :))

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

    bro get this man back on the algorithm

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

    Really appreciate your work!

  • @دابراهيمالضيفي
    @دابراهيمالضيفي 4 หลายเดือนก่อน

    Can you add some more similar vids about the sensing responding mechanisms

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

    BUT what about the SLIP model usde by agility robotics?

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

    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?

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

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

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

    7:26 - Couldn't you just calculate z2 by using z2 = sqrt( x² + z² ) instead of calculating "shoulderAngle2a" ?

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

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

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

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