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

#include <sphere_collision.h>

Inheritance diagram for exotica::SphereCollision:
Inheritance graph
Collaboration diagram for exotica::SphereCollision:
Collaboration graph

Public Member Functions

void Instantiate (const SphereCollisionInitializer &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
 
- 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< SphereCollisionInitializer >
void InstantiateInternal (const Initializer &init) override
 
Initializer GetInitializerTemplate () override
 
std::vector< InitializerGetAllTemplates () const override
 
const SphereCollisionInitializer & GetParameters () const
 

Private Member Functions

double Distance (const KDL::Frame &eff_A, const KDL::Frame &eff_B, double r_A, double r_B)
 
void Jacobian (const KDL::Frame &eff_A, const KDL::Frame &eff_B, const KDL::Jacobian &jacA, const KDL::Jacobian &jacB, double r_A, double r_B, Eigen::Block< Eigen::Ref< Eigen::MatrixXd >, 1, -1, false > ret)
 

Private Attributes

std::map< std::string, std::vector< int > > groups_
 
std::vector< double > radiuses_
 
visualization_msgs::MarkerArray debug_msg_
 
ros::Publisher debug_pub_
 
double eps_
 
int dim_
 

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

Member Function Documentation

◆ Distance()

double exotica::SphereCollision::Distance ( const KDL::Frame &  eff_A,
const KDL::Frame &  eff_B,
double  r_A,
double  r_B 
)
private

◆ Instantiate()

void exotica::SphereCollision::Instantiate ( const SphereCollisionInitializer &  init)
overridevirtual

◆ Jacobian()

void exotica::SphereCollision::Jacobian ( const KDL::Frame &  eff_A,
const KDL::Frame &  eff_B,
const KDL::Jacobian &  jacA,
const KDL::Jacobian &  jacB,
double  r_A,
double  r_B,
Eigen::Block< Eigen::Ref< Eigen::MatrixXd >, 1, -1, false >  ret 
)
private

◆ TaskSpaceDim()

int exotica::SphereCollision::TaskSpaceDim ( )
overridevirtual

Implements exotica::TaskMap.

◆ Update() [1/2]

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

Implements exotica::TaskMap.

◆ Update() [2/2]

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

Reimplemented from exotica::TaskMap.

Member Data Documentation

◆ debug_msg_

visualization_msgs::MarkerArray exotica::SphereCollision::debug_msg_
private

◆ debug_pub_

ros::Publisher exotica::SphereCollision::debug_pub_
private

◆ dim_

int exotica::SphereCollision::dim_
private

◆ eps_

double exotica::SphereCollision::eps_
private

◆ groups_

std::map<std::string, std::vector<int> > exotica::SphereCollision::groups_
private

◆ radiuses_

std::vector<double> exotica::SphereCollision::radiuses_
private

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