SimoxCSpaceWith2DPose Class Reference

Similar to armarx::SimoxCSpace, but prepends dimensions for translation in x and y and a rotation around z. More...

#include <RobotComponents/components/MotionPlanning/CSpace/SimoxCSpace.h>

+ Inheritance diagram for SimoxCSpaceWith2DPose:

Public Member Functions

CSpaceBasePtr clone (bool loadVisualizationModel) override
 
Ice::StringSeq getAgentJointNames () const override
 
Ice::Long getDimensionality (const Ice::Current &=Ice::emptyCurrent) const override
 
FloatRangeSeq getDimensionsBounds (const Ice::Current &=Ice::emptyCurrent) const override
 
void setConfig (const float *&it) override
 
void setPoseBounds (const Vector3fRange &newBounds)
 
 SimoxCSpaceWith2DPose (memoryx::CommonStorageInterfacePrx commonStoragePrx, bool loadVisualizationModel=false, float stationaryObjectMargin=0.0f)
 
- Public Member Functions inherited from SimoxCSpace
virtual void addObjectsFromWorkingMemory (memoryx::WorkingMemoryInterfacePrx workingMemoryPrx, const std::vector< std::string > &excludedInstancesIds=std::vector< std::string >())
 Adds all objects except the ones with ids specified in the parameter excludedInstancesIds from the working memory to the cspace. More...
 
virtual void addPlanarObject (const std::vector< Eigen::Vector3f > &convexHull)
 
void addStationaryObject (const StationaryObject &obj, const Ice::Current &=Ice::emptyCurrent) override
 Adds a stationary object to the cspace. More...
 
CSpaceBasePtr clone (const Ice::Current &=Ice::emptyCurrent) override
 
virtual Saba::CSpaceSampledPtr createSimoxCSpace () const
 
const AgentPlanningInformation & getAgent () const
 
const VirtualRobot::RobotPtrgetAgentSceneObj () const
 
VirtualRobot::CDManager & getCD ()
 
Ice::Long getDimensionality (const Ice::Current &=Ice::emptyCurrent) const override
 
FloatRangeSeq getDimensionsBounds (const Ice::Current &=Ice::emptyCurrent) const override
 
float getStationaryObjectMargin () const
 
const StationaryObjectList & getStationaryObjects () const
 
const VirtualRobot::SceneObjectSetPtr & getStationaryObjectSet () const
 
std::vector< armarx::DebugDrawerLineSet > getTraceVisu (const Path &p, const std::vector< std::string > &nodeNames, float traceStepSize=std::numeric_limits< float >::infinity())
 
std::vector< armarx::DebugDrawerLineSet > getTraceVisu (const PathWithCost &p, const std::vector< std::string > &nodeNames, float traceStepSize=std::numeric_limits< float >::infinity())
 
std::vector< armarx::DebugDrawerLineSet > getTraceVisu (const VectorXfSeq &vecs, const std::vector< std::string > &nodeNames, float traceStepSize=std::numeric_limits< float >::infinity())
 
void ice_postUnmarshal () override
 Initializes basic structures after transmission through ice. More...
 
void initCollisionTest (const Ice::Current &=Ice::emptyCurrent) override
 Initializes the collision test. More...
 
bool isCollisionFree (const ::std::pair< const Ice::Float *, const Ice::Float * > &cfg, const Ice::Current &=Ice::emptyCurrent) override
 
bool isCollisionFree (const ::std::pair< const Ice::Float *, const Ice::Float * > &config, const Ice::Current &=Ice::emptyCurrent) override=0
 
virtual bool isCollisionFree (const Ice::Float *first, const Ice::Float *last)
 
virtual bool isCollisionFree (const VectorXf &config)
 
VectorXf jointMapToVector (const std::map< std::string, float > &jointMap, bool checkForNonexistenJointsInCspace=false) const
 
virtual TrajectoryPtr pathToTrajectory (const Path &p) const
 
virtual TrajectoryPtr pathToTrajectory (const PathWithCost &p) const
 
virtual TrajectoryPtr pathToTrajectory (const VectorXfSeq &p) const
 
void setAgent (const AgentPlanningInformation &agentInfo, const Ice::Current &=Ice::emptyCurrent) override
 Adds a stationary agent to the cspace. More...
 
virtual void setConfig (const float *&&it)
 
virtual void setConfig (const std::vector< float > cfg)
 Sets a configuration to check for. More...
 
void setStationaryObjectMargin (float stationaryObjectMargin)
 
virtual void setStationaryObjects (const StationaryObjectList &objList)
 
 SimoxCSpace (memoryx::CommonStorageInterfacePrx commonStoragePrx, bool loadVisualizationModel=false, float stationaryObjectMargin=0.0f)
 ctor More...
 
- Public Member Functions inherited from CSpace
void initCollisionTest (const Ice::Current &=Ice::emptyCurrent) override
 Initializes collision checking. More...
 
virtual bool isCollisionFree (const Ice::Float *first, const Ice::Float *last)
 
virtual bool isCollisionFree (const VectorXf &config)
 
bool isValidConfiguration (const ::std::pair< const Ice::Float *, const Ice::Float * > &config, const Ice::Current &=Ice::emptyCurrent) const override
 
virtual bool isValidConfiguration (const VectorXf &config) const
 
virtual bool usesInternalScaling ()
 

Protected Member Functions

 SimoxCSpaceWith2DPose ()=default
 
- Protected Member Functions inherited from SimoxCSpace
AgentData getAgentDataAndLoadRobot () const
 
AgentData getAgentDataFromRobot (VirtualRobot::RobotPtr robotPtr) const
 
const std::vector< VirtualRobot::RobotNodePtr > & getAgentJoints () const
 
VirtualRobot::ManipulationObjectPtr getMovedSimoxManipulatorObject (const memoryx::ObjectClassBasePtr &object, const armarx::PoseBasePtr &pose, memoryx::GridFileManagerPtr &fileManager) const
 
VirtualRobot::ManipulationObjectPtr getSimoxManipulatorObject (const memoryx::ObjectClassBasePtr &object, const memoryx::GridFileManagerPtr &fileManager, bool inflate=true, VirtualRobot::CollisionCheckerPtr const &colChecker=VirtualRobot::CollisionCheckerPtr {}) const
 
void initAgent ()
 
void initAgent (AgentData agentData)
 Initializes an agent. More...
 
void initAgent (VirtualRobot::RobotPtr robotPtr)
 
void initStationaryObjects ()
 Initializes stationary objects for collision checking. More...
 
 SimoxCSpace ()=default
 Default ctor. More...
 

Protected Attributes

Eigen::Matrix4f globalPoseBuffer = Eigen::Matrix4f::Identity()
 
- Protected Attributes inherited from SimoxCSpace
std::vector< VirtualRobot::RobotNodePtr > agentJoints
 
VirtualRobot::RobotPtr agentSceneObj
 
VirtualRobot::CDManager cd
 The collision checker. More...
 
memoryx::GridFileManagerPtr fileManager
 The file manager used to load objects. More...
 
bool isInitialized {false}
 Whether the collision check is initialized. More...
 
bool loadVisualizationModel {false}
 Whether the visualization model of objects/agents sould be loaded. More...
 
GlobalCache< VirtualRobot::ManipulationObjectPtr, std::pair< int, std::string > > meshCache
 
GlobalCache< RobotPoolPtr, std::pair< VirtualRobot::RobotIO::RobotDescription, std::string > > robotCache
 
VirtualRobot::SceneObjectSetPtr stationaryObjectSet {new VirtualRobot::SceneObjectSet{"StationaryObjectSet"}}
 The scene objects for stationary objects. More...
 
std::vector< std::vector< Eigen::Vector3f > > stationaryPlanes
 

Friends

template<class IceBaseClass , class DerivedClass >
class armarx::GenericFactory
 

Additional Inherited Members

- Static Public Member Functions inherited from SimoxCSpace
static SimoxCSpacePtr PrefetchWorkingMemoryObjects (memoryx::WorkingMemoryInterfacePrx workingMemoryPrx, memoryx::CommonStorageInterfacePrx commonStoragePrx, RobotStateComponentInterfacePrx rsc)
 Load objects from WorkingMemory and puts them into the mesh cache. More...
 

Detailed Description

Similar to armarx::SimoxCSpace, but prepends dimensions for translation in x and y and a rotation around z.

(use this for path planning)

Definition at line 366 of file SimoxCSpace.h.

Constructor & Destructor Documentation

◆ SimoxCSpaceWith2DPose() [1/2]

SimoxCSpaceWith2DPose ( memoryx::CommonStorageInterfacePrx  commonStoragePrx,
bool  loadVisualizationModel = false,
float  stationaryObjectMargin = 0.0f 
)

Definition at line 824 of file SimoxCSpace.cpp.

◆ SimoxCSpaceWith2DPose() [2/2]

SimoxCSpaceWith2DPose ( )
protecteddefault

Member Function Documentation

◆ clone()

CSpaceBasePtr clone ( bool  loadVisualizationModel)
overridevirtual
Parameters
loadVisualizationModelWhether the clone should load the visualization model.
Returns
A clone of this cspace.

Reimplemented from SimoxCSpace.

Definition at line 830 of file SimoxCSpace.cpp.

◆ getAgentJointNames()

Ice::StringSeq getAgentJointNames ( ) const
overridevirtual

Reimplemented from SimoxCSpace.

Definition at line 860 of file SimoxCSpace.cpp.

+ Here is the call graph for this function:

◆ getDimensionality()

Ice::Long getDimensionality ( const Ice::Current &  = Ice::emptyCurrent) const
inlineoverride
Returns
The cspace's dimensionality.

Definition at line 391 of file SimoxCSpace.h.

+ Here is the caller graph for this function:

◆ getDimensionsBounds()

FloatRangeSeq getDimensionsBounds ( const Ice::Current &  = Ice::emptyCurrent) const
override
Returns
The cspace's dimension bounds.

Definition at line 843 of file SimoxCSpace.cpp.

+ Here is the call graph for this function:

◆ setConfig()

void setConfig ( const float *&  it)
overridevirtual

Reimplemented from SimoxCSpace.

Definition at line 871 of file SimoxCSpace.cpp.

+ Here is the call graph for this function:

◆ setPoseBounds()

void setPoseBounds ( const Vector3fRange &  newBounds)
inline

Definition at line 373 of file SimoxCSpace.h.

Friends And Related Function Documentation

◆ armarx::GenericFactory

friend class armarx::GenericFactory
friend

Definition at line 400 of file SimoxCSpace.h.

Member Data Documentation

◆ globalPoseBuffer

Eigen::Matrix4f globalPoseBuffer = Eigen::Matrix4f::Identity()
protected

Definition at line 403 of file SimoxCSpace.h.


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