AXY:Rod forces model for Delta kinematics

From SoftMC-Wiki
Revision as of 11:08, 24 April 2014 by Lisa (talk | contribs)
Jump to: navigation, search

On a Delta robot the mechanical connection between the platform (point C) and the crank arm (Point B) is realized by a pair of parallelogram rods. The ball and socket joints at B and C can only carry a limited force, which is push/pull force of the rods. If the maximal force of the ball joints is exceeded, robot arms can hang out which leads to destruction of the robot. Because of kinematic structure of Delta robots rod forces depend on position, acceleration and moving direction. A physical model is needed to precompute rod forces for start/target positions and limit acceleration/deceleration according to maximal allowed forces.

Control;Rod forces model for Delta kinematics - Introduction.png

Physical model

Relevant kinematic values

This rod forces model is based on the inverse dynamic model developed by IWF (File:Inverse kinematics and inverse dynamics for Delta - IWF report.pdf). The actuating joint torques Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tau_i} are considered as known.

The coordinate system used by IWF differs from that used by Servotronix (Y and Z directions are inverted). In this model the IWF coordinate system is used. The transformation from and into Servotronix coordinate system is done by IDM implementation.

Forces at crank arms

Forces at crank arms

The direction unit vector of the force Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fq}_i} points perpendicularly to the crank arm:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fq}^*_i = \begin{bmatrix} \cos \theta_i & -\sin \theta_i & 0 \\ \sin \theta_i & \cos \theta_i & 0 \\ 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} \cos q_i & 0 & \sin q_i \\ 0 & 1 & 0 \\ -\sin q_i & 0 & \cos q_i \end{bmatrix} \cdot \begin{bmatrix} 0 \\ 0 \\ -1 \end{bmatrix} = \begin{bmatrix} -\cos \theta_i \cdot \sin q_i \\ -\sin \theta_i \cdot \sin q_i \\ -\cos q_i \end{bmatrix} \qquad \mathrm{(1)} }

The actuating joint torques Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tau_i} comprise load torque, friction torques, gravity compensation torque and dynamic torque (inertia):

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tau_i = l_a \cdot \left | \overrightarrow{Fq}_i \right | + \rho_v \cdot \dot{q}_i + \rho_c \cdot sign(\dot{q}_i) - l_{AB} \cdot m_{AB} \cdot g \cdot \cos(q_i) + \Theta_{AB} \cdot \ddot{q}_i }

The absolute value of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Fq_i} is then:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \left | \overrightarrow{Fq}_i \right | = \frac {\tau_i - \rho_v \cdot \dot{q}_i - \rho_c \cdot sign(\dot{q}_i) + l_{AB} \cdot m_{AB} \cdot g \cdot \cos(q_i) - \Theta_{AB} \cdot \ddot{q}_i} {l_a} \qquad \mathrm{(2)} }

The direction of the parallelogram rods is the connection between points C and B:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{C_i B_i} = \begin{bmatrix} \left ( r + l_a \cdot \cos q_i \right ) \cdot \cos \theta_i - x \\ \left ( r + l_a \cdot \cos q_i \right ) \cdot \sin \theta_i - y \\ -l_a \cdot \sin q_i - z \end{bmatrix} }

The direction unit vector of the force Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fb}_i} is parallel to the parallelogram rods:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fb}^*_i = \frac {\overrightarrow{C_i B_i}} {\left | \overrightarrow{C_i B_i} \right |} \qquad \mathrm{(3)} }

The angle between Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fb}_i} and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fq}_i} is obtained by using dot product definition:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \cos \varphi_i = - \frac {\overrightarrow{Fq}^*_i \cdot \overrightarrow{Fb}^*_i} {\left | \overrightarrow{Fq}^*_i \right | \cdot \left | \overrightarrow{Fb}^*_i \right |} = - \left ( \overrightarrow{Fq}^*_i \cdot \overrightarrow{Fb}^*_i \right ) }

The absolute value of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fb}_i} is computed as:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \left | \overrightarrow{Fb}_i \right | = \frac {\left | \overrightarrow{Fq}_i \right |} {\cos \varphi_i} \qquad \mathrm{(4)} }

Forces at the platform

Forces at platform

The inertia of the parallelogram rods cannot be neglected. Therefore the forces at point C are less then forces at point B.

The inertia force is proportional to the Cartesian acceleration vector:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fm} = - m_{platform} \cdot \overrightarrow{\ddot{P}}_{max} \qquad \mathrm{(5)} }

Gravity force points downward:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fg} = m_{platform} \cdot g \cdot \begin{bmatrix} 0 \\ 0 \\ -1 \end{bmatrix} \qquad \mathrm{(6)} }

Direction of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fc}_i} is identical to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fb}_i} :

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fc}^*_i = \overrightarrow{Fb}^*_i }

The unknown value of force Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fc}_i} is expressed by a variable:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fc}_i = \eta_i \cdot \overrightarrow{Fc}^*_i }

The sum of all forces affecting at the platform is equal zero:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fm} + \overrightarrow{Fg} + \sum_{i} \overrightarrow{Fc}_i = 0 \qquad \mathrm{(7)} }

The unknown values of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \eta_i} are obtained by solving the linear equation system (7).

Torques at the platform

Torques at the platform

The rod forces do not affect at the platform's center of mass and therefore cause load torques which are compensated by the parallelogram structures. These compensation torques produces additional forces in the parallelogram rods and have to be modeled as well.

Load torques are obtained by considering resultant rod forces at point C:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Ml}_i = \overrightarrow{PC}_i \times \overrightarrow{Fc}_i = \begin{bmatrix} r_b \cdot \cos \theta_i \\ r_b \cdot \sin \theta_i \\ 0 \end{bmatrix} \times \overrightarrow{Fc}_i \qquad \mathrm{(8)} }

For the computation of compensation torques of both parallelogram rods are handled separately:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fs}_i + \overrightarrow{Ft}_i = \overrightarrow{Fc}_i }

The compensation torques occur because the both rod forces are different:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Ma}_i = \overrightarrow{S_i T_i} \times \left ( \overrightarrow{Fs}_i - \overrightarrow{Ft}_i \right ) }

The force difference of the both parallelogram rod forces is not known in first step. It is expressed by a variable Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu_i} :

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fs}_i - \overrightarrow{Ft}_i = \mu_i \cdot \overrightarrow{Fc}^*_i }

For the compensation torques follows:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Ma}_i = \mu_i \cdot \left ( \begin{bmatrix} d \cdot \sin \theta_i \\ -d \cdot \cos \theta_i \\ 0 \end{bmatrix} \times \overrightarrow{Fc}^*_i \right ) \qquad \mathrm{(9)} }

The addition of all load and compensation torques must be equal zero:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sum_{i} \overrightarrow{Ml}_i + \sum_{i} \overrightarrow{Ma}_i = 0 }

The unknown variables Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu_i} can be obtained by solving the linear equation system:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \sum_{i} \overrightarrow{Ma}_i = - \sum_{i} \overrightarrow{Ml}_i \qquad \mathrm{(10)} }

Parallelogram rod forces

Because Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \overrightarrow{Fc}^*_i} are unity vectors, the variables Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \mu_i} represent the differences of the both rod forces. The absolute value of the bigger rod force is then:

Load capacity reduction due to parallelogram shift

Parallelogram shift

The half-bowls of the ball and socket joints are held by a spring. For the load capacity of the joint only the force components are relevant, that are perpendicular to the rods. When the parallelogram is shifted the perpendicular forces become less and therefore the load capacity decreases.

To obtain the shift angle an intermediate step is needed:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \cos \xi_i = \overrightarrow{S_i T_i}^* \cdot \overrightarrow{Fc}^*_i = \begin{bmatrix} \sin \theta_i \\ -\cos \theta_i \\ 0 \end{bmatrix} \cdot \overrightarrow{Fc}^*_i }

The reduction factor of the joint's load capacity is then:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Rs_i = \cos \sigma_i = \sin \xi_i = \sqrt{1 - \cos^2 \xi_i} \qquad \mathrm{(12)} }

Limitation of acceleration/deceleration

To set appropriate acceleration and deceleration values for a given straight motion it is adequate to test only the start and target points.

The acceleration rates at start point respectively the deceleration rate at target point are computed as quotient of maximal allowed rod force and the computed rod force:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Ra = \min_i \frac {Fr_{max} \cdot Rs_i} {\left | \overrightarrow{Fr}_i \right |} \qquad \mathrm{(13)} }

Parameters

The only model parameter Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle Fr_{max}} can only be obtained by incrementally increasing (trial and error).