| |||||||||||||||||||||||||||
Phase 9: Sensor Fusion and Kalman FilteringOverviewKupe will eventually use Stereo Visual Odometry, compass navigation, ultrasonics and maybe downstream, even use lidar. On the way, I will be using April Tags. At some stage I need to fuse all these sensor reading and distill output down to commands to move the robot in the desired direction. Moana was used as a platform to experiment with many sensors and these were each hadled in the arduino code. As I move forward, I want to combine all the sensor data to help localize the robot and Kalman Filtering allows for the combination of many sensors with a unified predict-update approach. Sensor data can be pushed into a matrix that can be extended (along with what to do with it) as more sensors are added. It has the advantage of using past data and new measurement to get a much better estiate of where the robot is as it moves. Initially, I aim to use April Tags as as my measurement "reset" but it would also be good to have an estimate of where the robot is as it moves. Since I dont have wheel encoders, I intend to create a rudimentary lookup table of PWM value to locomotion velocity. This can be used as prediction phase of the kalman filter, and when the robot encounters an April tag measurement, this can be used in the correction and update phase. This will also allow me to become familiar with using the algorithm which should enable me to extend it as more sensors are added. Creating a PWM to Velocity lookup table (for Kalman prediction step)The plan is:
Resultant Lookup TableAs it turned out, I used an 11.28 metre straight line strip and drove twice in both directions, up and down the incline and timed the traversal. After suitable averaging and conversion to velocity, here are the results:
I was hoping this may be linear but alas, it is not, so it is best to use a lookup table. Sept 2026 | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||