CN114365047B - 数控装置及机器学习装置 - Google Patents

数控装置及机器学习装置 Download PDF

Info

Publication number
CN114365047B
CN114365047B CN201980100202.4A CN201980100202A CN114365047B CN 114365047 B CN114365047 B CN 114365047B CN 201980100202 A CN201980100202 A CN 201980100202A CN 114365047 B CN114365047 B CN 114365047B
Authority
CN
China
Prior art keywords
robot
unit
interference
machine
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201980100202.4A
Other languages
English (en)
Other versions
CN114365047A (zh
Inventor
嵯峨崎正一
马场健辅
末田崇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN114365047A publication Critical patent/CN114365047A/zh
Application granted granted Critical
Publication of CN114365047B publication Critical patent/CN114365047B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4061Avoiding collision or forbidden zones
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

数控装置(1X)具有:机械动作运算部(801),其使用机械模型(811)和在对工作机械(100)所具有的第1结构要素的位置进行控制时使用的第1位置数据,对特定定时的第1结构要素的位置进行计算;机器人动作运算部(802),其使用机器人模型(812)和在对机器人(60)所具有的第2结构要素的位置进行控制时使用的第2位置数据,对特定定时的第2结构要素的位置进行计算;以及干涉检查部(803),其基于第1结构要素的位置及第2结构要素的位置,对工作机械(100)和机器人(60)是否碰撞进行判断。

Description

数控装置及机器学习装置
技术领域
本发明涉及对机器人及工作机械进行控制的数控装置及机器学习装置。
背景技术
在数控装置的1个中,存在将进行被加工物的加工的工作机械的控制和进行被加工物的输送及加工的机器人的控制并行地执行的控制装置。
专利文献1所记载的数控装置基于指定经过时刻的机器人的动作位置及指定经过时刻的工作机械的动作位置,使机器人及工作机械的三维模型在显示装置上进行显示。
专利文献1:日本专利第4653836号公报
发明内容
但是,在上述专利文献1的技术中,虽然对机器人的动作和工作机械的动作进行了显示,但存在无法对工作机械和机器人是否碰撞进行判断这样的问题。
本发明就是鉴于上述情况而提出的,其目的在于得到能够对工作机械和机器人是否碰撞进行判断的数控装置。
为了解决上述的课题,并达到目的,本发明的数控装置具有机械动作运算部,其使用工作机械的动作仿真用的数据即机械模型和在对工作机械所具有的第1结构要素的位置进行控制时使用的第1位置数据,对特定定时的第1结构要素的位置进行计算。另外,本发明的数控装置具有机器人动作运算部,其使用机器人的动作仿真用的数据即机器人模型和在对机器人所具有的第2结构要素的位置进行控制时使用的第2位置数据对特定定时的第2结构要素的位置进行计算。另外,本发明的数控装置具有碰撞判断部,其基于第1结构要素的位置及第2结构要素的位置,对工作机械和机器人是否碰撞进行判断。
发明的效果
本发明所涉及的数控装置具有下述效果,即,能够对工作机械和机器人是否碰撞进行判断。
附图说明
图1是表示实施方式1所涉及的数控装置的结构例的图。
图2是表示由实施方式1所涉及的数控装置进行控制的工作机械及机器人的配置例的图。
图3是表示由实施方式1所涉及的数控装置描绘出的画面的第1例的图。
图4是表示由实施方式1所涉及的数控装置描绘出的画面的第2例的图。
图5是表示由实施方式1所涉及的数控装置描绘出的画面的第3例的图。
图6是用于对由实施方式1所涉及的数控装置进行检测的机器人手和工作机械的框体之间的干涉进行说明的图。
图7是用于对由实施方式1所涉及的数控装置进行检测的机器人臂和在工作机械的外部配置的机构之间的干涉进行说明的图。
图8是表示由实施方式1所涉及的数控装置进行的干涉检查的处理顺序的流程图。
图9是表示实施方式2所涉及的数控装置的结构例的图。
图10是用于对由实施方式2所涉及的数控装置执行的干涉避免的第1动作例进行说明的图。
图11是用于对由实施方式2所涉及的数控装置执行的干涉避免的第2动作例进行说明的图。
图12是表示由实施方式2所涉及的数控装置进行的干涉检查的处理顺序的流程图。
图13是表示实施方式3所涉及的数控装置的结构例的图。
图14是用于对由实施方式3所涉及的数控装置进行工件仿真时的机器人及工作机械的动作进行说明的图。
图15是表示图14所示的工件仿真被执行时的画面显示的例子的图。
图16是表示将图15所示的倒角位置处的加工工件的形状放大显示的例子的图。
图17是表示通过实施方式3所涉及的数控装置进行的工件仿真的处理顺序的流程图。
图18是表示实施方式4所涉及的数控装置的结构例的图。
图19是表示实施方式4所涉及的数控装置所具有的操作面板的结构例的图。
图20是表示在实施方式4所涉及的数控装置所具有的显示部进行显示的干涉警报的例子的图。
图21是用于对由实施方式4所涉及的数控装置执行的干涉避免的动作例进行说明的图。
图22是表示通过实施方式4所涉及的数控装置进行的干涉检查及干涉避免的处理顺序的流程图。
图23是表示实施方式5所涉及的数控装置的结构例的图。
图24是表示实施方式所涉及的数控装置所具有的控制运算部的硬件结构例的图。
具体实施方式
下面,基于附图对本发明的实施方式所涉及的数控装置及机器学习装置详细地进行说明。此外,本发明并不由这些实施方式限定。
实施方式1
图1是表示实施方式1所涉及的数控装置的结构例的图。数控装置1X具有控制运算部2X、输入操作部3、显示部4和用于对PLC(Programmable Logic Controller:可编程逻辑控制器)36进行操作的机械操作面板等PLC操作部5。在图1中随数控装置1X还示出了工作机械100、机器人控制器50及机器人60。由数控装置1X、工作机械100、机器人控制器50和机器人60构成的系统是控制系统。
数控装置1X与驱动部90的各伺服控制部执行通信,并且在与机器人控制器50之间执行通信。数控装置1X是使工作机械100执行使用刀具的加工工件(被加工物)的加工,并且使机器人60执行加工工件的输送的计算机。数控装置1X使用如G码程序这样的NC(Numerical Control)程序,对工作机械100及机器人60进行控制。在加工程序即NC程序包含有向工作机械100的指令和向机器人60的指令。数控装置1X将NC程序之中的向机器人60的指令变换为机器人程序的指令而对机器人60进行控制。
本实施方式的数控装置1X对机器人60和工作机械100是否干涉进行判断,在干涉的情况下使警报发生。机器人60和工作机械100之间的干涉与工作机械100和机器人60的碰撞是相同含义。机器人60和工作机械100之间的干涉包含由机器人60抓持的刀具和工作机械100之间的干涉、由工作机械100抓持的刀具和机器人60之间的干涉、由机器人60抓持的刀具和由工作机械100抓持的刀具之间的干涉。
工作机械100具有对刀具及加工工件进行驱动的驱动部90。驱动部90的例子是使加工工件旋转并且对刀具进行驱动的驱动机构。在实施方式1中,刀具的驱动方向例如是与X轴方向平行的方向和Z与轴方向平行的方向这2个方向。此外,轴向与装置结构有关,因此轴向并不限定于上述方向。
驱动部90具有:伺服电动机901、902,其使刀具在数控装置1X上规定出的各轴方向移动;以及检测器97、98,其对伺服电动机901、902的位置及速度进行检测。另外,驱动部90具有基于来自数控装置1X的指令,对伺服电动机901、902进行控制的各轴方向的伺服控制部。各轴方向的伺服控制部基于来自检测器97、98的位置及速度,进行向伺服电动机901、902的反馈控制。
伺服控制部之中的X轴伺服控制部91对伺服电动机901进行控制,由此对刀具的X轴方向的动作进行控制,Z轴伺服控制部92对伺服电动机902进行控制,由此对刀具的Z轴方向的动作进行控制。此外,工作机械100可以具有大于或等于2个刀架。在该情况下,驱动部90针对每1个刀架,具有1组X轴伺服控制部91、Z轴伺服控制部92、伺服电动机901、902和检测器97、98。
另外,驱动部90具有用于使用于使加工工件旋转的主轴进行旋转的主轴电动机911、以及对主轴电动机911的位置及转速进行检测的检测器211。由检测器211检测的转速与主轴电动机911的转速相对应。
另外,驱动部90具有基于来自数控装置1X的指令,对主轴电动机911进行控制的主轴伺服控制部200。主轴伺服控制部200基于来自检测器211的位置及转速,进行向主轴电动机911的反馈控制。
此外,在工作机械100对2个加工工件同时进行加工的情况下,驱动部90具有2组主轴电动机911、检测器211和主轴伺服控制部200。在该情况下,工作机械100具有大于或等于2个刀架。
输入操作部3是对控制运算部2X输入信息的单元。输入操作部3由键盘、按钮或者鼠标等输入单元构成,接收由用户对数控装置1X的命令等的输入或者NC程序或者参数等而输入至控制运算部2X。显示部4由液晶显示装置等显示单元构成,将由控制运算部2X处理后的信息在显示画面进行显示。显示部4的例子是液晶触摸面板。在该情况下,输入操作部3的一部分的功能配置于显示部4。
控制运算部2X使用通过工作机械100的坐标系规定出的NC程序对工作机械100及机器人60进行控制。控制运算部2X具有输入控制部32、数据设定部33、存储部34、画面处理部31、解析处理部37、控制信号处理部35、PLC 36、插补处理部38、加减速处理部39、轴数据输出部40、机器人控制部41和仿真控制部80X。此外,PLC 36可以配置于控制运算部2X的外部。
存储部34具有参数存储区域341、NC程序存储区域343、显示数据存储区域344及共享区域345。另外,存储部34具有对仿真用数据346进行存储的存储区域。
在参数存储区域341内,对控制运算部2X的处理所使用的参数等进行储存。具体地说,在参数存储区域341内,对用于使数控装置1X动作的控制参数、伺服参数及刀具数据813、814进行储存。刀具数据813是工作机械100所使用的刀具的数据,刀具数据814是机器人60所使用的刀具的数据。刀具数据813包含有工作机械100所使用的刀具的形状的信息。刀具数据814包含有机器人60所使用的刀具的形状的信息。刀具数据813、814由仿真控制部80X从存储部34内读出。此外,在下面的说明中,设为在形状的信息包含有形状本身的信息和尺寸的信息。
在NC程序存储区域343内对在加工工件的加工中使用的NC程序进行储存。实施方式1的NC程序包含有用于对工作机械100进行控制的指令和用于对机器人60进行控制的指令。
在显示数据存储区域344内,对在显示部4进行显示的画面显示数据进行储存。画面显示数据是用于使显示部4对信息进行显示的数据。另外,在存储部34,设置有对暂时地使用的数据进行存储的共享区域345。
仿真用数据346包含能够对工作机械100进行描绘的数据即机械模型811和能够对机器人60进行描绘的数据即机器人模型812。机械模型811及机器人模型812由仿真控制部80X从存储部34内读出。机械模型811是表示工作机械100的3维构造的3维数据,机器人模型812是表示机器人60的3维构造的3维数据。
机械模型811是实际上工作机械100所具有的加工室(加工槽)内的动作仿真用的数据。机械模型811是根据CAD(Computer Aided Design))数据而生成。机器人模型812是机器人60的动作仿真用数据。机器人模型812是根据CAD数据而生成的。机械模型811是扩展名为“.mdl”等的机械模型数据,机器人模型812是扩展名为“.mdl”等的机器人模型数据。
画面处理部31进行使在显示数据存储区域344储存的画面显示数据在显示部4显示的控制。输入控制部32接收从输入操作部3输入的信息。数据设定部33使由输入控制部32接收到的信息存储于存储部34。即,由输入操作部3接收到的输入信息经由输入控制部32及数据设定部33写入至存储部34。
控制信号处理部35与PLC 36连接,从PLC 36对使工作机械100的机械动作的继电器等的信号信息进行接收。控制信号处理部35将接收到的信号信息写入至存储部34的共享区域345。这些信号信息在加工运转时由插补处理部38参照。另外,控制信号处理部35如果由解析处理部37向共享区域345输出辅助指令,则从共享区域345读出该辅助指令而发送至PLC 36。辅助指令是使数控轴即驱动轴动作的指令以外的指令。辅助指令的例子是M码或者T码。
PLC 36储存有记述了由PLC 36执行的机械动作的梯形图程序。PLC 36如果接收到辅助指令即T码或者M码,则按照梯形图程序使工作机械100执行与辅助指令相对应的处理。PLC 36在执行与辅助指令相对应的处理后,为了使NC程序的下一个程序块执行,将表示机械控制完成的完成信号发送至控制信号处理部35。
在控制运算部2X中,控制信号处理部35、解析处理部37、插补处理部38、机器人控制部41和仿真控制部80X经由存储部34连接,经由存储部34进行信息的写入及读出。在下面的说明中,在对控制信号处理部35、解析处理部37、插补处理部38、机器人控制部41和仿真控制部80X之间的信息的写入及读出进行说明时,有时将经由存储部34的情况省略。
NC程序的选择是用户通过输入操作部3输入NC程序编号而进行的。该NC程序编号经由输入控制部32及数据设定部33写入至共享区域345。以机械操作面板等的循环开始为触发,解析处理部37如果从共享区域345读出选择出的NC程序编号,则从NC程序存储区域343内读出所选择的NC程序,针对NC程序的各程序块(各行)进行解析处理。解析处理部37例如对G码(与轴移动等相关的指令)、T码(刀具更换指令等)、S码(主轴电动机转速指令)及M码(机械动作指令)进行解析。
解析处理部37在解析后的行包含有M码或者T码的情况下,将解析结果经由共享区域345及控制信号处理部35发送至PLC 36。另外,解析处理部37在解析后的行包含有M码的情况下,将M码经由控制信号处理部35发送至PLC 36。PLC 36执行与M码相对应的机械控制。在执行完成的情况下,经由控制信号处理部35将表示M码的完成的结果写入至存储部34。插补处理部38参照写入至存储部34的执行结果。
另外,解析处理部37在包含有向工作机械100的G码的情况下,经由共享区域345将解析结果发送至插补处理部38。具体地说,解析处理部37生成与G码相对应的移动条件而发送至插补处理部38。另外,解析处理部37将通过S码指定出的主轴转速发送至插补处理部38。主轴转速是每单位时间的主轴的旋转的次数。移动条件是用于使加工位置不断移动的刀具进给的条件,通过使刀架移动的速度、使刀架移动的位置等表示。例如,刀具的刀具进给是使刀具在X轴方向(+X方向)及Z轴方向(+Z方向)行进。
另外,解析处理部37具有机器人指令解析部371。机器人指令解析部371是对被连接的机器人60的动作进行解析的单元。机器人指令解析部371对NC程序所包含的机器人指令进行解析,将解析结果经由共享区域345发送至机器人控制部41。
在解析结果中,包含有用于对机器人60的坐标系进行设定的指令即机器人坐标系设定指令、对机器人60的动作进行了规定的机器人动作指令等。
插补处理部38使用通过解析处理部37得到的解析结果之中的向工作机械100的指令而生成用于对工作机械100进行控制的数据,发送至加减速处理部39。加减速处理部39针对从插补处理部38供给的插补处理的结果,进行用于使加速度平滑地变化的加减速处理。加减速处理部39将加减速处理的处理结果即速度指令发送至轴数据输出部40。
轴数据输出部40将速度指令输出至驱动部90。具体地说,轴数据输出部40将向X轴的速度指令输出至X轴伺服控制部91,将向Z轴的速度指令输出至Z轴伺服控制部92。另外,轴数据输出部40将向主轴的转速指令输出至主轴伺服控制部200。
机器人控制部41基于通过机器人指令解析部371得到的解析的结果,将向机器人60的指令变换为机器人程序。即,机器人控制部41基于从机器人指令解析部371发送来的机器人指令的解析结果,生成机器人控制器50能够解释的机器人指令。机器人控制部41将生成的机器人指令发送至机器人控制器50。机器人控制器50基于从机器人控制部41发送来的机器人指令,生成机器人60的各轴的位置数据,使用位置数据对机器人60进行控制。
在数控装置1X中,在NC程序设定的指令依次被执行。因此,插补处理部38生成用于对工作机械100进行控制的数据而发送至加减速处理部39的次序、及机器人控制部41生成位置数据而发送至机器人控制器50的次序分别与在NC程序设定的指令的次序对应。
仿真控制部80X连接于存储部34、插补处理部38、加减速处理部39、机器人控制部41及画面处理部31。仿真控制部80X与画面处理部31连接,但在图1中,省略了仿真控制部80X和画面处理部31的连接线的记载。在下面的说明中,在对通过仿真控制部80X进行的信息向显示部4的写入进行说明时,有时将经由画面处理部31的情况省略。
仿真控制部80X通过运算对机器人60的动作及工作机械100的动作进行仿真。仿真控制部80X具有机械动作运算部801、机器人动作运算部802和干涉检查部803。
机械动作运算部801对工作机械100所具有的结构要素的移动进行描绘,机器人动作运算部802对机器人60所具有的结构要素的移动进行描绘。仿真控制部80X使描绘结果在显示部4显示。
机械动作运算部801从存储部34将机械模型811及刀具数据813读出,使用机械模型811及刀具数据813对工作机械100的动作进行仿真。
另外,机械动作运算部801从插补处理部38取得工作机械100的各轴的位置数据。机械动作运算部801基于从插补处理部38导入的位置数据,对从机械模型811描绘的工作机械100的结构要素的位置进行修正。
如上所述,机械动作运算部801基于工作机械100的动作仿真用的数据即机械模型811对工作机械100所具有的第1结构要素进行描绘。另外,机械动作运算部801使用在对第1结构要素的位置进行控制时使用的第1位置数据,对第1结构要素进行再描绘。
机器人动作运算部802从存储部34将机器人模型812及刀具数据814读出,使用机器人模型812及刀具数据814对机器人60的动作进行仿真。
另外,机器人动作运算部802从机器人控制部41取得机器人60的各轴的位置数据。机器人动作运算部802基于从机器人控制部41导入的位置数据,对从机器人模型812描绘的机器人60的结构要素的位置进行修正。
如上所述,机器人动作运算部802基于机器人60的动作仿真用的数据即机器人模型812对机器人60所具有的第2结构要素进行描绘,使用在对第2结构要素的位置进行控制时使用的第2位置数据对第2结构要素进行再描绘。
碰撞判断部即干涉检查部803对由机械动作运算部801及机器人动作运算部802描绘出的运转部(结构要素)的描绘数据彼此的重叠进行检查。换言之,干涉检查部803对工作机械100和机器人60是否干涉(碰撞)进行判断。
即,干涉检查部803基于特定定时的第1结构要素的位置及特定定时的第2结构要素的位置,对在特定定时工作机械100和机器人60是否碰撞进行判断。
干涉检查部803如果检测到工作机械100和机器人60干涉,则向插补处理部38及机器人控制部41发送动作中止的信号,并且将针对干涉的警报的显示指示即警报指示信息经由画面处理部31发送至显示部4。由此,干涉检查部803使显示部4对表示干涉的干涉警报进行显示。在警报指示信息可以包含工作机械100和机器人60干涉的位置的信息。在该情况下,显示部4对包含干涉位置的信息的干涉警报进行显示。
工作机械100是NC工作机械,一边通过驱动轴使刀具和加工工件相对地移动,一边通过刀具对加工工件进行加工。工作机械100的坐标系和机器人60的坐标系是不同的坐标系。工作机械100通过正交坐标系被控制,例如在3轴方向使刀具或者加工工件移动。机器人60具有旋转轴,例如在大于或等于4轴的方向进行驱动。机器人60具有多个关节和多个臂部,1个关节使1个臂部在大于或等于1轴的方向进行移动。
此外,实施方式1关于在对工作机械100进行描绘时使用的描绘用的数据是动作仿真用的数据即机械模型811的情况进行说明,但机械动作运算部801也可以使用除了机械模型811以外的描绘用数据对工作机械100进行描绘。
另外,实施方式1关于在对机器人60进行描绘时使用的描绘用的数据是动作仿真用的数据即机器人模型812的情况进行说明,但机器人动作运算部802也可以使用除了机器人模型812以外的描绘用数据对机器人60进行描绘。
机械动作运算部801例如可以使用能够进行讽刺画程度的描绘的粗的描绘用数据而对工作机械100进行描绘。另外,机器人动作运算部802可以使用能够进行讽刺画程度的描绘的粗的描绘用数据而对机器人60进行描绘。
但是,在由干涉检查部803进行工作机械100和机器人60之间的干涉检查时,机械动作运算部801以能够进行准确的动作仿真的程度而使用精度高的仿真用数据(例如,机械模型811)。另外,在由干涉检查部803进行工作机械100和机器人60之间的干涉检查时,机器人动作运算部802以能够进行准确的动作仿真的程度使用精度高的仿真用数据(例如,机器人模型812)。
在这里,对工作机械100和机器人60之间的干涉检查的仿真进行说明。图2是表示由实施方式1所涉及的数控装置进行控制的工作机械及机器人的配置例的图。
工作机械100具有框体14、刀具保持架11a、11b和卡盘机构12a、12b。在工作机械100中,框体14的内部成为对加工工件5a、5b进行加工的加工室。
卡盘机构12a在加工室内对加工工件5a进行保持,卡盘机构12b在加工室内对加工工件5b进行保持。刀具保持架11a对刀具6a进行保持,刀具保持架11b对刀具6b进行保持。刀具6a对由卡盘机构12a保持的加工工件5a进行加工,刀具6b对由卡盘机构12b保持的加工工件5b进行加工。
机器人60配置于工作机械100的附近,相对于工作机械100进行加工工件5a、5b的搬入及搬出。另外,机器人60相对于由工作机械100保持的加工工件5a通过刀具6c进行加工。工作机械100所使用的刀具6a、6b是第1刀具,机器人60所使用的刀具6c是第2刀具。
机器人60具有机器人臂21、机器人手22和基座23。基座23对机器人臂21进行保持。机器人臂21能够在1或者多个轴向移动。机器人手22配置于与基座23相反侧的机器人臂21的前端部。机器人手22抓持刀具6c。
机械模型811是加工室内的卡盘机构12a、12b、加工工件5a、5b、刀具保持架11a、11b及刀具6a、6b的动作仿真用的数据。
在对工作机械100的动作进行仿真时,对工作机械100的整体结构和工作机械100的加工室内的动作进行仿真,描绘出工作机械100的加工室内的状态。相对于加工室内,对卡盘机构12a、12b、加工工件5a、5b、刀具保持架11a、11b及刀具6a、6b的动作进行仿真,描绘出卡盘机构12a、12b、加工工件5a、5b、刀具保持架11a、11b及刀具6a、6b。
机器人模型812是机器人臂21及机器人手22的动作仿真用的数据。在对机器人60的动作进行仿真时,对机器人臂21及机器人手22的动作进行仿真,描绘出机器人臂21及机器人手22的状态。
图3是表示实施方式1所涉及的数控装置描绘出的画面的第1例的图。在图3中,示出了显示部4中的画面显示的例子。在图3所示的画面130中,显示出加工室内的状态。
在图3及后面记述的图4中,将卡盘机构12a、12b的图像作为图像12A、12B进行图示,将加工工件5a、5b的图像作为图像5A、5B进行图示,将刀具保持架11a、11b的图像作为图像11A、11B进行图示,将刀具6a、6b的图像作为图像6A、6B进行图示。另外,在图3中,将机器人臂21的图像作为图像21A进行图示,将机器人手22的图像作为图像22A进行图示,将刀具6c的图像作为图像6C进行图示。
机械动作运算部801从插补处理部38将工作机械100的各轴的位置数据导入。机械动作运算部801基于从插补处理部38导入的位置数据,重新对工作机械100所具有的运转部(工作机械100所具有的结构要素)进行描绘。即,机械动作运算部801基于从插补处理部38导入的位置数据,对从机械模型811描绘的工作机械100的结构要素的位置进行修正。工作机械100所具有的运转部是前述的卡盘机构12a、12b、加工工件5a、5b、刀具保持架11a、11b及刀具6a、6b。机械动作运算部801例如对刀具保持架11a、11b的移动及刀具6a、6b的移动进行描绘。
机器人动作运算部802从机器人控制部41将机器人60的各轴的位置数据导入。机器人动作运算部802基于从机器人控制部41导入的位置数据,重新对机器人60所具有的运转部(机器人60所具有的结构要素)进行描绘。即,机器人动作运算部802基于从机器人控制部41导入的位置数据,对从机器人模型812描绘的机器人60的结构要素的位置进行修正。机器人60所具有的运转部是前述的机器人臂21、机器人手22及刀具6c。机器人动作运算部802例如对机器人臂21的移动及抓持有刀具6c的机器人手22的移动进行描绘。
仿真控制部80X使通过机械动作运算部801得到的描绘结果及通过机器人动作运算部802得到的描绘结果经由画面处理部31在显示部4显示。由显示部4显示的画面的例子是图3所示的画面130。
干涉检查部803对由机械动作运算部801及机器人动作运算部802描绘出的运转部的描绘数据彼此的重叠进行检查。具体地说,干涉检查部803对工作机械100的刀具保持架11a、11b或者刀具6a、6b和机器人臂21或者抓持有刀具6c的机器人手22是否干涉进行判断。机械模型811及机器人模型812是3维数据,因此干涉检查部803相对于工作机械100的3维形状及机器人60的3维形状对干涉进行检查。
图4是表示由实施方式1所涉及的数控装置描绘出的画面的第2例的图。在图4中,示出了检测出碰撞的情况下的显示部4中的画面显示的例子。在图4所示的画面131中,显示出干涉检查部803在机器人手22的图像22A沿箭头D1的方向移动时,在加工室内检测出结构要素彼此之间的干涉的情况下的加工室内的状态。
干涉检查部803如图4所示,如果检测出刀具6b的图像6B和机器人手22的图像22A由于碰撞而重叠,则向插补处理部38及机器人控制部41发送动作中止的信号,并且经由画面处理部31使显示部4对干涉警报进行显示。由显示部4显示的干涉警报画面只要是试图使得用户注意到碰撞的画面即可,可以是任意的画面。干涉警报的显示通过与其他警报相同的画面进行显示。在画面131中,示出机器人60和工作机械100碰撞的位置。
插补处理部38及机器人控制部41如果从干涉检查部803接收到动作中止的信号,则停止运算。在这里,干涉检查部803通过控制运算部2X的预读处理中的运算结果对干涉的有无进行判断。因此,仿真控制部80X在实际上工作机械100和机器人60干涉(碰撞)前,能够停止工作机械100及机器人60的运转部的动作。
另外,工作机械100的坐标系和机器人60的坐标系不同,但在存储部34储存有对工作机械100的坐标系和机器人60的坐标系的位置关系进行定义的参数。因此,干涉检查部803基于存储部34所储存的位置关系,能够对工作机械100的运转部和机器人60的运转部之间的干涉进行检查。
此外,动作仿真用的数据即机械模型811及机器人模型812可以包含没有运转的部分。例如,机械模型811可以包含工作机械100的框体14。另外,机器人模型812可以包含基座23。在该情况下,在机器人模型812包含有机器人臂21、机器人手22、刀具6c及基座23。
在机械模型811包含工作机械100的整体结构的情况下,显示部4对工作机械100的整体进行显示。另外,在机器人模型812包含机器人60的整体结构的情况下,显示部4对机器人60的整体进行显示。
图5是表示由实施方式1所涉及的数控装置描绘出的画面的第3例的图。在图5中,示出了显示部4中的画面显示的例子。图5所示的画面132是显示部4将工作机械100的整体及机器人60的整体显示出的情况下的画面。
在图5中,将工作机械100的图像作为图像100A进行图示,将框体14的图像作为图像14A进行图示,将机器人60的图像作为图像60A进行图示,将基座23的图像作为图像23A进行图示。在机械模型811包含工作机械100的整体结构的情况下,干涉检查部803能够对机器人手22与工作机械100的框体14干涉进行检测。
图6是用于对由实施方式1所涉及的数控装置进行检测的机器人手和工作机械的框体之间的干涉进行说明的图。在这里,对在机械模型811包含工作机械100的整体的情况下由干涉检查部803检测的干涉的第1例进行说明。在图6中,示出了在机器人手22沿箭头D2的方向移动时,机器人手22和工作机械100的框体14发生干涉的状态。
另外,在机械模型811包含工作机械100的整体的情况下,干涉检查部803能够对机器人臂21与在工作机械100的外部配置的机构发生干涉进行检测。
图7是用于对由实施方式1所涉及的数控装置进行检测的机器人臂和在工作机械的外部配置的机构之间的干涉进行说明的图。在这里,对在机械模型811包含工作机械100的整体的情况下由干涉检查部803检测的干涉的第2例进行说明。
装载机30是在工作机械100的外部将输送物7进行输送的装置。机器人手22及机器人臂21在工作机械100的外部也进行动作,因此机器人手22及机器人臂21有时与装载机30或者输送物7碰撞。在图7中,示出了在刀具6c沿箭头D3的方向移动时,机器人臂21和装载机30发生干涉的状态。
接下来,对通过数控装置1X进行的干涉检查的处理顺序进行说明。图8是表示通过实施方式1所涉及的数控装置进行的干涉检查的处理顺序的流程图。
解析处理部37对NC程序进行解析(步骤S10)。即,解析处理部37对包含使工作机械100动作的指令(向驱动部90的指令)及使机器人60动作的指令(向机器人60的指令)在内的NC程序进行解析。具体地说,解析处理部37对向工作机械100的驱动部90的指令即机械驱动指令进行解析,机器人指令解析部371对向机器人60的指令即机器人指令进行解析。
解析处理部37对解析后的指令是机械驱动指令还是机器人指令进行判断。在解析后的指令是机械驱动指令的情况下(步骤S15为Yes),解析处理部37将机械驱动指令的解析结果发送至插补处理部38。另一方面,在解析后的指令是机器人指令的情况下(步骤S15为No),解析处理部37将机器人指令的解析结果发送至机器人控制部41。
插补处理部38使用机械驱动指令的解析结果,进行机械驱动指令的插补处理(步骤S20)。而且,插补处理部38基于插补处理后的机械驱动指令,执行工作机械100的动作即工作机械动作的运算处理(步骤S30)。即,插补处理部38根据插补处理后的机械驱动指令,对工作机械100所具有的驱动部90的各轴位置进行计算。
机器人控制部41使用机器人指令的解析结果,将NC程序之中的向机器人60的指令变换为机器人程序(步骤S40)。另外,机器人控制部41基于机器人程序,执行机器人60的动作即机器人动作的运算处理(步骤S50)。即,机器人控制部41根据机器人程序对机器人60的各轴位置进行计算。具体地说,机器人控制部41进行机器人臂21的位置、机器人手22的位置等的计算。
由插补处理部38计算出的表示驱动部90的各轴位置的位置数据发送至机械动作运算部801。另外,由机器人控制部41计算出的表示机器人60的各轴位置的位置数据发送至机器人动作运算部802。
仿真控制部80X执行描绘处理(步骤S60)。具体地说,机械动作运算部801基于机械模型811对工作机械100的机械结构进行描绘,基于刀具数据813对工作机械100所使用的刀具6a、6b进行描绘。另外,机器人动作运算部802基于机器人模型812对机器人60进行描绘,基于刀具数据814对机器人60所使用的刀具6c进行描绘。
另外,机械动作运算部801从插补处理部38将表示驱动部90的各轴位置的位置数据导入。机械动作运算部801基于导入的位置数据,重新对工作机械100所具有的机构的运转部进行描绘。机械动作运算部801例如对工作机械100的刀具保持架11a、11b的移动及刀具6a、6b的移动进行描绘。
另外,机器人动作运算部802从机器人控制部41将表示机器人60的各轴位置的位置数据导入。机器人动作运算部802基于导入的位置数据,重新对机器人60所具有的机构的运转部进行描绘。机器人动作运算部802例如对机器人臂21的移动及包含刀具6c的机器人手22的移动进行描绘。
通过机械动作运算部801及机器人动作运算部802得到的描绘结果(描绘数据)由仿真控制部80X经由画面处理部31在显示部4进行显示。
干涉检查部803执行机器人60和工作机械100之间的干涉检查处理(步骤S70)。即,干涉检查部803对由机械动作运算部801描绘出的运转部的描绘数据和由机器人动作运算部802描绘出的运转部的描绘数据的重叠进行检查。具体地说,干涉检查部803基于工作机械100的各轴位置和机器人60的各轴位置,对在下面的(1)至(4)所示的结构要素间是否发生干涉进行判断。
(1)基于机械模型811的工作机械100的机械结构
(2)基于刀具数据813的刀具6a、6b
(3)基于机器人模型812的机器人60的结构
(4)基于刀具数据814的刀具6c
干涉检查部803例如对在工作机械100的刀具保持架11a、11b或者刀具6a、6b和机器人60的机器人臂21、机器人手22或者刀具6c之间是否发生干涉进行检查(步骤S80)。
在发生了干涉的情况下(步骤S80为Yes),干涉检查部803执行警报处理(步骤S90)。即,干涉检查部803在向插补处理部38及机器人控制部41发送动作中止的信号的同时,经由画面处理部31使显示部4对干涉警报进行显示。插补处理部38及机器人控制部41如果从干涉检查部803接收到动作中止的信号,则停止运算处理。
在没有发生干涉的情况下(步骤S80为No),仿真控制部80X结束仿真处理。
在本实施方式中,对数控装置1X与工作机械100及机器人60的实际的动作相匹配地进行仿真描绘及干涉检查的情况进行了说明。数控装置1X可以不使工作机械100及机器人60动作而是进行仿真描绘及干涉检查。在该情况下,数控装置1X使用数控装置1X所具有的机器锁止功能。机器锁止功能是进行位置数据的计算,但不向驱动部90及机器人控制器50输出指令的功能。数控装置1X使用机器锁止功能,由此即使不使工作机械100及机器人60实际上动作,也能够进行仿真描绘及干涉检查。
如上所述在实施方式1中,数控装置1X基于在对机械模型811及工作机械100进行控制时使用的位置数据对工作机械100进行描绘,基于在对机器人模型812及机器人60进行控制时使用的位置数据对机器人60进行描绘,基于描绘出的工作机械100及机器人60,判断机器人60和工作机械100是否碰撞。由此,数控装置1X能够对机器人60和工作机械100是否碰撞进行判断。
实施方式2
接下来,使用图9至图12对本发明的实施方式2进行说明。在实施方式2中,在通过仿真检测出干涉的情况下,对工作机械100及机器人60进行控制以使得能够避免干涉,继续工作机械100及机器人60的运转。
图9是表示实施方式2所涉及的数控装置的结构例的图。对于图9的各结构要素之中的实现与图1所示的实施方式1的数控装置1X同一功能的结构要素标注同一标号,省略重复的说明。
数控装置1Y与数控装置1X相比较,取代控制运算部2X而具有控制运算部2Y。控制运算部2Y的存储部34所存储的仿真用数据346包含有机械模型811、机器人模型812、机器人经由点及等待时间上限值。关于机器人经由点及等待时间上限值在后面记述。另外,控制运算部2Y与控制运算部2X相比较,取代仿真控制部80X而具有仿真控制部80Y。
仿真控制部80Y与仿真控制部80X同样地,通过运算对机器人60的动作及工作机械100的动作进行仿真。仿真控制部80Y具有机械动作运算部801、机器人动作运算部802、干涉检查部803和干涉避免处理部804。此外,在图9中,省略了仿真控制部80Y从存储部34预先取得而储存的机械模型811、机器人模型812及刀具数据813、814的图示。
干涉避免处理部804在判断为工作机械100和机器人60干涉的情况下,为了避免工作机械100和机器人60之间的干涉,对向机器人60的指令等进行变更。
干涉避免处理部804在判断为工作机械100和机器人60干涉的情况下,判断是否能够通过对机器人60的姿态进行变更而避免干涉。在通过对机器人60的姿态进行变更而能够避免干涉的情况下,干涉避免处理部804将向机器人60的移动指令即机器人移动指令置换为对机器人60的姿态进行变更后的机器人移动指令。由此,干涉避免处理部804避免机器人60和工作机械100之间的干涉。
在无法通过对机器人60的姿态进行变更而避免干涉的情况下,干涉避免处理部804判断是否能够插入以机器人经由点为目标位置的机器人移动指令而避免干涉。机器人经由点示出了能够使机器人60经过的位置。
在能够通过使用机器人经由点而避免干涉的情况下,干涉避免处理部804在紧挨着使工作机械100和机器人60干涉的机器人移动指令(指令)的之前,插入不使与工作机械100之间的干涉发生的机器人移动指令,由此对机器人60的移动路径进行变更。由此,干涉避免处理部804避免机器人60和工作机械100之间的干涉。
此外,在本实施方式中,关于在紧挨着使干涉发生的机器人移动指令的之前插入用于避免干涉的指令的情况进行说明,但用于避免干涉的指令只要插入至使干涉发生的机器人移动指令之前即可。
在即使使用机器人经由点也无法避免干涉的情况下,干涉避免处理部804如果发生干涉的结构要素(干涉对象)是刀具6a、6b等工作机械100的可动部,则判断是否能够通过将机器人60的移动暂时地停止而避免干涉。具体地说,干涉避免处理部804从存储部34取得等待时间上限值。等待时间上限值是能够使机器人60停止的时间的上限值。即,机器人60如果是小于或等于等待时间上限值的时间,则能够等待。干涉避免处理部804判断是否能够通过使小于或等于等待时间上限值的特定时间期间的机器人60停止而避免干涉。
在通过以小于或等于等待时间上限值的特定时间使机器人60等待而能够避免干涉的情况下,干涉避免处理部804在紧挨着使机器人60和工作机械100干涉的机器人移动指令的之前插入等待(暂停)指令。由此,干涉避免处理部804避免机器人60和工作机械100之间的干涉。
干涉避免处理部804通过执行对机器人60的姿态进行变更、对机器人60的路径进行变更及插入等待指令的至少1个处理而避免机器人60和工作机械100之间的干涉。即,干涉避免处理部804可以将对机器人60的姿态进行变更、对机器人60的路径进行变更及插入等待指令进行组合而避免机器人60和工作机械100之间的干涉。
接下来,对进行干涉避免时的机器人60的动作例进行说明。图10是用于对由实施方式2所涉及的数控装置执行的干涉避免的第1动作例进行说明的图。在干涉避免的第1动作例中,干涉避免处理部804如果检测到干涉,则使机器人60姿态变更,由此避免干涉。在图10中示出了发生图7所示的干涉的情况下的干涉避免的动作。在图10中,示出了使刀具6c沿箭头D3的方向移动,并对机器人60的姿态进行了变更的情况。
干涉避免处理部804在进行姿态变更的情况下,置换机器人移动指令以使得机器人60所抓持的刀具6c的前端位置及姿态在姿态的变更前后不变化。干涉避免处理部804判断是否能够通过该机器人移动指令的置换而避免干涉。在能够避免的情况下,干涉避免处理部804按照能够避免干涉的机器人移动指令使机器人60动作。
在发生图7所示的干涉的情况下,干涉避免处理部804置换机器人移动指令,以使得在姿态的变更前后不变更刀具6c的前端位置及姿态,而是特定的机器人臂21的姿态变化。在图10中,示出了使机器人臂21之中的与基座23接合的第1机器人臂沿箭头D4a的方向移动,使与第1机器人臂接合的第2机器人臂沿箭头D4b的方向移动,由此对机器人60的姿态进行了变更的情况。
图11是用于对由实施方式2所涉及的数控装置执行的干涉避免的第2动作例进行说明的图。在干涉避免的第2动作例中,干涉避免处理部804如果检测到干涉,则使机器人60的移动路径变更,由此避免干涉。在图11中,示出了发生图6所示的干涉的情况下的干涉避免的动作。在图11中,示出了以使刀具6c沿箭头D5的方向移动,然后使刀具6c沿箭头D6的方向移动的方式对机器人60的移动路径进行了变更的情况。
干涉避免处理部804从存储部34取得机器人经由点P1。干涉避免处理部804判断是否能够在紧挨着发生干涉的机器人移动指令的之前插入将机器人经由点P1设为干涉对象(在图6中为刀具6c)的目标位置(经由位置)的机器人移动指令而避免干涉。
在能够避免干涉的情况下,干涉避免处理部804在紧挨着使机器人60和工作机械100之间的干涉发生的机器人移动指令的之前插入经由机器人经由点P1的机器人移动指令,由此对机器人60所具有的结构要素的移动路径进行变更。由此,干涉避免处理部804避免机器人60和工作机械100之间的干涉。此外,存储部34可以存储有多个机器人经由点P1。在该情况下,干涉避免处理部804可以使用多个机器人经由点P1而应用多个避免路径。
接下来,对通过数控装置1Y进行的干涉检查的处理顺序进行说明。图12是表示通过实施方式2所涉及的数控装置进行的干涉检查的处理顺序的流程图。此外,在图12的说明中,关于与通过图8的流程图所说明的处理相同的处理,省略其说明。
数控装置1Y从步骤S10至S80为止执行与数控装置1X相同的处理。在干涉检查处理的结果为不发生干涉的情况下(步骤S80为No),仿真控制部80Y结束仿真处理。
在干涉检查处理的结果为发生干涉的情况下(步骤S80为Yes),干涉避免处理部804判断是否能够通过进行机器人60的姿态变更而避免干涉(步骤S100)。
如果机器人60所抓持的刀具6c的前端位置及姿态在机器人移动指令的变换前后不同等,则机器人60无法实施作为目的的加工。因此,干涉避免处理部804对使得用于避免干涉的指令中的刀具6c的前端位置及姿态与发生干涉的指令变得相同那样的机器人60的各轴位置(构成机器人60的各轴的位置)的模式进行计算。
干涉避免处理部804在机器人移动指令的变换前后不对刀具6c的前端位置及姿态进行变更,判断是否能够计算出能够避免干涉的轴位置的模式。即,干涉避免处理部804在应用所导出的机器人60的各轴位置的情况下,判断是否能够避免干涉。
干涉避免处理部804在判断为通过进行机器人60的姿态变更而能够避免干涉的情况下(步骤S100为Yes),对机器人60的姿态进行变更(步骤S110)。具体地说,干涉避免处理部804将使干涉发生的机器人移动指令置换为对机器人60的姿态进行变更后的机器人移动指令。由此,干涉避免处理部804将使干涉发生的机器人指令变更为没有发生干涉的姿态的机器人指令。
如上所述,干涉避免处理部804在使干涉发生的机器人移动指令中对机器人60的姿态进行变更,由此在能够避免干涉的情况下,执行机器人60的姿态变更处理。由此,干涉避免处理部804将使干涉发生的机器人移动指令置换为能够避免干涉的机器人移动指令而使机器人60动作。
干涉避免处理部804在判断为即使进行机器人60的姿态变更也无法避免干涉的情况下(步骤S100为No),判断是否能够通过进行机器人60的路径变更而避免干涉(步骤S120)。即,干涉避免处理部804如果在紧挨着干涉发生的机器人移动指令的之前插入路径变更指令,则判断是否能够避免干涉。具体地说,干涉避免处理部804在机器人60经过预先设定的机器人经由点的情况下,判断是否能够避免干涉。此时,干涉避免处理部804设为能够设定任意的数量(1或者多个)的机器人经由点,在插入经过各个机器人经由点的机器人移动指令的情况下,判断是否能够避免干涉。
干涉避免处理部804在判断为通过进行机器人60的路径变更而能够避免干涉的情况下(步骤S120为Yes),对机器人60的移动路径进行变更(步骤S130)。具体地说,干涉避免处理部804在紧挨着干涉发生的机器人移动指令的之前,插入不使干涉发生的移动指令。换言之,干涉避免处理部804在紧挨着干涉发生的机器人移动指令的之前,插入以能够避免干涉的机器人经由点为目标位置的机器人移动指令(路径变更指令)。在能够避免干涉的机器人经由点为多个的情况下,干涉避免处理部804将以移动距离最短即能够通过最短时间移动的机器人经由点为目标位置的机器人移动指令插入至紧挨着干涉发生的机器人移动指令的之前。
干涉避免处理部804在判断为即使进行机器人60的路径变更也无法避免干涉的情况下(步骤S120为No),判断是否能够通过机器人60的等待而避免干涉(步骤S140)。具体地说,干涉避免处理部804关于机器人60发生干涉的干涉对象是可动部,且使机器人60在等待时间上限值内的期间停止,由此判断是否能够避免干涉。即,干涉避免处理部804判断机器人60发生干涉的对象是否是工作机械100的刀具6a、6b这样的可动部。在干涉对象为可动部的情况下,干涉避免处理部804在等待时间上限值范围以内的期间使机器人60停止,由此判断刀具6a、6b等的可动部移动,是否能够转为能够避免干涉的状态。
干涉避免处理部804在判断为通过机器人60的等待能够避免干涉的情况下(步骤S140为Yes),执行向机器人60的等待处理。具体地说,干涉避免处理部804在紧挨着干涉发生的机器人指令的之前,插入能够避免干涉的时间对应量的等待指令,即用于使机器人60停止的等待指令(步骤S150)。
干涉避免处理部804如果判断为无法通过机器人60的等待而避免干涉(步骤S140为No),则干涉检查部803执行警报处理(步骤S160)。即,干涉检查部803向插补处理部38及机器人控制部41发送动作中止的信号,并且经由画面处理部31使显示部4对干涉警报进行显示。插补处理部38及机器人控制部41如果从干涉检查部803接收到动作中止的信号,则停止运算处理。
如上所述根据实施方式2,数控装置1Y在干涉发生的情况下,执行机器人60的姿态变更、机器人60的移动路径的变更或者机器人60的等待指令的插入,因此能够避免机器人60和工作机械100之间的干涉。
实施方式3
接下来,使用图13至图17对本发明的实施方式3进行说明。在实施方式3中,对加工工件5a、5b的加工中的形状进行仿真(以下,称为工件仿真)。
图13是表示实施方式3所涉及的数控装置的结构例的图。对于图13的各结构要素之中的实现与数控装置1X、1Y同一功能的结构要素标注同一标号,省略重复的说明。
数控装置1Z与数控装置1Y相比较,取代控制运算部2Y而具有控制运算部2Z。控制运算部2Z的存储部34所存储的仿真用数据346包含有机械模型811、机器人模型812、机器人经由点、等待时间上限值及工件数据815。工件数据815是加工工件5a、5b的信息,包含有加工工件5a、5b的加工开始时的形状及装载位置等信息。
控制运算部2Z与控制运算部2Y相比较,取代仿真控制部80Y而具有仿真控制部80Z。
仿真控制部80Z通过运算对加工工件5a、5b的形状的变化进行仿真。仿真控制部80Z具有机械动作运算部801、机器人动作运算部802、干涉检查部803和干涉避免处理部804。另外,本实施方式的仿真控制部80Z具有移动轨迹运算部805、工件位置运算部806及工件形状运算部807。此外,在图13中,将仿真控制部80Z从存储部34取得的机械模型811、机器人模型812及刀具数据813、814的图示省略。
移动轨迹运算部805从机械动作运算部801取得工作机械100的各轴的移动数据,从机器人动作运算部802取得机器人60的各轴的移动数据。移动轨迹运算部805基于工作机械100的各轴的移动数据及机器人60的各轴的移动数据,对刀具6a~6c的移动轨迹进行运算。刀具6a或者刀具6b的移动轨迹是第1移动轨迹,刀具6c的移动轨迹是第2移动轨迹。
工件位置运算部806从存储部34取得工件数据815。工件位置运算部806对机器人60的坐标系上的加工工件5a、5b的位置进行计算。具体地说,工件位置运算部806基于工件数据815、机械模型811和机器人模型812,对加工工件5a、5b的位置即工件位置进行计算。
工件形状运算部807基于刀具6a~6c的移动轨迹和加工工件5a、5b的位置,对加工工件5a、5b的加工中的形状(形状的时间性的变化)进行计算。另外,工件形状运算部807使加工工件5a、5b的加工中的形状经由画面处理部31在显示部4显示。
在这里,对数控装置1Z使显示部4的画面显示的信息进行说明。图14是用于对由实施方式3所涉及的数控装置进行工件仿真时的机器人及工作机械的动作进行说明的图。图15是表示图14所示的工件仿真被执行时的画面显示的例子的图。
在图14中,示出了工作机械100在通过第1系统Q1及第2系统Q2执行车削加工后,机器人60通过第3系统Q3执行由机器人控制实现的倒角加工的情形。第1系统Q1是包含刀具6a的系统,第2系统Q2是包含刀具6b的系统,第3系统Q3是包含刀具6c的系统。包含刀具6a的第1系统Q1对加工工件5a进行加工,包含刀具6b的第2系统Q2对加工工件5b进行加工。另外,包含刀具6c的第3系统Q3对加工工件5a进行加工。加工工件5a如果由包含刀具6a的第1系统Q1加工至倒角位置P2为止,则在通过第1系统Q1进行的加工继续的同时,通过包含刀具6c的第3系统Q3在倒角位置P2进行倒角加工。
数控装置1Z所具有的显示部4对加工中途的加工工件5a、5b进行显示,并且对工作机械100及机器人60的刀具6a~6c进行显示。在图15所示的画面133中,示出了在通过第1系统Q1执行车削加工时,对加工中途的加工工件5a和工作机械100的刀具6a进行显示的情况。在图15所示的画面134中,示出了之后在执行第1系统Q1中的车削加工及第3系统Q3中的倒角加工时,对加工中途的加工工件5a、工作机械100的刀具6a和机器人60的刀具6c进行显示的情况。即,在画面133中,对通过工作机械100的第1系统Q1进行的车削加工阶段的仿真结果进行显示,在画面134中,对通过机器人60的第3系统Q3进行的倒角工序阶段的仿真结果进行显示。
在显示部4所显示的画面(工件仿真画面)中能够实现画面的任意部位的扩大及缩小,能够对加工后的工件形状的特定部位的详细形状进行确认。图16是表示将图15所示的倒角位置处的加工工件的形状放大显示的例子的图。在图16的画面135中,将加工工件5a的倒角位置P2的图像放大显示。此外,在图16中,对加工工件5a的部位附带阴影线。
接下来,对通过数控装置1Z进行的工件仿真的处理顺序进行说明。图17是表示通过实施方式3所涉及的数控装置进行的工件仿真的处理顺序的流程图。在图17中,对第1系统Q1及第3系统Q3中的针对加工工件5a的工件仿真进行说明。此外,在图17的说明中,关于与图8的流程图所说明的处理相同的处理,省略其说明。
如果开始工件仿真,则数控装置1Z通过第1系统Q1执行由工作机械100实施的车削加工,通过第3系统Q3执行由机器人60实施的倒角加工。此外,设为第1系统Q1的处理及第3系统Q3的处理并列地被实施。
在第1系统Q1的车削加工步骤中,解析处理部37对NC程序进行解析(步骤S10A)。即,解析处理部37对向工作机械100的驱动部90的指令即机械驱动指令进行解析。
插补处理部38使用机械驱动指令的解析结果,进行机械驱动指令的插补处理(步骤S20)。而且,插补处理部38基于插补处理后的机械驱动指令,执行工作机械100的动作即工作机械动作的运算处理(步骤S30)。在通过插补处理部38的运算处理进行的机械动作中,包含有工作机械100所具有的驱动部90的各轴位置的信息。
移动轨迹运算部805执行刀具6a的移动轨迹即第1刀具移动轨迹的运算处理(步骤S200)。具体地说,移动轨迹运算部805基于工作机械100所具有的驱动部90的各轴位置、机械模型811和刀具数据813,对刀具6a的移动轨迹进行计算。
在第3系统Q3的倒角加工步骤中,解析处理部37的机器人指令解析部371对NC程序进行解析(步骤S10B)。即,机器人指令解析部371对向机器人60的指令即机器人指令进行解析。
机器人控制部41使用向机器人60的指令的解析结果,将向机器人60的NC程序变换为机器人程序(步骤S40)。另外,机器人控制部41基于机器人程序,执行机器人60的动作即机器人动作的运算处理(步骤S50)。在通过机器人控制部41的运算处理进行的机器人动作中,包含有机器人60的各轴位置的信息。
移动轨迹运算部805执行刀具6c的移动轨迹即第2刀具移动轨迹的运算处理(步骤S210)。具体地说,移动轨迹运算部805基于机器人60的各轴位置、机器人模型812和刀具数据814,对刀具6c的移动轨迹进行计算。
移动轨迹运算部805在计算出刀具6a、6c的移动轨迹后,工件位置运算部806基于工件数据815、机械模型811和机器人模型812,执行加工工件5a的位置即工件位置的运算处理(步骤S220)。即,工件位置运算部806通过工件位置的运算处理对加工工件5a存在于工作机械100的加工室内的哪个位置进行计算。
工件形状运算部807执行工件形状的运算处理(步骤S230)。具体地说,工件形状运算部807基于刀具6a~6c的移动轨迹和加工工件5a的位置,对加工工件5a的加工中的形状进行计算。即,工件形状运算部807基于通过步骤S200、S210计算出的刀具6a、6c的移动轨迹和通过步骤S220计算出的工件位置,对加工至特定区域为止后的加工工件5a的形状进行计算。换言之,工件形状运算部807对工件形状的时间性的变化进行计算。此时,工件形状运算部807针对加工工件5a,对除了刀具6a、6c所经过的部位以外的形状不断进行运算。
仿真控制部80Z执行描绘处理(步骤S240)。具体地说,工件形状运算部807对计算出的加工工件5a的加工中的形状进行描绘,将描绘出的数据发送至画面处理部31。由此,显示部4对加工工件5a的加工中的形状进行显示。
仿真控制部80Z针对加工工件5b,也能够与加工工件5a同样地对加工中的形状进行计算。仿真控制部80Z使用计算出的加工工件5a、5b,可以对机器人60和加工工件5a、5b之间的干涉进行检查,也可以避免干涉。另外,仿真控制部80Z使用计算出的加工工件5a、5b,可以对工作机械100和加工工件5a、5b之间的干涉进行检查,也可以避免干涉。
如上所述根据实施方式3,数控装置1Z对刀具6a~6c的移动轨迹进行计算,基于刀具6a~6c的移动轨迹对加工工件5a、5b的形状进行计算,因此能够对加工中的加工工件5a、5b的形状进行计算。
另外,数控装置1Z能够对加工中的加工工件5a、5b的形状进行计算,因此能够准确地执行加工工件5a、5b和机器人60之间的干涉的检查及干涉的避免。另外,数控装置1Z能够对加工中的加工工件5a、5b的形状进行计算,因此能够准确地执行加工工件5a、5b和工作机械100之间的干涉的检查及干涉的避免。
实施方式4
接下来,使用图18至图22对本发明的实施方式4进行说明。在实施方式4中,相对于向工作机械100或者机器人60的手动操作,对在工作机械100和机器人60之间是否发生干涉进行判断,在发生干涉的情况下,执行干涉避免的动作。
图18是表示实施方式4所涉及的数控装置的结构例的图。对于图18的各结构要素之中的实现与数控装置1X、1Y、1Z同一功能的结构要素标注同一标号,省略重复的说明。
数控装置1L与数控装置1Y相比较,取代控制运算部2Y而具有控制运算部2L。控制运算部2L与控制运算部2Y相比较,取代仿真控制部80Y而具有干涉避免控制部81。另外,控制运算部2L与控制运算部2Y相比较,取代机器人控制部41而具有机器人控制部41L。
控制运算部2L的存储部34所存储的仿真用数据346,包含有机械模型811和机器人模型812。
干涉避免控制部81在仿真控制部80Y所具有的功能的基础上,还具有在被手动操作时执行用于避免干涉的处理的功能。干涉避免控制部81相对于向工作机械100或者机器人60的手动操作,对在工作机械100和机器人60之间是否发生干涉进行判断,在发生干涉的情况下,为了避免工作机械100和机器人60之间的干涉,对向机器人60的指令等进行变更。干涉避免控制部81具有机械动作运算部851、机器人动作运算部852、干涉检查部853和干涉避免处理部854。
机械动作运算部851从存储部34取得机械模型811及刀具数据813。另外,机器人动作运算部852从存储部34取得机器人模型812及刀具数据814。此外,在图18中,将干涉避免控制部81预先从存储部34取得并储存的机械模型811、机器人模型812及刀具数据813、814的图示省略。
机械动作运算部851在机械动作运算部801所具有的功能的基础上,还具有对被手动操作时的工作机械100的位置及形状进行计算的功能。机械动作运算部851在手动操作所涉及的移动对象是工作机械100的结构要素的情况下,基于移动对象、移动量、机械模型811及刀具数据813,对工作机械100移动后的位置及形状进行计算。机械动作运算部851将计算结果即工作机械100移动后的位置及形状发送至干涉检查部853。
机器人动作运算部852在机器人动作运算部802所具有的功能的基础上,还具有对被手动操作时的机器人60的位置及形状进行计算的功能。机器人动作运算部852在手动操作所涉及的移动对象为机器人60的结构要素的情况下,基于移动对象、移动量、机器人模型812及刀具数据814,对机器人60移动后的位置及形状进行计算。机器人动作运算部852将计算结果即机器人60移动后的位置及形状发送至干涉检查部853。
干涉检查部853基于手动操作所涉及的移动对象移动后的位置及形状,对工作机械100和机器人60是否干涉进行判断。干涉避免处理部854在通过对机器人60的姿态进行变更而能够避免干涉的情况下,生成对机器人60的姿态进行变更后的移动数据,发送至机器人控制部41L。
数控装置1L的输入操作部3具有手动手柄55、点动按钮57和轴选择开关59。另外,数控装置1L的机器人控制部41L具有机器人手动操作部415。另外,数控装置1L的插补处理部38具有手动可否判断部382M。
手动手柄55是用于对机器人60的轴向的移动量进行操作的手柄。手动手柄55是手动脉冲发生器。手动手柄55将与操作相对应的移动量发送至控制运算部2L。该移动量经由存储部34发送至机器人手动操作部415。
此外,手动手柄55可以在对工作机械100的轴向的移动量进行操作时被使用。即,用户可以通过1个手动手柄55进行机器人60的操作及工作机械100的操作。在该情况下,在接受来自用户的操作的操作面板(后面记述的操作面板53)配置有用于对手动手柄55所涉及的手动操作对象进行切换的切换开关(后面记述的切换开关15)。
点动按钮57是用于对机器人60的轴向的移动量进行点动操作的按钮。点动按钮57将与操作相对应的操作信息发送至控制运算部2L。该操作信息是与移动量相对应的信息,经由存储部34发送至机器人手动操作部415。
轴选择开关59是对相对于机器人60实施手动操作的轴进行选择的开关。轴选择开关59的例子是在工作机械100中的坐标系对X轴进行指定的开关、对Y轴进行指定的开关、对Z轴进行指定的开关、对A轴进行指定的开关、对B轴进行指定的开关、对C轴进行指定的开关。轴选择开关59将表示被按下或者触摸的轴是哪个轴的轴信息发送至控制运算部2L。该轴信息经由存储部34发送至机器人手动操作部415。
在这里,对具有切换开关15的操作面板53的结构进行说明。图19是表示实施方式4所涉及的数控装置所具有的操作面板的结构例的图。如图19所示,操作面板53配置于工作机械100的前表面等。另外,在工作机械100的前表面配置有显示部4及手动手柄55。此外,在图19中,将点动按钮57及轴选择开关59的图示省略。
在操作面板53配置有用于对手动手柄55所涉及的手动操作对象进行切换的切换开关15。切换开关15具有用于将手动操作对象切换为机器人60的开关和用于将手动操作对象切换为工作机械100的开关。如果切换开关15被操作,则切换开关15将与操作相对应的手动操作对象发送至控制运算部2L的解析处理部37。
在机器人60或者工作机械100具有多个能够手动操作的结构要素的情况下,解析处理部37基于从输入操作部3发送来的信息,对与手动操作相对应的移动对象是机器人60的结构要素还是工作机械100的结构要素进行解析。在该情况下,用户针对输入操作部3,执行对要手动操作的机器人60的结构要素进行指定的操作,或者对要手动操作的工作机械100的结构要素进行指定的操作。
机器人手动操作部415具有手动可否判断部421R及移动数据发送部422。手动可否判断部421R基于控制系统的状态(以下,称为系统状态),对机器人60的手动操作的可否进行判断。即,手动可否判断部421R基于机器人60、数控装置1L及工作机械100的至少1个状态,对机器人60的手动操作的可否进行判断。在可否的判断时,参照数控装置1L具有的各种数据。手动可否判断部421R例如在紧急停止状态的情况下、与机器人控制器50的通信未连接的情况下、或者用户侵入机器人60周边的禁止侵入区域的情况下,判断为不可手动操作。
移动数据发送部422基于通过轴选择开关59选择出的轴信息和由解析处理部37解析后的移动量而生成移动指令,将移动指令发送至机器人控制器50。由此,数控装置1L经由机器人控制器50能够对机器人60进行操作。解析处理部37解析后的移动量与从点动按钮57或者手动手柄55发送来的信息相对应。即,解析处理部37解析后的移动量与向点动按钮57或者手动手柄55的手动操作相对应。
手动可否判断部382M基于系统状态,对工作机械100的手动操作的可否进行判断。即,手动可否判断部382M基于机器人60、数控装置1L及工作机械100中的至少1个状态,对工作机械100的手动操作的可否进行判断。在可否的判断时,参照数控装置1L具有的各种数据。手动可否判断部382M例如在紧急停止状态的情况下或者用户侵入工作机械100周边的禁止侵入区域的情况下,判断为不可手动操作。
在这里,对进行了手动操作的情况下的干涉检查处理进行说明。本实施方式的解析处理部37对通过切换开关15切换后的手动操作对象(移动对象)和与向点动按钮57的操作相对应的操作信息进行接收。解析处理部37在移动对象为机器人60的情况下,基于接收到的操作信息对移动量进行计算,将移动量发送至机器人手动操作部415。另外,解析处理部37在移动对象为工作机械100的情况下,基于接收到的操作信息对移动量进行计算,将移动量发送至插补处理部38。
机器人手动操作部415如果接收到移动量,则将移动量发送至机器人动作运算部852。另外,插补处理部38如果接收到移动量,则将移动量发送至机械动作运算部851。
机器人动作运算部852如果从机器人手动操作部415接收到移动量,则判断为移动对象是机器人60,基于移动量对机器人60移动后的位置及形状进行计算。机器人动作运算部852将计算结果即机器人60移动后的位置及形状发送至干涉检查部853。
机械动作运算部851如果从插补处理部38接收到移动量,则判断为移动对象是工作机械100,基于移动量对工作机械100移动后的位置及形状进行计算。机械动作运算部851将计算结果即工作机械100移动后的位置及形状发送至干涉检查部853。
干涉检查部853如果从机器人动作运算部852接收到移动后的机器人60的位置及形状,则基于移动后的机器人60的位置及形状和工作机械100的位置及形状,对干涉进行检查。在该情况下,干涉检查部853将干涉的有无发送至手动可否判断部421R。
干涉检查部853如果从机械动作运算部851接收到移动后的工作机械100的位置及形状,则基于移动后的工作机械100的位置及形状和机器人60的位置及形状,对干涉进行检查。在该情况下,干涉检查部853将干涉的有无发送至手动可否判断部382M。
手动可否判断部421R在存在干涉的情况下,判断为不可手动操作,禁止通过移动数据发送部422进行的向机器人控制器50的数据发送。手动可否判断部421R在没有干涉的情况下,基于系统状态,判断是否许可通过移动数据发送部422进行的向机器人控制器50的数据发送。
手动可否判断部382M在存在干涉的情况下,判断为不可手动操作,禁止通过插补处理部38进行的向加减速处理部39的数据发送。手动可否判断部382M在没有干涉的情况下,基于系统状态,判断是否许可通过插补处理部38进行的向加减速处理部39的数据发送。干涉检查部853在存在干涉的情况下,可以经由画面处理部31在显示部4对干涉警报进行显示。
图20是表示由实施方式4所涉及的数控装置所具有的显示部进行显示的干涉警报的例子的图。显示部4作为干涉警报而将“发生通过手动操作引起的干涉,因此不可移动”这样的消息在画面上进行显示。
另外,在手动操作是向机器人60的手动操作的情况下,干涉避免处理部854有时能够通过改变机器人60的姿态而避免干涉。例如,在用户通过轴选择开关59对机器人60的直线轴进行指定而使直线轴移动的情况下,有时根据机器人60的姿态而能够避免干涉。因此,在通过干涉检查部853判断为存在干涉的情况下,干涉避免处理部854判断是否能够通过对姿态进行变更而避免干涉。在能够避免干涉的情况下,干涉避免处理部854对手动可否判断部421R通知能够手动操作,并且将对姿态进行变更后的移动数据发送至手动可否判断部421R。干涉避免处理部854通过与干涉避免处理部804相同的方法,对将机器人60的姿态变更的移动数据进行计算。
接下来,对数控装置1L所涉及的干涉避免的方法进行说明。图21是用于对由实施方式4所涉及的数控装置执行的干涉避免的动作例进行说明的图。数控装置1L例如通过机器人60的姿态变更而避免干涉。图21的左侧所示的机器人60示出机器人臂21与输送物7发生了碰撞的状态,图21的右侧所示的机器人60示出对机器人60的轴的角度进行了变更以使得机器人臂21没有与输送物7碰撞的状态。
在用户发出使机器人60手动地相对于正交坐标系的轴向移动的指令时,干涉避免处理部854在判断为通过下一个指令而发生干涉的情况下,干涉避免处理部854对是否能够通过改变姿态而避免干涉进行检查。具体地说,干涉避免处理部854以机器人手22的前端位置及姿态在姿态变更的前后不改变的方式对机器人60的轴A1、A2、A3的角度进行计算,对在计算出的角度的姿态下是否发生干涉进行检查。
机器人60的轴之中的与基座23接合的第1机器人臂的轴是轴A1,与第1机器人臂接合的第2机器人臂的轴是轴A2,与第2机器人臂接合的第3机器人臂的轴是轴A3。
在图21中,示出了轴A1、A2的角度变更后的情况。干涉避免处理部854不变更轴A3的角度,由此设为将机器人手22的前端位置及姿态在姿态变更的前后不改变,并对能够避免干涉的姿态进行计算。
在发生干涉的情况下,干涉避免处理部854反复进行对轴A1、A2、A3的角度进行再次计算的处理和对是否发生干涉进行检查的处理。仅在能够对不干涉的轴A1、A2、A3的角度进行计算的情况下能够避免干涉。
接下来,对通过数控装置1L进行的干涉检查及干涉避免的处理顺序进行说明。图22是表示通过实施方式4所涉及的数控装置进行的干涉检查及干涉避免的处理顺序的流程图。
数控装置1L在进行手动操作时,在相对于工作机械100或者机器人60执行与手动操作相对应的实际的动作前,对干涉的有无进行判断,在没有干涉的情况下,相对于工作机械100或者机器人60执行与手动操作相对应的实际的动作。
解析处理部37对手动操作进行解析(步骤S310)。具体地说,解析处理部37基于从切换开关15发送来的信息,对与手动操作相对应的移动对象是机器人60还是工作机械100进行解析。另外,解析处理部37基于从输入操作部3发送来的信息,对与手动操作相对应的移动对象是机器人60的结构要素还是工作机械100的结构要素进行解析。另外,解析处理部37对从点动按钮57或者手动手柄55发送来的操作信息进行解析。
解析处理部37对移动对象是否是工作机械100进行判断。即,解析处理部37对手动操作是否与工作机械100的结构要素的移动相对应进行判断(步骤S320)。在移动对象为工作机械100的结构要素的情况下(步骤S320为Yes),解析处理部37经由存储部34及插补处理部38,向机械动作运算部851发送移动对象及移动量。机械动作运算部851基于移动对象、移动量、机械模型811及刀具数据813,对与工作机械100的手动操作相对应的移动后的位置及形状进行计算。
干涉检查部853对与机器人60之间的干涉进行检查(步骤S330)。即,干涉检查部853在通过手动操作而移动的情况下的工作机械100是否与机器人60干涉进行判断。具体地说,干涉检查部853基于移动后的工作机械100的位置及形状和机器人60的位置及形状,对工作机械100是否与机器人60干涉进行判断。此时,干涉检查部853基于机器人模型812及刀具数据814对机器人60的位置及形状进行计算。另外,干涉检查部853基于机械模型811、刀具数据813、移动对象及移动量对移动后的工作机械100的位置及形状进行计算。
干涉检查部853在判断为发生干涉的情况下(步骤S340为Yes),向手动可否判断部382M通知工作机械100的移动不可(步骤S360)。另外,干涉检查部853使工作机械100所具有的轴停止,使干涉警报在显示部4显示。
干涉检查部853在判断为没有干涉的情况下(步骤S340为No),向手动可否判断部382M通知工作机械100的能够移动(步骤S350)。在该情况下,插补处理部38如果在系统状态没有异常,则基于移动对象及移动量,生成用于对工作机械100进行控制的数据,发送至加减速处理部39。由此,工作机械100按照手动操作被控制。
在移动对象为机器人60的结构要素的情况下(步骤S320为No),解析处理部37经由存储部34及机器人手动操作部415,向机器人动作运算部852发送移动对象及移动量。机器人动作运算部852基于移动对象、移动量、机器人模型812及刀具数据814,对机器人60移动后的位置及形状进行计算。
干涉检查部853对与工作机械100之间的干涉进行检查(步骤S370)。即,干涉检查部853对通过手动操作而移动的情况下的机器人60是否与工作机械100干涉进行判断。具体地说,干涉检查部853基于移动后的机器人60的位置及形状和工作机械100的位置及形状,对机器人60是否与工作机械100干涉进行判断。
干涉检查部853在判断为发生干涉的情况下(步骤S380为Yes),向干涉避免处理部854通知机器人60的移动不可。干涉避免处理部854对通过机器人60的姿态变更实现的干涉避免动作进行计算(步骤S390)。干涉检查部853对是否能够避免干涉进行判断(步骤S400)。在干涉检查部853判断为无法避免干涉的情况下(步骤S400为No),干涉检查部853向手动可否判断部421R通知机器人60的移动不可(步骤S410)。另外,干涉检查部853使机器人60所具有的轴停止,使干涉警报在显示部4显示。
在步骤S400的处理中,在干涉检查部853判断为能够避免干涉的情况下(步骤S400为Yes),干涉检查部853向手动可否判断部421R通知机器人60的能够移动(步骤S420)。另外,干涉检查部853向移动数据发送部422发送干涉避免的动作指令(步骤S430)。干涉避免的动作指令包含有向能够避免干涉的机器人60的移动数据。移动数据发送部422基于干涉避免的动作指令,向机器人60发送移动数据。由此,机器人60按照手动操作被控制。
在步骤S380的处理中,干涉检查部853在判断为没有干涉的情况下(步骤S380为No),向手动可否判断部421R通知机器人60的能够移动(步骤S440)。机器人控制部41使用移动对象及移动量,生成用于对机器人60进行控制的数据,发送至机器人控制器50。由此,机器人60由数控装置1L进行控制。
如上所述根据实施方式4,相对于向工作机械100或者机器人60的手动操作,判断在工作机械100和机器人60之间是否发生干涉,在发生干涉的情况下,执行干涉避免的动作,因此能够避免手动操作时的干涉。
实施方式5
接下来,使用图23对本发明的实施方式5进行说明。在实施方式5中,机器学习装置对干涉的有无进行学习。
图23是表示实施方式5所涉及的数控装置的结构例的图。对于图23的各结构要素之中的实现与数控装置1Y同一功能的结构要素标注同一标号,省略重复的说明。
数控装置1M与数控装置1Y相比较,取代控制运算部2Y而具有控制运算部2M。控制运算部2M在控制运算部2Y所具有的结构要素的基础上,还具有机器学习装置70。
机器学习装置70连接于仿真控制部80Y和解析处理部37。机器学习装置70使用仿真位置信息(r)、NC程序信息(r)和干涉信息(r),对工作机械100和机器人60之间的干涉的有无进行学习。即,机器学习装置70对有无干涉的推测处理进行学习。
仿真位置信息(r)是在仿真控制部80Y对干涉的有无进行判定时,使用仿真用数据346对工作机械100及机器人60的位置进行计算得到的位置数据。仿真控制部80Y在对干涉的有无进行判定时,将仿真位置信息(r)发送至画面处理部31,在对干涉的有无进行学习时,将仿真位置信息(r)发送至机器学习装置70。
NC程序信息(r)是在对干涉的有无进行判定时,解析处理部37所使用的NC程序的信息。干涉信息(r)是表示工作机械100是否与机器人60碰撞的碰撞信息。干涉信息(r)包含有表示干涉(碰撞)的有无的信息、表示干涉的位置的信息和表示干涉的结构要素(干涉对象)的信息。
机器学习装置70包含有状态观测部71、数据取得部72和学习部73。状态观测部71从仿真控制部80Y取得仿真位置信息(r),从解析处理部37取得NC程序信息(r)。状态观测部71对仿真位置信息(r)及NC程序信息(r)进行观测而作为状态信息(i)。状态观测部71将数据观测的结果即状态信息(i)输出至学习部73。数据取得部72从干涉检查部803取得干涉信息(r)。数据取得部72将干涉信息(r)输出至学习部73。
学习部73基于通过状态信息(i)及干涉信息(r)的组合而创建的数据集,对推测出干涉的有无的信息即干涉推测信息(n)进行学习。在这里,状态变量即状态信息(i)是将仿真位置信息(r)及NC程序信息(r)彼此相关联的数据。
此外,机器学习装置70并不限定于设置于数控装置1M。机器学习装置70也可以设置于数控装置1M的外部。机器学习装置70可以设置于经由网络能够与数控装置1M连接的装置。即,机器学习装置70可以是经由网络而与数控装置1M连接的分体的组件。另外,机器学习装置70也可以存在于云服务器上。
学习部73例如按照神经网络模型,通过所谓的有教师学习,根据包含仿真位置信息(r)及NC程序信息(r)在内的状态信息(i)和教师数据即干涉信息(r)对干涉推测信息(n)进行学习。在这里,有教师学习是通过将某输入和结果的数据的组大量地赋予给学习装置,由此对这些数据集中的特征进行学习,根据输入对结果进行推定的模型。
神经网络由通过多个神经元构成的输入层、通过多个神经元构成的中间层(隐藏层)及通过多个神经元构成的输出层构成。中间层可以是1层,也可以是大于或等于2层。
例如,如果是3层的神经网络,则在多个输入向输入层输入后,对其值赋予权重而输入至中间层,对其结果进一步赋予权重而从输出层输出。该输出结果根据各个权重的值而改变。
本实施方式的神经网络按照基于状态信息(i)及干涉信息(r)的组合而创建的数据集,通过所谓的有教师学习,将干涉推测信息(n)作为学习结果(推测值)而输出。
即,神经网络对权重进行调整以使得向输入层输入包含仿真位置信息(r)和NC程序信息(r)在内的状态信息(i)而从输出层输出的结果与干涉信息(r)接近,由此对干涉推测信息(n)进行学习。
另外,神经网络也能够通过所谓的无教师学习,对干涉推测信息(n)进行学习。无教师学习是仅将输入数据大量地赋予给机器学习装置70,由此对输入数据进行何种分布进行学习,即使不赋予对应的教师数据(输出数据),针对输入数据也进行压缩、分类、整形等而学习的方法。在无教师学习中,能够将数据集中的特征相似者彼此聚类等。在无教师学习中,使用该聚类的结果,设置某种基准,进行将该基准设为最佳那样的输出的分配,由此能够实现输出的预测。
另外,机器学习装置70也可以按照针对多个数控装置而创建的数据集,将干涉推测信息(n)作为学习结果(推测值)而输出。此外,机器学习装置70也可以从同一现场所使用的多个数控装置取得数据集,或者也可以利用从在不同的现场独立地运转的多个数控装置收集的数据集对干涉推测信息(n)进行学习。并且,机器学习装置70也能够将对数据集进行收集的数控装置在中途追加至对象,或者,相反地从对象切离。另外,也可以将关于某数控装置对干涉推测信息(n)进行学习后的机器学习装置70安装于其他的数控装置,关于该其他的数控装置对干涉推测信息(n)进行再学习而进行更新。
另外,作为在机器学习装置70中使用的学习算法,也能够使用对特征量本身的提取进行学习的深层学习(Deep Learning)。另外,学习部73也可以按照其他公知的方法,例如遗传编程、功能逻辑编程、支持向量机等执行机器学习。
机器学习装置70将推测出的干涉推测信息(n)输出至仿真控制部80Y。仿真控制部80Y不是在紧挨着干涉发生的之前,而是在对干涉的发生进行推测的NC程序的程序块之前的程序块末端使工作机械100停止。原因在于,在紧挨着干涉发生的之前将工作机械100或者机器人60停止的情况下,根据工作机械100或者机器人60的移动速度,停止花费时间,有时会引起干涉。在本实施方式中,仿真控制部80Y在对干涉的发生进行推测的NC程序的程序块之前的程序块末端使工作机械100停止,因此能够防止干涉。
如上所述在实施方式5中,机器学习装置70基于将干涉信息(r)、仿真位置信息(r)和NC程序信息(r)彼此相关联的数据集,对干涉推测信息(n)进行学习。因此,机器学习装置70能够基于状态信息(i)对干涉推测信息(n)进行计算。
实施方式6
接下来,使用图23对本发明的实施方式6进行说明。在实施方式6中,对通过实施方式2说明的控制运算部2Y的动作应用机器学习装置70。在实施方式6中,与实施方式5相比较,在状态信息(i)中加入干涉信息(r),在教师数据不使用干涉信息(r)而是使用干涉避免程序信息(r)。另外,在实施方式6中,机器学习装置70不是对干涉推测信息(n)而是对干涉避免推测信息(n)进行学习。
干涉避免程序信息(r)是在避免干涉时,干涉避免处理部804所使用的NC程序的信息。干涉避免推测信息(n)是推测出用于避免干涉的指令的信息。
机器学习装置70使用仿真位置信息(r)、NC程序信息(r)和干涉信息(r),对干涉避免推测信息(n)进行学习,即,机器学习装置70干涉避免所使用的NC程序的指令进行推测。
本实施方式的状态观测部71对仿真位置信息(r)、NC程序信息(r)及干涉信息(r)进行观测而作为状态信息(i)。状态观测部71将数据观测的结果即状态信息(i)输出至学习部73。
数据取得部72从干涉避免处理部804取得干涉避免程序信息(r)。数据取得部72将干涉避免程序信息(r)输出至学习部73。干涉避免处理部804在避免干涉时,将干涉避免程序信息(r)发送至机器人控制部41,在对干涉的避免进行学习时,将干涉避免程序信息(r)发送至机器学习装置70。
在本实施方式中,状态观测部71对仿真位置信息(r)、NC程序信息(r)及干涉信息(r)进行观测而作为状态信息(i)。
另外,本实施方式的学习部73基于按照状态信息(i)及教师数据即干涉避免程序信息(r)的组合所创建的数据集,对干涉避免推测信息(n)进行学习。在这里,数据集是将状态变量即状态信息(i)及干涉避免程序信息(r)彼此相关联的数据。
在本实施方式中,也是学习部73例如按照神经网络模型,通过所谓的有教师学习,根据将状态信息(i)和干涉避免程序信息(r)彼此相关联的数据集对干涉避免推测信息(n)进行学习。
即,神经网络对权重进行调整以使得向输入层输入包含仿真位置信息(r)、NC程序信息(r)和干涉信息(r)在内的状态信息(i)而从输出层输出的结果与干涉避免程序信息(r)接近,由此对干涉避免推测信息(n)进行学习。本实施方式的神经网络通过所谓的有教师学习,将干涉避免推测信息(n)作为学习结果(推测出的指令)进行输出。
另外,本实施方式的神经网络也能够通过所谓的无教师学习,对干涉避免推测信息(n)进行学习。
另外,机器学习装置70也可以按照相对于多个数控装置而创建的数据集,将干涉避免推测信息(n)作为学习结果(推测值)而输出。另外,也可以将关于某数控装置对干涉避免推测信息(n)进行学习后的机器学习装置70安装于其他的数控装置,关于该其他的数控装置对干涉避免推测信息(n)进行再学习而进行更新。
另外,干涉避免控制部81不是在紧挨着干涉发生的之前,而是在对干涉的发生进行推测的NC程序的程序块之前的程序块插入与干涉避免推测信息相对应的指令。与干涉避免推测信息相对应的指令是能够避免干涉的NC程序的指令。由此,仿真控制部80Y能够事先避免工作机械100和机器人60之间的干涉。
如上所述在实施方式6中,机器学习装置70基于将干涉信息(r)、仿真位置信息(r)、NC程序信息(r)和干涉避免程序信息(r)彼此相关联的数据集,对干涉避免推测信息(n)进行学习。因此,机器学习装置70能够基于状态信息(i)对干涉避免程序信息(n)进行计算。
此外,可以将实施方式1至6的内容组合。例如,数控装置1X~1Z的至少1个可以具有机器人手动操作部415。另外,数控装置1X~1Z的至少1个可以具有机器学习装置70。
在这里,对控制运算部2X、2Y、2Z、2L、2M的硬件结构进行说明。图24是表示实施方式所涉及的数控装置所具有的控制运算部的硬件结构例的图。此外,控制运算部2X、2Y、2Z、2L、2M具有相同的硬件结构,因此在这里对控制运算部2X的硬件结构进行说明。
控制运算部2X能够通过图24所示的处理器301、存储器302及接口电路303实现。处理器301的例子是CPU(还称为Central Processing Unit、中央处理装置、处理装置、运算装置、微处理器、微型计算机、处理器、DSP(Digital Signal Processor))或者系统LSI(LargeScale Integration)。存储器302的例子是RAM(Random Access Memory)、ROM(Read OnlyMemory)。
控制运算部2X是处理器301将存储器302所存储的用于执行控制运算部2X的动作的程序读出并执行而实现的。另外,该程序可以说是使计算机执行控制运算部2X的顺序或者方法。存储器302还作为由处理器301执行各种处理时的暂时存储器被使用。
此外,关于控制运算部2X的功能,可以将一部分通过专用的硬件实现,将一部分通过软件或者固件实现。另外,可以将机器学习装置70通过图24所示的硬件实现。
以上的实施方式所示的结构,表示本发明的内容的一个例子,也能够与其他公知技术进行组合,在不脱离本发明的主旨的范围,也能够对结构的一部分进行省略、变更。
标号的说明
1L、1M、1X~1Z数控装置,2L、2M、2X~2Z控制运算部,3输入操作部,4显示部,5a、5b加工工件,6a~6c刀具,7输送物,11a、11b刀具保持架,12a、12b卡盘机构,14框体,15切换开关,21机器人臂,22机器人手,23基座,30装载机,31画面处理部,34存储部,37解析处理部,38插补处理部,39加减速处理部,40轴数据输出部,41、41L机器人控制部,50机器人控制器,53操作面板,55手动手柄,57点动按钮,59轴选择开关,60机器人,70机器学习装置,71状态观测部,72数据取得部,73学习部,80X~80Z仿真控制部,81干涉避免控制部,90驱动部,100工作机械,130~135画面,301处理器,302存储器,303接口电路,341参数存储区域,343NC程序存储区域,344显示数据存储区域,345共享区域,346仿真用数据,371机器人指令解析部,382M、421R手动可否判断部,415机器人手动操作部,422移动数据发送部,801、851机械动作运算部,802、852机器人动作运算部,803、853干涉检查部,804、854干涉避免处理部,805移动轨迹运算部,806工件位置运算部,807工件形状运算部,811机械模型,812机器人模型,813、814刀具数据,815工件数据,P1机器人经由点,P2倒角位置。

Claims (10)

1.一种数控装置,其特征在于,具有:
解析处理部,其将用于对工作机械及机器人进行控制的加工程序且包含多个程序块的所述加工程序针对每个所述程序块而读入,针对每个所述程序块进行解析处理;
机械动作运算部,其使用所述工作机械的动作仿真用的数据即机械模型、和在对所述工作机械所具有的第1结构要素的位置进行控制时使用的第1位置数据,对特定定时的所述第1结构要素的位置进行计算;
机器人动作运算部,其使用所述机器人的动作仿真用的数据即机器人模型、和在对所述机器人所具有的第2结构要素的位置进行控制时使用的第2位置数据,对所述特定定时的所述第2结构要素的位置进行计算;
存储部,其对定义所述工作机械的坐标系和所述机器人的坐标系之间的位置关系的位置定义数据进行存储;以及
碰撞判断部,其基于所述第1结构要素的位置、所述第2结构要素的位置及所述位置定义数据,针对每个所述程序块对所述工作机械和所述机器人是否碰撞进行判断。
2.根据权利要求1所述的数控装置,其特征在于,
所述机械动作运算部使用所述工作机械的描绘用的数据及所述第1位置数据,对所述第1结构要素进行描绘,
所述机器人动作运算部使用所述机器人的描绘用的数据及所述第2位置数据,对所述第2结构要素进行描绘。
3.根据权利要求1或2所述的数控装置,其特征在于,
还具有干涉避免处理部,该干涉避免处理部在所述工作机械和所述机器人碰撞的情况下,执行将使所述碰撞发生的向所述机器人的移动指令置换为对所述机器人的姿态进行变更的指令、在所述移动指令之前插入进行所述机器人的路径变更的指令即路径变更指令、以及在紧挨着所述移动指令的之前插入等待指令的至少1个处理,由此不使向所述工作机械的控制变更而避免所述碰撞。
4.根据权利要求1或2所述的数控装置,其特征在于,
还具有:
移动轨迹运算部,其对所述工作机械所使用的第1刀具的第1移动轨迹、及所述机器人所使用的第2刀具的第2移动轨迹进行运算;以及
加工后形状运算部,其对从由所述工作机械及所述机器人加工的加工物的形状将所述第1刀具及所述第2刀具所经过的部位排除在外后的形状进行运算,
所述碰撞判断部对加工后的所述加工物、所述工作机械和所述机器人是否碰撞进行判断。
5.根据权利要求1所述的数控装置,其特征在于,
所述机械动作运算部基于与向所述工作机械的手动操作相对应的所述第1结构要素的移动量,对所述第1结构要素的位置及形状进行计算,
所述机器人动作运算部基于与向所述机器人的手动操作相对应的所述第2结构要素的移动量,对所述第2结构要素的位置及形状进行计算,
所述碰撞判断部基于所述第1结构要素的位置及形状和所述第2结构要素的位置及形状,对所述工作机械和所述机器人是否碰撞进行判断。
6.根据权利要求5所述的数控装置,其特征在于,
还具有干涉避免处理部,该干涉避免处理部在所述工作机械和所述机器人碰撞的情况下,执行将使所述碰撞发生的向所述机器人的移动指令置换为向能够避免碰撞的姿态变更的移动指令、以及在紧挨着所述移动指令的之前插入等待指令的至少1个处理,由此使所述碰撞避免。
7.根据权利要求1或2所述的数控装置,其特征在于,
还具有:
解析处理部,其对包含向所述工作机械的指令即机械驱动指令和向所述机器人的指令即机器人指令在内的数控程序进行解析;以及
机器人控制部,其使用所述机器人指令对所述机器人进行控制,
所述解析处理部对解析后的指令是所述机械驱动指令还是所述机器人指令进行判断,在解析后的指令是所述机器人指令的情况下,将所述机器人指令的解析结果发送至所述机器人控制部。
8.根据权利要求1或2所述的数控装置,其特征在于,
在所述第1结构要素中包含所述工作机械所使用的刀具,
在所述第2结构要素中包含所述机器人所使用的刀具。
9.一种机器学习装置,其特征在于,具有:
状态观测部,其对状态变量进行观测,该状态变量包含仿真位置信息以及在工作机械及机器人的控制时使用的加工程序的信息即加工程序信息,该仿真位置信息表示使用所述工作机械的动作仿真用的数据即机械模型和在对所述工作机械所具有的第1结构要素的位置进行控制时使用的第1位置数据而计算出的特定定时的所述第1结构要素的位置、以及使用所述机器人的动作仿真用的数据即机器人模型和在对所述机器人所具有的第2结构要素的位置进行控制时使用的第2位置数据而计算出的所述特定定时的所述第2结构要素;
数据取得部,其取得表示所述工作机械和所述机器人是否碰撞的碰撞信息;以及
学习部,其按照基于所述状态变量及所述碰撞信息的组合而创建的数据集,对推测出所述工作机械和所述机器人是否碰撞的信息即干涉推测信息进行学习。
10.一种机器学习装置,其特征在于,具有:
状态观测部,其对状态变量进行观测,该状态变量包含仿真位置信息、在工作机械及机器人的控制时使用的加工程序的信息即加工程序信息、以及表示所述工作机械和所述机器人是否碰撞的碰撞信息,该仿真位置信息表示使用所述工作机械的动作仿真用的数据即机械模型和在对所述工作机械所具有的第1结构要素的位置进行控制时使用的第1位置数据而计算出的特定定时的所述第1结构要素的位置、以及使用所述机器人的动作仿真用的数据即机器人模型和在对所述机器人所具有的第2结构要素的位置进行控制时使用的第2位置数据而计算出的所述特定定时的所述第2结构要素的位置;
数据取得部,其在所述工作机械和所述机器人碰撞的情况下,取得不使所述工作机械和所述机器人碰撞的加工程序的信息即避免程序信息;以及
学习部,其按照基于所述状态变量及所述避免程序信息的组合而创建的数据集,对推测不使所述工作机械和所述机器人碰撞的加工程序的信息而得到的信息即干涉避免推测信息进行学习。
CN201980100202.4A 2019-09-13 2019-09-13 数控装置及机器学习装置 Active CN114365047B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/036198 WO2021049028A1 (ja) 2019-09-13 2019-09-13 数値制御装置、および機械学習装置

Publications (2)

Publication Number Publication Date
CN114365047A CN114365047A (zh) 2022-04-15
CN114365047B true CN114365047B (zh) 2023-02-03

Family

ID=74866981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980100202.4A Active CN114365047B (zh) 2019-09-13 2019-09-13 数控装置及机器学习装置

Country Status (4)

Country Link
JP (1) JP6914452B1 (zh)
CN (1) CN114365047B (zh)
DE (1) DE112019007579B4 (zh)
WO (1) WO2021049028A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11878424B2 (en) 2021-12-06 2024-01-23 Fanuc Corporation Point set interference check
JP7157281B1 (ja) * 2022-04-18 2022-10-19 ファナック株式会社 ロボット制御装置、数値制御システム及び数値制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10226140A1 (de) * 2002-06-13 2004-01-08 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten
CN103329056A (zh) * 2011-01-26 2013-09-25 三菱电机株式会社 数控装置
CN104345687A (zh) * 2013-08-09 2015-02-11 中国科学院沈阳计算技术研究所有限公司 一种刀具扫描体建模方法
CN106292549A (zh) * 2015-06-29 2017-01-04 发那科株式会社 机床和机器人之间的干扰检查系统
CN207432246U (zh) * 2017-09-27 2018-06-01 杭州新松机器人自动化有限公司 一种机械臂碰撞检测系统
CN109581972A (zh) * 2017-09-29 2019-04-05 发那科株式会社 数值控制系统、数值控制装置、运转状态异常检查方法及学习模型组

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07223181A (ja) * 1994-02-09 1995-08-22 Yaskawa Electric Corp マニピュレータの干渉チェック装置
JP4249794B1 (ja) * 2007-10-29 2009-04-08 ファナック株式会社 ワーク搬送用ロボットの制御装置
JP4653836B2 (ja) * 2008-12-12 2011-03-16 ファナック株式会社 シミュレーション装置
JP6282140B2 (ja) * 2014-02-26 2018-02-21 キヤノン株式会社 軌道生成方法、ロボット装置、プログラム及び記録媒体
JP6517762B2 (ja) 2016-08-23 2019-05-22 ファナック株式会社 人とロボットが協働して作業を行うロボットの動作を学習するロボットシステム
JP6457469B2 (ja) * 2016-12-08 2019-01-23 ファナック株式会社 移動ロボットの干渉領域設定装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10226140A1 (de) * 2002-06-13 2004-01-08 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten
CN103329056A (zh) * 2011-01-26 2013-09-25 三菱电机株式会社 数控装置
CN104345687A (zh) * 2013-08-09 2015-02-11 中国科学院沈阳计算技术研究所有限公司 一种刀具扫描体建模方法
CN106292549A (zh) * 2015-06-29 2017-01-04 发那科株式会社 机床和机器人之间的干扰检查系统
CN207432246U (zh) * 2017-09-27 2018-06-01 杭州新松机器人自动化有限公司 一种机械臂碰撞检测系统
CN109581972A (zh) * 2017-09-29 2019-04-05 发那科株式会社 数值控制系统、数值控制装置、运转状态异常检查方法及学习模型组

Also Published As

Publication number Publication date
WO2021049028A1 (ja) 2021-03-18
JPWO2021049028A1 (ja) 2021-10-07
DE112019007579T5 (de) 2022-04-14
JP6914452B1 (ja) 2021-08-04
DE112019007579B4 (de) 2023-11-09
CN114365047A (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
CN110394780B (zh) 机器人的仿真装置
EP3214514B1 (en) Machine tool control method and machine tool control device
EP2282873B1 (en) A method and a system for facilitating calibration of an off-line programmed robot cell
US20090265030A1 (en) Machining simulation method and machining simulation apparatus
JP5436460B2 (ja) 産業用ロボットシステム
US9897991B2 (en) Machine tool
JP2006004128A (ja) 干渉確認装置
CN114365047B (zh) 数控装置及机器学习装置
JP2015179394A (ja) 工作機械の手動操作用シミュレーション装置
CN109129413B (zh) 显示速度的机器人系统
US9760261B2 (en) Display apparatus for displaying at least an image of a movable structure of the numerical controller machine tool
JP2003150218A (ja) シミュレーション装置
CN112987646A (zh) 控制装置、测量系统、测量方法
KR101468751B1 (ko) 그래픽 기반의 사용자 인터페이스를 갖는 수치제어시스템
CN115698875B (zh) 数控装置及工业机械控制系统
JP2011014029A (ja) 工作機械の衝突防止方法
CN113614660B (zh) 数控装置及数控方法
JP5272447B2 (ja) 数値制御機械の動作シミュレータ
KR101507683B1 (ko) 스마트 수치제어 시스템 및 그 방법
US11717965B2 (en) Determination of robot posture
JP7414849B2 (ja) 移動経路描画装置
US20230249347A1 (en) Path planning during execution of robot control
US20210149379A1 (en) Program analysis device
JP3575325B2 (ja) 数値制御方法及びその装置
CN116460840A (zh) 具有多个运动区段的多轴运动系统的安全导向的监控的规划

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant