线程评级:
抵消指令
# 1
你好,

我试图使用偏移指令,但不确定如何。下面是我的代码,当我运行我的程序时,我得到一个错误。显然,代码是错误的,但我不知道偏移指令是如何工作的。我很感谢你的帮助。

代码:
检索机器人参考系
reference = robot.Parent()

#使用机器人底座作为主动参考
robot.setPoseFrame(参考)

#获取机器人的当前方向(相对于活动参考坐标系和工具坐标系)
pose_ref = robot.Pose()

pos_ref = pose_ref.Pos()

print (Pose_2_TxyzRxyz (pose_ref))

Pose_i = pose_ref
# pose_i。setPos(抵消(pose_ref vetor.x vetor。y, vetor。z, vetor.rx vetor。, vetor。rz))

pos_n = Offset(pose_ref, 10,10,0,0,0)

pose_i.setPos (pos_n)



robot.MoveL (pose_i)
嗨rett84,

如果仔细查看代码,就会发现setPose函数调用写得不对。
结尾少了一个“e”。

//www.w5838.com/doc/en/PythonAPI/robo...em.setPose

除此之外,你的代码在我这边似乎还能用。

杰里米
# 3
谢谢你的回复,Jeremry。不幸的是,加一个“e”不起作用。实际上,我的代码是基于以下示例:

//www.w5838.com/doc/en/PythonAPI/exam...ugh-points


这里SetPos没有'e'。运行代码Setpos我得到以下错误:


代码:
raise异常(MatrixError, "Submatrix indexes does not match the new matrix sizes",itmsz[0],"x",itmsz[1],"<-",newm,"x",newn)
异常:(, 'Submatrix indexes不匹配新的矩阵大小',1,'x', 4, '<-', range(0,1), 'x', range(3,4))

和运行Setpose以下错误:

代码:
pose_i.setPose (pos_n)
'Mat'对象没有属性'setPose'

看起来像Setpose不是属性吗?

谢谢你的帮助。


我得到了它的工作,下面是我需要的代码:

代码:
偏移量(500,500,500,0,0)



robot.MoveL (pose_n)


现在我的下一个问题,是否有可能结合偏移与Reltool指令?

在ABB Rapid,我会这样做:

代码:
MoveL偏移(RelTool (robot_cur, 0, 0, 0 \处方:= 0 \ Ry: = 0 \ Rz: = 5), 500500500)


谢谢你!
# 4
我回答你是因为我自己测试了你的代码并应用了简单的更正:

代码:
机器人= RDK。项目(‘ABB IRB 120-3/0.6’)
检索机器人参考系
reference = robot.Parent()

#使用机器人底座作为主动参考
robot.setPoseFrame(参考)

#获取机器人的当前方向(相对于活动参考坐标系和工具坐标系)
pose_ref = robot.Pose()

pos_ref = pose_ref.Pos()

print (Pose_2_TxyzRxyz (pose_ref))

Target2 = RDK。AddTarget(目标2)

Target2。setPose(Offset(pose_ref, -300, 10,0,0))

robot.MoveL (Target2)
# 5
谢谢你杰里米。对不起,误会了。关于我的第二个问题,你知道是否可以将Offset与Reltool指令结合使用?
# 6
这是很有可能的。
最后,在RAPID或RDK,偏移和Reltool只是矩阵,你乘以你的目标姿势(矩阵)。

你只需要找出乘法的正确顺序。
# 7
是的,这是可能的。我们有类似ABB的快速偏移和RelTool命令的功能。

你可以计算相对于工具的XYZ坐标(mm)的相对位置,也可以选择rx,ry,rz的角度:


代码:
#相对于工具的移动
new_pose = robot.Pose().RelTool(100,200,300,rz=0)
robot.MoveJ (new_pose)

#相对于参考框架的移动:
new_pose = robot.Pose().Offset(100,200,300)
robot.MoveJ (new_pose)

#你也可以将两者连接:
new_pose = pose.Offset(10,20,30).RelTool(0,0,100)
# 8
太好了,谢谢!




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