車式移動機器人運動學模型
問題
車式移動機器人更具有普遍意義。
參數
- v:機器人自身線速度
- ω:前輪轉向角速度
- u:輸入,包括v,ω
- q˙:機器人在環境中的位姿描述
- θ:機器人縱向軸與x軸之間的夾腳
- ϕ:前輪轉角
- L:車身長度
推導1
當知道機器人自身前進速度和前輪轉角角速度時,求機器人在環境中的位姿。
q˙= f(u)
定義機器人在環境中位姿:
q=⎣⎢⎢⎢⎢⎡xyθϕ⎦⎥⎥⎥⎥⎤
機器人輸入,包括自身線速度和前輪轉角角速度:
u=[vω]
而
x˙y˙ϕ˙=cos(θ)v=sin(θ)v=ω
對與計算角速度可以參照下圖(其他地方扣過來的,注意符號使用不太一樣)
就有了θ˙=Ltanϕv
那麼,
q˙=⎣⎢⎢⎡cos(θ)sin(θ)Ltanϕ00001⎦⎥⎥⎤u
更詳細的,即:
⎣⎢⎢⎢⎢⎡x˙y˙θ˙ϕ˙⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎡cos(θ)sin(θ)Ltanϕ00001⎦⎥⎥⎤[vω]
推導2
另一種情況是,知道機器人的前輪轉角角度(即方向盤角度)和加速度(即油門),想要求機器人的狀態。
- v:機器人自身線速度(前進速度)
- θ:機器人縱向軸與x軸之間的夾腳
- u:輸入,包括v,θ
- q˙:機器人在環境中的位姿描述
- ϕ:前輪轉角
- L:車身長度
機器人的狀態
q=⎣⎢⎢⎢⎢⎡xyθv⎦⎥⎥⎥⎥⎤T
機器人輸入,包括(油門)加速度和(方向盤)前輪轉角:
u=[aϕ]
那麼,
x˙y˙θ˙v˙=v∗cos(θ)=v∗sin(θ)=v∗tan(ϕ)/L=a
更進一步單步更新可以表示爲:
xt+1yt+1θt+1vt+1=xt+v∗cos(θ)∗dt=yt+v∗sin(θ)∗dt=θt+v∗tan(ϕ)/L∗dt=vt+a∗dt
Reference