基于单片机的三关节机器人控制系统的设计毕业论文
2021-06-07 23:00:41
摘 要
随着科技水平的进步,机器人开始在很多领域取代人类做着重复、繁重、枯燥的工作。为了使其更方便更让人放心地服务人类,必须去研究机械手臂内层控制系统,包括机械结构设计、运动算法设计和安全稳定性考核。本文所研究的课题是设计并且搭建三关节机器人控制系统,让该控制系统平滑稳定地完成一系列指定任务。
本文设计并搭建了该系统控制部分的核心电路和机械手臂的实物,在keil4平台上编写了核心控制器stm32的主要程序,实现了上位机与系统的异步串行通信功能,产生脉冲波形功能,限位信号、原点信号和驱动报警信号的功能和三关节直线及两关节弧线插补运动的功能。本文在笛卡尔坐标系中建立了三关节机械手臂的数学模型,分析了该机械手臂正运动学控制和逆运动学问题的求解过程。利用MATLAB软件进行了直线插补算法和弧线插补算法的验证,并使用MFC制作了该系统的上位机。最后,对系统进行了软硬件联合调试,测试了主要的功能。
本文使用了模块化的编程思想,加快了系统软件的开发过程。通过设置两个机械臂的臂长相等减少了大量的反三角函数运算,从而减轻了控制器的负担。同时,通过细化笛卡尔坐标系的坐标间隔,优化了机械手臂末端的定点误差。
关键词:单片机;三关节机器人;matlab;逆运动学分析;插值算法
Abstract
With the improvement of science and technology, the robot begins to replace people to do the heavy, repetitive and boring works in a growing number of areas. In order to bring human beings more convenience and safety, the inner control system of the robot arms must be researched including the design of mechanical structure, the design of kinematics algorithm and the safety and stability assessment. A three joint robot arm control system which could execute a series of tasks is designed in this article.
Firstly, the core circuit of the robot arm control system and the objects are designed and built. The software of this system is mainly finished in the keil4 platform, which realizes the asynchronous serial communication between the system and the PC, generates a series of pulse waveform, sets up the limit signal ,origin signal and the alarm signal, completes the function of straight and arc interpolation. The mathematical model of three joint robot arm in the Cartesian coordinate system is established, and the solving process of mechanical arm kinematics control and inverse kinematics problem is analyzed. The validation of the linear interpolation algorithm and arc interpolation algorithm problem is proved by using MATLAB software. Then, the host computer software is designed by MFC, which can communicate with the microcontroller successfully. Finally, the software and hardware of the system are combined to debug, and the main function of the system is tested.
The thought of modularization is applied in this system, which accelerates the process of the development. Because the length of the two arms is designed to be equal, a large number of inverse trigonometric functions are reduced to alleviate the burden of the microcontroller. At the same time, the fixed point error of the end of the robot arm is optimized by thinning the coordinate space of the Cartesian coordinate system.
Keywords: microcontroller;three joint robot;matlab;inverse kinematics analysis;interpolation algorithm
目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 国内外研究现状 1
1.2 发展前景 1
第2章 系统硬件设计 2
2.1 机械结构的设计 2
2.2 结构材料的选择 2
2.3 核心电路的设计 3
2.3.1 主控芯片的选择 3
2.3.2 驱动电机的选择 3
2.3.3 驱动报警电路的设计 4
2.3.4 供电部分的设计 4
2.4 硬件原理图设计 5
2.5 硬件平台效果图 6
第3章 系统软件设计 7
3.1 单片机主程序设计 7
3.2 舵机驱动部分的实现 8
3.3 通信部分的实现 9
3.4 相关控制信号的实现 11
3.5 运动学分析 11
3.5.1 几何模型的建立 12
3.5.2 正运动学分析 13
3.5.3 逆运动学分析 13
3.6 轨迹规划与插值算法 14
3.6.1 轨迹规划 14
3.6.2 插值算法 15
3.6.3 插补运动的分析 15
3.6.4 插补运动的仿真 19
第4章 上位机的编写 21
4.1 用户界面的搭建 21
4.2 通信功能实现 21
4.3 其他上位机 23
第5章 联合调试 24
5.1 单关节运动调试 24
5.2 插补运动调试 24
5.3 运动过程的优化 25
第6章 结论 27
参考文献 28
附录 29
致谢 44
第1章 绪论
1.1 国内外研究现状
近些年来,人类不断地开拓未知的空间领域。在一些极端的环境中,人类无法进行生产和工作,因而运用仿生学的知识创造了类似人类手臂的复杂机械。机械手臂的诞生不仅可以将人类从一些繁重重复枯燥的劳动中解脱出来,还可以为人类探索宇宙的未知深空领域和海底世界。不同于其他任何机械装置,在某些特殊领域机械手臂就是人类的替代品。然而到目前为止,无论哪一款机械手臂都没有人类真正的双手灵活,尤其当人类需要获得机械手臂更全方位的服务时,机械手臂工作起来就力不从心了。比如,在服务和医疗行业中,机械手臂首先要保证的是自身的安全性和稳定性。在与人类面对面交互时,机械手臂的核心控制算法必须是十分严谨的,不允许出现任何漏洞,因此人类一直在不断研究改进机械手臂,使它的灵活性和机动性更接近人类双手。
我国在机械手臂结构设计和控制理论的研究等方面起步比较晚,世界上大部分发达国家都已经开始将各种类型的机械手臂应用在工业、服务及航天等各个领域。虽然我国也已经正式将机械手臂投入到实际生产中,然而其控制精度和控制方式都远远达不到国外的先进水平。我国工业机器人起步于20世纪70年代初,在国家的支持下,目前我国已经掌握了机械手臂的软硬件设计技术和一系列较为基础的控制方法,开发出了喷漆、点焊、搬运和装配等机器手臂。