Programming a trusted memory-centric motion control system for robotic and mechatronic systems

Machine-building Engineering and Machine Science


DOI: 10.34759/vst-2022-2-197-210

Аuthors

Zelenskii A. A.*, Ivanovskii S. P.**, Ilyukhin Y. V.***, Gribkov A. A.****

Moscow State University of Technology "STANKIN", 1, Vadkovsky lane, Moscow, 127994, Russia

*e-mail: zelenskyaa@gmail.com
**e-mail: .ivanovskiy@stankin.ru
***e-mail: y.ilyukhin@stankin.ru
****e-mail: a.gribkov@stankin.ru

Abstract

The article substantiates the need for the development of motion control systems for industrial robots, CNC machines and other mechatronic systems, defines the requirements for ensuring trust in such systems from the viewpoint of functional reliability and information security. One of the most up-to-date trends in the development of motion control systems for digital production is a significant expansion of their functionality for managing complex multi-coordinate nonlinear objects in real time. Practical meeting of the requirements for improving and ensuring the trust of motion control systems of industrial robots, CNC machines and other mechatronic systems can be achieved by improving the architecture of motion control systems, in particular through the application of memory-centric architecture of motion control systems. On the assumption of the specifics of control systems with memory-centric architecture, basic requirements for programming such control systems can be set. According to these requirements, the programming language should be:

— subject-oriented and specialized for motion control;

— declarative with elements of functional and logical language, optimal for setting algorithms of operation, i.e. for distributing tasks between autonomous functional modules of the control system;

— interpreted (or assembly language), ensuring the speed and compactness of the program code, as well as optimal use of shared memory resources of the control system when running in real time.

In addition, the program in the language being defined should implement the model of actors and ensure confidence increasing in the motion control system. To meet the specified requirements, the authors created a domain-oriented declarative interpreted language of a modular digital system. The key elements of the language are a set of syntactic elements, as well as application programming interfaces built from syntactic elements of the language and serving for integration into the language of external libraries (in the same or other languages). The program in language includes the following basic elements: operators, structures and expressions formed from syntactic elements of the language; actors formed as instances of additional programs emulated by the (main) program at startup or during the process of running.

The motion control system, programmed in the language, consists of four main structural components:

— A human-machine interface, through which the program code generated by the human operator, describing the algorithm of operation of the equipment, as well as a configuration file that provides program configuration for the tasks being formulated;

— A central processor responsible for the overall management of the system and distribution of tasks;

— Functional modules, performing data processing of sensitization, computations and control of regulators of actuating devices;

— Communication networks, ensuring communication between the structural elements of a computer, as well as with external devices.

As the result of the research being conducted, the mechanism of implementing the actor model through meta-programming, as well as tools for increasing confidence in the management system through management decentralization and data localization, were determined.

Keywords:

industrial robots, program, mechatronic, motion control system, trust, memory-centric, domain-oriented, declarative, actor, meta-programming

References

  1. Pogosyan M.A., Vereikin A.A. Position and motion control of aerial vehicles in automatic landing systems: analytical review. Aerospace MAI Journal, 2020, vol. 27, no. 3, pp. 7-22. DOI: 10.34759/vst-2020-3-7-22
  2. Kul’kov V.M., Yoon S.W., Firsyuk S.O. A small spacecraft motion control method employing inflatable braking units for deceleration while orbital flight prior to the atmospheric entry. Aerospace MAI Journal, 2020, vol. 27, no. 3, pp. 23-36. DOI: 10.34759/vst-2020-3-23-36
  3. Fedorov A.V., Hoang V.T. Software package for motion control algorithms design of service module in geostationary orbit. Aerospace MAI Journal, 2020, vol. 27, no. 4, pp. 192-205. DOI: 10.34759/vst-2020-4-192-205
  4. Leiserson C.E., Thompson N.C., Emer J.S. et al. There’s plenty of room at the Top: What will drive computer performance after Moore’s law?Science, 2020, vol. 368, no. DOI: 10.1126/science.aam9744
  5. Ghose, Hsieh K., Boroumand A., Ausavarungnirun R., Mutlu O.Enabling the Adoption of Processing-in-Memory: Challenges, Mechanisms, Future Research Directions. 2018, 45 p. URL: CoRR abs/1802.00320
  6. Singh G., Chelini L., Corda S. et al. Near-Memory Computing: Past, Present, and Future. Microprocessors and Microsystems, 2019. DOI: 48550/arXiv.1908.02640
  7. Kalyaev I.A., Zaborovskii V. Control Engineering Rossiya, 2019, no. 5(83), pp. 26-31. URL: https://controleng.ru/wp-content/uploads/8326.pdf
  8. Cell Broadband Engine Programming Tutorial. Version 2.0. IBM Systems and Technology Group. 2006б 185 p. URL: https://arcb.csc.ncsu.edu/~mueller/cluster/ps3/CBE_Tutorial_v2.0_15December2006.pdf
  9. Zelenskii A.A., Ilyukhin Y.V., Gribkov A.A. Memory-centric models of industrial robots control systems. Aerospace MAI Journal, 2021, vol. 28, no. 4, pp. 245-256. DOI: 10.34759/vst-2021-4-245-256
  10. Zelenskii A.A., Abdullin T.Kh., Ilyukhin Yu.V., Khar’kov M.A. STIN, 2019, no. 8, pp. 5-8.
  11. Nios® II Processor Reference Guide. Intel Corporation, 2020, 230 p. URL: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/nios2/n2cpu-nii5v1gen2.pdf
  12. Nios® II Software Developer Handbook. Intel Corporation, URL: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/nios2/n2sw_nii5v2gen2.pdf
  13. Waterman A., Asanović K. The RISC-V Instruction Set Manual. Volume I: User-Level ISA. Document Version 2.2. 2017, 145 p. URL: https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf
  14. Zelenskii A.A., Frants V.A., Semenishchev E.A. Vestnik mashinostroeniya, 2019, no. 10, pp. 3-7.
  15. Zelenskii A.A., Shadrin N.G., Abdullin T.Kh., Khar’kov M.A. Vestnik komp’yuternykh i informatsionnykh tekhnologii, 2019, no. 11 (185), pp. 46-52.
  16. Khar’kov M.A., Ivanovskii S.P., Zelenskii A.A., Abdullin T.Kh. Vestnik MGTU Stankin, 2018, no. 1(44), pp. 91-95.
  17. EtherCAT Communication Manual. Cat. No. Q179-E1-01. OMRON Corporation, Industrial Automation Company, 2010. URL: https://www.tecnical.cat/PDF/OMRON/Vision/Q179-E1-01.pdf
  18. Ethernet POWERLINK Communication Profile Specification. EPSG, 2016. URL: https://www.ethernet-power-link.org/fileadmin/user_upload/dokumente/downloads/technical_documents/epsg_ds_301_v-1-3-0__4_.pdf
  19. Mühe H., Angerer A., Hoffmann A., Reif W. On reverse-engineering the KUKA Robot Language. 1st International Workshop on Domain-Specific Languages and models for ROBotic systems, URL: https://arxiv.org/pdf/1009.5004.pdf
  20. HrBasic Reference Manual Ver. 5.50. Hirata 2004-2005. URL: https://www.hirata.de/fileadmin/content/05_Kontakt/Support_Download/Programmierhandbuch_fuer_HR-Basic_Syntax_Version_2_10-2008__H-XXXX-1E.pdf
  21. Sutormin D.K., Tyul’kin M.V. Robot Control Meta Language. Metayazyk dlya robotov (Robot Control Meta Language. A meta-language for robots). Perm, Titul, 2015, 72 p.
  22. Finkel R. Advanced programming languages design. University of Kentucky. Addison-Wesley Publishing Company, Inc. 1996, 363 p. URL: https://www.researchgate.net/publication/220692467_Advanced_programming_language_design
  23. IEC 61131-3 International standard. Second edition 2003-01. Programmable controllers. Part 3: Programming languages. URL: https://d1.amobbs.com/bbs_upload782111/files_31/ourdev_569653.pdf
  24. Burgin M. Systems, Actors and Agents: Operation in a multicomponent environment. 2017. DOI: 10.48550/arXiv.1711.08319
  25. Rinaldi L., Torquati M., Mencagli G., Danelutto M., Menga T. Accelerating Actor-based Applications with Parallel Patterns. 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (13-15 February 2019; Pavia, Italy). DOI: 10.1109/EMPDP.2019.8671602
  26. Shah V., Salles M. Reactors: A Case for Predictable, Virtualized Actor Database Systems. International Conference on Management of Data SIGMOD’18 (10-15 June 2018; Houston TX USA), pp. 259–274. DOI: 10.1145/3183713.3183752
  27. Lohstroh М., Menard С., Bateni S., Lee E. Toward a Lingua Franca for Deterministic Concurrent Systems. ACM Transactions on Embedded Computing Systems, 2021, vol. 20, no. 4. Article 36. DOI: 1145/3448128
  28. Batko P., Kuta M. Actor model of Anemone functional language. The Journal of Supercomputing, 2018, vol. 74, pp. 1485-1496. DOI: 10.1007/s11227-017-2233-1
  29. Brodie L. Thinking Forth: A Language and Philosophy for Solving Problems. Punchy Publishing, 2004, 316 p. URL: https://jztkft.dl.sourceforge.net/project/thinking-forth/reprint/rel-1.0/thinking-forth-color.pdf
  30. Steele L. Common LISP. The Language. 2nd Edition. Thinking Machines, Inc., 1990, 1029 p. URL: https://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
  31. Porter J., Menascé D., Gomaa H. Decentralized Software Architecture Discovery in Distributed Systems. Technical Reports. George Mason University, Department of Computer Science, 2016. URL: https://cs.gmu.edu/media/techreports/GMU-CS-TR-2016-2.pdf
  32. Porter J., Menascé D., Gomaa H. DeSARM: A Decentralized Mechanism for Discovering Software Architecture Models at Runtime in Distributed Systems. MoDELS@Run.time, 2016. URL: http://ceur-ws.org/Vol-1742/MRT16_paper_3.pdf
  33. Getting Started with Erlang User’s Guide. Version 12.0.2. Ericsson AB, 2021. URL: https://erlang.org/doc/getting_started/users_guide.html
  34. ISO/IEC 30170:2012. Information technology — Programming languages — Ruby. 2012, 313 p. URL: https://www.iso.org/obp/ui/#iso:std:iso-iec:30170:ed-1:v1:en
  35. Zelenskii A.A., Poryadin D.V., Morozkin M.S. Svidetel’stvo o gosudarstvennoi registratsii programm dlya EVM «Interpretator yadra SChPU» RU2020612803, 03.2020 (Certificate of state registration of computer programs «CNC core Interpreter» RU2020612803, 03.03.2020).
  36. Zelenskii A.A., Poryadin D.V., Morozkin M.S., Kuptsov V.R. Svidetel’stvo o gosudarstvennoi registratsii programm dlya EVM «Graficheskii interfeis sistemy chpu PERSPEKTIVA» RU2020612698, 28.02.2020 (Certificate of state registration of computer programs " Graphical interface of the Perspective CNC system" RU2020612698, 28.02.2020).
  37. Raphael B. The structure of programming languages. Communications of the ACM, 1966, vol. 9, no. 2, pp 67–71. DOI: 1145/365170.365175
  38. Volkova V., Kozlov V., Mager V., Chernenkaya L. Classification of methods and models in system analysis. XX IEEE International Conference on Soft Computing and Measurements — SCM (24-26 May 2017; St. Petersburg, Russia). DOI: 10.1109/SCM.2017.7970533
  39. Hilfinger P. A Model of Programming Languages. University of California, Department of Electrical Engineering and Computer Sciences, Computer Science Division, 1998. URL: https://people.eecs.berkeley.edu/~jrs/61bf98/reader/ucb/java-model.pdf
  40. Martini S. The Standard Model for Programming Languages: The Birth of a Mathematical Theory of Computation. OpenAccess Series in Informatics (OASIcs), 2020, vol. 86, 8:1-8:13. DOI: 4230/OASIcs.Gabbrielli.8

mai.ru — informational site of MAI

Copyright © 1994-2024 by MAI