CN113319847B - 机器人的控制方法 - Google Patents
机器人的控制方法 Download PDFInfo
- Publication number
- CN113319847B CN113319847B CN202110211655.3A CN202110211655A CN113319847B CN 113319847 B CN113319847 B CN 113319847B CN 202110211655 A CN202110211655 A CN 202110211655A CN 113319847 B CN113319847 B CN 113319847B
- Authority
- CN
- China
- Prior art keywords
- command
- robot
- arm
- control method
- object recognition
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 141
- 238000003384 imaging method Methods 0.000 claims description 25
- 239000013256 coordination polymer Substances 0.000 description 12
- 239000012636 effector Substances 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/4155—Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33076—Optimize time by parallel execution of independent blocks by two processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40101—Generate concurrent tasks
Abstract
本发明提供了一种机器人的控制方法,能够缩短处理花费的时间。该机器人的控制方法的特征在于,基于包含使机械臂动作的动作命令的第一命令和第二命令的程序,对具有所述机械臂的机器人的动作进行控制,所述控制方法具有:第一步骤,基于所述第一命令对所述机械臂的动作进行控制;以及第二步骤,基于所述第二命令对所述机器人的动作进行控制,在所述第一步骤中,在开始所述动作命令的执行之后,判断所述第二命令中是否包含预定命令,在判断为所述第二命令中包含所述预定命令的情况下,在所述第一步骤结束之前执行所述预定命令。
Description
技术领域
本发明涉及机器人的控制方法。
背景技术
近年来,在工厂中由于人力成本的高涨和人材不足,利用各种机器人及这种机器人周边设备,人工进行的作业的自动化正在加速。例如,在专利文献1中公开了一种机器人控制装置,该机器人控制装置与具有手的机器人连接,对使机器人依次执行在程序中记载的多个动作命令的机器人进行控制。
另外,专利文献1的机器人控制装置具有机器人程序存储装置。在机器人程序存储装置中存储有机器人程序。机器人程序是通过机器人语言在连续的步骤中记载了对机器人的动作命令的程序。
专利文献1:日本特开2008-254141号公报
但是,如果针对机器人的动作命令是复杂的处理,或者处理的信息量较多,则从前一个动作命令完成到下一个动作开始的时间有可能变长。在这种情况下,总的作业时间变长。
发明内容
本发明的机器人的控制方法的特征在于,基于包含使机械臂动作的动作命令的第一命令和第二命令的程序,对具有所述机械臂的机器人的动作进行控制,所述控制方法具有:
第一步骤,基于所述第一命令对所述机械臂的动作进行控制;以及
第二步骤,基于所述第二命令对所述机器人的动作进行控制,
在所述第一步骤中,在开始所述动作命令的执行之后,判断所述第二命令中是否包含预定命令,在判断为所述第二命令中包含所述预定命令的情况下,在所述第一步骤结束之前执行所述预定命令。
附图说明
图1是示出第一实施方式的机器人系统的整体结构的图。
图2是图1所示的机器人系统的框图。
图3是示出机器人系统执行的程序的一例的概念图。
图4是现有的机器人系统执行的程序的时序图。
图5是示出图1所示的机器人系统执行的程序的一例的时序图。
图6是示出图1所示的机器人系统执行的程序的一例的时序图。
图7是示出本发明的机器人的控制方法的一例的流程图。
图8是示出图7中的步骤S5的详细情况的流程图。
图9是示出图7中的步骤S7的详细情况的流程图。
图10是示出图7中的步骤S8的详细情况的流程图。
附图标记说明
1…机器人;3…控制装置;4…示教装置;5…摄像部;10…机械臂;11…基座;12…第一臂;13…第二臂;14…第三臂;15…第四臂;16…第五臂;17…第六臂;18…中继电缆;19…力检测部;20…末端执行器;31…控制部;32…存储部;33…通信部;41…控制部;42…存储部;43…通信部;100…机器人系统;171…关节;172…关节;173…关节;174…关节;175…关节;176…关节;310…高速缓冲存储器;A…命令;B…命令;C…命令;CP…控制点;E1…编码器;E2…编码器;E3…编码器;E4…编码器;E5…编码器;E6…编码器;M1…电机;M2…电机;M3…电机;M4…电机;M5…电机;M6…电机;TCP…工具中心点。
具体实施方式
第一实施方式
图1是示出第一实施方式的机器人系统的整体结构的图。图2是图1所示的机器人系统的框图。图3是示出机器人系统执行的程序的一例的概念图。图4是现有的机器人系统执行的程序的时序图。图5是示出图1所示的机器人系统执行的程序的一例的时序图。图6是示出图1所示的机器人系统执行的程序的一例的时序图。图7是示出本发明的机器人的控制方法的一例的流程图。图8是示出图7中的步骤S5的详细情况的流程图。图9是示出图7中的步骤S7的详细情况的流程图。图10是示出图7中的步骤S8的详细情况的流程图。
下面,基于附图所示的优选的实施方式对本发明的机器人的控制方法进行详细说明。另外,下面为了便于说明,也将图1中的+Z轴方向,即上侧称为“上”,将-Z轴方向,即下侧称为“下”。另外,关于机械臂,也将图1中的基座11侧称为“基端”,将其相反侧,即末端执行器20侧称为“前端”。另外,将图1中的Z轴方向,即上下方向作为“垂直方向”,将X轴方向及Y轴方向,即左右方向作为“水平方向”。
如图1所示,机器人系统100具备机器人1、对机器人1进行控制的控制装置3、示教装置4、摄像部5,并执行本发明的机器人的控制方法。
首先,对机器人1进行说明。
图1所示的机器人1在本实施方式中是单臂的六轴垂直多关节机器人,具有基座11和机械臂10。另外,能够在机械臂10的前端部安装末端执行器20。末端执行器20既可以是机器人1的构成要件,也可以不是机器人1的构成要件。
机器人1并不限于图示的结构,例如也可以是双臂型的多关节机器人。另外,机器人1也可以是水平多关节机器人。
基座11是以能够从下侧进行驱动的方式支承机械臂10的支承体,例如被固定在工厂内的地面上。机器人1的基座11经由中继电缆18与控制装置3电连接。另外,机器人1与控制装置3的连接并不限于图1所示的结构那样的利用有线的连接,例如也可以是利用无线的连接,进而也可以经由因特网那样的网络连接。
在本实施方式中,机械臂10具有第一臂12、第二臂13、第三臂14、第四臂15、第五臂16和第六臂17,这些臂从基座11侧依次连接。另外,机械臂10具有的臂的数量并不限于六个,例如也可以是一个、两个、三个、四个、五个或七个以上。另外,各臂的全长等的大小分别并不特别限定,可以适当设定。
基座11与第一臂12通过关节171连接。另外,第一臂12相对于基座11能够以与垂直方向平行的第一转动轴为转动中心,绕该第一转动轴转动。第一转动轴与固定有基座11的地面的法线一致。
第一臂12与第二臂13通过关节172连接。另外,第二臂13相对于第一臂12能够以与水平方向平行的第二转动轴为转动中心转动。第二转动轴与正交于第一转动轴的轴平行。
第二臂13与第三臂14通过关节173连接。另外,第三臂14相对于第二臂13能够以与水平方向平行的第三转动轴为转动中心转动。第三转动轴与第二转动轴平行。
第三臂14与第四臂15通过关节174连接。另外,第四臂15相对于第三臂14能够以与第三臂14的中心轴方向平行的第四转动轴为转动中心转动。第四转动轴与第三转动轴正交。
第四臂15与第五臂16通过关节175连接。另外,第五臂16相对于第四臂15能够以第五转动轴为转动中心转动。第五转动轴与第四转动轴正交。
第五臂16与第六臂17通过关节176连接。另外,第六臂17相对于第五臂16能够以第六转动轴为转动中心转动。第六转动轴与第五转动轴正交。
另外,第六臂17成为在机械臂10中位于最前端侧的机器人前端部。该第六臂17通过机械臂10的驱动,能够与末端执行器20一起转动。
机器人1具备:作为驱动部的电机M1、电机M2、电机M3、电机M4、电机M5及电机M6;编码器E1、编码器E2、编码器E3、编码器E4、编码器E5及编码器E6。电机M1内置于关节171中,使基座11与第一臂12相对旋转。电机M2内置于关节172中,使第一臂12与第二臂13相对旋转。电机M3内置于关节173中,使第二臂13与第三臂14相对旋转。电机M4内置于关节174中,使第三臂14与第四臂15相对旋转。电机M5内置于关节175中,使第四臂15与第五臂16相对旋转。电机M6内置于关节176中,使第五臂16与第六臂17相对旋转。
另外,编码器E1内置于关节171中,对电机M1的位置进行检测。编码器E2内置于关节172中,对电机M2的位置进行检测。编码器E3内置于关节173中,对电机M3的位置进行检测。编码器E4内置于关节174中,对电机M4的位置进行检测。编码器E5内置于关节175中,对电机M5的位置进行检测。编码器E6内置于关节176中,对电机M6的位置进行检测。
编码器E1~E6与控制装置3电连接,将电机M1~电机M6的位置信息,即旋转量作为电信号发送到控制装置3。另外,基于该信息,控制装置3经由未图示的电机驱动器D1~电机驱动器D6驱动电机M1~电机M6。即,对机械臂10进行控制就是对电机M1~电机M6进行控制。
另外,在机械臂10的前端设定有控制点CP。控制点CP是作为进行机械臂10的控制时的基准的点。在机器人系统100中,通过机器人坐标系掌握控制点CP的位置,以控制点CP移动到期望的位置的方式驱动机械臂10。
另外,在机器人1中,在机械臂10上装卸自如地设置有对力进行检测的力检测部19。另外,机械臂10能够在设置有力检测部19的状态下进行驱动。力检测部19在本实施方式中是六轴力传感器。力检测部19对相互正交的三个检测轴上的力的大小和绕该三个检测轴的转矩的大小进行检测。即,对相互正交的X轴、Y轴、Z轴的各轴方向的力成分、绕X轴的W方向的力成分、绕Y轴的V方向的力成分、绕Z轴的U方向的力成分进行检测。另外,在本实施方式中,Z轴方向为垂直方向。另外,也可以将各轴方向的力成分称为“平移力成分”,将绕各轴的力成分称为“转矩成分”。另外,力检测部19并不限于六轴力传感器,也可以是其他结构。
在本实施方式中,力检测部19被设置在第六臂17上。另外,作为力检测部19的设置部位,并不限于第六臂17,即位于最前端侧的臂,例如也可以是其他的臂、相邻的臂彼此之间。
在力检测部19上能够以可装卸的方式安装末端执行器20。在本实施方式中,末端执行器20具有能够相互接近分离的一对爪部,由通过各爪部把持、解除工件的手构成。另外,作为末端执行器20,并不限于图示的结构,也可以是通过吸引来把持作业对象物的手。另外,作为末端执行器20,例如也可以是研磨机、磨削机、切削机、螺丝刀、扳手等工具。
另外,在机器人坐标系中,在末端执行器20的前端设定有作为控制点的工具中心点TCP。在机器人系统100中,通过机器人坐标系掌握工具中心点TCP的位置,能够将工具中心点TCP作为控制的基准。
下面,对摄像部5进行说明。
图1及图2所示的摄像部5例如可以是具有由具有多个像素的CCD(Charge CoupledDevice:电荷耦合器件)图像传感器构成的摄像元件和包含透镜等的光学系统的结构。如图2所示,摄像部5与控制装置3电连接。另外,摄像部5将摄像元件接收到的光转换为电信号,并将该电信号输出到控制装置3。即,摄像部5将拍摄结果发送到控制装置3。另外,拍摄结果既可以是静止图像,也可以是动态图像。
在图示的结构中,摄像部5被设置在第六臂17上。但是,并不限于这样的结构,例如也可以是设置在机器人1以外的部位,例如设置在配置有工件的作业面附近的结构体上的结构。
下面,对控制装置3及示教装置4进行说明。在本实施方式中,对控制装置3执行本发明的机器人的控制方法的情况进行说明,但在本发明中并不限于此,例如既可以由示教装置4进行,也可以由控制装置3及示教装置4分担进行。
如图1及图2所示,在本实施方式中,控制装置3被设置在与机器人1分离的位置。但是,并不限于该结构,也可以内置于基座11中。另外,控制装置3具有对机器人1的驱动进行控制的功能,与上述的机器人1的各部分电连接。控制装置3具有控制部31、存储部32和通信部33。这些各部分例如以能够经由总线相互通信的方式连接。
控制部31例如由CPU(Central Processing Unit:中央处理单元)或MPU(MicroProcessing Unit:微处理单元)等处理器构成,读出并执行存储在存储部32中的各种程序等。由控制部31生成的指令信号经由通信部33发送到机器人1。由此,机械臂10能够执行预定的作业。
控制部31无论是以多任务动作的单核处理器,还是图示那样的多核处理器,都能够执行本发明的机器人的控制方法。特别是,通过使用多核处理器,能够将不同的程序的执行分配给各核。由此,如后所述,能够在时间上重叠执行不同的程序。
在使用多核处理器作为控制部31的情况下,优选对各核分配例如Linux(注册商标)那样的通用OS。由此,各核进行的处理的种类增加,通用性优良。
另外,控制部31包含高速缓冲存储器310。
存储部32保存控制部31可执行的各种程序等。作为存储部32,例如可列举RAM(Random Access Memory:随机读取存储器)等易失性存储器、ROM(Read Only Memory:只读存储器)等非易失性存储器、装卸式的外部存储装置等。
通信部33例如使用有线LAN(Local Area Network:局域网)、无线LAN等外部接口,在机器人1的各部分及示教装置4之间分别进行信号的收发。
下面,对示教装置4进行说明。
如图1及图2所示,示教装置4具有对机械臂10生成并输入动作程序的功能。示教装置4具有控制部41、存储部42和通信部43。作为示教装置4,并不特别限定,例如可列举平板电脑、个人计算机、智能手机、示教器等。
控制部41例如由CPU(Central Processing Unit:中央处理单元)构成,读出并执行存储在存储部42中的示教程序等各种程序。另外,示教程序可以由示教装置4生成,例如既可以从CD-ROM等外部记录介质存储,也可以经由网络等存储。
由控制部41生成的信号经由通信部43发送到机器人1的控制装置3。由此,机械臂10能够以预定的条件执行预定的作业。
存储部42保存控制部41可执行的各种程序等。作为存储部42,例如可列举RAM(Random Access Memory:随机存取存储器)等易失性存储器、ROM(Read Only Memory:只读存储器)等非易失性存储器、装卸式的外部存储装置等。
通信部43例如使用有线LAN(Local Area Network:局域网)、无线LAN等外部接口与控制装置3之间进行信号的收发。
以上对机器人系统100进行了说明。
在这样的机器人系统100中,从示教装置4向控制装置3的存储部32输入并存储动作程序。另外,控制部31基于存储在存储部32中的动作程序对机器人1的动作进行控制。
这里,动作程序是通过机器人语言在连续的步骤中记载了对机器人1的命令的程序。图3是示出机器人系统100执行的程序的一例的概念图。如图3所示,动作程序包含作为单位程序的命令,这些命令与执行的顺序相关联。在图3中,代表性地图示了作为最初的命令的命令A、作为命令A的下一个命令的命令B、作为命令B的下一个命令的命令C。
命令A包含“移动到初始位置”的命令、“把持工件”的命令和“拍摄”的命令。基于命令A驱动机器人1是指依次执行“移动到初始位置”、“把持工件”及“拍摄”。
在“移动到初始位置”的命令中,包含与控制点CP移动的目标位置即初始位置的坐标相关的信息。另外,初始位置包含与机器人坐标系中的控制点CP移动的目标位置的坐标相关的信息。另外,该动作命令中也包含路径中途的任意位置上的机械臂10的姿态。
“把持工件”的命令是使末端执行器20的一对爪部接近从而把持工件的命令。“拍摄”的命令是使用摄像部5对机器人1的周边环境,例如未图示的作业台及其周面进行拍像的命令。
通过依次执行这样的“移动到初始位置”、“把持工件”及“拍摄”的命令,命令A完成。当命令A完成时,执行命令B。
命令B包含“路径计划处理”的命令和“移动到A地点”的命令。基于命令B驱动机器人1是指依次执行“路径计划处理”及“移动到A地点”。
“路径计划处理”是求出控制点CP通过的路径及那时的姿态的处理。在路径计划处理中,例如基于命令A的拍摄结果,以障碍物与机械臂10不接触的方式,求出工件的输送目的地的A地点,即目标位置及通过该路径时的姿态。即,路径是指控制点CP通过的坐标的集合和各坐标的机械臂10的姿态,路径计划处理是指求出控制点CP通过的各坐标及姿态,并存储在存储部32中的处理。
“移动到A地点”是执行在路径计划处理中生成的路径的处理。即,“移动到A地点”是指以控制点CP以期望的姿态通过在“路径计划处理”中求出的各坐标的方式驱动机械臂10。
通过依次执行这样的“路径计划处理”、“移动到A地点”的命令,命令B完成。当命令B完成时,执行命令C。
命令C包含“物体识别处理”的命令和“工件组装”的命令。基于命令C驱动机器人1是指依次执行“物体识别处理”及“工件组装”。
“物体识别处理”是指使用摄像部5确定物体,并在机器人坐标系中进行识别。作为物体识别处理,例如可列举障碍物的识别、组装对象物的组装对象部位的识别等。组装对象物的组装对象部位例如可列举插入当前把持的工件的插入孔等。“工件组装”是指对组装对象物组装当前把持的工件。
通过依次执行这样的“物体识别处理”、“工件组装”的命令,命令C完成。另外,作为命令的种类,并不限于上述列举的种类,例如也包含待机命令、初始位置回归命令、动作速度变更命令等。
这里,在上述说明的各处理中,命令A中的“移动到初始位置”的命令和命令B中的“移动到A地点”的命令是用于使机械臂10动作的动作命令。该动作命令是执行时的高速缓冲存储器310、未图示的系统总线的占有率较低的处理,以下也称为“简单的处理”。另一方面,命令B中的“路径计划处理”、命令C中的“物体识别处理”是执行时的高速缓冲存储器310、未图示的系统总线的占有率较高的处理,以下也称为“复杂的处理”。
在现有的机器人系统中,在执行上述的命令A~命令C时,有可能发生图4所示的现象。图4是示出正在执行动作程序的状态的时序图。如图4所示,如果是依次执行命令A~命令C的结构,则总的作业时间花费时间T'。另外,“路径计划处理”及“物体识别处理”是各命令中比较耗费时间的处理。另一方面,路径计划处理及物体识别处理以外的处理能够在比较短的时间内执行。特别是,“路径计划处理”及“物体识别处理”与处理不仅花费时间,机械臂10的动作还处于停止的状态,若机械臂10的停止时间较长,则作业效率降低。
与此相对,本发明通过采用图5所示的结构,能够使总的作业时间为比以往短的时间T。下面,对此进行说明。
在机器人系统100中,在开始包含在命令A中的作为简单的处理的“移动到初始位置”之后,判断在命令B中是否包含作为复杂的处理的“路径计划处理”或“物体识别处理”,在如图所示包含“路径计划处理”的情况下,先行开始“路径计划处理”。具体地,在“移动到初始位置”的执行过程中并行地进行“路径计划处理”。换言之,在执行作为命令A的简单的处理的动作命令的过程中先行开始命令B的复杂的处理。另外,对于命令B及命令C也同样,在开始基于命令B的动作命令的处理之后,判断命令C中是否包含复杂的处理,在如图所示包含的情况下,在执行命令B的动作命令的过程中先行开始命令C的复杂的处理,即“物体识别处理”。
根据这样的结构,执行命令A的时间和执行命令B的时间重叠,另外,执行命令B的时间和执行命令C的时间重叠。与它们在时间上重叠相应地,能够使总作业时间为比以往短的时间T。另外,在执行命令A~命令C时,能够使机械臂10停止的时间比以往少。由此,能够提高生产率。另外,由于在时间上重叠的处理为简单的处理和复杂的处理,因此能够减轻对控制部31的负担。
另外,在机器人系统100中,在命令A的动作命令的执行过程中开始命令B中是否包含复杂的处理的判断,在命令B中包含复杂的处理的情况下,只要在命令A完成之前开始命令B的复杂的处理即可。这对于命令B及命令C也同样。例如,如图6所示,也可以在命令A中,在作为动作命令的“移动到初始位置”的处理完成之后,开始命令B的“路径计划处理”。
另外,虽然以命令A~命令C这三个命令为例进行了说明,但即使命令有四个以上,只要有包含动作命令的命令,就可以将该命令作为第一命令,将下一个命令作为第二命令,来应用本发明。
下面,基于图7~图10所示的流程图,对本发明的机器人的控制方法的一例进行说明。另外,以下“下一个命令”是指上述的命令A~命令C那样的单位程序。具体地,例如,在执行命令A的过程中的下一个命令是指命令B。
首先,在步骤S1中,开始程序。即,将从图1所示的示教装置4输入的程序存储在存储部32中,开始各单位程序的最初的单位程序的执行。
接着,在步骤S2中,判断是否有下一个命令。在判断为没有下一个命令的情况下,在步骤S9中,结束程序。在步骤S2中,在判断为有下一个命令的情况下,在步骤S3中,获取并解释下一个命令。即,读出下一个命令,并解释机器人语言。
接着,在步骤S4中,判断所获取的命令中是否包含动作命令。在步骤S4中,在判断为包含动作命令的情况下,在步骤S5中,执行动作命令。另外,稍后将说明步骤S5的详细情况。
在步骤S4中,在判断为不包含动作命令的情况下,在步骤S6中,判断所获取的命令中是否包含物体识别处理。在步骤S6中,在判断为所获取的命令中包含物体识别处理的情况下,在步骤S7中,执行物体识别处理,返回到步骤S2。另外,稍后将说明步骤S7的详细情况。
另一方面,在步骤S6中,在判断为所获取的命令中不包含物体识别处理的情况下,在步骤S8中,执行其他命令,返回到步骤S2。另外,稍后将说明步骤S8的详细情况。
另外,在图7所示的流程图中,第一个循环是第一步骤,第二个循环是第二步骤。
下面,基于图8所示的流程图,对步骤S5进行详细说明。
首先,在步骤S501中,开始动作命令的执行。即,驱动机械臂10。接着,在步骤S502中,判断是否正在先行执行路径计划处理。即,判断当前是否正在执行路径计划处理。在步骤S502中,在判断为正在先行执行路径计划处理的情况下,转移到步骤S517。关于步骤S517以后,稍后将进行说明。
在步骤S502中,在判断为没有先行执行路径计划处理的情况下,在步骤S503中,执行路径计划处理。另外,在最初的动作命令中,在指定了路径的情况下,能够省略本步骤。
接着,在步骤S504中,使任务分支。即,启动两个任务,在时间上重叠进行处理。在一个任务中,处理步骤S505~步骤S507及步骤S522。在另一个任务中,处理步骤S508~步骤S516及步骤S521。
在步骤S505中,开始动作命令的执行。即,获取机械臂10的位置及姿态的信息,并生成机械臂10的驱动信号。接着,在步骤S506中,待机1ms,在此期间执行另一个任务的处理。通过分时执行两个任务,即使是单核的结构,也能够执行本发明的机器人的控制方法。
像这样每隔1ms获取机械臂10的位置及姿态的信息,在空闲的时间执行另一个任务的处理。换言之,即使执行另一个任务的处理,也每隔1ms插入进行与动作命令相关的处理。
另外,换言之,在根据动作命令使机械臂10动作时,优先于作为预定命令的路径计划处理及物体识别处理,获取机械臂10的位置及姿态,并生成机械臂10的驱动信号。由此,能够顺利地执行动作命令。
接着,在步骤S507中,判断动作命令是否结束。在步骤S507中,在判断为动作命令未完成的情况下,返回到步骤S505,重复以后的步骤。在步骤S507中,在判断为动作命令完成的情况下,在步骤S522中,结束动作命令的执行。
另一方面,在步骤S508中,判断下一个命令是否是动作命令。在步骤S508中,在判断为下一个命令是动作命令的情况下,在步骤S514中,获取并解释下一个命令。
接着,在步骤S515中,执行路径计划处理。如前所述,路径计划处理是指求出控制点CP通过的各坐标及姿态,并存储在存储部32中的处理。接着,在步骤S516中,将路径存储在高速缓冲存储器310中,在步骤S521中,结束任务。在步骤S516中,通过将路径存储在高速缓冲存储器310中,能够在下一个循环中的后述的步骤S517中用于判断材料。
即,在第一步骤中,存储所采用的路径,用于下一次以后的路径计划处理。由此,只要满足条件就能够再利用路径,能够实现处理时间的缩短。
另外,在步骤S508中,在判断为下一个命令不是动作命令的情况下,在步骤S509中,判断下一个命令是否是物体识别处理。在步骤S509中,在判断为下一个命令不是物体识别处理的情况下,转移到步骤S521,结束任务。
另一方面,在步骤S509中,在判断为下一个命令是物体识别处理的情况下,在步骤S510中,获取并解释下一个命令。接着,在步骤S511中,进行拍摄,获取拍摄图像,在步骤S512中,进行物体识别。像这样的步骤S511及步骤S512是物体识别处理。如前所述,该物体识别处理例如可列举障碍物的识别、组装对象物的组装对象部位的识别等。
接着,在步骤S513中,将物体识别处理的结果存储在高速缓冲存储器310中,在步骤S521中,结束任务。
另外,在本发明中,在开始步骤S505之后,开始步骤S508。另外,在步骤S508或步骤S509中判断为“是”的情况下,在步骤S522完成之前的期间,开始步骤S510或步骤S514。即,在第一步骤中,在开始动作命令的执行之后,判断作为第二命令的下一个命令中是否包含作为预定命令的“路径计划处理”或“物体识别处理”,在判断为第二命令中包含预定命令的情况下,在第一步骤结束之前执行预定命令。根据该结构,能够使执行第一命令的时间和执行第二命令的时间重叠,相应地,能够使总的作业时间为比以往短的时间T。另外,在执行命令A~命令C时,能够使机械臂10停止的时间比以往少。由此,能够提高生产率。
这里,在第二个循环以后的步骤S5的步骤S502中,有可能会判断为正在先行执行路径计划处理。在这种情况下,在步骤S517中,判断先行的路径计划处理的条件是否有效。该判断例如基于在高速缓冲存储器310中是否存储有过去生成的路径、基于拍摄结果与机器人1的周边环境进行比较,与过去的周边环境的差是否在允许范围内等来进行。另外,机器人的周边环境可列举障碍物的位置、工件的位置、操作者的位置等。
像这样,预定命令是机械臂10的路径计划处理,在第一步骤中,判断是否采用通过路径计划处理生成的路径。由此,能够根据需要再次试行路径计划处理,或采用过去生成的路径。因此,能够成为仅在周边环境变化的情况下再次试行路径计划处理的结构。结果,能够实现处理速度的缩短。
在步骤S517中,在判断为先行的路径计划处理的条件无效的情况下,在步骤S520中,中止先行的路径计划处理,转移到步骤S503,再次试行路径计划处理。
像这样,在判断为不能采用路径的情况下,再次试行路径计划处理。由此,能够根据当前的机器人1的状况及周边环境生成正确的路径。
在步骤S517中,在判断为先行的路径计划处理的条件有效的情况下,在步骤S518中待机1ms,在步骤S519中,判断先行的路径计划处理是否结束。即,每隔1ms判断先行的路径计划处理是否结束。在步骤S519中,在判断为已结束的情况下,转移到步骤S504。
下面,基于图9所示的流程图,对步骤S7的详细情况进行说明。
首先,在步骤S701中,开始物体识别处理。接着,在步骤S702中,使用摄像部5进行拍摄。如前所述,拍摄对象例如可列举组装对象物的组装对象部位等。
接着,在步骤S703中,判断是否正在先行执行相同条件的物体识别处理。在步骤S703中,在判断为没有先行执行相同条件的物体识别处理的情况下,在步骤S704中进行物体识别。即,通过机器人坐标确定拍摄结果中的目标部位。另外,在步骤S705中,输出识别结果,即目标部位的机器人坐标,并存储在高速缓冲存储器310或存储部32中。
在步骤S703中,在判断为正在先行执行相同条件的物体识别处理的情况下,判断与先行拍摄的图像(拍摄结果)的差是否小。即,在第二个循环以后,在存储了过去的拍摄结果的情况下,即在过去执行了步骤S513的情况下,比较过去的拍摄结果和当前的拍摄结果(步骤S702)。在步骤S706中,在差较小,即在允许范围内的情况下,在步骤S707中,待机1ms,在步骤S708中,判断先行的物体识别是否完成。即,每隔1ms判断先行的物体识别是否结束。在步骤S708中,在判断为已结束的情况下,转移到步骤S705。
另一方面,在步骤S706中,在判断为差较大,即超过允许范围的情况下,在步骤S709中,中止先行的物体识别的任务,转移到步骤S704。
像这样,先行实施的预定命令是物体识别处理,且在物体识别处理中,拍摄机器人1的周边环境,确定拍摄结果中的物体的位置。由此,能够基于拍摄结果正确地进行以后的处理。
另外,在物体识别处理中,在存储了过去的拍摄结果的情况下,比较过去的拍摄结果和当前的拍摄结果,在差在允许范围内的情况下,使用过去的拍摄结果,在差超过允许范围的情况下,使用当前的拍摄结果。由此,由于只需根据需要将拍摄结果存储在高速缓冲存储器310或存储部32中即可,因此容易确保高速缓冲存储器310或存储部32的空闲区域,并且能够实现物体识别处理的简化。
下面,基于图10所示的流程图,对步骤S8进行详细说明。
首先,在步骤S801中,开始其他命令的执行。如前所述,作为其他命令,例如可列举待机命令、初始位置回归命令、动作速度变更命令等。
接着,在步骤S802中,使任务分支。即,启动两个任务,以在时间上重叠进行处理。在一个任务中,处理步骤S803~步骤S805及步骤S816。在另一个任务中,处理步骤S806~步骤S815。
在步骤S803中,执行其他命令。其他命令如前所述。接着,在步骤S804中,待机1ms,在此期间执行另一个任务的处理。接着,判断其他命令是否结束。在步骤S816中,结束其他命令的执行。
另一方面,在步骤S806中,判断下一个命令是否是机械臂的动作命令。在步骤S806中,在判断为下一个命令是动作命令的情况下,在步骤S808中,获取并解释下一个命令,在步骤S809中,执行路径计划处理。另外,路径计划处理与上述的步骤S515相同。接着,将生成的路径存储在高速缓冲存储器310中,转移到步骤S815,结束任务。
另外,在步骤S806中,在判断为下一个命令不是动作命令的情况下,在步骤S807中,判断下一个命令是否是物体识别处理。在判断为下一个命令不是物体识别处理的情况下,在步骤S815中,任务结束。
另一方面,在步骤S807中,在判断为下一个命令是物体识别处理的情况下,在步骤S811中,获取并解释下一个命令,在步骤S812中,进行拍摄,获取拍摄图像,在步骤S813中,进行物体识别。这样的步骤S811及步骤S812是物体识别处理。该物体识别处理的详细情况如前所述。
接着,在步骤S814中,将物体识别处理的结果存储在高速缓冲存储器310中,在步骤S815中,结束任务。
如上所述,本发明的机器人的控制方法是基于包含使机械臂10动作的动作命令的第一命令和第二命令的程序,对具有机械臂10的机器人1的动作进行控制的机器人的控制方法。另外,机器人的控制方法具有:第一步骤,基于第一命令对机械臂10的动作进行控制;第二步骤,在第一步骤完成之后,基于第二命令对机器人1的动作进行控制。另外,在第一步骤中,在开始动作命令的执行之后,判断第二命令中是否包含作为预定命令的路径计划处理或物体识别处理,在判断为第二命令中包含路径计划处理或物体识别处理的情况下,在第一步骤结束之前执行路径计划处理或物体识别处理。由此,在第二命令中包含预定命令的情况下,执行第一命令的时间和执行第二命令的时间重叠。因此,与重叠相应地,能够使总的作业时间比以往短。因此,能够提高生产率。
另外,在第一步骤中,在判断为第二命令中包含作为预定命令的路径计划处理或物体识别处理的情况下,与机械臂10的动作在时间上重叠地执行路径计划处理或物体识别处理。根据该结构,作为简单的处理的动作命令的执行和作为复杂的处理的路径计划处理或物体识别处理在时间上重叠。因此,能够减轻对控制部31的负担。
另外,第二命令中包含的预定命令是机械臂10的路径计划处理或物体识别处理。路径计划处理及物体识别处理是执行时的高速缓冲存储器310、未图示的系统总线的占有率较高,复杂且花费时间的处理。通过与第一命令在时间上重叠地先行执行这样的预定命令,上述本发明的效果变得更显著。
以上,基于图示的实施方式对本发明的机器人的控制方法进行了说明,但本发明并不限于此。另外,机器人的控制方法的各工序可以替换为能够发挥同样的功能的任意的工序。另外,也可以附加任意的工序。
另外,在所述实施方式中,将控制部31的待机时间设为1ms进行了说明,但在本发明中并不限于此。
Claims (9)
1.一种机器人的控制方法,其特征在于,
基于包含第一命令和第二命令的程序,对具有机械臂的机器人的动作进行控制,其中,所述第一命令是使机械臂动作的动作命令,所述第二命令是所述第一命令的下一个命令,所述控制方法具有:
第一步骤,基于所述第一命令对所述机械臂的动作进行控制;以及
第二步骤,基于所述第二命令对所述机器人的动作进行控制,
在所述第一步骤中,在开始所述动作命令的执行之后,判断所述第二命令中是否包含预定命令,在判断为所述第二命令中包含所述预定命令的情况下,在所述第一步骤结束之前执行所述预定命令。
2.根据权利要求1所述的机器人的控制方法,其特征在于,
在所述第一步骤中,在判断为所述第二命令中包含所述预定命令的情况下,与所述机械臂的动作在时间上重叠地执行所述预定命令。
3.根据权利要求1或2所述的机器人的控制方法,其特征在于,
在根据所述动作命令使所述机械臂动作时,优先于所述预定命令,获取所述机械臂的位置及姿态。
4.根据权利要求1或2所述的机器人的控制方法,其特征在于,
所述预定命令是所述机械臂的路径计划处理或物体识别处理。
5.根据权利要求1或2所述的机器人的控制方法,其特征在于,
所述预定命令是所述机械臂的路径计划处理,
所述路径计划处理判断是否采用通过所述路径计划处理生成的路径。
6.根据权利要求5所述的机器人的控制方法,其特征在于,
在判断为不采用所述路径的情况下,再次试行所述路径计划处理。
7.根据权利要求5所述的机器人的控制方法,其特征在于,
在所述第一步骤中,存储所采用的所述路径,用于下一次以后的所述路径计划处理。
8.根据权利要求1或2所述的机器人的控制方法,其特征在于,
所述预定命令是物体识别处理,
在所述物体识别处理中,拍摄所述机器人的周边环境,确定拍摄结果中的物体的位置。
9.根据权利要求8所述的机器人的控制方法,其特征在于,
在所述物体识别处理中,在存储有过去的拍摄结果的情况下,比较所述过去的拍摄结果和当前的拍摄结果,在差在允许范围内的情况下,使用所述过去的拍摄结果,在所述差超过允许范围的情况下,使用所述当前的拍摄结果。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020033135A JP2021135881A (ja) | 2020-02-28 | 2020-02-28 | ロボットの制御方法 |
JP2020-033135 | 2020-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113319847A CN113319847A (zh) | 2021-08-31 |
CN113319847B true CN113319847B (zh) | 2023-11-03 |
Family
ID=77414436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110211655.3A Active CN113319847B (zh) | 2020-02-28 | 2021-02-25 | 机器人的控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210268651A1 (zh) |
JP (1) | JP2021135881A (zh) |
CN (1) | CN113319847B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010120141A (ja) * | 2008-11-21 | 2010-06-03 | Ihi Corp | バラ積みピッキング装置とその制御方法 |
CN105209225A (zh) * | 2013-05-16 | 2015-12-30 | 株式会社神户制钢所 | 控制工业用机器人及外围设备的动作的控制系统及控制方法 |
CN107639653A (zh) * | 2016-07-22 | 2018-01-30 | 精工爱普生株式会社 | 控制装置、机器人以及机器人系统 |
CN108724180A (zh) * | 2017-04-21 | 2018-11-02 | 发那科株式会社 | 机器人系统 |
EP3476549A1 (en) * | 2017-10-27 | 2019-05-01 | Creaholic SA | Hardware module, robotic system, and method for operating the robotic system |
CN109922931A (zh) * | 2016-11-11 | 2019-06-21 | 精工爱普生株式会社 | 机器人控制装置、机器人、机器人系统及机器人控制方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990543B2 (en) * | 2008-03-11 | 2015-03-24 | Qualcomm Incorporated | System and method for generating and using predicates within a single instruction packet |
JP5620445B2 (ja) * | 2012-09-13 | 2014-11-05 | ファナック株式会社 | 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置 |
KR102580710B1 (ko) * | 2016-07-18 | 2023-09-20 | 삼성전자주식회사 | 전자 장치들의 연동 방법 및 장치 |
JP2018036090A (ja) * | 2016-08-30 | 2018-03-08 | キヤノンプレシジョン株式会社 | エンコーダおよびこれを備えた装置 |
US11485353B2 (en) * | 2019-04-30 | 2022-11-01 | Baidu Usa Llc | Segmenting a parking trajectory to control an autonomous driving vehicle to park |
-
2020
- 2020-02-28 JP JP2020033135A patent/JP2021135881A/ja not_active Withdrawn
-
2021
- 2021-02-25 CN CN202110211655.3A patent/CN113319847B/zh active Active
- 2021-02-26 US US17/186,019 patent/US20210268651A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010120141A (ja) * | 2008-11-21 | 2010-06-03 | Ihi Corp | バラ積みピッキング装置とその制御方法 |
CN105209225A (zh) * | 2013-05-16 | 2015-12-30 | 株式会社神户制钢所 | 控制工业用机器人及外围设备的动作的控制系统及控制方法 |
CN107639653A (zh) * | 2016-07-22 | 2018-01-30 | 精工爱普生株式会社 | 控制装置、机器人以及机器人系统 |
CN109922931A (zh) * | 2016-11-11 | 2019-06-21 | 精工爱普生株式会社 | 机器人控制装置、机器人、机器人系统及机器人控制方法 |
CN108724180A (zh) * | 2017-04-21 | 2018-11-02 | 发那科株式会社 | 机器人系统 |
EP3476549A1 (en) * | 2017-10-27 | 2019-05-01 | Creaholic SA | Hardware module, robotic system, and method for operating the robotic system |
Also Published As
Publication number | Publication date |
---|---|
US20210268651A1 (en) | 2021-09-02 |
CN113319847A (zh) | 2021-08-31 |
JP2021135881A (ja) | 2021-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5778311B1 (ja) | ピッキング装置およびピッキング方法 | |
JP4167954B2 (ja) | ロボット及びロボット移動方法 | |
US20170266815A1 (en) | Control device, robot, and robot system | |
US20150343637A1 (en) | Robot, robot system, and control method | |
KR20190027584A (ko) | 카메라와 로봇 핸드의 캘리브레이션 방법 및 장치 | |
JP6897396B2 (ja) | 制御装置、ロボットシステムおよび制御方法 | |
US20190022859A1 (en) | Robot apparatus, control method for the robot apparatus, assembly method using the robot apparatus, and recording medium | |
US20210268660A1 (en) | Robot Control Method And Robot System | |
JP2014161950A (ja) | ロボットシステム、ロボット制御方法、ロボット較正方法 | |
JP2020028957A (ja) | 干渉回避装置およびロボットシステム | |
CN113858189B (zh) | 机器人的控制方法及机器人系统 | |
CN114055460B (zh) | 示教方法及机器人系统 | |
CN113319847B (zh) | 机器人的控制方法 | |
CN111085993A (zh) | 与人进行协同作业的机器人系统以及机器人控制方法 | |
US20230241780A1 (en) | Robotic System And Robot Control Method | |
CN113492401B (zh) | 校正方法 | |
CN111152228B (zh) | 一种机器人动作自规划系统 | |
CN114939865B (zh) | 校准方法 | |
US20230078238A1 (en) | Teaching Method | |
CN114599485B (zh) | 主从系统以及控制方法 | |
WO2021210514A1 (ja) | ロボットの制御装置及び制御方法、ロボットシステム、ロボットの動作プログラムを生成する装置及び方法 | |
JP2001088074A (ja) | ロボットの制御装置 | |
JP2021183366A (ja) | ロボットシステム、ロボットシステムの制御方法および教示装置 | |
JP2023009776A (ja) | ピッキング方法、ピッキングシステムおよびピッキング制御装置 | |
JP2020163551A (ja) | 制御方法およびロボットシステム |
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 |