32#include <ArmarXCore/interface/core/RemoteObjectNode.h>
34#include <RobotComponents/interface/components/MotionPlanning/Tasks/AStar/Task.h>
56 const CSpaceBasePtr& cspace,
57 const VectorXf& startCfg,
58 const VectorXf& goalCfg,
59 const std::string& taskName =
"AStarTask",
61 float dcdStep = 0.01f,
62 float gridStepSize = 2.5f,
63 Ice::Long maximalPlanningTimeInSeconds = 300);
70 abortTask(
const Ice::Current& = Ice::emptyCurrent)
override
78 Path
getPath(
const Ice::Current& = Ice::emptyCurrent)
const override;
86 void run(
const RemoteObjectNodePrxList&,
const Ice::Current& = Ice::emptyCurrent)
override;
96 mutable std::mutex
mtx;
101 template <
class Base,
class Derived>
102 friend class ::armarx::GenericFactory;
MotionPlanningTaskWithDefaultMembers(const VectorXf &startCfg, const VectorXf &goalCfg, const CSpaceBasePtr &cspace, Ice::Float dcdStep, Ice::Long maximalPlanningTimeInSeconds, const std::string &taskName)
ctor
The RemoteHandle class wrapps a ClientSideRemoteHandleControlBlock and can be used just as a Ice prox...
bool isPathCollisionFree(const VectorXf &from, const VectorXf &to)
Task()=default
Ctor used by object factories.
void run(const RemoteObjectNodePrxList &, const Ice::Current &=Ice::emptyCurrent) override
Runs the task.
Path getPath(const Ice::Current &=Ice::emptyCurrent) const override
Task(const CSpaceBasePtr &cspace, const VectorXf &startCfg, const VectorXf &goalCfg, const std::string &taskName="AStarTask", float dcdStep=0.01f, float gridStepSize=2.5f, Ice::Long maximalPlanningTimeInSeconds=300)
A task using the A* algorithm.
std::atomic_bool taskIsAborted
void abortTask(const Ice::Current &=Ice::emptyCurrent) override
Aborts planning.
IceInternal::Handle< Task > TaskPtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< AStarTask > AStarTaskPtr
RemoteHandle< MotionPlanningTaskControlInterfacePrx > AStarTaskHandle