“Arcade Drive” is a popular joystick control method for skid-steer robot drivetrains, where one joystick axis controls the “throttle” (speed forward and back) and the other axis controls the rate of rotation of the robot chassis.
We provide a method for scaling the [-2, 2] range of (throttle command + turn command) down to [-1, 1] for use with an arcade drive.
This scaling is applied smoothly with no discontinuities anywhere in the input range. There is also no loss of information– both outputs (power/speed commands to motor controllers on the left and right sides of the drivetrain) always depend on both inputs (the driver’s throttle and turn joystick commands).