Robot Leg Torque Tutorial

update: well, I worked out where I have gone wrong - rather than balancing the torques across the the whole system - to get the load torque at the left hip for example, you analyse it from it’s fixed point on the body, looking left, balancing the moment ar the left tarsus or foot

So consider for this example that the fixed point is to the body, and the normal reaction at the foot is the load on the joint

So - the load torque at the left hip is ((L1 cos(theta1))+(L2 cos(theta2))) * N1 - Correct?- (meaning also that my servos are hoplessly underpowered!)

@Dillon MacEwan Each servo weighs 55g, so 18 would be 1Kg. It sounds like your mechanical frame is greatly overweight. Using an 11.1V and stepping down to 6V seems rather inefficient as well. Regarding the files, please note that unfortunately it is beyond the scope of this article to offer individual / personalized support / consultation.

@Dillon You would need to explain the calculations / equations you used. Feel free to create a new topic on the RobotShop Forum.

@Dillon For a 2.4Kg robot, the servos you are using do seem quite under-powered.

Using a switching (buck) power converter claims >90% efficiency for power conversion

The frame is lazercut aluminium and comes to around 900g

The battery is 200g, and the rest is just the controllers, cables fixings and sensors

I think it would help in the tutorial if you showed that the torque on the hip was just the N1 normal force times the horizontal distance of the foot from the hip
((L1 cos(theta1))+(L2 cos(theta2))) * N1
Likewise for the knee:
L1 cos(theta1) * N1

This greatly simplifies the calculations for working out the servos needed for a particular configuration

Sir, could you please upload a video explaining all these things, so that we can understand better ?
Please include the explanation for derivation of the equations.
How do we take the angles Theta 1,2,3 ??

@Goutam Unfortunately a video in the near future will not be possible. We do hope to work on the automatic tool this coming year. We have tried to include the basics of the equations, so if you need additional insight, we suggest learning about the concept of torque. The angles are dynamically calculated based on your walking gait and inverse kinematics (not covered in this article).

Hi! I agree that in the calculations in e.g. Tknee you are calculating the torque in the knee, but only if the knee was stiff. A motor would work against a torque from each side. The N1 part would be negative, but wouldn’t the 2*N2 part also be negative, since it is working against the torque of the motor?(assuming the motor is trying to contract the knee).

@Hozt Given that the weight of the robot is in the -z direction, only the normal force of the surface acting against the feet prevents it from falling (force balance)

Yes. I agree. The normal forces are all pointing upwards. But when calculating \Sigma T_{Knee}, the motor is trying to contract the joint (to keep it from falling down to the ground). Wouldnt all the normal forces be working against T_{knee }, hence have a negative sign, and all the parts with w1, w2, w3 etc. be working the same way as the motor, hence have a positive sign?
like this:
SUM(T_knee) = T1 - N1*(L1cos(ø1))
+W2
(L2cos(ø2)) + w3(L2cos(ø2))
+W4
(L2*(cos(ø2)) + L3) + 2W3*(L2cos(ø2) + 2L3)
+2W2
(L2cos(ø2) + 2L3)
+2W1
(2L2cos(ø2) + 2L3)
-2N2
(2L2cos(ø2) + 2L3 + L1cos(ø1)

The calculations in the tutorial is calculating the torque from the knee to a fixed point in space, which does not exist (unless you are holding on to the knee with your hand).
Am i mistaken?

@Hozt Appreciate the insight, and we are happy to take a look. If we take T1 as the positive, the weight (W1 to W4) must be downwards, while the normal force comes from the table / surface. The torque at the knee would be the sum. For simplicity, we must have the torque balance be zero (therefore zero motion, simply having the robot standing). The normal force is not acting “against the torque” but rather against the weight of the robot (W’s). If you’d like to include images, we might start a new topic on the RobotShop Forum.

I would like that. If you could send me an email (I assume you can find it from where I send these comments), so that I find the topic. The thing I have a problem in understanding is that the robot is applying a torque that would work the opposite ways on either side of the motor. Either contracting or extracting (?). If we imagine that the motor is just a joint with no motor, and the “robot” is simplified with equal links, just one link on either side, the sum(T) would be zero, but the joint would still collapse. If you could start a thread or send me an email, I could send you an illustration to help my explanation. (sorry for the bad english)

@Hozt You can create a new topic here (you’ll need to join anyway): https://www.robotshop.com/forum/hexapod-robots-f86 Call it something like “Hexapod Static Force Calculations”

sir how to calculate length of the actuator at the time of compression and expansion and how select the actuator length for two leg robot

@venugopal Unfortunately this tool does not cover the situation where a linear actuator is used (or for a two legged robot). You will need to do a force / torque diagram in order to know the lengths / stroke and force needed for each joint.

Thanks for this very easy to understand tutorial.

Hi, Just a clarification. In the equation, it is assumed both the right legs have the same weight hence you have used 2 x W3 while calculating the weight and L3 is taken as 2xL3. My question is since you have already multiplied by 2 to weight, then why again multiply 2xL3, shouldn’t it be as follows 2xW3(L3+L2 Cos theta2+L1 Cos theta1)??? Kindly clarify plz…

@ShanuNP Appreciate the feedback. It’s been a while since this was published, but the multiplication factor of 2 comes from the fact there are two W3 on the right side (with two legs lifted on the left, and one lifted on the right) which are keeping the robot standing. Very open to input, so if you suspect there is still an issue, can you create a new topic on the RobotShop Forum and link to it here? This comments section on the blog is a bit small / limited.

Sir, while calculating W4 you considered weight of 3 legs which are in air or not in contact with ground. But in the equation N1+2N2 you have considered W4 which has weight of 3 legs in it and also 6 times 3 motors, which according to you is weight of six legs due to neglecting weight of links. By that in the equation N1+2N2 it has weight of 9 legs. Can you please clarify on this sir.

@T G Vamsi Krishna Appreciate the input. The N1+2N2 equation is a force balance in the Y direction. Since only three feet are touching, the normal forces need to be equal to the total weight of the robot, including all legs. W4 includes the frame, battery, electronics and three raised legs, and W1, W2 and W3 are the weight of the actuators associated with the legs in contact with the ground (two per leg times three legs) - one in the shoulder and one in the knee. Does that make more sense?