Engineering Safe Robotics Software from Simulation Models via RoboSim
摘要
Robots have the potential to play important roles in supporting human activities. Simulations can be used to evaluate the design of a robotic system, but are often coded by hand and without a clear architecture in mind. This raises concerns in terms of development cost and safety, especially if there is reuse of simulation code for deployment. For safety-critical systems, it is common to use safety functions for hazard mitigation. They are key for safety assurance, and need to be designed and verified using rigorous engineering practices. In this tutorial, we show how we can leverage a model-based approach in the development of robotics software. For modelling, we use RoboSim, a domain-specific notation for describing the cyclic design of a robot’s control software; for deployment, we use the RoboSim model to generate code for a commercial embedded safety platform certified to a high Safety Integrity Level (SIL). To illustrate our approach, we apply it to the design of a firefighting UAV and its safety function. With RoboSim and our code-generation technique, costs are reduced by automation. The use of mathematical semantics to reason about the RoboSim models and the code generation provides the required development rigour.