手柄訊號說明
目前輪椅上使用的速度轉向二維搖桿輸出與位置成線性比例的二維電壓訊號,將這兩個訊號作為車速和轉角的指令集合。使用者前/後推動可以連續調節輪椅的車速,左/右推動可以連續控制輪椅的轉角。通過操作手柄訊號處理演算法把乙個二維訊號轉換為速度和轉向控制指令。速度轉向二維搖桿輸出的訊號可由下圖來表示:
如圖所示:x軸代表轉角,以左轉為正;y軸代表車速,以前進為正。速度轉向二維搖桿是兩路相互垂直的電位計,對x軸和y軸方向電壓與轉角、轉速對應關係的規定如圖所示。二維電壓訊號落入其中正方形區域,設某輸入指令對應a(x,y)點,通過手柄訊號處理演算法,可以得到左右電機的轉速轉向控制指令。
演算法過程
二維電壓座標(x,y)與二維速度轉角座標(v,θ)。轉換結果可以由以下公式給出:
v =5
∗2.5−y
2.5v = 5 * \frac
v=5∗2.
52.5
−yθ=90
°∗2.5−
x2.5
\theta= 90° * \frac
θ=90°∗
2.52
.5−x
由以上公式可知,當前的目標速度僅僅由y方向的訊號確定,目標角度僅僅由x方向的訊號確定。現在分析輪椅的轉彎是如何實現的,圖中是輪椅以o點為中心向左轉彎時的情景,v代表輪椅的質心速度,w代表質心的角速度,vl、vr,分別表示左右輪的線速度,wl,wr分別表示輪椅左右輪轉速,l為驅動輪間距,r表示驅動輪半徑,設r為轉彎半徑,θ 是輪椅的車體轉彎角度(以左轉彎為正)。
假定驅動輪椅相對地面只作純滾動,由電動輪椅運動學分析可知:
v =(
wr+w
l)∗r
2v=(w_ + w_) * \frac
v=(wr
+wl
)∗2rr=
l2∗w
r+wl
wr−w
lr= \frac * \frac + w_} - w_}
r=2l∗
wr−
wlw
r+w
l即給定v與r,可確定 wr、
wlw_、w_
wr、wl
:w r=
(2r+
l)∗v
2rrw_ = \frac
wr=2r
r(2r
+l)∗
vw l=
(2r−
l)∗v
2rrw_ = \frac
wl=2r
r(2r
−l)∗
v且w =(
wr−w
l)rl
w = \frac-w_)r}
w=l(wr
−wl
)r
輪椅的三種運動狀態
當θ = 0, v≠0時,即要求電動輪椅作速度為v的直線運動,此時輪椅車體的質心線速度 v=v
r=vl
v= v_ = v_
v=vr=
vl,轉彎半徑r = ∞。這時,左右電機應該實現轉速跟隨。兩輪速度如下:wr=
wl=v
rw_ = w_ = \frac
wr=wl
=rv
當θ ≠ 0, v≠0時,即要求電動輪椅轉彎執行,轉彎半徑r在0與 ∞之間。這時,左右電機應該實現轉速跟隨。兩輪速度如下:wr=
(2r+
l)∗v
2rrw_ = \frac
wr=2r
r(2r
+l)∗
vw l=
(2r−
l)∗v
2rrw_ = \frac
wl=2r
r(2r
−l)∗
v當θ ≠ 0, v=0時,即要求電動輪椅作迴轉半徑為零的原地迴轉,運動控制器需要保證左右輪的線速度 vl=
−vw=
vm(v
m由系統
的機械特
性選定)
v_ = -v_ = v_(v_由系統的機械特性選定)
vl=−v
w=v
m(v
m由系
統的機械
特性選定
) ,兩輪轉速如下:wr=
wl=v
mrw_ = w_ = \frac}
wr=wl
=rv
m由以上分析可知,通過操作手柄訊號處理算,可以得到左右電機轉速和轉向的控制訊號,進而實現輪椅的各個動作。
python turtle 畫單車兩輪
draw bicycle.py coding cp936 已知單車的車輪直徑約長60cm,兩車輪的圓心距約為100cm,輪胎徑長為4cm或5cm 用turtle 畫出單車的兩個輪子,要求圖形幾何相似 draw bicycle.py 18 20 import os,sys import turtle ...
兩輪自平衡小車總結
時光荏苒,大學四年的最後一項任務兩輪自平衡小車完工了。之前自己幾乎沒有做過嵌入式相關的事情,51也沒學過,為了給自己在大學四年六個幾年選擇了邊學stm32邊做就做還是比較刺激過癮的。兩輪自平衡小車如果剛到5年前還是乙個比較新穎的概念,那時候還沒有那麼多成熟的解決方案。當前伴隨著載人兩輪自平衡車的大規...
Google New Grad 兩輪電面經歷分享
兩周前在網上看到谷歌軟體工程師的招聘資訊,然後投了簡歷。到現在已經進行了兩輪電面。雖然這目前進行了的兩輪電面表現沒達到自己預期,但所幸通過,目前在等待進一步的面試通知。嚴格來說,這次面試是我經歷的第一次正式面試,所以電面一面時較緊張,加之面試官的性子不是很活絡,我在面試過程中也略沉默,所以感覺一面表...