Drake
drake::manipulation::planner Namespace Reference

Classes

class  ConstraintRelaxingIk
 A wrapper class around the IK planner. More...
 
class  DifferentialInverseKinematicsIntegrator
 A LeafSystem which uses DoDifferentialInverseKinematics to produce joint position commands. More...
 
class  DifferentialInverseKinematicsParameters
 Contains parameters for differential inverse kinematics. More...
 
struct  DifferentialInverseKinematicsResult
 
class  RobotPlanInterpolator
 This class implements a source of joint positions for a robot. More...
 

Enumerations

enum  DifferentialInverseKinematicsStatus { kSolutionFound, kNoSolutionFound, kStuck }
 
enum  InterpolatorType { ZeroOrderHold, FirstOrderHold, Pchip, Cubic }
 This enum specifies the type of interpolator to use in constructing the piece-wise polynomial. More...
 

Functions

std::ostream & operator<< (std::ostream &os, const DifferentialInverseKinematicsStatus value)
 
Vector6< double > ComputePoseDiffInCommonFrame (const Isometry3< double > &X_C0, const Isometry3< double > &X_C1)
 Computes the pose "difference" between pose1 and pose0 s.t. More...
 
DifferentialInverseKinematicsResult DoDifferentialInverseKinematics (const Eigen::Ref< const VectorX< double >> &q_current, const Eigen::Ref< const VectorX< double >> &v_current, const Eigen::Ref< const VectorX< double >> &V, const Eigen::Ref< const MatrixX< double >> &J, const DifferentialInverseKinematicsParameters &parameters)
 Computes a generalized velocity v_next, via the following MathematicalProgram: More...
 
DifferentialInverseKinematicsResult DoDifferentialInverseKinematics (const multibody::MultibodyPlant< double > &robot, const systems::Context< double > &context, const Vector6< double > &V_WE_desired, const multibody::Frame< double > &frame_E, const DifferentialInverseKinematicsParameters &parameters)
 A wrapper over DoDifferentialInverseKinematics(q_current, v_current, V, J, params) that tracks frame E's spatial velocity. More...
 
DifferentialInverseKinematicsResult DoDifferentialInverseKinematics (const multibody::MultibodyPlant< double > &robot, const systems::Context< double > &context, const Isometry3< double > &X_WE_desired, const multibody::Frame< double > &frame_E, const DifferentialInverseKinematicsParameters &parameters)
 A wrapper over DoDifferentialInverseKinematics(robot, context, V_WE_desired, frame_E, params) that tracks frame E's pose in the world frame. More...
 

Enumeration Type Documentation

◆ DifferentialInverseKinematicsStatus

Enumerator
kSolutionFound 

Found the optimal solution.

kNoSolutionFound 

Solver unable to find a solution.

kStuck 

Unable to follow the desired velocity direction likely due to constraints.

◆ InterpolatorType

enum InterpolatorType
strong

This enum specifies the type of interpolator to use in constructing the piece-wise polynomial.

Enumerator
ZeroOrderHold 
FirstOrderHold 
Pchip 
Cubic 

Function Documentation

◆ ComputePoseDiffInCommonFrame()

Vector6<double> drake::manipulation::planner::ComputePoseDiffInCommonFrame ( const Isometry3< double > &  X_C0,
const Isometry3< double > &  X_C1 
)

Computes the pose "difference" between pose1 and pose0 s.t.

the linear part equals p_C1 - p_C0, and the angular part equals R_C1 * R_C0.inv(), where p and R stand for the position and rotation parts, and C is the common frame.

◆ operator<<()

std::ostream& drake::manipulation::planner::operator<< ( std::ostream &  os,
const DifferentialInverseKinematicsStatus  value 
)