2023年7月28日學習筆記(DWA)

2021-07-15 18:48:57 字數 1253 閱讀 7903

dwa演算法分析

dwa演算法實現分為四個部分

1.運動模型的建立

2.速度取樣

3.評價函式

具體步驟如下

1.首先建立機械人的運動模型,退到出運動模型的航跡推演公式。

2.運動模型建立完畢後,接下來要進行速度取樣。

取樣速度的重點是要將機械人的速度限制在一定的範圍內(v,w)

dist(vw)為機械人裡障礙物最近的距離(並不是一開始就可以得到的,而是根據機械人遇到障礙物時這組速度可不可以停下來,如果可以停下來,那麼這組資料就是可以接受的。如果停不下來,那就接受不了)

3.評價函式:

heading(v ,w)達到模擬軌跡末端時的朝向和目標之間的角度差距。dist(v,w)表示當前軌跡上和障礙物的差距。velocity(v w)用來評價當前軌跡速度的大小。

三個部分在歸一化後進行相加。

demo:

egin dwa(robotpose,robotgoal,robotmodel)  

laserscan = readscanner()  

allowable_v = generatewindow(robotv, robotmodel)  

allowable_w  = generatewindow(robotw, robotmodel)  

for each v in allowable_v  

for each w in allowable_w  

dist = find_dist(v,w,laserscan,robotmodel)  

breakdist = calculatebreakingdistance(v)  

if (dist > breakdist)  //can stop in time

heading = hdiff(robotpose,goalpose, v,w)   

//clearance與原**稍不一樣

clearance = (dist-breakdist)/(dmax - breakdist)   

cost = costfunction(heading,clearance, abs(desired_v - v))  

if (cost > optimal)  

best_v = v  

best_w = w  

optimal = cost  

set robot trajectory to best_v, best_w  

end 

參考:白巧克力亦唯心的部落格。

2023年1月28日學習進度

今天,勵志努力學習,以期在這個時候把收穫大篇幅地寫出來,安撫一下心靈,離就業更近一步。然而完成得不盡人意。首先,為了夯實基礎,撿起了放假前沒有學完的計算機網路,看到當時在書上做的筆記,燃起了新的鬥志,要努力找到當時的充實感。首先,複習了前兩章的概論 應用層相關知識,心裡進一步加深了對知識的理解。又努...

2023年11月7日學習總結

c語言程式書寫規範 1 標頭檔案換行,即寫完第一行 include之後要隔一行才可以開始寫函式。2 函式內部內容首字母需四次空格縮排,但是函式名不需要。3 不可以用tab鍵進行縮排。4 每一行只允許定義乙個變數。5 定義的一類變數寫在一起,不同型別變數之間要隔一行。6 不同板塊塊之間隔一行。7 運算...

2023年5月13日學習筆記

1.關於clonerange 和clonecontents clonerange是建立乙個新的range物件,表示與當前range物件相同的區域 這是用來轉殖的文字 clone 哈哈哈哈 clone clonecontents是把range內容複製到乙個documentfragment中 extra...