线程评级:
无法将调用program.MoveL()添加到目标项目中
# 1
为了复制,装载一个新的工作站,导入任何库卡机器人。然后创建一个新的python程序。

在程序的主体中,我使用了这个例子:

//www.w5838.com/doc/en/PythonAPI/robo...AddProgram

在修复了缺失的“program_name”和“robot”变量后,我然后运行程序。我立即得到这个错误:

Python脚本返回1失败
回溯(最近一次调用):
文件“/var/folders/z7/ 12j9__qs7v93kxmjhrs0x2dsw4_55 /T/Prog21.py”,第39行
prog.MoveL (ti)
文件“/Users/michael.staub/RoboDK/RoboDK.app/Contents/Python/robolink.py”,第3978行,在MoveL
不支持在给定关节或姿势的程序中添加运动指令。而是使用目标项,例如,添加一个目标与RDK.AddTarget(…),并设置姿势或关节。”)
例外:不支持在给定关节或姿势的程序中添加运动指令。相反,使用目标项,例如,添加一个目标,如RDK.AddTarget(…),并设置姿势或关节。


看起来,MoveL方法正在检查目标类型是否为“Item”,这是应该的。这似乎是python API中的一个错误。你能给我一个可以成功生成移动机器人的程序的python脚本的例子吗?

这是我完整的python程序:

从robolink导入* # RoboDK API
从robodk导入机器人工具箱
RDK = Robolink()

RDK.Render(假)
prog = RDK.AddProgram('AutoProgram')


机器人= RDK。项目(ITEM_TYPE_ROBOT”)

点数= [[1,2,3],[4,5,6]]

#检索当前机器人位置:
pose_ref = robot.Pose()

#遍历多个点
for i in range(len(POINTS)):
#添加一个新目标
ti = RDK。AddTarget('自动目标%i' % (i+1))

#使用参考姿态并更新XYZ位置
[我]pose_ref.setPos(点)
ti.setPose (pose_ref)

#强制使用目标作为笛卡尔目标(默认)
ti.setAsCartesianTarget ()

在新程序中添加目标为线性/联合移动
prog.MoveL (ti)
# 2
你应该使用
代码:
prog.addMoveL (ti)
我猜这是示例中的遗留代码。
# 3
谢谢,那起作用了。但是从文档来看,addMoveL已经被弃用了://www.w5838.com/doc/en/PythonAPI/robo...m.addMoveL
# 4
使用最新版本的RoboDK应该不会有这些问题。建议您将RoboDK更新到最新版本。

的手动安装版本也可能冲突用于Python的RoboDK API。如果是,你可以手动更新它在控制台模式使用:

PIP安装robodk——upgrade
# 5
我使用的是最新版本(3.5.5)
# 6
嗨robotguy,

请注意,我们不断更新软件(我说的不断是指一周几次)。
考虑到我们不想一直用小更新来打扰人们,我们没有每次都更改版本号。
如果你进入“Help -> Check for updates…”,你会看到最后一次小更新的日期。(见下图)



我们知道这种情况并不完美,但我们认为这比不得不告诉有问题的客户等待一个月的下一个版本要好。换句话说,我们发现这是一种反应性尽可能强的方法,但不需要经常要求每个人更新RDK。

祝你有愉快的一天。
杰里米




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