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

Limits every given end-effector motion to a box in some reference frame. More...

#include <eff_box.h>

Inheritance diagram for exotica::EffBox:
Inheritance graph
Collaboration diagram for exotica::EffBox:
Collaboration graph

Public Member Functions

void Instantiate (const EffBoxInitializer &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
 
void PublishObjectsAsMarkerArray ()
 
Eigen::Vector3d GetLowerLimit (const int eff_id) const
 
Eigen::Vector3d GetUpperLimit (const int eff_id) const
 
- 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< EffBoxInitializer >
void InstantiateInternal (const Initializer &init) override
 
Initializer GetInitializerTemplate () override
 
std::vector< InitializerGetAllTemplates () const override
 
const EffBoxInitializer & GetParameters () const
 

Private Attributes

Eigen::VectorXd eff_lower_
 End-effector lower x, y, z limit. More...
 
Eigen::VectorXd eff_upper_
 End-effector upper x, y, z limit. More...
 
int n_effs_
 Number of end-effectors. More...
 
int three_times_n_effs_
 
ros::Publisher pub_markers_
 

Three multiplied by the number of end-effectors.

More...
 

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< EffBoxInitializer >
EffBoxInitializer parameters_
 

Detailed Description

Limits every given end-effector motion to a box in some reference frame.

Member Function Documentation

◆ GetLowerLimit()

Eigen::Vector3d exotica::EffBox::GetLowerLimit ( const int  eff_id) const

◆ GetUpperLimit()

Eigen::Vector3d exotica::EffBox::GetUpperLimit ( const int  eff_id) const

◆ Instantiate()

void exotica::EffBox::Instantiate ( const EffBoxInitializer &  init)
overridevirtual

◆ PublishObjectsAsMarkerArray()

void exotica::EffBox::PublishObjectsAsMarkerArray ( )

◆ TaskSpaceDim()

int exotica::EffBox::TaskSpaceDim ( )
overridevirtual

Implements exotica::TaskMap.

◆ Update() [1/2]

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

Implements exotica::TaskMap.

◆ Update() [2/2]

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

Reimplemented from exotica::TaskMap.

Member Data Documentation

◆ eff_lower_

Eigen::VectorXd exotica::EffBox::eff_lower_
private

End-effector lower x, y, z limit.

◆ eff_upper_

Eigen::VectorXd exotica::EffBox::eff_upper_
private

End-effector upper x, y, z limit.

◆ n_effs_

int exotica::EffBox::n_effs_
private

Number of end-effectors.

◆ pub_markers_

ros::Publisher exotica::EffBox::pub_markers_
private

Three multiplied by the number of end-effectors.

publish marker for RViz

◆ three_times_n_effs_

int exotica::EffBox::three_times_n_effs_
private

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