Skip to content

Commit 252effb

Browse files
Cfatherjcarpent
authored andcommitted
add option 2
1 parent 010d6c8 commit 252effb

File tree

3 files changed

+230
-218
lines changed

3 files changed

+230
-218
lines changed

include/pinocchio/algorithm/rnea.hpp

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -80,43 +80,6 @@ namespace pinocchio
8080
const Eigen::MatrixBase<TangentVectorType2> & a,
8181
const container::aligned_vector<ForceDerived> & fext);
8282

83-
///
84-
/// \brief The passivity-based Recursive Newton-Euler algorithm. It computes a modified inverse dynamics, aka the joint
85-
/// torques according to the current state of the system and the auxiliary joint velocities and accelerations.
86-
/// To be more specific, it computes H(q) * a_r + C(q, v) * v_r + g(q)
87-
///
88-
/// \tparam JointCollection Collection of Joint types.
89-
/// \tparam ConfigVectorType Type of the joint configuration vector.
90-
/// \tparam TangentVectorType1 Type of the joint velocity vector.
91-
/// \tparam TangentVectorType2 Type of the auxiliary joint velocity vector.
92-
/// \tparam TangentVectorType3 Type of the auxiliary joint acceleration vector.
93-
///
94-
/// \param[in] model The model structure of the rigid body system.
95-
/// \param[in] data The data structure of the rigid body system.
96-
/// \param[in] q The joint configuration vector (dim model.nq).
97-
/// \param[in] v The joint velocity vector (dim model.nv).
98-
/// \param[in] v_r The auxiliary joint velocity vector (dim model.nv).
99-
/// \param[in] a_r The auxiliary joint acceleration vector (dim model.nv).
100-
///
101-
/// \return The desired joint torques stored in data.tau.
102-
///
103-
template<
104-
typename Scalar,
105-
int Options,
106-
template<typename, int>
107-
class JointCollectionTpl,
108-
typename ConfigVectorType,
109-
typename TangentVectorType1,
110-
typename TangentVectorType2,
111-
typename TangentVectorType3>
112-
const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType & passivityRNEA(
113-
const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
114-
DataTpl<Scalar, Options, JointCollectionTpl> & data,
115-
const Eigen::MatrixBase<ConfigVectorType> & q,
116-
const Eigen::MatrixBase<TangentVectorType1> & v,
117-
const Eigen::MatrixBase<TangentVectorType2> & v_r,
118-
const Eigen::MatrixBase<TangentVectorType3> & a_r);
119-
12083
///
12184
/// \brief Computes the non-linear effects (Corriolis, centrifual and gravitationnal effects),
12285
/// also called the bias terms \f$ b(q,\dot{q}) \f$ of the Lagrangian dynamics: <CENTER> \f$
@@ -258,6 +221,43 @@ namespace pinocchio
258221
const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
259222
DataTpl<Scalar, Options, JointCollectionTpl> & data);
260223

224+
///
225+
/// \brief The passivity-based Recursive Newton-Euler algorithm. It computes a modified inverse dynamics, aka the joint
226+
/// torques according to the current state of the system and the auxiliary joint velocities and accelerations.
227+
/// To be more specific, it computes H(q) * a_r + C(q, v) * v_r + g(q)
228+
///
229+
/// \tparam JointCollection Collection of Joint types.
230+
/// \tparam ConfigVectorType Type of the joint configuration vector.
231+
/// \tparam TangentVectorType1 Type of the joint velocity vector.
232+
/// \tparam TangentVectorType2 Type of the auxiliary joint velocity vector.
233+
/// \tparam TangentVectorType3 Type of the auxiliary joint acceleration vector.
234+
///
235+
/// \param[in] model The model structure of the rigid body system.
236+
/// \param[in] data The data structure of the rigid body system.
237+
/// \param[in] q The joint configuration vector (dim model.nq).
238+
/// \param[in] v The joint velocity vector (dim model.nv).
239+
/// \param[in] v_r The auxiliary joint velocity vector (dim model.nv).
240+
/// \param[in] a_r The auxiliary joint acceleration vector (dim model.nv).
241+
///
242+
/// \return The desired joint torques stored in data.tau.
243+
///
244+
template<
245+
typename Scalar,
246+
int Options,
247+
template<typename, int>
248+
class JointCollectionTpl,
249+
typename ConfigVectorType,
250+
typename TangentVectorType1,
251+
typename TangentVectorType2,
252+
typename TangentVectorType3>
253+
const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType & passivityRNEA(
254+
const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
255+
DataTpl<Scalar, Options, JointCollectionTpl> & data,
256+
const Eigen::MatrixBase<ConfigVectorType> & q,
257+
const Eigen::MatrixBase<TangentVectorType1> & v,
258+
const Eigen::MatrixBase<TangentVectorType2> & v_r,
259+
const Eigen::MatrixBase<TangentVectorType3> & a_r);
260+
261261
} // namespace pinocchio
262262

263263
/* --- Details -------------------------------------------------------------------- */

0 commit comments

Comments
 (0)