Difference between revisions of "Dynamic Models"

From SoftMC-Wiki
Jump to: navigation, search
(Dynamic Model 2 - Gravity: add explanation)
 
(46 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This page gives an overview over all implemented dynamic models.
+
This page gives an overview over all implemented dynamic models.  
 +
 
  
 
'''General considerations'''
 
'''General considerations'''
* Friction is handled on axis basis. The parameters for friction are set for each axis separately.
+
 
* Torque (Force) is always expressed in '''[Nm]''' ([N])<br>
+
*Friction is handled on axis basis. The parameters for friction, [[MC-Basic:axis.COULOMBFRICTION|COULOMBFRICTION]] and [[MC-Basic:axis.VISCOUSFRICTION|VISCOUSFRICTION]], are set for each axis separately.  
 +
*Torque (Force) is always expressed in '''[Nm]''' ([N])  
 +
*The dynamic model number is the value of [[MC-Basic:element.DYNAMICMODEL|<element>.DYNAMICMODEL]]
 +
*The property numbers are the indexes of [[MC-Basic:element.DYNAMICPARAMETER|<element>.DYNAMICPARAMETER[<number>]]]
 +
 
 +
&nbsp;
  
 
== Rotational Axes ==
 
== Rotational Axes ==
  
 
=== Dynamic Model 1 - simple rotary axis ===
 
=== Dynamic Model 1 - simple rotary axis ===
{|border="1" width="80%"
+
 
!width="100"|Number
+
{| border="1" width="80%"
!width="250"|Parameter
 
!Comments
 
 
|-
 
|-
|1
+
! width="100" | Number
|<math>I</math>
+
! width="250" | Parameter
|Total moment of inertia around the rotation axis of the moved part
+
! Comments
 +
|-
 +
| 1
 +
| <math>I</math>
 +
| Total moment of inertia around the rotation axis of the moved part
 
|}
 
|}
;Model equation
 
: <math>T = (I + I_{payload}) \cdot acc</math>
 
  
<br style="clear: both" />
+
;Model equation
 +
:<math>T = (I + I_{payload}) \cdot acc</math>  
 +
 
 +
&nbsp;
 +
 
 
=== Dynamic Model 2 - horizontal crank-arm axis ===
 
=== Dynamic Model 2 - horizontal crank-arm axis ===
[[File:Axystems;Motion Dynamics - Horizontal Crank-Arm Axis.png|Horizontal crank-arm axis|thumb]]
+
 
{|border="1" width="80%"
+
[[File:Axystems;Motion Dynamics - Horizontal Crank-Arm Axis.png|thumb|Horizontal crank-arm axis]]
!width="100"|Number
+
 
!width="250"|Parameter
+
{| border="1" width="80%"
!Comments
+
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 
|-
 
|-
|1
+
| 1
|<math>I</math>
+
| <math>I</math>
|Total moment of inertia around the rotation axis of the moved part
+
| Total moment of inertia around the rotation axis of the moved part
 
|-
 
|-
|2
+
| 2
|<math>L^2</math>
+
| <math>L^2</math>
|Square of length of crank arm (axis to payload)
+
| Square of length of crank arm (axis to payload)
 
|}
 
|}
;Model equation
 
: <math>T = (I + I_{payload} + L^2 \cdot M_{payload}) \cdot acc</math>
 
  
<br style="clear: both" />
+
;Model equation
 +
:<math>T = (I + I_{payload} + L^2 \cdot M_{payload}) \cdot acc</math>  
 +
 
 +
&nbsp;
 +
 
 
=== Dynamic Model 3 - vertical crank-arm axis ===
 
=== Dynamic Model 3 - vertical crank-arm axis ===
[[File:Axystems;Motion Dynamics - Vertical Crank-Arm Axis.png|Vertical crank-arm axis|thumb]]
+
 
{|border="1" width="80%"
+
[[File:Axystems;Motion Dynamics - Vertical Crank-Arm Axis.png|thumb|Vertical crank-arm axis]]
!width="100"|Number
+
 
!width="250"|Parameter
+
{| border="1" width="80%"
!Comments
+
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 
|-
 
|-
|1
+
| 1
|<math>I</math>
+
| <math>I</math>
|Total moment of inertia around the rotation axis of the moved part
+
| Total moment of inertia around the rotation axis of the moved part
 
|-
 
|-
|2
+
| 2
|<math>L^2</math>
+
| <math>L^2</math>
|Square of length of crank arm (axis to payload)
+
| Square of length of crank arm (axis to payload)
 
|-
 
|-
|3
+
| 3
|<math>M \cdot g \cdot A</math>
+
| <math>M \cdot g \cdot A</math>
|Mass (without payload) * Gravity * Distance to center of mass
+
| Mass (without payload) * Gravity * Distance to center of mass
 
|-
 
|-
|4
+
| 4
|<math>g \cdot L</math>
+
| <math>g \cdot L</math>
|Gravity * Distance to Payload
+
| Gravity * Distance to Payload
 
|}
 
|}
;Model equation
+
 
: <math>T = (I + I_{payload} + L^2 \cdot M_{payload}) \cdot acc - (M \cdot g \cdot A + M_{payload} \cdot g \cdot L) \cdot \sin(pos)</math>
+
;Model equation  
 +
:<math>T = (I + I_{payload} + L^2 \cdot M_{payload}) \cdot acc - (M \cdot g \cdot A + M_{payload} \cdot g \cdot L) \cdot \sin(pos)</math>  
  
 
== Linear Axes ==
 
== Linear Axes ==
  
 
=== Dynamic Model 1 - horizontal axis ===
 
=== Dynamic Model 1 - horizontal axis ===
[[File:Axystems;Motion Dynamics - Horizontal Axis.png|Horizontal linear axis|thumb]]
+
 
{|border="1" width="80%"
+
[[File:Axystems;Motion Dynamics - Horizontal Axis.png|thumb|Horizontal linear axis]]
!width="100"|Number
+
 
!width="250"|Parameter
+
{| border="1" width="80%"
!Comments
 
 
|-
 
|-
|1
+
! width="100" | Number
|<math>M</math>
+
! width="250" | Parameter
|Total mass of the moved part.
+
! Comments
 +
|-
 +
| 1
 +
| <math>M</math>
 +
| Total mass of the moved part.
 
|}
 
|}
;Model equation
 
: <math>T = (M + M_{payload}) \cdot acc</math>
 
  
<br style="clear: both" />
+
;Model equation
 +
:<math>T = (M + M_{payload}) \cdot acc</math>  
 +
 
 +
&nbsp;
 +
 
 
=== Dynamic Model 2 - vertical or tilted axis ===
 
=== Dynamic Model 2 - vertical or tilted axis ===
[[File:Axystems;Motion Dynamics - Vertical Axis.png|Vertical linear axis|thumb]]
+
 
{|border="1" width="80%"
+
[[File:Axystems;Motion Dynamics - Vertical Axis.png|thumb|Vertical linear axis]]
!width="100"|Number
+
 
!width="250"|Parameter
+
{| border="1" width="80%"
!Comments
+
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 
|-
 
|-
|1
+
| 1
|<math>M</math>
+
| <math>M</math>
|Total mass of the moved part.
+
| Total mass of the moved part.
 
|-
 
|-
|2
+
| 2
|<math>M \cdot g \cdot \cos(\alpha)</math>
+
| <math>M \cdot g \cdot \cos(\alpha)</math>
|Constant force due to gravity.
+
| Constant force due to gravity.
 
|-
 
|-
|3
+
| 3
|<math>g \cdot \cos(\alpha)</math>
+
| <math>g \cdot \cos(\alpha)</math>
|Gravity coefficient used to consider payload mass. ('''g = 9.80665''')
+
| Gravity coefficient used to consider payload mass. ('''g = 9.80665''')
 
|}
 
|}
;Model equation
 
: <math>T = (M + M_{payload}) \cdot acc + M \cdot g \cdot \cos(\alpha) + M_{payload} \cdot g \cdot \cos(\alpha)</math>
 
  
<br style="clear: both" />
+
;Model equation
 +
:<math>T = (M + M_{payload}) \cdot acc + M \cdot g \cdot \cos(\alpha) + M_{payload} \cdot g \cdot \cos(\alpha)</math>  
 +
 
 +
&nbsp;
 +
 
 
=== Dynamic Model 3 - vertical axis with a spring ===
 
=== Dynamic Model 3 - vertical axis with a spring ===
[[File:Axystems;Motion_Dynamics_-_Vertical_Axis_with_spring.png|Vertical linear axis with a spring|thumb]]
+
 
{|border="1" width="80%"
+
[[File:Axystems;Motion Dynamics - Vertical Axis with spring.png|thumb|Vertical linear axis with a spring]]
!width="100"|Number
+
 
!width="250"|Parameter
+
{| border="1" width="80%"
!Comments
 
 
|-
 
|-
|1
+
! width="100" | Number
|<math>M</math>
+
! width="250" | Parameter
|Total mass of the moved part.  [kg]
+
! Comments
 
|-
 
|-
|2
+
| 1
|<math>K</math>
+
| <math>M</math>
|The stiffness constant of the spring. [kg/s^2]
+
| Total mass of the moved part. [kg]
 
|-
 
|-
|3
+
| 2
|<math>K \cdot X_{0}</math>
+
| <math>K</math>
|The stiffness constant times the relaxation position of the spring. [kg*m/s^2]
+
| The stiffness constant of the spring. [kg/s^2]
 +
|-
 +
| 3
 +
| <math>K \cdot X_{0}</math>
 +
| The stiffness constant times the relaxation position of the spring. [kg*m/s^2]
 
|}
 
|}
;Model equation
+
 
: <math>T = (M + M_{payload}) \cdot (acc + g) + K\cdot (X-X_{0})</math>
+
;Model equation  
 +
:<math>T = (M + M_{payload}) \cdot (acc + g) + K\cdot (X-X_{0})</math>  
  
 
== Traverse Arm Robots ==
 
== Traverse Arm Robots ==
  
 
=== Dynamic Model 1 ===
 
=== Dynamic Model 1 ===
[[File:Inverse dynamic model for Traverse Arm kinematics - Definitions.png|Traverse Arm robot|thumb]]
 
  
{|border="1" width="80%"
+
[[File:Inverse dynamic model for Traverse Arm kinematics - Definitions.png|thumb|Traverse Arm robot]]
!width="100"|Number
+
 
!width="250"|Parameter
+
{| border="1" width="80%"
!Comments
+
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 
|-
 
|-
|1
+
| 1
|<math>M_1 + M_2</math>
+
| <math>M_1 + M_2</math>
 
|-
 
|-
|2
+
| 2
|<math>A_2 \cdot M_2</math>
+
| <math>A_2 \cdot M_2</math>
 
|-
 
|-
|3
+
| 3
|<math>A_2^2 \cdot M_2 + I_2</math>
+
| <math>A_2^2 \cdot M_2 + I_2</math>
 
|-
 
|-
|4
+
| 4
|<math>M_3</math>
+
| <math>M_3</math>
 
|-
 
|-
|5
+
| 5
|<math>g \cdot M_3</math>
+
| <math>g \cdot M_3</math>
 
|-
 
|-
|6
+
| 6
|<math>I_4</math>
+
| <math>I_4</math>
 
|-
 
|-
|7
+
| 7
|<math>J_4</math>
+
| <math>J_4</math>
 
|}
 
|}
  
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
  
 
== Scara Robots ==
 
== Scara Robots ==
 +
 +
[[File:scara with definitions.png|thumb|right|upright|scara robot]] [[File:moment of inertia.png|thumb|right|upright|Robot link moment of inertia is relative to it's center of mass]] [[File:reflected moment of inertia.png|thumb|right|upright|Rotor moment of inertia is reflected to gearbox output shaft]]
 +
 +
The dynamic equations of the robot are expressed at the outputs of the gearboxes attached to the actuation motors. Therefore, the torques, joint positions, velocities, and accelerations are those of the gearbox output shafts.
 +
 +
In the following models, the variable <math>M_i</math> for <math>i=1,...,3</math> is the mass of link <math>i</math>. Link <math>3</math> is a ball screw. The variable <math>p</math> is the lead of the ball screw, i.e. the linear distance traveled for each complete turn of the screw. The internal units of <math>p</math> are [mm/deg], while its user units are [m/rad].
 +
 +
The variables <math>L_1</math> and <math>L_2</math> are the lengths of links <math>1</math> and <math>2</math>. The variables <math>A_1</math> and <math>A_2</math> are respectively the distances of the exes of joints <math>1</math> and <math>2</math> to the centers of mass of links <math>1</math> and <math>2</math>.
 +
 +
The variable <math>I_i</math> for <math>i=1,...,3</math> is the moment of inertia of link <math>i</math>, relative to a reference frame attached to the link's center of mass, and about the link's axis of rotation.
 +
 +
Additionally, <math>J_i</math> for <math>i=1,...,4</math> is the moment of inertia of rotor <math>i</math>, reflected to the gearbox output shaft as follows. Let <math>I_{rotor,i}</math> be the moment of inertia of rotor <math>i</math> relative to a reference frame attached to the rotor's center of mass, about the rotor's axis of rotation. Let <math>GR_i</math> be the gear ratio of the gearbox or pulley system, then <math>J_i=I_{rotor,i} GR_i^2</math>.
 +
 +
The variables <math>M_0</math> and <math>I_0</math> are respectively the payload mass and payload moment of inertia relative to its center of mass. If no object or gripper is attached to the robot, the value of these variables is zero.
 +
 +
&nbsp;
  
 
=== Dynamic Model 1 ===
 
=== Dynamic Model 1 ===
[[File:scara.PNG|scara robot|thumb]]
 
  
{|border="1" width="80%"
+
For non-coupled SCARA robots (axis 3 and 4 are not coupled) and for concentric payloads (concentric with axis 4).
!width="100"|Number
+
 
!width="250"|Parameter
+
{| border="1" width="80%"
!Comments
+
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 
|-
 
|-
|1
+
| 1
|<math>L_1^2 \cdot M_2 + I_1</math>
+
| <math>A_1^2 M_1+L_1^2 (M_2+M_3+M_0) + I_1 + J_1</math>
 +
| kg*m<sup>2</sup>
 
|-
 
|-
|2
+
| 2
|<math>A_2^2 \cdot M_2 + I_2</math>
+
| <math>A_2^2 M_2 +L_2^2 (M_3+M_0)+ I_2</math>
 +
| kg*m<sup>2</sup>
 
|-
 
|-
|3
+
| 3
|<math>J_2</math>
+
| <math>J_2</math>
 +
| kg*m<sup>2</sup>
 
|-
 
|-
|4
+
| 4
|<math>L_1 \cdot A_2 \cdot M_2</math>
+
| <math>L_1 A_2 M_2 + L_1 L_2(M_3+M_0)</math>
 +
| kg*m<sup>2</sup>
 
|-
 
|-
|5
+
| 5
|<math>M_3</math>
+
| <math>M_3+M_0+J_3</math>
 +
| kg
 
|-
 
|-
|6
+
| 6
|<math>g \cdot M_3</math>
+
| <math>g (M_3+M_0)</math>
 +
| kg*m/sec<sup>2</sup>
 
|-
 
|-
|7
+
| 7
|<math>I_4</math>
+
| <math>I_3+I_0</math>
 +
| kg*m<sup>2</sup>
 
|-
 
|-
|8
+
| 8
|<math>J_4</math>
+
| <math>J_4</math>
 +
| kg*m<sup>2</sup>
 
|}
 
|}
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
=== Dynamic Model 2 ===
 +
 +
For coupled SCARA robots (axis 3 and 4 are coupled) and for concentric payloads (concentric with axis 4).
 +
 +
{| border="1" width="80%"
 +
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 +
|-
 +
| 9
 +
| <math>A_1^2 M_1+L_1^2 (M_2+M_3+M_0) + I_1 + J_1</math>
 +
| kg*m<sup>2</sup>
 +
|-
 +
| 10
 +
| <math>A_2^2 M_2 +L_2^2 (M_3+M_0)+ I_2</math>
 +
| kg*m<sup>2</sup>
 +
|-
 +
| 11
 +
| <math>L_1 A_2 M_2 + L_1 L_2(M_3+M_0)</math>
 +
| kg*m<sup>2</sup>
 +
|-
 +
| 12
 +
| <math>M_3+M_0</math>
 +
| kg
 +
|-
 +
| 13
 +
| <math>I_3+I_0</math>
 +
| kg*m<sup>2</sup>
 +
|-
 +
| 14
 +
| <math>J_2</math>
 +
| kg*m<sup>2</sup>
 +
|-
 +
| 15
 +
| <math>J_3</math>
 +
| kg
 +
|-
 +
| 16
 +
| <math>(M_3+M_0)p^2 + J_4</math>
 +
| kg*m<sup>2</sup>
 +
|}
 +
 +
&nbsp;
 +
 +
The payload parameters for Dynamic Model 1 and Dynamic Model 2 are:
 +
 +
{| border="1" width="80%"
 +
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 +
|-
 +
| 1
 +
| payloadMass
 +
| <math>M_0 </math>, the mass of the payload
 +
|-
 +
| 2
 +
| payloadInertia
 +
| <math>I_0 </math>, the payload's moment of inertia relative to its center of mass
 +
|}
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
=== Dynamic Model 3 ===
 +
 +
For coupled SCARA robots (axis 3 and 4 are coupled) and for non-concentric payloads (the payload center of mass is not located along axis 4, and is located on the x-axis of the tool flange, which is defined by the zero position of axis 4).<br/> The dynamic parameters are the same as model 2, except for parameter No. 13.
 +
 +
The payload parameters are:
 +
 +
{| border="1" width="80%"
 +
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 +
|-
 +
| 1
 +
| payloadMass
 +
| <math>M_0</math>, the mass of the payload
 +
|-
 +
| 2
 +
| payloadInertia
 +
| <math>I_0</math>, the payload's moment of inertia relative to its center of mass
 +
|-
 +
| 3
 +
| payloadLx
 +
| the distance <math>L_{0x}</math> [m] to the center of mass from the 4th axis in the x direction
 +
|-
 +
| 13
 +
| <math>I_3+I_0+M_0 L_{0x}^2</math>
 +
| [kg*m<sup>2</sup>], includes the additional term <math>M_0 L_{0x}^2</math> in accordance with the parallel axis theorem
 +
|}
 +
 +
When using identification with this model, all of the payload parameters can be found.
 +
 +
&nbsp;
 +
 +
=== Dynamic Model 4 ===
 +
 +
Same as Dynamic Model 3.<br/> This model is used in identification process in order to identify the '''payloadMass''' parameter only, by moving only joint&nbsp;number 3.
 +
 +
&nbsp;
 +
 +
=== Dynamic Model 5 ===
 +
 +
Same as Dynamic Model 3.<br/> This model is used in identification process in order to identify the '''payloadInertia''' and '''payloadLx''' parameters, by moving only joint number 4 and very small movements in joints 1 and 2.
  
 
== Delta Robots ==
 
== Delta Robots ==
  
 
=== Dynamic Model 1 ===
 
=== Dynamic Model 1 ===
[[File:Control;Rod forces model for Delta kinematics - Introduction.png|Delta robot|thumb]]
 
  
{|border="1" width="80%"
+
[[File:Control;Rod forces model for Delta kinematics - Introduction.png|thumb|Delta robot]]
!width="100"|Number
+
 
!width="250"|Parameter
+
{| border="1" width="80%"
!Comments
+
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 
|-
 
|-
|1
+
| 1
|<math>\Theta_{AB}</math>
+
| <math>\Theta_{AB}</math>
|kg*m<sup>2</sup>
+
| kg*m<sup>2</sup>
 
|-
 
|-
|2
+
| 2
|<math>g \cdot L_{AB} \cdot M_{AB}</math>
+
| <math>g \cdot L_{AB} \cdot M_{AB}</math>
 
| kg*m<sup>2</sup>/sec<sup>2</sup>
 
| kg*m<sup>2</sup>/sec<sup>2</sup>
 
|-
 
|-
|3
+
| 3
|<math>M_{BC}</math>
+
| <math>M_{BC}</math>
|kg
+
| kg
 
|-
 
|-
|4
+
| 4
|<math>\Theta_{BC}</math>
+
| <math>\Theta_{BC}</math>
|kg*m<sup>2</sup>
+
| kg*m<sup>2</sup>
 
|-
 
|-
|5
+
| 5
|<math>M_P</math>
+
| <math>M_P</math>
|kg
+
| kg
 
|-
 
|-
|6
+
| 6
|<math>M_T</math>
+
| <math>M_T</math>
|kg
+
| kg
 
|-
 
|-
|7
+
| 7
|<math>\Theta_T</math>
+
| <math>\Theta_T</math>
|kg*m<sup>2</sup>
+
| kg*m<sup>2</sup>
 
|-
 
|-
|8
+
| 8
|<math>\Theta_{T\phi}</math>
+
| <math>\Theta_{T\phi}</math>
|kg*m<sup>2</sup>
+
| kg*m<sup>2</sup>
 
|-
 
|-
|9
+
| 9
|<math>L_{TO}</math>
+
| <math>L_{TO}</math>
 
| m
 
| m
 
|-
 
|-
|10
+
| 10
|<math>L_{TP}</math>
+
| <math>L_{TP}</math>
 
| m
 
| m
 
|-
 
|-
|11
+
| 11
|<math>D</math>
+
| <math>D</math>
 
|-
 
|-
|12
+
| 12
|<math>C_r</math>
+
| <math>C_r</math>
 
|-
 
|-
|13
+
| 13
|<math>Fr_{max}</math>
+
| <math>Fr_{max}</math>
 
|-
 
|-
|14
+
| 14
|<math>R_{ext}</math>
+
| <math>R_{ext}</math>
 
|}
 
|}
  
 +
&nbsp;
  
 +
== Puma Robots ==
  
== Puma Robots ==
 
 
=== Dynamic Model 1 ===
 
=== Dynamic Model 1 ===
[[File:puma.PNG|Puma robot|thumb]]
+
 
 +
[[File:puma.PNG|thumb|Puma robot]]
  
 
Description:
 
Description:
:* <math> g </math> - Gravity constant
 
:* <math> m_{i} </math> - Mass of the i<sup>th</sup> link
 
:* <math> a_{i} </math> - length of the common normal between the i<sup>th</sup> and i<sup>th+1</sup> joints 
 
:* <math> d_{i} </math> - offset along z axis between the i<sup>th</sup> and i<sup>th+1</sup> joints 
 
:* <math> l_{i} </math> - The distance from the i<sup>th</sup> joint to the center of mass of the i<sup>th</sup> link
 
  
{|border="1" width="80%"
+
:
!width="100"|Number
+
:*<math>g </math> - Gravity constant
!width="250"|Parameter
+
:*<math>m_{i} </math> - Mass of the i<sup>th</sup> link
!Comments
+
:*<math>a_{i} </math> - length of the common normal between the i<sup>th</sup> and i<sup>th+1</sup> joints
 +
:*<math>d_{i} </math> - offset along z axis between the i<sup>th</sup> and i<sup>th+1</sup> joints
 +
:*<math>l_{i} </math> - The distance from the i<sup>th</sup> joint to the center of mass of the i<sup>th</sup> link 
 +
 
 +
{| border="1" width="80%"
 
|-
 
|-
|1
+
! width="100" | Number
|<math>I_{1} = I_{1,zz}+m_{1}*l_{1,y}^2 +m_{2}*d_{2}^2+(m_{4}+m_{5}+m_{6})*a_{3}^2+m_{2}*l_{2,z}^2+</math> <br> <math>(m_{3}+m_{4}+m_{5}+m_{6})*(d_{2}+d_{3})^2+I_{2,xx}+I_{3,yy}+2*m_{2}*d_{2}*l_{2,z}+m_{2}*l_{2,y}^2+m_{3}*l_{3,z}^2+2*m_{3}*(d_{2}+d_{3})*l_{3,z}+I_{4,zz}+I_{4,yy}+I_{6,zz}</math>
+
! width="250" | Parameter
|kg*m^2
+
! Comments
 
|-
 
|-
|2
+
| 1
|<math>I_{2} = I_{2,zz}+m_{2}*(l_{2,x}^2+l_{2,y}^2)+(m_{3}+m_{4}+m_{5}+m_{6}*a_{2}^2</math>
+
| <math>I_{1} = I_{1,zz}+m_{1}*l_{1,y}^2 +m_{2}*d_{2}^2+(m_{4}+m_{5}+m_{6})*a_{3}^2+m_{2}*l_{2,z}^2+</math><br/> <math>(m_{3}+m_{4}+m_{5}+m_{6})*(d_{2}+d_{3})^2+I_{2,xx}+I_{3,yy}+2*m_{2}*d_{2}*l_{2,z}+m_{2}*l_{2,y}^2+m_{3}*l_{3,z}^2+2*m_{3}*(d_{2}+d_{3})*l_{3,z}+I_{4,zz}+I_{4,yy}+I_{6,zz}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|3
+
| 2
|<math>I_{3} = -I_{2,xx}+I_{2,yy}+(m_{3}+m_{4}+m_{5}+m_{6})*a_{2}^2+m_{2}*l_{2,x}^2-m_{2}*l_{2,y}^2</math>
+
| <math>I_{2} = I_{2,zz}+m_{2}*(l_{2,x}^2+l_{2,y}^2)+(m_{3}+m_{4}+m_{5}+m_{6}*a_{2}^2</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|4
+
| 3
|<math>I_{4} = m_{2}*l_{2,x}*(d_{2}+l_{2,z})+m_{3}*a_{2}*l_{3,z}+(m_{3}+m_{4}+m_{5}+m_{6})*a_{2}*(d_{2}+d_{3})</math>
+
| <math>I_{3} = -I_{2,xx}+I_{2,yy}+(m_{3}+m_{4}+m_{5}+m_{6})*a_{2}^2+m_{2}*l_{2,x}^2-m_{2}*l_{2,y}^2</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|5
+
| 4
|<math>I_{5} = -m_{3}*a_{2}*l_{3,y}+(m_{4}+m_{5}+m_{6})*a_{2}*d_{4}+m_{4}*a_{2}*l_{4,z}</math>
+
| <math>I_{4} = m_{2}*l_{2,x}*(d_{2}+l_{2,z})+m_{3}*a_{2}*l_{3,z}+(m_{3}+m_{4}+m_{5}+m_{6})*a_{2}*(d_{2}+d_{3})</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|6
+
| 5
|<math>I_{6} = I_{3,zz}+m_{3}*l_{3,y}^2+m_{4}*a_{3}^2+m_{4}*(d_{4}+l_{4,z})^2+I_{4,yy}+m_{5}*a_{3}^2+m_{5}*d_{4}^2+I_{5,zz}+m_{6}*a_{3}^2+m_{6}*d_{4}^2+m_{6}*l_{6,z}^2+I_{6,xx}</math>
+
| <math>I_{5} = -m_{3}*a_{2}*l_{3,y}+(m_{4}+m_{5}+m_{6})*a_{2}*d_{4}+m_{4}*a_{2}*l_{4,z}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|7
+
| 6
|<math>I_{7} = m_{3}*l_{3,y}^2+I_{3,xx}-I_{3,yy}+m_{4}*l_{4,z}^2+2*m_{4}*d_{4}*l_{4,z}+(m_{4}+m_{5}+m_{6})*(d_{4}^2-a_{3}^2)+I_{4,yy}-I_{4,yy}+I_{5,zz}-I_{5,yy}+m_{6}*l_{6,z}^2-I_{6,zz}+I_{6,xx}</math>
+
| <math>I_{6} = I_{3,zz}+m_{3}*l_{3,y}^2+m_{4}*a_{3}^2+m_{4}*(d_{4}+l_{4,z})^2+I_{4,yy}+m_{5}*a_{3}^2+m_{5}*d_{4}^2+I_{5,zz}+m_{6}*a_{3}^2+m_{6}*d_{4}^2+m_{6}*l_{6,z}^2+I_{6,xx}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|8
+
| 7
|<math>I_{8} = -m_{4}*(d_{2}+d_{3})*(d_{4}+l_{4,z})-(m_{3}+m_{6})*(d_{2}+d_{3})*d_{4}+m_{3}*l_{3,y}*l_{3,z}+m_{3}*(d_{2}+d_{3})*l_{3,y}</math>
+
| <math>I_{7} = m_{3}*l_{3,y}^2+I_{3,xx}-I_{3,yy}+m_{4}*l_{4,z}^2+2*m_{4}*d_{4}*l_{4,z}+(m_{4}+m_{5}+m_{6})*(d_{4}^2-a_{3}^2)+I_{4,yy}-I_{4,yy}+I_{5,zz}-I_{5,yy}+m_{6}*l_{6,z}^2-I_{6,zz}+I_{6,xx}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|9
+
| 8
|<math>I_{9} = m_{2}*l_{2,y}*(d_{2}+l_{2,z})</math>
+
| <math>I_{8} = -m_{4}*(d_{2}+d_{3})*(d_{4}+l_{4,z})-(m_{3}+m_{6})*(d_{2}+d_{3})*d_{4}+m_{3}*l_{3,y}*l_{3,z}+m_{3}*(d_{2}+d_{3})*l_{3,y}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|10
+
| 9
|<math>I_{10} = 2*m_{4}*a_{5}*l_{4,z}+2*(m_{4}+m_{5}+m_{6})*a_{3}*d_{4}</math>
+
| <math>I_{9} = m_{2}*l_{2,y}*(d_{2}+l_{2,z})</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|11
+
| 10
|<math>I_{11} = -2*m_{2}*l_{2,x}*l_{2,y}</math>
+
| <math>I_{10} = 2*m_{4}*a_{5}*l_{4,z}+2*(m_{4}+m_{5}+m_{6})*a_{3}*d_{4}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|12
+
| 11
|<math>I_{12} = (m_{4}+m_{5}+m_{6})*a_{2}*a_{3}</math>
+
| <math>I_{11} = -2*m_{2}*l_{2,x}*l_{2,y}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|13
+
| 12
|<math>I_{13} = (m_{4}+m_{5}+m_{6})*a_{3}*(d_{2}+d_{3})</math>
+
| <math>I_{12} = (m_{4}+m_{5}+m_{6})*a_{2}*a_{3}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|14
+
| 13
|<math>I_{14} = I_{4,zz}+I_{5,yy}+I_{6,zz}</math>
+
| <math>I_{13} = (m_{4}+m_{5}+m_{6})*a_{3}*(d_{2}+d_{3})</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|15
+
| 14
|<math>I_{15} = m_{6}*d_{4}*l_{6,z}</math>
+
| <math>I_{14} = I_{4,zz}+I_{5,yy}+I_{6,zz}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|16
+
| 15
|<math>I_{16} = m_{6}*a_{2}*l_{6,z}</math>
+
| <math>I_{15} = m_{6}*d_{4}*l_{6,z}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|17
+
| 16
|<math>I_{17} = I_{5,zz}+I_{6,xx}+m_{6}*l_{6,z}^2</math>
+
| <math>I_{16} = m_{6}*a_{2}*l_{6,z}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|18
+
| 17
|<math>I_{18} = m_{6}*(d_{2}+d_{3})*l_{6,z}</math>
+
| <math>I_{17} = I_{5,zz}+I_{6,xx}+m_{6}*l_{6,z}^2</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|19
+
| 18
|<math>I_{19} = I_{4,yy}-I_{4,xx}+I_{5,zz}-i_{5,yy}+m_{6}*l_{6,z}^2+I_{6,xx}-I_{6,zz}</math>
+
| <math>I_{18} = m_{6}*(d_{2}+d_{3})*l_{6,z}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|20
+
| 19
|<math>I_{20} = I_{5,yy}-I_{5,xx}-m_{6}*l_{6,z}^2+I_{6,zz}-I_{6,xx}</math>
+
| <math>I_{19} = I_{4,yy}-I_{4,xx}+I_{5,zz}-i_{5,yy}+m_{6}*l_{6,z}^2+I_{6,xx}-I_{6,zz}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|21
+
| 20
|<math>I_{21} = I_{4,xx}-I_{4,yy}+I_{5,xx}-I_{5,zz}</math>
+
| <math>I_{20} = I_{5,yy}-I_{5,xx}-m_{6}*l_{6,z}^2+I_{6,zz}-I_{6,xx}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|22
+
| 21
|<math>I_{22} = m_{6}*a_{3}*l_{6,z}</math>
+
| <math>I_{21} = I_{4,xx}-I_{4,yy}+I_{5,xx}-I_{5,zz}</math>
|kg*m^2
+
| kg*m^2
 
|-
 
|-
|23
+
| 22
|<math>I_{23} = I_{6,zz}</math>
+
| <math>I_{22} = m_{6}*a_{3}*l_{6,z}</math>
|kg*m^2
+
| kg*m^2
 +
|-
 +
| 23
 +
| <math>I_{23} = I_{6,zz}</math>
 +
| kg*m^2
 
|}
 
|}
  
 
=== Dynamic Model 2 - Gravity ===
 
=== Dynamic Model 2 - Gravity ===
This dynamic model is for cases where the robot moves very slowly.<br />
 
In such cases, the accelerations and velocities of the joints of the robot have little effect on the joints torques. The joints torques are mainly affected by gravity and friction. <br />
 
This model includes only the gravity and friction part of the PUMA robot dynamic model.<br />
 
  
{|border="1" width="80%"
+
This dynamic model is for cases where the robot moves very slowly.<br/> In such cases, the accelerations and velocities of the joints of the robot have little effect on the joints torques. The joints torques are mainly affected by gravity and friction.<br/> This model includes only the gravity and friction part of the PUMA robot dynamic model.
!width="100"|Number
+
 
!width="250"|Parameter
+
{| border="1" width="80%"
!Comments
+
|-
 +
! width="100" | Number
 +
! width="250" | Parameter
 +
! Comments
 
|-
 
|-
|1
+
| 1
|<math>g(m_{2}l_{2}+a_{2}(m_{3}+m_{4}+m_{5}+m_{6}))</math>
+
| <math>g(m_{2}l_{2}+a_{2}(m_{3}+m_{4}+m_{5}+m_{6}))</math>
|kg*m^2/s^2
+
| kg*m^2/s^2
 
|-
 
|-
|2
+
| 2
|<math>g(m_{3}l_{3,y}+a_{3}(m_{4}+m_{5}+m_{6}))</math>
+
| <math>g(m_{3}l_{3,y}+a_{3}(m_{4}+m_{5}+m_{6}))</math>
|kg*m^2/s^2
+
| kg*m^2/s^2
 
|-
 
|-
|3
+
| 3
|<math>g(m_{3}l_{3,y}+m_{4}(l_{4}+d_{4}(m_{5}+m_{6}))</math>
+
| <math>g(m_{3}l_{3,y}+m_{4}(l_{4}+d_{4}(m_{5}+m_{6}))</math>
|kg*m^2/s^2
+
| kg*m^2/s^2
 
|-
 
|-
|4
+
| 4
|<math>gl_{56}(m_{5}+m_{6})</math>
+
| <math>gl_{56}(m_{5}+m_{6})</math>
|kg*m^2/s^2
+
| kg*m^2/s^2
 
 
 
|}
 
|}
  
Line 402: Line 613:
 
=== Dynamic Model 1 ===
 
=== Dynamic Model 1 ===
  
[[File:GSR-SETUP.JPG|Galileo robot|thumb]]
+
[[File:GSR-SETUP.JPG|thumb|Galileo robot]]
  
 +
&nbsp;
  
 +
&nbsp;
  
 
+
{| border="1" width="80%"
{|border="1" width="80%"
+
|-
!width="100"|Number
+
! width="100" | Number
!width="250"|Parameter
+
! width="250" | Parameter
!Comments
+
! Comments
 
|-
 
|-
|1
+
| 1
|m<sub>P</sub>
+
| m<sub>P</sub>
|Payload mass [kg]
+
| Payload mass [kg]
 
|-
 
|-
|2
+
| 2
|m<sub>B</sub>
+
| m<sub>B</sub>
|Balance mass [kg]
+
| Balance mass [kg]
 
|-
 
|-
|3
+
| 3
|T<sub>P</sub>
+
| T<sub>P</sub>
|Payload mass center distance from the flange [mm]
+
| Payload mass center distance from the flange [mm]
 
|-
 
|-
|4
+
| 4
|T<sub>B</sub>
+
| T<sub>B</sub>
|Balance mass center distance from the (0,0) [mm]
+
| Balance mass center distance from the (0,0) [mm]
 
|-
 
|-
|5
+
| 5
|I<sub>R</sub>
+
| I<sub>R</sub>
|Inertia of the payload around roll [kg*m<sup>2</sup>
+
| Inertia of the payload around roll [kg*m<sup>2</sup>
 
|}
 
|}
  
[[Category:Motion Dynamics]]
+
[[Category:Pages with broken file links]] [[Category:Motion Dynamics]]

Latest revision as of 15:35, 29 November 2023

This page gives an overview over all implemented dynamic models.  

General considerations

 

Rotational Axes

Dynamic Model 1 - simple rotary axis

Number Parameter Comments
1 Total moment of inertia around the rotation axis of the moved part
Model equation

 

Dynamic Model 2 - horizontal crank-arm axis

Horizontal crank-arm axis
Number Parameter Comments
1 Total moment of inertia around the rotation axis of the moved part
2 Square of length of crank arm (axis to payload)
Model equation

 

Dynamic Model 3 - vertical crank-arm axis

Vertical crank-arm axis
Number Parameter Comments
1 Total moment of inertia around the rotation axis of the moved part
2 Square of length of crank arm (axis to payload)
3 Mass (without payload) * Gravity * Distance to center of mass
4 Gravity * Distance to Payload
Model equation

Linear Axes

Dynamic Model 1 - horizontal axis

Horizontal linear axis
Number Parameter Comments
1 Total mass of the moved part.
Model equation

 

Dynamic Model 2 - vertical or tilted axis

Vertical linear axis
Number Parameter Comments
1 Total mass of the moved part.
2 Constant force due to gravity.
3 Gravity coefficient used to consider payload mass. (g = 9.80665)
Model equation

 

Dynamic Model 3 - vertical axis with a spring

Vertical linear axis with a spring
Number Parameter Comments
1 Total mass of the moved part. [kg]
2 The stiffness constant of the spring. [kg/s^2]
3 The stiffness constant times the relaxation position of the spring. [kg*m/s^2]
Model equation

Traverse Arm Robots

Dynamic Model 1

Traverse Arm robot
Number Parameter Comments
1
2
3
4
5
6
7

 

 

 

 

 

 

 

 

 

 

 

 

Scara Robots

scara robot
Robot link moment of inertia is relative to it's center of mass
Rotor moment of inertia is reflected to gearbox output shaft

The dynamic equations of the robot are expressed at the outputs of the gearboxes attached to the actuation motors. Therefore, the torques, joint positions, velocities, and accelerations are those of the gearbox output shafts.

In the following models, the variable for is the mass of link . Link is a ball screw. The variable is the lead of the ball screw, i.e. the linear distance traveled for each complete turn of the screw. The internal units of are [mm/deg], while its user units are [m/rad].

The variables and are the lengths of links and . The variables and are respectively the distances of the exes of joints and to the centers of mass of links and .

The variable for is the moment of inertia of link , relative to a reference frame attached to the link's center of mass, and about the link's axis of rotation.

Additionally, for is the moment of inertia of rotor , reflected to the gearbox output shaft as follows. Let be the moment of inertia of rotor relative to a reference frame attached to the rotor's center of mass, about the rotor's axis of rotation. Let be the gear ratio of the gearbox or pulley system, then .

The variables and are respectively the payload mass and payload moment of inertia relative to its center of mass. If no object or gripper is attached to the robot, the value of these variables is zero.

 

Dynamic Model 1

For non-coupled SCARA robots (axis 3 and 4 are not coupled) and for concentric payloads (concentric with axis 4).

Number Parameter Comments
1 kg*m2
2 kg*m2
3 kg*m2
4 kg*m2
5 kg
6 kg*m/sec2
7 kg*m2
8 kg*m2

 

 

 

Dynamic Model 2

For coupled SCARA robots (axis 3 and 4 are coupled) and for concentric payloads (concentric with axis 4).

Number Parameter Comments
9 kg*m2
10 kg*m2
11 kg*m2
12 kg
13 kg*m2
14 kg*m2
15 kg
16 kg*m2

 

The payload parameters for Dynamic Model 1 and Dynamic Model 2 are:

Number Parameter Comments
1 payloadMass , the mass of the payload
2 payloadInertia , the payload's moment of inertia relative to its center of mass

 

 

 

 

 

Dynamic Model 3

For coupled SCARA robots (axis 3 and 4 are coupled) and for non-concentric payloads (the payload center of mass is not located along axis 4, and is located on the x-axis of the tool flange, which is defined by the zero position of axis 4).
The dynamic parameters are the same as model 2, except for parameter No. 13.

The payload parameters are:

Number Parameter Comments
1 payloadMass , the mass of the payload
2 payloadInertia , the payload's moment of inertia relative to its center of mass
3 payloadLx the distance [m] to the center of mass from the 4th axis in the x direction
13 [kg*m2], includes the additional term in accordance with the parallel axis theorem

When using identification with this model, all of the payload parameters can be found.

 

Dynamic Model 4

Same as Dynamic Model 3.
This model is used in identification process in order to identify the payloadMass parameter only, by moving only joint number 3.

 

Dynamic Model 5

Same as Dynamic Model 3.
This model is used in identification process in order to identify the payloadInertia and payloadLx parameters, by moving only joint number 4 and very small movements in joints 1 and 2.

Delta Robots

Dynamic Model 1

Delta robot
Number Parameter Comments
1 kg*m2
2 kg*m2/sec2
3 kg
4 kg*m2
5 kg
6 kg
7 kg*m2
8 kg*m2
9 m
10 m
11
12
13
14

 

Puma Robots

Dynamic Model 1

Puma robot

Description:

  • - Gravity constant
  • - Mass of the ith link
  • - length of the common normal between the ith and ith+1 joints
  • - offset along z axis between the ith and ith+1 joints
  • - The distance from the ith joint to the center of mass of the ith link
Number Parameter Comments
1
kg*m^2
2 kg*m^2
3 kg*m^2
4 kg*m^2
5 kg*m^2
6 kg*m^2
7 kg*m^2
8 kg*m^2
9 kg*m^2
10 kg*m^2
11 kg*m^2
12 kg*m^2
13 kg*m^2
14 kg*m^2
15 kg*m^2
16 kg*m^2
17 kg*m^2
18 kg*m^2
19 kg*m^2
20 kg*m^2
21 kg*m^2
22 kg*m^2
23 kg*m^2

Dynamic Model 2 - Gravity

This dynamic model is for cases where the robot moves very slowly.
In such cases, the accelerations and velocities of the joints of the robot have little effect on the joints torques. The joints torques are mainly affected by gravity and friction.
This model includes only the gravity and friction part of the PUMA robot dynamic model.

Number Parameter Comments
1 kg*m^2/s^2
2 kg*m^2/s^2
3 kg*m^2/s^2
4 kg*m^2/s^2

Galileo Spherical Robots (GSR)

Dynamic Model 1

Galileo robot

 

 

Number Parameter Comments
1 mP Payload mass [kg]
2 mB Balance mass [kg]
3 TP Payload mass center distance from the flange [mm]
4 TB Balance mass center distance from the (0,0) [mm]
5 IR Inertia of the payload around roll [kg*m2