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. 1


Kinematics and Related Calculations. 2


Straight-Line Trajectory. 2

Forward Calculations. 2

Inverse Calculations. 3


Trajectory Following an Arc of a Circle. 3

Forward Calculations. 3

Inverse Calculations. 4


Trajectory Following a Cubic Polynomial 5

Forward Calculations. 5

Inverse Calculations. 7


A Differentially Steered Drive System (with Odometry Calculations. 8)

Forward Calculations. 8

Inverse Calculations (Odometry Calculations) 8


Some Variables and Coefficients Used in These 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).





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)


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.


Path length




Kinematics and Related Calculations


Straight-Line Trajectory

Reference: None

Description: Simple calculations for a trajectory following a straight line. Fixed velocity, zero rotational velocity.


Forward Calculations


Inverse Calculations

Given two points  and 


Length of path (distance between points or range from first point to last)






The arc tangent, or inverse tangent, is sometimes written


In computational environments, the ATAN2 functions may be used.







Trajectory Following an Arc of a Circle

Description: Calculations with a fixed linear and rotational velocity.


Forward Calculations

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.


Inverse Calculations

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.







Trajectory Following a Cubic Polynomial

Description: A trajectory defined by a third-degree polynomial. Speed and acceleration are allowed to vary.

Reference: A Path Based on Third-Degree Polynomials, Constrained at its Endpoints by Position, Orientation, and Speed


Forward Calculations

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.








Then velocity and position calculations are given by





Inverse Calculations

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











Recall that the term  is equivalent to the specified speed  at the corresponding point.






A Differentially Steered Drive System (with Odometry Calculations)

Description: A model for differential steering system (wheelchair-style steering and drive system).

Reference:  A Tutorial and Elementary Trajectory Model for The Differential Steering System of Wheel-Based Actuators for Mobile Robots


Forward Calculations




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.



Inverse Calculations (Odometry Calculations)

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.





When the robot does not turn, but follows a straight-line path















Copyright © 2006 by G.W. Lucas. All rights reserved.