|
hpp-core 9.0.2
Implement basic classes for canonical path planning for kinematic chains.
|
#include <hpp/core/relative-motion.hh>
Public Types | |
| enum | RelativeMotionType { Constrained = 0 , Parameterized = 1 , Unconstrained = 2 } |
| typedef Eigen::Matrix< RelativeMotionType, Eigen::Dynamic, Eigen::Dynamic > | matrix_type |
Static Public Member Functions | |
| static matrix_type | matrix (const DevicePtr_t &robot) |
| static void | fromConstraint (matrix_type &matrix, const DevicePtr_t &robot, const ConstraintSetPtr_t &constraint) |
| static void | recurseSetRelMotion (matrix_type &matrix, const size_type &i1, const size_type &i2, const RelativeMotionType &type) |
| static size_type | idx (const JointConstPtr_t &joint) |
| typedef Eigen::Matrix<RelativeMotionType, Eigen::Dynamic, Eigen::Dynamic> hpp::core::RelativeMotion::matrix_type |
Matrix of relative motion
The row and column indices correspond to joint indices in the robot plus one. 0 corresponds to the environment. The values of the matrix are
|
static |
Fill the relative motion matrix with information extracted from the provided ConstraintSet.
|
inlinestatic |
Get the index for a given joint
|
static |
Build a new RelativeMotion matrix from a robot
| robot | a Device, initialize a matrix of size (N+1) x (N+1) where N is the robot number of degrees of freedom. Diagonal elements are set to RelativeMotion::Constrained, other elements are set to RelativeMotion::Unconstrained. |
|
static |
Set the relative motion between two joints
This does nothing if type is Unconstrained. The full matrix is updated as follow. For any indices i0 and i3 different from both i1 and i2:
The RelativeMotionType is deduced as follow: