|
|
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. | |
| 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. | |
| 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. | |
| void | initCollisionTest (const Ice::Current &=Ice::emptyCurrent) override |
| Initializes the collision test. | |
| bool | isCollisionFree (const ::std::pair< const Ice::Float *, const Ice::Float * > &cfg, const Ice::Current &=Ice::emptyCurrent) override |
| 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. | |
| 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. | |
| void | setStationaryObjectMargin (float stationaryObjectMargin) |
| virtual void | setStationaryObjects (const StationaryObjectList &objList) |
| SimoxCSpace (memoryx::CommonStorageInterfacePrx commonStoragePrx, bool loadVisualizationModel=false, float stationaryObjectMargin=0.0f) | |
| ctor | |
Public Member Functions inherited from CSpace | |
| void | initCollisionTest (const Ice::Current &=Ice::emptyCurrent) override |
| Initializes collision checking. | |
| 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. | |
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. | |
| void | initAgent (VirtualRobot::RobotPtr robotPtr) |
| void | initStationaryObjects () |
| Initializes stationary objects for collision checking. | |
| SimoxCSpace ()=default | |
| Default ctor. | |
Protected Attributes | |
| std::vector< VirtualRobot::RobotNodePtr > | agentJoints |
| VirtualRobot::RobotPtr | agentSceneObj |
| VirtualRobot::CDManager | cd |
| The collision checker. | |
| memoryx::GridFileManagerPtr | fileManager |
| The file manager used to load objects. | |
| bool | isInitialized {false} |
| Whether the collision check is initialized. | |
| bool | loadVisualizationModel {false} |
| Whether the visualization model of objects/agents sould be loaded. | |
| 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. | |
| 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.
| 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) |
|
protecteddefault |
Default ctor.
Used for ice factories.
|
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 |
|
virtual |
|
override |
Adds a stationary object to the cspace.
| obj | The object to add. |
|
virtual |
| loadVisualizationModel | Whether the clone should load the visualization model. |
Reimplemented in SimoxCSpaceWith2DPose, SimoxCSpaceWith3DPose, and VoxelGridCSpace.
|
inlineoverridevirtual |
|
virtual |
|
inline |
|
protected |
|
protected |
|
virtual |
Reimplemented in SimoxCSpaceWith2DPose, and SimoxCSpaceWith3DPose.
|
inlineprotected |
|
inline |
|
inline |
|
inlineoverride |
|
override |
|
protected |
| object | The object. |
| pose | The pose to use. |
|
protected |
| object | The object. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| 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.
|
inlineprotected |
|
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) |
|
inlineprotected |
|
override |
Initializes the collision test.
|
protected |
Initializes stationary objects for collision checking.
|
overridevirtual |
| cfg | The configuration to check. |
Implements CSpace.
|
inlinevirtual |
| first | The configuration's first element. |
| last | The configuration's last element. |
Reimplemented from CSpace.
|
inlinevirtual |
| config | The config to check. (as armarx::VectorXf) |
Reimplemented from CSpace.
| VectorXf jointMapToVector | ( | const std::map< std::string, float > & | jointMap, |
| bool | checkForNonexistenJointsInCspace = false ) const |
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
|
static |
Load objects from WorkingMemory and puts them into the mesh cache.
| workingMemoryPrx |
|
override |
Adds a stationary agent to the cspace.
| obj | The object to add. |
|
inlinevirtual |
|
virtual |
Reimplemented in SimoxCSpaceWith2DPose, and SimoxCSpaceWith3DPose.
|
inlinevirtual |
Sets a configuration to check for.
(can be used to display a configuration)
| it | A pointer to the configuration. |
|
inline |
|
virtual |
|
friend |
|
protected |
|
protected |
|
protected |
The collision checker.
|
protected |
The file manager used to load objects.
|
protected |
Whether the collision check is initialized.
|
protected |
Whether the visualization model of objects/agents sould be loaded.
|
mutableprotected |
|
mutableprotected |
|
protected |
The scene objects for stationary objects.
|
protected |