如何实现自平衡机器人

时间:2016-05-05 07:12:05

标签: arduino robot pid-controller

我正在尝试用arduino mega2560实现一个两轮自平衡机器人。

到目前为止,我已经能够:

  • 获取机器人的倾斜角度
  • 获得两个轮子的转速
  • 精确设定转速

我的计划是通过pid控制器根据角度每25ms改变一次车轮的速度。 然而,在尝试了很多pid参数后,我发现机器人无法平衡自己。

我的问题是:

  • 我的计划中是否有任何致命错误?
  • 如果没有,那我该如何调整我的pid控制器?

1 个答案:

答案 0 :(得分:0)

你几乎走在正确的轨道上。从本质上讲,您需要陀螺仪来提供角度误差,您可以在PID控制器中使用它来调整前向或后向速度矢量。使用正确的参数,它应该工作。事实上,这已经在一个名为ArduRoller的Make杂志项目中完成。以下是完整的分步详细信息以及source code on Github

http://makezine.com/projects/arduroller-self-balancing-robot/

如果你想了解如何控制这样的机器人背后的纯粹理论,我也会推荐麻省理工学院的优秀课程Underactuated Robotics