Skip to main content
Log in

Towards a behavior tree-based robotic software architecture with adjoint observation schemes for robotic software development

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Nowadays, autonomous robots are increasingly accomplishing tasks in the dynamic world where environment states may change unexpectedly and be partially observable. The robot tasks in dynamic environments generally expect the robot to continuously deliberate upon the task goal while effectively obtaining environmental information with sensor and actuator actions. Implementing the underlying robotic software for such tasks can be rather difficult and tedious. The software developers need to synthetically implement the decision-making issues of controlling and planning, as well as the interactions between robotic sensing and actuating components, which is much more challenging than general-purpose software development. The existing software engineering practices focus on the general-purpose software development issues of modularity and communication, without specialized architectural solutions for the implementation of robotic controlling and decision-making processes, which still limits the implementation efficiency of robotic software in dynamic environments. This paper proposes a general-purpose scheme of adjoint observation between robotic sensing and actuating components, which specifies the integral control loop of controlling, planning, and data flows. The adjoint observation scheme solves the problem of effectively exploring the environment for effective observations by the integral control loop. Then we utilize the Behavior Tree component software architecture for concrete implementation of adjoint observation schemes. More specifically, we propose the Parallel and Fallback tree structure for concrete implementation of adjoint control flows. We also extend the BT architecture with an online planning component and mutual data store mechanism, enabling continuous planning and efficient data communication between robotic sensing and actuating processes. In the experiment, we select the Classical BT approach and Pure ROS-based approach as baseline approaches, to validate the task effectiveness of the adjoint observation scheme and development efficiency of the supporting software architecture.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

Availability of data and material

All data generated or analyzed during this study are included in this published article.

Code availability

The source codes used during the research are available from the corresponding author on reasonable request.

Notes

  1. https://github.com/AdaCompNUS/despot.git.

  2. https://github.com/miccol/ROS-Behavior-Tree.git.

  3. http://wiki.ros.org/kinetic/Installation/Ubuntu.

References

  • Abdellatif, T., Bensalem, S.: Rigorous design of robot software: a formal component-based approach. Robot. Auton. Syst. 60(12), 1563–1578 (2012)

    Article  Google Scholar 

  • Adam, K., Hölldobler, K., Rumpe, B., Wortmann, A.: Modeling robotics software architectures with modular model transformations. J. Softw. Eng. Robot. (JOSER) 8(1), 3–16 (2017)

    Google Scholar 

  • Ahmad, A., Babar, M.A.: Software architectures for robotic systems: a systematic mapping study. J. Syst. Softw. 122, 16–39 (2016)

    Article  Google Scholar 

  • Basu, A., Bensalem, B.: Rigorous component-based system design using the bip framework. IEEE Softw. 28(3), 41–48 (2011)

    Article  Google Scholar 

  • Brugali, D., Scandurra, P.: Component-based robotic engineering (part i)[tutorial]. IEEE Robot. Autom. Mag. 16(4), 84–96 (2009)

    Article  Google Scholar 

  • Bruyninckx, H., Klotzbücher, M.: The brics component model: a model-based development paradigm for complex robotics software systems. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, pp. 1758–1764, (2013)

  • Colledanchise, M., Natale, L.: Improving the parallel execution of behavior trees. In: 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, pp. 7103–7110, (2018)

  • Colledanchise, M., Natale, L.: On the implementation of behavior trees in robotics. IEEE Robot. Autom. Lett. 6(3), 5929–5936 (2021)

    Article  Google Scholar 

  • Colledanchise, M., Ögren, P.: Behavior trees in robotics and AI: an introduction. CRC Press, Boca Raton (2018)

    Book  Google Scholar 

  • Heitmeyer, C.L., Pickett, M.: Building high assurance human-centric decision systems. Autom. Softw. Eng. 22(2), 159–197 (2015)

    Article  Google Scholar 

  • Jang, C., Lee, S.I.: Opros: a new component-based robot software platform. ETRI J. 32(5), 646–656 (2010)

    Article  Google Scholar 

  • Kortenkamp, D., Simmons, R.: Robotic systems architectures and programming. In: Siciliano B., KhatibO (eds) Springer Handbook of Robotics, Springer, pp. 283–306, (2016)

  • Koubaa, A.: Ros as a service: web services for robot operating system. J. Softw. Eng. Robot. 6(1), 1–14 (2015)

    Google Scholar 

  • Koubâa, A., Sriti, MF.: Coros: A multi-agent software architecture for cooperative and autonomous service robots. In: Koubâa, A., Martinez-de Dios J., (eds) Cooperative Robots and Sensor Networks 2015, Springer, Studies in Computational Intelligence, Springer, Cham, vol 604, pp. 3–30 (2015)

  • Koubâa, A., et al.: Robot Operating System (ROS), vol. 1. Springer, Cham (2017)

  • Kuckling, J., Ligot, A.: Behavior trees as a control architecture in the automatic modular design of robot swarms. In: Dorigo, M., Birattari, M., Blum, C., Christensen, A.,Reina, A., & Trianni V. (eds) Swarm Intelligence. ANTS 2018. Lecture Notes in Computer Science, vol. 11172. Springer, Cham, pp. 30–43, (2018)

  • Lohse, M., Siepmann, F., Wachsmuth, S.: A modeling framework for user-driven iterative design of autonomous systems. Int. J. Soc. Robot. 6(1), 121–139 (2014)

    Article  Google Scholar 

  • Nyasente, S.O., Mwangi, W., Kimani, S.: A metrics-based framework for measuring the reusability of object-oriented software components. J. Inf. Eng. Appl. 4(4), 71–84 (2014)

    Google Scholar 

  • Quigley, M., Conley, K.: Ros: an open-source robot operating system. In: ICRA workshop on open source software, Kobe, Japan, vol 3, pp. 5, (2009)

  • Rouland, Q., Hamid, B., Jaskolka, J.: Formal specification and verification of reusable communication models for distributed systems architecture. Future Gener. Comput. Syst. 108, 178–197 (2020)

    Article  Google Scholar 

  • Rovida, F., Grossmann, B., Krüger, V.: Extended behavior trees for quick definition of flexible robotic tasks. In: 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, pp. 6793–6800, (2017)

  • Suma, V., Rao, J.J.: Facets of effective software development to attain high quality software: a case study. Technol. Spectr. Rev. 1(1), 20–25 (2016)

    Google Scholar 

  • Ye, N., Somani, A., Hsu, D., Lee, W.S.: Despot: online pomdp planning with regularization. J. Artif. Intell. Res. 58, 231–266 (2017)

    Article  MathSciNet  Google Scholar 

Download references

Funding

This work is supported by the Key Laboratory of Software Engineering for Complex Systems. The work is also supported by the National Natural Science Foundation of China under Grant No.62172426.

Author information

Authors and Affiliations

Authors

Contributions

Dr. SY made primary contributions to the conception or design of the work. Professor XM and Dr. YL made optimization of the software architecture and concept reconsideration. Mr. YX made the acquisition, analysis, and interpretation of data.

Corresponding author

Correspondence to Shuo Yang.

Ethics declarations

Conflicts of interest

The authors have no conflicts of interest to declare that are relevant to the content of this article.

Ethics approval

Approval was obtained from the ethics committee of the National University of Defense Technology.

Consent to participate

Informed consent was obtained from all individual participants included in the study.

Consent for publication

The participant has consented to the submission of the research manuscript to the journal.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Yang, S., Mao, X., Lu, Y. et al. Towards a behavior tree-based robotic software architecture with adjoint observation schemes for robotic software development. Autom Softw Eng 29, 31 (2022). https://doi.org/10.1007/s10515-022-00328-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10515-022-00328-y

Keywords

Navigation