线程评级:
库卡机器人移动线性误差
# 1
大家好,
我在MoveL函数上遇到了问题,它在现实生活中根本不起作用,在模拟中它工作得很好,但在真实的机器人中,运动有点不稳定,模拟显示了一些非常奇怪的运动。

代码:
ref = refRobot2
robot2.setPoseFrame (ref)
home = RDK。项目("KR210-2 - Home").Pose()
robot2。move (home * transl(0,0,-300))
暂停(1)
robot2。移动(home * transl(100, 100, -300))


我附上了这个奇怪运动的视频…

https://youtu.be/5sEjQ5MH8D4

我想知道,如果这是一个RoboDK问题,机器人,后处理?
看起来目标是一个关节目标但是你在用线性运动和笛卡尔坐标运动。

如果你想使用笛卡尔坐标,我建议你先设置目标的参考系(目标的父项目)。喜欢的东西:

代码:
home_target = RDK。项目(“KR210-2 - Home”)
ref = home_target.Parent()
robot2.setPoseFrame (ref)
home_pose = home_target.Pose()
robot2。move (home * transl(0,0,-300))

如果你能提供RDK文件,我们可以更好地调查这个问题。
# 3
这个目标实际上是一个笛卡尔目标,我正在做的事情几乎和你告诉我的一样……

当我试图在一个新文件中隔离脚本时,我没有得到相同的错误…这发生在我之前有这个问题,有时它工作,有时根本不工作…但我看不出目标、脚本或机器人有什么不同……会有什么问题呢?


附加文件
.rdk Test.rdk(大小:734.66 KB /下载:507)
# 4
你应该使用setPoseTool在你尝试任何动作之前。这将更新机器人上的工具姿势。这很重要,因为你可能在之前的程序中使用了另一个工具,而机器人驱动程序记得你设置的最后一个工具。

我建议你尝试以下方法:


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

ref = RDK。项目(“KUKA KR 210 L150-2 Base”)
机器人= RDK。项目(“KUKA KR 210 L150-2”)
home = RDK.Item("Target").Pose()

#向机器人发送命令(不仅仅是模拟器)
RDK.setRunMode (RUNMODE_RUN_ROBOT)

#使用目标引用
# robot.setPoseFrame (ref)
#这是更健壮的(如果你把目标放在一个参考系)
robot.setPoseFrame (home.Parent ()

#设置机器人工具
#这对于重置您以前可能使用过的任何其他工具非常重要
robot.setPoseTool (robot.PoseTool ())

#搬到一个地方
机器人。move (home * transl(0,0,-300))

暂停(1)

#搬到另一个地方
机器人。移动(home * transl(100, 100, -300))




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