From d5188879c4966d599f67a2c77c35534d63a79d82 Mon Sep 17 00:00:00 2001 From: Florian Polster <fpolster@uni-koblenz.de> Date: Wed, 8 Mar 2017 20:01:55 +0100 Subject: [PATCH] more rotational diversity --- homer_mapping/src/ParticleFilter/SlamFilter.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/homer_mapping/src/ParticleFilter/SlamFilter.cpp b/homer_mapping/src/ParticleFilter/SlamFilter.cpp index 72f741e4..459bfca4 100644 --- a/homer_mapping/src/ParticleFilter/SlamFilter.cpp +++ b/homer_mapping/src/ParticleFilter/SlamFilter.cpp @@ -482,7 +482,7 @@ void SlamFilter::drift() { // m_Alpha2 * fabs(distance)); float estRotToPose = - rotToPose + randomGauss(m_Alpha1 * fabs(poseRotation) + + rotToPose + randomGauss(m_Alpha1 * 0.5 * fabs(poseRotation) + m_Alpha2 * fabs(distance)); float estDeltaRot = @@ -495,7 +495,9 @@ void SlamFilter::drift() { float posY = pose.y() + estDist * sin(pose.theta() + estRotToPose) + randomGauss(m_Alpha5 * fabs(estDeltaRot)) + randomGauss(0.0004); - float theta = pose.theta() + estDeltaRot + randomGauss(0.00005); + float theta = pose.theta() + estDeltaRot + + randomGauss(2 * m_Alpha1 * fabs(poseRotation)) + + randomGauss(0.00005); // save new pose while (theta > M_PI) theta -= M_2PI; -- GitLab