4#include <pinocchio/multibody/model.hpp> 5#include <pinocchio/algorithm/joint-configuration.hpp> 16template <
typename _Scalar>
28 :
Base(model.nq, model.nv)
48 VectorRef xout)
const {
53 MatrixRef Jout,
int arg)
const {
65 const ConstVectorRef &v, MatrixRef Jout,
80 VectorRef vout)
const {
85 MatrixRef Jout,
int arg)
const {
97 const Scalar &u, VectorRef out)
const {
105 model_.upperPositionLimit, out);
117template <
typename Scalar>
void difference(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Eigen::MatrixBase< ReturnType > &dvout)
bool isNormalized(const Eigen::MatrixBase< VectorLike > &vec, const typename VectorLike::RealScalar &prec=Eigen::NumTraits< typename VectorLike::Scalar >::dummy_precision())
Eigen::Matrix< typename LieGroupCollection::Scalar, Eigen::Dynamic, 1, LieGroupCollection::Options > neutral(const LieGroupGenericTpl< LieGroupCollection > &lg)
void integrate(const LieGroupGenericTpl< LieGroupCollection > &lg, const Eigen::MatrixBase< ConfigIn_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< ConfigOut_t > &qout)
void dIntegrateTransport(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< JacobianMatrixType1 > &Jin, const Eigen::MatrixBase< JacobianMatrixType2 > &Jout, const ArgumentPosition arg)
void randomConfiguration(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &lowerLimits, const Eigen::MatrixBase< ConfigVectorIn2 > &upperLimits, const Eigen::MatrixBase< ReturnType > &qout)
void interpolate(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Scalar &u, const Eigen::MatrixBase< ReturnType > &qout)
void dDifference(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVector1 > &q0, const Eigen::MatrixBase< ConfigVector2 > &q1, const Eigen::MatrixBase< JacobianMatrix > &J, const ArgumentPosition arg)
void dIntegrate(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< JacobianMatrixType > &J, const ArgumentPosition arg, const AssignmentOperatorType op=SETTO)
ManifoldAbstractTpl(int nx, int ndx)
Multibody configuration group , defined using the Pinocchio library.
MultibodyConfiguration(const MultibodyConfiguration &)=default
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
void Jintegrate_impl(const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const
void difference_impl(const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef vout) const
Implementation of the manifold retraction operation.
MultibodyConfiguration< Scalar > Self
void Jdifference_impl(const ConstVectorRef &x0, const ConstVectorRef &x1, MatrixRef Jout, int arg) const
MultibodyConfiguration & operator=(MultibodyConfiguration &&)=default
const ModelType & getModel() const
void interpolate_impl(const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const
Interpolation operation.
void neutral_impl(VectorRef out) const
void integrate_impl(const ConstVectorRef &x, const ConstVectorRef &v, VectorRef xout) const
Perform the manifold integration operation.
MultibodyConfiguration & operator=(const MultibodyConfiguration &)=default
MultibodyConfiguration(const ModelType &model)
ManifoldAbstractTpl< Scalar > Base
pinocchio::ModelTpl< Scalar > ModelType
bool isNormalized(const ConstVectorRef &x) const
Check if the input vector x is a viable element of the manifold.
void JintegrateTransport_impl(const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const
MultibodyConfiguration(MultibodyConfiguration &&)=default
void rand_impl(VectorRef out) const
MultibodyPhaseSpace(const ModelType &model)
typename ConfigSpace::ModelType ModelType
const ModelType & getModel() const
MultibodyConfiguration< Scalar > ConfigSpace
MultibodyPhaseSpace(MultibodyPhaseSpace &&)=default
MultibodyPhaseSpace & operator=(const MultibodyPhaseSpace &)=default
MultibodyPhaseSpace(const MultibodyPhaseSpace &)=default
MultibodyPhaseSpace & operator=(MultibodyPhaseSpace &&)=default
TangentBundleTpl(const MultibodyConfiguration< Scalar > &base)
MultibodyConfiguration< Scalar > base_