|
|
The SimoxCSpace contains a set of stationary obstacles and an agent. More...
#include <RobotComponents/components/MotionPlanning/CSpace/SimoxCSpace.h>
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:
|
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:
|
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:
|
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 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 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:
|
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:
|
override |
Definition at line 844 of file SimoxCSpace.cpp.
Here is the call 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 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 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:
|
inlineprotected |
Definition at line 377 of file SimoxCSpace.h.
Here is the call 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 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 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:
|
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 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:
|
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 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.