Society of Robots - Robot Forum

Mechanics and Construction => Mechanics and Construction => Topic started by: kennykck on April 22, 2008, 03:37:20 AM

Title: Dynamic load for cylindrical robot
Post by: kennykck on April 22, 2008, 03:37:20 AM
Does anybody knows how to calculate the dynamic load? (all joint moving together)

Cylindrical robot: 1 rotational motion(about z axis), 2 translational motion (x and z axis).
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 25, 2008, 09:04:33 AM
Dynamic load of which joint? Which way is the end effector moving?

Read this yet?
http://www.societyofrobots.com/robot_arm_tutorial.shtml#velocity
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on April 25, 2008, 11:03:35 AM
all 3 joints move together.

Starting from minimum x and z linear displacement, degree rotation = 0

Until maximum x and z linear displacement of 1m each, rotation turned 360 degree
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 25, 2008, 11:47:45 AM
The dynamic load can be calculated in the same way you'd calculate the dynamics of you swinging a ball tied to a string.

Go to wikipedia and look up moment of inertia and rotational inertia. You will see equations that relate mass, acceleration, distance, and torque. If you study it a bit, and mix/match the equations, you can derive an equation that defines torque (dynamic load) with respect to rotational inertia (acceleration, mass, and distance from center of rotation).

Just assume your robot arm is an assembly of point masses - you don't need perfect accuracy!
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on April 26, 2008, 04:06:50 AM
Is this the formula u r talking about? I cant find rotational inertia in wiki. is it rotational inertia same as moment of inertia?

I wanna know how does this dynamic load helps in designing a robot?
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 26, 2008, 05:25:06 AM
Yeap thats the equation.

Quote
I wanna know how does this dynamic load helps in designing a robot?
This is the torque your motor needs to be capable of so that your robot can rotate as you want. If you are worried about your robot arm bending at high acceleration, this is the torque you'd use to calculate that bending.
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on April 26, 2008, 10:27:53 AM
actually how does it different from this equation? ???

Torque = alpha * I

Originally I use that equation to calculate the torque for rotational joint only. (1 motion)

If i use my alpha*I formula to calculate torque requirement ( the arm is fully extend outwards and upwards, then rotate --- without the linear joint retreating back/move);

isn't it already the maximum torque that can ever take place for the rotational joint. If that's so, why do i still need to calculate dynamic load where all 3 joints moving at the same time (where the linear joints will retreat/move back)

I hope u understand what i'm writing :P
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 26, 2008, 01:46:08 PM
Quote
Torque = alpha * I
that equation is false, torque is distance * force

'I' is fairly difficult to calculate, so don't even bother with it unless you need ultra precision . . . 1/2*m*v^2 is the easiest.
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on April 26, 2008, 10:23:06 PM
isnt it I=mr^2

Therefore, T=mr^2 * alpha

Err why u said it's false? Since i need angular acceleration(rotation about z axis), this formula seems suitable. Also, this formula exist in many websites. I'm quite confused with ur claim :-[

If according to ur formula, T=1/2*mr^2*w^2; where is the angular acceleration? Isnt it torque exist when angular acceleration exist?
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 26, 2008, 10:33:33 PM
Quote
isnt it I=mr^2

Therefore, T=mr^2 * alpha
lol uhhhh no . . .

torque = force * distance = mass * acceleration * distance

what you are missing with 'mr^2' is the acceleration term
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on April 26, 2008, 10:38:37 PM
If according to ur formula, T=1/2*mr^2*w^2; where is the angular acceleration? Isnt it torque exist when angular acceleration exist?

huh? in my torque formula i already have the angular acceleration (alpha)

note: T=mr^2 * alpha

Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 27, 2008, 06:37:24 AM
w is angular acceleration

Quote
huh? in my torque formula i already have the angular acceleration (alpha)

note: T=mr^2 * alpha
even if alpha was w, this equation would still be wrong . . . odd how you post the correct equation in the very beggining, but get stuck on this now :P
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on April 27, 2008, 08:57:49 AM
alpha is not w. alpha is angular acceleration; w is angular velocity

If i'm not mistaken, v=r*w; a=r*alpha

Below statement is from wiki:-

When the moment of inertia is constant, one can also relate the torque on an object and its angular acceleration in a similar equation:

    τ = I*α

where τ is the torque and α is the angular acceleration.


The thing is i just don't really understand why u said Torque = alpha * I is wrong? why cant i do with this formula instead of T=1/2*mr^2*w^2 u asked me to use?

Now i'm completely confused... :P
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 27, 2008, 09:10:39 AM
ok I believe the confusion is resulting in the misunderstanding of terms.

What I mean is, what you defined as alpha is not what I defined as alpha. Alpha is a greek variable, so its almost always a predefined constant, not a changing variable. Just like rho is a fixed density, or c is the speed of light, usually. Acceleration is usually just 'a', not alpha. This is a common problem in science, where people just assume what a variable means and forget to define variables.

Lets start over . . . in that equation you first posted in the image:
m=mass
r=radius, or distance to center of point mass
I=moment of inertia
w=angular acceleration
v=angular velocity


So your equation:
torque = alpha * I
using your terms would be
torque = w * I
is still incorrect.

To be correct, you should do this:
torque = 1/2*I*alpha^2, or 1/2*I*w^2

But as I said before, 'I' is really difficult to calculate for this robot arm. I suggest you use any of the other equations that do not have the 'I' term.
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on April 27, 2008, 09:18:44 PM
If according to ur term where w is angular acceleration,

Starting from here:
T=1/2*m*v^2

and derived into this,
T=1/2*I*w^2

This w cannot be angular acceleration because the way it is derived from, it's representing angular velocity
(not based on the term we usually used, but based on derivation understanding)


T=1/2*m*v^2

Where v=r*w

T=1/2*m*r^2*w^2

T=1/2*I*w^2

Well, I hope u understand now, even if w is represented with other variable such as beta, the beta still represents the value of angular velocity not angular acceleration based on the derivation method.
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 28, 2008, 06:55:38 PM
From now on, you aren't allowed to use letters for variables unless you define the variables first  :P
(Its typically considered bad practice to write an equation and assume others know how you defined a variable)

Anyway, I looked up the variables you were posting:
http://en.wikipedia.org/wiki/Angular_acceleration
http://en.wikipedia.org/wiki/Rotational_inertia

alpha is being used as angular acceleration
omega (not w!) for angular velocity
v for velocity

And so using these variables, yeap you are right, torque=I*alpha

I always use omega for angular acceleration, so when you said alpha, I was like wtf is alpha? :P
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on April 29, 2008, 07:23:37 AM
Finally, we had cleared some confusions. Part of my bad too. :P

; m=mass
; w=angular acceleration
; alpha=angular acceleration
; r=distance from center of mass point to the rotational z-axis

         
torque=mr^2 * alpha     (originate from torque=I*alpha)   
                                     

So u said this formula is right, or still wrong to used for my case to calculate the torque required to rotate my robot arm? (after clearing the issue that alpha represents angular acceleration)


Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 29, 2008, 07:29:31 AM
Yeap, that will work.

Don't forget the Riemann sum - your robot arm has several point masses, so use that equation for each, then just add them up.
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on April 29, 2008, 10:14:40 AM
Does that mean this formula torque=mr^2 * alpha  is the dynamic load that i'm looking for in the very first place?

If it's that so, it only calculate the torque for the single joint(rotation about z-axis). How do I combine it with remaining 2 joint? (linear displacement in x and z axis). Note that i want to find the dynamic load of the robot arm when all joints are moving together.
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on April 29, 2008, 10:34:21 AM
the general equation:

total_torque about joint 0 = static and dynamic torque from link 1 + static and dynamic torque from joint 1 + static and dynamic torque from link 2 + static and dynamic torque from joint 2 + . . .

so basically you use the mr^2 * alpha equation for each point mass individually, then at the end you sum them all up . . .

In my robot arm tutorial, you will see how I divided up each part of the arm for calculation.
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on May 02, 2008, 03:52:59 AM
Hmm... but my other two joints are linear type motion (driven by motor and belt) Note: Cylindrical robot.

For horizontal motion, I use T=m*radius*acceleration

For vertical motion upwards, I use T=m*radius*(acceleration+gravity)

For rotational about z axis, I use T=m*radius^2*angular acceleration

Does that mean my total dynamic load is the sum of all the torque above?

so basically you use the mr^2 * alpha equation for each point mass individually, then at the end you sum them all up . . .

If I reduced the point of mass for each component of the robot into a single point of mass and then I use the formula T=m*r^2 * angular acceleration, is it correct?
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on May 02, 2008, 04:51:27 AM
Quote
Does that mean my total dynamic load is the sum of all the torque above?
nope - its just like in my tutorial and as I said above . . .

Quote
If I reduced the point of mass for each component of the robot into a single point of mass and then I use the formula T=m*r^2 * angular acceleration, is it correct?
yes . . . but in order to calculate the r for the single point of mass, you still need to do the expanded equation. For your particular arm, you only have three point masses - the arm linkage, the end effector, and the object the arm carries.
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on May 02, 2008, 09:15:41 AM
if I reduce it to 2 point mass (considering that end effector as part of the robot) is it possible?
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on May 02, 2008, 10:22:06 AM
It has a lot to do with how accurate you want your calculation to be. The more simplifications you make, the less accurate the solution will be.

In my experience, the end effector is heavy and should be considered as an individual point mass.
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on May 03, 2008, 09:51:18 AM
Please check whether my understanding is correct for the total dynamic load.

From the joint arm picture,

T1=torque for joint 1 due to acceleration clockwise
T2=torque for joint 2 due to acceleration clockwise
T4=torque for joint 1 due to the static load (T=F*r)
T3=torque for joint 2 due to static load


Note: I think the T3 and T4 should be pointing upwards is it? Mistake in the drawing for the static load direction :P

Therefore, total dynamic load for both joints going clockwise direction is T1+T2+T3+T4

Now for my cylindrical robot.
Since the rotational joint (about z axis), the dynamic torque is on the xy plane. The static load is acting on the perpendicular direction to the dynamic rotation torque (about z axis), therefore, there is no influence onto the dynamic torque value.

The total dynamic torque for the rotation about z axis (first joint) remains T=m*r^2*angular acceleration

Assuming the linear rail guides(ball bearing slides) are rigid and does not undergo deflection, the dynamic torque for horizontal and vertical motion remain as:

For horizontal motion,  T=m*radius*acceleration

For vertical motion upwards, T=m*radius*(acceleration+gravity)

Err... am I correct for the dynamic load? Since all the joints are moving in perpendicular direction to each other, there is actually no influence onto the dynamic load of each joint when all joints move together
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on May 03, 2008, 11:08:39 AM
Hmmm I'm looking at your two pics, but still confused exactly where your actuators are and how they rotate. Those two pics don't even seem to go together . . .

Can you redo your FBD using the standard notation?
http://www.societyofrobots.com/robot_arm_tutorial.shtml#DOF

If you take the time to draw forces and lengths as described here:
http://www.societyofrobots.com/robot_arm_tutorial.shtml#joint_force

it should answer your own questions (or at least help me help you better).

If I were to design my own robot arm, this is what I'd do - you can't skip these steps!
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on May 03, 2008, 08:16:12 PM
Actually those two picture are robots from different category. From previous post, Top one is the joint arm robot from your tutorial. I would like to know whether my understanding of ur tutorial is correct or not. Lower one is the cylindrical robot which I'm currently doing, in which I need to do the dynamic load.

This picture is the DOF of my cylindrical robot.
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on May 03, 2008, 08:30:37 PM
On that arm, you have three point masses you should account for when it rotates about the base joint.

A: horizontal beam weight
B: end effector weight
C: object it carries weight

using this equation:
T=angular_acceleration*mass*radius^2, or T=amr^2

bring it out for total rotational dynamic torque:
Ttotal=aA*mA*rA^2 + aB*mB*rB^2 + aC*mC*rC^2

Where aA, aB, and aC are angular accelerations on the same line and have the same point of rotation.

and for vertical motion dynamic force:
Force=mass*acceleration
Force=(mA+mB+mC)*a

to figure torque for that you'd have to consider actuator gearing ratios
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on May 04, 2008, 04:36:30 AM
So the total dynamic load for rotational joint(cylindrical robot) when all joints move together remains equal to

Ttotal=aA*mA*rA^2 + aB*mB*rB^2 + aC*mC*rC^2

due to the perpendicular of static force to the torque for rotational joint, is it?

If yes then thanks. ;)
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on May 04, 2008, 06:57:03 AM
ummmmm I didn't understand your question . . .

Each joint experiences a different load, so you'd have to do a different calculation for each joint motor . . .

The one in your last post is just for the rotational base servo when it rotates the arm.
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on May 04, 2008, 08:28:11 AM
total_torque about joint 0 = static and dynamic torque from link 1 + static and dynamic torque from joint 1 + static and dynamic torque from link 2 + static and dynamic torque from joint 2 + . . .

so basically you use the mr^2 * alpha equation for each point mass individually, then at the end you sum them all up . . .
In my robot arm tutorial, you will see how I divided up each part of the arm for calculation.


Hmm... refering to equation above, the mr^2 * alpha equation u ask me to use, is it representing the dynamic torque only or  static and dynamic torque for each link/joint?


U mentioned this formula Ttotal=aA*mA*rA^2 + aB*mB*rB^2 + aC*mC*rC^2 for my rotational joint. In the case of cylindrical robot, the vertical and horizontal motion, do they have any influence onto this Ttotal for rotational joint? Meaning do they increase the value of Ttotal if they move too at the same time?


The picture shows the way motor attached to the robot to drive the belt/pulley. I thought since the motor(vertical joint) rotates in perpendicular direction to the motor(rotational joint), the effect does not stack up and therefore does not increase the Ttotal of the rotational joint.


Note: I'm searching for the maximum torque requirement for each joint. So i want to know whether movement of other two linear joints will in any case increase the torque requirement for rotational joint.
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on May 04, 2008, 09:36:28 AM
We are going in circles here :P

Tell you what, go ahead and do the calculation, telling me what formulas you used, and I will tell you if its correct.

At some point you just need to think and do it . . . I already gave you all the answers ;)
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on May 04, 2008, 10:27:22 AM
ok this is the way of how i find my maximum torque requirement for each joint (motor):


For horizontal arm, I use T=m[horizontal arm+load]*r[pulley]*a        ;   from the formula T=F*r and F=m*a

For vertical arm moving upwards, I use T=m[horizontal arm+load]*r[pulley]*(a+g)     ; added gravity acceleration

For rotational about z axis, I use T=m[whole robot]*r[distance from point of mass]^2*angular acceleration


So i calculated the dynamic load for each joint separately. My supervisor asked me to calculate the dynamic torque when all joints move at the same time, primarily due to that when all joints moving together, the load is higher than the value i had calculated through separate calculation.

So is my original calculation correct?  ???
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on May 04, 2008, 11:15:31 AM
Again, you need to draw a proper FBD. You need to label torques, forces, axes, and distances on your drawing. My robot arm tutorial gives examples.

(sorry for being rough on you, but an FBD is the very first thing I do before writing down a single equation, it makes it much easier just trust me here . . .)

Anyway, looking at your equations, the horizontal arm motor should be:
T=m[load]*r[pulley]*a

And about the z axis, as I said again and again, you have to consider it as separate point masses ;)

The upwards equation looks right.

Looking at this, you should also consider efficiency and friction effects. You can't calculate either one, only determine it after its all built. For dynamic torque, you should add about ~20% more required torque to account for these factors.
Title: Re: Dynamic load for cylindrical robot
Post by: kennykck on May 05, 2008, 03:29:03 AM
so it seems that my dynamic load for horizontal, vertical, and rotation motion is alright (Well, after including friction and points of mass into those equation) :)

The main problem that i faced here is if the robot arm moves upwards, extend outwards, and rotates all at the same time; the dynamic load is still calculated separately for each joint like what i did, is it?
Title: Re: Dynamic load for cylindrical robot
Post by: Admin on May 17, 2008, 04:10:14 PM
Well, calculating all that gets really complicated. Just calculate for worst case (the arm fully extended), and it will work.