Macros | |
| #define | _USE_MATH_DEFINES |
Functions | |
| double * | user_Link3DForces_dq (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_link3d, int i_param) |
| Compute the partial derivative of a link3D forces with respect to a generalized coordinate. More... | |
| double * | user_Link3DForces_dqd (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_link3d, int i_param) |
| Compute the partial derivative of a link3D forces with respect to a generalized velocity. More... | |
| double * | user_Link3DForces_dqdd (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_link3d, int i_param) |
| Compute the partial derivative of a link3D forces with respect to a generalized acceleration. More... | |
| double * | user_Link3DForces_dp (double PxF[4], double d_PxF[4], double RxF[4][4], double d_RxF[4][4], double VxF[4], double d_VxF[4], double OMxF[4], double d_OMxF[4], double AxF[4], double d_AxF[4], double OMPxF[4], double d_OMPxF[4], MbsData *s, double tsim, int i_link3d) |
| Compute the partial derivative of a link3D forces with respect to a parameter. More... | |
| #define _USE_MATH_DEFINES |
| double* user_Link3DForces_dp | ( | double | PxF[4], |
| double | d_PxF[4], | ||
| double | RxF[4][4], | ||
| double | d_RxF[4][4], | ||
| double | VxF[4], | ||
| double | d_VxF[4], | ||
| double | OMxF[4], | ||
| double | d_OMxF[4], | ||
| double | AxF[4], | ||
| double | d_AxF[4], | ||
| double | OMPxF[4], | ||
| double | d_OMPxF[4], | ||
| MbsData * | s, | ||
| double | tsim, | ||
| int | i_link3d | ||
| ) |
Compute the partial derivative of a link3D forces with respect to a parameter.
| [in] | PxF | The vector "AB" (index starting at 1) with components expressed in frame [P]. |
| [in] | d_PxF | the partial derivative of PxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | RxF | The rotation matrix (index starting at 1) such as [C] = Rxf*[P]. |
| [in] | d_RxF | the partial derivative of matrix RxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | VxF | The differential velocity vector (index starting at 1) with components expressed in frame [P]. The velocities are computed at the coordinates of point "M" linked to parent (Md_p), then linked to children (Md_c) body. The differential velocity vector is : Md_c - Md_p. |
| [in] | d_VxF | the partial derivative of VxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMxF | The differential angular velocity vector (index starting at 1) with components expressed in frame [P]. It is the difference between the parent angular velocity and the children angular velocity. |
| [in] | d_OMxF | the partial derivative of OMxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | AxF | The differential acceleration vector (index starting at 1) with components expressed in frame [P]. The accelerations are computed at the coordinates of point "M" linked to parent (Mdd_p), then linked to children (Mdd_c) body. The differential acceleration vector is : Mdd_c - Mdd_p. |
| [in] | d_AxF | the partial derivative of AxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMPxF | The differential angular acceleration vector (index starting at 1) with components expressed in frame [P]. It is the difference between the parent angular acceleration and the children angular acceleration. |
| [in] | d_OMPxF | the partial derivative of OMPxF with respect to the generalized coordinate of joint i_joint: . |
| [in,out] | s | The MbsData structure of the model on which the force is computed. |
| [in] | tsim | The current time of the simulation |
| [in] | i_link3d | The ID identifying the computed link3D force. |
i_joint: The content of the returned vector dSWr_link3d_dp is [dF_dq; dMx_dq; ddxF_dq]:![$\left[\frac{\partial Fx}{\partial q_{i\_joint}} ; \frac{\partial Fy}{\partial q_{i\_joint}} ; \frac{\partial Fz}{\partial q_{i\_joint}}\right]$](form_55.png)
![$\left[\frac{\partial Mx}{\partial q_{i\_joint}} ; \frac{\partial My}{\partial q_{i\_joint}} ; \frac{\partial Mz}{\partial q_{i\_joint}}\right]$](form_56.png)
Partial derivative of the application point local coordinates vector (expressed in the body-fixed frame): ddxF_dq = ![$\left[\frac{\partial dxF}{\partial q_{i\_joint}} ; \frac{\partial dxF}{\partial q_{i\_joint}} ; \frac{\partial dxF}{\partial q_{i\_joint}}\right]$](form_57.png)
In 1D, it gives:
.
| double* user_Link3DForces_dq | ( | double | PxF[4], |
| double | d_PxF[4], | ||
| double | RxF[4][4], | ||
| double | d_RxF[4][4], | ||
| double | VxF[4], | ||
| double | d_VxF[4], | ||
| double | OMxF[4], | ||
| double | d_OMxF[4], | ||
| double | AxF[4], | ||
| double | d_AxF[4], | ||
| double | OMPxF[4], | ||
| double | d_OMPxF[4], | ||
| MbsData * | s, | ||
| double | tsim, | ||
| int | i_link3d, | ||
| int | i_param | ||
| ) |
Compute the partial derivative of a link3D forces with respect to a generalized coordinate.
| [in] | PxF | The vector "AB" (index starting at 1) with components expressed in frame [P]. |
| [in] | d_PxF | the partial derivative of PxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | RxF | The rotation matrix (index starting at 1) such as [C] = Rxf*[P]. |
| [in] | d_RxF | the partial derivative of matrix RxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | VxF | The differential velocity vector (index starting at 1) with components expressed in frame [P]. The velocities are computed at the coordinates of point "M" linked to parent (Md_p), then linked to children (Md_c) body. The differential velocity vector is : Md_c - Md_p. |
| [in] | d_VxF | the partial derivative of VxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMxF | The differential angular velocity vector (index starting at 1) with components expressed in frame [P]. It is the difference between the parent angular velocity and the children angular velocity. |
| [in] | d_OMxF | the partial derivative of OMxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | AxF | The differential acceleration vector (index starting at 1) with components expressed in frame [P]. The accelerations are computed at the coordinates of point "M" linked to parent (Mdd_p), then linked to children (Mdd_c) body. The differential acceleration vector is : Mdd_c - Mdd_p. |
| [in] | d_AxF | the partial derivative of AxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMPxF | The differential angular acceleration vector (index starting at 1) with components expressed in frame [P]. It is the difference between the parent angular acceleration and the children angular acceleration. |
| [in] | d_OMPxF | the partial derivative of OMPxF with respect to the generalized coordinate of joint i_joint: . |
| [in,out] | s | The MbsData structure of the model on which the force is computed. |
| [in] | tsim | The current time of the simulation |
| [in] | i_link3d | The ID identifying the computed link3D force |
| [in] | i_param | The id of the parameter. |
i_joint: The content of the returned vector dSWr_link3d_dq is [dF_dq; dMx_dq; ddxF_dq]:![$\left[\frac{\partial Fx}{\partial q_{i\_joint}} ; \frac{\partial Fy}{\partial q_{i\_joint}} ; \frac{\partial Fz}{\partial q_{i\_joint}}\right]$](form_55.png)
![$\left[\frac{\partial Mx}{\partial q_{i\_joint}} ; \frac{\partial My}{\partial q_{i\_joint}} ; \frac{\partial Mz}{\partial q_{i\_joint}}\right]$](form_56.png)
Partial derivative of the application point local coordinates vector (expressed in the body-fixed frame): ddxF_dq = ![$\left[\frac{\partial dxF}{\partial q_{i\_joint}} ; \frac{\partial dxF}{\partial q_{i\_joint}} ; \frac{\partial dxF}{\partial q_{i\_joint}}\right]$](form_57.png)
In 1D, it gives:
.
| double* user_Link3DForces_dqd | ( | double | PxF[4], |
| double | d_PxF[4], | ||
| double | RxF[4][4], | ||
| double | d_RxF[4][4], | ||
| double | VxF[4], | ||
| double | d_VxF[4], | ||
| double | OMxF[4], | ||
| double | d_OMxF[4], | ||
| double | AxF[4], | ||
| double | d_AxF[4], | ||
| double | OMPxF[4], | ||
| double | d_OMPxF[4], | ||
| MbsData * | s, | ||
| double | tsim, | ||
| int | i_link3d, | ||
| int | i_param | ||
| ) |
Compute the partial derivative of a link3D forces with respect to a generalized velocity.
| [in] | PxF | The vector "AB" (index starting at 1) with components expressed in frame [P]. |
| [in] | d_PxF | the partial derivative of PxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | RxF | The rotation matrix (index starting at 1) such as [C] = Rxf*[P]. |
| [in] | d_RxF | the partial derivative of matrix RxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | VxF | The differential velocity vector (index starting at 1) with components expressed in frame [P]. The velocities are computed at the coordinates of point "M" linked to parent (Md_p), then linked to children (Md_c) body. The differential velocity vector is : Md_c - Md_p. |
| [in] | d_VxF | the partial derivative of VxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMxF | The differential angular velocity vector (index starting at 1) with components expressed in frame [P]. It is the difference between the parent angular velocity and the children angular velocity. |
| [in] | d_OMxF | the partial derivative of OMxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | AxF | The differential acceleration vector (index starting at 1) with components expressed in frame [P]. The accelerations are computed at the coordinates of point "M" linked to parent (Mdd_p), then linked to children (Mdd_c) body. The differential acceleration vector is : Mdd_c - Mdd_p. |
| [in] | d_AxF | the partial derivative of AxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMPxF | The differential angular acceleration vector (index starting at 1) with components expressed in frame [P]. It is the difference between the parent angular acceleration and the children angular acceleration. |
| [in] | d_OMPxF | the partial derivative of OMPxF with respect to the generalized coordinate of joint i_joint: . |
| [in,out] | s | The MbsData structure of the model on which the force is computed. |
| [in] | tsim | The current time of the simulation |
| [in] | i_link3d | The ID identifying the computed link3D force. |
| [in] | i_param | The id of the parameter. |
The content of the returned vector dSWr_dqd is [dF_dqd; dMx_dqd; ddxF_dqd]:
![$\left[\frac{\partial Fx}{\partial \dot{q}_{i\_joint}} ; \frac{\partial Fy}{\partial \dot{q}_{i\_joint}} ; \frac{\partial Fz}{\partial \dot{q}_{i\_joint}}\right]$](form_59.png)
![$\left[\frac{\partial Mx}{\partial \dot{q}_{i\_joint}} ; \frac{\partial My}{\partial \dot{q}_{i\_joint}} ; \frac{\partial Mz}{\partial \dot{q}_{i\_joint}}\right]$](form_60.png)
| double* user_Link3DForces_dqdd | ( | double | PxF[4], |
| double | d_PxF[4], | ||
| double | RxF[4][4], | ||
| double | d_RxF[4][4], | ||
| double | VxF[4], | ||
| double | d_VxF[4], | ||
| double | OMxF[4], | ||
| double | d_OMxF[4], | ||
| double | AxF[4], | ||
| double | d_AxF[4], | ||
| double | OMPxF[4], | ||
| double | d_OMPxF[4], | ||
| MbsData * | s, | ||
| double | tsim, | ||
| int | i_link3d, | ||
| int | i_param | ||
| ) |
Compute the partial derivative of a link3D forces with respect to a generalized acceleration.
| [in] | PxF | The vector "AB" (index starting at 1) with components expressed in frame [P]. |
| [in] | d_PxF | the partial derivative of PxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | RxF | The rotation matrix (index starting at 1) such as [C] = Rxf*[P]. |
| [in] | d_RxF | the partial derivative of matrix RxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | VxF | The differential velocity vector (index starting at 1) with components expressed in frame [P]. The velocities are computed at the coordinates of point "M" linked to parent (Md_p), then linked to children (Md_c) body. The differential velocity vector is : Md_c - Md_p. |
| [in] | d_VxF | the partial derivative of VxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMxF | The differential angular velocity vector (index starting at 1) with components expressed in frame [P]. It is the difference between the parent angular velocity and the children angular velocity. |
| [in] | d_OMxF | the partial derivative of OMxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | AxF | The differential acceleration vector (index starting at 1) with components expressed in frame [P]. The accelerations are computed at the coordinates of point "M" linked to parent (Mdd_p), then linked to children (Mdd_c) body. The differential acceleration vector is : Mdd_c - Mdd_p. |
| [in] | d_AxF | the partial derivative of AxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMPxF | The differential angular acceleration vector (index starting at 1) with components expressed in frame [P]. It is the difference between the parent angular acceleration and the children angular acceleration. |
| [in] | d_OMPxF | the partial derivative of OMPxF with respect to the generalized coordinate of joint i_joint: . |
| [in,out] | s | The MbsData structure of the model on which the force is computed. |
| [in] | tsim | The current time of the simulation |
| [in] | i_link3d | The ID identifying the computed link3D force. |
| [in] | i_param | The id of the parameter. |
i_joint: The content of the returned vector dSWr_link3d_dqdd is [dF_dq; dMx_dq; ddxF_dq]:![$\left[\frac{\partial Fx}{\partial q_{i\_joint}} ; \frac{\partial Fy}{\partial q_{i\_joint}} ; \frac{\partial Fz}{\partial q_{i\_joint}}\right]$](form_55.png)
![$\left[\frac{\partial Mx}{\partial q_{i\_joint}} ; \frac{\partial My}{\partial q_{i\_joint}} ; \frac{\partial Mz}{\partial q_{i\_joint}}\right]$](form_56.png)
Partial derivative of the application point local coordinates vector (expressed in the body-fixed frame): ddxF_dq = ![$\left[\frac{\partial dxF}{\partial q_{i\_joint}} ; \frac{\partial dxF}{\partial q_{i\_joint}} ; \frac{\partial dxF}{\partial q_{i\_joint}}\right]$](form_57.png)
In 1D, it gives:
.
1.8.17