# Derivative of transformation matrix for 6DoF dynamics

I'm implementing a planner for a 6DOF underwater robot and I'm using the dynamics derived in chapter 7.5 of Fossen's Handbook of Marine Craft. I'm using the equations of motion expressed in NED using positions and euler angles in order to use differential flatness control. See equation 7.190.

Part of this is the transformation from velocities (linear and angular: [x_dot, y_dot, z_dot, p, q, r]) between the world (NED) frame and the body frame of the robot. This is described in equation 7.191 using the matrix $$J$$, which transforms the linear and angular velocities between the fixed world frame and the body frame:

$$J_\Theta(\eta) = \begin{bmatrix}R_b^n(\Theta_{nb}) & 0_{3\times3}\\ 0_{3\times3} & T_\Theta(\Theta_{nb})\end{bmatrix}$$ where: $$\dot\eta = J_\Theta(\eta)v$$ $$T_\Theta(\Theta_{nb}) = \begin{bmatrix}1 & \sin\phi \tan\theta & \cos\phi \tan\theta\\0 & \cos\phi & -\sin\phi\\ 0 & \sin\phi / \cos\theta & \cos\phi / \cos\theta\end{bmatrix}$$ $$\eta$$ is the position/orientation in the fixed world frame: $$[x,y,z,\phi,\theta,\psi]$$

$$\dot\eta$$ is the velocities in the world frame: $$[\dot x, \dot y, \dot z, p, q, r]$$

$$v$$ is the velocities in the body frame.

My problem is that to find the acceleration in the world frame, I need to know $$\dot J$$, which I can't seem to find a definition for in Fossen's textbook. See eq 7.192: $$C^*$$ and $$\ddot\eta$$ both depend on $$\dot J$$. I'm aware of the time derivative of the rotation matrix $$R$$ using the skew symmetric matrix, but I'm not sure how to find the derivative of the whole $$J$$ matrix. Does anyone know what I should do or where to look for more info?

Example use of $$\dot J$$: $$\ddot \eta = J_\Theta(\eta)\dot v + \dot J_\Theta(\eta) v$$

• why you put this question?
– Eli
May 20, 2020 at 6:10

In the example, J could be solved for using a linear differential equation approach I think? Perhaps an iterative method like Euler's or Runge-Kuta?

This of course assumes that v and it's time derivative don't have a dependence to n(eta) [sorry for formatting, am on mobile].

Once J has been solved I would imagine the correct boundary conditions would lead you to a useful answer.

It is worth a shot at least.

$$\vec{R}=\vec{f}(\vec{q})\tag 1$$

where $$\vec{q}$$ are the generalized coordinates

time derivative :

$$\vec{\dot{R}}=\frac{d}{dt}\left(\vec{f}(\vec{q})\right)=\frac{\partial \vec{f}}{\partial \vec{q}}\,\vec{\dot{q}}=J\,\vec{\dot{q}}$$

thus $$\vec{\dot{R}}=\vec{\dot{R}}(\vec{q},\vec{\dot{q}})=\vec{g}(\vec{q},\vec{\dot{q}})$$

$$\vec{\ddot{R}}=\underbrace{\frac{\partial \vec{g}}{\partial \vec{\dot q}}}_{J}\vec{\ddot{q}}+ \frac{\partial \vec{g}}{\partial \vec{ q}}\vec{\dot{q}}= J\,\vec{\ddot{q}}+\underbrace{\frac{\partial {J\,\vec{\dot{q}}}}{\partial \vec{ q}}}_{\dot{J}}\vec{\dot{q}}\tag 2$$

Remarks: the equations of motion

NEWTON equations:

$$M\,\vec{\ddot{R}}=\vec{F}_A$$

with equation (2)

$$M\left(J\vec{\ddot{q}}+\dot{J}\,\vec{\dot{q}}\right)=\vec{F}_A+\vec{F}_C\tag A$$

where $$\vec{F}_A$$ are the applied forces and $$\vec{F}_C$$ are the constrain forces.

to eliminate the constrain forces you multiply equation (A) from the left with $$J^T$$

$$\boxed{J^T\,M\,J\vec{\ddot{q}}=J^T\,\vec{F}_A-J^T\,M\,\dot{J}\,\vec{\dot{q}}}$$