29 #include <RobotComponents/interface/components/MotionPlanning/MotionPlanningServer.h>
30 #include <RobotComponents/interface/components/PlannedMotionProviderInterface.h>
47 defineOptionalProperty<float>(
"JointMotionSafetyMargin", 80.0f,
"Safety margin for joint arm motion in mm");
48 defineOptionalProperty<float>(
"PlatformMotionSafetyMargin", 100.0f,
"Safety margin for platform motion in mm");
65 virtual public armarx::PlannedMotionProviderInterface
73 return "PlannedMotionProvider";
77 planMotion(
const SimoxCSpaceBasePtr& cSpaceBase,
const SimoxCSpaceBasePtr& cSpacePlatformBase,
78 const MotionPlanningData& mpd,
const Ice::Current&
c = Ice::emptyCurrent)
override;
80 const SimoxCSpaceBasePtr& cSpacePlatformBase,
81 const MotionPlanningData& mpd,
82 const Ice::Current&
c)
override;
85 TrajectoryBasePtr
planJointMotion(
const SimoxCSpaceBasePtr& cSpaceBase,
const MotionPlanningData& mpd,
86 const Ice::Current&
c = Ice::emptyCurrent)
override;
89 const MotionPlanningData& mpd,
90 const Ice::Current&
c = Ice::emptyCurrent)
override;
119 std::vector<RemoteHandle<MotionPlanningTaskControlInterfacePrx>> planningTasks;
122 MotionPlanningServerInterfacePrx mps;
123 int maxPostProcessingSteps;
127 TrajectoryPtr calculateJointTrajectory(
const SimoxCSpaceBasePtr& cSpaceBase,
const MotionPlanningData& mpd,
128 const Ice::Current&
c = Ice::emptyCurrent);
130 TrajectoryPtr calculatePlatformTrajectory(
const SimoxCSpaceBasePtr& cSpacePlatformBase,
131 const MotionPlanningData& mpd,
132 const Ice::Current&
c = Ice::emptyCurrent);
133 void preparePlatformCSpace(
SimoxCSpacePtr cSpacePlatform,
const MotionPlanningData& mpd,
134 VectorXf* storeStart, VectorXf* storeGoal,
136 void prepareJointCSpace(
SimoxCSpacePtr cSpace,
const MotionPlanningData& mpd,
137 VectorXf* storeStart, VectorXf* storeGoal,
ScaledCSpacePtr* storeScaledCSpace);
140 VectorXf goalPos,
float dcdStep,
bool doRandomShortcutPostProcessing =
false);
142 const std::string roboPart);