Definition of the derivative of the user external forces. More...
Macros | |
| #define | _USE_MATH_DEFINES |
Functions | |
| double * | user_ExtForces_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 *mbs_data, double tsim, int i_force, int i_joint) |
| Compute the partial derivative of an user-specified external force with respect to a generalized coordinate. More... | |
| double * | user_ExtForces_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 *mbs_data, double tsim, int i_force, int i_joint) |
| Compute the partial derivative of an user-specified external force with respect to a generalized velocity. More... | |
| double * | user_ExtForces_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 *mbs_data, double tsim, int i_force, int i_joint) |
| Compute the partial derivative of an user-specified external force with respect to a generalized acceleration. More... | |
| double * | user_ExtForces_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 *mbs_data, double tsim, int i_force) |
Definition of the derivative of the user external forces.
Creation date: October 2020
(c) Universite catholique de Louvain
| #define _USE_MATH_DEFINES |
| double* user_ExtForces_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 * | mbs_data, | ||
| double | tsim, | ||
| int | i_force | ||
| ) |
| double* user_ExtForces_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_force, | ||
| int | i_joint | ||
| ) |
Compute the partial derivative of an user-specified external force with respect to a generalized coordinate.
| [in] | PxF | position vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_PxF | the partial derivative of PxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | RxF | rotation matrix (index starting at 1) from the inertial frame to the force sensor frame: |
| [in] | d_RxF | the partial derivative of matrix RxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | VxF | velocity vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_VxF | the partial derivative of VxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMxF | angular velocity vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_OMxF | the partial derivative of OMxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | AxF | acceleration vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_AxF | the partial derivative of AxF with respect to the generalized coordinate of joint i_joint: . |
| [in] | OMPxF | angular acceleration vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [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_force | the ID identifying the computed force sensor. |
| [in] | i_joint | the index of the generalized coordinate. |
The content of the returned vector dSWr_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)
| double* user_ExtForces_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_force, | ||
| int | i_joint | ||
| ) |
Compute the partial derivative of an user-specified external force with respect to a generalized velocity.
| [in] | PxF | position vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_PxF | the partial derivative of PxF with respect to the generalized velocity of joint i_joint: . |
| [in] | RxF | rotation matrix (index starting at 1) from the inertial frame to the force sensor frame: |
| [in] | d_RxF | the partial derivative of matrix RxF with respect to the generalized velocity of joint i_joint: . |
| [in] | VxF | velocity vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_VxF | the partial derivative of VxF with respect to the generalized velocity of joint i_joint: . |
| [in] | OMxF | angular velocity vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_OMxF | the partial derivative of OMxF with respect to the generalized velocity of joint i_joint: . |
| [in] | AxF | acceleration vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_AxF | the partial derivative of AxF with respect to the generalized velocity of joint i_joint: . |
| [in] | OMPxF | angular acceleration vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_OMPxF | the partial derivative of OMPxF with respect to the generalized velocity 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_force | the ID identifying the computed force sensor. |
| [in] | i_joint | the index of the generalized velocity. |
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_ExtForces_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_force, | ||
| int | i_joint | ||
| ) |
Compute the partial derivative of an user-specified external force with respect to a generalized acceleration.
| [in] | PxF | position vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_PxF | the partial derivative of PxF with respect to the generalized velocity of joint i_joint: . |
| [in] | RxF | rotation matrix (index starting at 1) from the inertial frame to the force sensor frame: |
| [in] | d_RxF | the partial derivative of matrix RxF with respect to the generalized velocity of joint i_joint: . |
| [in] | VxF | velocity vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_VxF | the partial derivative of VxF with respect to the generalized velocity of joint i_joint: . |
| [in] | OMxF | angular velocity vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_OMxF | the partial derivative of OMxF with respect to the generalized velocity of joint i_joint: . |
| [in] | AxF | acceleration vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_AxF | the partial derivative of AxF with respect to the generalized velocity of joint i_joint: . |
| [in] | OMPxF | angular acceleration vector (index starting at 1) of the force sensor expressed in the inertial frame: . |
| [in] | d_OMPxF | the partial derivative of OMPxF with respect to the generalized velocity 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_force | the ID identifying the computed force sensor. |
| [in] | i_joint | the index of the generalized velocity. |
The content of the returned vector dSWr_dqdd is [dF_dqdd; dMx_dqdd; ddxF_dqdd]:
![$\left[\frac{\partial Fx}{\partial \ddot{q}_{i\_joint}} ; \frac{\partial Fy}{\partial \ddot{q}_{i\_joint}} ; \frac{\partial Fz}{\partial \ddot{q}_{i\_joint}}\right]$](form_68.png)
![$\left[\frac{\partial Mx}{\partial \ddot{q}_{i\_joint}} ; \frac{\partial My}{\partial \ddot{q}_{i\_joint}} ; \frac{\partial Mz}{\partial \ddot{q}_{i\_joint}}\right]$](form_69.png)
1.8.17