RUDN Journal of Engineering ResearchRUDN Journal of Engineering Research2312-81432312-8151Peoples’ Friendship University of Russia1891410.22363/2312-8143-2018-19-2-177-189Research ArticlePYTHON PACKAGE FOR INTELLIGENT CONTROL SYSTEMS SYNTHESISDiveevAskhat I<p>Doctor of Technical Sciences, Professor, chief of Sector of Cybernetic Problems, Federal Research Centre “Computer Science and Control” of Russian Academy of Sciences, professor of Department of Mechanics and Mechatronics, Engineering Academy, Peoples’ Friendship University of Russia. Research interests: Computational methods for problems of control</p>aidiveev@mail.ruDotsenkoAnton V<p>post-graduate student of Department of Mechanics and Mechatronics, Engineering Academy, Peoples’ Friendship University of Russia. Research interests: Optimization algorithms, evolutionary algorithms, artificial neural networks, machine learning, computational methods for problems of optimal control</p>anton.dozenko@gmail.comInstitution of Russian Academy of Sciences Dorodnicyn Computing Centre of RASPeoples’ Friendship University of Russia (RUDN University)1512201819217718919072018Copyright © 2018, Diveev A.I., Dotsenko A.V.2018<p>This article is devoted to the desription of аpython library based on symbolic regression methods for control systems synthesis problem. Control sysnthesis is becoming more and more relevant, gaining particular importance in view of the rapid development of robotics. Usually, practicians and engineers apply template-type regulators when modeling, and then select optimal parameters for them. At a time when the computing power of PCs has reached its peak, and programming languages have become extremely expressive due to the high level of abstraction and the vastness of libraries, it is better to implement the synthesis in the form of a library. Python was chosen as the language for synthesis implementation. According to the authors of the article, Python is a convenient language for programming matrix and vector calculations thanks to the numpy package. Moreover, the share of projects written in Python in the web service for hosting Github has been steadily increasing recently, which indicates the support of the language from the developer community. This article describes how to use the package to solve the problem of control synthesis. The authors provide the description of the symbolic regression method, the network operator and algorithms for finding the optimal solution using the principle of small variations of the basic solution. In the experimental part of the article, an example of how to use the library to solve the problem of synthesis of control of a mobile robot moving on a planewith obstacles is considered.</p>control synthesispython librarysymbolic regression methodoptimal controlmobile robotсинтез управлениябиблиотека Pythonметод символьной регрессииоптимальное управлениемобильный робот[Diveev A.I. Priblizhennye metody resheniya zadachi sinteza optimal’nogo upravleniya [Approximate methods for solving the optimal control synthesis problem]. Мoscow: Dorodnicyn Computing Centre of RAS Publ., 2015. 184 p. (In Russ.)][Diveev A.I. Metod setevogo operatora [Network operator]. Мoscow: Dorodnicyn Computing Centre of RAS Publ., 2010. 178 p. (In Russ.)][Diveev A.I. Chislennyi metod setevogo operatora dlya sinteza sistemy upravleniya s neopredelennymi nachal’nymi znacheniyami [Network operator numerical method for the control system synthesis with undefined initial values]. Journal of Computer and Systems Sciences International. 2012. (2). P. 63—78. (In Russ.)][Python 3.5.5 documentation // www.python.org URL: https://docs.python.org/3.5/tutorial/ introduction.html#lists (access date: Fabuary 2018).][Diveev A.I. Small Variations of Basic Solution Method for Non-numerical Optimization // Proceedings of 16th IFAC Workshop on Control Applications of Optimization, CAO’ 2015. October 6th—9th 2015 Garmisch-Partenkirchen. P. 28—33.]