arduino的平衡车设计与实现【字数:20628】
两轮平衡车是倒立摆的延伸研究,是一种典型的非线性、强耦合、多变量、时变和自然不稳定的系统,其特性用于作为各种运动控制算法的验证平台。其次,两轮平衡车以其结构简单、节能环保、便携新颖的特点,深受人们大众的青睐。并在社会生活的各个领域均有广泛的使用,民用短途代步车,军用排雷机器人等等。本文从两轮平衡车结构出发,分析车体在平衡瞬时的力学平衡,得到平衡方程式。由此计算并创建对应的数学模型,得到两轮车模型的状态空间表达式。设计了一种PID控制算法实现对于平衡车的姿态控制,采用PI算法控制平衡车速度,采用PD算法控制平衡车的转向。并通过MATLAB/Simulink进行一些理论仿真。然后设计了一款以Arduino为主控制器的平衡车,将以上控制算法在实际的系统中加以验证。系统中采用陀螺仪测量车体的姿态,加速度计采集三轴加速度信息,针对陀螺仪和加速度计的传感器数据收集的累积误差通过互补滤波和Kalman滤波算法的数据融合获取姿态信息;通过主控制器对采集数据结合控制算法,分别对平衡车的平衡、转向、速度控制采用PD控制、PI控制、PD控制并通过返回的PWM值调节电机来控制车轮速度。模拟仿真与实物实验验证了算法的有效性。
目 录
1.绪论 1
1.1选题背景及意义 1
1.2 国内外研究情况分析 1
1.2.1关于倒立摆的研究 1
1.2.2两轮平衡机器人的研究 2
1.3论文内容 3
2.系统建模及分析 4
2.1设计方案的核心问题 4
2.2姿态信息获取分析 4
2.3控制算法的分析 5
2.4 系统设计方案的选择 5
2.5系统建模 5
2.6系统状态方程 9
3. 算法设计 11
3.1姿态数据融合算法设计 11
3.2编码器测速算法 12
3.3控制算法设计 13
3.3.1平衡控制算法 14
3.3.2速度控制算法 15
3.3.3转向控制算法 15
3.4 PWM调速 16
3.5 PID控制算法仿真 16
4. 硬件设计与实现 19
*好棒文|www.hbsrm.com +Q: ^351916072#
4.1 总系统设计 19
4.2 主控芯片 20
4.3电路稳压模块 21
4.4姿态获取模块 22
4.5 电机选择 23
4.6电机驱动模块 24
4.7 编码器模块 25
4.8 蓝牙模块 26
5. 系统软件设计 28
5.1总体程序设计 28
5.2卡尔曼滤波程序设计 28
5.3直立控制程序设计 29
5.4速度控制程序设计 29
5.5转向控制程序设计 30
5.6编码测速程序设计 30
6.系统分析与调试 11
6.1 系统模型的分析 31
6.2 姿态信号获取调试 32
6.3 系统平衡环调试 33
6.4系统速度环调试 34
6.5系统转向控制调试 34
6.6系统遥控调试 34
7. 总结 11
7.1总结 38
7.2可持续发展的影响 38
参考文献 39
附录 41
致谢 48
1.绪论
1.1选题背景及意义
近年来,随着经济发展与时代进步,机器人技术不断推陈出新,我们的生活在各个方面的层次都有了提高。越来越多的人对于生活的质量提出了更高的追求,优质生活使更多的人能买的起汽车,在人们享受汽车的便捷和高效同时,随之而来的汽车带来的道路拥堵、尾气排放对于环境的污染、石油能源的消耗等问题对于人们的生活提出新的挑战。这时出现了一种新型代步工具——载人平衡车,这种平衡车的出现为解决传统汽车带来的一系列问题的发展提供了一个新的方向。平衡车以电为能量来源,通过电机驱动控制运动,通过改变重心位置来控制运动方向。具有无污染、结构简单、易于收纳的特点。
两轮平衡车是移动机器人的一种,其结构控制类似于一阶直线倒立摆和轮式机器人的组合。倒立摆系统作为自控研究的领域内的经典的研究课题,具有变量多、非线性、强耦合等多特性。从控制系统来说,两轮自平衡机器人有着很高的研究价值。从实际生活来说,两轮自平衡电动车节能便捷,小巧灵活,其运用的空间广泛,发展优势明显。目前,两轮自平衡机器人在民用、安防、工业和军事领域都有广泛的运用。安防用的双轮警用巡逻车;军事的双轮寻雷车;民用的代步工具;工业用的物流运输车。因此对两轮自平衡机器人进行设计研究,能够为自平衡车的设计提供新的设计思路和控制方法,拓展两轮自平衡车的运用领域具有重要意义。
本课题以绿色出行为背景,以两轮平衡车模型为对象,研究近年出现的载人两轮平衡车的实现原理,为完成对于两轮平衡车的控制系统的硬件、软件和控制算法设计。通过课题的训练,掌握平衡车系统的组成结构及工作原理,掌握基于Arduino进行系统硬件设计、软件设计和控制算法设计的基本流程和方法。培养系统分析与综合设计以及将基础理论、专业知识和基本技能综合应用到具体的工程设计中去的能力,锻炼解决自动化领域复杂工程问题的能力。
1.2 国内外研究情况分析
1.2.1关于倒立摆的研究
关于倒立摆的控制研究一直是控制领域的热点问题,国内外学者对于倒立摆的控制问题的研究都有丰富的经验和成果。国外对于倒立摆问题的研究始于20世纪50年代,而国内的研究相比晚了一些从20世纪七八十年代开始。倒立摆的研究从最初的较为简单的直线倒立摆转到平面倒立摆和旋转倒立摆的控制。
直线倒立摆的控制研究
1966年,Schaefer J F等人采用BangBang控制实现对于一级倒立摆的稳定控制[30];1972年,Sturegeon W R采取极点配置和动态观测器实现二级倒立摆的控制;1978年,Furuta K等人通过降维观测器重构系统状态实现稳定控制三级倒立摆,92年他们又完成了变结构控制直线倒立摆[33];1995年,Tetsuhiko等人实现了遗传算法神经网络控制单级倒立摆[34];1999年,李德毅通过运算法实现三级倒立摆的控制[2];2002年,李洪兴运用变论域自适应模糊控制器首次实现四级倒立摆稳定控制,成为世界首次实现四级倒立摆实物实时控制的人[9]。
平面倒立摆的控制研究
目 录
1.绪论 1
1.1选题背景及意义 1
1.2 国内外研究情况分析 1
1.2.1关于倒立摆的研究 1
1.2.2两轮平衡机器人的研究 2
1.3论文内容 3
2.系统建模及分析 4
2.1设计方案的核心问题 4
2.2姿态信息获取分析 4
2.3控制算法的分析 5
2.4 系统设计方案的选择 5
2.5系统建模 5
2.6系统状态方程 9
3. 算法设计 11
3.1姿态数据融合算法设计 11
3.2编码器测速算法 12
3.3控制算法设计 13
3.3.1平衡控制算法 14
3.3.2速度控制算法 15
3.3.3转向控制算法 15
3.4 PWM调速 16
3.5 PID控制算法仿真 16
4. 硬件设计与实现 19
*好棒文|www.hbsrm.com +Q: ^351916072#
4.1 总系统设计 19
4.2 主控芯片 20
4.3电路稳压模块 21
4.4姿态获取模块 22
4.5 电机选择 23
4.6电机驱动模块 24
4.7 编码器模块 25
4.8 蓝牙模块 26
5. 系统软件设计 28
5.1总体程序设计 28
5.2卡尔曼滤波程序设计 28
5.3直立控制程序设计 29
5.4速度控制程序设计 29
5.5转向控制程序设计 30
5.6编码测速程序设计 30
6.系统分析与调试 11
6.1 系统模型的分析 31
6.2 姿态信号获取调试 32
6.3 系统平衡环调试 33
6.4系统速度环调试 34
6.5系统转向控制调试 34
6.6系统遥控调试 34
7. 总结 11
7.1总结 38
7.2可持续发展的影响 38
参考文献 39
附录 41
致谢 48
1.绪论
1.1选题背景及意义
近年来,随着经济发展与时代进步,机器人技术不断推陈出新,我们的生活在各个方面的层次都有了提高。越来越多的人对于生活的质量提出了更高的追求,优质生活使更多的人能买的起汽车,在人们享受汽车的便捷和高效同时,随之而来的汽车带来的道路拥堵、尾气排放对于环境的污染、石油能源的消耗等问题对于人们的生活提出新的挑战。这时出现了一种新型代步工具——载人平衡车,这种平衡车的出现为解决传统汽车带来的一系列问题的发展提供了一个新的方向。平衡车以电为能量来源,通过电机驱动控制运动,通过改变重心位置来控制运动方向。具有无污染、结构简单、易于收纳的特点。
两轮平衡车是移动机器人的一种,其结构控制类似于一阶直线倒立摆和轮式机器人的组合。倒立摆系统作为自控研究的领域内的经典的研究课题,具有变量多、非线性、强耦合等多特性。从控制系统来说,两轮自平衡机器人有着很高的研究价值。从实际生活来说,两轮自平衡电动车节能便捷,小巧灵活,其运用的空间广泛,发展优势明显。目前,两轮自平衡机器人在民用、安防、工业和军事领域都有广泛的运用。安防用的双轮警用巡逻车;军事的双轮寻雷车;民用的代步工具;工业用的物流运输车。因此对两轮自平衡机器人进行设计研究,能够为自平衡车的设计提供新的设计思路和控制方法,拓展两轮自平衡车的运用领域具有重要意义。
本课题以绿色出行为背景,以两轮平衡车模型为对象,研究近年出现的载人两轮平衡车的实现原理,为完成对于两轮平衡车的控制系统的硬件、软件和控制算法设计。通过课题的训练,掌握平衡车系统的组成结构及工作原理,掌握基于Arduino进行系统硬件设计、软件设计和控制算法设计的基本流程和方法。培养系统分析与综合设计以及将基础理论、专业知识和基本技能综合应用到具体的工程设计中去的能力,锻炼解决自动化领域复杂工程问题的能力。
1.2 国内外研究情况分析
1.2.1关于倒立摆的研究
关于倒立摆的控制研究一直是控制领域的热点问题,国内外学者对于倒立摆的控制问题的研究都有丰富的经验和成果。国外对于倒立摆问题的研究始于20世纪50年代,而国内的研究相比晚了一些从20世纪七八十年代开始。倒立摆的研究从最初的较为简单的直线倒立摆转到平面倒立摆和旋转倒立摆的控制。
直线倒立摆的控制研究
1966年,Schaefer J F等人采用BangBang控制实现对于一级倒立摆的稳定控制[30];1972年,Sturegeon W R采取极点配置和动态观测器实现二级倒立摆的控制;1978年,Furuta K等人通过降维观测器重构系统状态实现稳定控制三级倒立摆,92年他们又完成了变结构控制直线倒立摆[33];1995年,Tetsuhiko等人实现了遗传算法神经网络控制单级倒立摆[34];1999年,李德毅通过运算法实现三级倒立摆的控制[2];2002年,李洪兴运用变论域自适应模糊控制器首次实现四级倒立摆稳定控制,成为世界首次实现四级倒立摆实物实时控制的人[9]。
平面倒立摆的控制研究
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/999.html