Task Class Reference

#include <RobotComponents/components/MotionPlanning/Tasks/AStar/Task.h>

+ Inheritance diagram for Task:

Public Member Functions

void abortTask (const Ice::Current &=Ice::emptyCurrent) override
 Aborts planning.
 
Path getPath (const Ice::Current &=Ice::emptyCurrent) const override
 
bool isPathCollisionFree (const VectorXf &from, const VectorXf &to)
 
void run (const RemoteObjectNodePrxList &, const Ice::Current &=Ice::emptyCurrent) override
 Runs the task.
 
 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.
 
- Public Member Functions inherited from MotionPlanningTaskWithDefaultMembers
CSpaceBasePtr getCSpace (const Ice::Current &=Ice::emptyCurrent) const override
 
float getDcdStep (const Ice::Current &=Ice::emptyCurrent) const override
 
VectorXf getGoal (const Ice::Current &=Ice::emptyCurrent) const override
 
Ice::Long getMaximalPlanningTimeInSeconds (const Ice::Current &=Ice::emptyCurrent) const override
 
VectorXf getStart (const Ice::Current &=Ice::emptyCurrent) const override
 
 MotionPlanningTaskWithDefaultMembers (const VectorXf &startCfg, const VectorXf &goalCfg, const CSpaceBasePtr &cspace, Ice::Float dcdStep, Ice::Long maximalPlanningTimeInSeconds, const std::string &taskName)
 ctor
 
- Public Member Functions inherited from MotionPlanningTask
void addTaskStatusCallback (std::function< void(TaskStatus::Status)> cb)
 
Ice::Long getPlanningTime (const Ice::Current &) const override
 
MotionPlanningTaskBasePrx & getProxy ()
 
Ice::Long getRefiningTime (const Ice::Current &) const override
 
Ice::Long getRunningTime (const Ice::Current &) const override
 
std::string getTaskName (const Ice::Current &=Ice::emptyCurrent) const override
 
TaskStatus::Status getTaskStatus (const Ice::Current &=Ice::emptyCurrent) const override
 
 MotionPlanningTask ()=default
 
virtual void onPlanningDone ()
 
virtual void onRefiningDone ()
 
virtual void postEnqueueing ()
 Called by the planning server after the task was enqueued.
 
virtual void registerAtIceAdapter (Ice::ObjectAdapterPtr &adapter, const Ice::Identity ident)
 
bool setTaskStatus (TaskStatus::Status newTaskStatus, const Ice::Current &=Ice::emptyCurrent) override
 
 ~MotionPlanningTask () override=default
 
- Public Member Functions inherited from MotionPlanningTaskCI
bool finishedRunning (const Ice::Current &=Ice::emptyCurrent) const override
 Returns whether the task has finished planning.
 
bool isRunning (const Ice::Current &=Ice::emptyCurrent) const override
 Returns whether the task is currently planning.
 
void waitForFinishedPlanning_async (const AMD_MotionPlanningTaskControlInterface_waitForFinishedPlanningPtr &cb, const Ice::Current &=Ice::emptyCurrent) override
 
void waitForFinishedRunning_async (const AMD_MotionPlanningTaskControlInterface_waitForFinishedRunningPtr &cb, const Ice::Current &=Ice::emptyCurrent) override
 

Protected Member Functions

 Task ()=default
 Ctor used by object factories.
 
- Protected Member Functions inherited from MotionPlanningTaskWithDefaultMembers
 MotionPlanningTaskWithDefaultMembers ()=default
 

Protected Attributes

std::mutex mtx
 
Path solution = {{}, "Path"}
 
std::atomic_bool taskIsAborted {false}
 
- Protected Attributes inherited from MotionPlanningTask
Ice::Long planningTime = 0
 The planning time in microseconds.
 
Ice::Long refiningTime = 0
 The refining time in microseconds.
 
- Protected Attributes inherited from MotionPlanningTaskCI
AMDCallbackCollection waitForFinishedPlanning
 
AMDCallbackCollection waitForFinishedRunning
 

Friends

template<class Base, class Derived>
class ::armarx::GenericFactory
 

Constructor & Destructor Documentation

◆ Task() [1/2]

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.

Parameters
cspaceThe used cspace.
startCfgThe start configuration.
goalCfgThe goal configuration.
dcdStepThe step size used for discrete collision checking.
maximalPlanningTimeInSecondsThe maximal planning time in seconds.

◆ Task() [2/2]

Task ( )
protecteddefault

Ctor used by object factories.

Member Function Documentation

◆ abortTask()

void abortTask ( const Ice::Current & = Ice::emptyCurrent)
inlineoverride

Aborts planning.

◆ getPath()

Path getPath ( const Ice::Current & = Ice::emptyCurrent) const
override
Returns
The found path. (empty if no path is found)

◆ isPathCollisionFree()

bool isPathCollisionFree ( const VectorXf & from,
const VectorXf & to )

◆ run()

void run ( const RemoteObjectNodePrxList & ,
const Ice::Current & = Ice::emptyCurrent )
override

Runs the task.

Parameters
remoteNodesThe list of RemoteObjectNodeInterfacePrx used to distribute work to computers.

Friends And Related Symbol Documentation

◆ ::armarx::GenericFactory

template<class Base, class Derived>
friend class ::armarx::GenericFactory
friend

Member Data Documentation

◆ mtx

std::mutex mtx
mutableprotected

◆ solution

Path solution = {{}, "Path"}
protected

◆ taskIsAborted

std::atomic_bool taskIsAborted {false}
protected

The documentation for this class was generated from the following files: