1.底盘里程计的计算:
1. [基于STM32底盘控制与ROS上层导航小车制作]第六节 ROS计算和发布里程计与tf变换_ros小车里程计计算-CSDN博客
2. SLAM从入门到精通(底盘里程计的计算)_小车里程计csdn-CSDN博客
要了解差速轮,那么我们先预设一些变量。差速轮的间距是l,左轮的速度是vl,右轮的速度是vr。其中l是机械参数,vl和vr则可以通过电机编码器计算获得。假设这三个变量是目前为止我们可以获得的已知量。
w = (vr - vl)/ l
v = (vr + vl) / 2
r = v/w = l * (vr + vl) / (2 * (vr-vl))
前面我们通过公式获得了小车的w、v、r信息,有的同学也许会说,这里面好像没有得到小车的位姿信息。别着急,我们可以进一步进行推断求解。假设小车当前的位姿是x、y、theta,那么t时间之后,小车的位姿应该是这样的,
x = x + delta_x = x + v * cos(theta) * t
y = x + delta_y = y + v * sin(theta) * t
theta = theta + delta_theta = theta + w * t
从最终的结果来看,转弯半径r似乎没有起到作用。但是实际情况是,在规划小车执行局部路径,保证小车可以能够连续精确进行底盘方面的控制方面,还是很有作用的。当然,机器人的底盘很多种,有独轮的、两轮的、三轮的、四轮的、六轮的、八轮的、多轮的,实际使用哪一种模型ÿ