Marco Stadler, Michael Vierhauser, J. Cleland-Huang
{"title":"Towards flexible Runtime Monitoring Support for ROS-based Applications","authors":"Marco Stadler, Michael Vierhauser, J. Cleland-Huang","doi":"10.1145/3526071.3527515","DOIUrl":"https://doi.org/10.1145/3526071.3527515","url":null,"abstract":"Robotic systems are becoming common in different domains and for various purposes, such as unmanned aerial vehicles performing search and rescue operations, or robots operating in manufacturing plants. Such systems are characterized by close interactions, or even collaborations, between hardware and machinery on the one hand, and humans on the other. Furthermore, as Cyber-Physical Systems (CPS) in general and robotic applications in particular typically operate in an emergent environment, unanticipated events may occur during their operation, making the need for runtime monitoring support a crucial yet often time-consuming task. Runtime monitoring typically requires establishing support for collecting data, aggregating and transporting the data to a monitoring framework for persistence and further processing, and finally, performing checks of functional and non-functional properties. In this paper, we present our initial efforts towards a flexible monitoring framework for ROS-based systems. We report on challenges for establishing runtime monitoring support and present our preliminary architecture that aims to significantly reduce the setup and maintenance effort when creating monitors and establishing constraint checks.","PeriodicalId":120831,"journal":{"name":"2022 IEEE/ACM 4th International Workshop on Robotics Software Engineering (RoSE)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133887944","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Paulo Canelas, Miguel Tavares, Ricardo Cordeiro, Alcides Fonseca, C. Timperley
{"title":"An Experience Report on Challenges in Learning the Robot Operating System","authors":"Paulo Canelas, Miguel Tavares, Ricardo Cordeiro, Alcides Fonseca, C. Timperley","doi":"10.1145/3526071.3527521","DOIUrl":"https://doi.org/10.1145/3526071.3527521","url":null,"abstract":"The Robot Operating System (ROS) was initially introduced to lower the barriers to robots software development by reducing the need for extensive domain knowledge. ROS allows developers to build valuable robots by configuring and reusing off-the-shelf components while writing little, if any, code through its modular design, loosely coupled architecture, and rich package ecosystem. However, despite the advantages of this approach, the lack of documentation can present a challenge to novice users. In this work, we discuss the challenges and experience of learning and using ROS from the perspective of three novice users with little to no prior experience in robotics. We report on the experiences in learning ROS through a popular commercial training course provided by The Construct Sim. Through our analysis, we identify several common misunderstandings, mistakes, and bugs, and we outline possible improvements to ROS to overcome these challenges. Our findings motivate further studies on the development of robotic systems in ROS by novice users and promote the improvement of the ROS ecosystem, on educational and training materials of ROS, and on tooling development to help novices identify and correct simple mistakes.","PeriodicalId":120831,"journal":{"name":"2022 IEEE/ACM 4th International Workshop on Robotics Software Engineering (RoSE)","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114760751","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
E. Merlo, Carlo Pinciroli, Jacopo Panerati, Michalis Famelis, G. Beltrame
{"title":"Automated Extraction and Checking of Property Models from Source Code for Robot Swarms","authors":"E. Merlo, Carlo Pinciroli, Jacopo Panerati, Michalis Famelis, G. Beltrame","doi":"10.1145/3526071.3527516","DOIUrl":"https://doi.org/10.1145/3526071.3527516","url":null,"abstract":"As robots become a common presence in our everyday lives, ensuring the security and safety of robotic systems becomes an increasingly important and urgent challenge. Multi-robot systems, in particular, have the potential to revolutionize multiple industries-such as transportation and home care-where safety guarantees are a primary requirement. A known challenge for swarms and multi-robot systems is the gap between requirements and design, due to the need to translate swarm-level objectives into robot-level behaviors. In this paper, we focus on a less studied problem-the gap between requirements and implementation. As a case study, we use Buzz, that is a dynamic programming language designed for swarm robotics applications. Similarly to Python, Lua, and JavaScript, Buzz does not natively offer formal guarantees of correctness or safety. We propose an approach to automatically extract” as-implemented” models from Buzz programs, whose properties can then be formally analyzed and verified. Results obtained from the experiments performed on two medium-size open-source production-level systems for robotics research have also been reported. Our results show that the approach is feasible and is scalable to larger systems.","PeriodicalId":120831,"journal":{"name":"2022 IEEE/ACM 4th International Workshop on Robotics Software Engineering (RoSE)","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116024999","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Gabriela Medina, Jérémie Guiochet, C. Lesire, A. Manecy
{"title":"A skill fault model for autonomous systems","authors":"Gabriela Medina, Jérémie Guiochet, C. Lesire, A. Manecy","doi":"10.1145/3526071.3527513","DOIUrl":"https://doi.org/10.1145/3526071.3527513","url":null,"abstract":"Autonomous systems are now deployed for many applications to perform more and more complex tasks in open environments. To manage complexity of their control software architecture, a current trend is to use a 3-layers approach, with a decisional layer (able to formulate decisions), a functional layer (low level control actions), and between them a skill layer. This layer is dedicated to convert high level plan objectives into low level atomic actions, sent to the functional layer. In order to deal with failures that may happen at runtime, detection mechanisms and reaction strategies may be implemented in these layers, or even in external devices. However, no generic technique is available to guarantee that all these mechanisms will be consistent. We present in this paper an approach that focus on the skill layer, with a proposal of a generic skill fault model used to design and analyze failure detection and reactions mechanisms. This approach has been successfully applied to a real drone application, and we present an extract of the resulting fault analysis models.","PeriodicalId":120831,"journal":{"name":"2022 IEEE/ACM 4th International Workshop on Robotics Software Engineering (RoSE)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124159725","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Should Robotics Engineering Education Include Software Engineering Education?","authors":"Milda Zizyte, Trenton Tabor","doi":"10.1145/3526071.3527514","DOIUrl":"https://doi.org/10.1145/3526071.3527514","url":null,"abstract":"Multiple universities across the United States now offer bachelor's degrees in robotics, which aim to prepare students to work in the robotics industry. To judge how well these programs are providing software engineering training, we evaluate whether these programs teach the software engineering practices that are required for robotics software engineering. We compile an updated list of robotics bachelor's degree programs and measure whether the curriculum of each program claims to teach a specific practice. We find that some of these practices are not mentioned in the curricula, and that some are only taught implicitly in long-term project courses. These project courses vary in scope, guidance, and structure. This implies that robotics bachelor's degrees may not be preparing students to engage with the practices in the workforce.","PeriodicalId":120831,"journal":{"name":"2022 IEEE/ACM 4th International Workshop on Robotics Software Engineering (RoSE)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121459997","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Dynamic Allocation of Service Robot Resources to an Order Picking Task Considering Functional and Non-Functional Properties","authors":"Timo Blender, C. Schlegel","doi":"10.1145/3526071.3527518","DOIUrl":"https://doi.org/10.1145/3526071.3527518","url":null,"abstract":"Industry 4.0 processes have often varying requirements. A service robot and a team of service robots respectively represent a flexible resource. That means, it possesses variability that can possibly be configured in such a way that it is able to fulfill the requirements of industry 4.0 processes. Determining whether that is the case and how that has to happen is an important part of variability management. Based on a model-driven general method for variability management in a robotics software ecosystem, we present here a concrete use case (model) in which we allocate for an order picking task with specific time requirements either a single fitting service robot or a collaboration of two fitting service robots. Relevant properties of the service robots considered are both functional (are the capabilities to execute the tasks available?) as well as non-functional (the desired velocity parameterization while executing the individual navigation sub tasks limited by the respective maximum speed of a service robot).","PeriodicalId":120831,"journal":{"name":"2022 IEEE/ACM 4th International Workshop on Robotics Software Engineering (RoSE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129474992","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Reynaldo Cobos Méndez, Eddo Hobert, D. Dresscher, J. Broenink
{"title":"On Structuring Energy-aware Sequence-control Software","authors":"Reynaldo Cobos Méndez, Eddo Hobert, D. Dresscher, J. Broenink","doi":"10.1145/3526071.3527517","DOIUrl":"https://doi.org/10.1145/3526071.3527517","url":null,"abstract":"This paper presents a framework to structure sequence-control software that accounts for the communication of energy information by design when interfacing planners with loop controllers. Communicating velocity or force values as setpoints to a loop controller can be characterised as energy that is downstreamed to the rest of the control structure and exchanged with the environment. Awareness of this energy information is useful for addressing dependability aspects in robotics where energy plays a role. This framework comprises metamodels and models for composing and structuring energy-aware sequence-control software that provides information of the energy supplied, for instance, by a trajectory planner. In addition, this paper gives an overview of the computation and communication requirements of this energy information. We present a use case where this structure facilitates using energy as a physical-interaction constraint and dependability metric for robot control.","PeriodicalId":120831,"journal":{"name":"2022 IEEE/ACM 4th International Workshop on Robotics Software Engineering (RoSE)","volume":"81 5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134066882","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Christoph Mayr-Darn, Alexander Egyed, M. Winterer, Christian Salomon, Harald Fürschuß
{"title":"Evaluating PDDL for programming production cells: a case study","authors":"Christoph Mayr-Darn, Alexander Egyed, M. Winterer, Christian Salomon, Harald Fürschuß","doi":"10.1145/3526071.3527519","DOIUrl":"https://doi.org/10.1145/3526071.3527519","url":null,"abstract":"A unique selling point for cyber-physical production system manufacturers becomes the easy with which machines and cells can be adapted to new products and production processes. Adaptations, however, are often done by domain experts without in-depth programming know-how. We investigate in this paper, the implications of using a planning-based approach for using a domain expert's knowledge to control the sequences of a robot and injection molding machine (IMM). We find that current engineering support is insufficient to address testing, understanding, and change impact assessment concerns during the evolution of a PDDL/HDDL domain specification.","PeriodicalId":120831,"journal":{"name":"2022 IEEE/ACM 4th International Workshop on Robotics Software Engineering (RoSE)","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116785766","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Software Architecture For Deformable Linear Object Manipulation: A Shape Manipulation Case Study","authors":"Manuel Zürn, Markus Wnuk, A. Lechler, A. Verl","doi":"10.1145/3526071.3527520","DOIUrl":"https://doi.org/10.1145/3526071.3527520","url":null,"abstract":"Deformable linear object manipulation is challenging due to their high dimensional configuration space and their underactuated nature when manipulated by a robotic gripper. Due to the complexity of the task, robotic manipulation relies on sensors and computationally demanding models, which end up in multiple different software components interacting with each other. Research in deformable object manipulation usually focuses on modeling, planning or control, without focusing on a software architecture. This paper presents a novel software architecture for deformable linear object manipulation. The software architecture includes components for deformable linear object manipulation, namely perception-, observation-, robot control-, planning-, communication- and decision component. On top of these components, a layered software architecture consisting of a decision layer, a skill layer and a functional layer is presented The proposed concept aims to be a blueprint for a unified software architecture satisfying the requirements of robotic systems to achieve deformable linear object manipulation. The validation of the software architecture is done in a case study of an autonomous shape manipulation task, where one robot and a stereo camera shape a deformable linear object to a predefined desired shape. This use case is inspired by an automated cable routing process, which today in the industry is still mainly handled manually and therefore offers a vast potential for automation.","PeriodicalId":120831,"journal":{"name":"2022 IEEE/ACM 4th International Workshop on Robotics Software Engineering (RoSE)","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114699200","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}