Formalization and Runtime Verification of Invariants for Robotic Systems

Abstract

Tese de mestrado, Engenharia Informática (Interação e Conhecimento), 2022, Universidade de Lisboa, Faculdade de CiênciasRobotic systems are critical in today’s society, be it in manufacturing, medicine, or agriculture. A potential failure in a robot may have extraordinary costs, not only financial but can also cost lives. Current practices in robot testing are vast and involve methods like simulation, log checking, or field testing. However, current practices often require human monitoring to determine the correctness of a given behavior. Automating this analysis can not only relieve the burden from a high-skilled engineer but also allow for massive parallel executions of tests that can detect behavioral faults in the robots. These faults could otherwise not be found due to human error or a lack of time. I have developed a Domain Specific Language to specify the properties of robotic systems in the Robot Operating System (ROS). Developer written specifications in this language compile to a monitor ROS module that detects violations of those properties at runtime. I have used this language to express the temporal and positional properties of robots using Linear Temporal Logic as a basis for the language stipulation. I have also automated the monitoring of some behavioral violations of robots in relation to their state or events during a simulation, resorting to relations between the internal information of the system and the corresponding information in the simulator. To evaluate the developed work, I went through a list of documented ROS bugs and identified some that happen at runtime. Using these bugs as a basis I specified the robot’s properties in the developed language that should be capable of detecting an error, in order to test both the expressiveness and the monitoring while running the system

    Similar works