APP下载

“数据+逻辑+进化”编程思想在工业机器人操作与编程教学当中的应用

2021-09-10孟鑫张聪超韩警贤

科技研究 2021年16期
关键词:进化数据逻辑

孟鑫 张聪超 韩警贤

摘要:随着“1+X”证书制度在高等职业教育中开展,越来越多的学校开设了工业机器人操作与编程这门课程,但在教学中发现,学生们在做机器人编程时逻辑不清晰,写出的程序杂乱无章。现依据教学经验,提出一种“数据+逻辑+进化”的编程思想,并通过一个搬运实例进行深入讲解,使机器人编程规范化,找出机器人程序编程内在的规律,使学生们能快速掌握机器人编程技巧。

关键词:工业机器人编程;数据+逻辑+进化;编程思想

引言:

当前,我国经济和科技均得到了高速发展,以此为基础,我国现代化制造业不断向智能化、信息化以及数字化的方向高速发展,随之,工业机器人技术得到了越来越广泛的应用,相关专业也应运而生[1]。其中《工业机器人操作与编程》这门课程是机器人专业的核心课程,在教学中发现学生在学习机器人编程的时候逻辑混乱,不知道从哪里入手,程序可读性也很差,不具备通用性。因此,本文提出一种“数据+逻辑+进化”编程思想,通过对一个搬运实例进行深入讲解,使机器人编程规范化,使学生学习机器人编程时逻辑清晰,能够快速掌握机器人编程技巧,做到举一反三。

1.机器人品牌的选择

目前多数高职院校采用ABB机器人进行教学,原因是ABB机器人品牌口碑好,性能好,得到了很多企业的认可[2]。近年来随着国产机器人的崛起,越来越多国产机器人相关公司与高职院校进行合作共同培养人才,国产机器人的特点是性价比高,编程语言风格更符合中国人的逻辑[3]。我们学校与华中数控有限公司进行校企合作建立了一个“1+X工业机器人操作与编程”考证培训基地,平时学生的理论学习和实操练习使用的都是华数工业机器人,因此本文是在华数工业机器人操作与编程的基础上讲解论述“数据+逻辑+进化”的编程思想。

2.“数据+逻辑+进化”编程思想

我们先对数据、逻辑和进化这三个名词进行解释,然后再结合机器人操作编程论述“数据+逻辑+进化”的编程思想。

数据的定义:对客观事物的性质、状态以及相互关系等进行记载的物理符号。不仅仅是数字,也可以是具有一定意义的文字、图形、视频等。

逻辑的定义:是指思维的规律和规则,就是事情的因果规律。引入“逻辑”一词,就是要建立数据之间的因果关系。

进化的定义:又称为演化,在生物学中是指种群里的基因在世代之间的变化。引入“进化”一词,就是要说明程序的编写要从简单到复杂,从已有的向未知的逐步迭代演化。

2.1机器人编程中的数据

以华数机器人为例,它包含的数据类型有:UT[i]:工具坐标系变量;UF[i]:基坐标系变量;R[i]:数值型变量;JR[i]:关节型坐标变量LR[i]:笛卡尔型坐标变量;I[i]:数字输入型变量;O[i]:数字输出型变量。

本文以将工件从A位置搬运到B位置为例来说明数据的建立。将工件从A位置搬运到B位置是一个最简单的搬运编程,通过分析知此程序至少需要5个基础数据:

(1)机器人原点:JR[0](通过直接输入数值获得)

(2)两个示教点位:取料点LR[10],放料点LR[11](通过示教器示教获得)

(3)一个常量点位:抬起高度LR[15](通过直接输入数值获得)

(4)一个IO点位:DO[1],吸盘工具开与关。(通过配置IO获得)

至此,我们已经知道了此任务需要的基础数据及获取方式,在后续编程过程中需要的数据要么是基础数据,要么是利用基础数据运算得到的计算数据。

2.2 机器人编程中的逻辑

2.1节已对程序需要的数据类型、数量及获取方式进行了详细说明,下面论述将工件从A位置搬运到B位置的编程逻辑。

逻辑建立的第一步是对数据的规划与存储。由2.1节中我们知道此程序需要获取5个基础数据,但在逻辑建立的过程中还需要必要的计算点位,如:

取料點安全高度(LR[20])=取料点(LR[10]) +抬起高度(LR[15])

放料点安全高度(LR[21])=放料点(LR[11]) +抬起高度(LR[15])

此任务编程需要的全部数据为:

(1)机器人原点:JR[0]

(2)两个示教点位:取料点LR[10],放料点LR[11]

(3)两个计算点位:取料点安全高度LR[20],放料点安全高度LR[21]

(4)一个IO点位:DO[1],吸盘工具开与关

逻辑建立的第二步是路径规划及动作规划。如下图,图中点位位置和箭头指向表明了运动的逻辑关系,即机器人以何种方式到达哪一个点位,然后执行何种动作,完成何种任务。

至此,我们已经表述清楚了此任务的逻辑关系。

2.3机器人编程中的进化

在我们知道了完成此任务需要的数据,和此任务的编程逻辑后,我们可以立即写出此任务的程序。我们将程序命名为“MVONE.PRG”,程序内容如下:

MVONE.PRG:

J JR[0] //机器人在原点

LR[20]=LR[10]+LR[15] //定义机器人取料点安全高度

LR[21]=LR[11]+LR[15] //定义机器人放料点安全高度

J LR[20] //机器人运动到取料点安全高度

L LR[10] //机器人运动到取料点

WAIT TIME=500 //等待500毫秒

DO[10]=ON //吸盘开,吸工件

WAIT TIME=500 //等待500毫秒

L LR[20] //机器人运动到取料点安全高度

J LR[21] //机器人运动到放料点安全高度

L LR[11] //机器人运动到放料点

WAIT TIME=500 //等待500毫秒

DO[10]=OFF //吸盘关闭,放工件

WAIT ITME=100 //等待500毫秒

L LR[21] //机器人运动到放料点安全高度

J JR[0] //机器人运动到原点

下面我们对程序进行第一层进化,通过主程序调用子程序的方式实现搬运任务。主程序命名为“MAIN1.PRG”,程序内容如下:

MAIN1.PRG:

CALL “MVONE”

则运行主程序“MAIN1.PRG”后,通过主程序调用子程序的方式来实现搬运。

下面我们对程序进行第二层进化,通过在主程序中对子程序赋值的方式来编程。同样定义主程序为“MAIN2.PRG”,程序内容如下:

MAIN2.PRG:

LR[10]=LR[30]

LR[11]=LR[31]

CALL “MVONE”

则运行“MAIN2.PRG”,表明主程序调用子程序,其中示教点位保存在LR[30]和LR[31]中,这里实现了子程序点位在主程序中赋值,也就是带参调用子程序。改进后的程序,层次分明,实现了模块化编程,为后续程序的修改和扩展提供了方便。

这三段程序体现了,三种不同的编程思想:

(1)“MVONE.PRG”只是实现了工作任务。

(2)“MAIN1.PRG”实现了模块化编程中的子程序的概念,在主程序中可以随时取消调用,提高了修改机器人流程的效率

(3)“MAIN2.PRG”不仅实现了模块化编程的概念,而且实现了带参数子程序的调用,模块的通用性更强。

这就是机器人编程中的进化,在教学生编程时,先从最直接的编程思路入手,要完成什么样的任务,然后在主程序中直接编程,然后再考虑如何优化程序。对于有规律的多次搬运,特别是码垛搬运,进化程序会体现出它的简洁性。

下面我们将搬一放一这样的编程任务扩展到搬三放三。即需要连续搬运3个工件然后放置到三个不同位置,假设三个取料点和三个放料点都是在X方向一字排放,且相邻间隔都是60mm,我们将间隔距离存放到LR[25]中,主程序命名为“MAIN3.PRG”,程序内容如下:

MAIN2.PRG:

R[10]=0

WHILE R[10]<3 //采用循环结构实现循环3次搬运

LR[10]=LR[30+R[10]* LR[25]]

LR[11]=LR[31+R[10]* LR[25]]

CALL “MVONE”

R[10]=R[10]+1

通过上面的搬三放三程序我们发现,只要我们理解了带参数子程序调用的方法,并且学会搬运一个工件的程序操作,那么搬运三个工件是很简单的事情。我们只需要把搬运三个工件的逻辑理清楚,三个工件的取料点和放料点之间的联系理清楚,然后在主程序中体现出来就可以。

总之,程序进化是从易到难的一个过程,也是一个不断使用已有知识发现新知识的过程。

最根本的还是要理解机器人程序的本质:

(1)机器人的运动的点位逻辑是什么

(2)机器人在什么地方做了什么样的工作,即IO逻辑是什么。

3.结束语

上述的“数据+逻辑+进化”编程思想是在实践教学中总结出来的,上述的机器人搬运编程实例,從搬一放一到搬三放三再到搬九放九是“数据+逻辑+进化”编程思想的典型运用。在“工业机器人操作与编程”教学实践中,按照这种编程思想进行教学,学生们的编程思路变的清晰了,程序的可读性移植性也得到了提升,在机器人编程中做到了循序渐进,举一反三。

参考文献:

[1]卢峰,官文. 高职院校工业机器人编程与操作课程教学思考[J]. 科研与教育,2020,4:211-212

[2]邵军.离线编程示教的工业机器人教学研究[J]. 湖北农机化,2019,16:118-119

[3]严伟青.浅谈中职数学课堂教与学的策略[J].现代企业教育,2014(6):210.

猜你喜欢

进化数据逻辑
刑事印证证明准确达成的逻辑反思
逻辑
创新的逻辑
女人买买买的神逻辑
纪录片理论进化的黄金时代
进化伦理学与道德规范性
焊接工艺仿真训练系统中焊点数据的建立方法
一种借助数据处理构建的智能食堂管理系统
数据化艺术的生成探究
浅谈计量自动化系统实现预购电管理应用