Go to the documentation of this file.
28 #include <condition_variable>
34 #include <RobotComponents/interface/components/MotionPlanning/Tasks/AdaptiveDynamicDomainInformedRRTStar/Task.h>
35 #include <RobotComponents/interface/components/MotionPlanning/Tasks/AdaptiveDynamicDomainInformedRRTStar/ManagerNode.h>
36 #include "../../ResourceRequestStrategies/ComputingPowerRequestStrategy.h"
37 #include "../../util/PlanningUtil.h"
40 #include "../CPRSAwareMotionPlanningTask.h"
61 public virtual TaskBase,
82 const cprs::ComputingPowerRequestStrategyBasePtr& planningComputingPowerRequestStrategy,
85 const std::string& taskName =
"ADDIRRTStarTask",
86 Ice::Long maximalPlanningTimeInSeconds = 300,
87 AdaptiveDynamicDomainParameters addParams = generateADDParamsFromDCDStepsize(0.01f),
90 float dcdStep = 0.01f,
92 Ice::Long nodeCountDeltaForGoalConnectionTries = 50,
99 PathWithCost
getPathWithCost(
const Ice::Current& = Ice::emptyCurrent)
const override
108 Path getPath(
const Ice::Current& = Ice::emptyCurrent)
const override
117 PathWithCost
getBestPath(
const Ice::Current& = Ice::emptyCurrent)
const override;
130 PathWithCostSeq
getAllPathsWithCost(
const Ice::Current& = Ice::emptyCurrent)
const override;
136 void abortTask(
const Ice::Current& = Ice::emptyCurrent)
override;
143 void run(
const RemoteObjectNodePrxList& remoteNodes,
const Ice::Current& = Ice::emptyCurrent)
override;
149 void setPaths(
const PathWithCostSeq& newPathList,
const Ice::Current& = Ice::emptyCurrent)
override;
162 template<
class Base,
class Derived>
friend class ::armarx::GenericFactory;
void setMaxCpus(Ice::Int maxCpus, const Ice::Current &=Ice::emptyCurrent) override
void abortTask(const Ice::Current &=Ice::emptyCurrent) override
Aborts the task.
void checkParameters()
Checks for illegal parameters.
Task()
Ctor used by object factories.
RemoteHandle< ManagerNodeBasePrx > manager
The manager node.
Ice::Long getPathCount(const Ice::Current &=Ice::emptyCurrent) const override
std::condition_variable_any managerDone
CV used by the dispatcher thread to wait until planning is done.
PathWithCost getNthPathWithCost(Ice::Long index, const Ice::Current &=Ice::emptyCurrent) const override
PathWithCostSeq getAllPathsWithCost(const Ice::Current &=Ice::emptyCurrent) const override
Implementation of the slice interface CPRSAwarePlanningTaskBase.
void run(const RemoteObjectNodePrxList &remoteNodes, const Ice::Current &=Ice::emptyCurrent) override
Runs the task.
PathWithCost getPathWithCost(const Ice::Current &=Ice::emptyCurrent) const override
PathWithCost getPathWithCost(const Ice::Current &=Ice::emptyCurrent) const override
void setPaths(const PathWithCostSeq &newPathList, const Ice::Current &=Ice::emptyCurrent) override
Used by the manager to store its found paths.
Path getNthPath(Ice::Long n, const Ice::Current &=Ice::emptyCurrent) const override
Path getPath(const Ice::Current &=Ice::emptyCurrent) const override
PathWithCostSeq paths
All found paths.
Ice::Long cachedNodeCount
The cahced node count.
Path getPath(const Ice::Current &=Ice::emptyCurrent) const override
Path getNthPath(Ice::Long n, const Ice::Current &=Ice::emptyCurrent) const override
PathWithCost getBestPath(const Ice::Current &=Ice::emptyCurrent) const override
std::filesystem::path Path
Ice::Long getNodeCount(const Ice::Current &=Ice::emptyCurrent) const override
std::recursive_mutex mutex
Mutex to protect internal structures.
Ice::Int getMaxCpus(const Ice::Current &=Ice::emptyCurrent) const override
This file offers overloads of toIce() and fromIce() functions for STL container types.