11 this->robotStateProxy = robotStateProxy;
13 predictedPoseAtStartOfCurrentLocalization =
nullptr;
14 globalRobotPoseAtLastLocalization =
nullptr;
15 uncertaintyAtLastLocalization =
nullptr;
16 uncertaintyAtStartOfCurrentLocalization =
nullptr;
21 armarx::LinkedPoseBasePtr
24 std::unique_lock lock(motionPredictionLock);
30 memoryx::MultivariateNormalDistributionBasePtr
33 std::unique_lock lock(motionPredictionLock);
35 MultivariateNormalDistributionBasePtr
ret = getUncertaintyInternal();
41 const armarx::LinkedPoseBasePtr& poseAtLastLocalization,
42 const armarx::PoseBasePtr& globalRobotPoseAtLastLocalization,
43 const memoryx::MultivariateNormalDistributionBasePtr& uncertaintyAtLastLocalization,
46 std::unique_lock lock(motionPredictionLock);
47 this->poseAtLastLocalization = poseAtLastLocalization;
48 timeOfLastSuccessfulLocalization =
49 armarx::TimestampVariantPtr::dynamicCast(timeOfLastLocalizationStart->clone());
51 if (globalRobotPoseAtLastLocalization)
53 this->globalRobotPoseAtLastLocalization = globalRobotPoseAtLastLocalization;
56 if (uncertaintyAtLastLocalization)
58 this->uncertaintyAtLastLocalization = uncertaintyAtLastLocalization;
65 std::unique_lock lock(motionPredictionLock);
67 predictedPoseAtStartOfCurrentLocalization = getPredictedPoseInternal();
68 uncertaintyAtStartOfCurrentLocalization = getUncertaintyInternal();
72 armarx::LinkedPoseBasePtr
75 return predictedPoseAtStartOfCurrentLocalization;
78 memoryx::MultivariateNormalDistributionBasePtr
81 return uncertaintyAtStartOfCurrentLocalization;
93 if (motionModelName.compare(
"Static") == 0)
95 return eMotionModelStaticObject;
97 else if (motionModelName.compare(
"RobotHand") == 0)
99 return eMotionModelRobotHand;
101 else if (motionModelName.compare(
"AttachedToOtherObject") == 0)
103 return eMotionModelAttachedToOtherObject;
105 else if (motionModelName.compare(
"KBM") == 0)
107 return eMotionModelKBM;
109 else if (motionModelName.empty())
112 return eMotionModelStaticObject;
117 return eMotionModelStaticObject;
121 armarx::LinkedPoseBasePtr
124 std::unique_lock lock(motionPredictionLock);
126 armarx::LinkedPoseBasePtr
ret = poseAtLastLocalization;