线程评级:
抵消指令
# 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,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 Exception(MatrixError, "子矩阵索引不匹配新的矩阵大小",itmsz[0],"x",itmsz[1],"<-",newm,"x",newn)
异常:(, '子矩阵索引不匹配新的矩阵大小',1,'x', 4, '<-',范围(0,1),'x',范围(3,4))

和运行Setpose以下错误:

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

看起来像Setpose不是属性吗?

谢谢你的帮助。


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

代码:
offset (500,500,500,0,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,10,0, 0,0))

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

你只需要找出正确的乘法顺序。
# 7
是的,这是可能的。我们的功能类似于ABB的RAPID Offset和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客人(年代)