周一至周五 | 9:00—22:00

期刊论文网 > 工业技术论文 > 一般工业论文 > 一般工业技术论文 工业级自平衡小车设计

一般工业技术论文 工业级自平衡小车设计

2018-12-16 16:29:57来源:组稿人论文网作者:婷婷

  摘要

  近几年来,自平衡小车以其运动灵活性、携带方便、节能等特点受到了人们的广泛关注。在日常生活中越来越多的人选择自平衡小车作为代步工具,而在工业中因其独有的结构结案单、转弯半径小等特点,使得它们在工业生产中也有很大的潜在市场。本文设计的工业级自平衡小车系统主要包括控制器、传感模块、控制模块、显示模块和数据传送模块。其中控制器选择STM32F103,控制整个系统工作;传感器模块中,采用陀螺仪和加速度传感器采集系统的自平衡小车的实时姿态,并采用PID控制算法,进行小车实际平衡状态的控制,此外还采用KINECT相机采集人体的动作信息,经分析后提取人体的动作信息,与根据预先设计的动作库进行进行智能小车的动作控制;PID控制的结果和KINECT相机采集的动作信息均通过控制模块,即直流控制电机,实现小车实际动作和状态的控制;数据传送模块采用无线传送模模实现自平衡小车和PC进行通信,传递实时数据和接收控制指令;本系统中,陀螺仪和加速度传感器的互补应用可以很好测量自平衡小车的实时姿态,再通过PID闭环控制器,实现对自平衡小车很好的平衡控制;KINECT相机的引入,使得自平衡小车的动作可以由人体动作进行控制,提高了系统的灵活性。实验结果表明:本文设计的自平衡小车系统,可以平稳的运行,完成前进后退转向等动作;另外,可以准确地识别人体动作,通过人体动作对自平衡小车进行实时控制。

  关键词:PID,滤波,电路保护,EMC,体感交互

  1绪论

  1.1课题研究背景及其意义

  机器人在现代化的工业生产中占据着一个不可替代的地位,并且在生产中发挥的作用越来越大。其中,移动机器人是机器人的一个重要的分支,移动机器人不仅在运输方面可以减少工业生产的人工成本,提高生产效率,而且还能够代替人去一些恶劣的环境中去完成一些作业,比如,高温、强辐射环境。如今在工业中用的比较多的移动机器人有轮式机器人和关节型机器人,这些机器人通常具备一些特点,如结构复杂,一个机器人中伺服电机多等。复杂的机械结构使其维护困难,并且运行过程中可能出现一些机械方面的问题;过多的伺服电机使得机器人的能耗很大,与当今世界绿色能源低功耗的主题不符,不利于节能产业的发展。

  自平衡小车作为轮式移动机器人之中的一个重要领域,它具备一些独特的优势,如运动结构简单,运动灵活,转弯半径最小可以接近零,因此对运行场地要求也极低,伺服系统也较为简单,能耗相对于多轮驱动系统低。所以自平衡小车的一些优势使他具有在工业中代替一些多轮机器人的潜力。

  当自平衡小车运用于工业生产之中时,一个工业级的稳定且安全的运行系统是迫切需要的。稳定的控制系统对于自平衡小车是至关重要的,工业级的自平衡小车在工业环境之中运行的两个最简单的要求是:1、自平衡小车要尽量地避免受到外界的伤害。2、自平衡小车不会伤害他人他物。因此,为了满足第一条要求,在平衡小车硬件电路设计时,需要加入各级保护电路,确保自平衡小车在运行过程之中不会因为短暂的过流过压使得运行系统完全瘫痪,另外当自平衡小车运行在恶劣的环境中时,比如强辐射,自平衡小车运行系统需要具备一定的抗电磁干扰能力。另外,当自平衡小车受到外界影响而不能正常工作时候,应当有相关的诊断信息提供给修理人员,使其尽快恢复生产,避免造成生产效率下降。除此之外,为了满足第二个要求,自平衡小车应该接受实时而迅速的控制,避免在自平衡小车在失控的时候伤害他人。在传统的工业机械中,大多数系统是通过紧急制动开关来解决此问题的,但是在紧急情况下,紧急制动开关距离操作者的距离会照成实时性减弱,此外,紧急制动开关的设置并不是每个人都可以立即接触到,因此,当出现危险情况,传统的紧急制动开关的实时性具有一定的局限性,限制自平衡小车的安全性能。一种实时性很强且能够保证每个处在危险区域的人都能够立即接触的紧急制动开关对于工业级自平衡小车来说是迫切需要的。

  Kinect传感器的出现,带来了一种新的人机交互体验。现在,Kinect体感交互在娱乐行业到了广泛的运用,它是一种非接触式的人机交互的桥梁,它可以较为准确地识别人体的骨架并且跟踪骨架运动。这为工业上的人机交互提供了一个新的方式。可以通过Kinect传感器识别在危险区域中工作的工人的姿态,来了解当前工人的工作状态,当出现危险情况的时候,工人只需要摆出一种既定的姿势,Kinect检测到后,便可以立即命令自平衡小车制动。这将使得工业环境的安全系数大大提升,保证了生命财产的安全。

  1.1自平衡小车发展历史

  日本电气通信大学的Kazuo Yamafuji教授最早提出了双轮自平衡机器人这个概念,并且申请了该项技术的相关专利,但是当时自平衡小车的各项性能还比较低,并且运行起来也不是很稳定。在各项技术的发展之后,如器件工艺的发展,使得自平衡小车系统也发展的越来越快,自平衡小车系统被逐渐优化。在1995年美国的笛恩卡门和他的团队一起开始研制双轮平衡机器人,取名为Segway。2003年3月第一台平衡机器人Segway正式于美国市场上市[1],如图1-1所示,他的微处理器以100HZ的频率检测车体姿态,其姿态来源于五个固态陀螺仪、倾角传感器,由它们测出驾驶者的重心,瞬间完成计算后以每秒20000次的频率进行细微调整,与人体的平衡能力相近[2]。

  图1-1 Segway

  瑞士的联邦工业大学于2002年研制出Joe自平衡机器人,此机器人机械结构为两轮同轴布置,有两个直流电机独立驱动每个轮子,并且在每个电机上安装了编码器,可以实时读取两个轮子的旋转角度。这样的动力分配可以让Joe能够灵活的行动,如原地打转,稳定的按照各种复杂的轨迹运行。该机器人的主要控制算法采用的是自适应模煳控制算法,这种算法使得Joe的抗干扰能力和自稳性能得到了大大的提高。

  1.2 Kinect发展历史

  在2009年6月1日Kinect首次公布,它当时的代号“Project Natal”[3]。根据微软的传统,用城市作为产品代号,“Project Natal”这个名字来自一个微软主管亚历克斯出生的巴西的城市名。另外这个名字的选择还有一部分原因是它含有初生的意思。它反映了微软把这个项目作为“下一代家庭娱乐的诞生”意图。

  基于Kinect的体感游戏给用户带来了很好的体验,但是基于于Windows平台上开发一直只能使用非官方的解决方案,例如openNI;直到2011年6月微软发布了Kinect for Windows SDK Beta,C#与.NET Framework 4.0可以用于开发,这给.NET开发人员带来了极大的方便。

  Kinect for Windows SDK主要是针对Windows用户设计,内含驱动程序、丰富的原始感测数据流程式开发接口、自然用户接口、安装文件以及参考数据。

  1.3自平衡小车国内外研究现状

  (1)国外研究情况

  2007年,韩国的研究人员Dung[5]等在两轮焊接机器人的控制中采用了一种自适应滑膜控制的算法,这种算法使得两轮焊接机器人突破了曲线焊缝的平滑焊接技术。另外,同一年日本早稻田大学的Ryo Watanabe在前面研究人员的启发下设计制作了NXTway两轮自平衡机器人[6],这种两轮平衡机器人没有用到角度传感器,而是通过光电二极管测量距离地面的距离来获取姿态的,结构很简单,但是不够灵活。如图1-2所示。

  2008年,日本冈山大学的Deng和Inoue[7]等人在基于李亚普若夫方程的基础上导出了两轮自平衡机器人规避障碍的运动控制策略。

  2010年,加拿大的Oryschuk[8]针对两轮自平衡机器人的欠驱动特性及其控制的方法进行检验测试和验证实验。

  2013年,波兰Hendzel[9]等人对两轮自平衡机器人的跟踪控制策略提出了二元启发式规划算法,在实际应用中取得了良好的控制效果。

  图1-2 NXTway

  (2)国内研究情况

  随着自平衡小车逐渐走入人们的日常生活中,国内多所高校与研究机构都开展了对自平衡小车的研究,并且取得了一定的研究成果。

  2012年,重庆大学的段其昌教授[10]科研团队设计出了一种无车速传感器的滑模控制算法。此种算法大大降低两轮自平衡小车的硬件系统的设计复杂的程度。

  2013年,华中科技大学的丁凤博士[11]在她的博士论文提出用变结构滑模控制策略,她从理论上分析该控制策略的可行性和有效性。

  2014年,浙江大学的颜钢锋教授[12]及其团队提出了基于自抗扰控制算法。这种算法的提出对于提高自平衡小车的稳定性起到了很大的作用。

  1.4基于kinect的体感人机交互研究现状

  中文“人机交互”这个概念在英语中有三个对应的概念:Human machine interaction(人与机器交互),human computer interaction(人与电脑交互),Human robot interaction(人与机器人交互)[13],在本文中所提到的交互是基于Kinect传感器的人与自平衡小车的交互。人机交互是机器人研究领域的一个重要的研究分支,它的发展已经经历了大约半个多的世纪。人机交互方式也从最初的操作者直接输入二进制代码的方式到现在的多通道信号输入的方式,如语音输入、面部表情输入、手势输入和人体姿态输入等。有些研宄者进行了以语音识别或者手势识别作为服务机器人的人机交互方式的研究。如西班牙Jaume大学机器人智能实验室在2000年研制的Jaume-1机器人[14],美国田纳西州立大学在2001年研制的RWI B-14移动机器人[15]。美国CMU机器人实验室给出了一种能按手势做出简单动作的清扫机器人[15]。

  近年来,国内基于Kinect的以人体姿态为输入信息的体感交互研究越来越多。

  2013年,山东大学[16]实现了演讲者无接触性操作情况下的PPT自动播放控制的功能。

  2014年,上海海洋大学[17]提出了一种基于Kinect传感器的体感控制性能优化的方案,这种方案是基于一种数学方法,实现手臂光标延迟性能的优化。

  2015年,第二炮兵工程学院[18]提出了一种基于Kinect传感器的无人机体感控制方案,并进行了验证。

  1.5本文主要研究内容

  本文针对工业级自平衡小车主要做了以下几个部分的工作:完成了自平衡小车的数学模型的建立与简化,设计了自平衡小车保护电路和抗干扰电路,对自平衡小车进行了实时姿态的测量,利用PID算法控制了自平衡小车的稳定运行和利用Kinect对平衡小车进行了体感交互。

  全文各章的内容安排如下:

  第一章绪论,介绍课题的背景及其意义。

  第二章总体设计级自平衡小车的硬件系统,介绍它的各个模块的功能及作用。

  第三章自平衡小车的软件设计,控制系统的程序总流程,对每个模块的算法流程和软件实现进行介绍。

  第四章系统调试。

  第五章总结与展望

  2自平衡小车的硬件系统设计

  2.1自平衡线小车总体硬件结构

  本文设计的工业级自平衡小车整个系统分为两个部分,其中一个部分是自平衡车主体部分,这部分的作用是完成自平衡小车的基本功能,如直立运行、转向和运输运行及处理一些相关的数据,这一部分包括传感器模块、电源模块、电机驱动模块、无线模块和人机界面部分,另一部分是体感互动模块,这一模块的基本作用是实现自平衡小车与人的体感互动,主要针对于工业运行环境中出现危险情况时,急停功能可以立即响应,提高安全性。硬件系统框图如图2-1所示。

  图2-1硬件系统框图

  2.2主控制器

  自平衡小车能否稳定运行,很大一部分原因取决于主控制器的性能。并且自平衡车的硬件系统设计的拓扑是星形结构,主控器在整个系统中处在中心地位,它连接了各个功能模块。主控器运行的稳定性将直接影响整个系统。另一方面,性能强大的主控制器可以减少软件设计的任务。所以,选择一个好的主控制器对于设计自平衡小车是很重要的。

  本文设计的自平衡小车是针对于工业需求的,基于此种原因,选择主控器时应当接近于工业标准:稳定,抗干扰能力强且性价比高。随着器件行业技术的不断发展,基于Cortex-M3内核的处理器在各个行业得到了广泛的应用,如车载GPS系统、智能家居和工业控制等。其中STM32F1xx系列的芯片被运用的最为广泛,因此,这系列芯片很多性能以及实际运行时的状况都很清楚,因此,可以规避掉一些未知的不稳定的因素,而这些未知错误在工业上面发生将是致命的。综合以上考虑,本设计中的主控选择STM32F103作为主控芯片,他的主要参数如表3-1所示,电路图如图3-2所示。

  表2-1 STM32F103主要参数

  图2-2最小系统电路

  STM32F103C8T6的运行速度可以达到72M,相当于普通51单片机的几十倍;另外它还有丰富的外围设备,如DMA、电机控制PWM、温度传感器、CAN接口、丰富的串口接口(3路)、SPI接口及多路ADC转换通道等;它的输入输出管脚数有37个,程序存储器容量为64K,RAM容量达到了20K;另外供电电压范围比较大,2V-3.6V。

  图3-3 STM32F103C8T6

  2.3姿态检测模块

  传感器对自平衡小车是至关重要的,通过传感器可以实时得到自平衡线小车实时的状态,然后主控制器做出相应的决策,从而形成稳定的闭环控制。传感器在这个闭环控制中,它是反馈回路形成的重要的一环。

  对于自平衡小车来说,自平衡小车的前后倾斜角度是一个重要的反馈量,理论上,只要通过一个角度传感器便可以完成这个任务。但是,直接测量角度的传感器的体积和价位不适合本设计,所以采用一种间接的方法来获取相关参数,如陀螺仪可以获取角速度,角速度通过积分便可以得到倾斜角度;或者,加速度计测量两个轴的加速度,然后通过三角关系也可以获得相应的角度。

  以上两种方法,在理论上都是可以满足自平衡小车要求的功能的,但是,陀螺仪不断的长时间的积分必然会照成积分漂移误差,另外陀螺仪传感器还存在温度漂移误差,在工业环境中,户外作业温度变化是很大的,因此,只用陀螺仪是不可行的。加速度计可以解决积分误差,但是,传感器是安装在两个不断振动的电机的之上的,电机的高频振动在短时间内势必会影响加速度计的测量,这样,加速度计的测量值在短时间是不行的。所以只使用其中一种传感器是很难完成自平衡小车姿态测量的。

  因此,在本设计中所采用的方案是将两个传感器结合起来用,让它们作用互补,通过一定的算法便可以得到较为准确的角度值了。

  图2-4 MPU6050电路

  2.5电机及电机驱动

  2.5.1电机

  电机是自平衡小车的执行机构,电机的扭矩与转速会影响自平衡小车的运行性能。由于本设计是用锂电池供电,选择直流电机比交流电机更好。另外,常用的这些电机有无刷电机和有刷电机之分。

  无刷电机一盘指的是无刷直流电机由电动机,它主体和驱动器组成,是一种典型的机电一体化产品。有刷电机和无刷电机的区别是是否配置有常用的电刷-换向器。有刷直流电机的换向一直是通过石墨电刷与安装在转子上的环形换向器相接触来实现的。而无刷电机则通过霍尔传感器把转子位置反馈回控制电路,使其能够获知电机相位换向的准确时间。

  所选择的电机的额定电压7.4V的,如果工作在更高的电压下面,容易造成电机损坏,如果在低于7.4V的电压如6V下面工作,电机达不到额定功率,扭矩和转速都会下降,性能下降。一般7.4~8.4V的电压可以让电机达到理想的工作状态。电机尾部自带13线的磁(霍尔)编码器,电机减速比1:20,故车轮转一圈,电机可以输出260个脉冲,倍频之后是1040。编码器的额定工作电压是5V,集成了上拉电阻和比较整形功能,可以直接输出方波。电机配有金属减速箱,额定电压下,减速后空载转速500rpm(转每分))。电机引脚及接线图如图2-5所示。

  图2-5电机

  2.5.2电机驱动芯片

  由于单片机输出的PWM信号功率不够,不能直接控制电。通常采用的方法是用一个驱动电路接在单片机和电机之间,对于驱动电路的选择,主要考虑如下几个方面:

  1)输出电流和电压范围。

  2)驱动芯片效率。

  3)对控制输入端的影响。

  4)对电源的影响。

  5)可靠性。

  基于以上方面的考虑,自平衡小车的驱动模块选择的是TB6612FNG,如图3-6所示。TB6612FNG是一款直流电机驱动集成芯片,它的输出晶体管结构是LD MOS结构;有两路输入信号,能够选择四种工作模式,如CW,CCW,急停及停止模式。它的最大输入电压可以达到15V,输出电流的平均值是1.2A,峰值可以达到3A,输出电阻仅有0.5欧姆,另外它还有省电模式。驱动模块的硬件电路如图3-7所示。

  图2-6 TB6612FNC

  图2-7电机驱动电路图

  2.6通信模块

  通信模块是自平衡小车将自身的状态信息传送出去,同时将外界控制信息接收的主要通道。工业级自平衡小车在工业环境中运行时,通信的稳定性与自平衡小车的安全工作紧密相关。因此,通信的实时性、误码率、速率、传输距离以及通信数据容量是选择自平衡小车通信模块主要考虑的因素。在本设计中选择的通信模块是CC1101。无线收发应用电路如图2-8所示。

  图2-8无线模块电路图

  无线通信模块包括无线发射模块和无线接收模块两部分组成。该模块的通信示意图如图2-9所示。

  图2-9无线数据传送

  2.7电源模块

  电源模块是自平衡小车能够稳定工作的保障,干净的电源可以让数字电路模块部分稳定工作,足够的输入电源功率可以让伺服电机输出稳定的扭矩。所以一个稳定的干净的电源对于工业级平衡小车的设计是至关重要的。

  自平衡小车的电路设计包括两个部分,一个是电源输入电路,另一个是稳压电路。

  2.7.1电源输入电路

  电源输入电路的输入端直接连接外界电源,设计这部分电路时应当考虑电路保护和抗干扰,电路保护主要考虑三个方面,第一,元器件不会被其他元器件出来的电流烧坏;第二,元器件自身出来的电流信号不会烧坏其他电子元器件;第三,元件不会自己烧坏自己。另外,电路抗干扰能力主要考虑到电磁干扰。电源输入电路如图3-10所示。电源从VIN0输入,最高输入电压为36V,额定电压是24V,额定输入电流是600mA,最大输入电流可以达到1.2A。电源首先首先经过熔丝F1,该熔丝为自恢复熔丝,进行过流保护,接着后面接了一个齐纳二极管,做过压保护,当电压过高时,输入电压会稳定在33V。VIN0进入的最大电流为1.1A,齐纳管的最大功率达到了5000W,所以,该期间不会被前级电流烧毁。VR2为压敏电阻,他的阻值会随电压变化,它的引入也是为了对后级电路做稳压保护,保证后面电路不会因为前级过流过压而受到损害。在保证电路可以正常工作之外,还应该考虑EMC(电磁兼容),电磁兼容主要是从两个方面设计,一个是抗电磁干扰,另外一个则是抗电磁敏感性。因此,在本设计的电源电路中,将要减少这两个方面的干扰因素。在电路中通过EMI滤波器来减少电路中的共模干扰和差模干扰;通过磁珠来抑制导线上电磁干扰辐射的脉冲,从而来减少电路向外辐射电磁场。在本电源电路中选择了三个磁珠并联,因为单个磁珠阻抗过大,如果直接选择一个阻抗过小的磁珠,则磁珠上将会消耗过多的功率,引起电路不稳定。在电源输入电路中的其他电感电容的主要作用,则是起到滤波的作用。

  图3-10电源输入电路

  2.7.1稳压电路

  由于主控制器的工作电压在3.3V,另外的一些器件的工作电压在5V和12V,所以直接从电源输入电路进来的电压是不能直接输入给芯片供电的,需要接入稳压芯片。常见的稳压电路中的稳压芯片的工作原理有两种,一种是通过线性调整来稳压,如78XX系列的稳压芯片,另外一种则是通过开关的导通与断开来进行电压转换的,如LM2576系列的芯片。这两种系列的稳压芯片优缺点如下:由于工作原理的不同,78XX稳压芯片的工作效率较低,仅为30%-50%左右,在工作的过程中发热比较严重,它的热损失值为输入输出电压压差与工作电流的乘积,如果在工业环境之中工作的话,环境密封且工业中粉尘多,则78XX系列的稳压芯片工作效率更加低,发热更加严重,甚至会烧坏元器件,使得电路瘫痪;但是以开关电源调节为稳压原理的器件LM2576系列芯片的工作方式是通过完全的导通或者完全的关断的方式工作的,所以,当稳压芯片在工作的时候,只有两种可能,一种是大电流流过低导通电压的开关管,另外一种情况就是出于完全截止状态没有电流通过,所以开关型的稳压芯片的功耗很低,他们的平均的工作效率可以到达70%-90%左右。所以,在相同的输入输出电压差的情况下,开关型的稳压芯片比线性型的稳压芯片具有更少的热损耗。在设计PCB时,由于很少的热损耗,开关型稳压芯片所占的PCB面积比线性型稳压芯片所占的面积小,有的情况下都不需要加上散热片。另外,开关型稳压芯片还有一个优势在于,由于他的高频通断特性和串联滤波电感可以抑制来自输入电源端的高频干扰。但是,一般线性稳压芯片比开关型稳压芯片在价格上低得多。

  基于LM2576芯片的一些独特的优点,LM2576系列的芯片比较适合在工业级自平衡小车上使用,自平衡小车的稳压电路如图2-11所示。

  图2-11稳压电路(1)

  图2-11稳压电路(2)

  图2-11稳压电路(3)

  在24V输入电压稳压至12V和12V稳压至5V的电路中,由于压差很大,选择的是开关型稳压芯片;而在5V稳压至3.3V的电路中,由于压差很小,综合考虑,选择的稳压芯片是线性型的稳压芯片。

  2.8体感控制模块

  体感控制模块的主要作用是操作人员和工业级自平衡小车进行体感交互,通过这种交互的方式来控制小车的基本动作,如急停。本设计中工业级自平衡小车通过微软公司的KINECT体感相机进行人机交互。PC通过读取KINECT传回来的姿态控制数据然后,经过处理,再通过串口协议发送个自平衡小车,完成对自平衡小车的控制。

  KINECT传感器主要由六个部分组成:红外线发射器、RGB摄像头、红外线接收器、倾角控制马达、麦克风阵列和加速度计。如图2-12所示。

  图2-12 KINECT

  KINECT的三个摄像头中红外摄影机位于最左测,它与最右边的红外接收器相配合使用,该摄像头的控制芯片是PS1080 SOC,它对红外光源进行控制,以便通过红外光编码影像放映场景。普通的激光光源作为红外投影机的光源,这个光源在光路中会通过经过磨砂处理的玻璃和红外的滤波片,然后投射出波长为830nm的近红外光,这个光不是脉冲式的激光而是一种可持续的激光,完全符合IEC60825-1标准中的一级安全要求,红外线摄像头是一个标准的CMOS影像传感器,它的主要作用是接收发射回来的红外光线和发射红外光线,然后对这些红外光进行编码,将影像传递给处理芯片PS1080,该芯片将处理这些红外影像,然后对每帧合成准确的场景深度影像。然后通过注册,可以让深度影像和二维标准的色彩影像相互对应起来。这个过程即是让每个色彩像素分别与深度影像中的每一个像素相对应。

  KINECT的麦克风阵列由四个麦克风组成,他们的分布左右不对称,通过这样的分布保持质量分布的均衡。这四个麦克风组成了一个四元线性的整列,这个阵列中的每个麦克风的距离相距几个厘米,他们的排列是呈线性的,可以捕捉到多个声道的立体声,然后通过数字信号处理,根据麦克风接收到的声音信号的时间差可以判断声音的来源。这个阵列麦克风与普通的一个麦克风的数据相比较而言,它包含了一些实用的算法,如它可以很有效的消除噪声和抑制相应的回波,另外,它还采用了波束成形技术,可以通过各个独立的设备的相应时间来确定音源的位置,并且可以避免环境噪声的影响。此外,KINECT还可以实现语音识别。

  KINECT倾角控制马达可以根据用户的具体位置实时的调节倾角,最大限度确保用户的姿态完整的出现的画面之中,这个马达垂直调整的角度范围在-28°到+28°,KINECT的成像系统的自身的视角的大小是:垂直方向:43.5°,水平方向为57.5°。

  KINECT硬件的主要参数如表2-2所示

  表2-2:KINECT硬件的主要参数

  2.9本章小结

  本章系统的介绍了工业级自平衡小车的各个硬件模块,并且分析了一些重要的硬件使用的优缺点和选型。综合使用环境和硬件本身特点,设计了一套完全的自平衡小车的硬件系统。

  3自平衡小车软件设计

  3.1软件开发环境

  本节主要介绍了主控单片机、KINECT的开发环境及相关的辅助调试软件。

  3.1.1主控开发软件——Keil MDK

  KeilMDK为Cortex-M系列软件提供了一个完整的开发环境,该软件不仅可以完好的编译C文件和汇编文件且支持的器件种类多,而且可以通过J-LINK进行在线调试,并且下载程序,使用起来很方便,它强大的功能可以节省软件开发的时间,所以选择这款软件作为程序开发平台。

  3.1.2算法仿真软件——Matlab

  MATLAB主要功能是提供一个可视化以及交互式程序设计的高科技计算环境。在对算法的设计时,首先进行理论的分析,如果接下来直接进行运用时,由于环境不是理想的,计算的结果可能与期望值相违背,通常在理论分析与实际应用之间要通过仿真,而MATLAB是一个很好的仿真环境,仿真结果可以通过一些图形显示出来,结果很直观,并且调节参数也非常的方便。在自平衡小车滤波算法设计和PID控制器都用到了MATLAB进行算法仿真和参数调整。

  3.1.3串口通信调试——串口猎人

  串口猎人是用于串口数据发送接收软件,借助它可以与主控制器进行实时的通信。在本设计的调试过程中选择的串口猎人软件可以同时支持16个COM口,除了一些基本的串口助手功能外,还有一些高级功能,例如绘制曲线等。在本设计中运用它采集MPU6050的数据,然后通过波形分析;另外通过串口进行调试,这样可以方便的修改参数而不用下载程序,可以增加主控芯片的使用寿命。

  3.1.3 KINECT开发环境

  目前,KINECT的开发主要有两套,一套官方的开发环境KINECT SDK FOR WINDOWS,另外一套是开源项目OPENNI;在本设计中,将主要用到手和头关节,所以这个套开发环境不适合。KINECT SDK FOR WINDOWS更适合本设计的开发。

  KINECT SDK FOR WINDOWS的安装环境准备:

  系统配置要求:

  1.32位的处理器或者64位处理器;

  2.双核处理器且处理速度在2.66GHZ以上;

  3.RAM的大小应当在2G以上;

  4.支持DirectX 9.0c的显卡;

  软件配置要求:

  1.WINDOWS 7以上操作系统;

  2.VISUAL STUDIO 2012;

  3..NET FRAMEWORK 4.0;

  另外在安装SDK时,应当注意:首先计算机应该与网络连接正常,KINECT应当正常接上电源并且接上USB口,将会自动下载KINECT的驱动程序。KINECT FOR WINDOWS的架构如图4-1所示。

  图4-1 KINECT FOR WINDOWS的架构

  3.2自平衡小车平衡控制——PID

  3.2.1 PID控制器介绍

  PID控制器包含三种类型的控制方式:比例控制、积分控制和微分控制,如图4-2所示PID控制系统原理框图。

  图4-2 PID控制系统框图

  在图3-2中:r为设定的期望值,u为控制变量,y为实际输出值,e为控制的偏差。

  (e(t)=r(t)*y(t)),是给定输出和实际输出之间的偏差。将比例、积分和微分的各项进行线性组合得到控制量u。写成表达式如下:

  Kp:比例系数;

  Ti:为积分时间常数;

  Td:为微分时间常数;

  该公式经过拉氏变换,可得出如下的传递函数形式:

  比例控制器是控制系统中最为简洁的控制方式,它可以实时的成比例地反应控制系统的误差信号。

  比例控制器对系统性能的影响:

  比例控制器会使控制变量的大小会朝着减小偏差的方向变化。比例系数Kp越大,系统响应速度越快,静态误差越小;Kp越小,系统响应速度越慢,它的静态误差随之越大。但是,当Kp很大时,系统振荡次数会增多,可能会出现一些超调的现象,振荡会加剧,使得系统不稳定,对系统是有害的。如果在稳定的系统中调节Kp,则可以适当的增大比例系数来减小稳态误差,但是稳态误差不能够完全消除。

  积分控制器的输出与输入误差信号的积分成正比关系,它是由累积误差引起。它引入的目的是为了减少稳态误差。当控制系统进入稳态之后还存在稳定的误差,则把这个系统称为有差系统。对于这个系统,积分控制器的引入可以消除稳态的误差,但同时也给控制系统带来了延时。

  积分控制器对系统性能的影响:

  微分控制器的输出与输入误差信号的微分成正比关系。控制系统可以通过微分控制来使得超调量减少,但是同时也会使得相位超前,这样正好与积分控制的相位滞后相互补。微分控制器的主要作用是预测系统变化的趋势,然后通过控制器来避免系统变化;当微分时间过大或者过小,都会引起系统的超调量变大,从而使得系统的调节时间变长,系统的抗干扰的性能变弱。

  由以上控制系统的控制效果的好坏是由PID控制器三个参数(Kp、Ki、Kd)影响的,要想让系统具有比较理想的控制效果就必须对三种控制作用(比例、积分、微分)进行调整,根据所期望的控制效果选择适当的目标函数作为衡量指标,然后对三个参数进行整定。通过调整这三个参数可以使系统达到一种稳定的控制状态。

  3.2.2工业自平衡小车PID控制器设计

  工业级自平衡小车控制主要分为三个模块控制:即直立环控制、速度环控制和转向环控制。根据每个控制环的特点,选择不同的控制器。控制系统框图如图3-3所示:

  图3-3控制系统框图

  直立环控制:

  平衡小车直立环使用的是PD(比例微分)控制器,对于一般的控制系统单纯的P控制或者PI控制基本上就可以实现功能,但是那些对干扰要做出迅速响应的控制过程需要D(微分)控制器。对于平衡小车,对于前后倾斜角度需要作出迅速的反应,所以直立环控制器选择的是PD控制器。如图4-4所示为直立环控制框图。

  图3-3直立环控制框图

  直立环控制算法代码:

  速度环控制:

  平衡小车速度环使用的控制器为PI控制器,这个控制器也是速度控制最常使用的控制器。PI控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差,将偏差的比例(P)和积分(I)通过线性组合构成控制量,对被控对象进行控制。对于直立环来说,速度环控制对于自平衡小车来说是一种干扰。速度环控制器系统框图如图4-4所示。

  图3-4速度环控制器系统框图

  速度环控制代码:

  入口参数为左右轮编码器。前面3行是相关变量的定义,第四行是获取最新的速度偏差,第5和第6行是对速度偏差进行低通滤波,第7行是对偏差积分得到位移。第8行是使用速度PI控制器计算速度控制PWM,第9行是返回。

  计算速度误差:

  根据公式:偏差=测量值-目标值,测量值使用的是左右编码器之和表示,没有必要除以2,因为这样就引入舍去误差,实际上需要的其实是一个可以表示速度变化的变量。另外,我们的目标速度设置为零。所以,可以得到:

  Encoder_Least=(Encoder_Left+Encoder_Right)-0;

  然后,对速度值进行低通滤波,具体的系数由工程经验得到。这样做的目的是为了减缓速度值的变化,防止速度控制对直立造成干扰,因为平衡小车系统里面,直立控制是主要的,其他控制对于直立来说都是一种干扰。具体实现代码如下:

  Encoder*=0.7;Encoder+=Encoder_Least*0.3;

  转向环控制:

  平衡小车转向环使用P(比例)控制器或者P(比例)D(微分)控制器,一般的控制系统单纯的P控制或者PI控制就可以了,转向环就是这种“一般的控制系统”,对响应要求不高,所以只使用P控制即可。如图4-5为转向控制环系统框图。

  图3-5转向环控制系统框图

  其实转向信息可以通过编码器和陀螺仪获取,所以转向环有多种控制方式,各种方案优缺点如下:

  方案一:使用左右轮编码器数据之差的积分值作为偏差,以Z轴陀螺仪作为微分控制的输入进行PD控制,目标是保持转向角为设定值。优点是算法比较科学,引入微分控制可以增大比例控制系数以提高系统的响应。缺点是较复杂,积分项影响用户体验、编码器对车轮滑动无法检测、陀螺仪存在漂移。

  方案二:使用Z轴陀螺仪的数据积分得到转向角作为偏差,以Z轴陀螺仪作为微分控制的输入进行PD控制,目标是保持转向角为设定值。优点是避免了编码器对车轮滑动无法检测现象,引入微分控制可以增大比例控制系数以提高系统的响应。缺点是陀螺仪的漂移长时间积分导致系统误差增大。

  方案三:使用左右轮编码器数据之差作为转向速度偏差进行P控制,目标是保持转向速度为设定值。优点是简单,缺点是编码器对车轮滑动无法检测,对编码器精度有较高要求。

  方案四:使用Z轴陀螺仪的数据作为转向速度偏差进行P控制,目标是保持转向速度为设定值。优点是算法简单、避免了编码器对车轮滑动无法检测现象、陀螺仪漂移等问题,缺点是陀螺仪对高频信号采样失真。

  在本设计中选择方案四作为转向控制环。在平衡小车里面,相比于直立环和速度环,转向环是最不重要的,如果缺少了直立环和速度环,小车无法长时间保持直立。转向环的作用是使小车行驶的过程中,跟随给定的Z轴角速度,具体来说,如果设定的Z轴目标角速度为零,那么小车应该走一个直线。

  转向环控制代码如图所示:

  工业级自平衡小车PID控制系统程序流程图如图3-6所示:

  图3-6自平衡小车PID控制程序流程图

  3.3自平衡小车姿态传感器数据处理

  3.3.1加速度计数据处理

  首先设置MPU6050的参数,在这里选择加速度范围为-16g—+16g,在每个采样周期读取一次加速度计的三个轴的加速度值,即自平衡小车的三个轴的加速度值。当自平衡小车在运行时,除重力加速度以外的加速度都比较小,其值以可忽略不计。通过加速度值与传感器角度的关系,可得到传感器的角度变化,如图3-7所示为加速度值与传感器倾角的关系。

  图3-7加速度值与传感器倾角的关系

  在自平衡小车中,两个电机所在的轴线为X轴,以前进方向为Y轴,则自平衡小车的倾斜角度可以通过Z轴和Y轴及重力加速度表示。通过以下公式可以求出倾斜角度:

  3.3.2陀螺仪数据处理

  通过MPU6050设置好陀螺仪的相关参数,选择陀螺仪的测量范围为范围为+-2000dps(度每秒),在每个采样周期读取一次陀螺仪的数据,获得自平衡小车两个方向的角速度值,分别为gyro _X,gyro _Z,如图3-8所示为自平衡小车车与角速度的关系。

  图4-8自平衡小车与角速度的关系

  由于陀螺仪存在噪声,需要通过中值滤波对陀螺仪的原始数据进行处理。如图4-9所示为陀螺仪原始数据和经过中值滤波处理后的数据,实验结果表明效果比较明显。

  图4-9中值滤波效果图

  3.3.3传感器数据滤波设计

  在自平衡小车设计中,由于噪声的存在,对于读取的MPU6050的值如果直接转换为自平衡小车的倾角是不准确的。通常的处理方法是对加速度值和角度度值滤波或者直接用DMP在MPU6050里得到倾角。在本设计中,比较了一阶互补滤波、DMP读取倾角和卡尔曼滤波的效果。

  一阶互补滤波:

  将MPU6050装载在自平衡小车上,由于小车的电机振动很大,使得加速度的读取值在短时间内是很不准的,如果取加速度的瞬时值做平衡小车的倾角计算,那么所得的加速度值是不准确的;对于陀螺仪来说,它读出来的角度并不受电机振动的影响,然而,陀螺仪的值存在积分漂移和温度漂移,对于温度漂移可以做温度补偿,但是对于长时间的积分漂移,只用陀螺仪传感器无法消除,在短时间内的积分值却是准确的。所以可以通过加速度计的读取值和陀螺仪的读取值互补滤波。

  在自平衡小车中,对MPU6050进行互补滤波的基本思路是:在短时间内取陀螺仪的值积分得到角度,这个角度是最优的,然后通过定时器采样加速度的值进行求平均值得到一个角度用来校准陀螺仪得到的角度。加速度计需要把高频信号滤掉,陀螺仪需要把低频信号滤掉。

  一阶互补滤波具体算法代码如下:

  angle=K1*angle_m+(1-K1)*(angle+gyro_m*0.005);

  K1为滤波系数,在本设计中K1的取值为0.02,陀螺仪的积分时间为0.005秒。

  一阶互补滤波效果波形图如图3-10所示。红色线段为有加速度直接得来的角度值,黑色线段为经过一阶互补滤波后得到的角度值。从图中可以看出,一阶互补滤波的更随效果不错,但是有一点延迟。

  图3-10 MPU6050一阶互补滤波效果图

  卡尔曼滤波:

  卡尔曼滤波器来源于匈牙利数学家1960年发表的论文《A New Approach to Linear Filtering and Prediction Problems》。

  卡尔曼滤波是一种以状态变量的线性最小方差递推估算的方法,是一个最优化自回归数据处理算法。这种算法被广泛应用于计算机图像处理方面。但是在工业级自平衡小车中,如果只使用简单的均值滤波或者滑动滤波,由于误差的存在,则很难获取准确的倾斜角度值。而卡尔曼滤波算法可以将三轴加速度值和三轴陀螺仪值进行数据融合,抑制噪声,从而获得较准确的倾斜角度值。

  在利用卡尔曼滤波做最优估计时,必须满足以下三个条件:

  1)无偏性,即估计值的均值等于状态的真值;

  2)估计的方差最小;

  3)实时性;

  卡尔曼滤波特点:1)卡尔曼滤波是解决状态空间模型估计与预测的有力工具之一,它不需存储历史数据,就能够从一系列的不完全以及包含噪声的测量中,估计动态系统的状态。

  2)卡尔曼滤波是一种递归的估计,即只要获知上一时刻状态的估计值以及当前状态的观测值就可以计算出当前状态的估计值,因此不需要记录观测或者估计的历史信息。

  (2)卡尔曼滤波具体实现

  卡尔曼尔曼滤波的算法流程如下:

  EQ\o\ac(○,1)计算预估计值:X(k)^=F(k,k-1)·X(k-1);

  EQ\o\ac(○,2)计算预估计协方差:

  C(k)^=F(k,k-1)C(k)F(k,k-1)T+T(k,k-1)Q(k)T(k,k-1)T;其中Q(k)=U(k)U(k)T;

  EQ\o\ac(○,3).计算卡尔曼增益:

  K(k)=C(k)^×H(k)T×[H(k)×C(k)^×H(k)T+R(k)]^(-1),其中R(k)=N(k)×N(k)T;

  EQ\o\ac(○,4)更新估计值:X(k)~=X(k)^+K(k)×[Y(k)-H(k)×X(k)^];

  EQ\o\ac(○,5)计算更新后估计协防差:

  C(k)~=[I-K(k)H(k)]C(k)^[I-K(k)H(k)]T+K(k)R(k)K(k)T

  X(k+1)=X(k)

  C(k+1)=C(k)EQ\o\ac(○,6).重复以上步骤

  卡尔曼滤波的流程图如图4-11所示

  图3-11所示卡尔曼滤波流程图

  如图3-12所示,为卡尔曼滤波获得的倾斜角度的效果图。红色线段表示直接通过加速度获取的角度,没有经过滤波,蓝色线段为经过卡尔曼滤波后获取的角度,从曲线中,可以看出,卡尔曼滤波后所得到的角度跟随效果很好,且滤除了突变角度。

  图3-12卡尔曼滤波效果波形图

  DMP读取角度:

  MPU6050芯片自带了数字运动处理器,即DMP,并且InvenSense提供了一个MPU6050是DMP的嵌入式运动驱动库,结合MPU6050的DMP,可以将原始的六轴数据直接转换成四元数输出,而得到四元数之后,就可以很方便的计算出欧拉角,从而得到前后倾角。通过内置的DMP可以简化工业级自平衡小车程序的设计,并且单片机也不用进行姿态解算的过程,在一定程度上降低了主控芯片的负担,因此有更多的资源去处理其他的事件,从而提高了系统响应的性能;另外,利用DMP则不用利用其他复杂的算法去获取自平衡小车的倾角。

  通过这个DMP读取的MPU6050读取的四元数的格式是浮点数放大了230次方倍。则在换成欧拉角之前,应当先将其转换为浮点数,即将其除以230,然后再进行计算。

  3.3.4自平衡小车的倾斜角度测量

  自平衡小车的倾角获取的流程图如图4-13所示。程序首先读取各传感器的数据,然后进行角度计算,再进行互补滤波和卡尔曼滤波,最后得出姿态角。

  图3-13自平衡小车的倾角获取的流程图

  3.4其他程序模块

  3.4.1电机驱动信号PWM输出

  自平衡小车电机控制信号为PWM信号和普通高低电平信号,该PWM信号由STM32硬件PWM模块产生的,通过PWM的占空比可以控制电机的转速,通过使能信号控制端可以控制电机的正反转。这些设置可以通过STM32的寄存器写入,使用起来很方便。

  3.4.2串口通信

  自平衡小车通过无线串口借助电脑与KINECT进行通信。KINECT将骨骼信息传递给电脑后,电脑将这些数据加工,然后按照固定的通信协议通过无线串口发送出去,自平衡小车的无线串口将收到这些数据之后然后解析出来,按照指令改变自己的动作。它们之间的波特率为9600。通信协议如表3-1所示。

  表3-1:

  数据块12345定义帧头数据长度指令数据数据和指令的CRC校验数据长度211N2说明0x5AA5包括指令、数据和校验通信协议中,指令1的各位含义如,如表3-1所示:

  指令Byte1Byte2Byte2Byte3Byte4Byte50X010x01/0x000x00-0x640x01/0x000x00-0x640x00/0x010x01/0x02前进指令前进速度后退指令后退速度急停标志转向另外,自平衡小车还会将自身的状态发给电脑,用于监控和参数整定。

  3.4.3显示模块

  自平衡小车显示模块选的是OLED,它的作用是实时显示自平衡小车的倾斜角度,编码器的信息和电池的电量,如图3-13所示。

  图3-13显示模块

  3.4.4 KINECT骨骼数据获取及传输

  KINECT传感器所获取的基础信息包括五种:彩色图像、三轴加速度传感器、深度图像、红外线图像和声音。这些信息都可以通过相应的API读取。骨骼追踪就是由KINECT负责识别用户身体上的特征点,然后进行后续的跟踪,它是KINECT进行体感互动的重要组件之一。KINECT所传回来的骨架信息包括每个关节的三维坐标(XYZ),它的单位是M,使用的是右手坐标系统,如图3-14所示。

  图3-14骨架坐标系统

  由于通过KINECT产生的景深数据的信息是有限的,如果要建立一个用户体验良好的体感交互,还应当在此基础上加入人体骨骼的信息。骨骼追踪技术通过处理景深数据来建立人体各个关节的3D坐标。获取骨骼信息的具体过程是:首先通过KINECT发射出红外线,并且通过另一个摄像头来探测红外光的反射,由此可以获得视野范围内每一个像素的深度值,这些深度值就是深度数据,然后物体主体和形状可以最先从深度数据当中最先提取出来,接着通过这些形状信息来匹配人体的各个部分,最后计算出来各个关节在人体中的位置。获取骨骼信息的流程图如图3-15所示。

  图3-15获取骨骼信息流程图

  骨骼信息获取之后,然后计算关节转动的角度,将转动的角度信息装入事先设置好的通信协议数据包中,如将算手举起来的动作对应的平衡小车急停,手臂向前摆动为前行动作,摆动速度对用自平衡小车运行的速度,手臂向后摆动的动作代表小车向后运动,摆动速度即小车运行的速度,手臂弯曲即表示小车的转弯动作。将这些控制数据按照通信协议发送给串口,然后串口通过无线传输装置直接发送给自平衡小车。

  3.5本章小结

  本章主要介绍了工业级自平衡小车软件设计,先介绍了软件的开发工具,然后分别介绍了各个重要功能模块的设计过程以及相关程序设计的流程图。

  4调试

  工业级自平衡小车系统的实验是以自平衡小车为控制对象,对自平衡小车系统的稳定性能和安全性能进行验证的过程。对自平衡小车进行实验的目的有两个:第一是对理论计算的参数值进行验证;第二是对自平衡小车的稳定性进行验证,确定其是否可以胜任在工业环境中的工作。自平衡小车调试分为两部分,第一部分是控制算法测试,进行PID调试,观察工业级自平衡小车的直立能力和抗干扰能力;第二部分是调试自平衡小车的急停系统,通过对KINECT的姿态输入调试,来确定工业级自平衡小车是否可以在紧急情况下及时停机。

  4.1 PID参数调整实验

  工业级自平衡小车的PID参数调试分为三部分,分别是直立环调试、速度环调试和转向环的调试。对于直立环来说,自平衡线小车的转向环和速度环都是干扰。所以第一步应当调试直立环。

  1)直立环调试

  自平衡小车直立环的调试分为三步,首先确定自平衡小车直立时候的倾角值,然后确定Kp和Kd的极性,最后确定这两个参数的大小。

  确定自平衡小车直立时候的倾角值:

  把平衡小车放在地面上,绕电机轴旋转平衡小车,记录能让小车接近平衡的角度,一般都在0°附近的。

  定Kp和Kd的极性:

  首先需要估计kp的取值范围。通过PWM输出的占空比,确定Kp的取值范围;如PWM的100%的占空比由7200表示,自平衡小车在+-10°就使电机达到全速运行时,则Kp的取值为720。显然这个取值是不科学的。通常自平衡小车倾斜到+-30°左右时才会让电机全速转动,所以Kp可以先给一个-240,如果到当小车往哪边倒时,电机会往哪边加速让小车倒下,那么这是一个正反馈的效果,这种情况则说明Kp的极性取反了。

  然后确定Kp的大小,先使Kd的值为0。确定参数的原则是:kp一直增加,直到出现大幅度的低频抖动。如图5-1所示,可以观察到不同的Kp大小,曲线相应的速度和调节量不同。最终确定Kp取450时曲线的响应速度加快,并且来回推动干扰自平衡小车时,自平衡小车开始出现低频的抖动。这种现象说明Kp已经足够大了。

  接着加入微分环节进行抑制自平衡小车的低频抖动的情况,削弱比例控制的作用。确定微分控制系数的方法:引入微分控制的目的是使自平衡小车的比例控制受到减弱,因此Kd将引入一个跟随的效果。前后使自平衡小车旋转时,自平衡小车的轮子会和旋转的方向一起转动,这样的话Kd的参数才是正确的。

  再确定Kd的大小,确定Kd大小的方法是一直增加大自平衡小车出现高频振动。

  最后根据工程经验,将两个参数都乘以0.6。如图5-2所示为最后调试好的输入PWM占空比与输出角度变化的波形图。

  图4-1直立环PID调试输出曲线(1)Kp=350 Kd=0.6

  图4-2直立环PID调试输出曲线(2)Kp=350 Kd=1

  从波形图中可以看出Kd适当增加之后,平衡小车直立时抖动变小了。

  2)速度环调试

  速度环调节方法和直立环调节一样,先确定Kp和Ki的极性,然后确定它们的大小。

  不同的是速度环控制是一种正反馈。确定Kp极性的方法是:关掉直立环,旋转自平衡小车的一个轮子,如果另外一个轮子朝相反的方向旋转,则这是负反馈,如果与旋转的轮子的方向相同,则是正反馈。确定Kp最终大小的效果应当是:小车保持平衡的同时,速度接近于零。如图5-3所示为速度环PID控制输出曲线。

  图5-3速度环PID控制输出曲线(1)

  图4-3速度环PID控制输出曲线(2)

  在上图中,由于机械结构原因,自平衡小车的直立时设置的角度为-2°(358°),可以看出平衡小车保持平衡后,基本处于一个稳定的直立的状态中。

  3)转向环调试

  转向环的系统响应要求比较简单,对响应速度要求不高,所以只用比例控制器调节就可以了。因此调试起来也比较方便。

  图4-4自平衡小车实验

  4.2体感交互调试

  体感调试部分主要是检查KINECT是否可以正常获取关节坐标和骨骼追踪。如图4-5所示,KINECT传感器基本上可以捕捉到各个关节点。如图4-6所示,KINECT可以读出左右手的关节坐标。

  图4-5骨骼追踪

  图4-6关节坐标获取

  4.3本章小结

  本章主要描述了工业级自平衡小车的调试过程,通过平衡小车实际的运行的效果来验证滤波算法和P算法及参数的可行信,从实验结果可以看出,自平衡线小车运行稳定。

  5总结与展望

  本文以自平衡小车为研究对象,主要研究工作有:自平衡小车硬件的设计和软件的设计。在硬件设计的方面做了如下工作:电源电路设计、保护电路设计、元器件选型分析自平衡线小车机械平台搭建;在软件设计的方面做了如下工作:探讨了不同的滤波的效果、调试了PID控制器的参数和控制系统程序的编写。

  本文在自平衡小车研究的领域是一个非常基础性的、探究性的工作。这是本人第一次接触到自平衡小车控制领域,再进行这项工作之前,几乎没有前期的科研成果积累,虽然在导师的悉心指导下,本人自己克服了很多困难,翻阅了相关资料,逐渐的了解和学习相关的知识,做出了一些成果,但是研究深度是有限的,在KINECT图像处理方面还处于一个学习和模仿阶段,没有发挥足够的创新性,另外在自平衡小车控制算法方面,也没有采用神经模煳算法,而只是普通的PID算法,这在实际应用中还是不足的。所以,本文在有些方面还可以予以探讨和改善,主要包括如下方面:

  (1)控制算法的优化。目前用的是PID算法,这种算法在很多方面还是不如模煳算法和其他高级算法,另外,调试参数也是比较麻烦,有待优化。

  (2)KINECT控制优化。目前KINECT控制只是作为开关量来控制的,这个控制方式对于用户的体验并不很好,应当作为一个模拟量去控制平衡小车,这样使自平衡小车运行更加灵活,更有效的执行任务。

栏目分类