独轮车自平衡控制系统实验平台设计
2017-08-16张皓洁
吕 强,王 平,张皓洁
(杭州电子科技大学 自动化学院, 杭州 310018)
·仪器设备研制与开发·
独轮车自平衡控制系统实验平台设计
吕 强,王 平,张皓洁
(杭州电子科技大学 自动化学院, 杭州 310018)
独轮车自平衡控制系统实验平台是针对“微型机器人与C51应用”实践类课程开发的一种嵌入式系统实验平台。该平台由独轮车、嵌入式控制系统以及上位机软件组成。独轮车在静止状态下是不能保持平衡状态的,它需要通过编写单片机程序控制惯性飞轮和行走轮的转动力矩,协调独轮车的横滚方向和俯仰方向的姿态,使得独轮车保持平衡状态。上位机软件通过蓝牙来接收当前独轮车横滚角度以及俯仰角度,并设置嵌入式系统中控制算法的参数。该平台有助于学生深入了解嵌入式系统的设计以及程序开发,有利于培养学生的工程实践能力。
独轮车; 自平衡; 控制系统; 嵌入式系统
0 引 言
“微型机器人与C51应用”是面向本科生开办的一门实践类课程,用以培养学生对机器人相关知识的兴趣,引导学生主动学习后续的基础理论课程,服务工业机器人产业对高素质人才的需求[1-2]。为了让学生能够更好地掌握这门课程中的关键知识点,以及锻炼学生的动手实践能力,本文开发了独轮车自平衡控制系统实验平台。作为一种比较特殊的轮式移动机器人,独轮车最显著的结构特点是只有一个车轮支撑,具有静态不稳定性,是一种典型的自平衡机器人。在该平台上可以开展嵌入式系统开发、机器人学、控制理论等课程的实践教学[3]。
独轮自平衡车的发展可以追溯到1987年,Schoonwinkel[4]开发了第一款独轮自平衡车。Vos等[5]在Schoonwinkel的独轮自平衡车的基础上,设计了线性二次调节器。Sheng等[6]开发了一种闭环链结构的独轮车。郭磊等[7]设计了一种采用转子结构的独轮自平衡车。Lee等[8]基于反向作用力的原理在该车的左右两端分别安装了一台鼓风机,从而实现横滚方向平衡。近年来,一种采用惯性飞轮配合行走轮的结构吸引了国内外科学家和工程师的目光,这类独轮车主要参考了杂技演员走钢丝时通过旋转平衡杆保持平衡的原理,设计了惯性飞轮代表平衡杆,用来保持横滚方向平衡,行走轮代表杂技演员的运动,保持俯仰方向的平衡。这样独轮车体由三部分组成,最上面的惯性飞轮,调节横滚方向平衡;中间车体框架和最下面的行走轮,调节俯仰方向平衡。平衡的主要原理是根据惯性飞轮和行走轮的来回加速旋转,产生的反向作用力,来补偿车体的倾斜,从而保持了车体的平衡[9-10]。
本文开发了独轮车自平衡控制系统实验平台。该实验平台由独轮车、嵌入式控制系统和上位机软件三部分组成。独轮车是整个实验平台的关键组成部分,它包括车体构架、电池、惯性飞轮、行走轮等。嵌入式系统则由控制器、角度传感器、电源模块、蓝牙模块、电动机驱动模块和控制及驱动程序组成。上位机软件可通过蓝牙和嵌入式系统通信,获取车体在俯仰轴和横滚轴的转动方向,并可设置嵌入式系统中控制算法的参数[11-17]。
1 独轮车的机械结构
独轮车俯仰方向是通过行走轮加减速运动来保持平衡;独轮车横滚方向上是通过惯性飞轮旋转实现平衡控制。所以,独轮车最主要的两个组件就是行走轮与惯性飞轮。独轮车的机械结构如图1所示。
图1 独轮车的机械结构
从图1可以看出,独轮车由三部分组成:① 惯性飞轮。惯性飞轮被放置于独轮车顶端,并通过电动机直接驱动,主要保持独轮车的横滚方向平衡。② 行走轮。行走轮由电动机通过齿轮驱动,用于保持独轮车俯仰方向的平衡。③ 车体。车体连接惯性飞轮和行走轮,并可安装嵌入式控制模块等。需要说明的是,车体主要由亚克力板制作,支架、平台是由2、3 mm以及5 mm厚度的亚克力材料黏合起来的。
独轮车的正视图和侧视图分别如图2和3所示,其轮廓尺寸(长×宽×高)为:103 mm×75 mm×250 mm;惯性飞轮外径为108 mm,内径为84 mm;行走轮外径为60 mm,内径为11 mm。
图2 独轮车正视图图3 独轮车侧视图
为了使独轮车在电动机力矩控制下,保持平衡状态,需要控制独轮车每一部分的质量。部件的质量:轮车254 g,惯性飞轮45 g,电路板54 g,步进电动机24 g,电池12 g。
从图2、3可以看出,独轮车无法保持静态平衡,但可以通过行走轮和惯性飞轮的旋转保持独轮车的平衡状态。
2 实验平台设计
独轮车自平衡控制系统实验平台由下位机和上位机两部分组成。其中,下位机由独轮车和嵌入式控制系统组成。通过角度传感器检测车体的俯仰和横滚方向的倾斜角度,然后由姿态处理算法进行数据的转换、滤波等处理,并由平衡控制算法计算为保持小车平衡,惯性飞轮和行走轮需要的转动力矩,然后由运动控制算法控制电动机的转动。上位机则通过蓝牙接收独轮车的惯性飞轮和行走轮的角度状态,并可以通过上位机对独轮车控制算法参数进行调节。图4给出了独轮车自平衡控制系统结构。
图4 独轮车自平衡控制系统结构
2.1独轮车嵌入式系统
独轮车的控制电路主要包括控制器、角度传感器、电源模块、蓝牙模块及电动机驱动模块。控制芯片采用了ARM Cortex-M3内核的STM32F10系列微控制器,角度传感器是MPU6050,惯性飞轮和行走轮的驱动电动机使用了SPG20-1372和SPG20-1308,UCN5804是电动机驱动芯片,这些部件的连接关系如图5所示。
图5 硬件设计框图
(1) 单片机最小系统。根据实验平台的设计要求:控制芯片体积小、功耗低、速度快和容量大。因此,STM32F103RCT6 芯片被确定为控制器,该芯片具有ARM Cortex-M3内核,工作频率为72 MHz,运算速度的要求得到保证;此外,该芯片有48KB SRAM、 256KB FLASH,可以满足存储容量的要求;并且有8个定时器,片内资源丰富。因此,选用该芯片可以满足独轮车运算量大、外围器件多、功能复杂和实时性强等需求。
(2) 角度传感器。要保持独轮车的平横状态,需要获得独轮车的俯仰和横滚方向的角度。在该实验平台上, InvenSense 公司的MPU6050被确定为角度传感器。MPU6050由三轴陀螺仪传感器和三轴加速度传感器组成。它通过数字运动处理器DMP,输出四元数,再转换为欧拉角,通过I2C将独轮车的倾角发给控制器。
(3) 电源模块。独轮车的电源模块由两部组成:① 升压模块,用于给12 V的驱动电机供电;② 稳压模块,用于给3.3 V控制器和其他功能部件供电。考虑独轮车的质量分布以及供电要求,电源由4节1.2 V充电电池串联而成。
(4) 蓝牙模块。实验平台采用了蓝牙模块,它的主要功能:① 将独轮车横滚方向和俯仰方向的倾斜角度发送给上位机;② 将上位机设定的控制器参数传送给嵌入式系统。通过蓝牙通信,学生可以方便地调节PID控制器参数,观察不同参数的控制效果,有助于学生对控制器参数整定方法的学习。
(5) 电动机驱动模块。在独轮车中,使用了2个驱动电动机,分别驱动惯性飞轮和行走轮,用来保持独轮车的横滚方向和俯仰方向的平衡。需要说明的是,驱动电动机采用的是步进电动机而不是直流电动机。主要原因是,采用步进电动机可以通过脉冲信号的频率控制转速,并且可以开环控制,不用再做复杂的三闭环控制,符合实验平台的设计要求。并且步进电动机质量轻,体积小,易于安装。因此,四相步进电动机SPG20-1372、SPG20-1308被选用驱动惯性飞轮和行走轮。
由于控制器引脚电流太小,不能直接用来驱动步进电动机,故需要安装电动机驱动芯片。此外,采用电动机驱动芯片的另一个好处是,可以隔离电动机对控制器的冲击电流,防止控制器损坏。因此,采用UCN5804 作为四相步进电动机SPG20-1372以及SPG20-1308的驱动器。这类驱动芯片可以很好进行功率放大,并有效保护控制器。
(6) 控制系统实物。嵌入式控制系统的尺寸为62.5 mm×75 mm,如图6所示。图中,具体标明了电动机驱动芯片、蓝牙模块、角度传感器和升压模块。
图6 嵌入式控制系统实物图
2.2独轮车上位机软件
上位机软件的主要功能包括:① 实时显示独轮车的俯仰和横滚方向的倾斜角度;② 在线设定嵌入式系统中控制算法的参数。独轮车实验系统上位机软件,是在.NET Framework 3.0下,采用C#语言编程实现。WPF(Windows Presentation Foundation)是.NET Framework 3.0的一个功能组件,它具有数据绑定的特点,可以减少后台代码编写。并且,该组件非常便于UI设计,能够做到界面设计和后台代码编写的分隔。
图7显示了本文设计的上位机软件界面。从图中可以看出,左半部采用了2个图形界面,用来显示嵌入式系统通过蓝牙模块发送来的独轮车俯仰和横滚方向的倾斜角度。该图形界面能够实时显示独轮车的平衡状态,便于观察实验效果。软件界面的中间部分显示PID控制算法中,比例、积分和微分系数的设定情况,通过改变PID控制算法的参数,观察独轮车的平衡状态,有利于学生了解参数对系统性能的影响,深刻理解PID控制算法的参数整定方法。软件界面的右边部分,包括了串口的设定,用于上位机和独轮车嵌入式系统的通信。串口设定主要包括端口号、波特率、数据位和停止位,以及打开串口和和关闭串口功能。由于采用了串口通信,故在数据传输中,需要将数据位组合好后,再进行解析,理解数据的含义。
图7 上位机界面
3 基于PID控制的独轮车自平衡实验
采用2个PID控制算法分别控制惯性飞轮和行走轮的驱动电动机,如图8所示。
图8 PID控制方框图
独轮车在横滚方向和俯仰方向的倾斜角度变化曲线如图9和10所示。需要说明的是,在通电启动初期,角度传感器需要陀螺仪传感器以及加速度计的数据来校正,所以在图9和10开始阶段,有一个角度突变的过程,一旦角度传感器校正完成,开始正常工作, 独轮车在横滚和俯仰方向的角度在平衡状态上下变化。此外,还可以看出,横滚轴上角度的变化相对较小,俯仰轴上角度的变化相对较大。主要的原因是,横滚方向,系统受到的外界扰动较小;而俯仰方向,系统受到的外界扰动较大。
在独轮车实验平台上,主要采用PID控制方法实现独轮车的平衡状态,学生可以通过上位机软件对PID控制器参数进行设定,了解PID控制算法的控制效果。在PID控制算法的基础上,还可以进一步采用其他控制方法,拓展学生的视野,调动学生对控制方法及机器人学的学习积极性。
图9 横滚轴角度
图10 俯仰轴角度
4 结 语
本文针对“微型机器人与C51应用”课程而开发的独轮车自平衡控制系统实验平台具有以下特点:
(1) 实用性。独轮车自平衡控制系统实验平台,小巧、轻便、成本低廉、便于携带、易于演示。保持独轮车平衡性是学生设计与开发的关注点,因此,独轮车的开发与设计要求学生学习嵌入式系统设计方法,程序编写方法,以及简单控制参数的设定。这样就能够有效地调动学生的积极性,增强学生的动手实践能力,更好地辅助课堂教学。
(2) 系统性。独轮车自平衡控制系统实验平台涉及到了下位机和上位机的开发,使学生对整个系统的开发设计有了一个直观的印象,了解上位机和下位机的基本概念,明确上位机和下位机之间通信的方式,为学生今后的工程实践打下了坚实的基础。
(3) 综合性。独轮车自平衡控制系统实验平台作为高等院校的实践平台,不但可以用于“微型机器人与C51应用”课程,而且可以用于机器人学、控制理论、系统辨识、运动控制等课程的教学实践工作。同时也可作为科研院所的实验平台,在该平台的基础上,可以展开系统动力学分析与建模、控制算法验证、人工智能等方面的研究,为本科生和研究生提供科研创新平台。
[1] 范 燕,俞 洋,李永义,等.基于ZigBee无线传感器网络的远程监控系统[J].实验室研究与探索,2016,35(1):80-84.
[2] 余建潮.依托实验教学示范中心加强学生实验能力的培养[J].实验技术与管理,2013,30(3):117-119.
[3] 王 平.独轮自平衡机器人的设计与控制研究[D].杭州:杭州电子科技大学,2016.
[4] Schoonwinkel A.Design and test of a computer stabilized unicycle [D].USA: Stanford University,1987.
[5] Vos D.Dynamics and nonlinear adaptive control of an autonomous unicycle: Theory and experiment [D].USA: Massachusetts Institute of Technology,1991.
[6] Sheng Z,Yamafuji K.Study on the stability and motion control of a unicycle [J].International Journal of Japan Society Mechatronics and Engineering,1995,38(2): 249-259.
[7] Guo L,Liao Q,Wei S.Dynamical modeling of unicycle robot and nonlinear control [J].Journal of System Simulation,2009,21(9): 2730-2729
[8] Lee J,Shin H,Lee S,etal.Novel air blowing control for balancing a unicycle robot [C]//Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems.USA: IEEE Press,2010: 2529-2530.
[9] Zhang H,Lu Q,Zhao X,etal.An event-triggered finite-time control scheme for unicycle robots[C]// Proceedings of the 41st Annual Conference of the IEEE Industrial Electronics Society.USA: IEEE Press,2015: 1037-1042.
[10] Wang P,Lu Q,Zhao X,etal.Finite-time posture control of a unicycle robot[C]//Proceedings of the 34th Chinese Control Conference and SICE Annual Conference.USA: IEEE Press,2015: 1151-1156.
[11] Zhang H,Lu Q,Wang J,etal.A T-S fuzzy control scheme for unicycle robots[C]//Proceedings of the 42nd Annual Conference of the IEEE Industrial Electronics Society.USA: IEEE Press,2016: 1-6.
[12] 王建林,徐青菁,姜子庠.多功能自平衡智能车控制平台的设计[J].实验室研究与探索,2016,35(4): 71-73.
[13] 徐 冰,印 江,陈俊君.不完全齿轮与曲柄摇杆的无碳小车设计[J].实验室研究与探索,2016,35(2):59-61.
[14] 胡 星,胡 丹,翟颖妮,等.高校创新实验室创客空间的建设模式探究[J].实验室研究与探索,2016,35(7): 266-268.
[15] 梁明亮,赵 成.基于嵌入式技术的四轮驱动教育机器人设计[J].实验技术与管理,2012,29(11): 82-86.
[16] 邓晓刚.过程控制实验装置的机理建模与虚拟仿真软件开发[J].实验室研究与探索,2015,34(10):99-103.
[17] 徐晓滨,李世宝,孙新亚.ZPW-2000A轨道电路故障诊断实验平台[J].实验技术与管理,2016,33(5): 63-68.
Design of Self-balance Control System Platform of Unicycles
LÜQiang,WANGPing,ZHANGHaojie
(School of Automation,Hangzhou Dianzi University,Hangzhou 310018,China)
An experimental platform of self-balance control systems of unicycles,which is an embedded experimental platform,is developed for the class "Small Robot and Applications of C51".This platform consists of a unicycle,an embedded control system,and an upper software.At normal conditions,a unicycle cannot keep balance without control input; however,it can keep balance by controlling angular moments of flywheel and moving wheel at the roll axis and pitch axis.The upper software is used to receive angle information of flywheel and moving wheel and to set the parameters of control algorithm in embedded systems.The platform is helpful for students to learn the design of embedded systems and programming.Moreover,the platform is also helpful for students to train their engineering ability.
unicycles; self-balance; control systems; embedded systems
2016-10-08
国家自然科学基金项目(61375104);杭州电子科技大学2016年高等教育研究资助项目(YB201661)
吕 强(1977-),男,辽宁抚顺人,副教授,研究方向为信息化教学资源开发与应用,多机器人合作控制。
Tel.:13819139153; E-mail:lvqiang@hdu.edu.cn
TP 242.3
:A
1006-7167(2017)07-0035-04