我有一个差速驱动机器人,使用里程表来推断它的位置。
我正在使用标准方程:
WheelBase = 35.5cm;
WheelRadius = 5cm;
WheelCircumference = (WheelRadius * 2 * Math.PI);
WheelCircumferencePerEncoderClick = WheelCircumference / 360;
DistanceLeft = WheelCircumferencePerEncoderClick * EncoderCountLeft
DistanceRight = WheelCircumferencePerEncoderClick * EncoderCountRight
DistanceTravelled = (DistanceRight + DistanceLeft) / 2
AngleChange (Theta) = (DistanceRight - DistanceLeft) / WheelBase
我的(DIY)底盘有一个小特点,在轴距(35.5 厘米)的过程中,车轮未对齐,左轮为 6.39 毫米(我是软件人而不是硬件人!)比右轮更“向前”。(轮子是机器人的中间。)
我不确定如何计算我必须添加到我的公式中才能给我正确的值。它不会对机器人产生太大影响,除非它在现场转弯,而且我的值很差,我认为这是造成它。
我的第一个想法是在网格上绘制车轮位置,并计算它们位置线的斜率,然后用它来乘以……一些东西。
我在正确的轨道上吗?有人可以帮忙吗?我四处寻找这个错误,大多数人似乎都忽略了它(因为他们使用的是专业机箱)。