# 差速机器人双电机转速误差导致定位不准

> 原文链接：https://robotics.hellobike.com/pitfalls/2015-01-16-robotics-se-6351
> 频道：pitfalls | 更新日期：2015-01-16 | 标签：auto, stackexchange, arduino, mobile-robot, two-wheeled
> 核心摘要：双电机差速机器人会因编码器打滑等产生累计误差，可增加多类传感器并融合修正位置。

# 差速机器人双电机转速误差导致定位不准

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Accounting for error in multiple electric motors](https://robotics.stackexchange.com/questions/6351/accounting-for-error-in-multiple-electric-motors)（Robotics Stack Exchange #6351）

**状态**：已解决

## 问题

两轮差速自主机器人使用两个相同电机和 Arduino Uno，担心长期运行后一个电机转动多于另一个，导致无法到达精确位置。

## 环境

嵌入式控制器 / 串口通信 · SLAM 建图与定位系统

## 解决办法

1. 使用编码器计数各电机转数，作为 Arduino 预算项目通常可达到一定精度。
2. 若需要更高精度，增加陀螺仪获取短期转向信息，减少编码器受机械打滑影响。
3. 可再加入指南针、GPS、基于激光测距的 SLAM 或立体图像光学里程计，提供航向或位置修正。
4. 将这些测量单独或组合融合，常用某种卡尔曼滤波动态选择和加权信号。

原问题作者：Nolan Rempe；采纳答案作者：Spiked3。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #6351：Accounting for error in multiple electric motors](https://robotics.stackexchange.com/questions/6351/accounting-for-error-in-multiple-electric-motors)