The Rossum Project / Papers / Calculations / Compendium
|
Rev 1.0 January 16, 2006 |
A Compendium to “Calculations Useful for Robotics” A compact and convenient compendium of calculations culled from accompanying articles
|
Some Variables and Coefficients Used in These Calculations
Kinematics and Related Calculations
Trajectory Following an Arc of a Circle
Trajectory Following a Cubic Polynomial
A Differentially Steered Drive System (with Odometry Calculations)
Inverse Calculations (Odometry Calculations)
Except where otherwise noted, the following variables and coefficients are used in the calculations given below. While units don’t usually matter, angles are always measured in radius in a right-handed coordinate system (some results depend on this assumption).
Variable |
Description |
|
Coordinates for position of robot. |
|
Orientation of the robot (in radians). |
|
Speed of the robot (always positive) |
|
Linear velocity of the robot (positive in forward direction) |
a |
Linear acceleration of the robot |
|
Rotational velocity of the robot |
|
Rotational acceleration of the robot |
|
Time variable. |
|
Set of parameters giving robot’s state – position, orientation, velocity, and rotational velocity – at time |
|
Velocity vector (combines speed and orientation). |
|
Robot’s position, x and y-coordinates as a function of time. |
|
Robot’s speed as a function of time. |
|
Robot’s acceleration as a function of time. |
|
Robot’s orientation as a function of time. |
|
Robot’s rotational velocity as a function of time. |
L |
Path length |
Reference: None
Description: Simple calculations for a trajectory following a straight line. Fixed velocity, zero rotational velocity.
Given two points and
Length of path (distance between points or range from first point to last)
Bearing
The arc tangent, or inverse tangent, is sometimes written
In computational environments, the ATAN2 functions may be used.
Description: Calculations with a fixed linear and rotational velocity.
Reference: Supplement to “A Path Following a Circular Arc” Using Calculus Methods
Note that the term is a signed quantity
equivalent to the turn radius for the path.
Reference: A Path Following an Arc of a Circle to a Specified Range and Bearing
Given a fixed speed and points
and
,
find a circular path to target. Assume forward motion (see below).
Obtain range and bearing
to
goal position. Bearing should be in range
(-180° to
180°).
Total rotation for trajectory
Turn radius (a signed quantity)
Linear distance of travel (length of circular arc)
Compute delta time for travel
Compute rotational velocity
Find a function giving orientation as a function of time
Find a function giving position as a function of time
Special case: If the goal is behind the target then it
may be more efficient for the robot to travel backward rather than forward. We
do not change the value of the turn radius, but we do
adjust
to reflect the fact
that the robot will be traveling a shorter distance in the opposite direction.
Description: A trajectory defined by a third-degree polynomial. Speed and acceleration are allowed to vary.
Forward calculations are in the general form.
There are many ways to obtain third-degree polynomials for
modeling a robot or vehicle trajectory. The following results assume that
endpoint conditions are fully specified and so constitutes a forward kinematics
treatment. Position, orientation, and speed values for times and
are given. The
derivation that follows produces a smooth path that resembles the classic
cubic-spline method used for curve fitting (see picture below). Motion is
always forward. See reference article for detailed explanation.
![]() |
Let
Then velocity and position calculations are given by
The discussion on forward calculations above assumes that
the duration time for the maneuver is known (and, thus, that the termination
time is available). It is far
more common that the duration time is unspecified and that the maneuver is
constrained by performance issues related to the device (maximum speed or
acceleration values). A duration time can be estimated using the results
from the Trajectory following
an arc of a circle notes above. Once an estimate is available, evaluate the
resulting maximum speed and accelerations to see if they are within acceptable
limits.
Taking and
as
the specified velocity vectors at the initial point and final point
Let
And
Use
Recall that the term is equivalent to the
specified speed
at the corresponding
point.
Description: A model for differential steering system (wheelchair-style steering and drive system).
Let
|
be the rotational velocities of the left and right wheel, respectively |
|
be the radius of the wheels (assumed equal for both) |
|
be the distance between wheels (measured from tire center to tire center) |
Assuming a constant rotational velocity for the wheels (and, thus, constant linear and rotational velocity for the robot)
Note that these equations follow the form described in Trajectory Following an Arc of a Circle above.
The term is a signed quantity
equivalent to the turn radius for the robot.
Given measurements from an encoder (odometer device), and assuming a constant rotational velocity for the wheels, we can estimate position and orientation using the following calculations
Let be the measured
rotation of the left and right wheels, respectively.
Then
When the robot does not turn,
but follows a straight-line path
Copyright © 2006 by G.W. Lucas. All rights reserved.