analytical constraints

Warning

doxygenclass: Cannot find class “jiminy::AbstractConstraint” in doxygen xml output for project “jiminy” from directory: /home/runner/work/jiminy/jiminy/build/doxygen/xml

class jiminy::FixedFrameConstraint : public jiminy::AbstractConstraintTpl<FixedFrameConstraint>

Public Functions

FixedFrameConstraint(FixedFrameConstraint const &abstractConstraint) = delete

Forbid the copy of the class.

FixedFrameConstraint &operator=(FixedFrameConstraint const &other) = delete
inline auto shared_from_this()
FixedFrameConstraint(std::string const &frameName, Eigen::Matrix<bool_t, 6, 1> const &maskFixed = Eigen::Matrix<bool_t, 6, 1>::Constant(true))

Constructor.

Parameters

frameName[in] Name of the frame on which the constraint is to be applied.

virtual ~FixedFrameConstraint(void)
std::string const &getFrameName(void) const
frameIndex_t const &getFrameIdx(void) const
std::vector<uint32_t> const &getDofsFixed(void) const
void setReferenceTransform(pinocchio::SE3 const &transformRef)
pinocchio::SE3 const &getReferenceTransform(void) const
void setLocalFrame(matrix3_t const &frameRot)
matrix3_t const &getLocalFrame(void) const
virtual hresult_t reset(vectorN_t const &q, vectorN_t const &v) final override

Refresh the internal buffers and proxies.

Remark

This method is not intended to be called manually. The Robot to which the constraint is added is taking care of it when its own reset method is called.

virtual hresult_t computeJacobianAndDrift(vectorN_t const &q, vectorN_t const &v) final override

Compute the jacobian and drift of the constraint.

Note

To avoid duplicate kinematic computation, it is assumed that computeJointJacobians and framesForwardKinematics has already been called on model->pncModel_.

Parameters
  • q[in] Current joint position.

  • v[in] Current joint velocity.

class jiminy::WheelConstraint : public jiminy::AbstractConstraintTpl<WheelConstraint>

Public Functions

WheelConstraint(WheelConstraint const &abstractConstraint) = delete

Forbid the copy of the class.

WheelConstraint &operator=(WheelConstraint const &other) = delete
inline auto shared_from_this()
WheelConstraint(std::string const &frameName, float64_t const &wheelRadius, vector3_t const &groundNormal, vector3_t const &wheelAxis)

Constructor.

Parameters
  • frameName[in] Name of the frame representing the center of the wheel.

  • wheelRadius[in] Radius of the wheel (in m).

  • groundNormal[in] Unit vector representing the normal to the ground, in the world frame.

  • wheelAxis[in] Axis of the wheel, in the local frame.

virtual ~WheelConstraint(void)
std::string const &getFrameName(void) const
frameIndex_t const &getFrameIdx(void) const
void setReferenceTransform(pinocchio::SE3 const &transformRef)
pinocchio::SE3 const &getReferenceTransform(void) const
virtual hresult_t reset(vectorN_t const&, vectorN_t const&) final override

Refresh the internal buffers and proxies.

Remark

This method is not intended to be called manually. The Robot to which the constraint is added is taking care of it when its own reset method is called.

virtual hresult_t computeJacobianAndDrift(vectorN_t const &q, vectorN_t const &v) final override

Compute the jacobian and drift of the constraint.

Note

To avoid duplicate kinematic computation, it is assumed that computeJointJacobians and framesForwardKinematics has already been called on model->pncModel_.

Parameters
  • q[in] Current joint position.

  • v[in] Current joint velocity.