1、. .机器人编程实验指导书一. 实验目的:1. 学习使用和操作机器人。2. 掌握机器人的手动控制和程序控制。3. 了解程序控制机器人的过程。二实验内容1. 学习并熟悉如何使用示教盒手动调整机器人。2. 根据给定的参照文件,了解控制机器人运作的方法和命令。3. 手动方式调节机器人, 确定机械手的空间行走路径。 1) 机械手从参考点移动到料带上方取料到参考点。2) 机械手从参考点将料送到卡盘上, 加工完毕, 取料送回料带上的托盘。 每条路径确定足够多的点数,确保机械手动作时不发生干预。4. 根据上面确定的空间点编制机器人控制程序。5. 机器人空间点运行无误后,由指导教师检查空间点及编制的控制文件,
2、由教师指导完成机器人控制文件的生效,进展程序控制机器人的运行。三设备情况介绍 RVM1机器人; 示教盒; 零件毛坯;四实验步骤:1阅读相关辅助资料,读懂下面的机器人程序文件,参照此X例文件进展编程。用文本编辑器进展编辑,存成*.rob后缀文件。DL 1,2048 10 OB +030 ID350 GO360 TI 5370 MO 32,O380 SP 7,H400 MO 100,O480 OB -0RN2熟悉机器人的示教盒的操作方法操作指导另附。3规划机器人的轨迹,用手动方式为机器人设定姿态和位置编码。a. 将机器人示教盒上的手动控制开关拨到ON状态。b. 对机器人进展初始化。c. 执行mov
3、 100,将机械手回到点号为100的参考点。根据要求机器人完成的动作,可先依次设定姿态和位置编码,用示教盒调整机械手的行走路径, 确定所需的节点数目和大致位置按照空间顺序,依次将机械手以手动方式分别调节到这些节点上,并按照一定的顺序编号、存储,位置号设定为100加上试验组号例如:对第二组,原预设“51 号位置的坐标点定义为251号位置。4) 用“Mov 位置编码位置编码由自己定依次运行一遍,测试机器人的运行过程,确保此机器人要完成的动作无误,并观察是否有干预以及时调整。5) 针对测试结果上机改编和整理机器人的控制程序。将重新编制的控制程序存为“?*.rob。“?为组号,如对第一组,为1Conv
4、part1.rob,其它以次类推。6程序改编完成后,交与指导教师查看,由教师在主程序中设置路径,运行并查看程序的正确性。注意观察:这些程序是如何生效,控制机器人运作的。考前须知:1机器人1运行前,要检查是否与周围设备发生干预。2机器人的位置编码是唯一的,一定要按照要求设置自己的位置编码,否那么,会将给定文件的位置编码或其他组的位置编码冲掉。3构成机器人行走路径的位置点是有一定顺序的,如果中间忽略位置点,可能会发生干预碰撞。机器人的动作由* d文件控制,例如车单元配套机器人控制文件如下:Rotot1 d224IdSignalDescription-2-Format Code-10Nest Rob
5、otC:CIMCELL1ROBOTSNEST.rob171020LoadPart1fromConveyorC:CIMCELL1ROBOTSConvpar1.rob3712371030Load Part2fromConveyorC:CIMCELL1ROBOTSCONVpar2.rob3712371040Retract from Lathe (GO)C:CIMCELL1RobotsLATHPARK.rob3712 300050Into Lathe & Grip PartC:CIMCELL1ROBOTSLATHGRIP.rob3712371060Remove Part1 from Lathe & p
6、lace in ConveyorC:CIMCELL1ROBOTSPAR1CONV.rob3712300070Remove Part2 from Lathe & place in ConveyorC:CIMCELL1ROBOTSPAR2CONV.rob37123000以上控制文件包括7个程序文件:1NEST.rob 初始化机器人2CONVpar1.rob 从Conveyor取零件13CONVpar2.rob 从Conveyor取零件2没有使用4LATHPARK.rob 从机床上收回机器人手臂5LATHGRIP.rob 车床工作完毕伸入车床抓取零件6PAR1CONV.rob 从车床取出零件1并放回
7、Conveyor7PAR2CONV.rob 从车床取出零件2并放回Conveyor没有使用车单元配套机器人的程序只需编制LATHPARK.rob 和LATHGRIP.rob;CONVpar2.rob或PAR2CONV.rob程序。同理,铣单元配套机器人的程序与车单元配套机器人程序类似,只需编制millpark.rob 和millgrip.rob;CONVpar2.rob或PAR2CONV.rob程序。四实验结果要求1 机器人行走路径节点的选择保证无干预。取料送料位置正确。2 程序编写正确,运行正常。3 程序控制机器人完成动作符合实验要求,运行顺利。五实验总结要求1实验报告中要对每个文件的每一行
8、注明指令含义。2实验中遇到的问题,以及相应解决问题的方法。3. 实验结果总结。4. 实验体会。六附录实验机器人的根本说明、操作和编程指令参考说明一基 本 说 明1标准规格工程规格注释机械构造5自由度,垂直关节机器人操作围腰部旋转300度 最大速度120度/秒J1轴肩部旋转130度 最大速度72度/秒J2轴肘部旋转110度 最大速度109度/秒J3轴腕部倾斜90度 最大速度100度/秒J4轴腕部旋转180度 最大速度163度/秒J5轴臂长上臂250毫米前臂160毫米重量驱动最大1.2kgf包括手部重量距机械外表75毫米重心最大轨道速度1000毫米/秒腕部设备外表图1.3.4中P点的速度复位0.3
9、毫米腕部设备外表旋转中心图1.3.4中P点的准确度动力系统直流伺服电机机器人重量大约19kgf电机功率J1至J3轴:30W,J4和J5轴:11W2根本运动图1.3.5显示了垂直系统中的轴转动。注解1:J1和J5轴转动的正方向分别是从箭头A和B看过去的顺时针方向;注解2:J2,J3和J4轴转动的正方向分别是沿臂部和腕部向上的方向。二操作示教盒的根本功能1开关作用1ON/OFF开/关选择是否能使示教盒上的各键。当机器人通过示教盒来控制时,翻开开关ON。当使用个人电脑进展命令传送并控制机器人时,选择开关OFF。一次错误的键操作可以通过将此开关转变为OFF来取消。在编程操作过程中,如果开关设定为ON,
10、不能实现示教盒上的操作。2EMG.STOP紧急停顿开关此按钮用于机器人的紧急停顿操作当开关按下时,信号内部中断。当开关按下时,机器人立刻停顿运动,并且错误指示器LED闪亮错误模式。在驱动单元侧面通道的LED4也亮。2各键作用1 INC+ ENT将机器人移动到预先指定位置,此位置数字要大于当前数字。要使机器人按照一定的顺序移动,依序重复按键。参看命令“IP.2 DEC + ENT将机器人移动到预先指定位置,此位置数字要小于当前数字。要使机器人按照一定的顺序移动,依序重复按键。3 P. S+ Number + ENT 定义当前机器人位置坐标到指定位置号。如果一个数字被指派给两个不同的位置,后定义的
11、优先。为防止错误的产生,不要将机器人姿态设置为接近各轴的极限。4P. C + Number + ENT 取消位置内容中的指定数字。参看命令“PC.5 NST+ ENT 机器人复位。参看命令“NT.6 ORG+ ENT 将机器人移至笛卡尔坐标系的参考位置。7 TRN+ ENT 将驱动单元侧面面板上SOC2中安装的用户EPROM中的内容程序和位置信息传送到驱动单元RAM。8 WRT+ ENT 将驱动单元RAM中的程序和位置信息写入驱动单元侧面面板上SOC2中安装的用户EPROM。9 MOV+ Number + ENT 将手部末端移至指定位置。参看命令“MO.移动速度为SP4。10 STEP+ Nu
12、mber + ENT 从指定位置开场逐步执行程序,为使程序能够一步接一步的有序执行,依序重复按键。 注意,此时,不需要任何数据入口。如果在执行过程中有错误,那么产生错误模式。11 PTP 选择关节缓动操作。此键按下后,其后任何缓动键的操作会实现各关节的运动。当示教盒一翻开“ON时,PTP就设置好了。12 XYZ选择笛卡尔直角坐标的缓动操作。此键按下后,其后任何缓动键操作会实现笛卡尔坐标系内的各轴的运动。13 TOOL选择设备缓动操作。此键按下后,其后任何缓动键操作会实现设备坐标系内的各轴的运动手方向的前进/收缩动作。14 ENT完成从29至38各键的入口以实现相应的操作。15 X+/B+用笛卡
13、尔缓动操作,将手部末端移至X轴正向面向机器人的正面,左部为X轴正向,并以关节缓动操作正向旋转腰部从机器人顶部看为顺时针方向。16 X-/B-用笛卡尔缓动操作,将手部末端移至X轴负向面向机器人的正面,右部为X轴负向,并以关节缓动操作负向旋转腰部从机器人顶部看为逆时针方向。17 Y+/S+用笛卡尔缓动操作,将手部末端移至Y轴正向机器人的正面为Y轴正向,并以关节缓动操作正向旋转肩部向上。18 Y-/S-用笛卡尔缓动操作,将手部末端移至Y轴负向机器人的后面为Y轴负向,并以关节缓动操作负向旋转肩部向下。19 Z+/E+ 4用笛卡尔缓动操作,将手部末端移至Z轴正向垂直向上,以关节缓动操作正向旋转肘部向上,
14、并以设备缓动操作向前移动手部。与数字键“4.作用一样。20 Z-/E- 9用笛卡尔缓动操作,将手部末端移至Z轴负向垂直向下,以关节缓动操作负向旋转肘部向下,并以设备缓动操作收缩手部。与数字键“9.作用一样。21 P+ 3在保持由“TL命令决定的当前位置的情况下,用笛卡尔缓动操作,正向向上旋转手部末端,以关节缓动操作正向向上倾斜腕部腕部倾斜。与数字键“3.作用一样。22 P- 8在保持由“TL命令决定的当前位置的情况下,用笛卡尔缓动操作,负向向下旋转手部末端,以关节缓动操作负向向下倾斜腕部腕部倾斜。与数字键“8.作用一样。23 R+ 2正方向向手部装配外表看去,顺时针方向弯曲腕部腕部旋转。与数字
15、键“2.作用一样。24 R- 7负方向向手部装配外表看去,逆时针方向弯曲腕部腕部旋转。与数字键“7.作用一样。25 OPTION+ 1向正方向移动任意轴。与数字键“1.作用一样。26 OPTION- 6向负方向移动任意轴。与数字键“6.作用一样。27O 0翻开手夹。与数字键“0.作用一样。28 C 5关闭手夹。与数字键“5.作用一样。3指示器LED的功能4位LED显示如下信息:1位置数字当 INC , DEC , P. S , P. C ,或者 MOV 键使用时,以3位数显示位置数字。2程序行号在程序运行过程中使用 STEP 键,可以以4位数显示程序行号。3示教盒状态指示器左边第一位数字“表示
16、由于释放ENT键的引起的处理过程正在进展或者是已经完毕。“表示由于ENT键的释放引起的处理过程无法实现。4各键相应的智能命令示教盒上各键的功能与由计算机发出的智能命令的功能相对应。 INC “IP DEC “DP P. S “HE P. C “PC NST “NT ORG “OG TRN “TR WRT“WR MOV “MO三命令描述1命令综述(1) 位置/运动控制命令24个 这些命令与机器人的位置和运动相关。他们包括那些定义、替换、设置和计算位置数据以及那些影响弧和线性插补和连续路线运动。还包括速度设置,原点设置和夹板装载命令。(2) 程序控制命令19个这些命令控制程序流程,他们包括子程序,
17、循环和状态跳转,以及记数命令和利用外部信号中断操作的声明。(3) 手控制命令4个这些命令控制手。这些命令也适用于电动机操作手可以设置夹紧力和夹紧放开/关闭时间。(4) I/O控制命令6个这些命令与通过普通I/O口输入输出数据相关。对输入和输出,数据可以同步或异步交换,处理过程可以串行或并行进展。(5) RS232C读命令6个这些命令允许计算机从机器人存储器中读入数据。可以读入的数据包括位置数据、程序数据、记数数据、外部输入数据,错误模式和当前位置。(6) 其他4个错误重置命令,读/写命令用户程序,位置数据和控制注释写入命令。2常用命令描述2.1位置/运动控制命令功能 给出这个命令所用功能的简单
18、描述。输入格式 显示命令项,表示命令参数,表示可以省略的命令参数。输入例子 显示典型命令项。解释说明 功能的详细说明或者命令所涉及到的功能并给出一些警告和用法。例程 给出每行带有准确解释和注脚的典型程序。IP (Increment Position)功能移动机器人到比当前位置号大的预先定义的位置。输入格式IP输入例子IP解释说明1这个命令使机器人移到比当前位置号大而又紧接当前位置的预选定义的位置。2假设没有预先定义比当前位置号大的位置号,产生错误模式II。例程10 LPRINT “MO 5;移到位置5。20 LPRINT “MO 4;移到位置4。30 LPRINT “MO 3;移到位置3。40
19、 LPRINT “IP;移到位置4。SP (Speed)功能设置操作速度和机器人加速/减速时间。输入格式SP , 输入例子SP 7, H解释说明1这个命令设置操作速度以及开场和停顿的加速/减速时间。速度可在10级间变化,最大速度为9,最小速度为0。加速/减速时间可以从H或L中选择。对于H,加速时间为0.35秒;对于L,加速时间为0.5秒;而对于H,减速时间为0.4秒;对于L,减速时间为0.6秒。中选择H时,加速和减速可以从SP0到SP9。中选择L时,加速和减速可以从SP0到SP9。2当涉及到两个或更多轴运动时,这个命令可在电动机最大脉冲数时设置操作速度。3当设置速度和加减速时间时,运动所需的加
20、速度和减速度距离要预先决定,这意味着,假设运动距离很小,就不能到达设置速度。4如果设置高速度和H时间会影响向后运动或此时机器人装载负荷很大时,会产生错误I。在这种情况下,设置低速和L时间。5一旦设定速度和加速/减速时间,除非重新设定,否那么它将一直有效。在初始状态,设置为“SP 4, L如果省略设置,最后加减速时间保持有效。6速度参数省略时,缺省值为0。例程10 LPRINT SP 320 LPRINT MO 1030 LPRINT SP 6, L40 LPRINT MO 1250 LPRINT MO 15MO (Move)功能移动手末端到指定位置。输入格式MO ,此处位置号大于等于1,小于等
21、于629。输入例子MO 2, C解释说明1这个命令使手末端通过关联插补articulated interpolation移到指定位置坐标。2如果指定手的开/闭状态,执行手的控制命令后,手末端移动。假设没有指定手的状态,执行指定位置定义。3错误II产生的原因:1没有预先定义指定位置,2运动超过机器人操作空间。例程10 LPRINT SP 5;速度设定为520 LPRINT MO 20, C ;手闭合移动到位置20。30 LPRINT MO 30, O ;手翻开移动到位置30。TI (Timer)功能在指定时间段内停顿运动。输入格式TI 输入例子TI 20解释说明1这个命令使机器人在下面时间段内停
22、顿运动:指定时间数值x0.1秒最大3,276.7秒2这个命令可以用于手装夹工件放开或关闭前后引入时间延时。3缺省值为0。例程10 LPRINT MO 1, O20 LPRINT TI 530 LPRINT GC40 LPRINT TI 550 LPRINT MO 2, CNT (Nest)功能使机器人返回机械原点。输入格式NT输入例子NT解释说明1命令使机器人返回原点,该命令应在上电之后立即执行。在任何移动命令执行前,需要执行此命令。原点的设置是由在每个轴的限位开关和Z向三极管自动完成的。2先执行J2,J3和J4轴原点设置,接着执行J1和J5轴原点设置。如果机器人周围的物体对其臂产生干预,应在
23、机器人试图返回原点之前,利用示教盒使其移到平安位置。3原点设置操作开场,手就松开,因此如果手里握有工件,必须小心防止人身伤害。4在原点设置完成前,不要接触限位开关和机器人身体。例程10 LPRINT NT;执行原点设置。20 LPRINT MO 10;移动到位置10。2.2程序控制指令DC (Decrement Counter)功能从指定计数器的数值中减1。输入格式DC 此处,计数器号大于等于1,小于等于99。输入例子DC 35解释说明1计算器中数值小于-32767,产生错误模式II。2这个命令可以用于记录工件和工序数,以及设置托盘装夹点数。3计数器内容可通过计数器相关命令来改变,比拟和读取。
24、例程10 LPRINT SC 21, 1520 LPRINT DC 21DL (Delete Line)功能删除指定行号内容。输入格式DL 行号 (a) , 此处,行号大于等于1,小于等于2048。输入例子DL 200, 300解释说明1这个命令删除从行号a到行号b的全部内容。2如果行号b忽略,仅删除行号a的内容。例程10 LPRINT 100 MO 1020 LPRINT 110 MO 1230 LPRINT 120 MO 1540 LPRINT 130 MO 1750 LPRINT 140 MO 2060 LPRINT DL 130;删除行号130的内容。ED (End)功能完毕程序。输入
25、格式ED输入例子ED解释说明1这个命令标志程序完毕。2除非该程序命令是直接在个人计算机上执行的,否那么这个命令是必需的。然而,当程序处于死循环时,也可以不需要这个命令例程10 LPRINT 100 SP 320 LPRINT 110 MO 330 LPRINT 120 MO 540 LPRINT 130 EDRN* (Run)功能执行程序中指定局部指令。输入格式RN , 此处,起始/完毕行号大于等于1,小于等于2048。输入例子RN 20, 300解释说明1如果忽略开场行号,程序从第一行开场执行。2如果继续执行程序,从完毕行号开场。例程10 LPRINT 100 MO 1020 LPRINT
26、110 MO 1230 LPRINT 120 GC40 LPRINT 130 MO 1750 LPRINT 140 ED60 LPRINT RN 1002.3手控制指令GC (Grip Close)功能关闭手的夹具。输入格式GC输入例子GC解释说明1电动操作手这个命令会通过由GP命令定义的夹紧力波形使手夹具关闭。如果命令GC重复使用。“保持夹紧力仅在GP命令参数间有效。2气动操作手这个命令使螺线管阀增加能量来关闭手。3机器人关闭手夹持工件到机器人静止之前需要一定时间。这样有必要在这个命令前后使用命令TI引入时间延时。这个命令的执行时间是GP命令参数决定的。例程10 LPRINT 100 MO
27、10, O;移到位置10手开20 LPRINT 110 TI 5;设置0.5秒计数器30 LPRINT 120 GC;闭合手加紧工件40 LPRINT 130 TI 5;设置0.5秒计数器50 LPRINT 140 MO 15, C;移到位置15手闭GO (Grip Open)功能X开手的夹具。输入格式GO输入例子GO解释说明1电动操作手这个命令会通过由GP命令定义的夹紧力波形使手夹具X开。如果命令GO重复使用。“保持夹紧力仅在GP命令参数间有效。2气动操作手这个命令使螺线管阀增加能量来X开手。3机器人X开手释放工件到机器人静止之前需要一定时间。这样有必要在这个命令前后使用命令TI引入时间延时
28、。这个命令的执行时间是GP命令参数决定的。例程10 LPRINT 100 MO 10, C20 LPRINT 110 TI 530 LPRINT 120 GO40 LPRINT 130 TI 550 LPRINT 140 MO 15, OGP (Grip Pressure)功能定义为电动操作手关闭或翻开时的夹紧力。输入格式GP , , 此处,开场/保持夹紧力大于等于0,小于等于15。命令的执行时间大于等于0,小于等于99。输入例子GP 15, 7, 5解释说明1这个命令设置电动操作手随时间变化的夹紧力。2开场和保持的夹紧力最大力15,最小为0。开场夹紧力保持时间是参数x0.1秒最大为9.9秒。
29、为工件定义适宜夹持参数。参数一旦设置,将一直保持有效,直到进展新的设置。3上电时的初始设置为“GP 10,10,3。4参数、开场和保持夹紧力对气动操作手无效。5在开场夹紧力保持时间内,机器人停顿运动。例程10 LPRINT GP 10, 6, 1020 LPRINT GC2.4 I/O控制命令ID (Input Direct)功能无条件从输入端口取得外部信号。输入格式ID输入例子ID解释说明1这个命令使信号并行数据无条件从外部设备例如:可编程控制器的输入端口获得。2这个数据被装载入内部比拟器,随后被用做比拟和位校验。例程10 LPRINT 100 ID20 LPRINT 110 EQ 100,
30、 13030 LPRINT 120 ED40 LPRINT 130 MO 7OB (Output Bit)功能通过外部输入端口设置指定位输出状态。输入格式OB 此处,位码大于等于0,小于等于715在内的数值表示A16或B16 I/O卡。输入例子OB +1解释说明1设置“+使指定位转为ON,设置“-使指定位转为OFF。在位号前面添加“+或“-。2非指定位的其它位不会受到这个命令影响。指定位的输出状态保持有效,直到通过命令OB,OD或OT进展新的设置。3如果没有指定位号,缺省为0位。例程10 LPRINT OD &FF20 LPRINT OB -0OD (Output Direct)功能通过输出端口无条件输出指定数据。输入格式OD 此处,输出值十进制大于等于0-32767,小于等于255+32767。或者,输出值十六进制大于等于&0&8001,小于等于&FF&7FFF。在内的数值表示A16或B16 I/O卡。输入例子OD 7解释说明1这个命令使信号并行数据通过输出端口无条件输出给外部设备例如可编程控制器。保持对外部设备的输出数据。2输出值可以是十进制或十六进制。当使用十六进制数时,确定在数前加上“&。例程10 LPRINT OD &FF. .word.