Robotica (2007) volume 25, pp. 43–61. © 2006 Cambridge University Press doi:10.1017/S0263574706002980 Printed in the United Kingdom Differential and inverse kinematics of robot devices using conformal geometric algebra Eduardo Bayro-Corrochano and Julio Zamora-Esquivel Electrical Engineering and Computer Science Department, GEOVIS Laborator, Centro de Investigaci´ on y de Estudios Avanzados, Guadalajara, Jalisco 44550, Mexico E-mail: jzamora@gdl.cinvestav.mx (Received in Final Form: June 12, 2006, First published online: August 29, 2006) SUMMARY In this paper, the authors use the conformal geometric algebra in robotics. This paper computes the inverse kinematics of a robot arm and the differential kinematics of a pan–tilt unit using a language of spheres showing how we can simplify the complexity of the computations. This work introduces a new geometric Jacobian in terms of bivectors, which is by far more effective in its representation as the standard Jacobian because its derivation is done in terms of the projections of the involved points onto the line axes. Furthermore, unlike the standard formulation, our Jacobian can be used for any kind of robot joints. In this framework, we deal with various tasks of three- dimensional (3D) object manipulation, which is assisted by stereo-vision. All these computations are carried out using real images captured by a robot binocular head, and the manipulation is done by a five degree of freedom (DOF) robot arm mounted on a mobile robot. In addition to this, we show a very interesting application of the geometric Jacobian for differential control of the binocular head. We strongly believe that the framework of conformal geometric algebra can generally be of great advantage for visually guided robotics. KEYWORDS: Computer vision; Clifford (geometric) algebra; Projective and affine geometry; Spheres projective geometry; Incidence algebra; 3D rigid motion; Directed distance; Inverse kinematics; Differential geometry; Robot 3D object manipulation; Stereo systems; Smooth control of binocular heads; Visually guided robotics. 1. Introduction In the literature after the sixties, we find a variety of mathematical systems used for solving problems in general robotics, which we will review briefly. Denavit and Hartenberg 10 introduced the widely used kinematic notation for lower pair mechanisms based on matrix algebra, Walker 24 used the epsilon algebra for the treatment of the manipulator kinematics, Gu and Luh 12 utilized dual- matrices for computing the Jacobians useful for kinematics and robot dynamics, and Pennock and Yang 20 derived closed-form solutions for the inverse kinematics problem for various types of robot manipulators employing dual- * Corresponding author. edb@gdl.cinvestav.mx matrices. Similarly, McCarthy 19 used the dual form of the Jacobian for the analysis of multilinks. Funda and Paul 11 gave a detailed computational analysis of the use of screw transformations in robotics. They explained that since the dual quaternion can represent the rotation and translation transformations simultaneously, it is more effective than the unit quaternion formalism for dealing with the kinematics of robot chains. Many practitioners use a quaternion for 3D rigid transformations for representing the 3D rotation and simply a 3D translation vector. It can easily be shown that this kind of representation is a nonlinear function that leads to nonlinear algorithms for a sequential estimation of rotation and translation. Kim and Kumar 17 computed a closed-form solution of the inverse kinematics of a six DOF robot manipulator in terms of line transformations using dual quaternions. Aspragathos and Dimitros 2 confirmed once again that the use of dual quaternion and Lie algebra in robotics were overseen so far, and that their use helps to reduce the number of representation parameters. In the field of computer vision, although in a different context as robotics, we can find similar representation formalisms in various types of applications like motion estimation, pose and 3D structure recognition, tracking and visual servoying. In most of the methods, the rotation and translation transformations were represented separately using either matrices or quaternions (see the survey of Sabata and Aggarwal 21 ). The disadvantage of separately representing these components is that for solving the problems, nonlinear methods are often required. In the case of the so-called hand–eye calibration problem, for the computation of the rotation axis and angle, several authors considered 22,23 the use of quaternions 9 and a canonical matrix representation. 18 Chen, 8 using the matrix screw theory, found as key invariant of the screw between the two 3D axes that the rotation angle and the translation along the screw axis remained constant. For solving the hand–eye calibration in a linear manner, Bayro-Corrochano et al. 4 used a Clifford algebra of lines called the motor algebra. In other applications, the authors successfully applied dual quaternions; e.g., Walker et al. 24 for estimating the 3D location, and twists and exponential maps like Bregler and Malik 7 for tracking the kinematic chains of moving objects or persons. For solving the hand–eye problem for visual line tracking, Andreff 1 used a matrix approach for a sort of algebra of screws.