機器人系統(tǒng)中的動態(tài)避障的制作方法
【技術領域】
[0001] 本發(fā)明涉及機器人系統(tǒng)中的動態(tài)避障。
【背景技術】
[0002] 機器人通常包括一系列聯(lián)動裝置,其經(jīng)由馬達驅動的機器人關節(jié)互連。每一個機 器人關節(jié)代表一個或多個獨立的控制變量或自由度。例如機器人手臂、抓持器等的末端執(zhí) 行器是具體的末端聯(lián)動裝置,其在執(zhí)行命令的工作任務中作用在物體上,例如抓持和移動 物體。復雜的編程和運動控制邏輯被以各種方式使用,以獲得所需水平的機器人可動性、靈 活性和與工作任務有關的功能性。末端執(zhí)行器通常根據(jù)限定的路徑或軌跡接近和離開特定 目標位置。這種路徑是使用各種技術預先規(guī)劃的。然而,在工作環(huán)境中遇到動態(tài)障礙物時 常規(guī)的末端執(zhí)行器路徑規(guī)劃技術可能并不十分魯棒。
【發(fā)明內容】
[0003] 本文所述的機器人控制器適用于在動態(tài)障礙物存在的情況下控制末端執(zhí)行器。不 同于現(xiàn)有方法,控制器使用Gilbert-Johnson-Keerthi (GJK)算法計算輪廓函數(shù),且由此允 許控制器處理具有任意(即不是預定的)形狀的動態(tài)障礙物。本發(fā)明的方法還使用調和勢, 以調制用于末端執(zhí)行器的運動規(guī)劃,由此在機器人工作環(huán)境中的這樣的動態(tài)障礙物周圍操 縱末端執(zhí)行器。
[0004] 具體說,控制器考慮動態(tài)障礙物的速度以作為輸入,且計算代表障礙物的任意的 幾何形狀之間的距離。該方法利用GJK算法計算距離。由此,輪廓函數(shù)通過控制器限定,用 于避開遇到的動態(tài)障礙物,這與使用預定輪廓函數(shù)和限定/非任意的障礙物形狀的方法不 同相反。該方法還允許控制器使用點云形狀的性能,且允許給定控制點表示為具有限定形 狀的體積。以這種方式,調和勢的概念被擴展到這樣的情況,其中動態(tài)障礙物被表示為點的 集合,例如來自3D點云攝像頭,其輸出障礙物的點云或光探測測距(Light Detection and Ranging :LIDAR)掃描結果。另外,本發(fā)明的設計預期了調制函數(shù)的自動調整,從而障礙物 速度被考慮,由此允許控制器更好地避開動態(tài)障礙物。
[0005] 在下文結合附圖進行的對實施本發(fā)明的較佳模式做出的詳盡描述中能容易地理 解上述的本發(fā)明的特征和以及其他的特征。
【附圖說明】
[0006] 圖1是具有機器人和控制器的示例性機器人系統(tǒng)的示意圖,該機器人系統(tǒng)為了避 開任意形狀的動態(tài)障礙物,將利用流場的動態(tài)系統(tǒng)與調和勢(harmonic potential)相組 合。
[0007] 圖2是描述了在圖1的機器人系統(tǒng)中可用的示例性調和勢調制方法的示意性邏輯 流程圖。
[0008] 圖3A是示意性向量場。
[0009] 圖3B是圖3A所示的向量場的示意性流線變化。
【具體實施方式】
[0010] 參考附圖,其中幾幅圖中相同的附圖標記指示相同或相似的部件,機器人系統(tǒng)10 在圖1中被示意性地顯示為具有控制器50。機器人系統(tǒng)10包括機器人12。機器人12被圖 示為圖1的示例性靈巧人形機器人,但是機器人12可以替換地以任何多軸線機器人實施。 機器人12在存在動態(tài)障礙物30的情況下運行,動態(tài)障礙物30例如是運動的操作者、其他 機器人等??刂破?0被編程為經(jīng)由方法100的執(zhí)行而避開動態(tài)障礙物30,方法100的示 例性實施例顯示在圖2中。示例性動態(tài)障礙物30和相關的流場(flow fields)在圖3A和 3B中示意性地顯示。
[0011] 機器人12包括末端執(zhí)行器14,例如設置在機器人臂16遠端的抓持器或多手指的 手。機器人12的運動(尤其是末端執(zhí)行器14和機器人臂16的運動)經(jīng)由機器人控制器 50而被自動地控制,所述機器人控制器50具有動態(tài)系統(tǒng)模塊(DSM)52、調和勢(harmonic potential)調制器(HPM) 53和阻抗控制模塊(ICM) 54,它們的具體編程功能在下文詳細描 述。例如3D點云攝像頭、LIDAR傳感器陣列等的攝像頭15收集描述動態(tài)障礙物30的位置 和近似幾何形態(tài)的一組3D點云信息,且將該信息轉送到控制器50,作為方法100 -部分的 點云數(shù)據(jù)(箭頭19)。
[0012] 機器人12在軟件中編程且以硬件配備,以通過多個控制自由度執(zhí)行一個或多個 自動任務,例如以變化的位置和速度抓持和移動物體25,且執(zhí)行其他交互任務或控制其他 整合的系統(tǒng)部件,例如夾具、繼電器、任務照明裝置等。在圖1所示的實施例中,機器人12包 括多個獨立地且可互相依賴地運動的機器人關節(jié),以控制機器人臂16和末端執(zhí)行器14的 運動。雖然為了說明簡單而從圖1省略,但是每一個機器人關節(jié)包括一個或多個關節(jié)促動 器和/或被一個或多個關節(jié)促動器驅動,所述關節(jié)促動器為例如關節(jié)馬達、直線促動器、旋 轉促動器等。
[0013] 圖1的控制器50提供機器人12的精確的運動控制,包括對用于操縱被末端執(zhí)行 器14作用在上面的物體(未示出)所需的精細和粗大運動的控制。另外,控制器50提供 用于機器人12的在線運動生成和馬達控制。DSM 52可被編程為提供本領域已知的動態(tài)運 動基元(DMP),由此使用微分方程實時地生成運動軌跡。
[0014] 具體地,控制器50目的是改進避開例如圖1所示的示例性運動/動態(tài)障礙物30等 的障礙物的現(xiàn)有方法。具體說,控制器50利用HPM 53來調制末端執(zhí)行器14的運動且由此 在動態(tài)障礙物30周圍操控末端執(zhí)行器14,例如經(jīng)由圖3B的流線134示意性地示出的。應 用在機器人控制領域的調和勢由于具有類似于勢場避障的能力但是不需要局部最小值的 處理而受到了重視。例如,一些常規(guī)的方法限定用于每一個靜態(tài)障礙物的連續(xù)輪廓函數(shù),以 便調制這種障礙物附近的控制點速度。
[0015] 如本文配置的圖1的控制器50利用Gilbert-Johnson-Keerthi (GJK)算法來限定 輪廓函數(shù),與現(xiàn)有技術的方法不同,現(xiàn)有技術的方法經(jīng)由預定的輪廓函數(shù)應對限定形狀的 障礙物。GJK算法最終被控制器50使用,以體現(xiàn)流場的形狀,用于控制如下所述的末端執(zhí)行 器14。該函數(shù)提供使用來自攝像頭15的點云形狀的能力,并且允許任何具體控制點表示為 具有限定形狀的體積。以此方式,調和勢方法可容易地擴展來處置其中圖1、3A和3B的動 態(tài)障礙物30被表示為攝像頭15所收集的點集合的情況。
[0016] 另外,圖1的控制器50被編程為經(jīng)由HPM 53調整調制函數(shù),其方式是考慮在機器 人12附近的動態(tài)障礙物30的速度。這種方法允許控制器50更好地避開動態(tài)障礙物30,即 使障礙物30以很大速度運動且控制體積不具有固有速度時也可以。
[0017] 控制器50可以結構上實施為被編程為規(guī)劃和生成機器人臂16和末端執(zhí)行器14 的機器人運動的計算機裝置或多個這樣的裝置。控制系統(tǒng)50可以包括一個或多個處理器 (P)和存儲器(M),其包括足夠量的有形非瞬時存儲器。存儲器類型可以包括光學或磁性只 讀存儲器(R0M)、隨機訪問存儲器(RAM)、可擦除電可編程只讀存儲器(EEPR0M)等。控制系 統(tǒng)50也可以包括高速時鐘,模擬數(shù)字(A/D)電路,數(shù)字模擬D/A電路、和任何所需的輸入/ 輸出(I/O)電路和裝置以及信號調節(jié)和緩沖器電子器件。駐留在控制器50中或由此易于 訪問的各控制算法(例如實施圖2的方法100的指令)可以存儲在存儲器(M)中且經(jīng)由處 理器(P)在一個或多個不同控制水平自動執(zhí)行,以提供相應控制功能。
[0018] 動態(tài)運動基元(DMP)(如機器人控制領域熟知的)可用于以給定的速度v(t)產生 特定機器人運動軌跡X (t)。用于DMP的運動方程通過附接到目標位置g且通過非線性加速 度擾動的阻尼彈簧的動力學促成:
[0021] 其中X。是給定運動的開始點,K是彈簧常數(shù),D是阻尼常數(shù),且f是參數(shù)化的非線 性函數(shù)。
[0022] 通常,圖1示意性地顯示的控制器50接收相似的期望目標(gd),即末端執(zhí)行器14 的給定運動的限定目標位置(經(jīng)由編程或經(jīng)由通過示范學習提供的具體參考路徑),且經(jīng) 由DSM 52執(zhí)行這樣一組微分方程。DSM 52將期望關節(jié)速度(vd*)輸出到HPM 53且與HPM 53相互作用,HPM 53最終將改變的關節(jié)速度(vd)傳送到ICM 54。ICM 54又計算和經(jīng)由阻 抗體系(impedance framework)傳送命令的馬達扭矩命令(τ ee)到機器人12 (這在本領域 是熟知),且HPM 53從機器人12接收或確定實際的關節(jié)位置(P14)和實際的速度(V14)。如 本領域已知的,位置可以經(jīng)由位置傳感器(未示出)測量且實際的速度可以通過控制器50 從一系列隨時間的這種測量關節(jié)位置進行計算。
[0023] 圖2描述了方法100的示例性的一般的實施例。各種步驟的進一步細節(jié)在下文給 出。在步驟102,圖1的控制器50上載末端執(zhí)行器14和動態(tài)障礙物30的位置和幾何形狀 (GE0)。動態(tài)障礙物30可以使用攝像頭15而被如上所述地檢測為點云,即通過處理從攝像 頭15流到控制器50的點云數(shù)據(jù)(箭頭19)。作為方法100的一部分,控制器50擴展調和 勢避障的概念,從而其可應用于動態(tài)障礙物30,每一個動態(tài)障礙物具有任意的形狀。
[0024] 簡要地參見圖3A和3B,動態(tài)障礙物30圖示為任意形狀的多邊形。在圖3A中,動 態(tài)障礙物30最初位于恒定流的流場34中,流場34表示為末端執(zhí)行器14相對于動態(tài)障礙 物30的所有可能運動的向量。圖3B圖示了在方法100執(zhí)行之后圖3A所示的流場34的經(jīng) 調制模式的流線134??刂破?0形成在動態(tài)障礙物30周圍的人造邊界36,以用于避開動 態(tài)障礙物30,作為下文所述的方法100的一部分。