RoboDK学习总结/基础教程
E-mail: ygfwind@sina robodk交流:253679540
由于RoboDK在国内的资料特别少,而本资料是作者一点一点摸索总结的结果,如有错误请
邮件联系,一起学习改正!
1.在导入工件,或是导入刀具时,在Solidworks中绘制好工件或刀具三维图,按照RoboDK中所期望的坐标系,将工件的坐标系在Solidworks中配置好,并保存成RoboDK所支持的格式(.igs ,.stp等),在保存时在坐标系选项中将坐标设置成你所编制好的坐标系。这样在导入RoboDK时,导入零件的坐标系就可以是非原点坐标系。(注:编制坐标系一定要在装配体中编制,在零件图编制无效)。
2.对铣削加工CAM路径的导入,需要使用MasterCAM。
在使用MasterCAM路径编辑的时候,需要注意以下几点:
1)MasterCAM编制路径必须为5轴机床刀具路径,可以直接创建曲面五轴刀具轨迹,也可以3轴转为五轴轨迹的方式。
2)MasterCAM需导出NC代码,可以在NC代码后处理的部分,修改轨迹代码,并可以保存成RoboDK支持的CAM格式如(.nc,.apt)。
3.在RoboDK中最好将各工件都设定一个坐标系,并设置好工件基坐标系与设定的用户坐标系的参数,
这样方便操作,如果若干个部件的相对位置不改变,可以设置在同一个坐标树下。如图,部件zuozi和DKtest body2都有各自的坐标系。
4.在RoboDK导出机器人程序时,我们可以注意到,对于不同厂家,机器人的编程方式也有所不同,有些是直接对机器人的关节角度变化进行编程,如UR。而更为普遍的是给定TCP点的六自由度坐标值进行编程。
5.在利用Python进行机器人编程时需注意一下几个方面:
1)在编写循环语句时,一定要注意for、while的对齐格式,否则容易出错,且不容易被发现。
2)Python编写函数时,特别是自定义函数def,也需要注意对齐格式。例如定义名为box_calc()的数组函数,其中return的返回值就是函数执行结束的结果:def box_calc():
xyz_list=[]
for k in range(count_z):
for j in range(count_y):
for i in range(count_x):
xyz_list=xyz_list+[ [ i*distance_x, j*distance_y, k*distance_z ] ]
return xyz_list
6.关于MoveL,MoveJ,MoveC的使用和解释
众所周知
MoveL指的是机器人直线运动
MoveJ指的是机器人关节运动
MoveC指的是机器人圆弧运动
我们可以注意到在图标中有黑点和红点,黑点指的是动作的起始点(个人实践得出),红点为目标点(软件中有说明)。
具体做法:1)MoveL和MoveJ的操作方法一致,首先创建一个目标点作为起始点,并将机器人移动到起始点。再创建一个目标点2作为移动的目标点,点击MoveL或MoveJ,将软件自动创建的目标点删除。将MoveL或MoveJ的关联目标点设置为创建的目标点2
2)MoveC与MoveL类似,只不过MoveC需要选择两个目标点(加上起始点,三点确定一个圆),关联点1代表先经过的点,关联点2代表后经过的点。运行路径如图。
注意:一定要把机器人先置于设定好的起始点位置,在点击仿真运动。例子中目标点1为起始点,2,3为经过的圆弧路径点。其次,机器人路径最好不要经过4.5.6关节的原始位置,
容易接近奇异点出现错误,如图。改变路径位置便可修复错误。三个点必须可以是同一圆上的三点,否则一样会出现错误。
7.自定义机器人的创建
我们以六轴机器人为例
实用程序→添加机构或机器人→六轴机器人
把机器人名称设为my robot1
导入事先创建的机器人各关节CAD模型(最好是英文名称)。机器人有六个轴,所以应该创建七个零件(包含基座)。
然后设置机器人各关节的位置,在joint1的基座位置创建一个用户坐标系joint1的坐标系一定与创建/修改机构或机器人中的红机器人范例的坐标一致,这样方便后续坐标系的设置。
机器人资料参考基坐标系(base reference)选为设置好的坐标系1,base到joint6分别设置为坐标到6轴末端的法兰。其中home是设置机器人的初始原点角度值,minimum limit和maximum limit 为各关节角度的变化范围。这里先保持默认。
设置完,下面是DK独特的机器人参数设置方法,这里暂时还不知道想的对不对,大家一起研究,先说一下我的理解
发布评论