人工智能加工中心机器人的研究

2019-11-20 22:17王尚银贾军孙睿霞
中国信息化 2019年10期
关键词:编程语言工件数控机床

王尚银 贾军 孙睿霞

人工智能加工中心机器人是由人工智能加工中心与智能机器人组合而成的智能制造系統,是先进制造技术的新模式。智能制造系统由人工智能加工中心、智能机器人、机械工程师和人工智能专家共同组成的有机整体;利用大数据进行分析、判断、推理、构思、决策和开放式信息处理;利用数控系统软件和编程语言编写程序来指令人工智能加工中心和智能机器人完成智能化加工的过程;是制造技术、自动化技术、系统工程与人工智能等学科相互渗透、相互交织而形成的一门综合技术;将促进人工智能加工中心机器人的性能向着高精度、高速度、高柔性化和智能化方向发展。Python这一结构简单、动态的、面向对象编程的脚本语言,它的“胶水”特点和“网络爬虫”特点非常适合做人工智能加工中心机器人的编程语言。

机械制造业中的加工中心和工业机器人按照“互联网+”这一指导思想,通过“互联网+加工中心+工业机器人”组成的智能制造系统来实现机械制造业的转型升级。智能制造系统必须由人工智能加工中心、智能机器人、机械工程师和人工智能专家协调配合共同组成“互联网+人+电脑+机器”一体化的智能制造体系,它在机械加工过程中能自动完成智能化的工作,如分析、判断、推理、构思、决策、扫描工件、选择程序、自动识别、抓取工件、自动定位、安装工件、启动机床、自动加工、自动检测、拆卸工件、自动复位等工作。通过扩展、延伸并部分的替代机械工程师和机械加工技师在制造过程中的脑力劳动和体力劳动;并且更加柔性化、智能化和高度集成化。这就需要人工智能专家和机械制造专家共同合作,利用数控系统软件和编程语言编写程序来指令人工智能加工中心机器人完成机械零件加工;这就要求数控系统硬软件的工作性能必须满足人工智能的要求。随着人工智能在计算机领域的渗透和拓展,数控系统已经具备了自适应控制、模糊系统控制和神经网络系统控制、自动反馈控制、学习控制、自动编程、自动生成工艺参数、三维刀具自动补偿、运动参数动态补偿等功能。人机界面采用面向对象的交流方法,实现人与机器机友好互动。人工智能加工中心故障诊断专家系统能够实现自诊断功能和故障监控功能,随时监控人工智能加工中心机器人的工作状态。人工智能伺服装置的主轴驱动系统能够实现主轴交流驱动;驱动装置全部采用直线电机驱动系统;进给系统自动识别负载大小和自动调整优化系统参数等功能。人工智能加工中心机器人的性能更加具备高精度、高速度、高柔性化,这必须有人工智能专家和机械工程师共同利用编程语言编写的程序来实现。

一、人工智能加工中心

随着计算机在人工智能领域开花结果,加工中心操作系统的图形用户界面更加方便非专业人员直接利用窗口菜单操作、蓝图编程和快速编程、三维彩色立体动态图形显示、图形模拟、图形动态跟踪和仿真、各投影方向视图的局部显示和比例缩放功能的应用。计算机可视化高效处理数据和解释数据,使信息交流不仅利用语言文字表达,还直接利用图形、图像、动画等信息交流。数控系统可视化技术与虚拟环境技术相结合拓展了无图纸设计、虚拟样机等应用技术。这对缩短产品设计周期、提高产品质量、降低产品成本具有更加重要意义。数控系统采用可视化技术如自动编程设计、参数自动设定、刀具补偿和刀具管理数据的动态处理以及显示加工过程的可视化仿真演示等。工艺系统的智能化具备刀具自动插补和选择补偿方式,如直线插补、圆弧插补、圆柱插补、空间椭圆曲面插补、螺纹插补、极坐标插补、螺旋插补、均匀插补、非均匀插补、样条插补;多项式插补如间隙补偿、垂直度补偿、象限误差补偿、螺距和测量系统误差补偿;与速度相关的前反馈补偿、温度补偿;带平滑接近和退出功能以及相反点计算的刀具半径补偿等多种补偿功能,使得数控加工技术更加柔性化和智能化。

二、智能机器人

智能机器人必须具备感觉、运动、和思考三要素,在工作中通过物联网、大数据、云平台自动扫描识别工件和定位基准,利用机械手臂选择抓取工件、安装、拆卸、搬运等工作,还具备形形色色的内部信息传感器、外部信息传感器、感受器、效应器、自整步电动机等多种新技术。它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识,以及当今许多前沿领域的新技术。用它来取代人的部分脑力劳动和体力劳动。

三、人工智能加工中心与智能机器人的有机融合

智能机器人和人工智能加工中心的有机结合,在硬件方面实现了机器人和机床的一体化,相当于给机床长了大脑、眼、手和腿;在软件方面人工智能专家利用计算机语言编程将互联网、大数据、云平台、物联网、数控系统互联互通,操作人员可以随时与全世界最优秀的机械工程师互动交流、调用各种机械设计方案和加工工艺方案,采用最优秀软件、人性化图形界面、智能化的方法设计产品和加工产品。智能机器人还参与机械加工生产线上下料和零部件搬运、铲刮、倒角、抛磨、焊接、喷涂(粉)等工作,让机械加工更加智能化和柔性化,加工质量和生产效率得到提升。零件加工过程中,人工智能加工中心能感知切削力的变化,并分析判断刀具磨损,决定采用用刀具补偿还是换刀以保证加工精度。具有自动感知、分析、反馈、决策、控制等功能,如:智能产品分析、智能设计(如专家系统)、智能经营(如产业链、价值链协调)、智能生产(车间级以下,如装备)、智能服务、智能决策等。尤其是在轻量化设计、节能降耗、工艺优化、质量提升、运行维护等都可以通过人工智能系统来完成。生产任务的下达、调度、组织管理可以通过人工智能与实时系统相结合,实现生产管理的智能化。

四、人工智能编程语言的选择

人工智能编程技术涉及到的知识内容比较复杂,是一个典型的多学科交叉领域,涉及到哲学、数学、计算机、经济学、神经学和语言学等诸多学科内容。尤其需要具备扎实的数学功底,因为算法设计是人工智能研发的核心内容,而算法设计往往涉及到高数、线性代数、概率论等数学知识。编程语言是实现人工智能产品的一个重要工具,比如C、Python、Java、C++、Lisp、Prolog等语言都可以用于人工智能领域的开发,其中Python对于初学者来说比较合适。就像大多数软件应用程序的开发一样,开发人员也在使用多种语言来编写人工智能项目,但是现在还没有任何一种完美的编程语言是可以完全速配人工智能项目的。编程语言的选择往往取决于对人工智能应用程序的期望功能。以下五种语言是人工智能项目最常用的编程语言。

(一)Python语言

Python是一种高效的计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),现在用于独立的、大型项目的开发应用。Python语言中,函数、模块、数字、字符串都是它的对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python语言绑定人工智能系统、工业机器人系统、数控机床系统具有很好的兼容性;Python标准库绑定其他常规操作系统工具也具有 好的兼容性和可移植性。Python语言编写的应用程序与其它语言编写的应用程序都具有兼容性;Python语言编写的应用程序可调用其它语言编写的子程序;其它语言编写的应用程序可调用Python语言编写的子程序;用Python语言编写的循环模式课兼容其他语言编写的主程序和子程序;Python在网络爬虫方面具有非常强大的功能,利用Python语言编写的程序可携带物联网信息实现机器人数控机床的网络控制功能。Python语言通过共享云实现一体化编程、典型库的开发、大数据、云计算方面的应用,可以在共享云上进行数据分析和运算、数据的在线云存储功能等。

(二)Java语言和他的朋友

Java是一门静态的面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。Java语言具有简单易用功能强大的特征,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、高性能、稳健性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。JVM家族系列语言(Java,Scala,Kotlin,Clojure等)也是AI应用程序开发的绝佳选择。Java是一个面向对象的语言,是数据和操纵数据方法的集合,而不是严格地用过程来思考。它是用数据和方法描述对象的状态和行为。属于网络分布式语言,支持各种层次的网络连接功能。

(三) C/C++语言

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于面向对象的编程方法进行程序设计,还可以进行以继承多态为特点的面向对象的大型程序设计语言,同时还可以进行基于过程的程序设计。C++是在C语言的基础上开发的一种编程语言,属于编译型语言,它集成了各种复杂的函数,其复杂性远远超过了Python语言。常用于系统开发,引擎开发等应用领域,支持类、封装、继承、多态等特性。C++语言灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

(四)JavaScript

JavaScript是一种直译式和和嵌入式网络脚本语言,是一种动态类型、弱类型、内置支持类型、基于原型的语言,。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,被广泛用于Web应用开发,为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。有它自身的基本数据类型,表达式和算术运算符及程序的基本框架。Javascript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字;用变量提供存放信息的地方;表达式可以完成较复杂的信息处理。JavaScript是一种基于对象编程的具有简单新、动态性、跨平台性的脚本语言。

(五)R语言

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它可以运行于UNIX,Windows和Macintosh的操作系统上。属于完全开放源代码和可编程语言的自由软件,具有多功能的程序包,很强的互动性。是全世界最大、最前沿的统计学编程语言。还有Lua、Julia、Swift等语言都可用于人工智能编程。人工智能需要具备扎实的数学基础,算法设计是核心内容,涉及到高数、线性代数、概率论等。Python语言由于结构简单易懂,具有“胶水”功能和“网络爬虫”功能的脚本语言,深受非计算机专业的工程师们喜欢。Python在专用人工智能领域内无论是在企业级、车间级和制造单元级等不同层次智能制造系统中构建和应用都是可行的。选择Python语言编程就可以将人工智能装备、工业机器人、数控設备、智能制造工具与系统、智能制造云服务平台等集成为一个整体的人工智能加工中心机器人制造系统。

五、Python语言的现状与未来

Python语言具有简单易学、可移植性强、面向对象、可扩展性、可嵌入型、丰富的库、规范的代码系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、pymo引擎、黑客编程、爬虫编写、机器学习、人工智能等特点的高层语言。国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。Python专用的科学计算扩展库就更多了。如:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。Python能够提供丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Python来编写扩充模块;Python编译器可以被集成到其它需要脚本语言的程序内;Python就像一种“胶水语言”。Python可将其他语言编写的程序集成和封装。Python的设计目标之一是让代码具备高度的可阅读性。设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像C、Pascal等静态语言那样需要重复书写声明语句和语法经常有特殊情况和意外。Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境,直接下达操作指令即可实现交互操作。Python在人工智能、科学计算中应用众多优秀的WEB框架、大数据、云计算等。Python做为面向对象编程的动态语言,语言结构清晰简单,库丰富,成熟稳定,科学计算、统计分析和生产效率远远高于c,c++,java,尤其擅长策略回测。Python在图形界面方面的应用也是最优秀的。所以Python语言在智能机器人数控机床编程方面也是最优秀的。

六、Python语言在人工智能加工中心机器人方面的应用

(一)Python在智能机器人编程技术中的应用

用Python编写的工作程序能够指令智能机器人完成从当前位置移动到指令位置;抓取工件;运输工件到达指令位置;选择工件的正确的位置;安装工件;启动机床、拆卸工件、取走工件到达指令位置;安放工件等等功能。人工智能机器人还可以仿生人脑神经系统和视觉系统在共享云上选择最优化的编程方法自动编写程序;还可以仿生人体的神经传感系统和关节运动系统实现在任意方向任意位置以柔性化的速度上抓取工件和搬运工件。还可以利用网络通信技术将各种智能机器人通过互联网和计算机连接成网络群体,使机器人网络化并通过网络对机器人进行有效的控制;通过大数据数学模型运用多种传感技术的机器人拥有信息集成能力、判断能力和决策能力,能在各种不同的条件下处理不同的任务,让各种信息相互融合、相互支持实现无人化智能工厂的多种机器人协调作业。机器人网络系统会给制造业带来较高的生产效率,同时也节省大量的人力资源,降低了产品的成本,创造了更高的市场价值。

(二)Python在智能数控机床编程技术中的应用

用Python给数控机床编写的加工程序能够指令数控机床完成正常的工件安裝、对刀、换刀、切削加工、松开夹具;加工程序能够在互联网、共享工业云上传送信息;加工程序能够通过互联网远程控制数控机床完成切削加工。利用人工智能的搜索技术寻找数控机床加工零件时刀具的最佳运动轨迹,选择正确的加工方法和加工指令。利用A*算法计算最佳的基点坐标、切削速度、进给速度、背吃刀量、刀具的摩擦磨损状态实时的进行刀具补偿和更换刀具,检测机床的各种运动参数和环境温度、振动频率、湿度等并实时调整机床参数,以最经济的加工方法满足零件的加工精度要求。

(三)Python在制造业人工智能技术中的应用

用Python语言编写的智能机器人数控机床工作程序能够在互联网、共享云上共享信息,能够携带设备信息、工艺信息在物联网流通,能够通过物联网远程控制各种物资信息的传输。人工智能机器人视觉系统利用共享云、大数据进行自动学习、自动检索、自动编写加工程序,运用控制论、信息论和运筹学在无人工作的条件下自动识别图形,自动选择基准,抓取工件、安装工件、选择刀具、启动机床、自动测量、自动识别、自动判断尺寸精度、拆卸工件、运输工件等等。

七、结论

Python是一种高效的计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),现在用于独立的、大型项目的开发。Python语言中,函数、模块、数字、字符串都是它的对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python语言在操作系统的内置接口、智能机器人系统、数控机床系统具有兼容性;Python程序在搜索文件和目录树;Python语言编写的应用程序调用其它行其它子程序;Python语言编写循环模式;Python标准库绑定其他常规操作系统工具的情况,以及Python 的系统工具可移植性;Python在网络爬虫方面具有非常强大的功能。人工智能方面的应用如:一体化编程;典型库的开发;在WEB开发中的应用;Python在大数据、云计算方面的应用;在企业和网站方面的案例应用;如何进行进行数据分析和运算;数据的在线云存储功能等。Python语言编写的智能机器人数控机床工作程序能够在工业互联网、共享云上传输信息;够远程控制智能机器人数控机床的正常工作。Python语言编写的工业机器人工作程序能够指令工业机器人自动行走,完成从当前位置移动到指令位置;机械手自动抓取工件;机器人自动运输工件到达指令位置;选择工件的正确位置自动的定位;机械手自动安装工件;程序远程启动机床、拆卸工件、取走工件到达指令位置;放置工件到达指令位置。用Python语言G代码给数控机床编写的加工程序能够指令刀具完成正常的对刀、换刀、切削加工;刀具的按线、曲线从当前点移动到指令点;指令夹具的夹紧、松开、冷却液的开、停等功能加工程序能够在互联网、共享工业云上传送信息;加工程序能够通过互联网远程控制数控机床完成切削加工。通过Python语言编写的程序能够使工业机器人数控机床实现人工智能化等等。

作者单位:王尚银,贾军 宁夏工商职业技术学院孙睿霞 北京联合大学

猜你喜欢
编程语言工件数控机床
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
数控机床故障检测与维修
计算机软件JAVA编程优势及其应用
四爪单动卡盘如何校正工件
基于计算机应用软件开发的Java编程语言研究
台钻车削加工装置
数控机床人机联合故障排查研究
提高数控机床维修性的途径
PLC在气压式冲孔加工机控制系统中的应用
数控机床的现状及技术发展策略分析