|  | 
The SimoxCSpace contains a set of stationary obstacles and an agent. More...
#include <RobotComponents/components/MotionPlanning/CSpace/SimoxCSpace.h>
 Inheritance diagram for SimoxCSpace:
 Inheritance diagram for SimoxCSpace:| Classes | |
| struct | AgentData | 
| Contains information about an agent.  More... | |
| Public Member Functions | |
| 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... | |
| virtual CSpaceBasePtr | clone (bool loadVisualizationModel) | 
| CSpaceBasePtr | clone (const Ice::Current &=Ice::emptyCurrent) override | 
| virtual Saba::CSpaceSampledPtr | createSimoxCSpace () const | 
| const AgentPlanningInformation & | getAgent () const | 
| virtual Ice::StringSeq | getAgentJointNames () const | 
| const VirtualRobot::RobotPtr & | getAgentSceneObj () 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 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 () | 
| Static Public Member Functions | |
| static SimoxCSpacePtr | PrefetchWorkingMemoryObjects (memoryx::WorkingMemoryInterfacePrx workingMemoryPrx, memoryx::CommonStorageInterfacePrx commonStoragePrx, RobotStateComponentInterfacePrx rsc) | 
| Load objects from WorkingMemory and puts them into the mesh cache.  More... | |
| Protected Member Functions | |
| 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 | |
| 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 | 
| The scene objects for stationary objects.  More... | |
| std::vector< std::vector< Eigen::Vector3f > > | stationaryPlanes | 
| Friends | |
| template<class IceBaseClass , class DerivedClass > | |
| class | armarx::GenericFactory | 
The SimoxCSpace contains a set of stationary obstacles and an agent.
The agent can have attached objects. The objects are loaded from a memoryx::CommonStorageInterfacePrx. The number of dimensions is determined by the agent's kinematic chains.
Definition at line 66 of file SimoxCSpace.h.
| SimoxCSpace | ( | memoryx::CommonStorageInterfacePrx | commonStoragePrx, | 
| bool | loadVisualizationModel = false, | ||
| float | stationaryObjectMargin = 0.0f | ||
| ) | 
ctor
| commonStoragePrx | The common storage containing the objects. | 
| loadVisualizationModel | Whether to load the visualization model. (true, if you want to display the object. false if you want to plan) | 
Definition at line 84 of file SimoxCSpace.cpp.
| 
 | protecteddefault | 
Default ctor.
Used for ice factories.
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | virtual | 
Adds all objects except the ones with ids specified in the parameter excludedInstancesIds from the working memory to the cspace.
| workingMemoryPrx | The working memory. | 
| excludedInstancesIds | the ids of the instances in teh working memory that should not be added | 
Definition at line 685 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | virtual | 
| 
 | override | 
Adds a stationary object to the cspace.
| obj | The object to add. | 
Definition at line 159 of file SimoxCSpace.cpp.
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | virtual | 
| loadVisualizationModel | Whether the clone should load the visualization model. | 
Reimplemented in SimoxCSpaceWith3DPose, SimoxCSpaceWith2DPose, and VoxelGridCSpace.
Definition at line 119 of file SimoxCSpace.cpp.
| 
 | inlineoverridevirtual | 
Implements CSpace.
Reimplemented in VoxelGridCSpace.
Definition at line 125 of file SimoxCSpace.h.
| 
 | virtual | 
Definition at line 137 of file SimoxCSpace.cpp.
| 
 | inline | 
Definition at line 189 of file SimoxCSpace.h.
| 
 | protected | 
Definition at line 316 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | protected | 
Definition at line 398 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | virtual | 
Reimplemented in SimoxCSpaceWith3DPose, and SimoxCSpaceWith2DPose.
Definition at line 858 of file SimoxCSpace.cpp.
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inlineprotected | 
| 
 | inline | 
Definition at line 204 of file SimoxCSpace.h.
| 
 | inline | 
Definition at line 213 of file SimoxCSpace.h.
| 
 | inlineoverride | 
Definition at line 154 of file SimoxCSpace.h.
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | override | 
Definition at line 844 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | protected | 
| object | The object. | 
| pose | The pose to use. | 
Definition at line 658 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | protected | 
| object | The object. | 
Definition at line 591 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
Definition at line 260 of file SimoxCSpace.h.
| 
 | inline | 
Definition at line 183 of file SimoxCSpace.h.
| 
 | inline | 
Definition at line 198 of file SimoxCSpace.h.
| std::vector<armarx::DebugDrawerLineSet> getTraceVisu | ( | const VectorXfSeq & | vecs, | 
| const std::vector< std::string > & | nodeNames, | ||
| float | traceStepSize = std::numeric_limits< float >::infinity() | ||
| ) | 
| 
 | override | 
Initializes basic structures after transmission through ice.
Definition at line 758 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | inlineprotected | 
Definition at line 377 of file SimoxCSpace.h.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | protected | 
Initializes an agent.
(Does not need to read from the file system if loadAnyModel is false)
| agentData | Data about the agent. | 
| loadAnyModel | if unset only the robot structure is loaded. If set the robot's and objects' collision model are loaded. (depending on loadVisualizationModel the robot's visualisation model is loaded) | 
Definition at line 285 of file SimoxCSpace.cpp.
| 
 | inlineprotected | 
| 
 | override | 
Initializes the collision test.
Definition at line 209 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | protected | 
Initializes stationary objects for collision checking.
Definition at line 239 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | overridevirtual | 
| cfg | The configuration to check. | 
Implements CSpace.
Definition at line 194 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | override | 
| config | The config to check. | 
| 
 | inline | 
| 
 | inline | 
| VectorXf jointMapToVector | ( | const std::map< std::string, float > & | jointMap, | 
| bool | checkForNonexistenJointsInCspace = false | ||
| ) | const | 
Definition at line 870 of file SimoxCSpace.cpp.
| 
 | inlinevirtual | 
| 
 | inlinevirtual | 
| 
 | virtual | 
| 
 | static | 
Load objects from WorkingMemory and puts them into the mesh cache.
| workingMemoryPrx | 
Definition at line 734 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | override | 
Adds a stationary agent to the cspace.
| obj | The object to add. | 
Definition at line 173 of file SimoxCSpace.cpp.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | inlinevirtual | 
| 
 | virtual | 
Reimplemented in SimoxCSpaceWith3DPose, and SimoxCSpaceWith2DPose.
Definition at line 180 of file SimoxCSpace.cpp.
| 
 | inlinevirtual | 
Sets a configuration to check for.
(can be used to display a configuration)
| it | A pointer to the configuration. | 
Definition at line 164 of file SimoxCSpace.h.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
Definition at line 266 of file SimoxCSpace.h.
| 
 | virtual | 
Definition at line 167 of file SimoxCSpace.cpp.
| 
 | friend | 
Definition at line 287 of file SimoxCSpace.h.
| 
 | protected | 
Definition at line 328 of file SimoxCSpace.h.
| 
 | protected | 
Definition at line 330 of file SimoxCSpace.h.
| 
 | protected | 
The collision checker.
Definition at line 320 of file SimoxCSpace.h.
| 
 | protected | 
The file manager used to load objects.
Definition at line 314 of file SimoxCSpace.h.
| 
 | protected | 
Whether the collision check is initialized.
Definition at line 304 of file SimoxCSpace.h.
| 
 | protected | 
Whether the visualization model of objects/agents sould be loaded.
Definition at line 308 of file SimoxCSpace.h.
| 
 | mutableprotected | 
Definition at line 335 of file SimoxCSpace.h.
| 
 | mutableprotected | 
Definition at line 338 of file SimoxCSpace.h.
| 
 | protected | 
The scene objects for stationary objects.
Definition at line 325 of file SimoxCSpace.h.
| 
 | protected | 
Definition at line 332 of file SimoxCSpace.h.