{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T01:00:55Z","timestamp":1760058055780,"version":"build-2065373602"},"reference-count":20,"publisher":"MDPI AG","issue":"6","license":[{"start":{"date-parts":[[2025,3,9]],"date-time":"2025-03-09T00:00:00Z","timestamp":1741478400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"FCT (Foundation for Science and Technology)","award":["00127-IEETA","101120406"],"award-info":[{"award-number":["00127-IEETA","101120406"]}]},{"name":"European Union\u2019s Horizon Europe research and innovation programme","award":["00127-IEETA","101120406"],"award-info":[{"award-number":["00127-IEETA","101120406"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>Continuous Integration and Continuous Deployment are known methodologies for software development that increase the overall quality of the development process. Several robotic software repositories make use of CI\/CD tools as an aid to development. However, very few CI pipelines take advantage of using cloud computing to run simulations. Here, a CI pipeline is proposed that takes advantage of such features, applied to the development of ATOM, a ROS-based application capable of carrying out the calibration of generalized robotic systems. The proposed pipeline uses GitHub Actions as a CI\/CD engine, AWS RoboMaker as a service for running simulations on the cloud and Rigel as a tool to both containerize ATOM and execute the tests. In addition, a static analysis and unit testing component is implemented with the use of Codacy. The creation of the pipeline was successful, and it was concluded that it constitutes a valuable tool for the development of ATOM and a blueprint for the creation of similar pipelines for other robotic systems.<\/jats:p>","DOI":"10.3390\/s25061693","type":"journal-article","created":{"date-parts":[[2025,3,10]],"date-time":"2025-03-10T05:46:52Z","timestamp":1741585612000},"page":"1693","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Application of Cloud Simulation Techniques for Robotic Software Validation"],"prefix":"10.3390","volume":"25","author":[{"ORCID":"https:\/\/orcid.org\/0009-0000-0415-104X","authenticated-orcid":false,"given":"Diogo","family":"Vieira","sequence":"first","affiliation":[{"name":"Department of Mechanical Engineering, University of Aveiro, 3810-193 Aveiro, Portugal"},{"name":"Institute of Electronics and Informatics Engineering of Aveiro (IEETA), University of Aveiro, 3810-193 Aveiro, Portugal"},{"name":"Intelligent Systems Associate Laboratory (LASI), University of Minho School of Engineering, 4800-058 Guimar\u00e3es, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9288-5058","authenticated-orcid":false,"given":"Miguel","family":"Oliveira","sequence":"additional","affiliation":[{"name":"Department of Mechanical Engineering, University of Aveiro, 3810-193 Aveiro, Portugal"},{"name":"Institute of Electronics and Informatics Engineering of Aveiro (IEETA), University of Aveiro, 3810-193 Aveiro, Portugal"},{"name":"Intelligent Systems Associate Laboratory (LASI), University of Minho School of Engineering, 4800-058 Guimar\u00e3es, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0532-9115","authenticated-orcid":false,"given":"Rafael","family":"Arrais","sequence":"additional","affiliation":[{"name":"Institute for Systems and Computer Engineering, Technology and Science (INESC TEC), 4200-465 Porto, Portugal"},{"name":"Faculty of Engineering, University of Porto, Rua Dr. Roberto Frias, 4200-465 Porto, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6822-8947","authenticated-orcid":false,"given":"Pedro","family":"Melo","sequence":"additional","affiliation":[{"name":"Institute for Systems and Computer Engineering, Technology and Science (INESC TEC), 4200-465 Porto, Portugal"}]}],"member":"1968","published-online":{"date-parts":[[2025,3,9]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., and Ng, A.Y. (2009, January 12\u201317). ROS: An open-source Robot Operating System. Proceedings of the ICRA Workshop on Open Source Software, Kobe, Japan.","DOI":"10.1109\/MRA.2010.936956"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"118000","DOI":"10.1016\/j.eswa.2022.118000","article-title":"ATOM: A general calibration framework for multi-modal, multi-sensor systems","volume":"207","author":"Oliveira","year":"2022","journal-title":"Expert Syst. Appl."},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Teixeira, S., Arrais, R., and Veiga, G. (2021, January 21\u201323). Cloud Simulation for Continuous Integration and Deployment in Robotics. Proceedings of the 2021 IEEE 19th International Conference on Industrial Informatics (INDIN), Palma de Mallorca, Spain.","DOI":"10.1109\/INDIN45523.2021.9557476"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Melo, P., Arrais, R., Teixeira, S., and Veiga, G. (2022, January 25\u201328). A Container-Based Framework for Developing ROS Applications. Proceedings of the 2022 IEEE 20th International Conference on Industrial Informatics (INDIN), Perth, Australia.","DOI":"10.1109\/INDIN51773.2022.9976083"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"16","DOI":"10.1109\/MSPEC.2011.5719709","article-title":"Robots with their heads in the clouds","volume":"48","author":"Guizzo","year":"2011","journal-title":"IEEE Spectr."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Zhang, Y., Li, L., Nicho, J., Ripperger, M., Fumagalli, A., and Veeraraghavan, M. (2019, January 25\u201327). Gilbreth 2.0: An Industrial Cloud Robotics Pick-and-Sort Application. Proceedings of the 2019 Third IEEE International Conference on Robotic Computing (IRC), Naples, Italy.","DOI":"10.1109\/IRC.2019.00015"},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"3909","DOI":"10.1109\/ACCESS.2017.2685629","article-title":"Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices","volume":"5","author":"Shahin","year":"2017","journal-title":"IEEE Access"},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"169","DOI":"10.1016\/j.infsof.2014.09.009","article-title":"Testing robot controllers using constraint programming and continuous integration","volume":"57","author":"Mossige","year":"2015","journal-title":"Inf. Softw. Technol."},{"key":"ref_9","unstructured":"Jiang, M., Miller, K., Sun, D., Liu, Z., Jia, Y., Datta, A., Ozay, N., and Mitra, S. (June, January 30). Continuous Integration and Testing for Autonomous Racing Software: An Experience Report from GRAIC. Proceedings of the IEEE ICRA 2021, International Conference on Robotics and Automation, Workshop on Opportunities and Challenges with Autonomous Racing, Xi\u2019an, China."},{"key":"ref_10","unstructured":"(2023, January 30). Docker. What Is a Container?. Available online: https:\/\/www.docker.com\/resources\/what-container\/."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Lumpp, F., Panato, M., Fummi, F., and Bombieri, N. (2021, January 8\u201310). A container-based design methodology for robotic applications on kubernetes edge-cloud architectures. Proceedings of the Forum on Specification and Design Languages, Antibes, France.","DOI":"10.1109\/FDL53530.2021.9568376"},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Melo, P., Arrais, R., and Veiga, G. (2021, January 21\u201323). Development and Deployment of Complex Robotic Applications using Containerized Infrastructures. Proceedings of the 2021 IEEE 19th International Conference on Industrial Informatics (INDIN), Palma de Mallorca, Spain.","DOI":"10.1109\/INDIN45523.2021.9557386"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Santos, A., Cunha, A., Macedo, N., and Louren\u00e7o, C. (2016, January 9\u201314). A framework for quality assessment of ROS repositories. Proceedings of the 2016 IEEE\/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Republic of Korea.","DOI":"10.1109\/IROS.2016.7759661"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"22","DOI":"10.1109\/MS.2008.130","article-title":"Using static analysis to find bugs","volume":"25","author":"Ayewah","year":"2008","journal-title":"IEEE Softw."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Santos, A., Cunha, A., and Macedo, N. (2021, January 2). The High-Assurance ROS Framework. Proceedings of the 2021 IEEE\/ACM 3rd International Workshop on Robotics Software Engineering, RoSE, Madrid, Spain.","DOI":"10.1109\/RoSE52553.2021.00013"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Niedermayr, R., Juergens, E., and Wagner, S. (2016, January 14\u201315). Will my tests tell me if I break this code?. Proceedings of the International Workshop on Continuous Software Evolution and Delivery, Austin, TX, USA.","DOI":"10.1145\/2896941.2896944"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Taufiqurrahman, F., Widowati, S., and Alibasa, M.J. (2022, January 22\u201323). The Impacts of Test Driven Development on Code Coverage. Proceedings of the 2022 1st International Conference on Software Engineering and Information Technology (ICoSEIT), Bandung, Indonesia.","DOI":"10.1109\/ICoSEIT55604.2022.10030006"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Ivankovi, M., Petrovi, G., Just, R., and Fraser, G. (2019, January 26\u201330). Code coverage at Google. Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Tallinn, Estonia.","DOI":"10.1145\/3338906.3340459"},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"031007","DOI":"10.1115\/1.4024473","article-title":"Solving the Robot-World\/Hand-Eye Calibration Problem Using the Kronecker Product","volume":"5","author":"Shah","year":"2013","journal-title":"J. Mech. Robot."},{"key":"ref_20","first-page":"1530","article-title":"Simultaneous robot-world and hand-eye calibration using dual-quaternions and Kronecker product","volume":"5","author":"Li","year":"2010","journal-title":"Int. J. Phys. Sci."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/25\/6\/1693\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T16:49:36Z","timestamp":1760028576000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/25\/6\/1693"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,3,9]]},"references-count":20,"journal-issue":{"issue":"6","published-online":{"date-parts":[[2025,3]]}},"alternative-id":["s25061693"],"URL":"https:\/\/doi.org\/10.3390\/s25061693","relation":{},"ISSN":["1424-8220"],"issn-type":[{"type":"electronic","value":"1424-8220"}],"subject":[],"published":{"date-parts":[[2025,3,9]]}}}