# safetyNetControl

Implementation of the safety net controller based on backward rechable set computation

## Contents

- Syntax
- Description
- Input Arguments
- Output Arguments
- See Also
- References

## Syntax

[objContr,res] = safetyNetControl(benchmark,Param,Opts)
[objContr,res] = safetyNetControl(benchmark,Param,Opts,Post)

## Description

Offline-phase computations for the Safety Net Control Algorithm Algorithm.

## Input Arguments

benchmark | name of the considered benchmark model (see; "aroc/benchmarks/...")
Param | a structure containing the benchmark parameters
.R0 | initial set of states (class: interval)
.xf | goal state
.tFinal | final time after which the goal state should be reached
.U | set of admissible control inputs (class:; interval)
.W | set of uncertain disturbances (class: interval)
.V | set of measurement errors (class: interval or; zonotope)
.X | set of state constraints (class: mptPolytope)
Opts | a structure containing the algorithm settings
.N | number of time-steps [{10} / positive integer]
.Ninter | number of intermediate time steps [{4} / positive integer]
.reachSteps | number of reachability steps in one time step [{10} / positive integer]
.order | maximum zonotope order of backward reach. sets [{3} / positive integer]
.iter | number of iterations for optimization [{1} / positive integer]
.realTime | flag specifying if real time computation time constraints are considered (Opts.realTime = 1) or not (Opts.realTime = 0) [{false} / boolean]
.tComp | time allocated to perform the computations for the optimizations (0 < tComp < tFinal/N/Ninter)
.controller | string specifying the comfort controller that is applied during online execution
.contrOpts | struct with confort controller settings
.refTraj.Q | state weighting matrix for the cost function of optimal control problem (dimension:[nx,nx])
.refTraj.R | input weighting matrix for the cost function of optimal control problem (dimension:[nu,nu])
.refTraj.x | user provided reference trajectory (dimension: [nx,Opts.N*Opts.Ninter + 1])
-.refTraj.u inputs for the user provided reference trajectory (dimension: [nu,Opts.N*Opts.Ninter])
Post | function handle to the postprocessing function that is used to compute the occupancy set

## Output Arguments

objContr | resulting controller storing the data computed during the offline phase (class: objSafteyNetContr)
res | results object storing the computed reachable set and the center trajectory

## See Also

`objSafetyNetContr`

## References

- [1] Schuermann et al. (2021), Formal Safety Net Control Using Backward Reachability Analysis

© 2018-2023 I6 Technische Universität München `•` Website `•` License