Aikido
aikido::planner::vectorfield::VectorField Class Referenceabstract

This class defines a vector field. More...

#include <aikido/planner/vectorfield/VectorField.hpp>

Inheritance diagram for aikido::planner::vectorfield::VectorField:
aikido::planner::vectorfield::BodyNodePoseVectorField aikido::planner::vectorfield::MoveEndEffectorOffsetVectorField aikido::planner::vectorfield::MoveEndEffectorPoseVectorField

Public Member Functions

 VectorField (aikido::statespace::ConstStateSpacePtr stateSpace)
 Constructor. More...
 
virtual ~VectorField ()=default
 Destructor. More...
 
virtual bool evaluateVelocity (const aikido::statespace::StateSpace::State *state, Eigen::VectorXd &qd) const =0
 Vectorfield callback function. More...
 
virtual VectorFieldPlannerStatus evaluateStatus (const aikido::statespace::StateSpace::State *state) const =0
 Vectorfield planning status callback function. More...
 
virtual bool evaluateTrajectory (const aikido::trajectory::Trajectory &trajectory, const aikido::constraint::Testable *constraint, double evalStepSize, double &evalTimePivot, bool includeEndTime) const =0
 Evaludate whether a trajectory satisfies a constraint. More...
 
aikido::statespace::ConstStateSpacePtr getStateSpace ()
 Returns state space. More...
 
aikido::statespace::ConstStateSpacePtr getStateSpace () const
 Returns const state space. More...
 

Protected Attributes

aikido::statespace::ConstStateSpacePtr mStateSpace
 State space. More...
 

Detailed Description

This class defines a vector field.

Any vector field should inherit this class to implememnt functions (1) evaluateVelocity() that calculates velocity given a state; and (2) evaluteStatus() that checks the planner status given a state.

Constructor & Destructor Documentation

◆ VectorField()

aikido::planner::vectorfield::VectorField::VectorField ( aikido::statespace::ConstStateSpacePtr  stateSpace)
explicit

Constructor.

Parameters
[in]stateSpaceState space that vector field is defined in.

◆ ~VectorField()

virtual aikido::planner::vectorfield::VectorField::~VectorField ( )
virtualdefault

Destructor.

Member Function Documentation

◆ evaluateStatus()

virtual VectorFieldPlannerStatus aikido::planner::vectorfield::VectorField::evaluateStatus ( const aikido::statespace::StateSpace::State state) const
pure virtual

Vectorfield planning status callback function.

Parameters
[in]stateState to evaluate.
Returns
Status of planning.

Implemented in aikido::planner::vectorfield::BodyNodePoseVectorField.

◆ evaluateTrajectory()

virtual bool aikido::planner::vectorfield::VectorField::evaluateTrajectory ( const aikido::trajectory::Trajectory trajectory,
const aikido::constraint::Testable constraint,
double  evalStepSize,
double &  evalTimePivot,
bool  includeEndTime 
) const
pure virtual

Evaludate whether a trajectory satisfies a constraint.

It is checked by a user-defined evaluation step size.

Parameters
[in]trajectoryTrajectory to be evaluated.
[in]constraintConstraint to be satisfied.
[in]evalStepSizeThe step size used in evaluating constraint.
[in,out]evalTimePivotInput provides the start time of the trajectory to evaluate; output returns the end time of the trajectory evaluate.
[in]includeEndTimeWhether end time is included in evaluation. evaluate. satisfaction.

Implemented in aikido::planner::vectorfield::BodyNodePoseVectorField.

◆ evaluateVelocity()

virtual bool aikido::planner::vectorfield::VectorField::evaluateVelocity ( const aikido::statespace::StateSpace::State state,
Eigen::VectorXd &  qd 
) const
pure virtual

Vectorfield callback function.

Parameters
[in]stateStatespace state.
[out]qdJoint velocities.
Returns
Whether joint velocities are successfully computed.

Implemented in aikido::planner::vectorfield::BodyNodePoseVectorField.

◆ getStateSpace() [1/2]

aikido::statespace::ConstStateSpacePtr aikido::planner::vectorfield::VectorField::getStateSpace ( )

Returns state space.

◆ getStateSpace() [2/2]

aikido::statespace::ConstStateSpacePtr aikido::planner::vectorfield::VectorField::getStateSpace ( ) const

Returns const state space.

Member Data Documentation

◆ mStateSpace

aikido::statespace::ConstStateSpacePtr aikido::planner::vectorfield::VectorField::mStateSpace
protected

State space.