Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
exotica::CollisionSceneFCLLatest Class Reference

#include <collision_scene_fcl_latest.h>

Inheritance diagram for exotica::CollisionSceneFCLLatest:
Inheritance graph
[legend]

Classes

struct  CollisionData
 
struct  DistanceData
 

Public Member Functions

ContinuousCollisionProxy ContinuousCollisionCheck (const std::string &o1, const KDL::Frame &tf1_beg, const KDL::Frame &tf1_end, const std::string &o2, const KDL::Frame &tf2_beg, const KDL::Frame &tf2_end) override
 Performs a continuous collision check between two objects with a linear interpolation between two given. More...
 
std::vector< CollisionProxyGetCollisionDistance (bool self) override
 Computes collision distances. More...
 
std::vector< CollisionProxyGetCollisionDistance (const std::string &o1, const std::string &o2) override
 
std::vector< CollisionProxyGetCollisionDistance (const std::string &o1, const bool &self=true) override
 
std::vector< CollisionProxyGetCollisionDistance (const std::vector< std::string > &objects, const bool &self=true) override
 
std::vector< CollisionProxyGetCollisionDistance (const std::string &o1, const bool &self=true, const bool &disable_collision_scene_update=false) override
 
std::vector< std::string > GetCollisionRobotLinks () override
 Gets the collision robot links. More...
 
std::vector< std::string > GetCollisionWorldLinks () override
 Gets the collision world links. More...
 
std::vector< CollisionProxyGetRobotToRobotCollisionDistance (double check_margin) override
 
std::vector< CollisionProxyGetRobotToWorldCollisionDistance (double check_margin) override
 
Eigen::Vector3d GetTranslation (const std::string &name) override
 
bool IsAllowedToCollide (const std::string &o1, const std::string &o2, const bool &self) override
 
bool IsCollisionFree (const std::string &o1, const std::string &o2, double safe_distance=0.0) override
 
bool IsStateValid (bool self=true, double safe_distance=0.0) override
 Check if the whole robot is valid (collision only). More...
 
void Setup () override
 
void UpdateCollisionObjects (const std::map< std::string, std::weak_ptr< KinematicElement >> &objects) override
 Creates the collision scene from kinematic elements. More...
 
void UpdateCollisionObjectTransforms () override
 Updates collision object transformations from the kinematic tree. More...
 
- Public Member Functions inherited from exotica::CollisionScene
void AssignScene (std::shared_ptr< Scene > scene)
 
 CollisionScene ()
 
virtual std::vector< ContinuousCollisionProxyContinuousCollisionCast (const std::vector< std::vector< std::tuple< std::string, Eigen::Isometry3d, Eigen::Isometry3d >>> &motion_transforms)
 
bool get_replace_cylinders_with_capsules () const
 
bool GetAlwaysExternallyUpdatedCollisionScene () const
 
bool GetReplacePrimitiveShapesWithMeshes () const
 
double GetRobotLinkPadding () const
 
double GetRobotLinkScale () const
 
double GetWorldLinkPadding () const
 
double GetWorldLinkScale () const
 
virtual void InstantiateBase (const Initializer &init)
 
void set_replace_cylinders_with_capsules (const bool value)
 
void SetACM (const AllowedCollisionMatrix &acm)
 
void SetAlwaysExternallyUpdatedCollisionScene (const bool value)
 
void SetReplacePrimitiveShapesWithMeshes (const bool value)
 
void SetRobotLinkPadding (const double padding)
 
void SetRobotLinkScale (const double scale)
 
void SetWorldLinkPadding (const double padding)
 
void SetWorldLinkScale (const double scale)
 
virtual ~CollisionScene ()
 
- Public Member Functions inherited from exotica::Object
std::string GetObjectName ()
 
void InstantiateObject (const Initializer &init)
 
 Object ()
 
virtual std::string Print (const std::string &prepend) const
 
virtual std::string type () const
 
virtual ~Object ()
 
- Public Member Functions inherited from exotica::Uncopyable
 Uncopyable ()=default
 
 ~Uncopyable ()=default
 
- Public Member Functions inherited from exotica::InstantiableBase
 InstantiableBase ()=default
 
virtual ~InstantiableBase ()=default
 
- Public Member Functions inherited from exotica::Instantiable< CollisionSceneFCLLatestInitializer >
std::vector< InitializerGetAllTemplates () const override
 
Initializer GetInitializerTemplate () override
 
const CollisionSceneFCLLatestInitializer & GetParameters () const
 
virtual void Instantiate (const CollisionSceneFCLLatestInitializer &init)
 
void InstantiateInternal (const Initializer &init) override
 

Static Public Member Functions

static bool CollisionCallback (fcl::CollisionObjectd *o1, fcl::CollisionObjectd *o2, void *data)
 
static bool CollisionCallbackDistance (fcl::CollisionObjectd *o1, fcl::CollisionObjectd *o2, void *data, double &dist)
 
static bool IsAllowedToCollide (fcl::CollisionObjectd *o1, fcl::CollisionObjectd *o2, bool self, CollisionSceneFCLLatest *scene)
 

Private Member Functions

std::shared_ptr< fcl::CollisionObjectd > ConstructFclCollisionObject (long i, std::shared_ptr< KinematicElement > element)
 
std::vector< fcl::CollisionObjectd * > GetCollisionObjectsFromMapByName (const std::string &frame_name)
 
std::shared_ptr< KinematicElementGetKinematicElementFromMapByName (const std::string &frame_name)
 
std::vector< fcl::CollisionObjectd * > GetRobotCollisionObjectsFromMapByName (const std::string &frame_name)
 
std::vector< fcl::CollisionObjectd * > GetWorldCollisionObjectsFromMapByName (const std::string &frame_name)
 

Static Private Member Functions

static void CheckCollision (fcl::CollisionObjectd *o1, fcl::CollisionObjectd *o2, CollisionData *data)
 
static void ComputeDistance (fcl::CollisionObjectd *o1, fcl::CollisionObjectd *o2, DistanceData *data)
 

Private Attributes

std::shared_ptr< fcl::BroadPhaseCollisionManagerd > broad_phase_collision_manager_
 
std::vector< std::shared_ptr< fcl::CollisionObjectd > > fcl_cache_
 
std::vector< fcl::CollisionObjectd * > fcl_objects_
 
std::map< std::string, std::vector< fcl::CollisionObjectd * > > fcl_objects_map_
 
std::map< std::string, std::vector< fcl::CollisionObjectd * > > fcl_robot_objects_map_
 
std::map< std::string, std::vector< fcl::CollisionObjectd * > > fcl_world_objects_map_
 
std::vector< std::weak_ptr< KinematicElement > > kinematic_elements_
 
std::map< std::string, std::weak_ptr< KinematicElement > > kinematic_elements_map_
 

Additional Inherited Members

- Public Attributes inherited from exotica::CollisionScene
bool debug_
 
- Public Attributes inherited from exotica::Object
bool debug_
 
std::string ns_
 
std::string object_name_
 
- Protected Attributes inherited from exotica::CollisionScene
AllowedCollisionMatrix acm_
 
bool always_externally_updated_collision_scene_
 
bool needs_update_of_collision_objects_
 
bool replace_cylinders_with_capsules_
 
bool replace_primitive_shapes_with_meshes_
 
double robot_link_padding_
 
std::string robot_link_replacement_config_
 
double robot_link_scale_
 
std::weak_ptr< Scenescene_
 
double world_link_padding_
 
double world_link_scale_
 
- Protected Attributes inherited from exotica::Instantiable< CollisionSceneFCLLatestInitializer >
CollisionSceneFCLLatestInitializer parameters_
 

Detailed Description

Definition at line 44 of file collision_scene_fcl_latest.h.

Member Function Documentation

void exotica::CollisionSceneFCLLatest::CheckCollision ( fcl::CollisionObjectd *  o1,
fcl::CollisionObjectd *  o2,
CollisionData data 
)
staticprivate

Definition at line 320 of file collision_scene_fcl_latest.cpp.

bool exotica::CollisionSceneFCLLatest::CollisionCallback ( fcl::CollisionObjectd *  o1,
fcl::CollisionObjectd *  o2,
void *  data 
)
static

Definition at line 337 of file collision_scene_fcl_latest.cpp.

bool exotica::CollisionSceneFCLLatest::CollisionCallbackDistance ( fcl::CollisionObjectd *  o1,
fcl::CollisionObjectd *  o2,
void *  data,
double &  dist 
)
static

Definition at line 529 of file collision_scene_fcl_latest.cpp.

void exotica::CollisionSceneFCLLatest::ComputeDistance ( fcl::CollisionObjectd *  o1,
fcl::CollisionObjectd *  o2,
DistanceData data 
)
staticprivate

Definition at line 347 of file collision_scene_fcl_latest.cpp.

std::shared_ptr< fcl::CollisionObjectd > exotica::CollisionSceneFCLLatest::ConstructFclCollisionObject ( long  i,
std::shared_ptr< KinematicElement element 
)
private

Definition at line 160 of file collision_scene_fcl_latest.cpp.

ContinuousCollisionProxy exotica::CollisionSceneFCLLatest::ContinuousCollisionCheck ( const std::string &  o1,
const KDL::Frame tf1_beg,
const KDL::Frame tf1_end,
const std::string &  o2,
const KDL::Frame tf2_beg,
const KDL::Frame tf2_end 
)
overridevirtual

Performs a continuous collision check between two objects with a linear interpolation between two given.

Parameters
[in]o1The first collision object, by name.
[in]tf1_begThe beginning transform for o1.
[in]tf1_endThe end transform for o1.
[in]o2The second collision object, by name.
[in]tf2_begThe beginning transform for o2.
[in]tf2_endThe end transform for o2.
Returns
ContinuousCollisionProxy.

Reimplemented from exotica::CollisionScene.

Definition at line 764 of file collision_scene_fcl_latest.cpp.

std::vector< CollisionProxy > exotica::CollisionSceneFCLLatest::GetCollisionDistance ( bool  self)
overridevirtual

Computes collision distances.

Parameters
selfIndicate if self collision check is required.
Returns
Collision proximity objects for all colliding pairs of objects.

Reimplemented from exotica::CollisionScene.

Definition at line 579 of file collision_scene_fcl_latest.cpp.

std::vector< CollisionProxy > exotica::CollisionSceneFCLLatest::GetCollisionDistance ( const std::string &  o1,
const std::string &  o2 
)
overridevirtual

Reimplemented from exotica::CollisionScene.

Definition at line 589 of file collision_scene_fcl_latest.cpp.

std::vector< CollisionProxy > exotica::CollisionSceneFCLLatest::GetCollisionDistance ( const std::string &  o1,
const bool &  self = true 
)
overridevirtual

Reimplemented from exotica::CollisionScene.

Definition at line 617 of file collision_scene_fcl_latest.cpp.

std::vector< CollisionProxy > exotica::CollisionSceneFCLLatest::GetCollisionDistance ( const std::vector< std::string > &  objects,
const bool &  self = true 
)
overridevirtual

Reimplemented from exotica::CollisionScene.

Definition at line 677 of file collision_scene_fcl_latest.cpp.

std::vector< CollisionProxy > exotica::CollisionSceneFCLLatest::GetCollisionDistance ( const std::string &  o1,
const bool &  self = true,
const bool &  disable_collision_scene_update = false 
)
overridevirtual

Reimplemented from exotica::CollisionScene.

Definition at line 622 of file collision_scene_fcl_latest.cpp.

std::vector<fcl::CollisionObjectd*> exotica::CollisionSceneFCLLatest::GetCollisionObjectsFromMapByName ( const std::string &  frame_name)
inlineprivate

Definition at line 162 of file collision_scene_fcl_latest.h.

std::vector< std::string > exotica::CollisionSceneFCLLatest::GetCollisionRobotLinks ( )
overridevirtual

Gets the collision robot links.

Returns
The collision robot links.

Implements exotica::CollisionScene.

Definition at line 759 of file collision_scene_fcl_latest.cpp.

std::vector< std::string > exotica::CollisionSceneFCLLatest::GetCollisionWorldLinks ( )
overridevirtual

Gets the collision world links.

Returns
The collision world links.

Implements exotica::CollisionScene.

Definition at line 754 of file collision_scene_fcl_latest.cpp.

std::shared_ptr<KinematicElement> exotica::CollisionSceneFCLLatest::GetKinematicElementFromMapByName ( const std::string &  frame_name)
inlineprivate

Definition at line 138 of file collision_scene_fcl_latest.h.

std::vector<fcl::CollisionObjectd*> exotica::CollisionSceneFCLLatest::GetRobotCollisionObjectsFromMapByName ( const std::string &  frame_name)
inlineprivate

Definition at line 146 of file collision_scene_fcl_latest.h.

std::vector< CollisionProxy > exotica::CollisionSceneFCLLatest::GetRobotToRobotCollisionDistance ( double  check_margin)
overridevirtual

Reimplemented from exotica::CollisionScene.

Definition at line 688 of file collision_scene_fcl_latest.cpp.

std::vector< CollisionProxy > exotica::CollisionSceneFCLLatest::GetRobotToWorldCollisionDistance ( double  check_margin)
overridevirtual

Reimplemented from exotica::CollisionScene.

Definition at line 718 of file collision_scene_fcl_latest.cpp.

Eigen::Vector3d exotica::CollisionSceneFCLLatest::GetTranslation ( const std::string &  name)
overridevirtual

Implements exotica::CollisionScene.

Definition at line 748 of file collision_scene_fcl_latest.cpp.

std::vector<fcl::CollisionObjectd*> exotica::CollisionSceneFCLLatest::GetWorldCollisionObjectsFromMapByName ( const std::string &  frame_name)
inlineprivate

Definition at line 154 of file collision_scene_fcl_latest.h.

bool exotica::CollisionSceneFCLLatest::IsAllowedToCollide ( const std::string &  o1,
const std::string &  o2,
const bool &  self 
)
overridevirtual

Reimplemented from exotica::CollisionScene.

Definition at line 270 of file collision_scene_fcl_latest.cpp.

bool exotica::CollisionSceneFCLLatest::IsAllowedToCollide ( fcl::CollisionObjectd *  o1,
fcl::CollisionObjectd *  o2,
bool  self,
CollisionSceneFCLLatest scene 
)
static

Definition at line 295 of file collision_scene_fcl_latest.cpp.

bool exotica::CollisionSceneFCLLatest::IsCollisionFree ( const std::string &  o1,
const std::string &  o2,
double  safe_distance = 0.0 
)
overridevirtual

Reimplemented from exotica::CollisionScene.

Definition at line 549 of file collision_scene_fcl_latest.cpp.

bool exotica::CollisionSceneFCLLatest::IsStateValid ( bool  self = true,
double  safe_distance = 0.0 
)
overridevirtual

Check if the whole robot is valid (collision only).

Parameters
selfIndicate if self collision check is required.
Returns
True, if the state is collision free.

Implements exotica::CollisionScene.

Definition at line 538 of file collision_scene_fcl_latest.cpp.

void exotica::CollisionSceneFCLLatest::Setup ( )
overridevirtual

Reimplemented from exotica::CollisionScene.

Definition at line 66 of file collision_scene_fcl_latest.cpp.

void exotica::CollisionSceneFCLLatest::UpdateCollisionObjects ( const std::map< std::string, std::weak_ptr< KinematicElement >> &  objects)
overridevirtual

Creates the collision scene from kinematic elements.

Parameters
objectsVector kinematic element pointers of collision objects.

Implements exotica::CollisionScene.

Definition at line 73 of file collision_scene_fcl_latest.cpp.

void exotica::CollisionSceneFCLLatest::UpdateCollisionObjectTransforms ( )
overridevirtual

Updates collision object transformations from the kinematic tree.

Implements exotica::CollisionScene.

Definition at line 132 of file collision_scene_fcl_latest.cpp.

Member Data Documentation

std::shared_ptr<fcl::BroadPhaseCollisionManagerd> exotica::CollisionSceneFCLLatest::broad_phase_collision_manager_
private

Definition at line 122 of file collision_scene_fcl_latest.h.

std::vector<std::shared_ptr<fcl::CollisionObjectd> > exotica::CollisionSceneFCLLatest::fcl_cache_
private

Definition at line 129 of file collision_scene_fcl_latest.h.

std::vector<fcl::CollisionObjectd*> exotica::CollisionSceneFCLLatest::fcl_objects_
private

Definition at line 128 of file collision_scene_fcl_latest.h.

std::map<std::string, std::vector<fcl::CollisionObjectd*> > exotica::CollisionSceneFCLLatest::fcl_objects_map_
private

Definition at line 134 of file collision_scene_fcl_latest.h.

std::map<std::string, std::vector<fcl::CollisionObjectd*> > exotica::CollisionSceneFCLLatest::fcl_robot_objects_map_
private

Definition at line 135 of file collision_scene_fcl_latest.h.

std::map<std::string, std::vector<fcl::CollisionObjectd*> > exotica::CollisionSceneFCLLatest::fcl_world_objects_map_
private

Definition at line 136 of file collision_scene_fcl_latest.h.

std::vector<std::weak_ptr<KinematicElement> > exotica::CollisionSceneFCLLatest::kinematic_elements_
private

Definition at line 130 of file collision_scene_fcl_latest.h.

std::map<std::string, std::weak_ptr<KinematicElement> > exotica::CollisionSceneFCLLatest::kinematic_elements_map_
private

Definition at line 131 of file collision_scene_fcl_latest.h.


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


exotica_collision_scene_fcl_latest
Author(s):
autogenerated on Sat Apr 10 2021 02:35:24