阅读的随笔_阅读随笔怎么写[通俗易懂]

阅读的随笔_阅读随笔怎么写[通俗易懂]多智能体STL任务分解。

文章目录

  • Overview
  • 1 Intro
    • LTL任务分解
    • STL任务分解
    • 本文工作
  • Background and Problem Definition
    • STL
    • Agent
    • 假设与问题
    • 方法
  • An STL Rewriting System
    • Rewriting System
    • Formula Rewrite DAG
  • Decomposing STL
    • 智能体编队
    • 任务分解
    • 最优分解
  • Exploring the Formula Rewrite DAG
  • Experiments and Results
  • 心得体会

多智能体 STL任务分解
[1] K. Leahy, M. Mann, and C.-I. Vasile, “Rewrite-Based Decomposition of Signal Temporal Logic Specifications,” in NASA Formal Methods, K. Y. Rozier and S. Chaudhuri, Eds., in Lecture Notes in Computer Science. Cham: Springer Nature Switzerland, 2023, pp. 224–240. doi: 10.1007/978-3-031-33170-1_14.

Overview

  1. 用rewriting system将STL公式分解以解决中心计算计算量太大的问题
  2. 同时给智能体分组
  3. 证明分解算法的收敛性
  4. 提出一个分解的评价指标并给出最佳分解的评价方式

1 Intro

LTL任务分解

[2,7,21,23]

STL任务分解

[6] Charitidou, M., Dimarogonas, D.V.: Signal temporal logic task decomposition via convex optimization. IEEE Contr. Syst. Lett. 6 , 1238–1243 (2021)

  • 已知智能体的分组情况

[14] Leahy, K., Jones, A., Vasile, C.I.: Fast decomposition of temporal logic specifications for heterogeneous teams. IEEE Robot. Autom. Lett. 7 (2), 2297–2304 (2022)

  • abstract reduction system,只能处理特定形式的STL

[22] Sun, D., Chen, J., Mitra, S., Fan, C.: Multi-agent motion planning from signal temporal logic specifications. IEEE Robot. Autom. Lett. 7 (2), 3451–3458 (2022)

  • 将任务分解给每一个机器人,不考虑编队
  • 主要探究的是控制综合的问题

本文工作

  • 公式分解 + 机器人编队 (分两阶段完成)
  • 提供了分解式的正则形式以及量化了分解上限
  • 基于优化方法在DAG上选择最佳分解和编队

Background and Problem Definition

STL

文章分层定义了predicate和conjugate,如下所示
在这里插入图片描述
虽然文章说不约束STL的形式,但是这个定义一出来看上去是只接受一层时序嵌套和布尔运算的组合

Agent

  • 智能体定义为一个状态和状态上界(element-wise)的元组 A = ( x ( t ) , u ) A=(x(t),u) A=(x(t),u)

  • u u u x ( t ) x(t) x(t)有一个恒定的上界,假定是已知的

  • An agent “services” a predicate: 一个智能体的动作对该predicate是否满足有影响

  • equivalence class g u g_u gu: 具有相同 u u u的智能体被看做为同一类型

  • Robustness upper bound ρ u b \rho_{ub} ρub: 所有机器人鲁棒度能够达到的最大值之和在这里插入图片描述

    • 上面公式定义的很奇怪,感觉像是括号打错了,正确的应该是 ρ u b ( π ( x ( t ) ≥ c ) , A ) : = ∑ a ∈ A ( π ( a . u ) − c ) \rho_{ub}(\pi(x(t)\geq c),\mathcal{A}):=\sum_{a\in\mathcal{A}}(\pi(a.u)-c) ρub(π(x(t)c),A):=aA(π(a.u)c)
    • 如果 ρ u b \rho_{ub} ρub为负,则不存在满足此公式的控制律

假设与问题

  • 假定 S y n t h ( J , ϕ ) Synth(J,\phi) Synth(J,ϕ)是一个已知的函数,输出一个控制律,使得智能体集群 J J J满足公式 ϕ \phi ϕ
  • 由于目前没有方法能够在求解控制律之前就得出问题是否可行,因此本文将robustness upper bound作为存在可行解的一个必要条件
    在这里插入图片描述
  • 即得到智能体的编队方式 R R R以及每一队所对应的公式 ϕ r \phi_r ϕr
  • 为了使分解有意义,接下来假设原控制综合问题是有可行解的

方法

在这里插入图片描述
大致步骤如下:

  1. 先将原公式转化为更容易分解的形式(很多种):图(a)DAG中包含4个结点,对应图(b)中的4个AST
  2. 为每种变形构建抽象语法树(AST, abstract syntax tree)
  3. 给所有变形打分
  4. 选择最好的结点,完成公式的分解
  5. 根据公式完成智能体编队

An STL Rewriting System

这里完成上面步骤中的第一步:将原公式转化为更容易分解的形式

Rewriting System

最顶层为合取 ∧ \land 组合为的公式是最容易分解的, ∧ \land 下的子公式没有逻辑关联性(都满足就好了),因此这里想了一个方法将所有的公式都改成顶层连接词为 ∧ \land 的形式。

为了保证分解后的问题与原问题的统一性,必须保证改写后的公式比原公式更加严格。

因此文章提出下面3中加入顶层 ∧ \land 的方法: → □ , → ⋄ , → U \to_\square,\to_\diamond,\to_\mathcal{U} ,,U
在这里插入图片描述

  • 上面的split-finally和split-until对原公式的逻辑压缩得简直是大刀阔斧
  • 文中还有两种合并,就是说很有道理但是又没有道理 😅

在这里插入图片描述

接下来就是一些比较长的数学证明,这里不细看了

  • rewrite系统的终止条件:出现一个单调 φ \varphi φ,其中 φ = ∑ i = 1 n ∧ , U d i + ( n ∧ , U + 1 ) n U \varphi=\sum_{i=1}^{n_{\land,\mathcal U}}d_i+(n_{\land,\mathcal U}+1)n_\mathcal{U} φ=i=1n,Udi+(n,U+1)nU
    • n ∧ , U n_{\land,\mathcal U} n,U是顶层连接词 ∧ \land U \mathcal U U的数量
    • d i d_i di是第 i i i个顶层连接词到AST根节点的距离
    • monotone embedding into ( N , > ) (\mathbb N,>) (N,>)
  • Confluence

Formula Rewrite DAG

G : = < Φ , E > G:=\left<\Phi,E\right> G:=Φ,E 表示公式的变化过程,结点为公式形态,边为重写规则,如下如所示
在这里插入图片描述
上面证明过DAG一定能够以有限图终止,上图最下方也展示了这个结果

Decomposing STL

这一部分做的是给上面的所有结点评分,以选出一个最佳的分解方法

智能体编队

一个将STL公式转化成智能体集合的函数:
α : c o n j ( ϕ ) → 2 J \alpha:conj(\phi)\to 2^J α:conj(ϕ)2J

任务分解

  • 一种任务分解对应一种编队形式 R R R (a partition of set J J J),记一种分解为元组 D R : = < R , { ϕ r } r ∈ R > \mathcal D_R:=\left<R,\{\phi_r\}_{r\in R}\right> DR:=R,{
    ϕr}rR
  • 分解后的子任务能够独立求解

最优分解

为了选出最佳分解,这一部分引入了一个评分体系

  • c a p : G × p r e d ( ϕ ) → R c_{ap}:G\times pred(\phi)\to\mathbb R cap:G×pred(ϕ)R 起步代价
  • c p p : G × p r e d ( ϕ ) × p r e d ( ϕ ) → R c_{pp}: G\times pred(\phi)\times pred(\phi) \to \mathbb R cpp:G×pred(ϕ)×pred(ϕ)R 切换任务的代价

在这里插入图片描述
最终用于排序的评分称作decomposition score,为一个元组: ξ : = < N , − C a p , − C p p , − h , ρ u b > \xi:=\left<N,-C_{ap},-C_{pp},-h,\rho_{ub} \right> ξ:=N,Cap,Cpp,h,ρub,比较结点时按照排序优先级向下比较

Exploring the Formula Rewrite DAG

这一章介绍总体算法,包括DAG构建以及结点遍历、排序的算法,如下所示:
在这里插入图片描述

  • 这里子问题是否都有可行解只有再进行控制综合时才知道
  • 当根据得分得到的最佳分解仍然包含没有可行解的子问题时,又回到DAG换过一个结点❓

Experiments and Results

对computing和电网两个场景分别进行了实验,可以看出分解后求解速度明显快了不少
在这里插入图片描述
文章还和之前的Capability TL的结果进行了效率的对比,在对角线下方表示本文算法更快,发现问题规模越大提速越明显。CaTL用的是SMT进行智能体编队的
在这里插入图片描述


心得体会

  • 将任务分解为子任务是STL控制综合的一个比较有意思的方向
  • 用inference做data-based decomposition应该也挺有意思的

今天的文章阅读的随笔_阅读随笔怎么写[通俗易懂]分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/58823.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注