Fast and Compact Encoding of Numerical Controllers Using OBDDs Giuseppe Della Penna 1 , Benedetto Intrigila 2 , Nadia Lauri 1 , and Daniele Magazzeni 1 1 Department of Computer Science, University of L’Aquila, Italy {dellapenna,lauri,magazzeni}@di.univaq.it 2 Department of Mathematics, University of Rome “Tor Vergata”, Italy intrigil@mat.uniroma2.it Abstract. In the last years, the use of control systems has become very common, especially in the embedded systems contained in a growing number of everyday products. Therefore, the problem of the automatic synthesis of control systems is extremely important. However, most of the current techniques for the automatic generation of controllers, such as cell-to-cell mapping, dynamic programming, set oriented approach or model checking, typically generate numerical controllers that cannot be embedded in limited hardware devices due to their size. A possible solution to this problem is to compress the controller. However, most of the com- mon lossless compression algorithms, such as LZ77, would decrease the controller performances due to their decompression overhead. In this paper we propose a new, completely automatic OBDD-based compression technique that is capable of reducing the size of any numerical controller up to a space savings of 90% without any noticeable decrease in the controller performances. Moreover, the output of this compression process can be easily embedded in software/hard- ware devices by automatically translating it in C or VHDL code. 1 Introduction Control systems (or, shortly, controllers) are small hardware/software components that control the behavior of larger systems, the plants. A controller continuously looks at the plant state variables and possibly adjusts some of its control variables to keep the system in the setpoint, which usually represents its correct behavior. In the last years, the use of controllers has become very common in robotics, critical systems and, in general, in the embedded systems contained in a growing number of everyday products. Therefore, the problem of the automatic synthesis of control systems is extremely important. To this aim, several techniques have been developed, based on a more or less sys- tematic exploration of the plant state space. One can mention, among others, cell-to-cell mapping techniques [1], dynamic programming [2] and set oriented approach [3]. Re- cently, model checking techniques have also been applied [4, 5] in the field of automatic controller generation. The controllers generated using all these techniques are typically numerical con- trollers, i.e. tables indexed by the plant states, whose entries are commands for the J.A. Cetto et al. (eds.): Informatics in Control, Automation and Robotics, LNEE 37, pp. 75–87. springerlink.com c Springer-Verlag Berlin Heidelberg 2009