Robot Frame carried by and stays fixed relative to the robot (2D).
We are interested in the robot's location: i.e. the transformation from to .
2. Degrees of Freedom
The degrees of motion freedom are the total dimension of the vectors needed to represent its motion:
A robot which translates along a 1D path has 1 DOF.
A robot which translates & rotates on a 2D plane has 3 DOF (x, y, ).
A robot which translates & rotates in 3D space has 6 DOF (x, y, z, roll, pitch, yaw).
A holonomic robot can move instantaneously in any direction in the space of its degrees of freedom. A non-holonomic robot has constraints on its motion (e.g. a car cannot move sideways).
3. Wheel Configurations
Wheel configurations are non holonomic.
3.1 Differential Drive
Differential Drive - two driving wheels on the left and right side, each has its own motor. Steering achieved by varying the relative speeds of the two wheels. Wheels at equal speeds run in a straight line, in opposite directions to turn on the spot, and different speeds to move in some arc.
This arc has radius and angle . We also know the distance between the two wheels. Without loss of generality:
Left wheel has arc radius .
Right wheel has arc radius .
Then can find the angle as:
3.2 Drive & Steer
Two motors, one to drive, one to steer. Cannot turn on the spot. Fixed speed and steering angle will follow a circular path. With four wheels, we need a rear differential and variable (Ackerman) linkage for steering.
For a tricycle, assuming no sideways slip, where:
is the distance from the rear wheel to the front wheels.
is the steering angle of the front wheels.
is the turning radius of the robot.
is the turning radius of the rear wheel (slightly different from ).
Then, we have:
4. Wheel Velocity
The rate of rotation of a wheel (angular velocity) gives the linear velocity.
In practice, we don't use this method to find the robot's speed, as there may be wheel slip. Instead, we use guided trial and error to work out scaling between the motor reference angle and distance travelled over the ground.
4.1 Motor Control
DC motors set the desired angular rate by applying a specific voltage. They use encoders (sensors) to measure and control the angular position and velocity.
The motor uses pulse width modulation to control the voltage supplied to the motor. This is done by switching the supply on and off at a high frequency. The average voltage is what controls the motor speed.
Error is the demand minus the actual position/velocity.
Proportional Integral Differential (PID) Control sets power as a function of error, .
main gain constant gives rapid response but possible oscillation.
integral gain constant eliminates steady state error but may cause overshoot.
differential gain constant damps oscillations and reduces settling time.
5. Planar Motion
On a 2D plane, we can specify its location state .
If we move in a straight line with distance then .
If we rotate by angle then .
More generally, if we move along an arc of radius and angle then:
6. Path Planning
Position based planning: Assuming a robot has localisation (i.e. it knows its current state ), we plan a path by first rotating to face the goal, then moving in a straight line to it.
Position Based Path Planning Example
Given the current pose is and we want to travel to :
First we must point towards the goal, taking care that (atan2): .
So we must rotate by .
Drive forward .
Local planning considers robot dynamics and possible changes in motion it can make within a small time . For each possible postions look ahead for a longer time . Calcualte the best trajectory based on distance from target and obstacles.
Global planning uses algorithms to determine the best path from start to goal, considering obstacles. Common algorithms include A*, Dijkstra's, and RRT (Rapidly-exploring Random Tree).