se2ez
se2ez::plan::LineConstraint Class Reference

#include <constraint.h>

Inheritance diagram for se2ez::plan::LineConstraint:
[legend]

Classes

struct  Result
 

Public Member Functions

 LineConstraint (const std::string &name, const RobotPtr &robot, const std::string &frame, const std::string &base, const Eigen::Vector2d &a, const Eigen::Vector2d &b)
 
ompl::base::FoliationPtr copy () const override
 
Eigen::VectorXd getTransversal (const Eigen::Ref< const Eigen::VectorXd > &state) const override
 
ompl::base::ConstraintPtr getLeaf (const Eigen::Ref< const Eigen::VectorXd > &tv) const override
 
ompl::base::FoliationPtr getFrond (const Eigen::Ref< const Eigen::VectorXd > &a, const Eigen::Ref< const Eigen::VectorXd > &b) const override
 
void getEndpoints (Eigen::Ref< Eigen::VectorXd > a, Eigen::Ref< Eigen::VectorXd > b, const StatePtr &state) const
 
- Public Member Functions inherited from se2ez::plan::FrameConstraint
void function (const ompl::base::State *state, Eigen::Ref< Eigen::VectorXd > out) const override
 
void function (const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::Ref< Eigen::VectorXd > out) const override
 
void jacobian (const ompl::base::State *state, Eigen::Ref< Eigen::MatrixXd > out) const override
 
void jacobian (const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::Ref< Eigen::MatrixXd > out) const override
 
bool project (ompl::base::State *state) const override
 
bool project (Eigen::Ref< Eigen::VectorXd > x) const override
 
double distance (const ompl::base::State *state) const override
 
bool isSatisfied (const ompl::base::State *state) const override
 
void setDrawOffset (const Eigen::Ref< const Eigen::Vector2d > &v)
 
const Eigen::Vector2d & getDrawOffset () const
 
- Public Member Functions inherited from ompl::base::Foliation
 Foliation (const unsigned int ambientDim, const unsigned int coDim, const unsigned int leafDim, double tolerance=magic::CONSTRAINT_PROJECTION_TOLERANCE)
 
unsigned int getLeafDimension () const
 
unsigned int getTransverseDimension () const
 
void setLeafDimension (unsigned int p)
 
void setTransverseDimension (unsigned int t)
 

Protected Member Functions

void functionInternal (const Eigen::Isometry2d &pose, const Eigen::Isometry2d &base, Eigen::Ref< Eigen::VectorXd > out) const override
 
void jacobianInternal (const Eigen::Isometry2d &pose, const Eigen::Isometry2d &base, const Eigen::MatrixXd &jac, Eigen::Ref< Eigen::MatrixXd > out) const override
 
- Protected Member Functions inherited from se2ez::plan::FrameConstraint
 FrameConstraint (const std::string &name, const RobotPtr &robot, const std::string &frame, const std::string &base, unsigned int dimension=1, unsigned int leaf=0)
 
const std::pair< Eigen::Isometry2d, Eigen::Isometry2d > getPose (const ompl::base::State *state) const
 
const std::pair< Eigen::Isometry2d, Eigen::Isometry2d > getPose (const Eigen::Ref< const Eigen::VectorXd > &x) const
 

Private Types

enum  Place {
  A,
  LINE,
  B
}
 

Private Member Functions

void getPlace (const Eigen::Isometry2d &pose, const Eigen::Isometry2d &base, Result &r) const
 

Private Attributes

const Eigen::Vector2d a_
 
const Eigen::Vector2d b_
 
const Eigen::Vector2d v_
 
const double abn_
 

Additional Inherited Members

- Protected Attributes inherited from se2ez::plan::FrameConstraint
Eigen::Vector2d draw_ {Eigen::Vector2d::Zero()}
 
const std::string name_
 
const RobotPtr robot_
 
const std::string frame_
 
const std::string base_
 
StatePtr state_
 
std::recursive_mutex mutex_
 
- Protected Attributes inherited from ompl::base::Foliation
unsigned int p_
 Leaf dimension. More...
 
unsigned int t_
 Transverse dimension. More...
 

Detailed Description

Definition at line 76 of file constraint.h.

Member Enumeration Documentation

◆ Place

Enumerator
LINE 

Definition at line 101 of file constraint.h.

Constructor & Destructor Documentation

◆ LineConstraint()

plan::LineConstraint::LineConstraint ( const std::string name,
const RobotPtr robot,
const std::string frame,
const std::string base,
const Eigen::Vector2d &  a,
const Eigen::Vector2d &  b 
)

LineConstraint

Definition at line 236 of file constraint.cpp.

Member Function Documentation

◆ copy()

ompl::base::FoliationPtr plan::LineConstraint::copy ( ) const
overridevirtual

Implements ompl::base::Foliation.

Definition at line 247 of file constraint.cpp.

◆ functionInternal()

void plan::LineConstraint::functionInternal ( const Eigen::Isometry2d &  pose,
const Eigen::Isometry2d &  base,
Eigen::Ref< Eigen::VectorXd >  out 
) const
overrideprotectedvirtual

Implements se2ez::plan::FrameConstraint.

Definition at line 339 of file constraint.cpp.

◆ getEndpoints()

void plan::LineConstraint::getEndpoints ( Eigen::Ref< Eigen::VectorXd >  a,
Eigen::Ref< Eigen::VectorXd >  b,
const StatePtr state 
) const

Definition at line 413 of file constraint.cpp.

◆ getFrond()

ompl::base::FoliationPtr plan::LineConstraint::getFrond ( const Eigen::Ref< const Eigen::VectorXd > &  a,
const Eigen::Ref< const Eigen::VectorXd > &  b 
) const
overridevirtual

Implements ompl::base::Foliation.

Definition at line 307 of file constraint.cpp.

◆ getLeaf()

ompl::base::ConstraintPtr plan::LineConstraint::getLeaf ( const Eigen::Ref< const Eigen::VectorXd > &  tv) const
overridevirtual

Implements ompl::base::Foliation.

Definition at line 285 of file constraint.cpp.

◆ getPlace()

void plan::LineConstraint::getPlace ( const Eigen::Isometry2d &  pose,
const Eigen::Isometry2d &  base,
Result r 
) const
private

Definition at line 379 of file constraint.cpp.

◆ getTransversal()

Eigen::VectorXd plan::LineConstraint::getTransversal ( const Eigen::Ref< const Eigen::VectorXd > &  state) const
overridevirtual

Implements ompl::base::Foliation.

Definition at line 252 of file constraint.cpp.

◆ jacobianInternal()

void plan::LineConstraint::jacobianInternal ( const Eigen::Isometry2d &  pose,
const Eigen::Isometry2d &  base,
const Eigen::MatrixXd &  jac,
Eigen::Ref< Eigen::MatrixXd >  out 
) const
overrideprotectedvirtual

Implements se2ez::plan::FrameConstraint.

Definition at line 359 of file constraint.cpp.

Member Data Documentation

◆ a_

const Eigen::Vector2d se2ez::plan::LineConstraint::a_
private

Definition at line 123 of file constraint.h.

◆ abn_

const double se2ez::plan::LineConstraint::abn_
private

Definition at line 126 of file constraint.h.

◆ b_

const Eigen::Vector2d se2ez::plan::LineConstraint::b_
private

Definition at line 124 of file constraint.h.

◆ v_

const Eigen::Vector2d se2ez::plan::LineConstraint::v_
private

Definition at line 125 of file constraint.h.


The documentation for this class was generated from the following files: