Hello Viam Team,
I'm leveraging viam.components.base.Base class in order for my rover to navigate discretely onto each 1sq ft tile per this video here: https://drive.google.com/file/d/1IVypqppalG14-0eJbcz-Ek4Cq9YNToiw/view
As you can see, I'm not able to navigate to the tile marked as X because my successive calls to spin() doesn't yield exactly a 90 degree turn, causing my rover to drift away from its target. Can this be remediated or is it impossible to get precise results each time due to environment constraints?
FYI, here's the script that I used to produce those results in the video: https://github.com/KesMath/DGMD-S-17-Autonomous-Indoor-Rover-Final-Project/blob/main/motor_driver.py
As you can notice, within spin_right_90_degrees(base) at line 31, for some reason I couldn't use 90 degrees cause it cause the rover to over-rotate, so I compensated by downsizing the value= 80 degrees instead. Is this simply due to imperfection caused by encoder sensors that's causing
this over-rotation to occur??