本申請要求于2014年8月25日提交的美國臨時專利申請序列No.62/041,281;于2014年12月30日提交的美國專利申請No.14/586,519和于2015年3月16日提交的美國專利申請No.14/659,012的優(yōu)先權,其內容通過引用全部并入本文。
背景技術:
隨著技術的進步,正在創(chuàng)造各種類型的機器人裝置用于執(zhí)行可以輔助用戶的各種功能。機器人裝置可以用于包括材料處理,運輸,焊接,組裝和分配等的應用。隨著時間的推移,這些機器人系統(tǒng)操作的方式變得更加智能,高效和直觀。隨著機器人系統(tǒng)在現(xiàn)代生活的許多方面變得越來越普遍,期望機器人系統(tǒng)是有效的。因此,對有效的機器人系統(tǒng)的需求已經(jīng)幫助開創(chuàng)了致動器,運動,感測技術以及部件設計和組裝的創(chuàng)新領域。
技術實現(xiàn)要素:
本申請公開了涉及控制機器人裝置的腿的位置以平衡機器人裝置的實施方式。示例性實施方式可以包括由機器人接收指示與連接到機器人的多個傳感器相對應的各個關節(jié)角度的多個第一測量值。機器人可以包括身體和連接到身體的多個關節(jié)肢體。關節(jié)肢體可以與相應的屬性相關聯(lián)。實施方式還可以包括接收指示機器人的身體的取向的身體取向測量值。實施方式可以進一步包括基于與機器人的關節(jié)肢體相關聯(lián)的屬性確定所述多個第一測量值和身體取向測量值之間的關系。另外,實施方式可以包括基于多個第一測量值,身體取向測量值和確定的關系來估計機器人的總體取向。此外,實施方式可以包括基于機器人的估計的總體取向來提供指令以控制機器人的至少一個關節(jié)肢體。
在另一示例性實施方式中,本申請描述了一種機器人,其可以包括身體,連接到身體的多個關節(jié)肢體,多個第一傳感器,第二傳感器,處理系統(tǒng)和控制系統(tǒng)。關節(jié)肢體可以與相應的屬性相關聯(lián)。多個第一傳感器可以配置為提供指示關節(jié)肢體的相應關節(jié)角度的多個第一測量值。第二傳感器可以配置為提供指示機器人的身體的取向的身體取向測量值。第二傳感器可以聯(lián)接到身體。處理系統(tǒng)可以配置為基于與關節(jié)肢體相關聯(lián)的屬性來確定所述多個第一測量值和所述身體取向測量值之間的關系。處理系統(tǒng)還可以配置為基于所述多個第一測量值,身體取向測量值和確定的關系來估計機器人的總體取向??刂葡到y(tǒng)可以配置為基于機器人的估計的總體取向來提供指令以控制機器人的至少一個關節(jié)肢體。
在另一示例性實施方式中,本申請描述了一種非暫時性計算機可讀介質,其具有在其上存儲的指令,該指令在由至少一個處理器執(zhí)行時使機器人執(zhí)行一組操作。操作可以包括接收指示與連接到機器人的多個傳感器相對應的各個關節(jié)角度的多個第一測量值。機器人可以包括身體和連接到身體的多個關節(jié)肢體。關節(jié)肢體可以與相應的屬性相關聯(lián)。操作還可以包括接收指示機器人的一部分的取向的身體取向測量值,其中機器人的該部分對應于特定的參照系。操作還可以包括基于與機器人的關節(jié)肢體相關聯(lián)的屬性確定多個第一測量值和身體取向測量值之間的關系。另外,操作可以包括基于多個第一測量值,身體取向測量值和確定的關系來估計機器人的總體取向。此外,操作可以包括基于機器人的估計的總體取向來提供指令以控制機器人的至少一個關節(jié)肢體。
在又一實施方式中,本申請描述了一種系統(tǒng)。系統(tǒng)可以包括用于由機器人接收指示與連接到機器人的多個傳感器相對應的各個關節(jié)角度的多個第一測量值的器件。機器人可以包括身體和連接到身體的多個關節(jié)肢體。關節(jié)肢體可以與相應的屬性相關聯(lián)。系統(tǒng)還可以包括用于接收指示機器人的身體的取向的身體取向測量值的器件。系統(tǒng)還可以包括用于基于與機器人的關節(jié)肢體相關聯(lián)的屬性確定多個第一測量值和身體取向測量值之間的關系的器件。另外,系統(tǒng)可以包括用于基于多個第一測量值,身體取向測量值和確定的關系來估計機器人的總體取向的器件。此外,系統(tǒng)可以包括用于基于機器人的估計的總體取向來提供指令以控制機器人的至少一個關節(jié)肢體的器件。
通過適當?shù)貐⒖几綀D閱讀下面的詳細描述,這些以及其它方面,優(yōu)點和替代對于本領域的普通技術人員將變得顯而易見。
附圖說明
圖1示出了根據(jù)示例性實施方式的機器人系統(tǒng)的配置。
圖2示出了根據(jù)示例性實施方式的四足機器人的透視圖。
圖3示出了根據(jù)示例性實施方式的四足機器人的透視圖。
圖4示出了根據(jù)示例性實施方式的雙足機器人的透視圖。
圖5A示出了根據(jù)示例性實施方式的雙足機器人的姿態(tài)。
圖5B示出了根據(jù)示例性實施方式的雙足機器人的簡化表示。
圖5C示出了根據(jù)示例性實施方式的雙足機器人的姿態(tài)。
圖5D示出了根據(jù)示例性實施方式的雙足機器人的簡化表示。
圖6是根據(jù)示例性實施方式的流程圖。
圖7是根據(jù)示例性實施方式配置的計算機可讀介質。
具體實施方式
以下詳細描述參考附圖描述了所公開的系統(tǒng)和方法的各種特征和功能。本文描述的說明性系統(tǒng)和方法實施方式不意味著限制??梢匀菀椎乩斫?,公開的系統(tǒng)和方法的某些方面可以以各種各樣的不同配置來布置和組合,所有這些都在本文中考慮。
I.概述
示例性實施方式包括配置有至少一個機器人肢體,傳感器和處理系統(tǒng)的機器人裝置。機器人肢體可以是鉸接的機器人附件,包括通過關節(jié)連接的多個構件。機器人肢體還可以包括聯(lián)接到肢體的構件的多個致動器(例如2-5個致動器),其促使機器人肢體在由連接構件的關節(jié)限制的運動范圍內的運動。傳感器可以配置為測量機器人裝置的屬性,如關節(jié)的角度,致動器內的壓力,和/或在給定時間點的機器人肢體的位置,速度和加速度。傳感器還可以配置為測量機器人裝置的身體(在本文中也可以稱為機器人裝置的“基部”)的取向(即身體取向測量值)。其它示例性屬性包括機器人裝置的各種部件的質量,機器人裝置或機器人裝置的各種部件的質心的位置,機器人裝置或機器人裝置的部件的慣性矩等。機器人裝置的處理系統(tǒng)可以直接地從角度傳感器信息或間接地從可以計算關節(jié)角度的其它傳感器信息來確定機器人肢體的關節(jié)的角度。然后,處理系統(tǒng)可以基于感測到的機器人裝置的基部的取向和關節(jié)角度來估計機器人裝置的取向。
本文取向可以指物體的角位置。在一些情況下,取向可以指圍繞三個軸線的旋轉量(以度或弧度表示)。在一些情況下,機器人裝置的取向可以指機器人裝置相對于特定參考系(如地面或其站立的表面)的取向。取向可以使用Euler角或Tait-Bryan角(也稱為橫擺,俯仰和滾動角)來描述角位置。在一些情況下,如在計算機可讀介質上,取向可以由取向矩陣或取向四元數(shù)等來表示。
在一些情況下,來自機器人裝置的基部上的傳感器的測量值可以指示機器人裝置以這樣的方式取向和/或具有需要控制一個或多個鉸接附件的角速度,以保持機器人裝置的平衡。然而,在這些情況下,可能的情況是機器人裝置的肢體被取向和/或移動,使得不需要平衡控制。例如,機器人裝置的身體可以向左傾斜,并且測量身體取向的傳感器可以指示移動肢體以平衡機器人裝置的需要;然而,機器人裝置的一個或多個肢體可以向右延伸,使得機器人裝置被平衡,盡管機器人裝置的基部上的傳感器指示不同。機器人裝置的肢體可以在機器人裝置的身體上施加扭矩,并且還可以影響機器人裝置的質心。因此,機器人裝置的一部分的取向和角速度測量值可以是機器人裝置的身體和肢體的組合的取向和角速度的不準確表示(在本文中可以稱為“總體”取向和角速度)。
在一些實施方式中,處理系統(tǒng)可以配置為基于感測到的機器人裝置的基部的取向和測量的關節(jié)角度來估計整個機器人裝置的總體取向和/或角速度。處理系統(tǒng)已經(jīng)在其上存儲了機器人裝置的關節(jié)角度與機器人裝置的關節(jié)角度影響機器人裝置的基部的取向和/或角速度的程度之間的關系。機器人裝置的關節(jié)角度和機器人裝置的基部的運動之間的關系可以基于機器人裝置的肢體的質量屬性和運動學來確定。換句話說,該關系可以指定關節(jié)角度對機器人裝置的總體取向和/或角速度的影響。另外,處理系統(tǒng)可以配置為確定由內部運動引起的機器人裝置的取向和/或角速度的分量以及由外部運動引起的機器人裝置的取向和/或角速度的分量。此外,處理系統(tǒng)可以區(qū)分總體取向的分量,以便確定機器人裝置的總體橫擺速率,俯仰速率和滾動速率(其可以統(tǒng)稱為“總體角速度”)。
在一些實施方式中,機器人裝置還可以包括控制系統(tǒng),其配置為基于機器人裝置的簡化模型來控制機器人裝置??刂葡到y(tǒng)可以配置為接收機器人裝置的估計的總體取向和/或角速度,并且隨后控制機器人裝置的一個或多個關節(jié)肢體以便以特定方式(例如保持機器人裝置的平衡)行動。例如,控制系統(tǒng)可以基于總體取向來確定放置機器人裝置的腳的位置和/或機器人裝置的腳在表面上施加的力。
在一些實施方式中,機器人裝置可以包括力傳感器,其測量或估計外力(例如由機器人裝置的腿抵靠地面施加的力),以及運動傳感器,以測量機器人裝置的肢體的取向。處理系統(tǒng)可以配置為基于由傳感器測量的信息來確定機器人裝置的角動量??刂葡到y(tǒng)可以配置有基于反饋的狀態(tài)觀測器,其接收測量的角動量和總體角速度,并且提供機器人裝置的角動量的降噪估計。狀態(tài)觀測器還可以接收作用在機器人裝置上的力矩或力的測量值和/或估計,并且在其它信息中,使用它們作為確定機器人裝置的角動量的降噪估計的基礎。在一些情況下,測量的角動量包括具有第一平均振幅(例如-80分貝到-20分貝)的噪聲,并且角動量的降噪估計包括具有第二平均振幅(例如-70分貝到-10分貝)的噪聲。在一些情況下,噪聲的第二平均振幅小于噪聲的第一平均振幅,使得狀態(tài)觀測器作用于減小噪聲的平均振幅。
控制系統(tǒng)可以配置為致動跨越機器人腿的部件連接的一個或多個致動器。振動器可以控制為升高或降低機器人腿。在一些情況下,機器人腿可以包括致動器以在三維中控制機器人腿的運動。根據(jù)具體實施方式,控制系統(tǒng)可以配置為使用總體取向以及其它傳感器測量值作為以特定方式(例如靜態(tài)平衡,行走,跑步,飛奔等)控制機器人的基礎。
在一些實施方式中,關節(jié)角度和它們對機器人裝置的基部的取向和/或角速度的影響之間的多個關系可以存儲在處理系統(tǒng)上。處理系統(tǒng)可以基于關節(jié)角度選擇特定關系,利用其來確定總體取向和/或角速度。例如,一個關系可以與在0到90度之間的特定關節(jié)相關聯(lián),并且另一個關系可以與在91到180度之間的特定關節(jié)相關聯(lián)。選擇的關系可以比其它關系更精確地估計機器人裝置的總體取向。
在一些實施方式中,處理系統(tǒng)可以已經(jīng)在其上存儲了機器人裝置的關節(jié)角度與機器人裝置的關節(jié)角度影響機器人裝置的基部的取向和/或角速度的程度之間的多于一個關系。每個關系可以對應于關節(jié)角度值的一個或多個范圍(即操作范圍)。
在一些實施方式中,機器人裝置可以在一個或多個模式下操作。操作模式可以對應于在對應的一組操作范圍內的一個或多個關節(jié)角度。在這些實施方式中,每種操作模式可以對應于特定關系。
機器人裝置的角速度可以具有描述機器人裝置沿多個平面的取向(即旋轉角度)的多個分量。從機器人裝置的角度來看,機器人裝置向左或向右轉動的旋轉角度在本文中可以被稱為“橫擺”。機器人裝置向上或向下的旋轉角度在本文中可以被稱為“俯仰”。機器人裝置向左或向右傾斜的旋轉角度在本文中可以被稱為“滾動”。另外,橫擺,俯仰,滾動的變化的速率在本文中可以分別稱為“橫擺速率”,“俯仰速率”和“滾動速率”。
II.示例性機器人系統(tǒng)
現(xiàn)在參考附圖,圖1示出了根據(jù)示例性實施方式的機器人裝置的示例性配置。機器人系統(tǒng)100表示配置為執(zhí)行本文描述的操作的示例性機器人裝置。另外,機器人裝置100可以配置為自主地,半自主地和/或使用由用戶提供的方向操作,并且可以以各種形式存在,如人形機器人或四足機器人等。此外,機器人裝置100還可以被稱為機器人裝置,移動機器人或機器人等。
如圖1所示,機器人裝置100包括處理器102,數(shù)據(jù)存儲器104,程序指令106,控制器108,傳感器110,電源112,機械部件114和電氣部件116。注意,機器人裝置100示出為用于說明的目的,并且可以包括更多或更少的部件,而不脫離本文公開的范圍。機器人裝置100的各種部件可以以任何方式連接,包括有線或無線連接等。此外,在一些示例中,機器人裝置100的部件可以位于多個不同的物理實體上,而不是位于單個物理實體上。機器人裝置100的其它示例性說明也可以存在。
處理器102可以作為一個或多個通用處理器或專用處理器(例如數(shù)字信號處理器,專用集成電路等)來操作。處理器102可以配置為執(zhí)行存儲在數(shù)據(jù)存儲器104中并且可執(zhí)行以提供本文所述的機器人裝置100的操作的計算機可讀程序指令106。例如,程序指令106可以是可執(zhí)行的以提供控制器108的操作,其中控制器108可以配置為引起機械部件114和電氣部件116的激活和停用。處理器102可以操作和使機器人裝置100能夠執(zhí)行各種功能,包括本文所述的功能。
數(shù)據(jù)存儲器104可以作為各種類型的存儲介質如存儲器存在。例如,數(shù)據(jù)存儲器104可以包括或采取可以由處理器102讀取或訪問的一個或多個計算機可讀存儲介質的形式。一個或多個計算機可讀存儲介質可以包括易失性和/或非易失性存儲部件,如光學的,磁性的,有機的或其它存儲器或盤存儲器,其可以與處理器102整體或部分地集成。在一些實施方式中,數(shù)據(jù)存儲器104可以使用單個物理裝置(例如一個光學的,磁性的,有機的或其它存儲器或盤存儲單元)來實現(xiàn),而在其它實施方式中,數(shù)據(jù)存儲器104可以使用兩個或更多個物理裝置來實現(xiàn),其可以經(jīng)由有線或無線通信進行通信。此外,除了計算機可讀程序指令106之外,數(shù)據(jù)存儲器104可以尤其包括附加數(shù)據(jù),如診斷數(shù)據(jù)等。
機器人裝置100可以包括至少一個控制器108,其可以與機器人裝置100接口??刂破?08可以用作機器人裝置100的各部分之間的鏈接,如機械部件114和/或電氣部件116之間的鏈接。在一些情況下,控制器108可以用作機器人裝置100和另一計算裝置之間的接口。此外,控制器108可以用作機器人系統(tǒng)100和用戶之間的接口??刂破?08可以包括用于與機器人裝置100通信的各種部件,包括操縱桿,按鈕等??刂破?08還可以為機器人裝置100執(zhí)行其它操作。控制器的其它示例也可以存在。
另外,機器人裝置100包括一個或多個傳感器110,如力傳感器,接近傳感器,運動傳感器,負載傳感器,位置傳感器,觸摸傳感器,深度傳感器,超聲波范圍傳感器和紅外傳感器等。傳感器110可以向處理器102提供傳感器數(shù)據(jù),以允許機器人系統(tǒng)100與環(huán)境的適當交互以及機器人裝置100的系統(tǒng)的操作的監(jiān)控。傳感器數(shù)據(jù)可以用于評估由控制器108和/或機器人裝置100的計算系統(tǒng)激活和停用機械部件114和電氣部件116的各種因素。
傳感器110可以提供指示機器人裝置的環(huán)境的信息,用于控制器108和/或計算系統(tǒng)以確定機器人裝置100的操作。例如,傳感器110可以捕獲對應于環(huán)境的地形或附近的物體位置的數(shù)據(jù),其可以輔助環(huán)境識別和導航等。在示例性配置中,機器人裝置100可以包括傳感器系統(tǒng),該傳感器系統(tǒng)可以包括相機,雷達,激光雷達,全球定位系統(tǒng)(GPS)收發(fā)器和/或用于捕獲機器人裝置100的環(huán)境的信息的其它傳感器。傳感器110可以實時地監(jiān)測環(huán)境并且檢測障礙物,地形的元素,天氣條件,溫度和/或機器人裝置100的環(huán)境的其它參數(shù)。
此外,機器人裝置100可以包括配置為接收指示機器人裝置100的狀態(tài)的信息的其它傳感器110,包括可以監(jiān)測機器人裝置100的各種部件的狀態(tài)的傳感器110。傳感器110可以測量機器人裝置100的系統(tǒng)的活動并且接收基于機器人裝置100的各種特征的操作的信息,如可延伸的腿,臂或機器人裝置100的其它機械和/或電氣特征的操作。由傳感器提供的傳感器數(shù)據(jù)可以使機器人裝置100的計算系統(tǒng)能夠確定操作中的錯誤以及監(jiān)測機器人裝置100的部件的整體功能。
例如,計算系統(tǒng)可以使用傳感器數(shù)據(jù)來確定在操作期間機器人裝置100的穩(wěn)定性以及與功率水平,通信活動,需要修復的部件以及其它信息相關的測量值。作為示例性配置,機器人裝置100可以包括陀螺儀,加速度計和/或其它可能的傳感器,以提供與機器人裝置的操作狀態(tài)相關的傳感器數(shù)據(jù)。此外,傳感器110還可監(jiān)測機器人系統(tǒng)100當前可以操作的功能的當前狀態(tài)(如步法)。另外,傳感器110可以測量機器人裝置的給定機器人腿和機器人裝置的質心之間的距離。傳感器110的其它示例性使用也可以存在。
另外,機器人裝置100還可以包括配置為向機器人裝置100的各種部件供應電力的一個或多個電源112。在可能的動力系統(tǒng)中,機器人裝置100可以包括液壓系統(tǒng),電氣系統(tǒng),電池和/或其它類型的動力系統(tǒng)。作為示例性說明,機器人裝置100可以包括配置為經(jīng)由有線和/或無線連接向部件提供電力的一個或多個電池。在示例內,機械部件114和電氣部件116的部件可以各自連接到不同的電源或可以由相同的電源供電。機器人系統(tǒng)100的部件也可以連接到多個電源。
在示例性配置內,任何類型的電源可以用于給機器人裝置100供電,如汽油發(fā)動機。此外,電源112可以使用各種類型的充電來充電,如與外部電源的有線連接,無線充電,燃燒或其他示例。其它配置也是可能的。另外,機器人裝置100可以包括配置為使用流體動力向機械部件114提供動力的液壓系統(tǒng)。機器人裝置100的部件可以基于例如通過液壓系統(tǒng)傳遞到各個液壓馬達和液壓缸的液壓流體來操作。機器人裝置100的液壓系統(tǒng)可以通過機器人裝置100的部件之間的小管,柔性軟管或其它連接傳遞大量的動力。其它動力源可以包括在機器人裝置100內。
機械部件114表示機器人系統(tǒng)100的硬件,其可以使機器人裝置100能夠操作和執(zhí)行物理功能。作為一些示例,機器人裝置100可以包括致動器,可延伸的腿(“腿”),臂,輪,用于容納計算系統(tǒng)或其它部件的一個或多個結構化主體,和/或其它機械部件。機械部件114可以取決于機器人裝置100的設計,并且還可以基于機器人裝置100可以配置為執(zhí)行的功能和/或任務。因此,根據(jù)機器人裝置100的操作和功能,不同的機械部件114可以為機器人裝置100利用。在一些示例中,機器人裝置100可以配置為添加和/或移除機械部件114,其可以包括來自用戶和/或其它機器人裝置的輔助。例如,機器人裝置100可以初始地配置有四個腿,但是可以由用戶或機器人裝置100改變以移除四個腿中的兩個,以作為雙足機器人進行操作??梢园C械部件114的其它示例。
電氣部件116可以包括例如能夠處理,傳送,提供電荷或電信號的各種部件。在可能的示例中,電氣部件116可以包括電線,電路和/或無線通信發(fā)射器和接收器,以實現(xiàn)機器人裝置100的操作。電氣部件116可以與機械部件114互相配合,以使機器人裝置100能夠執(zhí)行各種操作。例如,電氣部件116可以配置為從電源112向各種機械部件114提供電力。此外,機器人裝置100可以包括電動機。電氣部件116的其它示例也可以存在。
在一些實施方式中,機器人裝置100還可以包括配置為發(fā)送和/或接收信息的通信鏈路118。通信鏈路118可以傳送指示機器人裝置100的各種部件的狀態(tài)的數(shù)據(jù)。例如,由傳感器110讀入的信息可以經(jīng)由通信鏈路118傳送到單獨的裝置。指示電源112,機械部件114,電氣部件118,處理器102,數(shù)據(jù)存儲器104和/或控制器108的完整性或健康狀況的其它診斷信息可以經(jīng)由通信鏈路118傳送到外部通信裝置。
在一些實施方式中,機器人裝置100可以在通信鏈路118處接收由處理器102處理的信息。接收的信息可以指示例如在程序指令106的執(zhí)行期間可由處理器102訪問的數(shù)據(jù)。此外,接收的信息可以改變控制器108的可以影響機械部件114或電氣部件116的行為的方面。在一些情況下,接收的信息指示請求特定信息片段(例如機器人裝置100的一個或多個部件的操作狀態(tài))的查詢,并且處理器102可以隨后將該特定信息片段傳送回通信鏈路118。
在一些情況下,通信鏈路118包括有線連接。機器人裝置100可以包括一個或多個端口以將通信鏈路118連接到外部裝置。作為有線連接的另外或替代,通信鏈路118可以包括無線連接。一些示例性無線連接可以利用蜂窩連接,如CDMA,EVDO,GSM/GPRS,或4G電信,如WiMAX或LTE??商娲鼗蛄硗獾?,無線連接可以利用Wi-Fi連接來向無線局域網(wǎng)(WLAN)傳送數(shù)據(jù)。在一些實施方式中,無線連接還可以通過紅外鏈路,藍牙或近場通信(NFC)裝置進行通信。
圖2示出了根據(jù)示例性實施例的示例性四足機器人的透視圖。在其它可能的功能中,機器人裝置200可以配置為在操作期間執(zhí)行本文所述的過程。機器人裝置200包括連接到機器人裝置200的身體208的腿204A,204B,204C和204D,并且還可以包括配置為向機器人裝置200的計算系統(tǒng)提供傳感器數(shù)據(jù)的傳感器。每個腿204A,204B,204C和204D可以分別包括腳206A,206B,206C和206D。傳感器可以結合在腿204A,204B,204C和204D的部分內,以檢測壓力,位置,速度,加速度和取向等。此外,機器人裝置200示出為在身體208上承載物體212。在其它示例性實施方式中,機器人裝置200可以包括更多或更少的部件,并且可以附加地包括圖2中未示出的部件。
機器人裝置200可以是圖1所示的機器人系統(tǒng)100的物理表示,或者可以基于其它配置。為了操作,機器人裝置200包括由配置為輔助機器人裝置200的各種操作的一個或多個計算裝置組成的計算系統(tǒng)。這些操作可以包括處理數(shù)據(jù)并且基于數(shù)據(jù)提供輸出以引起到機器人裝置200的物理狀態(tài)的各種變化。計算系統(tǒng)可以處理由機器人裝置200的各種系統(tǒng)(例如傳感器系統(tǒng))或從其它源(例如用戶,另一機器人裝置,服務器)提供的信息,并且作為響應可以向這些系統(tǒng)提供指令。
另外,計算系統(tǒng)可以在操作期間監(jiān)測機器人裝置200的系統(tǒng),其可以包括例如監(jiān)測錯誤和/或監(jiān)測常規(guī)操作。在一些示例性配置中,計算系統(tǒng)可以用作機器人裝置200的各種系統(tǒng)之間的連接,并且可以將系統(tǒng)的操作協(xié)調在一起以使機器人裝置200能夠執(zhí)行操作。此外,計算系統(tǒng)可以包括配置為控制或輔助機器人裝置的操作的多個裝置,處理器,控制器和/或其它實體。另外,計算系統(tǒng)可以使用各種類型的存儲器和/或其他部件來操作。
機器人裝置200作為具有四個可延伸的腿204A,204B,204C和204D的四足機器人裝置存在。盡管機器人裝置200在圖2所示的圖示中包括四個腿204A,204B,204C和204D,但是在其它示例中,機器人裝置200可以包括更多或更少的腿。此外,腿204A,204B,204C和204D的配置,位置和/或結構可以在示例性實施方式中變化。腿204A,204B,204C和204D使得機器人裝置200能夠移動并且可以配置為在多個自由度中操作,以使得能夠執(zhí)行不同的行進技術。特別地,腿204A,204B,204C和204D可以使機器人裝置200能夠通過機械地控制腿204A,204B,204C和204D來以各種速度行進。
每個機器人腿204A,204B,204C和204D可以包括如關節(jié)214的關節(jié)和致動器。關節(jié)允許機器人腿的構件以多個自由度移動通過一定角度范圍。在操作期間,致動器可以被延伸或壓縮,以促使移動機器人腿到各個位置。某些關節(jié)可以具有有限的運動范圍(例如-120度至120度)。關節(jié)和構件的一些組合可以允許機器人腿移動其橫向位置,縱向位置和/或垂直位置。
步法是動物,機器人裝置或其它機械結構的肢體的運動的模式。因此,機器人裝置200可以通過操作腿204A,204B,204C和204D來進行導航以執(zhí)行各種步法。機器人裝置200可以使用多種步法在環(huán)境內行進,其可以包括基于速度,地形,操縱需要和/或能量效率來選擇步法。機器人裝置200可以配置為在步法之間動態(tài)切換,這可以使機器人裝置能夠改變操作腿204A,204B,204C和204D的速度或力學。
此外,由于可能阻止某些步法的使用的設計(例如機器人裝置的腿的數(shù)目)的差異,不同類型的機器人裝置可以使用不同的步法。雖然一些步法可以具有特定名稱(例如步行,小跑,跑步,飛奔和跳躍),但是這些步法之間的區(qū)別可以是輕微的。步法可以基于腳步樣式分類,該樣式包括用于放置可伸展腿的遠端(例如腳)的表面上的位置。類似地,步法也可以基于力學進行分類。
另外,機器人裝置200可以包括其它機械孔或附件,其可以在各種位置附接到機器人裝置200。機器人裝置200可以包括機械臂,夾具,輪或其它特征。腿204A,204B,204C和204D可以具有腳或其它類型的機械特征(例如橡膠腳以增加機器人裝置和表面之間的摩擦),使得能夠控制機器人裝置可能遇到的各種類型的表面。
作為示例性機器人裝置200的設計的一部分,機器人裝置200的身體208連接到腿204A,204B,204C和204D,并且可容納機器人裝置200的各種部件。因此,身體208可以在示例內變化,并且還可以取決于給定機器人裝置可能已經(jīng)設計為執(zhí)行的特定操作。例如,開發(fā)以承載重負載的機器人裝置可以具有能夠放置負載的寬身體。類似地,設計為達到高速的機器人裝置可以具有不具有實質重量的窄的小身體。此外,身體208以及腿204A,204B,204C和204D可以使用各種類型的材料(如各種金屬或塑料)來開發(fā)。在其它示例中,機器人裝置可以具有帶有不同結構的或由其它類型的材料制成的身體。
機器人裝置200的傳感器210可以包括各種類型的傳感器。傳感器210可以放置在機器人裝置上的各個位置。如對于機器人系統(tǒng)100所描述的,機器人裝置200可以包括傳感系統(tǒng),其包括相機,雷達,激光雷達,GPS收發(fā)器,加速度計,陀螺儀和/或其它類型的傳感器。傳感器可以配置為測量機器人裝置200的環(huán)境的參數(shù)以及監(jiān)測機器人裝置200的系統(tǒng)的內部操作。在一些示例中,機器人裝置200可以包括傳感器以測量每個腿204A,204B,204C和204D的取向,位置,速度或加速度。
在一些實施方式中,傳感器210可以聯(lián)接到機器人腿204A,204B,204C和204D的部分。例如,傳感器可以配置為測量機器人腿204A,204B,204C和204D的關節(jié)的角度。在一些實施方式中,由傳感器輸出的信息或數(shù)據(jù)可以提供給控制系統(tǒng)202。在一些情況下,慣性測量單元(IMU)可以安裝到機器人腿204A,204B,204C和204D的部分以確定機器人腿204A,204B,204C和204D的每個構件的取向。另外,如壓力換能器的傳感器可以聯(lián)接到機器人腿204A,204B,204C和204D的致動器,以測量致動器內部的壓力和/或測量致動器延伸或壓縮的長度。除了前述的傳感器之外,還可以包括其它傳感器,以便測量機器人裝置200的可以從其計算機器人腿204A,204B,204C和204D的關節(jié)角度的方面。
在一些實施方式中,機器人腿204A,204B,204C和204D的致動器可以被控制為施加不同量的力。在一些情況下,控制系統(tǒng)可以控制特定的機器人腿以施加更大或更小程度的力。另外,由給定的機器人腿施加的力的量可以使用聯(lián)接到機器人腿的傳感器(如力傳感器或負載單元)來測量。
由機器人裝置200承載的負載212可以表示機器人裝置200可以運輸?shù)母鞣N類型的貨物。負載212還可以表示機器人裝置200可以利用的外部電池或其它類型的電源(例如太陽能電池板)。負載212表示機器人裝置200可以配置的示例性使用。因此,機器人裝置200也可以配置為執(zhí)行其它操作。
另外,如機器人系統(tǒng)100所示,機器人裝置200還可以包括各種電氣部件,其可以實現(xiàn)機器人裝置200的機械特征之間的操作和通信。如前所述,機器人裝置200可以包括一個或多個計算系統(tǒng),其包括配置為執(zhí)行各種功能(包括處理輸入)以提供輸出的一個或多個處理器。計算系統(tǒng)可以包括附加部件,如各種類型的存儲器和電源等。
機器人裝置200的控制系統(tǒng)202可以使機器人裝置200基于來自感測系統(tǒng)的傳感器數(shù)據(jù)來導航環(huán)境。感測系統(tǒng)可以包括聯(lián)接到機器人裝置200的部分的感測系統(tǒng)的傳感器。機器人裝置200可以通過通信系統(tǒng)接收導航命令。例如,機器人裝置可以接收以每小時5公里向前移動的命令。該命令可以指定向前走特定距離,如100米。在示例中,命令可以指定放置特定腿的一個或多個位置。
在一些示例中,導航命令可以包括GPS坐標。在一些情況下,命令可以指示機器人裝置導航到可以由特定GPS坐標定義的特定位置。機器人裝置然后可以使移動系統(tǒng)移動到該位置,同時導航由控制系統(tǒng)識別的地形的物理特征(可能基于來自感知傳感器的數(shù)據(jù))。另一個命令可以指示機器人裝置跟隨特定的人,該特定的人可以具有產(chǎn)生指示該人的位置的數(shù)據(jù)的GPS使能裝置(GPS enabled device)。數(shù)據(jù)可以被傳送到機器人裝置,然后使得移動系統(tǒng)跟隨該人,同時導航由控制系統(tǒng)識別的地形的物理特征。
在一些示例性實施方式中,在操作期間,計算系統(tǒng)可以經(jīng)由有線或無線連接與機器人裝置200的其它系統(tǒng)通信,并且還可以配置為與機器人裝置的一個或多個用戶通信。作為一個可能的例子,計算系統(tǒng)可以從用戶接收指示用戶希望機器人裝置在給定方向上執(zhí)行特定步法的輸入。計算系統(tǒng)可以處理輸入,并且可以使機器人裝置的系統(tǒng)執(zhí)行所請求的步法。另外,機器人裝置的電氣部件可以包括其它類型的電氣部件,包括但不限于接口,電線,總線和/或配置為使得機器人裝置的系統(tǒng)能夠通信的其它通信鏈路。
此外,機器人裝置200可以經(jīng)由各種類型的接口與一個或多個用戶和/或其它機器人裝置通信。在示例性實施方式中,機器人裝置200可以經(jīng)由操縱桿或類似類型的接口從用戶接收輸入。計算系統(tǒng)可以配置為從操縱桿接口接收指示力的量,施加到操縱桿的力的持續(xù)時間以及其它可能的信息的數(shù)據(jù)。類似地,機器人裝置200可以經(jīng)由其它類型的接口(例如移動裝置或麥克風)接收輸入并且與用戶通信。無論如何,機器人裝置200的計算系統(tǒng)可以配置為處理機器人裝置200可以接收的各種類型的輸入。
圖3示出了根據(jù)示例性實施方式的另一示例性四足機器人。類似于圖2中所示的機器人裝置200,機器人裝置300可以對應于圖1中所示的機器人系統(tǒng)100。機器人裝置300用作機器人裝置的另一可能實施方式,其可以配置為估計機器人裝置的取向,橫擺,俯仰和/或滾動??梢源嬖跈C器人裝置的其它示例性實施方式。
圖4示出了根據(jù)另一示例性實施方式的雙足機器人的示例。類似于圖2中所示的機器人裝置400,機器人裝置400可以對應于圖1中所示的機器人系統(tǒng)100。機器人裝置400用作機器人裝置的可能實施方式,其可以配置為估計機器人裝置的取向,橫擺,俯仰和/或滾動??梢源嬖跈C器人裝置的其它示例性實施方式。
機器人裝置400可以包括多個鉸接附件,如機器人腿和/或機器人臂。每個鉸接附件可以包括通過關節(jié)連接的多個構件,其允許鉸接附件通過某些自由度移動。鉸接附件的每個構件可以具有描述構件的方面的屬性,如其重量,重量分布,長度和/或形狀等。類似地,連接鉸接附件的構件的每個關節(jié)可以具有已知屬性,如關節(jié)允許的運動范圍的角度,關節(jié)的尺寸以及由關節(jié)連接的構件之間的距離等。給定的關節(jié)可以是允許一個自由度的關節(jié)(例如轉向關節(jié)或鉸鏈關節(jié)),允許兩個自由度的關節(jié)(例如圓柱形關節(jié)),允許三個自由度的關節(jié)(例如球窩關節(jié)),或允許四個或更多個自由度的關節(jié)。自由度可以指連接到關節(jié)的構件圍繞特定平移或旋轉軸線移動的能力。
機器人裝置400還可以包括傳感器以測量其鉸接附件的關節(jié)的角度。此外,鉸接附件可以包括多個致動器,其可以被控制以伸出和縮回鉸接附件的構件。在一些情況下,關節(jié)的角度可以基于給定致動器的伸出或縮回的程度來確定。在一些情況下,關節(jié)角度可從安裝在鉸接附件的構件上的慣性測量單元(IMU)的位置數(shù)據(jù)推斷。在一些實施方式中,關節(jié)角度可以使用旋轉位置傳感器(如旋轉編碼器)來測量。在其它實施方式中,關節(jié)角度可以使用光學反射技術來測量。也可以使用其它關節(jié)角度測量技術。
機器人裝置400可以配置為發(fā)送來自鉸接附件的傳感器數(shù)據(jù)到聯(lián)接到機器人裝置400的裝置,如處理系統(tǒng),計算系統(tǒng)或控制系統(tǒng)。機器人裝置400可以包括存儲器,其包括在機器人裝置400上的裝置中或作為存儲傳感器數(shù)據(jù)的獨立部件。在一些實施方式中,傳感器數(shù)據(jù)在存儲器中保持一定量的時間。在一些情況下,存儲的傳感器數(shù)據(jù)可以被處理或以其它方式變換以供機器人裝置400上的控制系統(tǒng)使用。在一些情況下,機器人裝置400還可以通過有線或無線連接將傳感器數(shù)據(jù)傳送到外部裝置。
III.示例性情景
圖5A和5C示出了示例性雙足機器人的狀態(tài)。圖5A和5C所示的雙足機器人可以與圖4所示的機器人裝置400,圖3所示的機器人裝置300或圖2所示的機器人裝置200相同或相似。圖5B和5D分別描繪了圖5A和5C中的雙足機器人的簡化的表示。圖5B和5D中所示的簡化表示分別是來自圖5A和5C的雙足機器人的總體取向的剛體估計。圖5A和5C中描繪的雙足機器人和圖5B和5D中描繪的雙足機器人的簡化表示是為了說明的目的而示出的,并且不一定按比例繪制。類似地,圖5B和5D中描繪的特定角度和位置未按比例繪制,并且不一定表示雙足機器人的總體取向的精確表示。
圖5A和5C示出了表示x軸,y軸和z軸的方向的軸線。為了說明的目的而指定的軸線可以在各種實施方式中不同地表示。其中心帶有圓點的圓圈表示指向圖前面的x軸。圖5B和5D示出了也具有用于x,y和z軸的特定指定的軸線的三維表示。在各種實施方式中,可以以其它方式指定圖5B和5D中的軸線。
圖5A,5B,5C和5D包括描繪橫擺旋轉,俯仰旋轉和滾動旋轉的量的箭頭。旋轉量可以表示為度或弧度。在圖5A和5C中,這些箭頭表示從聯(lián)接到雙足機器人的基部(即主體)的傳感器測量的橫擺旋轉,俯仰旋轉和滾動旋轉量(即雙足機器人的基部的取向)。在圖5B和5D中,橫擺,俯仰和滾動箭頭表示由雙足機器人的處理系統(tǒng)基于雙足機器人的基部的取向和雙足機器人的關節(jié)的角度估計的橫擺旋轉,俯仰旋轉和滾動旋轉的總體量。
圖5A和5C中描繪的箭頭不一定意味著存在橫擺旋轉,俯仰旋轉或滾動旋轉的量。例如,圖5A中的雙足機器人的滾動旋轉量可以是零度。為了說明的目的描繪了箭頭,并且可以在本申請的特定部分內指定橫擺,俯仰和滾動旋轉量。
盡管圖5A和5C中的雙足機器人被描繪為具有四個機器人肢體(兩個鉸接腿和兩個鉸接臂),但是可以根據(jù)本申請的操作來估計具有任何數(shù)目的肢體的任何其它機器人裝置的總體取向和/或角速度。例如,可以針對圖2所示的機器人裝置200和圖3所示的機器人裝置300以及其它機器人裝置確定總體取向和/或角速度。
圖5A示出了根據(jù)示例性實施方式的雙足機器人502的姿態(tài)500。雙足機器人502利用一個腿站立在表面504上。雙足機器人502可以類似于圖4所示的機器人裝置400,并且還可以包括圖1中的機器人裝置100的一個或多個部件。雙足機器人502的身體被描繪為與表面504平行,使得聯(lián)接到雙足機器人502的身體的傳感器可以將身體的滾動角指示為零。
雙足機器人502的肢體延伸使得扭矩施加到雙足機器人502。盡管雙足機器人502被描繪為直立的,但是如果沒有應用平衡控制來移動肢體,則圖5A中描繪的雙足機器人502將向右跌倒。盡管雙足機器人502處于不穩(wěn)定的姿勢,但是從聯(lián)接到雙足機器人502的身體的傳感器接收信息的控制系統(tǒng)可以確定不需要控制來保持雙足機器人的平衡。在一些情況下,控制系統(tǒng)可以對在雙足機器人開始跌倒之后感測的角速度做出反應;然而,對角速度的變化做出反應可以導致控制系統(tǒng)提供激烈的控制措施以保持雙足機器人的平衡。因此,基于角速度的變化控制雙足機器人是反應性的,并且可以使控制系統(tǒng)提供原本的不必要的量的控制努力。
雙足機器人502可以包括在其上的處理系統(tǒng),配置為估計雙足機器人502的總體取向。處理系統(tǒng)還可以計算雙足機器人502的總體取向的變化率,以確定雙足機器人502的角速度和/或角動量。在一些實施方式中,處理系統(tǒng)基于雙足機器人的肢體的關節(jié)的角度和測量的雙足機器人502的身體的取向來估計雙足機器人502的總體取向。雙足機器人502的總體取向,角速度和/或角動量可以提供作為聯(lián)接到雙足機器人的控制系統(tǒng)的輸入??刂葡到y(tǒng)可以配置為以特定行為(即靜止平衡,行走,跑步等)來操作雙足機器人。
處理系統(tǒng)可以包括存儲器,其存儲機器人裝置的關節(jié)角度和機器人裝置的關節(jié)角度影響機器人裝置的基部的取向和/或角速度的程度之間的關系。雙足機器人502的每個肢體包括構件和關節(jié),允許肢體以各種方式定位。如前所述,肢體的定位可以通過致動聯(lián)接到雙足機器人502的肢體的構件的致動器來實現(xiàn)。當給定肢體移動通過其運動范圍時,肢體的質心可以定位在具有變化的與雙足機器人502的身體的質心的距離的多種位置。遠離雙足機器人的身體延伸的雙足機器人502的肢體的質量可以在雙足機器人502的身體上引入扭矩,作為延伸肢體上的重力的結果。因此,基于雙足機器人502的各個部分的運動學和質量屬性,可以確定雙足機器人502的身體的運動和關節(jié)角度之間的關系。然后,處理系統(tǒng)可以將關節(jié)角度的效果應用于雙足機器人502的身體的測量的取向,以確定雙足機器人的總體取向。
在一些實施方式中,處理系統(tǒng)對總體取向執(zhí)行時間微分,以便估計雙足機器人的角速度。處理系統(tǒng)還可以基于估計的角速度確定雙足機器人502的估計角動量。
在一些實施方式中,角速度和/或角動量可以用于預測未來時間的雙足機器人502的總體取向。因此,控制系統(tǒng)可以在雙足機器人502的身體以顯著的角速度移動之前主動地提供平衡控制。通過在雙足機器人502旋轉到該取向之前預測雙足機器人502的總體取向,可以搶先識別不穩(wěn)定的取向,與反應式控制系統(tǒng)相比大大減少了平衡雙足機器人502所需的控制努力的程度。
作為示例,如圖2中的機器人裝置200或圖3中的機器人裝置300的四足機器人可以以足夠高的速度行進,使得在某些時間沒有腿與地面接觸。在這些情況下,在四足機器人處于半空中時預測四足機器人的總體取向可以用于在與地面接觸之前確定如何使四足機器人的前腿取向。
在一些情況下,機器人裝置可以包括聯(lián)接到機器人裝置的身體的柔性構件,其允許身體彎曲和/或旋轉。傳感器可以測量柔性構件的旋轉部分的角度,并且提供角度測量值作為到處理系統(tǒng)的輸入。處理系統(tǒng)可以在確定機器人裝置的總體取向時考慮那些角度測量值以及其它角度測量值和身體的一部分的取向測量值。
圖5A所示的雙足機器人502的身體具有零度的橫擺角,零度的俯仰角和零度的滾動角。然而,雙足機器人502的肢體取向為使得雙足機器人不穩(wěn)定。因此,隨著時間的推移,如果沒有對肢體提供平衡控制,則雙足機器人502將翻倒。
圖5B示出了圖5A所示的雙足機器人502的簡化表示510。雙足機器人502的處理系統(tǒng)可以接收橫擺,俯仰和滾動角的零度測量值以及雙足機器人的關節(jié)的角度。處理系統(tǒng)然后可以確定雙足機器人502的總體取向。盡管雙足機器人502的身體的橫擺,俯仰和滾轉角為零度,但是雙足機器人502的總體取向可以具有非零值。
在圖5B中,雙足機器人502的簡化表示512具有非零橫擺,俯仰和滾動角。雙足機器人502的簡化表示512相對于參考系510取向,參考系510可以是表面或地面。在一些實施方式中,非零橫擺,俯仰和滾動角中的至少一個可以指示雙足機器人502的平衡中的不穩(wěn)定性。例如,在一些情況下,非零滾動角可以指示施加到雙足機器人502的身體的扭矩,這是由一個或多個肢體延伸到雙足機器人502的一側所致。因此,盡管雙足機器人502的身體與表面504平行,但是總體取向指示不穩(wěn)定性,即隨著時間推移雙足機器人502的角速度將增加。
估計的總體取向可以提供給雙足機器人502的控制系統(tǒng),其隨后可以控制雙足機器人502的肢體中的至少一個,以平衡雙足機器人502。例如,圖5A中的雙足機器人502的提升的腿可以放置在地面上,從而改變提升的腿的一個或多個關節(jié)的角度。當腿中的關節(jié)角度改變以指示腿延伸以與表面504接觸時,由處理系統(tǒng)估計的總體取向可以指示雙足機器人502變得更穩(wěn)定。例如,通過使腿延伸以接觸表面504而引起的變化的關節(jié)角度可以減小總體滾動角。
在一些情況下,雙足機器人502的控制系統(tǒng)配置為將雙足機器人502的平移速度保持在特定的步幅(例如步行步幅或跑步步幅)。
在示例性實施方式中,機器人裝置可以具有將其關節(jié)角度的位置與機器人裝置的總體方向相關聯(lián)的關系。機器人裝置可以具有兩個腿和一個臂,其中一個臂具有將附接到機器人裝置的身體的構件連接到另一個構件的一個關節(jié)。該關系可以規(guī)定,當關節(jié)具有在0到90度之間的角度時,臂不會引入足夠的扭矩以使機器人翻倒。該關系還可以規(guī)定,當關節(jié)具有在90到180度之間的角度時,臂在機器人裝置的身體上產(chǎn)生足夠的扭矩,導致機器人裝置角度地加速并且最終翻倒。關節(jié)角度范圍的任何組合可以與在各種實施方式中在機器人裝置的身體上產(chǎn)生的扭矩相關。
在一些情況下,機器人裝置可以跑步,并且因此在某些時間點沒有與地面的任何接觸。機器人裝置的身體可以在跑步時振蕩,使得僅考慮機器人裝置的身體的取向測量值的控制裝置可以在某些時間點確定機器人裝置不穩(wěn)定,并且因此需要控制努力以保持平衡。然而,機器人裝置的腿的關節(jié)角度和機器人裝置的身體的取向之間的關系可以指示與機器人裝置的身體取向相比,機器人裝置的總體取向具有不那么嚴重的振蕩。在這些情況下,本公開的控制系統(tǒng)減少了原本可能被施加的不必要的控制努力。
圖5C示出了根據(jù)示例性實施方式的雙足機器人522的姿態(tài)520。類似于雙足機器人502,雙足機器人522用一個腿站立在表面524上。然而,雙足機器人522的身體被描繪為傾斜的,使得聯(lián)接到雙足機器人522的身體的傳感器可以將身體的滾動角指示為非零。雙足機器人522可以相同于或類似于圖4所示的機器人裝置400,并且還可以包括圖1中的機器人裝置100的一個或多個部件。
雙足機器人522的肢體延伸使得雙足機器人平衡。不同于圖5A中的雙足機器人502,雙足機器人522是穩(wěn)定的,并且不需要肢體的控制以保持平衡。雙足機器人522的肢體延伸使得沒有扭矩施加在雙足機器人522的身體上。
類似于雙足機器人502,雙足機器人522可以包括在其上的處理系統(tǒng),配置為估計雙足機器人522的總體取向。處理系統(tǒng)可以接收兩足機器人522的關節(jié)的角度和身體的測量的取向,以確定雙足機器人的總體取向。在圖5C所示的示例性姿態(tài)520中,盡管身體取向指示需要控制以保持兩足機器人522的平衡的不穩(wěn)定姿態(tài),但是處理系統(tǒng)從總體取向確定雙足機器人522是穩(wěn)定的。處理系統(tǒng)還可以執(zhí)行總體取向的時間微分,并且確定雙足機器人522的角速度不在變化。
圖5C所示的雙足機器人522的身體具有零度的橫擺角,零度的俯仰角和非零度的滾動角。然而,雙足機器人的總體取向(圖5D中雙足機器人522的簡化表示中描繪的)可以確定為具有零度的滾動角。
圖5D示出了根據(jù)示例性實施方式的雙足機器人522的簡化表示532。雙足機器人502的簡化表示532相對于參考系530取向,參考系530可以是表面或地面。雙足機器人522的處理系統(tǒng)可以接收指示零度橫擺和俯仰角以及非零滾動角的雙足機器人522的身體的取向的測量。雙足機器人522的處理系統(tǒng)還可以接收對雙足機器人522的關節(jié)的角度的測量。然后,處理系統(tǒng)可以以與前述相同或相似的方式估計雙足機器人522的總體取向。盡管接收的雙足機器人的身體的滾動角不為零,但是雙足機器人522的總體取向表示雙足機器人522具有零度滾動角。
估計的總體取向可以提供給雙足機器人522的控制系統(tǒng)??刂葡到y(tǒng)可以確定雙足機器人522是穩(wěn)定的,并且不需要控制以保持雙足機器人522的平衡。
在一些情況下,狀態(tài)取向可以指示雙足機器人522的狀態(tài)滾動角是非常小的非零量。因此,處理系統(tǒng)可以預測雙足機器人522的總體取向圍繞滾動軸線加速。在這些情況下,控制系統(tǒng)可以控制雙足機器人522的肢體以保持雙足機器人522的平衡。在一些實施方式中,控制系統(tǒng)可以改變由雙足機器人522的腿施加到地面的力以保持平衡。
在一些情況下,處理系統(tǒng)基于估計的總體取向以及其它測量(例如機器人裝置的速度和速度的方向)來確定指示機器人的預期軌跡的路徑。這可以包括基于其估計的總體取向來計算對于閾值時間量的機器人裝置的預期位置。例如,確定的路徑可以指示未來一分鐘時間段的預期軌跡。
處理系統(tǒng)還可以確定物體是否存在于確定的路徑內。這可以包括處理系統(tǒng)從聯(lián)接到機器人裝置的圖像捕獲系統(tǒng)接收圖像并且執(zhí)行物體檢測技術以識別任何可能的物體。在一些情況下,如果物體高于特定閾值尺寸,則可以檢測到該物體。
當沿著預期路徑檢測到物體時,處理系統(tǒng)可以修改或以其它方式改變機器人的路徑,使得其軌跡避免與物體的碰撞。處理系統(tǒng)可以通過提供改變機器人裝置的取向和/或(在x方向,y方向和/或z方向上的)速度的指令來實現(xiàn)這一點。在一些情況下,處理系統(tǒng)可以計算機器人裝置的預期軌跡,以確保機器人裝置避免與檢測到的物體碰撞。
在一些情況下,當沿著預期路徑檢測到物體時,處理系統(tǒng)可以向機器人裝置提供指令以停止機器人裝置撞擊物體。
在一些實施方式中,處理系統(tǒng)可以接收用于機器人裝置行進所沿的期望軌跡。然后,處理系統(tǒng)可以基于期望的軌跡和機器人裝置的估計的總體取向來確定操作機器人裝置的方式,該方式使得機器人裝置沿著該期望的軌跡行進。這可以包括提供指令以修改機器人裝置的取向和/或(在x方向,y方向和/或z方向上的)速度。
IV.示例性方法
圖6是根據(jù)示例性實施方式的流程圖600。流程圖中的操作例如可以由圖1中的機器人裝置100,圖2中的機器人裝置200,圖3中的機器人裝置300,圖4中的機器人裝置400或者來自機器人裝置100,機器人裝置200,機器人裝置300和/或機器人裝置400的部件的任何組合來執(zhí)行。圖6可以包括如框602,604,606,608和610中的一個或多個所示的一個或多個操作或過程。盡管以順序的次序示出了這些框,但是在一些情況下,這些框可以并行地和/或以與本文所描述的順序不同的順序來執(zhí)行。此外,各種框可以基于期望的實施方式組合成更少的框,分為附加的框,和/或被移除。
此外,對于圖6和本文描述的其它過程和操作,流程圖示出了本實施方式的一個可能實現(xiàn)的功能和操作。在這點上,每個框可以表示程序代碼的模塊,段或部分,其包括可由處理器執(zhí)行以用于在該過程中實現(xiàn)特定邏輯操作或步驟的一個或多個指令。另外,每個框可以表示執(zhí)行和/或修改機器人裝置的操作的程序代碼的一部分。程序代碼可以存儲在任何類型的計算機可讀介質上,例如包括盤或硬盤驅動器的存儲裝置。計算機可讀介質可以包括非臨時性計算機可讀介質,例如存儲如寄存器存儲器,處理器高速緩存和隨機存取存儲器(RAM)的短時間段的數(shù)據(jù)的計算機可讀介質。計算機可讀介質還可以包括其它非暫時性介質,如次級或永久長期存儲器,例如只讀存儲器(ROM),光盤或磁盤,光盤只讀存儲器(CD-ROM)。計算機可讀介質還可以是任何其它易失性或非易失性存儲系統(tǒng)。計算機可讀介質可以被認為是例如計算機可讀存儲介質,有形存儲設備或其它制造品。程序代碼(或代碼的數(shù)據(jù))還可以存儲或提供在包括通信介質的其它介質上。例如,可以在無線通信介質上接收命令。
此外,對于圖6和本文中所描述的其它過程和操作,每個框可以表示布置為執(zhí)行特定邏輯操作的電路。
圖6的操作可以由控制裝置或由處理器完全執(zhí)行,或者可以分布在多個控制裝置上。在一些示例中,控制裝置可以從機器人裝置的傳感器接收信息,或者控制裝置可以從收集信息的處理器接收信息。控制系統(tǒng)還可以與遠程控制系統(tǒng)(例如另一機器人裝置上的控制裝置)通信以從例如其它裝置的傳感器接收信息。為了說明的目的,框602,604,606,608和610的操作被描述為由控制裝置執(zhí)行;然而,如上所述的其它裝置可以執(zhí)行操作。
在框602,處理系統(tǒng)接收指示與連接到機器人的多個傳感器相對應的各個關節(jié)角度的多個第一測量值。在一些情況下,接收的關節(jié)角度測量值可以是表示關節(jié)角度的模擬電信號。在一些實施方式中,傳感器包括將模擬電信號轉換成表示關節(jié)角度的數(shù)字電信號的電路。在一些情況下,給定的傳感器可以檢測關節(jié)角度的相對變化,并且處理系統(tǒng)可以通過測量關節(jié)角度隨時間的變化來跟蹤關節(jié)的位置。根據(jù)具體實施方式,關節(jié)角度可以用度或弧度表示。傳感器可以經(jīng)由有線連接或無線連接將關節(jié)角度傳送到處理系統(tǒng)。
在框604,處理系統(tǒng)接收指示機器人的身體的取向的取向測量值。機器人裝置的身體的取向可以通過一個或多個傳感器(例如加速度計,陀螺儀,磁力計和/或慣性測量單元(IMU)以及其它傳感器)來測量。傳感器可以測量機器人裝置的身體的加速度和/或旋轉角度,如機器人身體的俯仰,滾動和橫擺。傳感器可以向處理系統(tǒng)提供加速度和/或旋轉角度,并且處理系統(tǒng)可以確定機器人的身體的速度,位置,取向和角速度中的至少一個。在一些實施方式中,傳感器可以包括在其上的電路以確定機器人身體的速度,位置,取向和/或角速度中的至少一個,并且然后可以將那些測量提供給處理系統(tǒng)。
機器人裝置的身體可以是機器人肢體連接到的機器人裝置的任何部分。在一些實施方式中,機器人肢體通過可旋轉關節(jié)連接到機器人裝置的身體。
在框606,處理系統(tǒng)基于與機器人的關節(jié)肢體相關聯(lián)的屬性確定多個第一測量值和取向測量值之間的關系。該關系可以與先前描述的關系相同或相似。該關系可以存儲在聯(lián)接到機器人的存儲器上。機器人裝置可以包括配置為執(zhí)行存儲在存儲器上的程序指令的計算裝置。在一些實施方式中,該關系可以集成到程序指令中。
該關系可以是可以用于從取向測量值和關節(jié)角度測量值確定機器人的總體取向的數(shù)學公式或算法。機器人裝置的處理系統(tǒng)和/或計算裝置可以執(zhí)行數(shù)學公式的計算或執(zhí)行算法,以確定機器人的總體取向。在一些情況下,該關系可以集成為在如現(xiàn)場可編程門陣列(FPGA)的控制裝置上實現(xiàn)的控制系統(tǒng)的一部分。
在一些實施方式中,可以更新或以其它方式修改該關系。在一些情況下,可以在機器人的通信鏈路處接收更新或修改關系的指令。如前所述,多個關系可以用于確定機器人的總體取向,并且機器人裝置可以接收指令以添加,移除,更新或修改一個或多個這些關系。
在框608,處理系統(tǒng)基于多個第一測量值,取向測量值和確定的關系來估計機器人裝置的取向。機器人裝置的估計取向可以與如前所述的機器人裝置的總體取向相同或相似。估計取向可以通過根據(jù)接收的關系對多個第一測量值和定向測量值執(zhí)行數(shù)學或算法運算來確定。
估計取向可以存儲在機器人的存儲器上。在一些實施方式中,估計取向通過有線連接或無線連接傳送到外部計算裝置。此外,在一些情況下,估計取向可以提供給機器人的其它裝置或系統(tǒng),如控制系統(tǒng)。
在框610,處理系統(tǒng)基于機器人的估計取向來提供控制機器人裝置的至少一個關節(jié)肢體的指令。指令可以對應于操縱機器人的肢體中的一個或多個。例如,指令可以使機器人裝置的肢體移動到特定位置并且具有特定取向。指令還可以指定移動肢體的方式(例如將肢體移動到特定位置的速度有多快)。指令還可以指定特定肢體施加到地面或其它表面的力的量。
在一些實施方式中,指令是控制機器人的肢體上的致動器的模擬信號。在一些情況下,致動器可以配置為接收數(shù)字信號,并且指令可以是提供給一個或多個致動器以控制機器人的肢體的數(shù)字信號。
V.示例性計算機可讀介質
圖7示出了根據(jù)本文描述的至少一些實施方式配置的示例性計算機可讀介質。在示例性實施方式中,示例性系統(tǒng)可以包括一個或多個處理器,一個或多個形式的存儲器,一個或多個輸入裝置/接口,一個或多個輸出裝置/接口和機器可讀指令,當由一個或多個處理器執(zhí)行指令時使得機器人裝置實現(xiàn)上述的各種功能任務,能力等。
如上所述,公開的過程可以通過以機器可讀格式編碼在計算機可讀存儲介質上或在其它介質或制品上的計算機程序指令來實現(xiàn)。圖7是示出了根據(jù)本文公開的至少一些實施方式布置的計算機程序產(chǎn)品的概念性局部視圖的示意圖,該計算機程序產(chǎn)品包括用于在計算裝置上執(zhí)行計算機過程的計算機程序。
在實施方式中,示例性計算機程序產(chǎn)品700使用信號承載介質702來提供。信號承載介質702可以包括一個或多個程序指令704,當由一個或多個處理器執(zhí)行該指令時,可以提供上述關于圖1-6描述的功能或功能的部分。在一些示例中,信號承載介質702可以是計算機可讀介質706,例如但不限于硬盤驅動器,壓縮盤(CD),數(shù)字視頻盤(DVD),數(shù)字磁帶,存儲器等。在一些實施方式中,信號承載介質702可以是計算機可記錄介質708,例如但不限于存儲器,讀/寫(R/W)CD,R/W DVD等。在一些實施方式中,信號承載介質702可以是通信介質710(例如光纖電纜,波導,有線通信鏈路等)。因此,例如,信號承載介質702可以通過通信介質710的無線形式來傳送。
一個或多個程序指令704可以例如是計算機可執(zhí)行和/或邏輯實現(xiàn)的指令。在一些示例中,計算裝置配置為響應于由計算機可讀介質706,計算機可記錄介質708和/或通信介質710傳送到計算裝置的程序指令704來提供各種操作,功能或動作。在其它示例中,計算裝置可以是與聯(lián)接到機器人裝置的裝置通信的外部裝置。
計算機可讀介質706還可以分布在可以彼此遠程定位的多個數(shù)據(jù)存儲元件中。執(zhí)行一些或全部存儲的指令的計算裝置可以是外部計算機或移動計算平臺,如智能手機,平板設備,個人計算機或可穿戴設備等。可替代地,執(zhí)行一些或所有存儲的指令的計算裝置可以是遠程定位的計算機系統(tǒng),如服務器。例如,計算機程序產(chǎn)品700可以實現(xiàn)參考圖6討論的操作。
VI.結論
應當理解,本文描述的布置僅用于示例的目的。因此,本領域技術人員將理解,可以替代地使用其它布置和其它元件(例如機器,接口,功能,順序和功能分組等),并且一些元件可以根據(jù)期望的結果一起省略。此外,描述的許多元件是可以實現(xiàn)為離散或分布式組件或與任何合適的組合和位置的其它組件結合的功能實體,或者被描述為可以組合獨立結構的其它結構元件。
盡管本文公開了各種方面和實施方式,但是其它方面和實施方式對于本領域技術人員將是顯而易見的。本文公開的各種方面和實施方式是為了說明的目的,而不意在限制,真實范圍由所附權利要求以及這些權利要求所賦予的等同物的全部范圍來指示。還應當理解,本文中使用的術語僅用于描述特定實施方式的目的,而不意在限制。