# Robot Operating System 2 (ROS2)-Based Frameworks for Increasing Robot Autonomy: A Survey
## 1 Introduction  
Achieving high levels of autonomy for robotic systems, especially in manufacturing, is a current challenge for the industry. The reasons can be many and often with significant impacts on business productivity. The industry's current need is to move from traditional production systems to so-called cyber-physical systems (CPSs) to improve overall productivity, reduce environmental impact, and enable more human-centered production--in other words, to promote more sustainable economic development. In these systems, software, robots, sensors, machines, and/or devices cooperate with each other to achieve the desired result. Robots are required to participate in CPSs [1; 2; 3]. The high heterogeneity of the devices comprising CPS systems requires expertise in various scientific domains, making the development of CPS a resource and time-consuming process. Conversely, despite the extensive use of new enabling technologies, humans are always involved at different levels of production processes and can interact physically with systems, e.g., byloading or unloading parts from machines, or by interacting through interfaces, e.g., by intervening in the production schedule. In addition, global competition, rapidly evolving markets, and mass customization will replace traditional mass production, requiring new production challenges such as increased product variability and quality [4], and the need to reduce production and delivery times for both SMEs [5] and large companies [6]. All these challenges will require automation systems with robots that are increasingly autonomous, flexible, and hopefully equipped with learning capabilities. While humans are flexible and adaptable by nature and thus able to react to both small disturbances and large changes, the same does not apply to robots or traditional automation systems. The flexibility of production processes can be increased by using a combination of a flexible human worker, preferably with assessable performance [7], and collaborative robots (cobots) [8]. Although robots have gradually replaced humans in performing simple repetitive tasks in dangerous environments [9], cobots and robot automation are usually limited to monotonous and structured tasks (i.e., pick and place, grasping, moving workpieces, welding, and painting), while robots employed in assembly processes require dexterous human assistance, and for complex assembly tasks, workers still rely on manual operations. Mixed human-machine industrial environments, where operations can be performed differently, i.e., collaboratively, cooperatively, or individually, depending on production needs, require non-traditional perception, planning, and control systems. To ease the integration of collaborative robots into intelligent automation systems, it has become very useful to resort to middleware platforms that enable hardware abstraction and communication between heterogeneous devices and components. Robot Operating System (ROS), developed and managed by Open Robotics [10] has become a de facto standard in academia and research for many robotic systems for at least a decade. Its second version ROS2 [11], was subsequently developed to fill the gaps in ROS, identified by industry and academia. As a result, the adoption of middleware paves the way for the use of ROS2-based architectures in real-world industrial automation systems to leverage robots, automation systems, and humans to work together on tasks that require greater adaptability and flexibility.