当前位置: 首页 > news >正文

【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)是用于建模多个随机变量之间相互依赖关系的概率图模型。具有以下特点:

  1. MRF通过无向图表示,节点代表随机变量,边表示变量之间的相互依赖关系。
  2. 每个节点的条件分布仅依赖于其邻居节点,而不依赖于其他节点。
  3. 其核心思想是通过局部相互作用来捕捉全局行为。

信念传播(Belief Propagation, BP)

信念传播是一种在图模型(如MRF)上进行推断的算法。它可以用于计算边缘概率分布或最大后验概率估计。主要有两种形式:

  • 标准(BP):适用于树结构或无环图。在这些图中,BP可以精确地计算边缘概率分布。
  • 循环(Loopy BP):适用于包含环的图。虽然在有环的图中BP不一定收敛或给出精确解,但在实践中它常常表现良好,能提供近似解。

步骤:

  1. 初始化:将每个节点的初始信念设置为其先验概率。
  2. 节点之间交换消息,包括关于一个节点的信念如何影响另一个节点。
  3. 边缘概率计算:通过聚合消息计算每个节点的边缘概率。

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,txr,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=0M1是状态控制序列, N N N是智能体数量, M M M是控制时域

key:使用什么样的方法求解这个MPC轨迹优化问题

推理问题

  • 目标:找到最优轨迹上的概率分布,从而找到每个机器人的最优控制。
  • 概述:首先将多机器人团队建模为一个马尔可夫随机场(MRF)的概率图形模型,然后通过局部消息传递将信念传播(BP)用于分布式推理。最后,开发了一种基于采样的MPC算法来获得每个机器人的最优控制。
    在这里插入图片描述
    在这里插入图片描述
  1. 采样轨迹
    输入: 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τ)
  2. 传递样本轨迹和消息
    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的估计
  3. 更新当前置信分布
    根据收到的所有邻居机器人的消息和当前时刻的观测信息更新当前的置信分布 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) 马尔可夫随机场&#xff…...

代码随想录算法训练营第二天| 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接口&#xff0c; 并且使用6.10.0版本 直接上代码 一&#xff0c; POM <!-- office 365 --><dependency><groupId>com.microsoft.graph</groupId><artifactId>microsoft-graph</artifactId><version>6.1…...

QT--TCP网络通讯工具编写记录

QT–TCP网络通讯工具编写记录 文章目录 QT--TCP网络通讯工具编写记录前言演示如下&#xff1a;一、服务端项目文件&#xff1a;【1.1】server_tcp.h 服务端声明文件【1.2】thread_1.h 线程处理声明文件【1.3】main.cpp 执行源文件【1.4】server_tcp.cpp 服务端逻辑实现源文件【…...

如何解决爬虫的IP地址受限问题?

使用代理IP池、采用动态IP更换策略、设置合理的爬取时间间隔和模拟正常用户行为&#xff0c;是解决爬虫IP地址受限问题的主要策略。代理IP池是通过集合多个代理IP来分配爬虫任务&#xff0c;从而避免相同的IP地址对目标网站进行高频次访问&#xff0c;减少被目标网站封禁的风险…...

harmony 文件上传

图片上传 1&#xff0c; 获取文件&#xff0c;这里指的是图片 在鸿蒙内部有一个API pick选择器&#xff0c;实现文件保存和文件选择的功能&#xff0c; 使用pick对象创建PhotoViewPicker实例 传入必要的参数&#xff0c;如选择图片的数量&#xff0c;和弹出窗口的位置&#xf…...

什么是安全左移如何实现安全左移

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

将PCD点云投影到BEV平面得到图片

前言 点云数据作为一种丰富的三维空间信息表达方式&#xff0c;通常用于自动驾驶、机器人导航和三维建模等领域。然而&#xff0c;点云数据的直观性不如二维图像&#xff0c;这限制了它在一些需要快速视觉反馈的应用场景中的使用。本文将探讨如何将点云数据转换为二维图像&…...

计算机笔记14(续20个)

230.色彩的种类就是色相 饱和度就是彩度除以明度 231.RISC是精简指令集&#xff0c;CISC是复杂指令集 232.世界上第一台数字计算机&#xff0c;奠定了至今仍在使用计算机体系结构 233.数据传输中&#xff0c;电路交换的传输延迟最小 234.定点整数的小数点约定在最低…...

docker 使用桥接网

在Docker中使用桥接网络&#xff0c;你可以创建一个新的桥接网络或者使用默认的桥接网络&#xff08;如果已经存在的话&#xff09;。以下是创建新桥接网络和连接容器到这个网络的示例命令&#xff1a; 1.创建一个新的桥接网络&#xff08;如果你想创建一个新的&#xff09;&a…...

1金融风控相关业务介绍

金融风控相关业务介绍 学习目标 知道常见信贷风险知道机器学习风控模型的优势知道信贷领域常用术语含义1 信贷&风控介绍 信贷业务,就是贷款业务,是商业银行和互联网金融公司最重要的资产业务和主要赢利手段 通过放款收回本金和利息,扣除成本后获得利润。贷款平台预测有…...

521源码-免费教程-经常用到的Vue.js的Vue@Cli入门指导

更多网站源码学习教程&#xff0c;请点击&#x1f449;-521源码-&#x1f448;获取最新资源&#xff1a;521源码-网站源码-资源素材-免费下载 Vue.js是一款流行的JavaScript框架&#xff0c;它使得构建交互式的Web界面变得简单和快捷。VueCli是Vue.js官方提供的脚手架工具&…...

大数据技术原理(二):搭建hadoop伪分布式集群这一篇就够了

&#xff08;实验一 搭建hadoop伪分布式&#xff09; -------------------------------------------------------------------------------------------------------------------------------- 一、实验目的 1.理解Hadoop伪分布式的安装过程 实验内容涉及Hadoop平台的搭建和…...

中间件是什么?信创中间件有哪些牌子?哪家好用?

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

python实现520表白图案

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

【Linux】-Flink分布式内存计算集群部署[21]

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

别再死记硬背了!用这5个真实项目案例,彻底搞懂Python函数参数与返回值

别再死记硬背了&#xff01;用这5个真实项目案例&#xff0c;彻底搞懂Python函数参数与返回值 函数是Python编程的基石&#xff0c;但很多初学者在学完基础语法后&#xff0c;面对实际项目依然无从下手。本文将通过5个真实开发场景&#xff0c;带你从"会用"到"懂…...

3分钟掌握:163MusicLyrics终极免费歌词解决方案全攻略

3分钟掌握&#xff1a;163MusicLyrics终极免费歌词解决方案全攻略 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 想要快速获取网易云音乐和QQ音乐的歌词吗&#xff1f;1…...

荣品RV1126 SDK编译避坑指南:从环境配置到分区调整,手把手解决常见编译错误

RV1126 SDK编译实战&#xff1a;从环境搭建到分区优化的全流程解决方案 1. 开发环境配置与初始化 RV1126开发环境的搭建是整个开发流程的第一步&#xff0c;也是后续所有工作的基础。一个稳定、高效的开发环境能够显著提升开发效率&#xff0c;减少不必要的错误。 首先需要确保…...

从TPM到机密计算:远程证明技术原理与zap1项目实践指南

1. 项目概述与核心价值最近在整理一些零散的学习笔记时&#xff0c;发现了一个挺有意思的项目&#xff0c;叫Frontier-Compute/zap1-learning-attestation。乍一看这个标题&#xff0c;可能有点让人摸不着头脑&#xff0c;尤其是对于刚接触可信计算或者硬件安全领域的朋友来说。…...

Windows上运行Swift代码的三种实战路径

1. 为什么Windows开发者需要Swift&#xff1f; Swift作为苹果生态的主力编程语言&#xff0c;近年来在服务端开发、机器学习等领域的应用越来越广泛。但很多刚接触Swift的Windows开发者会发现&#xff1a;官方文档里压根没提Windows支持&#xff01;这其实是因为Swift最初就是…...

【仅剩217份】《Midjourney后印象派风格白皮书》V2.3——含17位艺术家专属LoRA适配建议、32组跨文化色彩映射表及实时风格强度校准工具(2024.06内部封测版)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;后印象派风格的视觉基因与Midjourney语义解码 后印象派并非对自然的模仿&#xff0c;而是对色彩、结构与主观情绪的系统性重构——梵高旋转的星云、塞尚凝固的苹果、高更平面化的塔希提图腾&#xff0c…...

WipperSnapper+Adafruit IO:无代码物联网开发实战,从传感器到云端自动化

1. 项目概述与核心价值如果你和我一样&#xff0c;在物联网&#xff08;IoT&#xff09;项目初期&#xff0c;常常被复杂的嵌入式编程、网络协议和云平台对接搞得焦头烂额&#xff0c;那么今天分享的这个实战项目&#xff0c;或许能让你眼前一亮。我们这次不谈复杂的代码&#…...

基于Docker构建标准化开发环境:原理、实践与VSCode集成指南

1. 项目概述&#xff1a;一个面向开发者的“开箱即用”环境在软件开发这条路上&#xff0c;我踩过最多的坑&#xff0c;往往不是来自复杂的业务逻辑&#xff0c;而是来自那句“在我机器上好好的”。环境配置&#xff0c;这个看似基础却又无比磨人的环节&#xff0c;消耗了无数开…...

SoC片上系统:从架构原理到选型实战的深度解析

1. 项目概述&#xff1a;从“黑盒子”到“智慧核心”的认知跃迁在电子产品的世界里&#xff0c;我们常常惊叹于一部智能手机的纤薄与强大&#xff0c;它既能流畅播放高清视频&#xff0c;又能处理复杂的游戏画面&#xff0c;还能实时连接网络、定位导航。这一切的背后&#xff…...

量化部署终极指南:从GPTQ到AWQ,精度损失与显存节省的平衡艺术

系列导读 你现在看到的是《本地大模型私有化部署与优化:从入门到生产级实战》的第 7/10 篇,当前这篇会重点解决:帮你搞懂每种量化方法的优劣,用最少显存跑最大模型,精度损失可控。 上一篇回顾:第 6 篇《RAG知识库实战:LangChain+Chroma搭建本地问答系统,解决幻觉与知…...