Quote:
Originally Posted by cjl2625
Why not spend the time on field centric?
I would think that a robot centric swerve drive would be much harder to control.
In our (LabVIEW) code, it only took a few blocks to make it field centric. I stole the rotate vector block from the default holonomic drive code, used it to rotate the translational vector by the gyro reading, and that's about it.
Well, I don't know about C++, though
|
It's not difficult, it's just completely unreliable outside of the first few seconds of a match unless you reset the gyro at some point.
What we've settled on is "steering" as the default control and then switching to "crab" when we pull the trigger. Steering purely a robot-centric drive system.
We reset the gyro when the trigger is pulled, so any rotational input is based on the robot's orientation at that point. What takes practice is that the crab x/y is based on the robot's orientation at that point also.
(Hope that made sense).