CN111645070B - 机器人的安全防护方法、装置与机器人 - Google Patents
机器人的安全防护方法、装置与机器人 Download PDFInfo
- Publication number
- CN111645070B CN111645070B CN202010427126.2A CN202010427126A CN111645070B CN 111645070 B CN111645070 B CN 111645070B CN 202010427126 A CN202010427126 A CN 202010427126A CN 111645070 B CN111645070 B CN 111645070B
- Authority
- CN
- China
- Prior art keywords
- motor
- overload
- condition
- motors
- robot
- 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
Images
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
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
Abstract
本申请提供一种机器人的安全防护方法、装置与机器人,涉及机器人、人工智能技术领域,其中,该方法包括:获取电机的运行数据;若根据运行数据检测到电机满足过载触发条件,则执行电机对应的过载安全处理策略;在根据运行数据确定电机满足碰撞检测条件的情况下,对电机进行碰撞检测,其中,碰撞检测条件根据过载触发条件确定;若检测到电机发生碰撞,则执行电机对应的碰撞安全处理策略。本申请提供的技术方案,可以应用于用来陪伴教育小孩或陪伴老人的家庭机器人等消费机器人,以及工业机器人、商用机器人和特种机器人等机器人,其可以提高所应用的机器人的安全防护能力。
Description
技术领域
本申请涉及机器人技术领域,尤其涉及一种机器人的安全防护方法、装置与机器人。
背景技术
随着计算机技术和机器人技术的发展,人与机器人交互(Human RobotInteraction,HRI)已经逐渐发展成为一个独立的研究领域。基于HRI的相关法则,机器人在人机交互过程中,应具有保护自己的能力。
目前,拥有人机交互能力的机器人多为商用机器人和消费机器人,尤其是消费机器人中用于陪伴教育小孩和陪伴老人的家庭机器人,在使用这类机器人的过程中,人类会与机器人频繁产生物理接触,比如握住机器人胳膊或抱起机器人等。在这些场景中,机器人的关节运动会被阻挡,如果是人,此时会因为感受到阻碍或过高反抗阻力而停下当前运动,并决策下一步如何处理,以保护自己。因此,如果机器人也可以拥有上述人类的反应能力,那么不仅可以保护用户和保护自己,还可以使得机器人的表现更加拟人化。为了实现上述保护能力和拟人化表现能力,目前许多机器人都具有过载检测能力,通过过载检测能力识别机器人各关节感受到的持续阻碍,在阻碍过大的情况下采取相关的安全处理策略。
但是,商用机器人的运动场景纷繁复杂,人类在与机器人频繁进行物理接触的过程中,还有可能出现其他安全状况,例如人在触摸高速运动的机器人时被打到,而机器人的过载检测能力无法应对这些安全状况,因此,机器人的安全防护能力有限。
发明内容
有鉴于此,本申请提供一种机器人的安全防护方法、装置与机器人,用于提高机器人的安全防护能力。
为了实现上述目的,第一方面,本申请实施例提供一种机器人的安全防护方法,包括:
获取电机的运行数据;
若根据所述运行数据检测到所述电机满足过载触发条件,则执行所述电机对应的过载安全处理策略;
在根据所述运行数据确定所述电机满足碰撞检测条件的情况下,对所述电机进行碰撞检测,其中,所述碰撞检测条件是根据所述过载触发条件确定的;
若检测到所述电机发生碰撞,则执行所述电机对应的碰撞安全处理策略。
本实施例提供的机器人的安全防护方法,可以根据电机的运行数据对电机进行过载检测,在检测到电机过载的情况下,执行对应的过载安全处理策略;并可以对电机进行碰撞检测,在检测到电机发生碰撞的情况下,执行对应的碰撞安全处理策略,因而可以提高机器人的安全防护能力。另外,在对电机进行碰撞检测前,先根据电机的运行数据判断电机是否满足基于过载触发条件确定的碰撞检测条件,以检测电机是否存在过载趋势;在电机满足碰撞检测条件的情况下,再对电机进行碰撞检测,这样可以减少碰撞检测被误触发的情况,提升机器人的拟人化表现能力。
在第一方面的一种可能的实施方式中,所述运行数据包括电流和速度,所述若根据所述运行数据检测到所述电机满足过载触发条件,则执行所述电机对应的过载安全处理策略,包括:
根据所述电机的速度确定电流过载阈值;
若所述电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
若所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机满足过载触发条件,执行所述电机对应的过载安全处理策略。
上述实施方式中,基于变化的电流过载阈对电机进行一阶过载检测,可以提高一阶过载检测的准确性。
在第一方面的一种可能的实施方式中,所述碰撞检测条件包括:第一预设条件和第二预设条件,所述第一预设条件包括:所述电机的速度大于所述电机的预设速度阈值;
所述第二预设条件包括:第一条件或第二条件,所述第一条件包括所述电机处于非预过载状态;
所述第二条件包括:所述电机处于预过载状态,且所述电机处于预过载状态的持续时间不超过第二预设时长,其中,所述第二预设时长不超过所述第一预设时长的一半。
通过采用上述碰撞检测条件,可以提高过载趋势检测结果的准确性。
在第一方面的一种可能的实施方式中,所述根据所述电机的速度确定电流过载阈值,包括:
采用如下公式确定所述电机的电流过载阈值:
其中,IThres表示电流过载阈值,vMax表示所述电机的最大速度,v表示获取的所述电机的速度,ITh1表示在所述电机静止时触发过载的理想电流,ITh2表示在所述电机达到最大速度时触发过载的理想电流。
上述实施方式中,采用上述公式确定电机的电流过载阈值,可以提高确定的电流过载阈值的准确性。
在第一方面的一种可能的实施方式中,所述执行所述电机对应的过载安全处理策略,包括:
控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
进行过载提示,并检测所述目标电机组的受力情况;
在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
通过控制所有电机停止运动,可以及时对人或物体进行保护;通过控制目标电机组中的所有电机处于脱机状态,可以使目标电机组自动活动而不至于被损坏;通过进行过载提示,可以提醒用户,并提升机器人的拟人化表现能力;通过检测所述目标电机组的受力情况,在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置,可以减少由于用户的继续掰动而引起二次过载的情况,节省进行二次过载检测所需的处理资源,同时可以减少过载安全处理频繁执行的情况,提升机器人的拟人化表现能力。
在第一方面的一种可能的实施方式中,在所述检测所述目标电机组的受力情况之前,所述方法还包括:
屏蔽所有电机的运动指令;
在所述控制所有电机恢复至初始位置之后,所述方法还包括:
解除对所有电机的运动指令的屏蔽。
通过屏蔽所有电机的运动指令,可以避免对机器人造成进一步伤害,并可以防止使能指令与运动指令发生冲突,从而可以提高机器人工作的稳定性。
在第一方面的一种可能的实施方式中,所述检测所述目标电机组的受力情况,包括:
对于所述目标电机组中的每个电机,根据最近获取的预设时间段内的所述电机的位置,确定所述电机的位置变化绝对值之和;
根据所述目标电机组中各电机的位置变化绝对值之和确定所述目标电机组的总位置变化量;
若所述总位置变化量大于等于预设位置阈值,则确定所述目标电机组受力;
若所述总位置变化量小于所述预设位置阈值,则确定所述目标电机组未受力。
在第一方面的一种可能的实施方式中,所述运行数据包括电流,所述对所述电机进行碰撞检测,包括:
若检测到距离所述电机最近一次发生运动状态切换的时长超过第三预设时长,则根据所述运行数据检测所述电机的电流突变量;
若所述电流突变量大于所述电机的碰撞电流阈值,则确定所述电机发生碰撞。
上述实施方式中,可以将电机启停的场景从碰撞保护期中去除掉,根据电流突变情况检测碰撞事件,这样可以降低碰撞检测的复杂度。
在第一方面的一种可能的实施方式中,所述运行数据包括位置,所述电机的运动状态切换检测方法,包括:
若所述电机的位置变化值大于第一位置阈值,则确定所述电机的运动状态为正转,其中,所述电机的位置变化值为本次获取的所述电机的位置减去上一次获取的所述电机的位置得到的差值,所述第一位置阈值为正数;
若所述电机的位置变化值大于等于第二位置阈值,且小于等于所述第一位置阈值,则确定所述电机的运动状态为静止,所述第二位置阈值为负数;
若所述电机的位置变化值小于所述第二位置阈值,则确定所述电机的运动状态为反转;
若所述电机的运动状态与前一运动状态不同,则确定所述电机发生运动状态切换。
通过上述实施方式,可以实现在检测电机运动状态时进行位置滤波处理,进而可以提高检测结果的准确性。
在第一方面的一种可能的实施方式中,所述执行所述电机对应的碰撞安全处理策略,包括:
控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令;
进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
通过控制所有电机停止运动后,反向运动预设距离,可以模拟人手误打到他人时的自然缩手表现,提升机器人的拟人化表现能力;通过屏蔽所有电机的运动指令,可以避免对用户和机器人造成进一步伤害;通过进行碰撞提示,可以提醒用户,并进一步提升机器人的拟人化表现能力。
第二方面,本申请实施例提供一种机器人的安全防护装置,包括:获取模块、过载检测模块、过载安全处理模块、过载趋势检测模块、碰撞检测模块和碰撞安全处理模块,其中:
所述获取模块用于:获取电机的运行数据;
所述过载安全处理模块用于:在所述过载检测模块根据所述运行数据检测到所述电机满足过载触发条件的情况下,执行所述电机对应的过载安全处理策略;
所述碰撞检测模块用于:在所述过载趋势检测模块根据所述运行数据确定所述电机满足碰撞检测条件的情况下,对所述电机进行碰撞检测,其中,所述碰撞检测条件是根据所述过载触发条件确定的;
所述碰撞安全处理模块用于:在所述碰撞检测模块检测到所述电机发生碰撞的情况下,执行所述电机对应的碰撞安全处理策略。
在第二方面的一种可能的实施方式中,所述运行数据包括电流和速度,所述过载检测模块具体用于:
根据所述电机的速度确定电流过载阈值;
若所述电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
若所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机满足过载触发条件。
在第二方面的一种可能的实施方式中,所述碰撞检测条件包括:第一预设条件和第二预设条件,所述第一预设条件包括:所述电机的速度大于所述电机的预设速度阈值;
所述第二预设条件包括:第一条件或第二条件,所述第一条件包括所述电机处于非预过载状态;
所述第二条件包括:所述电机处于预过载状态,且所述电机处于预过载状态的持续时间不超过第二预设时长,其中,所述第二预设时长不超过所述第一预设时长的一半。
在第二方面的一种可能的实施方式中,所述过载检测模块具体用于:
采用如下公式确定所述电机的电流过载阈值:
其中,IThres表示电流过载阈值,vMax表示所述电机的最大速度,v表示获取的所述电机的速度,ITh1表示在所述电机静止时触发过载的理想电流,ITh2表示在所述电机达到最大速度时触发过载的理想电流。
在第二方面的一种可能的实施方式中,所述过载安全处理模块具体用于:
控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
进行过载提示,并检测所述目标电机组的受力情况;
在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
在第二方面的一种可能的实施方式中,所述过载安全处理模块还用于:在所述检测所述目标电机组的受力情况之前,屏蔽所有电机的运动指令;
在所述控制所有电机恢复至初始位置之后,解除对所有电机的运动指令的屏蔽。
在第二方面的一种可能的实施方式中,所述过载安全处理模块具体用于:
对于所述目标电机组中的每个电机,根据最近获取的预设时间段内的所述电机的位置,确定所述电机的位置变化绝对值之和;
根据所述目标电机组中各电机的位置变化绝对值之和确定所述目标电机组的总位置变化量;
若所述总位置变化量大于等于预设位置阈值,则确定所述目标电机组受力;
若所述总位置变化量小于所述预设位置阈值,则确定所述目标电机组未受力。
在第二方面的一种可能的实施方式中,所述运行数据包括电流,所述碰撞检测模块具体用于:
若检测到距离所述电机最近一次发生运动状态切换的时长超过第三预设时长,则根据所述运行数据检测所述电机的电流突变量;
若所述电流突变量大于所述电机的碰撞电流阈值,则确定所述电机发生碰撞。
在第二方面的一种可能的实施方式中,所述运行数据包括位置,所述碰撞检测模块具体用于:
若所述电机的位置变化值大于第一位置阈值,则确定所述电机的运动状态为正转,其中,所述电机的位置变化值为本次获取的所述电机的位置减去上一次获取的所述电机的位置得到的差值,所述第一位置阈值为正数;
若所述电机的位置变化值大于等于第二位置阈值,且小于等于所述第一位置阈值,则确定所述电机的运动状态为静止,所述第二位置阈值为负数;
若所述电机的位置变化值小于所述第二位置阈值,则确定所述电机的运动状态为反转;
若所述电机的运动状态与前一运动状态不同,则确定所述电机发生运动状态切换。
通过上述实施方式,可以实现在检测电机运动状态时进行位置滤波处理,进而可以提高检测结果的准确性。
在第二方面的一种可能的实施方式中,所述所述碰撞安全处理模块具体用于:
控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令;
进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
第三方面,本申请实施例提供一种机器人,包括:存储器、处理器和电机,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法,所述电机用于向所述处理器反馈运行数据。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述第一方面或第一方面的任一实施方式所述的方法。
第六方面,本申请实施例提供一种芯片系统,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面或第一方面的任一实施方式所述的方法。其中,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的机器人的结构示意图;
图2为本申请实施例提供的机器人的硬件结构示意图;
图3为本申请实施例提供的机器人的安全防护方法的原理示意图;
图4为本申请实施例提供的机器人的安全防护方法的流程示意图;
图5为本申请实施例提供的过载检测时间窗的示意图;
图6为本申请实施例提供的电流过载阈值与速度的关系示意图;
图7为本申请实施例提供的过载安全处理过程的流程示意图;
图8为本申请实施例提供的碰撞检测时间窗的示意图;
图9为本申请实施例提供的碰撞检测方法的流程示意图;
图10为本申请实施例提供的碰撞安全处理过程的流程示意图;
图11为本申请实施例提供的机器人的安全防护装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请实施例的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
下面先介绍本申请实施例涉及的机器人。本实施例涉及的机器人可以是商用机器人或消费机器人,也可以是工业机器人或特种机器人等机器人,本实施例中以消费机器人为例进行示例性说明。请参阅图1和图2,图1为本申请实施例提供的机器人的结构示意图,图2为本申请实施例提供的机器人的硬件结构示意图。
如图1所示,机器人可以包括躯体组件1、头部组件2、手臂组件3和腿部组件4,手臂组件3和腿部组件4均包括两个,头部组件2、手臂组件3和腿部组件4分别与躯体组件1连接,并且可以相对躯体组件1转动;每个组件可以包括多个关节,例如:手臂组件3可以包括上臂、下臂和手部三个关节,腿部组件4可以包括大腿、小腿和脚部三个关节,当然此处只是一种示例,手臂组件3和腿部组件4也可以包括更多或更少的关节,腿部组件4也可以增加或更改为驱动轮组件,每个驱动轮可以由电机驱动;每个关节的运动可以通过至少一个电机进行驱动。
如图2所示,机器人内部的电路模块可以包括如下电子器件:处理器110,电机120,外部存储器接口131,内部存储器132,通用串行总线(Universal Serial Bus,USB)接口140,充电管理模块150,电源管理模块151,电池152,无线通信模块160,音频模块170,扬声器171,麦克风172,传感器模块180,按键190,指示器191,摄像头192和显示屏193等。其中,传感器模块180可以包括压力传感器181,陀螺仪传感器182,加速度传感器183,接近光传感器184,环境光传感器185,指纹传感器186,温度传感器187,触摸传感器188等。其中,电机120包括多个,位于机器人的各个关节中;扬声器171、麦克风172、指示器191和摄像头192可以设置在头部组件2中;显示屏193可以包括多个,可以均设置在头部组件2中,也可以部分设置在躯体组件1中,例如可以在头部组件2中设置用于显示表情或用于触控交互的显示屏,在躯体组件1中设置用于显示图像和视频和/或用于触控交互的显示屏;其余的电子器件均可以设置在躯体组件1中。
可以理解的是,本发明实施例示意的结构并不构成对机器人的具体限定。在本申请另一些实施例中,机器人可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括中央控制器和电机控制器,还可以包括:应用处理器(Application Processor,AP)、图形处理器(Graphics Processing Unit,GPU)、图像信号处理器(Image Signal Processor,ISP)、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,中央控制器可以是机器人的神经中枢和指挥中心,其可以接收其他处理单元和外围电子器件反馈的数据,以及其他电子设备发送的数据,并生成对应的控制指令。其中,控制指令可以包括用于控制电机120运动的运动指令,例如前进指令、后退指令、左转指令和右转指令等;控制指令还可以包括用于控制其他外围电子器件(例如摄像头192和显示屏193等)的指令等。
电机控制器可以根据中央控制器发送的运动指令控制各电机运转,以带动所属的关节完成相应的运动;电机可以以预设的采样周期向电机控制器反馈电机的运行数据,电机控制器可以根据电机反馈的运行数据确定电机的运行状态,决策机器人下一步的动作。其中,电机的运行数据可以包括:电机的电流、速度和位置等数据。
为了提高机器人的安全防护能力,本实施例中,电机控制器获取到电机的运行数据后,可以根据电机的运行数据对电机进行安全防护处理。具体的安全防护处理过程可以参见后续的方法实施例,此处不再赘述。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(Inter-Integrated Circuit,I2C)接口,通用异步收发传输器(Universal AsynchronousReceiver/Transmitter,UART)接口,移动产业处理器接口(Mobile Industry ProcessorInterface,MIPI),通用输入输出(General-Purpose Input/Output,GPIO)接口,和/或通用串行总线(Universal Serial Bus,USB)接口等。
处理器110可以通过不同的I2C总线接口分别耦合触摸传感器188,充电器,摄像头192等;通过UART接口与无线通信模块160通信;通过MIPI接口连显示屏193,摄像头192等外围器件。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头192,显示屏193,无线通信模块160,音频模块170,传感器模块180等。
USB接口140是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口140可以用于连接充电器为机器人充电,也可以用于机器人与外围设备之间传输数据。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对机器人的结构限定。在本申请另一些实施例中,机器人也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块150用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块150可以通过USB接口140接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块150可以通过机器人的无线充电线圈接收无线充电输入。充电管理模块150为电池152充电的同时,还可以通过电源管理模块151为电子设备供电。
电源管理模块151用于连接电池152,充电管理模块150与处理器110。电源管理模块151接收电池152和/或充电管理模块150的输入,为处理器110、内部存储器32、外部存储器、显示屏193、摄像头192和无线通信模块160等供电。电源管理模块151还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块151也可以设置于处理器110中。在另一些实施例中,电源管理模块151和充电管理模块150也可以设置于同一个器件中。
无线通信模块160可以提供应用在机器人上的包括无线局域网(Wireless LocalArea Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)、蓝牙(Bluetooth,BT)、全球导航卫星系统(Global Navigation Satellite System,GNSS),调频(FrequencyModulation,FM)、近距离无线通信技术(Near Field Communication,NFC)、红外技术(Infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
机器人可以通过GPU、显示屏193和应用处理器等实现显示功能,通过ISP、摄像头192、视频编解码器、GPU、显示屏193和应用处理器等实现拍摄功能。
外部存储器接口131可以用于连接外部存储卡,例如Micro SD卡,实现扩展机器人的存储能力。外部存储卡通过外部存储器接口131与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器32可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器32的指令,从而执行机器人的各种功能应用以及数据处理。内部存储器32可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储机器人使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。
机器人可以通过音频模块170,扬声器171,麦克风172,以及应用处理器等实现音频功能。例如音乐播放、语音识别和录音等。
压力传感器181用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器181可以设置于显示屏193中。在一些实施例中,压力传感器181可以与陀螺仪传感器182和加速度传感器183一起,用于确定机器人的运动姿态。
接近光传感器184可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。机器人通过发光二极管向外发射红外光。机器人使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定机器人附近有物体。当检测到不充分的反射光时,机器人可以确定机器人附近没有物体。
环境光传感器185用于感知环境光亮度。机器人可以根据感知的环境光亮度自适应调节显示屏193亮度。环境光传感器180L也可用于拍照时自动调节白平衡。
指纹传感器186用于获取指纹,机器人可以利用获取的指纹特性实现指纹解锁等。
温度传感器187用于检测温度。在一些实施例中,机器人利用温度传感器180J检测的温度,执行温度处理策略。
触摸传感器188,也称“触控面板”。触摸传感器188可以设置于显示屏193,由触摸传感器188与显示屏193组成触摸屏,也称“触控屏”。触摸传感器188用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏193提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器188也可以设置于机器人的表面,与显示屏193所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键,也可以是触摸式按键。机器人可以接收按键输入,产生与机器人的用户设置以及功能控制有关的键信号输入。
指示器191可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示机器人工作状态和通知等。
以下实施例中所涉及的技术方案均可以在具有上述硬件结构的机器人中实现。
下面对本申请实施例提供的安全防护方法进行说明。其中,执行该安全防护方法的执行主体可以是机器人中的处理器,该处理器具体可以是电机控制器,也可以是集成有电机控制器的功能的其他处理单元,本实施例中以处理器为电机控制器为例进行示例性说明。
为了便于理解,下面先对本申请实施例提供的安全防护方法的原理进行简要说明。
图3为本申请实施例提供的机器人的安全防护方法的原理示意图,如图3所示,本申请实施例中,对于机器人中的每个电机来说,其安全防护场景可以包括:过载保护期、过渡保护期和碰撞保护期。
其中,电机在整个运行场景下均处于过载保护期,即电机开启后即进入过载保护期;在过载保护期内,电机控制器对电机进行过载检测,在检测到电机过载的情况下对电机进行过载安全处理。
为了提升机器人的安全防护能力,本实施例中,在对机器人进行过载保护之外,还对其进行碰撞保护;另外,为了提高碰撞保护执行结果的准确性,以提升机器人的拟人化表现能力,本实施例中,通过过渡保护期来减少碰撞保护误触发的情况。
具体的,过渡保护期和碰撞保护期均在电机处于高速运动状态(即机器人关节处于高速运动状态)的情况下开启,其中,在电机进入高速运动时,先检测是否有过载趋势,若不存在过载趋势,则直接进入碰撞保护期;若存在过载趋势,则先进入过渡保护期。
在过渡保护期内,电机控制器继续检测电机的过载趋势情况,在过载趋势消失(即过载的可能性消除)的情况下,进入碰撞保护期;在检测到电机过载的情况下,退出过渡保护期,对电机进行过载安全处理。
在碰撞保护期内,电机控制器对电机进行碰撞检测,在检测到电机发生碰撞的情况下对电机进行碰撞安全处理。
基于上述安全防护原理,对于机器人中的每个电机,可以采用图4所示的方法进行安全防护处理,以同时保护机器人和用户,提升机器人的安全防护能力。
图4为本申请实施例提供的机器人的安全防护方法的流程示意图,如图4所示,本实施例提供的安全防护方法可以包括如下步骤:
S110、获取电机的运行数据。
本实施例中,针对机器人中的每个电机,电机控制器可以实时获取电机的运行数据,根据电机的运行数据确定电机的安全情况,以对电机和用户进行安全保护。
具体的,如前所述,机器人中的每个电机可以以预设的采样周期(例如20ms)向电机控制器反馈运行数据,即对于每个电机,电机控制器可以每隔该采样周期获取一次该电机的运行数据;本实施例中,电机控制器可以在每次获取到该电机的运行数据后,采用后续步骤对电机进行安全检测和安全处理。
本实施例中,电机控制器从电机获取的运行数据可以包括:电机的电流、速度和位置等,为了提高检测结果的准确性,电机控制器在获取到电机的运行数据后,可以先对运行数据进行滤波处理,然后再进行安全检测。例如:可以根据电流的采样毛刺情况,采用滤波算法(如统计排序滤波算法)对电流进行数字滤波,过滤掉电流毛刺。
S120、根据运行数据对电机进行过载检测。
如图3所示,电机控制器获取到电机的运行数据后,进入过载保护期,在过载保护期内对电机进行过载检测。在具体进行过载检测时,电机控制器可以根据电机的电流是否超过电流过载阈值,来确定电机是否过载;为了提升检测结果的准确性,本实施例中,可以将电机的电流超过电流过载阈值的情况称为预过载状态,电机控制器可以统计电机处于预过载状态的持续时间,根据该持续时间是否超过过载检测时间窗(此处称为第一预设时长)来确定电机是否满足过载触发条件,即确定电机是否过载。其中,第一预设时长可以根据需要设置,本实施例对此不做特别限定。
图5为本申请实施例提供的过载检测时间窗的示意图,如图5所示,为电机的电流变化示意图,假设t1时刻之前,电机的电流I小于等于电流过载阈值IThres,t1时刻电机的电流I超过电流过载阈值IThres,即电机处于预过载状态,则在t1时刻到t2时刻之间的过载检测时间窗T(即t2-t1)内,检测电机的电流I是否持续大于电流过载阈值IThres,即检测电机处于预过载状态的持续时间是否大于T,若是,则说明电机满足过载触发条件,此时可以判定电机过载,否则可以认为电机未过载。
考虑到在负载相同的情况下,电机的电流与速度呈正相关,即速度越快,同样负载引起的电流越大,本实施例中,如图3所示,可以结合电机的运行数据中电机的电流和速度进行过载检测,以提高过载检测结果的准确性。
在具体实现时,可以根据电机的速度确定电流过载阈值,再据此进行过载检测。即电机控制器在每获取到一次电机的运行数据后,进行过载检测时,先根据运行数据中电机的速度确定电流过载阈值,再根据运行数据中电机的电流和实时确定的电流过载阈值,确定电机是否处于预过载状态;然后在确定电机处于预过载状态(即电机的电流大于电流过载阈值)的情况下,判断电机处于预过载状态的持续时间是否超过第一预设时长,若是,则可以确定电机满足过载触发条件,此时可以进行过载安全处理,否则继续进行过载检测。
为了保证电机在任意速度下,触发过载的施加阻力基本相近,以进一步提高过载检测结果的准确性,本实施例中,如图6所示,可以将电流过载阈值设置为速度的一次函数,对应的公式可以表示为:
其中,IThres表示电流过载阈值,vMax表示电机的最大速度,v表示获取的电机的速度,ITh1表示在电机静止时触发过载的理想电流,ITh2表示在电机达到最大速度时触发过载的理想电流。
S130、在检测到电机过载的情况下,执行该电机对应的过载安全处理策略。
如图3所示,本实施例中,如果检测到电机过载,则对电机进行过载安全处理,也就是执行电机对应的过载安全处理策略。
在具体实现时,可以采用图7所示的方法执行过载安全处理策略,参见图7,图7为本申请实施例提供的过载安全处理过程的流程示意图,如图7所示,在检测到电机过载时,可以执行如下过载安全处理策略:
S131、控制所有电机停止运动,并屏蔽所有电机的运动指令。
具体的,在检测到电机过载时,可以先停止所有电机的运动,并可以暂时屏蔽所有电机的运动指令,以及时对人或物体进行保护,同时避免对机器人造成进一步伤害。
S132、控制目标电机组中的所有电机处于脱机状态。
在控制所有电机停止运动后,可以卸载目标电机组,即控制目标电机组中的所有电机处于脱机状态(free),使目标电机组不再具有运动能力,可以被自由掰动,这样电机在持续受到外力时,可以自动活动而不至于被损坏。
其中,目标电机组包括该发生过载的电机所属的串联运动链里的所有电机,串联运动链是指把两个或两个以上的构件通过运动副的联接而构成的相对可动的系统,例如:人形机器人的一条手臂(即图1中所示的一个手臂组件3)即为一条串联运动链,若发生过载的电机是某条手臂中的某个电机,则目标电机组包括该条手臂中的所有电机。
需要说明的是,步骤S132中控制目标电机组中的所有电机处于脱机状态,与屏蔽所有电机的运动指令之间没有严格的时序执行关系,两者可以先后执行,也可以同时执行,本实施例对此不做特别限定。
S133、进行过载提示,并检测目标电机组的受力情况。
为了提醒用户,并进一步提升机器人的拟人化表现能力,本实施例中,在检测到电机过载后,可以进行过载提示,以提示用户电机发生过载。其中,过载提示可以包括语音提示和/或表情提示,例如,在右手臂中的电机发生过载时,可以语音提示“我的右胳膊好疼”,并可以显示难过的表情。
另外,在卸载目标电机组后,可以持续检测目标电机组的受力情况,以确定目标电机组有无继续发生过载的可能。比如:用户掰动目标电机组导致电机过载,在目标电机组卸载后,用户可能会继续掰动目标电机组,此时,目标电机组可以继续保持脱机状态,直到检测到目标电机组不再受力为止。这样可以减少由于用户的继续掰动而引起二次过载的情况,节省进行二次过载检测所需的处理资源,同时可以减少过载安全处理频繁执行的情况,提升机器人的拟人化表现能力。
具体的,可以通过目标电机组反馈的位置变化情况,来确定目标电机组的受力情况。在具体实现时,对于目标电机组中的每个电机,可以根据最近获取的预设时间段内的电机的位置,确定电机的位置变化绝对值之和;然后可以根据目标电机组中各电机的位置变化绝对值之和确定目标电机组的总位置变化量,最后根据总位置变化量与预设位置阈值之间的大小关系,确定目标电机组的受力情况,在总位置变化量大于等于预设位置阈值的情况下,确定目标电机组受力;在总位置变化量小于预设位置阈值的情况下,确定目标电机组未受力。
其中,预设时间段的具体值可以根据需要设置,例如可以是3s;同样的,预设位置阈值的大小也可以根据需要设置,本实施例对此均不做特别限定。对于最近获取的预设时间段内的某电机的位置,将后一次获取的位置与前一次获取的位置相减后取绝对值,可以得到该电机的一次位置变化绝对值,将该预设时间段内的该电机的各位置变化绝对值累加,即得到该电机的位置变化绝对值之和;将目标电机组中各电机的位置变化绝对值之和累加即可以得到目标电机组的总位置变化量。
S134、在目标电机组未受力的情况下使能目标电机组中的所有电机,并控制所有电机恢复至初始位置。
具体的,若检测到目标电机组受力,则说明目标电机组对应的关节还在被掰动,此时可以继续保持目标电机组的脱机状态;若检测到目标电机组未受力,则说明目标电机组对应的关节已停止被掰动,此时可以使能目标电机组中的所有电机,然后控制所有电机缓慢运动恢复至初始位置,以方便机器人重新开启正常工作。其中,在使能电机时,电机的运动指令处于被屏蔽状态,这样可以防止使能指令与运动指令发生冲突,从而可以提高机器人工作的稳定性。
S135、解除对所有电机的运动指令的屏蔽。
在控制所有电机恢复至初始位置后,可以解除对所有电机的运动指令的屏蔽,使机器人的各电机恢复正常运动。
需要说明的是,在电机控制器集成有中央控制器功能的情况下,电机的运动指令即由电机控制器生成,此时,在进行过载安全处理的过程中,电机控制器可以不执行运动指令的屏蔽和解除屏蔽操作,只需在使能电机前不生成其他运动指令即可。
S140、在根据运行数据确定电机满足碰撞检测条件的情况下,对电机进行碰撞检测。
如图3所示,电机控制器获取到电机的运行数据后,在进入碰撞保护期之前,可以先对电机进行过载趋势检测,在确定电机不存在过载趋势的情况下,再对电机进行碰撞检测;在电机存在过载趋势的情况下,先进入过渡保护期,继续检测电机的过载趋势情况;在过载趋势消失的情况下,再进入碰撞保护期。即电机进入碰撞保护期进行碰撞检测之前,需要先满足碰撞检测条件,该碰撞检测条件与过载触发条件相关,即碰撞检测条件可以根据过载触发条件确定。
具体的,碰撞通常发生在机器人高速运动状态,因此过渡保护期和碰撞保护期均可以在电机处于高速运动状态(即机器人关节处于高速运动状态)的情况下开启,以节省计算资源。对应的,如图3所示,在进行过载趋势检测之前,可以先对电机进行高速运动检测,以确定电机是否处于高速运动状态。
在具体实现时,可以判断电机的速度是否大于该电机的预设速度阈值,若是,则可以认为电机处于高速运动状态,否则,可以继续根据下一次获取的该电机的速度重新进行高速运动检测。
考虑到不同的电机由于其规格不同,所处的机器人部位不同,其高速运动的判断标准也不同,因此,每个电机的预设速度阈值可以根据该电机的规格和所处的机器人部位确定。
在确定电机处于高速运动状态后,可以根据电机处于预过载状态的持续时间是否占据过载时间窗中的目标时长(此处称为第二预设时长),来判断电机是否具备过载趋势。若电机处于预过载状态的持续时间超过第二预设时长,可以认为电机具备过载趋势,则进入过渡保护期;否则,可以认为电机不具备过载趋势,直接进入碰撞保护期,即若电机处于非预过载状态(即电机的电流小于等于电流过载阈值),或者,电机处于预过载状态,但电机处于预过载状态的持续时间不超过第二预设时长,则进入碰撞保护期。
其中,第二预设时长可以根据第一预设时长确定,例如第二预设时长可以不超过第一预设时长的一半,其具体大小本实施例不做特别限定。
举例说明,假设某电机的预设速度阈值是80°/s,该电机在78°/s时,人手接触电机,但是施加的力较小,电机速度达到80°/s时,手已经握住电机进行掰动,此时手与电机所在关节之间的相对速度较低,不会发生碰撞事件,更有可能发生的是过载事件。在这种情况下,通过上述过载趋势检测可以在电机速度达到80°/s时,检测到电机具备过载趋势,此时不直接进入碰撞保护期进行碰撞检测,而是进入过渡保护期继续进行过载检测,这样就可以进一步检测出过载事件而非碰撞事件,从而可以减少碰撞误检测的情况。
如图3所示,在过渡保护期内,可以检测电机在过载检测时间窗内是否发生过载,即对电机进行过载检测,在检测到电机过载的情况下,退出过渡保护期,对电机进行过载安全处理;否则进入碰撞保护期进行碰撞检测。也就是说,在检测到电机具备过载趋势的情况下,不进入碰撞保护期进行碰撞检测,而是继续根据后续获取的电机的运行数据,检测电机处于预过载状态的持续时间是否超过第一预设时间,若超过,则说明电机过载,执行对应的过载安全处理策略;若在未超过第一预设时间的情况下,电机变为非预过载状态,则说明过载趋势消失,此时可以进入碰撞保护期进行碰撞检测。
需要说明的是,过渡保护期中过载检测过程与过载保护期中的过载检测过程一致,且都是在检测到电机过载时进行过载安全处理;另外,在过渡保护期中检测到过载趋势消失,即表示电机此时处于非预过载状态,不具备过载趋势,可以进行碰撞检测,这与过载趋势检测过程类似,都是在检测到电机处于非预过载状态时,认为电机不具备过载趋势,可以进行碰撞检测。因此,在具体实现时,过渡保护期中的检测过程也可以通过过载趋势检测和过载保护期的过载检测来完成,即在检测到电机具备过载趋势时,可以继续进行下一次的高速运动检测和过载趋势检测,直至在电机处于高速运动状态,且不具备过载趋势的情况下再进行碰撞检测。
综上可知,电机进入碰撞保护期进行碰撞检测需要满足如下碰撞检测条件:电机处于高速运动状态,且电机不具备过载趋势,也就是说,碰撞检测条件可以包括:电机处于高速运动状态对应的第一预设条件和电机不具备过载趋势对应的第二预设条件。
通过上述内容可知,第一预设条件包括:电机的速度大于预设速度阈值;第二预设条件包括:第一条件或第二条件,第一条件包括电机处于非预过载状态;第二条件包括:电机处于预过载状态,且电机处于预过载状态的持续时间不超过第二预设时长,其中,第二预设时长可以不超过第一预设时长的一半。
在确定电机满足碰撞检测条件后,就可以对电机进行碰撞检测。拉格朗日力学方程可以如公式(2)所示:
根据上述公式(2)可知,加速度项、摩擦力项和碰撞力均可能产生数值突变,进而引起合力和电流突变,因此在碰撞检测阶段,可以将加速度项和摩擦力项进行滤波,过滤掉其对反馈电流的影响,那么剩下能引起电机电流突变的就只有碰撞力了,这样就可以根据电流突变情况检测碰撞事件,降低碰撞检测的复杂度。
对于加速度项和摩擦力项引起电流突变的情况,一般发生在电机启停阶段,因此可以将电机启停的场景从碰撞保护期中去除掉。电机启停发生在电机运动状态切换的场景,电机的运动状态可以包括正转、反转和静止。本实施例中,可以在电机运动状态切换时,延迟一个安全时间窗(此处称为第三预设时长),将安全时间窗之外的碰撞保护期作为碰撞检测时间窗,进行碰撞检测。其中,第三预设时长的大小可以根据需要设置,例如可以为100ms,本实施例对此不做特别限定。
图8为本申请实施例提供的碰撞检测时间窗的示意图,如图8所示,为电机的位置变化示意图,位置曲线中,波峰和波谷处即表示电机的运动状态发生了切换,T1、T2、T3和T4均表示碰撞检测时间窗,每个碰撞检测时间窗距离上一个波峰或波谷都有一定的时间延迟,具体延迟的时间(即图中T1和T2之间的时间间隔,T3和T4之间的时间间隔)即为上述安全时间窗;其中,碰撞检测是在高速运动状态下触发,T2和T3之间位置变化平缓,也就是说,电机的速度较低,因此在T2和T3之间不会触发碰撞检测,即不属于碰撞检测时间窗。
在具体实现时,可以图9所示的方法进行碰撞检测。参见图9,图9为本申请实施例提供的碰撞检测方法的流程示意图,如图9所示,该方法可以包括如下步骤:
S141、检测距离电机最近一次发生运动状态切换的时长。
具体的,为了确保碰撞检测不在安全时间窗(即第三预设时长)之内,可以先确定当前时间与电机最近一次发生运动状态切换的时间之间的时长,如果该时长在安全时间窗之外,即该时长超过第三预设时长,则可以进行后续的碰撞检测过程;否则,可以不进行后续的碰撞检测过程。
其中,可以通过电机连续反馈的位置检测电机的运动状态是否发生切换,例如:θ1和θ2为连续两次采样的位置,θ1的采样时间早于θ2的采样时间,则θ2-θ1>0可以表示电机正转,θ2-θ1<0可以表示电机反转,θ2-θ1=0可以表示电机静止。
考虑到电机的采样数据可能存在误差,本实施例中,可以在检测电机运动状态时进行位置滤波处理,以提高检测结果的准确性。
在具体实现时,可以设置两个位置阈值:第一位置阈值和第二位置阈值,基于电机的位置变化值和这两个位置阈值确定电机的运动状态,进而检测电机的运动状态是否发生切换。其中,电机的位置变化值即为本次获取的电机的位置θ2减去上一次获取的电机的位置θ1的差值,第一位置阈值可以为正数,对应的,第二位置阈值可以为负数,两者的具体大小可以根据需要设置,例如:第一位置阈值可以为0.5°,第二位置阈值可以为-0.5°。以第一位置阈值为0.5°,第二位置阈值为-0.5°为例,具体判断电机运动状态的公式可以如下所示:
也就是说,若电机的位置变化值大于第一位置阈值0.5°,则可以确定电机的运动状态为正转;若电机的位置变化值大于等于第二位置阈值-0.5°,且小于等于第一位置阈值0.5°,则可以确定电机的运动状态为静止;若电机的位置变化值小于第二位置阈值-0.5°,则可以确定电机的运动状态为反转。如果电机的运动状态与前一运动状态不同,即可以确定电机发生运动状态切换。
S142、若距离电机最近一次发生运动状态切换的时长超过第三预设时长,则根据运行数据检测电机的电流突变量。
具体的,如果当前时间与电机最近一次发生运动状态切换的时间之间的时长超过第三预设时长,说明此时位于碰撞检测时间窗之内,则可以继续进行后续的碰撞检测。
如前所述,滤除了加速度项和摩擦力项后,就可以通过电流突变情况检测碰撞事件。在具体实现时,可以根据本次获取的电机的电流和上一次获取的电机的电流,确定电机的电流突变量,即本次电流减去上一次获取的电流的差值。然后可以判断该电流突变量与预先设置的该电机的碰撞电流阈值的大小关系,根据判断结果确定电机是否发生碰撞。
其中,考虑到电机的规格和所处的机器人位置不同,电机的碰撞电流阈值也可以设置不同的值,具体大小可以根据实际情况设置,本实施例对此不做特别限定。
S143、若电流突变量大于电机的碰撞电流阈值,则确定电机发生碰撞。
具体的,如果电机的电流突变量大于其碰撞电流阈值,说明电机产生了一定的碰撞力,此时可以认为电机发生碰撞;否则继续进行下一次的碰撞检测。
S150、在检测到电机发生碰撞的情况下,执行该电机对应的碰撞安全处理策略。
如图3所示,本实施例中,如果检测到电机发生碰撞,则可以对电机进行碰撞安全处理,也就是执行电机对应的碰撞安全处理策略。
在具体实现时,可以采用图10所示的方法执行碰撞安全处理策略,参见图10,图10为本申请实施例提供的碰撞安全处理过程的流程示意图,如图10所示,在检测到电机发生碰撞时,可以执行如下碰撞安全处理策略:
S151、控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令。
具体的,在检测到电机发生碰撞时,可以先急停所有电机的当前运动,并向相反运动方向回弹一定距离(即预设距离),比如10°~20°,以模拟人手误打到他人时的自然缩手表现,提升机器人的拟人化表现能力。
另外,与过载处理过程类似,在检测到电机发生碰撞时,可以暂时屏蔽所有电机的运动指令,以避免对用户和机器人造成进一步伤害。
S152、进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
为了提醒用户,并进一步提升机器人的拟人化表现能力,与过载安全处理类似,本实施例中,在检测到电机发生碰撞后,可以进行碰撞提示,以提示用户电机发生碰撞。其中,碰撞提示可以包括语音提示和/或表情提示,例如,可以语音提示“抱歉哦”,“没打疼你吧”等,并可以显示抱歉的表情。
在进行碰撞提示后,可以控制所有电机缓慢运动恢复至初始位置,同时可以解除对所有电机的运动指令的屏蔽,使机器人的各电机恢复正常运动。
另外,与过载安全处理类似,在电机控制器集成有中央控制器功能的情况下,在进行碰撞安全处理的过程中,电机控制器可以不执行运动指令的屏蔽和解除屏蔽操作,只需在使能电机前不生成其他运动指令即可。
本领域技术人员可以理解,以上实施例是示例性的,并非用于限定本申请。在可能的情况下,以上步骤中的一个或者几个步骤的执行顺序可以进行调整,也可以进行选择性组合,得到一个或多个其他实施例。本领域技术人员可以根据需要从上述步骤中任意进行选择组合,凡是未脱离本申请方案实质的,都落入本申请的保护范围。
本实施例提供的机器人的安全防护方法,可以根据电机的运行数据对电机进行过载检测,在检测到电机过载的情况下,执行对应的过载安全处理策略;并可以对电机进行碰撞检测,在检测到电机发生碰撞的情况下,执行对应的碰撞安全处理策略,因而可以提高机器人的安全防护能力。另外,在对电机进行碰撞检测前,先根据电机的运行数据判断电机是否满足碰撞检测条件,以检测电机是否存在过载趋势;在电机满足碰撞检测条件的情况下,再对电机进行碰撞检测,这样可以减少碰撞检测被误触发的情况,提升机器人的拟人化表现能力。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种机器人的安全防护装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
图11为本申请实施例提供的机器人的安全防护装置的结构示意图,如图11所示,本实施例提供的装置可以包括:获取模块210、过载检测模块220、过载安全处理模块230、过载趋势检测模块240、碰撞检测模块250和碰撞安全处理模块260,其中:
获取模块210用于支持机器人执行上述实施例中的S110和/或本文所描述的技术的其它过程。
过载检测模块220用于支持机器人执行上述实施例中的S120和/或本文所描述的技术的其它过程。
过载安全处理模块230用于支持机器人执行上述实施例中的S130和/或本文所描述的技术的其它过程。
过载趋势检测模块240用于支持机器人执行上述实施例中的S140中根据运行数据确定电机是否满足碰撞检测条件的操作和/或本文所描述的技术的其它过程。
碰撞检测模块250用于支持机器人执行上述实施例中的S140中对电机进行碰撞检测的操作、和/或本文所描述的技术的其它过程。
碰撞安全处理模块260用于支持机器人执行上述实施例中的S150和/或本文所描述的技术的其它过程。
本实施例提供的装置可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行时实现上述方法实施例所述的方法。
本申请实施例还提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现上述方法实施例所述的方法。其中,芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘或磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质可以包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (16)
1.一种机器人的安全防护方法,其特征在于,包括:
获取电机的运行数据;
若根据所述运行数据检测到所述电机满足过载触发条件,则执行所述电机对应的过载安全处理策略;
在根据所述运行数据确定所述电机满足碰撞检测条件的情况下,若检测到距离所述电机最近一次发生运动状态切换的时长超过第三预设时长,则根据所述运行数据检测所述电机的电流突变量,其中,所述碰撞检测条件是根据所述过载触发条件确定的;
若所述电流突变量大于所述电机的碰撞电流阈值,则执行所述电机对应的碰撞安全处理策略。
2.根据权利要求1所述的方法,其特征在于,所述运行数据包括电流和速度,所述若根据所述运行数据检测到所述电机满足过载触发条件,则执行所述电机对应的过载安全处理策略,包括:
根据所述电机的速度确定电流过载阈值;
若所述电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
若所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机满足过载触发条件,执行所述电机对应的过载安全处理策略。
3.根据权利要求2所述的方法,其特征在于,所述碰撞检测条件包括:第一预设条件和第二预设条件,所述第一预设条件包括:所述电机的速度大于所述电机的预设速度阈值;
所述第二预设条件包括:第一条件或第二条件,所述第一条件包括所述电机处于非预过载状态;
所述第二条件包括:所述电机处于预过载状态,且所述电机处于预过载状态的持续时间不超过第二预设时长,其中,所述第二预设时长不超过所述第一预设时长的一半。
5.根据权利要求1所述的方法,其特征在于,所述执行所述电机对应的过载安全处理策略,包括:
控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
进行过载提示,并检测所述目标电机组的受力情况;
在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
6.根据权利要求5所述的方法,其特征在于,在所述检测所述目标电机组的受力情况之前,所述方法还包括:
屏蔽所有电机的运动指令;
在所述控制所有电机恢复至初始位置之后,所述方法还包括:
解除对所有电机的运动指令的屏蔽。
7.根据权利要求5所述的方法,其特征在于,所述检测所述目标电机组的受力情况,包括:
对于所述目标电机组中的每个电机,根据最近获取的预设时间段内的所述电机的位置,确定所述电机的位置变化绝对值之和;
根据所述目标电机组中各电机的位置变化绝对值之和确定所述目标电机组的总位置变化量;
若所述总位置变化量大于等于预设位置阈值,则确定所述目标电机组受力;
若所述总位置变化量小于所述预设位置阈值,则确定所述目标电机组未受力。
8.根据权利要求1所述的方法,其特征在于,所述运行数据包括位置,所述电机的运动状态切换检测方法,包括:
若所述电机的位置变化值大于第一位置阈值,则确定所述电机的运动状态为正转,其中,所述电机的位置变化值为本次获取的所述电机的位置减去上一次获取的所述电机的位置得到的差值,所述第一位置阈值为正数;
若所述电机的位置变化值大于等于第二位置阈值,且小于等于所述第一位置阈值,则确定所述电机的运动状态为静止,所述第二位置阈值为负数;
若所述电机的位置变化值小于所述第二位置阈值,则确定所述电机的运动状态为反转;
若所述电机的运动状态与前一运动状态不同,则确定所述电机发生运动状态切换。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述执行所述电机对应的碰撞安全处理策略,包括:
控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令;
进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
10.一种机器人的安全防护装置,其特征在于,包括:获取模块、过载检测模块、过载安全处理模块、过载趋势检测模块、碰撞检测模块和碰撞安全处理模块,其中:
所述获取模块用于:获取电机的运行数据;
所述过载安全处理模块用于:在所述过载检测模块根据所述运行数据检测到所述电机满足过载触发条件的情况下,执行所述电机对应的过载安全处理策略;
所述碰撞检测模块用于:在所述过载趋势检测模块根据所述运行数据确定所述电机满足碰撞检测条件的情况下,若检测到距离所述电机最近一次发生运动状态切换的时长超过第三预设时长,则根据所述运行数据检测所述电机的电流突变量;若所述电流突变量大于所述电机的碰撞电流阈值,则确定所述电机发生碰撞,其中,所述碰撞检测条件是根据所述过载触发条件确定的;
所述碰撞安全处理模块用于:在所述碰撞检测模块检测到所述电机发生碰撞的情况下,执行所述电机对应的碰撞安全处理策略。
11.根据权利要求10所述的装置,其特征在于,所述运行数据包括电流和速度,所述过载检测模块具体用于:
根据所述电机的速度确定电流过载阈值;
若所述电机的电流大于所述电流过载阈值,则确定所述电机处于预过载状态;
若所述电机处于预过载状态的持续时间超过第一预设时长,则确定所述电机满足过载触发条件。
12.根据权利要求11所述的装置,其特征在于,所述碰撞检测条件包括:第一预设条件和第二预设条件,所述第一预设条件包括:所述电机的速度大于所述电机的预设速度阈值;
所述第二预设条件包括:第一条件或第二条件,所述第一条件包括所述电机处于非预过载状态;
所述第二条件包括:所述电机处于预过载状态,且所述电机处于预过载状态的持续时间不超过第二预设时长,其中,所述第二预设时长不超过所述第一预设时长的一半。
13.根据权利要求10所述的装置,其特征在于,所述过载安全处理模块具体用于:
控制所有电机停止运动,并控制目标电机组中的所有电机处于脱机状态,所述目标电机组包括所述电机所属的串联运动链里的所有电机;
进行过载提示,并检测所述目标电机组的受力情况;
在检测到所述目标电机组未受力的情况下使能所述目标电机组中的所有电机,并控制所有电机恢复至初始位置。
14.根据权利要求10-13任一项所述的装置,其特征在于,所述碰撞安全处理模块具体用于:
控制所有电机停止运动后,反向运动预设距离,并屏蔽所有电机的运动指令;
进行碰撞提示后,控制所有电机恢复至初始位置,并解除对所有电机的运动指令的屏蔽。
15.一种机器人,其特征在于,包括:存储器、处理器和电机,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-9任一项所述的方法,所述电机用于向所述处理器反馈运行数据。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010427126.2A CN111645070B (zh) | 2020-05-19 | 2020-05-19 | 机器人的安全防护方法、装置与机器人 |
PCT/CN2021/081670 WO2021232921A1 (zh) | 2020-05-19 | 2021-03-19 | 机器人的安全防护方法、装置与机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010427126.2A CN111645070B (zh) | 2020-05-19 | 2020-05-19 | 机器人的安全防护方法、装置与机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111645070A CN111645070A (zh) | 2020-09-11 |
CN111645070B true CN111645070B (zh) | 2022-06-14 |
Family
ID=72342062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010427126.2A Active CN111645070B (zh) | 2020-05-19 | 2020-05-19 | 机器人的安全防护方法、装置与机器人 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111645070B (zh) |
WO (1) | WO2021232921A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111645070B (zh) * | 2020-05-19 | 2022-06-14 | 华为技术有限公司 | 机器人的安全防护方法、装置与机器人 |
CN112549024B (zh) * | 2020-11-26 | 2022-05-24 | 华南理工大学 | 基于时间序列分析的机器人免传感碰撞检测方法及应用 |
CN114690762A (zh) * | 2020-12-31 | 2022-07-01 | 深圳市海柔创新科技有限公司 | 货叉碰撞处理方法、装置、机器人、设备、介质及产品 |
CN114425787A (zh) * | 2021-12-21 | 2022-05-03 | 深圳优地科技有限公司 | 机器人自动测试的控制方法、装置、服务器及存储介质 |
CN114227682A (zh) * | 2021-12-23 | 2022-03-25 | 钛深科技(深圳)有限公司 | 机器人碰撞检测装置、方法、设备、存储介质以及机器人 |
CN114474076B (zh) * | 2022-03-28 | 2023-04-11 | 法奥意威(苏州)机器人系统有限公司 | 机器人碰撞检测方法、装置、检测设备及可读存储介质 |
CN114766989B (zh) * | 2022-04-24 | 2023-07-14 | 云鲸智能(深圳)有限公司 | 换向机构的位置检测方法及设备、介质、清洁设备 |
CN116392259A (zh) * | 2023-04-28 | 2023-07-07 | 极限人工智能有限公司 | 同轨道双驱动模块的行程和防撞监测方法、系统和机器人 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3459973B2 (ja) * | 1999-10-22 | 2003-10-27 | 川崎重工業株式会社 | 駆動制御方法および駆動制御装置 |
CN201559195U (zh) * | 2009-12-11 | 2010-08-25 | Abb技术有限公司 | 机器人 |
CN103192413A (zh) * | 2012-01-06 | 2013-07-10 | 沈阳新松机器人自动化股份有限公司 | 一种无传感器的机器人碰撞检测保护装置及方法 |
CN104718055B (zh) * | 2012-10-25 | 2016-06-29 | 松下知识产权经营株式会社 | 机器人的异常显示方法 |
CN104070522B (zh) * | 2013-03-27 | 2016-10-05 | 中绿农农业发展有限公司 | 用于工业机器人的能够自动识别及避免碰撞的方法及装置 |
CN104985598B (zh) * | 2015-06-24 | 2016-11-23 | 南京埃斯顿机器人工程有限公司 | 一种工业机器人碰撞检测方法 |
CN107775639B (zh) * | 2017-10-26 | 2020-10-23 | 广州市敏嘉机器人技术有限公司 | 一种基于电流法的机器人防碰撞方法与系统 |
EP3546136B1 (de) * | 2018-03-29 | 2021-01-13 | Sick Ag | Augmented-reality-system |
CN209335630U (zh) * | 2018-10-08 | 2019-09-03 | 广州数控设备有限公司 | 一种基于工业机器人的无传感弹性碰撞装置 |
CN109079856A (zh) * | 2018-10-30 | 2018-12-25 | 珠海格力智能装备有限公司 | 机器人的碰撞检测方法和装置 |
CN109940622B (zh) * | 2019-04-28 | 2020-10-27 | 西安交通大学 | 一种基于电机电流的机器人机械臂无传感碰撞检测方法 |
CN110181507B (zh) * | 2019-05-07 | 2020-11-20 | 成都卡诺普自动化控制技术有限公司 | 一种用于机器人的急停控制方法及系统 |
CN110977972B (zh) * | 2019-12-03 | 2021-02-12 | 珠海格力电器股份有限公司 | 一种多关节机器人碰撞检测方法、计算机可读存储介质及机器人 |
CN111645070B (zh) * | 2020-05-19 | 2022-06-14 | 华为技术有限公司 | 机器人的安全防护方法、装置与机器人 |
-
2020
- 2020-05-19 CN CN202010427126.2A patent/CN111645070B/zh active Active
-
2021
- 2021-03-19 WO PCT/CN2021/081670 patent/WO2021232921A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN111645070A (zh) | 2020-09-11 |
WO2021232921A1 (zh) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111645070B (zh) | 机器人的安全防护方法、装置与机器人 | |
CN111633686B (zh) | 机器人的安全防护方法、装置与机器人 | |
US6374157B1 (en) | Robot device and control method thereof | |
US8676532B2 (en) | Fall detection device, magnetic disk drive, and portable electronic apparatus | |
EP2683204B1 (en) | Method and apparatus for controlling sleep mode in portable terminal | |
US10970527B2 (en) | Robot attention detection | |
US10263439B2 (en) | Method and apparatus for protecting battery | |
US20160064958A1 (en) | Method and apparatus for battery charging | |
US9576193B2 (en) | Gesture recognition method and gesture recognition apparatus using the same | |
US11150743B2 (en) | Electronic device and method for intelligent interaction thereof | |
KR102582863B1 (ko) | 사용자 의도 기반 제스처 인식 방법 및 장치 | |
CN104335260A (zh) | 一种红外测距防撞方法及终端 | |
CN107834640B (zh) | 一种充电方法及终端 | |
CN113330392A (zh) | 用于确定包括多个动作的任务的电子装置和方法 | |
US20230198242A1 (en) | Methods and apparatus for battery current monitoring | |
US11029753B2 (en) | Human computer interaction system and human computer interaction method | |
EP3757878A1 (en) | Head pose estimation | |
CN109991896B (zh) | 机器人跌倒预判的方法、装置及存储装置 | |
CN109565171B (zh) | 充电保护方法、终端及充电器 | |
US20210018882A1 (en) | Information processing device and information processing method | |
KR20210047613A (ko) | 관성 센서를 이용한 착용 감지 방법 및 장치 | |
US20210149428A1 (en) | Electronic device to perform power management and operating method thereof | |
US10488958B2 (en) | Shock touch protection of a mobile device | |
KR20140108896A (ko) | 충격 보호 기능을 가진 휴대용 전자기기 | |
CN108289149B (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 |