机器人系统以及机器人的控制装置
文献发布时间:2023-06-19 11:24:21
技术领域
本发明涉及机器人系统以及机器人的控制装置。
背景技术
专利文献1公开了一种微型计算机的异常检测装置,具备:计时器时钟生成部、自由运行计数器、第二计时器时钟生成部、第二自由运行计数器、比较部和判定部。其中,计时器时钟生成部以及第二计时器时钟生成部基于系统时钟生成计时器时钟以及第二计时器时钟。另外,自由运行计数器基于计时器时钟进行计数,第二自由运行计数器基于第二计时器时钟进行计数。而且,比较部比较自由运行计数器和第二自由运行计数器的值,判定部在比较部中双方的自由运行计数器的值不一致时,判定为自由运行计数器为异常。
另外,专利文献1公开了:自由运行计数器由预定位数的计数器电路构成;产生进位时复位归零后,再度进行向上计数。
专利文献1:日本特开2007-26028号公报
发明内容
假定专利文献1中记载的自由运行计数器以及第二自由运行计数器中的例如第二自由运行计数器产生异常的情况加以研究。在该假定中,由于产生异常,因此第二自由运行计数器的进行向上计数与第二自由运行计数器被复位的周期有时在相同期间停止,之后重启。这样的情况下,即使比较自由运行计数器的值和再度开始后的第二自由运行计数器的值,在判定部中也不能检测第二自由运行计数器停止这样的异常。在将这样的异常检测装置应用于机器人系统的情况下,不能检测机器人臂的准确位置,因此存在机器人臂的动作精度降低这样的问题。
本发明的适用例所涉及的机器人系统具备:
机器人臂;
驱动部,驱动所述机器人臂;
编码器,检测所述机器人臂的位置;
驱动控制部,在所述驱动控制部与所述编码器之间依次收发第一通信包、第二通信包,并基于所述第一通信包以及所述第二通信包的内容控制所述驱动部的动作;
保存部,保存所述第一通信包以及所述第二通信包;
第一计时器部,具有以有限的时间循环的时刻,并将第一时刻以及第二时刻保存于所述保存部,所述第一时刻是将所述第一通信包保存于所述保存部时的所述时刻,所述第二时刻是将所述第二通信包保存于所述保存部时的所述时刻;以及
第二计时器部,计测在检测到所述第一通信包后的无通信状态的经过时间。
附图说明
图1是示出实施方式所涉及的机器人系统的侧视图。
图2是图1所示的机器人系统的框图。
图3是示出保存于图2所示的通信包保存部的数据的一例的表。
图4是示出控制装置的第一动作例的表。
图5是用于说明基于通信监视部的通信监视方法的流程图。
图6是示出控制装置的第二动作例的表。
图7是示出控制装置的第三动作例的表。
图8是示出控制装置的第四动作例的表。
图9是示出控制装置的第五动作例的表。
附图标记说明:
1…机器人系统,2…机器人,5…控制装置,21…基台,22…机器人臂,24…编码器,26…末端执行器,51…驱动控制部,52…通信监视部,221…臂,222…臂,223…臂,224…臂,225…臂,226…臂,231…第一驱动部,232…第二驱动部,233…第三驱动部,234…第四驱动部,235…第五驱动部,236…第六驱动部,241…第一编码器,242…第二编码器,243…第三编码器,244…第四编码器,245…第五编码器,246…第六编码器,521…第一监视部,522…第二监视部,5212…通信包保存部,5213…状况判定部,5214…计数值产生部,5216…计数值运算部,5218…计数值判定部,5222…无通信时间计测部,5224…无通信时间判定部,J1…第一轴,J2…第二轴,J3…第三轴,J4…第四轴,J5…第五轴,J6…第六轴,S1…步骤,S2…步骤,S3…步骤,S4…步骤,S5…步骤,S6…步骤,S7…步骤,S8…步骤,S9…步骤,S10…步骤。
具体实施方式
下面,基于附图来详细地说明本发明的机器人系统以及机器人的控制装置的优选的实施方式。
首先,说明实施方式所涉及的机器人系统。
图1是示出实施方式所涉及的机器人系统的侧视图。图2是图1所示的机器人系统的框图。
1.机器人系统的概要
图1所示的机器人系统1具有机器人2和控制装置5,该控制装置5控制机器人2的动作。机器人系统1的用途没有特别限定,但可列举例如精密设备、构成其的部件等的对象物的供料、卸料、传送以及组装等。
1.1.机器人
图1所示的机器人2具备基台21和机器人臂22,该机器人臂22连结于基台21。
基台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具有的臂的数量也可以是一个至五个,也可以是七个以上。另外,机器人2的种类也可以是SCARA(SelectiveCompliance Assenmbly Robot Arm选择顺应性装配机器手臂)机器人、具有两个机器人臂22的双臂机器人。
如图2所示,机器人2具有:第一驱动部251、第二驱动部252、第三驱动部253、第四驱动部254、第五驱动部255和第六驱动部256。第一驱动部251具备未图示的电机和未图示的减速机,该电机使臂221相对于基台21转动。第二驱动部252具备未图示的电机和未图示的减速机,该电机使臂222相对于臂221转动。第三驱动部253具备未图示的电机和未图示的减速机,该电机使臂223相对于臂222转动。第四驱动部254具备未图示的电机和未图示的减速机,该电机使臂224相对于臂223转动。第五驱动部255具备未图示的电机和未图示的减速机,该电机使臂225相对于臂224转动。第六驱动部256具备未图示的电机和未图示的减速机,该电机使臂226相对于臂225转动。
控制装置5控制第一驱动部251、第二驱动部252、第三驱动部253、第四驱动部254、第五驱动部255以及第六驱动部256的各动作,使得臂221~226位于成为目的的位置。
机器人2具有编码器24,编码器24设置于各驱动部的电机或者减速机的旋转轴,检测旋转轴的旋转角度。由此,编码器24获取机器人臂22的位置信息。位置信息是指表示各旋转轴的旋转角度的信息。另外,编码器24具有按各旋转轴将所获取的位置信息发送给控制装置5的功能。
具体而言,编码器24包括:第一编码器241、第二编码器242、第三编码器243、第四编码器244、第五编码器245以及第六编码器246。
在第一驱动部251的电机或者减速机中设置有检测其旋转轴的旋转角度的第一编码器241。在第二驱动部252的电机或者减速机中设置有检测其旋转轴的旋转角度的第二编码器242。在第三驱动部253的电机或者减速机中设置有检测其旋转轴的旋转角度的第三编码器243。在第四驱动部254的电机或者减速机中设置有检测其旋转轴的旋转角度的第四编码器244。在第五驱动部255的电机或者减速机中设置有检测其旋转轴的旋转角度的第五编码器245。在第六驱动部256的电机或者减速机中设置有检测其旋转轴的旋转角度的第六编码器246。此外,也可以在各旋转轴中设置有多个编码器。
作为各电机,可列举例如AC伺服电机、DC伺服电机等。作为各减速机,可列举例如行星齿轮型的减速机、波动齿轮装置等。
各电机经由未图示的电机驱动器与控制装置5电连接。另外,编码器24也与控制装置5电连接。
机器人系统1除上述以外还可以具备:照相机那样的拍摄传感器、力传感器、感压传感器、接近传感器等各种传感器。
1.2.控制装置的构成
控制装置5与机器人2可通信地连接。控制装置5与机器人2之间既可以通过有线连接,也可以通过无线连接。
图2所示的控制装置5具有驱动控制部51和通信监视部52。
驱动控制部51分别与第一驱动部251、第二驱动部252、第三驱动部253、第四驱动部254、第五驱动部255以及第六驱动部256可通信地连接。另外,驱动控制部51分别与第一编码器241、第二编码器242、第三编码器243、第四编码器244、第五编码器245以及第六编码器246可通信地连接。
驱动控制部51与各驱动部251~256之间的通信以及驱动控制部51与各编码器24之间的通信分别通过例如使用通信包的串行通信进行。
驱动控制部51具有通过控制各驱动部251~256的动作,控制机器人2的驱动的功能。驱动控制部51的硬件构成没有特别限定,但设为具备例如CPU(Central ProcessingUnit:中央处理器)、MPU(Micro Processing Unit:微处理器)这样的处理器、RAM(RandomAccess Memory:随机存取存储器)等易失性存储器或ROM(Read Only Memory:只读存储器)等非易失性存储器这样的各种存储器、外部接口等的构成。
处理器读取并执行在存储器中存储的各种程序等。由此,能够执行机器人2的驱动控制、各种运算、各种判断等处理。具体而言,驱动控制部51基于从编码器24获取的位置信息,控制各驱动部、末端执行器26的动作。由此,能够使机器人2执行有目的的作业。另外,驱动控制部51在通过后述的通信监视部52检测到通信异常的情况下,限制机器人2的驱动。此外,可以是通信监视部52具有直接限制机器人2的驱动的功能,也可以是驱动控制部51和通信监视部52双方具有该功能。
此外,在驱动控制部51中,除了这些构成以外,也可以附加其他构成。另外,也可以是存储于存储器的程序等经由网络从外部提供。
另一方面,通信监视部52连接于从驱动控制部51与编码器24之间分支的通信线。因此,在驱动控制部51与编码器24之间收发的通信包还分发给通信监视部52。
通信监视部52具有监视驱动控制部51与编码器24的通信的功能。通信监视部52的硬件构成没有特别限定,但设为具备例如FPGA(Field-Programmable Gate Array:现场可编程门阵列)、ASIC(Application Specific Integrated Circuit:专用集成电路)等处理器、RAM等易失性存储器或ROM等非易失性存储器这样的各种存储器、外部接口等的构成。另外,各种存储器也能够内置于FPGA等。
图2所示的通信监视部52具有第一监视部521和第二监视部522。
第一监视部521具有通信包保存部5212、状况判定部5213、计数值产生部5214、计数值运算部5216和计数值判定部5218。
通信包保存部5212保存所分发的通信包。通信包保存部5212是带有例如FIFO(First In,First Out:先进先出)的功能的存储器。
图3是示出保存于图2所示的通信包保存部5212的数据的一例的表。
如图3所示,保存于通信包保存部5212的数据分成具有预定位宽的地址加以保存。在地址中带有例如0~n的号码,从地址0的数据起依次保存,从地址0的数据起依次读出。
在通信包保存部5212中,一个通信包被全部保存。因此,地址的号码根据通信包的包大小来适当设定。在地址0中保存有例如通信包的报头同步帧。在地址1中保存有从例如后述的计数值产生部5214产生的计数值。在地址2以后中保存有例如通信包的接收数据部分。
状况判定部5213读取在通信包保存部5212中保存的通信包的状况信号,判定是否满足预定的条件。
计数值产生部5214是由预定位数的计数器电路构成的自由运行计数器。本实施方式所涉及的计数值产生部5214产生例如以频率96MHz进行向上计数的31位宽的计数值。另外,在计数值进行向上计数而溢出时,复位归零,再次开始向上计数。在驱动控制部51与编码器24之间收发的通信包被分发并保存到通信包保存部5212时,通信包保存部5212将与其定时一致的计数值也一并保存于通信包。因此,计数值产生部5214作为第一计时器部发挥功能,该第一计时器部具有作为以有限的时间循环的时刻的计数值。此外,计数值的产生频率和位宽没有特别限定。另外,计数值产生部5214也可以产生向下计数的计数值。
计数值运算部5216算出与保存于通信包保存部5212的通信包对应的计数值、和与保存于比该通信包靠前一个的通信包对应的计数值的差值。
计数值判定部5218将由计数值运算部5216算出的计数值的差值与预先设定的期待值进行比较。然后,判定计数值的差值是否等于期待值。通信监视部52将基于计数值判定部5218的判定结果输出到驱动控制部51。
第二监视部522具有无通信时间计测部5222和无通信时间判定部5224。在第一监视部521与第二监视部522之间可通信地连接。
无通信时间计测部5222检测所分发的通信包,计测从检测的定时起的经过时间。无通信时间计测部5222作为计测从通信包的检测起的经过时间的第二计时器部发挥功能。由此,无通信时间计测部522能够计测通信包彼此的间的无通信时间或者检测最后的通信包之后的无通信时间。
此外,经过时间也可以是指检测通信包之后计测的时间,也可以是指与该时间对应的时间,例如对计测的时间进行预定的运算而得到的运算值。另外,计测时间时的起点也可以是检测到通信包的定时,也可以是保存通信包的定时,也可以是除此以外的定时。
无通信时间判定部5224将无通信时间计测部5222计测的无通信时间与预定值进行比较。而且,判定无通信时间是否是预定值以下。然后,无通信时间判定部5224在无通信时间超过预定值的情况下,将该情况输出到驱动控制部51。
2.控制装置的动作
接着,说明控制装置5的动作。
控制装置5的通信监视部52处在各种状况下,也要求对通信包正常收发的情况进行检测。由此,能够保证基于编码器24的位置信息的可靠性,抑制机器人臂22的动作精度的降低。即,能够防止陷入如下事态:伴随通信切断而位置信息的可靠性降低,从而无法检测到机器人臂22处于异常的位置。其结果是,能够实现安全性优异的机器人系统1。下面,说明各种状况下的控制装置5的动作例。
2.1.第一动作例
图4是示出控制装置5的第一动作例的表。第一动作例是没有产生通信异常的通常的动作例。图4所示的表是总结以通信包0、通信包1、通信包2、通信包3的顺序向通信监视部52分发各通信包时与各通信包相关的事项。
通信包0是从控制装置5向编码器24发送的通信包。通信包0的发送是在从通信开始经过了100μs的定时。此外,表中的“经过时间”是为了方便说明而记载的,而并非在控制装置5中计测的时间。
通信包0向通信监视部52分发时,保存于通信包保存部5212。另外,将由计数值产生部5214产生并与保存通信包0的定时一致的计数值与通信包0一并保存于通信包保存部5212。在此,作为一例以16进制表示的计数值“00002580”保存于通信包保存部5212。
通信包1(第一通信包)是从编码器24向控制装置5发送的通信包。通信包1的发送是在从通信开始经过了200μs的定时。
通信包1向通信监视部52分发时,保存于通信包保存部5212。另外,将由计数值产生部5214产生并与保存通信包1的定时一致的计数值与通信包1一并保存于通信包保存部5212。在此,作为一例以16进制表示的计数值“00004B00”保存于通信包保存部5212。
通信包2(第二通信包)是从控制装置5向编码器24发送的通信包。通信包2的发送是在从通信开始经过了300μs的定时。
通信包2向通信监视部52分发时,保存于通信包保存部5212。另外,将由计数值产生部5214产生并与保存通信包2的定时一致的计数值与通信包2一并保存于通信包保存部5212。在此,作为一例以16进制表示的计数值“00007080”保存于通信包保存部5212。
通信包3是从编码器24向控制装置5发送的通信包。通信包3的发送是在从通信开始经过了400μs的定时。
通信包3向通信监视部52分发时,保存于通信包保存部5212。另外,将由计数值产生部5214产生并与保存通信包3的定时一致的计数值与通信包3一并保存于通信包保存部5212。在此,作为一例以16进制表示的计数值“00009600”保存于通信包保存部5212。
图5是用于说明基于通信监视部52的通信监视方法的流程图。图5所示的通信监视方法包括从步骤S1到步骤S10的各工序。在通信监视部52中,将这样的各工序以比通信包的收发间隔些许长的时间间隔执行。例如,在通信包的收发间隔是100μs的情况下,通信监视的执行间隔设定为500μs左右即可。此外,通信监视的执行间隔不限于此,能够适当变更。
在此,作为一例,说明在发送通信包2后的定时执行图5所示的通信监视的情况。
在图5所示的步骤S1中,首先,对于分发到第二监视部522的通信包2,无通信时间计测部5222计测无通信时间。在这种情况下,无通信时间计测部5222是在检测到通信包2之后进行计测,因此无通信时间小于100μs。
在图5所示的步骤S2中,判定无通信时间是否是预定值以下。考虑无通信时间对机器人2的驱动控制产生的影响、通信环境等而适当设定预定值。在此,作为一例,预定值设为10ms。于是,在步骤S2中,判定无通信时间是否是10ms以下。如上述那样,在无通信时间小于100μs的情况下,能够判定为10ms以下,因此转到步骤S4。在图4中,将判定为10ms以下的情况标明为“OK”。另一方面,在无通信时间超过10ms的情况下,转到步骤S3。在步骤S3中,将无通信时间超过预定值的内容输出到驱动控制部51。由此,在驱动控制部51中,能够判断为通信中产生某些异常。其结果是,驱动控制部51能够采取限制机器人2的驱动这样的对策。由此,能够提高机器人系统1的安全性。
在图5所示的步骤S4中,状况判定部5213从通信包保存部5212读出表示状况的信号。作为状况信号,可列举例如表示在通信包保存部5212的预定的地址是否保存数据的信号、表示通信包的转送是否结束的信号等。
在图5所示的步骤S5中,状况判定部5213判定在状况信号中是否有表示转送结束的数据。在没有表示转送结束的数据的情况下,结束流程。另一方面,在有表示转送结束的数据的情况下,转到步骤S6。
在图5所示的步骤S6中,计数值运算部5216读出与保存于通信包保存部5212的通信包2对应的计数值。
在图5所示的步骤S7中,计数值运算部5216读出保存于通信包保存部5212的接收数据。
在图5所示的步骤S8中,计数值运算部5216算出步骤S6中读出的与通信包2对应的计数值、和预先读出的与通信包1对应的计数值的差值。在图4中,将算出计数值的差值的计算式以及计算结果以16进制表示。
在图5所示的步骤S9中,通过计数值判定部5218判定所算出的计数值的差值是否等于期待值。在等于期待值的情况下,结束流程。另一方面,在不等于期待值的情况下,转到步骤S10。在步骤S10中,将计数值的差值与期待值不同的内容输出到驱动控制部51。由此,在驱动控制部51中,能够判断通信中产生某些异常。其结果是,在驱动控制部51中,能够采取限制机器人2的驱动这样的对策。由此,能够提高机器人系统1的安全性。
在图4中,作为一例,示出经过时间的差值的期待值。另外,将根据计数值的差值算出的时间一并示出。如果所算出的时间与期待值一致,则能够判断为没有产生通信切断。另一方面,在算出的时间与期待值不同的情况下,具体而言表示大于期待值的值的情况下,能够判断为产生通信切断。在图4中,所算出的时间以及期待值双方是100μs,因此判定结果标明为“OK”。
此外,在本说明书中,“期待值”是指相当于通信包的发送间隔且预先规定的值。不过,有时因通信环境而发送间隔发生变化,因此基于此,也可以对期待值赋予一些范围。
2.2.第二动作例
图6是示出控制装置5的第二动作例的表。第二动作例也是没有产生通信异常的通常的动作例。不过,在控制装置5中,作为计数值产生部5214,使用使以有限的时间循环的计数值产生的自由运行计数器。因此,有可能在计数值溢出时,第一监视部521进行错误的判断。在本第二动作例中,说明应对这样的计数值的溢出的动作。
此外,在第二动作例的说明中,以与第一动作例不同点为中心进行说明,对于同样的事项省略其说明。图6所示的通信包0以及通信包1除了从通信开始经过的经过时间不同的以外,与图4所示的第一动作例相同。另外,在图6所示的第二动作例中,配合经过时间的起点而开始计数值的向上计数,而假定通信包1(第一通信包)被发送并分发后,产生计数值的溢出。
如果产生计数值的溢出,则以16进制表示的计数值从7FFFFFF复位到0000000。因此,在上述的步骤S8中,在不考虑该计数值的复位而算出计数值的差值的情况下,会造成算出异常的数值。
因此,本实施方式所涉及的计数值运算部5216为了避免这样的现象,具有校正功能。具体而言,如图6所示,与通信包2(第二通信包)对应而保存于通信包保存部5212的计数值是被复位并从0000000进行向上计数的值。因此,如果不校正计数值就算出差值,则成为00001D80-7FFFF800=80002580,成为很大的值即异常值。因此,计数值运算部5216具有如下功能:在以16进制表示的差值超过很大的值例如40000000时视为产生溢出。而且,计数值运算部5216进行如下校正:将作为较小的值即被复位的计数值的00001D80加上80000000。在此基础上,计数值运算部5216使用该校正的计数值,重新计算差值。由此,算出准确差值。
如以上那样,本实施方式所涉及的控制装置5通过具有产生以有限的时间循环的计数值的计数值产生部5214,而一并具有上述那样的校正功能,从而能够防止算出异常值。由此,能够防止因直接使用异常值所引起的问题,例如能够防止产生没有产生通信切断却误认为产生通信切断的问题。其结果是,能够防止对机器人2的驱动施加不必要的限制。
2.3.第三动作例
图7是示出控制装置5的第三动作例的表。第三动作例是产生通信异常具体而言产生比后述的预定值短的通信切断时的动作例。
此外,在第三动作例的说明中,以与第一动作例不同点为中心进行说明,对于同样的事项省略其说明。图7所示的通信包0以及通信包1与图4所示的第一动作例相同。
在本第三动作例中,假定如下状况:在发送通信包1(第一通信包)后,在驱动控制部51与编码器24之间的通信线产生300μs期间的通信切断,之后得以恢复。
首先,在步骤S1中,无通信时间计测部5222计测无通信时间。而且,在步骤S2中,判定所计测的无通信时间是否是预定值以下。图7所示的通信切断的时间是300μs,因此能够判定为无通信时间是预定值以下。因此,在第二监视部522中,本第三动作例的通信切断的时间短,因此不能检测该情况。
在步骤S6中,读出与通信包2(第二通信包)对应的计数值。而且,在步骤S8中,算出与通信包2对应的计数值、和与通信包1对应的计数值的差值。在产生通信切断的期间,计数值也继续进行向上计数,因此根据计数值算出的时间不会受到通信切断的时间的影响,而与实际的经过时间对应。因此,图7所示的通信包2中,根据计数值的差值算出的时间为300μs。
在步骤S9中,判定所算出的计数值的差值是否等于期待值。在此,对根据计数值的差值算出的时间与作为期待值的时间进行比较并判定。图7所示的通信包2受到通信切断的影响,在从通信开始经过的经过时间是500μs时被发送。但是,该通信切断是不希望的,因此通信包2中的经过时间的差值的期待值是按照最初假定的100μs。因此,根据计数值的差值算出的时间与作为期待值的时间不一致。因此,在图7中,在对于通信包2的基于第一监视部521的判定结果中标明为“NG”。
如以上那样,本实施方式所涉及的控制装置5即使是产生在第二监视部522中不能检测的短的通信切断的情况,通过第一监视部521也能够对其进行检测。由此,即使产生伴随通信切断而无法获取编码器24的位置信息的时间段,也能够检测该情况,能够对机器人2的驱动施加限制。由此,能够提高机器人系统1的安全性。
2.4.第四动作例
图8是示出控制装置5的第四动作例的表。第四动作例是产生通信异常具体而言产生超过后述的预定值那样的长的通信切断时的动作例。
此外,在第四动作例的说明中,以与第一动作例不同点为中心说明,对于同样的事项省略其说明。图8所示的通信包0以及通信包1与图4所示的第一动作例相同。
在本第四动作例中,假定如下状况:在发送通信包1(第一通信包)后,在驱动控制部51与编码器24之间的通信线产生22369721.34μs期间的通信切断,之后得以恢复。
首先,在步骤S1中,无通信时间计测部5222计测无通信时间。而且,在步骤S2中,判定所计测的无通信时间是否是预定值以下。图8所示的通信切断的时间是22369721.34μs,因此能够判定为无通信时间超过预定值。而且,在步骤S3中,第二监视部522将无通信时间超过预定值的内容输出到驱动控制部51。因此,即使是本第四动作例的状况,也能够检测通信切断的产生。
另一方面,第一监视部521无法检测该通信切断。下面,说明其理由。
在步骤S6中,读出与通信包2(第二通信包)对应的计数值。而且,在步骤S8中,算出与通信包2对应的计数值、和与通信包1对应的计数值的差值。产生通信切断期间,计数值也继续进行向上计数,因此根据计数值算出的时间不受到通信切断的时间的影响,而与实际的经过时间对应。因此,该通信切断的时间能够如上述的第三动作例那样算出。
然而,尽管存在非常低的概率,但有可能与通信包2对应的计数值经过一个周期溢出,成为与期待值一致的计数值。具体而言,在计数值是31位宽的情况下,在通信包1与通信包2之间产生22369721.34μs期间的通信切断时,与通信包2对应的计数值成为00007080。该值与上述的第一动作例的通信包2的计数值相同。于是,即使使用该计数值算出差值,进而根据该差值算出时间,在其算出结果中也完全不包括通信切断的影响。即,在第一监视部521中,根据计数值的差值算出的时间成为100μs,而这是与第一动作例的情况相同的值。因此,得到与不产生通信切断的情况相同的判定结果。其结果是,尽管产生通信切断,但在图8中,对于通信包2的基于第一监视部521的判定结果为“OK”。
如以上那样,本实施方式所涉及的控制装置5当产生了在第一监视部521中无法检测的某特定长度的较长的通信切断时,也能够通过第二监视部522来检测该情。即,如能够由上述的第三动作例和第四动作例说明的那样,第一监视部521的监视功能和第二监视部522的监视功能成为相互补充关系。由此,即使产生伴随通信切断而无法获取编码器24的位置信息的时间段,也能检测该情况,能够对机器人2的驱动施加限制。由此,能够提高机器人系统1的安全性。
2.5.第五动作例
图9是示出控制装置5的第五动作例的表。第五动作例是产生通信异常具体而言产生通信切断,之后未恢复通信时的动作例。
此外,在第五动作例的说明中,以与第一动作例不同点为中心说明,对于同样的事项省略其说明。图9所示的通信包0以及通信包1与图4所示的第一动作例相同。
在本第五动作例中,假定如下状况:在发送通信包1(第一通信包)后,在驱动控制部51与编码器24之间的通信线产生通信切断,之后未恢复。
首先,在步骤S1中,无通信时间计测部5222计测无通信时间。而且,在步骤S2中,判定所计测的无通信时间是否是预定值以下。图9所示的通信切断未恢复,因此即使是最初无通信时间是预定值以下的情况,在反复执行图5所示的流程的期间,不久,无通信时间超过预定值。因此,图9所示的状况基本上是通过第二监视部522能够检测通信切断的状况。
在步骤S3中,第二监视部522将无通信时间超过预定值的内容输出到驱动控制部51。
另一方面,在第一监视部521中,不能检测该通信切断。下面说明其理由。
如果通信未恢复,则不存在通信包1接下来的通信包。于是,不能获取下一通信包的计数值。因此,不存在在第一监视部521中判定有无通信异常所需的计数值,无法进行判定。其结果是,存在不能对驱动控制部51通知任何异常,因此不能限制机器人2的驱动这样的问题。
相对于此,本实施方式所涉及的控制装置5即使是产生通信切断之后通信未恢复的情况,通过第二监视部522,能够检测该情况。因此,即使是通信未恢复的状况,也能够检测该情况,能够对机器人2的驱动施加限制。由此,能够提高机器人系统1的安全性。
如以上那样,本实施方式所涉及的机器人系统1具备机器人臂22、驱动部251~256、编码器24、驱动控制部51、通信包保存部5212、作为第一计时器部的计数值产生部5214和作为第二计时器部的无通信时间计测部5222。其中,驱动部251~256驱动机器人臂22。编码器24检测机器人臂22的位置。驱动控制部51在与编码器24之间依次收发通信包1(第一通信包)、通信包2(第二通信包),基于通信包1以及通信包2的内容来控制驱动部251~256的动作。通信包保存部5212保存通信包1以及通信包2。
另外,计数值产生部5214具有作为以有限的时间循环的时刻的计数值,将通信包1保存于通信包保存部5212时的计数值(第一时刻)以及将通信包2保存于通信包保存部5212时的计数值(第二时刻)保存于通信包保存部5212。
进而,无通信时间计测部5222计测在检测到通信包1后的无通信的状态的经过时间。
根据这样的机器人系统1,能够使用由计数值产生部5214产生的计数值和由无通信时间计测部5222计测的无通信时间,检测通信切断。而且,基于计数值的通信的监视以及基于无通信时间的通信的监视成为相互互补的关系,因此能够在各种状况下检测通信切断。因此,能够实现一种机器人系统1,在基于来自编码器24的位置信息控制机器人臂22的动作时,通过利用这样的通信的监视结果,能够更切实地检测在来自编码器24的通信中产生的异常。
另外,机器人系统1具备通信监视部52,该通信监视部52基于将通信包1保持于通信包保存部5212时的计数值(第一时刻)和将通信包2保存于通信包保存部5212时的计数值(第二时刻)的差值以及检测到通信包1后的无通信的状态的经过时间,监视编码器24与驱动控制部51的通信状态。
根据这样的构成,容易使通信监视部52与驱动控制部51分开而独立,因此能够提高通信监视部52的动作的独立性以及可靠性。由此,能够强化监视能力,能够实现功能安全性更优异的机器人系统1。
另外,通信监视部52具有如下功能:在检测到通信包1后的无通信状态的经过时间超过预定值时,通知通信状态的异常。通过输出经过时间超过预定值这样的内容,能够检测对机器人2的驱动控制产生较大影响程度的通信切断,并通知给驱动控制部51。由此,能够使通信切断的产生反映到驱动控制部51的动作,能够实现功能安全性更优异的机器人系统1。
另外,通信监视部52具有如下功能:在将通信包1保存于通信包保存部5212时的计数值(第一时刻)和将通信包2保存于通信包保存部5212时的计数值(第二时刻)的差值偏离期待值时,通知通信状态的异常。通过输出差值与期待值不同这样的内容,能够检测通信切断,通知给驱动控制部51。由此,能够使通信切断的产生反映到驱动控制部51的动作,能够实现功能安全性更优异的机器人系统1。
另外,驱动控制部51基于通信监视部52所产生的监视结果,限制机器人臂22的驱动。由此,即使例如在驱动控制部51与编码器24之间的通信产生异常,不能检测机器人臂22的正确的位置,也能够防止机器人臂22与人或物体之间的冲突。其结果是,能够实现功能安全性更优异的机器人系统1。
另外,本实施方式所涉及的机器人2的控制装置5具备机器人臂22、驱动部251~256、编码器24、驱动控制部51、通信包保存部5212、作为第一计时器部的计数值产生部5214和作为第二计时器部的无通信时间计测部5222。其中,驱动部251~256驱动机器人臂22。编码器24检测机器人臂22的位置。驱动控制部51在与编码器24之间依次收发通信包1(第一通信包)、通信包2(第二通信包),基于通信包1以及通信包2的内容来控制驱动部251~256的动作。通信包保存部5212保存通信包1以及通信包2。
另外,计数值产生部5214具有作为以有限的时间循环的时刻的计数值,将通信包1保存于通信包保存部5212时的计数值(第一时刻)以及将通信包2保存于通信包保存部5212时的计数值(第二时刻)保存于通信包保存部5212。
而且,无通信时间计测部5222计测在检测到通信包1后的无通信状态的经过时间。
根据这样的控制装置5,能够使用由计数值产生部5214产生的计数值和由无通信时间计测部5222计测的无通信时间检测通信切断。而且,基于计数值的通信的监视以及基于无通信时间的通信的监视成为相互互补的关系,因此能够在各种状况下检测通信切断。因此,能够实现一种控制装置5,基于来自编码器24的位置信息控制机器人臂22的动作时,通过利用这样的通信的监视结果,能够更切实地检测在来自编码器24的通信中产生的异常。
以上,基于附图的实施方式说明了本发明的机器人系统以及机器人的控制装置,但本发明不限于此,各部的构成能够置换为具有同样的功能的任意的构成。另外,也可以在上述实施方式中附加其他任意的构成物。
- 机器人控制装置和具备机器人控制装置的机器人系统
- 机器人、机器人控制装置、机器人控制方法以及机器人系统