AI Chat Paper
Note: Please note that the following content is generated by AMiner AI. SciOpen does not take any responsibility related to this content.
{{lang === 'zh_CN' ? '文章概述' : 'Summary'}}
{{lang === 'en_US' ? '中' : 'Eng'}}
Chat more with AI
PDF (1.9 MB)
Collect
Submit Manuscript AI Chat Paper
Show Outline
Outline
Show full outline
Hide outline
Outline
Show full outline
Hide outline
Open Access

Towards Efficient Robotic Software Development by Reusing Behavior Tree Structures for Task Planning Paradigms

Shuo YangQi Zhang( )
College of Systems Engineering, National University of Defense Technology, Changsha 410072, China
Show Author Information

Abstract

Nowadays, autonomous robots are expected to accomplish more complex tasks and operate in an open-world environment with uncertainties. Developing software for such robots involves the design of task planning paradigms and the implementation of robotic software architectures, making software development rather tricky and time-consuming. In recent decades, component-based software development approaches have been increasingly adopted in robotics to improve software development efficiency by reusing data and controlling flows between components. However, few works have tackled the more critical issue of reusing complex high-level task planning paradigms and robotic software architectures. To make up for the limitation, this paper first identifies the mainstream task planning paradigms and proposes a set of novel patterns for interaction pipelines between the robotic functions of sensing, planning, and acting. Then this paper presents a novel Behavior Tree (BT) based development framework Structural-BT, which provides a set of reusable BT structures that implement abstract interaction pipelines while maintaining interfaces for task-specific customization. The Structural-BT framework supports the modular design of structure functionalities and allows easy extensibility of the inner planning flows between BT components. With the Structural-BT framework, software engineers can develop robotic software by flexibly composing BT structures to formulate the skeleton software architecture and implement task-specific algorithms when necessary. In the experiment, this paper develops robotic software for diverse task scenarios and selects the baseline approaches of Robot Operating System (ROS) and classical BT development frameworks for comparison. By quantitatively measuring the reuse frequencies and ratios of BT structures, the Structural-BT framework has been shown to be more efficient than the baseline approaches for robotic software development.

References

[1]

H. S. D. Andrade, J. Schroeder, and I. Crnkovic, Software deployment on heterogeneous platforms: A systematic mapping study, IEEE Trans. Softw. Eng., vol. 47, no. 8, pp. 1683–1707, 2021.

[2]
D. Brugali, Software Engineering for Experimental Robotics. Heidelberg, Germany: Springer Berlin, 2007.
[3]

D. Brugali and E. Prassler, Software engineering for robotics [from the guest editors], IEEE Robotics Autom. Mag., vol. 16, no. 1, pp. 9–15, 2009.

[4]
A. Shahbazian, Y. K. Lee, Y. Brun, and N. Medvidovic, Making well-informed software design decisions, in Proc. 40 th Int. Conf. Software Engineering: Companion Proceeedings, Gothenburg, Sweden, 2018, pp. 262–263.
[5]
E. Bouwers, A. V. Deursen, and J. Visser, Quantifying the encapsulation of implemented software architectures, in Proc. 2014 IEEE Int. Conf. Software Maintenance and Evolution, Victoria, Canada, 2014, pp. 211–220.
[6]

Y. Tang, L. Li, and X. Liu, State-of-the-art development of complex systems and their simulation methods, Complex System Modeling Simulation, vol. 1, no. 4, pp. 271–290, 2021.

[7]

P. Kruchten, R. Capilla, and J. C. Dueñas, The decision view’s role in software architecture practice, IEEE Softw., vol. 26, no. 2, pp. 36–42, 2009.

[8]

C. Menghi, C. Tsigkanos, P. Pelliccione, C. Ghezzi, and T. Berger, Specification patterns for robotic missions, IEEE Trans. Softw. Eng., vol. 47, no. 10, pp. 2208–2224, 2021.

[9]

F. Ingrand and M. Ghallab, Deliberation for autonomous robots: A survey, Artif. Intell., vol. 247, pp. 10–44, 2017.

[10]

A. Chella, M. Cossentino, S. Gaglio, L. Sabatucci, and V. Seidita, Agent-oriented software patterns for rapid and affordable robot programming, J. Syst. Softw., vol. 83, no. 4, pp. 557–573, 2010.

[11]

D. Brugali and P. Scandurra, Component-based robotic engineering (part I) [tutorial], IEEE Robotics Autom. Mag., vol. 16, no. 4, pp. 84–96, 2009.

[12]

D. Brugali and A. Shakhimardanov, Component-based robotic engineering (part II), IEEE Robotics Autom. Mag., vol. 17, no. 1, pp. 100–112, 2010.

[13]

E. D. A. Silva, E. Valentin, J. R. H. Carvalho, and R. D. S. Barreto, A survey of model driven engineering in robotics, J. Comput. Lang., vol. 62, pp. 101021, 2021.

[14]

C. Schlegel, A. Lotz, M. Lutz, D. Stampfer, J. F. Inglés-Romero, and C. Vicente-Chicote, Model-driven software systems engineering in robotics: Covering the complete life-cycle of a robot, Inf. Technol., vol. 57, no. 2, pp. 85–98, 2015.

[15]

N. Niknejad, W. Ismail, I. Ghani, B. Nazari, M. Bahari, and A. R. B. C. Hussin, Understanding service-oriented architecture (SOA): A systematic literature review and directions for further investigation, Inf. Syst., vol. 91, pp. 101491, 2020.

[16]
M. Quigley, B. Gerkey, K. Conley, J. Faust, T. Foote, J. Leibs, E. Berger, R. Wheeler, and A. Ng, ROS: An opensource robot operating system, presented at ICRA Workshop on Open Source Software,Kobe,Japan,2009.
[17]
S. García, D. Strüber, D. Brugali, T. Berger, and P. Pelliccione, Robotics software engineering: A perspective from the service robotics domain, in Proc. 28 th ACM Joint Meeting on European Software Engineering Conf. and Symp. on the Foundations of Software Engineering, Virtual Event, USA, 2020, pp. 593–604.
[18]

J. Xin, Y. Qu, F. Zhang, and R. Negenborn, Distributed model predictive contouring control for real-time multi-robot motion planning, Complex System Modeling and Simulation, vol. 2, no. 4, pp. 273–287, 2022.

[19]
M. Colledanchise and P. Ögren, Behavior Trees in Robotics and AI: An Introduction. Boca Raton, FL, USA: CRC Press, 2018.
[20]
M. Colledanchise, D. Almeida, and P. Ögren, Towards blended reactive planning and acting using behavior trees, in Proc. 2019 Int. Conf. Robotics and Automation (ICRA), Montreal, Canada, 2019, pp. 8839–8845.
[21]
J. Kuckling, A. Ligot, D. Bozhinoski, and M. Birattari, Behavior trees as a control architecture in the automatic modular design of robot swarms, in Proc. 11 th Int. Conf. Swarm Intelligence, Rome, Italy, 2018, pp. 30–43.
[22]

B. G. Woolley and G. L. Peterson, Unified behavior framework for reactive robot control, J. Intell. Robotic Syst., vol. 55, no. 2, pp. 155–176, 2009.

[23]

S. Yang, X. Mao, Y. Lu, and Y. Xu, Towards a behavior tree-based robotic software architecture with adjoint observation schemes for robotic software development, Autom. Softw. Eng., vol. 29, no. 1, pp. 31, 2022.

[24]
D. Cassou, E. Balland, C. Consel, and J. Lawall, Leveraging software architectures to guide and verify the development of sense/compute/control applications, in Proc. 33 rd Int. Conf. Software Engineering, Waikiki, HI, USA, 2011, pp. 431–440.
[25]
H. Bruyninckx, M. Klotzbücher, N. Hochgeschwender, G. Kraetzschmar, L. Gherardi, and D. Brugali, The BRICS component model: A model-based development paradigm for complex robotics software systems, in Proc. 28 th Annual ACM Symp. Applied Computing, Coimbra, Portugal, 2013, pp. 1758–1764.
[26]
M. Ghallab, D. Nau, and P. Traverso, Automated Planning and Acting. Cambridge, UK: Cambridge University Press, 2016.
[27]

M. Ghallab, D. Nau, and P. Traverso, The actorʼs view of automated planning and acting: A position paper, Artif. Intell., vol. 208, pp. 1–17, 2014.

[28]
D. Kortenkamp, R. Simmons, and D. Brugali, Robotic systems architectures and programming, in Springer Handbook of Robotics, B. Siciliano and O. Khatib, eds. Cham, Switzerland: Springer, 2016, pp. 283–306.
[29]
F. Michaud and M. Nicolescu, Behavior-based systems, in Springer Handbook of Robotics, B. Siciliano and O. Khatib, eds. Cham, Switzerland: Springer, 2016, pp. 307–328.
[30]
P. Gregory, D. Long, M. Fox, and J. C. Beck, Planning modulo theories: Extending the planning paradigm, in Proc. Twenty-Second Int. Conf. Autom. Plan. Sched., Atibaia, Brazil, 2012, pp. 65–73.
[31]

S. Ross, J. Pineau, S. Paquet, and B. Chaib-Draa, Online planning algorithms for POMDPs, J. Artif. Intell. Res., vol. 32, no. 2, pp. 663–704, 2008.

Complex System Modeling and Simulation
Pages 357-380
Cite this article:
Yang S, Zhang Q. Towards Efficient Robotic Software Development by Reusing Behavior Tree Structures for Task Planning Paradigms. Complex System Modeling and Simulation, 2023, 3(4): 357-380. https://doi.org/10.23919/CSMS.2023.0017

269

Views

34

Downloads

0

Crossref

0

Scopus

Altmetrics

Received: 21 April 2023
Revised: 25 June 2023
Accepted: 22 July 2023
Published: 07 December 2023
© The author(s) 2023.

The articles published in this open access journal are distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/).

Return