The first post in this series explained I'm currently involved with the qualifying round of the NASA Space Robotics Challenge - Phase 2 (SRC2). The competition requires controlling the rover to the right. It uses Explicit Four Wheel Steering which allows the orientation of the wheels to be independently changed, This provides multiple ways for the rover to move, e.g. straight, crab, turn, pivot.
The challenge is there is no controller for the rover in the Robot Operating System (ROS) because the rover wheels are controlled by effort, not the typical speed control.
This article address the geometry of controlling the rover when it is turning. The diagram below illustrates the rover making a counter-clockwise turn around the Instantaneous Center of Rotation (ICR). The arrows represent the wheel orientation. The dotted box is drawn proportional to the wheel base and track of the rover. Note the orientation of the X/Y axis which is ROS standard for robots.
|Explicit Steering - Rover Turning
|Instantaneous Center of Rotation
|Radius from ICR to center of rover
|Radius of rover's inner (i) and outer (o) sides through ICR
|Wheel base and wheel track of rover. Lengths are representative of actual size.
|Radius of inner(i) and outer (o) wheels
|Steering angle for inner (i) and outer (o) wheels
The turning radius of the rover is Rr and is the distance from the ICR to the center of the rover. As the rover moves the center point traverses a circle. Similarly the inner and outer wheels traverse circles that are smaller and larger, respectively, than the rover's circle.
The wheels drive at a steering angle which is tangent to the circles they traverse. This angle is calculated with basic right triangle trigonometry.
The inner and outer sides the rover, which are the adjacent sides of the triangle, are determined by:
The opposite side of the triangle is one-half the wheel base. The tangent of the angle is the division of the opposite over adjacent sides. Therefore the steering angel for the inner wheels, δi, is:
Similarly the angle for δo is:
Wheel Turning Radius
Using the sides of the triangle, the turning radius of the wheels is determined by the classic Pythagorean formula: (2)
The next article addresses crab movement, which includes straight ahead, and pivoting.