close

轉彎在迷宮鼠的設計裡十分重要,


好的轉彎帶你上天堂,


讓你輕輕鬆鬆做出花樣百出的動作;


不好的轉彎帶你下地獄,


就算Try-error到天荒地老也還是繼續撞牆,


勝負有一半決定權就落在轉彎上,


如何讓老鼠在高速過彎時不因滑動造成事故,


在不討論滑動下都希望輪子能夠不離開地面,


促使車子能夠照著指定的軌跡行進,


畢竟不是甩尾比賽,正規的作法才是王道,


參考理論的概念,讓實作結果更有說服力,


想像迷宮鼠就是ㄧ台F1賽車,


除了最佳的控制之外,


最佳的移動軌跡也是需要被討論的,


如何控制才算得當,接著就來討論看看吧。


 


迷宮鼠的轉彎設定以一格為單位:


(移動軌跡如黑線所示)


主要項目:


Vc --> 車子的中心速度


VL --> 左輪速度


VR --> 右輪速度


Omega --> 車子的角速度


W --> 車寬


定義:


Vc=(vL+vR)/2


Omega=(vR-vL)/2W


Omega=Vc/R=vL/(R+W)=vR/(R-W)


 


左、右輪的速度:


vL=(R+W)/R*Vc


vR=(R-W)/R*Vc



左、右輪的理想速度命令曲線示意圖:




定義:


T1=theta/Omega=-0.5*pi/Omega


or


T1=R*theta/Vc= -W*pi/(vR-vL)



上圖的控制曲線太過於理想,


車子在轉彎的瞬間,


若是左、右輪瞬間的速度變化,


有機會造成輪子打滑、空轉的現象,


在轉彎的過程中盡可能會去避免。


 


為此我們在左、右輪的速度變化上做些改變,


促使在轉彎的瞬間不會因為過激烈的速度變化造成打滑,


將轉彎的角加速度加以限制: (如下圖所示)




加入緩啟動後將時間分成三段:


Omega*T1=(vR-vL)/2W*T1


=1/2W*((vLo-vRo)/2*T10+(vLo-vRo)*T20+(vLo-vRo)/2*T30)


佳速度與簡速度的絕對值一樣大小,T10=T30,因此


(vR-vL)*T1=(vLo-vRo)*T10+(vLo-vRo)*T20=W*pi


T20,因此


T20=(W*pi-(vLo-vRo)*T10)/(vLo-vRo)


=(W*pi -2a *T10^2)/2*a/T10



在決定了轉彎的命令曲線後,


試著用MATLAB內建的Simulink模擬:



觀察90度轉彎~


理想命令曲線下所產生之軌跡:


VS


梯形命令曲線下所產生之軌跡:



 


接下來就是要拿這個理論所模擬出來的結果去實作,


觀察看看理論與實作是否能夠結合了,


有了這樣的理論依據,


避免實驗了卻不知道究竟是對還是錯,


在實作上更能夠有依據去說服自己。



 


 


 



arrow
arrow
    全站熱搜
    創作者介紹
    創作者 jk3527101 的頭像
    jk3527101

    簡單也是另一種快樂

    jk3527101 發表在 痞客邦 留言(0) 人氣()