Applying Software Static Analysis to ROS: The Case Study of the FASTEN European Project
Modern industry is shifting towards flexible, advanced robotic systems to meet the increasing demand for custom-made products with low manufacturing costs and to promote a collaborative environment for humans and robots. As a consequence of this industrial revolution, some traditional, mechanical- and hardware-based safety mechanisms are discarded in favour of a safer, more dependable robot software. This work presents a case study of assessing and improving the internal quality of a European research mobile manipulator, operating in a real industrial environment, using modern static analysis tools geared for robotic software. Following an iterative approach, we managed to fix about 90% of the reported issues, resulting in code that is easier to use and maintain.
KeywordsSoftware static analysis Safety Mobile manipulator ROS
This work is financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia within project POCI-01-0145-FEDER-029583. The research leading to these results has also received funding from the European Union’s Horizon 2020 - The EU Framework Programme for Research and Innovation 2014–2020, under grant agreement No. 777096.
- 3.Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., Ng, A.Y.: ROS: an open-source robot operating system. In: ICRA Workshop on Open Source Software, Kobe, Japan, vol. 3, p. 5 (2009)Google Scholar
- 4.Santos, A., Cunha, A., Macedo, N., Arrais, R., dos Santos, F.N.: Mining the usage patterns of ROS primitives. In: 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 3855–3860, September 2017Google Scholar
- 5.Santos, A., Cunha, A., Macedo, N., Lourenço, C.: A framework for quality assessment of ROS repositories. In: 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4491–4496, October 2016Google Scholar
- 6.Santos, A., Cunha, A., Macedo, N.: Static-time extraction and analysis of the ROS computation graph. In: 2019 Third IEEE International Conference on Robotic Computing (IRC), pp. 62–69. IEEE (2019)Google Scholar
- 7.Sha, L., Gopalakrishnan, S., Liu, X., Wang, Q.: Cyber-physical systems: a new frontier. In: 2008 IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC 2008), pp. 1–9 (2008). http://ieeexplore.ieee.org/document/4545732/
- 8.Toscano, C., Arrais, R., Veiga, G.: Enhancement of industrial logistic systems with semantic 3D representations for mobile manipulators. In: Ollero, A., Sanfeliu, A., Montano, L., Lau, N., Cardeira, C. (eds.) ROBOT 2017: Third Iberian Robotics Conference, pp. 617–628. Springer, Cham (2018)CrossRefGoogle Scholar