掌桥专利:专业的专利平台
掌桥专利
首页

机器人系统及机器人系统的控制方法

文献发布时间:2023-06-19 11:30:53


机器人系统及机器人系统的控制方法

技术领域

本发明涉及机器人系统及机器人系统的控制方法。

背景技术

在专利文献1中,作为对机械或设备等控制对象进行控制的控制装置,公开了一种具备CPU单元、电源单元以及IO单元的可编程逻辑控制器。其中,CPU单元具备微处理器、存储器、芯片组以及包括系统计时器的通信控制器。系统计时器每隔固定的时间间隔产生中断信号并将中断信号提供给微处理器。微处理器利用系统计时器所产生的中断信号按预定的周期反复执行控制程序,从而实现用于控制控制对象的动作。

在这种CPU单元中,微处理器与存储器通过芯片组而连接。因此,在微处理器中执行负荷较大的控制程序的情况下,芯片组或存储器等资源有时会被控制程序占用。此时,在利用了中断信号的其它程序通过芯片组访问了存储器的情况下,从存储器获取数据有时会延迟。这样,执行其它程序的定时会偏离原本的定时。

例如,在具备机械臂的机器人中,基于编码器所获取的位置信息来控制机械臂的驱动。另外,机器人具备相机,在控制装置中处理用相机拍摄到的图像,从而将其用于机械臂的驱动控制。因此,可以说机器人的控制装置具有与专利文献1所记载的可编程逻辑控制器同样的装置结构。

专利文献1:日本特开2018-132829号公报

发明内容

根据进行如上所述的图像处理的机器人,在控制装置中进行图像处理的期间,控制装置的资源被图像处理所占用,对编码器请求位置信息的定时会偏离原本的定时。其结果是,存在如下问题:无法获取准确的位置信息,导致机械臂的驱动速度的精度降低。

本发明的应用例所涉及的机器人系统的特征在于,具备:

机械臂;

编码器,获取所述机械臂的位置信息;

第一控制部,执行控制所述机械臂的动作的控制处理;以及

第二控制部,独立于所述第一控制部设置,对所述编码器发送请求所述位置信息的位置信息请求信号,

所述第二控制部与所述位置信息请求信号的发送对应地发送针对所述第一控制部的中断信号,

所述第一控制部基于所述中断信号和基于所述位置信息请求信号从所述编码器输出的所述位置信息,执行所述控制处理。

在本发明的应用例所涉及的机器人系统的控制方法的特征在于,

所述机器人系统具备:

机械臂;

编码器,获取所述机械臂的位置信息;

第一控制部,执行控制所述机械臂的动作的控制处理;以及

第二控制部,独立于所述第一控制部设置,对所述编码器发送请求所述位置信息的位置信息请求信号,

所述机器人系统的控制方法包括如下步骤:

通过所述第二控制部,对所述编码器发送所述位置信息请求信号,并且对所述第一控制部发送与所述位置信息请求信号对应的中断信号;以及

通过所述第一控制部,基于所述中断信号和基于所述位置信息请求信号从所述编码器输出的所述位置信息,执行所述控制处理。

附图说明

图1是示出第一实施方式所涉及的机器人系统的侧视图。

图2是图1所示的机器人系统的框图。

图3是示出分配到图2的各核的处理的示例的图。

图4是将图2所示的控制装置与机器人之间的信号或数据的流动随着经过时间归纳得到的时序图。

图5是将现有的控制装置与机器人之间的信号或数据的流动随着经过时间归纳得到的时序图。

图6是用于说明第一控制部所具有的异常检测功能的示意图。

图7是示出第一控制部接收到中断信号时与其对应的第一控制部侧轴编号的例子和第二控制部侧轴编号的例子的表。

附图标记说明

1…机器人系统,2…机器人,4…拍摄部,5…控制装置,21…基台,22…机械臂,24…编码器,26…末端执行器,51…第一控制部,52…第二控制部,53…系统总线,54…主存储器,221…臂,222…臂,223…臂,224…臂,225…臂,226…臂,231…第一驱动部,232…第二驱动部,233…第三驱动部,234…第四驱动部,235…第五驱动部,236…第六驱动部,241a…第一主编码器,241b…第一副编码器,242a…第二主编码器,242b…第二副编码器,243a…第三主编码器,243b…第三副编码器,244a…第四主编码器,244b…第四副编码器,245a…第五主编码器,245b…第五副编码器,246a…第六主编码器,246b…第六副编码器,511…第一核,512…第二核,513…第三核,514…第四核,515…二次高速缓冲存储器,J1…第一轴,J2…第二轴,J3…第三轴,J4…第四轴,J5…第五轴,J6…第六轴,d1…第一位置信息,d2…第二位置信息,d3…第三位置信息,d4…第四位置信息,d5…第五位置信息,d6…第六位置信息,da…轴信息,dm1…第一主位置信息,dm2…第二主位置信息,dm3…第三主位置信息,dm4…第四主位置信息,dm5…第五主位置信息,dm6…第六主位置信息,ds1…第一副位置信息,ds2…第二副位置信息,ds3…第三副位置信息,ds4…第四副位置信息,ds5…第五副位置信息,ds6…第六副位置信息,pc1…运算处理,pc2…运算处理,pc3…运算处理,pc4…运算处理,pc5…运算处理,pc6…运算处理,pg1…获取处理,pg2…获取处理,pg3…获取处理,pg4…获取处理,pg5…获取处理,pg6…获取处理,pr1…位置检测动作,pr2…位置检测动作,pr3…位置检测动作,pr4…位置检测动作,pr5…位置检测动作,pr6…位置检测动作,sa…轴信息请求信号,sc1′…控制信号,sc2′…控制信号,sc3′…控制信号,sc4′…控制信号,sc5′…控制信号,sc6′…控制信号,si1…中断信号,si2…中断信号,si3…中断信号,si4…中断信号,si5…中断信号,si6…中断信号,sr1…位置信息请求信号,sr1′…位置信息请求信号,sr2…位置信息请求信号,sr2′…位置信息请求信号,sr3…位置信息请求信号,sr3′…位置信息请求信号,sr4…位置信息请求信号,sr4′…位置信息请求信号,sr5…位置信息请求信号,sr5′…位置信息请求信号,sr6…位置信息请求信号,sr6′…位置信息请求信号,st1…定时信号,st2…定时信号,st3…定时信号,st4…定时信号,st5…定时信号,st6…定时信号,sx…异常信号,t1…期间,t2…期间,t3…期间,t4…期间,t5…期间,t6…期间,t7…期间,t8…期间,t9…期间,t10…期间。

具体实施方式

下面基于附图详细说明本发明的机器人系统和机器人系统的控制方法的优选实施方式。

1、第一实施方式

首先,说明第一实施方式所涉及的机器人系统。

图1是示出第一实施方式所涉及的机器人系统的侧视图。图2是图1所示的机器人系统的框图。

1.1、机器人系统的概要

图1所示的机器人系统1具有机器人2和控制机器人2的工作的控制装置5。机器人系统1的用途虽然没有特别限定,但是可以列举出例如精密仪器或构成其的部件等对象物的供料、除料、输送以及组装等。

图1所示的机器人2具备基台21、与基台21连接的机械臂22以及设置于机械臂22的拍摄部4。

基台21例如固定于地面、墙壁、天花板、能够移动的台车上等被设置部。

机械臂22具有:臂221,其以能够绕第一轴J1转动的方式与基台21连接;臂222,其以能够绕第二轴J2转动的方式与臂221连接;臂223,其以能够绕第三轴J3转动的方式与臂222连接;臂224,其以能够绕第四轴J4转动的方式与臂223连接;臂225,其以能够绕第五轴J5转动的方式与臂224连接;以及臂226,其以能够绕第六轴J6转动的方式与臂225连接。另外,在臂226上安装与使机器人2执行的作业相应的末端执行器26。

此外,机器人2的结构不限于本实施方式的结构,例如,机械臂22所具有的臂的数量也可以是1个~5个,也可以是7个以上。另外,机器人2的种类也可以是SCARA机器人、具有2个机械臂22的双臂机器人。

如图2所示,机器人2具有第一驱动部231、第二驱动部232、第三驱动部233、第四驱动部234、第五驱动部235以及第六驱动部236。第一驱动部231具备:使臂221相对于基台21转动的未图示的电机;以及未图示的减速器。第二驱动部232具备:使臂222相对于臂221转动的未图示的电机;以及未图示的减速器。第三驱动部233具备:使臂223相对于臂222转动的未图示的电机;以及未图示的减速器。第四驱动部234具备:使臂224相对于臂223转动的未图示的电机;以及未图示的减速器。第五驱动部235具备:使臂225相对于臂224转动的未图示的电机;以及未图示的减速器。第六驱动部236具备:使臂226相对于臂225转动的未图示的电机;以及未图示的减速器。

控制装置5控制第一驱动部231、第二驱动部232、第三驱动部233、第四驱动部234、第五驱动部235以及第六驱动部236的各工作,使得臂221~226到达设为目标的位置。

机器人2具有编码器24,该编码器24设置于各驱动部的电机或者减速器的旋转轴并检测旋转轴的旋转角度。由此,编码器24获取机械臂22的位置信息。位置信息是指表示各旋转轴的旋转角度的信息。另外,编码器24具有将获取的位置信息按每一旋转轴发送到控制装置5的功能。

另外,在本实施方式所涉及的机器人2中,编码器24被复用。复用是指,按每一旋转轴设置多个编码器,从而能够获取多个位置信息。能够使编码器24具有冗余性,或者能够更高精度地检测各旋转轴的位置、速度。

具体地,编码器24包括第一主编码器241a、第一副编码器241b、第二主编码器242a、第二副编码器242b、第三主编码器243a、第三副编码器243b、第四主编码器244a、第四副编码器244b、第五主编码器245a、第五副编码器245b、第六主编码器246a以及第六副编码器246b。

第一驱动部231的电机或者减速器设置有检测其旋转轴的旋转角度的第一主编码器241a及第一副编码器241b。第二驱动部232的电机或者减速器设置有检测其旋转轴的旋转角度的第二主编码器242a及第二副编码器242b。第三驱动部233的电机或者减速器设置有检测其旋转轴的旋转角度的第三主编码器243a及第三副编码器243b。第四驱动部234的电机或者减速器设置有检测其旋转轴的旋转角度的第四主编码器244a及第四副编码器244b。第五驱动部235的电机或者减速器设置有检测其旋转轴的旋转角度的第五主编码器245a及第五副编码器245b。第六驱动部236的电机或者减速器设置有检测其旋转轴的旋转角度的第六主编码器246a及第六副编码器246b。

作为各电机,例如可列举AC伺服电机、DC伺服电机等。作为各减速器,例如可列举行星齿轮型减速器、波动齿轮装置等。

各电机通过未图示的电机驱动器与控制装置5电连接。另外,编码器24也与控制装置5电连接。

拍摄部4安装于机械臂22,对由机器人2进行的作业的对象物或末端执行器26进行拍摄。拍摄部4与控制装置5电连接。

1.2、控制装置的硬件结构

控制装置5以能够通信的方式与机器人2连接。控制装置5与机器人2之间既可以通过有线方式来连接,也可以通过无线方式来连接。

控制装置5具备第一控制部51、第二控制部52、系统总线53以及主存储器54。

第一控制部51包括CPU(Central Processing Unit:中央处理器)或MPU(MicroProcessing Unit:微处理器)等处理器。该处理器可以是以多任务运行的单核处理器,但优选为多核处理器。通过使用多核处理器,能够将不同的应用程序的执行分配到各核。由此,能够顺利地执行各应用程序,能够提高控制装置5的性能,尤其能够提高实时性。

图2所示的第一控制部51具备多核处理器,该处理器包括第一核511、第二核512、第三核513以及第四核514。此外,处理器的核数不限于四个。

图3是示出分配到图2的各核的处理的示例的图。图3所示的例子是通过非对称型多重处理(AMP)使第一控制部51所使用的多核的处理器工作的例子。非对称型多重处理是在一个处理器上使不同的OS(Operating System:操作系统)或裸机(bare-metal)混合存在的技术。

第一核511被分配机器人2的控制处理,该机器人2的控制处理包括对机械臂22的动作进行控制的机械臂控制处理。

第二核512和第三核513被分配图像处理。作为图像处理,例如可列举由拍摄部4进行的拍摄处理、针对所得到的图像的过滤处理等。

这些第一核511、第二核512以及第三核513被分配例如Linux(注册商标)那样的通用OS。由此,能够使这些第一核511、第二核512以及第三核513执行包括上述处理的各种通用处理。作为通用处理,除上述的图像处理之外,例如可举出针对力觉传感器、压敏传感器、接近传感器等的输出的运算处理等。

第四核514例如被分配如下处理:关于机械臂22的动作位置的处理、关于机械臂22的动作速度的处理、关于与第二控制部52的通信的处理、关于其它通信的处理等。这些处理分别是按预定的时间间隔被请求执行的处理,因此,在此将其称为“预定间隔处理”。此外,其它通信可列举例如关于现场总线的处理、关于标准输入输出的处理等。另外,预定的时间间隔虽然没有特别限定,但是设为例如几十微秒~几毫秒程度。

第四核514例如是未被分配OS的所谓的裸机。裸机也被称为裸机型系统管理程序(hypervisor),是指能够不经由OS而在硬件上直接执行应用程序的虚拟化环境或者构建该虚拟化环境的虚拟化软件。通过将第四核514设为裸机,与对第四核514分配了通用OS的情况相比,更容易无迟滞地执行预定间隔处理。也就是说,能够提高实时性。此外,第四核514不限于裸机,例如也可以是被分配了任意OS的结构。

第一控制部51可以包括与第一核511、第二核512、第三核513以及第四核514分别对应的未图示的一次高速缓冲存储器。

另一方面,图2所示的第一控制部51包括在第一核511、第二核512、第三核513以及第四核514中共用的二次高速缓冲存储器515。

此外,核之间以及各核与二次高速缓冲存储器515之间通过未图示的互连线以能够通信的方式连接。

第一控制部51除上述之外也可以包括未图示的系统计时器等。

第一控制部51的硬件结构可以是上述的各部在物理性上独立的结构,但优选是集成到一个芯片的结构。具体地,第一控制部51的硬件结构优选是SoC(System On Chip:片上系统)。由此,能够实现第一控制部51的小型化、省电化以及低成本化。

第二控制部52包括FPGA(Field-Programmable Gate Array:现场可编程门阵列)、ASIC(Application Specific Integrated Circuit:专用集成电路)等元件。第二控制部52具有:按预定的时间间隔生成定时信号的功能、生成定时信号并生成中断信号并将它们发送到第一控制部51的功能、与生成定时信号并生成位置信息请求信号并将它们发送到编码器24的功能等。

第二控制部52通过图2所示的系统总线53与第一控制部51以能够通信的方式连接。

另外,系统总线53以能够通信的方式连接有主存储器54。作为主存储器54,例如可举出RAM(Random Access Memory:随机存取存储器)等。除此之外,系统总线53也可以以能够通信的方式连接有未图示的各种接口、非易失性存储器、通信控制器等。此外,系统总线53也可以独立地构成为:第一专用总线,其将第一控制部51与第二控制部52连接;以及第二专用总线,其将第一控制部51与主存储器54连接。

1.3、控制装置的软件结构

接着,对控制装置5的软件结构、即控制装置5的工作例进行说明。下面,以控制装置5从编码器24获取位置信息或速度信息的工序为例,来说明在控制装置5与机器人2之间进行收发的信号或数据。

图4是将图2所示的控制装置5与机器人2之间的信号或数据的流动(流れ)随着经过时间归纳得到的时序图。此外,在图4中,箭头示出信号或数据的流动。另外,实线的四角示出处理、动作、或者信号等的收发。箭头将实线的四角彼此连接。

图4的横轴是时间轴,时间从左向右推进。在图4中,将最初的期间设为期间t1,将其后的期间设为期间t2,之后的期间陆续为期间t3、期间t4、…。各期间的长度彼此相等。另外,图4所示的处理对象轴示出关于第一控制部51的第四核514分时执行的、与位置信息有关的处理成为其对象的轴。具体地,处理对象轴示出在各期间内第一控制部51的第四核514对位置信息进行处理的对象的轴是上述的第一轴J1、第二轴J2、第三轴J3、第四轴J4、第五轴J5以及第六轴J6中的哪一个。在处理对象轴上依次设定从第一轴J1到第六轴J6的各轴,并且重复设定这些轴。

在图4的纵轴上列举出了控制装置5或者机器人2的各部。上述的箭头的起点及终点分别位于图4的纵轴所示的各部中的任意一者。此外,图4所示的第二控制部52的发送侧是指第二控制部52中对各部发送信号的区域。另外,图4所示的第二控制部52的接收侧是指第二控制部52中从编码器24接收位置信息的数据并将该位置信息向第一控制部51发送的区域。

1.3.1、期间t1

在图4所示的最初的期间t1中,基于第二控制部52所产生的一个定时信号st4,从第二控制部52向第一控制部51发送中断信号si4。

在第一控制部51的第四核514中接收中断信号si4,并以此为触发事件而执行关于第四轴J4的位置的处理。该处理包括:获取处理pg4,其获取在期间t1之前的期间从第二控制部52发送的关于第四轴J4的未图示的位置信息;以及运算处理pc4,其根据位置信息求出第四轴J4的位置、速度。通过这些处理,得到第四轴J4的位置、即第四轴J4的从原点起的转动角度,并且基于求出的位置的每单位时间的变化量来得到第四轴J4的转动速度。此外,关于处理的详细内容将后述。

另一方面,在该期间t1中,基于第二控制部52所产生的一个定时信号st4,从第二控制部52向第一主编码器241a及第一副编码器241b发送位置信息请求信号sr1。

第一主编码器241a和第一副编码器241b分别接收位置信息请求信号sr1,并以此为触发事件而进行检测第一轴J1的位置的位置检测动作pr1。接下来,第一主编码器241a和第一副编码器241b将通过位置检测动作pr1获取的作为关于第一轴J1的位置的信息的第一主位置信息dm1及第一副位置信息ds1依次发送到第二控制部52。

第二控制部52接收第一主位置信息dm1及第一副位置信息ds1,并将这些信息整合。然后,第二控制部52将整合后的信息作为关于第一轴J1的位置、状态的第一位置信息d1保存到例如二次高速缓冲存储器515并由第一控制部51来读出。

此外,上述的各种信号或数据的收发无需在期间t1内进行,也可以在期间t1之后的期间进行。在图4中,作为示例,在期间t2分别进行第一主位置信息dm1及第一副位置信息ds1的发送以及第一位置信息d1的读出。

此外,保存第一位置信息d1的部件不限于二次高速缓冲存储器515,也可以是第二控制部52所具备的未图示的存储部。对于后述的第二位置信息d2及其之后的信息也是同样的。

1.3.2、期间t2

在图4所示的期间t2中,基于第二控制部52所产生的定时信号st5,从第二控制部52向第一控制部51发送中断信号si5。

在第一控制部51的第四核514中接收中断信号si5,并以此为触发事件而执行关于第五轴J5的位置的处理。该处理包括:获取处理pg5,其获取在期间t2之前的期间从第二控制部52发送的关于第五轴J5的未图示的位置信息;以及运算处理pc5,其根据位置信息求出第五轴J5的位置、速度。通过这些处理,得到第五轴J5的位置、即第五轴J5的从原点起的转动角度,并且基于求出的位置的每单位时间的变化量来得到第五轴J5的转动速度。此外,关于处理的详细内容将后述。

另一方面,在该期间t2中,基于第二控制部52所产生的定时信号st5,从第二控制部52向第二主编码器242a及第二副编码器242b发送位置信息请求信号sr2。

第二主编码器242a及第二副编码器242b分别接收位置信息请求信号sr2,并以此为触发事件而进行检测第二轴J2的位置的位置检测动作pr2。接下来,第二主编码器242a及第二副编码器242b将通过位置检测动作pr2获取的作为关于第二轴J2的位置的信息的第二主位置信息dm2及第二副位置信息ds2依次发送到第二控制部52。

第二控制部52接收第二主位置信息dm2及第二副位置信息ds2,并将这些信息整合。然后,第二控制部52将整合后的信息作为关于第二轴J2的位置、状态的第二位置信息d2保存到例如二次高速缓冲存储器515并由第一控制部51来读出。

此外,上述的各种信号或数据的收发无需在期间t2内进行,也可以在期间t2之后的期间进行。在图4中,作为示例,在期间t3分别进行第二主位置信息dm2及第二副位置信息ds2的发送以及第二位置信息d2的读出。

1.3.3、期间t3

在图4所示的期间t3中,基于第二控制部52所产生的定时信号st6,从第二控制部52向第一控制部51发送中断信号si6。

在第一控制部51的第四核514中接收中断信号si6,并以此为触发事件而执行关于第六轴J6的位置的处理。该处理包括:获取处理pg6,其获取在期间t3之前的期间从第二控制部52发送的关于第六轴J6的未图示的位置信息;以及运算处理pc6,其根据位置信息求出第六轴J6的位置、速度。通过这些处理,得到第六轴J6的位置、即第六轴J6的从原点起的转动角度,并且基于求出的位置的每单位时间的变化量来得到第六轴J6的转动速度。此外,关于处理的详细内容将后述。

另一方面,在该期间t3中,基于第二控制部52所产生的定时信号st6,从第二控制部52向第三主编码器243a及第三副编码器243b发送位置信息请求信号sr3。

第三主编码器243a及第三副编码器243b分别接收位置信息请求信号sr3,并以此为触发事件而进行检测第三轴J3的位置的位置检测动作pr3。接下来,第三主编码器243a及第三副编码器243b将通过位置检测动作pr3获取的作为关于第三轴J3的位置的信息的第三主位置信息dm3及第三副位置信息ds3依次发送到第二控制部52。

第二控制部52接收第三主位置信息dm3及第三副位置信息ds3,并将这些信息整合。然后,第二控制部52将整合后的信息作为关于第三轴J3的位置、状态的第三位置信息d3保存到例如二次高速缓冲存储器515并由第一控制部51来读出。

此外,上述的各种信号或数据的收发无需在期间t3内进行,也可以在期间t3之后的期间进行。在图4中,作为示例,在期间t4分别进行第三主位置信息dm3及第三副位置信息ds3的发送以及第三位置信息d3的读出。

1.3.4、期间t4

在图4所示的期间t4中,基于第二控制部52所产生的定时信号st1,从第二控制部52向第一控制部51发送中断信号si1。

在第一控制部51的第四核514中接收中断信号si1,并以此为触发事件而执行关于第一轴J1的位置的处理。该处理包括:获取处理pg1,其获取在上述的期间t1从第二控制部52发送的关于第一轴J1的第一位置信息d1;以及运算处理pc1,其根据位置信息求出第一轴J1的位置、速度。通过这些处理,得到第一轴J1的位置、即第一轴J1的从原点起的转动角度,并且基于求出的位置的每单位时间的变化量来得到第一轴J1的转动速度。

在此,在第四核514中,当执行获取处理pg1和运算处理pc1时,如上所述,其定时是基于中断信号si1决定的。另一方面,这些处理所使用的第一位置信息d1向第一控制部51发送的定时是基于在上述的期间t1从第二控制部52发送的位置信息请求信号sr1决定的。

因而,中断信号si1是基于定时信号st1发送的,位置信息请求信号sr1是基于期间t1中的定时信号st4发送的。这些定时信号st1、st4在独立于第一控制部51的第二控制部52中按预定的间隔精度良好地产生。由此,使得与位置信息请求信号sr1对应且保存于二次高速缓冲存储器515中的第一位置信息d1在期间t4被第一控制部51读出。换言之,利用精度高的定时信号st1、st4将各信号的发送定时最佳化,从而第一控制部51能够在即将开始上述的获取处理pg1和运算处理pc1之前,读入该处理所需的第一位置信息d1。由此,无需另行准备使两者的定时同步的处理,能够实现控制装置5的结构的简化。

另一方面,在该期间t4中,基于第二控制部52所产生的定时信号st1,从第二控制部52向第四主编码器244a及第四副编码器244b发送位置信息请求信号sr4。

第四主编码器244a及第四副编码器244b分别接收位置信息请求信号sr4,并以此为触发事件而进行检测第四轴J4的位置的位置检测动作pr4。接下来,第四主编码器244a及第四副编码器244b将通过位置检测动作pr4获取的作为关于第四轴J4的位置的信息的第四主位置信息dm4及第四副位置信息ds4依次发送到第二控制部52。

第二控制部52接收第四主位置信息dm4及第四副位置信息ds4,并将这些信息整合。然后,第二控制部52将整合后的信息作为关于第四轴J4的位置、状态的第四位置信息d4保存到例如二次高速缓冲存储器515并由第一控制部51来读出。

此外,上述的各种信号或数据的收发无需在期间t4内进行,也可以在期间t4之后的期间进行。在图4中,作为示例,在期间t5分别进行第四主位置信息dm4及第四副位置信息ds4的发送以及第四位置信息d4的读出。

1.3.5、期间t5

在图4所示的期间t5中,基于第二控制部52所产生的定时信号st2,从第二控制部52向第一控制部51发送中断信号si2。

在第一控制部51的第四核514中接收中断信号si2,并以此为触发事件而执行关于第二轴J2的位置的处理。该处理包括:获取处理pg2,其获取在上述的期间t2从第二控制部52发送的关于第二轴J2的第二位置信息d2;以及运算处理pc2,其根据位置信息求出第二轴J2的位置、速度。通过这些处理,得到第二轴J2的位置、即第二轴J2的从原点起的转动角度,并且基于求出的位置的每单位时间的变化量来得到第二轴J2的转动速度。

在此,在第四核514中,当执行获取处理pg2及运算处理pc2时,如上所述,其定时是基于中断信号si2决定的。另一方面,这些处理所使用的第二位置信息d2向第一控制部51发送的定时是基于在上述的期间t2中从第二控制部52发送的位置信息请求信号sr2决定的。

因而,中断信号si2是基于定时信号st2发送的,位置信息请求信号sr2是基于期间t2中的定时信号st5发送的。这些定时信号st2、st5在独立于第一控制部51的第二控制部52中按预定的间隔精度良好地产生。由此,使得与位置信息请求信号sr2对应且保存于二次高速缓冲存储器515中的第二位置信息d2在期间t5被第一控制部51读出。换言之,利用精度高的定时信号st2、st5将各信号的发送定时最佳化,从而第一控制部51能够在即将开始上述的获取处理pg2及运算处理pc2之前,读入该处理所需的第二位置信息d2。由此,无需另行准备使两者的定时同步的处理,能够实现控制装置5的结构的简化。

另一方面,在该期间t5中,基于第二控制部52所产生的定时信号st2,从第二控制部52向第五主编码器245a及第五副编码器245b发送位置信息请求信号sr5。

第五主编码器245a和第五副编码器245b分别接收位置信息请求信号sr5,并以此为触发事件而进行检测第五轴J5的位置的位置检测动作pr5。接下来,第五主编码器245a及第五副编码器245b将通过位置检测动作pr5获取的作为关于第五轴J5的位置的信息的第五主位置信息dm5及第五副位置信息ds5依次发送到第二控制部52。

第二控制部52接收第五主位置信息dm5及第五副位置信息ds5,并将这些信息整合。并且,第二控制部52将整合后的信息作为关于第五轴J5的位置、状态的第五位置信息d5保存到例如二次高速缓冲存储器515并由第一控制部51来读出。

此外,上述的各种信号或数据的收发无需在期间t5内进行,也可以在期间t5之后的期间进行。在图4中,作为示例,在期间t6分别进行第五主位置信息dm5及第五副位置信息ds5的发送以及第五位置信息d5的读出。

1.3.6、期间t6

在图4所示的期间t6中,基于第二控制部52所产生的定时信号st3,从第二控制部52向第一控制部51发送中断信号si3。

在第一控制部51的第四核514中接收中断信号si3,并以此为触发事件而执行关于第三轴J3的位置的处理。该处理包括:获取处理pg3,其获取在上述的期间t3中从第二控制部52发送的关于第三轴J3的第三位置信息d3;以及运算处理pc3,其根据位置信息求出第三轴J3的位置、速度。通过这些处理,得到第三轴J3的位置、即第三轴J3的从原点起的转动角度,并且基于求出的位置的每单位时间的变化量来得到第三轴J3的转动速度。

在此,在第四核514中,当执行获取处理pg3和运算处理pc3时,如上所述,其定时是基于中断信号si3决定的。另一方面,这些处理所使用的第三位置信息d3向第一控制部51发送的定时是基于在上述的期间t3中从第二控制部52发送的位置信息请求信号sr3决定的。

因而,中断信号si3是基于定时信号st3发送的,位置信息请求信号sr3是基于期间t3中的定时信号st6发送的。这些定时信号st3、st6在独立于第一控制部51的第二控制部52中按预定的间隔精度良好地产生。由此,使得与位置信息请求信号sr3对应且保存于二次高速缓冲存储器515中的第三位置信息d3在期间t6被第一控制部51读出。换言之,利用精度高的定时信号st3、st6将各信号的发送定时最佳化,从而第一控制部51能够在即将开始上述的获取处理pg3和运算处理pc3之前,读入该处理所需的第三位置信息d3。由此,无需另行准备使两者的定时同步的处理,能够实现控制装置5的结构的简化。

另一方面,在该期间t6中,基于第二控制部52所产生的定时信号st3,从第二控制部52向第六主编码器246a及第六副编码器246b发送位置信息请求信号sr6。

第六主编码器246a及第六副编码器246b分别接受位置信息请求信号sr6,并以此为触发事件而进行检测第六轴J6的位置的位置检测动作pr6。接下来,第六主编码器246a及第六副编码器246b将通过位置检测动作pr6获取的作为关于第六轴J6的位置的信息的第六主位置信息dm6及第六副位置信息ds6依次发送到第二控制部52。

第二控制部52接收第六主位置信息dm6及第六副位置信息ds6,并将这些信息整合。然后,第二控制部52将整合后的信息作为关于第六轴J6的位置、状态的第六位置信息d6保存到例如二次高速缓冲存储器515并由第一控制部51来读出。

此外,上述的各种信号或数据的收发无需在期间t6内进行,也可以在期间t6之后的期间进行。在图4中,作为示例,在期间t7分别进行第六主位置信息dm6及第六副位置信息ds6的发送以及第六位置信息d6的读出。

1.3.7、期间t7及其之后

在图4所示的期间t7及其之后,具体为在期间t7~t10中,与上述的期间t1~t6相同地,重复进行信号或数据的收发、动作、处理等。其结果是,在控制装置5中,能够按预定的间隔获取从第一轴J1到第六轴J6的各轴的位置、速度等。然后,在控制装置5中,能够基于获取的位置、速度等合理地控制机械臂22的动作。

1.3.8、与现有技术的对比

在此,说明现有技术与本实施方式的不同点。

图5是将现有的控制装置与机器人之间的信号或数据的流动随着经过时间归纳得到的时序图。图5的横轴及纵轴与图4相同。此外,为了便于说明,在图5中,对与图4相同的构成标注同一附图标记。

在上述的图4中,基于第二控制部52所产生的定时信号st4、st5、st6、st1、…,从第二控制部52发送位置信息请求信号sr1、sr2、sr3、sr4、…。此外,定时信号st4、st5、st6、st1、…的产生周期没有特别限定,例如是几十微秒。

另一方面,在示出现有技术的图5中,从第一控制部51发送关于位置信息的获取的控制信号sc4′、sc5′、sc6′、sc1′、…,来代替上述定时信号。然后,接收到该信号的第二控制部52向编码器24发送位置信息请求信号sr1′、sr2′、sr3′、sr4′、…。

也就是说,区别点在于:在上述的图4中,是从第二控制部52产生定时信号st4、st5、st6、st1、…,并基于这些信号从第二控制部52发送位置信息请求信号sr1、sr2、sr3、sr4、…,而在示出现有技术的图5中,是从第一控制部51向第二控制部52发送控制信号sc4′、sc5′、sc6′、sc1′、…,并基于这些信号从第二控制部52发送位置信息请求信号sr1′、sr2′、sr3′、sr4′、…。

在这种情况下,位置信息请求信号sr1′、sr2′、sr3′、sr4′、…的发送间隔取决于控制信号sc4′、sc5′、sc6′、sc1′、…的发送间隔。

如图5所示,第一控制部51中的控制信号sc4′、sc5′、sc6′、sc1′、…的发送是基于第四核514中的预定间隔处理进行的。在此,在获取处理pg4、pg5、pg6、pg1、…即将开始前,执行发送该控制信号sc4′、sc5′、sc6′、sc1′、…的预定间隔处理。

然而,在第一控制部51中,有时与该预定间隔处理并行地执行图像处理等通用处理。这种通用处理会暂时占用第一控制部51的二次高速缓冲存储器515、系统总线53。这样,预定间隔处理所需的程序从二次高速缓冲存储器515被挤出来,导致在开始预定间隔处理的定时上发生延迟。这是现有技术中存在的问题。下面更具体地说明该问题。

在示出现有技术的图5中,示出了在期间t7中发送控制信号sc4′的预定间隔处理的开始发生了延迟的例子。当控制信号sc4′的发送发生延迟时,从第二控制部52发送位置信息请求信号sr1′的定时也会发生延迟。这样,检测第一轴J1的位置的位置检测动作pr1的开始也发生延迟,第一主位置信息dm1及第一副位置信息ds1的发送以及第一位置信息d1的发送也分别发生延迟。为了便于说明,在图5中,对处理的开始发生了延迟的期间t7的预定间隔处理标注点。并且,对受到该延迟的影响的处理、动作也一并标注点。

另一方面,示出了在图5的期间t8中发送控制信号sc5′的预定间隔处理按最初设想的定时开始的例子。这样,从第二控制部52发送位置信息请求信号sr2′的定时也与设想的相同。并且,将检测第二轴J2的位置的位置检测动作pr2开始的定时也与设想的相同,第二主位置信息dm2及第二副位置信息ds2的发送以及第二位置信息d2的发送也会按最初的设想的定时分别进行。

最终,在第二控制部52中,如图5所示,例如发生接收第一副位置信息ds1的期间与接收第二主位置信息dm2的期间的重叠。由此,在第二控制部52中发生数据的干扰,无法得到正常的数据。其结果是,发生关于第一轴J1、第二轴J2无法获取准确的位置、速度的问题。

另外,在第一控制部51中,以按预定的时间间隔执行位置检测动作pr1、pr2、pr3、pr4、…为前提,根据各轴的位置来算出速度。然而,如图5所示,若控制信号sc4′的发送发生了延迟,则位置检测动作pr1的开始发生延迟,该前提不再成立。由此,也会产生算出的速度的精度降低这一问题。

与此相对,在示出本实施方式的图4中,基于第二控制部52所产生的定时信号st4、st5、st6、st1、…,从第二控制部52发送位置信息请求信号sr1、sr2、sr3、sr4、…。该定时信号st4、st5、st6、st1、…是从独立于第一控制部51的第二控制部52产生的信号。因而,定时信号st4、st5、st6、st1、…的产生间隔与第一控制部51的状态无关,被维持为预定的间隔。也就是说,在第一控制部51中,在二次高速缓冲存储器515、系统总线53被图像处理等占用的情况下,定时信号st4、st5、st6、st1、…的产生间隔也不会被其左右。因而,基于定时信号st4、st5、st6、st1、…发送的位置信息请求信号sr1、sr2、sr3、sr4、…的发送也与第一控制部51的状态无关,不会发生延迟。其结果是,可以防止数据干扰的发生,并且可以保持上述前提,因此,在控制装置5中能够获取准确的位置、速度。

不过,在本实施方式中,在第一控制部51的二次高速缓冲存储器515、系统总线53被通用处理占用的情况下,也有可能会发生预定间隔处理的延迟。在图4中,示出了在期间t7中获取处理pg4及运算处理pc4的开始发生了延迟的例子。为了便于说明,在图4中,对开始发生了延迟的处理标注点。

但是,在本实施方式中,即使发生了这种预定间隔处理的延迟,位置信息请求信号sr1的发送也不会延迟。因此,第一控制部51能够不发生数据的干扰地在期间t10获取正常的第一位置信息d1。另外,位置信息请求信号sr1的发送不会延迟,因此可以保证控制装置5获取准确的速度。

并且,控制装置5能够基于这样获取的各轴的位置、速度,执行精度良好地控制机械臂22的动作的控制处理。

如上所述,本实施方式所涉及的机器人系统1具备:机械臂22;编码器24,其获取机械臂22的位置信息;第一控制部51,其执行控制机械臂22的动作的控制处理;以及第二控制部52,其独立于第一控制部51设置,对编码器24发送请求位置信息的位置信息请求信号sr1、sr2、sr3、sr4、…。然后,第二控制部52与位置信息请求信号sr1、sr2、sr3、sr4、…的发送对应地发送针对第一控制部51的中断信号si4、si5、si6、si1、…。另外,第一控制部51基于中断信号si4、si5、si6、si1、…和基于位置信息请求信号sr1、sr2、sr3、sr4、…从编码器24输出的位置信息,执行控制处理。

根据这种机器人系统1,在控制装置5中,能够获取机械臂22的准确的位置、速度。因此,控制装置5能够精度良好地控制机械臂22的动作。也就是说,当基于来自编码器24的位置信息控制机械臂22的动作时,即使在由第一控制部51执行着图像处理等负荷大的通用处理的情况下,也能够实现可以抑制动作精度降低的机器人系统1。

此外,第二控制部52独立于第一控制部51是指如下状态:在第一控制部51和第二控制部52中不共用高速缓冲存储器或者代替高速缓冲存储器的存储器。因而,第一控制部51和第二控制部52既可以是彼此独立的元件,也可以集成到一个芯片中。

另外,图2所示的机器人系统1具备拍摄部4。并且,第一控制部51构成为执行关于用拍摄部4获取的图像的图像处理。这种图像处理是二次高速缓冲存储器515、系统总线53的占用率高的处理,但在执行这种处理的控制装置5中,上述的效果特别有意义。

另外,图2所示的编码器24如上所述被复用。由此,能够使编码器24具有冗余性或者更高精度地检测基于来自编码器24的位置信息得到的各旋转轴的位置、速度。

另外,第二控制部52如上所述构成为:按预定的间隔反复进行位置信息请求信号sr1、sr2、sr3、sr4、…的发送。并且,通过预先得知该间隔,能够基于从编码器24获取的位置信息在第一控制部51中算出各轴的转动速度。也就是说,即使在位置信息中不包含时刻信息,也能够算出转动速度,因此能够实现控制装置5的结构的简化。

另外,本实施方式所涉及的机器人系统1的控制方法是控制机器人系统1的方法,机器人系统1具备:机械臂22;编码器24,其获取机械臂22的位置信息;第一控制部51,其执行控制机械臂22的动作的控制处理;以及第二控制部52,其独立于第一控制部51设置,对编码器24发送请求位置信息的位置信息请求信号sr1、sr2、sr3、sr4、…。

该控制方法具有如下步骤:通过第二控制部52对编码器24发送位置信息请求信号sr1、sr2、sr3、sr4、…,并且对第一控制部51发送与位置信息请求信号sr1、sr2、sr3、sr4、…对应的中断信号si4、si5、si6、si1、…;以及通过第一控制部51,基于中断信号si4、si5、si6、si1、…和基于位置信息请求信号sr1、sr2、sr3、sr4、…从编码器24输出的位置信息,执行控制处理。

根据这种控制方法,在机器人系统1的控制装置5中,能够获取机械臂22的准确的位置、速度。因此,控制装置5能够精度良好地控制机械臂22的动作。也就是说,当基于来自编码器24的位置信息控制机械臂22的动作时,即使在由第一控制部51执行着图像处理等负荷大的通用处理的情况下,也能够抑制动作精度的降低。

此外,第一控制部51也可以具有如下异常检测功能:检测是否正常收发第二控制部52向第一控制部51发送的中断信号si4、si5、si6、si1、…。

图6是用于说明第一控制部51所具有的异常检测功能的示意图。具体地,图6是示意性地示出从第二控制部52向第一控制部51发送的中断信号si4、si5、si6、si1、…的信号波形、以及轴信息请求信号sa及轴信息da的流动的图。

第一控制部51接收如图6所示的按预定的周期产生的中断信号si4、si5、si6、si1、…,并以此为触发事件而执行上述的获取处理pg4、pg5、pg6、pg1、…以及运算处理pc4、pc5、pc6、pc1、…。在此,第一控制部51具有如下功能:对接收到的中断信号的数量进行计数,将其与已知的轴数量对照,从而确定各获取处理中第一控制部51所获取的位置信息是关于哪个轴的信息。在此,将这样在第一控制部51的内部确定出的轴编号称为“第一控制部侧轴编号”。轴编号例如在第一轴J1的情况下是1,在第二轴J2的情况下是2。

另一方面,除此之外,图6所示的第一控制部51对第二控制部52请求关于各轴的信息。也就是说,第一控制部51具有发送轴信息请求信号sa的功能。另外,图6所示的第二控制部52具有基于轴信息请求信号sa对第一控制部51返回轴信息da的功能。在此,第二控制部52具有如下功能:例如对已发送的中断信号的数量进行计数,将其与已知的轴数量对照,从而确定轴信息da的功能。然后,将这样在第二控制部52的内部确定的轴编号作为轴信息da返回给第一控制部51。与中断信号si4、si5、si6、si1、…对应并按预定的间隔重复进行轴信息请求信号sa的发送和轴信息da的返回。在此,将基于这样从第二控制部52返回的轴信息da的轴编号称为“第二控制部侧轴编号”。

图7是示出当第一控制部51接收了中断信号si1、si2、si3时与之对应的第一控制部侧轴编号的例子和第二控制部侧轴编号的例子的表。此外,在图7中,示出划分为正常时、也就是正常收发中断信号si1、si2、si3的情况、发生噪声时以及发生遗漏时的三个表。

当接收了中断信号si1、si2、si3时,第一控制部51如上所述通过获取处理pg1、pg2、pg3获取第一位置信息d1、第二位置信息d2、第三位置信息d3。因而,正常时,第一控制部侧轴编号为1、2、3,第二控制部侧轴编号也为1、2、3。其结果是,在第一控制部51对第一控制部侧轴编号与第二控制部侧轴编号进行对照且它们一致的情况下,检测出中断信号si4、si5、si6、si1、…的收发是正常的。

接着,关于发生噪声时进行说明。噪声是指可能被误认为中断信号si1、si2、si3的异常信号。在图7的例子中,异常信号sx混入到中断信号si2与中断信号si3之间。

当接收了异常信号sx时,第一控制部51将该异常信号sx误认为原本的中断信号si3。因此,与异常信号sx对应的第一控制部侧轴编号则为3。另一方面,第二控制部52在该时间点还未发送中断信号si3,因此第二控制部侧轴编号则保持2不变。这样,第一控制部51检测出第一控制部侧轴编号与第二控制部侧轴编号的不匹配。具体为检测出第一控制部侧轴编号>第二控制部侧轴编号这一大小关系。在检测出这种不匹配的情况下,第一控制部51判断为异常信号sx是噪声。在这样判断的情况下,第一控制部51不进行将中断信号的接收作为触发事件而执行的处理。由此,能够避免由于噪声原因导致的在错误的定时开始获取处理、运算处理。

接着,关于发生遗漏时进行说明。遗漏是指无法接收中断信号si1、si2、si3中的至少1个。在图7中,示出虽然第二控制部52发送了中断信号si1、si2、si3但是第一控制部51仅接收到中断信号si2的例子。

在这种情况下,原本接收中断信号si2的定时处的第一控制部侧轴编号保持1不变。另一方面,由于该定时是第二控制部52发送中断信号si2之后的定时,所以第二控制部侧轴编号为2。

然后,接收中断信号si3的定时处的第一控制部侧轴编号为2。另一方面,由于该定时是第二控制部52发送中断信号si3之后的定时,所以第二控制部侧轴编号为3。

这样,第一控制部51检测出第一控制部侧轴编号与第二控制部侧轴编号的不匹配。具体为检测出第一控制部侧轴编号<第二控制部侧轴编号这一大小关系。在检测出这种不匹配的情况下,第一控制部51判断为发生了中断信号si2的遗漏。在这样判断的情况下,第一控制部51只要进行对第一控制部侧轴编号加1的处理,使得第一控制部侧轴编号与第二控制部侧轴编号一致即可。

如上所示,本实施方式所涉及的机械臂22具有多个臂221~226,机器人系统1具备分别与臂221~226对应的编码器24。并且,如图6和图7所示,第一控制部51具有执行如下比较处理的功能:对与中断信号si1、si2、si3对应且作为第一控制部51所持有的第一个体信息的第一控制部侧轴编号和与中断信号si1、si2、si3对应且作为对第二控制部52请求并获取的第二个体信息的第二控制部侧轴编号进行比较。

根据这种构成,对第一控制部侧轴编号和第二控制部侧轴编号进行比较,从而能够检测中断信号si1、si2、si3的噪声或遗漏。由此,能够防止在忽略了异常的中断信号的状态下继续进行各种处理。其结果是,能够防止各轴的位置、速度的检测精度降低。

此外,在中断信号si1、si2、si3的遗漏频发的情况下,各轴的位置、速度的检测精度降低,因此,机器人系统1也可以使其工作停止。

作为示例,第一控制部51具有如下功能:当上述的比较处理的结果是作为第一个体信息的第一控制部侧轴编号与作为第二个体信息的第二控制部侧轴编号不一致达到预定次数以上时输出异常信号。由此,控制装置5能够基于异常信号使机器人系统1的工作停止。其结果是,能够提高机器人系统1的安全性。

此外,异常信号的输出既可以在噪声混入了中断信号si1、si2、si3的情况和中断信号si1、si2、si3发生了遗漏的情况这两种情况下进行,也可以在仅任意一种情况下进行。例如,在中断信号si1、si2、si3的遗漏发生了预定次数以上的情况下,能够想到会对各轴的位置、速度的检测精度的影响较大,因此希望输出异常信号。虽然预定的次数没有特别限定,但是例如可以设定为三次或者更多的次数。

上面基于图示的实施方式说明了本发明的机器人系统和机器人系统的控制方法,但本发明不限于此,各部的构成能够替换为具有同样功能的任意构成。另外,也可以对上述实施方式附加其它任意构成物。

相关技术
  • 一种机器人系统的控制单元、机器人系统及机器人系统的控制方法
  • 机器人控制系统、机器人控制方法及机器人控制系统用的用户设备
技术分类

06120112954600