1 Copyright © 2007 by ASME Proceedings of the ASME 2007 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2007 September 4-7, 2007, Las Vegas, Nevada, USA DETC2007-35358 NATURAL COORDINATES FOR TEACHING MULTIBODY SYSTEMS WITH MATLAB Javier García de Jalón Universidad Politécnica de Madrid Dep. de Mat. Aplicada and INSIA José Gutiérrez Abascal 2 28006 Madrid, Spain Phone: 34-913363213 E-mail: javier.garciadejalon@upm.es Noboyuki Shimizu Dept .of Mechanical Systems and Design Engineering Iwaki Meisei University, Iwaki, 5-5-1 Chuodai-Iino Fukushima, 970-8551, JAPAN Phone : (81) 246-29-7183 E-mail : nshim@iwakimu.ac.jp David Gómez Universidad Politécnica de Madrid Final year undergraduate student José Gutiérrez Abascal 2 28006 Madrid, Spain Phone: 34-913364261 E-mail: davidgomezjim@hotmail.com ABSTRACT This paper deals with teaching kinematic and dynamic analysis of 3-D multibody systems in a context of courses with severe time constraints and the objective of attaining practical abilities. This high course efficiency is intended by the use of a simple theoretical approach (the natural or fully Cartesian coordinates) and a high level programming language (the function rich and easy to learn development tool Matlab 1 ). The theoretical prerequisites for such a course can be kept to a minimum. This approach would allow the introduction of some lessons on multibody systems inside more general courses on machine dynamics. It can also be useful for short courses addressed to engineers in industry and for numerical analysis courses addressed to mechanical engineering students that are interested in practical applications of these numerical methods. In this paper the achievable theory level will be presented in detail by means of a practical but non trivial example: a closed-chain 3-D robot. Natural coordinates and Matlab are also a good starting point to present more advanced techniques such as numerical integration methods for ODEs and DAEs, or the not very well known automatic differentiation techniques. The latter is considered as a more advanced example in this paper. 1 INTRODUCTION The numerical methods for kinematic and dynamic analysis of 3-D MBS can be classified as "global" or "topological". The former are simpler to implement because they treat all systems exactly in the same way, so they are also 1 Matlab ® is a trademark of The Mathworks Inc. (http://www.mathworks.com). more appropriate for teaching purposes when there are severe time limitations. Topological methods take advantage of the system characteristics and they are far more efficient, although more complex to describe and to implement. When applied to closed loop systems, topological methods need to use, at a lower problem size, the same or similar techniques that global methods use to deal with constraints. So, global methods are always a good starting point to learn all MBS techniques. Global methods are normally based on some kind of Cartesian coordinates, chosen in such a way that they define directly the absolute position of each system body. Very often this is carried out by determining the position and orientation of a reference frame attached to every moving body. Nearly all formulations use three coordinates to determine the position of the frame origin or reference point, but they diverge in the method used to describe angular orientation. There are two kinds of reference points that are more commonly used: the center of gravity and an input point (that is, a point related with the first joint of the body, when all the bodies are consecutively visited, starting from the fixed body). The center of gravity is a privileged point from the dynamic point of view, but it can have little or null interest from the geometric and kinematic points of view. It is desirable to let the user choose the point he or she prefers. The angular orientation of a rigid body in the 3-D space is fully defined by the rotation or transformation matrix A. This is an orthogonal 3×3 matrix whose 9 elements must satisfy the 6 orthonormality conditions. Matrix A is very important because it transforms the body geometry, which is constant in its moving frame, to the global reference frame. However six constraints for each moving body are too many constraints and