线程评级:
*transl()在生成G-Code时的问题
# 1
当使用*transl()命令时,在我的程序中出现了一个奇怪的问题。
(我站有韩华HCR-5)
运行TCP下面的代码应该移动到接近位置,然后沿着Z轴向下,最后再次回到接近位置。
代码:
dip_pose = target_dipapp.Pose () * transl (0, 0, 80)
robot.MoveL (target_dipapp)
robot.MoveL (dip_pose)
robot.MoveL (target_dipapp)
target_dipapp在RoboDK中创建,并在脚本开始时使用
target_dipapp = RDK。(“Targetname”,ITEM_TYPE_TARGET)项dip_pose是关于计算的target_dipapp在上面代码的第一行中。

这样,程序在RDK模拟中工作得很好,但生成G-Code时会给出错误的结果。
在G-Code中,它移动到接近位置(target_dipapp),然后前往dip_pose这已经计算出来了,但是最后的移动,也就是回到接近点的位置,要么完全缺失,要么只是产生随机的关节值。

尝试使用发那科或ABB等其他Posts,但没有帮助。
尝试使用关节运动代替LIN,但结果是一样的。

最后,我尝试创建dip_posetarget也在RDK中,并像导入另一个一样导入它,它工作得很好。

这是g代码的样子* transl(),使用联合接着说最后一个:
#的方法
moveLinear (tcp,{“y”“x”:395.683:582.618,“z”:93.757,“处方”:-180.000,“办法”:-0.000,“rz”:90.000},30岁,1000年,{“精确”:假的,“半径”:2},函数(){});
#计算DIP_POSE
moveLinear (tcp,{“y”“x”:395.683:582.618,“z”:13.757,“处方”:-180.000,“办法”:-0.000,“rz”:90.000},30岁,1000年,{“精确”:假的,“半径”:2},函数(){});
#随机关节值
moveJoint([-32.901000, -133.135000, -98.837800, - 38.027300,90.000000, 147.099000], 20,20, {"precise ":false,"radius":2}, function() {});

这是g代码的样子* transl(),使用接着说最后一个:
#的方法
moveLinear (tcp,{“y”“x”:395.683:582.618,“z”:93.757,“处方”:-180.000,“办法”:-0.000,“rz”:90.000},30岁,1000年,{“精确”:假的,“半径”:2},函数(){});
#计算DIP_POSE
moveLinear (tcp,{“y”“x”:395.683:582.618,“z”:13.757,“处方”:-180.000,“办法”:-0.000,“rz”:90.000},30岁,1000年,{“精确”:假的,“半径”:2},函数(){});
#完全错过最后一个动作

这是g代码的样子没有*transl(),从RoboDK导入目标(这是它在其他情况下的样子):
#的方法
moveLinear (tcp,{“y”“x”:336.574:729.887,“z”:70.000,“处方”:-180.000,“办法”:-0.000,“rz”:90.000},500.0,1000年,{“精确”:假的,“半径”:2},函数(){});
#进口DIP_POSE
moveLinear (tcp,{“y”“x”:336.574:729.887,“z”:-70.000,“处方”:-180.000,“办法”:-0.000,“rz”:90.000},500.0,1000年,{“精确”:假的,“半径”:2},函数(){});
#的方法
moveLinear (tcp,{“y”“x”:336.574:729.887,“z”:70.000,“处方”:-180.000,“办法”:-0.000,“rz”:90.000},500.0,1000年,{“精确”:假的,“半径”:2},函数(){});
你能快速尝试一下吗?

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

如果有用请告诉我。

杰里米
有关RoboDK及其功能的有用信息,请访问我们的在线文档通过观看我们的教程Youtube频道


# 3
(02-16-2022, 09:07 pm)杰里米写道:你能快速尝试一下吗?

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

如果有用请告诉我。

杰里米

那工作!非常感谢!

可悲的是,我仍然不能真正理解这里发生了什么。问题是它必须移动到相同的位置吗?或者最小步长如何解决这个问题?
# 4
这似乎是我们端“某种”错误,RDK认为您出于某种原因在同一点移动,并触发过滤器最小步长保护。

我将在未来向我们的开发人员提出这一建议。

杰里米
有关RoboDK及其功能的有用信息,请访问我们的在线文档通过观看我们的教程Youtube频道






浏览此线程的用户:
1客人(年代)