【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,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算法來獲得每個機器人的最優控制。
    在這里插入圖片描述
    在這里插入圖片描述
  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的地方沒太看懂,這部分對我的工作沒太大用處,但如果有人能看懂這個數學部分把他做到無人機再加個真機實驗應該能寫個好文章

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13580.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13580.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13580.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Linux】使用AddressSanitizer分析內存非法使用問題

文章目錄 1 為什么需要AddressSanitizer?2 如何使用AddressSanitizer3 AddressSanitizer的原理4 總結 1 為什么需要AddressSanitizer? Valgrind是比較常用的內存問題定位工具,既然已經有了Valgrind,為什么還需要AddressSanitizer…

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…

域內 dcsync 權限維持

一、原理 DCSync 是域滲透中經常會用到的技術&#xff0c;其被整合在了 Mimikatz 中。在 DCSync 功能出現之前&#xff0c;要想獲得域用戶的哈希&#xff0c;需要登錄域控制器&#xff0c;在域控制器上執行代碼才能獲得域用戶的哈希。 Mimikatz的DCSync 功能&#xff1a; 該…

java8總結

java8總結 java8新特性總結1. 行為參數化2. lambda表達式2.1 函數式接口2.2 函數描述符 3. Stream API3.1 付諸實踐 java8新特性總結 行為參數化lambda表達式Stream Api 1. 行為參數化 定義&#xff1a;行為參數化&#xff0c;就是一個方法接受多個不同的行為作為參數&#x…

harmony 文件上傳

圖片上傳 1&#xff0c; 獲取文件&#xff0c;這里指的是圖片 在鴻蒙內部有一個API pick選擇器&#xff0c;實現文件保存和文件選擇的功能&#xff0c; 使用pick對象創建PhotoViewPicker實例 傳入必要的參數&#xff0c;如選擇圖片的數量&#xff0c;和彈出窗口的位置&#xf…

【機器學習】前沿探索,如何讓前端開發更加搞笑

在當今數字化時代&#xff0c;機器學習的崛起為前端開發帶來了巨大的機遇和挑戰。隨著人工智能和數據科學的不斷進步&#xff0c;前端工程師不再局限于傳統的界面設計和交互體驗&#xff0c;而是開始探索如何將機器學習技術融入到他們的工作中&#xff0c;以創造更加智能、個性…

面了一個程序員,因為6休1拒絕了我

人一輩子賴以生存下去的主要就考慮三件事&#xff0c;職業&#xff0c;事業&#xff0c;副業&#xff0c;有其1-2都是很不錯的。如果還沒到40歲&#xff0c;那不妨提前想下自己可能遇到的一些情況&#xff0c;提前做一些準備&#xff0c;未雨綢繆些。 今年整體就業大環境也一般…

【手寫大跟堆詳解】

文章目錄 大跟堆介紹大跟堆的結構大跟堆的應用場景大跟堆的代碼實現 大跟堆介紹 大根堆&#xff08;Max Heap&#xff09;是一種特殊的二叉樹結構&#xff0c;它滿足以下兩個條件&#xff1a; 1.完全二叉樹&#xff1a;大根堆是一棵完全二叉樹&#xff0c;即除了最后一層外&am…

一分鐘快速排序

這個 quick_sort 函數是一個實現快速排序&#xff08;Quicksort&#xff09;算法的遞歸函數。快速排序是一種高效的排序算法&#xff0c;通常用于對大規模數據集進行排序。以下是對該函數的詳細解釋&#xff1a; 函數簽名 void quick_sort(int q[], int l, int r)q[]&#xf…

Qt_電腦wifi相關操作

項目描述: 在做項目時用到了獲取wifi的操作。在網上查找了好久資料,這里做一些總結。 這里有顯示當前電腦wifi連接狀態,列出wifi列表,連接斷開wifi等函數。歡迎大家留言添加文章內容。 使用范圍: windows電腦(中文的環境) 使用技術:windows的cmd命令。和對字符串的解析…

C語言學習筆記--運算符與表達式(7521字爆肝)

上午好&#xff0c;本來想上午改簡歷下午學習c語言的&#xff0c;但想了一下上午精力充沛還是用來學習比較好&#xff0c;雖然現在失業了&#xff0c;但住在我姨家有吃有住的&#xff0c;再次感謝我姨&#xff0c;我要抓緊時間修改簡歷&#xff0c;然后找個工作搬出去&#xff…

【回憶版】數據科學思維與大數據智能分析 2024考試

填空&#xff08;18分&#xff09;18個 1.對數變換對大數值的范圍進行壓縮&#xff0c;對小數值的范圍進行擴展 2.提取出大量高頻率項與低頻率項相關聯的虛假模式&#xff0c;即交叉支持&#xff08;cross-support&#xff09;模式 3.信息論中&#xff08;&#xff09; 4.幾種…

[數據集][目標檢測]彈簧上料檢測數據集VOC+YOLO格式142張2類別

數據集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路徑的txt文件&#xff0c;僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數)&#xff1a;142 標注數量(xml文件個數)&#xff1a;142 標注數量(txt文件個數)&#xff1a;142 標注類別…

yolov8訓練自己數據集時出現loss值為nan。

具體原因目前暫未尋找到。 解決辦法 將參數amp改成False即可。 相關資料&#xff1a; https://zhuanlan.zhihu.com/p/165152789 https://github.com/ultralytics/ultralytics/issues/1148

【BUG】Edge|聯想電腦 Bing 搜索報錯“Ref A: 亂碼、 Ref B:亂碼、Ref C: 日期” 的解決辦法

文章目錄 省流版前言解決辦法 詳細解釋版前言問題描述與排查過程解決辦法與總結 省流版 前言 我也不清楚咋滴了&#xff0c;Bing 搜索突然偶爾報錯&#xff1a; 換了代理關了插件都報錯。 參考&#xff1a; 我在用bing搜索時出現了如下代碼&#xff0c;導致bing無法使用&am…

nginx proxy_set_header詳解

proxy_set_header 是 Nginx 配置中的一個重要指令&#xff0c;特別是在使用 Nginx 作為反向代理時。該指令允許你修改由 Nginx 傳遞給代理后端的請求頭。這對于確保后端應用程序能夠接收到正確的客戶端信息&#xff08;如 IP 地址、主機名等&#xff09;以及控制緩存行為等場景…

1 計算機硬件-CPU-校驗碼-存儲系統-輸入輸出設備-總線結構

計算機硬件 考情分析&#xff1a;趨勢很小&#xff0c;22年考過&#xff0c;根據趨勢以后考的可能較小 基本組成&#xff1a;運算器&#xff0c;控制器&#xff0c;儲存器&#xff0c;輸入設備&#xff0c;輸出設備運算器和控制器也統稱為中央處理單元&#xff08;CPU&#xf…

【算法訓練 day37 檸檬水找零、長度最小的子數組、用最少數量的箭引爆氣球】

目錄 一、檸檬水找零-LeetCode 860思路實現代碼個人問題總結 二、根據身高重建隊列-LeetCode 406思路實現代碼個人問題總結 三.用最少數量的箭引爆氣球-LeeCode 406思路實現代碼個人問題總結 一、檸檬水找零-LeetCode 860 Leecode鏈接: leetcode 860 文章鏈接: 代碼隨想錄 視頻…

解鎖Nginx跨域謎題:3步打造安全高效的CORS策略

Nginx作為一款強大的Web服務器和反向代理服務器&#xff0c;經常被用于處理跨域資源共享&#xff08;CORS&#xff0c;Cross-Origin Resource Sharing&#xff09;策略&#xff0c;以允許或限制不同源之間的資源請求。CORS是一種安全策略&#xff0c;用于決定Web瀏覽器是否應允…

深度學習——圖像分類(CNN)—測試模型

測試模型 1.導入必要的庫2.加載測試數據集3.假設CSV文件中的圖像文件名是完整的路徑4.隨機選擇一張圖片進行展示5.加載圖像6.使用模型進行預測7.設置模型的預測結果8.計算準確率9.指定test文件夾路徑10.讀取名為image_path的圖片11.加載圖像12.檢查圖像是否為空 訓練的模型是上…