47 #ifndef _MIRA_DIFFERENTIALPROBABILISTICMOTIONMODEL_H_ 48 #define _MIRA_DIFFERENTIALPROBABILISTICMOTIONMODEL_H_ 55 namespace mira {
namespace robot {
83 trans(0.0f), rot1(0.0f), rot2(0.0f),
84 transStddev(0.0f), rot1Stddev(0.0f), rot2Stddev(0.0f) {}
103 template<
typename Reflector>
106 r.property(
"AlphaRotRot", alphaRotRot,
107 "Alpha for rotation drift while rotating", 0.2f);
108 r.property(
"AlphaRotTrans", alphaRotTrans,
109 "Alpha for translation drift while rotating", 0.2f);
110 r.property(
"AlphaTransTrans", alphaTransTrans,
111 "Alpha for translation drift while translating", 0.2f);
112 r.property(
"AlphaTransRot", alphaTransRot,
113 "Alpha for rotation drift while translating", 0.2f);
158 MotionParameters calculateMotionParameters(
const Pose2& p0,
const Pose2& p1)
const;
165 virtual void sampleMotion(
const std::vector<Pose2>& startPoses,
const Pose2& p0,
const Pose2& p1,
166 std::vector<Pose2>& sampledPoses)
const;
201 Pose2 sampleMotion(
const Pose2& startPose,
const MotionParameters& parameters)
const;
211 PoseCov2 gaussianMotion(
const PoseCov2& startPose,
const MotionParameters& parameters)
const;
233 return Pose2(startPose.x() + dTransSample * std::cos(startPose.phi() + dRot1Sample),
234 startPose.y() + dTransSample * std::sin(startPose.phi() + dRot1Sample),
float alphaTransTrans
Definition: DifferentialProbabilisticMotionModel.h:218
float rot2Stddev
Definition: DifferentialProbabilisticMotionModel.h:94
float trans
Definition: DifferentialProbabilisticMotionModel.h:87
MotionParameters()
Definition: DifferentialProbabilisticMotionModel.h:82
float rot1Stddev
Definition: DifferentialProbabilisticMotionModel.h:93
SignedAngle< float > SignedAnglef
void reflect(Reflector &r)
Definition: DifferentialProbabilisticMotionModel.h:104
RobotDataTypes export macro declaration.
Base class for probabilistic motion models.
virtual Pose2 sampleMotion(const Pose2 &startPose, const Pose2 &p0, const Pose2 &p1) const
float alphaTransRot
Definition: DifferentialProbabilisticMotionModel.h:219
T smallestAngleDifference(const T &a, const T &b)
float rot1
Definition: DifferentialProbabilisticMotionModel.h:88
Probabilistic motion model for a robot with differential drive.
Definition: DifferentialProbabilisticMotionModel.h:70
float alphaRotTrans
Definition: DifferentialProbabilisticMotionModel.h:217
float alphaRotRot
Odometry motion parameters for modeling drift.
Definition: DifferentialProbabilisticMotionModel.h:216
A struct which is used by.
Definition: DifferentialProbabilisticMotionModel.h:80
float rot2
Definition: DifferentialProbabilisticMotionModel.h:89
Base class for probabilistic motion models.
Definition: ProbabilisticMotionModel.h:59
#define MIRA_ROBOT_DATATYPES_EXPORT
Definition: RobotDataTypesExports.h:61
float transStddev
Definition: DifferentialProbabilisticMotionModel.h:92