After outputting delta heading to csv and graphing it I determined the maximun valid rate of change to be 25 degrees per second.
I capped the output of the gyro to this rate which resulted in very accurate dead reconning data considering the ground slip.
This lead to me bringing down the heading noise level of the partical filter, which brought to a head a problem which I had suspected for a while.
The problem was the change in heading I was feeding to the particle filter was an absolute value... turning left was left and turning right was also left. But the partical filter with high noise settings was able to hide the erroneous input coming in to it.
This really high lites how hard debugging non deterministic code such as a particle filter is.
With this problem solved and the noise set nice and low the robot becomes much less vulnerable to becoming lost.
I set the speed proportional to the standard deviation of the particles in the particle filter and as a result the bot is now able to make faster and more reliable runs.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.