Author Topic: Dynamic load for cylindrical robot  (Read 13662 times)

0 Members and 1 Guest are viewing this topic.

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Dynamic load for cylindrical robot
« 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).

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #1 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

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #2 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

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #3 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!

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #4 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?

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #5 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.

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #6 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
« Last Edit: April 26, 2008, 10:28:53 AM by kennykck »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #7 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.

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #8 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?
« Last Edit: April 26, 2008, 10:36:16 PM by kennykck »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #9 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

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #10 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


Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #11 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

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #12 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
« Last Edit: April 27, 2008, 08:58:59 AM by kennykck »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #13 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.

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #14 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.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #15 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

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #16 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)



Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #17 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.

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #18 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.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #19 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.

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #20 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?

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #21 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.

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #22 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?

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #23 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.

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #24 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
« Last Edit: May 03, 2008, 09:56:17 AM by kennykck »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #25 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!

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #26 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.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #27 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

Offline kennykckTopic starter

  • Jr. Member
  • **
  • Posts: 43
  • Helpful? 0
Re: Dynamic load for cylindrical robot
« Reply #28 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. ;)

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Dynamic load for cylindrical robot
« Reply #29 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.

 


data_list