Nice presentation. This should prove helpful to teams just getting started with LabVIEW and mecanum.
There’s a small error on Page 19 which may lead some astray:
Wouldn’t it be convienient to–on the push of a button–rotate to the direction you’re traveling?
To calculate this angle, do Math.atan2(Joystick X, -Joystick Y)
Implement a PID loop–the setpoint is the joystick angle, and the process variable is the gyro angle
The above won’t work very well. The joystick angle will be -180…+180, and the gyro angle will be 0…360+
You can’t just pass the joystick angle and gyro angle to the PID as-is. The PID will not like that at all.
For example, if the joystick angle is -1 degree and the gyro is reading +359 degrees, the PID will calculate (and act upon) an error of -1-359 = -360 degrees… even though the vehicle is already pointing in the desired direction.
To use the LabVIEW PID in this situation, you need to do something like this:
angle_error = joystick_angle - gyro_angle;
angle_error -= 360*floor(0.5+angle_error/360);
setpoint = gyro_angle + angle_error;
process_variable = gyro_angle;
Example LabVIEW code for the second line in the code block above can be found here.