版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于多软件联合的双机器人协调运动系统仿真实验分析案例目录TOC\o"1-3"\h\u21437基于多软件联合的双机器人协调运动系统仿真实验分析案例 144821.1引言 1319731.2基于多软件联合的双机器人协调运动系统仿真实验平台搭建 152721.2.1仿真平台软件选取 1102681.2.2仿真平台搭建 3259021.3双机器人协调运动系统仿真实验 12288751.3.1基于“三点定圆”的改进双机器人基坐标系标定实验验证 12185361.3.2双机器人紧约束下的协调运动轨迹验证 14187891.3.3双机器人松约束下的协调运动轨迹验证 191.1引言机器人仿真实验不仅可以直接观测目标整体运动过程,也可以很好地验证设计方法的有效性,后续也可以直接对接真实的机器人,极大地缩短设备停止时间,增加生产效率。在第3章与第4章设计双机器人基坐标系标定算法并对双机器人协调运动关系进行分析与初步验证,本章在前文结论的基础上搭建基于多软件联合的双机器人协调运动系统仿真实验平台,对实验步骤进行设计,进一步验证方法和算法的有效性。1.2基于多软件联合的双机器人协调运动系统仿真实验平台搭建1.2.1仿真平台软件选取仿真实验是控制机器人、进行轨迹规划以及验证算法的重要步骤。第4章仅使用MATLAB对双机器人松约束以及紧约束运动进行验证,虽然在控制与方法上验证了双机器人运动的正确性,但软件本身仍然存在一些缺陷:由于MATLABRoboticToolbox自身的运算规则,无法实现双线程编程,虽然可以通过For循环函数实现双机器人动画层次的“同步运动”,但其本质仍然是不同步的,即在MATLAB中很难做实现真正意义上的双机器人同步仿真运动。MATLAB凭借其出色的计算能力广泛被人们使用,但它的视觉仿真能力与其他专业的仿真软件相比无疑是有一定差距的,具体表现为无法细致地描绘出机器人的形貌、无法精准的观测机器人运动过程中各个关节的变化、无法方便的显示出双机器人各机械臂的实时运动情况。MATLAB的仿真结果没有考虑关节轴的配置以及运动速度等因素,并且难以在真实的机器人中直接运行。综上所述,使用专业的机器人仿真软件可以解决上述MATLAB无法解决的问题,并对前面研究的基坐标系标定算法、双机器人协调运动进行验证是很有必要的。目前市面上常用的机器人物理仿真软件有Gazebo、RobotStudio、V-REP、Adams等等,这些软件各有优缺点:Gazebo是一款开源的机器人开发平台,提供非常多的控制接口,可以实现多语言编程,可视化性能好,自由度也很高,但缺点也很明显,只能在Linux系统下使用,导致入门门槛较高,节点配置也较为繁琐[51];RobotStudio是ABB公司配套的机器人仿真软件,支持机器人的整个生命周期,包括图形化编程编辑、模拟优化现有的机器人程序,也支持多机器人的集成化应用[52],但目前只支持ABB品牌的机器人,机器人之间的兼容性也比较差;V-REP(VirtualRobotExperimentationPlatform)[53]是瑞士公司Coppelia开发的跨平台仿真软件,本身具有稳定性好,体积小的优点,入门门槛也较低,软件自身提供大量的模型,并提供Demo程序和控制接口;软件中每个仿真对象都可以通过嵌入式脚本、插件、ROS节点、远程API客户端、用户定制解决方案等实现单独控制;控制器支持C/C++、Python、Java、Lua、MATLAB、Urbi等多种通用语言。CAD模型支持DXF、3DS、OBJ、STL等格式的导入导出。可以被使用在远程监控、硬件控制、快速原型验证、控制算法开发与参数调整、安全性检查、机器人教学、工厂自动化模拟及产品展示等各种领域[54]。V-REP软件的这些优势极大地提高了目标模型的创建、配置速度与算法验证的准确性也降低了二次开发的成本。V-REP凭借其方便的用户体验、强大的仿真能力以及出色的对外接口成为全球领先的机器人仿真平台。V-REP软件具有以上多种优势,但也存在一些劣势,例如复杂程序的计算能力欠佳,复杂模型的构建能力较弱,操作也很繁琐,远不如目前常用的三维建模软件[55]。SolidWorks软件[56]是由达索系统(DassaultSystemsS.A)公司设计的一款三维设计软件,凭借多样的建模功能、操作简单易上手等特点成为机械、机电等领域首选的三维CAD软件之一。建模方面,SolidWorks提供基于特征的实体建模功能,可以通过拉伸、旋转、薄壁特征、抽壳、特征阵列以及打孔等操作创建模型,此外,通过引导线进行扫描、放样、填充以及拖动操作产生复杂的曲面,也可直观地对曲面进行修剪、延伸、倒角等曲面的操作[57]。对比以上三种软件的优点与缺点,利用MATLAB软件快捷高效的计算功能、V-REP软件功能齐全的仿真功能以及SolidWorks软件便利直观的建模功能,对双机器人协调运动进行仿真实验。具体操作为:首先在SolidWorks软件中创建JLRB8-600型机器人各个部件的三维模型并装配,建立机器人仿真模型;使用URDF插件转存所建立的机器人导入V-REP软件中,并配置机器人各个关节与机械臂;在MATLAB中编写对应的机器人控制程序,通过V-REP软件自带的远程API接口,建立MATLAB与V-REP的连接通道,实时控制JLRB8-600型机器人运动。利用上述三款软件实现计算、建模以及仿真的优势互补,不仅实现了双机器人运动的精准控制,也可以直观地、实时地观测双机器人协调运动,至此,完成了双机器人协调运动系统仿真实验平台的软件选取工作。1.2.2仿真平台搭建根据上一节的总结,搭建JLRB8-600型机器人的仿真模型,由于机器人本质上是由一系列关节以及连杆组成,需要保证关节轴在空间中的位置,按照图2-4、表2-1以及JLRB8-600型机器人手册中规定的参数对单个基座以及机械臂建模,然后建立机器人的装配仿真模型。模型的细节会影响最终仿真平台的运行速度,但是不对机器人运动行为造成干扰,因此省去模型的细小特征。在模型导入V-REP时,URDF文件会保存建模中机器人各关节的位置、坐标系等信息,所以在装配中就需要添加角度和位置约束。实际的JLRB8-600型机器人见图5-1、机器人机械臂的模型见图5-2、最终建立的JLRB8-600型机器人三维装配模型见图5-3。图5-1实际JLRB8-600型机器人Fig.5-1ActualJLRB8-600Robot图5-2机器人底座(左)和第1机械臂(右)模型Fig.5-2Robotbase(left)andfirstarm(right)model上图展示的是机器人部分组件,实验需要建立外形样貌以观测机器人各部分运动过程以及是否发生碰撞等,内部驱动在V-REP中实现,无需对机器人内部建模,组装后的机器人见下图。图5-3机器人装配模型Fig.5-3Robotassemblymodel为了方便在模型导入V-REP后对比、配置、验证模型的正确性,在SolidWorks中记录各个机械臂的质量、关节轴在世界坐标系下的坐标中心位置、机械臂在对应关节轴坐标系下的质心位置。JLRB8-600型机器人各机械臂的质量(Kg): (5-1)关节轴在世界坐标系下的坐标系中心位置(m): (5-2)机械臂在对应关节轴坐标系下的质心位置(m): (5-3)完成JLRB8-600型机器人三维模型构建并记录相关数据,将其导入V-REP中,使用URDF插件导入,URDF(UnifiedRobotDescriptionFormat)文件是统一的机器人描述格式文件,是基于XML规范、用于描述机器人结构的格式,它包含了对机器人模型的运动学与动力学描述、机器人几何表示以及机器人的碰撞模型。由此通过URDF插件将目标机器人三维模型装换成.URDF文件,V-REP软件读取信息完成导入。导入后的模型见图5-4。图5-4V-REP中的JLRB8-600型机器人Fig.5-4JLRB8-600robotinV-REP导入模型后对机器人进行调整。对于坐标系位置,为了便于在后续的仿真工作建立双机器人协调系统,将此定为主机器人,并使其基坐标系与仿真环境中的世界坐标系重合,见图5-5。由于插件文本转换的关系使得JLRB8-600型机器人中各关节位置发生了偏移,将其位置按照式(5-2)规定的调整,见图5-6。接下来根据式(5-3)将机械臂的位置微调至关节轴坐标系对应位置中,见图5-7。最后,对照并修改机器人各机械臂的质量,见图5-8。至此V-REP中的JLRB8-600型机器人模型位置参数修改完毕。图5-5规定JLRB8-600型机器人基坐标系Fig.5-5SettingJLRB8-600robotbasecoordinatesystem图5-6调整JLRB8-600型机器人各关节轴位置Fig.5-6AdjustthepositionofeachjointaxisofJLRB8-600robot图5-7调整JLRB8-600型机器人各机械臂位置Fig.5-7AdjustJLRB8-600positionofeachrobotarm图5-8设置JLRB8-600型机器人各机械臂质量Fig.5-8SettingJLRB8-600robotarmquality将JLRB8-600型机器人模型导入V-REP中并配置完毕,接下来让机器人模型按照预计的行为运动,V-REP软件本身可以使用嵌入式脚本对机器人进行编程,但编程需要使用Lua语言,加上软件本身与MATLAB相比,代码繁琐、调试复杂,计算能力也较弱,利用MATLAB对机器人编程并将数据输送至V-REP。多软件联合实验平台必须建立MATLAB与V-REP的数据连接通道,V-REPAPI框架分为:常规API、远程API、ROS接口、BlueZero接口、辅助API以及其他接口。这里选择远程API(TheremoteAPI),远程API通过网络通信(Socket)方式与V-REP交互,在很大程度上减少了时间滞后和网络负载,它能够让外部应用程序(例如MATLAB)控制仿真进程。远程API包含接近100个特定的函数,这些函数可以在MATLAB程序中直接调用。V-REP远程API包含两个模块,即客户端—服务器端交互通信。MATLAB作为服务器端将数据发送出去,V-REP作为客户端接收指令并做出相应动作。具体MATLAB与V-REP通讯流程见图5-9。图5-9MATLAB与V-REP的通讯流程Fig.5-9MATLABandV-REPcommunicationprocesses上图可以看出,在客户端(V-REP)的操作非常方便,只需要配置本地端口和IP就能实现通信,不需要编写API程序通信的同步与可视化等操作代码。建立客户端—服务器端通信通道,MATLAB能够连接并调用V-REP中的库文件,配置工作如下:1.V-REP应用程序文件夹中自带与MATLAB连接的文本程序,将文件路径\V-REP3\V-REP_PRO_EDU\programming\remoteApiBindings\matlab\matlab中所有MATLAB可识别的.m文件复制到MATLAB算法源目录下,这是调用客户端的代码;2.将\V-REP3\V-REP_PRO_EDU\programming\remoteApiBindings\lib\lib\64Bit中的.dll复制到源目录下,这是可以访问的数据库文件。远程API的文件配置工作完成,见图5-10。图5-10MATLAB—V-REP远程API的文件配置工作Fig.5-10MATLAB—V-REPremoteAPIfileconfiguration接下来设置客户端—服务器端的本地端口和IP,在V-REP机器人的根部创建非线程子脚本,并调用远程连接的启动代码,见图5-11。simRemoteApi.start意为启动远程API服务,19999为网络通信的端口代码,MATLAB中同样设置此代码即可实现对V-REP的控制。从此也可以看出,实现与V-REP的通讯只需要设置端口,而不需要编写其他远程连接的控制程序,这正是V-REP的优势之一。接下来实现双机器人的运动只需要在MATLAB中操作即可。图5-11V-REP中非线程子脚本中的通讯端口代码Fig.5-11CommunicationportcodeinV-REPnon-threadedchildscriptMATLAB编写远程通信的初始化代码,库文件已经复制到程序源目录文件下,可以通过调用相应子函数实现对V-REP的控制,初始化见图5-12。图5-12MATLAB中远程通信初始化Fig.5-12MATLABremotecommunicationinitialization上图代码从第4行开始,使用remApi函数调用“remoteApi.m”文件,加载相应的数据库;simxFinish(-1)意为关闭所有的通信线程,“-1”指clientID(客户端参数)的值;simxStart意为启动与服务器的通信线程,其中“127.0.0.1”表示服务器所在的IP地址,“19999”表示将要连接的端口号,与V-REP中的端口号对应;第一个“true”对应“waitUntilConnected”函数,表示MATLAB与V-REP保持阻塞直到成为连接状态;第二个“true”对应“doNotReconnectOnceDisconnected”函数,表示如果断开了MATLAB与V-REP的连接,通信线程将不会尝试建立第二次连接;“5000”对应“timeOutInMs”函数,表示在MATLAB与V-REP第一次连接中,在尝试连接超时的情况下,阻止函数调用的超时时间为5000毫秒;“5”对应“commThreadCycleInMs”函数,表示通信速率,即数据包来回发送的频率,此参数越小,响应速度越快,一般设置为5。在MATLAB程序中,将双机器人协调运动仿真验证分为两个部分。一个为控制双机器人运动的脚本,主要为设置机器人参数、设置运行坐标点、运动轨迹以及求解机器人正逆运动学等等;另一个为初始化与调用V-REP机器人关节的脚本,用来连接通信、配置机器人,发送与接收对应机器人信息等。部分脚本程序见图5-13。图5-13MATLAB配置V-REP机器人的程序Fig.5-13MATLABprogramforconfiguringV-REProbots上图中,使MATLAB正确控制V-REP中某个机器人,要对机器人的各个关节进行“Handle”,类似于添加对应关节的指针,通过指针识别对应机器人关节。子函数用“Get”获取V-REP中的数据,使用“Set”发送MATLAB中的数据,通过接收—发送实现两款软件对机器人的控制。V-REP与MATLAB之间的通讯与相应控制脚本配置完毕,只需要分别点击它们的开始仿真按钮,即可实现通讯控制。至此完成了MATLAB与V-REP的前期准备工作,仿真平台搭建完毕。1.3双机器人协调运动系统仿真实验1.3.1基于“三点定圆”的改进双机器人基坐标系标定实验验证本节旨在验证3.3节中设计的基于“三点定圆”的改进双机器人基坐标系标定算法的可行性与正确性,使标定过程可视化。采用多软件联合仿真实验平台,结合3.3节提出的方法,双机器人均采用JLRB8-600型。按照标定方法设计,主机器人末端安装标定台,从机器人末端安装标定针。在满足运动空间的前提下将3.4节预设的双机器人基坐标系复杂化,不仅改变它们之间的位置,也改变相对位姿,两台机器人轴相交,如图5-14所示。图5-14双机器人基坐标初始位置Fig.5-14Initialpositionofdual-robotbasecoordinates读取V-REP中两台机器人基坐标系之间的位姿矩阵: (5-4)按照设计的基坐标系标定方法进行操作与记录,再根据提出的算法进行计算,与式(5-4)对比,若得出的结果一致,则说明此方法在复杂关系下仍是有效与正确的。规定从机器人的位姿,使其方便进行标定工作,这里设定从机器人初始关节角度为:。然后依次转动从机器人第1个轴的角度,由于角度任意,这里分别转动0°、15°、35°,标定针尖端所在的点分别记为、、。在每一个位置,均记录下此位置相对主机器人与从机器人的空间位置以及各自关节转动的角度,图5-15为每一个点中两个机器人各自的标定情况,表5-1、5-2为记录的数据。图5-15双机器人在三个点的标定情况Fig.5-15Calibrationofdual-robotsatthreepoints表5-1记录主机器人信息Tab.5-1Recordmasterrobotinformation标定点主机器人工具末端相对于的位置()从机器人六个关节的角位移值(°)351.03147.56638.1126.17-99.368.5294.23-11.20-94.31409.911.23638.11-9.83-90.830.83-90.01-39.8390.01541.55-151.79638.1127.38-40.95-71.76-94.94-78.37113.21表5-2记录从机器人信息Fig.5-2Recordingslaverobotinformation标定点从机器人工具末端相对于的位置()从机器人六个关节的角位移值(°)351.03147.56638.110-900000409.911.23638.1115-900000541.55-151.79638.1135-900000使用设计的双机器人基坐标系标定算法,计算出: 进而得到相对于的空间位姿为: (5-5)由式(3-6)和式(3-7)得出相对的空间位姿为: (5-6)对比式(5-4)与式(5-6),得出由基于“三点定圆”的改进双机器人基坐标系标定方法计算的值与在V-REP仿真中得出的值完全一致,由此证明此算法的可行性与正确性。1.3.2双机器人紧约束下的协调运动轨迹验证利用基于多软件联合的双机器人协调运动仿真平台,验证4.2.1节的双机器人紧约束协调运动轨迹规划算法。相比4.2.2节,本节不仅使用MATLAB软件,也用到V-REP软件,工件变为直线、弧线以及变姿态弧线混合轨迹,实现主从机器人协调搬运。为更好地验证双机器人协调运动轨迹算法,将机器人的轨迹和基坐标系复杂化,具体如下:将原本双机器人相对而立,转变为错位摆放,并且坐标系轴之间设置转角,双机器人基坐标系之间的位姿矩阵为: (5-7)两台机器人末端执行器为夹爪,有效长度58,夹爪夹持搬运板,有效长度40,搬运的工件尺寸为(),先规划工件在各个目标点处的位姿矩阵,中间其余各点通过直线与圆弧插值的方式得出,再由式(4-1)至式(4-5)建立主机器人与从机器人末端位姿的关系式,得出最终结果: 规划的轨迹为四条线段,上式分别对应每段的起点和终点,每个矩阵中位置向量的单位均为毫米(),V-REP中的运动过程与结果见图5-16。图5-16双机器人协调轨迹(四个阶段)Fig.5-16Dual-robotcoordinatedtrajectory(fourstages)上图中,红色线(图中右边机器人)代表主机器人工具坐标系原点的运动轨迹,蓝色线(图中左边机器人)代表从机器人工具坐标系原点的运动轨迹,可以看出,两条轨迹均连续无断点,能够实现复杂轨迹的搬运功能。下面验证运动过程中紧约束协调运动轨迹算法的正确性,从机器人的轨迹依赖主机器人的运动,所以验证以从机器人为主。具体思路是:记录运动过程中从机器人工具末端在世界坐标系下的位姿矩阵,以此当作实验数据。根据实验获得主机器人搬运过程中工具坐标系的位姿矩阵,搬运板和工件的尺寸已知,可以推导世界坐标系下的从机器人工具末端位姿并作为理论数据。对比实验数据与理论数据,验证运动过程中轨迹算法是否正确。首先随机选取实验中主机器人末端轨迹的数据,这里选取6组,见表5-3。表5-3提取6组主机器人工具位姿矩阵数据Fig.5-3Extracting6groupsfrommasterrobotictoolposematrixdata序号主机器人位姿矩阵()序号主机器人位姿矩阵()142536在实验数据中提取与主机器人对应位置的从机器人工具坐标系位姿矩阵作为实验组数据,根据表5-3、搬运板和工件的尺寸推导从机器人工具末端位姿作为理论组数据,表5-4是实验组和理论组对应位置的位姿矩阵。
表5-4实验组与理论组数据Fig.5-4Experimentalandtheoreticalgroupdata序号实验组数据()序号理论组数据()112233445566由上表可以看出,不考虑机器人自身机械误差、测量误差以及双机器人标定误差,实验组与理论组中从机器人末端位置一致,进一步证明了双机器人紧约束下的协调运动轨迹算法的可行性和正确性。至此,使用仿真平台验证紧约束运动算法结束。1.3.3双机器人松约束下的协调运动轨迹验证本节目的是验证双机器人松约束下的协调运动轨迹规划算法,在MATLAB中编写算法,然后将两台机器人关节信息发送到V-REP中实现双机器人运动可视化。主机器人末端安装写字板,正面指向世界坐标系轴,从机器人末端安装夹具,夹持写字笔在写字板上写字。控制主机器人与从机器人末端移动的速度,通过两者的相对运动写出规范字迹,按照3.3.2节方法设置双机器人基坐标系: (3-8)写字板有效长度,夹具和写字笔有效长度分别为与。保证在写字过程中两台机器人同步,写字板在世界坐标系下沿着轴做直线运动,写字笔写出规范的“123”。为了防止写字过程中出现不需要的干扰线,换笔时写字板进行短暂地停顿,同时写字笔做出“抬笔”、“移动”和“落笔”动作,然后继续写字。仿真过程见图5-17。图5-17双机器人写字过程和结果Fig.5-17Dual-robotwritin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏服务器安全防护与攻击防范手册
- 生产管理优化与质量控制手册
- 2026年运营总监 测试题目及答案
- 2026年海淀英语测试题及答案
- 2026年数字英语测试题及答案
- 2026年小班认识方位测试题及答案
- 2026届湖南省郴州市汝城县重点达标名校中考英语模拟预测试卷含答案
- 《函数的概念-函数》课件2025-2026学年人教版八年级数学下册
- 广西贺州市昭平县市级名校2026届初中英语毕业考试模拟冲刺卷含答案
- 小学语文统编版(2024)一年级下册(2024)4 小公鸡和小鸭子教学设计及反思
- 2024中华护理学会团体标准-注射相关感染预防与控制
- 东方航空合同管理制度
- 危机公关与舆情应对
- 腹针完整版本
- 非职权影响力培训
- 部编人教版小学四年级下册道德与法治一课一练(含答案全一册)
- 医疗器械效期管理制度
- 小学生主题班会 防震减灾安全教育课件
- 用电信息采集系统
- 关节松动技术-课件
- 标准化推动企业质量管理与创新发展
评论
0/150
提交评论