Template Function pinocchio::getFrameClassicalAcceleration
Defined in File frames.hxx
Function Documentation
-
template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
inline MotionTpl<Scalar, Options> pinocchio::getFrameClassicalAcceleration(const ModelTpl<Scalar, Options, JointCollectionTpl> &model, const DataTpl<Scalar, Options, JointCollectionTpl> &data, const FrameIndex frame_id, const ReferenceFrame rf = LOCAL) Returns the “classical” acceleration of the Frame expressed in the desired reference frame. This is different from the “spatial” acceleration in that centrifugal effects are accounted for. You must first call pinocchio::forwardKinematics to update placement, velocity and acceleration values in data structure.
Remark
In the context of a frame placement constraint \(J(q) a + \dot{J}(q, v) v = 0\), one way to compute the second term \(\dot{J}(q, v) v\) is to call second-order forwardKinematics with a zero acceleration, then read the remaining \(\dot{J}(q, v) v\) by calling this function. This is significantly more efficient than applying the matrix \(\dot{J}(q, v)\) (from getFrameJacobianTimeVariation) to the velocity vector \(v\).
Warning
Second order forwardKinematics should have been called first
- Parameters:
model – [in] The kinematic model
data – [in] Data associated to model
frame_id – [in] Id of the operational Frame
rf – [in] Reference frame in which the acceleration is expressed.
- Returns:
The classical acceleration of the Frame expressed in the desired reference frame.