PDA

View Full Version : [Question(s)] 4 DOF leg mechanics and torque requirements



Th232
02-25-2012, 05:31 AM
Hi all, recently I've been struck by the urge to make a hexapod. So far, apart from general design I've done some basic calculations to determine the torques on each of the joints when the robot is at rest. Here's a simplified cross-section of the robot.

http://i411.photobucket.com/albums/pp191/Th232/Robotics/Static.png

When the robot is at rest, joint 4 should be stressed the most, being the furthest away from the load. When the robot is in motion however, there're two cases:
* Leg is being lifted and moved forward. A less stressful case, the leg should be relatively light compared to the rest of the body since I'm not hanging a kilo off the end of it or anything.
* Leg is on the ground and moving the robot forward. Firstly, during this case joint 4 should still be under more stress than joint 3, right? Second, relative to joint 4, is there a way of getting a ballpark estimate of how much torque joints 1 and 2 will require? Going through the statics was easy enough, but hammering out moments of inertia and so on is something I'm hoping to avoid unless necessary.

A bit more on the design of this robot:

* I'm hoping to use RX-24Fs for joints 1 and 2 due to their higher speed, but if they won't have enough power then there's really no point. I'll also be using brackets with bearings (designed/milled by me) so that the radial load on the servo itself should be minimised.
* Also planning to use RX-64s for joints 3 and 4, with the possibility of bumping joint 4 up to an EX-106+ if so required.
* Power requirements will be huge (especially if I need to use EX-106+s). I've taken this into consideration and am planning for a rather large LiPo pack. And firewalls, should it decide to vent with flame. Different voltages for the -24Fs and -64/-106s has also been considered.

Any thoughts on this would be greatly appreciated.

P.S.: Admin, I wasn't sure whether this should be here or in the Humanoid/Walker/Crawler section, please move if this is the wrong section!

Gertlex
02-25-2012, 11:01 AM
The largest load in this case will be joint 3, not joint 4. I forget how to explain why...

Zenta
02-25-2012, 12:22 PM
The largest load in this case will be joint 3, not joint 4. I forget how to explain why...
That's correct. The horizontal distance from J3 to the tars/foot is larger than it is for the J4. In most cases J3 (femur servo) take the largest load.

cire
02-25-2012, 12:34 PM
Hi all, recently I've been struck by the urge to make a hexapod. So far, apart from general design I've done some basic calculations to determine the torques on each of the joints when the robot is at rest. Here's a simplified cross-section of the robot.

http://i411.photobucket.com/albums/pp191/Th232/Robotics/Static.png

When the robot is at rest, joint 4 should be stressed the most, being the furthest away from the load. When the robot is in motion however, there're two cases:
* Leg is being lifted and moved forward. A less stressful case, the leg should be relatively light compared to the rest of the body since I'm not hanging a kilo off the end of it or anything.

When the leg is being lifted and being moved forward, there is less load on the motors. Do remember that when you move the legs forward, the other legs that are still in contact with the ground see that load (double the load not including dynamics of the system if you move 3 legs at a time)

* Leg is on the ground and moving the robot forward. Firstly, during this case joint 4 should still be under more stress than joint 3, right? Second, relative to joint 4, is there a way of getting a ballpark estimate of how much torque joints 1 and 2 will require? Going through the statics was easy enough, but hammering out moments of inertia and so on is something I'm hoping to avoid unless necessary.

The torques on joints 1 and 2 will depend heavily on how your robot walks (speed and movement mainly) as well as the mass of the robot. I'm not sure the scale of your robot, but generaly these joints have much less torque on them then what joint 3 or 4 would have on them. Also Joint 3 will generally see more torque then joint 4, see my diagram at the bottom.

A bit more on the design of this robot:

* I'm hoping to use RX-24Fs for joints 1 and 2 due to their higher speed, but if they won't have enough power then there's really no point. I'll also be using brackets with bearings (designed/milled by me) so that the radial load on the servo itself should be minimised. All of the Robotis Dynamixels have bearings available for the bracket mounting if you didn't know. However I think it is cool if you make your own bearing mounts so go for it! Also, if you are calculating torques based on the specs for ANY hobby servo's "Holding torque" keep in mind this is not a "continuous holding torque". The motors are capable of holding the toruqe, but the servo will overheat over time (a few minutes depending on how close you are to the limit). I'm not sure what the exact level of torque they can handle continuously, so you would have to test that yourself. It probably is at least 1/2 of that though.
* Also planning to use RX-64s for joints 3 and 4, with the possibility of bumping joint 4 up to an EX-106+ if so required.
* Power requirements will be huge (especially if I need to use EX-106+s). I've taken this into consideration and am planning for a rather large LiPo pack. And firewalls, should it decide to vent with flame. Different voltages for the -24Fs and -64/-106s has also been considered.

Any thoughts on this would be greatly appreciated.

P.S.: Admin, I wasn't sure whether this should be here or in the Humanoid/Walker/Crawler section, please move if this is the wrong section!


This diagram might help you understand what Gertlex was talking about for joint 3 seeing more torque then 4.
http://i.imgur.com/KT0Jx.png

Th232
02-25-2012, 09:44 PM
Thanks for the feedback everyone, seems I was going the wrong way by calculating the torque using the force from the load instead of the reaction.

Out of curiosity, why is it that way? Going back to my mechanics textbook (and cantilever beams in particular), it's saying the torque should increase the further you get from the load, and not the reaction force. A quick test with my arm and a weight in my hand is saying a similar thing, when my forearm is horizontal the torque exerted at my elbow is nowhere near zero, while at my wrist it's pretty low.

I believe you guys since experience trumps theory, but I just can't see why the torque is being calculated using the reaction force and not the load.

Been 2 years since I last did mechanics, I guess it's showing...

Oh, and Cire, thanks heaps for the additional tips, I'd forgotten about the remaining legs when I'm moving some legs forward!

cire
02-25-2012, 09:59 PM
What you were thinking would be true if lets say, the 1 leg you were looking at was rigidly mounted to the ground, with no other legs supporting the robot. In a multi legged robot configuration, the legs are rigidly mounted to the body of the robot. So really, the reaction is at the body and the load is at the point where the leg touches the ground. In my diagram the load is 0 on the 2nd joint, because the leg is vertical and the moment arm is zero distance. Of course you would have some kind of load on that leg since it won't always be vertical when you walk.

I made a quad that demonstrated the (almost) vertical leg last year, here is the video:

http://www.youtube.com/watch?v=yUAh8VVHBSQ
I wouldn't recommend loading your robot up like that though, a few weeks later i stripped a few gears out of some of the motors when showing off how much it could carry..

Th232
02-25-2012, 10:02 PM
Ahh, that makes sense now. Thanks a lot for that explanation!

And that's a crazy amount of weight on that robot! Very impressive.

Gertlex
02-26-2012, 06:59 PM
I think what it is, is that you can't evaluate internal loads/torques by looking at the overall structure. You need to do sections, and then your FBD only balances the external loads for those sections. Alas, I'm too lazy to make diagrams. x)

Th232
02-26-2012, 09:35 PM
That's pretty much what I'm doing Gertlex, slicing it and determining the shear stress and moments at the point I've sliced it.

Results are coming out better than I expected, given that this whole thing weighs about 8.5 kg according to my model in Inventor. Still need to add sensors (or placeholders for them) though.

Out of curiosity, has anyone found out how much of a radial load RX-24Fs can take? Robotis didn't know when I asked, and I can save a good 200 grams per leg if I use the thrust washer kit, but I'm still leaning towards making my own brackets for better stability.

Gertlex
02-28-2012, 05:09 PM
That's some serious weight. What's the payload?

In case you wondered (I did...), 4DoF AX-12 quads tend to be about 3 kg or so. Insanity Wolf (RX-64, 3dof quad) is 5.5 kg.

cire
02-28-2012, 06:06 PM
That's pretty much what I'm doing Gertlex, slicing it and determining the shear stress and moments at the point I've sliced it.

Results are coming out better than I expected, given that this whole thing weighs about 8.5 kg according to my model in Inventor. Still need to add sensors (or placeholders for them) though.

Out of curiosity, has anyone found out how much of a radial load RX-24Fs can take? Robotis didn't know when I asked, and I can save a good 200 grams per leg if I use the thrust washer kit, but I'm still leaning towards making my own brackets for better stability.

I'm not sure how you are loading your legs/servos, but I think the servo case will fail before the kit bearing fails, so there isn't too much of a need to design in a bigger more beefy bearing for the side opposite of the servo horn.

@Gertlex, i suspect he is at 8.5kg because he has a 4dof hexapod, which is like 14 more joints then insanity wolf, so the number doesn't seem too high.

Th232
02-29-2012, 03:40 AM
I figure a few pics would help. Here's the design so far:
http://i411.photobucket.com/albums/pp191/Th232/Robotics/Hexapod.png

In that pose, it's 715 mm wide, 520 mm long and 335 mm tall.

My 8.5 kg was off, I'd forgotten to get the correct motor weights. It's now a tad over 10 kgs. All these weights are off what Inventor is telling me (i.e. excluding wiring &c.):
Skeleton: 1.48 kg. Aluminium L extrusion, 1"x1" with 1/8" wall thickness. Then covers to protect the servos.
Battery pack: 2.64 kg. 14.8 V Lipo, 20 Ah. The battery is 1.64 kg, the rest comes from an enclosure that's there in case the battery decides to... play nasty. Will contain flames and direct any gases in a direction away from any important bits.
Legs: 890 grams each. This includes brackets made by me to not present radial loads to the AX-24Fs. Load on them should be pure axial torque. I got a good source of CF rod for relatively cheap (by Australian standards), so I'll be using those for the femur and tibia "bones". Feet will contain pressure sensors fed into an AVR's ADC.
Electronics: Incomplete, but I'm budgeting ~600 grams. On-board computing done by either a BeagleBoard or a FriendlyARM of some kind, plus a separate AVR board for sensors (IMU, the aforementioned pressure sensors &c.).

Two leg options:
http://i411.photobucket.com/albums/pp191/Th232/Robotics/LegOptions.png

Left (brackets made by me) weighs 890 grams, the version on the right using the Robotis brackets weighs 635 grams. Might need a spacer between the two RX-24Fs though, if I go with this option then mounting it will make the first EX-106+ collide with the skeleton if it's rotated far enough.

My calcs say that when the robot is static, joint 3 will be under 2.19 N.m, joint 4 under 1.27 N.m. Double those for when it's moving using a tripod gait, and I'm leaning towards an EX-106+ for joint 3, maybe just stick with RX-64s for joint 4.

To do list includes:
* Lighten frame (maybe move to 0.75" x 0.75" L channel)
* Lighten battery pack. I may just dump the enclosure and go for something like a Lipo sack, especially since I have doubts about cooling the pack inside the enclosure. In any case the enclosure is overkill, 1/8" thick Al for the panels. This is an area for serious weight reduction.
* Sensor locations. IMU, rangefinder, camera.
* Work out better feet.

Yes, this will be a long-term project...

cire
02-29-2012, 08:48 PM
I see what you mean about the bearing now, I have been in the same issue before when wanting to mount servo's like that. I ended up putting a thrust washer underneath the servo horn to help distribute the bending moment on the horn onto the case. Your bearing setup would be even better then that. That being said, I wouldn't recommend using RX24's on either of those joint's now that I have seen them and know how much the robot weighs. RX24's are more for extremely quick movements, but overheat quickly if held under load for a duration. You do not need super fast servo's at those joints, because your legs are so long. You would be surprised how fast even the slowest dynamixels rotate when it comes to an extended leg/arm like that.

Also one thing to keep in mind is the voltages of the servo's, RX24's are limited to 12v, while RX-28's, 64's, and E106 can be run at higher voltages, and should be if you want to get your money's worth on performance. Of course you can run multiple voltages on one robot, but you don't get to take full advantage of daisy chaining them all together if you mix in a lower voltage servo.

Also, if you plan on buying EX106's, Tyberius is trusted (I bought all my RX servo's from him) and you won't find a better deal (http://forums.trossenrobotics.com/showthread.php?5355-14x-Gently-used-%28and-loved%29-EX-106-for-sale&p=50912#post50912).

Th232
02-29-2012, 09:20 PM
Thanks for the observation on the -24s, will be altering my plans soon. Should also simplify my power issues, I was planning on putting a couple of buck regulators in to power the -24s, but wasn't iffy about how things would go if Rx, Tx and GND were all common but power wasn't. Would've probably just required careful planning of the wiring to avoid ground loops and all, but then again I've seen such assumptions come back to bite whoever made them.

Thanks for the heads up on Tyberius' EX sale, I've already been talking to him about that.;)

DresnerRobotics
03-01-2012, 01:13 PM
Do not under any circumstance use the RX-24s on a robot of this size. I would say RX-64 is the absolute minimum.

lnxfergy
03-01-2012, 10:34 PM
Gonna have to concur -- I had a big pile of RX-24 servos that I eventually sold off because they just aren't right for added torque (on a light, fast bot, they would be great).

-Fergs

Th232
03-02-2012, 03:26 AM
Thanks for the confirmation on that guys. Revised plan is to use EX-106s on joint 1, with RX-64s on joint 2. If the -64s prove to be insufficient then I'll just swap them for more -106s. Fortunately their location and the stand-off design I've got will make that easy to do.

In that case, at least the -64s can be recycled for use in the function modules I aim to add later (you can see the mounting for the front one in my render above).