Initialization Ready State Normal Wheel Driving Crab Joystick FWD/BWD Joystick FWD/BWD Control Speed and FWD/BWD Motion Control Speed and FWD/BWD Motion Joystick Left/Right Control Steering Angle (Ackermann) GUI Rotate Rough Terrain Stairs Joystick Left/Right Joystick FWD/BWD Joystick FWD/BWD Control Speed and Left/Right Motion Control Speed and FWD/BWD Motion Control Speed and FWD/BWD Motion Joystick Left/Right Joystick Left/Right First-Step Mode Control Steering Angle (Parallel) Control Steering Angle (Wheels and Tracks) All Wheels in No Contact with Stairs? Yes Yes Wheels Mode All Wheels over Last Step? Last-Step Mode No Yes Last Step? Stair-Climbing Mode No Figure 7. A stateflow diagram showing the driving modes of the high-level control. The stateflow starts with the initialization state, which is followed by the ready state. In the ready state, a GUI allows the user to select an appropriate driving mode (listed in rectangular blocks in the second row of the stateflow). After selecting the driving mode, the user then uses the joystick to control the relevant DoF. FWD: forward; BWD: backward. (a) (b) (c) Figure 8. The different configurations for steering the wheels: (a) four-wheel steering with a small turning radius (Ackermann geometry), (b) crab steering, and (c) turning in place. Wheel-Based Driving Modes With four individually steered wheels, the user can choose between several driving modes (the options shown in Figure 7). The most common mode is the normal wheel driving mode [see Figure 8(a)], with wheels that provide traction torque and wheelchair maneuvering implemented as a fourwheel steering based on the Ackermann principle [20]. The 32 * IEEE ROBOTICS & AUTOMATION MAGAZINE * DECEMBER 2017 wheels' relative velocities depend on the steering angle. Such a configuration enables steering with the smallest turning circle of 1.83 m (the outer diameter of the full turn). Two-wheel steering concepts are simplifications of the four-wheel steering. In this case, steering can be implemented on the front or rear wheels only. An analog value from left/right movement of the joystick is used as a turning circle reference, while the