线程评级:
通过python api控制机器人和转台
# 1
大家好,

我正在做一个涉及外轴的项目。回转台与机器人同步。目标轨迹要求使旋转盘倾斜,并平行于旋转盘表面控制工具。

刀具按步进移动,每步转盘从-180°移动到180°。弹道如附件所示。

我想知道在这种情况下如何管理外轴?rdk在附件中。

谢谢,


附加文件 图像(年代)


.rdk synch_turntable.rdk(大小:5.44 MB /下载:33)
您应该创建目标项并移动到这些目标,以控制工具的位置、方向和外部轴的关节轴。

这个线程展示了如何处理目标和外部轴:
//www.w5838.com/forum/Thread-External...04#pid4304

这是一个类似的例子,更接近你需要的:
代码:
#设置外轴的值
E1 = 45 #在度转盘
E2 = 30 #在度转盘

#创建目标,并设置所需的外部轴和姿态
t = RDK。AddTarget(“MyTarget”,引用,机器人)
t. set关节([0,0,0,0,0,0,0,e1, e2])
t.setPose (robot.Pose ())

#根据外轴的新位置重新计算关节位置
#机器人关节更新,但没有外轴
t.setAsCartesianTarget ()
t.Joints ()

jnts = t.关节()
print(t.Name() + "-关节:" + str(jts .list())))
# 3
(03-01-2022, 02:58 pm)艾伯特写道:您应该创建目标项并移动到这些目标,以控制工具的位置、方向和外部轴的关节轴。

这个线程展示了如何处理目标和外部轴:
//www.w5838.com/forum/Thread-External...04#pid4304

这是一个类似的例子,更接近你需要的:
代码:
#设置外轴的值
E1 = 45 #在度转盘
E2 = 30 #在度转盘

#创建目标,并设置所需的外部轴和姿态
t = RDK。AddTarget(“MyTarget”,引用,机器人)
t. set关节([0,0,0,0,0,0,0,e1, e2])
t.setPose (robot.Pose ())

#根据外轴的新位置重新计算关节位置
#机器人关节更新,但没有外轴
t.setAsCartesianTarget ()
t.Joints ()

jnts = t.关节()
print(t.Name() + "-关节:" + str(jts .list())))

谢谢Albert的回复。如何根据参考转速移动转盘的一个关节?其他关节不应该改变。
# 4
谢谢艾伯特的帮助。如何根据参考转速移动转盘的一个关节?其他关节不应该改变。
# 5
您可以计算转盘的位置为每个点在您的路径。如果保持姿势不变,那么工具和零件之间的关系就不应该改变。
# 6
非常感谢你的帮助,艾伯特。它工作得很好!
# 7
(03-06-2022, 09:28 am)艾伯特写道: 我重新激活这个线程,因为我有关节运动的问题。在仿真中是可行的,但在实际操作中,在“MoveJ(t.关节)”步骤中,刀具的接头随转台的移动而变化。你能给我解释一下怎样保持姿势不变吗?换句话说,如何只移动外轴的关节,保持姿态不变?
# 8
您可以简单地检索当前的机器人关节并修改外部轴。

例子:
代码:
关节= robot.关节()#检索当前位置
关节[6]= 0 #设置第7轴为0 (E1)
关节[7]= 0 #设置第8轴为0 (E2)
robot. movej(关节)#移动机器人
# 9
谢谢艾伯特的回答。例如,在下面的程序,我得到的结果在附件文件。我的目的,是有x,y,z,w,p,r格式在p[3]和避免联合格式在GP1。

p_home = Fanuc_2_Pose([Ox,Oy,Oz,0,0,90])
robot.MoveL (p_home)

p_target = Fanuc_2_Pose([Ox+170,Oy,Oz,0,0,90])
robot.MoveL (p_target)

#设置外轴的值
E6 = 30 #在度转盘
E7 = 180 #在度转盘

#创建目标,并设置所需的外部轴和姿态
t = RDK。AddTarget("Start", reference, robot)
t. set关节([0,0,0,0,0,0,0,0,e6, e7])
t.setPose (robot.Pose ())

t.setAsCartesianTarget ()
t.Joints ()

jnts = t.关节()
print(t.Name() + "-关节:" + str(jts .list())))

robot.MoveJ (t)




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