0

我正在 MATLAB 中进行坦克模拟。坦克有两个马达,一个左马达和一个右马达。这些都可以单独编写,以从 (-100%) 到 (+100%) 的速度运行。因此,如果我写 L, R = (100%, 100%),每个电机将以相同的速度旋转,因此将沿着一条完美的直线驱动。写 L, R = (-100%, 100%) 使机器人保持在相同的 (x, y) 坐标,但改变了它的角度。L, R = (50%, 100%) 使机器人向前行驶并转动其角度。

我的问题:如何将这些左右电机速度转换为路径或曲率方程?

4

1 回答 1

4

假设没有打滑,油箱的速度将是两台发动机速度的平均值。转速将与两台发动机的速度差成正比。如果w是坦克的宽度,并且v_delta是两侧每秒行进的距离差,则坦克将以2 * PI * w / v_delta秒为单位转动一次,因此转动速率为v_delta / 2 * PI * w每秒转数或v_delta / w弧度。

这为您提供了作为时间函数的速度。现在您可以像跟踪任何其他移动和加速物体一样跟踪坦克的位置和角度。(我个人会使用 Runge Kutta。)

于 2018-09-11T21:00:16.210 回答