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

#include <collision_distance.h>

Inheritance diagram for exotica::CollisionDistance:
Inheritance graph
Collaboration diagram for exotica::CollisionDistance:
Collaboration graph

Public Member Functions

void AssignScene (ScenePtr scene) override
 
void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRef phi) override
 
void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRef phi, Eigen::MatrixXdRef J) override
 
int TaskSpaceDim () override
 
std::vector< CollisionProxyget_collision_proxies ()
 
- 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< CollisionDistanceInitializer >
void InstantiateInternal (const Initializer &init) override
 
Initializer GetInitializerTemplate () override
 
std::vector< InitializerGetAllTemplates () const override
 
virtual void Instantiate (const CollisionDistanceInitializer &init)
 
const CollisionDistanceInitializer & GetParameters () const
 

Private Member Functions

void Initialize ()
 
void UpdateInternal (Eigen::VectorXdRefConst x, Eigen::VectorXdRef phi, Eigen::MatrixXdRef J, bool updateJacobian=true)
 

Private Attributes

std::vector< std::string > robot_joints_
 
std::map< std::string, std::vector< std::string > > controlled_joint_to_collision_link_map_
 
bool check_self_collision_ = true
 
double robot_margin_
 
double world_margin_
 
std::vector< CollisionProxyclosest_proxies_
 
int dim_
 
CollisionScenePtr cscene_
 

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

Member Function Documentation

◆ AssignScene()

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

Reimplemented from exotica::TaskMap.

◆ get_collision_proxies()

std::vector<CollisionProxy> exotica::CollisionDistance::get_collision_proxies ( )
inline

◆ Initialize()

void exotica::CollisionDistance::Initialize ( )
private

◆ TaskSpaceDim()

int exotica::CollisionDistance::TaskSpaceDim ( )
overridevirtual

Implements exotica::TaskMap.

◆ Update() [1/2]

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

Implements exotica::TaskMap.

◆ Update() [2/2]

void exotica::CollisionDistance::Update ( Eigen::VectorXdRefConst  x,
Eigen::VectorXdRef  phi,
Eigen::MatrixXdRef  J 
)
overridevirtual

Reimplemented from exotica::TaskMap.

◆ UpdateInternal()

void exotica::CollisionDistance::UpdateInternal ( Eigen::VectorXdRefConst  x,
Eigen::VectorXdRef  phi,
Eigen::MatrixXdRef  J,
bool  updateJacobian = true 
)
private

Member Data Documentation

◆ check_self_collision_

bool exotica::CollisionDistance::check_self_collision_ = true
private

◆ closest_proxies_

std::vector<CollisionProxy> exotica::CollisionDistance::closest_proxies_
private

◆ controlled_joint_to_collision_link_map_

std::map<std::string, std::vector<std::string> > exotica::CollisionDistance::controlled_joint_to_collision_link_map_
private

◆ cscene_

CollisionScenePtr exotica::CollisionDistance::cscene_
private

◆ dim_

int exotica::CollisionDistance::dim_
private

◆ robot_joints_

std::vector<std::string> exotica::CollisionDistance::robot_joints_
private

◆ robot_margin_

double exotica::CollisionDistance::robot_margin_
private

◆ world_margin_

double exotica::CollisionDistance::world_margin_
private

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