Quote:
Originally Posted by yash101
Couldn't you use PID, running inside the FPGA
|
No. You can't change the FPGA image and be competition legal, and there is no provided PID for the FPGA. Also, why PID? PID is used when you have a variable output.
I've played with auto shifting in the past, and it wasn't that great. Our test robot could accelerate in the fast gear to high speed faster than it could by starting in slow gear and switching to high gear. The only time it's useful is if you have it kickdown to the pushing gear if it detects a huge change in acceleration without the driver telling it to slow down (like running into another robot).
The problem is that it shifts when you don't want it to. It shifts when you turn, it shifts when you hit a wall, it shifts in that one moment where you need to keep going, it shifts as the chain falls off... Then, you have to write a bunch of code telling it not to shift if it shifted in the last 2 seconds, if you're turning sharper than a certain amount, if the deceleration is too huge....
Using the accelerometer to measure velocity isn't really feasible with the technology we have. It is possible to integrate the acceleration, but you always end up off. It's like the gyro drift where you integrate the angular rate to find your heading, but much, much worse.