(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024066420
(43)【公開日】2024-05-15
(54)【発明の名称】歩行軌道のコンピュータ生成のための方法及び電子機器
(51)【国際特許分類】
G05D 1/43 20240101AFI20240508BHJP
G06T 19/00 20110101ALI20240508BHJP
【FI】
G05D1/02 H
G06T19/00 A
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023102112
(22)【出願日】2023-06-22
(31)【優先権主張番号】63/381663
(32)【優先日】2022-10-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/188975
(32)【優先日】2023-03-23
(33)【優先権主張国・地域又は機関】US
【新規性喪失の例外の表示】新規性喪失の例外適用申請有り
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】パン,ジャーロン
(72)【発明者】
【氏名】ガオ,シフェン
(72)【発明者】
【氏名】ウー,クイ
【テーマコード(参考)】
5B050
5H301
【Fターム(参考)】
5B050AA03
5B050BA09
5B050BA11
5B050CA01
5B050DA01
5B050EA26
5B050FA02
5H301AA03
5H301BB14
5H301CC04
5H301CC07
(57)【要約】 (修正有)
【課題】周囲空間から平坦空間への座標の変更によって接触アウェアなロボット軌道最適化の堅牢性を向上させるために環境歪めアプローチを実装する。
【解決手段】湾曲した地形の周囲空間を、最適化されたマッピング関数を用いて、平坦な地形を持つ歪められた空間へと歪ませる。周囲空間から歪められた平坦空間へとプルバックされる決定変数を用いて、幾何学的及び物理的な制約のセットの下で、歪められた空間において接触アウェアな軌道最適化手順が定式化される。決定変数は、周囲空間における歩行軌道を生成するために歪められた空間において最適化される制御パラメータのセットを持つ高次のスプラインを用いてパラメータ化される。例えば、周囲空間からの目的関数及び制約関数が歪められた空間にプッシュバックされる一方で、力及び回転変数が歪められた空間から周囲空間にプッシュフォワードされる。最適解を見つけることにおいて高い成功率を達成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサが実行する、周囲の地形上で出発地から目的地まで移動する脚型ロボットの、時間の関数としての歩行軌道のコンピュータ生成のための方法であって、
平坦な地形と該平坦な地形の上の狭い平坦な近傍バンドとを確立するステップであり、前記平坦な地形と前記狭い平坦な近傍バンドとで三次元(3D)平坦空間を形成する、ステップと、
第1の目的関数を最小化するための第1の最適化手順を用いて、前記3D平坦空間から前記周囲の地形を含む3D周囲空間へのマッピング関数を自動生成するステップと、
第2の目的関数を最小化することによる、動作制約のセットの下での第2の最適化手順を用いて、高次のスプラインを使用して歩行軌道をパラメータ化するための前記3D平坦空間における制御点のセット及び時間スパンを自動生成するステップと、
前記3D平坦空間における前記制御点のセット、前記時間スパン、及び前記マッピング関数に基づいて、前記出発地から前記目的地までの前記3D周囲空間における前記脚型ロボットの前記歩行軌道を自動生成するステップと、
を有する方法。
【請求項2】
前記3D周囲空間及び前記3D平坦空間は、高次の形状関数を使用する有限要素法を用いて離散化される、請求項1に記載の方法。
【請求項3】
前記3D平坦空間は、Bスプラインセルの規則的なグリッドへと離散化され、前記3D平坦空間における各空間次元に対する前記マッピング関数が、前記高次の形状関数の線形結合を有する、請求項2に記載の方法。
【請求項4】
前記高次の形状関数はC2連続である、請求項2に記載の方法。
【請求項5】
前記第1の目的関数は、積分エネルギー尺度及び地形不一致尺度を有する、請求項2に記載の方法。
【請求項6】
前記積分エネルギー尺度は、マッピング適合性を表すように構成される、請求項5に記載の方法。
【請求項7】
前記マッピング適合性は、最小化されたときに、前記マッピング関数による前記3D平坦空間と前記3D周囲空間との間の角度の保存を最大化する、請求項6に記載の方法。
【請求項8】
当該方法は更に、前記3D周囲空間における前記周囲の地形の高さプロファイルを受信するステップを有し、前記地形不一致尺度は、前記3D平坦空間における前記平坦な地形を前記マッピング関数により前記3D周囲空間における前記周囲の地形にマッピングすることのずれを定量化するように構成され、前記周囲の地形が前記高さプロファイルによって表される、請求項5に記載の方法。
【請求項9】
前記第1の最適化手順は、ローカル最適化及びグローバル最適化の両方の反復プロセスを有する、請求項5に記載の方法。
【請求項10】
前記脚型ロボットは、複数のエンドエフェクタが取り付けられた胴体を有し、
前記脚型ロボットの前記歩行軌道は、各々が時間の関数としての、胴体位置、胴体方向、エンドエフェクタ位置、及びエンドエフェクタ力によって表される、請求項1に記載の方法。
【請求項11】
前記動作制約のセットは、幾何学的制約のセット、物理的動作制約のセット、及び力制約を有する、請求項10に記載の方法。
【請求項12】
前記物理的動作制約のセットは、前記エンドエフェクタ力と重力を前記脚型ロボットの並進及び回転に関係付けるニュートン-オイラーの方程式を有し、
前記力制約は、前記周囲の地形との前記エンドエフェクタの接触中に前記エンドエフェクタ力が摩擦円錐内にあることを要求する、
請求項11に記載の方法。
【請求項13】
前記幾何学的制約のセットは、
前記エンドエフェクタ位置が、前記3D周囲空間において前記周囲の地形上又はそれより上にあること、及び
前記エンドエフェクタ位置が、前記3D周囲空間において前記胴体位置に対して到達可能な距離のセット内にあること、
を有する、請求項12に記載の方法。
【請求項14】
前記幾何学的制約のセットは、前記3D平坦空間において、前記3D周囲空間から前記幾何学的制約のセットをプルバックすることによって表される、請求項13に記載の方法。
【請求項15】
前記物理的動作制約のセット及び前記力制約は、一定の時間インスタンスのセットにて前記第2の最適化手順の間にテストされる、請求項14に記載の方法。
【請求項16】
前記物理的動作制約のセットは、前記3D周囲空間においてプッシュフォワード形式の位置ベース重心力学モデル(PCDM)によって表される、請求項15に記載の方法。
【請求項17】
前記物理的動作制約は、組み合わせられた慣性及び位置エネルギーのミニマイザとして表される、請求項16に記載の方法。
【請求項18】
前記3D平坦空間における前記制御点のセットは、
前記3D平坦空間における前記胴体位置についての第1セットの制御点、
前記3D平坦空間における前記胴体方向についての第2セットの制御点、
前記3D平坦空間における前記エンドエフェクタ位置についての第3セットの制御点、及び
前記3D平坦空間における前記エンドエフェクタ力についての第4セットの制御点、
を有する、請求項14に記載の方法。
【請求項19】
前記第2の目的関数は、前記制御点のセットを最適化変数として使用する、請求項18に記載の方法。
【請求項20】
コンピュータ命令を格納したメモリと、
プロセッサであり、前記メモリから前記コンピュータ命令を読み取って前記コンピュータ命令を実行することで、
平坦な地形と該平坦な地形の上の狭い平坦な近傍バンドとを確立し、前記平坦な地形と前記狭い平坦な近傍バンドとで三次元(3D)平坦空間を形成し、
第1の目的関数を最小化するための第1の最適化手順を用いて、前記3D平坦空間から周囲の地形を含む3D周囲空間へのマッピング関数を自動生成し、
第2の目的関数を最小化することによる、動作制約のセットの下での第2の最適化手順を用いて、高次のスプラインを使用して、前記周囲の地形上での出発地から目的地までの脚型ロボットの歩行軌道を時間の関数としてパラメータ化するための前記3D平坦空間における制御点のセット及び時間スパンを自動生成する、
ように構成されたプロセッサと、
を有する電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2022年10月31日に出願された米国仮特許出願第63/381,663号に基づくとともに、それに対する優先権の利益を主張するものであり、それをその全体にてここに援用する。
【0002】
この開示は、概して、ロボットの設計、計画作成、制御ループに関し、特に、湾曲した地形上での脚型ロボットの接触アウェア(contact-aware)な歩行軌道最適化を記述する。
【背景技術】
【0003】
歩行軌道生成は、脚型ロボットの設計、計画作成、制御ループにおける中核コンポーネントである。脚型ロボットの物理的な動きを制御することに加えて、そうして生成された歩行軌道は、例えば、ビデオゲーム、仮想現実、拡張現実、及び他のインタラクティブアプリケーションにおいてコンピュータ生成グラフィックスをレンダリングするために使用され得る。脚型ロボットの歩行軌道の生成は通常、解を見つけることができなかったり準最適なローカルミニマムに陥ったりすることが時にしてある複雑な多変数探索空間最適化手順を伴う。
【発明の概要】
【0004】
この開示は、概して、ロボットの設計、計画作成、制御ループに関し、特に、湾曲した地形上での脚型ロボットの接触アウェアな歩行軌道最適化を記述する。
【0005】
特に、周囲空間から平坦空間への座標の変更によって接触アウェアな軌道最適化の堅牢性を向上させるために環境歪めアプローチが実装される。ここに開示される方法及び装置は、湾曲した地形を含む周囲空間を、最適化されたマッピング関数を用いて、歪められた平坦な空間に変換する。周囲空間の湾曲した地形が、歪められた空間内の平坦な表面に、対応してマッピングされる。そして、周囲空間から歪められた平坦空間へとプルバックされる決定変数を用いて、幾何学的、物理的、及び力の制約のセットの下で、歪められた空間において接触アウェアな軌道最適化手順が定式化される。決定変数は、制御パラメータのセットを持つ高次のスプラインを用いてパラメータ化される。制御パラメータのセットが、歪められた空間において最適化され、周囲空間における脚型ロボットの歩行軌道を生成するために使用される。周囲空間における歩行軌道を生成するために、歪められた空間において様々な制御点が最適化される。例えば、周囲空間からの目的関数及び様々な制約関数が歪められた空間にプルバックされる一方で、力及び回転変数が歪められた空間から周囲空間にプッシュフォワードされる。このようなアプローチは、周囲空間内のみでの最適化を伴うベースライン実装と比較して、最適解を見つけることにおいて13%から100%高い成功率を達成する。
【0006】
一部の実装例において、周囲の地形上で出発地から目的地まで移動する脚型ロボットの、時間の関数としての歩行軌道のコンピュータ生成のための方法が開示される。当該方法は、平坦な地形と該平坦な地形の上の狭い平坦な近傍バンドとを確立するステップであり、平坦な地形と狭い平坦な近傍バンドとで三次元(3D)平坦空間を形成する、ステップと、第1の目的関数を最小化するための第1の最適化手順を用いて、3D平坦空間から周囲の地形を含む3D周囲空間へのマッピング関数を自動生成するステップと、第2の目的関数を最小化することによる、動作制約のセットの下での第2の最適化手順を用いて、高次のスプラインを使用して歩行軌道をパラメータ化するための3D平坦空間における制御点のセット及び時間スパンを自動生成するステップと、3D平坦空間における制御点のセット、時間スパン、及びマッピング関数に基づいて、出発地から目的地までの3D周囲空間における脚型ロボットの歩行軌道を自動生成するステップと、を含み得る。
【0007】
上の実装例において、3D周囲空間及び3D平坦空間は、高次の形状関数を使用する有限要素法を用いて離散化される。
【0008】
上の実装例のうちいずれか一において、3D平坦空間は、Bスプラインセルの規則的なグリッドへと離散化され、3D平坦空間における各空間次元に対するマッピング関数が、高次の形状関数の線形結合を有する。
【0009】
上の実装例のうちいずれか一において、高次の形状関数はC2連続である。
【0010】
上の実装例のうちいずれか一において、第1の目的関数は、積分エネルギー尺度及び地形不一致尺度を含み得る。
【0011】
上の実装例のうちいずれか一において、積分エネルギー尺度は、マッピング適合性を表すように構成され得る。
【0012】
上の実装例のうちいずれか一において、マッピング適合性は、最小化されたときに、マッピング関数による3D平坦空間と3D周囲空間との間の角度の保存を最大化する。
【0013】
上の実装例のうちいずれか一において、当該方法は更に、3D周囲空間における周囲の地形の高さプロファイルを受信するステップを含むことができ、地形不一致尺度は、3D平坦空間における平坦な地形をマッピング関数により3D周囲空間における周囲の地形にマッピングすることのずれを定量化するように構成され、周囲の地形が高さプロファイルによって表される。
【0014】
上の実装例のうちいずれか一において、第1の最適化手順は、ローカル最適化及びグローバル最適化の両方の反復プロセスを含み得る。
【0015】
上の実装例のうちいずれか一において、脚型ロボットは、複数のエンドエフェクタが取り付けられた胴体を含むことができ、脚型ロボットの歩行軌道は、各々が時間の関数としての、胴体位置、胴体方向、エンドエフェクタ位置、及びエンドエフェクタ力によって表される。
【0016】
上の実装例のうちいずれか一において、動作制約のセットは、幾何学的制約のセット、物理的動作制約のセット、及び力制約を含み得る。
【0017】
上の実装例のうちいずれか一において、物理的動作制約のセットは、エンドエフェクタ力と重力を脚型ロボットの並進及び回転に関係付けるニュートン-オイラーの方程式を含むことができ、力制約は、周囲の地形とのエンドエフェクタの接触中にエンドエフェクタ力が摩擦円錐内にあることを要求する。
【0018】
上の実装例のうちいずれか一において、幾何学的制約のセットは、エンドエフェクタ位置が、3D周囲空間において周囲の地形上又はそれより上にあること、及びエンドエフェクタ位置が、3D周囲空間において胴体位置に対して到達可能な距離のセット内にあること、を含み得る。
【0019】
上の実装例のうちいずれか一において、幾何学的制約のセットは、3D平坦空間において、3D周囲空間から幾何学的制約のセットをプルバックすることによって表される。
【0020】
上の実装例のうちいずれか一において、物理的動作制約のセット及び力制約は、一定の時間インスタンスのセットにて第2の最適化手順の間にテストされる。
【0021】
物理的動作制約のセットは、3D周囲空間においてプッシュフォワード形式の位置ベース重心力学モデル(Position-based Centroid Dynamics Model,PCDM)によって表される。
【0022】
上の実装例のうちいずれか一において、物理的動作制約は、組み合わせられた慣性及び位置エネルギーのミニマイザとして表される。
【0023】
上の実装例のうちいずれか一において、3D平坦空間における制御点のセットは、3D平坦空間における胴体位置についての第1セットの制御点、3D平坦空間における胴体方向についての第2セットの制御点、3D平坦空間におけるエンドエフェクタ位置についての第3セットの制御点、及び3D平坦空間におけるエンドエフェクタ力についての第4セットの制御点を含み得る。
【0024】
上の実装例のうちいずれか一において、第2の目的関数は、制御点のセットを最適化変数として使用する。
【0025】
一部の実装例において、コンピュータ命令を格納したメモリと、プロセッサと、を有する電子機器が開示される。プロセッサは、実行のためにメモリからコンピュータ命令を読み取るときに、上の方法のうちいずれか一を実行するように構成される。
【0026】
一部の実装例において、コンピュータコードを格納したコンピュータ読み取り可能な非一時的記憶媒体が開示される。コンピュータコードは、電子機器のプロセッサによって実行されるときに、電子機器に上の方法例のうちいずれか一を実行させるように構成される。
【図面の簡単な説明】
【0027】
発明のいっそう完全なる理解のために、以下の説明及び添付の図面を参照する。
【
図1】歪められた平坦空間における平坦な地形にマッピングされる周囲空間における周囲の地形を横断するものとしてモデル化される脚型ロボットの一例を示している。
【
図2】本開示の方法実施形態の一例の論理及びデータフローを示している。
【
図3】接触フェーズベースの歩行軌道最適化におけるキーとなる表記の例を示している。
【
図4A】
図4A-
図4Dは、地形の周りの狭いバンド領域をマッピングする平滑関数φを用いた最適化された地形の例を示している。
【
図4B】
図4A-
図4Dは、地形の周りの狭いバンド領域をマッピングする平滑関数φを用いた最適化された地形の例を示している。
【
図4C】
図4A-
図4Dは、地形の周りの狭いバンド領域をマッピングする平滑関数φを用いた最適化された地形の例を示している。
【
図4D】
図4A-
図4Dは、地形の周りの狭いバンド領域をマッピングする平滑関数φを用いた最適化された地形の例を示している。
【
図5】
図4Aの地形上の規則的にサンプリングされた点のセットにわたる相対的な一致誤差を示している。
【
図6A】
図6A-
図6Hは、歪められた平坦空間から周囲空間へのマッピング関数を得るためのローカル-グルーバル(Local-Global)最適化法及びニュートン(Newton)最適化法の収束履歴を示している。
【
図6B】
図6A-
図6Hは、歪められた平坦空間から周囲空間へのマッピング関数を得るためのローカル-グルーバル(Local-Global)最適化法及びニュートン(Newton)最適化法の収束履歴を示している。
【
図6C】
図6A-
図6Hは、歪められた平坦空間から周囲空間へのマッピング関数を得るためのローカル-グルーバル(Local-Global)最適化法及びニュートン(Newton)最適化法の収束履歴を示している。
【
図6D】
図6A-
図6Hは、歪められた平坦空間から周囲空間へのマッピング関数を得るためのローカル-グルーバル(Local-Global)最適化法及びニュートン(Newton)最適化法の収束履歴を示している。
【
図6E】
図6A-
図6Hは、歪められた平坦空間から周囲空間へのマッピング関数を得るためのローカル-グルーバル(Local-Global)最適化法及びニュートン(Newton)最適化法の収束履歴を示している。
【
図6F】
図6A-
図6Hは、歪められた平坦空間から周囲空間へのマッピング関数を得るためのローカル-グルーバル(Local-Global)最適化法及びニュートン(Newton)最適化法の収束履歴を示している。
【
図6G】
図6A-
図6Hは、歪められた平坦空間から周囲空間へのマッピング関数を得るためのローカル-グルーバル(Local-Global)最適化法及びニュートン(Newton)最適化法の収束履歴を示している。
【
図6H】
図6A-
図6Hは、歪められた平坦空間から周囲空間へのマッピング関数を得るためのローカル-グルーバル(Local-Global)最適化法及びニュートン(Newton)最適化法の収束履歴を示している。
【
図8】
図4Aの地形についての歪め空間最適化法及びベースラインの方法の成功率を示している。
【
図9】歪め空間法及びベースラインの方法について、様々な歩行方向で10秒の軌道を生成するための計算時間の比較を示している。
【
図11】丘登り軌道最適化についての歪め空間法及びベースラインの方法のイテレーションごとの制約違反を示している。
【
図12】本開示の様々な方法実施形態を実装するための装置及びコンピュータシステム並びにその中のコンポーネントを示している。
【発明を実施するための形態】
【0028】
周囲空間における接触アウェアな歩行軌道最適化
地形内での脚型ロボットの移動は、時間の関数としてのその歩行軌道によって記述され得る。そのような地形は、一般的に湾曲していることがあり、凹凸であるときもある。脚型ロボットの移動は、物理的制約、幾何学的制約、力の制約、及び他の制約のセットに従い得る。歩行軌道の生成又はシミュレーションは、そのような脚型ロボットの設計、計画作成、及び制御ループにおける中核コンポーネントを構成する。脚型ロボットの物理的な動きを制御することに加えて、そうして生成された歩行軌道は、例えば、ビデオゲーム、仮想現実、拡張現実、及び他のインタラクティブアプリケーションにおいてコンピュータ生成グラフィックスをレンダリングするために使用され得る。脚型ロボットの歩行軌道の生成は通常、複雑な多変数探索空間最適化手順を伴う。
【0029】
歩行軌道最適化設定は、接触アウェアなものと接触アウェアでないものとに分類され得る。接触アウェアでないオプティマイザは、ロボット歩行又は制御信号のシーケンスを探索するように構成され得る。一部の実装において、接触アウェアでないオプティマイザはまた、滑らかな近似接触モデル又は確率的最適化と組み合わせたモデル予測制御を介して、接触を通じた動きを計画するように構成されることもある。しかし、これらの方法は、斜面激増に悩まされ、長い地平線上での複雑な動きを見つけることを妨げる。
【0030】
一部の実装において、複雑な接触アウェアな歩行軌道最適化が周囲空間において実行されることがある。用語“接触アウェア”は、脚型ロボットのエンドエフェクタのうちの1つと周囲の地形との間の接触による物理的な及び力の制約の考慮を説明するために使用される。例えば、接触アウェアな軌道最適化は、長い地平線上でのロボットの歩行、接触点、及び力の拡張された高次元の連合探索空間を採用し得る。このような実装は、接触の規則性を強制するために明示的な制約を使用し得る。そのような制約の例として、外部の力(重力以外)が現れることができるのはロボットが環境に触れたときのみであることが要求されることがある。この拡張された定式化を使用すると、制約が微分可能となって、局所的にサポートされることができ、そして、条件の悪い斜面に悩まされることなく、オプティマイザが多くの接触状態の変化を伴う動きを見つけることを可能にする。このような定式化の生来的な欠点は、高次元の探索空間であり、扱える計算バジェット内ではローカル最適な解を見つけることができるのみである。例となる内部ポイントオプティマイザは、高度で効率的なGPU上でも、長い軌道の全身運動を見つけるのに何時間もかかり得る。さらに、オプティマイザはしばしば、実行可能な解を見つけられなかったり準最適な動きに収束したりすることがあり、これはロボットが不必要に小さいステップを踏んだり、不安定な操作を行ったりすることに相当し得る。一般に、周囲空間におけるこのような接触アウェアな歩行軌道生成及び最適化は、特に複雑な地形形状の場合に、困難な非凸プログラミング問題であり、様々な数値アルゴリズムが解を見つけられなかったり、ローカルミニマムに陥ったりしてしまい得る。
【0031】
このような最適化の失敗は、追加の補完的制約により、接触アウェアでない場合よりも接触アウェア設定において遥かに実質的なものとなる。さらに悪いことに、
図1の周囲空間110の底面として曲線112で示されているように、起伏のある地形をロボットが横断する必要があることがある。凸凹な地形形状の存在は、目的関数及び制約関数の様相を著しく複雑にし、解決策を見つけるチャンスを更に減少させ得る。例えばマルチスタート最適化及び確率的最適化などの更なる技術が、最適化された軌道の品質を改善することはあるが、それらは、特にリアルタイムのインタラクティブアプリケーションでの歩行軌道生成の場合、長い地平線の接触アウェア設定で適用するにはコストがかかる。
【0032】
環境歪め(Environmental Warping):一般的なアプローチ
環境歪めという用語は、最適化のための歪められた空間への周囲空間の変換を指すために使用され得る。環境歪めは、サーフェス及びボリュームのパラメータ化についての技術のいっそう広いカテゴリに属する。例えば、環境歪めは、偏微分方程式を離散化して数値的に解くように、又は仮想環境における詳細な外観を生成するように設計され得る。他の一例では、環境歪めは、ロボットの運動計画作成問題における作業空間のパラメータ化で採用され得る。環境歪めは、境界要素法を用いた外部ラプラス方程式の解を介した、無限の周囲空間110のパラメータ化を当てにし得る。このような技術は通常、計算するのに時間がかかる。さらに、その解は通常、ドメイン境界自体で特異でもある境界積分として表現される。これらの特性は、このような技術を、接触アウェアな軌道最適化に適さないものとする。
【0033】
歪められた平坦空間における接触アウェアな歩行軌道最適化:全体的な実装
以下の様々なセクションで更に詳細に説明するように、この開示の実装例は、環境歪めアプローチを使用して、周囲空間から、歪められているが平坦な空間への、座標の変更によって、接触アウェアなロボット軌道最適化の堅牢性を改善する。開示される方法は、有限要素パラメータ化を用いて最適化された局所的に注入するマッピング関数を使用して、湾曲した地形の周囲空間を、平坦な地形を持つ歪められた空間へと歪ませる。マッピング関数は、周囲空間に対して可能な限り共形に生成される。そして、周囲空間から歪められた平坦空間へとプルバック(又はマッピング)される決定変数を用いて、幾何学的な、物理的な、及び力の正確性の制約のセットの下で、歪められた空間において接触アウェアな軌道最適化手順が定式化される。決定変数は、周囲空間における歩行軌道を生成するために歪められた空間において最適化される制御パラメータのセットを持つ高次のスプラインを用いてパラメータ化される。例えば、周囲空間からの目的関数及び制約関数が歪められた空間にプッシュバックされる一方で、力及び回転変数が歪められた空間から周囲空間にプッシュフォワードされる。これらの実装は、数値オプティマイザを、変化する地形形状に合うように軌道を調整することから解放し、より良い数値条件付け及びより少ないローカルミニマムにつながる。数値結果が示すことには、ここに開示される方法及び装置は、成功率及び解の品質の両方の点で、直接的な軌道最適化よりも性能が優れる。このようなアプローチは、周囲空間内のみでの最適化を伴う実装(ベースラインアプローチとして参照する)と比較して、より高品質の最適解を見つけることにおいて高い成功率を達成する。
【0034】
これらの実装例は概して、更に詳細に後述するように、湾曲した地形を含む周囲空間を歪ませるためのスムーズマップの表現を生成することと、局所的に注入する地形歪め関数を生成するための有限要素ベースの最適化手順と、接触アウェアな軌道最適化のための歪め空間定式化とを含む。具体的には、高次の連続した形状関数を使用する有限要素法を用いて、周囲空間が離散化され得る。有限要素法を採用することで、最適化において、例えば境界要素法などの他の技術よりも多種多様な目的関数を扱うことができる。例えば、以下で更に詳細に示すように、角度を保存する共形歪めは、ラプラス方程式を解くことによって生成される滑らかな歪みよりも良好に、目の前の最適化タスクに対して効果を発揮することができ、このような角度保存共形歪めは有限要素法によってのみ実現され得る。
【0035】
これらの実装例は更に、接触アウェアな軌道最適化を定式化する際に、様々なプッシュフォワード操作及びプルバック操作を使用する。複数タイプの決定変数を扱うために、3D平坦空間から3D周囲空間への滑らかなマッピング関数の連続性の順位が、それら変数の全てが勾配ベースのオプティマイザによって適切に処理されるのに十分な滑らかさであることを確保すべく決定変数の最適化に際して慎重に制御される。SO(3)におけるロボット方向を表すために、更に詳細に後述するように、周囲空間の点をSO(3)上でそれに最も近い近傍に投影する演算子も、接触アウェアな軌道最適化を定式化する際に導入され得る。
【0036】
周囲の地形内で出発地から目的地まで脚型ロボットの歩行軌道を生成するプロセスの一例を、
図2の論理及びデータフロー200に示す。更に詳細に後述するように、脚型ロボットは、複数のエンドエフェクタが取り付けられた胴体を含み得る。脚型ロボットの歩行軌道は、各々が時間の関数としての、胴体位置、胴体方向、エンドエフェクタ位置、及びエンドエフェクタ力によって表され得る。
【0037】
図2に示すように、この例の論理及びデータフロー200はステップ201で開始する。ステップ210にて、平坦な地形と、該平坦な地形の上の狭い平坦な近傍バンドとが確立される。平坦な地形と狭い平坦な近傍バンドとで三次元(3D)平坦空間を形成する。平坦な地形は、3D平坦空間の底面を構成する。更に後述するように、3D平坦空間(及び対応して、周囲の地形に関連付けられる周囲空間)は、高次の基底形状関数を使用する有限要素手順を用いて離散化され得る。例えば、3D平坦空間は、3次(tri-cubic)Bスプラインセルを表す規則的なグリッドに分割され得る。一部の実装において、高次の基底形状関数はC
2連続とし得る。
【0038】
ステップ220にて、3D平坦空間から周囲の地形を含む3D周囲空間へのマッピング関数が、第1の目的関数を最小化するための第1の最適化手順を用いて自動生成され得る。周囲の地形は事前に画成されることができ、脚型ロボットが横断する一般的に湾曲した地形であるとし得る。第1の目的関数は、例えば、積分エネルギー尺度及び地形不一致尺度を含み得る。例えば、積分エネルギー尺度は、更に詳細に後述するように、マッピング適合性を表すように構成され得る。このようなマッピング適合性は、最小化されたときに、マッピング関数による3D平坦空間と3D周囲空間との間の角度の保存の最大化を支援し得る。加えて、地形不一致尺度が、3D平坦空間における平坦な地形をマッピング関数により3D周囲空間における周囲の地形にマッピングすることのずれを定量化するように構成され得る。周囲の地形は、周囲の地形の高さプロファイルによって表され得る。故に、地形不一致尺度の最小化は、3D平坦空間における平坦な地形を、周囲空間における所定の湾曲した周囲の地形(高さプロファイルによって表される)に可能な限りマッピングする助けとなる。また、ステップ220での第1の最適化手順は、更に詳細に後述するように、ローカル最適化及びグローバル最適化の両方の反復プロセスを含み得る。
【0039】
ステップ230にて、第2の目的関数を最小化することによる、動作制約のセットの下での第2の最適化手順を用いて、高次のスプラインを使用して歩行軌道をパラメータ化するための3D平坦空間における制御点のセット及び時間スパンが自動生成され得る。例えば、動作制約のセットは、以下に限られないが、幾何学的制約のセット、物理的動作制約のセット、及び力制約を含んだ、複数の異なるタイプの制約が含み得る。物理的動作制約のセットは、例えば、エンドエフェクタ力と重力を、外部の力によって駆動される脚型ロボットの並進及び回転に関係付けるニュートン-オイラーの方程式によって表され得る。力制約は、例えば、周囲の地形とのエンドエフェクタの接触中にエンドエフェクタ力が摩擦円錐内にあることを要求し得る。
【0040】
幾何学的制約のセットは、例えば、エンドエフェクタ位置が、3D周囲空間において周囲の地形上又はそれより上にあることと、エンドエフェクタ位置が、3D周囲空間において胴体位置及び/又は方向に対して到達可能な距離及び/又は方向のセット内にあることと、を要求し得る。換言すれば、ロボットのエンドエフェクタが周囲の地形の中を通ることができないことと、ロボットのエンドエフェクタがロボットの胴体から延び離れることができる範囲に関して制限があることとが要求され得る。
【0041】
上の第2の最適化手順で、幾何学的制約のセットは、3D平坦空間において、3D周囲空間から幾何学的制約のセットを、プルバック演算子のセットを用いてプルバックすることによって表され得る。また、物理的動作制約のセット及び力制約は、全ての時間インスタンスではなく一定の時間インスタンスのセットにて、第2の最適化手順の間にテストされ得る。従って、物理的動作制約のセット(ニュートン-オイラーの方程式に基づく)は、回転軌道がC2連続であること(上述した、そして更に後述する、前述の3次基底関数を用いて離散化されたマッピング関数によって常に達成可能であるとは限らない)を要求することになる3D平坦空間へのプルバックを回避するために、3D周囲空間においてプッシュフォワード形式の位置ベース重心力学モデル(Position-based Centroid Dynamics Model,PCDM)によって表され得る。一部の実装例において、物理的動作制約は、組み合わせられた慣性及び位置エネルギーのミニマイザとして表され得る。
【0042】
一部の実装例において、3D平坦空間における制御点のセットは、3D平坦空間における胴体位置についての第1セットの制御点と、3D平坦空間における胴体方向についての第2セットの制御点と、3D平坦空間におけるエンドエフェクタ位置についての第3セットの制御点と、3D平坦空間におけるエンドエフェクタ力についての第4セットの制御点とを含み得る。一部の実装例において、第2の目的関数は、制御点のセットを最適化変数として使用し得る。
【0043】
ステップ240にて、3D平坦空間における制御点のセット、時間スパン、及びマッピング関数に基づいて、出発地から目的地までの3D周囲空間における脚型ロボットの歩行軌道が自動生成され得る。
【0044】
最後にステップ250にて、脚型ロボットの胴体及びエンドエフェクタの動きを示すグラフィックスが、歩行軌道に基づいて生成され、見るために表示され得る。
【0045】
上の様々なステップ例の詳細な説明を、以下にて更に提供する。
【0046】
接触アウェアな軌道最適化:ロボット軌道表現
以下の開示では、別段の断りがない限り、行列、関数、及び定数には大文字の文字及び記号を使用し、スカラー及びベクトルには小文字の文字及び記号を使用する。例えば位置ベクトル及び力ベクトルなどのベクトルは、関連する空間次元におけるその成分を暗黙的に含む。以下の例では、脚型ロボットの説明の表現及びパラメータ化の例として、異なるフェーズの動きに依存する段階的な空間定式化を使用することがある。
【0047】
図1及び
図3に示すように、周囲空間110内の周囲の地形112を横断する脚型ロボット118は、方向軌道R(t)及び並進軌道p(t)を持つ導体302と、複数のエンドエフェクタ(又は脚)とを含むものとしてモデル化され得る。例えば、ロボットは、接触力f
i(t)を働かせるp
i(t)に位置するE個のエンドエフェクタを持ち、ここで、i=1,…,Eは特定のエンドエフェクタを表し、t∈[0,T]は時間変数である。胴体位置軌道p(t)は、
図1のサイドラベル118に沿って示されるように、
【数1】
と表記される制御点c
pを持つ高次のスプラインを用いてパラメータ化され得る。胴体方向は、3つのオイラー角θを用いて表され、代わってそれが、
図1のサイドラベル118に沿って示されているように、
【数2】
と表記される制御点c
Rを持つ高次のスプラインを用いてパラメータ化される。
【0048】
フェーズベースの定式化の鍵となるものは、p
i(t)及びf
i(t)の交互のパラメータ化を含む。
図3の右側のグラフに示すように、横軸は時間を表し、縦軸は位置(上のグラフ)又は力(下のグラフ)のいずれかを表し、各ロボット接触軌道が、静止(static)フェーズ320及びスイング(swing)フェーズ310の交互シーケンスに分割され得る。静止フェーズ320の間、p
i(t)は地面上で静止したままであり(静止フェーズ中は時間に伴って変化しない)、f
i(t)は非ゼロであることができ、スイングフェーズ310の間、p
i(t)は地面の上で自由に動くことができるがf
i(t)はゼロでなければならない。結果として、追加の制約を必要とせずに、位置-力の相補性が暗黙的にエンコードされ得る。このようなパラメータ化は、高次のスプラインの2つの交互シーケンスによって実現されることができる。
【0049】
一部の実装例において、全ての時間スパンが正であって合計がTになるという制約の下で各静止フェーズ及び各スイングフェーズの時間スパンを追加の決定変数として扱うことにより、柔軟性が更に向上され得る。i番目の接触点及び力シーケンスの制御点と時間スパンが、それぞれ、c
i
p及びc
i
f’として表され得る。結果として、3つの空間次元の各々におけるエンドエフェクタは並進軌道が、時間ノット(時間スパン)で区切られた複数のセグメントに分割され、各セグメントが、そのセグメントに近い制御点と、
【数3】
と表されるスプライン基底関数と、によって決定され得る。同様に、その制御点を持つ力軌道が、
【数4】
と表され得る。全ての決定変数の連結が、
【数5】
と表記され得る。
【0050】
接触アウェア軌道最適化:周囲空間における最適化制約
周囲空間で表現されるベースライン歩行軌道最適化定式化の例は、次の形式を取り得る:
【数6】
【0051】
上の定式化例は、最適化の定式化(式(1))と、物理的、幾何学的、力の正確性を確保する3つのタイプの完全性制約(式(2)-式(5))との両方を含んでいる。これらの異なるタイプの制約を、それぞれ、物理的制約若しくは物理制約、幾何学的制約、及び力制約若しくは力の正確性制約として参照する。
【0052】
式(2)の物理的制約は、ロボット胴体がニュートン-オイラーの運動方程式に従うことを保証し、ここで、Iは慣性テンソルを表し、ω(t)はロボットの角速度であり、どちらも局所的基準系で測定される。記号mはロボット胴体質量を表し、gは重力係数を表す。一部の実装において、式(2)の物理的制約は、全ての時間インスタンスではなく、一定の時間間隔又は離散的な集合Tdとして表記される時間インスタンスでテストされ得る。
【0053】
幾何学的に、ロボット環境又は周囲の地形は、高さフィールドh(x,y):R2→Rとしてモデル化されることができ、対応する三次元(3D)周囲空間の地平線近くの点をその鉛直地面高さにマッピングし得る。式(3)の幾何学的制約は、ロボットのエンドエフェクタが静止フェーズ中に高さフィールドと接触することを示している。スイングフェーズの間、エンドエフェクタは地形の中を通ることはできない。一部の実装において、式(3)の幾何学的制約は、離散的な時間インスタンスのセットTi
static及びTi
swingでテストされ得る。フェーズ変化のタイミングは最適化され得るので、Ti
static及びTi
swingはci
pの関数である。
【0054】
さらに、他の幾何学的制約として、各ロボットのエンドエフェクタp
iは、
図3に306として示すように、胴体に対して到達可能なセットR
i内になければならない。このような幾何学的制約は、式(4)で定式化され、例えば、式(2)の幾何学的制約についてと同じ一定の時間インスタンスの集合T
dでテストされ得る。
【0055】
式(5)の力制約は、各静止フェーズ中に接触力が摩擦円錐内にあることを要求しており、ここで、νは摩擦係数を表し、同じ時間インスタンスのテスト集合T
dである。n(t)は、
【数7】
として計算される地形の法線方向を表す。
【0056】
最適化の定式化において、演算子“argmin”は最小化最適化を表す。目的関数E(c)は、制御タスクを定式化する追加のコスト関数を含んでもよい。式(1)は、例えば勾配ベースのオプティマイザによって解かれ得る。そのような勾配ベースの最適化ソルバは、全ての目的関数及び制約関数が少なくとも微分可能であることを要求し得る。結果として、上の制約における高さフィールドは十分に滑らかであるべきである。一部の実装において、そのような十分な滑らかさは、更に詳細に後述するように、高さフィールドをスプラインパッチによりフィッティングすることによって達成され得る。
【0057】
接触アウェアな軌道最適化:有限要素環境歪め関数定式化
3D平坦空間から3D周囲空間へのマッピング関数の例を、以下の開示にて更に詳細に説明する。
図1に示すように、3D周囲空間110をAとして参照し、3D平坦空間(又は歪められた空間)120をFとして参照することがある。プルバック演算子は、滑らかなマッピング関数を介して一方の多様体から他方へ関数(オペランドとして)をマッピングする演算子として参照され得る。ここに開示される最適化方法は、周囲空間A 110から歪められた空間F 120への、式(1)の最適化定式化に関するマッピング関数φに基づくプルバック演算子として解釈され得る。滑らかなマッピング関数φの例については後述する。次にプルバック演算子が定式化される。
【0058】
一部の実装例において、周囲空間全体を歪ませるものである外部ラプラス方程式の解を再サンプリングするためにA空間の正規グリッドを使用するのではなく、
図1に140で示すように、地形h(x,y)の上の狭いバンド近傍のみを離散化するF空間の正規グリッドが使用され得る。
【0059】
一部の実装例において、滑らかなマッピング関数φの構築のための形状関数として、3次Bスプライン基底が使用され得る。例えば、F空間グリッドは、N
x×N
y×N
zの3次Bスプラインセルと、(N
x+3)×(N
y+3)×(N
z+3)制御点(例えば、各セグメントに4つの制御点を持つ滑らかなマッピング関数のN個の曲線セグメントの各々を決定するため)とを含み得る。i=1,…,N
x+3、j=1,…,N
y+3、k=1,…,N
z+3として、各制御点が、ψ
ijkと表記される3Dマッピングされた点と、形状関数Bijk(x):R
3→Rとに関連付けられ得る。任意のx∈[0,N
x]×[0,N
y]×[0,N
z]について、スムーズマップφ(x)が、
【数8】
として定義され得る。
【0060】
F空間からA空間へのプッシュフォワード演算子を定式化するのに使用するために、さらに、
【数9】
と表記されるヤコビ行列が定義され得る。上で構築されたスムーズマップが幾つかの特性を授けて、これを、接触アウェアな軌道最適化におけるプッシュフォワード演算子とプルバック演算子を定義するのに適したものとする。第1に、形状関数B(x)は4×4×4の近傍グリッド上でのみ非ゼロの値で局所的にサポートされるだけであるため、φを効率的に計算することができる。第2に、形状関数、ひいては、φ(x)は、R
3全体でC
2連続である。更に後述するように、C
2連続性は上の全ての制約が明確なヤコビ行列を持つのにちょうど十分である。第3に、狭いバンド近傍のみが離散化されるが、φ(x)はそのような狭いバンドの外側で明確であり微分可能である。この特性は、解が一時的に実行可能ドメイン外となることを許すものである実現不可能な最適化アルゴリズムとともに使用される場合に重要である。
【0061】
接触アウェアな軌道最適化:歪め関数最適化
上の歪め関数は、φを決定するための形状関数の線形結合の係数を定義する制御点のセットを得るために、第1の最適化手順によって最適化され得る。この第1の最適化手順の例を以下で更に詳細に説明する。
【0062】
上の有限要素法は、φを得るための最適化手順における決定変数として制御点ψ
ijk関数を用いてマッピング関数φをパラメータ化する。一部の実装例において、制御点ψ
ijkは以下の積分エネルギー:
【数10】
のミニマイザとして定義され、ここで、ρはエネルギー密度関数を表す。実際には、一般的な解析関数ρに対して上の積分を評価することは扱いにくいものであり得る。従って、近似のために代わりにガウス求積法を使用し得る。既知の基本解を持つρのみを扱うことができるものである境界要素法とは異なり、有限要素法は、ρを選択することにおいて遥かに大きな柔軟性を可能にする。例えば、ρがディリクレエネルギーとして選択される場合、ラプラス方程式がリカバーされ得る。代わりに、ロボットの向きを表す必要があるため、φが角度を保存することが最良であり得る。換言すれば、プッシュフォワード演算子はSO(3)の下で閉じられ得る。この特性を持つスムーズマップは等角マップと表記される。完全に等角なマップは3Dで実行可能でないが、最適化手順がφを可能な限り等角にするために、次のエネルギー:
【数11】
を使用し得る。
【0063】
上のエネルギー定式化では、ヤコビアンの特異値分解(SVD)をJ=UΣVTと表記し、i番目の特異値をΣiと表記している。上の第2項は、ヤコビアンが正の特異値を持つこと、及びスムーズマップφが局所注入的であることを保証する。上の記号μは対数障壁(log-barrier)関数の小さな正の重みを表す。
【0064】
第1の最適化手順の幾何学的制約として、マッピングされた空間Aの底面は、所与の周囲の地形h(x,y)にアライメントされるべきである。これは、追加のエネルギー目的に含められ得る。これは、地形マッチング目的関数:
【数12】
を用いて達成され、ここで、φ
i(x)はφ(x)のi番目の要素である。一部の実装例において、上の積分はまた、ガウス求積法を使って近似され得る。
【0065】
上の両方の目的を考慮して、滑らかなマッピング関数φを定義するための制御点を決定するために、上の第1の最適化手順の第1の目的関数を:
【数13】
と定義する。
【0066】
一部の実装例において、以下の技術を用いて最適なφ
*
ijkを解き得る。例えば、μ=0である場合、この最適化は、以下のアルゴリズム1における最適化アルゴリズム例によって示されるように、交互ローカル-グローバル方式にて解くことができる。アルゴリズム1の例は、ローカル条件とグローバル条件との両方を考慮に入れる反復的な最適化手順を伴う。アルゴリズム1の例は、イテレーションの間にエネルギーが単調に減少するので、収束することが保証される。この方法は、φ
ijkに対するUV
T|Σ|
1/3及びh(φ
0(x),φ
1(x))の勾配を無視し、左辺が固定された二次目的関数をもたらす。結果として、ヘッシアン行列を一度だけ因数分解すればよく、イテレーションコストが極めて低くなる。最適化されたマップの一部の例を
図4A-
図4Dに示す。
【数14】
【0067】
しかし、μ>0である場合、J(x)が正の特異値Σiを持つ実行可能ドメイン内にあることを保証するために、完全なガウス-ニュートン技法が明示的な線探索と共に使用され得る。
【0068】
歪められた空間における接触アウェアな軌道最適化
スムーズマップφが決定されると、次いで、それを用いてA空間からF空間への、式(1)-式(5)の各制約についてのプルバック演算子を定義することができる。以下の開示では、歪められた空間Fにおける変数を表記するために、文字の上のバー記号(-)を使用する。歪められた空間の軌道最適化及び制約は、次のように定式化される:
【数15】
【0069】
ここでも、上の制約は幾何学的制約、物理的制約、及び力制約の両方を含む。これらの制約の各々定式化を、以下で更に詳細に説明する。
【0070】
エンドエフェクタ位置シーケンスp
i(t,c
i
p)がA(
図1の110)内の所定の地形上にあることに対応する式(3)の幾何学的制約に関して、
図1のロボットのエンドエフェクタ124の横に沿って示すように、Fにおける歪められた空間位置シーケンス:
【数16】
が導入され得る。地形がF 140内のz=0平面にマッピングされ、スプライン:
【数17】
はその制御点:
【数18】
で線形であるため、位置正確性制約も式(8)の線形な形態をとる。
【0071】
Aにおける式(5)の力正確性制約に関して、A内の
【数19】
におけるf
i(t,c
i
f)に対応して、
図6の辺126に沿って示すように、接線空間:
【数20】
における力シーケンス:
【数21】
がFにおいて定義され得る。力シーケンス:
【数22】
は、
プッシュフォワード演算子:
【数23】
を介してT
Aにマッピングされる。
【0072】
同様に、法線方向が、
【数24】
としてT
Aにマッピングされる。
【0073】
これらのプッシュフォワード演算子を式(5)に差し込むと、Fにおける力正確性制約のプルバックを得ることができる。しかし、(上述のように)φが可能な限り等角にされるとき、より簡潔な形態の制約を導出することができる。この場合、ヤコビアン:
【数25】
は、スケーリングされた回転行列:J≒UV
T|Σ|
1/3に近くなる。式(5)におけるこのような近似でJを置き換えることにより、Fにおける制約の式(9)を導出することができる。このような制約は、法線方向zが定数であり、
【数26】
においてスプライン:
【数27】
が線形であるため、凸となり得る。このような制約は、オプティマイザによって、非凸な式(5)よりも効率的に処理されることができる。スムーズマップは完全に等角ではないので、式(9)は正確なプルバック演算子ではないが、その差は、
図5に示すようにかなり小さくなり得る。
図5は、Jの最大の特異値(σmax)と最小の特異値(σmin)との間の相対的な差によって推定される、
図4Aの地形例上の規則的にサンプリングされた点のセットにわたる相対的な一致誤差を示すものである。
図5は、殆どのサンプル点が5%未満の誤差を持つこと、及びこの例での平均誤差が7.8%であることを示している。
【0074】
ロボットの胴体位置p(t)及び方向R(t)に対するロボットのエンドエフェクタの延在範囲又は到達可能性に関与する第2の幾何学的制約に関係する式(4)の幾何学的制約に関して、以下のプルバック形態を導出することができる。胴体位置について、Fにおけるシーケンス:
【数28】
が導入され得る。方向Rをプッシュフォワードするために、Jv∈T
Aへと持っていかれる任意のベクトルv∈T
Fを考えることができる。方向Rは3つの直交するベクトルの行列として考えることができ、これがプッシュフォワード演算子の下でJRに持っていかれる。しかしながら、一般に行列JRは、
【数29】
である。従って、追加の射影演算子Pが導入され得る。J∈R
3×3を与えられると、P(J)がJを、次の最適な意味:
【数30】
で、SO(3)の最も近い要素にマッピングし得る。
【0075】
上の最適化は、射影及びその導関数の効率的な計算につながる以下の特性を持つ。行列JのSVD分解をJ=UΣV
Tとする。射影演算子は閉形式の解P=UV
T|UV
T|を持つ。任意のR∈SO(3)について、P(JR)=P(J)Rである。Pの閉形式ヤコビアンは:
【数31】
のように導出されることができ、ここで、αはJの任意の変数を表し、[●]×
-1は逆外積演算子であり、[●]×
-1×=●となる。
【0076】
上記の射影演算子Pを用いて、Fにおけるロボットの胴体回転シーケンスが、
【数32】
として定義され得る。
【0077】
換言すれば、先ず、オイラー角を用いてFの回転を定義し、それを、
【数33】
のある要素にプッシュフォワードすることができ、そして、それがSO(3)に射影され返す。スムーズマップφはC
2連続である。回転R(t)及び力f
i(t)は既にヤコビアンJに依存している。また、R(t)及びf
i(t)はC
1連続であるのみである。式(4)の到達可能性制約に式(13)を差し込むと、式(10)におけるそのプルバック形態
を導出することができ、それは明確なヤコビアンを持つ。
【0078】
しかしながら、Fにおける式(2)の物理的制約に関しては、更に後述するように、プルバックがもっと入り組んだものとなり得る。
【0079】
歪められた空間における接触アウェアな軌道最適化:物理的制約についての位置ベース重心力学モデル
Aにおけるニュートン-オイラーの方程式(2)の物理的制約が、式(10)の幾何学的制約のプルバック形態と同様に、Fにプルバックされ得る。しかし、このようなプルバック制約は、制約ヤコビアンを計算するときにR(t)がC2連続であることを必要とすることになるが、それは、上述のように3次基底関数を使用して離散化されたφによって常に達成され得るとは限らない。十分な滑らかさを得るために、1つの選択肢は4次基底関数を使用することであるが、これは、と同様に、スムーズマップ最適化手順及び全ての制約評価の計算オーバーヘッドを大幅に増加させ得る。
【0080】
一部の実装例において、Fにおける物理的制約を扱うために、位置ベース重心力学モデル(PCDM)を使用することができる。このようなアプローチは、C2連続ではなくC1連続のみを必要とすることになる。
【0081】
物理的制約は、上述のように一定の間隔t∈T
dでテストされるので、サンプリング間隔は、次の略記法:
【数34】
を用いてΔtと表記され得る。
【0082】
上の表記において、●は任意の変数である。PCDMは、時間インスタンスtにおける物理的に正しい設定が、次の組み合わせられた慣性及び位置エネルギー:
【数35】
のミニマイザであると仮定し、ここで、Ωはロボット胴体がその基準座標系で占める体積である。
【0083】
時間依存性に関して、PCDMはニュートン-オイラーの方程式を極限Δt→0で以下:
【数36】
のように近似することを示すことができ、ここで、wは、a×b×c+b×c×a+c×a×b=0のベクトルアイデンティティであり、以下を用いる:
【数37】
【0084】
勾配をSE(3)の接線バンドルで0であるように設定することにより、R(t)、p(t)がC1連続であることのみを必要とする、式(11)を支配するPCDMを導出することができる。式(11)の積分は、慣性テンソルと同じようにして評価することができる。従って、スムーズマップφについての3次基底関数は、式(7)の全ての制約が明確なヤコビアンを持つのにちょうど十分である。一部のオプティマイザは、低ランク近似を介して計算されるラグランジュ関数のヘッシアンを必要とする。
【0085】
上の全ての制約により、式(7)に従った最適化を行って、Fにおける様々な制御点を生成することができ、そして、Aにおける位置、回転、及び力の軌道を生成するために、それらをAにマッピングすることができる。
【0086】
歪められた空間における接触アウェアな軌道最適化:評価
ベースラインの最適化(式(1))と定式化し直した最適化(式(7))の両方を行って、最適化品質と首尾よく見つけられることとの両方における歪め空間最適化の有効性を評価する。比較の公平性のために、ベースライン定式化の物理的制約としてもPCDMを使用する。全ての実験を、ANYmalロボットモデルを用いた模擬環境で行う。到達可能な最大の矩形セットを抽出し、Riとして使用する。
【0087】
一例として、Knitroパッケージをオプティマイザバックエンドとして使用する。最大イテレーション回数を200に設定し、5回の連続したイテレーションで最大制約違反が10-4より少ないか、相対的な解の変化が10-4より小さい場合に、オプティマイザが早期に終了するように構成する。全ての実験を、6コアのIntel i7-10750H CPUと8Gbメモリとを備えたデスクトップマシンで実行する。マルチスレッドを用いて、制約及びそれらのヤコビアンの計算を加速させる。各種パラメータをT=10s、ν=0.75、及びΔt=0.05sとして設定する。位置、方向、及び力を含む全ての軌道を、3次Bスプラインを用いて離散化する。全ての例にわたっての平均で、歪められた空間を含むアプローチを用いて、10秒分の軌道を約1分以内に計算することができる。
【0088】
スムーズマップφ最適化(式(6))の性能を最初にプロファイリングし、
図4A-
図4Dの地形を用いて、ローカル-グローバル(アルゴリズム1)アプローチとニュートンのアプローチとの2つの解を比較する。
図6A-
図6Hに示されるように、ローカル-グローバルアプローチは、ニュートンのアプローチよりも遥かに速く収束する。具体的には、
図6A、
図6C、
図6E、及び
図6Gは、
図4A-
図4Dについて、最小化されたエネルギーを計算時間の関数として示しており、
図6B、
図6D、
図6F、及び
図6Hは、対応する最小化されたエネルギーを最適化イテレーションの回数の関数として示している。ローカル-グローバルアプローチは非注入的なマップを生成し得るが、このアーチファクトは
図4A-
図4Dのベンチマークでは観察されていない。従って、一部の実装では、ローカル-グローバルアプローチを最初に使用し、ローカル-グローバルアプローチでの注入性が犯される場合にのみ、よりコストのかかるニュートンの方法に立ち戻る。殆どの例で、スムーズマップφを200秒以内に最適化することができる。ロボットが狭いバンドの周囲空間から離れないことを確保するために、
図4A-
図4Dに例示されるように、バンド厚さを、静止姿勢でのロボット高さの5倍となるように十分に設定している。
【0089】
第1のベンチマーク(
図7A及び
図7B)は波打った地形(
図4A)を使用する。ロボットをこの地形の中心(0,0)で初期化し、そして、地形のサイズの半分をrとして、ロボットが地平線上の点(rsinθ/2,rcosθ/2)まで移動するように設定する。このターゲット位置はXY平面上のハード制約として付加される。θは、0°から360°まで15°の間隔でサンプリングする。各θに対して、最大200回のイテレーションで最適化を実行し、イテレーションごとの制約違反を
図8にプロットする。200回のイテレーション以内に最大制約違反数が10
-4未満になれば、軌道を成功と見なす。この基準の下で、歪め空間アプローチ(
図7A及び
図8の左側)は92%の成功率を達成し、これは、ベースラインの定式化(
図7B及び
図8の右側)を用いての48%よりも大幅に高い。
【0090】
これら2つの方法の計算オーバーヘッドを
図9で更に比較する。
図9では、各ペアのバーのうち左側のバー及び右側のバーが、それぞれ、歪め空間アプローチ及びベースラインアプローチについてである。
図9に示されるように、1-2の歩行方向を除いて、歪め空間法は、より少ないイテレーションで収束することにより、より低い計算オーバーヘッドを被る。
【0091】
第2のベンチマーク(
図7C)は、
図4Bの円錐地形を使用する。ロボットがより長い距離を歩行する必要があるようにロボットを水平方向で(-rsinθ/2,-rcosθ/2)で初期化することを除いて、他の全ての設定は第1のベンチマークと同じままとする。このいっそうチャレンジングなケースでは、ここに開示される歪め空間アプローチを用いての100%と比較して、ベースラインの定式化が達成する成功率は0%である。
【0092】
第3のベンチマーク(
図10A)は、
図4Cの丘陵地形を使用する。中央での丘の傾斜はかなり急である。従って、ロボットの2本の前足を吸盤でモデリングして、摩擦円錐制約のうち2つを除去して粘着力を加えることを可能にすることにより、ロボットが丘を登ることを許す。一例として、上り坂の15個のターゲット位置を均一にサンプリングする。歪め空間アプローチ及びベースラインアプローチの成功率は、それぞれ、100%及び0%である。実際、急激に変化する地形を低次の多項式曲線でフィッティングすることは困難であるが、歪め空間アプローチは、歪められた空間内の直線が周囲空間における環境と揃うことを可能にする。1つの軌道の平均でのイテレーションごとの制約違反を
図11にプロットしている。
【0093】
同様に、第4のベンチマーク(
図10B)は、
図4Dの地形を使用し、この地形は中央に深い穴を持ち、
図4Cの丘のものよりも遥かに急な崖がある。一例として、穴の外側の15のターゲット位置を均一にサンプリングする。ベースラインを用いての0%と比較して、歪め空間法は13%の成功率を達成している。
【0094】
ここに開示された歪め空間アプローチ及びベースラインアプローチの双方の、上の様々な成功率を表1にまとめている。
ハードウェアプラットフォーム
【表1】
【0095】
ハードウェアプラットフォーム
上述の技術は、任意の電子機器内の具体的に設計されたプロセッサ及びメモリを用いて実装されることができ、あるいは、1つ以上のコンピュータ読み取り可能媒体に物理的に格納された、コンピュータ読み取り可能命令を用いたコンピュータソフトウェア又はファームウェアとして実装されることができる。例えば、
図12は、開示に係る事項の実施形態を実装するのに好適な電子機器又はコンピュータシステム(1200)を示している。
【0096】
コンピュータソフトウェア又はファームウェアは、アセンブリ、コンパイル、リンク、又は同様の機構に掛けられることで、直接的に又はインタープリット、マイクロコード実行及びこれらに類するものを介して1つ以上のコンピュータ中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、FPGA、専用処理ユニット、及びこれらに類するものによって実行されることが可能な命令を有するコードを作り出し得るような、任意の好適な機械コード又はコンピュータ言語を用いてコーディングされ得る。
【0097】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、及びこれらに類するものを含め、様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0098】
コンピュータシステム(1200)に関して
図12に示したコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能性の範囲についての何らかの限定を示唆する意図はない。また、コンポーネントの構成も、コンピュータシステム(1200)のこの例示的な実施形態に示されたコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性又は要件も持つものとして解釈されるべきでない。
【0099】
コンピュータシステム(1200)は、入力インタフェース装置を含み得る。そのような入力インタフェース装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブを動かすことなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャなど)、嗅覚入力(図示せず)を介した、一人以上のユーザによる入力に応答し得る。入力インタフェース装置はまた、例えばオーディオ(例えば、会話、音楽、周囲の音など)、画像(例えば、走査画像、静止画カメラから得られる写真画像など)、映像(例えば、二次元映像、立体視映像を含む三次元映像など)などの、人間による意識的な入力には必ずしも直接関係しない特定の媒体を捕捉するために使用されてもよい。入力インタフェースは、上記の砂水シミュレーションのためのパラメータ及びコマンドを入力するため、又は上記の砂水シミュレーションに基づいて生成された様々なグラフィックスをインタラクティブに制御するために使用され得る。
【0100】
入力インタフェース装置は、キーボード(1201)、マウス(1202)、トラックパッド(1203)、タッチスクリーン(1210)、データグローブ(図示せず)、ジョイスティック(1205)、マイクロフォン(1206)、スキャナ(1207)、カメラ(1208)(各々1つのみ図示している)のうちの1つ以上を含み得る。
【0101】
コンピュータシステム(1200)はまた、特定の出力インタフェース装置を含み得る。そのような出力インタフェース装置は、例えば、触覚出力、音、光、タッチ、臭い/味、及びこれらに類するものを通して、ユーザの感覚を刺激するように構成され得る。そのような出力インタフェース装置は、触覚入力・出力コンビネーション装置(例えば、タッチスクリーン(1210)、データグローブ(図示せず)、又はジョイスティック(1205)による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置もあってもよい)、オーディオ出力装置(例えば、スピーカー(1209)、ヘッドフォン(図示せず)など)、視覚出力装置(例えば、以下に限られないが、CRTディスプレイスクリーン、LCDディスプレイスクリーン、プラズマディスプレイスクリーン、OLEDスクリーン、及び投影ディスプレイを含むスクリーン(1210)(各々がタッチスクリーン入力機能を有する又は有さない。各々が触覚フィードバック機能を有する又は有さない。これらの一部は、二次元の視覚出力、又は例えば立体視グラフィック出力などの手段を通じて三次元の出力を出力することができるとし得る。)、仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)などを含み得る)。出力インタフェース装置は、例えば二次元又は三次元プリンタなどの他の装置(図示せず)を含んでもよい。
【0102】
コンピュータシステム(1200)はまた、例えば、CD/DVD若しくは類似の媒体(1221)を有するCD/DVD ROM/RW(1220)を含む光媒体、サムドライブ(1222)、取り外し可能なハードドライブ若しくは又はソリッドステートドライブ(1223)、例えばテープ及びフロッピーディスク(登録商標、図示せず)などのレガシー磁気媒体、例えばセキュリティドングルなどの特殊化されたROM/ASIC/PLDベースの装置(図示せず)、及びこれらに類するものなどの、非一時的なストレージ装置及びそれらの関連媒体を含み得る。当業者がこれまた理解するはずのことには、ここでの開示に係る事項に関連して使用される用語“コンピュータ読み取り可能媒体”は、伝送媒体、搬送波、又は他の一時的な信号を含まない。
【0103】
コンピュータシステム(1200)はまた、1つ以上の通信ネットワーク(1255)へのインタフェース(1254)を含み得る。ネットワークは、例えば、無線、有線、光とし得る。ネットワークは更に、ローカル、広域、大都市、車両及び産業、リアルタイム、耐遅延などとし得る。ネットワークの例は、例えばイーサネット(登録商標)などのローカルエリアネットワークや、無線LANや、GSM、3G、4G/LTE、5Gネットワーク、及びこれらに類するものを含むセルラネットワークや、ケーブルTV、衛星TV、及び地上波放送TVを含むTV有線又は無線広域デジタルネットワークや、CANbusを含む車両及び産業などを含む。コンピュータシステム(1200)は、コンピュータシステム(2600)の汎用データポート又はペリフェラルバス(1249)(例えば、USBポートなど)に取り付けられるネットワークインタフェースアダプタを介して様々な外部ネットワークに接続され得る。ネットワークインタフェースは、代わりに、後述するようなシステムバスを介してコンピュータシステム(1200)のコアに統合されてもよい(例えば、イーサネット(登録商標)インタフェース又はセルラー通信インタフェースがPCコンピュータシステム又はスマートフォンコンピュータシステムに集積され得る)。これらの通信ネットワークのいずれかを使用して、コンピュータシステム(1200)は他のリモート電子機器と通信することができる。そのような通信は、単方向(例えば、受信のみ(例えば、放送TV)、又は送信のみ(例えば、特定のCANbus装置に対するCANbus)であってもよいし、双方向(例えば、ローカル又は広域デジタルネットワークを用いた他のコンピュータシステムに対しての受信及び送信の両方)であってもよい。ネットワーク通信を達成するために、それらのネットワーク及びネットワークインタフェースの各々で一群のプロトコル及びプロトコルスタックが使用され得る。
【0104】
前述の入力及び出力インタフェース装置、ストレージ装置、及びネットワークインタフェースは、コンピュータシステム(1200)のコア(1240)に取り付けられることができる。
【0105】
コア(1240)は、1つ以上の中央演算処理ユニット(CPU)(1241)、グラフィックス処理ユニット(GPU)(1242)、フィールドプログラマブルゲートアレイ(FPGA)(1243)の形態の特殊なプログラム可能なプロセッシングユニット、特定のタスク用のハードウェアアクセラレータ(1244)、グラフィックスアダプタ(1250)、及びこれらに類するものを含み得る。これらのデバイスは、読み出し専用メモリ(ROM)(1245)、ランダムアクセスメモリ(1246)、例えば内部のユーザアクセス可能でないハードドライブ、SSDなどの内部大容量ストレージ(1247)、及びこれらに類するもの(1247)と共に、システムバス(1248)を介して接続され得る。一部のコンピュータシステムにおいて、システムバス(1248)は、追加のCPU、GPU、及びこれらに類するものによる拡張を可能にするために、1つ以上の物理コネクタの形態でアクセス可能にされ得る。周辺装置は、コアのシステムバス(1248)に直接的に、又はペリフェラルデータバス(1249)を介して、のいずれで取り付けられてもよい。一例において、ディスプレイスクリーン(1210)はグラフィックスアダプタ(1250)に接続されることができる。ペリフェラルバスのアーキテクチャは、以下に限られないが、PCI、USB、及びこれらに類するものを含み得る。CPU(1241)、GPU(1242)、FPGA(1243)、及びアクセラレータ(1244)は、前述のコンピュータコードとしてのコンピュータ命令を実行し得る。そのようなコンピュータコードは、ROM(1245)又はRAM(1246)に格納され得る。RAM(1246)には中間的な処理データも格納されることができ、永久的なデータは、例えば内部大容量ストレージ(1247)に格納されることができる。メモリデバイスのいずれかへの高速な記憶及びそれからの取り出しが、キャッシュメモリの使用によって可能にされ得る。キャッシュメモリは、1つ以上のCPU(1241)、GPU(1242)、大容量ストレージ(1247)、ROM(1245)、RAM(1246)、及びこれらに類するものと集積されることができ、あるいは、その他の方法でそれらと直接通信することができる。
【0106】
コンピュータ読み取り可能媒体はその上に、様々なコンピュータ実装処理を実行するためのコンピュータコードを格納するように構成され得る。媒体及びコンピュータコードは、本開示の目的に合わせて特別に設計及び構築されたものであってもよいし、あるいは、それらは汎用のものであってもよい。
【0107】
非限定的な一例として、アーキテクチャ(1200)、特にコア(1240)、を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現化されたソフトウェアを(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータ、及びこれらに類するものを含む)が実行することの結果として機能を提供することができる。そのようなコンピュータ読み取り可能媒体は、例えばコア内部の大容量ストレージ(1247)又はROM(1245)などの、非一時的性質のものであるコア(1240)の特定のストレージ、及び上述のような大容量ストレージとして実装され得る。本開示の様々な実施形態を実装するためのソフトウェアは、そのような装置に格納され、コンピュータコア(1240)によって実行されることができる。コンピュータ読み取り可能媒体は、1つ以上のメモリデバイス又はストレージチップを含み得る。ソフトウェアが実行されることで、コンピュータコア(1240)及び特にその中のプロセッサ(CPU、GPU、FPGA、及びこれらに類するものを含む)に、RAM(1246)に格納されるデータ構造を規定すること、及びそのようなデータ構造を、ソフトウェアによって規定されたプロセスに従って変更することを含めて、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステム(1200)は、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はソフトウェアと共に動作することができる回路(例えば、アクセラレータ(1244))にて配線された又はその他の方法で具体化されたロジックの結果として、機能を提供してもよい。ソフトウェアへの言及はロジックを含み、また、適当な場合にその逆もまた然りである。コンピュータ読み取り可能媒体への言及は、実行のためのソフトウェアを格納するための回路(例えば、集積回路(IC)など)、実行のためのロジックを具体化した回路、又は適当な場合にこれら双方を含み得る。本開示は、ハードウェア及びソフトウェアの好適な組み合わせを含む。
【0108】
一般に、用語は、少なくとも部分的にその文脈での使用から理解され得る。例えば、ここで使用されるとき、“及び”、“又は”、又は“及び/又は”などの用語は、このような用語が使用されている文脈に少なくとも部分的に依存し得る様々な意味を含み得る。典型的に、用語“又は”は、例えばA、B、又はCなど、リストを伴うように使用される場合、ここでは排他的な意味で使用されるA、B、又はCだけでなく、ここでは包括的な意味で使用されるA、B、及びCをも意味することを意図している。また、ここで使用されるとき、用語“1つ以上”又は“少なくとも1つ”は、少なくとも部分的に文脈に応じて、何らかの特徴、構造、又は特性を1つだけの意味で記述するために使用されることもあれば、特徴、構造、又は特性の組み合わせを複数の意味で記述するために使用されることもある。同様に、“a”、“an”、又は“the”などの用語も、やはり、少なくとも部分的に文脈に応じて、単数形での使用又は複数形での使用を伝えるように理解され得る。さらに、用語“に基づく”又は“によって決定される”は、必ずしも要因の排他的なセットを伝えることを意図するわけではなく、代わりに、やはり少なくとも部分的に文脈に応じて、必ずしも明示的に記載されない更なる要因の存在を許すことを意図するものとして理解され得る。
【0109】
この開示は幾つかの例示的な実施形態を説明しているが、開示の範囲内にある変更、並べ替え、及び様々な代替均等物が存在する。従って、理解されることには、当業者は、ここでは明示的に図示又は説明されていないが、開示の原理を具体化し、それ故に、その精神及び範囲内にあるものである数多くのシステム及び方法を考案することができる。
【外国語明細書】