论文部分内容阅读
自美国发明家Dean Kamen于1995年发明设计了第一台平衡机器人Segway以来,平衡机器人便受到人们极大的关注。它的特点是两个车轮共轴,可差动运动,依照倒立摆原理达到动态平衡。但是平衡车发展到现在,它的应用领域仅限于交通领域,而且价格不菲。此外,由于平衡机器人是一个非线性、不稳定的系统,处于平衡状态时,需要不断调整车轮的扭矩,这样系统就会处于耗电状态,一旦电量不足就会失去平衡。因此,如何使平衡机器人在功能丰富的同时降低成本,以及如何节约宝贵的电池电量成为了本文重点研究的课题。为此,本文提出了基于STM32的双轮机器人,对控制系统重新设计,它的特点是在不需要工作的时候,可遥控关闭系统,使系统处于休眠状态,达到节能的目的。需要工作的时候可遥控启动系统,平衡机器人可借助机械臂自动恢复平衡。在功能扩展方面,增加了LCD显示,并将开源实时操作系统μCOS-Ⅱ应用到了平衡机器人中,为今后其它功能扩展留有了很大的余地。成本控制方面,选用了性价比较高的元器件,满足平衡机器人的性能的同时达到成本低廉的目的。本文具体完成的工作主要体现在以下几个方面。1)使用四个舵机,将其中两个舵机改造成伺服电机驱动平衡机器人的两个车轮,另外两个舵机用于控制机械臂,恢复机器人的平衡。四个舵机统一受舵机控制器控制;2)设计了编码器,满足性能的基础上,最大限度上节约了成本;3)选用了性价比较高的加速计、陀螺仪、遥控收发器、LCD显示屏、舵机、舵机控制与微控制器,针对上述元器件分别绘制了原理图与PCB。搭建出平衡机器人的整个电路;4)为防止陀螺仪与加速计的信号在传输过程中受外界干扰,根据Kalman滤波的理论,编写了相应的代码进行滤波,并求出两者间角速度的最优值;5)为了获得理想的平衡控制效果,根据PID调节器的原理,编写了PID调节的代码;6)成功将实时操作系统μCOS-Ⅱ移植到了STM32上,在此基础之上设计并编写了平衡机器人的任务与中断服务程序的代码。在完成上述工作之后,笔者将平衡机器人与上位机之间通过仿真器ULINK-Ⅱ相连接,利用ARM开发工具RealView MDK集成的Trace功能对平衡机器人车身倾角做了跟踪实验。实验表明,本文的设计平衡机器人运行平稳,并能够实现自动恢复平衡的功能,达到了设计目的。