A Case Study on Improving the Software Dependability of a ROS Path Planner for Steep Slope Vineyards
Abstract
:1. Introduction
2. Related Work
3. Case Study Subject
- 1.
- 2.
- 3.
- AgRob Path Planner—a path planning framework for uneven terrains [5];
4. Analysis Tools and Workflow
- it takes source code as input, instead of models;
- it reverse engineers formal models as needed [23];
- it uses a high-level, pattern-based property specification language (https://github.com/git-afsantos/hpl-specs, accessed on 22 August 2021) that addresses ROS concepts directly;
- its reports use an interface that caters to ROS developers.
- 1.
- Code quality analysis, as seen in [16], aims to improve the overall maintainability of the project, i.e., make the code easier to read, share, change, and reuse.
- 2.
- System architecture analysis, rarely seen in the literature, aims to detect orchestration problems without executing the system, e.g., mismatching message types.
- 3.
5. Analysis Process and Results
5.1. Code Quality Analysis
- “Include all required headers for what you use.”
- “Do not use integer types directly. Use size-specifictypedefs, for instance from<cstdint>.”
- “Maximum number of function lines of code of 40.”
5.2. System Architecture Analysis
- topics with unbounded message queues, i.e.,topics/publishers[self.queue_size == 0]|topics/subscribers [self.queue_size == 0];
- topics with multiple publishers, i.e.,topics[len(self.publishers) 1];
- missing publishers for starting or goal poses, i.e.,topics[self.topic_name in (’goal_pose’, ’start_pose’) and not self.publishers]?.
5.3. System Behavior Analysis
- 1.
- Receiving and loading a map.
- 2.
- Receiving valid starting and goal poses in the map.
- 3.
- Producing a valid plan if one exists.
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Conflicts of Interest
References
- Leeson, G.W. The growth, ageing and urbanisation of our world. J. Popul. Ageing 2018, 11, 107–115. [Google Scholar] [CrossRef] [Green Version]
- Leshcheva, M.; Ivolga, A. Human resources for agricultural organizations of agro-industrial region, areas for improvement. In Proceedings of the Sustainable Agriculture and Rural Development in Terms of the Republic of Serbia Strategic Goals Realization within the Danube Region: Support Programs for the Improvement of Agricultural and Rural Development, Belgrade, Serbia, 14–15 December 2017; Thematic Proceedings 2018; pp. 386–400. [Google Scholar]
- Robotics, E. Strategic Research Agenda for Robotics in Europe 2014–2020. 2014. Available online: Eu-robotics.net/cms/upload/topic groups/SRA2020SPARC.pdf (accessed on 21 April 2018).
- Santos, L.; dos Santos, F.N.; Pires, E.J.S.; Valente, A.; Costa, P.L.; Magalhães, S. Path Planning for ground robots in agriculture: A short review. In Proceedings of the IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), Ponta Delgada, Portugal, 15–17 April 2020; pp. 61–66. [Google Scholar] [CrossRef]
- Santos, L.; dos Santos, F.N.; Mendes, J.; Costa, P.; Lima, J.; Reis, R.; Shinde, P. Path Planning Aware of Robot’s Center of Mass for Steep Slope Vineyards. Robotica 2020, 38, 684–698. [Google Scholar] [CrossRef]
- Santos, L.C.; Aguiar, A.S.; Santos, F.N.; Valente, A.; Petry, M. Occupancy Grid and Topological Maps Extraction from Satellite Images for Path Planning in Agricultural Robots. Robotics 2020, 9, 77. [Google Scholar] [CrossRef]
- Santos, L.; de Aguiar, A.S.P.; dos Santos, F.N.; Valente, A.; Ventura, J.B.; Sousa, A.J. Navigation Stack for Robots Working in Steep Slope Vineyard. In Intelligent Systems and Applications (IntelliSys); Advances in Intelligent Systems and Computing; Springer: Cham, Switzerland, 2020; Volume 1250, pp. 264–285. [Google Scholar] [CrossRef]
- Aguiar, A.S.; dos Santos, F.N.; Sobreira, H.; Cunha, J.B.; Sousa, A.J. Particle filter refinement based on clustering procedures for high-dimensional localization and mapping systems. Robot. Auton. Syst. 2021, 137, 103725. [Google Scholar] [CrossRef]
- Quigley, M.; Conley, K.; Gerkey, B.P.; Faust, J.; Foote, T.; Leibs, J.; Wheeler, R.; Ng, A.Y. ROS: An open-source Robot Operating System. 2009. Available online: http://www.cim.mcgill.ca/~dudek/417/Papers/quigley-icra2009-ros.pdf (accessed on 22 August 2021).
- Ingibergsson, J.; Schultz, U.; Kuhrmann, M. On the Use of Safety Certification Practices in Autonomous Field Robot Software Development: A Systematic Mapping Study. In PROFES 2015, Proceedings of the 16th International Conference, Bolzano, Italy, 2–4 December 2015; LNCS; Springer: Cham, Switzerland, 2015; Volume 9459, pp. 335–352. [Google Scholar]
- Santos, A.; Cunha, A.; Macedo, N.; Lourenço, C. A Framework for Quality Assessment of ROS Repositories. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Korea, 9–14 October 2016; pp. 4491–4496. [Google Scholar] [CrossRef] [Green Version]
- Santos, A.; Cunha, A.; Macedo, N. Property-based Testing for the Robot Operating System. In Proceedings of the ACM SIGSOFT International Workshop on Automating Test Case Design, Selection, Lake Buena Vista, FL, USA, 5 November 2018, and Evaluation (A-TEST@ESEC/SIGSOFT FSE); pp. 56–62. [CrossRef]
- Trojanek, P.; Eder, K. Verification and testing of mobile robot navigation algorithms: A case study in SPARK. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Chicago, IL, USA, 14–18 September 2014; pp. 1489–1494. [Google Scholar]
- Webster, M.; Dixon, C.; Fisher, M.; Salem, M.; Saunders, J.; Koay, K.L.; Dautenhahn, K.; Saez-Pons, J. Toward Reliable Autonomous Robotic Assistants Through Formal Verification: A Case Study. IEEE Trans. Hum.-Mach. Syst. 2016, 46, 186–196. [Google Scholar] [CrossRef] [Green Version]
- Mansoor, N.; Saddler, J.A.; Silva, B.; Bagheri, H.; Cohen, M.B.; Farritor, S. Modeling and Testing a Family of Surgical Robots: An Experience Report. In Proceedings of the ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/SIGSOFT FSE), Lake Buena Vista, FL, USA, 4 –9 November 2018; pp. 785–790. [Google Scholar] [CrossRef] [Green Version]
- Neto, T.; Arrais, R.; Sousa, A.; Santos, A.; Veiga, G. Applying Software Static Analysis to ROS: The Case Study of the FASTEN European Project. In Proceedings of the Iberian Robotics Conference—Advances in Robotics (ROBOT), Porto, Portugal, 20–22 November 2019; Advances in Intelligent Systems and Computing; Springer: Cham, Switzerland, 2019; Volume 1092, pp. 632–644. [Google Scholar] [CrossRef]
- Adam, M.S.; Larsen, M.; Jensen, K.; Schultz, U.P. Rule-based Dynamic Safety Monitoring for Mobile Robots. J. Softw. Eng. Robot. 2016, 7, 120–141. [Google Scholar]
- Luo, C.; Wang, R.; Jiang, Y.; Yang, K.; Guan, Y.; Li, X.; Shi, Z. Runtime Verification of Robots Collision Avoidance Case Study. In Proceedings of the IEEE Annual Computer Software and Applications Conference (COMPSAC), Tokyo, Japan, 23–27 July 2018; IEEE Computer Society: Washington, DC, USA, 2018; pp. 204–212. [Google Scholar] [CrossRef]
- Ulus, D.; Belta, C. Reactive Control Meets Runtime Verification: A Case Study of Navigation. In Proceedings of the International Conference on Runtime Verification (RV), Porto, Portugal, 8–11 October 2019; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2019; Volume 11757, pp. 368–374. [Google Scholar] [CrossRef] [Green Version]
- Lesire, C.; Roussel, S.; Doose, D.; Grand, C. Synthesis of Real-Time Observers from Past-Time Linear Temporal Logic and Timed Specification. In Proceedings of the International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2019; pp. 597–603. [Google Scholar] [CrossRef]
- Santos, L.; Santos, F.N.; Filipe, V.; Shinde, P. Vineyard segmentation from satellite imagery using machine learning. In Proceedings of the EPIA Conference on Artificial Intelligence, Vila Real, Portugal, 3–6 September 2019; Springer: Cham, Switzerland, 2019; pp. 109–120. [Google Scholar]
- Santos, L.; dos Santos, F.N.; Magalhães, S.; Costa, P.; Reis, R. Path Planning approach with the extraction of Topological Maps from Occupancy Grid Maps in steep slope vineyards. In Proceedings of the IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), Porto, Portugal, 24–26 April 2019; pp. 1–7. [Google Scholar] [CrossRef]
- Santos, A.; Cunha, A.; Macedo, N. Static-Time Extraction and Analysis of the ROS Computation Graph. In Proceedings of the IEEE International Conference on Robotic Computing (IRC), Naples, Italy, 25–27 February 2019; pp. 62–69. [Google Scholar] [CrossRef]
- Carvalho, R.; Cunha, A.; Macedo, N.; Santos, A. Verification of System-Wide Safety Properties of ROS Applications. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 25–29 October 2020. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Santos, L.C.; Santos, A.; Santos, F.N.; Valente, A. A Case Study on Improving the Software Dependability of a ROS Path Planner for Steep Slope Vineyards. Robotics 2021, 10, 103. https://doi.org/10.3390/robotics10030103
Santos LC, Santos A, Santos FN, Valente A. A Case Study on Improving the Software Dependability of a ROS Path Planner for Steep Slope Vineyards. Robotics. 2021; 10(3):103. https://doi.org/10.3390/robotics10030103
Chicago/Turabian StyleSantos, Luís Carlos, André Santos, Filipe Neves Santos, and António Valente. 2021. "A Case Study on Improving the Software Dependability of a ROS Path Planner for Steep Slope Vineyards" Robotics 10, no. 3: 103. https://doi.org/10.3390/robotics10030103
APA StyleSantos, L. C., Santos, A., Santos, F. N., & Valente, A. (2021). A Case Study on Improving the Software Dependability of a ROS Path Planner for Steep Slope Vineyards. Robotics, 10(3), 103. https://doi.org/10.3390/robotics10030103