基于STM32的履带式机器人控制程序设计毕业论文
2021-11-06 20:04:25
摘 要
本研究是为实现基于 STM32F10 系列 32 位微处理器的履带式机器人控制系统软件(以下简称车控软件)。车控软件作为履带式机器人的控制核心,需要融合小车接收到的实时数据,将其转化为小车的控制信息,以完成小车的各类行进动作。
此车控软件系统基于模块化设计的思路,分为运动学分析模块,姿态解算模块,PID 电机控制模块,PS2手柄控制模块。在这四个模块中,本文重点研究了运动学分析模块,姿态解算模块、PID电机控制模块这三个系统核心模块。
(1)运动学分析模块基于对履带式机器人的两种行进方式的力学分析,先对直线运动的小车进行模型简化,分析受力得出前进与后退的原理,在此基础上,对做转向运动中摩擦力、向心力、惯性力进行力矩演算,确定了转向运动时的模型。
(2)姿态解算模块采用基于MPU9250的DMP姿态解算,通过陀螺仪得到角速度数据,加速度数据由加速度计采集得到,解算出四元数,进而求得欧拉角。PID 电机控制模块使用 PID 控制算法进行 PWM 信号的闭环控制,以达到PS2手柄要求的速度。
通过实验表明,本车控软件能够通过PS2手柄使履带式机器人完成平稳的行进与转向,且性能稳定,有一定的实用价值。
关键词:STM32F10;履带式机器人;运动学分析;姿态解算;PID
Abstract
This research is to realize the tracked robot control system based on STM32F10 series 32-bit microprocessor. System software (hereinafter referred to as vehicle control software). As the control core of tracked robot, vehicle control software needs to fuse the real-time data received by the car and convert it into the control information of the car to complete all kinds of cars. The act of marching.
This vehicle control software system is based on the idea of modular design and is divided into kinematics analysis module, attitude calculation module, PID motor control module and PS2 handle control module. In these four modules, this paper focuses on the kinematics analysis module, attitude calculation module and PID motor control module, which are the three core modules of the system.
(1) Based on the mechanical analysis of the two traveling modes of tracked robots, the kinematics analysis module firstly simplifies the model of the car moving in a straight line, analyzes the force and obtains the principle of forward and backward movement. On this basis, it calculates the moment of friction, centripetal force and inertial force in steering movement and determines the model of steering movement.
(2) The attitude calculation module uses DMP attitude calculation based on MPU9250 to obtain angular velocity data through gyroscopes, acceleration data is collected by accelerometers, quaternions are calculated, and Euler angles are further obtained. PID motor control module uses PID control algorithm to carry out closed-loop control of PWM signal to reach the speed required by PS2 handle. The experiments show that the vehicle control software can make the crawler robot smoothly travel and steer through PS2 handle, and has stable performance and certain practical value.
Key words:STM32F10;; Crawler robots; Kinematic analysis; Attitude calculation; PID
目录
摘要 I
Abstract II
第1章 绪论 1
1.1 研究目的和意义 1
1.2 国内外研究现状 1
1.3 本文研究内容 2
1.4 论文的组织结构 4
1.5 小结 4
第2章 系统整体设计 5
2.1 硬件设计 5
2.1.1 主控芯片选型 5
2.1.2 电机选型 6
2.1.3 MPU选型 7
2.1.4 PS2手柄选型 8
2.2 软件设计 9
2.3 小结 10
第3章 系统硬件模块程序设计 11
3.1 电池电压检测软件设计 11
3.2 PS2手柄控制模块 12
3.3 电机驱动模块的软件设计 14
3.4 传感器数据获取模块 16
3.5 小结 18
第4章 运动学分析与姿态解算 19
4.1 履带式机器人各组件 19
4.2 运动学分析 20
4.2.1 履带式机器人的直线运动 21
4.2.2 履带式机器人的转向运动受力分析 22
4.3 DMP姿态解算 23
4.4 小结 27
第5章 基于PID的电机控制算法设计 28
5.1 总体概述 28
5.2 PID控制器 29
5.3 电机控制算法 31
5.4 小结 35
第6章 系统测试 36
6.1 数字PID参数整定 36
6.2 履带式机器人的行进效果图 37
6.3 小结 37
第7章 总结与展望 38
7.1 结论 38
7.2 展望 38
参考文献 39
致 谢 40
绪论
研究目的和意义
在当下社会,机器人能够代替人类进行各种危险工作,如边境排雷,深海作业;也可以代替人类进行智能工作,如无人机导航,送快递。在节省人力的同时,解放了低级生产力,属于跨时代的智慧产物。履带式机器人作为其中优秀的代表,不仅能在恶劣环境如沙漠和月球进行探索工作,更能够在为其添加智能设备后,与人类进行远距离交互传递信息。在通信技术如5G迅猛发展的今天,履带式机器人各方面的性能也随之有了跨时代的进步。因此,研究发明出高性能,低成本,低耗能的履带式机器人,跟随时代与技术的潮流,是目前需要做的紧要工作。
履带机器人由履带式移动机构和相关搭载设备组成。履带式移动机构由两台步进电机分别驱动两条履带,以相同脉冲驱动时,实现直线前进或后退,以不同脉冲驱动时可实现曲线运动,当以相反脉冲驱动时,可以看成是绕固定轴的旋转运动,该轴过主从动轴所确定平面的几何中心[1]。通过对该机器人运动学分析知,履带式机器人存在封闭逆解,说明该机器人在控制过程中可达到所要求的位姿精度和运动时间,从而能实现实时控制[2]。
本文旨在研究一款包括精准行进和速度在内性能更加优良,同时成本更低的履带式机器人。为此,STM32单片机是中小型机器人的最优选择。STM32的运算速度远高于51单片机,而AGV小车功耗高,可移动性差,结构复杂且较多采用自设计元器件,价格昂贵;电池维护和磁条更换也有成本支出。同时,PID控制是履带式机器人中最关键的技术,其能够控制的精度直接影响到机器人行进的效果,能否有效地解决对机器人的控制系统问题对机器人的发展有重要影响。到目前为止针对行进过程中产生误差与误差的消除难题,解决方案层出不穷,但是如何在消除误差情况下提高自身行进的速度依然是富有挑战性的研究方向。只有不断提高机器人行进的精度和速度,才能使机器人能够更好更快地运用到实际生活中的各个领域。
国内外研究现状
履带式机器人,在轮式机器人的基础上加以改进,能够在极端条件下发挥优良的性能。从1980年以来,首先由国外开展了对小型履带式机器人的初步研究,研究成果包含有NUGV和Urbot机器人,为履带式机器人的系统性发展奠定了基础。我国履带式机器人虽然发展较晚,依然跟随世界潮流,如北航完全自主研制的可重构机器人,为国内的技术走向世界奠定了基础。履带式机器人可分为单节双履带式、双节四履带式、多节多履带式、多节轮履复合式以及自重构式移动机器人:
单节双履带式移动机器人包含有我国自主研制的雪豹20,作为运用于军事行业的新一代排爆机器人,能够在极端恶劣环境下完成预期的工作:控制雪豹20在行进过程中寻找疑似爆炸物,在安装专用抓手后最大能抓取15千克的重物,进而对疑似爆炸物进行对应处理,雪豹20能实现大部分的排爆功能,可以代替人工在未探知区域的实时探测,降低排爆的风险 ,避免作业人员可能遭遇的风险。除此之外,国外最优代表性的单节式履带机器人为ROCOMP,能够实现避障功能与自主行驶,主要运用于物资运输。
双节双履带机器人,小型机器人Quinct是一款实时救援类机器人,配备有大量传感器如红外与CO2,能够实时检测生命体的各项体征,并在危急时刻发出救援信号。在进一步的研究中,为其配置有敏感度极高的机械手,能够实现智能开关门,进而实现各种智能工作,性能优良,是救援类机器人的优秀代表。
多节多履带式机器人,其中优秀代表有我国自主研制的排爆奇兵,在雪豹20的基础上,为其进行进一步的改装,性能相对更加优良,适用于各种地形,对于爬坡避障和对爆炸物的处理功能的实现进行了优化。
多节轮履带复合式移动机器人,能够实现从轮式到履带式的快速变化,适用于各种地形,爬梯性能良好。美国海军陆战队将Andors系列机器人广泛运用于军事作战中,对获取战场信息与进行救援有重要作用。
自重构式机器人能够需求的不同改变自身结构,进而实现不同的功能。主要有:Fukuda 的CEBOT 系统研究了以分布遗传算法、最大最小熵策略、功能重构等使系统自动选择目标系统结构的方法,总结了变形原理与约束规则。
经过查找大量资料发现,对于上述不同种类的履带式机器人均有大量使用AGV作为内置芯片,例如美国研制的VecnaBFAR机器人,作为首次运用到战场的救援类机器人,安装履带驱动系统,能够托起一个成年人的重量。虽然体型巨大且能够适应极端环境,但耗能大且成本高成为将其广泛应用于现实工作生活中的最大阻碍。为解决上述问题,本文针对耗能问题选择了STM32芯片作为内置核心,且基于STM32芯片的多种功能对履带式机器人做了控制实验。
本文研究内容
车控软件作为控制履带式机器人平稳行进的核心,首先要从传感器处获取数据, 通过姿态解算得出此时行进的状态,并且实时处理 PS2手柄发过来的命令, 根据命令内容按照指定的控制算法驱动电机平稳地改变履带式机器人行进速度,实现小车的平稳行进。本文设计的车控软件,在运动学分析的基础上,建立了直线运动与转向运动的力学模型,改良了履带式小车的姿态解算模块,提高了姿态解算结果中四元数的精度和抗干扰能力。根据车控软件各部分模块的不同,本文主要针对以下几方面进行研究:
(1) 硬件系统整体设计
履带式机器人的车控软件是一款嵌入式软件,与硬件平台结合紧密,针对软件各功能的硬件选取十分重要。本文设计的车控软件选用 STM32F10微处理器作为主控芯片,使用蓝牙技术实现主控芯片与 PC 端的无线通信,使用MPU9250,以实时获取履带式机器人的当前姿态数据。在小车动力方面,采用无刷 直流电机与相配对的电子调速器(电调),并配以额定电压为 12V 的稳压电源,作为动力输出。在此硬件基础上,进行车控软件的设计。
(2) 系统硬件模块的程序设计
整个车控软件系统硬件层的软件开发涉及到多个方面,包括:PS2手柄控制模块的软件设计,电机驱动模块的软件设计,传感器数据获取模块的软件设计。在初始时计算电源电压,当电压满足正常工作要求时初始化并正常工作,当运行过程中电量不够,会有声光提示。在传感器数据获取的程序中,STM32F10 微处理器通过陀螺仪,加速度计通信并获取数据;此外,选用MPU9250,在获取数据的基础上进一步解算得到四元数并求得不同状态下的欧拉角;在电机与主控芯片间,使用电子调速器接收从 STM32F10引脚输出的 PWM 信号,控制电机转速。
(3) 运动学分析与姿态解算