线程评分:
  • 0投票 - 0平均
  • 1
  • 2
  • 3
  • 4
  • 5
机器人没有阻塞
大家好,
我一直在使用Kuka机器人 + Robodk + Python脚本进行一些测试,并且我注意到机器人不在等待完成运动(在这种情况下,Move_joint)
这是一些怪异的行为,因为我们还有另一个具有相同品牌和模型的机器人,并且在开始下一行Python代码之前,它正在等待完成动作...
我想知道这是因为机器人还是机器人上的某些设置?

提前致谢!
我注意到机器人在我使用一堆setDo功能之前就不会阻塞

示例做:

代码:
def robot_ready():
打印(“机器人准备好!”)
robot.setdo(io_value = 1,io_var = 4)#机器人准备就绪


def robot_not_ready():
打印(“机器人还没准备好!”)
robot.setdo(io_value = 0,io_var = 4)#机器人未准备好


#设置工作模式以获取“工作编号”
def work_mode(模式):
打印(“工作模式集”)
如果==“ job_numbers”:
robot.setdo(io_value = 0,io_var = 11)
robot.setdo(io_value = 1,io_var = 8)
robot.setdo(io_value = 0,io_var = 7)
elif模式==“手动”:
robot.setdo(io_value = 0,io_var = 11)
robot.setdo(io_value = 0,io_var = 8)
robot.setdo(io_value = 1,io_var = 7)


#设置作业#1
def job1():
打印(“更改为作业#1”)
robot.setdo(io_value = 1,io_var = 12)
时间。
robot.setdo(io_value = 0,io_var = 15)
时间。
robot.setdo(io_value = 0,io_var = 16)
时间。

robot_ready()
robot.move_joint(pos)
打印(“ 1”)
robot.move_joint(weld_1)
打印(“ 2”)
robot.move_joint(pos)
打印(“ 3”)


输出:

代码:
机器人准备好了!
[2020-07-31 09:33:32.355090] kuka start setdo ['io_value = 1','io_var = 4']
[2020-07-31 09:33:32.355090] Kuka Finish setdo ['io_value = 1','io_var = 4']
工作模式集
[2020-07-31 09:33:32.356088] kuka start setdo ['io_value = 0','io_var = 11']
[2020-07-31 09:33:32.357085] Kuka Finish setdo ['io_value = 0','io_var = 11']
[2020-07-31 09:33:32.357085] kuka start setdo ['io_value = 1','io_var = 8']
[2020-07-31 09:33:32.357085] Kuka Finish SetDo ['io_value = 1','io_var = 8']
[2020-07-31 09:33:32.358097] kuka start setdo ['io_value = 0','io_var = 7']
[2020-07-31 09:33:32.358097] Kuka Finish setdo ['io_value = 0','io_var = 7']
更改工作#1
[2020-07-31 09:33:32.358097] kuka start setdo ['io_value = 1','io_var = 12']
[2020-07-31 09:33:32.361074] Kuka Finish setdo ['io_value = 1','io_var = 12']
[2020-07-31 09:33:32.361074] kuka start setdo ['io_value = 0','io_var = 15']
[2020-07-31 09:33:32.361074] Kuka Finish setdo ['io_value = 0','io_var = 15']
[2020-07-31 09:33:32.361074] kuka start setdo ['io_value = 0','io_var = 16']
[2020-07-31 09:33:32.362071] Kuka Finish setdo ['io_value = 0','io_var = 16']
[2020-07-31 09:33:32.362071] Kuka Start Move_joint [矩阵:(4,4)
姿势(1433.412,263.954,941.910,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1433.412],,
[-0.000,-1.000,-0.000,263.954],
[0.000,0.000,-1.000,941.910],
[0.000,0.000,0.000,1.000]]
这是给予的
[2020-07-31 09:33:32.535185]
姿势(1433.412,263.954,941.910,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1433.412],,
[-0.000,-1.000,-0.000,263.954],
[0.000,0.000,-1.000,941.910],
[0.000,0.000,0.000,1.000]]
这是给予的
1
[2020-07-31 09:33:32.535185]
姿势(1533.415,263.949,841.912,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1533.415],
[-0.000,-1.000,-0.000,263.949],
[0.000,0.000,-1.000,841.912],,
[0.000,0.000,0.000,1.000]]
这是给予的
[2020-07-31 09:33:32.605416]
姿势(1533.415,263.949,841.912,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1533.415],
[-0.000,-1.000,-0.000,263.949],
[0.000,0.000,-1.000,841.912],,
[0.000,0.000,0.000,1.000]]
这是给予的
2
[2020-07-31 09:33:32.605621]
姿势(1433.412,263.954,941.910,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1433.412],,
[-0.000,-1.000,-0.000,263.954],
[0.000,0.000,-1.000,941.910],
[0.000,0.000,0.000,1.000]]
这是给予的
[2020-07-31 09:33:32.678451]
姿势(1433.412,263.954,941.910,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1433.412],,
[-0.000,-1.000,-0.000,263.954],
[0.000,0.000,-1.000,941.910],
[0.000,0.000,0.000,1.000]]
这是给予的
3


没有这样做:

代码:
#robot_ready()
#work_mode(“ job_numbers”)
#job1()

robot.move_joint(pos)
打印(“ 1”)
robot.move_joint(weld_1)
打印(“ 2”)
robot.move_joint(pos)
打印(“ 3”)


输出:

代码:
[2020-07-31 09:35:01.823666]
姿势(1433.412,263.954,941.910,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1433.412],,
[-0.000,-1.000,-0.000,263.954],
[0.000,0.000,-1.000,941.910],
[0.000,0.000,0.000,1.000]]
这是给予的
[2020-07-31 09:35:02.240909]
姿势(1433.412,263.954,941.910,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1433.412],,
[-0.000,-1.000,-0.000,263.954],
[0.000,0.000,-1.000,941.910],
[0.000,0.000,0.000,1.000]]
这是给予的
1
[2020-07-31 09:35:02.240909]
姿势(1533.415,263.949,841.912,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1533.415],
[-0.000,-1.000,-0.000,263.949],
[0.000,0.000,-1.000,841.912],,
[0.000,0.000,0.000,1.000]]
这是给予的
[2020-07-31 09:35:17.269861] Kuka Finish Move_joint [矩阵:(4,4)
姿势(1533.415,263.949,841.912,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1533.415],
[-0.000,-1.000,-0.000,263.949],
[0.000,0.000,-1.000,841.912],,
[0.000,0.000,0.000,1.000]]
这是给予的
2
[2020-07-31 09:35:17.270888]
姿势(1433.412,263.954,941.910,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1433.412],,
[-0.000,-1.000,-0.000,263.954],
[0.000,0.000,-1.000,941.910],
[0.000,0.000,0.000,1.000]]
这是给予的
[2020-07-31 09:35:32.196230] Kuka Finish Move_joint [矩阵:(4,4)
姿势(1433.412,263.954,941.910,179.999,0.001,0.002):
[[1.000,-0.000,0.000,1433.412],,
[-0.000,-1.000,-0.000,263.954],
[0.000,0.000,-1.000,941.910],
[0.000,0.000,0.000,1.000]]
这是给予的
3

如果您检查时间,使用DO功能,机器人不会等待完成动作以开始阅读下一行...
嗨,诺克斯,

您可以关闭舍入以使点移动并使动作阻塞。

例如,您可以在程序开头调用setRounding(-1),以应用程序其余部分的点移动。

阿尔伯特
我发现,如果我在每个设置之间进行小时等待,机器人开始阻止每个动作,这是一个错误吗?
你好,

我对Kuka IIWA也有同样的问题,每次动作后,机器人都会停止。我将Rouding设置为-1,但我仍然有同样的问题。如何使机器人的动作更加顺畅?
谢谢你的帮助。
嗨,海瑟姆,

设置为-1,将与您想要的相反。
-1将在每个点停止。

圆形> 0是您要寻找的。

杰里米




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