We're getting ready to use a octocanum drive on our robot this year for the first time ever (very exciting!) We have a lot of past knowledge about the tank drive side, and I have thought pretty carefully through shifting, but I am inexperienced with controlling a mecanum drive.
We built a prototype mecanum bot and programmed it using some of Ether's control algorithms supplied
here. We were able to get this working with regular and field-centric control, but found that due to the imperfect speed-voltage relationship, the robot does not always move in exactly the intended direction.
My first thought to fix this was to speed-control the wheels. Instead of mapping the joystick values to percent voltage of the wheels, I want to map them to percent of max speed of the wheels, using PIDF to control the speed.
Is this a viable solution to the problem? is this a common problem? what are some other solutions/implementations to improve the reliability of the robot's motion?