第一章 绪 论
自 20 世纪 60 年代中期第一台机器人问世以来,随着科学技术的迅速发展,机器人技术成为一项高新的综合性技术,其涉及的专业知识包括:物理学、动力学、计算机科学、电子学等多个领域[1]。拥有广阔研究前景的移动机器人是整个机器人领域中不可缺少的一部分,它的地位十分重要。移动机器人的种类繁多,最常见的就是通过履带移动的机器人以及通过车轮移动的机器人,但相比之下,轮式机器人的应用范围更广一些,而且它本身的造价较低且具有控制简单、能够在高速下稳定移动的优点,因此具有很高的理论价值和实用价值。双轮自平衡小车是移动机器人的典型代表,它将动力学理论和自动控制理论融合为一体,是一门综合性的研究课题。双轮自平衡小车系统的动力学模型特点为:多变量、非线性、强耦合、参数不确定性等,由此可知:双轮自平衡小车系统看似容易实现,但实际上并非如此,它是一个综合性的,带有检验控制算法能力的复杂系统,例如可以验证和分析具有统一控制层面的航空航天模型和导弹控制模型,因此具有很高的理论研究价值[2]。
除此之外,双轮自平衡小车还是一种便利的交通工具。伴随着汽车工业的快速发展,人们在享受它给生活带来便利的同时也为我们带来了巨大的困扰,其中环境、能源、交通问题最为严重,图 1-1 为环境、能源、交通现状[3]。双轮自平衡小车由于采用高能充电电池作为动力能源已成为一种新型的、便携式交通工具,其节能环保、体积小、无刹车系统、控制方便等特点极大程度上缓解了当今社会严重的大气污染、能源短缺、交通拥挤等问题,在现实生活中双轮自平衡小车已经在警用巡逻、公园、高尔夫球场等场合广泛应用,因此同样具有很高的实用价值。
......
1.2.1 国外研究现状
在 1980 年国外就开始进行了关于双轮自平衡机器人的研究工作,相关设计研究的思想首次被提出是由来自日本东京电信大学自动化系的山藤一雄教授,他于 1987年进行了技术专利申请,经过九年时间后在日本通过了该项专利的申请[4]。1995 年,美国发明家 Dean Kamen 着手对摄位车 Segway 的研究工作,Segway如图 1-2 所示[5]。经过六年的保密研究,Segway 这项发明才被公布于世,又经过两年的时间之后才在美国市场正式上市。Segway 具有与人体的平衡能力类似的动态稳定技术,它由高速的 CPU、五个固态陀螺仪、倾斜传感器三部分构成控制系统,通过惯性传感器迅速检测车体的姿态信息,根据驾驶人的重心偏移快速完成计算,以极高的频率对电机转矩进行调整,使其无论在什么样的条件下均可以自动保持平衡状态。Segway最先推出的产品是Segway HT,除此之外,还有XT和GT两个系列产品,其中 Segway HT 由于需求差异根据尺码、输出和用途不同化分为更多的系列[6]。
2002 年,瑞士联邦工学院研制出一种无线控制的双轮移动机器人 Joe,它的原理与 Segway 相似,Joe 如图 1-3 所示,Joe 的身高为 65 厘米、体重约为 12 千克,最快可以在1秒内移动1.5米,除此之外还能完成30度坡度的移动。双轮机器人Joe的两个轮同轴,但由不同的电机进行驱动[7]。Joe 利用惯性传感器检测机器人的实时姿态信息,电机的转速均由其自身带有的编码盘进行检测,机器人的惯性力和加速度都由编码盘测得的转速获得。机器人Joe利用状态反馈线性控制和极点配置方法共同作用来能完成平衡运行,虽然Joe可以实现直立运行,但是它不能独自从倒地状态恢复到直立。
2003 年,美国南卫理公会大学的 David P.Anderson 独自一人研制出双轮移动机器人 nBot,他的研究成果获得了美国国家航天局的认可和表扬。机器人 nBot 结构复杂且体积较大,其主要设计思想是:在机器人上半部分倾斜时,驱动电机让其向倾斜方向转动,使倾斜的上半部分恢复到直立状态,即机器人恢复平衡状态。nBot 的重心的倾斜程度通过倾角传感器来测量,位置信息由车轮上安装的编码器获取,通过这两种传感器构成反馈控制。机器人 nBot 利用了模糊控制方法来完成自平衡运行,它与机器人Joe具有共同的特点,都可以实现直立运行,但不能独自从倒地状态恢复到直立[8]。
......
第二章 双轮自平衡小车硬件系统设计
双轮自平衡小车系统既有硬件部分也有软件部分,是一个相对复杂的机电一体化系统。其中,硬件系统包括机械部分和控制系统两部分。机械部分的主要作用是承载硬件电路和工作平台的构建,其主要包括:车轮、支架、连杆等。控制系统硬件部分分为:主控制芯片、电机及其驱动、检测模块等。
2.1.1 小车的机械组成
小车的整体结构如图 2-1 所示,由于小车系统是由倒立摆演化而来,因此可以将其与倒立摆进行类比:轮轴上方的部分称作车体部分,它相当于倒立摆的摆杆,轮轴以下的部分为车轮等效于倒立摆的底座。车的运动与停止都是由电机控制的,车体部分与轮轴相连,可以以竖直方向为基准向前或向后摆动[19]。
2.1.2 工作原理
双轮自平衡运动小车系统由两个部分构成,即车体和车轮。车轮通过车轴与电机相连,电机转动时会产生转矩,使车轮随之转动。电机转动的正反方向决定着车轮的转动方向,如图2-2所示,当车体倾斜时,适当的调整电机的正反转使小车向着倾斜方向运动,就可以将车体保持在竖直状态,从而实现小车的动态平衡,这就是小车的自主平衡原理[20]。具体来说,车体的倾斜分为两种情况,第一种是在小车前进过程中发生的车体后仰;第二种是在小车后退过程中发生的车体前倾。当发生第一种情况时,改变电机转向使小车后退,由于惯性,车体会出现前倾的趋势,从而使车体达到平衡状态。同理,当出现第二种情况时,将电机改为正向旋转,使车体出现后仰趋势,即可使车体平衡。小车在实际运行中以上两种情况会交替出现,因此通过不断调整电机转向就可以保证小车处于动态直立的状态。
......
在小车的控制系统中,对硬件部分的设计同软件部分一样重要,它是小车的灵魂所在。对于自平衡控制系统来说,它的作用是实时检测小车的运动状态,当小车的姿态改变时,由系统中的中央微处理器对反馈的信息进行处理,之后将控制命令发送给电机,通过改变电机转向使小车达到平衡。其中,小车姿态检测和反馈都是通过硬件电路实现的。除此之外,车体的平衡状态、工作状态、稳定性等也与硬件的性能息息相关,可以说硬件电路的设计和选型是任何控制系统都不可缺少的组成部分。小车的控制系统以模块化的方法设计各个模块的硬件电路,主要包括主控制芯片单元及相应的外围电路、电机驱动单元、传感器检测单元,双轮自平衡运动小车系统框图如图2-3 所示。
由图 2-3 中可以看出,主控制器采用的是 ATmega16 型 AVR 单片机,陀螺仪加速度传感器使用的是 MPU6050,电机由 L298 来驱动。通过 MPU6050 对小车的姿态信息进行测量,即对小车的角度和角速度信号进行测量,测量数据经过 A/D 采样芯片传输到 AVR 单片机,同时通过霍尔测速传感器测取电机旋转的脉冲变化,经单片机外部中断采集计算得到电机的转速,即小车的速度,AVR 单片机接收经过 A/D 采样芯片转换后的小车速度,然后根据传输过来的两路信号转变成两路 PWM 波控制L298 驱动电机,从而控制电机来合理动作,如此达到闭环控制,小车最终达到平衡状态。
ATmega16 型 AVR 单片机的数据接口为标准的 JTAG 接口,它是一种多功能接口,通过它不仅可以实现程序的下载和烧录,还能进行程序的仿真,因此本文中所有单片机的程序下载、仿真、烧写都是依靠 JTAG 接口实现的,但是在使用 JTAG 接口进行下载工作之前,必须先让其熔丝位使能,另外,可以直接通过 JTAG 接口观察仿真器和软件的工作情况。ATmega16 有 4 组 I/O 口,每组 8 个共计 32 个,在本文中仅用到其中的 20 个作为可编程的输入和输出接口,由于很多接口都具有不止一个功能位,所以 20 个 I/O 接口完全可以实现本文所设计的功能。ATmega16 的另一个特点就是它的中断方式多,算上常用的外部中断以及定时器中断,它的中断种类总共有 21 种。
......
3.1 系统运动学模型的建立 ............................................. 19
3.2 系统动力学模型的建立 ................................................. 21
第四章 线性二次型最优控制方法研究 .................................... 30
4.1 典型的控制方法 .................................................... 30
4.1.1 PID 控制..................................................... 30
第五章 系统仿真结果及分析....................................... 40
5.1 LQR 控制算法仿真实验 .............................................. 40
5.1.1 小车上电平衡性仿真实验 ..................