# checkInvariance

computes the reachable set of the dynamical system and checks whether the the terminal region is a robust control invariant set.

## Contents

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

## Syntax

[flagInvariance,flagStateConstraints,b_tight] = checkInvariance(obj,dynamics,termReg)

## Description

This function is part of the verification procedure described in [1, Sec. III 2]: first over-approximations of the reachable sets are computed and, second, satisfaction of the constraints in [1, Eq. (6a), (6b)] / [2, Eq. (6b),(6c)] is checked. If the state constraint in [1, Eq. (6b)] / [2, Eq. (6c)] is violated, the difference of the support function of the reachable set in the violating direction A(j,:) and b(j) are computed (the set of admissible states is assumed to be represented as a polytope {x: A*x <= b}). This difference is used to tighten the set of admissible states in the next iteration of the verification procedure ({A*x <= b - b_tight}).

## Input Arguments

obj | instance of class computeTermRegNonlinSysOpt
dynamics | instance of class termRegNonlinSysDynamics
termReg | converged solution (class: termRegNonlinSysOpt)

## Output Arguments

flagInvariance | indicates satisfaction of the invariance constraint in [1, Eq. 6a] (class: logical)
flagStateConstraints | indicates satisfaction of the state constraint in [1, Eq. 6b] (class: logical)
b_tight | tightening vector for the state constraint in [1, Eq. 6b] (non-negative double vector)

## See Also

@computeTermRegNonlinSysOpt/verifyTerminalRegion

## References

[1] L. Schäfer et al. "Scalable Computation of Robust Control Invariant Sets of Nonlinear Systems", in IEEE Transactions on Automatic Control, vol. 69, no. 2, pp. 755-770, 2024. [2] L. Schäfer and M. Althoff, "Computing Robust Control Invariant Sets of Nonlinear Systems Using Polynomial Controller Synthesis," American Control Conference, 2024, pp. 4162-4169.

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