线程评级:
RelTool在循环问题…
# 1
我对Python不是很熟悉,但我正在学习。这是整个代码…这是我的第一天,我只是修改一些教程代码。

循环函数中的RelTool在第一次运行时工作良好,但在第二次传递时将相对目标姿态分配给t.Pose时失败。python错误提示“Mat”对象不可调用。

我不知道这是怎么回事。

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

#获取机器人物品
robot = RL。项目(“发那科LR Mate 200iC”)

#获得主目标和第一个移动目标
home = RL.Item(' home ')
target = RL。项目(目标1)

#poseref = target.Pose()
打印(target.Pose)
#移动机器人到家,然后到中心
robot.MoveL(回家)

def圆(目标,n):
T = targ
t.Pose = RelTool(targ,0,50*n,0)
#获取目标4x4矩阵的姿态
姿势
robot.MoveL (t)
hexnum = 80
#做一个六边形围绕中心
对于I在范围内(hexnum):
Ang = i*2*pi/(hexnum-1)
posi = poseref*rotz(ang)*transl(30,0,0)*rotz(-ang)
robot.MoveL (posei)
#回到中间,然后回家
robot.MoveL (t)
robot.MoveL(回家)

对于范围(2)中的I:
圆(目标,我)
你应该使用Item.Pose()和Item.setPose(pose)作为函数。

例子:
RDK = Robolink()
target1 = RDK。项目(目标1)
target1_pose = target1.Pose() # Pose()给你一个Mat()对象
#……
你应该提供一个Mat()对象

你可以像这样创建Mat对象:
Pose1 = transl(100,200,300)*rotz(pi) #施加一个新的位置(计算)
pose2 = RelTool(pose1, 0,0, -100) #创建一个相对于第一个的方法姿势(沿着负Z轴移动
pose3 = KUKA_2_Pose([x,y,z,A,B,C]) #创建一个给定KUKA XYZABC值的姿势

更多信息和例子:
//www.w5838.com/doc/en/PythonAPI/exam...rogramming
# 3
我很感激你的快速回应……但它并没有真正告诉我为什么它在第一次循环中工作,而在第二次循环中失败。对此有什么想法吗?

如果我设置t=RelTool(Targ等…)




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