Wolfram Library Archive

Courseware Demos MathSource Technical Notes
All Collections Articles Books Conference Proceedings
Title Downloads

A Toolbox for Teaching and Researching Robotics

Adam Bienkowski
Organization: Poznan University of Technology
Krzysztof Kozlowski
Organization: Poznan University of Technology

1998 WorldWide Mathematica Conference
Conference location

Chicago, IL

In this paper we present a package written in Mathematica for teaching and researching in robotics. Robotics is an interdisciplinary field and involves mechanics, control theory, and computer science. Many algorithms in robotics are recursive in nature and involve a lot of calculations both numerical and symbolical. These calculations are very intensive even for industrial robots that have no more than six degrees of freedom. More-specific applications, such as space robotics and many cooperating robots, are associated with massive calculations that cannot be carried out online. We believe that Mathematica is a very useful tool for these calculations, and we use it intensively in the field of robotics.

This paper consists of three parts. The first part describes the theoretical framework, namely spatial operator algebra, which is very useful in robotics. It allows a concise and systematic formulation of the kinematical and dynamical equation of multibody systems and the development of efficient computational algorithms. According to the concept of spatial quantities such as forces, velocities, and accelerations, 6 x 1 vectors consist of two 3 x 1 vectors representing angular and linear behavior of the robot respectively. Besides that, the spatial algebra uses spatial inertia matrices and spatial direction cosine matrices (both have dimensions 6 x 6). The first one characterizes dynamic properties of an individual link (namely mass, center of mass multiplied by mass, and six elements of the inertia tensor of the link), while the second one consists of direction cosines between two successive links assigned according to the modified Denavit-Hartenberg notation. A spatial distance between two successive links is described in terms of a 6 x 6 matrix which is recognized as a spatial transition matrix. The transition matrix plays the role of a discrete step in space. The fundamental problems in robotics, namely direct and inverse kinematics and forward and inverse dynamics, are solved by making use of the above-mentioned spatial quantities. The solutions to these problems are developed for progressively more complex systems: serial chains, topological trees, and closed-loop systems. In all algorithms we also include motors, transmission systems, and gears in order to cover wide industrial applications of the proposed algorithms.

The second part of the paper is devoted to basic data structures in Mathematica that can be used to code the fundamental algorithms in robotics. Generally the system is built of two lists: list of links and list of motors. Both lists consist of several elements that characterize kinematical and dynamical parameters of the links, motors, and joints. These elements are essentially the spatial quantities defined above. The basic data structures allow formulation of recursive algorithms that have organized functions. These functions, when called, result in symbolical or numerical results of serial chains, topological trees, and closed-loop systems. Two numerical methods were applied to the inverse kinematics calculations: first-order steepest-descent method and second-order Newton-Rapson method. They are closely related in terms of the algorithm calculations to the inverse and forward dynamic calculations respectively. Therefore, the same framework can be implemented for both types of problems. Dynamics calculations are basically symbolic in nature, but when applied to the specific robot structure of the robot, they are performed numerically too.

The third part of the paper illustrates considerations presented in the first two parts. Several examples were run using the toolbox for two types of robots most popular in industry: direct-drive robots and gear robots. For these two classes of robots, fundamental problems in robotics are solved numerically and symbolically. The results are displayed in numerical, symbolical, and graphical form.

*Engineering > Control Theory


bienkowski.sit (916.7 KB) - Macintosh
bienkowski.zip (884.6 KB) - PC/Unix