I really want to know—WPI—what the fuck is this

That. makes. no. sense. For those who don’t know, this is not how 3d coordinate systems are found in the wild. This is the standard system literally everyone else uses This makes sense. This is how it should be. But WPILib had to be it’s own special snowflake.

Controller Mappings

I find this really funny. In WPILib’s coordinate system, left is , up is (I’m using to denote WPILib, and to denote controllers). However, with controllers, right is and down is . Additionally, WPILib’s rotation system is backwards. So to convert between controller power and WPILib’s coordinate system, you say that

convert(double controller_x, double controller_y, double controller_rot) {
	return Tuple3(-controller_y, -controller_x, -controller_rot);
}

Literally negating everything.