0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解读机器人编程与机器人语言

1bGT_GKYXT1508 2017-11-24 15:32 次阅读

机器人编程为使机器人完成某种任务而设置的动作顺序描述。机器人运动和作业的指令都是由程序进行控制,常见的编制方法有两种,示教编程方法和离线编程方法。其中示教编程方法包括示教、编辑和轨迹再现,可以通过示教盒示教和导引式示教两种途径实现。

由于示教方式实用性强,操作简便,因此大部分机器人都采用这种方式。离线编程方法是利用计算机图形学成果,借助图形处理工具建立几何模型,通过一些规划算法来获取作业规划轨迹。与示教编程不同,离线编程不与机器人发生关系,在编程过程中机器人可以照常工作。工业上离线工具只作为一种辅助手段,未得到广泛的应用。

1.基本命令

用EDIT指令进入编辑状态后,可以用C、D、E、I、L、P、R、S、T等命令来进一步编辑。如:

C命令:改变编辑的程序,用一个新的程序代替。

D命令:删除从当前行算起的n行程序,n缺省时为删除当前行。

E命令:退出编辑返回监控模式。

I命令:将当前指令下移一行,以便插入一条指令。

P命令:显示从当前行往下n行的程序文本内容。

T命令:初始化关节插值程序示教模式,在该模式下,按一次示教盒上的“RECODE”按钮就将MOVE指令插到程序中。

列表指令

DIRECTORY指令:此指令的功能是显示存储器中的全部用户程序名。

LISTL指令:功能是显示任意个位置变量值。

LISTP指令:功能是显示任意个用户的全部程序。

存储指令

FORMAT指令:执行磁盘格式化。

STOREP指令:功能是在指定的磁盘文件内存储指定的程序。

STOREL指令:此指令存储用户程序中注明的全部位置变量名和变量值。

LISTF指令:指令的功能是显示软盘中当前输入的文件目录。

LOADP指令:功能是将文件中的程序送入内存。

LOADL指令:功能是将文件中指定的位置变量送入系统内存。

DELETE指令:此指令撤销磁盘中指定的文件。

COMPRESS指令:只用来压缩磁盘空间。

ERASE指令:擦除磁内容并初始化。

控制程序执行指令

ABORT指令:执行此指令后紧急停止(紧停)。

DO指令:执行单步指令。

EXECUTE指令:此指令执行用户指定的程序n次,n可以从–32 768到 32 767,当n被省略时,程序执行一次。

NEXT指令:此命令控制程序在单步方式下执行。

PROCEED指令:此指令实现在某一步暂停、急停或运行错误后,自下一步起继续执行程序。

RETRY指令:指令的功能是在某一步出现运行错误后,仍自那一步重新运行程序。

SPEED指令:指令的功能是指定程序控制下机器人的运动速度,其值从0.01到327.67,一般正常速度为100。

系统状态控制指令

CALIB指令:此指令校准关节位置传感器

STATUS指令:用来显示用户程序的状态。

FREE指令:用来显示当前未使用的存储容量。

ENABL指令:用于开、关系统硬件

ZERO指令:此指令的功能是清除全部用户程序和定义的位置,重新初始化。

DONE:此指令停止监控程序,进入硬件调试状态。

2.程序指令

1) 运动指令

指令包括GO、MOVE、MOVEI、MOVES、DRAW、APPRO、APPROS、DEPART、DRIVE、READY、OPEN、OPENI、CLOSE、CLOSEI、RELAX、GRASP及DELAY等。

这些指令大部分具有使机器人按照特定的方式从一个位姿运动到另一个位姿的功能,部分指令表示机器人手爪的开合。例如:

MOVE #PICK!

表示机器人由关节插值运动到精确PICK所定义的位置。“!”表示位置变量已有自己的值。

MOVET <位置>,<手开度>

功能是生成关节插值运动使机器人到达位置变量所给定的位姿,运动中若手为伺服控制,则手由闭合改变到手开度变量给定的值。

又例如:

OPEN [<手开度>]

表示使机器人手爪打开到指定的开度。

2)机器人位姿控制指令

这些指令包括RIGHTY、LEFTY、ABOVE、BELOW、FLIP及NOFLIP等。

3) 赋值指令

赋值指令有SETI、TYPEI、HERE、SET、SHIFT、TOOL、INVERSE及FRAME。

4) 控制指令

控制指令有GOTO、GOSUB、RETURN、IF、IFSIG、REACT、REACTI、IGNORE、SIGNAL、WAIT、PAUSE及STOP。

其中GOTO、GOSUB实现程序的无条件转移,而IF指令执行有条件转移。IF指令的格式为

IF <整型变量1> <关系式> <整型变量2> <关系式> THEN <标识符>

该指令比较两个整型变量的值,如果关系状态为真,程序转到标识符指定的行去执行,否则接着下一行执行。关系表达式有EQ(等于)、NE(不等于)、LT(小于)、GT(大于)、LE(小于或等于)及GE(大于或等于)。

5) 开关量赋值指令

指令包括SPEED、COARSE、FINE、NONULL、NULL、INTOFF及INTON。

6) 其他指令

其他指令包括REMARK及TYPE。

机器人语言

SIGLA语言

SIGLA是一种仅用于直角坐标式SIGMA装配型机器人运动控制时的一种编程语言,是20世纪70年代后期由意大利Olivetti公司研制的一种简单的非文本语言。

这种语言主要用于装配任务的控制,它可以把装配任务划分为一些装配子任务,如取旋具,在螺钉上料器上取螺钉A,搬运螺钉A,定位螺钉A,装入螺钉A,紧固螺钉等。编程时预先编制子程序,然后用子程序调用的方式来完成。

IML语言

IML也是一种着眼于末端执行器的动作级语言,由日本九州大学开发而成。IML语言的特点是编程简单,能人机对话,适合于现场操作,许多复杂动作可由简单的指令来实现,易被操作者掌握。

IML用 直角坐标系描述机器人和目标物的位置和姿态。坐标系分两种,一种是机座坐标系,一种是固连在机器人作业空间上的工作坐标系。语言以指令形式编程,可以表示 机器人的工作点、运动轨迹、目标物的位置及姿态等信息,从而可以直接编程。往返作业可不用循环语句描述,示教的轨迹能定义成指令插到语句中,还能完成某些 力的施加。

IML语言的主要指令有:运动指令MOVE、速度指令SPEED、停止指令STOP、手指开合指令OPEN及CLOSE、坐标系定义指令COORD、轨迹定义命令TRAJ、位置定义命令HERE、程序控制指令IF…THEN、FOR EACH语句、CASE语句及DEFINE等。

任务程序员能够指挥机器人系统去完成的分立单一动作就是基本程序功能。例如,把工具移动至某一指定位置,操作末端执行装置,或者从传感器或手调输入装置读个数等。机器人工作站的系统程序员,他的责任是选用一套对作业程序员工作最有用的基本功能。这些基本功能包括运算、决策、通讯、机械手运动、工具指令以及传感器数据处理等。许多正在运行的机器人系统,只提供机械手运动和工具指令以及某些简单的传感数据处理功能。

1. 运算

在作业过程中执行的规定运算能力是机器人控制系统最重要的能力之一。

如果机器人未装有任何传感器,那么就可能不需要对机器人程序规定什么运算。没有传感器的机器人只不过是一台适于编程的数控机器。

装有传感器的机器人所进行的一些最有用的运算是解析几何计算。这些运算结果能使机器人自行做出决定,在下一步把工具或夹手置于何处。

2. 决策

机器人系统能够根据传感器输入信息做出决策,而不必执行任何运算。按照未处理的传感器数据计算得到的结果,是做出下一步该干什么这类决策的基础。这种决策能力使机器人控制系统的功能更强有力。

3. 通讯

机器人系统与操作人员之间的通讯能力,允许机器人要求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机器人打算干什么。人和机器能够通过许多不同方式进行通讯。

4. 机械手运动

可用许多不同方法来规定机械手的运动。最简单的方法是向各关节伺服装置提供一组关节位置,然后等待伺服装置到达这些规定位置。比较复杂的方法是在机械手工作空间内插入一些中间位置。这种程序使所有关节同时开始运动和同时停止运动。用与机械手的形状无关的坐标来表示工具位置是更先进的方法,而且(除X-Y-Z机械手外)需要用一台计算机对解答进行计算。在笛卡儿空间内插入工具位置能使工具端点沿着路径跟随轨迹平滑运动。引入一个参考坐标系,用以描述工具位置,然后让该坐标系运动。这对许多情况是很方便的。

5.工具指令

一个工具控制指令通常是由闭合某个开关或继电器而开始触发的,而继电器又可能把电源接通或断开,以直接控制工具运动,或者送出一个小功率信号电子控制器,让后者去控制工具。直接控制是最简单的方法,而且对控制系统的要求也较少。可以用传感器来感受工具运动及其功能的执行情况。

6. 传感数据处理

用于机械手控制的通用计算机只有与传感器连接起来,才能发挥其全部效用。我们已经知道,传感器具有多种形式。此外,我们按照功能,把传感器概括如下:

(1) 内体感受器用于感受机械手或其它由计算机控制的关节式机构的位置。

(2) 触觉传感器用于感受工具与物体(工件)间的实际接触。

(3) 接近度或距离传感器用于感受工具至工件或障碍物的距离。

(4) 力和力矩传感器用于感受装配(如把销钉插入孔内)时所产生的力和力矩。

(5) 视觉传感器用于“看见”工作空间内的物体,确定物体的位置或(和)识别它们的形状等。传感数据处理是许多机器人程序编制的十分重要而又复杂的组成部分。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    211

    文章

    28415

    浏览量

    207060
  • 编程
    +关注

    关注

    88

    文章

    3615

    浏览量

    93718

原文标题:关于机器人编程,你不得不知的一些知识!

文章出处:【微信号:GKYXT1508,微信公众号:工控云学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是工业机器人

    机器人在美国诞生,开创了机器人发展的新纪元。戴沃尔提出的工业机器人有以下特点:将数控机床的伺服轴与遥控操纵器的连杆机构联接在一起,预先设定的机械手动作经编程输入后,系统就可以离开
    发表于 01-19 10:58

    机器人视觉——机器人的“眼睛”

    目前产业机器人仅能在严格定义的结构化环境中执行预定指令动作,缺乏对环境的感知与应变能力,这极大地限制了机器人的应用。利用机器人的视觉控制,不需要预先对产业机器人的运动轨迹进行示教或离
    发表于 01-23 15:02

    C语言教学机器人

    教学方法的局限,解决了C程序设计课程抽象、枯燥、难学和学习效果差的老大难问题。C语言教学机器人可作为“C程序设计”课程的日常教学实训,也可以作为工程训练、编程类课程的课程设计项目器材,同时还可以供广大希望从事嵌入式系统开发和C
    发表于 03-28 11:24

    机器人10大流行编程语言对比,你学会了哪种?

    。 9.工业机器人语言每个机器人制造商都开发了属于自己的专有机器人编程语言,这成了工业机器人行业
    发表于 12-05 16:42

    工业机器人应用编程考核设备分享

    ZNH-KH01工业机器人应用编程考核设备一、概述工业机器人应用编程考核设备能满足工业机器人应用编程
    发表于 07-01 11:06

    机器人编程的区别

    在前一篇文章中讲了机器人编程的区别,但总感觉讲的比较空泛,这篇文章继续讲讲那些区别。计算机编程机器人编程最大的区别就是一个是控制虚拟的,
    发表于 09-01 07:12

    Motoman机器人离线编程

    欢迎关注Jungle的Motoman机器人离线编程专栏系列文章:Motoman机器人离线编程——Motocom32开发简介Motoman机器人
    发表于 09-07 07:33

    设计一个能自由行走,并且可以与人语音对话的机器人

    ,并且可以与人语音对话的机器人。实现的关键是让机器人能通过传感器感知周围环境,并通过机器人大脑处理并输...
    发表于 12-16 07:27

    设计一个能自由行走并且可以与人语音对话机器人的设计资料分享

    在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话。朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人。实现的关键是让机器人能通过传感器感知周围环
    发表于 12-17 06:58

    机器人是什么?

    机器。一些书呆子式的语言可能会把它描述成“一个可重新编程的多功能机械手,旨在通过各种编程的动作移动材料、部件、工具或专门设备,以完成各种任务”。这个定义非常具有表现力。那么制造
    发表于 03-31 10:31

    基于工业机器人编程技术

    机器人编程语言像一个计算机系统,包括硬件、软件和被控设备。即机器人语言包括语言本身、运行语言的控
    发表于 10-18 16:33 22次下载

    机器人的最佳编程语言是什么?机器人十大流行编程语言汇总

    机器人的主要特点之一是其通用性,是机器人具有可编程能力是实现这一特点的重要手段。机器人编程必然涉及机器人
    的头像 发表于 05-01 17:32 3.5w次阅读

    机器人编程常用的四大语言

    伴随着机器人的发展,机器人语言也得到发展和完善。机器人语言已成为机器人技术的一个重要部分。机器人的功能除了依靠
    的头像 发表于 06-14 11:15 5w次阅读

    机器人编程语言的类型有哪些?

    机器人编程语言最早于20世纪70年代初期问世,到目前为止已有多种编程语言出现,在众多机器人
    发表于 07-23 16:08 1w次阅读

    abb工业机器人编程语言是什么

    ABB工业机器人编程语言主要是RAPID(Robot Application Programming Interface for Development),它是一种高级编程
    的头像 发表于 06-16 16:49 2535次阅读