基于OpenCascade的机器人离线仿真软件

       基于OpenCascade库搭搭建了一个机器人离线仿真软件,离线软件是在Windows系统环境下,在Qt平台上进行开发的。软件主要由显示窗口、虚拟示教器窗口、路径管理与仿真窗口、路径生成窗口、工件标定窗口、模型编辑窗口、模型移动窗口和程序与通讯窗口等8个主要的窗口组成,各窗口的基本功能如图1所示。

图1离线软件系统组成

2 模型的加载与显示

     OpenCascade是一个开源的几何内核库,其主要用于CAD/CAE/CAM的开发,具有基本的几何体表达、CAD模型显示与操作、多种CAD文件格式读取与保存等功能。基于OCC库搭建了离线软件的仿真运动窗口,用于模型和仿真运动的显示,如图2所示。

图2 离线软件窗口

2.1 模型的导入与导出

       目前离线软件利用OCC库提供的三维模型文件读取功能,提供了step、stl、igs和obj格式的三维模型的导入导出功能。软件将所导入的模型分为三类分别为:工件模型、工具模型和机器人模型,工件模型可以对其表面进行特征选取来生成加工路径;工具模型和机器人模型用于离线仿真。模型导入后根据导入模型的类别会自动的划分到对应的模型列表下面,软件中提供了对模型的颜色、材料、透明度和位姿属性进行设置的功能。step、stl和igs格式的模型主要针对工件模型,这些格式的模型保存有模型的内部结构等数据,模型精度较高,可保证模型表面所生成路径的精度。obj格式的模型主要针对机器人模型和工件模型,obj格式的模型是一种表面模型,模型打开速度较快,适合应用模型的仿真运动。

2.2 模型的位姿移动

图3 模型的移动

        模型导入后,每个模型都会有一个自身局部坐标系,默认情况下导入后的模型的局部坐标系跟窗口的基准坐标系是重合的,模型的位姿就是指模型局部坐标系相对于窗口基准坐标系的位姿。目前离线软件提供两种方式来修改模型的位姿,一种是在模型移动窗口中手动输入位姿数据,另一种是利用位姿操纵器,用鼠标来拖拽模型的位姿如图3所示。

2.3 机器人的仿真运动实现

图4 机器人的坐标系

      机器人是由多个连杆构成的一个组合体,各关节间存在相互约束,为了实现机器人的仿真运动需要建立机器人运动学正逆解,来控制各连杆间的运动。如上图所示,为了使机器人各连杆跟随所建立的DH模型坐标系进行运动,首先需要将建立的DH模型坐标系匹配到各关节模型的正确位置处,然后确定各关节DH模型坐标系与关节模型局部坐标系之间的转换关系,完成了这两步,就可以通过机器人正逆运动学来计算各DH模型坐标系的位置进而控制各连杆模型跟随连杆DH模型坐标系进行仿真运动。

        为了将机器人的DH模型坐标系匹配到各关节模型准确的位置,可以将机器人三维模型在三维设计软件中装配好,使各关节处于零点位置,并使底座的局部坐标系与底座处的机器人DH模型坐标系基系相重合。这样离线软件导入机器人模型后,机器人各关节处于零点的初始位姿状态,此时机器人所有关节的局部坐标系都与窗口的基准坐标系重合,在基准坐标系处建立机器人初始位姿的DH模型坐标系,则建立的DH模型坐标系会匹配到各连杆的正确位置处如图4所示,记录此时DH模型坐标系相对于基准坐标系的转换关系即为各关节上的DH模型坐标系与各关节自身局部坐标系的转换关系,然后就可以利用关节角度控制各连杆模型跟随连个上的DH模型坐标系进行仿真运动。

2.4 多机器人的支持 

图5 多机器人的导入

       目前离线软件中可以导入多款机器人进行离线路径规划和仿真运动,除了自研的五轴机器人还支持六轴机器人如abb4600、eston200、和自研的六轴偏置机器人等如图5所示。为了实现多机器人的管理,软件中利用一个机器人数据数组来存放导入的机器人的参数数据,每个机器人的数据包含DH模型数据、各关节局部坐标系与关节上的DH模型坐标系的转换关系、工件坐标系和工具坐标系信息和当前关节角度数据等。

3 工件加工路径生成

        OCC中模型每个表面是由多个空间曲面拼接构成的,空间曲面是关于两个参数u和v的矢值函数,它表示由uv平面上的二维区域R到三维欧几里得空间的映射。把曲面表示成双参数的形式为:

        针对一个曲面可以对参数空间的u、v值进行规划来获取该平面上有规律的路径,但通常的加工平面都是由多个曲面组成,对于多个曲面一起来规划路径目前常用的方法为截面交线法。在离线软件中提供了平面切割路径法、圆柱面切割路径法和圆截面扫描路径法用于加工面的路径生成。对线路径软件中提供了弦高限制路径生成法和等间距路径生成法。

3.1 线路径生成方法

图6 边缘路径生成图

       图6是利用弦高限制路径生成法和等间距路径生成法对选择的轮毂边缘路径进行路径点生成的示意图,两种方法都是将选择的路径进行离散化,等间距路径生成方法是按照所设定路径点的间距来离散路径,生成的路径点基本为等间距的空间位姿;弦高限制的方法是确保每段的弦高在设定参数范围内,该算法在曲率大的地方离散点数会多,但总体点数有时会变少,更接近原始曲线,是最常用的一种。路径点的姿态是以点所在平面的法线和点所在线段的切线方向确定的。

3.3 面路径生成方法

 

图7 面路径生成图

        平面切割路径生成方法,需要选择两个点或一条线段来作为切平面的法向量,首先根据所选的加工平面的空间范围来计算切割平面的大小和起始位置,其次根据设定的路径间距沿切割平面的法向量方向平移切割平面,求切割平面与选定平面的交线,最后对交线做离散处理生成路径点位姿,路径点的姿态是以点所在加工平面处的法线和点所在线段的切线方向确定的,图7(a)是通过平面切割路径法生成的路径点轨迹示意图。圆柱面切割路径生成方法与平面切割路径方法类似,先选择的一条圆弧来确定圆柱面的中心轴线,根据所选的加工平面和设定的路径间距来依次生成半径不断变大的圆柱切割面,切割面与加工平面求交线,然后对交线进行离散处理生成路径点位姿,其生成的路径轨迹如图7(b)所示。圆截面切割路径是选择一条基准路径进行等间距或弦高限制离散成一条基准路径点,然后以这些点作为圆心,按设定的半径生成圆弧,圆的法线方向为圆心点所在线段的切线方向,利用圆弧与加工面的交点作为下一条路径的点,重复该过程将路径布满加工平面,如图7(c)和7(d)所示。

4 机器人路径编辑与离线仿真

4.1 路径的编辑

                                                                图8 路径的编辑

        路径窗口里面记录了规划生成的路径信息,每次规划生成加工路径都会保存在一个路径组里面,一个路径组里包含了多条规划的加工路径,每一条加工路径下面是离散的位姿数据和运动指令。目前软件中设定了4种运动指令MoveJ、MoveL、MoveC和MabsJ,分别对应点到点运动、直线运行、圆弧运动和关节位置运动。对于生成的路径提供了路径点的编辑功能,如图8所示,能够手动修改路径点位姿、速度、运动指令、工件坐标系和工具坐标系等参数,可以增加和删除路径中的位置点,能够控制机器人运动到运动到路径点,直观的查看机器人在该点的姿态,可通过拖拽机器人运动来方便的重新示教路径点的位姿。

4.2 机器人运动仿真

        为了实现机器人沿生成路径的仿真运动,在软件中加入了机器人轨迹规划相关的程序,在虚拟环境中简化了轨迹规划的相关内容,机器人的轨迹规划中去除了加减速的过程,按设定的速度进行匀速运动,在关节空间和笛卡尔空间中按匀速运动来插补出轨迹点控制机器人沿路径进行仿真运动。在路径窗口中选择要进行仿真运动的路径,然后根据路径的前后顺序,机器人会沿着这些路径进行仿真运动,如图9所示。

图9 机器人运动仿真

5 工件位姿的标定

       离线软件在实际应用过程中,需要保证实际的作业对象与离线环境中的模型对象相对于机器人的位姿是相同的。参考相关离线软件中工件标定的方法,本文采用辅助特征点三点工件标定方法[11-13],来调整离线环境中模型对象的位姿,使其与实际的作业对象的位姿一致。

图10 工件标定原理图

      如上图所示,在工件中设定三个不共线标记点P1,P2,P3,以P2做为原点,三点所在平面法向作为Z轴方向,P1与P2的连线作为X轴方向建立固接在工件上的一个坐标系。

Ob是机器人的基坐标系,Or是实际工件上建立的标记坐标系,Os是离线仿真环境中模型工件上建立的标记坐标系,Tbs是仿真环境中模型上的标记坐标系Os相对于机器人基系的位姿,Tbr是实际环境中工件上的标记坐标系Or相对于机器人基系的位姿,Tsr是实际工件上的标记坐标系Or相对于模型工件上的标记坐标系Os位姿变换矩阵,其中TbsTbr可以通过示教的三个位置点求出,由上图三个坐标系的变化关系可得:

,根据Tsr来调整仿真环境中模型工件的位姿,使模型工件与实际工件相对于机器人基系的位姿保持一致。

图11 工件标定窗口

        软件中给出了工件标定数据输入的窗口如图11所示,通过输入实际工件上示教的三个标记点位置和模型工件上示教的三个标记点位置,会自动计算模型工件的变化矩阵,将模型工件移动到与实际工件一样的位姿处。

6 后置代码与离线路径磨抛测试

6.1 后置代码

       针对自研的五轴机器人,在离线软件中加入了后置代码功能,选中要生成加工程序的路径,会自动生成五轴机器人的运动程序如图12所示,生成的程序可以保存为txt文件拷贝到机器人示教器,用示教器打开控制机器人运动,还可以用离线软件直接发送到五轴机器人控制器中,直接控制机器人运动,离线软件通过TCP/IP的通讯方式建立了与五轴机器人控制器的通讯,可以控制程序的下载与运行。

图12 机器人程序生成

6.2 五轴机器人打磨测试

        为了验证离线软件的路径规划和离线仿真功能,在离线软件上规划了汽车轮毂中两个曲面的加工路径,利用自研五轴机器人进行了打磨测试,加工工具为砂纸棒,安装在机器人末端的气动浮动打磨头上。

(1)标定工件位姿

 图13 轮毂工件位姿标定示意图

         汽车轮毂固定后,在实际轮毂上画三个特征明显的标记点,实际机器人末端工具示教这三个点位置,在离线软件中利用虚拟机器人示教虚拟轮毂上着三个标记点位置,然后将示教后的两组数据写入工件标定窗口中如图13所示,离线软件根据这两组数据自动将仿真环境中的轮毂模型变换到与实际轮毂模型相同位置处。

(2)在离线软件里规划两个加工面的加工路径。

               

                                                         图14 加工路径规划

图15 路径仿真

       离线软件里采用截面圆路径法来生成如图14所示的加工路径,通过离线仿真如图15所示,在生成的路径中加入起始和结束的中间位置点后,将程序生成下发到机器人控制器控制机器人进行磨抛加工如图16所示。

图16 机器人磨抛测试图

     从磨抛结果看,该离线软件初步具备了机器人离线编程软件的基本功能,能够实现离线路径规划、离线运动仿真和程序输出的功能,后续针对离线编程路径的精度和离线软件中轨迹规划的内容再进一步完善。

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
基于OpenCASCADE实现简单的CAD功能的程序可以通过以下步骤实现: 1. 开发环境准备:首先,需要安装OpenCASCADE开发环境,以便能够使用OpenCASCADE的API和功能。可以从OpenCASCADE官方网站下载相应的开发包,并按照文档进行安装和配置。 2. 创建CAD模型:使用OpenCASCADE的API,可以创建基本的几何体,如点、直线、圆、矩形等。通过组合和操作这些基本几何体,可以构建更复杂的CAD模型。 3. 编辑CAD模型:通过调用OpenCASCADE提供的编辑API,可以对CAD模型进行修改和编辑。比如改变几何体的尺寸、位置或者旋转角度等。可以使用拖拽、缩放和旋转等功能,实现对CAD模型的交互式编辑。 4. 网格生成:通过OpenCASCADE的网格生成API,可以将CAD模型转换为网格模型。这对于进行分析和仿真非常有用,比如有限元分析、流体力学模拟等。 5. 保存和导出:可以通过OpenCASCADE提供的文件格式,如STEP、IGES、STL等,将CAD模型保存到磁盘上,以便在其他CAD软件中打开和使用。 6. 用户界面设计:为了更好地使用这个CAD程序,还可以设计一个用户界面,以便用户能够方便地进行CAD模型的创建、编辑和导出等操作。可以使用OpenCASCADE的可视化工具包VTK来实现用户界面的设计和开发。 通过以上步骤,就可以基于OpenCASCADE实现简单的CAD功能的程序。这个程序可以用于实现基本的几何建模和编辑操作,并能够保存和导出CAD模型,方便后续的使用和分析。需要注意的是,这只是一个简单的示例,实际开发中还可以根据需要进一步扩展和优化。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值