The Rossum Project / Papers / Calculations For Robotics

Rev 1.1

Posted 23 November 2005

Updated 26 June 2006




Calculations Useful for Robotics


by G.W. Lucas








A Path Following an Arc of Circle to a Specified Position or Range and Bearing


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



A Tutorial and Elementary Trajectory Model for the Differential Steering System of Robot Wheel Actuators



Finding Differential Wheel Velocity as a Function of Turn Angle and Radius and Constant Acceleration – by Mitch Berkson






Compendium (a concise summary of results from articles listed above)



Selected Terms from “Calculations Useful for Robotics”



As far as I know, no one has compiled a catalog of the many calculations that are used in robotics. I don’t doubt that such a thing is possible, but I have no idea how it might be accomplished. There are so many different techniques, algorithms, and fields of study that can be applied to robotics that it’s hard for me to imagine anything resembling a comprehensive guide. If someone ever does assemble such a collection, it will almost certainly include the calculations described on this webpage. These calculations are, simply, mathematical techniques that have proven useful to me and other robotics enthusiasts in our work with small robots. They are not intended to be general solutions. They are not the only way to do things. Nor are they necessarily the best. What they do offer you is a few more specialized tools that may be suited your particular needs in implementing a robot.


The articles given on this web page provide elementary calculations useful in mobile robot navigation and path planning. Many of the calculations address the problem of inverse kinematics. In other words, they provide a way to select a path for a robot or vehicle given certain constraints. For example, what path can a robot follow to get from its current position to a point 1 meter distant and 45 degrees to its right? Or, if the robot is expected to travel through a series of goal positions, how can it maneuver with a minimum of changes in steering and speed?  Results found using the calculations here can be used to create control inputs for robot drive systems including values such as steering angles, motor velocity, wheel rotations, etc.


These notes are intended for a general audience, including advanced high school students and lower-division college students. The methods used for these calculations are, for the most part, elementary: geometry, trigonometry, and some calculus. To keep them simple, I ignore dynamics and often assume fixed velocity. While a truly accurate treatment of robot locomotion systems would require such an advanced discussion, simple results are often practical in actual devices. In writing these pages, I attempted to provide both a quick reference for the calculations as well as an explanation of their derivations. It seems to me that, whenever I find an equation on a web page or in a book, it is never quite in the form that I need for my particular problem. Having access to the ideas behind the calculations helps me adapt them to my needs.


For readers who wish to learn more on these topics, there are excellent books on the subject (and many more that are less than excellent).  These web articles are by no means intended to replace or compete with them. Rather, they are intended as a supplement. While the material presented here is not necessarily easier than that presented in the standard texts, it does offer an alternate perspective. My hope is that, by doing so, these notes will help make useful information more accessible to the robotics community.


Depending on reader interest and response, more such articles may follow in the future. While I do not have any larger ambitions for this web page, I always welcome an interesting problem. I may also be willing to consider work written by others. I ask only that potential contributions focus on the useful, the practical, and the applied.


Robotics is a subject for people with broad minds and lively interests. It covers so many disciplines and skill sets that it could provide incentive for a lifetime’s worth of learning. I am often astonished by the energy and creativity I see applied to robotics. Today, it is my privilege to make this small contribution.


Thank you.  And good luck on your ventures into the art of robotics.



                                                Gary Lucas, November 23 2005





P.S. From time-to-time I update these pages. If you encounter errors or have suggestions for improvements. Please be sure to let me know.