Building a Force Controlled Robot Gripper | James Bruton

Поделиться
HTML-код
  • Опубликовано: 3 фев 2025

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

  • @jamesbruton
    @jamesbruton  6 лет назад +80

    I want to build a whole general purpose robot arm that's force controlled!

    • @ianproffitt3679
      @ianproffitt3679 5 лет назад

      Do IT

    • @mantasdaskevicius9595
      @mantasdaskevicius9595 5 лет назад +8

      Maybe it could be used as an arm for an open dog? Like the one spot mini has

    • @evancashman7614
      @evancashman7614 5 лет назад

      @@mantasdaskevicius9595 that would be awesome, James should also make two attached to the front so it looks like a scorpion

    • @cyberstar251
      @cyberstar251 5 лет назад

      this is an awesome idea however I already see another design flaw besides the fingers getting stuck, over time the wire pulling them shut will eat through the plastic and weaken the thing as a whole, you need to put something as strong or stronger than the cable to protect the whole structure.

    • @manuelwei6317
      @manuelwei6317 5 лет назад +2

      If its force controlled you have to do it or not, there is no try.

  • @JohnDlugosz
    @JohnDlugosz 5 лет назад +41

    Cheap idea: use a cam at the joint that the bungie passes over. This will compensate for the change in geometry and keep the force constant. E.g. see the "Nautilus" work-out gym machines, which are named for the distinctive shape of the cam.

  • @HugoPeeters
    @HugoPeeters 5 лет назад +1

    Love the return to the serious and in-depth style. Thank you for listening to your commenters!

  • @duncanx99
    @duncanx99 5 лет назад +15

    I can't say I'm following all of this (and I'm never going to build a robot) but it really is fascinating stuff...

  • @Jordashwiley
    @Jordashwiley 5 лет назад +3

    This is a totally cool idea. I'd like to see James build a robot that walks up and down stairs, like Asumo Honda.

  • @matthewp4046
    @matthewp4046 5 лет назад

    Your new montage is great! Fun music and sound, and interesting to see the assembly process

  • @DoRC
    @DoRC 5 лет назад +3

    If you need to make springs stiffer you can just cut a couple coils out of them. It makes fine tuning easy.

    • @duodot
      @duodot 5 лет назад +2

      This is a common misconception. Maybe you know this and are just talking colloquially, but; The spring does not become stronger with less coils, you simply spread the force over a shorter worklength. 1 coil is just as strong as 20 coils, but 20 coils will be able to stretch over much larger distances and actually be useful. So technically, he could take some coils off to make it "stiffer" but all you're doing is now stretching the individual coils further and thus accessing a part of the elastic deformation not previously reached. So be careful about modding springs like this, lest you eventually reach their elastic limit and permanently plastically deform them. Also, before I forget, if you do need to cut coils off, make sure you do it in the middle ;)

  • @AutomaticSnowball
    @AutomaticSnowball 5 лет назад

    I really enjoyed the format of this video, thanks James!

  • @azyfloof
    @azyfloof 5 лет назад +1

    You need something like a linear tension sensor, like the type of strain gauge used in a set of luggage scales. You're losing a lot of the servo's force in those springs, when all you need to do is measure the tension in each tendon, and either carry on driving the servo or STOP driving the servo depending on the force needed.

  • @krbruner
    @krbruner 5 лет назад +1

    They used to make (may still do) servo horns called "servo saver" which had a spring in them to protect the servo from being pressed too hard or for impacts, like on steering gear. You could probably make something like that yourself to suit your needs

  • @kaviprashanna
    @kaviprashanna 5 лет назад

    really good work on video quality , especially the construction sound and music sync in the starting part.

  • @superdaveofendor
    @superdaveofendor 5 лет назад +2

    Is this the moment in history where we need to stop James from making our Robot overlords, or do we continue to wait? 😂
    Good job James. Great work!

  • @SuperMakeSomething
    @SuperMakeSomething 5 лет назад +4

    Hi James! Great video as always. If you are thinking about going the full series elastic actuator route (since you are already starting to scratch the surface of deflection-measurement-based force control with this design), please reach out! I'd love to chat more about it with you and maybe help you in a future build.

  • @ericcmcgraw
    @ericcmcgraw 5 лет назад

    Correct for the non-linearity in software.
    1. Start recording the flex sensor and servo position
    2. Move the control slowly in both directions such that the finger moves back and forth throughout its range
    3. Load data into excel, make an x y scatter plot, and fit a trend curve to the data (2nd order or higher as needed)
    4. Copy the equation into your code. Boom, you've corrected it in software and you should be able to hold any position with consistent force.

    • @headrobotics
      @headrobotics 5 лет назад

      Good idea :) I like the concept of software making up for hardware shortcommings. Could use some Python code to dynamically fit the curve, and have auto comfiguring software.

  • @dougsam6341
    @dougsam6341 5 лет назад +1

    Please keep doing what your doing.

  • @SoWe1
    @SoWe1 5 лет назад

    6:50 the problem isn't "too little force", it's the placement of the "bearings" in your finger. With that setup the force applied by the spring is pulling the black part to the *rear* and not down

  • @sergioa.1530
    @sergioa.1530 5 лет назад +5

    Man, a dock ock set of arms would be cool. Awesome video, as usual

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

    you were the one who inspired me to make robots! im only 12 but i have made some 3d printed robots and I always watch your content. Great work!

  • @World_Theory
    @World_Theory 5 лет назад +3

    Might I suggest, that if you intend to use the general purpose gripper for picking up food, that you add a requirement to the final design that it be easy to wash with soap and water in either your sink (by hand), or a dishwashing machine.

  • @minutemark
    @minutemark 5 лет назад +1

    I expect to see these on Bender soon.

  • @ChristopherPowell7
    @ChristopherPowell7 5 лет назад +2

    Flex sensors wear out, quickly.....Still brilliant, thought. Love your work

  • @StevenIngram
    @StevenIngram 5 лет назад +16

    Interesting stuff. You went with analog tendons (the springs)... and the knuckles immediately needed cartilage (spacers).

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

      I think your analogy is incorrect

  • @Propzie
    @Propzie 5 лет назад +1

    Reminds me of the robots hands from the old lost in space movie.

  • @DerIstDerBeste
    @DerIstDerBeste 5 лет назад +8

    I think you could get acurate results with this hardware. It's just a software problem.
    You need to measure a data set (servo value and bend sensor value) for all the positions of the servos (without any force). Next you go into a data analyzing software and let it find a function that returns the corresponding servo value for each sensor value. The difference between the real servo value and calculated servo value will be the force. And the force will always be zero if the fingers don't touch anything. You can do the same data analysis for different forces and positions if you want to get precise force values (not just a good zero).

  • @avejst
    @avejst 5 лет назад +1

    Impressive achievement
    Thanks for sharing😀👍

  • @PKMartin
    @PKMartin 5 лет назад +13

    3:58 James Bruton sticks crocodile clips into the female XT60 connectors on his batteries? I'm vindicated!

  • @calvinthedestroyer
    @calvinthedestroyer 5 лет назад +1

    Can you also place a linear transducer on the springs to monitor their stretching. Kool build!

    • @jamesbruton
      @jamesbruton  5 лет назад

      I linear pot on the other end of the spring would probably do it.

  • @tiporari
    @tiporari 5 лет назад

    Just put a strain guage inline with your tension leads. Sandwich it between two cups. Like a mated pair of 3 legged tables. Legs facing each other, strain sensor in between. Pull left on the right tables legs, pull right in the left table legs, sensor gets squashed. Once your setup contacts the object, deflection ceases which means your force measurement is no good when you actually want to measure force applied after stopping.

  • @hansdietrich83
    @hansdietrich83 5 лет назад

    You should create a look up table for the for the forece graph of the servos. That's what you do in racing sims to get the best force feedback on your wheel. there is a program that takes controle over your whell and tests how much time and force it actually needs to reach any position (tested in increments). you could do the same by testing how much the servo has to move to make to get the fingers in a certain place. If you took something like 100 increments for the full finger actuation, you could the controle the fingers linearly instead of the servos

  • @TheDarksideCry
    @TheDarksideCry 5 лет назад

    Perfect timing , James. If you want some fresh and cool ideas for the design of your robot arm, you can check Devil May Cry 5 and the Nero's Devil Breaker 😉

  • @TheMadManPlace
    @TheMadManPlace 5 лет назад +2

    I saw somewhere that a high carbon foam was being used on the "finger tips" - the resistance across the foam changes as it gets compressed and that relates (I do not think that it is linear though) to the amount of force being applied.
    Then you could drive both opening and closing from the servo without the need for bungees and springs and as a safety feature monitor the servo load in case something goes wrong with the tips.
    I see this developing into a prosthetic forearm/hand for a youngster - I know there are 3d printed mechanical units being made by the 3d maker community at present but a fully electronic unit would REALLY be cool for one of those unfortunate kids.
    AND it makes all the "right" noises... ;>}

    • @lpvillazon
      @lpvillazon 5 лет назад

      The Mad Man The opensource robot at InMoov.fr uses this approach.

  • @HansMilling
    @HansMilling 5 лет назад +2

    I once bought a P5 VR glove that worked with the same kind of bend sensor. It had IR leds and a base stand that recorded the hands position and orientation, and the bend sensors was to emulate the fingers. Worked quite, especially in Black and White where everything is controlled by hand. The company went bankrupt and support ended, but I still have it. Would be cool to try to get it to run again. Perhaps you can use it in one of your projects?

  • @jdmeesey
    @jdmeesey 5 лет назад

    You should use potentiometers on the joint and mesure the change on a torsion spring.

  • @Scott_C
    @Scott_C 5 лет назад +2

    Yeah, I'm seeing a new robotics build where you make the arms from Spiderverse's "Liz" Doc Oc in the making. That would be epic. Especially if you could build some form of AI/Camera into the arms like from your Ultron build.
    I'm excited to see where this breakfast machine takes you in your skills.

  • @garytoth8152
    @garytoth8152 5 лет назад

    New music is great, and good content as always

  • @World_Theory
    @World_Theory 5 лет назад +2

    I'm a little skeptical that the flex sensors are actually measuring “force”. I think they're actually measuring a sum of the angle of the joints along a rough axis, in between the points at which the ends of the flex sensor are attached to the robot. The reason for my suspicion is that if the gripper has something in its claws, but the servos pulling the strings continue to increase tension in the strings, the flex sensors will fail to report an increase of force if the object being held is rigid enough to resist the force and keep from deforming.

    • @jamesbruton
      @jamesbruton  5 лет назад +1

      Yes of course they are. The force is the difference between the servo position and the actual finger position, i.e. how much the spring is stretching.

    • @World_Theory
      @World_Theory 5 лет назад

      James Bruton Oh wait! So you know the position of the servo? Okay. Now it all makes sense. The key being the *difference*, like you said, between those two.
      If you explained that during the video, I'm going to feel very foolish for missing it…

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

    personally I would make this by putting a linear actuator connected to the bungee thread, but it would be a lot heavier and bigger, but also it would give more force and be synced up immediately.

  • @nkronert
    @nkronert 5 лет назад

    Great work and great explanations!

  • @Frrk
    @Frrk 5 лет назад

    Well you can still record the calculated force for each pot position with the empty gripper to a list and subtract the values from what the sensor gives right now. Or approximate it with formulas if it's a bit fitting. Improving the design might be easier indeed though :)

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

    I want one of these on a shoulder mount.

  • @eVITORIOe
    @eVITORIOe 5 лет назад

    Hey ! Try compensating the exponential force to actuate the finger in regards to how much it is bent

  • @Marvintastic
    @Marvintastic 5 лет назад

    Well you've made a Spider man theme build........Do I see a potential DOC OCK Cosplay????????????? lol Awesome build James!!!!!!

  • @ben-cq3it
    @ben-cq3it 5 лет назад +13

    cool idea, better music, better format +1

    • @harrysvensson2610
      @harrysvensson2610 5 лет назад

      Music only degrades the video
      The format was superb

  • @BlogVomMax
    @BlogVomMax 5 лет назад +1

    Now, finally the next part in the big series of metal gear: 2:15

  • @rklauco
    @rklauco 5 лет назад

    Much simpler approach - let the string before the spring go through a loop on a pot, measure the pot's position - you will have the information about the real movement of the joins comparing to position of the servos ;) You just need to set the diameter to ensure you can cover the length of the line even with single-turn pot.

    • @jamesbruton
      @jamesbruton  5 лет назад

      A slide pot would probably work...

    • @rklauco
      @rklauco 5 лет назад

      @@jamesbruton Yep, but they are more expensive :) I tried to keep it simple, cheap and relatively reliable. You can also use multi-turn pot, but that would cost the same as sliding, so...

  • @Sam-dv3vt
    @Sam-dv3vt 2 года назад

    mind-blowing and easy

  • @mindblown2835
    @mindblown2835 5 лет назад

    Would love to see some soft robotics projects

  • @tracygilmore7983
    @tracygilmore7983 5 лет назад

    Adjustable spiral tension springs at each joint instead of 'elastics + drag across all' to open them would give an easy way to tune the curve of potential return strain energy. The outside of the hinge 3D print would have to be modified to have a circular cogged adjustment coin at the pivot point though. Wouldn't just measuring the potentiometer of each servo (i.e.. the length that the cord has shortened ) give you the same info as the flex sensors? If not, then hooking the back of each servo to a force sensor for the strain on the cord and adding it to the shortening distance would I think , also it would keep more stuff out of the working area.

  • @tybot6224
    @tybot6224 5 лет назад

    This is probably a useless nitpick but 5:23 in the arduino code, you are printing servoOut2 twice. I know it's a useless mistake because with should be the same value regardless. Great video. Love the concept

    • @tybot6224
      @tybot6224 5 лет назад

      I see it was fixed later on. Great video!

  • @aaronsilas7024
    @aaronsilas7024 5 лет назад

    Hey James
    Great great Video. I also really love your open dog project as I'm building a robot dog myself in the same size. You gave me quite some inspiration.
    But I really sometimes cringe at your mechanical assembly. I don't know if it's just me but things like just using an undeburred piece of round stock in in the 3d Print is kinda sketchy.
    Still love your work keep up the good vids.

  • @iiinsaiii
    @iiinsaiii 5 лет назад

    Nice job

  • @SinanAkkoyun
    @SinanAkkoyun 5 лет назад

    I think if you remove the springs and only see when the fingers do not flex anymore and then you can calculate the force in relation to the torque

  • @kaden56
    @kaden56 5 лет назад

    Yes!! I’ve been waiting for a robotic arm to come to this channel! 6 axis? Will the whole arm be force sensing?

    • @jamesbruton
      @jamesbruton  5 лет назад

      It'll probably be a SCARA arm. It'll be force sensing yes

  • @_Piers_
    @_Piers_ 5 лет назад

    @8:01 It really looks like you could make that hand walk :)

  • @reggiep75
    @reggiep75 5 лет назад

    For some strange reason, at this late night as I right this comment, I'd be inclined to use lasers and light sensors in so many ways to determine the position of the fingers, to monitor the size of the items and anything else.

  • @The_Traveling_Clown
    @The_Traveling_Clown 5 лет назад

    Nice project.

  • @StePhanMckillen
    @StePhanMckillen 5 лет назад

    Like your thinking

  • @aliffsalahudin9582
    @aliffsalahudin9582 5 лет назад

    Cool,Keep up the good work!

  • @weirdlines4465
    @weirdlines4465 5 лет назад

    You seem so productive

  • @gct685
    @gct685 5 лет назад

    Hi James, Love your videos! I've watched quite a few of them. Like the concept here, but you need to rethink your design. As currently implemented, it is not actually measuring force. Instead you have a very low resolution rotation indicator. think about it... you will see that I am right. at best you are measuring the amount to which the object is compressed i.e. crushed.

    • @jamesbruton
      @jamesbruton  5 лет назад

      I'm measuring the stretch of the spring - the difference between the motor position and the finger position. The result is the force.

  • @amihaiba
    @amihaiba 5 лет назад +1

    Nice project! I was thinking about something similar, and had the idea to hack the servos and conncect their internal pot to the arduino so you can read their actual values. You could then use a force resistance or like you mentioned measure the current to determine the force applied.

  • @SinanAkkoyun
    @SinanAkkoyun 5 лет назад

    ohh this doggy is awesome

  • @johnwelford1371
    @johnwelford1371 5 лет назад +1

    Suggestion: use current sense resistors in the motor drive to measure and control motor torque, then you can do away with a lot of the mechanical hardware.

  • @jamiepipe1635
    @jamiepipe1635 5 лет назад

    Ah I see the Goldilocks spring. not too hard and not too soft

  • @sanjaylunawat5928
    @sanjaylunawat5928 5 лет назад

    I would like to request ypu to add one more axis of rotatio after the servo part for future projects..
    Rest is flawless.....can you please suggest me some arduino cosing books so that I come to know about the brilliant functions which I can't believe to exist (like the ones used in this code). Please james sir..m🙏🙏🙏

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

    I need bungee cord like this for a different application. What is it, 1/16" nylon bungee cord?

  • @FifthConcerto
    @FifthConcerto 5 лет назад

    James, have you ever considered doing a universal gripper with a balloon, coffee grounds and a vacuum motor? Maybe not for this project (though it would work well for eggs), but for any project?

  • @AJB2K3
    @AJB2K3 5 лет назад

    This is actually very interesting and watching to see how this could be adapted to my hexbot.
    Maybe a stupid question but, would there be any point in adding contact sensors to the finger tips as well as using the bend sensors?
    BTW have you heard of Nitinol or Muscle wires?

    • @jamesbruton
      @jamesbruton  5 лет назад

      Yes you could add finger sensors so it can close until it reaching the object and then apply a certain amount of force to it.

  • @thinktank22
    @thinktank22 5 лет назад

    I assume that you can measure how much current servo draws with Arduino, then you wold know the position and how much work servo is trying to do to get there? My uneducated guess is that could be enough information to control how much force is applied to the object?

    • @jamesbruton
      @jamesbruton  5 лет назад

      Yes it might work, but I don't want to directly back-drive the servos and tear the gears apart.

  • @weirdlines4465
    @weirdlines4465 5 лет назад +10

    About how much filament do you use per month?

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

      Prob close to distance from the earth to the moon

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

      @@rpyrat I said per month not day

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

      @@weirdlines4465 oh right... My team is still trying to work out the numbers then, but our supercomputer crashes each time we try to calculate it...

  • @gistnoesis9116
    @gistnoesis9116 5 лет назад +1

    Nice, can you expand on how you use only 3 motors to control 6 DOF? Won't it make it very hard to get any precise control as you can't really know the exact position of the hand. or your gripper weaker because the max force will be limited by how much force is needed to get the extra joint out of the way?

    • @TheMadManPlace
      @TheMadManPlace 5 лет назад

      I think that the 6 dof is actually a misnomer.
      You will be able to move the 2 joints without affecting the actual force being applied at the finger tip.

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

    What is the name of the software he uses to view the CAD drawing?

  • @wilezekiel5773
    @wilezekiel5773 5 лет назад

    How difficult would it be to create a bot that tracks its limbs/hands/feet with IR instead of relying on feedback from joints?
    I imagine that practically, a robot could be much more precise about where its body parts were if it could see them, as opposed to trusting wiggly numbers from joint feedback.I reckon it would be a whole shubbang to code something like that, not to mention the AI involved. But you've done VR/virtual tracking projects before, so how much worse could it be?

  • @DestaniKitchen
    @DestaniKitchen 5 лет назад

    Hey James Bruton I know you get this question a lot and if you do sorry that you are getting it again!.
    My question is what 3D printer are you using to print all you're modeling from?
    My follow up question is I am getting into Robotics such as Robot Dog, Robot Spider, Robotic Gripper (Hand) and even Robotic hand, my question to you is what 3D printer would you recommend for someone that is starting out to help with the Robotic building within the 3D printing world!
    (If anyone else can answer I do greatly appreciate it!!))

  • @KnightsWithoutATable
    @KnightsWithoutATable 5 лет назад

    You should build a tentacle arm now. Air powered since you are messing around with pneumatics anyway.

  • @c_rem6101
    @c_rem6101 5 лет назад

    You ever bringing the exo back?

  • @pure_edan3972
    @pure_edan3972 5 лет назад +4

    A weapon to surpass metal gear servo

  • @Charlie90071
    @Charlie90071 5 лет назад

    Great Video! but you forgot to show us how it picks something up :D

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

    Instant subscribe.

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

    How do you measure force using the current on the servos? I think that you mentioned it and seems a more accurate way of measuring force.

  • @Sulphamic
    @Sulphamic 5 лет назад

    why dont you use the inmoov sensor ....the conductive foam ?

  • @fanker1111
    @fanker1111 5 лет назад

    Hi James.
    Thanks for the great videos.
    Have you thought about measuring current on servo motors? So, too, can measure force.
    Sorry for my English. :-)

    • @GeeTheBuilder
      @GeeTheBuilder 5 лет назад

      He said that in the video.

    • @jamesbruton
      @jamesbruton  5 лет назад

      Yes - but the servos don't back-drive easily.

  • @JoshuaJoshua0
    @JoshuaJoshua0 5 лет назад

    Love your videos! Are you going to play with soft robotics?

    • @JoshuaJoshua0
      @JoshuaJoshua0 5 лет назад

      Ha! I should have watched the whole video before commenting :)

  • @BigJonYT
    @BigJonYT 5 лет назад

    Or just put force sensors on the finger tips ?

  • @TheBigTimeKillah
    @TheBigTimeKillah 5 лет назад

    I just keep wondering how much power is being wasted from stalling the servos in one position. A linear servo would be nice

  • @johnnygritz2065
    @johnnygritz2065 5 лет назад

    I thought I would see some load cells on the finger tips, what are you doing?

    • @jamesbruton
      @jamesbruton  5 лет назад

      well I'm building a series elastic actuator

    • @johnnygritz2065
      @johnnygritz2065 5 лет назад

      @@jamesbruton Just kidding, keep it up.

  • @ahbushnell1
    @ahbushnell1 5 лет назад

    I wonder if you could measure the servo current to get the force.

    • @jamesbruton
      @jamesbruton  5 лет назад

      Yes, but I don't really want to back-drive the serovs/gears.

    • @ahbushnell1
      @ahbushnell1 5 лет назад

      @@jamesbruton So you would need to use a different type of motor.

  • @adriancarreno3661
    @adriancarreno3661 5 лет назад

    Why not use a worm gear to move all three of the fingers instead of servos and steel wires?

  • @LukePettit3dArtist
    @LukePettit3dArtist 5 лет назад

    James would it be worth having the return bands slack at first, and tied to the servos so when they are activated gripping the object they also spool the bands tight, tensioning the return springs, slightly behind in timing possibly.

    • @jamesbruton
      @jamesbruton  5 лет назад

      Possibly - ideally the servo would just push & pull with two sprints.

  • @leosimons2311
    @leosimons2311 5 лет назад

    you could use muscles wires but they are not as strong but simpler concept

  • @curtstacy779
    @curtstacy779 5 лет назад

    Nice!

  • @glen_nz
    @glen_nz 5 лет назад

    wonder if you could get away with using a lever or gear for the knuckles, instead of the bungie cords?

  • @brianbagnall3029
    @brianbagnall3029 5 лет назад

    It would have been nice to see it pick something up.

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

    10:42 can u please explain the code in a simple way

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

    Can you design a flying eagle bird drone with this robotic claws

  • @tiagotiagot
    @tiagotiagot 5 лет назад

    Do servos pull more current when they're being forced out of position? Is it proportional to the force being applied or just constant?

  • @EETubex
    @EETubex 5 лет назад

    Why don't you use strain gauges and a sections of a solid piece of metal instead?

  • @CaptM44
    @CaptM44 5 лет назад

    Could you make a glove with those bend s sensors to control it

  • @bzqp2
    @bzqp2 5 лет назад +1

    Amazing :)

  • @deathtower
    @deathtower 5 лет назад

    Why couldn't you use force sensitive resistors in the finger tips? Then you would know how much force was in each of the fingers and could control each finger that way?

    • @deathtower
      @deathtower 5 лет назад

      @@evanbotics but he's closing the fingertips around objects?