29 #ifndef HPP_CONSTRAINTS_EXPLICIT_IMPLICIT_FUNCTION_HH
30 #define HPP_CONSTRAINTS_EXPLICIT_IMPLICIT_FUNCTION_HH
36 namespace constraints {
51 typedef shared_ptr<ImplicitFunction>
Ptr_t;
97 if (robot_ != castother.robot_)
return false;
98 if (inputToOutput_ != castother.inputToOutput_)
return false;
99 if (inputConfIntervals_.
rows() != castother.inputConfIntervals_.
rows())
101 if (outputConfIntervals_.
rows() != castother.outputConfIntervals_.
rows())
103 if (inputDerivIntervals_.
rows() != castother.inputDerivIntervals_.
rows())
105 if (outputDerivIntervals_.
rows() != castother.outputDerivIntervals_.
rows())
129 void computeJacobianBlocks();
137 std::vector<Eigen::MatrixBlocks<false, false> > outJacobian_;
138 std::vector<Eigen::MatrixBlocks<false, false> > inJacobian_;
const RowIndices_t & rows() const
Definition: matrix-view.hh:675
Definition: differentiable-function.hh:63
virtual bool isEqual(const DifferentiableFunction &other) const
Definition: differentiable-function.hh:206
void jacobian(matrixOut_t jacobian, vectorIn_t argument) const
Definition: differentiable-function.hh:88
Definition: implicit-function.hh:49
static Ptr_t create(const LiegroupSpacePtr_t &configSpace, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity)
std::pair< JointConstPtr_t, JointConstPtr_t > dependsOnRelPoseBetween(DeviceConstPtr_t robot) const
const DifferentiableFunctionPtr_t & inputToOutput() const
Get function f that maps input variables to output variables.
shared_ptr< ImplicitFunction > Ptr_t
Definition: implicit-function.hh:51
bool isEqual(const DifferentiableFunction &other) const
Definition: implicit-function.hh:92
void impl_compute(LiegroupElementRef result, vectorIn_t argument) const
Compute g (q_out) - f (q_in)
ImplicitFunction(const LiegroupSpacePtr_t &configSpace, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity)
void impl_jacobian(matrixOut_t jacobian, vectorIn_t arg) const
Compute Jacobian of g (q_out) - f (q_in) with respect to q.
pinocchio::LiegroupElement LiegroupElement
Definition: fwd.hh:65
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:109
pinocchio::DeviceConstPtr_t DeviceConstPtr_t
Definition: fwd.hh:110
pinocchio::LiegroupSpacePtr_t LiegroupSpacePtr_t
Definition: fwd.hh:69
shared_ptr< DifferentiableFunction > DifferentiableFunctionPtr_t
Definition: fwd.hh:113
pinocchio::vectorIn_t vectorIn_t
Definition: fwd.hh:60
pinocchio::matrix_t matrix_t
Definition: fwd.hh:56
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:58
std::vector< segment_t > segments_t
Definition: fwd.hh:84
pinocchio::vector_t vector_t
Definition: fwd.hh:59
pinocchio::LiegroupElementRef LiegroupElementRef
Definition: fwd.hh:66
Definition: active-set-differentiable-function.hh:36