CN115351781A - 基于solidworks的工业机器人磨抛路径生成方法及设备 - Google Patents
基于solidworks的工业机器人磨抛路径生成方法及设备 Download PDFInfo
- Publication number
- CN115351781A CN115351781A CN202210856537.2A CN202210856537A CN115351781A CN 115351781 A CN115351781 A CN 115351781A CN 202210856537 A CN202210856537 A CN 202210856537A CN 115351781 A CN115351781 A CN 115351781A
- Authority
- CN
- China
- Prior art keywords
- path
- grinding
- file
- processing
- polishing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000005498 polishing Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 112
- 238000003754 machining Methods 0.000 claims abstract description 71
- 239000013598 vector Substances 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000036544 posture Effects 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000011960 computer-aided design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/005—Manipulators for mechanical processing tasks
- B25J11/0065—Polishing or grinding
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
Abstract
本发明提供的一种基于solidworks的工业机器人磨抛路径生成方法及设备,其方法包括:步骤S1、获取工件三维模型中需要进行磨抛路径规划的加工表面,根据用户设定的残余高度以及弦高误差来规划工业机器人在加工表面的磨抛路径;步骤S2、对于已规划好磨抛路径的所有加工表面,通过蚁群算法与改进RRT算法生成不同加工表面中磨抛路径之间的最短无干涉连接路径;由此,本发明有利于提高磨抛路径生成的自动化能力和提高生产效率。
Description
技术领域
本发明涉及工业机器人技术领域,特别涉及一种基于solidworks的工业机器人磨抛路径生成方法及设备。
背景技术
SolidWorks是达索系统(Dassault Systemes)旗下基于Windows开发的三维CAD系统,其功能强大、组件繁多。
由于SolidWorks主要专注于计算机辅助设计(CAD),在计算机辅助制造(CAM)刀路处理方面涉及不多,特别是针对工业机器人磨抛路径生成的插件,而传统生成工业机器人磨抛路径的方式操作复杂,自动化程度较低,生成的磨抛路径点过多,导致加工数据庞大、效率低下,同时不存在针对不同加工表面间避免干涉连接实现方式。
因此,需要提出一种基于SolidWorks二次开发的工业机器人磨抛路径生成方法以辅助工业机器人磨抛加工生产过程。
发明内容
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提供一种基于solidworks的工业机器人磨抛路径生成方法及设备,能够自动快速生成工业机器人磨抛路径。
(二)技术方案
为了达到上述目的,本发明采用的技术方案为:
一种基于solidworks的工业机器人磨抛路径生成方法,包括:
步骤S1、获取工件三维模型中需要进行磨抛路径规划的加工表面,根据用户设定的残余高度以及弦高误差来规划工业机器人在所述加工表面的磨抛路径;
步骤S2、对于已规划好磨抛路径的所有加工表面,通过蚁群算法与改进RRT算法生成不同加工表面中磨抛路径之间的最短无干涉连接路径。
进一步地,所述步骤S1包括:
步骤S11、获取工件三维模型中需要进行磨抛路径规划的加工表面、用户设定的磨抛路径离散成磨抛路径点时许可的弦高误差以及用户设定的磨抛加工时许可的残余高度;
步骤S12、获取所述加工表面的最小曲率半径;
步骤S13、根据所述残余高度和所述最小曲率半径计算得到截平面的最大间距;
步骤S14、根据所述加工表面是否为回转表面来得到生成参考平面的法线线段;
步骤S15、获得生成参考平面的法线线段长度,将所述截平面的最大间距作为要生成的参考平面的间距,以生成若干参考平面;
步骤S16、生成所述加工表面以及所生成的参考平面的交线;
步骤S17、遍历步骤S16中所生成的交线,根据所述弦高误差将其离散为加工路径点,并依据顺序进行保存所述加工路径点;
步骤S18、根据所述加工路径点生成并保存工业机器人的位姿信息,以得到工业机器人在所述加工表面的磨抛路径;
步骤S19、循环执行所述步骤S11至步骤S18,直至完成所述工件三维模型中所有需要进行磨抛路径规划的加工表面。
进一步地,所述步骤S14包括:
步骤S141、判断所述加工表面是否为回转表面,若是,则执行步骤S142,否则执行步骤S143;
步骤S142、以所述加工表面的轴线作为生成参考平面的法线,所述所述加工表面的轴线为线段;
步骤S143、分别获得所述加工表面在UV方向距离最远点连接成的直线线段,以其中最短的直线线段作为生成参考平面的法线线段。
进一步地,所述步骤S15包括:
步骤S151、根据法线方向以及与法线线段起始点重合来获得第一个参考平面;
步骤S152、为下一参考平面与第一个参考平面的第一距离赋值为所述截平面的最大间距;
步骤S153、获得生成参考平面的法线线段长度,判断所述第一距离是否小于生成参考平面的法线线段长度,若是,则执行步骤S154,否则执行步骤S16;
步骤S154、生成与第一个参考平面相距所述第一距离的参考平面;
步骤S155、将下一参考平面与第一个参考平面的第一距离更新为所述截平面的最大间距加上当前的第一距离并返回至步骤S153,直至更新后的第一距离小于生成参考平面的法线线段长度,得到若干参考平面。
进一步地,所述步骤S17包括:
步骤S171、创建加工路径文件用于存储加工路径点;
步骤S172、遍历步骤S16中所生成的交线,根据所述弦高误差将其离散为加工路径点,并依据顺序尾插入所述加工路径文件中进行保存。
进一步地,所述步骤S18包括:
步骤S181、对于每一个所述加工表面,创建X轴文件、Y轴文件以及Z轴文件用于存储加工路径点姿态的X轴方向、Y轴方向和Z轴方向,创建位姿文件用于存储加工路径点姿态的四元数信息;
步骤S182、获取所述加工路径文件中各个加工路径点的单位法向量信息,并将其尾插入Z轴文件进行保存;
步骤S183、将参考平面的法向量作为加工路径点姿态的Y轴方向,将其保存于所述Y轴方向中,所述参考平面相互平行且法向量皆相等;
步骤S184、将Y轴文件以及Z轴文件中的元素进行叉乘,所得值作为加工路径点姿态的X轴方向,将其保存于X轴文件中;
步骤S185:根据X轴文件、Y轴文件以及Z轴文件中各个元素相对应的值,将其转成四元数后尾插入所述位姿文件中;
步骤S186、将每一个所述加工表面的所述加工路径文件和所述位姿文件分别尾插入加工路径总文件和位姿总文件中,并进行缓存,所述加工路径总文件和位姿总文件分别用于存储不同加工表面上的加工路径点以及相应的姿态信息。
进一步地,所述步骤S2包括:
步骤S21、将已规划好磨抛路径的所有加工表面作为需要连接的加工表面,根据所需要连接表面的数量n以及每个加工表面上磨抛路径线所具有的两个端点,创建2n大小的二维数组citySite,将i、j分别作为二维数组的行、列索引,当i和j为2的倍数时,i与i+1、j与j+1表示由步骤S1所生成同一加工表面的磨抛路径点上的第一个点和最后一个点,所述二维数组citySite[i][j]存储的信息为端点i到端点j的无干涉路径长度;
步骤S22、所述二维数组citySite中用不同两个加工表面上的点分别作为起始点和目标点,利用改进RRT算法分别找到一条可达路径,同时判断扩展节点是否与磨抛工件相干涉;
步骤S23、保留步骤S22中所寻找到的可达路径,计算可达路径长度,将作为所述二维数组citySite所存储的值;
步骤S24、根据所述二维数组citySite中存储的值作为两个节点间距离,采用蚁群算法进行连接,以生成最佳路径,在蚁群算法选择下一节点的过程中判断所在节点所在表面的另一端点是否有被选择,若无,则下一节点必为所在节点所在表面的另一端点,若有,则按照蚁群算法规定选择下一节点;
步骤S25、将所述最佳路径排序索引存储于bestRoute,所述bestRoute表示各个表面端点如何连接将会形成最短且不同表面之间无干涉的连接路径;
步骤S26、获取用户设定的磨抛路径的起始加工点,判断所设定加工起始点所在表面的另一端点在bestRoute的位置是在所述加工起始点前还是后,若为后则执行步骤S27,若为前则执行S28;
步骤S27、将起始点前的所有bestRoute数据不变方向的插入到bestRoute末尾;
步骤S28、反转bestRoute后将所述加工起始点前的所有bestRoute数据不变方向的插入到bestRoute末尾;
步骤S29、创建加工路径最终文件和位姿最终文件,根据bestRoute存储的信息,将对应的加工路径总文件和位姿总文件中元素分别尾插入加工路径总文件和位姿总文件,并根据bestRoute的信息判断加工路径总文件和位姿总文件中元素分别尾插入加工路径总文件和位姿总文件时是否需要反转,当bestRoute相邻两元素为不同加工表面端点的索引时,在位姿最终文件中尾插入对应的由步骤S23保留的可达路径,同时根据不同加工表面两端点的四元数值进行插值,尾插入位姿最终文件中,所述插值数量为可达路径点的数量。
进一步地,所述步骤S2之后还包括:
步骤S3、将工业机器人加工路径信息转成工业机器人离线编程平台RobotStudio可识别的代码。
进一步地,所述工业机器人离线编程平台RobotStudio可识别的代码为RAPID代码。
为了达到上述目的,本发明采用的另一种技术方案为:
一种基于solidworks的工业机器人磨抛路径生成设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于solidworks的工业机器人磨抛路径生成方法。
(三)有益效果
本发明的有益效果在于:基于solidworks的工业机器人磨抛路径生成方法及设备,其使用SolidWorks软件提供的二发开发接口,根据用户设定残余高度以及弦高误差对工件三维模型的加工表面进行分析,自动、快速生成工业机器人在每一个加工表面的磨抛路径;通过蚁群算法与改进RRT算法生成不同加工表面中加工路径的最短无干涉连接路径,有利于提高磨抛路径生成的自动化能力和提高生产效率。
附图说明
图1为本发明实施例的一种基于solidworks的工业机器人磨抛路径生成方法的主要流程示意图;
图2为本发明实施例涉及的步骤S1的流程示意图;
图3为本发明实施例涉及的参考平面的示意图;
图4为本发明实施例涉及的步骤S2的流程示意图;
图5为本发明实施例涉及的不同加工表面之间的连接路径示意图;
图6为本发明实施例涉及的步骤S3的流程示意图;
图7为本发明实施例的一种基于solidworks的工业机器人磨抛路径生成设备的结构示意图。
【附图标记说明】
1:一种基于solidworks的工业机器人磨抛路径生成设备;
2:处理器;
3:存储器。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
实施例一
请参照图1至图6,一种基于solidworks的工业机器人磨抛路径生成方法,采用磨抛路径生成模块、磨抛路径连接模块以及RAPID代码生成模块,分别对应本实施例一种的步骤S1至步骤S3。
在本实施例中,编制工业机器人磨抛路径生成方法所用的程序语言是C#语言,在其他实施例中,程序语言还可以为C++语言或Basic语言。
由此,本实施例的具体实现步骤包括:
步骤S1、获取工件三维模型中需要进行磨抛路径规划的加工表面,根据用户设定的残余高度以及弦高误差来规划工业机器人在加工表面的磨抛路径;
其中,步骤S1包括:
步骤S11、获取工件三维模型中需要进行磨抛路径规划的加工表面、用户设定的磨抛路径离散成磨抛路径点时许可的弦高误差以及用户设定的磨抛加工时许可的残余高度;
如图2所示,用户首先在SolidWorks中打开需要进行工业机器人磨抛路径规划的工件三维模型,然后选择需要进行磨抛路径规划的加工表面以及设定磨抛路径离散成磨抛路径点时许可的弦高误差chordEr和磨抛加工时许可的残余高度residualEr,由磨抛路径生成模块获取上述的设定参数进行后续的处理。
同时,本实施例所基于的坐标系为工件三维模型绘制时所处的坐标系。
步骤S12、获取加工表面的最小曲率半径;
其中,最小曲率半径表示为rMin。
步骤S13、根据残余高度和最小曲率半径计算得到截平面的最大间距;
其中,根据残余高度residualEr和最小曲率半径rMin计算得到截平面的最大间距h,具体关系为:h=2rMin/(rMin+e)*√(e2+2rMin*e),其中,e为残余高度residualEr
步骤S14、根据加工表面是否为回转表面来得到生成参考平面的法线线段;
如图2所示,步骤S14包括:
步骤S141、判断加工表面是否为回转表面,若是,则执行步骤S142,否则执行步骤S143;
步骤S142、以加工表面的轴线作为生成参考平面的法线,加工表面的轴线为线段;
步骤S143、分别获得加工表面在UV方向距离最远点连接成的直线线段,以其中最短的直线线段作为生成参考平面的法线线段。
在本实施例中,获得加工表面在UV方向距离最远点连接成的直线线段通过SolidWorks提供的接口即可获得。、
步骤S15、获得生成参考平面的法线线段长度,将截平面的最大间距作为要生成的参考平面的间距,以生成若干参考平面;
如图2和图3所示,步骤S15包括:
步骤S151、根据法线方向以及与法线线段起始点重合来获得第一个参考平面;
步骤S152、为下一参考平面与第一个参考平面的第一距离赋值为截平面的最大间距;
其中,第一距离nextH=截平面的最大间距h。
步骤S153、获得生成参考平面的法线线段长度,判断第一距离是否小于生成参考平面的法线线段长度,若是,则执行步骤S154,否则执行步骤S16;
步骤S154、生成与第一个参考平面相距第一距离的参考平面;
步骤S155、将下一参考平面与第一个参考平面的第一距离更新为截平面的最大间距加上当前的第一距离并返回至步骤S153,直至更新后的第一距离小于生成参考平面的法线线段长度,得到若干参考平面。
其中,图3中层叠状的平行四边形即为参考平面,图3中竖直向上的笔直线条为生成参考平面的法线线段。
即更新第一距离nextH=nextH+h来循环执行,以得到若干参考平面。
步骤S16、生成加工表面以及所生成的参考平面的交线;
其中,根据步骤S15生成的参考平面依据步骤S11所选择的加工表面,通过调用SolidWorks所提供的接口来生成两者的交线。
步骤S17、遍历步骤S16中所生成的交线,根据弦高误差将其离散为加工路径点,并依据顺序进行保存加工路径点;
如图2所示,步骤S17包括:
步骤S171、创建加工路径文件用于存储加工路径点;
其中,创建加工路径文件为List<Point>routePt。
步骤S172、遍历步骤S16中所生成的交线,根据弦高误差将其离散为加工路径点,并依据顺序尾插入加工路径文件中进行保存。
其中,通过调用SolidWorks所提供的接口根据弦高误差将其离散为加工路径点,由此依据顺序尾插入加工路径文件routePt中进行保存。
其中,在将磨抛路径进行离散时,能够根据限定弦高误差进行离散,在此基础上生成较小量的离散节点及较小量的RAPID文件,减少工业机器人执行代码量,提升工业机器人磨抛效率。
步骤S18、根据加工路径点生成并保存工业机器人的位姿信息,以得到工业机器人在加工表面的磨抛路径;
如图2所示,步骤S18包括:
步骤S181、对于每一个加工表面,创建X轴文件、Y轴文件以及Z轴文件用于存储加工路径点姿态的X轴方向、Y轴方向和Z轴方向,创建位姿文件用于存储加工路径点姿态的四元数信息;
其中,创建X轴文件、Y轴文件以及Z轴文件分别为:List<VectorX>vecX、List<VectorY>vecY和List<VecotZ>vecZ。
步骤S182、获取加工路径文件中各个加工路径点的单位法向量信息,并将其尾插入Z轴文件进行保存;
其中,通过调用SolidWorks所提供的接口、获取加工路径文件中各个加工路径点的单位法向量信息,并将其尾插入Z轴文件vecZ进行保存
步骤S183、将参考平面的法向量作为加工路径点姿态的Y轴方向,将其保存于Y轴方向中,参考平面相互平行且法向量皆相等;
步骤S184、将Y轴文件以及Z轴文件中的元素进行叉乘,所得值作为加工路径点姿态的X轴方向,将其保存于X轴文件中;
步骤S185:根据X轴文件、Y轴文件以及Z轴文件中各个元素相对应的值,将其转成四元数后尾插入位姿文件中;
其中,创建List<Quternion>qtn用于存储加工路径点姿态的四元数信息,即位姿文件为qtn。
步骤S186、将每一个加工表面的加工路径文件和位姿文件分别尾插入加工路径总文件和位姿总文件中,并进行缓存,加工路径总文件和位姿总文件分别用于存储不同加工表面上的加工路径点以及相应的姿态信息。
其中,创建List<List<Point>>allFacePt、List<List<Quternion>>
allFaceQtn用于存储不同表面上的加工路径点以及相应的姿态信息,即加工路径总文件和位姿总文件分别为allFacePt和allFaceQtn。
步骤S19、循环执行步骤S11至步骤S18,直至完成工件三维模型中所有需要进行磨抛路径规划的加工表面。
即如果还需要规划的话则需要重复步骤S11至步骤S18,直至完成所有的加工表面。
步骤S2、对于已规划好磨抛路径的所有加工表面,通过蚁群算法与改进RRT算法生成不同加工表面中磨抛路径之间的最短无干涉连接路径。
如图4和图5所示,步骤S2包括:
步骤S21、将已规划好磨抛路径的所有加工表面作为需要连接的加工表面,根据所需要连接表面的数量n以及每个加工表面上磨抛路径线所具有的两个端点,创建2n大小的二维数组citySite,将i、j分别作为二维数组的行、列索引,当i和j为2的倍数时,i与i+1、j与j+1表示由步骤S1所生成同一加工表面的磨抛路径点上的第一个点和最后一个点,二维数组citySite[i][j]存储的信息为端点i到端点j的无干涉路径长度;
步骤S22、二维数组citySite中用不同两个加工表面上的点分别作为起始点和目标点,利用改进RRT算法分别找到一条可达路径,同时判断扩展节点是否与磨抛工件相干涉;
其中,通过调用SolidWorks所提供的接口判断扩展节点是否与磨抛工件相干涉。
步骤S23、保留步骤S22中所寻找到的可达路径,计算可达路径长度,将作为二维数组citySite所存储的值;
步骤S24、根据二维数组citySite中存储的值作为两个节点间距离,采用蚁群算法进行连接,以生成最佳路径,在蚁群算法选择下一节点的过程中判断所在节点所在表面的另一端点是否有被选择,若无,则下一节点必为所在节点所在表面的另一端点,若有,则按照蚁群算法规定选择下一节点;
步骤S25、将最佳路径排序索引存储于bestRoute,bestRoute表示各个表面端点如何连接将会形成最短且不同表面之间无干涉的连接路径;
步骤S26、获取用户设定的磨抛路径的起始加工点,判断所设定加工起始点所在表面的另一端点在bestRoute的位置是在加工起始点前还是后,若为后则执行步骤S27,若为前则执行S28;
其中,磨抛路径的起始加工点是所要连接各个加工表面的磨抛路径端点。
步骤S27、将起始点前的所有bestRoute数据不变方向的插入到bestRoute末尾;
步骤S28、反转bestRoute后将加工起始点前的所有bestRoute数据不变方向的插入到bestRoute末尾;
步骤S29、创建加工路径最终文件和位姿最终文件,根据bestRoute存储的信息,将对应的加工路径总文件和位姿总文件中元素分别尾插入加工路径总文件和位姿总文件,并根据bestRoute的信息判断加工路径总文件和位姿总文件中元素分别尾插入加工路径总文件和位姿总文件时是否需要反转,当bestRoute相邻两元素为不同加工表面端点的索引时,在位姿最终文件中尾插入对应的由步骤S23保留的可达路径,同时根据不同加工表面两端点的四元数值进行插值,尾插入位姿最终文件中,插值数量为可达路径点的数量。
其中,创建List<Point>finalPt、List<Quternion>finalQtn,即加工路径最终文件和位姿最终文件分别为finalPt和finalQtn,根据bestRoute存储的信息,将对应的allFacePt、allFaceQtn中元素分别尾插入finalPt、finalQtn,并根据bestRoute的信息判断allFacePt、allFaceQtn中元素分别尾插入finalPt、finalQtn时是否需要反转。
由此,由于附图只能呈现黑白的缘故,实际图中,不同线条呈现不同颜色。而如图5所示,参照图3中的工件三维模型,图3中以正对的加工表面注解有X方向、Y方向、Z方向以及加工路径,其他加工表面参考图3进行对应,按照灰度由深到浅分别是Z方向、X方向、Y方向以及加工路径。其中,右上角呈L型和中间部分呈现斜向上的两条线段则为加工表面间的连接线。
因此,在进行不同表面加工路径连接时,能够生成不同表面间的无干涉连接路径,能够实现不同表面间的最短连接方式,有效的提高了自动化水平及磨抛路径规划效率。
步骤S3、将工业机器人加工路径信息转成工业机器人离线编程平台RobotStudio可识别的代码。
其中,工业机器人离线编程平台RobotStudio可识别的代码为RAPID代码。其实现方式于遍历finalPoint、finalQ,将其路径信息转成RAPID代码格式,具体可参照图6所示。
实施例二
请参照图7,一种基于solidworks的工业机器人磨抛路径生成设备1,包括存储器3、处理器2及存储在存储器3上并可在处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现上述实施例一中的步骤。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于solidworks的工业机器人磨抛路径生成方法,其特征在于,包括:
步骤S1、获取工件三维模型中需要进行磨抛路径规划的加工表面,根据用户设定的残余高度以及弦高误差来规划工业机器人在所述加工表面的磨抛路径;
步骤S2、对于已规划好磨抛路径的所有加工表面,通过蚁群算法与改进RRT算法生成不同加工表面中磨抛路径之间的最短无干涉连接路径。
2.根据权利要求1所述的基于solidworks的工业机器人磨抛路径生成方法,其特征在于,所述步骤S1包括:
步骤S11、获取工件三维模型中需要进行磨抛路径规划的加工表面、用户设定的磨抛路径离散成磨抛路径点时许可的弦高误差以及用户设定的磨抛加工时许可的残余高度;
步骤S12、获取所述加工表面的最小曲率半径;
步骤S13、根据所述残余高度和所述最小曲率半径计算得到截平面的最大间距;
步骤S14、根据所述加工表面是否为回转表面来得到生成参考平面的法线线段;
步骤S15、获得生成参考平面的法线线段长度,将所述截平面的最大间距作为要生成的参考平面的间距,以生成若干参考平面;
步骤S16、生成所述加工表面以及所生成的参考平面的交线;
步骤S17、遍历步骤S16中所生成的交线,根据所述弦高误差将其离散为加工路径点,并依据顺序进行保存所述加工路径点;
步骤S18、根据所述加工路径点生成并保存工业机器人的位姿信息,以得到工业机器人在所述加工表面的磨抛路径;
步骤S19、循环执行所述步骤S11至步骤S18,直至完成所述工件三维模型中所有需要进行磨抛路径规划的加工表面。
3.根据权利要求2所述的基于solidworks的工业机器人磨抛路径生成方法,其特征在于,所述步骤S14包括:
步骤S141、判断所述加工表面是否为回转表面,若是,则执行步骤S142,否则执行步骤S143;
步骤S142、以所述加工表面的轴线作为生成参考平面的法线,所述所述加工表面的轴线为线段;
步骤S143、分别获得所述加工表面在UV方向距离最远点连接成的直线线段,以其中最短的直线线段作为生成参考平面的法线线段。
4.根据权利要求2所述的基于solidworks的工业机器人磨抛路径生成方法,其特征在于,所述步骤S15包括:
步骤S151、根据法线方向以及与法线线段起始点重合来获得第一个参考平面;
步骤S152、为下一参考平面与第一个参考平面的第一距离赋值为所述截平面的最大间距;
步骤S153、获得生成参考平面的法线线段长度,判断所述第一距离是否小于生成参考平面的法线线段长度,若是,则执行步骤S154,否则执行步骤S16;
步骤S154、生成与第一个参考平面相距所述第一距离的参考平面;
步骤S155、将下一参考平面与第一个参考平面的第一距离更新为所述截平面的最大间距加上当前的第一距离并返回至步骤S153,直至更新后的第一距离小于生成参考平面的法线线段长度,得到若干参考平面。
5.根据权利要求2所述的基于solidworks的工业机器人磨抛路径生成方法,其特征在于,所述步骤S17包括:
步骤S171、创建加工路径文件用于存储加工路径点;
步骤S172、遍历步骤S16中所生成的交线,根据所述弦高误差将其离散为加工路径点,并依据顺序尾插入所述加工路径文件中进行保存。
6.根据权利要求2所述的基于solidworks的工业机器人磨抛路径生成方法,其特征在于,所述步骤S18包括:
步骤S181、对于每一个所述加工表面,创建X轴文件、Y轴文件以及Z轴文件用于存储加工路径点姿态的X轴方向、Y轴方向和Z轴方向,创建位姿文件用于存储加工路径点姿态的四元数信息;
步骤S182、获取所述加工路径文件中各个加工路径点的单位法向量信息,并将其尾插入Z轴文件进行保存;
步骤S183、将参考平面的法向量作为加工路径点姿态的Y轴方向,将其保存于所述Y轴方向中,所述参考平面相互平行且法向量皆相等;
步骤S184、将Y轴文件以及Z轴文件中的元素进行叉乘,所得值作为加工路径点姿态的X轴方向,将其保存于X轴文件中;
步骤S185:根据X轴文件、Y轴文件以及Z轴文件中各个元素相对应的值,将其转成四元数后尾插入所述位姿文件中;
步骤S186、将每一个所述加工表面的所述加工路径文件和所述位姿文件分别尾插入加工路径总文件和位姿总文件中,并进行缓存,所述加工路径总文件和位姿总文件分别用于存储不同加工表面上的加工路径点以及相应的姿态信息。
7.根据权利要求1所述的基于solidworks的工业机器人磨抛路径生成方法,其特征在于,所述步骤S2包括:
步骤S21、将已规划好磨抛路径的所有加工表面作为需要连接的加工表面,根据所需要连接表面的数量n以及每个加工表面上磨抛路径线所具有的两个端点,创建2n大小的二维数组citySite,将i、j分别作为二维数组的行、列索引,当i和j为2的倍数时,i与i+1、j与j+1表示由步骤S1所生成同一加工表面的磨抛路径点上的第一个点和最后一个点,所述二维数组citySite[i][j]存储的信息为端点i到端点j的无干涉路径长度;
步骤S22、所述二维数组citySite中用不同两个加工表面上的点分别作为起始点和目标点,利用改进RRT算法分别找到一条可达路径,同时判断扩展节点是否与磨抛工件相干涉;
步骤S23、保留步骤S22中所寻找到的可达路径,计算可达路径长度,将作为所述二维数组citySite所存储的值;
步骤S24、根据所述二维数组citySite中存储的值作为两个节点间距离,采用蚁群算法进行连接,以生成最佳路径,在蚁群算法选择下一节点的过程中判断所在节点所在表面的另一端点是否有被选择,若无,则下一节点必为所在节点所在表面的另一端点,若有,则按照蚁群算法规定选择下一节点;
步骤S25、将所述最佳路径排序索引存储于bestRoute,所述bestRoute表示各个表面端点如何连接将会形成最短且不同表面之间无干涉的连接路径;
步骤S26、获取用户设定的磨抛路径的起始加工点,判断所设定加工起始点所在表面的另一端点在bestRoute的位置是在所述加工起始点前还是后,若为后则执行步骤S27,若为前则执行S28;
步骤S27、将起始点前的所有bestRoute数据不变方向的插入到bestRoute末尾;
步骤S28、反转bestRoute后将所述加工起始点前的所有bestRoute数据不变方向的插入到bestRoute末尾;
步骤S29、创建加工路径最终文件和位姿最终文件,根据bestRoute存储的信息,将对应的加工路径总文件和位姿总文件中元素分别尾插入加工路径总文件和位姿总文件,并根据bestRoute的信息判断加工路径总文件和位姿总文件中元素分别尾插入加工路径总文件和位姿总文件时是否需要反转,当bestRoute相邻两元素为不同加工表面端点的索引时,在位姿最终文件中尾插入对应的由步骤S23保留的可达路径,同时根据不同加工表面两端点的四元数值进行插值,尾插入位姿最终文件中,所述插值数量为可达路径点的数量。
8.根据权利要求1至7任一所述的基于solidworks的工业机器人磨抛路径生成方法,其特征在于,所述步骤S2之后还包括:
步骤S3、将工业机器人加工路径信息转成工业机器人离线编程平台RobotStudio可识别的代码。
9.根据权利要求8所述的基于solidworks的工业机器人磨抛路径生成方法,其特征在于,所述工业机器人离线编程平台RobotStudio可识别的代码为RAPID代码。
10.一种基于solidworks的工业机器人磨抛路径生成设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一所述的基于solidworks的工业机器人磨抛路径生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210856537.2A CN115351781B (zh) | 2022-07-20 | 基于solidworks的工业机器人磨抛路径生成方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210856537.2A CN115351781B (zh) | 2022-07-20 | 基于solidworks的工业机器人磨抛路径生成方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115351781A true CN115351781A (zh) | 2022-11-18 |
CN115351781B CN115351781B (zh) | 2024-06-07 |
Family
ID=
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105269565A (zh) * | 2015-10-30 | 2016-01-27 | 福建长江工业有限公司 | 一种六轴磨抛工业机器人离线编程及修正方法 |
CN106182018A (zh) * | 2016-07-30 | 2016-12-07 | 福州大学 | 一种基于工件三维图形的磨抛工业机器人离线编程方法 |
CN107127755A (zh) * | 2017-05-12 | 2017-09-05 | 华南理工大学 | 一种三维点云的实时采集装置及机器人打磨轨迹规划方法 |
DE102017010688B3 (de) * | 2017-11-17 | 2019-01-03 | Kuka Deutschland Gmbh | Verfahren und System zum Steuern eines Roboters |
CN111230880A (zh) * | 2020-02-24 | 2020-06-05 | 西安交通大学 | 一种离线编程中的复杂曲面加工轨迹生成方法 |
CN111300208A (zh) * | 2019-12-19 | 2020-06-19 | 重庆大学 | 一种复杂曲面机器人砂带变进给自适应磨削方法及设备 |
CN111823100A (zh) * | 2020-07-24 | 2020-10-27 | 前元运立(北京)机器人智能科技有限公司 | 一种基于机器人的小曲率抛光打磨方法 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105269565A (zh) * | 2015-10-30 | 2016-01-27 | 福建长江工业有限公司 | 一种六轴磨抛工业机器人离线编程及修正方法 |
CN106182018A (zh) * | 2016-07-30 | 2016-12-07 | 福州大学 | 一种基于工件三维图形的磨抛工业机器人离线编程方法 |
CN107127755A (zh) * | 2017-05-12 | 2017-09-05 | 华南理工大学 | 一种三维点云的实时采集装置及机器人打磨轨迹规划方法 |
DE102017010688B3 (de) * | 2017-11-17 | 2019-01-03 | Kuka Deutschland Gmbh | Verfahren und System zum Steuern eines Roboters |
CN111300208A (zh) * | 2019-12-19 | 2020-06-19 | 重庆大学 | 一种复杂曲面机器人砂带变进给自适应磨削方法及设备 |
CN111230880A (zh) * | 2020-02-24 | 2020-06-05 | 西安交通大学 | 一种离线编程中的复杂曲面加工轨迹生成方法 |
CN111823100A (zh) * | 2020-07-24 | 2020-10-27 | 前元运立(北京)机器人智能科技有限公司 | 一种基于机器人的小曲率抛光打磨方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110227876B (zh) | 基于3d点云数据的机器人焊接路径自主规划方法 | |
CN108527367B (zh) | 一种多机器人协同作业任务的描述方法 | |
CN111230880A (zh) | 一种离线编程中的复杂曲面加工轨迹生成方法 | |
CN103197604A (zh) | 基于dbf实现刀具路径自动优化的数控系统及控制方法 | |
CN112109084A (zh) | 基于机器人关节角度补偿的末端位置补偿方法及其应用 | |
CN113715016A (zh) | 一种基于3d视觉的机器人抓取方法、系统、装置及介质 | |
CN111914980A (zh) | 一种基于解析解和改进遗传算法的冗余机械臂运动学解算方法 | |
CN116038702B (zh) | 一种七轴机器人逆解方法及七轴机器人 | |
CN112906215B (zh) | 一种基于SolidWorks二次开发的管材刀路生成方法 | |
CN115351781A (zh) | 基于solidworks的工业机器人磨抛路径生成方法及设备 | |
Leirmo et al. | Tolerancing from STL data: a legacy challenge | |
CN115351781B (zh) | 基于solidworks的工业机器人磨抛路径生成方法及设备 | |
CN111805540A (zh) | 工件抓取位姿的确定方法、装置、设备及存储介质 | |
CN106200541B (zh) | 一种将功能块图转换为aov结构的方法 | |
CN113608496B (zh) | 空间路径g2转接光顺方法、设备及计算机可读存储介质 | |
CN116225640A (zh) | 焊接数字孪生三维场景模型并发构建方法 | |
CN115741666A (zh) | 机器人手眼标定方法、机器人及机器人作业方法 | |
CN111815691B (zh) | 一种网格数据结构的邻域访问方法、装置、设备及介质 | |
CN110555240B (zh) | 一种从机器人装配体模型到仿真模型的自动生成方法 | |
JP7260001B2 (ja) | プログラム生成装置、プログラム生成方法、及び生成プログラム | |
CN113792362B (zh) | 一种机械设计方案分步推荐方法 | |
CN113408148B (zh) | 一种基于SolidWorks二次开发的管材切割仿真方法 | |
CN112926158B (zh) | 一种工业机械设计场景下基于参数微调的通用设计方法 | |
CN113867260B (zh) | 一种采用数值积分的机器人曲面加工关节轨迹生成方法 | |
CN118081748A (zh) | 基于动态分批采样优化的机器人柔性焊接路径规划方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |