登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 电子科学与技术 > 正文

基于uArm Swift机械臂轨迹规划研究毕业论文

 2020-02-17 11:02  

摘 要

随着科学技术的迅发展,机器人与机械臂逐渐走入人们的日常生活,机械臂的轨迹规划是其中的关键技术之一。本文将以uArm Swift机械臂为研究对象,对uArm Swift机械臂的硬件结构、软件开发及坐标选择进行研究,本文首先建立了uArm Swift机械臂运动模型,建立机械臂的正逆运动学方程,配置Python语言环境,在Pycharm中编写了机械臂搬运象棋的代码。实验结果表明机械臂能够平稳、准确的完成既定的轨迹规划的位移,该项目完成设计目标。

关键字:机械臂; 轨迹规划; Python; uArm Swift

Abstract

With the rapid development of science and technology, robots and robotic arms have gradually come into People's Daily life. The trajectory planning of robotic arms is one of the key technologies. In this paper, the hardware structure, software development and coordinate selection of uArm Swift robotic arm are studied by taking uArm Swift robotic arm as the research object. Firstly, the motion model of uArm Swift robotic arm is established, the forward and inverse kinematics equation of the robotic arm is established, Python language environment is configured, and the code of carrying chess of the robotic arm is written in Pycharm. The experimental results show that the robot arm can smoothly and accurately complete the displacement of the given trajectory planning, and this project completes the design goal.

Key words: Robot arm; Trajectory planning; Python; uArm Swift

目录

第1章 绪论 1

1.1 机械臂轨迹规划研究的背景 1

1.2机械臂的国外研究现状 1

1.3 机械臂的国内研究现状 2

1.4 机械臂研究内容与章节安排 3

1.5本文的主要研究内容及章节安排 3

1.6 章节小结 4

第2章 uArm Swift机械臂的控制方案论证 5

2.1 ROS开发平台 5

2.2 Arduino 开发平台 5

2.3 Python语言开发平台 6

2.4 本章小结 7

第3章 机械臂运动学理论 8

3.1 机械臂的理论基础 8

3.1.1 位姿和坐标系描述 8

3.1.2 平移和旋转坐标变换 10

3.2 机械臂的运动分析 13

3.2.1 D-H参数法 13

3.2.2 正运动学分析 14

3.2.3 机械臂的逆运动学求解 16

3.3机械臂的静力控制 20

3.4 本章小结 21

第4章 硬件介绍 22

4.1 uArm Swift 简介 22

4.2硬件结构 23

4.3技术参数 24

4.4通讯协议 24

4.5 本章小结 25

第5章 软件实现 26

5.1 uArm Python SDK API 26

5.2.设计思路 27

5.3程序运行分析 28

5.4结果分析 29

5.5本章小结 30

第6章 总结与展望 31

6.1项目研究内容特色 31

6.2研究展望 32

参考文献 33

附录A 完整代码 35

致谢 41

绪论

1.1 机械臂轨迹规划研究的背景

机械臂作为近些年来发展起来的模仿人手臂的自动器械,它具有越来越多的功能,包括搬运物体、按照设定抓取物体、运用工具完成特定的带有危险性质的工作。机械臂的产生可以取代工人完成一些单调、重复且繁重的工作,可以帮助实现生产的自动化与机械化,帮助改善工人的工作环境,代替工人在对人体有害的环境中进行工作,,保证了人身安全。由于机械臂以上的种种作用,它被广泛的应用于冶炼金属、电子、制造机械等诸多部门

随着科学的发展,机械臂也在历史的舞台中占据越来越重要的位置。上个世纪60年代,世纪上第一台工业机器人在美国诞生,这标志了工业机器人进入了新的时代。然而,随着科技越来越快的发展,人们对机械臂的要求也越来越高,机械臂的稳定性与可靠性逐渐成为评价机械臂好坏的重要标准,而平稳性与可靠性就要求机械臂要尽可能的避免冲击与振动,为了达到这个目的,机器臂的轨迹规划就显得尤为重要。轨迹规划应用在机械臂中作中的各个方面,比如工作中的角速度与角加速度问题等等,由此可见,机械臂的轨迹规划在机械臂的研究领域中占有重要位置。

机械臂的轨迹规划也同样应用于机器人的各个领域中,其中一个重要的领域便是应用于机器人导航。路径规划是机器人导航中最重要的一环,因此,规划规划在机器人领域中被着重研究,这也同样证明了路径规划的重要性。一个优秀的路径规划不仅仅包括了路径的质量期望也同样包含着规划速度等等方面,随着这些年研究的深入,轨迹规划在机器人和机械臂领域都凸显了越来越重要的作用与地位。

1.2机械臂的国外研究现状

相比于国内机器人的发展状况,国外机器人要发展的更早。早在1958年,美国早就成功开发出世界上第一台机械手,它的控制系统是示教型的,也被称为示教型机械臂,这是第一代示教型机械臂的鼻祖。到近年来,国外的机器人领域的研究依然领先国内。

2014年,CRAINIC MF, PREITL S, SANDRU LA等人设计出了一种用于书写的机械臂:2017年,Saugat Bhattacharyya, Amit Konar,,Senior Member等人设计了一种利用运动图像激活误差相关电位驱动机械臂的控制方案;2018年,Kelly Merckaert,Albert De Beir,Nick Adriaens设计了一种回收罐自动分拣系统机械臂的控制方法;同一年Huseyin Celikag,Neil D. Sims,Erdem Ozturk提出了末端执行器位置测量(EEPM)方法,并引入了独立负载和测量臂来演示EEPM的概念,这种方法保证末端执行器位置精度的前提下,可以大幅度降低肢体的重量。

1.3 机械臂的国内研究现状

当前技术进步是生产力发展的核心,我国制定了2025规划,从国内机器人技术发展来看,国内机器人经过了40多年的发展,大致能分成三个阶段

(1)70年代的机器人发展进入萌芽期。

(2)80年代的机器人发展进入开发期。

(3)90年代的机器人发展进入的实用化期。

到近年来,我国在机器人方面投入巨大,机器人领域成果璀璨,理论研究方面也有许多突破性的创新。

2015年,刘欣与丁殿磊设计了一种基于示教再现方式实现机械臂路径规划的方法,该方法由三部分组成,以图形用户界面GUI为连接纽带,用Arduino UNO实现数据信号采集和算法处理的功能,通过舵机控制板控制机械臂进行运动操作。这种方法将机械臂的初始位置和目标位置之间划分为一系列的单一动作,录制每一个动作后都会采集相关数据信号,最后组合在一起,完成机械臂的路径规划。这种方法简单易懂,实时性强,便于调节。

2017年,王兴龙,周志成,曲广吉三人提出一种空间机械臂捕获失稳目标的动态轨迹规划方法,该方法既能有效减少捕获时间,又能防止过大的起始和残余速度,同时还能回避雅克比矩阵奇异问题,可以满足机械臂末端对失稳目,标相对位姿同步跟踪的捕获任务要求,具有工程实用性.

2018年,简景山、方祥祥、张文峰等人提出三自由度机械臂的同步控制。同步机械臂的控制系统采用 STC89C52 单片机作为控制核心,利用电位计、薄膜电阻进行感应检测,驱动舵机来完成机械臂的三自由度控制。

总而言之,我国正在逐渐加大对机器人领域研究的投入,相信在不久的将来,我国机器人领域的研究一定会逐渐赶上并且超越国外。

1.4 机械臂研究内容与章节安排

uArm Swift机械臂的轨迹规划对机械臂的稳定性,准确性及灵活性有极高的要求,虽然有现成的硬件uArm Swift,但无论机械臂运动学的建模还是软件编程控制的实现,都对机械臂轨迹规划的质量有重大影响,因此每个方面都不能忽视。总的来说,研究可以分为两个主要部分,分别是硬件部分与软件部分。

硬件部分主要是对机械臂建模理论,正运动学及逆运动学的分析,机械臂速度和静力的控制,轨迹规划等内容进行研究。实现机械臂硬件系统的搭建,为软件编程提供可靠的数学和控制模型。软件部分则是基于控制模型,设计软件流程图,并使用Python语言,通过编程完成对机械臂的控制,最终实现轨迹规划功能。

1.5本文的主要研究内容及章节安排

本文的主要研究内容是

第1章 绪论,主要介绍了机械臂轨迹规划的研究背景、国内外机械臂的研究现状与本研究的意义所在。

第2章 控制方案的论证和选择,通过对各种控制平台性能和特定的对比,确定控制平台,介绍Arduino的开发步骤和Python语言发展的3个开发方法。

第3章 机械臂运动学理论,介绍H-D参数法、正运动学分析、逆运动学分析、机械臂的静力控制。

第4章 硬件介绍,介绍uArm Swift机械臂的硬件配置及技术参数。

第5章 软件设计,包括了uArm Python SDK API的介绍、设计思路和程序设计。并对系统进行测试。

第6章 总结与展望,介绍项目研究内容特色、研究展望、设计总结。

1.6 章节小结

本章主要介绍了本课题研究对象的研究背景,包括了机械臂的国内外研究现状与论文章节的安排。通过机械手臂在国内外的研究现状的比较,目前机械手臂发展迅猛,虽然国内的机械手臂的发展较晚,但正逐步赶上国际水平。并介绍的论文的研究内容和论文章节安排。

uArm Swift机械臂的控制方案论证

要完成本文机械臂轨迹规划的研究,需要满足项目要求的硬件平台,下面根据项目需求分析,选择机械臂的硬件平台。

2.1 ROS开发平台

ROS平台是专门为机器人开发的软件平台,功能十分强大。其中Moveit是控制机器人的核心应用,它的功能包括了建模、运动学求解、运动规划、障碍规避等。以下介绍它的几个重要模块:

(1)Setup Assistant:这是一个帮助配置Moveit环境的工具。

(2)ROS Controllers:这一部分是真正和机器人硬件控制接口连接的部分。

(3)User 3D Sensors;给部分用来接收机械臂的传感器数据,预估机器人的状态并发布。

ROS平台开发机械臂的优点:

(1)ROS已经逐渐成为机器人领域中的普遍标准。

(2)ROS是专门开发机器人及机械臂的软件平台,熟悉ROS平台操作将会成为机械臂开发的有力帮助。

(3)国内外许多知名机器人及机械臂企业招聘人才要求具有ROS开发的经验。

(4)ROS系统支持基本上市面上所有机器人及机械臂的开发应用,应用范围十分广泛。

ROS平台开发的缺点:环境配置十分复杂,ROS内模块很多,熟悉运用ROS平台需要进行一段时间的训练。

2.2 Arduino 开发平台

uArm Swift主板是Arduino MEGA 2560,可以由Arduino开源电子原型平台进行开发。作为一款开源型电子平台,它由硬件和软件组成,其中硬件包含了各种型号的Arduino板,软件为Arduino IDE。以下介绍一下Arduino开发方式的优点。

(1)Arduino的开发方法很容易使用,它是非常简单易学,支持C语言,Java编程。

(2)Arduino功能十分齐全,只需要将IDE的程序代码写入到电路板中,单片机板将执行相应的功能。

(3)Arduino开发环境配置简单,操作容易,适合初学者开发机械臂。

(4)Arduino的可以与其它软件相结合。可以做出许多惊人的互动作品。

Arduino开发方式的缺点:

(1)Arduino采用C语言或Java语言编写程序,使得代码比较冗长,不利于阅读与理解。

(2)Arduino中没有专门的机械臂或机器人模块,能编写的代码功能有限。

2.3 Python语言开发平台

uArm Swift机械臂支持Python语言的开发平台。Python是一种计算机编程语言,面向对象的动态类型语言的最初设计编写自动脚本,作为版本的不断更新和添加新的语言功能。越来越多的被用于进行独立,大型项目的开发。下面介绍以下Python开发的优势。

(1)Python语言十分简练,Python编写的程序简单易懂,即使作为一个初学者,也很容易掌握这门语言,Python语言的应用方面十分广泛,不止简单应用于机械臂的开发,它可以应用于日常工作的各个方面。

(2)Python的开发效率极高,这归功于它强大第三方库。通过第三方库,你可以在计算机中实现许多功能。

(3)Python是一种高级语言,不必担心运行的程序的底层细节。

(4)Python具有可移植性,因此它可以适用于许多不同的平台。

(5)Python是可扩展的。

在uArm Swift机器人手臂的软件实现目前由ROS,Arduino的和Python可用。Python语言语法简单明了,并且可以跨平台使用。这是最热门的编程语言之一,比较这三种开发方式各自的优缺点,最终本设计决定以Python语言为基础开发uArm Swift机械臂并且编写控制程序。

2.4 本章小结

本章介绍了基于uArm Swift 的三种控制平台,包括了ROS机器人平台开发、 Arduino平台开发和Python语言开发,对比三种开发方式的优缺点,ROS平台是基于机器人开发的平台,各种功能十分全面,缺点是环境配置较为复杂。Arduino平台基于单芯片微型计算机的基于机器人的开发平台。环境配置简单,操作使用方便。缺点是C语言编程是复杂而漫长的。Python语言开发,程序明确简单,环境配置容易,对于初学者来说也容易上手,因此最终决定以Python语言开发 uArm Swift 机械臂,并且编写机械臂搬运棋子的程序。

机械臂运动学理论

机械臂轨迹规划关键要控制机械臂的运动轨迹,确定轨迹规划的起始位置。首先要建立机械臂运动控制模型。下面对机械臂的运动学理论进行分析。

3.1 机械臂的理论基础

机械臂运动学理论是机械臂运动分析的重要工具,也是对机械臂进行运动建模的关键。

3.1.1 位姿和坐标系描述

在描述物体关系时,要用到平面、位置矢量、坐标系等概念,下面是以常用的笛卡尔坐标系进行分析。

(1)位置描述

建立空间坐标系,位置矢量确定空间中任一点位置。如下图3.1,直角坐标系{A}中,P的位置可用矢量表示为

(3.1)

其中是点P在坐标系中三个坐标的分量。

图3.1 位置确定

(2)方位描述

研究机械臂的运动和控制时,不仅需要知道某点坐标,而且要知道方位。一个固定接在物体上的坐标系可以表示方位。假设坐标系{B}与物体B质心固定,坐标系{A}与地面固定。用坐标系{B}的方向矢量,相对于{A}坐标轴的方向余弦组成的3×3矩阵

(3.2)

表示物体B相对于{A}坐标系的方位。叫做旋转矩阵。其中上标A是参考坐标系{A},下标B是要描述的坐标系{B}。如下图3.2。

图3.2 方位确定

(3)位姿表示

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bishe985

Copyright © 2010-2022 毕业论文网 站点地图