CN111061215B - 控制机器人脱困的方法、装置、机器人 - Google Patents

控制机器人脱困的方法、装置、机器人 Download PDF

Info

Publication number
CN111061215B
CN111061215B CN201911364664.5A CN201911364664A CN111061215B CN 111061215 B CN111061215 B CN 111061215B CN 201911364664 A CN201911364664 A CN 201911364664A CN 111061215 B CN111061215 B CN 111061215B
Authority
CN
China
Prior art keywords
robot body
robot
mechanical arm
joint
joint mechanical
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
CN201911364664.5A
Other languages
English (en)
Other versions
CN111061215A (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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development Co Ltd
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 Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN201911364664.5A priority Critical patent/CN111061215B/zh
Publication of CN111061215A publication Critical patent/CN111061215A/zh
Priority to JP2021526575A priority patent/JP2022518880A/ja
Priority to KR1020217014282A priority patent/KR20210084495A/ko
Priority to PCT/CN2020/088717 priority patent/WO2021128693A1/zh
Priority to TW109143076A priority patent/TWI750939B/zh
Application granted granted Critical
Publication of CN111061215B publication Critical patent/CN111061215B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/1005Programme-controlled manipulators characterised by positioning means for manipulator elements comprising adjusting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35349Display part, programmed locus and tool path, traject, dynamic locus

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Electric Vacuum Cleaner (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本公开提供了一种控制机器人脱困的方法、装置、机器人,该方法通过检测机器人本体的行进状态;在检测到机器人本体处于被困状态的情况下,确定多关节机械臂在支撑体上的着力点位置;基于确定的支撑体上的着力点位置,控制多关节机械臂远离机器人本体的一端接触支撑体,并控制多关节机械臂在支撑体的支撑下,对机器人本体施加目标作用力,来使机器人本体脱离被困状态,从而可以使机器人自动完成脱困,保障了机器人的正常工作,提高了机器人的工作效率。

Description

控制机器人脱困的方法、装置、机器人
技术领域
本公开涉及机器人技术领域,具体而言,涉及一种控制机器人脱困的方法、装置、机器人。
背景技术
随着机器人快速发展,机器人在生活、学习等场景中越来越重要。目前,在机器人的工作过程中,会出现机器人被障碍物的困住的情况,使得机器人无法正常工作。因此,如何解决机器人被困的问题非常重要。
比如,扫地机器人在扫地过程中有可能出现被地面上阻挡物困住而无法行进的情况,这种情况下,只能依靠人工为机器人解困,操作不便,降低了机器人的工作效率。
发明内容
有鉴于此,本公开至少提供一种控制机器人脱困的方案。
第一方面,本公开提供了一种控制机器人脱困的方法,所述机器人包括多关节机械臂和机器人本体,所述方法包括:
检测机器人本体的行进状态;
在检测到所述机器人本体处于被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置;
基于确定的支撑体上的着力点位置,控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体,并控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加目标作用力,以使所述机器人本体脱离被困状态。
上述实施方式下,可以通过检测机器人本体的行进状态;当检测到机器人本体处于被困状态时,确定多关节机械臂在支撑体上的着力点位置;基于确定的支撑体上的着力点位置,控制多关节机械臂远离机器人本体的一端接触支撑体,并控制多关节机械臂在支撑体的支撑下,对机器人本体施加目标作用力,来使机器人本体脱离被困状态,从而可以使机器人自动完成脱困,保障机器人的正常工作,提高机器人的工作效率。
一种可能的实施方式中,所述确定所述多关节机械臂在支撑体上的着力点位置之前,包括:
基于所述机器人本体上设置的传感器,检测所述机器人本体当前所处位置对应的至少一个候选支撑体,和/或所述至少一个候选支撑体的属性特征;
基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体;所述属性特征用于表征所述支撑体的表面结构的软硬程度特征。
这里,可以根据候选支撑体的属性特征,优先选择偏硬质的对象作为支撑体,这样材质的支撑体支撑效果较好;另外,也可以预先设置周围环境中各种可能出现的支撑体的优先级顺序,比如偏硬质的对象的优先级较高,不容易被损坏的对象的优先级较高,举例来说,地面的优先级可以设置最高,其次为墙面、桌面、玻璃物等。
一种可能的实施方式中,基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体,包括:
基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中选择一个未被选择的候选支撑体;
确定基于所述候选支撑体上的着力点位置,以及与所述多关节机械臂远离所述机器人本体的一端的位置,确定在所述多关节机械臂远离机器人本体的一端到达所述着力点位置时,所述多关节机械臂的预测位姿信息;
控制所述多关节机械臂远离所述机器人本体的一端移动至所述着力点位置,检测所述多关节机械臂的当前位姿信息;
在所述当前位姿信息与所述预测位姿信息不匹配的情况下,返回从至少一个候选支撑体中选择一个未被选择的候选支撑体的步骤,直到所述多关节机械臂的当前位姿信息与所述预测位姿信息相匹配,或者直到所述至少一个候选支撑体中不存在未被选择的候选支撑体。
这里,若多关节机械臂的当前位姿信息与预测位姿信息不匹配,说明对支撑体的属性特征的检测结果存在问题(比如检测的硬度高的支撑体实际硬度较低),此时可以重新选择一个未被选择的候选支撑体,并继续进行上述位姿信息的匹配,以避免检测结果不准确导致支撑体选择出现问题,确保了支撑体的支撑效果。这样,多关节机械臂在属性特征为硬性的支撑体的支撑下,对机器人本体施加的作用力能够更有效。
一种可能的实施方式中,所述确定所述多关节机械臂在支撑体上的着力点位置,包括:
将检测到的支撑体对应的区域划分为多个子区域,确定多个子区域中每个子区域的中心点;
从多个子区域的中心点中,选取所述多关节机械臂的着力点。
一种可能的实施方式中,所述从多个子区域对应的中心点中,选取所述多关节机械臂的着力点,包括:
基于每个中心点与所述多关节机械臂接近机器人本体一端之间的方向和距离,从所述多个子区域的中心点中,选取所述多关节机械臂的着力点。
上述实施方式下,通过将支撑体划分为多个子区域,基于每个中心点与多关节机械臂接近机器人本体一端之间的方向和距离,从多个子区域的中心点中,选取多关节机械臂的着力点,相比随机试探着力点的方式,这种方式下,机器人本体脱离被困状态的效率较高。
一种可能的实施方式中,基于确定的支撑体上的着力点位置,控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体,包括:
基于所述着力点位置与所述多关节机械臂远离所述机器人本体的一端的当前位置,确定所述多关节机械臂的移动路径;
控制所述多关节机械臂按照所述移动路径移动,直至所述多关节机械臂远离所述机器人本体的一端接触所述支撑体。
一种可能的实施方式中,所述控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加目标作用力,以使所述机器人本体脱离被困状态,包括:
确定使得所述机器人本体脱离所述被困状态的目标方向;
控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加所述目标方向上的所述目标作用力,以使所述机器人本体脱离被困状态。
上述实施方式下,目标方向为多关节机械臂对机器人本体施加的目标作用力的方向。通过明确施加的作用力方向,可以提高机器人本体脱离被困状态的效率。
一种可能的实施方式中,所述确定使得所述机器人本体脱离所述被困状态的目标方向,包括:
基于所述机器人本体的位姿数据,确定使得所述机器人本体脱离所述被困状态的目标方向。
一种可能的实施方式中,所述基于所述机器人本体的位姿数据,确定使得所述机器人本体脱离所述被困状态的目标方向,包括:
基于所述机器人本体的位姿数据,确定所述机器人本体上设置的至少一个轮子的状态;
基于所述至少一个轮子的状态,确定使得所述机器人本体脱离所述被困状态的目标方向。
上述实施方式下,基于机器人本体的位姿数据可以较准确地确定目标作用力的作用方向,从而提高机器人本体脱离被困状态的效率。
一种可能的实施方式中,所述确定使得所述机器人本体脱离所述被困状态的目标方向,包括:
从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向;
控制所述多关节机械臂对所述机器人本体施加所述目标方向上的所述目标作用力,检测所述机器人本体的状态;
在所述机器人本体未脱离被困状态的情况下,则返回所述从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向的步骤,直到所述机器人本体脱离被困状态,或者直到预设的多个方向中不存在未被选择的方向。
上述实施方式下,可以通过不断尝试来从预设的多个方向中选择目标方向,这种方式不需要进行目标方向的计算,节省了处理资源。
一种可能的实施方式中,所述多关节机械臂中远离所述机器人本体的关节单元为第一关节单元,接近所述机器人本体的关节单元为第二关节单元;
在控制所述多关节机械臂对所述机器人本体施加目标作用力之前,所述方法还包括:
基于所述目标方向,调整所述多关节机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;
或者,基于所述目标方向以及所述第一关节单元的作用方向,调整所述机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;以及使得调整后的所述第一关节单元与所述着力点位置所在区域之间的夹角,与所述第一关节单元的作用方向相匹配。
上述实施方式下,通过为多关节机械臂中第一关节单元设置作用方向,可以使得多关节机械臂中的第一关节单元与支撑体之间的支撑效果较好;同时,调整第二关节单元的位姿与上述目标方向匹配,可以使得多关节机械臂为机器人本体施加目标方向上的作用力,进而使得机器人本体脱离被困状态。
一种可能的实施方式中,所述控制所述多关节机械臂对所述机器人本体施加目标作用力,包括:
通过调节以下夹角中的至少一种,控制所述多关节机械臂对所述机器人本体施加目标作用力:
所述多关节机械臂中相邻关节单元之间的夹角;
所述多关节机械臂中第一关节单元与所述着力点所在区域之间的夹角;
所述第二关节单元与所述机器人本体之间的夹角。
一种可能的实施方式中,所述在检测到所述机器人本体处于被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置,还包括:
在检测到所述机器人本体处于被困状态的情况下,控制所述机器人本体变换移动方向进行移动;
所述确定所述多关节机械臂在支撑体上的着力点位置,包括:
在检测到所述机器人本体变换移动方向进行移动后,未脱离被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置。
以下装置、电子设备等的效果描述参见上述方法的说明,这里不再赘述。
第二方面,本公开提供了一种机器人,所述机器人包括多关节机械臂和机器人本体,所述多关节机械臂活动连接于所述机器人本体,所述机器人本体内设置有控制器,所述控制器通过向所述多关节机械臂中每个关节单元内设置的舵机发送控制信号,来控制所述多关节机械臂,以执行第一方面所述的控制机器人脱困的方法。
第三方面,本公开提供了一种控制机器人脱困的装置,所述机器人包括多关节机械臂和机器人本体,所述装置包括:
状态检测模块,用于检测机器人本体的行进状态;
着力点位置确定模块,用于在检测到所述机器人本体处于被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置;
控制模块,用于基于确定的支撑体上的着力点位置,控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体,并控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加目标作用力,以使所述机器人本体脱离被困状态。
一种可能的实施方式中,所述装置还包括:
候选支撑体检测模块,用于基于所述机器人本体上设置的传感器,检测所述机器人本体当前所处位置对应的至少一个候选支撑体,和/或所述至少一个候选支撑体的属性特征;
支撑体确定模块,用于基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体;所述属性特征用于表征所述支撑体的表面结构的软硬程度特征。
一种可能的实施方式中,所述着力点位置确定模块,根据以下步骤从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体:
基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中选择一个未被选择的候选支撑体;
确定基于所述候选支撑体上的着力点位置,以及与所述多关节机械臂远离所述机器人本体的一端的位置,确定在所述多关节机械臂远离机器人本体的一端到达所述着力点位置时,所述多关节机械臂的预测位姿信息;
控制所述多关节机械臂远离所述机器人本体的一端移动至所述着力点位置后,检测所述多关节机械臂的当前位姿信息;
在所述当前位姿信息与所述预测位姿信息不匹配的情况下,返回从至少一个候选支撑体中选择一个未被选择的候选支撑体的步骤,直到所述多关节机械臂的当前位姿信息与所述预测位姿信息相匹配,或者直到所述至少一个候选支撑体中不存在未被选择的候选支撑体。
一种可能的实施方式中,所述着力点位置确定模块,利用下述步骤确定所述多关节机械臂在支撑体上的着力点位置:
将检测到的支撑体对应的区域划分为多个子区域,确定多个子区域中每个子区域的中心点;
从多个子区域的中心点中,选取所述多关节机械臂的着力点。
一种可能的实施方式中,所述着力点位置确定模块,利用下述步骤从所述从多个子区域对应的中心点中,选取所述多关节机械臂的着力点:
基于每个中心点与所述多关节机械臂接近机器人本体一端之间的方向和距离,从所述多个子区域的中心点中,选取所述多关节机械臂的着力点。
一种可能的实施方式中,所述控制模块,利用下述步骤控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体:
基于所述着力点位置与所述多关节机械臂远离所述机器人本体的一端的当前位置,确定所述多关节机械臂的移动路径;
控制所述多关节机械臂按照所述移动路径移动,直至所述多关节机械臂远离所述机器人本体的一端接触所述支撑体。
一种可能的实施方式中,所述控制模块,利用下述步骤对所述机器人本体施加目标作用力:
确定使得所述机器人本体脱离所述被困状态的目标方向;
控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加所述目标方向上的所述目标作用力,以使所述机器人本体脱离被困状态。
一种可能的实施方式中,所述控制模块,利用下述步骤确定使得所述机器人本体脱离所述被困状态的目标方向:
基于所述机器人本体的位姿数据,确定使得所述机器人本体脱离所述被困状态的目标方向。
一种可能的实施方式中,所述控制模块,利用下述步骤基于所述机器人本体的位姿数据,确定使得所述机器人本体脱离所述被困状态的目标方向:
基于所述机器人本体的位姿数据,确定所述机器人本体上设置的至少一个轮子的状态;
基于所述至少一个轮子的状态,确定使得所述机器人本体脱离所述被困状态的目标方向。
一种可能的实施方式中,所述控制模块,利用下述步骤确定使得所述机器人本体脱离所述被困状态的目标方向:
从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向;
控制所述多关节机械臂对所述机器人本体施加所述目标方向上的所述目标作用力,检测所述机器人本体的状态;
在所述机器人本体未脱离被困状态的情况下,返回所述从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向的步骤,直到所述机器人本体脱离被困状态,或者直到预设的多个方向中不存在未被选择的方向。
一种可能的实施方式中,所述多关节机械臂中远离所述机器人本体的关节单元为第一关节单元,接近所述机器人本体的关节单元为第二关节单元;
在控制所述多关节机械臂对所述机器人本体施加目标作用力之前,所述装置还包括:
第一调整模块,用于基于所述目标方向,调整所述多关节机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;
或者,第二调整模块,用于基于所述目标方向以及所述第一关节单元的作用方向,调整所述机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;以及使得调整后的所述第一关节单元与所述着力点位置所在区域之间的夹角,与所述第一关节单元的作用方向相匹配。
一种可能的实施方式中,所述控制模块,利用下述步骤控制所述多关节机械臂对所述机器人本体施加目标作用力:
通过调节以下夹角中的至少一种,控制所述多关节机械臂对所述机器人本体施加目标作用力:
所述多关节机械臂中相邻关节单元之间的夹角;
所述多关节机械臂中第一关节单元与所述着力点所在区域之间的夹角;
所述第二关节单元与所述机器人本体之间的夹角。
一种可能的实施方式中,所述着力点位置确定模块,还包括:
移动方向变换单元,用于在检测到所述机器人本体处于被困状态的情况下,控制所述机器人本体变换移动方向进行移动;
所述着力点位置确定模块,利用下述步骤确定所述多关节机械臂在支撑体上的着力点位置:
在检测到所述机器人本体变换移动方向进行移动后,未脱离被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置。
第四方面,本公开提供一种电子设备,包括:相互连接的处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如上述第一方面或任一实施方式所述的控制机器人脱困的方法的步骤。
第五方面,本公开提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第一方面或任一实施方式所述的控制机器人脱困的方法的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种控制机器人脱困的方法的流程示意图;
图2示出了本公开实施例所提供的一种机器人本体的上表面示意图;
图3示出了本公开实施例所提供的一种机器人本体的侧面示意图;
图4A示出了本公开实施例所提供的一种机器人的侧面示意图;
图4B示出了本公开实施例所提供的另一种机器人的侧面示意图;
图5A示出了本公开实施例所提供的一种机器人的侧面示意图;
图5B示出了本公开实施例所提供的另一种机器人的侧面示意图;
图6示出了本公开实施例所提供的一种控制机器人脱困的装置的架构示意图;
图7示出了本公开实施例所提供的一种机器人的架构示意图;
图8示出了本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
为了解决机器人被障碍物困住的问题,保障机器人的正常工作,本公开实施例提供了一种控制机器人脱困的方法,通过控制多关节机械臂在支撑体的支撑下,对机器人本体施加目标作用力,使得机器人本体脱离被困状态,保障了机器人的正常工作。
为便于对本公开实施例进行理解,首先对本公开实施例所公开的一种控制机器人脱困的方法进行详细介绍。
本公开实施例提供的一种控制机器人脱困的方法,可以应用于客户端、服务器中,也可以应用于该机器人本体上设置的控制器(如处理器)中。在机器人本体处于被困状态时,客户端或者服务器或者控制器可以通过执行计算机指令实现本公开实施例提供的控制机器人脱困的方法,控制多关节机械臂对机器人本体施加目标作用力,使得机器人本体脱离被困状态,进而使得机器人能够正常工作,提高机器人的工作效率。
示例性的,该机器人可以为扫地机器人,其中,扫地机器人是通过内置的真空吸尘器,将地面杂物吸纳进入内置的垃圾收纳盒中。为了提高扫地机器人的吸纳效率,扫地机器人的本体与地面之间的间隙较小,因此扫地机器人在实际使用时,例如扫地机器人对用户的房间进行清理时,可能会被电线、或者被卷起的地毯等困住,使得扫地机器人无法正常工作,即扫地机器人处于被困状态。为了解决扫地机器人无法正常工作的问题,可以在扫地机器人上设置多关节机械臂,多关节机械臂与机器人本体相连,在机器人本体处于被困状态时,机器人本体上设置的控制器可以通过本公开实施例提供的控制机器人脱困的方法,控制多关节机械臂对机器人本体施加目标作用力,使得机器人本体脱离被困状态,进而使得机器人能够正常工作,提高机器人的工作效率。
参见图1所示,为本公开实施例所提供的一种控制机器人脱困的方法的流程示意图,该方法可以应用于客户端、服务器、机器人本体上设置的控制器,其中,以该方法应用于扫地机器人中为例进行说明。
图1所示的一种控制机器人脱困的方法包括以下几个步骤:
S101,检测机器人本体的行进状态;
S102,在检测到机器人本体处于被困状态的情况下,确定多关节机械臂在支撑体上的着力点位置;
S103,基于确定的支撑体上的着力点位置,控制多关节机械臂远离机器人本体的一端接触支撑体,并控制多关节机械臂在支撑体的支撑下,对机器人本体施加目标作用力,以使机器人本体脱离被困状态。
基于上述步骤,可以通过检测机器人本体的行进状态;当检测到机器人本体处于被困状态时,确定多关节机械臂在支撑体上的着力点位置;基于确定的支撑体上的着力点位置,控制多关节机械臂远离机器人本体的一端接触支撑体,并控制多关节机械臂在支撑体的支撑下,对机器人本体施加目标作用力,来使机器人本体脱离被困状态,从而可以使机器人自动完成脱困,保障机器人的正常工作,提高机器人的工作效率。
针对S101:本公开实施例中,行进状态包括被困状态以及非被困状态。在具体实施时,可以通过机器人本体上设置的视觉传感器以及轮式编码器检测机器人本体的行进状态,或者,可以通过机器人本体上设置的惯性测量单元(Inertial measurement unit,IMU)检测机器人本体的行进状态。在具体实施时,检测机器人本体的行进状态的方法可以根据机器人本体上设置的传感器的种类进行确定,本公开实施例对此不进行具体限定。
本公开实施例中,视觉传感器对机器人本体所处位置的周围环境进行检测,轮式编码器对机器人本体上设置的轮子的转动状态进行检测,IMU对机器人本体的三轴姿态角以及加速度进行检测,即对机器人本体的行进数据进行检测。示例性的,通过机器人本体上设置的视觉传感器以及轮式编码器检测机器人本体的行进状态的过程可以为:若机器人本体上设置的视觉传感器检测到机器人本体所处的周围环境未发生改变,同时轮式传感器检测到机器人本体上设置的轮子一直处于转动状态时,则确定该机器人处于被困状态;若机器人本体上设置的视觉传感器检测到机器人本体所处的周围环境未发生改变,同时轮式传感器检测到机器人本体上设置的轮子未处于转动状态时,或者,机器人本体上设置的视觉传感器检测到机器人本体所处的周围环境发生改变,同时轮式传感器检测到机器人本体上设置的轮子处于转动状态时,则确定该机器人处于非被困状态。
示例性的,通过机器人本体上设置的IMU检测机器人本体的行进状态可以为:IMU对机器人本体的行进数据进行检测,基于IMU检测得到的行进数据,根据先验知识经验对机器人本体的行进状态进行判断。示例性的,先验知识经验包括:若机器人本体处于被困状态,且由于障碍物的作用,使得机器人本体上设置的第一驱动轮不与地面接触,第二驱动轮与地面接触,则该机器人本体的加速度存在与地面垂直的加速度分量。因此,若IMU检测到机器人本体的加速度存在与地面垂直的加速度分量时,则判断机器人本体处于被困状态。
针对S102:本公开实施例中,支撑体可以为地面或墙壁,也可以为机器人在实际使用时可以接触到的表面结构符合要求的任一物体,例如,冰箱、洗衣机等物体。其中,表面结构符合要求的物体是指表面结构为坚硬结构的物体,例如,冰箱、木质衣柜等;表面结构不符合要求的物体是指表面结构为柔软结构的物体,例如,地毯、皮质沙发等。
本公开实施例中,在检测到机器人本体处于被困状态时,可以通过机器人本体上设置的视觉传感器确定支撑体,在确定支撑体后,从支撑体上确定多关节机械臂的着力点,使得多关节机械臂能够基于该着力点对机器人本体施加目标作用力。
一种可能的实施方式中,确定多关节机械臂在支撑体上的着力点位置之前,该方法包括:
基于机器人本体上设置的传感器,检测机器人本体当前所处位置对应的至少一个候选支撑体,和/或至少一个候选支撑体的属性特征;
基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中确定多关节机械臂对应的支撑体;属性特征用于表征支撑体的表面结构的软硬程度特征。
本具体实施中,可以通过视觉传感器获取机器人本体在当前所处位置处对应的图像,对该图像进行识别,确定图像中存在的候选支撑体,并判断候选支撑体的属性特征,其中,属性特征包括硬性以及软性,或者包括软硬程度的不同标识。示例性的,可以通过深度学习模型确定图像中存在的候选支撑体以及候选支撑体的属性特征,具体的,将图像输入至训练好的深度学习模型中进行处理,得到该图像中包括的候选支撑体以及该候选支撑体的属性特征。例如,将视觉传感器获取到的机器人本体A在当前位置处对应的图像A输入至深度学习模型中进行处理,得到图像A中的候选支撑体包括:沙发、地面,则检测到的沙发的属性特征为软性,地面的属性特征为硬性。
本具体实施中,还可以通过其它传感器来检测候选支撑体的属性特征,比如在多关节机械臂远离机器人本体的一端上设置触觉传感器,具体使用哪种方式检测上述属性特征可以根据实际需要进行确定,本公开实施例对此不进行具体限定。
在具体实施时,可以基于每个候选支撑体的属性特征,从至少一个候选支撑体中确定多关节机械臂对应的支撑体,具体的,可以根据候选支撑体的属性特征,优选选择偏硬质的对象作为支撑体。承接上述示例继续说明,若检测到机器人本体A当前所处位置处对应的候选支撑体包括沙发、地面,基于候选支撑体的属性特征,可以确定多关节机械臂对应的支撑体为地面;若检测到的机器人本体F当前所处位置处对应的候选支撑体包括沙发、地面、桌面,由于地面的硬度高于桌面,桌面的硬度高于沙发,则可以将地面确定为支撑体。
示例性的,可以根据多关节机械臂在支撑体的支撑下,对机器人本体施加目标作用力的目标方向范围,确定支撑体的优先级顺序。例如,若多关节机械臂的远离机器人本体的一端为机械手时,则多关节机械臂在地面的支撑下,对机器人本体施加目标作用力的目标方向范围可以为0度方向至90度方向(包括0度方向以及90度方向);多关节机械臂在墙壁的支撑下,对机器人本体施加目标作用力的目标方向范围可以为0度方向,但不可以为90度方向,其中,0度方向是指与地面平行的方向,90度方向是指与地面垂直向上的方向;故地面对应的目标方向范围大于墙壁的目标方向范围。因此,可以设置地面的优先级高于墙壁的优先级。和/或,可以根据支撑体表面的易损害程度,确定支撑体的优先级,例如,墙壁的易损害程度高于地面的易损害程度,家具(冰箱、沙发等)的易损害程度高于墙壁的易损害程度,因此,可以设置地面的优先级高于墙壁的优先级,墙壁的优先级高于家具的优先级。和/或,可以根据支撑体表面的硬度,确定支撑体优先级,例如,地面的硬度高于墙壁,墙壁的硬度高于桌面,桌面的硬度高于沙发,进而支撑体优先级从高到低可以为地面、墙壁、桌面、沙发。其中,可以根据先验知识经验,确定每个支撑体的易损害程度以及硬度。
在具体实施时,可以基于设置的支撑体优先级顺序,从至少一个候选支撑体中确定多关节机械臂对应的支撑体,例如,若检测到机器人本体B当前所处位置处对应的候选支撑体包括沙发、地面、墙壁时,基于设置的支撑体优先级顺序,可以确定多关节机械臂对应的支撑体为地面。
在具体实施时,还可以基于每个候选支撑体的属性特征和设置的支撑体优先级顺序,从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体。例如,若检测到机器人本体B当前所处位置处对应的候选支撑体包括沙发、地面以及墙壁,由于沙发的属性特征为软性,则确定沙发不能作为支撑体,因此将沙发排除;由于地面的优先级高于墙壁,故将地面确定为多关机机械臂对应的支撑体。其中,支撑体优先级顺序可以根据机器人的使用场景进行具体确定,本公开实施例对此不进行具体限定。
示例性的,还可以为多关节机械臂确定多个支撑体,按照支撑体优先级顺序确定多个支撑体的优先级。承接上述实施例继续说明,若支撑体优先级顺序为地面大于墙壁,检测到机器人本体C当前所处位置处对应的候选支撑体包括地面以及墙壁,则可以将地面作为第一支撑体,将墙壁作为第二支撑体。在具体实施时,首先控制多关节机械臂远离机器人本体的一端接触第一支撑体,并控制多关节机械臂在第一支撑体的支撑下,对机器人本体施加目标作用力。在控制多关节机械臂在第一支撑体的支撑下,无法使得机器人本体脱离被困状态时,则可以控制多关节机械臂远离机器人本体的一端接触第二支撑体,并控制多关节机械臂在第二支撑体的支撑下,对机器人本体施加目标作用力,以使机器人本体脱离被困状态。通过为多关节机械臂提供了多个支撑体,提高了机器人本体脱离被困状态的灵活性,以及提高了机器人本体脱离被困状态的效率。
本公开实施例中,机器人本体上设置的传感器可以为视觉传感器。在通过机器人本体上设置的视觉传感器确定支撑体时,可以先基于处于被困状态时机器人本体的位姿信息,获取机器人本体对应的初始图像;检测在该初始图像内是否存在支撑体,若不存在支撑体,则可以判断机器人本体是否可以旋转,即判断机器人本体是否可以顺时针和/或逆时针旋转;在确定机器人本体可以旋转后,控制机器人本体旋转,并在旋转过程中,获取机器人本体对应的图像,基于旋转过程中得到的图像,确定机器人本体对应的支撑体。
本公开实施例中,在机器人本体距离墙壁或者冰箱等与地面垂直的支撑体较近时,通过视觉传感器检测支撑体时,可能存在视觉范围内无法确定支撑体的情况,和/或,在机器人本体无法旋转时,则可以通过设置的至少一个超声波传感器确定是否存在与地面垂直的支撑体。超声波传感器通过发射并接收超声波,确定机器人本体在此处位置处是否存在支撑体,以及在存在支撑体时,确定该支撑体与机器人本体之间的距离。其中,机器人本体上设置的超声波传感器的数量可以根据超声波传感器发射超声波的区域范围确定,例如,若超声波传感器发射超声波的区域范围为60度的扇形区域,则可以通过设置6个超声波传感器实现对机器人本体周围的区域进行360度全方位检测。
本公开实施例中,可以根据候选支撑体的属性特征,优先选择偏硬质的对象作为支撑体,这样材质的支撑体支撑效果较好;另外,也可以预先设置周围环境中各种可能出现的支撑体的优先级顺序,比如偏硬质的对象的优先级较高,不容易被损坏的对象的优先级较高,举例来说,地面的优先级可以设置最高,其次为墙面、桌面、玻璃物等。
一种可能的实施方式中,基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中确定多关节机械臂对应的支撑体,包括:
基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中选择一个未被选择的候选支撑体;
确定基于候选支撑体上的着力点位置,以及与多关节机械臂远离机器人本体的一端的位置,确定在多关节机械臂远离机器人本体的一端到达着力点位置时,多关节机械臂的预测位姿信息;
控制多关节机械臂远离机器人本体的一端移动至着力点位置,检测多关节机械臂的当前位姿信息;
在当前位姿信息与预测位姿信息不匹配的情况下,返回从至少一个候选支撑体中选择一个未被选择的候选支撑体的步骤,直到多关节机械臂的当前位姿信息与预测位姿信息相匹配,或者直到至少一个候选支撑体中不存在未被选择的候选支撑体。
本公开实施例中,预测位姿信息为多关节机械臂估算的,在多关节机械臂远离机器人本体的一端接触着力点位置的情况下,多关节机械臂对应的估算位姿信息。在具体实施时,可以通过确定多关节机械臂的移动路径,并在确定多关节机械臂的移动路径时,估算得到多关节机械臂的预测位姿信息。示例性的,通过基于着力点位置与多关节机械臂远离机器人本体的一端的当前位置,确定多关节机械臂的移动路径,以及多关节机械臂的预测位姿信息,在控制多关节机械臂远离机器人本体的一端按照确定的移动路径移动至着力点位置后,检测多关节机械臂的当前位姿信息,基于检测得到的当前位姿信息以及预测位姿信息的匹配情况,确定多关节机械臂的支撑体。
本公开实施例中,在确定支撑体的过程中,检测候选支撑体的属性特征时,可能存在属性特征检测错误的情况。例如,将软性的候选支撑体的属性特征确定为硬性,进而造成将该属性特征为软性的候选支撑体确定为支撑体。因此,可以基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中选择一个未被选择的候选支撑体;在选择了一个候选支撑体后,控制多关节机械臂远离机器人本体的一端移动至候选支撑体上的着力点位置后,检测多关节机械臂的当前位姿信息与预测位姿信息是否匹配,若不匹配,则重新选择候选支撑体;若匹配,则将该候选支撑体作为多关节机械臂对应的支撑体。
在具体实施时,若支撑体的属性特征为软性时,则多关节机械臂接触该支撑体上的着力点后,多关节机械臂的位姿信息会发生改变,造成多关节机械臂的位姿信息与预设位姿信息之间的差别超过设置的范围,使得多关节机械臂的当前位姿信息与预测位姿信息不匹配;反之,若支撑体的属性特征为硬性时,则多关节机械臂接触该支撑体上的着力点后,多关节机械臂的位姿信息基本不会发生改变,或者多关节机械臂的位姿信息与预测位姿信息之间的差别在设置的范围内,即多关节机械臂的当前位姿信息与预测位姿信息相匹配。因此,可以基于多关节机械臂的当前位姿信息以及预测位姿信息,对候选支撑体进行检测。
本公开实施例中,若多关节机械臂的当前位姿信息与预测位姿信息不匹配,说明对支撑体的属性特征的检测结果存在问题(比如检测的硬度高的支撑体实际硬度较低),此时可以重新选择一个未被选择的候选支撑体,并继续进行上述位姿信息的匹配,以避免检测结果不准确导致支撑体选择出现问题,确保了支撑体的支撑效果。这样,多关节机械臂在属性特征为硬性的支撑体的支撑下,对机器人本体施加的作用力能够更有效。
一种可能的实施方式中,确定多关节机械臂在支撑体上的着力点位置,包括:
将检测到的支撑体对应的区域划分为多个子区域,确定多个子区域中每个子区域的中心点;
从多个子区域的中心点中,选取多关节机械臂的着力点。
本公开实施例中,支撑体对应的区域是指视觉传感器获取到的图像中对应的支撑体的区域,其中,该支撑体对应的区域为支撑体的表面的局部区域,例如,若支撑体为墙壁时,则支撑体对应的区域为视觉传感器拍摄到的墙壁图像对应的区域。在确定支撑体后,可以将支撑体对应的区域划分为多个子区域,其中,划分的子区域的数量可以根据支撑体的面积进行确定,或者,划分的子区域的数量可以为预设数量。例如,若支撑体为墙壁,则将该墙壁划分为多个子区域,确定每个子区域的中心点,从多个中心点中,选取多关节机械臂的着力点。
一种可能的实施方式中,从多个子区域对应的中心点中,选取多关节机械臂的着力点,包括:
基于每个中心点与多关节机械臂接近机器人本体一端之间的方向和距离,从多个子区域的中心点中,选取多关节机械臂的着力点。
本公开实施例中,由于多关节机械臂的长度为确定的,若中心点与多关节机械臂接近机器人本体一端之间的距离大于多关节机械臂的长度时,则该中心点不能够作为着力点,故可以参考基于多关节机械臂的长度确定最优距离值。同时,可以基于先验知识经验为机器人本体设置一最优方向。在具体实施时,基于该最优距离值以及最优方向,从多个子区域的中心点中,选取多关节机械臂的着力点。
举例说明,若多关节机械臂包括5节关节单元,每节关节单元的长度均为10厘米,则考虑到多关节机器臂在执行脱困动作时需要弯曲,最优距离值可以设置为小于50厘米的值,具体可以根据实际使用场景来设置,比如设置为20厘米,同时,基于先验知识经验为机器人本体设置的最优方向可以为多关节机械臂接近机器人本体一端与机器人本体上设置的任一驱动轮所在位置相连的方向,或者,最优方向可以为与两个驱动轮所在位置的连线垂直的方向。其中,最优方向可以根据机器人本体的位姿数据,或者,机器人本体在实际使用时的场景进行确定,本公开实施例对此不进行具体限定。如图2所示出的一种机器人本体的上表面示意图,图中的位置A处为多关节机械臂与机器人本体相连的位置(即多关节机械臂接近机器人本体一端),位置B与位置C为驱动轮所在位置,则最优方向可以为位置A与位置B的连线方向,即射线21所指示的方向,或者最优方向可以为位置A与位置C的连线方向,即射线22所指示的方向,或者垂直与位置B与位置C的连线的方向,即射线23所指示的方向。
在具体实施时,若最优距离和/或最优方向上无对应的中心点,则可以从多个子区域的中心点中,选择与最优距离最接近的点,和/或选择与最优方向最接近的方向上的点。若最优距离上的点与最优方向上的点不一致时,则可以优先选择最优距离上的点作为着力点。在选择最优距离上的点作为着力点,控制多关节机械臂远离机器人本体一端接触该着力点后,可以使得多关节机械臂之间的角度为最佳角度值,进而通过调节到最佳角度值的多关节机械臂,能够较为准确的控制多关节机械臂对机器人本体施加目标作用力。
本公开实施例中,通过将支撑体划分为多个子区域,基于每个中心点与多关节机械臂接近机器人本体一端之间的方向和距离,从多个子区域的中心点中,选取多关节机械臂的着力点,相比随机试探着力点的方式,这种方式下,机器人本体脱离被困状态的效率较高。
针对S103:本公开实施例中,在确定了着力点位置后,控制多关节机械臂远离机器人本体的一端接触该着力点,并控制多关节机械臂在支撑体的支撑下,对机器人本体施加目标作用力,以使机器人本体脱离被困状态。在实际使用时,可以基于机器人本体的重量,确定目标作用力的最优值。
示例性的,若目标作用力的目标方向为与地面垂直的方向,则目标作用力为使得机器人本体能够向上移动的力,比如设置目标作用力的大小大于机器人本体的重力(该重力可以基于机器人本体重量计算得到);若目标作用力的目标方向为与地面平行的方向,则目标作用力为使得机器人本体能够水平移动的力,比如设置目标作用力的大小大于施加在机器人本体上的摩擦阻力(该摩擦阻力也与机器人本体重量相关)。综上分析可知,目标作用力的值与机器人本体的重量有关。例如,若机器人本体的重量较大,则对应的目标作用力的最优值较大;若机器人本体的重量较小,则对应的目标作用力的最优值较小。在具体实施时,可以根据机器人本体的应用场所,统计机器人本体处于被困状态的至少一种场景,以及确定在每种场景下,使得机器人本体脱离被困状态的目标作用力最小值。从至少一个场景对应的最小值中,选择最大的值作为目标作用力的最优值。其中,目标作用力的值可以根据实际应用场所进行确定,本公开实施例对此不进行具体限定。
一种可能的实施方式中,基于确定的支撑体上的着力点位置,控制多关节机械臂远离机器人本体的一端接触支撑体,包括:
基于着力点位置与多关节机械臂远离机器人本体的一端的当前位置,确定多关节机械臂的移动路径;
控制多关节机械臂按照移动路径移动,直至所述多关节机械臂远离机器人本体的一端接触支撑体。
本公开实施例中,着力点位置以及多关节机械臂远离机器人本体的一端的当前位置位于同一坐标系中,例如,着力点位置可以为在大地坐标系中着力点的坐标,以及多关节机械臂远离机器人本体的一端的当前位置也为在大地坐标系中多关节机械臂末端的位置。在其他实施例中,着力点位置和多关节机械臂远离机器人本体的一端的当前位置不在同一坐标系时,可以通过坐标转换将二者转换到同一坐标系下。其中,坐标系可以根据实际情况进行选择。在具体实施时,可以通过逆向运动学基于着力点位置以及多关节机械臂远离机器人本体的一端的当前位置,规划多关节机械臂的移动路径;也可以通过深度学习算法基于着力点位置以及多关节机械臂远离机器人本体的一端的当前位置,确定多关节机械臂的移动路径。
一种可能的实施方式中,控制多关节机械臂在支撑体的支撑下,对机器人本体施加目标作用力,以使机器人本体脱离被困状态,包括:
确定使得机器人本体脱离被困状态的目标方向;
控制多关节机械臂在支撑体的支撑下,对机器人本体施加目标方向上的目标作用力,以使机器人本体脱离被困状态。
本公开实施例中,机械臂支撑支撑体时,会对支撑体产生一个作用力,同时支撑体会对机械臂产生反作用力,该反作用力经机械臂传递给机器人本体(即目标作用力),因此目标方向为多关节机械臂对机器人本体施加的目标作用力的方向。通过明确施加的作用力方向,可以提高机器人本体脱离被困状态的效率。
一种可能的实施方式中,确定使得机器人本体脱离被困状态的目标方向,包括:
基于机器人本体的位姿数据,确定使得机器人本体脱离被困状态的目标方向。
在一种实施方式中,可以通过先验知识经验,基于机器人本体的位姿数据,确定使得机器人本体脱离被困状态的目标方向。例如,在确定的应用场所中,确定机器人本体出现被困状态的至少一种场景,统计每种场景下处于被困状态的机器人本体的样本位姿数据,并确定该场景下机器人本体脱离被困状态的样本目标方向,将机器人本体的样本位姿数据与对应的样本目标方向关联存储,使得在检测到机器人本体处于被困状态时,可以基于机器人本体的位姿数据,从存储的机器人本体的样本位姿数据与对应的样本目标方向中,确定使得机器人本体脱离被困状态的目标方向。
本公开实施例中,机器人本体的位姿数据为机器人本体在预设的坐标系中的位置数据和姿态数据。示例性的,可以通过机器人本体上设置的惯性测量单元(Inertialmeasurement unit,IMU)检测机器人本体的位姿数据。
一种可能的实施方式中,基于机器人本体的位姿数据,确定使得机器人本体脱离被困状态的目标方向,包括:
基于机器人本体的位姿数据,确定机器人本体上设置的至少一个轮子的状态;
基于至少一个轮子的状态,确定使得机器人本体脱离被困状态的目标方向。
本公开实施例中,轮子的状态可以为接触地以及不接触地,即若轮子与地面接触,则该轮子的状态为接触地;若轮子与地面不接触,则该轮子的状态为不接触地。基于机器人本体的位姿数据,确定机器人本体上设置的至少一个轮子的状态,即确定每个轮子是接触地或不接触地。例如,可以根据机器人本体的位姿数据,确定机器人本体是否处于倾斜状态,若是,则根据机器人本体的位姿数据,确定机器人本体倾斜的方向,进而基于机器人本体倾斜的方向,确定机器人本体上每个轮子的状态。在确定每个轮子的状态后,可以基于至少一个轮子的状态,确定使得机器人本体脱离被困状态的目标方向。示例性的,若至少一个轮子中存在不接触地面的轮子时,则可以将与地面所在平面垂直的方向确定为目标方向,或者,可以将与机器人本体的上表面垂直的方向确定为目标方向;若至少一个轮子中每个轮子的状态均为接触地时,则可以将与地面所在平面平行的方向确定为目标方向,即可以将与机器人本体的上表面平行的方向确定为目标方向。
本公开实施例中,基于机器人本体的位姿数据可以较准确地确定目标作用力的作用方向,从而提高机器人本体脱离被困状态的效率。
一种可能的实施方式中,确定使得机器人本体脱离被困状态的目标方向,包括:
从预设的多个方向中选择一个当前未被选择的方向作为目标方向;
控制多关节机械臂对机器人本体施加目标方向上的目标作用力,检测所述机器人本体的状态;
在机器人本体未脱离被困状态的情况下,返回从预设的多个方向中选择一个当前未被选择的方向作为目标方向的步骤,直到机器人本体脱离被困状态,或者直到预设的多个方向中不存在未被选择的方向。
本公开实施例中,还可以从预设的多个方向中选择一个当前未被选择的方向作为目标方向,预设的多个方向可以包括:与机器人本体平行的方向(与机器人本体呈0度)、与机器人本体垂直的方向(与机器人本体呈90度)、与机器人本体呈30度的方向、与机器人本体呈60度的方向等。例如,可以将与机器人本体平行的方向作为目标方向,或者将与机器人本体垂直的方向作为目标方向。其中,预设的多个方向可以根据实际需要进行设置。参见图3所示的是一种机器人本体的侧面示意图,图中包括机器人本体31、射线301、射线302、射线303、射线304,其中,位置A处为多关节机械臂与机器人本体相连的位置,射线301所指示的方向为与机器人本体平行的方向,射线302所指示的方向为与机器人本体呈30度的方向,射线303所指示的方向为与机器人本体呈60度的方向,射线304所指示的方向为与机器人本体垂直的方向。
在本公开实施例中,可以基于与机器人本体的角度,从大到小依次从预设的多个方向中选择一方向作为目标方向,或者,可以基于与机器人本体的角度,从小到大依次从预设的多个方向中选择一方向作为目标方向。例如,可以从预设的多个方向中,选择与机器人本体平行的方向作为目标方向,若在控制多关节机械臂对机器人本体施加该目标方向上的目标作用力之后,机器人本体未脱离被困状态时,则可以从预设的多个方向中选择与机器人本体呈30度的方向作为目标方向,直到所述机器人本体脱离被困状态,或者直到预设的多个方向中不存在未被选择的方向。
本公开实施例中,若直到预设的多个方向中不存在未被选择的方向,或者,在更换支撑体和/或着力点,重新对机器人本体施加目标作用力之后,检测到机器人本体仍然处于被困状态时,则可以生成报警信号,控制机器人本体上设置的报警装置发出报警指示,以使得用户可以基于报警指示,控制机器人本体解除被困状态。
本公开实施例中,可以通过不断尝试来从预设的多个方向中选择目标方向,这种方式不需要进行目标方向的计算,节省了处理资源。
一种可能的实施方式中,多关节机械臂中远离机器人本体的关节单元为第一关节单元,接近机器人本体的关节单元为第二关节单元;
在控制多关节机械臂对机器人本体施加目标作用力之前,方法还包括:
基于目标方向,调整多关节机械臂中每个关节单元的位姿信息,使得调整后的第二关节单元与机器人本体之间的夹角,与目标方向相匹配;
或者,基于目标方向以及第一关节单元的作用方向,调整机械臂中每个关节单元的位姿信息,使得调整后的第二关节单元与机器人本体之间的夹角,与目标方向相匹配;以及使得调整后的第一关节单元与着力点位置所在区域之间的夹角,与第一关节单元的作用方向相匹配。
本公开实施例中,通过调整机械臂中每个关节单元的位姿信息,使得调整后的第二关节单元与机器人本体之间的夹角,与目标方向相匹配;进而可以实现多关节机械臂在支撑体的支撑下,对机器人本体施加目标方向上的目标作用力,使得机器人本体脱离被困状态。其中,若机器人本体的每个轮子均与地面接触,目标方向为与地面垂直的方向,则第二关节单元与机器人本体之间的夹角等于90度时,则第二关节单元与机器人本体之间的夹角,与目标方向相匹配。
本公开实施例中,可以根据机器人本体的应用场合,通过多次试验的方式,确定第一关节单元的作用方向,使得第一关节单元与着力点位置所在区域之间的夹角,与第一关节单元的作用方向相匹配之后,通过控制多关节机械臂,能较准确的对机器人本体施加目标作用力,即使得多关节机械臂中的第一关节单元与支撑体之间的支撑效果较好。例如,第一关节单元的作用方向可以为与支撑体的表面垂直的方向,则可以通过调节每个关节单元的位姿信息,使得调整后的第一关节单元与着力点位置所在区域垂直,即使得调整后的第一关节单元与着力点位置所在区域之间的夹角,与第一关节单元的作用方向相匹配。
本公开实施例中,通过为多关节机械臂中第一关节单元设置作用方向,可以在调整每个关节单元的位姿之后,控制第一关节单元与着力点位置所在区域之间的夹角,与第一关节单元的作用方向相匹配,使得多关节机械臂中的第一关节单元与支撑体之间的支撑效果较好;同时,可以在调整每个关节单元的位姿之后,控制第二关节单元与机器人本体之间的夹角,与目标方向相匹配,可以使得多关节机械臂为机器人本体施加目标方向上的作用力,进而使得机器人本体脱离被困状态。
一种可能的实施方式中,控制多关节机械臂对机器人本体施加目标作用力,包括:
通过调节以下夹角中的至少一种,控制多关节机械臂对机器人本体施加目标作用力:
多关节机械臂中相邻关节单元之间的夹角;
多关节机械臂中第一关节单元与着力点所在区域之间的夹角;
第二关节单元与机器人本体之间的夹角。
本公开实施例中,通过调节多关节机械臂中相邻关节单元之间的夹角;和/或,调节多关节机械臂中第一关节单元与着力点所在区域之间的夹角;和/或,调节第二关节单元与机器人本体之间的夹角,实现对机器人本体施加目标作用力。
示例性的,若目标方向为与地面所在平面平行的方向,则可以通过调节多关节机械臂中相邻关节单元之间的夹角,为机器人本体施加目标方向上的目标作用力。例如,可以通过控制多关节机械臂中,部分相邻关节单元之间的夹角变大,实现为机器人本体施加目标方向上的目标作用力。
示例性的,若目标方向为与地面所在平面垂直的方向,则可以通过调节多关节机械臂中相邻关节单元之间的夹角,和/或,第二关节单元与机器人本体之间的夹角,为机器人本体施加目标方向上的目标作用力。例如,可以通过控制多关节机械臂中,部分相邻关节单元之间的夹角变小,部分相邻关节单元之间的夹角变大,实现为机器人本体施加目标方向上的目标作用力。或者,可以通过控制多关节机械臂中,部分相邻关节单元之间的夹角变小、部分相邻关节单元之间的夹角变大、以及控制第二关节单元与机器人本体之间的夹角变小,实现为机器人本体施加目标方向上的目标作用力。
示例性的,以目标方向为与地面所在平面垂直的方向为例进行说明,如图4A所示的一种机器人的侧面示意图,该机器人包括机器人本体31以及多关节机械臂32,该机器人本体处于被困状态,该机器人本***于地面47上,由于存在障碍物40,使得机器人本体上设置的第一驱动轮41与地面47接触,第二驱动轮42与地面47不接触,以及机器人本体上设置的万向轮45与地面47不接触,该多关节机械臂包括5个关节单元,第一关节单元43的作用方向为与支撑体垂直的方向,该支撑体为地面47,第二关节单元44与机器人本体之间的夹角,与目标方向匹配;位置A处为多关节机械臂与机器人本体相连的位置,位置D处为确定的着力点位置。其中,可以通过调节多关节机械臂中相邻关节单元之间的夹角,以及多关节机械臂中第一关节单元与着力点所在区域之间的夹角,控制多关节机械臂对机器人本体施加目标作用力,该目标作用力对应的目标方向为与地面所在平面垂直的方向,调整后的机器人的侧面示意图如图4B所示。
示例性说明,以目标方向为与机器人本体平行的方向为例进行说明,如图5A所示的一种机器人的侧面示意图,该机器人包括机器人本体31、多关节机械臂32、第一驱动轮41以及机器人本体上设置的万向轮45,该机器人本体处于被困状态,且机器人本体上设置的第一驱动轮41以及第二驱动轮均与地面47接触,该多关节机械臂包括4个关节单元,第一关节单元43的作用方向为与支撑体垂直的方向,该支撑体为墙壁46,第二关节单元44与机器人本体31之间的夹角,与目标方向匹配;位置A处为多关节机械臂与机器人本体相连的位置,位置D处为确定的着力点位置。其中,可以通过调节多关节机械臂中相邻关节单元之间的夹角,以及多关节机械臂中第一关节单元与着力点所在区域之间的夹角,控制多关节机械臂对机器人本体施加目标作用力,该目标作用力对应的目标方向为与机器人本体平行的方向,即该目标作用力对应的目标方向为与地面所在平面平行的方向,调整后的机器人的侧面示意图如图5B所示。
一种可能的实施方式中,在检测到机器人本体处于被困状态的情况下,确定多关节机械臂在支撑体上的着力点位置,还包括:
在检测到机器人本体处于被困状态的情况下,控制机器人本体变换移动方向进行移动;
确定多关节机械臂在支撑体上的着力点位置,包括:
在检测到机器人本体变换移动方向进行移动后,未脱离被困状态的情况下,确定多关节机械臂在支撑体上的着力点位置。
本公开实施例中,在检测到机器人本体处于被困状态时,可以首先控制机器人本体变换移动方向进行移动,以使机器人本体脱离被困状态。示例性的,变换的移动方向可以为基于机器人本体上设置的视觉传感器检测得到;或者,也可以为基于机器人本体的位置信息以及存储的应用场所的地图确定的。其中,确定机器人本体变换后的移动方向的方式,可以根据实际需要进行确定,本公开实施例对此不进行具体限定。
在具体实施时,在检测到机器人本体变换移动方向进行移动后,仍未脱离被困状态时,确定多关节机械臂在支撑体上的着力点位置,基于确定的支撑体上的着力点位置,控制多关节机械臂远离机器人本体的一端接触支撑体,并控制多关节机械臂在所述支撑体的支撑下,对机器人本体施加目标作用力,以使机器人本体脱离被困状态,从而可以在机器人采用传统变换方向移动的方式无法脱困的情况下,使用机械臂辅助脱困,提高机器人脱困的成功率。
以扫地机器人为例对控制机器人脱困的方法进行说明,在扫地机器人工作过程中,对扫地机器人的行进状态进行实时检测,当检测到扫地机器人处于被困状态时,则可以基于扫地机器人上设置的视觉传感器获取扫地机器人所处位置的图像;基于获取的该图像判断是否存在候选支撑体,并基于设置的优先级顺序以及候选支撑体的属性特征,从至少一个候选支撑体中选取支撑体;在确定支撑体之后,从该支撑体上确定着力点位置,并控制多关节机械臂与该支撑体上的该着力点接触;在检测到多关节机械臂接触该着力点后的当前位姿信息与预测位姿信息相匹配时,则确定扫地机器人对应的目标方向,并基于目标方向,调整多关节机械臂的位姿信息,控制调整位姿信息后的多关节机械臂在支撑体的支撑下,对扫地机器人本体施加目标方向上的目标作用力,使得扫地机器人的本体脱离被困状态。
本公开提供的一种控制机器人脱困的方法,通过检测机器人本体的行进状态;当检测到机器人本体处于被困状态时,确定多关节机械臂在支撑体上的着力点位置;基于确定的支撑体上的着力点位置,控制多关节机械臂远离机器人本体的一端接触支撑体,并控制多关节机械臂在支撑体的支撑下,对机器人本体施加目标作用力,来使机器人本体脱离被困状态,从而可以使机器人自动完成脱困,保障了机器人的正常工作,提高了机器人的工作效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于相同的构思,本公开实施例还提供了一种控制机器人脱困的装置,参见图6所示,为本公开实施例提供的一种控制机器人脱困的装置的架构示意图,包括状态检测模块601、着力点位置确定模块602、控制模块603,具体的:
状态检测模块601,用于检测机器人本体的行进状态;
着力点位置确定模块602,用于在检测到所述机器人本体处于被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置;
控制模块603,用于基于确定的支撑体上的着力点位置,控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体,并控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加目标作用力,以使所述机器人本体脱离被困状态。
一种可能的实施方式中,所述装置还包括:
候选支撑体检测模块,用于基于所述机器人本体上设置的传感器,检测所述机器人本体当前所处位置对应的至少一个候选支撑体,和/或所述至少一个候选支撑体的属性特征;
支撑体确定模块,用于基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体;所述属性特征用于表征所述支撑体的表面结构的软硬程度特征。
一种可能的实施方式中,所述着力点位置确定模块602,根据以下步骤从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体:
基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中选择一个未被选择的候选支撑体;
确定基于所述候选支撑体上的着力点位置,以及与所述多关节机械臂远离所述机器人本体的一端的位置,确定在所述多关节机械臂远离机器人本体的一端到达所述着力点位置时,所述多关节机械臂的预测位姿信息;
控制所述多关节机械臂远离所述机器人本体的一端移动至所述着力点位置后,检测所述多关节机械臂的当前位姿信息;
在所述当前位姿信息与所述预测位姿信息不匹配的情况下,返回从至少一个候选支撑体中选择一个未被选择的候选支撑体的步骤,直到所述多关节机械臂的当前位姿信息与所述预测位姿信息相匹配,或者直到所述至少一个候选支撑体中不存在未被选择的候选支撑体。
一种可能的实施方式中,所述着力点位置确定模块602,利用下述步骤确定所述多关节机械臂在支撑体上的着力点位置:
将检测到的支撑体对应的区域划分为多个子区域,确定多个子区域中每个子区域的中心点;
从多个子区域的中心点中,选取所述多关节机械臂的着力点。
一种可能的实施方式中,所述着力点位置确定模块602,利用下述步骤从所述从多个子区域对应的中心点中,选取所述多关节机械臂的着力点:
基于每个中心点与所述多关节机械臂接近机器人本体一端之间的方向和距离,从所述多个子区域的中心点中,选取所述多关节机械臂的着力点。
一种可能的实施方式中,所述控制模块603,利用下述步骤控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体:
基于所述着力点位置与所述多关节机械臂远离所述机器人本体的一端的当前位置,确定所述多关节机械臂的移动路径;
控制所述多关节机械臂按照所述移动路径移动,直至所述多关节机械臂远离所述机器人本体的一端接触所述支撑体。
一种可能的实施方式中,所述控制模块603,利用下述步骤对所述机器人本体施加目标作用力:
确定使得所述机器人本体脱离所述被困状态的目标方向;
控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加所述目标方向上的所述目标作用力,以使所述机器人本体脱离被困状态。
一种可能的实施方式中,所述控制模块603,利用下述步骤确定使得所述机器人本体脱离所述被困状态的目标方向:
基于所述机器人本体的位姿数据,确定使得所述机器人本体脱离所述被困状态的目标方向。
一种可能的实施方式中,所述控制模块603,利用下述步骤基于所述机器人本体的位姿数据,确定使得所述机器人本体脱离所述被困状态的目标方向:
基于所述机器人本体的位姿数据,确定所述机器人本体上设置的至少一个轮子的状态;
基于所述至少一个轮子的状态,确定使得所述机器人本体脱离所述被困状态的目标方向。
一种可能的实施方式中,所述控制模块603,利用下述步骤确定使得所述机器人本体脱离所述被困状态的目标方向:
从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向;
控制所述多关节机械臂对所述机器人本体施加所述目标方向上的所述目标作用力,检测所述机器人本体的状态;
在所述机器人本体未脱离被困状态的情况下,返回所述从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向的步骤,直到所述机器人本体脱离被困状态,或者直到预设的多个方向中不存在未被选择的方向。
一种可能的实施方式中,所述多关节机械臂中远离所述机器人本体的关节单元为第一关节单元,接近所述机器人本体的关节单元为第二关节单元;
在控制所述多关节机械臂对所述机器人本体施加目标作用力之前,所述装置还包括:
第一调整模块,用于基于所述目标方向,调整所述多关节机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;
或者,第二调整模块,用于基于所述目标方向以及所述第一关节单元的作用方向,调整所述机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;以及使得调整后的所述第一关节单元与所述着力点位置所在区域之间的夹角,与所述第一关节单元的作用方向相匹配。
一种可能的实施方式中,所述控制模块603,利用下述步骤控制所述多关节机械臂对所述机器人本体施加目标作用力:
通过调节以下夹角中的至少一种,控制所述多关节机械臂对所述机器人本体施加目标作用力:
所述多关节机械臂中相邻关节单元之间的夹角;
所述多关节机械臂中第一关节单元与所述着力点所在区域之间的夹角;
所述第二关节单元与所述机器人本体之间的夹角。
一种可能的实施方式中,所述着力点位置确定模块,包括:
移动方向变换单元,用于在检测到所述机器人本体处于被困状态的情况下,控制所述机器人本体变换移动方向进行移动;
所述着力点位置确定模块,利用下述步骤确定所述多关节机械臂在支撑体上的着力点位置:
在检测到所述机器人本体变换移动方向进行移动后,未脱离被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模板可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
基于相同的构思,本公开实施例还提供了一种机器人,参见图7所示,为本公开实施例提供的一种机器人的架构示意图,包括多关节机械臂701和机器人本体702,多关节机械臂701与机器人本体702活动连接,机器人本体702内设置有控制器7022,控制器7022通过向多关节机械臂中每个关节单元内设置的舵机发送控制信号,来控制多关节机械臂,该控制器7022用于执行上文方法实施例描述的控制机器人脱困的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
基于同一技术构思,本公开实施例还提供了一种电子设备。参照图8所示,为本公开实施例提供的电子设备的结构示意图,包括处理器801、存储器802、和总线803。其中,存储器802用于存储执行指令,包括内存8021和外部存储器8022;这里的内存8021也称内存储器,用于暂时存放处理器801中的运算数据,以及与硬盘等外部存储器8022交换的数据,处理器801通过内存8021与外部存储器8022进行数据交换,当电子设备800运行时,处理器801与存储器802之间通过总线803通信,使得处理器801在执行以下指令:
检测机器人本体的行进状态;
在检测到所述机器人本体处于被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置;
基于确定的支撑体上的着力点位置,控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体,并控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加目标作用力,以使所述机器人本体脱离被困状态。
一种可能的设计中,处理器801执行的指令中,还包括:
基于所述机器人本体上设置的传感器,检测所述机器人本体当前所处位置对应的至少一个候选支撑体,和/或所述至少一个候选支撑体的属性特征;
基于每个候选支撑体的属性特征,以及设置的优先级顺序,从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体;所述属性特征用于表征所述支撑体的表面结构的软硬程度特征。
一种可能的设计中,处理器801执行的指令中,还包括:
基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中选择一个未被选择的候选支撑体;
确定基于所述候选支撑体上的着力点位置,以及与所述多关节机械臂远离所述机器人本体的一端的位置,确定在所述多关节机械臂远离机器人本体的一端到达所述着力点位置时,所述多关节机械臂的预测位姿信息;
控制所述多关节机械臂远离所述机器人本体的一端移动至所述着力点位置,检测所述多关节机械臂的当前位姿信息;
在所述当前位姿信息与所述预测位姿信息不匹配的情况下,返回从至少一个候选支撑体中选择一个未被选择的候选支撑体的步骤,直到所述多关节机械臂的当前位姿信息与所述预测位姿信息相匹配,或者直到所述至少一个候选支撑体中不存在未被选择的候选支撑体。
一种可能的设计中,处理器801执行的指令中,还包括:
将检测到的支撑体对应的区域划分为多个子区域,确定多个子区域中每个子区域的中心点;
从多个子区域的中心点中,选取所述多关节机械臂的着力点。
一种可能的设计中,处理器801执行的指令中,还包括:
基于每个中心点与所述多关节机械臂接近机器人本体一端之间的方向和距离,从所述多个子区域的中心点中,选取所述多关节机械臂的着力点。
一种可能的设计中,处理器801执行的指令中,还包括:
基于所述着力点位置与所述多关节机械臂远离所述机器人本体的一端的当前位置,确定所述多关节机械臂的移动路径;
控制所述多关节机械臂按照所述移动路径移动,直至所述多关节机械臂远离所述机器人本体的一端接触所述支撑体。
一种可能的设计中,处理器801执行的指令中,还包括:
确定使得所述机器人本体脱离所述被困状态的目标方向;
控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加所述目标方向上的所述目标作用力,以使所述机器人本体脱离被困状态。
一种可能的设计中,处理器801执行的指令中,还包括:
基于所述机器人本体的位姿数据,确定使得所述机器人本体脱离所述被困状态的目标方向。
一种可能的设计中,处理器801执行的指令中,还包括:
基于所述机器人本体的位姿数据,确定所述机器人本体上设置的至少一个轮子的状态;
基于所述至少一个轮子的状态,确定使得所述机器人本体脱离所述被困状态的目标方向。
一种可能的设计中,处理器801执行的指令中,还包括:
从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向;
控制所述多关节机械臂对所述机器人本体施加所述目标方向上的所述目标作用力,检测所述机器人本体的状态;
在机器人本体未脱离被困状态的情况下,则返回所述从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向的步骤,直到所述机器人本体脱离被困状态,或者直到预设的多个方向中不存在未被选择的方向。
一种可能的设计中,处理器801执行的指令中,还包括:
所述多关节机械臂中远离所述机器人本体的关节单元为第一关节单元,接近所述机器人本体的关节单元为第二关节单元;
在控制所述多关节机械臂对所述机器人本体施加目标作用力之前,所述方法还包括:
基于所述目标方向,调整所述多关节机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;
或者,基于所述目标方向以及所述第一关节单元的作用方向,调整所述机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;以及使得调整后的所述第一关节单元与所述着力点位置所在区域之间的夹角,与所述第一关节单元的作用方向相匹配。
一种可能的设计中,处理器801执行的指令中,还包括:
通过调节以下夹角中的至少一种,控制所述多关节机械臂对所述机器人本体施加目标作用力:
所述多关节机械臂中相邻关节单元之间的夹角;
所述多关节机械臂中第一关节单元与所述着力点所在区域之间的夹角;
所述第二关节单元与所述机器人本体之间的夹角。
一种可能的设计中,处理器801执行的指令中,还包括:
在检测到所述机器人本体处于被困状态的情况下,控制所述机器人本体变换移动方向进行移动;
所述确定所述多关节机械臂在支撑体上的着力点位置,包括:
在检测到所述机器人本体变换移动方向进行移动后,未脱离被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置。
此外,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的控制机器人脱困的方法的步骤。
本公开实施例所提供的控制机器人脱困的方法的计算机程序产品,包括程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的控制机器人脱困的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的易失性或非易失性的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (17)

1.一种控制机器人脱困的方法,其特征在于,所述机器人包括多关节机械臂和机器人本体,所述方法包括:
检测机器人本体的行进状态;
在检测到所述机器人本体处于被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置;
基于确定的支撑体上的着力点位置,控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体,并控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加目标作用力,以使所述机器人本体脱离被困状态。
2.根据权利要求1所述的方法,其特征在于,所述确定所述多关节机械臂在支撑体上的着力点位置之前,包括:
基于所述机器人本体上设置的传感器,检测所述机器人本体当前所处位置对应的至少一个候选支撑体,和/或所述至少一个候选支撑体的属性特征;
基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体;所述属性特征用于表征所述支撑体的表面结构的软硬程度特征。
3.根据权利要求2所述的方法,其特征在于,基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中确定所述多关节机械臂对应的支撑体,包括:
基于每个候选支撑体的属性特征和/或设置的支撑体优先级顺序,从至少一个候选支撑体中选择一个未被选择的候选支撑体;
确定基于所述候选支撑体上的着力点位置,以及与所述多关节机械臂远离所述机器人本体的一端的位置,确定在所述多关节机械臂远离机器人本体的一端到达所述着力点位置时,所述多关节机械臂的预测位姿信息;
控制所述多关节机械臂远离所述机器人本体的一端移动至所述着力点位置,检测所述多关节机械臂的当前位姿信息;
在所述当前位姿信息与所述预测位姿信息不匹配的情况下,返回从至少一个候选支撑体中选择一个未被选择的候选支撑体的步骤,直到所述多关节机械臂的当前位姿信息与所述预测位姿信息相匹配,或者直到所述至少一个候选支撑体中不存在未被选择的候选支撑体。
4.根据权利要求1所述的方法,其特征在于,所述确定所述多关节机械臂在支撑体上的着力点位置,包括:
将检测到的支撑体对应的区域划分为多个子区域,确定多个子区域中每个子区域的中心点;
从多个子区域的中心点中,选取所述多关节机械臂的着力点。
5.根据权利要求4所述的方法,其特征在于,所述从多个子区域对应的中心点中,选取所述多关节机械臂的着力点,包括:
基于每个中心点与所述多关节机械臂接近机器人本体一端之间的方向和距离,从所述多个子区域的中心点中,选取所述多关节机械臂的着力点。
6.根据权利要求1所述的方法,其特征在于,基于确定的支撑体上的着力点位置,控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体,包括:
基于所述着力点位置与所述多关节机械臂远离所述机器人本体的一端的当前位置,确定所述多关节机械臂的移动路径;
控制所述多关节机械臂按照所述移动路径移动,直至所述多关节机械臂远离所述机器人本体的一端接触所述支撑体。
7.根据权利要求1所述的方法,其特征在于,所述控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加目标作用力,以使所述机器人本体脱离被困状态,包括:
确定使得所述机器人本体脱离所述被困状态的目标方向;
控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加所述目标方向上的所述目标作用力,以使所述机器人本体脱离被困状态。
8.根据权利要求7所述的方法,其特征在于,所述确定使得所述机器人本体脱离所述被困状态的目标方向,包括:
基于所述机器人本体的位姿数据,确定使得所述机器人本体脱离所述被困状态的目标方向。
9.根据权利要求8所述的方法,其特征在于,所述基于所述机器人本体的位姿数据,确定使得所述机器人本体脱离所述被困状态的目标方向,包括:
基于所述机器人本体的位姿数据,确定所述机器人本体上设置的至少一个轮子的状态;
基于所述至少一个轮子的状态,确定使得所述机器人本体脱离所述被困状态的目标方向。
10.根据权利要求7所述的方法,其特征在于,所述确定使得所述机器人本体脱离所述被困状态的目标方向,包括:
从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向;
控制所述多关节机械臂对所述机器人本体施加所述目标方向上的所述目标作用力,检测所述机器人本体的状态;
在所述机器人本体未脱离被困状态的情况下,返回所述从预设的多个方向中选择一个当前未被选择的方向作为所述目标方向的步骤,直到所述机器人本体脱离被困状态,或者直到预设的多个方向中不存在未被选择的方向。
11.根据权利要求1所述的方法,其特征在于,所述多关节机械臂中远离所述机器人本体的关节单元为第一关节单元,接近所述机器人本体的关节单元为第二关节单元;
在控制所述多关节机械臂对所述机器人本体施加目标作用力之前,所述方法还包括:
基于确定的目标方向,调整所述多关节机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;
或者,基于确定的目标方向以及所述第一关节单元的作用方向,调整所述机械臂中每个关节单元的位姿信息,使得调整后的所述第二关节单元与所述机器人本体之间的夹角,与所述目标方向相匹配;以及使得调整后的所述第一关节单元与所述着力点位置所在区域之间的夹角,与所述第一关节单元的作用方向相匹配。
12.根据权利要求11所述的方法,其特征在于,所述控制所述多关节机械臂对所述机器人本体施加目标作用力,包括:
通过调节以下夹角中的至少一种,控制所述多关节机械臂对所述机器人本体施加目标作用力:
所述多关节机械臂中相邻关节单元之间的夹角;
所述多关节机械臂中第一关节单元与所述着力点所在区域之间的夹角;
所述第二关节单元与所述机器人本体之间的夹角。
13.根据权利要求1所述的方法,其特征在于,所述在检测到所述机器人本体处于被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置,还包括:
在检测到所述机器人本体处于被困状态的情况下,控制所述机器人本体变换移动方向进行移动;
所述确定所述多关节机械臂在支撑体上的着力点位置,包括:
在检测到所述机器人本体变换移动方向进行移动后,未脱离被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置。
14.一种机器人,其特征在于,所述机器人包括多关节机械臂和机器人本体,所述多关节机械臂活动连接于所述机器人本体,所述机器人本体内设置有控制器,所述控制器通过向所述多关节机械臂中每个关节单元内设置的舵机发送控制信号,来控制所述多关节机械臂,以执行权利要求1至13任一项所述的控制机器人脱困的方法。
15.一种控制机器人脱困的装置,其特征在于,所述机器人包括多关节机械臂和机器人本体,所述装置包括:
状态检测模块,用于检测机器人本体的行进状态;
着力点位置确定模块,用于在检测到所述机器人本体处于被困状态的情况下,确定所述多关节机械臂在支撑体上的着力点位置;
控制模块,用于基于确定的支撑体上的着力点位置,控制所述多关节机械臂远离所述机器人本体的一端接触所述支撑体,并控制所述多关节机械臂在所述支撑体的支撑下,对所述机器人本体施加目标作用力,以使所述机器人本体脱离被困状态。
16.一种电子设备,其特征在于,包括:相互连接的处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至13任一所述的控制机器人脱困的方法的步骤。
17.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至13任一所述的控制机器人脱困的方法的步骤。
CN201911364664.5A 2019-12-26 2019-12-26 控制机器人脱困的方法、装置、机器人 Active CN111061215B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201911364664.5A CN111061215B (zh) 2019-12-26 2019-12-26 控制机器人脱困的方法、装置、机器人
JP2021526575A JP2022518880A (ja) 2019-12-26 2020-05-06 ロボットがトラップ状態から脱出するように制御する方法、装置、ロボット
KR1020217014282A KR20210084495A (ko) 2019-12-26 2020-05-06 로봇이 장애물을 벗어나도록 제어하는 방법, 장치 및 로봇
PCT/CN2020/088717 WO2021128693A1 (zh) 2019-12-26 2020-05-06 控制机器人脱困的方法、装置、机器人
TW109143076A TWI750939B (zh) 2019-12-26 2020-12-07 控制機器人脫困的方法、機器人、電子設備和電腦可讀儲存介質

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911364664.5A CN111061215B (zh) 2019-12-26 2019-12-26 控制机器人脱困的方法、装置、机器人

Publications (2)

Publication Number Publication Date
CN111061215A CN111061215A (zh) 2020-04-24
CN111061215B true CN111061215B (zh) 2021-01-22

Family

ID=70303811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911364664.5A Active CN111061215B (zh) 2019-12-26 2019-12-26 控制机器人脱困的方法、装置、机器人

Country Status (5)

Country Link
JP (1) JP2022518880A (zh)
KR (1) KR20210084495A (zh)
CN (1) CN111061215B (zh)
TW (1) TWI750939B (zh)
WO (1) WO2021128693A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061215B (zh) * 2019-12-26 2021-01-22 北京市商汤科技开发有限公司 控制机器人脱困的方法、装置、机器人
CN113765999B (zh) * 2021-07-20 2023-06-27 上海卓昕医疗科技有限公司 一种多种多关节机械臂兼容方法及***
CN113580197B (zh) * 2021-07-30 2022-12-13 珠海一微半导体股份有限公司 移动机器人卡住检测方法、***及芯片

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004548A (ja) * 2005-06-24 2007-01-11 Yaskawa Electric Corp ロボット制御方法および制御装置
CN205758464U (zh) * 2016-05-13 2016-12-07 深圳市聚家智能科技有限公司 一种自动清洁机器人脱困***
CN107019472A (zh) * 2017-06-09 2017-08-08 小狗电器互联网科技(北京)股份有限公司 一种扫地机器人及其由被卡住位置脱困的方法
CN108803588A (zh) * 2017-04-28 2018-11-13 深圳乐动机器人有限公司 机器人的控制***
CN108836195A (zh) * 2018-06-28 2018-11-20 广东乐生智能科技有限公司 一种扫地机器人的脱困方法及扫地机器人
CN109528089A (zh) * 2018-11-19 2019-03-29 珠海市微半导体有限公司 一种被困清洁机器人的继续行走方法、装置及芯片
CN109875470A (zh) * 2019-01-31 2019-06-14 科沃斯机器人股份有限公司 脱困方法、设备及存储介质
CN110192814A (zh) * 2019-06-20 2019-09-03 深圳市银星智能科技股份有限公司 自移动设备脱困方法及自移动设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60219170A (ja) * 1984-04-14 1985-11-01 Toshiba Corp 能動体
GB8625144D0 (en) * 1986-10-21 1986-11-26 Hennequin J R Pneumatic/hydraulic artificial muscle
JP3443077B2 (ja) * 1999-09-20 2003-09-02 ソニー株式会社 ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット
US9387895B1 (en) * 2006-03-30 2016-07-12 Veena Technologies, Inc Apparatus with hydraulic power module
KR100809350B1 (ko) * 2006-10-09 2008-03-05 삼성전자주식회사 이동 로봇의 끼임을 방지하는 끼임 판별 장치 및 이를이용한 경계선 추정 방법
CN100503343C (zh) * 2007-09-06 2009-06-24 西南交通大学 轮履和摆臂结合的越障机构
KR101474765B1 (ko) * 2008-12-05 2014-12-22 삼성전자 주식회사 로봇 팔 및 그 제어방법
KR101691939B1 (ko) * 2009-08-10 2017-01-02 삼성전자주식회사 로봇의 경로 계획방법 및 장치
CN102581836A (zh) * 2012-02-29 2012-07-18 哈尔滨工程大学 多功能机械臂协同车轮牵引移动机器人
JP2015070981A (ja) * 2013-10-04 2015-04-16 日本精工株式会社 障害物回避先導ロボット
US9758980B2 (en) * 2013-10-13 2017-09-12 Maytronics Ltd. System for extracting a pool cleaning robot
CN104057450B (zh) * 2014-06-20 2016-09-07 哈尔滨工业大学深圳研究生院 一种针对服务机器人的高维操作臂遥操作方法
US9561829B1 (en) * 2014-09-03 2017-02-07 X Development Llc Robotic leg with multiple robotic feet
US9381961B1 (en) * 2014-09-04 2016-07-05 Google Inc. Robotic systems having protrusions for use in starting positions and in use positions
CN104942788A (zh) * 2015-06-29 2015-09-30 孙术华 多功能机械臂协同车轮牵引移动机器人
JP6601670B2 (ja) * 2015-08-28 2019-11-06 学校法人早稲田大学 路面状況認識装置、そのプログラム、及び移動体システム
MX2018009464A (es) * 2016-02-02 2019-05-06 Deka Products Lp Agente electro-mecánico modular.
TWI652034B (zh) * 2016-05-17 2019-03-01 Lg電子股份有限公司 清掃機器人
CN106625671B (zh) * 2016-12-27 2019-02-19 西北工业大学 一种空间机器人抓捕翻滚目标的最优轨迹规划方法
CN206455650U (zh) * 2016-12-30 2017-09-01 西安智道科技有限责任公司 便携式救援机器人
CN208941976U (zh) * 2018-08-03 2019-06-07 厦门华蔚物联网科技有限公司 一种高空幕墙越障机器人
CN111061215B (zh) * 2019-12-26 2021-01-22 北京市商汤科技开发有限公司 控制机器人脱困的方法、装置、机器人

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004548A (ja) * 2005-06-24 2007-01-11 Yaskawa Electric Corp ロボット制御方法および制御装置
CN205758464U (zh) * 2016-05-13 2016-12-07 深圳市聚家智能科技有限公司 一种自动清洁机器人脱困***
CN108803588A (zh) * 2017-04-28 2018-11-13 深圳乐动机器人有限公司 机器人的控制***
CN107019472A (zh) * 2017-06-09 2017-08-08 小狗电器互联网科技(北京)股份有限公司 一种扫地机器人及其由被卡住位置脱困的方法
CN108836195A (zh) * 2018-06-28 2018-11-20 广东乐生智能科技有限公司 一种扫地机器人的脱困方法及扫地机器人
CN109528089A (zh) * 2018-11-19 2019-03-29 珠海市微半导体有限公司 一种被困清洁机器人的继续行走方法、装置及芯片
CN109875470A (zh) * 2019-01-31 2019-06-14 科沃斯机器人股份有限公司 脱困方法、设备及存储介质
CN110192814A (zh) * 2019-06-20 2019-09-03 深圳市银星智能科技股份有限公司 自移动设备脱困方法及自移动设备

Also Published As

Publication number Publication date
KR20210084495A (ko) 2021-07-07
TWI750939B (zh) 2021-12-21
CN111061215A (zh) 2020-04-24
JP2022518880A (ja) 2022-03-17
TW202127164A (zh) 2021-07-16
WO2021128693A1 (zh) 2021-07-01

Similar Documents

Publication Publication Date Title
CN111061215B (zh) 控制机器人脱困的方法、装置、机器人
EP3781896B1 (en) System for locating and identifying an object in unconstrained environments
JP7484015B2 (ja) 障害物検出方法および装置、自走式ロボット並びに記憶媒体
US11090814B2 (en) Robot control method
CN108177162B (zh) 移动机器人的干扰区域设定装置
Tölgyessy et al. Foundations of visual linear human–robot interaction via pointing gesture navigation
US10188579B2 (en) Method for controlling a walking assistant apparatus
US20190184569A1 (en) Robot based on artificial intelligence, and control method thereof
JP6748145B2 (ja) ロボットシステム
CN112223283A (zh) 机械臂、机器人、机械臂的控制方法、处理设备及介质
JP6075888B2 (ja) 画像処理方法、ロボットの制御方法
CN112230649A (zh) 机器学习方法及移动机器人
JP6007873B2 (ja) ロボット及びその制御方法
JP7172399B2 (ja) 制御装置、ロボット、制御方法及びプログラム
US11141866B2 (en) Grasping apparatus, grasping determination method and grasping determination program
JP6270334B2 (ja) ロボット制御装置及び方法
WO2021033509A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2015145050A (ja) ロボットシステム、ロボット制御装置、ロボット制御方法およびロボット制御プログラム
JP6528641B2 (ja) 自己位置推定方法
Awad et al. Human-Aided Online Terrain Classification for Bipedal Robots Using Augmented Reality
Rodriguez et al. Evaluation of smartphone-based interfaces for navigation tasks in unstructured environments for ground robots
CN111971149A (zh) 记录介质、信息处理设备和信息处理方法
EP4300231A1 (en) Teaching method and teaching apparatus
WO2023286138A1 (ja) ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム
WO2022259600A1 (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018596

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant