职位:4
线程:1
参加时间:2020年12月
声誉:
0
是否有一种方法来解决索引的第7和第8轴的外部转盘使用movJ,关节或类似的命令?
我试图进行一个操作,然后将转盘旋转一个设定的量,并重复相同的操作。
帖子:1832
线程:2
加盟时间:2018年10月
声誉:
70
嗨DNikolov,
我想这会有帮助。
我使用这个宏索引输送机,但它是完全相同的概念。
杰里米
职位:4
线程:1
参加时间:2020年12月
声誉:
0
杰里米,
你能不能扩展一下转盘的实现。当我的转盘设置和有效,我将如何修改移动关节命令来封装转盘的两个轴。把一些代码拼凑在一起,我想出了以下“笨拙”的代码:
从robolink导入* # RoboDK API
从robodk导入机器人工具箱
角度= 180
层数= 10
RDK = Robolink()
检索机器人,参考框架并创建程序
机器人= RDK。项目(ITEM_TYPE_ROBOT”)
reference = robot.Parent()
#创建新程序
程序= RDK.AddProgram('Test')
#定义一个参考姿势
#pos = transl(100,200,300)*rotx(pi)
#关闭自动渲染(更快)
RDK.Render(假)
#不显示指令(更快)
program.ShowInstructions(假)
#指定你想使用的参考系
program.setPoseFrame(参考)
Xx =(图层*360.0)/角度
X = int(xx)
newvalues ={'速度':200}
对于I在(x)范围内:
targetname='目标%i' %i
目标= RDK.AddTarget (targetname,参考,机器人)
#目标。setPose(transl(0,0,0) * pos)
#设置外部轴
轴= [0,i*角度]
#对于直角坐标目标,RoboDK将忽略机器人关节,但不会忽略外部轴
All_axes = [90,0,0,0,0,-90] + axes
#创建数组的快速方法:
# [0,0,0,0,0,0, 0,0, ext_axis_1, ext_axis_2]
#设置目标并创建一个移动指令
target.setJoints (all_axes)
target.setAsJointTarget ()
program.MoveJ(目标)
#如果你正在创建一个很长的程序,这有助于保持树小(更快)
如果I % 20 == 0:
program.ShowTargets(真正的)
program.ShowTargets(真正的)
帖子:1832
线程:2
加盟时间:2018年10月
声誉:
70
如果你能加入。rdk站,这将有助于我理解你的代码。
我觉得可以简单得多。
杰里米
职位:4
线程:1
参加时间:2020年12月
声誉:
0
杰里米,
是的,我相信我可以更简单,因为这个方法为每个索引创建了许多目标。
职位:4
线程:1
参加时间:2020年12月
声誉:
0
杰里米,
非常感谢。这正是我要找的代码原型。
问候,
丹