Advertisement

Modelling the World of a Smart Room for Robotic Co-working

  • Uwe AßmannEmail author
  • Christian Piechnick
  • Georg Püschel
  • Maria Piechnick
  • Jan Falkenberg
  • Sebastian Werner
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 880)

Abstract

Robots come out of the cage. Soon, it will be possible to interact with free-standing robots along an assembly line or in a manufacturing workshop (robotic co-working). New sensitive robot arms have appeared on the market [1] that slow down or stop when humans enter their context, which creates rich opportunities for collaboration between human and robots. But how to program them? This paper contributes an architectural design pattern to engineer software for robotic co-working with world-oriented modelling (WOM). We argue that robotic co-working always has to take place in smart rooms tracking the movements of humans carefully, so that the robotic system can automatically adapt to their actions. Because robotic co-working should be safe for humans, robots, and their work items, the robots should enter safe states before harmful encounters happen. Based on the safety automata in the style of [1], we suggest to engineer software for the smart rooms of human-robotic co-working with an explicit world model, an automaton of the world’s states, and a software variant space, a software variant family, which are related by a total activation mapping. This construction has the advantage that the world model is split off the software system to make its construction simpler, avoiding if-bloated code. Also, proofs about the entire smart system can be split into a proof about the world model and a proof obligation for the software variant space. Therefore, we claim that world-oriented modelling (WOM) simplifies the development of robotic co-working applications, leveraging the principle of separation of concerns for improved maintainability and quality assurance.

References

  1. 1.
    Haddadin, S., et al.: Towards the robotic co-worker. In: Pradalier, C., Siegwart, R., Hirzinger, G. (eds.) Robotics Research. Springer Tracts in Advanced Robotics, vol. 70, pp. 261–282. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-19457-3_16CrossRefGoogle Scholar
  2. 2.
    Pransky, J.: The Pransky interview: Dr Esben Ostergaard, inventor, co-founder and CTO of Universal Robots. Ind. Robot 42, 93–97 (2015)CrossRefGoogle Scholar
  3. 3.
    Kirschner, D., Velik, R., Yahyanejad, S., Brandstötter, M., Hofbaur, M.: YuMi, come and play with me! A collaborative robot for piecing together a tangram puzzle. In: Ronzhin, A., Rigoll, G., Meshcheryakov, R. (eds.) ICR 2016. LNCS (LNAI), vol. 9812, pp. 243–251. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-43955-6_29CrossRefGoogle Scholar
  4. 4.
    Ju, Z., Yang, C., Li, Z., Cheng, L., Ma, H.: Teleoperation of humanoid Baxter robot using haptic feedback. In: International Conference on Multisensor Fusion and Information Integration for Intelligent Systems (MFI), pp. 1–6. IEEE (2014)Google Scholar
  5. 5.
    Many: Discussion on the web platform reddit (2015)Google Scholar
  6. 6.
    Nunez, A., Gasiunas, V.: ECaesarJ User’s Guide. Technische Universität Darmstadt, Germany (2009)Google Scholar
  7. 7.
    Capilla, R., Bosch, J., Trinidad, P., Cortés, A.R., Hinchey, M.: An overview of dynamic software product line architectures and techniques: observations from research and industry. J. Syst. Softw. 91, 3–23 (2014)CrossRefGoogle Scholar
  8. 8.
    Classen, A., Cordy, M., Schobbens, P.Y., Heymans, P., Legay, A., Raskin, J.F.: Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE Trans. Softw. Eng. 39, 1069–1089 (2013)CrossRefGoogle Scholar
  9. 9.
    Raskin, J.F.: An introduction to hybrid automata. In: Hristu-Varsakelis, D., Levine, W.S. (eds.) Handbook of Networked and Embedded Control Systems, pp. 491–518. Birkhäuser (2005)zbMATHGoogle Scholar
  10. 10.
    Kramer, J., Magee, J.: Towards robust self-managed systems. Prog. Inf. 5, 1–4 (2008)CrossRefGoogle Scholar
  11. 11.
    Bencomo, N., France, R.B., Cheng, B.H.C., Aßmann, U. (eds.): Models@run.time - Foundations, Applications, and Roadmaps. LNCS, vol. 8378. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-08915-7CrossRefGoogle Scholar
  12. 12.
    Bencomo, N., Grace, P., Flores-Cortés, C.A., Hughes, D., Blair, G.S.: Genie: supporting the model driven development of reflective, component-based adaptive systems. In: Schäfer, W., Dwyer, M.B., Gruhn, V. (eds.) 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, 10–18 May 2008, pp. 811–814. ACM (2008)Google Scholar
  13. 13.
    Appeltauer, M., Hirschfeld, R., Lincke, J.: Declarative layer composition with the JCop programming language. J. Object Technol. 12(4), 1–37 (2013)Google Scholar
  14. 14.
    Afanasov, M., Mottola, L., Ghezzi, C.: Context-oriented programming for adaptive wireless sensor network software. In: International Conference on Distributed Computing in Sensor Systems (DCOSS), pp. 233–240. IEEE Computer Society (2014)Google Scholar
  15. 15.
    Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data Knowl. Eng. 35, 83–106 (2000)CrossRefGoogle Scholar
  16. 16.
    Kühn, T., Leuthäuser, M., Götz, S., Seidl, C., Aßmann, U.: A metamodel family for role-based modeling and programming languages. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 141–160. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11245-9_8CrossRefGoogle Scholar
  17. 17.
    Herrmann, S.: A precise model for contextual roles: the programming language ObjectTeams/Java. Appl. Ontol. 2, 181–207 (2007)Google Scholar
  18. 18.
    Moret, B.M.E.: Decision trees and diagrams. ACM Comput. Surv. 14, 593–623 (1982)CrossRefGoogle Scholar
  19. 19.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997).  https://doi.org/10.1007/BFb0053381CrossRefGoogle Scholar
  20. 20.
    Cardozo, N., González, S., Mens, K., Straeten, R.V.D., D’Hondt, T.: Modeling and analyzing self-adaptive systems with context Petri nets. In: TASE, pp. 191–198. IEEE Computer Society (2013)Google Scholar
  21. 21.
    Leuthäuser, M.: Pure embedding of evolving objects. In: Ninth International Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE), IARIA (2017)Google Scholar
  22. 22.
    Maycock, J., Steffen, J., Haschke, R., Ritter, H.: Robust tracking of human hand postures for robot teaching. In: 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2947–2952. IEEE (2011)Google Scholar
  23. 23.
    Ude, A., Atkeson, C.G., Riley, M.: Programming full-body movements for humanoid robots by observation. Rob. Auton. Syst. 47, 93–108 (2004)CrossRefGoogle Scholar
  24. 24.
    Andersson, J., de Lemos, R., Malek, S., Weyns, D.: Modeling dimensions of self-adaptive software systems. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 27–47. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02161-9_2CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Uwe Aßmann
    • 1
    Email author
  • Christian Piechnick
    • 1
  • Georg Püschel
    • 1
  • Maria Piechnick
    • 1
  • Jan Falkenberg
    • 1
  • Sebastian Werner
    • 1
  1. 1.Chair of Software Engineering, Fakultät InformatikTechnische Universität DresdenDresdenGermany

Personalised recommendations