Exotica
Public Member Functions | Private Member Functions | Private Attributes | List of all members
exotica::PointToLine Class Reference

#include <point_to_line.h>

Inheritance diagram for exotica::PointToLine:
Inheritance graph
Collaboration diagram for exotica::PointToLine:
Collaboration graph

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW PointToLine ()
 
virtual ~PointToLine ()
 
void Instantiate (const PointToLineInitializer &init) override
 
void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRef phi) override
 
void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRef phi, Eigen::MatrixXdRef jacobian) override
 
int TaskSpaceDim () override
 
Eigen::Vector3d GetEndPoint ()
 
void SetEndPoint (const Eigen::Vector3d &point)
 
- Public Member Functions inherited from exotica::TaskMap
virtual void InstantiateBase (const Initializer &init)
 
virtual void AssignScene (ScenePtr scene)
 
virtual void Update (Eigen::VectorXdRefConst q, Eigen::VectorXdRef phi, Eigen::MatrixXdRef jacobian, HessianRef hessian)
 
virtual void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRefConst u, Eigen::VectorXdRef phi)
 
virtual void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRefConst u, Eigen::VectorXdRef phi, Eigen::MatrixXdRef dphi_dx, Eigen::MatrixXdRef dphi_du)
 
virtual void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRefConst u, Eigen::VectorXdRef phi, Eigen::MatrixXdRef dphi_dx, Eigen::MatrixXdRef dphi_du, HessianRef ddphi_ddx, HessianRef ddphi_ddu, HessianRef ddphi_dxdu)
 
virtual int TaskSpaceJacobianDim ()
 
virtual void PreUpdate ()
 
virtual std::vector< TaskVectorEntryGetLieGroupIndices ()
 
std::vector< KinematicFrameRequestGetFrames () const
 
- Public Member Functions inherited from exotica::Object
 Object ()
 
virtual ~Object ()
 
virtual std::string type () const
 Type Information wrapper: must be virtual so that it is polymorphic... More...
 
std::string GetObjectName ()
 
void InstantiateObject (const Initializer &init)
 
virtual std::string Print (const std::string &prepend) const
 
- Public Member Functions inherited from exotica::InstantiableBase
 InstantiableBase ()=default
 
virtual ~InstantiableBase ()=default
 
virtual std::vector< InitializerGetAllTemplates () const =0
 
- Public Member Functions inherited from exotica::Instantiable< PointToLineInitializer >
void InstantiateInternal (const Initializer &init) override
 
Initializer GetInitializerTemplate () override
 
std::vector< InitializerGetAllTemplates () const override
 
const PointToLineInitializer & GetParameters () const
 

Private Member Functions

Eigen::Vector3d Direction (const Eigen::Vector3d &point)
 direction computes the vector from a point to its projection on a line More...
 

Private Attributes

Eigen::Vector3d line_start_
 start point of line in base frame More...
 
Eigen::Vector3d line_end_
 end point of line in base frame More...
 
Eigen::Vector3d line_
 vector from start to end point of line More...
 
bool infinite_
 
std::string link_name_
 frame of defined point More...
 
std::string base_name_
 frame of defined line More...
 
ros::Publisher pub_marker_
 publish marker for RViz More...
 
ros::Publisher pub_marker_label_
 marker label More...
 
bool visualize_
 

Additional Inherited Members

- Public Attributes inherited from exotica::TaskMap
std::vector< KinematicSolutionkinematics = std::vector<KinematicSolution>(1)
 
int id = -1
 
int start = -1
 
int length = -1
 
int start_jacobian = -1
 
int length_jacobian = -1
 
bool is_used = false
 
- Public Attributes inherited from exotica::Object
std::string ns_
 
std::string object_name_
 
bool debug_
 
- Protected Attributes inherited from exotica::TaskMap
std::vector< KinematicFrameRequestframes_
 
ScenePtr scene_ = nullptr
 
- Protected Attributes inherited from exotica::Instantiable< PointToLineInitializer >
PointToLineInitializer parameters_
 

Constructor & Destructor Documentation

◆ PointToLine()

EIGEN_MAKE_ALIGNED_OPERATOR_NEW exotica::PointToLine::PointToLine ( )

◆ ~PointToLine()

virtual exotica::PointToLine::~PointToLine ( )
virtual

Member Function Documentation

◆ Direction()

Eigen::Vector3d exotica::PointToLine::Direction ( const Eigen::Vector3d &  point)
private

direction computes the vector from a point to its projection on a line

Parameters
pointpoint in base frame
Returns
3D vector from #point to its projection on #line

◆ GetEndPoint()

Eigen::Vector3d exotica::PointToLine::GetEndPoint ( )

◆ Instantiate()

void exotica::PointToLine::Instantiate ( const PointToLineInitializer &  init)
overridevirtual

◆ SetEndPoint()

void exotica::PointToLine::SetEndPoint ( const Eigen::Vector3d &  point)

◆ TaskSpaceDim()

int exotica::PointToLine::TaskSpaceDim ( )
overridevirtual

Implements exotica::TaskMap.

◆ Update() [1/2]

void exotica::PointToLine::Update ( Eigen::VectorXdRefConst  x,
Eigen::VectorXdRef  phi 
)
overridevirtual

Implements exotica::TaskMap.

◆ Update() [2/2]

void exotica::PointToLine::Update ( Eigen::VectorXdRefConst  x,
Eigen::VectorXdRef  phi,
Eigen::MatrixXdRef  jacobian 
)
overridevirtual

Reimplemented from exotica::TaskMap.

Member Data Documentation

◆ base_name_

std::string exotica::PointToLine::base_name_
private

frame of defined line

◆ infinite_

bool exotica::PointToLine::infinite_
private

true: vector from start to end defines the direction of and infinite line false: start and end define a line segment

◆ line_

Eigen::Vector3d exotica::PointToLine::line_
private

vector from start to end point of line

◆ line_end_

Eigen::Vector3d exotica::PointToLine::line_end_
private

end point of line in base frame

◆ line_start_

Eigen::Vector3d exotica::PointToLine::line_start_
private

start point of line in base frame

◆ link_name_

std::string exotica::PointToLine::link_name_
private

frame of defined point

◆ pub_marker_

ros::Publisher exotica::PointToLine::pub_marker_
private

publish marker for RViz

◆ pub_marker_label_

ros::Publisher exotica::PointToLine::pub_marker_label_
private

marker label

◆ visualize_

bool exotica::PointToLine::visualize_
private

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