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

这篇具有很好参考价值的文章主要介绍了基于OpenCascade的机器人离线仿真软件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

图1离线软件系统组成

2 模型的加载与显示

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

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

图2 离线软件窗口

2.1 模型的导入与导出

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

2.2 模型的位姿移动

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

图3 模型的移动

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

2.3 机器人的仿真运动实现

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

图4 机器人的坐标系

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

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

2.4 多机器人的支持 

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

图5 多机器人的导入

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

3 工件加工路径生成

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

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

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

3.1 线路径生成方法

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

图6 边缘路径生成图

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

3.3 面路径生成方法

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

图7 面路径生成图

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

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

4.1 路径的编辑

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

                                                                图8 路径的编辑

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

4.2 机器人运动仿真

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

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

图9 机器人运动仿真

5 工件位姿的标定

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

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

图10 工件标定原理图

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

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

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

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

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

图11 工件标定窗口

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

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

6.1 后置代码

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

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

图12 机器人程序生成

6.2 五轴机器人打磨测试

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

(1)标定工件位姿

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

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

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

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

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

                                                         图14 加工路径规划

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

图15 路径仿真

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

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

图16 机器人磨抛测试图

     从磨抛结果看,该离线软件初步具备了机器人离线编程软件的基本功能,能够实现离线路径规划、离线运动仿真和程序输出的功能,后续针对离线编程路径的精度和离线软件中轨迹规划的内容再进一步完善。文章来源地址https://www.toymoban.com/news/detail-861319.html

到了这里,关于基于OpenCascade的机器人离线仿真软件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于gazebo仿真环境的移动机器人导航仿真

    摘要 :实现移动机器人同时定位与建图技术和路径规划技术是让机器人真正智能化的前提。针对机器人自主导航问题,本文在gazebo仿真环境下,利用开源软件包Gmapping提供的算法完成了机器人的自定位与手动地图构建,在此基础上结合move_base软件包相关的路径规划算法完成了

    2024年02月01日
    浏览(39)
  • 基于C#的机器人仿真平台和机器人运动学算法实现

    一、平台搭建 1.利用wpf自带的库进行机器人各关节导入 相关代码段: 导入效果如图: 效果视频: 2.通过正运动学显示机器人当前位置信息 拖动机器人并且实时改变其位置信息: xaml代码部分: 算法部分:  3.功能实现(在X/Y/Z轴上设置一个移动距离,然后机器人自动移动该

    2024年02月16日
    浏览(55)
  • 基于Matlab开发的动态机器人轨迹仿真

    基于Matlab开发的动态机器人轨迹仿真 近年来,机器人技术的发展已经进入了高速发展时期。控制与仿真技术作为机器人领域中至关重要的一环,也随之发展壮大。而在动态机器人轨迹仿真方面,Matlab作为一款具备强大数学计算能力的软件,在该领域中得到广泛应用。 本文将

    2024年02月03日
    浏览(52)
  • ROS仿真软件Turtlebot-Gazebo的安装使用以及错误处理[机器人避障]

            很多时候由于机器人价格比较贵,而且会因为环境因素、操作失误或者摔坏等,所以我们可以先在仿真软件上做测试,也可以避免这些问题,虽然没有那么真实感,可毕竟是免费的嘛。我们可以在这些仿真的机器人身上去学习如何控制机器人,读取它们的传感器数

    2024年02月08日
    浏览(48)
  • 基于Robot Studio的工业机器人汽车喷涂仿真设计

    近几年,随着汽车普及程度的提高,消费者对汽车的外形、性能要求也越来越高,各大汽车制造商纷纷对传统的油漆生产线进行改造,以提高生产效率、节约生产成本。喷射机器人的出现和它的使用,在汽车涂装生产线上起着举足轻重的作用。本文利用ABB自主开发的Robot Stu

    2024年02月07日
    浏览(55)
  • 基于蚁群优化的机器人避障算法仿真

    基于蚁群优化的机器人避障算法仿真 随着机器人技术的发展,机器人的避障能力也变得越来越重要。蚁群优化算法是一种智能优化算法,具有全局搜索能力和强鲁棒性。本文将介绍如何使用ACO蚁群优化算法实现机器人的避障功能,并用Matlab进行仿真。 算法原理 蚁群优化算法

    2024年02月12日
    浏览(41)
  • 基于遗传算法求解机器人栅格地图路径规划问题matlab仿真

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进, 代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信    

    2024年01月22日
    浏览(61)
  • 基于ROS的机器人模型建立及3D仿真【物理/机械意义】

    在前面的博客中,我们已经学习过了如何对目标机器人进行数学意义上的模型建立,以便实现基础控制,而在实际生活中,由于机器人造价高昂,我们往往难以获得实际的目标机器人进行部署研究,这就需要我们对目标进行仿真,采用编程或可视化方法建立机器人3D模型,从

    2024年02月09日
    浏览(67)
  • 基于Gazebo搭建移动机器人,并结合SLAM系统完成建图仿真

    博客地址:https://www.cnblogs.com/zylyehuo/ gazebo小车模型创建及仿真详见之前博客 gazebo小车模型(附带仿真环境) - zylyehuo - 博客园 gazebo+rviz 仿真 - zylyehuo - 博客园 参考链接 Autolabor-ROS机器人入门课程《ROS理论与实践》 安装 gmapping 包(用于构建地图): sudo apt install ros-melodic-gmapping 安

    2024年02月04日
    浏览(51)
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真

    一、创建工作空间          二、下载wpr_simulation源码 git clone https://github.com/6-robot/wpr_simulation.git 三、编译 ~/catkin_make  目录下catkin_make source devel/setup.bash 四、运行 roslaunch wpr_simulation wpb_simple.launch 启动另一个终端,执行: rosrun rqt_robot_steering rqt_robot_steering 鼠标改变速度和角

    2024年01月20日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包