Dynamics Extension for Davies Method
Idea I had for extending Davies Method which works only for Differential Kinematics and Statics. I wish to extend the formulation to include Dynamics.
My idea is to go through Hyper-Dual Quaternions. But I should take a look at Screw Calculus as well.
Start with a mechanism or robot (can be either a Open Kinematic Chain System or a Closed Kinematic Chain System)
Enumerate the joints and links
Use letters for the joints and numbers for the links. The earth or support should be number 0 or 1 (when there is no 0).
Build the Coupling Graph
Evalute the degrees of freedom (f) and constraints (c) of each joint.
Considerations
Joints taken in succession - Davies Method for Dynamics
Kinematic Analysis
Understanding Davies Method’s kinematic analysis
Difference of the approach to Dynamics
Build the Motion Graph
In this case the motion graph does not need to take into account the tree configuration.
For each link
Choose a graph trajectory
The graph trajectory should go from the Base Link to the link in consideration.
Considerations of using Hyper-Dual Quaternions/Vectors
Define the Hyper-Dual Twist of the edges using Hyper-Dual Twist of a Joint. Compute the twists relative to the center of mass of the link
Remember you only need the twist of previous joints.
Sum up the hyper-dual twists to obtain the kinematics of the center of mass of the link
Forces Analysis
Understanding Davies Method’s statics analysis
Difference of the approach to Dynamics in Force Analysins - Davies Method for Dynamics
Build the Action Graph
In this case the motion graph does not need to take into account the tree configuration.
For each link (using the same sequence of the kinematic analysis)
Make a “circular cut” in the equivalent graph node to account for the efforts acting in the link.
The efforts cutted by the circular cut will be considered. Positiviness should be either arrows pointing in the circular cut or arrows pointing out.
Define the wrenches of the edges by Wrench of a Joint.
We do not need to use hyper-dual quatities because we do not want the derivative or integral of the forces.
\[\hat{F}_{ij} = \vec{F}_{ij} + \epsilon \, \vec{M}_{ij} \]
Sum up all the wrenches to find the efforts acting in the link
\[ \hat{F}_i = \sum_j \hat{F}_{ij} \]
Build the Action Network Matrix (A_N) and the Vector of Action Parameters (\(\varphi_A\))
Just write the half-equations obtained for the force analysis in a matricial form putting toghether all the half-equations and separating the Vector of Motion Parameters.
Do not change the order of equations.
Hyper-dual momentum
For each link
Build the Dual Mass of each link as
\[ M_i = {_I}I_{i} \, \epsilon + m_{i} \, d\epsilon \]
Perceba que a utilização dos operadores \(\epsilon\) e \(d\epsilon\) em conjunto fazem um swap na velocidade linear e angular. O resultado fica:
\[ M_i \, \nu_i = m_i \, \vec{v} + \epsilon \, {_I}I_{i} \, \vec{\omega} \]
O que deixa compatível com o wrench que é \((\vec{F} + \epsilon \, \vec{M})\)
Build the Hyper-Dual Mass of each link as
\[ \check{M}_i = M_i + \check{\epsilon} \, \dot{M}_i \]
\[ \check{M}_i = {_I}I_{i} \, \epsilon + m_{i} \, d\epsilon + \check{\epsilon} \, ({_I}\dot{I}_{i} \, \epsilon ) \]
Considerations over the inertia matrix - Davies Method for Dynamics
Find the Hyper-Dual Momentum of each link
\[ \check{P}_i = \check{M}_i \, \check{\nu}_i \]
\[ \check{P} = (M + \check{\epsilon} \, \dot{M})(\nu + \check{\epsilon} \, \dot{\nu}) = M \, \nu + \check{\epsilon} ( M \, \dot{\nu} + \dot{M} \, \nu ) \]
Isolate the Hyper-Dual part, which is the acceleration
\[ \dot{\hat{P}} = d\check{\epsilon} \, (\check{P}) = M \, \dot{\nu} + \dot{M} \, \nu \]
Build the Motion Network Matrix (\(M_N\)), the Vector of Motion Parameters (\(\varphi_M\)) and the Vector of Independent Terms (\(b_M\))
Just write the half-equations obtained for the momenta in a matricial form putting toghether all the half-equations and separating the Vector of Motion Parameters (the accelerations). The terms that do not contain an explicit second order differential joint variable, should be placed in the Vector of Independent Terms \(b_M\).
The result should be:
\[ M_N \, \varphi_M + b_M \]
Do not change the order of equations.
Apply Newton’s Law and Euler’s Law of motion
A dual version of Newton’s law should be:
\[ \hat{F}_i = \dot{\hat{P}}_i = \frac{d}{dt} [M_i \, \nu_i] \]
\[ \hat{F}_i - \dot{\hat{P}}_i = 0 \]
When we consider all equations in matricial form:
\[A_N \, \varphi_A - M_N \, \varphi_N - b_M = 0\]
\[ \begin{bmatrix} A_N & - M_N \end{bmatrix} \, \begin{bmatrix} \varphi_A \\ \varphi_N \end{bmatrix} = b_M \]
Case of Parallel Systems
In that case, we will end-up with more joint variables than motion equations. But the joints variables are related one to the other and we can use the traditional Davies Method with Hyper-Dual Numbers to find the relations.
Start by the already made Coupling Graph
Do the kinematic analysis of Davies Method but using Hyper-Dual Twist of a Joint instead of the traditional twist.
Isolate the Hyper-Dual part, which is the acceleration
\[ \dot{\nu} = d\check{\epsilon} \, (\check{\nu}) = \dot{\omega} + \epsilon \, \dot{v} \]
Build the Motion Network Matrix (\(M_{N}^*\))
The Kinematics realtions can be found by:
\[M_N^* \ \varphi_M = 0\]
Final System
Serial Mechanisms
\[ \begin{bmatrix} A_N & - M_N \end{bmatrix} \, \begin{bmatrix} \varphi_A \\ \varphi_N \end{bmatrix} = b_M \]
\(M_S : \begin{bmatrix} A_N & - M_N \end{bmatrix}\)
\(\varphi : \begin{bmatrix} \varphi_A \\ \varphi_N \end{bmatrix}\)
\(b : b_M\)
\[ M_S \ \varphi = b \]
Parallel mechanisms
Increase the previous system to add the relations between the joints variables in a parallel system.
\[ \begin{bmatrix} A_N & - M_N \\ 0 & M_N^* \end{bmatrix} \, \begin{bmatrix} \varphi_A \\ \varphi_N \end{bmatrix} = \begin{bmatrix} b_M \\ 0 \end{bmatrix} \]
\(M_S : \begin{bmatrix} A_N & - M_N \\ 0 & M_N^* \end{bmatrix}\)
\(\varphi : \begin{bmatrix} \varphi_A \\ \varphi_N \end{bmatrix}\)
\(b : \begin{bmatrix} b_M \\ 0 \end{bmatrix}\)
\[ M_S \ \varphi = b \]
Solving the System
Arrange the known parameters to the other side
Localize the known variables
Extract the respective column of the known variables and negate it to the other side of the equation.
Now you have:
- \(\varphi^*:\) \(\varphi\) without the extracted variables.
- \(M_S^* :\) \(M_S\) without the columns related to the extracted variables.
- \(b_S:\) Other side of the equation with the extracted varibles combined plus \(b\)
Solve the resulting linear system to compute the Kinematics and Statics
\[M_S^* \ \varphi^* = b_s\]