【阅读随笔】Modularized Control Synthesis for Complex Signal Temporal Logic Specifications

2023-11-17

又是一篇有关STL任务分解的文章

[1] Z. Zhang and S. Haesaert, “Modularized Control Synthesis for Complex Signal Temporal Logic Specifications.” arXiv, Mar. 29, 2023. doi: 10.48550/arXiv.2303.17086.

Outline

  • 通过一系列规则将复杂的STL公式转化为独立的模块,从而提高MILP的求解效率
  • 证明了分解后子公式与原公式的等价性
  • 提出LSR方法求解控制律

1 Intro

通常的STL综合问题使用MILP进行编码求解,但是当公式比较复杂的时候求解时间很长,因此本文提出使用模块化公式的方法,分开求解控制律以提升计算效率。

提升控制综合效率的方法还有:

  • model checking方法:[14]将STL转化为timed Automata
  • CBF[12]和Funnel法[15]

2 Preliminaries and Problem Statement

系统表示

本文处理连续时间系统,系统动态由以下微分方程表示:

在这里插入图片描述

STL语法分解

定义子公式:不可用布尔逻辑算子继续分解的公式

分解规则: φ = φ 1 U ( a , b ) φ 2 \varphi=\varphi_1 U_{(a,b)}\varphi_2 φ=φ1U(a,b)φ2能够拆分为(4)式
在这里插入图片描述

  • (4)式在说什么呢?
    • φ = φ 1 U ( a , b ) φ 2 \varphi=\varphi_1 U_{(a,b)}\varphi_2 φ=φ1U(a,b)φ2能够以两种情况成立,这里以递归的形式进行定义
    • 要么在某个 τ \tau τ时刻之前完成
    • 如果在 τ \tau τ时刻之后完成,则 ( a , τ ) (a,\tau) (a,τ) φ 1 \varphi_1 φ1一直成立,并且在 τ \tau τ瞬间,再次分两种情况:
      • φ 1 \varphi_1 φ1 φ 2 \varphi_2 φ2在这一瞬间同时成立
      • 或者之后剩下的时间里满足 φ 1 U ( 0 , b − t ) φ 2 \varphi_1 U_{(0,b-t)}\varphi_2 φ1U(0,bt)φ2
    • 简单的来说,就是对于 ( a , b ) (a,b) (a,b)中的任何一个时刻 τ \tau τ,要么在这个时间前、要么当时、要么之后确定公式的满足性
  • 这里的花括号 { τ } \{\tau\} {τ}表示 t = τ t=\tau t=τ这个时间点

Reachable Set and Largest Satisfaction Region

接下来要我们一步一步引入本文最核心的概念——LSR

  • R τ ( X 0 ) \mathscr R_\tau(\mathscr X _0) Rτ(X0)reachable set: 由某一初始状态集合出发在** τ \tau τ时刻的所有可能状态**
  • R τ − 1 ( X τ ) \mathscr R_\tau^{-1}(\mathscr X _\tau) Rτ1(Xτ) inverse reachable set: 能到达当前状态的全部初始状态
  • U τ ( X 0 , φ ) \mathscr U_\tau(\mathscr X _0,\varphi) Uτ(X0,φ) admissible control set: 所有使得系统状态不违反约束的的控制序列
  • S 0 ( φ ) S_0(\varphi) S0(φ) largest specification region: 存在控制下最大的初始状态集合,使得轨迹满足约束(也就是排除掉怎么都会破坏约束的剩余初始状态)

Problem Statement

本文接下来要解决三个问题:

  • 分解STL公式,使得时间区间尽量短且没有区域重合

  • 由子公式的LSR得到原公式的LSR

  • 从LSR中选择一个初始状态设计开环控制器

3 Main Results

这一章中,首先定义了什么是充分分解式,其次提出了一套将普通公式转化为这类公式的方法,最后提出使用模块化方法求解LSR与控制律

A. Sufficiently Separate Formulas

  • S2-formulas: 子公式的时间区间不重合的公式
    • 以下两种公式的所有的子公式没有重合的时间内区间为充分分离
      • γ \gamma γ-formulas: always式的逻辑与组合
      • ξ \xi ξ-formulas: eventually式的逻辑或组合
    • γ \gamma γ型和 ξ \xi ξ型公式的数量相等称为充分分离
      • ψ \psi ψ-formula: 上面2种公式的逻辑与组合

B. 将 ψ \psi ψ型公式转化为 S 2 S^2 S2

首先看两条引理:
在这里插入图片描述
Lemma 1:

  1. 对于单个时间点,always和eventually等价
  2. 对于单个时间点,always or可以直接拆分(一般情况是不能的)
  3. 对于单个时间点,always always和eventually eventually可以直接简化

Lemma 2:

  • always可以用and将时间区间拆开,eventually可以用or将时间区间拆开

分别可以对 γ \gamma γ型和 ξ \xi ξ型公式引出分解规则:

  1. 时间区间的拆分
    在这里插入图片描述
  2. 布尔逻辑的拆分

在这里插入图片描述

以上的拆分方法都是不改变语义的,能够保证公式的soundness

C.Modularized Solution of Largest Satisfying Regions

B中的方法能够将所有的 ψ \psi ψ型公式转化为S2型,这一部分介绍了如何从子公式的LSR中求解复杂总公式的LSR。

τ \tau τ-LSR

在这里插入图片描述

  • 前面的LSR S 0 S_0 S0 为初始状态集合,而Def4修改定义为 τ \tau τ时刻状态集合
  • 总公式的LSR根据子公式的布尔逻辑组合方式得到(显而易见)
    • 逻辑与就是取交集
    • 逻辑或就是取并集

D. Modularized Synthesis of an Ψ \Psi Ψ-class formula

控制综合3步走:

  1. ψ \psi ψ型公式分解为 γ \gamma γ型和 ξ \xi ξ型公式两类
  2. 求解每个子公式的LSR,并利用C中的规则得到总LSR
  3. 模块化控制综合
  • j j j个公式头部第与 j j j个公式尾部的定义:
  • 由于分解过程中涉及到时间区间的分割,因此需要确保轨迹的连贯性:设计控制器时需保证 a j + 1 a_{j+1} aj+1时刻的状态落在剩余公式的LSR中
  • 这个方法提升效率的原因在于每当过去的一个子公式被满足,就可以以后不用再考虑
  • 对于eventually子公式有一个特殊处理,不需要等到子公式的时域结束就能够判断其满足性,因此只要为真就移除,以减小计算负担
  • 通过求解优化问题得到问题的解

4 Case Study

实验场景设置为如下平面空间,机器人考虑为单积分器模型,控制量大小有上限。

在这里插入图片描述

机器人要处理的任务为: ψ = G [ 0 , 30 ] φ 0 ∧ G [ 15 , 45 ] φ 1 ∧ F [ 0 , 45 ] φ 2 \psi=G_{[0,30]}\varphi_0 \land G_{[15,45]}\varphi_1 \land F_{[0,45]}\varphi_2 ψ=G[0,30]φ0G[15,45]φ1F[0,45]φ2

  1. 30秒前,每5秒至少访问一次 Z 0 Z_0 Z0: φ 0 = F [ 0 , 5 ] ( ζ ∈ Z 0 ) \varphi_0=F_{[0,5]}(\zeta\in Z_0) φ0=F[0,5](ζZ0)
  2. 15s-45s,机器人离开 Z 1 Z_1 Z1后必须在5s内回来 : 6 φ 1 = ¬ ( ζ ∈ Z 1 ) → F [ 0 , 5 ] ( ζ ∈ Z 1 ) \varphi_1=\neg(\zeta\in Z_1)\to F_{[0,5]}(\zeta\in Z_1) φ1=¬(ζZ1)F[0,5](ζZ1)
  3. 45s前,必须在 Z 2 Z_2 Z2内待够3s充电 : G [ 0 , 3 ] ( ζ ∈ Z 2 ) G_{[0,3]}(\zeta\in Z_2) G[0,3](ζZ2)

接下来作者用这个例子一步一步演示了自己的算法:
第一步:将原公式改写为S2型

在这里插入图片描述
第二步:求LSR,也就是Fig 1中粉红色的部分

在这里插入图片描述

第三步:模块化控制综合

根据第一步的分解,将公式切分为了0-15,15-30和30-45三段,因此分段求出了控制律

得到的轨迹信息如下,可见总轨迹是满足STL约束的,且求解优化问题的总时间明显更短
在这里插入图片描述

5 Conclusion

局限:

  1. 只处理always和eventually的分解
  2. 开环,对不确定性不具有鲁棒性

读后心得

  • 所谓模块化,不如说是分阶段求解,本文实际上上将复杂公式拆解为时间窗口不重合几段进行分别求解
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【阅读随笔】Modularized Control Synthesis for Complex Signal Temporal Logic Specifications 的相关文章

随机推荐

  • Shell排序(java版)

    博主介绍 程序员悟啦 乌拉 个人仓库 码云 座右铭 懒 对一个人的毁灭性有多大 早起的重要性就多大 免责声明 文章由博主原创 部分文章整理于网络 仅供学习和知识分享 相遇是缘 既然来了就拎着小板凳 坐下来一起唠会儿 如果在文中有所收获 请别
  • ROS 报错 ModuleNotFoundError: No module named ‘rospkg‘

    文章目录 写在前面 一 问题描述 二 出现原因 1 Anaconda base 环境下的出现原因 2 Anaconda 虚拟环境下的出现原因 三 解决方法 1 Anaconda base 环境下解决方法 2 Anaconda 虚拟环境下解决
  • 对象与Json字符串互转工具类

    import com fasterxml jackson core JsonProcessingException import com fasterxml jackson databind JavaType import com fast
  • 数据库设计DDL

    DDL 数据定义语言 用来定义数据库对象 数据库 表 DDL 数据库操作 查询 查询所有数据库 show databases 查询当前数据库 select database 使用 使用数据库 use 数据库名 创建 创建数据库 create
  • kali linux网络相关nmcli:ip、网关、路由、DNS的查看修改

    一 查看信息 设备device nmcli device show eht0 查看网卡设备的信息 ip 网关 路由 DNS 指定网卡eth0 nmcli device status 查看网卡设备的状态 nmcli device discon
  • Linux基础学习01——部署虚拟环境安装Linux 系统(VMware WorkStation Pro 16+ RHEL8 )

    VmwareWorkStation 16 虚拟机软件 必需 这是一款功能强大的桌面虚拟计算机软件 能够让用户在单一主机同时运行多个不同的操作系统 同时支持实时快照 虚拟网络 拖曳文件以及PXE等强悍功能 点此百度网盘下载密码 hh6t Re
  • swagger注释API详细说明

    API详细说明 注释汇总 作用范围 API 使用位置 对象属性 ApiModelProperty 用在出入参数对象的字段上 协议集描述 Api 用于controller类上 协议描述 ApiOperation 用在controller的方法
  • Apache服务安全加固及Apache优化

    转载来源 https help aliyun com knowledge detail 52981 html 一 账号设置 以专门的用户帐号和用户组运行 Apache 服务 1 根据需要 为 Apache 服务创建用户及用户组 如果没有设置
  • python+selenium自动化测试通过cookie绕过登录验证

    前言 之前记录过通过截图获取验证码的方式实现登录 但目前存在识别不准确的情况 因此有本篇通过cookie绕过登录验证的方法 绕过登录后 可以便于对系统的功能界面进行自动化测试设计 一 关于cookie的一些认知 1 浏览器的缓存有两种机制
  • C++ 中sort排序改变数值相同的数据相对位置的解决办法

    今天给大家介绍个超级好用的知识 写了那么多的排序 但是其实C 里封装有排序函数 而且功能非常强大 sort函数有sort stable sort 和partial sort sort 函数是对给定区间的元素进行排序 但是会改变值相同的元素的
  • Centos7搭建RabbitMQ集群及单机多节点部署

    安装基本环境 yum y install wget vim bash completion lrzsz nmap telnet tree net tools bind utils lsof ntpdate iotop erlang环境 wg
  • 深入理解计算机系统-笔记

    计算机系统漫游 程序 程序的生命周期从一个源程序 源文件 开始 即程序员利用编辑器创建并保存的文本文件 如文件名为hello c的c语言程序 源程序是由0和1组成的位序列 8个位被组织成一组 称为字节 每个字节表示程序中的某个文本字符 这种
  • css布局 - 垂直居中布局的一百种实现方式(更新中...)

    首先将垂直居中的现象和实现方式两大方向细分类如下 接下来逐条累加不同情况下的垂直居中实现 目录 一 父元素高度固定时 单行文本 图片的垂直居中 1 line height行高简单粗暴实现法 line height Npx N 与元素高度相同
  • parted 分区与磁盘扩容(二)

    前 LVM分区管理是对后续扩容磁盘做铺垫的 现在2TB的硬盘都非常常见了 对于超过2TB的硬盘分区 需要使用parted命令进行操作 fdisk只可以操作2TB之内的 本次教程教你们如何轻松实现2T以上和2T以下磁盘的分区及扩容 一 首先要
  • avalon框架中ms-visible和ms-if的区别

    在avalon的官方教程中说 ms visible的作用是使元素在一定条件下隐藏 不显示 ms if 同样隐藏 但它是将元素移出DOM 这个功能直接影响到CSS empty伪类的渲染结果 那么 什么是伪类 它与class id等功能类似 也
  • 利用VTK显示PLY网格模型文件

    define vtkRenderingCore AUTOINIT 2 vtkRenderingOpenGL2 vtkInteractionStyle include
  • 使用Idea打开Maven项目的正确姿势

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 在学习网上大神们的源码过程中 经常有一些打包好的项目可以提供给自己参考学习 其中不乏一些maven项目 因为自己使用的开发环境是Idea Gradle 对于Maven虽有耳
  • 模型设计总结(1)

    用单变量线性时间序列预测模型预测股价走势有一定的局限性 因此 为了充分利用时间序列的特性数据序列 深入挖掘数据特征 提高数据质量为了提高股票价格预测的准确性 基于CNN LSTM的股票价格预测方法进行股票次日收盘价预测 卷积神经网络 CNN
  • Pandas 使用ExcelWriter实现覆盖文件操作

    if sheet exists replace 这段代码主要实现的作用是 多次使用同一个文件 创建sheet时 但已存在同样的sheet名 进行覆盖操作 writer pd ExcelWriter result file path engi
  • 【阅读随笔】Modularized Control Synthesis for Complex Signal Temporal Logic Specifications

    又是一篇有关STL任务分解的文章 1 Z Zhang and S Haesaert Modularized Control Synthesis for Complex Signal Temporal Logic Specifications