线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
不能用目标项添加调用program.MoveL()
# 1
要复制,加载一个新的工作站,导入任何库卡机器人。然后创建一个新的python程序。

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

//m.sinclairbody.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行
不支持在给定关节或姿势的程序中添加运动指令。使用一个目标项目代替,例如,添加一个目标与RDK.AddTarget(…)和设置姿势或关节。
例外:不支持在给定关节或姿势的程序中添加运动指令。使用目标项代替,例如,使用RDK.AddTarget(…)添加目标并设置姿势或关节。


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

下面是我的完整python程序:

* # 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('Auto Target %i' % (i+1)))

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

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

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

的手动安装版本也可能与之冲突Python的RoboDK API.如果是这样,你可以在控制台模式下手动更新它:

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

请注意,我们不断更新软件(当我说不断,我指的是每周几次)。
考虑到我们不想一直用小的更新来打扰人们,我们不会每次都更改版本号。
如果您进入“帮助->检查更新…”,您将看到上次小更新的日期。(见下图)



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

祝你过得愉快。
杰里米




浏览此主题的用户:
1客人(年代)