小言_互联网的博客

移动机器人的运动学模型:车式移动机器人

233人阅读  评论(0)

车式移动机器人运动学模型

问题

车式移动机器人更具有普遍意义。

参数

  • v v :机器人自身线速度
  • ω \omega :前轮转向角速度
  • u \textbf{u} :输入,包括 v v ω \omega
  • q ˙ \dot{\textbf{q}} :机器人在环境中的位姿描述
  • θ \theta :机器人纵向轴与x轴之间的夹脚
  • ϕ \phi :前轮转角
  • L L :车身长度

推导1

当知道机器人自身前进速度前轮转角角速度时,求机器人在环境中的位姿。

q ˙ \dot{\textbf{q}} = f ( u ) f(\textbf{u})

定义机器人在环境中位姿:
q = [ x y θ ϕ ] \textbf{q}=\left [ \begin{aligned} x \\ y \\ \theta \\ \phi \end{aligned} \right]
机器人输入,包括自身线速度和前轮转角角速度:
u = [ v ω ] \textbf{u}=\left [ \begin{aligned} v \\ \omega \\ \end{aligned} \right]

x ˙ = cos ( θ ) v y ˙ = sin ( θ ) v ϕ ˙ = ω \begin{aligned} \dot{x} &= \cos(\theta) v \\ \dot{y} &= \sin(\theta) v\\ \dot{\phi} &= \omega \end{aligned}
对与计算角速度可以参照下图(其他地方扣过来的,注意符号使用不太一样)

就有了 θ ˙ = tan ϕ L v \dot{\theta} = \frac{\tan\phi}{L} v
那么,
q ˙ = [ cos ( θ ) 0 sin ( θ ) 0 tan ϕ L 0 0 1 ] u \dot{\textbf{q}}= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ \frac{\tan\phi}{L} & 0 \\ 0 & 1 \end{bmatrix} \end{aligned} \textbf{u}
更详细的,即:
[ x ˙ y ˙ θ ˙ ϕ ˙ ] = [ cos ( θ ) 0 sin ( θ ) 0 tan ϕ L 0 0 1 ] [ v ω ] \left [ \begin{aligned} \dot{x} \\ \dot{y} \\ \dot{\theta} \\ \dot{\phi} \end{aligned} \right]= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ \frac{\tan\phi}{L} & 0 \\ 0 & 1 \end{bmatrix} \end{aligned} \left [ \begin{aligned} v \\ \omega \\ \end{aligned} \right]

推导2

另一种情况是,知道机器人的前轮转角角度(即方向盘角度)和前进速度,想要求机器人的状态。

  • v v :机器人自身线速度(前进速度)
  • θ \theta :机器人纵向轴与x轴之间的夹脚(方向盘角度)
  • u \textbf{u} :输入,包括 v v θ \theta
  • q ˙ \dot{\textbf{q}} :机器人在环境中的位姿描述
  • ϕ \phi :前轮转角
  • L L :车身长度
    机器人的状态
    q = [ x y θ ] T \textbf{q}=\left [ \begin{aligned} x \\ y \\ \theta \\ \end{aligned} \right]^T
    机器人输入,包括自身线速度和前轮转角角速度:
    u = [ v ϕ ] \textbf{u}=\left [ \begin{aligned} v \\ \phi \\ \end{aligned} \right]
    那么,
    q ˙ = [ cos ( θ ) 0 sin ( θ ) 0 tan ϕ L 0 ] u \dot{\textbf{q}}= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ \frac{\tan\phi}{L} & 0 \\ \end{bmatrix} \end{aligned} \textbf{u}
    更详细的,即:
    [ x ˙ y ˙ θ ˙ ] = [ cos ( θ ) 0 sin ( θ ) 0 tan ϕ L 0 ] [ v ϕ ] \left [ \begin{aligned} \dot{x} \\ \dot{y} \\ \dot{\theta} \\ \end{aligned} \right]= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ \frac{\tan\phi}{L} & 0 \\ \end{bmatrix} \end{aligned} \left [ \begin{aligned} v \\ \phi \\ \end{aligned} \right]

Reference


转载:https://blog.csdn.net/ziqian0512/article/details/101225620
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场