【paper】基于分布式采样的多机器人编队导航信念传播模型预测控制
- Distributed Sampling-Based Model Predictive Control via Belief Propagation for Multi-Robot Formation Navigation
- RAL 2024.4
- Chao Jiang 美国 University of Wyoming
预备知识
马尔可夫随机场(Markov Random Field, MRF)
马尔可夫随机场(MRF)是用于建模多个随机变量之间相互依赖关系的概率图模型。具有以下特点:
- MRF通过无向图表示,节点代表随机变量,边表示变量之间的相互依赖关系。
- 每个节点的条件分布仅依赖于其邻居节点,而不依赖于其他节点。
- 其核心思想是通过局部相互作用来捕捉全局行为。
信念传播(Belief Propagation, BP)
信念传播是一种在图模型(如MRF)上进行推断的算法。它可以用于计算边缘概率分布或最大后验概率估计。主要有两种形式:
- 标准(BP):适用于树结构或无环图。在这些图中,BP可以精确地计算边缘概率分布。
- 循环(Loopy BP):适用于包含环的图。虽然在有环的图中BP不一定收敛或给出精确解,但在实践中它常常表现良好,能提供近似解。
步骤:
- 初始化:将每个节点的初始信念设置为其先验概率。
- 节点之间交换消息,包括关于一个节点的信念如何影响另一个节点。
- 边缘概率计算:通过聚合消息计算每个节点的边缘概率。
Q1 Background:本文试图解决一个什么样的问题?
- 具有复杂系统动力学和不确定性模型的随机最优控制问题
- 多机器人最优轨迹优化问题
👉20x20的带有静态障碍物的方形环境。轮式机器人数量N=7。初始位置均匀随机分布在左下角的5×5m区域,初始航向从[0,2π)采样。
👉编队目标:使6个机器人将自己定位成正六边形,1个机器人位于编队中心。每个机器人与其最近邻居的距离为1.2m。最大通信范围dmax=1.5 m,最小机器人间距离dmin=0.6 m。最大控制vmax=1.2 m/s。
Q2 What’s Known:之前解决这个问题有哪些方法?
- 基于优化的方法:动态规划 | SCP | MPC
- 缺点:依赖梯度,需要计算导数,不太适合非光滑动力学或成本函数。随着函数的复杂性(例如,非凸性、局部极小值)的增加,这些方法可能变得低效,甚至无法找到可行解。使用基于梯度的优化的现有MPC方法在平滑优化问题中大多是成功的。
- 基于采样的方法:路径积分控制 | 交叉熵 | 信息论MPC | 变分推理MPC
- 定义:使用由前向预测或模拟产生的随机轨迹样本来实现最优控制。
- 优点:不依赖于模型的精确梯度的计算,接受更通用的动力学。随机前向搜索提供了一种解释不确定性的原则性方法,使算法不太容易出现局部极小值。
Q3 What’s New:本文是用什么样的方法如何解决这个问题的?
👉基于分布式采样的MPC算法:将多机器人最优控制公式化为图形模型上的概率推理(probabilistic inference over graphical model),并利用信念传播(leverages belief propagation通过分布式计算实现推理。可以产生基于采样的随机优化的各种分布式最优控制算法。
👉具体Method如下:
建模
-
Model:经典的轮式机器人 - 两轮驱动非完整Robot
x x x, y y y是2D位置, θ \theta θ是航向角, v l v_l vl和 v r v_r vr代表左轮输入速度和右轮输入速度, l l l是左右轮距离 -
Proximity Graph
无向图,如果 i i i 和 j j j 的欧几里得距离 ≤ d m a x d_{max} dmax(通信范围限制),则 i i i, j j j存在边,且它们俩互为邻居。
所以边集是时变的: -
避碰和避障
X o \mathcal{X}_o Xo是障碍物占用的位置(膨胀后) -
导航和编队保护
保持编队移动到目标位置,同时避碰
即跟踪参考轨迹 ∥ x i , t − x r , t ∥ , ∀ t ∈ [ 0 , T ] \|x_{i,t}-x_{r,t}\|,\forall t\in[0,T] ∥xi,t−xr,t∥,∀t∈[0,T],参考轨迹 x r , t x_{r,t} xr,t 通过全局运动规划器获得(环境图全局给定),编队由相对位置 Δ p i j \Delta p_{ij} Δpij确定,当所需编队保持不变时,以下等式成立:
-
MPC轨迹优化问题
τ i ≜ { x i , t + k , u i , t + k } k = 0 M − 1 \tau_i\triangleq\{x_{i,t+k},u_{i,t+k}\}_{k=0}^{M-1} τi≜{xi,t+k,ui,t+k}k=0M−1是状态控制序列, N N N是智能体数量, M M M是控制时域
key:使用什么样的方法求解这个MPC轨迹优化问题
推理问题
- 目标:找到最优轨迹上的概率分布,从而找到每个机器人的最优控制。
- 概述:首先将多机器人团队建模为一个马尔可夫随机场(MRF)的概率图形模型,然后通过局部消息传递将信念传播(BP)用于分布式推理。最后,开发了一种基于采样的MPC算法来获得每个机器人的最优控制。
- 采样轨迹
输入: t t t时刻状态 x x x和当前的置信分布 q ( U ) q(U) q(U)
根据 q ( U ) q(U) q(U)对轨迹 τ \tau τ进行采样,得到 L L L个样本
计算每个样本轨迹的观测似然 p ( O ∣ τ ) p(O|\tau) p(O∣τ)- 传递样本轨迹和消息
i i i 发送轨迹样本给邻居 j j j,并接受邻居 j j j的轨迹样本
i i i 计算并传递消息 m k , i ( τ ) m_{k,i}(\tau) mk,i(τ)( i i i除了 j j j外的所有邻居 k k k对轨迹 τ i \tau_i τi的估计
i i i 接受 j j j 计算的消息( j j j除了 i i i外的所有邻居 k k k对轨迹 τ j \tau_j τj的估计- 更新当前置信分布
根据收到的所有邻居机器人的消息和当前时刻的观测信息更新当前的置信分布 q ( U ) q(U) q(U)
Q4 What’s the Contribution:本文还有什么其他的贡献吗?
- 主要贡献是完全分布式框架,每个机器人只需要局部信息。它将基于采样的优化方法[6]、[7]、[8]、[9]、[10]扩展到多机器人问题。
- 对比CMPC,计算速度快
- 对比基于ADMM求解的MPC,计算速度快且成功率高(分别为82%和98%)
Q5 What’s the Inspiration
- 模型比较常规,文章重点在于怎么求解问题,把基于采用的随机最优控制(变分推理)用到了求解DMPC问题中,核心思想还是每个机器人根据其他机器人的信息和自己的观测不断调整和优化自身的轨迹,达到全局最优的控制目标。
- 求解都比较数学,MRF和BP的地方没太看懂,这部分对我的工作没太大用处,但如果有人能看懂这个数学部分把他做到无人机再加个真机实验应该能写个好文章
相关文章:

【paper】基于分布式采样的多机器人编队导航信念传播模型预测控制
Distributed Sampling-Based Model Predictive Control via Belief Propagation for Multi-Robot Formation NavigationRAL 2024.4Chao Jiang 美国 University of Wyoming 预备知识 马尔可夫随机场(Markov Random Field, MRF) 马尔可夫随机场ÿ…...

代码随想录算法训练营第二天| 977.有序数组的平方 、209.长度最小的子数组、 59.螺旋矩阵II
977. 有序数组的平方 题目链接:977. 有序数组的平方 文档讲解:代码随想录 状态:so easy 刚开始看到题目第一反应就是平方之后进行排序,数据量在 1 0 4 10^4 104,可以使用O(nlogn)的排序。但是更好的方式是使用双指针&a…...
list stream 改变list属性的值
在Java中,如果你想使用Stream API来改变List中对象的某个属性值,需要注意的是,Stream API本身设计为不可变操作,即它不直接修改原有的集合,而是产生一个新的流或集合。但是,你可以通过流操作来创建一个新的…...

绿色智能:AI机器学习在环境保护中的深度应用与实践案例
🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…...
Java高级面试精粹:问题与解答集锦(二)
Java面试问题及答案 1. 什么是Java内存模型(JMM)?它的作用是什么? 答案: Java内存模型(JMM)定义了Java虚拟机(JVM)在计算机内存中的工作方式,包括程序计数器…...

基于机器学习模型预测信用卡潜在用户(XGBoost、LightGBM和Random Forest)
基于机器学习模型预测信用卡潜在用户(XGBoost、LightGBM和Random Forest) 随着数据科学和机器学习的发展,越来越多的企业开始利用这些技术来提高运营效率。在这篇博客中,我将分享如何利用机器学习模型来预测信用卡的潜在客户。此…...
java 通过 microsoft graph 调用outlook(三)
这次会添加一个Reply接口, 并且使用6.10.0版本 直接上代码 一, POM <!-- office 365 --><dependency><groupId>com.microsoft.graph</groupId><artifactId>microsoft-graph</artifactId><version>6.1…...

QT--TCP网络通讯工具编写记录
QT–TCP网络通讯工具编写记录 文章目录 QT--TCP网络通讯工具编写记录前言演示如下:一、服务端项目文件:【1.1】server_tcp.h 服务端声明文件【1.2】thread_1.h 线程处理声明文件【1.3】main.cpp 执行源文件【1.4】server_tcp.cpp 服务端逻辑实现源文件【…...
如何解决爬虫的IP地址受限问题?
使用代理IP池、采用动态IP更换策略、设置合理的爬取时间间隔和模拟正常用户行为,是解决爬虫IP地址受限问题的主要策略。代理IP池是通过集合多个代理IP来分配爬虫任务,从而避免相同的IP地址对目标网站进行高频次访问,减少被目标网站封禁的风险…...
harmony 文件上传
图片上传 1, 获取文件,这里指的是图片 在鸿蒙内部有一个API pick选择器,实现文件保存和文件选择的功能, 使用pick对象创建PhotoViewPicker实例 传入必要的参数,如选择图片的数量,和弹出窗口的位置…...

什么是安全左移如何实现安全左移
文章目录 一、传统软件开发面临的安全挑战二、什么是安全左移四、安全左移与安全开发生命周期(SDL)三、安全左移对开发的挑战五、从DevOps到DevSecOps六、SDL与DevSecOps 一、传统软件开发面临的安全挑战 传统软件开发面临的安全挑战主要包括以下几个方…...

将PCD点云投影到BEV平面得到图片
前言 点云数据作为一种丰富的三维空间信息表达方式,通常用于自动驾驶、机器人导航和三维建模等领域。然而,点云数据的直观性不如二维图像,这限制了它在一些需要快速视觉反馈的应用场景中的使用。本文将探讨如何将点云数据转换为二维图像&…...
计算机笔记14(续20个)
230.色彩的种类就是色相 饱和度就是彩度除以明度 231.RISC是精简指令集,CISC是复杂指令集 232.世界上第一台数字计算机,奠定了至今仍在使用计算机体系结构 233.数据传输中,电路交换的传输延迟最小 234.定点整数的小数点约定在最低…...
docker 使用桥接网
在Docker中使用桥接网络,你可以创建一个新的桥接网络或者使用默认的桥接网络(如果已经存在的话)。以下是创建新桥接网络和连接容器到这个网络的示例命令: 1.创建一个新的桥接网络(如果你想创建一个新的)&a…...
1金融风控相关业务介绍
金融风控相关业务介绍 学习目标 知道常见信贷风险知道机器学习风控模型的优势知道信贷领域常用术语含义1 信贷&风控介绍 信贷业务,就是贷款业务,是商业银行和互联网金融公司最重要的资产业务和主要赢利手段 通过放款收回本金和利息,扣除成本后获得利润。贷款平台预测有…...
521源码-免费教程-经常用到的Vue.js的Vue@Cli入门指导
更多网站源码学习教程,请点击👉-521源码-👈获取最新资源:521源码-网站源码-资源素材-免费下载 Vue.js是一款流行的JavaScript框架,它使得构建交互式的Web界面变得简单和快捷。VueCli是Vue.js官方提供的脚手架工具&…...

大数据技术原理(二):搭建hadoop伪分布式集群这一篇就够了
(实验一 搭建hadoop伪分布式) -------------------------------------------------------------------------------------------------------------------------------- 一、实验目的 1.理解Hadoop伪分布式的安装过程 实验内容涉及Hadoop平台的搭建和…...

中间件是什么?信创中间件有哪些牌子?哪家好用?
当今社会,中间件的重要性日益凸显,尤其是在信创背景下,选择适合的中间件产品对于推动企业数字化转型和升级具有重要意义。今天我们就来聊聊中间件是什么?信创中间件有哪些牌子?哪家好用?仅供参考哈…...

python实现520表白图案
今天是520哦,作为程序员有必要通过自己的专业知识来向你的爱人表达下你的爱意。那么python中怎么实现绘制520表白图案呢?这里给出方法: 1、使用图形库(如turtle) 使用turtle模块,你可以绘制各种形状和图案…...

【Linux】-Flink分布式内存计算集群部署[21]
注意: 本节的操作,需要前置准备好Hadoop生态集群,请先部署好Hadoop环境 简介 Flink同spark一样,是一款分布式内存计算引擎,可以支撑海量数据的分布式计算 Flink在大数据体系同样是明星产品,作为新一代的…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

倒装芯片凸点成型工艺
UBM(Under Bump Metallization)与Bump(焊球)形成工艺流程。我们可以将整张流程图分为三大阶段来理解: 🔧 一、UBM(Under Bump Metallization)工艺流程(黄色区域ÿ…...
Python爬虫(四):PyQuery 框架
PyQuery 框架详解与对比 BeautifulSoup 第一部分:PyQuery 框架介绍 1. PyQuery 是什么? PyQuery 是一个 Python 的 HTML/XML 解析库,它采用了 jQuery 的语法风格,让开发者能够用类似前端 jQuery 的方式处理文档解析。它的核心特…...