999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Eband算法的運動控制平滑性優化

2023-02-21 13:18:02王素芳安傳旭蔣文婷王浩楓
計算機工程與設計 2023年2期
關鍵詞:規劃

王素芳,安傳旭,蔣文婷,楊 林,王浩楓

(1.中國航天科工集團第二研究院 七〇六所,北京 100854;2.中國科學院 軟件研究所,北京 100190;3.中國空間技術研究院 通信與導航衛星總體部,北京 100094)

0 引 言

ROS自主移動機器人[1]需要解決定位、導航、規劃、控制等問題,導航是其核心技術,導航主要基于ROS的move_base框架來實現,導航[2-4]就是讓機器人可以自主按照內部預定的信息,或依據傳感器獲取外部環境進行相應的引導,從而規劃出一條適合機器人行走的路徑。因此,導航成功的關鍵在于路徑規劃[5,6],路徑規劃由全局路徑規劃和局部路徑規劃[7]組成。全局路徑規劃使用路徑規劃算法,在二維柵格地圖中規劃出一條可行路徑,而局部路徑規劃則是在全局路徑的基礎上做出動態的規劃和運動控制,以達到實時避障的效果[8,9]。

常見的局部路徑規劃器有DWA(dynamic window approach)[10]動態窗口法、TEB(timed elastic Band)[11]時間彈性帶、pure pursuit跟蹤算法[12]、MPC(model predictive control)[13]模型預測控制和Eband[14]等。TEB[15,16]是起始點、目標點狀態由用戶/全局規劃器指定,中間插入N個橡皮筋形狀的控制點(機器人姿態),為了顯示軌跡的運動學信息,在點與點之間定義運動時間Time,即為TEB算法,TEB[17]可以做到對前方一段軌跡進行優化,對動態障礙物的避障效果較好,但TEB算法計算復雜度較高,在控制過程中速度和角度波動較大。Eband[18]是一種類似于人工勢場形成引力與斥力的方法生成彈性帶(elastic band)進行局部規劃,以提高機器人行走的速度與動作的連貫性。

針對規劃器缺少對機器人運動的考慮,以及在遇到動態障礙物時,即使全局規劃器可以重新規劃路徑,但也會出現當前位置偏離規劃出的路徑的情況[19,20]。本文采用Eband局部路徑規劃器來實現動態避障,使用Eband算法來優化前面所規劃出來的路徑,但其運動控制隨著“氣泡”的波動變化,導致路徑有時不夠平滑,因此,本文主要針對Eband的運動控制平滑性和機器人運動卡頓等急需解決的關鍵問題,進行算法優化,并通過代碼實現,將優化后的算法與原Eband算法進行對比,驗證了本文方法的有效性。

1 Eband算法實現原理

Eband算法輸入為全局的路徑、局部costmap、機器人當前位姿;輸出為控制速度(角速度與線速度)。Eband 采用氣泡表示,每個氣泡均處在free space里面,并且每個氣泡與相鄰的2個氣泡重疊。每個氣泡的半徑是機器人與障礙物的最短距離,氣泡通過計算合力(相鄰的點產生的引力與障礙物產生的斥力)決定其位置。通過下一個氣泡的中心位置,計算得出控制的線速度與角速度。

氣泡“bubble”就是一個代表機器人路徑上的點與障礙物不碰撞的圓形區域,距離障礙物近時,氣泡小,距離障礙物遠時,氣泡就會隨之變大。定義氣泡函數B(b)

(1)

其中,b表示當前氣泡的中心,q表示當前氣泡中的任意隨機位置,ρ(b) 表示氣泡以b為圓心的圓的半徑。

具體流程如圖1所示。

圖1 路徑規劃

圖1(a)為機器人全局路徑規劃器規劃的路徑,圖1(b)為使用Eband局部路徑規劃算法之后的路徑。為了改善路徑的形狀,主要有兩個力,一個是收緊的力,一個是障礙物產生的斥力,直到二力平衡,讓原本松弛的路徑看上去緊繃起來。圖1(c)和圖1(d)是通過Eband局部路徑規劃器規劃后的路徑隨著機器人運動而根據環境中障礙物做出相應調整后的路徑。

之后就是對產生的氣泡做處理,比如將氣泡前移或后移,使其在距離障礙物近的地方生成的氣泡密集,在距離障礙物遠的地方生成的氣泡稀疏。氣泡沿著路徑產生和隨著障礙物改變情況如圖2所示。

圖2 氣泡沿著路徑產生和隨著障礙物改變情況

如圖2所示,空心圓表示障礙物,障礙物靠近導致附近的氣泡變小變密,障礙物遠離后,氣泡變大變稀疏。但是在機器人附近突然出現障礙物時,氣泡會出現跳變的現象;或者機器人在有垃圾桶、消防栓、雜物等障礙物的狹窄走廊里移動時,以及在狹窄的路段突然轉彎時,氣泡會變小,氣泡太小就可能存在band斷裂,此時機器人會重新規劃路徑和插值,局部路徑目標點就會發生變化,就會引起機器人運動卡頓。

2 改進的Eband算法

針對Eband氣泡在特定場景下的跳變,會直接導致局部路徑當前目標點的跳動,以及運動控制速度的波動,從而導致機器人運動卡頓不平滑問題。為了解決該問題,本文主要從曲率算法優化、速度乘積因子去噪和速度插值3個方面進行了優化。

2.1 曲率算法優化

針對突然出現的障礙物引起氣泡半徑的瞬間變化,導致運動曲率驟變問題,做了曲率計算優化,平滑大幅度的曲率變動引起機器人線速度的驟減。

在生成的局部路徑上,截取3個氣泡,分別是band[0],band[1],band[2],band[0] 代表的是機器人的位姿,后續兩個氣泡代表機器人后續的兩個位姿。那么band[0],band[1] 和band[2] 就對應pose[0],pose[1] 和pose[2]。 利用每個pose中的x,y坐標,就可以求出前后兩個pose之間的角度變化。

(2)

其中

x1=pose[1].pose.position.x-pose[0].pose.position.x
y1=pose[1].pose.position.y-pose[0].pose.position.y
x2=pose[2].pose.position.x-pose[1].pose.position.x
y2=pose[2].pose.position.y-pose[1].pose.position.y

本文用向量的夾角余弦值作為自身的曲率

(3)

將式(3)展開式即得到式(4)

(4)

2.2 速度乘積因子去噪

針對狹窄路段,Eband速度乘積因子出現噪點,引起機器人運動卡頓問題,做了狹窄路段速度乘積因子線性去噪。

速度乘積的影響主要取決于環境的狹窄度,當環境過于狹窄時,Eband的對應氣泡半徑就會急速減少,這時候線速度也應該對應減速,保障安全。算法輸出線速度公式為

Max_vel_lin=max_vel_lin_*curvature_factor*
velocity_multiplier

(5)

式中:max_vel_lin_是曲率因子,表示轉彎弧度對線速度的影響,velocity_multiplier表示空間狹窄度、氣泡半徑大小對線速度的影響

Scale=4-1.2/max_vel_lin_

(6)

式中:Scale表示環境的影響因子權重,當最大速度設置的越大時,環境的影響因子權重也就越大,該參數的選取主要是根據機器人的應用場景來決定,本文以最大線速度max_vel_lin_的取值范圍 [0.3,1] 為依據,為了約束Scale的取值范圍在 [0,2.8], 設置了線性方程(6),保證在速度很低的時候,Scale的影響為0,隨著速度的提高,環境因子的制約逐步擴大,最多擴大到3,以適應機器人的應用場景

Offset=0.42/(max_vel_lin_-0.4)

(7)

式中:Offset表示為了平衡整個速度乘積,限制速度乘積的值域,用來控制最大最小速度范圍,由于最大線速度的取值范圍在 [0.3,1], 為了在速度最低時候,速度乘積影響達到最大,滿足值域 [0.02,1], 選取了式(7)中的Offset的線性參數;

速度乘積的計算公式為

Velocity_multiplier=Scale*bubble_radius+Offset

(8)

從式(8)可以看到,速度乘積Velocity_multiplier由Scale和氣泡半徑bubble_radius以及Offset來決定,氣泡半徑最小的時候,Velocity_multiplier達到最小,表示周圍環境比較復雜;反之氣泡半徑最大的時候,表示周圍環境比較空曠安全,速度乘積達到最大;該因子的值域是 [0.4285,1]。

2.3 速度插值法

針對氣泡的跳變導致的局部路徑目標點跳變問題,本文進行氣泡插值來規避跳變,為了機器人可以更平滑的輸出到達局部目標點的速度,同時兼顧機器人避開障礙物的反應靈敏度,根據機器人的電機反應能力,選取機器人前方0.2 m距離處作為插值氣泡中心,此值根據不同電機的性能做不同的選取,一般的范圍在 [0.1,0.3]。 根據此處在band上前后氣泡的半徑,算出插值氣泡半徑。插值后的氣泡作為局部路徑目標點進行迭代更新。代碼如下:

算法1:Interpolate and update bands

輸入:planned path: plan=(bubble0,bubble1…bubblen).

輸出:The target point for output: goal

(1)While (goal==empty) do

(2) band=convert(plan); //Plan is converted to band

(3) bubble_center=FindCenter (0.2, band); //Find the bubble center at 0.2 m

(4) r=FindMinDisBubble (band); //The nearest bubble radius is the radius

(5) InsertBubble (r, bubble_center, band); //Insert the bubble into the band

(6) SetLocalGoal (bubble_center); //Set the center of the bubble as the local goal

(7) PublishGoal (goal); // Publish new goal

(8)return goal;

(9)End.

3 實驗分析

3.1 實驗數據集

本文對比實驗驗證所用數據集為在同一場景下包含回形走廊、若干固定障礙物所錄制的bag,訂閱了/cmd_vel話題以及/vel_data話題,地圖大小為20 m*20 m。并且保證錄制環境中除了回形走廊、若干障礙物以外,其它影響因素可以忽略不計。

3.2 實驗軟硬件配置

本文優化后的算法與原Eband算法均在錄制的同一數據集上進行實驗驗證。軟件環境為:Ubuntu18.04+ROS melodic。硬件環境使用Firefly-RK3399Pro開發板進行代碼部署,硬件部署環境如圖3所示。

圖3 Firefly-RK3399Pro開發板

在進行路徑規劃實驗時,硬件環境采用國產高性能AI處理芯片RK3399Pro,集成神經網絡處理器NPU,算力高達3.0 Tops,兼容多種AI框架。此芯片采用了ARM雙核Cortex-A72+四核Cortex-A53的大小核處理器架構,主頻高達1.8 GHz,集成四核ARM高端GPU Mali-T860 MP4圖形處理器,通用運算性能強悍,整體性能優異。

ROS是一個開源的機器人操作系統軟件框架。它提供了包括硬件抽象、常用功能的實現、進程之間的包管理、低級設備控制和消息傳遞等希望從操作系統獲得的服務。它還提供了各種工具和庫來編寫和運行代碼。

ROS的主要特點是:①分布式架構,ROS通過節點(Nodes)進行點對點的設計,可執行文件可以單獨運行;②多語言支持,ROS是一個語言中立性的軟件框架,支持C++、Python和LISP等多種不同的語言;③工具包豐富,諸如可視化和調試工具、仿真環境等是ROS中最為常用也最為重要的幾個工具;④免費開源。

基于ROS的上述特點,在ROS中實現機器人路徑規劃是非常方便的,ROS還可以解決傳感器驅動、顯示和算法之間的溝通協調問題,而Ubuntu是Linux系統的一個發行版本,具有強大的防御病毒功能并且免費,因此本文所涉及到的算法均在Ubuntu18.04+ROS melodic機器人操作系統下編程實現,代碼使用C++語言進行編寫。實驗對比圖使用ROS自帶的rqt-plot繪圖工具進行數據曲線比較。

3.3 實驗數據對比

3.3.1 平滑曲率算法優化

本節實驗中優化了曲率限制對于速度的抑制效果突兀問題,對比不同曲率范圍時速度下降的效果,其中d為前后曲率的變化data。參數介紹如下:

當d<1.0時,如圖4所示。

圖4 d<1.0時曲率對各參數的影響曲線

由圖4可以看出,當d<1.0時,可見曲率因子的變化,會引起線速度的劇烈變化,對原算法輸出的線速度的影響效果較為明顯。

當d<0.2時,如圖5所示。

圖5 d<0.2時曲率對各參數的影響曲線

由圖5可以看出,當d<0.2時,有效限制了曲率因子的斷崖式變化。

當d<0.1時,如圖6所示。

圖6 d<0.1時曲率對各參數的影響曲線

由圖6可以看出,曲率因子的波動基本穩定,但是對原算法輸出的線速度的影響效果也越來越小,影響最大的因子變成了速度乘積因子。

當d<0.15時,如圖7所示。

圖7 d<0.15時曲率對各參數的影響曲線

由圖7可以看出,機器人運動底盤里程計線速度和算法輸出的最大線速度曲線基本擬合,此時,曲率因子的影響效果達到比較優秀的效果。

平滑曲率前后的整體效果曲線對比,如圖8和圖9所示。

圖8 平滑曲率前整體效果曲線

圖9 平滑曲率后整體效果曲線

由圖8和圖9可以看出,針對突然出現的障礙物引起氣泡半徑的瞬間變化,導致運動曲率驟變的問題,由于曲率影響著轉彎時候的最大線速度,本文算法對曲率參數的變化梯度做了優化,使得在突然出現障礙物和在障礙物周圍轉彎時的線速度更加的平滑,有效地抑制了大幅度的曲率變動引起機器人線速度驟減的情況發生。

3.3.2 速度乘積因子去噪

當在機器人在狹窄空間內運動,由于環境本身比較狹窄,Eband生成的氣泡半徑可能很少達到最大,機器人此時的線速度受到了速度乘積因子的直接影響。在此場景下,若突然出現靜態或動態的障礙物,band對應的氣泡半徑存在小于0.1 m的可能,而在Eband的速度設置中,氣泡半徑小于0.1的時候線速度已經相當微小,而真實場景中機器人又需要繼續緩慢平穩向前,要實現這一目標,氣泡半徑小于0.1 m時速度因子的影響對于線速度而言就成為了噪點,本實驗對此問題進行了去噪工作:

優化前如圖10所示。

圖10 速度乘積因子去噪前各參數曲線

觀察圖10,本實驗設置了線速度的最小值為0.3 m/s,但是由于噪點存在,算法輸出的線速度出現了很多低于0.3的極值點,這些極值點是速度乘積瞬間值造成的,是無效不可用的點,對線速度的平滑性也有直接影響,需要進行優化去噪。

優化后如圖11所示。

圖11 速度乘積因子去噪后各參數曲線

觀察圖11,可以看到算法輸出的線速度已經沒有低于0.3的極值點,噪點被去除。速度乘積主要影響著機器人經過狹窄空間時的運動,限制速度乘積在短時間氣泡很小的時候的影響力,減少由此造成的線速度波動,使得機器人在狹窄空間運動的時候,速度更加平滑。

3.3.3 局部目標點插值

經過曲率和速度乘積的優化后,Eband算法輸出的線速度已經比較平穩。Eband在局部路徑規劃和控制中,采取了分段控制的策略。首先得到全局路徑規劃的曲線后,先由設置的局部代價地圖大小,截取相應長度的全局點作為局部路徑目標點,然后由算法生成氣泡連成的band,該band可以轉化成path,也即是局部路徑。然后交給速度控制,速度控制以機器人最近的氣泡中心作為臨時目標點,進行短距離的運動,這也是Eband可以快速應對突發障礙物的原因之一。

但是此種方式也存在一定的弊端,首先機器人在不斷的運動中,局部路徑規劃器也在不停的規劃,面對動態的障礙物時,算法生成的氣泡和路徑都在動態更新,這就意味著局部臨時目標點可能會發生改變。局部臨時氣泡中心的跳變直接影響到角速度和線速度的控制,也就造成了一定的震蕩和卡頓,觀察圖12,可以看出算法輸出線速度的曲折和不穩定。

圖12 局部目標點插值前各參數曲線

既然局部臨時目標氣泡中心可能發生跳變,我們可否設置一個在band中不會發生劇烈跳變的氣泡中心作為臨時目標點呢?答案是可行的。為了實時性的不受影響,我們在距離機器人較近的band中進行氣泡插值,氣泡中心的選定為距離機器人0.2 m處,氣泡半徑由該處前后兩個氣泡半徑共同影響。這樣氣泡中心的位置就變成了相對穩定的值。觀察圖13。

圖13 局部目標點插值后各參數曲線

觀察算法輸出線速度曲線,算法輸出的線速度相比圖10平滑性有了大幅度提升,相對的里程計輸出線速度也隨之趨向平穩。局部目標點插值可視化效果如圖14所示。

圖14 局部目標點插值可視化效果

其中從下向上數第二個氣泡為局部目標插值點,也可稱之為速度插值點,氣泡連成的band即為局部路徑規劃器實時規劃的局部路徑,對比左側速度控制輸出,可以看到機器人在以相對平滑的線速度平穩運動,算法發布的線速度和里程計發布的速度擬合程度也更高。

4 結束語

針對Eband算法存在的氣泡突變、曲率對線速度影響較大以及機器人運動卡頓問題,主要進行了以下3方面工作:

(1)曲率因子的平滑有效緩解了曲率因子對線速度的過度抑制,更換了曲率因子的計算方式,使得其對于線速度的影響更加合理;

(2)速度乘積因子的去噪,在一定程度上減輕了機器人運動控制的卡頓感覺,在狹窄空間內機器人運動會更加平滑;

(3)局部目標點插值,有效解決了由于氣泡的跳變引起的局部目標點跳變和速度控制變化問題;

局部路徑和全局路徑規劃方法仍然存在很多不足之處,需進一步研究改進,除此之外,局部路徑規劃和全局路徑規劃協同工作,機器人才可以更好地規劃出從起點到終點的運動路徑。

猜你喜歡
規劃
我們的規劃與設計,正從新出發!
房地產導刊(2021年6期)2021-07-22 09:12:46
“十四五”規劃開門紅
“十四五”規劃建議解讀
發揮人大在五年規劃編制中的積極作用
規劃計劃
規劃引領把握未來
快遞業十三五規劃發布
商周刊(2017年5期)2017-08-22 03:35:26
基于蟻群算法的3D打印批次規劃
多管齊下落實規劃
中國衛生(2016年2期)2016-11-12 13:22:16
十三五規劃
華東科技(2016年10期)2016-11-11 06:17:41
主站蜘蛛池模板: 亚洲精品视频在线观看视频| 亚洲男人天堂久久| 精品一区二区三区无码视频无码| 8090成人午夜精品| 亚洲免费福利视频| 另类欧美日韩| 欧美亚洲一区二区三区在线| 国产成人禁片在线观看| 亚洲人成亚洲精品| 国产美女在线观看| 国产在线小视频| 久久中文电影| 亚洲色图欧美视频| 国产精品午夜福利麻豆| 亚洲国产成熟视频在线多多| 一区二区影院| 九色在线视频导航91| 国产国拍精品视频免费看| 99激情网| 亚洲欧美在线综合一区二区三区| 国产69精品久久久久孕妇大杂乱| 五月婷婷欧美| 亚洲伦理一区二区| 欧美色99| 91极品美女高潮叫床在线观看| 日韩国产另类| 日韩高清中文字幕| 国产欧美视频在线观看| 国产噜噜噜视频在线观看| 国产色图在线观看| 亚洲一区二区精品无码久久久| 2018日日摸夜夜添狠狠躁| 国产精品原创不卡在线| 国产成人亚洲毛片| 国产流白浆视频| 岛国精品一区免费视频在线观看| 四虎成人精品| 国产精品视频久| 欧美成人精品欧美一级乱黄| 日韩中文精品亚洲第三区| 国产成人综合亚洲欧洲色就色| 日韩a在线观看免费观看| 中文字幕资源站| 久久精品丝袜高跟鞋| 精品少妇人妻一区二区| 久久亚洲国产最新网站| 久久青草热| 97综合久久| 青青操国产视频| 亚洲视频在线网| 欧美一级大片在线观看| 国产毛片片精品天天看视频| 在线日本国产成人免费的| 欧洲欧美人成免费全部视频| 一本久道久综合久久鬼色| 精品国产毛片| 亚洲无码四虎黄色网站| 自拍中文字幕| 午夜精品区| 99热这里只有精品在线观看| 国产视频a| 国产凹凸视频在线观看| 亚洲高清在线天堂精品| 亚洲精品无码av中文字幕| 亚洲精品大秀视频| 无码人妻免费| 99久久国产综合精品2023| 在线观看免费人成视频色快速| 国产精品免费久久久久影院无码| 尤物精品国产福利网站| 婷婷色中文网| 国产精品丝袜在线| av在线无码浏览| 欧美精品二区| 精品国产成人a在线观看| 欧美日韩综合网| 青草视频免费在线观看| 正在播放久久| 99人体免费视频| 亚洲无线视频| 九一九色国产| 国产午夜人做人免费视频|