机器人理论与技术基础 课件ch7 机器人编程语言_第1页
机器人理论与技术基础 课件ch7 机器人编程语言_第2页
机器人理论与技术基础 课件ch7 机器人编程语言_第3页
机器人理论与技术基础 课件ch7 机器人编程语言_第4页
机器人理论与技术基础 课件ch7 机器人编程语言_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器人理论与技术基础CONTENTSIntroductionandConceptualProblems绪论SystemModelofRobot机器人系统分析基础RobotKinematics运动学RobotDynamics动力学Thecourseisdividedintoeightmodulescoveringthefollowingareas:RobotControl机器人控制RobotMotionPlanning机器人运动规划机器人编程语言ProgrammingLanguageofRobot典型机器人系统的设计与实现DesignandImplementationofRobotSystem机器人在发展初期,其功能单一,能完成的动作也较简单,其控制程序是固定的运动控制。随着机器人作业动作的多样化和作业环境的复杂化,依靠固定的程序或简单的示教方式已满足不了要求,机器人必须能够快速完成再编程,以适应作业和环境的变化。随着机器人技术与应用的广泛发展,各家公司均推出了具有自己特色的机器人语言。引言01GeorgeDevol于1954年发明了第一台工业机器人Unimate,该机器人使用了较为低级的再编程概念,采用一种较为原始的示教方式;1960年,麻省理工学院为其机械手MH-I开发的MHI(MechanicalHandInterpreter,机械手解析器)可称为第一个机器人语言;1973年,美国斯坦福大学研制出了世界上第一种通用机器人语言WAVE;1974年,斯坦福大学人工智能实验室在WAVE语言的基础上开发出了AL语言;1975年,IBM公司推出了用于机器人装配作业的AML(AManufacturingLanguage)语言,随后该公司又研制出另一种语言-AUTOPASS语言;1979年,美国Unimation公司推出了VAL语言;20世纪80年代初,美国Automatix公司开发了RAIL语言;同时,麦道公司研制了MCL语言;……机器人语言发展历史目前在全球占据最大市场份额的机器人“四大家族”包括:ABB(瑞士)YASKAWA(安川、日本)KUKA(德国)FANUC(发那科、日本)他们都有自己特定的机器人语言!序号语言名称国家研究单位简要说明1AL美StanfordArtificialIntelligenceLaboratory机器人动作及对象物描述,是目前机器人语言研究的基础2Autopass美IBM组装机器人用语言3LAMA-S美MIT高级机器人语言4VAL美Unimation公司用于PUMA机器人(采用MC6800和DECLSI-11高级微型机)5RAIL美Automatix公司用视觉传感器检查零件时用的机器人语言6WAVE美StanfordArtificialIntelligenceLaboratory操作器控制符号语言7DIAL美CharlesStarkDraperLaboratory具有RCC顺应性手腕控制的特殊指令8RPL美StanfordResearchInstituteIntemational可与Unimate机器人操作程序结合,预先定义子程序库9REACH美BendixCorporation适于两臂协调动作,和VAL一样是使用范围广的语言10MCL美McDonnellDouglasCorporation编程机器人、机床传感器、摄像机及其控制的计算机综合制造用语言11INDA美SRIInternationalandPhilips相当于RTL/2编程语言的子集,具有使用方便的处理系统12RAPT美UniversityofEdinburgh类似NC语言APT(用DEC20,LSI11/2微型机)13LM美ArtificialIntellInelligenceGroupofIMAG类似PASCAL,数据类似AL。用于装配机器人(用LS11/3微型机)14ROBEX美MachineToolLaboratoryTHArchen具有与高级NC语言EXAPT相似结构的脱机编程语言15SIGLA美OlivettiSIGMA机器人语言16MAL美MilanPolytechnic两臂机器人装配语言,其特征是方便、易于编程17SERF美三协精机SKILAM装配机器人(用Z-80微型机)18PLAW美小松制作所RW系列弧焊机器人19IML美九州大学动作级机器人语言20KAREL日本FANUC发那科研发的用于点焊、涂胶、搬用等工业用途的编程语言Robotstudio21RAPID瑞典ABBABB公司用于ICR5控制器示教器的编程语言22RoboticsStudio美国Microsoft微软公司开发的多语言、可视化编程与仿真语言23INFORM日本YASKAWA

安川机器人专用编程语言24KUKA德国

KRL

库卡机器人专用编程语言机器人编程语言举例机器人编程模式INFORM语言RAPID语言KRL语言KAREL语言URScript语言典型工业机器人语言简介02INFORM语言INFORM语言命令构成图命令类型内容举例输入输出(I/O)指令执行输入输出的指令DOUT,WAIT控制指令执行处理和作业控制的指令JUMP,TIMER运算指令使用变量等进行运算的指令ADD,SET移动指令与移动和速度相关的指令MOVJ,REFP替换指令表示当前示教点被替换的指令SFTON,SFTOF条件指令条件执行指令IF,UNTIL操作指令末端工具操作相关指令TOOLON表7.2INFORM编程语言指令表行号指令解释0000NOP开始行,空指令0001MOVJVJ=25.00以关节插补方式移动到示教点1(等待位置),再现速度为25%0002MOVJVJ=25.00以关节插补方式移动到示教点2(接近位置),再现速度为25%0003MOVLV=100.0以直线插补方式移动到示教点3(抓取位置),再现速度为100cm/min0004HAND1ON 抓取工件0005TIMERT=0.50延时等待工件抓取完毕0006MOVLV=100.0以直线插补方式移动到示教点2(接近位置),再现速度为100cm/min0007MOVJVJ=25.00以关节插补方式移动到示教点1(等待位置),再现速度为25%0008MOVJVJ=25.00以关节插补方式移动到示教点4(接近释放位置),再现速度为25%0009MOVLV=100.0以直线插补方式移动到示教点5(辅助释放位置),再现速度为100cm/min0010MOVLV=50.0以直线插补方式移动到示教点6(释放位置),再现速度为50cm/min0011HAND1OFF释放工件0012TIMERT=0.50等待至工件释放完毕0013MOVLV=100.0以直线插补方式移动到示教点4(接近释放位置),再现速度为100cm/min0014MOVJVJ=25.00以关节插补方式移动到示教点1(等待位置),再现速度为25%0015END程序结束表7.3INFORM语言示教程序及说明INFORM语言RAPID语言TPWriteString[\Num]|[\Bool]|[\Pos]|[\Orient][\Dnum]元素类型内容说明举例标识符对模块、程序、数据和标签命名PROC,VAR保留字作为特殊意义的标识符ALIAS,AND空格和换行符在标识符,保留字,数值中不能使用

数值数值有整数小数两种表示方式

逻辑值与C中的bool量类似TRUE,FALSE字符串字符串的最长长度为80个字符"Thisisastring"注释帮助理解程序,以“!”开始!comment单字符包括一些冰岛字母和带重音字母

RAPID语言元素表RAPID语言MODULEModule1!Thetooltool0definesthewristcoordinatesystem,withtheoriginbeingthecentreofthemountingflange.PERStooldatatool0:=[TRUE,[[0,0,0],[1,0,0,0]],[0.001,[0,0,0.001],[1,0,0,0],0,0,0]];!Instructionsforcreatingpositions:P1-P6CONSTrobtargetP1:=[...];CONSTrobtargetP2:=[...];CONSTrobtargetP3:=[...];CONSTrobtargetP4:=[...];CONSTrobtargetP5:=[...];CONSTrobtargetP6:=[...];PROCmain()MOVEJP1,V1000,fine,tool0;MOVEJP2,v1000,fine,tool0;MOVELP3,v1000,fine,tool0;SetGripper;WaitTime0.5;MOVELP2,v1000,fine,tool0;MOVEJP1,v1000,fine,tool0;MOVEJP4,v1000,fine,tool0;MOVELP5,v1000,fine,tool0;MOVELP6,v500,fine,tool0;Resetgripper;WaitTime0.5;MOVELP4,v100,fine,tool0;MOVEJP1,v100,fine,tool0;ENDPROCENDMODULERAPID语言MoveLp10,v1000,z50,tool0;MoveLp20,v1000,fine,tool0;KRL语言数据类型关键词含义值的范围整数INT整数-231-1到231-1实数实数浮点数±1.1-38到±3.438布尔值BOOL逻辑状态真假字符CHAR字符ASCII字符KRL主要数据类型表类似Pascal主题类型内容说明举例移动库卡机器人可以有三种主要方式从一个点移动到另外一个点PTP(点到点)LIN(线性)CIRC(圆形)输入和输出输入和输出与PLC中的I/O概念相同$IN[33]$OUT[33]执行控制包括条件语句,切换语句,循环语句IF,SWITCH,FOR变量包括整数,实数和E6POS变量(表示位置和姿态,有6个值)INT,REAL,E6POSKRL语言主题类型表KAREL语言KAREL语言程序模块定义PROGRAMprog_nameTranslatorDirectivesCONST,TYPE,and/orVARDeclarationsROUTINEDeclarationsBEGINExcutableStatementsENDprog_nameROUTINEDeclarationsFANUCURScript语言模块类型模块内容举例运动模块该模块包含了UR的运动命令movec(pose_via,pose_to.a,v,r),圆形移动,其中pose_via:路径点;pose_to:目标姿态;a:工具加速度;v:工具速度;r:交融半径。内部模块该模块包含了UR的监控命令get_actual_joint_positions(),返回所有关节的实际角位置。运算模块该模块包含了UR的运算命令acos(f),返回f的反余弦主值。界面模块该模块包含了UR的I/O命令get_analog_in(n),获取模拟输入电平,其中n为输入的编号。URScript模块命令表按照机器人作业描述水平的程度,我们可以将现有的工业机器人语言分为动作级编程语言、对象级编程语言以及任务级编程语言三类。机器人语言的分类03动作级编程语言以机器人的运动描述为主,通常一条指令对应机器人的一个动作,表示从机器人从一个位姿运动到另一个位姿,又分关节级编程与末端执行器级编程。动作级编程语言对象级编程语言将作业及作业物体本身作为对象进行描述,采用一种类似于面向对象的编程思想进行编程。对象级编程语言任务级编程语言不需要用机器人的动作来描述作业任务,也不需要描述机器人对象的中间状态过程,只需要按照某种规则描述机器人对象的初始状态和最终目标状态,机器人语言系统即可利用已有的环境信息和知识库、数据库自动进行推理、计算,从而自动生成机器人详细的动作、顺序和数据。任务级编程语言在编程和作业过程中,编程系统应便于人与机器人之间进行信息交换,方便机器人出现故障时及时处理,确保安全。而且,随着机器人动作和作业环境的复杂程度的增加,编程系统需要提供功能强大的人机接口。随着计算机编程语言以及人工智能的发展,机器人编程语言也有了与人工智能编程语言相结合的趋势。例如在支持人工智能的通用编程语言,如Java、python、lua等脚本语言基础上,开发出机器人的编程语言,使得机器人编程系统更加强大、更加方便开发。机器人编程语言的要求04设计机器人编程语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论