General Robotic System Software Design Methodology
Abstract
Robotic systems are composed of at least one robot and zero or more auxiliary devices. They contain effectors, receptors and the control system. Currently control systems are computer based thus the software component is of paramount importance. Software engineering good practices require that first the designed software should be specified and then implemented. The paper focuses on the specification phase of robotic system software creation. The presented method decomposes a robotic system into embodied agents. Each embodied agent is composed of its control subsystem and zero or more real as well as virtual effectors and receptors. The description of activities of each of those subsystems uses the concepts of hierarchic finite state machines, behaviours, transition functions and supplementary predicates, i.e. terminal and error conditions as well as predicates defining inter subsystem communication mode. The ontological level of the specification, conforming to the executed class of tasks, is defined by the contents of the inter-subsystem communication buffers as well as their internal memory.
Keywords
robotic system embodied agent robot software specificationPreview
Unable to display preview. Download preview PDF.
References
- 1.Paul, R.: WAVE: A model based language for manipulator control. The Industrial Robot 4(1), 10–17 (March 1977)Google Scholar
- 2.Mujtaba, S., Goldman, R.: AL users’ manual. Stanford Artificial Intelligence Laboratory (Jan 1979)Google Scholar
- 3.Blume, C., Jakob, W.: Programming Languages for Industrial Robots. Springer–Verlag (1986)Google Scholar
- 4.Zieliński, C.: TORBOL: An object level robot programming language. Mechatronics 1(4), 469–485 (1991)Google Scholar
- 5.Hayward, V., Paul, R.P.: Robot manipulator control under Unix RCCL: A robot control C library. International Journal of Robotics Research 5(4), 94–111 (Winter 1986)Google Scholar
- 6.Blume, C., Jakob, W.: PASRO: Pascal for Robots. Springer–Verlag, Berlin (1985)Google Scholar
- 7.Gerkey, B.P., Vaughan, R.T., StØy, K., Howard, A., Sukhatme, G.S., Mataric, M.J.: Most Valuable Player: A Robot Device Server for Distributed Control. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). pp. 1226–1231 (2001)Google Scholar
- 8.Zieliński, C.: The MRROC++ system. In: Proceedings of the First Workshop on Robot Motion and Control, RoMoCo’99. pp. 147–152 (June 1999)Google Scholar
- 9.Brooks, A., Kaupp, T., Makarenko, A., Williams, S., Orebäck, A.: Towards component-based robotics. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’05). pp. 163–168 (August 2005)Google Scholar
- 10.Bruyninckx, H.: Open robot control software: The OROCOS project. In: International Conference on Robotics and Automation (ICRA). vol. 3, pp. 2523–2528. IEEE (2001)Google Scholar
- 11.Nesnas, I.: The CLARAty project: Coping with hardware and software heterogenity. In: Brugali, D. (ed.) Software Engineering for Experimental Robotics, pp. 31–70. Springer–Verlag (2007)Google Scholar
- 12.Quigley, M., Gerkey, B., Conley, K., Faust, J., Foote, T., Leibs, J., Berger, E., Wheeler, R., Ng, A.: ROS: an open-source Robot Operating System. In: Proceedings of the Open-Source Software workshop at the International Conference on Robotics and Automation (ICRA) (2009)Google Scholar
- 13.Fritsch, J., Wrede, S.: An integration framework for developing interactive robots. In: Brugali, D. (ed.) Software Engineering for Experimental Robotics, pp. 291–305. Springer–Verlag (2007)Google Scholar
- 14.Bonarini, A., Matteucci, M., Restelli, M.: MRT: Robotics of-the-shelf with the modular robotic toolkit. In: Brugali, D. (ed.) Software Engineering for Experimental Robotics, pp. 345–364. Springer–Verlag (2007)Google Scholar
- 15.Brugali, D.: Model-driven software engineering in robotics. IEEE Robotics Automation Magazine 22(3), 155–166 (Sept 2015)Google Scholar
- 16.Klotzbücher, M., Smits, R., Bruyninckx, H., De Schutter, J.: Reusable hybrid force-velocity controlled motion specifications with executable domain specific languages. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, September 25-30, 2011, San Francisco, USA, pp. 4684–4689 (2011)Google Scholar
- 17.Stampfer, D., Lotz, A., Lutz, M., Schlegel, C.: The SmartMDSD toolchain: An integrated MDSD workow and integrated development environment (IDE) for robotics software. Journal of Software Engineering for Robotics (JOSER) 7(1), 3–19 (July 2016)Google Scholar
- 18.Kortenkamp, D., Simmons, R.: Robotic systems architectures and programming. In: Khatib, O., Siciliano, B. (eds.) Springer Handbook of Robotics, pp. 187–206. Springer (2008)Google Scholar
- 19.Kortenkamp, D., Simmons, R., Brugali, D.: Robotic systems architectures and programming. In: Siciliano, B., Khatib, O. (eds.) Springer Handbook of Robotics, 2nd Edition, pp. 283–306. Springer (2016)Google Scholar
- 20.Dijkstra, E.: On the role of scientific thought. In: Selected Writings on Computing: A Personal Perspective, pp. 60–66. Springer–Verlag (1982)Google Scholar
- 21.Slonneger, K., Kurtz, B.L.: Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach. Addison-Wesley Publishing Company, Reading (1995)Google Scholar
- 22.Zieliński, C., Winiarski, T., Kornuta, T.: Agent-based structures of robot systems. In: Kacprzyk, J., et al. (eds.) Trends in Advanced Intelligent Control, Optimization and Automation. Advances in Intelligent Systems and Computing, vol. 577, pp. 493–502 (2017)Google Scholar
- 23.Zieliński, C., Figat, M., Hexel, R.: Communication within multi-fsm based robotic systems. Journal of Intelligent & Robotic Systems (Jun 2018), https://doi.org/10. 1007/s10846-018-0869-6Google Scholar
- 24.Zieliński, C., Figat, M.: Robot System Design Procedure Based on a Formal Specification. In: Szewczyk, R., Zieliński, C., Kaliczyńska, M. (eds.) Recent Advances in Automation, Robotics and Measuring Techniques. Advances in Intelligent Systems and Computing (AISC), vol. 440, pp. 511–522. Springer (2016)Google Scholar
- 25.Zieliński, C., Winiarski, T.: Motion generation in the MRROC++ robot programming framework. International Journal of Robotics Research 29(4), 386–413 (2010)Google Scholar
- 26.Zieliński, C., Winiarski, T.: General specification of multi-robot control system structures. Bulletin of the Polish Academy of Sciences – Technical Sciences 58(1), 15–28 (2010)Google Scholar
- 27.Kornuta, T., Zieliński, C.: Robot control system design exemplified by multicamera visual servoing. Journal of Intelligent & Robotic Systems 77(3–4), 499–524 (2013)Google Scholar
- 28.Janiak, M., Zieliński, C.: Control system architecture for the investigation of motion control algorithms on an example of the mobile platform Rex. Bulletin of the Polish Academy of Sciences – Technical Sciences 63(3), 667–678 (2015)Google Scholar
- 29.Zieliński, C., et al.: Variable structure robot control systems: The RAPP approach. Robotics and Autonomous Systems 94, 226–244 (2017), http://www.sciencedirect. com/science/article/pii/S0921889016306248Google Scholar