|
| virtual | ~RelativeCom () |
| |
| | RelativeCom (const DevicePtr_t &robot, const CenterOfMassComputationPtr_t &comc, const JointPtr_t &joint, const vector3_t reference, std::vector< bool > mask, const std::string &name) |
| |
| virtual std::ostream & | print (std::ostream &o) const |
| | Display object in a stream.
|
| |
| virtual | ~DifferentiableFunction () |
| |
| LiegroupElement | operator() (vectorIn_t argument) const |
| |
| void | value (LiegroupElementRef result, vectorIn_t argument) const |
| |
| void | jacobian (matrixOut_t jacobian, vectorIn_t argument) const |
| |
| const ArrayXb & | activeParameters () const |
| |
| const ArrayXb & | activeDerivativeParameters () const |
| |
| size_type | inputSize () const |
| | Get dimension of input vector.
|
| |
| size_type | inputDerivativeSize () const |
| |
| LiegroupSpacePtr_t | outputSpace () const |
| | Get output space.
|
| |
| size_type | outputSize () const |
| | Get dimension of output vector.
|
| |
| size_type | outputDerivativeSize () const |
| | Get dimension of output derivative vector.
|
| |
| const std::string & | name () const |
| | Get function name.
|
| |
| std::string | context () const |
| |
| void | context (const std::string &c) |
| |
| void | finiteDifferenceForward (matrixOut_t jacobian, vectorIn_t arg, DevicePtr_t robot=DevicePtr_t(), value_type eps=std::sqrt(Eigen::NumTraits< value_type >::epsilon())) const |
| |
| void | finiteDifferenceCentral (matrixOut_t jacobian, vectorIn_t arg, DevicePtr_t robot=DevicePtr_t(), value_type eps=std::sqrt(Eigen::NumTraits< value_type >::epsilon())) const |
| |
| bool | operator== (DifferentiableFunction const &other) const |
| |
| bool | operator!= (DifferentiableFunction const &b) const |
| |
| virtual std::pair< JointConstPtr_t, JointConstPtr_t > | dependsOnRelPoseBetween (DeviceConstPtr_t) const |
| |
|
| static EIGEN_MAKE_ALIGNED_OPERATOR_NEW RelativeComPtr_t | create (const DevicePtr_t &robot, const JointPtr_t &joint, const vector3_t reference, std::vector< bool > mask=std::vector< bool >(3, true)) |
| | Return a shared pointer to a new instance.
|
| |
| static RelativeComPtr_t | create (const std::string &name, const DevicePtr_t &robot, const JointPtr_t &joint, const vector3_t reference, std::vector< bool > mask=std::vector< bool >(3, true)) |
| |
| static RelativeComPtr_t | create (const DevicePtr_t &robot, const CenterOfMassComputationPtr_t &comc, const JointPtr_t &joint, const vector3_t reference, std::vector< bool > mask=std::vector< bool >(3, true)) |
| |
| static RelativeComPtr_t | create (const std::string &name, const DevicePtr_t &robot, const CenterOfMassComputationPtr_t &comc, const JointPtr_t &joint, const vector3_t reference, std::vector< bool > mask=std::vector< bool >(3, true)) |
| |
|
| virtual void | impl_compute (LiegroupElementRef result, ConfigurationIn_t argument) const |
| |
| virtual void | impl_jacobian (matrixOut_t jacobian, ConfigurationIn_t arg) const |
| |
| bool | isEqual (const DifferentiableFunction &other) const |
| |
| | DifferentiableFunction (size_type sizeInput, size_type sizeInputDerivative, size_type sizeOutput, std::string name=std::string()) |
| | Concrete class constructor should call this constructor.
|
| |
| | DifferentiableFunction (size_type sizeInput, size_type sizeInputDerivative, const LiegroupSpacePtr_t &outputSpace, std::string name=std::string()) |
| | Concrete class constructor should call this constructor.
|
| |
| virtual void | impl_compute (LiegroupElementRef result, vectorIn_t argument) const =0 |
| | User implementation of function evaluation.
|
| |
| virtual void | impl_jacobian (matrixOut_t jacobian, vectorIn_t arg) const =0 |
| |
| | DifferentiableFunction () |
| |
Constraint on the relative position of the center of mass
The value of the function is defined as the position of the center of mass in the reference frame of a joint.
\begin{eqnarray*}
\mathbf{f}(\mathbf{q}) &=& R^T \left(\mathbf{x} - \mathbf{t}\right)
- \mathbf{x}^{*}\\
\mathbf{\dot{f}} &=& R^T \left(
J_{com} + [\mathbf{x}-\mathbf{t}]_{\times}J_{joint}^{\omega}
- J_{joint}^{\mathbf{v}}\right)\mathbf{\dot{q}}
\end{eqnarray*}
where
- \(
\left(\begin{array}{cc} R & \mathbf{t} \\ 0 & 1\end{array}\right)
\) is the position of the joint,
- \(\mathbf{x}\) is the position of the center of mass,
- \(\mathbf{x}^{*}\) is the desired position of the center of mass expressed in joint frame.