We are having some difficulties getting our robot to follow a desired path, and we are running out of options as to what could be the issue. Looking for any insights.
We have a software path planner that takes an input robot path and outputs a series of points over time for the velocity and position of the left and right wheels. We feed these two motion profiles to the left and right wheels via the Talon SRX motion profile feature.
When we do a straight path, the robot executes that path repeatably and accurately (± 1 cm for a path 4 m long). When we do a curved path, however, the robot ends up in the wrong spot. The encoders show that the wheels are accurately going the distances sent in the motion profiles (within a couple hundredths of a revolution).
A particular case:
Starting Point of (0, 0, 0) (X, Y, Robot Heading)
Intended Ending Point of (2.82, 1.63, 56) (meters, meters, degrees)
The robot has a track width (wheelbase width) of 0.48 meters.
The path planner calculates a total distance of 3.245 m for the left wheel and 3.714 m for the right wheel.
Actual ending point of (3.05, 1.22, about 48) we don’t have IMU on this bot so heading measurement is a bit crude with protractor on floor.
All measurements are of the center point of the robot.
We have a very mild acceleration and there is no evidence of wheel slip. As well, we ran this over and over and the robot goes to the same spot within a cm or two every time.
We are thinking that the path calculator may be the culprit, but I am open to any other suggestions. If someone has a path planner and would be willing to enter the same starting and ending points as above and compare to our output, that would be greatly appreciated. I think the total ending distance of each wheel is all that is necessary, but I have attached our CSV file of points to this post as well.
AutoTestPlay.csv (6.05 KB)
AutoTestPlay.csv (6.05 KB)