regressor.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2018-2020 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_algorithm_regressor_hpp__
6 #define __pinocchio_algorithm_regressor_hpp__
7 
10 
11 namespace pinocchio
12 {
13 
22  template<
23  typename Scalar,
24  int Options,
25  template<typename, int>
26  class JointCollectionTpl,
27  typename Matrix6xReturnType>
29  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
30  const DataTpl<Scalar, Options, JointCollectionTpl> & data,
31  const JointIndex joint_id,
32  const ReferenceFrame rf,
33  const SE3Tpl<Scalar, Options> & placement,
34  const Eigen::MatrixBase<Matrix6xReturnType> & kinematic_regressor);
35 
52  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
56  const JointIndex joint_id,
57  const ReferenceFrame rf,
59  {
61  ReturnType res(ReturnType::Zero(6, (model.njoints - 1) * 6));
62 
64 
65  return res;
66  }
67 
75  template<
76  typename Scalar,
77  int Options,
78  template<typename, int>
79  class JointCollectionTpl,
80  typename Matrix6xReturnType>
82  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
83  const DataTpl<Scalar, Options, JointCollectionTpl> & data,
84  const JointIndex joint_id,
85  const ReferenceFrame rf,
86  const Eigen::MatrixBase<Matrix6xReturnType> & kinematic_regressor);
87 
103  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
107  const JointIndex joint_id,
108  const ReferenceFrame rf)
109  {
110  typedef typename DataTpl<Scalar, Options, JointCollectionTpl>::Matrix6x ReturnType;
111  ReturnType res(ReturnType::Zero(6, (model.njoints - 1) * 6));
112 
114 
115  return res;
116  }
117 
125  template<
126  typename Scalar,
127  int Options,
128  template<typename, int>
129  class JointCollectionTpl,
130  typename Matrix6xReturnType>
132  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
133  DataTpl<Scalar, Options, JointCollectionTpl> & data,
134  const FrameIndex frame_id,
135  const ReferenceFrame rf,
136  const Eigen::MatrixBase<Matrix6xReturnType> & kinematic_regressor);
137 
153  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
157  const FrameIndex frame_id,
158  const ReferenceFrame rf)
159  {
160  typedef typename DataTpl<Scalar, Options, JointCollectionTpl>::Matrix6x ReturnType;
161  ReturnType res(ReturnType::Zero(6, (model.njoints - 1) * 6));
162 
164 
165  return res;
166  }
167 
187  template<
188  typename Scalar,
189  int Options,
190  template<typename, int>
191  class JointCollectionTpl,
192  typename ConfigVectorType>
194  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
195  DataTpl<Scalar, Options, JointCollectionTpl> & data,
196  const Eigen::MatrixBase<ConfigVectorType> & q);
197 
208  template<typename MotionVelocity, typename MotionAcceleration, typename OutputType>
209  inline void bodyRegressor(
210  const MotionDense<MotionVelocity> & v,
211  const MotionDense<MotionAcceleration> & a,
212  const Eigen::MatrixBase<OutputType> & regressor);
213 
225  template<typename MotionVelocity, typename MotionAcceleration>
226  inline Eigen::Matrix<
227  typename MotionVelocity::Scalar,
228  6,
229  10,
231  bodyRegressor(const MotionDense<MotionVelocity> & v, const MotionDense<MotionAcceleration> & a);
232 
251  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
254  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
255  DataTpl<Scalar, Options, JointCollectionTpl> & data,
257 
276  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
279  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
280  DataTpl<Scalar, Options, JointCollectionTpl> & data,
282 
307  template<
308  typename Scalar,
309  int Options,
310  template<typename, int>
311  class JointCollectionTpl,
312  typename ConfigVectorType,
313  typename TangentVectorType1,
314  typename TangentVectorType2>
317  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
318  DataTpl<Scalar, Options, JointCollectionTpl> & data,
319  const Eigen::MatrixBase<ConfigVectorType> & q,
320  const Eigen::MatrixBase<TangentVectorType1> & v,
321  const Eigen::MatrixBase<TangentVectorType2> & a);
322 
341  template<
342  typename Scalar,
343  int Options,
344  template<typename, int>
345  class JointCollectionTpl,
346  typename ConfigVectorType,
347  typename TangentVectorType>
349  computeKineticEnergyRegressor(
350  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
351  DataTpl<Scalar, Options, JointCollectionTpl> & data,
352  const Eigen::MatrixBase<ConfigVectorType> & q,
353  const Eigen::MatrixBase<TangentVectorType> & v);
354 
371  template<
372  typename Scalar,
373  int Options,
374  template<typename, int>
375  class JointCollectionTpl,
376  typename ConfigVectorType>
379  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
380  DataTpl<Scalar, Options, JointCollectionTpl> & data,
381  const Eigen::MatrixBase<ConfigVectorType> & q);
382 } // namespace pinocchio
383 
384 /* --- Details -------------------------------------------------------------------- */
385 #include "pinocchio/algorithm/regressor.hxx"
386 
387 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
388  #include "pinocchio/algorithm/regressor.txx"
389 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
390 
391 #endif // ifndef __pinocchio_algorithm_regressor_hpp__
pinocchio::DataTpl::MatrixXs
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > MatrixXs
Definition: multibody/data.hpp:74
pinocchio::FrameIndex
Index FrameIndex
Definition: multibody/fwd.hpp:28
pinocchio::DataTpl
Definition: context/generic.hpp:25
pinocchio::Options
Options
Definition: joint-configuration.hpp:1116
pinocchio::ReferenceFrame
ReferenceFrame
Various conventions to express the velocity of a moving frame.
Definition: multibody/fwd.hpp:46
pinocchio::SE3Tpl< Scalar, Options >
model.hpp
pinocchio::computeJointTorqueRegressor
DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & computeJointTorqueRegressor(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &a)
Computes the joint torque regressor that links the joint torque to the dynamic parameters of each lin...
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
pinocchio::res
ReturnType res
Definition: spatial/classic-acceleration.hpp:57
pinocchio::frameBodyRegressor
DataTpl< Scalar, Options, JointCollectionTpl >::BodyRegressorType & frameBodyRegressor(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, FrameIndex frame_id)
Computes the regressor for the dynamic parameters of a rigid body attached to a given frame,...
pinocchio::placement
const MotionDense< Motion2 > const SE3Tpl< SE3Scalar, SE3Options > & placement
Definition: spatial/classic-acceleration.hpp:122
pinocchio::DataTpl::Matrix3x
Eigen::Matrix< Scalar, 3, Eigen::Dynamic, Options > Matrix3x
The 3d jacobian type (temporary)
Definition: multibody/data.hpp:94
pinocchio::computePotentialEnergyRegressor
const DataTpl< Scalar, Options, JointCollectionTpl >::RowVectorXs & computePotentialEnergyRegressor(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q)
data.hpp
pinocchio::context::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: context/generic.hpp:53
pinocchio::jointBodyRegressor
DataTpl< Scalar, Options, JointCollectionTpl >::BodyRegressorType & jointBodyRegressor(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, JointIndex joint_id)
Computes the regressor for the dynamic parameters of a rigid body attached to a given joint,...
pinocchio::computeJointKinematicRegressor
void computeJointKinematicRegressor(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const JointIndex joint_id, const ReferenceFrame rf, const SE3Tpl< Scalar, Options > &placement, const Eigen::MatrixBase< Matrix6xReturnType > &kinematic_regressor)
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:1117
a
Vec3f a
contact-cholesky.frame_id
frame_id
Definition: contact-cholesky.py:22
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:1118
pinocchio::computeFrameKinematicRegressor
void computeFrameKinematicRegressor(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const FrameIndex frame_id, const ReferenceFrame rf, const Eigen::MatrixBase< Matrix6xReturnType > &kinematic_regressor)
pinocchio::DataTpl::BodyRegressorType
Eigen::Matrix< Scalar, 6, 10, Options > BodyRegressorType
The type of the body regressor.
Definition: multibody/data.hpp:102
pinocchio::bodyRegressor
void bodyRegressor(const MotionDense< MotionVelocity > &v, const MotionDense< MotionAcceleration > &a, const Eigen::MatrixBase< OutputType > &regressor)
Computes the regressor for the dynamic parameters of a single rigid body.
pinocchio::computeStaticRegressor
DataTpl< Scalar, Options, JointCollectionTpl >::Matrix3x & computeStaticRegressor(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q)
Computes the static regressor that links the center of mass positions of all the links to the center ...
pinocchio::JointIndex
Index JointIndex
Definition: multibody/fwd.hpp:26
pinocchio::DataTpl::Matrix6x
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > Matrix6x
The 6d jacobian type (temporary)
Definition: multibody/data.hpp:92
pinocchio::PINOCCHIO_EIGEN_PLAIN_TYPE
PINOCCHIO_EIGEN_PLAIN_TYPE(ConfigVectorType) integrate(const ModelTpl< Scalar
Integrate a configuration vector for the specified model for a tangent vector during one unit time.
pinocchio::DataTpl::RowVectorXs
Eigen::Matrix< Scalar, 1, Eigen::Dynamic, Options|Eigen::RowMajor > RowVectorXs
Definition: multibody/data.hpp:76
append-urdf-model-with-another-model.joint_id
joint_id
Definition: append-urdf-model-with-another-model.py:34
pinocchio::ModelTpl
Definition: context/generic.hpp:20
pinocchio::model
JointCollectionTpl & model
Definition: joint-configuration.hpp:1116
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27


pinocchio
Author(s):
autogenerated on Sat Jun 22 2024 02:41:49