我正在尝试使用指南针移动机器人。我们使用指南针让机器人直线移动,它使用 2 个轮子,它们的移动方式略有不同。所以我们设置一个 0 到 359 之间的值作为方向,然后检查当前方向,计算误差并修复它。像错误 = current_direction - 实际方向。
问题是,例如,如果我们的初始方向是 90 度,而我们的机器人在 45 度,那么错误将是 45 并且它会修复它。如果为 0,则错误为 90,它会修复它。问题是,如果它移动的幅度比 0 多一点,例如移动到 359,则错误将是 -269,因此不是在一个方向移动 90,而是在另一个方向移动 -269。
我使用错误的符号来决定移动哪个轮子来确定方向。知道如何解决吗?