《电子技术应用》

基于MCF52255的两轮自平衡巡线机器人设计

来源:电子技术应用2013年第3期
王泽荣, 龚海霞,贾存良, 刘志鑫
(中国矿业大学 信息与电气工程学院, 江苏 徐州 221116)
摘要: 设计了以MCF52255高性能微处理器为控制核心的两轮自平衡巡线机器人的硬件和软件系统。使用卡尔曼滤波方法实现了加速度计信号和陀螺仪信号的数据融合,提高了该机器人的姿态角控制精度。实验结果表明,该机器人可以稳定地实现自平衡控制和巡线自动行走功能。
中图分类号: TP24;TP212
文献标识码: A
文章编号: 0258-7998(2013)03-0127-03

Design of two-wheeled self-balanced tracking robot based on MCF52255

Wang Zerong, Gong Haixia, Jia Cunliang, Liu Zhixin
(School of Information and Electrical Engineering, China University of Mining and Technology, Xuzhou 221116, China)
Abstract: Designed a kind of the robot’s system based on MCF52255, which is a high-performance microprocessor. The robot system contains the hardware solutions and software solutions. To achieve the data fusion of the accelerometer signal and the gyroscope signal, we used the Kalman filter method. The experimental results showed that the robot can be stably achieve self-balance and automatic tracking function.

    两轮自平衡巡线机器人是一个集自动控制理论和动力学理论于一体的复杂控制系统,其动力学系统具有多变量、非线性、强耦合、参数不确定性等特点,近年来已成为各种控制方法的实验对象和检验平台[1]。

    本文设计的两轮自平衡巡线机器人主要依靠其自身的动态平衡能力和自主巡线能力进行运作,以内置的MEMS加速度传感器和MEMS陀螺仪来判断机器人所处的姿态角。通过高速的中央微处理器计算出适当的指令后,驱动马达达到平衡的效果,然后根据路径传感器检测到的信号实现巡线自动行走功能。
    多传感器的信号融合是一项非常重要的研究内容,本文采用卡尔曼滤波的方法将陀螺仪和加速度传感器的信号进行融合,解决了在计算机器人的实时姿态角时遇到的噪声干扰和最优估计问题[2],提高了姿态角的测量精度,为机器人的自平衡控制创造了条件。
1 硬件系统设计
1.1 微控制器

    两轮自平衡巡线机器人设计为轮式结构,硬件系统结构图如图1所示。

    本系统采用飞思卡尔公司生产的32位高性能微处理器MCF52255作为控制核心。MCF52255基于Coldfire V2内核,具有512 KB片内Flash程序存储器、3个异步串口模块(UART)、8通道12位A/D转换器、8通道/8位或4通道/16位脉冲调制模块(PWM),系统时钟频率高达80 MHz。通过其丰富的I/O接口和内部强大的数据处理能力可以很容易实现信号采集和系统控制。

 


1.2 倾角和角速度检测电路
    机器人的倾角和角速度检测依靠加速度计和陀螺仪实现。本系统中加速度计选用MMA7260芯片,它可以测量由地球引力作用或者物体运动所产生的加速度[3]。通过设置使MMA7260的各轴信号灵敏度调整为800 mV/g,将检测到的模拟信号直接传到MCF52255 的A/D转换部分进行测量。陀螺仪选用ENC-03,它可以输出一个和角速度成正比的模拟电压信号。MCF52255通过卡尔曼滤波算法对加速度计和陀螺仪的信号进行融合,然后计算出较为准确的姿态角。
1.3 路径信号检测电路
    机器人的路径信号检测是实现巡线行走功能的前提[4]。本系统中为机器人提供的路径信号是电磁信号,在规划好的行走路线的中心线上铺设一根通有100 mA、 20 kHz交变电流的漆包线,这样在中心线的周围便会产生一个交变的磁场。在机器人的前方等间距安装3个电磁传感器,即可对机器人左右两侧以及中心线位置的磁场强度进行检测。路径信号检测电路如图2所示。

1.4 运动控制电路
    采用2路轴编码器和2路外部计数器来完成机器人左右两轮的测速任务;电机驱动电路采用由MOSFET搭建而成的H桥电路[5];MCF52255综合姿态角信号、速度信号以及路径信号后,产生4路PWM调速控制信号,此信号通过控制电机模块驱动来对电机转速进行控制,进而实现机器人的自平衡与巡线行走功能。
2 姿态角测量过程
    姿态角的测量是两轮自平衡巡线机器人设计中最重要的一个环节,单独利用加速度计或者陀螺仪都不能得到可靠的姿态角来保证机器人平衡。加速度计的静态测量准确,但是容易受到动态加速度的影响,不适合测量运动物体的倾角;陀螺仪虽然动态性能良好,但是存在积分漂移误差,不适合单独长时间工作[6]。为了解决以上测量问题,本文采用卡尔曼滤波方法实现了加速度计信号和陀螺仪信号的数据融合,提高了该机器人的姿态角测量精度和控制精度。
   

3 软件设计
    本文设计的自平衡巡线机器人的软件主要有:(1)各传感器信号的采集处理程序; (2)电机PWM程序;(3)机器人运行控制程序(包括自平衡控制、速度控制、巡线控制);(4)流程控制程序(包括程序初始化、状态监控、参数设定)。其中,所有程序需要精确地执行周期时间,因此采用周期中断的方式实现。机器人的主程序流程图如图3所示。

4 实验与结果
 为了验证所设计的自平衡巡线机器人的平衡性能与巡线性能,搭建了以MCF52255为主控芯片的实验系统。
    利用上位机对机器人的运行性能进行实时监测,测得机器人在初始运行过程中的姿态角波形如图4所示。其中有噪声的波形为加速度计测得的倾角信号,此波形由于波动过大,不能作为自平衡控制的参考信号;另一条相对平滑的波形是经过卡尔曼信息融合后得到的姿态角信号,此信号稍有些滞后,影响机器人的响应速度,也不能作为参考信号,实物测试结果也证明此时机器人晃动明显,不能实现自平衡控制。
    对卡尔曼数据融合算法中的陀螺仪和加速度计的信用权值进行调整后,再次进行上位机监测,并且在测量过程中人为地对机器人施加晃动干扰,得到的姿态角波形如图5所示。从图5中可以看到此时的滤波效果很好,虽然人为地晃动干扰使加速度计测得的倾角信号产生很多毛刺,但是滤波后的信号很平滑,且基本上没有滞后,跟踪性能比较理想。机器人的平衡控制程序可以采用此平滑波形作为姿态角的参考信号。实物测试结果也证明此时机器人可以完成预定的自平衡功能和巡线行走功能。

    本文设计了以MCF52255高性能微处理器为控制核心的两轮自平衡巡线机器人的软硬件系统。针对单独使用陀螺仪或者加速度计都不能得到精准姿态角信号的问题,设计了卡尔曼数据融合算法。实验结果表明,本文设计的机器人能够很好地实现自平衡功能和巡线行走功能,较高的姿态角测量精度为机器人的自平衡控制提供了可靠的姿态反馈,也为巡线行走功能的进一步完善创造了条件,具有一定的应用价值。
参考文献
[1] 何雅静,屈胜利,孟祥忠,等. 两轮不平衡小车变结构控制抖振与鲁棒性研究[J]. 电子技术应用,2011,37(5):130-133.
[2] 董存辉,摆玉龙,柴乾隆.基于模糊控制的自主寻迹机器人设计[J].电子技术应用,2012,38(5):139-141.
[3] 王帅,魏国.卡尔曼滤波在四旋翼飞行器姿态测量中的应用[J].兵工自动化,2011,30(1):73-75.
[4] 吴黎明,张力锴,李怡凡.基于ANN和单个三轴加速度传感器的汽车运动姿态测量[J].传感技术学报,2011,24(6):923-927.
[5] 李人厚.自主移动机器人导论[M].西安:西安交通大学出版社,2006.
[6] 潘泉,杨峰,叶亮,等.一类非线性滤波器—UKF综述[J].控制与决策,2005,20(5):481-489.

继续阅读>>