Quote:
Originally Posted by AustinSchuh
Cheezy Drive is split arcade on steroids.
Code:
adjusted_wheel = SensitivityRemap(wheel);
Vl = throttle + adjusted_wheel * abs(throttle) + inertia compensation terms;
Vr = throttle - adjusted_wheel * abs(throttle) - inertia compensation terms;
|
Not knowing the details of SensitivityRemap(wheel), or even what "wheel" is in this context, I can't be certain, but it sounds similar the 3-axis joystick control I did for a tiny swerve drive robot a few years back. The X/Y joystick controlled translational motion. The Z "twist" axis controlled rotation -- not in terms of angular speed (RPM), but in terms of curvature. That is, the radius of curvature was inversely proportional to the amount of twist on the joystick. I did not use any inertia compensation terms.
This setup also had an override for spinning, as Thad decribes. When both X and Y were in the dead band, Z was interpreted in terms of desired angular speed.