Skip to main content

机器人运动学正逆解

1. 机器人运动学正逆解

正解:用轮子的速度来推导机器人实时运动的线速度与角速度

逆解:反之,用机器人实时运动的线速度与角速度来推导轮子的速度

定义参数:

左轮子线速度:v_l

右轮子线速度:v_r

两轮之间的距离:l

  1. 逆解

    计算一小段时间内,机器人的线速度和角速度

    机器人线速度:中点线速度

    v=(vr+vl)2v=\frac{(v_r+v_l)}{2}

    机器人角速度:

    ωrrωrl=vrvlω=vrvlrrrl=vrvll\omega r_r - \omega r_l = v_r - v_l \\ \omega = \frac{v_r - v_l}{r_r - r_l} = \frac{v_r - v_l}{l}
  2. 正解

    根据以上两个公式反解出v_l与v_r

    vl=vωl2vr=v+ωl2v_l = v - \frac{\omega l}{2} \\ v_r = v + \frac{\omega l}{2}

2. 机器人里程计的实现

对机器人的线速度与角速度进行积分

得到机器人移动的距离和角度

d=vdtθ=ωdtd = \int v dt \\ \theta = \int \omega dt

设机器人基础坐标系中,初始的坐标为(xt,yt,θt)(x_t ,y_t,\theta_t),下一时刻坐标为(xt+1,yt+1,θt+1)(x_{t+1} ,y_{t+1},\theta_{t+1})

坐标关系如下:

θt+1=θt+θxt+1=xt+dcos(θt+1)yt+1=yt+dsin(θt+1)\theta_{t+1} = \theta_{t} + \theta \\ x_{t+1} = x_{t} + dcos(\theta_{t+1}) \\ y_{t+1} = y_{t} + dsin(\theta_{t+1})