robot 差速公式推导

以小车前进方向为x轴, 按右手定则设置坐标系,向左转,角度为正, 转弯半径设为r,机器人宽为d

在某个时间t内,机器人转了alfa弧度, 则左轮行驶的轨迹长:l_left = 2 * alfa * (r - d/2), 右轮行驶的轨迹长:l_right = 2 * alfa * (r + d/2)

又:l = t * v, 所以v_left / v_right = (r - d/2) / (r + d/2)

又:v = (v_left + v_right) / 2

则:v_left = v * (r - d / 2) / r

v_right = v * (r + d / 2) / r

订阅cmd_vel的消息,可得到linear_x, 以及angular_z, 分别为线速度,角速度,

则 r = v_x / v_z

则:v_left = v_x - v_z * d /2

v_right = v_x + v_z * d /2

猜你喜欢

转载自www.cnblogs.com/yang220/p/12220973.html