三次軌跡多項式在無人機上實現的一點小想法

2021-09-12 07:31:52 字數 1875 閱讀 7342

最近實驗涉及到了無人機的室內飛行,在除錯飛機的同時,對路徑規劃演算法的文獻進行了一些查閱。shen的一篇文章中提到了一些無人機室內感知與路徑規劃演算法。文章發表在2023年的icra,名為"online generation of collision-free trajectories for quadrotor flight in unknown clutter environment"。文章中對無人機的pose只取了位置和偏航(x,y,z,yaw)。飛機的狀態估計為雙目視覺和雷達+ukf里程計,光流估計速度。

以下內容都擷取自文章,英文以截圖形式展現。

現在無人機複雜環境的路徑規劃的難點在於非凸障礙物和可穿越(安全)空間的有效建模。早期方法是milp,然後使用mixed-integer quadratic programming(混合整數二次規劃)來建模非凸障礙物表面。但是這種方法的劣勢在於當障礙物多了之後,計算複雜度大了很多。

然後又說了為了有效使用計算量,更多的區域性(local)和反應式(reactive)方法被使用,缺點是無法全域性優化。

提到「rrt+qp"的方案,rrt方案網上**有很多,包括整合在ros的功能包,我試著跑了跑,感覺效果還不錯。終於在末尾提到了自己的方案」用octree-based方法來表示環境中的物體來生成無障礙軌跡,然後qp優化「。繼承了混合整數方法的準度,但是彌補了計算速度的缺失,還解決了rrt在狹窄的空間內生成軌跡無效的問題。

我覺得,簡單理解就是用體素將深度資訊表示出來,然後圖b是作者之前方法,圖a是改進之後的。明顯看出可行空間利用的更加充分,因為黃色(藍色)格仔的交點是生成軌跡的主要參考。

具體不多說,給個圖表明意思。細節直接看原文。

用二次規劃方法生成安全軌跡,多項式軌跡指定平面輸出,文中只考慮了平移避障,不考慮yaw。

n階多項式生成有數學公式,我試了乙個三次的。

然後在每個點有速度的時候,結果是這樣。

為了安全期間,開始做實驗可以將所有的目標位置的速度都設為0,結果是這樣。

當然不同的點根據環境可以設定為不同的速度,這個方法在shen的另外一篇文章中有提過。

接下來文章講到了怎麼將環境的障礙約束和qp結合起來,引入了一種迭代的思想,公式給出:

定義也清晰給出並且證明了,數學知識不複雜,應該可以看懂。

說到這,我想到了ros中的導航功能包,很多文章的思路可以基於movebase做一些開發。

歡迎同行們一起交流~

六軸機械人軌跡規劃之三次多項式軌跡插值

1.軌跡規劃的定義 軌跡規劃 trajectory planning 是運動規劃 motion planning 研究的主要內容。運動規劃指的是運動插補,在起始點和終止點之間插入中間點序列,實現沿著軌跡的平穩運動。運動控制包含路徑規劃 path planning 和軌跡規劃,路徑規劃是規劃位置,在起...

Matlab 三次樣條插值多項式表示

原文自 matlab spline pp.coefs 如何運用matlab 三次樣條插值的問題,今天做作業,突然想用matlab搞搞。題目如下 清華大學出版社的 數值分析 第5版 p49,20題。x 0.25 0.3 0.39 0.45 0.53 y 0.5 0.5477 0.6245 0.6708...

第三次個人賽題目2 多項式輸出格式

時間限制 1 sec 記憶體限制 128 mb 提交 138 解決 8 提交 狀態 討論版 宣告 這道題沒有涉及任何演算法!給定函式f 1 2 b 3 c 4 d 5 輸入資料有多組,每組資料有5個整數,分別對應函式f 中 1 2 3 4 5 輸出f的表示式,具體看給出的樣例輸出,不要有多餘的符號。...