Exotica
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
exotica::InteractionMesh Class Reference

#include <interaction_mesh.h>

Inheritance diagram for exotica::InteractionMesh:
Inheritance graph
Collaboration diagram for exotica::InteractionMesh:
Collaboration graph

Public Member Functions

 InteractionMesh ()
 
virtual ~InteractionMesh ()
 
void Instantiate (const InteractionMeshInitializer &init) override
 
void AssignScene (ScenePtr scene) 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 SetWeight (int i, int j, double weight)
 
void SetWeights (const Eigen::MatrixXd &weights)
 
Eigen::MatrixXd GetWeights ()
 
void ComputeGoalLaplace (const Eigen::VectorXd &x, Eigen::VectorXd &goal)
 
- Public Member Functions inherited from exotica::TaskMap
virtual void InstantiateBase (const Initializer &init)
 
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< InteractionMeshInitializer >
void InstantiateInternal (const Initializer &init) override
 
Initializer GetInitializerTemplate () override
 
std::vector< InitializerGetAllTemplates () const override
 
const InteractionMeshInitializer & GetParameters () const
 

Static Public Member Functions

static Eigen::VectorXd ComputeLaplace (Eigen::VectorXdRefConst eff_Phi, Eigen::MatrixXdRefConst weights, Eigen::MatrixXd *dist=nullptr, Eigen::VectorXd *wsum=nullptr)
 
static void ComputeGoalLaplace (const std::vector< KDL::Frame > &nodes, Eigen::VectorXd &goal, Eigen::MatrixXdRefConst weights)
 

Protected Member Functions

void Debug (Eigen::VectorXdRefConst phi)
 
void InitializeDebug (std::string ref)
 
void DestroyDebug ()
 

Protected Attributes

Eigen::MatrixXd weights_
 
int eff_size_ = 0
 
ros::Publisher imesh_mark_pub_
 
visualization_msgs::Marker imesh_mark_
 
- Protected Attributes inherited from exotica::TaskMap
std::vector< KinematicFrameRequestframes_
 
ScenePtr scene_ = nullptr
 
- Protected Attributes inherited from exotica::Instantiable< InteractionMeshInitializer >
InteractionMeshInitializer parameters_
 

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_
 

Constructor & Destructor Documentation

◆ InteractionMesh()

exotica::InteractionMesh::InteractionMesh ( )

◆ ~InteractionMesh()

virtual exotica::InteractionMesh::~InteractionMesh ( )
virtual

Member Function Documentation

◆ AssignScene()

void exotica::InteractionMesh::AssignScene ( ScenePtr  scene)
overridevirtual

Reimplemented from exotica::TaskMap.

◆ ComputeGoalLaplace() [1/2]

void exotica::InteractionMesh::ComputeGoalLaplace ( const Eigen::VectorXd &  x,
Eigen::VectorXd &  goal 
)

◆ ComputeGoalLaplace() [2/2]

static void exotica::InteractionMesh::ComputeGoalLaplace ( const std::vector< KDL::Frame > &  nodes,
Eigen::VectorXd &  goal,
Eigen::MatrixXdRefConst  weights 
)
static

◆ ComputeLaplace()

static Eigen::VectorXd exotica::InteractionMesh::ComputeLaplace ( Eigen::VectorXdRefConst  eff_Phi,
Eigen::MatrixXdRefConst  weights,
Eigen::MatrixXd *  dist = nullptr,
Eigen::VectorXd *  wsum = nullptr 
)
static

◆ Debug()

void exotica::InteractionMesh::Debug ( Eigen::VectorXdRefConst  phi)
protected

◆ DestroyDebug()

void exotica::InteractionMesh::DestroyDebug ( )
protected

◆ GetWeights()

Eigen::MatrixXd exotica::InteractionMesh::GetWeights ( )

◆ InitializeDebug()

void exotica::InteractionMesh::InitializeDebug ( std::string  ref)
protected

◆ Instantiate()

void exotica::InteractionMesh::Instantiate ( const InteractionMeshInitializer &  init)
overridevirtual

◆ SetWeight()

void exotica::InteractionMesh::SetWeight ( int  i,
int  j,
double  weight 
)

◆ SetWeights()

void exotica::InteractionMesh::SetWeights ( const Eigen::MatrixXd &  weights)

◆ TaskSpaceDim()

int exotica::InteractionMesh::TaskSpaceDim ( )
overridevirtual

Implements exotica::TaskMap.

◆ Update() [1/2]

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

Implements exotica::TaskMap.

◆ Update() [2/2]

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

Reimplemented from exotica::TaskMap.

Member Data Documentation

◆ eff_size_

int exotica::InteractionMesh::eff_size_ = 0
protected

◆ imesh_mark_

visualization_msgs::Marker exotica::InteractionMesh::imesh_mark_
protected

◆ imesh_mark_pub_

ros::Publisher exotica::InteractionMesh::imesh_mark_pub_
protected

◆ weights_

Eigen::MatrixXd exotica::InteractionMesh::weights_
protected

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