RobMoSys: A Model-Driven Approach and Tools for Robotics Software Development
The European Union-funded research project, RobMoSys, is a robotics development approach that enables a major step toward an open, industry-grade software development ecosystem for robotics. With the RobMoSys approach, you can reduce software development complexity, increase system predictability, and maintain flexibility, while saving costs.
The Eclipse Foundation is a partner in the RobMoSys project and two Eclipse Foundation projects — Eclipse SmartMDSD and Eclipse Papyrus for Robotics — can be used to implement the RobMoSys model-driven approach to robotics software development. However, before we explain those relationships in more detail, it’s important to understand RobMoSys in the context of Industry 4.0.
RobMoSys Stimulates Industry 4.0 Development and Usage
RobMoSys closely follows Industry 4.0 design principles:
- Real-time capabilities
- Technical assistance
- Service orientation
This is a key RobMoSys feature because it encourages Industry 4.0 implementations and usage. To achieve these design goals, RobMoSys is based on two foundational principles:
- Separation of roles and concerns allows you to focus on your development workflow and expertise. You are not required to become an expert in every field because different roles cover different problem areas. Each role works autonomously and excels in its performance.
- Composability is the ability to combine and re-combine building blocks “as is” into different systems for different purposes in a meaningful way. The models follow a general, composition-oriented approach where systems can be constructed from reusable software building blocks with explicated properties. This allows you to use the same software components across different systems to save software development costs and increase the predictability of your robotics systems.
In addition, there’s a very good opportunity to bring RobMoSys contributions to the OPC Unified Architecture (OPC UA) domain and link the robotics and automation domains. A significant part of the Industry 4.0 domain is shifting toward the OPC UA and, in general, the Industry 4.0 world that’s based on the OPC UA fully conforms with the RobMoSys way of thinking.
Eclipse Foundation Projects for Model-Driven Robotics Software Development
To follow the RobMoSys model-driven approach, you can use the Eclipse Foundation projects described below.
The Eclipse SmartMDSD Toolchain is an integrated development environment (IDE) for robotics software development. It uses the RobMoSys model-driven approach to support the different types of people, or roles, that develop robotic systems.
Robotics solution providers can use Eclipse SmartMDSD to develop software components. Robotics system builders can use Eclipse SmartMDSD to build systems using the software components. Both parties gain the benefit of 20 years of best practices in robotics components and system development.
Figure 1 illustrates an Eclipse SmartMDSD Toolchain simulation using the Webots Simulator. The picture on the left shows the SmartMDSD toolchain System Component Architecture developed with building blocks. The picture on the right shows the Webots simulation of a TIAGo robot.
Figure 1: Eclipse SmartMDSD Toolchain Simulation Using the Webots Simulator
To learn more about using the SmartMDSD Toolchain with the Webots Simulator, watch this YouTube video.
Eclipse Papyrus for Robotics
The Eclipse Papyrus for Robotics Toolchain is an IDE for robotics software development. It features a modeling front-end that conforms to the RobMoSys foundational principles described above.
Eclipse Papyrus for Robotics supports model-based safety analysis through a safety module that performs dysfunctional analysis on system architecture components. The IDE’s performance analysis capability supports the architectural pattern for stepwise management of extra-functional properties. It also enables analysis of end-to-end response times and resource utilization of component compositions.
The code-generation capability of the Eclipse Papyrus for Robotics Toolchain transforms models of software component architectures, platform descriptions, and deployment specifications into code. It works with the Robotic Operating System 2 (ROS2) framework.
Figure 2 shows an Eclipse Papyrus for Robotics sequence example for a robotic arm.
Figure 2: Eclipse Papyrus for Robotics Sequence Example for a Robotic Arm
To see a demonstration of Papyrus for Robotics, be sure to attend the EclipseCon 2020 session.
Integrated Technical Projects Leverage RobMoSys Tools and Approach
Between 2017 and 2019, RobMoSys provided financial support to strengthen community involvement through two open calls with cascaded funding. In the second open call for “fast adoption,” eight Integrated Technical Projects (ITPs) were selected to implement the RobMoSys approach in industry. The following ITPs are currently using the RobMoSys tools and approach to achieve their objectives:
- Underwater Robotic Simulator for RobMoSys (UWROSYS) is bringing a high-fidelity underwater robotic simulator with advanced sensors into the RobMoSys framework to open the underwater domain to RobMoSys users. This technology solves the problem of expensive and very time-consuming underwater operations such as inspection, maintenance, and repair.
- Mobile Inspection Robot Autonomy for Nuclear Decommissioning Authority (MIRANDA) uses RobMoSys with existing GMV hardware (www.GMV.com) and software to produce a system that can run a typical field trial in the context of a nuclear site.
- Mixed Reality Implementation for RobMoSys (MR4RobMoSys) aims to simplify interactions between humans and robots. The ITP uses an existing bridge between ROS-Industrial and the game engine Unity developed in a ROSIN Focused Technical Project (FTP) to implement augmented reality (AR) and virtual reality (VR) visualization with the help of Eclipse SmartMDSD and Eclipse Papyrus for Robotics.
- Applying a Model-Based Software Platform to Standardize the Rehab Robot (AMBSPSRR) is adapting the Rehab Robot to a RobMoSys-conformant pilot project based on software and tools from the RobMoSys ecosystem.
- HRI Components for Assistive Robot (HRICAR) is developing a set of RobMoSys models and components for human-robot interactions.
- RoMan focuses on RobMoSys adoption in the lighting system manufacturing industry. To prove the reusability of the RobMoSys methodology in new robots and the benefits of its structure for building industrial applications, this ITP is building an industrial application with the SUMMIT-XL STEEL robotic platform in a company that’s focused on manufacturing lighting systems.
- Experiment in Applied Modular Food Robots Applications (EXAMFORA) is investigating use of the RobMoSys method within the Goal-Discovering Robotic Architecture for Intrinsically-Motivated Learning (GRAIL) Robot System, a hard real-time system. The application is for a vision-based system that increases the overall efficiency of an assembly system that involves human-robot interactions by choosing paths that are least likely to result in collisions.
- Stereovision and Radar for Affordable and Safe Navigation (STERAS) is developing a low-cost navigation system that is capable of simultaneous localization and mapping (SLAM). SLAM capabilities allow mobile robots and drones to navigate autonomously and safely through a dynamic territory in the presence of dynamic objects such as other robots, humans, or cars.
Learn More and Get Involved
To learn more about the Eclipse SmartMDSD project, click here.
To learn more about Eclipse Papyrus for Robotics, visit the project’s Community Corner.
This project has received funding from European Union's Horizon 2020 research and innovation programme under grant agreement No 732410.