TWI750939B - 控制機器人脫困的方法、機器人、電子設備和電腦可讀儲存介質 - Google Patents

控制機器人脫困的方法、機器人、電子設備和電腦可讀儲存介質 Download PDF

Info

Publication number
TWI750939B
TWI750939B TW109143076A TW109143076A TWI750939B TW I750939 B TWI750939 B TW I750939B TW 109143076 A TW109143076 A TW 109143076A TW 109143076 A TW109143076 A TW 109143076A TW I750939 B TWI750939 B TW I750939B
Authority
TW
Taiwan
Prior art keywords
joint
robot body
robot
support body
support
Prior art date
Application number
TW109143076A
Other languages
English (en)
Other versions
TW202127164A (zh
Inventor
魯白
張展鵬
楊凱
成慧
唐明勇
Original Assignee
大陸商北京市商湯科技開發有限公司
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 大陸商北京市商湯科技開發有限公司 filed Critical 大陸商北京市商湯科技開發有限公司
Publication of TW202127164A publication Critical patent/TW202127164A/zh
Application granted granted Critical
Publication of TWI750939B publication Critical patent/TWI750939B/zh

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

控制機器人脫困的方法、機器人、電子設備和電腦可讀儲存介質
本發明關於機器人技術領域,具體而言,關於一種控制機器人脫困的方法、機器人、電子設備和電腦可讀儲存介質。
隨著機器人快速發展,機器人在生活、學習等場景中越來越重要。目前,在機器人的工作過程中,會出現機器人被障礙物的困住的情況,使得機器人無法正常工作。
有鑑於此,本發明至少提供一種控制機器人脫困的方案。
第一方面,本發明提供了一種控制機器人脫困的方法,所述機器人包括多關節機械臂和機器人本體,所述方法包括: 檢測機器人本體的行進狀態;在檢測到所述機器人本體處於被困狀態的情況下,確定所述多關節機械臂在支撐體上的著力點位置;基於確定的支撐體上的著力點位置,控制所述多關節機械臂遠離所述機器人本體的一端接觸所述支撐體,並控制所述多關節機械臂在所述支撐體的支撐下,對所述機器人本體施加目標作用力,以使所述機器人本體脫離被困狀態。
上述實施方式下,可以通過檢測機器人本體的行進狀態;當檢測到機器人本體處於被困狀態時,確定多關節機械臂在支撐體上的著力點位置;基於確定的支撐體上的著力點位置,控制多關節機械臂遠離機器人本體的一端接觸支撐體,並控制多關節機械臂在支撐體的支撐下,對機器人本體施加目標作用力,來使機器人本體脫離被困狀態,從而可以使機器人自動完成脫困,保障機器人的正常工作,提高機器人的工作效率。
一種可能的實施方式中,所述確定所述多關節機械臂在支撐體上的著力點位置之前,包括:基於所述機器人本體上設置的感測器,檢測所述機器人本體當前所處位置對應的至少一個候選支撐體,和/或所述至少一個候選支撐體的屬性特徵;基於每個候選支撐體的屬性特徵和/或設置的支撐體優先級順序,從至少一個候選支撐體中確定所述多關節機械臂對應的支撐體;所述屬性特徵用於表徵所述支撐體的表 面結構的軟硬程度特徵。
這裡,可以根據候選支撐體的屬性特徵,優先選擇偏硬質的物件作為支撐體,這樣材質的支撐體支撐效果較好;另外,也可以預先設置周圍環境中各種可能出現的支撐體的優先級順序,比如偏硬質的物件的優先級較高,不容易被損壞的物件的優先級較高,舉例來說,地面的優先級可以設置最高,其次為牆面、桌面、玻璃物等。
一種可能的實施方式中,基於每個候選支撐體的屬性特徵和/或設置的支撐體優先級順序,從至少一個候選支撐體中確定所述多關節機械臂對應的支撐體,包括:基於每個候選支撐體的屬性特徵和/或設置的支撐體優先級順序,從至少一個候選支撐體中選擇一個未被選擇的候選支撐體;確定基於所述候選支撐體上的著力點位置,以及與所述多關節機械臂遠離所述機器人本體的一端的位置,確定在所述多關節機械臂遠離機器人本體的一端到達所述著力點位置時,所述多關節機械臂的預測位姿資訊;控制所述多關節機械臂遠離所述機器人本體的一端移動至所述著力點位置,檢測所述多關節機械臂的當前位姿資訊;在所述當前位姿資訊與所述預測位姿資訊不匹配的情況下,返回從至少一個候選支撐體中選擇一個未被選擇的候選支撐體的步驟,直到所述多關節機械臂的當前位姿資訊與所述預測位姿資訊相匹配,或者直到所述至少一個候 選支撐體中不存在未被選擇的候選支撐體。
這裡,若多關節機械臂的當前位姿資訊與預測位姿資訊不匹配,說明對支撐體的屬性特徵的檢測結果存在問題(比如檢測的硬度高的支撐體實際硬度較低),此時可以重新選擇一個未被選擇的候選支撐體,並繼續進行上述位姿資訊的匹配,以降低由於檢測結果不準確導致支撐體選擇出現問題的概率,確保了支撐體的支撐效果。這樣,多關節機械臂在屬性特徵為硬性的支撐體的支撐下,對機器人本體施加的作用力能夠更有效。
一種可能的實施方式中,所述確定所述多關節機械臂在支撐體上的著力點位置,包括:將檢測到的支撐體對應的區域劃分為多個子區域,確定多個子區域中每個子區域的中心點;從多個子區域的中心點中,選取所述多關節機械臂的著力點。
一種可能的實施方式中,所述從多個子區域對應的中心點中,選取所述多關節機械臂的著力點,包括:基於每個中心點與所述多關節機械臂接近機器人本體一端之間的方向和距離,從所述多個子區域的中心點中,選取所述多關節機械臂的著力點。
上述實施方式下,通過將支撐體劃分為多個子區域,基於每個中心點與多關節機械臂接近機器人本體一端之間的方向和距離,從多個子區域的中心點中,選取多關節機械臂的著力點,相比隨機試探著力點的方式,這種方式 下,機器人本體脫離被困狀態的效率較高。
一種可能的實施方式中,基於確定的支撐體上的著力點位置,控制所述多關節機械臂遠離所述機器人本體的一端接觸所述支撐體,包括:基於所述著力點位置與所述多關節機械臂遠離所述機器人本體的一端的當前位置,確定所述多關節機械臂的移動路徑;控制所述多關節機械臂按照所述移動路徑移動,直至所述多關節機械臂遠離所述機器人本體的一端接觸所述支撐體。
一種可能的實施方式中,所述控制所述多關節機械臂在所述支撐體的支撐下,對所述機器人本體施加目標作用力,以使所述機器人本體脫離被困狀態,包括:確定使得所述機器人本體脫離所述被困狀態的目標方向;控制所述多關節機械臂在所述支撐體的支撐下,對所述機器人本體施加所述目標方向上的所述目標作用力,以使所述機器人本體脫離被困狀態。
上述實施方式下,目標方向為多關節機械臂對機器人本體施加的目標作用力的方向。通過明確施加的作用力方向,可以提高機器人本體脫離被困狀態的效率。
一種可能的實施方式中,所述確定使得所述機器人本體脫離所述被困狀態的目標方向,包括:基於所述機器人本體的位姿資料,確定使得所述機器人 本體脫離所述被困狀態的目標方向。
一種可能的實施方式中,所述基於所述機器人本體的位姿資料,確定使得所述機器人本體脫離所述被困狀態的目標方向,包括:基於所述機器人本體的位姿資料,確定所述機器人本體上設置的至少一個輪子的狀態;基於所述至少一個輪子的狀態,確定使得所述機器人本體脫離所述被困狀態的目標方向。
上述實施方式下,基於機器人本體的位姿資料可以較準確地確定目標作用力的作用方向,從而提高機器人本體脫離被困狀態的效率。
一種可能的實施方式中,所述確定使得所述機器人本體脫離所述被困狀態的目標方向,包括:從預設的多個方向中選擇一個當前未被選擇的方向作為所述目標方向;控制所述多關節機械臂對所述機器人本體施加所述目標方向上的所述目標作用力,檢測所述機器人本體的狀態;在所述機器人本體未脫離被困狀態的情況下,則返回所述從預設的多個方向中選擇一個當前未被選擇的方向作為所述目標方向的步驟,直到所述機器人本體脫離被困狀態,或者直到預設的多個方向中不存在未被選擇的方向。
上述實施方式下,可以通過不斷嘗試來從預設的多個方向中選擇目標方向,這種方式不需要進行目標方向的 計算,節省了處理資源。
一種可能的實施方式中,所述多關節機械臂中遠離所述機器人本體的關節單元為第一關節單元,接近所述機器人本體的關節單元為第二關節單元;在控制所述多關節機械臂對所述機器人本體施加目標作用力之前,所述方法還包括:基於所述目標方向,調整所述多關節機械臂中每個關節單元的位姿資訊,使得調整後的所述第二關節單元與所述機器人本體之間的夾角,與所述目標方向相匹配;或者,基於所述目標方向以及所述第一關節單元的作用方向,調整所述機械臂中每個關節單元的位姿資訊,使得調整後的所述第二關節單元與所述機器人本體之間的夾角,與所述目標方向相匹配;以及使得調整後的所述第一關節單元與所述著力點位置所在區域之間的夾角,與所述第一關節單元的作用方向相匹配。
上述實施方式下,通過為多關節機械臂中第一關節單元設置作用方向,可以使得多關節機械臂中的第一關節單元與支撐體之間的支撐效果較好;同時,調整第二關節單元的位姿與上述目標方向匹配,可以使得多關節機械臂為機器人本體施加目標方向上的作用力,進而使得機器人本體脫離被困狀態。
一種可能的實施方式中,所述控制所述多關節機械臂對所述機器人本體施加目標作用力,包括:通過調節以下夾角中的至少一種,控制所述多關節機械 臂對所述機器人本體施加目標作用力:所述多關節機械臂中相鄰關節單元之間的夾角;所述多關節機械臂中第一關節單元與所述著力點所在區域之間的夾角;所述第二關節單元與所述機器人本體之間的夾角。
一種可能的實施方式中,所述在檢測到所述機器人本體處於被困狀態的情況下,確定所述多關節機械臂在支撐體上的著力點位置,還包括:在檢測到所述機器人本體處於被困狀態的情況下,控制所述機器人本體變換移動方向進行移動;所述確定所述多關節機械臂在支撐體上的著力點位置,包括:在檢測到所述機器人本體變換移動方向進行移動後,未脫離被困狀態的情況下,確定所述多關節機械臂在支撐體上的著力點位置。
以下裝置、電子設備等的效果描述參見上述方法的說明,這裡不再贅述。
第二方面,本發明提供了一種機器人,所述機器人包括多關節機械臂和機器人本體,所述多關節機械臂活動連接於所述機器人本體,所述機器人本體內設置有控制器,所述控制器通過向所述多關節機械臂中每個關節單元內設置的舵機發送控制信號,來控制所述多關節機械臂,以執行第一方面所述的控制機器人脫困的方法。
第三方面,本發明提供了一種控制機器人脫困的裝 置,所述機器人包括多關節機械臂和機器人本體,所述裝置包括:狀態檢測模組,配置為檢測機器人本體的行進狀態;著力點位置確定模組,配置為在檢測到所述機器人本體處於被困狀態的情況下,確定所述多關節機械臂在支撐體上的著力點位置;控制模組,配置為基於確定的支撐體上的著力點位置,控制所述多關節機械臂遠離所述機器人本體的一端接觸所述支撐體,並控制所述多關節機械臂在所述支撐體的支撐下,對所述機器人本體施加目標作用力,以使所述機器人本體脫離被困狀態。
一種可能的實施方式中,所述裝置還包括:候選支撐體檢測模組,配置為基於所述機器人本體上設置的感測器,檢測所述機器人本體當前所處位置對應的至少一個候選支撐體,和/或所述至少一個候選支撐體的屬性特徵;支撐體確定模組,配置為基於每個候選支撐體的屬性特徵和/或設置的支撐體優先級順序,從至少一個候選支撐體中確定所述多關節機械臂對應的支撐體;所述屬性特徵用於表徵所述支撐體的表面結構的軟硬程度特徵。
一種可能的實施方式中,所述著力點位置確定模組,根據以下步驟從至少一個候選支撐體中確定所述多關節機械臂對應的支撐體:基於每個候選支撐體的屬性特徵和/或設置的支撐體優 先級順序,從至少一個候選支撐體中選擇一個未被選擇的候選支撐體;確定基於所述候選支撐體上的著力點位置,以及與所述多關節機械臂遠離所述機器人本體的一端的位置,確定在所述多關節機械臂遠離機器人本體的一端到達所述著力點位置時,所述多關節機械臂的預測位姿資訊;控制所述多關節機械臂遠離所述機器人本體的一端移動至所述著力點位置後,檢測所述多關節機械臂的當前位姿資訊;在所述當前位姿資訊與所述預測位姿資訊不匹配的情況下,返回從至少一個候選支撐體中選擇一個未被選擇的候選支撐體的步驟,直到所述多關節機械臂的當前位姿資訊與所述預測位姿資訊相匹配,或者直到所述至少一個候選支撐體中不存在未被選擇的候選支撐體。
一種可能的實施方式中,所述著力點位置確定模組,利用下述步驟確定所述多關節機械臂在支撐體上的著力點位置:將檢測到的支撐體對應的區域劃分為多個子區域,確定多個子區域中每個子區域的中心點;從多個子區域的中心點中,選取所述多關節機械臂的著力點。
一種可能的實施方式中,所述著力點位置確定模組,利用下述步驟從所述從多個子區域對應的中心點中,選取所述多關節機械臂的著力點: 基於每個中心點與所述多關節機械臂接近機器人本體一端之間的方向和距離,從所述多個子區域的中心點中,選取所述多關節機械臂的著力點。
一種可能的實施方式中,所述控制模組,利用下述步驟控制所述多關節機械臂遠離所述機器人本體的一端接觸所述支撐體:基於所述著力點位置與所述多關節機械臂遠離所述機器人本體的一端的當前位置,確定所述多關節機械臂的移動路徑;控制所述多關節機械臂按照所述移動路徑移動,直至所述多關節機械臂遠離所述機器人本體的一端接觸所述支撐體。
一種可能的實施方式中,所述控制模組,利用下述步驟對所述機器人本體施加目標作用力:確定使得所述機器人本體脫離所述被困狀態的目標方向;控制所述多關節機械臂在所述支撐體的支撐下,對所述機器人本體施加所述目標方向上的所述目標作用力,以使所述機器人本體脫離被困狀態。
一種可能的實施方式中,所述控制模組,利用下述步驟確定使得所述機器人本體脫離所述被困狀態的目標方向:基於所述機器人本體的位姿資料,確定使得所述機器人本體脫離所述被困狀態的目標方向。
一種可能的實施方式中,所述控制模組,利用下述步驟基於所述機器人本體的位姿資料,確定使得所述機器人本體脫離所述被困狀態的目標方向:基於所述機器人本體的位姿資料,確定所述機器人本體上設置的至少一個輪子的狀態;基於所述至少一個輪子的狀態,確定使得所述機器人本體脫離所述被困狀態的目標方向。
一種可能的實施方式中,所述控制模組,利用下述步驟確定使得所述機器人本體脫離所述被困狀態的目標方向:從預設的多個方向中選擇一個當前未被選擇的方向作為所述目標方向;控制所述多關節機械臂對所述機器人本體施加所述目標方向上的所述目標作用力,檢測所述機器人本體的狀態;在所述機器人本體未脫離被困狀態的情況下,返回所述從預設的多個方向中選擇一個當前未被選擇的方向作為所述目標方向的步驟,直到所述機器人本體脫離被困狀態,或者直到預設的多個方向中不存在未被選擇的方向。
一種可能的實施方式中,所述多關節機械臂中遠離所述機器人本體的關節單元為第一關節單元,接近所述機器人本體的關節單元為第二關節單元;在控制所述多關節機械臂對所述機器人本體施加目標作用力之前,所述裝置還包括: 第一調整模組,配置為基於所述目標方向,調整所述多關節機械臂中每個關節單元的位姿資訊,使得調整後的所述第二關節單元與所述機器人本體之間的夾角,與所述目標方向相匹配;或者,第二調整模組,配置為基於所述目標方向以及所述第一關節單元的作用方向,調整所述機械臂中每個關節單元的位姿資訊,使得調整後的所述第二關節單元與所述機器人本體之間的夾角,與所述目標方向相匹配;以及使得調整後的所述第一關節單元與所述著力點位置所在區域之間的夾角,與所述第一關節單元的作用方向相匹配。
一種可能的實施方式中,所述控制模組,利用下述步驟控制所述多關節機械臂對所述機器人本體施加目標作用力:通過調節以下夾角中的至少一種,控制所述多關節機械臂對所述機器人本體施加目標作用力:所述多關節機械臂中相鄰關節單元之間的夾角;所述多關節機械臂中第一關節單元與所述著力點所在區域之間的夾角;所述第二關節單元與所述機器人本體之間的夾角。
一種可能的實施方式中,所述著力點位置確定模組,還包括:移動方向變換單元,配置為在檢測到所述機器人本體處於被困狀態的情況下,控制所述機器人本體變換移動方向進行移動; 所述著力點位置確定模組,利用下述步驟確定所述多關節機械臂在支撐體上的著力點位置:在檢測到所述機器人本體變換移動方向進行移動後,未脫離被困狀態的情況下,確定所述多關節機械臂在支撐體上的著力點位置。
第四方面,本發明提供一種電子設備,包括:相互連接的處理器和記憶體,所述記憶體儲存有所述處理器可執行的機器可讀指令,當電子設備運行時,所述機器可讀指令被所述處理器執行時執行如上述第一方面或任一實施方式所述的控制機器人脫困的方法的步驟。
第五方面,本發明提供一種電腦可讀儲存介質,該電腦可讀儲存介質上儲存有電腦程式,該電腦程式被處理器運行時執行如上述第一方面或任一實施方式所述的控制機器人脫困的方法的步驟。
第六方面,本發明提供一種電腦程式,所述電腦程式被處理器執行時實現上述任意一種控制機器人脫困的方法的步驟。
為使本發明的上述目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附附圖,作詳細說明如下。
21~23:射線
31:機器人本體
32:多關節機械臂
40:障礙物
41:第一驅動輪
42:第二驅動輪
43:第一關節單元
44:第二關節單元
45:萬向輪
46:牆壁
47:地面
301~304:射線
601:狀態檢測模組
602:著力點位置確定模組
603:控制模組
701:多關節機械臂
702:機器人本體
7022:控制器
800:電子設備
801:處理器
802:記憶體
8021:內部記憶體
8022:外部記憶體
803:匯流排
A~D:位置
S101~S103:步驟
為了更清楚地說明本發明實施例的技術方案,下面將對 實施例中所需要使用的附圖作簡單地介紹,此處的附圖被併入說明書中並構成本說明書中的一部分,這些附圖示出了符合本發明的實施例,並與說明書一起用於說明本發明的技術方案。應當理解,以下附圖僅示出了本發明的某些實施例,因此不應被看作是對範圍的限定,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
圖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:本發明實施例中,在確定了著力點位置後,控制多關節機械臂遠離機器人本體的一端接觸該著力點,並控制多關節機械臂在支撐體的支撐下,對機器人本體施加目標作用力,以使機器人本體脫離被困狀態。在實際使用時,可以基於機器人本體的重量,確定目標作用力的最佳值。
示例性的,若目標作用力的目標方向為與地面垂直的方向,則目標作用力為使得機器人本體能夠向上移動的力,比如設置目標作用力的大小大於機器人本體的重力 (該重力可以基於機器人本體重量計算得到);若目標作用力的目標方向為與地面平行的方向,則目標作用力為使得機器人本體能夠水平移動的力,比如設置目標作用力的大小大於施加在機器人本體上的摩擦阻力(該摩擦阻力也與機器人本體重量相關)。綜上分析可知,目標作用力的值與機器人本體的重量有關。例如,若機器人本體的重量較大,則對應的目標作用力的最佳值較大;若機器人本體的重量較小,則對應的目標作用力的最佳值較小。在具體實施時,可以根據機器人本體的應用場所,統計機器人本體處於被困狀態的至少一種場景,以及確定在每種場景下,使得機器人本體脫離被困狀態的目標作用力最小值。從至少一個場景對應的最小值中,選擇最大的值作為目標作用力的最佳值。其中,目標作用力的值可以根據實際應用場所進行確定,本發明實施例對此不進行具體限定。
一種可能的實施方式中,基於確定的支撐體上的著力點位置,控制多關節機械臂遠離機器人本體的一端接觸支撐體,包括:基於著力點位置與多關節機械臂遠離機器人本體的一端的當前位置,確定多關節機械臂的移動路徑;控制多關節機械臂按照移動路徑移動,直至所述多關節機械臂遠離機器人本體的一端接觸支撐體。
本發明實施例中,著力點位置以及多關節機械臂遠離機器人本體的一端的當前位置位於同一座標系中,例如,著力點位置可以為在大地座標系中著力點的座標,以及多 關節機械臂遠離機器人本體的一端的當前位置也為在大地座標系中多關節機械臂末端的位置。在其他實施例中,著力點位置和多關節機械臂遠離機器人本體的一端的當前位置不在同一座標系時,可以通過座標轉換將二者轉換到同一座標系下。其中,座標系可以根據實際情況進行選擇。在具體實施時,可以通過逆向運動學基於著力點位置以及多關節機械臂遠離機器人本體的一端的當前位置,規劃多關節機械臂的移動路徑;也可以通過深度學習演算法基於著力點位置以及多關節機械臂遠離機器人本體的一端的當前位置,確定多關節機械臂的移動路徑。
一種可能的實施方式中,控制多關節機械臂在支撐體的支撐下,對機器人本體施加目標作用力,以使機器人本體脫離被困狀態,包括:確定使得機器人本體脫離被困狀態的目標方向;控制多關節機械臂在支撐體的支撐下,對機器人本體施加目標方向上的目標作用力,以使機器人本體脫離被困狀態。
本發明實施例中,機械臂支撐支撐體時,會對支撐體產生一個作用力,同時支撐體會對機械臂產生反作用力,該反作用力經機械臂傳遞給機器人本體(即目標作用力),因此目標方向為多關節機械臂對機器人本體施加的目標作用力的方向。通過明確施加的作用力方向,可以提高機器人本體脫離被困狀態的效率。
一種可能的實施方式中,確定使得機器人本體脫離 被困狀態的目標方向,包括:基於機器人本體的位姿資料,確定使得機器人本體脫離被困狀態的目標方向。
在一種實施方式中,可以通過先驗知識經驗,基於機器人本體的位姿資料,確定使得機器人本體脫離被困狀態的目標方向。例如,在確定的應用場所中,確定機器人本體出現被困狀態的至少一種場景,統計每種場景下處於被困狀態的機器人本體的樣本位姿資料,並確定該場景下機器人本體脫離被困狀態的樣本目標方向,將機器人本體的樣本位姿資料與對應的樣本目標方向關聯儲存,使得在檢測到機器人本體處於被困狀態時,可以基於機器人本體的位姿資料,從儲存的機器人本體的樣本位姿資料與對應的樣本目標方向中,確定使得機器人本體脫離被困狀態的目標方向。
本發明實施例中,機器人本體的位姿資料為機器人本體在預設的座標系中的位置資料和姿態資料。示例性的,可以通過機器人本體上設置的慣性測量單元(Inertial measurement 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)、磁碟或者光碟等各種可以儲存程式碼的介質。
以上僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以申請專利範圍的保護範圍為準。
S101~S103:步驟

Claims (16)

  1. 一種控制機器人脫困的方法,其中,所述機器人包括多關節機械臂和機器人本體,所述方法包括: 檢測機器人本體的行進狀態; 在檢測到所述機器人本體處於被困狀態的情況下,確定所述多關節機械臂在支撐體上的著力點位置; 基於確定的支撐體上的著力點位置,控制所述多關節機械臂遠離所述機器人本體的一端接觸所述支撐體,並控制所述多關節機械臂在所述支撐體的支撐下,對所述機器人本體施加目標作用力,以使所述機器人本體脫離被困狀態。
  2. 根據請求項1所述的方法,其中,所述確定所述多關節機械臂在支撐體上的著力點位置之前,包括: 基於所述機器人本體上設置的感測器,檢測所述機器人本體當前所處位置對應的至少一個候選支撐體,和/或所述至少一個候選支撐體的屬性特徵; 基於每個候選支撐體的屬性特徵和/或設置的支撐體優先級順序,從至少一個候選支撐體中確定所述多關節機械臂對應的支撐體;所述屬性特徵用於表徵所述支撐體的表面結構的軟硬程度特徵。
  3. 根據請求項2所述的方法,其中,所述基於每個候選支撐體的屬性特徵和/或設置的支撐體優先級順序,從至少一個候選支撐體中確定所述多關節機械臂對應的支撐體,包括: 基於每個候選支撐體的屬性特徵和/或設置的支撐體優先級順序,從至少一個候選支撐體中選擇一個未被選擇的候選支撐體; 確定基於所述候選支撐體上的著力點位置,以及與所述多關節機械臂遠離所述機器人本體的一端的位置,確定在所述多關節機械臂遠離機器人本體的一端到達所述著力點位置時,所述多關節機械臂的預測位姿資訊; 控制所述多關節機械臂遠離所述機器人本體的一端移動至所述著力點位置,檢測所述多關節機械臂的當前位姿資訊; 在所述當前位姿資訊與所述預測位姿資訊不匹配的情況下,返回從至少一個候選支撐體中選擇一個未被選擇的候選支撐體的步驟,直到所述多關節機械臂的當前位姿資訊與所述預測位姿資訊相匹配,或者直到所述至少一個候選支撐體中不存在未被選擇的候選支撐體。
  4. 根據請求項1至3任一項所述的方法,其中,所述確定所述多關節機械臂在支撐體上的著力點位置,包括: 將檢測到的支撐體對應的區域劃分為多個子區域,確定多個子區域中每個子區域的中心點; 從多個子區域的中心點中,選取所述多關節機械臂的著力點。
  5. 根據請求項4所述的方法,其中,所述從多個子區域對應的中心點中,選取所述多關節機械臂的著力點,包括: 基於每個中心點與所述多關節機械臂接近機器人本體一端之間的方向和距離,從所述多個子區域的中心點中,選取所述多關節機械臂的著力點。
  6. 根據請求項1至3任一項所述的方法,其中,所述基於確定的支撐體上的著力點位置,控制所述多關節機械臂遠離所述機器人本體的一端接觸所述支撐體,包括: 基於所述著力點位置與所述多關節機械臂遠離所述機器人本體的一端的當前位置,確定所述多關節機械臂的移動路徑; 控制所述多關節機械臂按照所述移動路徑移動,直至所述多關節機械臂遠離所述機器人本體的一端接觸所述支撐體。
  7. 根據請求項1至3任一項所述的方法,其中,所述控制所述多關節機械臂在所述支撐體的支撐下,對所述機器人本體施加目標作用力,以使所述機器人本體脫離被困狀態,包括: 確定使得所述機器人本體脫離所述被困狀態的目標方向; 控制所述多關節機械臂在所述支撐體的支撐下,對所述機器人本體施加所述目標方向上的所述目標作用力,以使所述機器人本體脫離被困狀態。
  8. 根據請求項7所述的方法,其中,所述確定使得所述機器人本體脫離所述被困狀態的目標方向,包括: 基於所述機器人本體的位姿資料,確定使得所述機器人本體脫離所述被困狀態的目標方向。
  9. 根據請求項8所述的方法,其中,所述基於所述機器人本體的位姿資料,確定使得所述機器人本體脫離所述被困狀態的目標方向,包括: 基於所述機器人本體的位姿資料,確定所述機器人本體上設置的至少一個輪子的狀態; 基於所述至少一個輪子的狀態,確定使得所述機器人本體脫離所述被困狀態的目標方向。
  10. 根據請求項7所述的方法,其中,所述確定使得所述機器人本體脫離所述被困狀態的目標方向,包括: 從預設的多個方向中選擇一個當前未被選擇的方向作為所述目標方向; 控制所述多關節機械臂對所述機器人本體施加所述目標方向上的所述目標作用力,檢測所述機器人本體的狀態; 在所述機器人本體未脫離被困狀態的情況下,返回所述從預設的多個方向中選擇一個當前未被選擇的方向作為所述目標方向的步驟,直到所述機器人本體脫離被困狀態,或者直到預設的多個方向中不存在未被選擇的方向。
  11. 根據請求項1至3任一項所述的方法,其中,所述多關節機械臂中遠離所述機器人本體的關節單元為第一關節單元,接近所述機器人本體的關節單元為第二關節單元; 在控制所述多關節機械臂對所述機器人本體施加目標作用力之前,所述方法還包括: 基於所述目標方向,調整所述多關節機械臂中每個關節單元的位姿資訊,使得調整後的所述第二關節單元與所述機器人本體之間的夾角,與所述目標方向相匹配; 或者,基於所述目標方向以及所述第一關節單元的作用方向,調整所述機械臂中每個關節單元的位姿資訊,使得調整後的所述第二關節單元與所述機器人本體之間的夾角,與所述目標方向相匹配;以及使得調整後的所述第一關節單元與所述著力點位置所在區域之間的夾角,與所述第一關節單元的作用方向相匹配。
  12. 根據請求項11所述的方法,其中,所述控制所述多關節機械臂對所述機器人本體施加目標作用力,包括: 通過調節以下夾角中的至少一種,控制所述多關節機械臂對所述機器人本體施加目標作用力: 所述多關節機械臂中相鄰關節單元之間的夾角; 所述多關節機械臂中第一關節單元與所述著力點所在區域之間的夾角; 所述第二關節單元與所述機器人本體之間的夾角。
  13. 根據請求項1至3任一項所述的方法,其中,所述在檢測到所述機器人本體處於被困狀態的情況下,確定所述多關節機械臂在支撐體上的著力點位置,還包括: 在檢測到所述機器人本體處於被困狀態的情況下,控制所述機器人本體變換移動方向進行移動; 所述確定所述多關節機械臂在支撐體上的著力點位置,包括: 在檢測到所述機器人本體變換移動方向進行移動後,未脫離被困狀態的情況下,確定所述多關節機械臂在支撐體上的著力點位置。
  14. 一種機器人,其中,所述機器人包括多關節機械臂和機器人本體,所述多關節機械臂活動連接於所述機器人本體,所述機器人本體內設置有控制器,所述控制器通過向所述多關節機械臂中每個關節單元內設置的舵機發送控制信號,來控制所述多關節機械臂,以執行請求項1至13任一項所述的控制機器人脫困的方法。
  15. 一種電子設備,包括:相互連接的處理器和記憶體,所述記憶體儲存有所述處理器可執行的機器可讀指令,當電子設備運行時,所述機器可讀指令被所述處理器執行時執行如請求項1至13任一項所述的控制機器人脫困的方法的步驟。
  16. 一種電腦可讀儲存介質,該電腦可讀儲存介質上儲存有電腦程式,該電腦程式被處理器運行時執行如請求項1至13任一項所述的控制機器人脫困的方法的步驟。
TW109143076A 2019-12-26 2020-12-07 控制機器人脫困的方法、機器人、電子設備和電腦可讀儲存介質 TWI750939B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
TW202127164A TW202127164A (zh) 2021-07-16
TWI750939B true TWI750939B (zh) 2021-12-21

Family

ID=70303811

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109143076A TWI750939B (zh) 2019-12-26 2020-12-07 控制機器人脫困的方法、機器人、電子設備和電腦可讀儲存介質

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 (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988003008A1 (en) * 1986-10-21 1988-05-05 James Richard Hennequin Motorised joint
CN100351055C (zh) * 1999-09-20 2007-11-28 索尼公司 机器人的步行控制装置和步行控制方法
US20080084284A1 (en) * 2006-10-09 2008-04-10 Samsung Electronics Co., Ltd. Obstruction-determining apparatus for preventing mobile robot from becoming obstructed and boundary-estimation method and medium using the obstruction-determining apparatus
US20100141197A1 (en) * 2008-12-05 2010-06-10 Samsung Electronics Co., Ltd. Robot arm and method of controlling the same
US20110035050A1 (en) * 2009-08-10 2011-02-10 Samsung Electronics Co., Ltd. Method and apparatus to plan motion path of robot
CN104057450A (zh) * 2014-06-20 2014-09-24 哈尔滨工业大学深圳研究生院 一种针对服务机器人的高维操作臂遥操作方法
US9381961B1 (en) * 2014-09-04 2016-07-05 Google Inc. Robotic systems having protrusions for use in starting positions and in use positions
US9387895B1 (en) * 2006-03-30 2016-07-12 Veena Technologies, Inc Apparatus with hydraulic power module
US9561829B1 (en) * 2014-09-03 2017-02-07 X Development Llc Robotic leg with multiple robotic feet
WO2017136290A1 (en) * 2016-02-02 2017-08-10 Deka Products Limited Partnership Modular electro-mechanical agent
US20180163423A1 (en) * 2013-10-13 2018-06-14 Maytronics Autonomous pool cleaning robot
EP3459688A2 (en) * 2016-05-17 2019-03-27 LG Electronics Inc. -1- Mobile robot and control method therefor

Family Cites Families (18)

* 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 能動体
JP4496483B2 (ja) * 2005-06-24 2010-07-07 株式会社安川電機 ロボット制御方法および制御装置
CN100503343C (zh) * 2007-09-06 2009-06-24 西南交通大学 轮履和摆臂结合的越障机构
CN102581836A (zh) * 2012-02-29 2012-07-18 哈尔滨工程大学 多功能机械臂协同车轮牵引移动机器人
JP2015070981A (ja) * 2013-10-04 2015-04-16 日本精工株式会社 障害物回避先導ロボット
CN104942788A (zh) * 2015-06-29 2015-09-30 孙术华 多功能机械臂协同车轮牵引移动机器人
JP6601670B2 (ja) * 2015-08-28 2019-11-06 学校法人早稲田大学 路面状況認識装置、そのプログラム、及び移動体システム
CN205758464U (zh) * 2016-05-13 2016-12-07 深圳市聚家智能科技有限公司 一种自动清洁机器人脱困系统
CN106625671B (zh) * 2016-12-27 2019-02-19 西北工业大学 一种空间机器人抓捕翻滚目标的最优轨迹规划方法
CN206455650U (zh) * 2016-12-30 2017-09-01 西安智道科技有限责任公司 便携式救援机器人
CN108803588A (zh) * 2017-04-28 2018-11-13 深圳乐动机器人有限公司 机器人的控制系统
CN107019472B (zh) * 2017-06-09 2022-09-20 北京小狗吸尘器集团股份有限公司 一种扫地机器人及其由被卡住位置脱困的方法
CN108836195A (zh) * 2018-06-28 2018-11-20 广东乐生智能科技有限公司 一种扫地机器人的脱困方法及扫地机器人
CN208941976U (zh) * 2018-08-03 2019-06-07 厦门华蔚物联网科技有限公司 一种高空幕墙越障机器人
CN109528089B (zh) * 2018-11-19 2021-03-23 珠海市一微半导体有限公司 一种被困清洁机器人的继续行走方法、装置及芯片
CN109875470B (zh) * 2019-01-31 2021-04-20 科沃斯机器人股份有限公司 脱困方法、设备及存储介质
CN110192814B (zh) * 2019-06-20 2021-07-02 深圳市银星智能科技股份有限公司 自移动设备脱困方法及自移动设备
CN111061215B (zh) * 2019-12-26 2021-01-22 北京市商汤科技开发有限公司 控制机器人脱困的方法、装置、机器人

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988003008A1 (en) * 1986-10-21 1988-05-05 James Richard Hennequin Motorised joint
CN100351055C (zh) * 1999-09-20 2007-11-28 索尼公司 机器人的步行控制装置和步行控制方法
US9387895B1 (en) * 2006-03-30 2016-07-12 Veena Technologies, Inc Apparatus with hydraulic power module
US20080084284A1 (en) * 2006-10-09 2008-04-10 Samsung Electronics Co., Ltd. Obstruction-determining apparatus for preventing mobile robot from becoming obstructed and boundary-estimation method and medium using the obstruction-determining apparatus
US20100141197A1 (en) * 2008-12-05 2010-06-10 Samsung Electronics Co., Ltd. Robot arm and method of controlling the same
US20110035050A1 (en) * 2009-08-10 2011-02-10 Samsung Electronics Co., Ltd. Method and apparatus to plan motion path of robot
US20180163423A1 (en) * 2013-10-13 2018-06-14 Maytronics Autonomous pool cleaning robot
CN104057450A (zh) * 2014-06-20 2014-09-24 哈尔滨工业大学深圳研究生院 一种针对服务机器人的高维操作臂遥操作方法
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
WO2017136290A1 (en) * 2016-02-02 2017-08-10 Deka Products Limited Partnership Modular electro-mechanical agent
EP3459688A2 (en) * 2016-05-17 2019-03-27 LG Electronics Inc. -1- Mobile robot and control method therefor

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI750939B (zh) 控制機器人脫困的方法、機器人、電子設備和電腦可讀儲存介質
US10379539B2 (en) Systems and methods for dynamic route planning in autonomous navigation
JP6979961B2 (ja) 自律移動ロボットを制御するための方法
US9919416B1 (en) Methods and systems for providing feedback during teach mode
US8606402B2 (en) Manipulator and control method thereof
JP5261495B2 (ja) 重み行列を用いたリアルタイム自己衝突および障害物回避
US20170266815A1 (en) Control device, robot, and robot system
TW201826993A (zh) 具有基於環境之操作速度變化的機器人清潔裝置
JP6748145B2 (ja) ロボットシステム
WO2021033486A1 (ja) モデル生成装置、モデル生成方法、制御装置及び制御方法
JP2017205819A (ja) ロボット、制御装置、及びロボットシステム
US20180085920A1 (en) Robot control device, robot, and robot system
US20210107135A1 (en) Teaching Method
US20220193905A1 (en) Door Opening Behavior
WO2021033509A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6270334B2 (ja) ロボット制御装置及び方法
JP2023515231A (ja) 清掃ロボット
KR100862190B1 (ko) 로봇의 자세 검출 장치 및 그 방법
KR20230124658A (ko) 감독된 자율 파지를 위한 사용자 인터페이스
JP2023516311A (ja) ロボット
Rodriguez et al. Evaluation of smartphone-based interfaces for navigation tasks in unstructured environments for ground robots
JP6079293B2 (ja) ロボット制御システム、ロボット、教示装置、プログラム及びロボット制御方法
JP6248694B2 (ja) ロボット、ロボットシステム、及び制御装置
US20240001552A1 (en) Teaching method and teaching apparatus
WO2024041151A1 (zh) 移动机器人的运动控制方法和移动机器人