当前位置:文档之家› 基于STM32的机械臂运动控制分析设计说明书

基于STM32的机械臂运动控制分析设计说明书

机器人测控技术大作业课程设计课程设计名称:基于STM32的机械臂运动控制分析设计专业班级:自动1302学生姓名:张鹏涛学号:201323020219指导教师:曹毅课程设计时间:2016-4-28~2016-5-16目录摘要 (V)第一章运动模型建立...................................................................................... V I1.1引言 ................................................................................................ V I1.2机器人运动学模型的建立.................................................................. V I1.2.1运动学正解 (VIII)第二章机械臂控制系统的总体方案设计 (X)2.1机械臂的机械结构设计 (X)2.1.1臂部结构设计原则 (X)2.1.2机械臂自由度的确定 (XI)2.2机械臂关节控制的总体方案 (XI)2.2.1机械臂控制器类型的确定 (XI)2.2.2机械臂控制系统结构 (XII)2.2.3关节控制系统的控制策略 (XIII)第三章机械臂控制系统硬件设计 (XIII)3.1机械臂控制系统概述 (XIII)3.2微处理器选型 (XIV)3.3主控制模块设计 (XV)3.3.1电源电路 (XV)3.3.2复位电路 (XVI)3.3.3时钟电路 (XVI)3.3.4 JTAG调试电路.................................................................. X VII3.4驱动模块设计................................................................................. X VII3.5电源模块设计.................................................................................. X IX 第四章机械臂控制系统软件设计................................................................... X X4.1初始化模块设计............................................................................... X X4.1.1系统时钟控制....................................................................... X X4.1.2 SysTick定时器 (XXII)4.1.3 TIM定时器 (XXIII)4.1.4通用输入输出接口GPIO (XXIV)4.1.5超声波传感器模块 (XXV)总结 (XXVI)参考文献 (XXVII)附录A ......................................................................................................... X XIX 附录B . (XXX)设计要求:设计一个两连杆机械臂,具体参数自行设计,建立其运动学模型,然后在此基础上完成该机械臂两点间的路径规划,并给出仿真结果。

设计完成上述目标的控制系统,控制器可以自行选择(单片机,ARM,DSP,PLC等),其他硬件部分根据系统所需要完成的功能自行选择,基本要求要体现系统的输入,输出信号和人机交互界面,画出整个系统的硬件结构(电路模块,驱动模块,控制模块等)和软件部分。

摘要由于机械臂在各行各业中得到了愈来愈广泛的应用,机械臂控制的多样化、复杂化的需要也随之日趋增多。

作为当今科技领域研究的一个热点,提高机械臂的控制精度、稳定性、操作灵活性对于提高其应用水平有着十分重要的意义。

经过仔细的分析和研究之后,我选择的是STM32单片机进行控制,而自由臂选择工业中常见的四自由臂进行设计和建模分析,运动的控制选用舵机进行控制。

首先根据机械臂系统的控制要求,整体上设计出单CPU 的系统控制方案,即通过控制主控制器输出的PWM 波的占空比实现对舵机转动的控制,进而实现各个关节的位置控制。

在硬件方面,主要论述了如何以ARM 微处理器STM32F103ZET6、MG995舵机为主要器件,通过搭建硬件平台和设计软件控制程序构建关节运动控制系统。

然后按照结构化设计的思想,依次对以上各部分的原理和设计方法进行了分析和探讨,给出了实际的原理图和电路图。

在软件设计方面,按照模块化的设计思想将控制程序分为初始化模块和运行模块,并分别对各个模块的程序进行设计。

关键词:四自由度机械臂,STM32,运动模型,脉冲宽度调制第一章运动模型建立1.1引言机器人运动学描述了机器人关节与组成机器人的各刚体之间的运动关系。

机器人在工作时,要通过空间中一系列的点组成的三维空间点域,这一系列空间点构成了机器人的工作范围,此工作范围可通过运动学正解求得。

此外,根据机器人末端执行器的位置和姿态要求,通过运动学逆解求得各个关节转角,可以实现对机器人进行运动分析、离线编程、轨迹规划等工作。

机器人控制的目的就在于它能快速确定位置,这使得机器人的运动学正逆解问题变得更为重要。

只有计算与运动学正逆解问题相关的变换关系在尽可能短时间内完成,才能达到快速准确的目的。

在运动学方程正解过程中,只体现在矩阵相乘关系上,相对简单。

1.2机器人运动学模型的建立本文所研究的机器人由四个旋转关节和四个连杆组成,故为四自由度机器人,如图1.1所示。

图1.1用齐次坐标来描述机器人各连杆相对于参考坐标系的空间几何关系;用4×4的齐次变换矩阵来描述相邻两杆的空间几何关系;从而推导出机器人手爪坐标系相对于参考坐标系的空间位姿关系,利用该法得到的D-H参数如表1所示。

图1.2机器人连杆坐标系表1 机器人连杆的D-H参数连杆变换表示连杆坐标系{i}相对于{i-1}的变换,根据连杆变换的通式:(1)其中:得到各连杆之间的变换矩阵(2)(3)(4)式中:s1,s2,s3,s4;c1,c2,cs3,c4分别表示sinθ1,sinθ2,sinθ3,sinθ4; cosθ1, cosθ2, cosθ3, cosθ4以下同。

由矩阵(1)可知:连杆变换依赖于四个参数和,其中只有一个参数是变化的,对于本文所研究的机器人,显然只有为变量,其余三个参数为常量。

1.2.1运动学正解机器人运动学正解指:在已知机器人各关节变量θi(i=1,…,n)的基础上,求解出机器人末端执行器的位置矢量p和姿态矢量n,o,a的过程。

将连杆变换矩阵(2)~(4)相乘,便得到了该机器人手爪的运动学方程(5) 其中,机器人手爪姿态方程为机器人手爪的位置方程为为检验所得结果的正确性,取θ1=90°,θ2=0°,θ3=-90°,θ4=0°计算的值。

结果为:与图1所示机器人手爪的位姿完全一致,表明所得结果正确。

这样只要知道关节变量θ1,θ2,θ3和,θ4的值,就可以完全确定机器人手爪的位置和姿态。

第二章机械臂控制系统的总体方案设计2.1机械臂的机械结构设计2.1.1臂部结构设计原则作为机械臂的一个重要组成部分,手臂不仅起到支撑被抓物体、手爪和其他关节的作用,而且还可以驱动手爪抓取物体,并根据事先预定的位置将物体搬运到指定地点。

机械臂的结构形式必须基于其运动形式、动作自由度、抓取质量、受力情况和其他的因素来确定,整个系统的总质量比较大,受力也比较复杂,其运动部件的质量直接影响到机械臂的刚度和强度。

所以,进行手臂的设计时,一般应注意下述要求:(1)刚度要大。

为了避免机械臂在运动过程中发生较大的形变,要合理选择手臂的截面形状。

(2)导向性要好。

为了避免机械臂在运动过程中发生不必要的相对运动,臂杆最好设计成方形或是花键等形式。

(3)偏重力矩要小。

要尽可能减小机械臂运动部分的质量。

该设计根据机械臂的功能及搬运工作的任务的特点以及类型,为了使其在一定程度上具有操作的灵活性和运行性能的良好,经过多次的比较、讨论后,该设计选用多关节型的机械臂,它不仅具有动作的角度大的优点,还可以使机械臂在更大的空间内的运动。

2.1.2机械臂自由度的确定机械臂的自由度是一个非常重要的参数,取决于机械臂的类型及其结构,并且在很大程度上直接决定到机械臂能否完成预定的任务。

一般来说是根据机械臂的用途来设计机械臂的自由度。

自由度越多的机械臂,具有更大的运动的灵活性,通用性也越强,但结构较复杂,难以实现。

所设计的搬运机械臂采用四个自由度就可以完成设定的搬运任务。

其中机械臂的手臂的旋转关节包括腰关节、肩关节、肘关节和腕关节四个关节以及末端手爪的开合。

2.2机械臂关节控制的总体方案2.2.1机械臂控制器类型的确定作为机械臂的心脏,机械臂控制器是根据程序指令和从传感器获得的传感信息来控制机械臂完成事先预定的动作或任务的装置,控制器的性能决定了机械臂控制性能的好坏。

从计算机结构、控制方式方面来划分,机械臂控制器大约可分为3种:单CPU 集中控制方式、多CPU 分布式控制方式、二级CPU 主从式控制方式。

(1)单CPU 集中控制方式:单CPU 集中控制系统必须是一个强大的控制系统,它的全部控制功能是用一台功能强大的计算机实现的。

Hero-Ⅰ、Robot-Ⅰ等这些时代较早的机器人采用的就是这种单CPU 集中控制方式的结构,但由于在控制的过程中需要进行大量的计算,因此这种控制方式的控制速度一般比较慢。

(2)多CPU 分布式控制方式:多CPU 分布式控制系统的最大特点就是一个CPU负责控制一个关节轴,同时在上位机与单轴控制的CPU 之间设计了一个并行接口,其主要负责上、下位机的通信,从而保证了数据的可靠传输。

(3)二级主从式控制方式:该控制方式需要主从两个CPU,即上位机和下位的单片机两层结构。

上位机负责运动轨迹的规划、运动学计算等任务,根据预定的位置,计算出各个关节的运动量,以指令形式传送给下位的微处理器。

下位的微处理器根据指令对各关节进行运动控制。

本课题所设计的机械臂系统基于STM32微处理器,利用STM32强大的运算和处理能力,采用单CPU 集中控制方式即可满足要求。

2.2.2机械臂控制系统结构本课题研究的机械臂控制系统采用单CPU 集中控制方式,系统框图如下:图2.1 机械臂控制系统结构图计算机用于完成整个系统的管理、发送指令、运动轨迹规划等。

相关主题