Distributed controller architecture for advanced robot control Lrinc Márton *,**,1 * Dept. of Control Engineering and Information Technology ** Dept. of Electrical Engineering Budapest University of Technology and Economics Sapientia Hungarian University of Transylvania H-1117 Budapest, Magyar Tudósok Körútja 2. 540485 Tirgu Mures, Op. 9, Cp. 4 Hungary Romania martonl@ms.sapientia.ro 1 The author of this paper is a grantee of the János Bolyai Scholarship Abstract- The study presents a microcontroller based distributed system for robot control. Each controller calculates control signal for one robot joint. The controllers in the distributed system communicate to each other through SPI bus on which the information (joint positions and velocities) is interchanged. After the communication phase, the controllers can perform the parallel calculation of the control signals for the joint sof the robot. The proposed control system has low development and production cost and it can be applied for the implementation of advanced control algorithms. Experimental measurements are presented to demonstrate the efficiency of the introduced controller architecture. I. INTRODUCTION Robotic systems became indispensable in many braches of the industry. The robot manufacturers also provides the control system for the robot on which the trajectory planning algorithm, the low level control algorithm and the robot programming language are implemented. These control systems have to satisfy strong requirements related to reliability, control precision, safety. Because of high computational costs of the trajectory planning and robot control algorithm, the used control systems are generally based on expensive industrial computers. Nowadays the microcontrollers and the Digital Signal Processors (DSP) are wide spread in many industrial control systems [1]. The main advantage of the microcontrollers is that many interfaces are integrated in the same chip with the processor and accordingly the hardware cost of the control board is low. The power of the DSPs is in their computational capabilities: they can perform mathematical computations, which are necessary in control algorithms, in short time. Fortunately there is a tendency in microcontroller industry to join the advantages of these two architectures namely to make controller architectures with high computational capacity and at the same time equipped with useful interfaces. Such controllers are named Digital Signal Controllers (DSC). The DSCs from the dsPIC family, developed by Microchip [10], are very popular devices. These types of controllers can effectively be used for the position or velocity control of a single sevo motor. They are equipped with interfaces necessary in robot control system: - Incremental encoder signal processing block (for position and velocity measurements) - Pulse Width Modulation (PWM) generator module (for motor control) - Analogue inputs (for resistive position sensors and/or motor current measurement) - Digital inputs and outputs (for limit switches, pneumatic actuators for gripper control, etc.) In the case of robots the control system has to deal with 4, 5, 6 or more joints, the control of which cannot be done with a single controller. If we would like to use DSC for robot control, each joint should be controlled with one local controller unit. However in the case of the advanced robot control algorithms, the control law for the ith joint may depend on joint variables of the entire robot [2]. Hence it is necessary that in every control period the joint information (measured position and velocity) to be interchanged between the controllers. Accordingly fast communication between the local controllers is necessary. It can be done by organizing the controllers in a distributed system around a fast communication bus, which can guarantee that the joint information is interchanged between the local units during a single control period (1-10 milliseconds). A. Previous works Distributed control systems are popular for robotic applications especially in the case when mobile robots have to communicate with each other or in the case of robots with many degrees of freedom, such as humanoid robots. In [3] a robot system is designed as a parallel/distributed computer, in which each module has different I/O peripherals and executes functionally distributed and coarse-grained tasks in real-time, cooperating with each other. The work described in [6] presents two results: the design of a generic control framework using CORBA as its communication middleware 1412 978-1-4244-1666-0/08/$25.00 '2008 IEEE