比例/微分控制(proportional/derivative control)
時間:2022-03-17 01:27:02 | 來源:行業(yè)動態(tài)
時間:2022-03-17 01:27:02 來源:行業(yè)動態(tài)
算法去動態(tài)調(diào)節(jié)左右電機的轉(zhuǎn)速,這是智能小車領(lǐng)域中相當(dāng)常用的一種調(diào)節(jié)行進速度與角度的方法,是個非常成熟的算法,細(xì)節(jié)請自行在網(wǎng)上查找計算公式,
腳本中一開始導(dǎo)入深度學(xué)習(xí)模型的操作,與前面的避撞應(yīng)用是相同的,這里就不重復(fù)解說,比較特殊的地方是在腳本中提供三個參數(shù)調(diào)節(jié)滑塊,主要如下:
- speed gain速度增益滑塊:負(fù)責(zé)控制行進速度,包括要啟動JetBot開始跑動,也是透過這個滑塊來進行操作。
- Steering Gain轉(zhuǎn)向增益滑塊:如果JetBot行進是發(fā)生搖晃的狀態(tài),就透過這個滑塊減小這個值,直到Jetbot能順暢前行為止。
- Steering Bias轉(zhuǎn)向偏差滑塊:如果JetBot有偏離到軌跡的最右側(cè)或最左側(cè),就控制此滑塊,直到JetBot開始跟隨中心的直線或軌跡為止。
下圖是live_demo.ipynb執(zhí)行后,經(jīng)過調(diào)整輸出位置的截屏,圖左是Jetbot的執(zhí)行狀態(tài),其中x與y值表示當(dāng)前畫面所預(yù)測的目標(biāo)位置,speed表示Jetbot的直線行進速度為全速的百分比,最下面的steering表示轉(zhuǎn)向的速度。
上圖中間就是CSI攝像頭所看到的當(dāng)前畫面,最右邊就是可調(diào)節(jié)的控制滑塊,一開始的時候speed值盡量小一點,避免讓Jetbot因為爆沖而損壞,如果沿線運行時的左右擺動幅度太大,可以減小steering的值。
事實上這個應(yīng)用的最終目的,就是將來可以升級到JetRacer這類的競速用途智能車(如下圖),因為JetRacer所使用的技巧與這個road_following是完全一樣的,包括從數(shù)據(jù)采集、模型訓(xùn)練到現(xiàn)場演示的腳本。
但JetRacer的機電控制更加復(fù)雜,整體成本與組裝難度也比Jetbot高出許多,因此可以先用這個項目去熟悉競速車的執(zhí)行流程與調(diào)試細(xì)節(jié),未來要升級到JetRacer時就能輕松上手,即便不升級硬件,也能用Jetbot去體驗一下競速車的樂趣?!就辍?br>