《-码垛工业机器人控制系统研究与仿真.docx》由会员分享,可在线阅读,更多相关《-码垛工业机器人控制系统研究与仿真.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、码垛工业机器人的路径规划与仿真电子信息工程专业学生 刘路指导老师 夏祥祥摘要: 码垛机器人工作的优点是占据的地方小、工作涉及的方面多、生产支线繁多、能有效提高工作效益、完成生产线柔性化加工以及减少人工成本,而且能够提高作业稳定性进而提高产品的质量。随着工作速度的越来越快,作业环境越来越多样,在要求能够避让已知的阻碍物的同时能够保证其在运动过程中能够保持自身的稳定。本文主要集中在码垛机器人在运动过程中路径的规划以及最后对运动的仿真,针对他的工作范畴进行求解,基于 ROS 系统进行仿真平台的搭建,进行笛卡尔空间和关节空间的轨迹规划研究,进行机器人仿真实验。关键词:码垛机器人 轨迹规划 ROSPat
2、h Planning and Simulation of Palletizing Industrial RobotStudent majoring in Electronic Information Engineering LiuLuTutor Xia XiangxiangAbstract:The palletizing robot has small workspace, wide operation range and many production lines. Thus, the production efficiency can be improved, the production
3、 process can be flexible, the labor cost can be reduced, and the operation stability and quality of products can be improved. Due to the improvement of operating speed and the complexity of working environment, for one thing, robots can move gently, for another thing, the environmental quality can a
4、lso be improved. ROS system determines that open source ,simulation platform and research planning methods have been completed. At the same time, the results are found out.Keywords: Palletizing robot;Trajectory planning;Robot Operating System29目录摘要- 1 -关键词- 1 -Abstract- 1 -Keywords- 1 -1 绪论- 3 -1.1主
5、题的背景、来源和意义- 3 -1.2 码垛机器人的发展进程及发展趋势- 4 -1.3 课题的设计内容- 4 -2 码垛机器人总体结构设计- 5 -2.1 方案的确定- 5 -2.2 总体设计思路- 7 -3 基于 ROS的仿真平台搭建- 8 -3.1 ROS 基本组成- 8 -3.2 ROS 中机器人模型建立- 9 -3.3 Move_group 节点设计- 14 -3.4 机器人运动控制- 18 - 21 -4 码垛机器人轨迹规划- 22 -4.1 笛卡尔直线轨迹规划- 22 -4.2 圆弧轨迹规划- 23 -图4.4圆弧轨迹运动动态图- 23 -4.3 本章小结- 24 -5 码垛机器人仿
6、真实验- 24 -5.1 单轴运动- 24 -5.2 连续运动测试- 25 -5.3 示教测试- 27 -5.4 约束避障测试- 27 -5.5 本章小结- 28 -6 结论291 绪论1.1主题的背景、来源和意义 约半个世纪以来,中国的科学技术进步迅速。机器人也广泛应用于码垛机、电弧焊、焊接、运输、测量等行业中。机器人在多体空间中的自由度非常高,同时也能够学习及同步人的行为和特性。工业机器人则是运用在了工业生产上,是一种机电一体化装置。工业机器人可以用来运输各种零部件以及原料,它是一种可进行多次编码的复杂性机器,他同时将自动控制原理以及精密的机械学、微型电脑电子还有信息传输及处理融合在了一起
7、。随着我国物流行业的迅速发展,使得码垛技术应用越来越多,特别是在环境非常恶劣的情况下。码垛技术就能够弥补一部分的天然劣势,他在运送物体的时候可以将大部分的物体以码垛的方式放置或包装,以此能够最大化自己的存储空间,节约了很多地方。随着各方面对码垛的要求越来越高,也为了能够更好的适应并且完成任务解决这些问题,设备需要不断改善自身。与此同时,码垛机器人的手臂应当保证相对的刚度和强度,这样就能够防止弹性变形和断裂,更好的保护。1.2 码垛机器人的发展进程及发展趋势码垛机器人在进行部分科研问题的创新后近些年的发展达到了较高的地位,日趋完善。目前为止,总共划分成了三个阶段,第一阶段的机器人能够编程并且可以
8、实现示教的目的,但是不能够传达外部的消息;第二个阶段就是完善了第一阶段所不能达到的地方,可以获取以及传达外部的消息,可以实现机器人同外部环境的信息互换,具有一定的适应力;最后一的阶段就是已经拥有了各种智能的传感器,能清晰感知外面的一些信息。而现在,他就主要应用在下两个领域,一个是恶劣的工作环境中,另一个是危险的工作场合,对人的安全有一定的威胁。例如在冲床上下料、采矿等。自动堆叠机器人可用于执行装载和卸载、堆叠、卸载和捕获部分重新定位和其他目标,其对自由度的要求偏低但是在对零件的定向工作中就要求较高。工业机器人的优势体现在能够减少对劳动的投入、可以提高生产率、使产品的质量有显著提高、大量减少对部
9、分材料的使用、降低使用的成本。目前工业机器人的开发正处在一个快速发展的阶段,尤其是在发达国家,工业机器人的开发与制造正在逐渐变成了一个庞大的产业,全世界每年的工业机器人销售额可达42亿美元。但是在我们国家,由于我国工业发展的较慢,基础也比较薄弱,所以在其应用的发展前景上非常可观。这些年组装合作式机器人运用的是细化的组装合成的部件以及模块的部件综合起来的。 1.3 课题的设计内容对实验室自行研发机器人能够搭建自己的仿真基站是本课题的主要任务,同时 能够研究他的运动轨迹,并且能够平稳运行,可以更完善地建立模型以及分析,之后再对他的运作的空间开始求解,基于 ROS 系统进行仿真平台的搭建,进行笛卡尔
10、空间和关节空间的轨迹规划研究,之后再着手于机器人的仿真实验。2 码垛机器人总体结构设计2.1 方案的确定 码垛机器人的任务流程是来回不断的。由于关节臂的运动形式具有较大的工作范围和较强的通用性,采用平行四边形机构作为小臂驱动器的关节操纵器。研究中共划分为了三个部分。方案一:如图2.1所示。后大臂是沿着杠往上的,前大臂则是沿着它向右进行运动,然后后大臂往下运动,对应的前臂也就向左从而能够实现码垛这一过程。但是缺点是由于前臂与后臂不相接,所以运动的时候准确度不会很高,不能很好的确定他的运动。方案二:如图2.2所示,此机构的前大臂与小臂通过移动副连接,前大臂通过滑块可以沿着小臂滑动,解决了方案一工作
11、范围小的缺点。但是由于前大臂与小臂组成移动副,使得摩擦阻力增加,运动效率低,成本高。此机构中前大臂主要起支撑作用,机构的运动主要取决与后大臂,这使得此种方案的运动精度更低。方案三:如图2.3所示,机构运动原理与图2.1相同,此机构构成平行四边形,运动具有确定性,销轴处有关节轴承,减少摩擦力,方案三改善了方案一方案二的不足之处。图2.1 方案一图2.2 方案二图2.3 方案三综合以上情况来看,方案三更好一些,具有更好的精度,能较好地减小摩擦,运动具有确定性,所以选择方案三。2.2 总体设计思路码垛机器人能够操作物体,或者可以堆叠各种类型的包装。在我们简单了解了他的运动方式之后,我们能够有较好的思
12、路。在本课题中主要就是对他的框架机构进行设计,主要包括了四个动作:后臂高低运动,前臂前后运动,腰部的转动,手腕的回转。 由于腕部转速较低,特选用减速机来驱动,而且要选择重量轻的减速机。这时,由于轴会在站起来后向下移动,同时转动,不仅要确认轴转动正常,还要支撑轴,从而引入角接触轴承。轴承型号7305C。臂制成工字形或穿孔,以减轻重量和加工面积。为了减少摩擦,在臂轴和支架之间的接头分配中使用了关节轴承。为了使手臂传动准确,手臂驱动系统增加了直线滚动导轨作为导向装置,这就要考虑导轨的受力因素,基于所有的重量都附加在了轨上,所以要分析它的受力情况。手臂架驱动系统采用低速交流伺服电机驱动滚丝副旋转,实现
13、前臂左右运动和后臂上下运动。此时,最好选用伺服电机和角接触球轴承。由于腰部的转速不快,使用中低速的电机就可以。但是腰部上的所有构件的都是要由腰部的轴承来承担,所以使用推力球轴承。根据腰部所受总体载荷的大小选择推力球轴承型号,那么就可以使用的凸缘联轴器。3 基于 ROS的仿真平台搭建基于ROS的码垛机器人仿真平台的构建主要通过ROS和RVIZ三维可视化工具实现。这一章节首先介绍了机器人的重要概念,然后利用统一的机器人描述格式(URDF)建立了机器人的模型,并利用RVIZ进行了编码。码垛机器人三维仿真模型的显示可以设计和编译机器人运动控制的相关节点,选择机器人运动控制的消息类型,对控制与启动文件进
14、行配置,最后分析机器人正运动学、逆运动学、避障运动的作业流程,以及对整体系统节点图进行绘制。3.1 ROS 基本组成ROS的三个概念分别是文件系统级、计算图级和社区级。其中,计算图级是ROS处理数据和描述程序运行的重要级别。主要包括节点、消息、主题、服务、ROS master等。(1)节点 节点是一系列程序过程。为了实现ROS系统中码垛机器人的运动仿真,控制器节点需要控制各关节的旋转,轨迹规划节点需要实现机器人的轨迹规划运动,机器人状态节点需要记录机器人的位置和姿态信息,以及机器人的位移信息。显现的节点提供三维可视化图形界面。(2)消息 节点间通信的数据结构。(3)主题 表示运用一种传递的方式
15、进行,如图 3.1 所示。其中的一个主消息可以通过多个节点向其同时发布消息,并且发布方与订阅方相对都是独立的。节点订阅者1节点发布者1(4)服务 可以通过服务从而能够完成单项式消息的传输节点控制器 它就是计算图级中所有运动节点成功进行的保障。节点发布者X图3.1 ROS的主题发布与接收节点订阅者X主题控制订阅和发布消息的节点控制器模型如图 3.2 所示。主题发布发布节点Nodel节点管理器ROS Master消息传输流主题订阅订阅节点Node2图3.2 订阅和发布消息控制节点的模型3.2 ROS 中机器人模型建立完成了机器人三维模型的构建以及运动学的分析之后 ,想要将其运用到 ROS 系统中,
16、就需要建立一种独立的关于机器人的介绍形式URDF。URDF 可以准确描述机器人的结构和大小以及伺服系统和传感器的设计位置,它可以使用基于XML的格式语言储存机器人模型的形状、大小、惯性、质量、材料和颜色的三维结构的基本属性,以及碰撞干扰和控制,动态和机器人模型,以及其他信息。通过其中的节点来显示机器人坐标变化的关系,可以任意将时间,向量等数据的坐标修改,相互变换,以此来帮助它的改变它的轨迹,最终可以实现对机器人部件位置的准确追踪。文档URDF将STL或COLLADA文档用作网格的对象,使用编程语言显示接口模型或创建结构简化模型(如柱面或矩阵),之后就能够成功将功能实现。3.2.1 三维及模型图
17、本文以某智能机器人实验室自主设计与研发的4自由度码垛机器人是其最基本的模型,如图3.3所示作为码垛机器人的三D模型,然后简化机器人模型。一方面可以简化生成URDF文件的步骤,另一方面可以减少ROS中RVIZ的加载时间,对模型进行三维仿真。因此,拆除不必要的部件,只保留主杆,保证杆之间的相对位置和姿态关系。分为以下 6 个部分,既底座、腰座、大臂、小臂、腕部以及末端部件,如图 3.4 示。a) 机器人立体图 b) 机器人简化图图3.3 模型图a) base_link b) link_1 c) link_2 d) link_3 e) link_4 f) link_5图3.4 机器人各部件图对码垛机
18、器人各个部件划分的连杆与关节之间的关系如图 3.5 所示,在仿真进行时,通过控制节点的状态从而控制模型的转换。link_2关节0base_link link_3关节3link_0关节4关节1link_4link_1 图3.5 码垛机器人的连杆和关节树图关节23.2.2 模型的建立与导入在 URDF 文件当中,对一些命名的基本的指令可以从表 3.1 了解到,连杆的参数是由定义,包含杆件的名称、坐标系位置姿态、质量、惯性中心等内容,包括一些关键的控制内容以及参数,最后在ROS中形成最后的模型架构。指令 语法机器人命名 连杆定义命名 关节定义命名 关节的父、子系表3.1 URDF基本指令我们可以利用
19、Solid works中的 sw2urdf 插件来迅速成功解析相关码垛机器人的三维模型。它们在转换还没开始的时候,是组件之间的伙伴关系,以确保在移动组件时,机器人不必与城垛分离,并分配城垛机器人的旋转轴。然后,通过交互式图形界面,手动输入每个连接器的名称、与之对应的坐标、接头的名称和类型、接头的旋转轴以及接头的所有组件的选择。第一步就是对于关节的信息,确认输入信息的正确性,完成关节旋转的动作范围。a) 初步配置信息 b) 关节配置c) 连杆配置图3.6 URDF生成的文件3.2.3 URDF文件的检验针对该模型建立的连杆接头之间的连接是否正确(成功编译URDF之后)。可借用其中的checkur
20、df的指令以此来分析检测其创建的机器人构造是否有不对的各种状态。如果没有问题,最后的结果如图 3.7 所示。能够了解到,它的树形结构跟图 3.5 中码垛机器人的是一样的,能够保证 URDF文件的准确。图3.7 URDF文件校验结果3.2.4 Rviz 3D可视化工具机器人模拟能力的发展取决于其技术的逐步发展。 ROS中的RVIZ是一种3D可视化工具,可在ROS中显示机器人实体的3D模型,但它没有运动模拟功能。 arbotix模拟器需要预先安装,并且可以使用arbotix模拟器实现。机器人运动模拟功能。作为开源二级操作系统平台,ROS通过rviz可视化工具交互显示arbox模拟器的模拟结果。一般
21、来说固定坐标系相对于世界来说不能够移动。假如机器人的底座是目标坐标系,那这个机器人就会被固定在一个点,但是相对于这个机器人来说其他的物体就会进行移动。通常来说介绍对于摄像机视角参考坐标系的就是目标的坐标系。比如,目标坐标系是地图的话,就可以在 RViz 中了解到机器人相对地图的移动;但如果它的目标系是底座的话,这个机器人就会被固定在一个位置上,但此时对于该机器人来说其他东西是移动的。可以用Rviz在ROS里将机器人的显示功能来实现,需要在 ROS 工作空间下面建立工作包,用于 URDF 文件的存储以及编译,完成 RViz 显示程序以及启动文件的编译,通过运行 RViz 可视化平台,实现码垛机器
22、三维的显示,将模型更好地展现出来,如图3.8 的对其窗口化运行信息的展现;如图 3.9 所示为码垛机器人在 RViz 平台中的三维仿真模型。 图3.8 命令终端输出结果通过图3.8我们能够看出,ROS系统当前已经开始了arbotix其驱动程序 模拟化的控制、机器人抓手控制节点以及机器人状态发布者节(robot_state_publisher),显示该机器人关节轨迹控制器(FollowControllers)的名称和其所控制的各关节名称。在 RViz界面中的显示如图 3.9 所示,可以看出,其模型与 solidworks 中的三维模型一致。图3.9 码垛机器人的虚拟平台3.3 Move_grou
23、p 节点设计之前能够将机器人 URDF文件的编译成功进行,却依旧无法控制码垛机器人仿真平台所需的轨迹运动。当使用手臂和手时,即便旁边存在障碍物,也可以轻易接触到我们接触的东西。然而,对机器人进行类似动作的编程和控制是一个复杂的数学问题。ROS可以促进多关节机械手或机器人的实现,完成复杂的接触和夹紧运动。通常称之为末端执行器的是连接到机器人末端的抓取器或操纵器,完成对于笛卡尔空间或者其中关节的运动规划,从而可以避开阻挡物,这种我们称之为机器人的轨迹的相关规划。3.3.1 Move_group 节点系统框架 用户交互 移动组接口 (C+)ROS参数服务器关节轨 迹 移动组功能提取功能放置功能 笛卡
24、尔路径 运动控制指令(Phthon)逆运动学正运动学有效性规划Rviz可视化工具其他接口规划路径操作规划机器人状态显示规划场景触及物体物体碰撞检测规划场景的差异关节状 态话题图3.10 move_group 的高层体系结构通过使用者接口,使用者可以利用以下方式访问ROS:第一个是运用Python语言:在move命令的的条件下将移动组的运动控制;第二个就是使用C+语言,通过移动组接口,同时能够给出一个界面方便设置。获得信息的方式有下列三种:首先设置辅助以载入生成URDF文件,在调用ROS的参数服务函数的情况下来获得SRDF中的信息;然后可以使用URDF文件,在调用了ROS服务器函数后就可以得到机
25、器人在其中的文件。可以通过运行 robot_state_publisher 的 节点从而能够和 ROS TF 库实现机器人位置姿态矩阵信息转换。移动组通过ROS的特性来跟机器人通讯,在其接口这方面就能够了解到机器人目前的状态。此外,move_group 还可以使用规划场景服务来建立仿真场景,以及实现一些拓展功能,例如拾取与放置,运动学,运动规划等功能。移动组节点机器人传感器3.3.2 Move_group 节点编译MoveIt!中的设置助手(Setup Assistant)可以简化设计编译工作,帮助使用者配置机器人,从而完成 move_group 节点的编译,能够协助完成以下几个方面任务:(1
26、)URDF被转换变成了SRDF:是使用Robot的URDF文件创建的,该文件定义了移动组、端部效应器和自干涉碰撞信息。(2)成功生成其余的相关配置的文件,目的是将机器人中的一些控制关节、运动规划还有传感等任务完成,最后这些内容将在配置的文件中得以保存。(3)当使用到其中的控制和控制部分的启动内容时,会接触到移动部分的节点、组合的轨迹控制器、运动规划等内容。一开始运行安装助手的时候会提供一个友好的交互界面,可以从图 3.11 看到。 图 3.11 设置助手运行界面 图3.12 成功载入URDF显示图(1)机器人的URDF的加载。载入机器人的 URDF 文件,完成后,在软件界面的右侧可以看见码垛机
27、器人的图像,如图 3.12 所示,并且可以像在 RViz 中对机器人模型进行旋转、移动以及缩放等。(2)创建碰撞免检矩阵。不能够互相碰的杆件如下,例如,在运动关系的限制下,机器人的手臂处不能够接触到底座甚至产生碰撞。在机器人运动规划中,为了减少CPU运行时间和提高检测效率,不需要考虑这些因素的影响。图3.12 碰撞矩阵图的建立 图 3.13 虚拟关节的增添(3)增添关节(虚拟)。用于连接机器人和世界坐标的虚拟关节此时会将其基座固定在一个世界坐标系上,此时对于世界来说机器人是不动的,可以从图 3.13 看出 。(4)机器人规划组的添加。规划组是用来介绍码垛机器人复杂的句意的,例如机械臂部分、抓手
28、等。图3.14中选择的规划组能够完成其中的规划与抓取任务,这就为之后的控制规划组做了铺垫。图3.14 机器人规划组的选择(5) 定义机器人的预备的设置的姿态。例如,机器人的初始状态 resting,由于 ROS 的机器人运动规划默认在机器人当前状态进行,设置初始状态作为每次运动的起始参考点;定义某种运动姿态,可以方便检测机器人控制正常与否。图 3.15 表现的就是是码垛机器人定义的两种运动状态。a) resting b) testing 图3.15 码垛机器人定义的两种姿态(6)配置文件的设置生成。最后的任务是生成其中所有装置的文件的配备。完成后在交互界面上将可以看到“成功生成配置文件包”,然
29、后退出设置助手。3.4 机器人运动控制MoveIt!可以通过运动规划接口完成运动规划工作,运动规划是由移动组提供通讯,实现ROS节点间的联系的函数。一开始用固定的方法移动到轨迹中,检测下路径中是否有阻碍或者限制性影响或者方向的影响,然后该 move_group 节点将根据运动的目的形成必需的路线轨迹。3.4.1 消息类型的选择ROS的主要节点与关节运动节点(机器人扫描的一部分)、满足使用要求的消息类型和通用类型进行通信,这不仅提高了系统程序的稳定性,而且允许共享和移植代码以方便使用。该机器人的特点是其宇宙关节运动受限于一个固定的表面,不能运动。详细来说,由于其结构、运动学,描述了机器人末端的位
30、置,不仅指示了X、Y、Z轴的位置,而且还指示了运动的位置。图 3.16可以看出机器人在轨迹追踪信息的前提下的运动状态的数据情况。能够反映出在控制下的所有位置、速度、加速度以及力的变量矩阵,知道时间决定的一个轨迹的变化,它的运动形态的消息还有数据格式,如图 3.17 所示,可以直观的看出目前各个速度、力和位置的数据。 图3.16 轨迹跟踪信息的数据情况 图 3.17 运动形态的数据格式3.4.2关节的控制与文件的启动配置在 ROS 中设置了仿真态和虚拟机之后就要求要开始对机器人模型进行运动控制实现其特定的运动,需要运动功能去按照规划的轨迹运动并且确保在给定的误差范围内运行,使用 Gripper
31、Command Action 运动功能去按照规划的轨迹运动并且确保在给定的误差范围内运行,使用 Gripper Command Action 运动功能去控制机器人末端操作手。为此需要设置配置文件与该接口进行通讯,需要建立控制器包以及相关运动功能包、话题之间的联系。3.4.3正运动学运动在已知关节运动角度的情况下,可以使用正运动学控制机器人运动到给定的位置。使用 python 语言进行程序的编写,首先需要载入移动组命令接口,它能够让我们访问需要运动的功能函数以及所需要控制的机器人本体以及末端操作手;之后采用移动组控制命令在SRDF中的所需要控制的移动组件,并且将其重置,之后就用角函数给每个关节定
32、值,使用计划函数和执行函数来给定改变它轨迹的执行计划。它的流程图就可以得出,如图 3.18 所示。开始初始化节点调用关节角度控制函数给定关节角度值选择运动方案执行运动结束图3.18 正运动学流程图3.4.4逆运动学运动一般来说不能够预知各种运动状态,但是不同的是,笛卡尔中对机器人的尾部运动执行位置状态和运动轨迹进行描述,因此需要逆运动学解析器对关节所需要转动的角度进行求解,从而可以实现在笛卡尔空间的期望位置姿态或者运动轨迹。与正运动学算法不同的是,在逆运动学计算中,需要给定其末端姿态的参考坐标系 reference_frame,一般选择机器人基座坐标系作为参考坐标系;并且在逆解的计算中,由于计
33、算的复杂性较大,将 replanning 函数设置为 ture,可以允许求解程序不止一次的运行,这样可以保证计算第一次计算结果不准确或者无解的情况下从新进行计算,从而得到所需要的结果,并且尽可能的给定末端姿态可允许的公差值,一方面可以加快求解的速度,另一个就是不会出现无法正确求解的情况。它的流程图可以从图 3.19了解到 。图3.19 逆运动运动学流程4 码垛机器人轨迹规划4.1 笛卡尔直线轨迹规划机器人的路径规划允许宇宙尺寸的模块化机器人在笛卡尔空间和关节中完成理想的轨迹,保证机器人的持续快速运动,满足轨迹跟踪的精度要求,并符合限制、路径限制和约束条件在使用环境中的运动。本章主要研究笛卡尔空
34、间和关节空间中码垛机器人的规划轨迹。建立了笛卡尔空间中两条路径之间的线性插值,圆弧插值和过渡轨迹模型,阐述了码垛机器人的姿态描述方法。联合空间轨迹规划采用改进的S型加减速控制算法,插值联合变量的时间函数。在已建立的ROS仿真系统中,线性插值运算过程如下,首先给出起点P1(1.2,0,1.8)和终点P2(1.2,0,1.3),以P1坐标(1.2,0,1.8)和P2坐标(1.2,0,1.3)为例,两者垂直于P1点移动到P2点,如图4.1所示,连续运动轨迹。然后利用笛卡尔空间的轨迹约束,通过逆计算得到腰椎旋转关节,大臂旋转关节和手臂旋转关节的关节变化。关节角度曲线由rqt_plot绘制,如图4.2所
35、示,关节速度曲线如图4.3所示。关节变化量的对应关系是:腰部关节的旋转位置对应于图5 /速度5中的位置,手臂旋转关节的变化量对应于图中的位置3 /速度3,并且臂旋转关节的变化量对应于图中的位置4 /速度4。图4.1 直线轨迹运动动态图 图4.2 关节角度变化曲线 图 4.3 关节速度变化曲线4.2 圆弧轨迹规划对于空间三维圆插值问题,通常需要首先变换为二维平面问题。在平面坐标系中,建立新的坐标系,并使用圆弧插补算法求解圆弧路径插补点的坐标。然后,基于新坐标系和基础坐标系之间的转换关系,将该值转换为工作空间坐标系中的一系列插值点。为了描述基坐标系中的弧,有必要使用上述变换矩阵公式对新坐标系中的圆
36、弧轨迹点进行矩阵计算,从而得到笛卡尔空间中的圆弧轨迹。在已建立的ROS仿真系统中,电弧的插值操作如图4.4所示,通过rqt_plot,曲线图如图4.5所示,关节速度变化的相关曲线如图4.6所示。图4.4圆弧轨迹运动动态图图4.5关节角度变化曲线 图 4.6关节速度变化曲线4.3 本章小结本章通过研究笛卡尔空间和关节空间中码垛机器人的规划轨迹来完成长笛卡尔空间两条线性路径之间的线性轨迹,了解了关节速度和角度的变化关系,可以从他们的变化曲线中认识到各自的特点,位置5与速度5的运动速度变化较为平缓,而位置3速度3与位置4速度4的速度变化较大。当执行圆弧轨迹运动的时候位置4与速度4的运动轨迹较为平稳而
37、位置3速度3和位置5和速度5的变化有较大起伏。所以当其执行笛卡尔直线运动的时候选择位置5和速度5较好,当处于圆弧轨迹运动的时候选择位置4和速度4较好。5 码垛机器人仿真实验完成码垛机器人仿真系统,运动控制,轨迹规划等的建立后,本章是码垛机器人仿真系统进行运动测试,主要包括机器人单轴运动测试,连续运动测试,教学测试,避障运动测试设计实验。5.1 单轴运动在ROS的模拟操作系统中,需要对每个关节点的旋转进行检验。如果任何关节出现不受控制的问题,机器人就不能够像正常一样运作。在码垛机器人中最为主要的就是对其转动点的测试关键,其次就是对机器人运动模型的装载,然后开启RViz,启动移动计划组节点,分别给
38、出其运动角度,运行速度等参数,给腰部旋转关节发送运动,暂停,速度调整,恢复运动,返回初始位置等命令用于测试码垛机器人腰部的旋转接头是否能正常工作。如图5.1所示,腰椎关节的关节旋转在初始点位置为0.7弧度,暂停一定时间,然后调用速度调节功能,使运行速度为起始速度的一半,然后回到初始点。从图中可以看出位置的速度控制,与理论分析一致,图5.1显示了机器人腰部关节角度的变化,图5.2显示了关节速度的变化。机器人的腰部。图中曲线中的位置5和速度5代表腰椎关节。 图5.1 腰部关节关节角度变化曲线 图 5.2 关节速度变化曲线5.2 连续运动测试连续运动测试主要在模拟测试中启动相关运动。在其工作中,通常
39、给出起点A和项目放置点B.机器人首先在初始状态下移动到A点。,然后向下运行并且抓取物品,然后提取到某一给定高度,运动到 B点上方,向下运行并且放置物品,机器人连续运动的轨迹由轨迹规划插值运算完成,其运动如图 5.3 所示。图5.3 机器人运动示意图 图 5.4 连续运动关节角度的变化曲线设计在 ROS 中的程序流程,其流程图如图 5.4 所示。程序设计的连续运动,首先确定机器人是否在初始姿态,给定其在在世界坐标系中的参考位置,然后根据位置点进行轨迹插补,完成该运动流程。我们可以根据结果分析得到,这是一个成功的运动结果,能够达到给定的位姿。仿真结果的关节部分的变化关系图可以根据下图5.5看到。开
40、始初始化运动节点选择控制的移动组指定机器人操作末端否 指定参考坐标系输入起始点、终止点位姿输入起始点提取高度、终止点放置高度运动方案的选择执行运动否运动到初始位置检查是否在初始位置 图5.5主要程序流程图是运动是否结束是结束5.3 示教测试在Rviz可视界面中,可以移动标记点以将机器人模型的末端移动到工作空间中的任何位置,模拟实际环境并教授机器人末端位置的控制。最为关键的就是机器人的姿态读数的读取功能以及关节角运动的可变值,可以将机器人当前的姿态通过命令窗口显示出来,然后根据得到的数据,一方面可以通过各个关节角度通过正运动学实现对机器人的控制,另一方面可以通过机器人末端的位姿通过逆运动学对机器
41、人的运动进行控制。对于读取函数的测试,其在命令终端显示如图 5.6 所示。图 5.6 机器人关节角度以及末端位置姿态显示5.4 约束避障测试此部分内容是用来检测机器人是否能够像实际情况一样对运动中遇到的阻碍物进行规避,从而确保机器人完好运行,在RViz的环境中规划模拟现实中的一些状况,给机器人运动起点A,轨迹路径点B,终点C,机器人通过此方式完成自主避障:RRT算法。最终可以成功得到想要的效果。a) 机器人B 点位姿 b) 机器人C 点位姿 c) 机器人避障轨迹图5.7 机器人避障运动环境模拟以及优化轨迹从图 5.7 看到 的是码垛机器人避障环境模拟以及其优化运动轨迹。图 5.8 所示为对比图
42、(有无障碍物),给出了他变化着的线型图,最终可以了解,在运动轨迹中如果有阻碍物的话,关节角度变化明显比无障碍物运动更加复杂,而且运行时间也较长,约增加了一倍的时间耗时。a) 没有障碍物运动轨迹 b) 有障碍物运动轨迹图5.8 机器人避障运动对比图5.5 本章小结第五章中通过码垛机器人仿真系统的仿真实验后能够将实验顺利做完,对每个关节的转动点都进行了检测,确保实验能够正常进行,在连续运动时观察各个位置及速度点的变化状态,通过对流程的分析最终得到了正确的结果。根据机器人实时姿态得出各个数据,使用算法对比障碍物的阻挡,再根据过程中遇到的问题逐步完善优化好运动的路线,最终得以对比有无阻碍物的运动轨迹。
43、6 结论作为一个开源机器人操作系统,ROS强大的运动模拟功能可帮助研究人员验证控制操基于机器人操作系统,实现了机器人运动仿真实验,验证了仿真系统的可靠性。课题主要创新点如下:(1)成功建立了基于 ROS的仿真系统,依照他的机构模型完成了机器人结构简化以及运动学建模与分析,成功编译码垛机器人URDF文件之后,同时通过 RViz 3D可视化工具实现机器人模型三维仿真显示。利用其中的存储文件实现三维建模,通过移动组节点的设计将接触等运动完成,通过运动规划接口完成运动规划工作,最终实现码垛机器人在 ROS 系统中的正、逆运动学算法。(2)机器人已经开发了关于其空间和关节的路径规划和研究。实现了笛卡尔空间的线性轨迹,圆形轨迹和两条线性路径之间的过渡轨迹的插值,了解了关节速度和角度的变化关系,可以从他们的变化曲线中认识到各自的特点。(3)将码垛机器人运动仿真实验成功完成。在成功获取机器人的末端姿势数据之后,能够实现机器人在工作空间中任意两点之间的轨迹运动,通过对流程的分析最终得到了正确的结果。根据机器人实时姿态得出各个数据,使用算法对比障碍物的阻挡,再根据过程中遇到的问题逐步完善优化好运动的路线,最终得以对比有无阻碍物的运动轨迹。