登录

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

注册

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

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 通信工程 > 正文

基于ROS系统的机械臂建模与路径规划研究毕业论文

 2020-02-17 21:10:37  

摘 要

随着工业、生活中机械化水平的日益提高,简单的人工操作已经很难满足现代社会对效率和制作工艺质量的要求,因此在复杂环境中机器人的避障、路径规划方面的研究是十分必要且具有重要意义的。本项目在ROS系统中搭建仿真平台,自行设计机械臂的仿真模型及自行搭建三种不同复杂程度的运动环境——简单“1”字型环境、“拱门型”环境和复杂“小孔环境”,并将机械臂的模型转化为URDF文件,通过Rviz可视化工具对文件进行处理并显示,来比较三种不同算法(BFMT、RRT、LBTRRT)在三种不同环境下运动时间的差异,通过每种环境下三种算法规划步骤和运动时间两个方面的指标来全面的评价在特定环境下不同算法的性能。最终我们得出了不同环境下哪种算法属于最优算法并对未完成实验目标的算法的失败原因做了简单分析。

关键词:ROS;机械臂;路径规划;仿真

Abstract

With the increasing demand for robots in industry and life, simple manual operation has been difficult to meet the requirements of efficiency and manufacturing process quality in modern society. Therefore, the research on obstacle avoidance and path planning of robots in complex environments is very necessary and significant. This project builds a simulation platform in ROS system, designs the simulation model of the manipulator and builds the motion environment of different complexity by itself, transforms the model of the manipulator into URDF files, processes and displays the files through Rviz visualization tool, compares the differences of motion time of different algorithms under different conditions, and moves the processed files through MoveIt toolkit! The model file is transformed into a file package that can be called and path planning, and a complex environment is designed. Finally, the virtual simulation experiment of the manipulator is carried out in the ROS system, and the path planning and control are studied in order to find a better path planning algorithm.

Key words: ROS; manipulator; path planning; simulation

目录

摘 要 I

Abstract II

第1章 绪论 1

1.1 课题背景与意义 1

1.2 国内外研究现状 1

1.3 本文主要研究内容 2

第2章 ROS系统与机械臂介绍 3

2.1 ROS 简介 3

2.2 ROS系统的组件 4

2.3 机械臂与机械臂常用指令 4

2.3.1 机械臂简介 4

2.3.2 机械臂的结构与控制 5

2.3.3 机械臂仿真常用指令 6

2.4 消息通信的过程 8

2.5 本章小结 14

第3章 机械臂模型搭建及仿真 15

3.1 机械臂仿真模型搭建 15

3.2 仿真环境搭建以及路径规划 16

3.2.1简易“1”字形障碍环境下的轨迹规划 16

3.2.2简易“拱门”形障碍环境下的轨迹规划 18

3.2.3 复杂“小孔”形障碍环境下的轨迹规划 20

3.3 本章小结 21

第4章 总结与展望 23

4.1 研究总结 23

4.2 研究展望 23

参考文献 25

附录A 26

致谢 28

第1章 绪论

课题背景与意义

随着工业化水平的提高,工业生产的效率和速度需要进一步加强。机械臂作为一种现代智能工具已经被越来越多地运用到实际生产生活的方方面面了。传统的人工操作具有效率低下,可操作性差等缺点。尤其是某些特定工作环境,例如核电站和某些具有腐蚀性的化工产品生产环境,都不能采用人工直接作业的方式进行工业生产。机械臂自动化程度高,能代替人工进行可重复性操作。随着人工成本的增加,机械臂的广泛使用将大大降低生产成本提高工作效率。机械臂相比较于传统工业生产方式有如下优点[12]

随着社会发展,人力资源相对昂贵,工人薪资是一笔巨大的支出,相对而言,工业机械臂更经济实惠。

机械臂更能适应在复杂环境下工作,例如高温或严寒条件下的作业。在这种极端恶劣的条件下使用机械臂进行作业能够大大地提高工作效率还能避免产生重大安全隐患。

机械臂的程序化工作方式能提高原本的工作质量,降低工人因操作随机性造成的生产损失。

因此结合当代工业要求机械臂的自主运动规划就显得尤为重要。本设计拟采用ROS系统模拟仿真四轴机械臂的运动情况,并比较不同算法的效率。

国内外研究现状

“迄今为止,机器人的发展可以划分成下述三个阶段:a.这一阶段为20世纪60年代,此阶段机器人属于能够编程示教再现型机器人,它们的特点为可根据在前对其编排的程序展开循环作业;b.这一阶段为20世纪70年代,此阶段机器人属于有着相关自适应能力、感官能力的离线编程机器人,它们的特点为可结合工作内容实情转变作业内容;c.这一阶段为20世纪80年代至今,此阶段机器人属于智能机器人,它们的特点为配备各类传感器,可把各类传感器收集的信息展开融合,可良好的适应于不断转变的作业环境,有着十分强的学习、自治及适应能力。[1]

如今,各个国家的科技竞争越来越激烈,智能机器人/机械臂作为新型生产工具得到了越来越多国家的重视,自二十世纪五十年代机械臂出现以来,现已在工业、农业、化工业等领域得到了广泛的应用和长足的发展,并向着更高性能更大的安全性方向继续发展。目前机械臂技术发展前沿的国家有日本和德国。其中日本著名的机械臂生产厂家有川崎、松下等。欧洲范围内著名的机械臂生产厂家有瑞典的ABB、德国的KUKA和奥地利的IGM 公司[5]

本文主要研究内容

本文主要是基于现在应用较广泛的ROS系统来进行机械臂的搭建、仿真和路径规划。并比较不同的路径规划算法以期找到最优秀的算法。主要工作包括在ROS系统中搭建仿真平台,将机械臂的模型转化为URDF文件,通过Rviz可视化工具对文件进行处理并显示,通过MoveIt!工具包对处理后的文件进行运动学分析及相关配置文件的构建,将模型文件转换为可以调用并进行路径规划的文件包,并设计一个复杂的环境,最后在ROS系统中对机械臂进行虚拟仿真实验,进行路径规划和控制的研究。下面是各章节的主要内容:

第一章:绪论。主要介绍研究机械臂及对机械臂进行仿真路径规划的背景、目的及意义。并分析了国内外的研究现状,最后明确了本文的内容安排。

第二章:ROS系统与机械臂介绍。主要介绍了ROS系统和机械臂的相关内容,ROS系统是本文进行机械臂仿真的基本系统,它功能十分强大,组件丰富。机械臂是机器人研究领域的新名词,它并非完全的机器人,但却和机器人一样具有十分重要的研究价值。本章还介绍了ROS系统结构中各个节点之间通信的方式。

第三章:机械臂模型搭建与仿真。本章主要是介绍基于ROS系统与Moveit工具包,分三种情况的障碍物环境进行路径规划测试,并测试了BFMT、LBTRRT和RRT三种路径规划算法。给出了每种算法在该种环境下具体进行路径规划的步骤与耗时,同时针对不同的场景,分析仿真结果,并给出该种环境下最优的路径规划算法。

第四章:总结与展望。针对本次毕业设计,我学到了很多知识,本章就所学知识与所获做一些总结。然后就本次设计存在的问题,提出表示解决的展望。

第2章 ROS系统与机械臂介绍

2.1 ROS 简介

在ROS维基中将ROS定义为“ROS是一个开放源代码的机器人元操作系统。它提供了我们对操作系统期望的服务,包括硬件抽象、低级设备控制、常用功能的实现、进程之间的消息传递以及功能包管理。它还提供了用于在多台计算机之间获取、构建、编写和运行代码的工具和库。”换句话说,ROS包括一个类似于操作系统的硬件抽象,但它不是一个传统的操作系统,它具有可用于异构硬件的特性。此外,它是一个机器人软件平台,提供了专门为机器人开发应用程序的各种开发环境。 ROS系统虽然可以与其他平台进行简单的比较,但是它们的比较没有什么意义,因为它们的目的各不相同。ROS的目标是“建立一个在全球范围内协作开发机器人软件的环境!” ROS致力于将机器人研究和开发中的代码重用做到最大化,而不是做所谓的机器人软件平台、中间件和框架。为了支持这个,ROS具有以下特征[10]

分布式进程:它以可执行进程的最小单位(节点,Node)的形式进行编程,每个进程独立运行,并有机地收发数据。

功能包单位管理:由于它以功能包的形式管理着多个具有相同目的的进程,所以开发和使用起来很容易,并且很容易共享、修改和重新发布。

公共存储库:每个功能包都将其功能包公开给开发人员首选的公共存储库(例如GitHub),并标识许可证。

API类型:使用ROS开发程序时,ROS被设计为可以简单地通过调用API将其加载到其使用的代码中。ROS编程与C 和Python程序没有区别。

支持多种编程语言:ROS程序提供客户端库(Client Library)2以支持各种语言。它可以用于如JAVA、 C#、Lua和Ruby等语言,也可以用于机器人中常用的编程语言,如Python、C 和Lisp。换句话说,可以使用熟悉的语言开发ROS程序。这种支持使得在全球范围内开发机器人软件的合作成为可能,并且ROS的终极目的机器人研究和开发过程中的代码重用变得越来越普遍。

ROS始于2007年5月份由摩根·奎格利(Morgan Quigley)博士为了美国的斯坦福大学人工智能研究所(AI LAB)进行的STAIR(Stanford AI Robot)项目开发的Switchyard系统。2007年11月开始,由美国的机器人专门公司Willow Garage承接开发ROS。Willow Garage是个人机器人(Personal robotics)及服务机器人领域中非常有名的公司。它以开发和支持我们熟知的视觉处理开源代码OpenCV和Kinect等在三维设备广泛使用的点云库(PCL,Point Cloud Library))而著名[1]

这家Willow Garage从2007年11月开始着手ROS的开发,在2010年1月22日向全世界发布了ROS 1.0。我们熟知的ROS Box Turtle版是2010年3月1日首次发布的。此后,和Ubuntu和安卓一样,每个版本都以C Turtle、Diamondback等按字母顺序起名。“ROS基于BSD许可证(BSD 3-Clause License) 及Apache License 2.0),因此任何人可以修改、重用和重新发布。与此同时,ROS持续提供大量最新版本的软件,因此在教育及学术领域认识的参与程度非常高,一开始通过机器人相关学术会议广为传播。”有面向开发者和用户的ROSDay和ROSCon12 学术会议,还有叫做ROS Meetup13的多种社区群。不仅如此,可以应用ROS的机器人平台的开发也在快速跟进。例如以Personal Robot为含义的PR214和TurtleBot15 机器人,有许多应用程序通过它们喷涌而出,这更加巩固了ROS作为机器人操作系统的地位。

2.2 ROS系统的组件

ROS由支持多种编程语言的客户端库、用于控制硬件的硬件接口、数 据通信通道、帮助编写各种机器人应用程序的机器人应用框架(Robotics Application Framework)、基于此框架的服务应用程序-Robotics Application、在虚拟空间中控制 机器人的仿真(Simulation)工具和软件开发工具(Software Development Tool)等组成。

随着在智能手机市场出现安卓、iOS、Symbian、RiMO和Bada等多种操作系统,我们经常听到生态系统(Ecosystem)这个词。这是指将硬件制造商、操作系统公司、应用程序(APP)开发人员以及使用智能手机的用户连接起来的结构。例如,当智能手机制造商基于操作系统的给定硬件接口生产设备时,每个操作系统公司会将它以库的形式提供。软件开发人员则无需了解硬件也可以轻松开发应用程序。而将产品投放到市场,让用户易于购买和使用。这一切统称为生态系统。这种生态系统并不是在手机市场首次出现的。个人计算机领域也曾有各种各样的硬件制造商,而将他们结合在一起的微软的Windows操作系统和免费的Linux是典型的例子。也许这个过程就和自然界的生态系统是类似的发展过程。机器人领域也正经历着同样的过程。起初各种硬件技术泛滥,却没有能整合它们的操作系统[8]。在这种情况下,如上所述,各种软件平台已经出现,最受瞩目的ROS现在已经开始构建生态系统。起步虽然微不足道,但考虑到逐渐增多的用户数量和机器人公司,以及急剧增加的相关工具和库,我期待在不久的将来将会形成一个圆满的生态系统。另外,我希望机器人硬件领域的开发者、ROS开发运营团队、应用软件开发者以及用户也能像机器人公司和传感器公司一样从中受益。

2.3 机械臂与机械臂常用指令

2.3.1 机械臂简介

机械手臂是为了在工厂里执行简单重复任务而设计的机器人。它的目的是取代危险的工作或取代重复的任务,最近有许多有关机械手臂和人的协作的研究。随着人机交互(Human Robot Interaction,HRI)的研究活跃起来,机械手臂不仅应用到了工厂,还与多种领域(Media Arts4、VR5等)结合,为大众带来了新的体验。数字舵机和3D打印技术的结合正在提高机械手臂对公众的接近度,这给了制造商和教育行业巨大的期待。一方面,机械手臂和人工智能的结合使很多人带来了大规模失业的恐惧。但是,机械手臂长期以来一直是使社会富饶的工具之一,当今也在许多不同的领域帮助人们。未来如果机器人的发展能够渗透到我们的生活中,而不会摆脱其本质,那么像扫地机器人一样,机器人将成为我们生活的一部分。ROBOTIS的 OpenManipulator是支持ROS的机械手臂之一,其优点是能够使用Dynamixel和3D打印部件,因此可以以低成本轻松制作[6]

2.3.2 机械臂的结构与控制

机械手臂的基本结构由基座(Base)、连杆(Link)、关节(Joint)和末端执行器 (End-effector)组成,如图2.3所示[5]

10efe08d968441b4d7220ea15d1ac56

图2.1 机械臂的结构

如图2.2所示,任务空间控制是输入机械手臂的末端的坐标值,以此获得各关节的角 度位置,其输入和输出与关节空间控制正好相反。工作空间中的物体姿态包括其位置(Position)和方向(Orientation)。我们生活在一个三维的世界,因此可以用 X、Y、Z轴来表示,而方向可以表示为i(roll)、z(pitch)、j(yaw)。以桌子上的杯子(假设该坐标系的原点是杯子的中心)为例,即使它的位置不变,但可以通过使其躺下或改变它的手把的方向来改变杯子在三维空间中的姿态。换句话说,如果以数学语言描述,则意味着有6个未知数,所以如果有6个方程就可以找到唯一的解。根据机械手臂的自由度特点,当有6个关节时,才可以把桌子上的杯子以任何角度举到任何可能的位置。但是,并不是所有的机械手臂都需要六个以上的自由度。根据机械手臂使用的目的和环境来调整自由度会更有效率。通过逆运动学原理,可以根据机械手臂末端的坐标值获得每个关节的角度[16]

2f585c368fc63e893df78ab43244dfb

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

6bd25cff9e8782dab0ca86ef6f581f6

0e798970b58db13c55b83df57ee2934

472f944fbd4feb666419741cc309ddc

dceb73d5655af03f64d0aa90424f4c0

986ee7586a206147baef12da726742e

129508dd9e8570f8160dad75ffd1848

e7b092b493d5e9e20b5f48fedc9a0c7

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

企业微信

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