首页 / 资讯中心 / 文章详情

库卡机器人SimPro离线编程:坐标、TCP与碰撞检查避坑指南

库卡机器人SimPro离线编程:坐标、TCP与碰撞检查避坑指南 ★ FEATURED ARTICLE
简介库卡SimPro仿真软件介绍文档面向工业机器人集成工程师、调试工程师及自动化相关专业学习者尤其适合需要在项目实施前验证机器人工作站布局与程序逻辑的读者。文档以SimPro 2.2为对象先说明软件家族划分Layout侧重三维场景搭建Tech加入编程与轨迹规划Simpro可配合OfficeLite完成离线编程随后按操作界面逐项讲解菜单栏中文档、输出、编辑、显示、设置、模拟、工具等命令用途工具栏与模拟演示按钮的操作逻辑以及选择过滤器、标签页在三维视图与代码编辑器之间切换的方法。这些内容可帮助读者更高效地完成机器人工作单元布局、路径调试和碰撞检查减少现场停机时间。资源包仅含1个PDF文件大小1.99MB图文结合、层级清楚还配有界面展示适合作为库卡机器人仿真入门培训或日常查阅资料。目前已有3761人学习下载适合需要快速上手库卡SimPro的工程人员若能在仿真实战中结合文档练习可显著缩短现场调试周期。1. SimPro 到底解决什么问题离线编程、碰撞检查与节拍估算产线停在那里每停一分钟都是成本。你手里的活儿是改一条轨迹可机器人正在别的工位跑着没法停下来让你示教。这就是离线编程存在的理由也是库卡机器人的 SimPro 仿真软件被反复拿出来讲的原因。SimPro 不是个 3D 预览器而是一套完整的虚拟工作站把机器人、夹具、工件、外部轴都放进同一个场景在电脑上完成路径规划、姿态调整、碰撞检查和节拍估算最后导出 KRL 程序下到控制柜。用得好的团队现场调试时间能压到三分之一用不好它就是让你在仿真和实机之间反复翻车的另一个坑。常见拿到的《SimPro仿真软件介绍》文档通常只讲软件定位和功能模块真正让你能落地的东西往往没写进去坐标系怎么对齐、TCP 怎么标定、生成的程序和实机差在哪、哪些参数必须调。下面把介绍文档没写透的部分补全按「先懂原理、再上手建站、最后排坑」的顺序走。适合做机器人集成、产线改造、工艺规划的人读如果你是刚接触库卡机器人的新手读完至少能明白 SimPro 在整个调试流程里站在什么位置值不值得投入。2. 动手仿真前先补课坐标系、TCP 与 KRL 程序结构我在不同现场见过同一个现象大家拿到 SimPro 第一件事就是往场景里拖模型拖完机器人再拖夹具和工件然后随便点点试试。结果要么机器人跑到天上去要么姿态拧成麻花最后归结成一句「这软件不好用」。实际上SimPro 的运动学计算完全基于坐标系与工具数据绝大多数「玄学」问题都出在这三个黑匣子上坐标系、TCP、KRL 程序结构。先把它们弄明白后面每一步都是在填空。2.1 坐标系关系World、$BASE、Flange 与 $TOOL 的层级库卡机器人的位置数据是分层的链路World 是世界坐标系一般是整个工作站的地基$BASE 是基坐标系通常建在工件或工装原点代表机器人「跟谁干活的参照」Flange 是机器人法兰盘中心$TOOL 是工具坐标系定义工具末端TCP相对法兰的位置和姿态。你在 SimPro 里看到的每一个目标点本质上都是「在 $BASE 下TCP 应该到达的 X/Y/Z 和 A/B/C」。这条链里最容易错的是 $BASE 的方向。很多人只对着 XYZ 平移对齐忽略了 A/B/C 姿态。基坐标方向偏一度平台半径一米的话末端就偏了 17 毫米偏五度直接偏出 80 毫米。焊接、涂胶这类对轨迹敏感的场景现场返工基本都从这里开始。所以在 SimPro 里建立基坐标时建议用「三点法」先点原点再点 X 正方向上的一个点再点 XY 平面上的一个点不要只手动填 XYZ。三个点都选在实机夹具上能找到的物理特征上比如定位销孔、角点、基准面这样现场复现时才有据可依。坐标系在 SimPro 里的角色常见的设置错误World整个场景的地基一般固定不动把机器人放在非零点后期难以对齐$BASE工件的参照系决定程序点的相对坐标只对齐原点忽略 A/B/C 姿态Flange法兰中心机器人自身运动学一般不需要手动设置$TOOL工具末端相对法兰的位置与姿态直接抄别的项目尺寸完全不对在 SimPro 的项目树里这四个层级对应着机器人的本体、工具文件、基坐标文件。导入模型后先打开坐标显示开关把每个坐标系的方向标出来X 红、Y 绿、Z 蓝确认工具 Z 轴是否朝向实际作业方向基坐标 Z 轴是否垂直工件表面。程序里用的是 BASE 1 还是 BASE 2、TOOL 1 还是 TOOL 3编号必须和实机控制柜里的一致。这个编号问题后面 4.3 节还会再踩一次。2.2 TCP 数据仿真和实机一致的第一个前提TCP 是 Tool Center Point 的缩写指的是工具实际干活的那个点比如焊枪的枪尖、抓手的手指中心。SimPro 里所有的运动学计算都认为机器人末端是工具的 TCP而不是法兰中心。如果 TCP 数据不对仿真里再流畅的动作拿到实机上一定是整体偏移或者整体歪掉而且这种错误在仿真阶段几乎看不出来因为画面照样很顺。TCP 数据有两个来源一是从实机上标定二是从 CAD 里量。实机标定最常用的是四点法加三点法让机器人用不同姿态把工具尖端对准同一个固定尖点记录四组法兰位置系统算出 TCP 的 X/Y/Z再用三点法对齐工具方向得到 A/B/C。标定出来的数值直接填进 SimPro 的工具配置里。CAD 法则是在软件里量工具模型末端相对法兰原点的距离与角度前提是物理装夹方向和 CAD 模型方向一致。这里有个很实际的坑工具编号对应的数据可能被改过。比如控制柜里的 TOOL 1 默认是法兰点X/Y/Z 全 0TOOL 2 才是你实际用的焊枪。仿真里如果沿用了别人的项目可能把 TOOL 2 误当成法兰点来写下柜后整条轨迹全部偏移。我的习惯是在 SimPro 里增加一个「工具检查」动作把机器人摆到一个已知姿态对比 TCP 在场景里的位置和实机示教器上显示的位置一致了再往下走。提示如果要把现场已经调好的程序拿回来仿真TCP 和 BASE 的编号、数值都不能动。SimPro 不会帮你判断工具数据是否合理它只负责按照你给的 $TOOL 和 $BASE 去算轨迹数据的「真实性」要靠你自己保证。2.3 KRL 程序最小结构FOLD、PTP、LIN 与速度参数KRL 是库卡机器人的编程语言SimPro 最终输出的就是 KRL 源文件.src 和 .dat。不要求你手写 KRL但必须能读懂程序结构否则导出后一上柜报警你看不懂提示就没法排查。一个最小程序长这样ACCESS RVO REL 1 DEF simpro_demo( ) ;FOLD DECLARATIONS DECL E6POS XP1{X 520.0,Y 30.0,Z 340.0,A 15.0,B 90.0,C 0.0,S 2,T 35} ;ENDFOLD ;FOLD BASE $BASE{X 100.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ENDFOLD ;FOLD TOOL $TOOL{X 0.0,Y 0.0,Z 150.0,A 0.0,B 0.0,C 0.0} ;ENDFOLD ;FOLD PTP HOME PTP HOME Vel100 % DEFAULT ;ENDFOLD ;FOLD LIN XP1 LIN XP1 Vel2.0 m/s CPDAT1 ;ENDFOLD END逐段看ACCESS 和 REL 是文件头DEF 到 END 是程序体。每个 FOLD...ENDFOLD 是结构块DECLARATIONS 里声明点位BASE 和 TOOL 赋值当前基坐标与工具。PTP HOME 是回原点Vel100 表示 100% 速度LIN 是直线运动Vel2.0 m/s 是 2 米每秒CPDAT1 是一套运动数据集里面装着加速度、逼近距离等参数。FOLD 结构不只是注释WorkVisual 和控制柜的程序解释器都会按 FOLD 块来识别程序段所以导出的文件不要自己删改 FOLD 标记。最值得留意的是 E6POS 里的 S 和 T。同一个笛卡尔点六轴机器人可能有多种关节姿态S 是姿态状态码T 是转角位它们共同锁定「这条轨迹用哪一套关节解」。SimPro 在规划路径时会计算 S/T 并写进点位如果你自己手改 XYZ 而没改 S/T实机就可能用另一套姿态去走结果就是奇异点报警或姿态突变。这也是为什么我坚持在 SimPro 里改点不要导出后在文本里手改。3. 用 SimPro 搭第一个工作站从建项目到 KRL 落地原理清楚了接下来就是完整走一遍。我常见的工作流是新建项目、定机器人型号和控制柜版本导入 CAD建立基准示教轨迹做碰撞检查最后导出 KRL。下面每一步都会给出我实际使用的参数和检查点照着走就能搭出第一个能跑的工作站。3.1 新建项目与机器人选型控制柜版本先定死新建项目时SimPro 会让你选机器人型号、控制柜类型和系统软件版本。很多新手在这里随手选一个觉得反正是仿真这是第一个伏笔。生成的 KRL 指令格式、可用选项包和运动学模型都跟 KSS 版本挂钩版本对不上轻则程序导入时提示格式异常重则外部轴配置全部报错。我一般会先到现场看一眼控制柜的软件版本或者打开 WorkVisual 连上机器人把实际运行的 KSS 版本和选项包记录下来再在 SimPro 里建一个完全一致的项目。选型顺序是机器人型号 → 控制柜型号 → KSS 版本 → 是否有外部轴选项包。如果项目里有第七轴、第八轴比如直线导轨或变位机记得在建项目时就加上外部轴的运动学模型别等建完场景再补补的话点位里的 E1/E2 数据会全部重算。建完项目先别急着导模型。先把机器人的基座摆到世界坐标的一个明确位置比如 (0, 0, 0) 或者某个整数坐标点方便后面所有模型对齐。机器人放哪儿、基座多高这些在实机上对应着地基和底座仿真里也要保持一致否则后面所有相对位置全错。这个步骤花两分钟能省掉后面一整天的对齐工作。3.2 导入 CAD 与建立基准单位、原点和工件坐标系CAD 导入是第一个真正容易翻车的环节。几何数据可以从常见三维软件导出为 STEP 或 IGESSimPro 都能读。导入时必查三件事单位、原点、方向。STEP 对实体支持比较好IGES 有时只有曲面导入后会有破面所以我的习惯是优先导出 STEP。单位问题最常见。有的 CAD 模型按米建模有的按毫米导进来后机器人和工件的相对尺寸可能差 1000 倍。导入后第一步用软件的测量工具量一个你知道长度的特征比如两个定位销之间是 400 毫米量出来不对就回去调单位的导入设置。方向问题在夹具模型上很容易踩夹具在 CAD 里是竖直摆放的导进来变成横躺的。这通常是因为 CAD 原点与 SimPro 世界坐标系的默认方向不一致解决方法是导入时手动加一个旋转或者在 CAD 里先把模型摆正再导出。基准建立我建议这样做工件导入后先创建一个基坐标原点选在工件上一个实机也能找到的特征上比如角点、定位销孔、加工基准面。用三点法确定方向和平面。之后所有程序点都填在这个基坐标下现场如果工件位置微调只需要改 $BASE 的一个平移量不用改所有程序点。这是离线编程最值得养成的习惯也是仿真能反哺现场的关键。3.3 示教轨迹与运动参数PTP、LIN、逼近区怎么设基准建好后开始示教轨迹。SimPro 里的示教是打开运动面板在场景里拖动机器人到目标姿态然后添加为程序点。这一步的操作手感因人而异但参数设置有规律可循。我一般先做粗路径把关键的几个工作点、接近点、离开点先定下来跑一遍看整体姿态再回来细调每个点的速度和过渡参数。指令适用场景主要参数我的常用初始值PTP大范围转移、回 HOME、换位Vel %100%空行程LIN焊接、涂胶、打磨等工艺轨迹Vel m/s CPDAT按工艺焊接常 0.5~1.5 m/sCIRC圆弧轨迹Vel m/s 辅助点少用多数工艺用 LIN 逼近CONT连续运动修饰词APO 逼近距离5~20 mm看轨迹精度CONT 是 KRL 里很容易被忽略的修饰词。加了 CONT机器人过点不停轨迹在点附近圆滑过渡不加机器人每个点都要减速到接近零节拍立刻变慢而且对焊枪这类工具还可能留下停顿痕迹。逼近区的 APO 距离决定了过渡的圆角大小APO 太小过渡不明显速度损失大APO 太大工艺轨迹会切角。我一般先给 10 mm跑一遍仿真看轨迹轮廓再按实际工艺调整。示教时还有个习惯不要只示教工作点一定要留出接近点和离开点。夹具的开口方向、工件的进出方向先想清楚接近点放在离工作面 50~100 mm 的直线上离开点同理。这样即使后续加 CONT机器人也是在直线段上做过渡不会斜着切进工件姿态也更稳定。3.4 碰撞检查与程序导出把仿真点变成控制柜能跑的 KRL轨迹示教完开碰撞检查。在 SimPro 里激活碰撞检测后跑一遍完整的路径。检查范围不只是工件和夹具还包括底座、线缆支架、安全围栏。线缆和软管这类柔性物体在仿真里一般建不出来可以用简化的圆柱体包络代替留出余量。碰撞报警距离不要设 0我一般设 10~15 mm把「即将碰撞」和「已经碰撞」区分开提前看到危险趋势。碰撞检查通过后做一次奇异点扫描让仿真按程序跑完观察每个轴的速度和角度曲线有没有某个轴在路径中间段突然要反转 180 度。这种情况在实机上表现为报警或者剧烈降速提前在仿真里看到就改路径。导出时选生成 KRL 源程序SimPro 会把点位、速度参数、BASE 和 TOOL 全部写进 .src 文件。带外部轴的程序里点位会带上 E1/E2/E3 的值DECL E6POS XP3{X 480.0,Y -80.0,Z 620.0,A 90.0,B 0.0,C 0.0,S 6,T 12,E1 45.0,E2 0.0,E3 0.0}这里的 E1 45.0 表示第一个外部轴当前在 45 度的位置比如变位机旋转角度、导轨的位移。下柜前务必核对 E1/E2 数值是否在实机外部轴的行程范围内超过行程在仿真里看不出来到实机上就是直接报警。导出的文件可以通过 WorkVisual 下载到控制柜也可以拷贝到控制柜的 R1 目录下作为独立程序运行。下柜前再检查三处程序里的工具号和基坐标号是否和控制柜配置一致、外部轴值是否超行程、HOME 点是否在实机可达范围内。4. SimPro 使用避坑5 个让现场返工的典型问题前面把流程走完了这一章专门讲坑。以下几个问题是我和周围同事在真实项目里反复遇到过的每一条都按「现象 → 原因 → 解决」写清楚。踩过这些坑之后你会明白仿真软件本身很少出错错的大多是模型和参数的一致性。4.1 现象模型导入后机器人位置「飘」了现象机器人基座明明放在世界坐标零点导入工件后工件要么大到只看见一个角要么离机器人几百米远视角缩放都找不到一起。原因模型单位不统一是最常见的元凶。毫米和米的差异直接放大 1000 倍其次是 CAD 原点离模型主体太远比如原点在草图起始点而几何体在几百毫米外导致导入后对齐困难机器人看起来就「飘」了。解决导入后用测量工具量一个已知特征比如两个安装孔的中心距如果整体偏移回到 CAD 里把原点重设到几何体中心或基准角点后重新导出。机器人基座和工件基准的坐标值尽量用精确数字输入不要靠鼠标拖拖出来的位置在实机上找不到对应关系。4.2 现象仿真没碰撞实机却撞了现象仿真路径跑了几十遍都没撞实机第一次慢速运行焊枪就磕到夹具支杆或者抓手在某个转角蹭到传感器支架。原因CAD 模型不完整。焊枪的线缆接头、传感器支架、气动管路这些细节经常没进模型夹具的夹紧气缸也可能被简化成一个方块。仿真里没撞不代表空间上真的有足够间隙模型缺一块等于少算了一块障碍物。解决对所有可能接近的物体在仿真里补简化碰撞体圆柱、方块都行关键是体积和位置要真实。碰撞检查的报警距离设 10~15 mm不要设 0。实机首次运行一律 T1 模式低速跑人在急停旁边别一上来就切自动这一条是血泪经验换来的。4.3 现象生成的 KRL 一上柜就报警现象程序拷进控制柜启动时提示「运动指令格式错误」或者「选项包缺失」有时直接提示某个工具号不存在程序根本起不来。原因SimPro 项目的 KSS 版本和实机控制柜不一致或者程序里用了实机没装的外部轴选项包也可能程序引用的 TOOL 3 在实机里只定义了 TOOL 1 和 TOOL 2编号对不上。解决建项目前先查实机 KSS 版本和选项包保持一致导出的 .src 打开检查所有工具号和基坐标号外部轴点位确认 E1/E2 数值不超过实机行程。拿不准时先在 WorkVisual 里打开程序做一次编译检查再下柜不要直接拖进控制柜。4.4 现象奇异点附近机器人突然降速现象某一段路径在仿真里能跑但机器人走到某一姿态附近速度肉眼可见地掉下来实机上还会弹奇异点提示严重时直接停止。原因这一点的关节姿态接近奇异区域。对六轴机器人来说常见的奇异有腕部奇异、肩部奇异和肘部奇异。SimPro 虽然能算出这条轨迹但它的速度规划在奇异区域会保守降速这是运动学决定的不是软件 bug。解决在 SimPro 的轨迹监视器里看各轴速度曲线找出降速区间把该区间的运动从 LIN 改成 PTP或者调整接近姿态让腕部偏转一点避开奇异。改完再跑一遍确认速度曲线平滑了再导出。这个检查一定要在仿真里做到实机上遇到奇异点返工成本高得多。4.5 现象TCP 方向反了程序白写现象程序点都是对的仿真姿态也正常实机上工具却朝着反方向比如焊枪角度完全镜像朝左变成了朝右。原因工具模型在 CAD 里的 Z 轴方向和实际装夹方向差了 180 度或者实机标定 TCP 时A/B/C 的姿态角填反了。仿真里看起来正常是因为你在示教时沿着错误的工具方向去摆了姿态。解决在 SimPro 里把法兰坐标系显示出来对比工具模型的 Z 轴方向再在实机上用慢速手动把机器人摆到仿真里的同一个姿态对比工具指向。两者一致后再生成程序。这个检查只要花两分钟能省掉一整天的试错。5. 进阶用法节拍估算、外部轴与离线示教的组合拳工作站能跑通只是第一步。真正让离线仿真产生价值的是三件事节拍估算、外部轴联动、离线示教后现场一次通过。这三件事做好SimPro 就不只是「看看有没有碰撞」的工具而是能直接支撑方案报价和项目验收的工程手段。5.1 用仿真速度参数反推真实节拍仿真里的时间不能直接当实机节拍因为 SimPro 默认的加速度、减速度和轮廓参数和实机有差异。我一般先把 CPDAT 里的加速参数设成和实机一致再用仿真时间乘一个修正系数。不同项目的系数不同纯 PTP 空行程多的程序修正系数接近 1.1全程 LIN 低速工艺的程序接近 1.2~1.3因为加速度对高速段影响大对低速段影响小。程序类型修正系数说明空行程为主PTP 多1.1 左右加速段占比小时间接近理想值低速工艺为主LIN 多1.2~1.3过点减速和姿态切换损耗更明显高频启停点焊多1.3~1.5每个点都减速到接近零损耗最大更靠谱的做法是分段估算把程序分成空行程段和工艺段空行程段看 PTP 的速度和加速时间工艺段直接按 LIN 速度除以路径长度。这样算出来的节拍通常和实机差在 5% 以内。不要只看 SimPro 面板的总时间它默认的动力学参数偏理想直接拿去做方案会翻车。5.2 外部轴联动把变位机和导轨一起仿进去带变位机的焊接站是 SimPro 最典型的应用场景。变位机作为外部轴参与运动学解算点位里的 E1/E2 会跟着变化。建项目时就要把外部轴的运动学模型配置好包括行程范围和单位。仿真里变位机旋转到某个角度机器人再进去焊两者是联动的可以同时检查机器人的可达性和变位机的干涉。实机下柜前务必确认变位机编码器方向和仿真一致。很多项目里仿真里 E1 从 0 转到 90 度是顺时针实机却是逆时针导致所有点位姿态瞬间错位。我的习惯是在现场先手动把变位机转到 0 度和 90 度对比仿真模型的方向标记确认一致后再下程序。这个方向问题在仿真里完全看不出来只能在实机侧验证。5.3 离线程序现场一次通过三个固定习惯离线程序很少有完全不用调就直接跑的但可以把调整量控制在很小的范围。三个习惯是我一直坚持的第一基坐标尽量用工装上的实际可测特征建立别用 CAD 里的理想位置因为工装加工和装配都有误差第二TCP 数据以实机标定值为准仿真和实机用同一组数值不要各算各的第三现场第一次运行用 T1 模式、压低速度跑完整条路径观察每个点的到达精度只修改偏差超过 2 mm 的点位。修改点位时不要在文本编辑器里改 .src回到 SimPro 里改完重新导出。这样 S/T 姿态数据会重新计算不会因为手改点位导致姿态解算不一致。这个习惯能避开 4.3 节里那一类报警也能保证程序版本始终和仿真模型对得上。6. 最后一步程序下发前的三步自查法程序从 SimPro 导出到实机之前我固定做三步自查每一步都能在五分钟内完成却挡掉了大部分现场返工。第一步查引用。打开导出的 .src 文件确认程序里所有 $TOOL 和 $BASE 的编号、数值与实机控制柜当前配置一致。重点看编号控制柜里的工具 1 和工具 2 的位置可能被同事改过仿真里用 TOOL 2实机里 TOOL 2 可能已经变成了另一把枪数值和方向全变了。第二步查轴行程。把程序里每一个点位的 E1/E2/E3 和机器人自身的 A1~A6 角度过一遍确认没有超过实机的软限位。注意过点路径上的中间姿态也要查SimPro 的轨迹监视器可以输出每个时刻的轴角度导出来扫一遍最大值和最小值。只查目标点不查中间点是新手最容易漏的机器人可能在两个点之间的过渡姿态里碰到限位。第三步查低速运行路径。在 SimPro 里以最低速度把整条路径逐点跑一遍确认每个点之间没有意外的跳跃特别是接近点和离开点不能穿越夹具。这一步相当于仿真的 T1 试运行把实机上会看到的姿态变化先在仿真里过一遍。吃过最亏的一次亏是仿真里看都没问题下了柜直接切自动跑结果在路径第三个点附近触发软限位报警整条线停了半小时。从那以后这三步就成了我的固定动作再没出过同类问题。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站