我正在用MATLAB进行坦克模拟。坦克有两个马达,一个左马达和一个右马达。它们每个都可以单独编写,以(-100%)至(+ 100%)的速度运行。因此,如果我写L,R =(100%,100%),则每个电动机将以相同的速度旋转,因此将以完美的直线驱动。写L,R =(-100%,100%)使机器人停留在相同的(x,y)坐标中,但是会改变其角度。 L,R =(50%,100%)使机器人向前驱动并旋转角度。
我的问题:如何将这些左右电机速度转换为路径或曲率方程式?
答案 0 :(得分:4)
假设没有打滑,则油箱的速度将是两个引擎速度的平均值。旋转速度将与两个发动机的速度差成正比。如果w
是储罐的宽度,并且v_delta
是两侧每秒移动的距离之差,则储罐将在2 * PI * w / v_delta
秒内转过一次,因此转弯速率为每秒v_delta / 2 * PI * w
旋转,或v_delta / w
弧度。
这为您提供了速度随时间的变化。现在,您可以像跟踪其他任何移动和加速的物体一样,跟踪坦克的位置和角度。 (我个人将使用Runge Kutta。)