我正在尝试用arduino mega2560实现一个两轮自平衡机器人。
到目前为止,我已经能够:
我的计划是通过pid控制器根据角度每25ms改变一次车轮的速度。 然而,在尝试了很多pid参数后,我发现机器人无法平衡自己。
我的问题是:
答案 0 :(得分:0)
你几乎走在正确的轨道上。从本质上讲,您需要陀螺仪来提供角度误差,您可以在PID控制器中使用它来调整前向或后向速度矢量。使用正确的参数,它应该工作。事实上,这已经在一个名为ArduRoller的Make杂志项目中完成。以下是完整的分步详细信息以及source code on Github:
http://makezine.com/projects/arduroller-self-balancing-robot/
如果你想了解如何控制这样的机器人背后的纯粹理论,我也会推荐麻省理工学院的优秀课程Underactuated Robotics。