This release is similar to the one we developed for the Release 2 with the main difference in the development of the generated runtime monitors.
Behavior Tree of Release 3
The figure below shows the BT of Scenario 3.
The BT encodes the following logic:
- The robot checks if the battery level is below 30% of its capacity or if the battery is under charge.
- If the battery level is below 30% and it is not already under charge, the robot goes to the charging station.
- If the battery is under charge and the robot is at the charging station, the robot waits until the battery gets fully charged.
- If the battery level is above 30% and it is not under charge, it performs the main task.
The main task is:
- If there are no objects in the robot’s hand, the robot goes to the user to fetch an object.
- If there is an object in the robot ‘s hand, the robot goes to a predefined destination.
Execution of Release 3
The video below shows the execution of Release 3. We present three scenarios, a nominal one (with no property violation), one with a safety property violation, and one with a response property violation.