线程评分:
  • 0投票 - 0平均
  • 1
  • 2
  • 3
  • 4
  • 5
生成G代码时 *Transl()的问题
使用 *trans()命令时,我的程序中会出现一个奇怪的问题。
(我的车站包含Hanwha HCR-5)
在TCP下方运行代码应移至进近位置,然后沿Z轴向下,最后又回到进近位置。
代码:
dip_pose = target_dipapp.pose()*转换(0,0,80)
robot.movel(target_dipapp)
Robot.Movel(dip_pose)
robot.movel(target_dipapp)
尽管target_dipapp是在Robodk中创建的,并在脚本的开头中导入
target_dipapp = rdk.item('targetName',item_type_target),,,,dip_pose根据target_dipapp在上面代码的第一行中。

这样,程序在RDK模拟中完美工作,但是生成G代码给出了错误的结果。
在G代码中,它移至接近位置(target_dipapp)然后dip_pose已经计算出来,但是最后一步是完全缺少接近位置,要么只是导致随机关节值。

尝试使用其他帖子,例如Fanuc或abb,但这无济于事。
尝试使用关节运动代替LIN,但结果是相同的。

终于我尝试创建dip_poseRDK的目标也像另一个一样,并且效果很好。

这就是G代码的外观*Transl(),使用联合的在最后一个:
#方法
movelinear('tcp',{“ x”:395.683,“ y”:582.618,“ z”:93.757,“ rx”:-180.000,“ ry”:-0.000,“ rz”:90.000},30,1000,1000,1000,1000,,1000,,1000,,1000.000{“精确”:false,“ radius”:2},function(){});
#calculated Dip_pose
movelinear('tcp',{“ x”:395.683,“ y”:582.618,“ z”:13.757,“ rx”:-180.000,“ ry”:-0.000,“ rz”:90.000},30,1000,1000,1000,1000,,1000,,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000.000{“精确”:false,“ radius”:2},function(){});
#random关节值
movejoint([ - [-32.901000,-133.135000,-98.837800,-38.027300,90.000000,147.099000],20,20,{pecisise ofisisedal {“:false”:false,“ radius” radius“ radius”:2}:2},function(}){} {})

这就是G代码的外观*Transl(),使用在最后一个:
#方法
movelinear('tcp',{“ x”:395.683,“ y”:582.618,“ z”:93.757,“ rx”:-180.000,“ ry”:-0.000,“ rz”:90.000},30,1000,1000,1000,1000,,1000,,1000,,1000.000{“精确”:false,“ radius”:2},function(){});
#calculated Dip_pose
movelinear('tcp',{“ x”:395.683,“ y”:582.618,“ z”:13.757,“ rx”:-180.000,“ ry”:-0.000,“ rz”:90.000},30,1000,1000,1000,1000,,1000,,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000.000{“精确”:false,“ radius”:2},function(){});
#完全放弃最后一步

这就是G代码的外观没有*Transl(),从Robodk导入目标(在其他情况下这是应该的样子):
#方法
movelinear('tcp',{“ x”:336.574,“ y”:729.887,“ z”:70.000,“ rx”:-180.000,“ ry”:-0.000,“ rz”:90.000}{“精确”:false,“ radius”:2},function(){});
#IMPORTED DIP_POSE
movelinear('tcp',{“ x”:336.574,“ y”:729.887,“ z”:-70.000,“ rx”:-180.000,“ ry”:-0.000,“ rz”:90.000},{“精确”:false,“ radius”:2},function(){});
#方法
movelinear('tcp',{“ x”:336.574,“ y”:729.887,“ z”:70.000,“ rx”:-180.000,“ ry”:-0.000,“ rz”:90.000}{“精确”:false,“ radius”:2},function(){});
您可以快速尝试吗?

“工具” - >“选项” - >“程序”
“线性运动的输出” - >“最小步长(mm)” - >将其设置为“ -1”

让我知道它是否有效。

杰里米
通过访问我们在线文档通过在我们的教程上观看教程YouTube频道


(02-16-2022,09:07 PM)杰里米写道:您可以快速尝试吗?

“工具” - >“选项” - >“程序”
“线性运动的输出” - >“最小步长(mm)” - >将其设置为“ -1”

让我知道它是否有效。

杰里米

奏效了!太感谢了!

可悲的是,我仍然无法真正理解这里发生了什么..它必须转移到同一位置的问题吗?还是最小步骤大小如何解决此问题?
在我们的末端,RDK认为您由于某种原因在同一地点移动,这似乎是一个错误的错误,并且会触发过滤器最小步长保护。

将来我会把它带到我们的开发人员。

杰里米
通过访问我们在线文档通过在我们的教程上观看教程YouTube频道






用户浏览此线程:
1位客人