IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ リアルタイム ロボティクス, インコーポレーテッドの特許一覧

特表2022-544709加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画
<>
  • 特表-加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画 図1A
  • 特表-加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画 図1B
  • 特表-加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画 図1C
  • 特表-加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画 図1D
  • 特表-加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画 図1E
  • 特表-加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画 図2
  • 特表-加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-20
(54)【発明の名称】加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画
(51)【国際特許分類】
   B25J 9/16 20060101AFI20221013BHJP
【FI】
B25J9/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022512324
(86)(22)【出願日】2020-08-21
(85)【翻訳文提出日】2022-04-18
(86)【国際出願番号】 US2020047429
(87)【国際公開番号】W WO2021041223
(87)【国際公開日】2021-03-04
(31)【優先権主張番号】62/890,830
(32)【優先日】2019-08-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520296244
【氏名又は名称】リアルタイム ロボティクス, インコーポレーテッド
【氏名又は名称原語表記】REALTIME ROBOTICS, INC.
【住所又は居所原語表記】27 Wormwood St.,Suite #110,Boston,Massachusetts 02210 United States of America
(74)【代理人】
【識別番号】100105131
【弁理士】
【氏名又は名称】井上 満
(74)【代理人】
【識別番号】100105795
【弁理士】
【氏名又は名称】名塚 聡
(72)【発明者】
【氏名】エイムス,クリストファー バレット
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS10
3C707HS27
3C707LU01
3C707LU03
3C707LW08
(57)【要約】
加速度及びジャーク(時間に関する加速度の導関数)に対する制約に違反することなく、ロボット又はその一部の速度を最適化するための、より高速で、計算量が少なく、よりロバストな技法について説明する。加速度の制約に違反することなく速度を最適化する非線形問題を線形化し、加速度の制約付き速度の推定値を生成する。線形化においてジャークの制約に違反することなく速度を最適化する非線形問題で、ジャークの制約付き速度の推定値を生成し、その加速度の制約付き速度の推定値によるフィードである可能性がある。構成及びタイミングはロボット、ロボット付属物又は他の構造の操作を制御するために、例えば、ベクトルとして生成され、提供され得る。
【選択図】 図3
【特許請求の範囲】
【請求項1】
ロボットの動作を制御するためのプロセッサベースのシステムにおける操作方法であって、前記プロセッサベースのシステムは少なくとも1つのプロセッサを含み、前記方法は、
幾何学的経路に沿ったsから少なくともsn-1までの複数の中間点sのそれぞれについて、各中間点sに対応するロボットの構成qが存在し、前記中間点sの隣接する中間点間の遷移によって表される動きに加速度制限を適用する一方、前記経路に沿って最大化された速度の推定値を線形的に決定する、ステップと、
前記中間点sの隣接する中間点間の前記遷移によって表される動きに前記加速度制限を適用する一方、前記経路に沿って最大化された速度の前記推定値を線形的に決定した後、前記幾何学的経路に沿ったsからsn-1までの前記複数の中間点sのそれぞれについて、前記中間点sの隣接する中間点間の前記遷移によって表される動きにジャーク制限を適用する一方、前記経路に沿って最大化された速度の推定値を線形的に決定するステップと、
前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、前記最大化された速度の決定された推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップを有する方法。
【請求項2】
前記中間点sの隣接する中間点間の前記遷移によって表される動きに加速度制限を適用する一方、前記経路に沿って最大化された速度の前記推定値を線形的に決定するステップは、
少なくともsn-1からsまで連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定するステップと、
前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定した後、sからsn-1まで連続的に中間点sについて、sから少なくともsn-1までの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれの加速度の値を選択して、それぞれの前記加速度の値が対応する前記加速度制限内にあり、対応する前記速度がそれぞれの前記実現可能な速度の範囲にあるようにするステップを含む、請求項1に記載の方法。
【請求項3】
少なくともsn-1からsまで連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定するステップは、中間点sにおける速度を0に等しいと決定するステップを含む、請求項2に記載の方法。
【請求項4】
前記中間点sの隣接する中間点間の前記遷移によって表される動きにジャーク制限を適用する一方、前記経路に沿って最大化された速度の推定値を線形的に決定するステップは、
n-1からsまで連続的に中間点sについて、それぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定するステップであって、前記範囲のそれぞれが、それぞれの中間点sごとのジャーク制限により束縛される、該ステップと、
それぞれの中間点sごとのジャーク制限により束縛されるそれぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定した後、sからsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれのジャークの値を選択して、それぞれの前記ジャークの値が対応する前記ジャーク制限内にあり、対応する前記速度がそれぞれの前記実現可能な速度の範囲にあり、対応する加速度が前記それぞれの前記実現可能な加速度の範囲にあるようにするステップを含む、請求項1から3のいずれかに記載の方法。
【請求項5】
終了条件に達するまでの何回かの反復のそれぞれについて、
複数の中間点sについて、それぞれの入力値に少なくとも部分的に基づいてそれぞれのジャーク制限速度を決定するステップを更に含み、前記それぞれの入力値は直前の反復のそれぞれの前記入力値からイプシロン値を引いた値と等しく、前記イプシロン値は反復回数にわたって一定に保たれる定数又は反復回数にわたって変化する変数のいずれかである、請求項4に記載の方法。
【請求項6】
現在の選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗と、直前に選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗との間の差を決定し、
決定された差を閾値と比較することにより、
前記終了条件に達したかどうかを判定するステップをさらに含む、請求項5に記載の方法。
【請求項7】
前記幾何学的経路に沿ったsからsまでの前記複数の中間点sのそれぞれについて、最大化された速度のセットのそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップは、それぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定するステップを含む、請求項1に記載の方法。
【請求項8】
n個のロボットの構成qの構成ベクトルを受信するステップをさらに含み、前記構成ベクトルは長さnを有し、それぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定するステップは、前記構成ベクトルの前記長さと等しい長さを有する時間ベクトルを決定するステップを含む、請求項7に記載の方法。
【請求項9】
n個のロボットの構成qの構成ベクトルを受信するステップは前記ロボットの構成空間内の点(複数)のベクトルを提供する構成ベクトルを受信するステップを含み、各点は前記ロボットの少なくとも2つのジョイントのそれぞれの各ポーズを指定する、請求項8に記載の方法。
【請求項10】
前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、前記最大化された速度の決定された推定値のセットのそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップは、前記それぞれの中間点に到達すべきそれぞれの相対時間を決定するステップであって、前記相対時間は少なくとも1つの先行する中間点に到達すべきそれぞれの時間に関して相対的である、該ステップを含む、請求項1に記載の方法。
【請求項11】
少なくとも、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき決定されたそれぞれの時間を提供するステップをさらに含む、請求項1~3又は6~10のいずれか1項に記載の方法。
【請求項12】
ロボットの動作を制御するシステムであって、前記システムは、
少なくとも1つのプロセッサ、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
幾何学的経路に沿ったsからsまでの複数の中間点sのそれぞれについて、各中間点sに対応するロボットの構成qが存在し、前記中間点sの隣接する中間点間の遷移によって表される動きに適用された加速度制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するステップと、
前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用された前記加速度制限のもとでの、前記経路に沿った最大化された速度の前記推定値の線形的な決定の後、前記幾何学的経路に沿ったsからsまでの前記複数の中間点sのそれぞれについて、前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用されたジャーク制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するステップと、
前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、最大化された速度の決定された前記推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップ
を実行させるプロセッサ実行可能命令を記憶する、少なくとも1つの非一時的プロセッサ読み取り可能媒体を含む、システム。
【請求項13】
前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用された加速度制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
少なくともsn-1からsまで連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定するステップと、
少なくともsn-1からsまで連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定するステップと、
それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲の決定の後、
からsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間のそれぞれの遷移について、速度の二乗を少なくともほぼ最大化するそれぞれの加速度の値を選択して、それぞれの前記加速度の値が対応する前記加速度制限内にあり、対応する前記速度がそれぞれの前記実現可能な速度の範囲にあるようにするステップを
実行させる、請求項12に記載のシステム。
【請求項14】
前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用されたジャーク制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
n-1からsまで連続的に中間点sについて、それぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定するステップであって、前記範囲のそれぞれが、それぞれの中間点sごとのジャーク制限により束縛される、該ステップと、
それぞれの中間点sごとの前記ジャーク制限により束縛されるそれぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲の決定の後、sからsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれのジャークの値を選択して、前記それぞれのジャークの値が対応するジャーク制限内にあり、対応する前記速度が前記それぞれの実現可能な速度の範囲にあり、対応する前記加速度が前記それぞれの実現可能な加速度の範囲にあるようにするステップを
実行させる、請求項12又は13に記載のシステム。
【請求項15】
前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
終了条件に達するまでの何回かの反復のそれぞれについて、
複数の中間点sについて、それぞれの入力値に少なくとも部分的に基づいてそれぞれのジャーク制限速度を決定するステップをさらに実行させ、前記それぞれの入力値は直前の反復のそれぞれの前記入力値からイプシロン値を引いた値と等しく、前記イプシロン値は反復回数にわたって一定に保たれる定数又は反復回数にわたって変化する変数のいずれかである、請求項14に記載のシステム。
【請求項16】
現在の選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗と、直前に選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗との間の差を決定し、
決定された差を速度閾値と比較することにより、
前記終了条件に達したかどうかを判定するステップをさらに含む、請求項15に記載のシステム。
【請求項17】
最大化された速度のセットのそれぞれに基づいて、それぞれの中間点に到達すべきそれぞれの時間を決定するために、前記プロセッサ実行可能命令は、
前記少なくとも1つのプロセッサにそれぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定させる、請求項12に記載のシステム。
【請求項18】
前記少なくとも1つのプロセッサは、n個のロボットの構成qの構成ベクトルを受信し、前記構成ベクトルは長さnを有し、それぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記構成ベクトルの前記長さと等しい長さを有する時間ベクトルを決定させる、請求項17に記載のシステム。
【請求項19】
最大化された速度のセットの決定された前記推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、それぞれの中間点に到達すべきそれぞれの相対時間を決定させ、前記相対時間は少なくとも1つの先行する中間点に到達すべきそれぞれの時間に関して相対的である、請求項12に記載のシステム。
【請求項20】
前記少なくとも1つのプロセッサによって実行されるとき、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
少なくとも、それぞれの中間点についての前記ロボットの構成及び、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき対応する決定されたそれぞれの時間を提供するステップをさらに実行させる、請求項12に記載のシステム。
【請求項21】
ロボットの動作を制御するためのプロセッサベースのシステムにおける操作方法であって、前記プロセッサベースのシステムは少なくとも1つのプロセッサを含み、前記方法は、
加速度制限の下で、幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能な加速度制限速度の範囲を決定するステップであって、各中間点に対応するロボットの構成が存在する、該ステップと、
少なくともいくつかの中間点について、前記実現可能な加速度制限速度のセットから、少なくともほぼ最大化された実現可能な加速度制限速度を選択するステップと、
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能なジャーク制限速度の範囲を決定するステップと、
少なくともいくつかの中間点について、前記実現可能なジャーク制限速度の範囲から少なくともほぼ最大化された実現可能なジャーク制限速度を選択するステップと、
少なくともいくつかの中間点のそれぞれについて、選択された少なくともほぼ最大化されたジャーク制限速度のそれぞれに基づいて、それぞれの中間点に到達すべきそれぞれの時間を決定するステップを有する方法。
【請求項22】
終了条件に達するまで、繰り返し、
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きのための新たな実現可能なジャーク制限速度の範囲を決定するステップと、
少なくともいくつかの中間点について、前記新たな実現可能なジャーク制限速度の範囲から少なくともほぼ最大化された実現可能なジャーク制限速度を選択するステップと、をさらに含む、請求項21に記載の方法。
【請求項23】
少なくともほぼ最大化された実現可能なジャーク制限速度の連続する選択の間の差が閾値以下であるかどうかを判定すること、又は、規定された反復回数に達したかどうかを判定することのうちの少なくとも1つによって、終了条件に達したかどうかを判定するステップをさらに含む、請求項22に記載の方法。
【請求項24】
加速度制限の下で、幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能な加速度制限速度の範囲を決定するステップは、
少なくともsn-1からsまで連続的に中間点sのそれぞれについて、それぞれの中間点sごとの加速度制限の下で得られるそれぞれの実現可能な加速度制限速度の範囲を決定するステップを含み、
前記実現可能な加速度制限速度の範囲から、少なくともほぼ最大化された実現可能な加速度制限速度を選択するステップは、sからsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれの加速度の値を選択するステップを含む、請求項21に記載の方法。
【請求項25】
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能なジャーク制限速度の範囲を決定するステップは、
n-1からsまで連続的に中間点sのそれぞれについて、それぞれの中間点sごとのジャーク制限の下及び加速度制限の下で得られるそれぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定するステップを含み、 少なくともいくつかの中間点のそれぞれについて、選択された少なくともほぼ最大化されたジャーク制限速度のそれぞれに基づいて、それぞれの中間点に到達すべきそれぞれの時間を決定するステップは、sからsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれのジャークの値を選択するステップを含む、請求項21に記載の方法。
【請求項26】
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能なジャーク制限速度の範囲を決定するステップは、終了条件に達するまでの何回かの反復のそれぞれについて、中間点sごとに、それぞれの入力値に少なくとも部分的に基づいてそれぞれのジャーク制限速度を決定するステップを含み、前記それぞれの入力値は直前の反復のそれぞれの前記入力値からイプシロン値を引いた値と等しく、前記イプシロン値は反復回数にわたって一定に保たれる定数又は反復回数にわたって変化する変数のいずれかである、請求項25に記載の方法。
【請求項27】
少なくとも、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき決定された前記それぞれの時間を提供するステップをさらに含む、請求項21~26のいずれか1項に記載の方法。
【請求項28】
ロボットの動作を制御するシステムであって、前記システムは、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに請求項1~10又は21~26のいずれか1項の方法を実行させるプロセッサ実行可能命令を記憶する、少なくとも1つの非一時的プロセッサ読み取り可能媒体と、
を備える、システム。
【請求項29】
前記少なくとも1つのプロセッサによって実行されるとき、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
少なくとも、それぞれの中間点についての前記ロボットの構成及び、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき対応する決定されたそれぞれの時間を提供するステップをさらに実行させる、請求項28に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に、ロボット工学に有用な動作計画(又は、動作プラニング/モーションプラニング/motion planning)に関し、特に、加速度及びジャーク(又は、加加速度/躍度/加速度の時間的変化の割合/jerk)の制限(又は、限界)を維持しながら、ロボット又はその一部の速度を最適化する際の計算効率を向上させることができるシステム及び方法に関する。
【背景技術】
【0002】
関連技術の説明
ロボット制御やロボット工学において、動作計画は基本的な問題である。動作計画はロボットが、典型的には、操作環境(又は、動作環境/作動環境/operational environment)内の障害物と衝突することなく、又は操作環境内の障害物と衝突する可能性を低減してタスクを完了するための、開始状態から目標状態に追従することができる経路を指定する。動作計画への課題は、環境の特性が変化しても、非常に速い速度で動作計画を実行する能力を含む。例えば、環境内の1つ又は複数の障害物の位置又は向きなどの特性は、経時的に変化し得る。課題は更に、比較的低コストの機器を用い、比較的低エネルギー消費で、限られた量の記憶装置(例えば、メモリ回路、例えば、プロセッサチップ回路)を用いて動作計画を実行することを含む。
【発明の開示】
【発明が解決しようとする課題】
【0003】
概要
ロボット又はその一部が、経路又は軌道に沿って、開始のポーズ(若しくは、姿勢)又は構成から終了のポーズ又は構成まで、それらの間に1つ又は複数の中間のポーズ又は構成を伴って移動することが典型的である。ロボット工学における1つの問題は、その経路に沿ったロボット又はその一部の速度を最大化する一方で、加速度に対する制限を維持し、動作から生じるロボット又はその一部のいかなるジャーキングも最小化することである。このようなことは、最適化問題として提起することができる。すなわち、いかなる制約にも違反することなく、幾何学的経路に沿った速度を最適化することである。この文脈における制約は速度、加速度及びジャーク(すなわち、時間に対する加速度の導関数)に関する制約を含む。
【0004】
ジャーキングに対する制限(すなわちジャーク制限)を観察しながら速度を最適化することは、典型的には計算量的に困難な問題である。従来のアプローチは、非線形最適化手法を採用している。これらの非線形最適化手法は典型的には解くのが遅く、非最適な局所最小にはまる傾向があり、その結果、誤った解になる。
【0005】
加速度及びジャークに対する制約に違反することなく、ロボット又はその一部の速度を最適化するための、より高速で、より計算量が少なく、よりロバストな技法が商業的に望ましい。
【課題を解決するための手段】
【0006】
態様1
ロボットの動作を制御するためのプロセッサベースのシステムにおける操作(又は、運転/動作/operation)方法であって、前記プロセッサベースのシステムは少なくとも1つのプロセッサを含み、前記方法は、
幾何学的経路に沿ったsから少なくともsn-1までの複数の中間点(又は、中間地点/ウェイポイント/waypoint)sのそれぞれについて、各中間点sに対応するロボットの構成qが存在し、前記中間点sの隣接する中間点間の遷移によって表される動きに加速度制限を適用する一方、前記経路に沿って最大化された速度の推定値を線形的に決定する、ステップと、
前記中間点sの隣接する中間点間の前記遷移によって表される動きに前記加速度制限を適用する一方、前記経路に沿って前記最大化された速度の前記推定値を線形的に決定した後、前記幾何学的経路に沿ったsから少なくとも
n-1までの前記複数の中間点sのそれぞれについて、前記中間点sの隣接する中間点間の前記遷移によって表される動きにジャーク制限を適用する一方、前記経路に沿って最大化された速度の推定値を線形的に決定するステップと、
前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、前記最大化された速度の決定された推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップを有する方法。
【0007】
態様2
前記中間点sの隣接する中間点間の遷移によって表される動きに加速度制限を適用する一方、前記経路に沿って最大化された速度の前記推定値を線形的に決定するステップは、
少なくともsn-1からsまで(逆方向に)連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの可能な速度の範囲を決定するステップと、
それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定した後、sからsn-1まで(順方向に)連続的に中間点sについて、sから少なくともsn-1までの連続する中間点s間の各遷移について、速度の絶対値又は速度の二乗を少なくともほぼ最大化するそれぞれの加速度の値を選択して、それぞれの前記加速度の値が対応する前記加速度制限内にあり、対応する前記速度がそれぞれの前記実現可能な速度の範囲にあるようにするステップを含む、態様1の方法。
【0008】
態様3
少なくともsn-1からsまで(逆方向に)連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定するステップは、中間点sにおける速度を0に等しいと決定するステップを含む、態様2の方法。
【0009】
態様4
前記中間点sの隣接する中間点間の前記遷移によって表される動きにジャーク制限を適用する一方、前記経路に沿って最大化された速度の推定値を線形的に決定するステップは、
n-1からsまで連続的に中間点sについて、その範囲のそれぞれが、それぞれの中間点sごとのジャーク制限により束縛されたそれぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定するステップと、
それぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定した後、sからsn-1まで(順方向に)連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度(x)の二乗を少なくともほぼ最大化するそれぞれのジャークの値を選択して、それぞれの前記ジャークの値が対応する前記ジャーク制限内にあり、対応する前記速度がそれぞれの前記実現可能な加速度の範囲にあり、対応する加速度が前記それぞれの前記実現可能な加速度の範囲にあるようにするステップを含む、態様1から3のいずれかの方法。
【0010】
態様5
終了条件に達するまでの何回かの反復のそれぞれについて、複数の中間点sについて、それぞれの入力値に少なくとも部分的に基づいてそれぞれのジャーク制限速度を決定するステップをさらに含み、前記それぞれの入力値は直前の反復のそれぞれの前記入力値からイプシロン値を引いた値と等しく、前記イプシロン値は反復回数にわたって一定に保たれる定数又は反復回数にわたって変化する変数のいずれかである、態様4の方法。
【0011】
態様6
現在の選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗と、直前に選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗との間の差を決定し、決定された差を閾値と比較することにより、前記終了条件に達したかどうかを判定するステップをさらに含む、態様5の方法。
【0012】
態様7
前記幾何学的経路に沿ったsからsまでの前記複数の中間点sのそれぞれについて、最大化された速度のそれぞれについて、最大化された速度のセットのそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップは、それぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定するステップを含む、態様1の方法。
【0013】
態様8
n個のロボットの構成qの構成ベクトルを受信するステップをさらに含み、前記構成ベクトルは長さnを有し、それぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定するステップは、前記構成ベクトルの前記長さと等しい長さを有する時間ベクトルを決定するステップをさらに含む、態様7の方法。
【0014】
態様9
n個のロボットの構成qの構成ベクトルを受信するステップは前記ロボットの構成空間内の点(複数)のベクトルを提供する構成ベクトルを受信するステップを含み、各点は前記ロボットの少なくとも2つのジョイントのそれぞれの各ポーズを指定する、態様8の方法。
【0015】
態様10
前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、前記最大化された速度のそれぞれの決定された推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するために(又は、前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、前記最大化された速度のそれぞれの決定された推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップは)、前記それぞれの中間点に到達すべきそれぞれの相対時間を決定するステップを含み、前記相対時間は少なくとも1つの先行する中間点に到達すべきそれぞれの時間に関して相対的である、態様1の方法。
【0016】
態様11
少なくとも、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき決定された前記それぞれの時間を少なくとも提供するステップをさらに含む、態様1~3又は6~10のいずれかの方法。
【0017】
態様12
ロボットの動作を制御するシステムであって、前記システムは、
少なくとも1つのプロセッサ、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
幾何学的経路に沿ったsから少なくともsn-1までの複数の中間点sのそれぞれについて、各中間点sに対応するロボットの構成qが存在し、前記中間点sの隣接する中間点間の遷移によって表される動きに適用された加速度制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するステップと、
前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用された前記加速度制限のもとでの、前記経路に沿った最大化された速度の前記推定値の線形的な決定の後、前記幾何学的経路に沿ったsから少なくともsn-1までの前記複数の中間点sのそれぞれについて、前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用されたジャーク制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するステップと、
前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、最大化された速度の決定された前記推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップ
を実行させるプロセッサ実行可能命令を記憶する、少なくとも1つの非一時的プロセッサ読み取り可能媒体を含む、システム。
【0018】
態様13
前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用された加速度制限のもとで、前記経路に沿って最大された速度の推定値を線形的に決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
少なくともsn-1からsまで(逆方向に)連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定するステップと、
それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲の決定の後、sからsn-1まで(順方向に)連続的に中間点sについて、sからsまでの連続する中間点s間のそれぞれの遷移について、速度(x)の二乗を少なくともほぼ最大化するそれぞれの加速度の値を選択して、それぞれの前記加速度の値が対応する前記加速度制限内にあり、対応する前記速度がそれぞれの実現可能な速度の範囲にあるようにするステップを
実行させる、態様12のシステム。
【0019】
態様14
前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用されたジャーク限度のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
n-1からsまで(逆方向に)連続的に中間点sについて、それぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定するステップであって、前記範囲のそれぞれが、それぞれの中間点sごとのジャーク制限により束縛される、該ステップと、
それぞれの中間点sごとの前記ジャーク制限により束縛されるそれぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲の決定の後、sからsn-1まで(順方向に)連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度(x)の二乗を少なくともほぼ最大化するそれぞれのジャークの値を選択して、前記それぞれのジャークの値が対応するジャーク制限内にあり、対応する前記速度が前記それぞれの実現可能な速度の範囲にあり、対応する前記加速度が前記それぞれの実現可能な加速度の範囲にあるようにするステップを
実行させる、態様12又は13のシステム。
【0020】
態様15
前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサによってされるとき、前記少なくとも1つのプロセッサに、
終了条件に達するまでの何回かの反復のそれぞれについて、複数の中間点sについて、それぞれの入力値に少なくとも部分的に基づいてそれぞれのジャーク制限速度を決定するステップをさらに実行させ、前記それぞれの入力値は直前の反復のそれぞれの前記入力値からイプシロン値を引いた値と等しく、前記イプシロン値は反復回数にわたって一定に保たれる定数又は反復回数にわたって変化する変数のいずれかである、態様14のシステム。
【0021】
態様16
現在の選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗と、直前に選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗との間の差を決定し、決定された差を閾値と比較することにより、前記終了条件に達したかどうかを判定するステップをさらに含む、態様15のシステム。
【0022】
態様17
最大化された速度のそれぞれに基づいて、それぞれの中間点に到達すべきそれぞれの時間を決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサにそれぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定させる、態様12のシステム。
【0023】
態様18
前記少なくとも1つのプロセッサは、n個のロボットの構成qの構成ベクトルを受信し、前記構成ベクトルは長さnを有し、それぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記構成ベクトルの前記長さと等しい長さを有する時間ベクトルを決定させる、態様17のシステム。
【0024】
態様19
最大化された速度のセットの決定された前記推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、それぞれの中間点に到達すべきそれぞれの相対時間を決定させ、前記相対時間は少なくとも1つの先行する中間点に到達すべきそれぞれの時間に関して相対的である、態様12のシステム。
【0025】
態様20
前記少なくとも1つのプロセッサによって実行されるとき、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
少なくとも、それぞれの中間点についての前記ロボットの構成及び、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき対応するそれぞれの時間を提供するステップをさらに実行させる、態様12のシステム。
【0026】
態様21
ロボットの動作を制御するためのプロセッサベースのシステムにおける操作方法であって、前記プロセッサベースのシステムは少なくとも1つのプロセッサを含み、前記方法は、
加速度制限の下で、幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能な加速度制限速度の範囲を決定するステップであって、各中間点に対応するロボットの構成が存在する、該ステップと、
少なくともいくつかの中間点について、前記実現可能な加速度制限速度の範囲から、少なくともほぼ最大化された実行可能な加速度制限速度を選択するステップと、
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能なジャーク制限速度の範囲を決定するステップと、
少なくともいくつかの中間点について、前記実現可能なジャーク制限速度の範囲から少なくともほぼ最大化された実現可能なジャーク制限速度を選択するステップと、
少なくともいくつかの中間点のそれぞれについて、選択された少なくともほぼ最大化されたジャーク制限速度のそれぞれに基づいて、それぞれの中間点に到達すべきそれぞれの時間を決定するステップを有する方法。
【0027】
態様22
終了条件に達するまで、繰り返し、
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きのための実現可能なジャーク制限速度の新たな範囲を決定するステップと、
少なくともいくつかの中間点について、前記新たな実現可能なジャーク制限速度の範囲から少なくともほぼ最大化された実現可能なジャーク制限速度を選択するステップと、をさらに含む、態様21の方法。
【0028】
態様23
少なくともほぼ最大化された実現可能なジャーク制限速度の連続する選択の間の差が閾値以下であるかどうかを判定すること、又は、規定された反復回数に達したかどうかを判定することのうちの少なくとも1つによって、終了条件に達したたかどうかを判定するステップをさらに含む、態様22の方法。
【0029】
態様24
加速度制限の下で、幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能な加速度制限速度の範囲を決定するステップは、少なくともsn-1からsまで(逆方向に)連続的に中間点sのそれぞれについて、それぞれの中間点sごとの加速度制限の下で得られるそれぞれの実現可能な加速度制限速度の範囲を決定するステップを含み、
前記実現可能な加速度制限速度の範囲から、少なくともほぼ最大化された実現可能な加速度制限速度を選択するステップは、sかsn-1まで(順方向に)連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度(x)の二乗を少なくともほぼ最大化するそれぞれの加速度の値を選択するステップを含む、態様21の方法。
【0030】
態様25
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能なジャーク制限速度の範囲を決定するステップは、
n-1からsまで(逆方向に)連続的に中間点sのそれぞれについて、それぞれの中間点sごとのジャーク制限の下及び加速度制限の下で得られるそれぞれの実現可能な速度の範囲及びそれぞれ実現可能な加速度の範囲を決定するステップを含み、
少なくともいくつかの中間点のそれぞれについて、選択された少なくともほぼ最大化されたジャーク制限速度のそれぞれに基づいて、それぞれの中間点に到達すべきそれぞれの時間を決定するステップは、sからsn-1まで(順方向に)連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度(x)の二乗を少なくともほぼ最大化するそれぞれのジャークの値を選択するステップを含む、態様21の方法。
【0031】
態様26
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能なジャーク制限速度の範囲を決定するステップは、終了条件に達するまでの何回かの反復のそれぞれについて、中間点sごとに、それぞれの入力値に少なくとも部分的に基づいてそれぞれのジャーク制限速度を決定するステップを含み、前記それぞれの入力値は直前の反復のそれぞれの前記入力値からイプシロン値を引いた値と等しく、前記イプシロン値は反復回数にわたって一定に保たれる定数又は反復回数にわたって変化する変数のいずれかである、態様25の方法。
【0032】
態様27
少なくとも、前記ロボットの動作を制御するために前記それぞれの中間点に到達すべき、決定されたそれぞれの時間を提供するステップをさらに含む、態様21~26のいずれかの方法。
【0033】
態様28
ロボットの動作を制御するシステムであって、前記システムは、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに態様1~10又は21~26のいずれかの方法を実行させるプロセッサ実行可能命令を記憶する、少なくとも1つの非一時的プロセッサ読み取り可能媒体と、を備える。
【0034】
態様29
前記少なくとも1つのプロセッサによって実行されるとき、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
少なくとも、それぞれの中間点についての前記ロボットの構成及び、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき対応する決定されたそれぞれの時間を提供するステップをさらに実行させる、態様28のシステム。
【図面の簡単な説明】
【0035】
図面において、同一の参照符号(又は、番号)は、同様の要素又は作用を示す。図面における要素のサイズ及び相対位置は、必ずしも一定の縮尺で描かれてはいない。例えば、さまざまな要素の形状及び角度は一定の縮尺で描かれず、これらの要素のいくつかは、図面を見やすくするために、随時適当に拡大及び配置されている。さらに、描かれた要素の特定の形状は、特定の要素の実際の形状に関するいかなる情報も伝えることを意図しておらず、図面における認識を容易にするために単に選択されたものである。
【0036】
図1A、1B、1C、1D及び1Eは、例示された一実施形態による、幾何学的経路に沿った複数の連続的ポーズでそれぞれ図示された多数のリンク及びジョイント(又は、関節)を含む可動ロボット付属物(又は、付属肢/appendage)を有するロボットの概略図である。
【0037】
図2は、例示された一実施形態による、計算効率的な方法で加速度及びジャークの制限を維持しながら、ロボットがロボット又はその一部の速度を少なくともほぼ最適化する、動作プランナ及びオプティマイザを含むロボット制御システムを介して制御される環境の機能ブロック図である。
【0038】
図3は、図示された一実施形態による、図2のシステムの操作方法を示す流れ図である。
【発明を実施するための形態】
【0039】
詳細な説明
以下の説明では、種々の開示の実施態様が正しく理解されるように、一定の具体的な詳細を記載する。但し、当業者ならば、これら具体的な細部の1つ又は2つ以上を欠いても、又は他の方法、他の構成部材、他の材料でも実施が可能であることは容易に理解するところであろう。他の例では、コンピュータシステム、ロボット、ロボット付属物、アクチュエータシステム、及び/又は通信ネットワークに関連する周知の構造は実施形態の説明を不必要に曖昧にすることを避けるために、詳細には示されておらず、又は説明されていない。
【0040】
以下の本明細書及び特許請求の範囲において文脈上別段の必要ない限り、「comprises」及び「comprising」等の用語「含む(comprise)」及びその派生語は、確定していない包括的な意味、即ち、「含む、がそれに限定されない」とみなされる。
【0041】
本明細書全体を通して、「1つの実装形態」又は「実装形態」又は「1つの実施形態」又は「実施形態」への言及は、実施形態に関連して記載された特定の特徴、構成又は特性が少なくとも1つの実装形態又は少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体の様々な箇所における「1つの実装形態」又は「実装形態」又は「1つの実施形態において」又は「実施形態において」という語句の出現は、必ずしもすべてが同じ実装形態又は実施形態を指しているわけではない。さらに、特定の特徴、構造又は特性は、1つ又は複数の実装形態又は実施形態において任意の適切な方法で組み合わせることができる。
【0042】
本明細書及び同時提出の特許請求の範囲で用いられているように、単数表現単数表現「1つの(a)」、「1つの(an)」および「その(the)」は、文脈上明確な指示がない限り、複数の存在を包含するものである。また、用語「又は」は一般に、文脈上明確な指示がない限り、「及び/又は」を包含する意味で用いられる。
【0043】
発明の名称及び要約は便宜上のものであり、本発明の範囲を表すものではなく、又は実施形態を意味するものでもない。
【0044】
前述のように、ロボット工学における重要な問題の1つは「ジャーク最小化」と呼ばれ、これは、加速度及びジャーク(すなわち、時間に対する加速度の導関数)についての限界を維持しつつ、種々の構成間の速度を決定することによって、実装され得る。
【0045】
ロボット又はロボット付属物が従うべき所与の幾何学的経路又は軌道は例えば、ロボットの構成空間又はC空間内の点のベクトルである構成ベクトル(例えば、{1番目のposn(又は、位置/position)のジョイント、2番目のposnのジョイント、・・・、n番目のposnのジョイント})として指定されてもよい。それぞれの幾何学的経路について、ロボット又はその一部がそれらのそれぞれの構成又は「位置」(例えば、{t1、t2、・・・、tn})に到達する時間で時間ベクトルが生成される。時間ベクトルは、構成ベクトルと同じ長さを有する可能性がある。性能最適化問題を提示した。すなわち、何らかの制約(例えば、速度、加速度及びジャーク(加速度の導関数)に関する制約)に違反することなく、幾何学的経路に沿ってできるだけ速く進むことである。
【0046】
ジャークの制限を観察しながら速度を最適化することは、計算量的に困難である。従来のアプローチは典型的には低速であり、非最適な局所最小にはまる可能性のある非線形最適化法を採用している。本願明細書に記載されるアプローチはジャークに関して最適化を準凸最適化問題にし、計算量を著しく低減する。加速度の制限内に留まりながら幾何学的経路に沿って速度を最適化するための線形最適化アプローチを、本明細書では、まず問題を単純化するための理論的基礎の観点から、次いで、実用的実装の観点から説明する。
【0047】
幾何学的経路又は軌道は、始点と終点との間にいくつかの「中間点」(経路上の位置)を有する。中間点は、{s、s、・・・、s}のようにsとして表される。目標はそれらの中間点に対応する時間(例えば、時間のベクトル又は(又は、すなわち)時間ベクトル){t、t、・・・、t}を見つけることである。ジョイントの構成(又は、配置/コンフィギュレーション)は、ロボットが中間点sにおいて構成qであるように、qと表示される。速度はvで表され、加速度はaで表され、ジャークは時間に対する加速度の導関数(da/dt)である。
【0048】
2つのタイプの導関数が使用される。時間に関する導関数(例えば、dZ/dt)は変数の上の1つ又は複数のドットで示される。
幾何学的経路上の位置に関する導関数(例えば、dZ/ds)は1つ又は複数のプライム記号で示される。
【0049】
以下の式1から始めると、導関数dq/ds=q´は幾何学的経路上の位置が変化するときの構成の変化であり、導関数ds/dt=s’は速度である。
【0050】
次に、式1においてsに関するq’の導関数をとって、
を得る。
【0051】
a=s’’およびx=s’を式2に代入すると、
を得る
【0052】
最適化目標は、以下の3つの制約の下で、速度の絶対値又はより便利には速度(x)の二乗を最大化することである:

【0053】
この技法は、この非線形最適化問題を線形最適化問題に変換することを有利に利用する。そうするために、幾何学的経路の終点において、速度(s’)及び加速度(a)がそれぞれゼロに等しいと仮定する。幾何学的経路の終点に達すると速度はゼロになり、加速度もゼロになることを任意に保証されうる。これは、終点の中間点sにおいて、v=a=0であることを意味する。
【0054】
実装において、加速度に関する制限を維持しながら推定最大速度について解く(又は、推定最大速度の解を得る)ために、まず、加速度(a)についての範囲(又は、限度)を条件として、又は加速度制限を条件として、各中間点における実現可能な速度の範囲を見つけることができる。これは、幾何学的経路又は軌道に沿って逆向きに作業し、少なくともsn-1からsに向かって連続的にその幾何学的経路に沿った各々の中間点における実現可能な範囲を決定することで達成できる。実現可能な速度の範囲は連続的であってもよいし、離散的であってもよい。注目すべきことに(又は、特に)、中間点sn-1(終点の中間点sに進むだけの中間点)では、加速度(a)は、ロボット又はその一部が終点の中間点sに向けて減速するにつれて、0と小さな負の数字との間の何かである。加速度(a)が小さな負の数であることが分かっているので、速度(v)を束縛する(又は、有界にする/bounded)ことができる。ここで、幾何学的経路又は軌道に沿って連続的にsn-1に前方に(又は、向かって)作業を進めると、(a)の値が、それぞれの中間点sにおいて選択され、加速度のそれぞれの値が対応する加速度の制限内にあり、対応する速度がそれぞれの実現可能な速度の範囲内にあるように、速度の絶対値又はより便利には速度(x)の二乗が少なくともほぼ最大化されることを可能にする。
【0055】
上述のアプローチは、加速度の制限に留まりながら、速度を少なくともほぼ最大化又は最適化するための線形アプローチである。変数を正しく選択すると、問題は線形になる。加速度が制限された場合、制約及び目的関数は、問題を線形にする決定変数から意図的に構築される。線形ソルバーを用いて問題を解くことができる。
【0056】
ここで、ジャークに対する制約を超えずに速度を少なくともほぼ最大化又は最適化するための線形アプローチについて説明する。
【0057】
以下の式4から始める。
【0058】
を代入すると、下記となる。
【0059】
注目すべきことに、最大速度s’の推定値は上述のように、加速度の制限に留まりながら(又は、のままで)速度を最適化することによって、既に解決されている。加速度制限に留まりながら速度について解く問題の線形化のために、結果として得られる推定速度はジャーク又は制限されたジャークに束縛されないが、ジャーク制限に留まりながら速度を最適化するための良い出発点として有利に働く。注目すべきことに、中間点sごとにs’(速度)の値が異なる。加速度の制限(s’a_limitとして示される)におけるs’の予め決定された値は以下に記載されるように、ジャーク制限に留まりながら速度について解く線形化された問題のために有利に使用され得る。
【0060】
「近似ジャーク」として示される値は加速度の制限、すなわちs’a_limitにおけるs’の予め決定された値で置き換えられた速度s’を有するジャーク方程式として定義される。この近似は、その最適化が、「真の」ジャーク制限を最適化する場合ほど最適ではないかもしれないことを意味するとしても、役立つ。上述の置換を含む近似ジャークの式は、以下のように与えられる。
【0061】
ここで、我々は上記の制約1及び2だけでなく、3つの新しい制約の下で速度の絶対値又はより便利には速度の二乗(すなわち、x+2Δa+Δj)を最大化することによって最適化する。
【0062】
目標は、非線形最適化問題を線形最適化問題に変換することである。3つの決定変数(x=s’’、a=s’’およびj=s’’’/s’)の選択は、付加的なs’があることを除いて、決定変数に関して近似ジャーク制限方程式を線形にする。この場合、付加的なs’は、加速度の制限(s’alimitとして示される)におけるs’の予め決定された値に代入することによって一定に保持される。これは、最適性を犠牲にして、ジャーク制限に留まりながら速度を解くという問題を線形化する。
【0063】
その問題の準最適性は、近似s’a_limitがs’に対してどれだけ出来が悪い(poor)かに直接関係する。注目すべきことに、ジャーク制限は、準凸として知られる非線形性に特別な形式である。この形式の非凸性は、値s’の二分探索によって容易に取り扱うことができる。これは、最適性とプランナの速度(planner speed)のどちらが好ましいかに応じて、2つのオプションを提供する。最適性が最重要である場合、線形ソルバーの3回又は4回の追加の反復のコストのために、解は最適解の5~7%以内に入ることができる。決定された解は、s’の推定の精度を高めることによって、最適解に任意に近づけることができる。プランナの速度が最も重要である場合、近似ジャークの解(ソリューション)が連続的な反復又は改良なく直接使用することができる。
【0064】
実施において、ジャークの制限を維持しながら推定最大速度について解くために、最初に、ジャークについての範囲を条件として又はジャーク制限を条件として、実現可能な速度の範囲及び実現可能な加速度の範囲を見つけることができる。これは、幾何学的経路又は軌道に沿って逆向きに作業し、少なくともsn-1からsに向かって連続的にその幾何学的経路に沿った各々の中間点における実現可能な範囲を決定することで達成できる。実現可能な速度の範囲及び/又は実現可能な加速度の範囲は連続的であってもよいし、離散的であってもよい。ここで、幾何学的経路又は軌道に沿って連続的にsn-1に前方に作業を進めると、ジャークの値が、それぞれの中間点sにおいて選択され、ジャークのそれぞれの値が対応するジャークの制限内にあり、対応する速度がそれぞれの実現可能な速度の範囲内にあり、対応する加速度がそれぞれの実現可能な加速度の範囲内にあるように、速度の絶対値又はより便利には速度(x)の二乗が少なくともほぼ最大化され又は最適化されることを可能にする。
【0065】
図1A図1B図1C図1D及び図1Eは、例示された一実施形態による、ロボット又はその一部が従う幾何学的経路又は軌道に沿った複数のシーケンシャルな(順次若しくは、逐次)構成又はポーズ(又は、姿勢)でそれぞれ例示された、基部102及び可動ロボット付属物104を有するロボット100を示す。特に、図1A図1Eは、幾何学的経路又は軌道に沿った多数の中間の構成又はポーズ(図1B図1D)を有する、最初又は初期の構成又はポーズ(図1A)から最終又は最後の構成又はポーズ(図1E)に移動する、一連のシーケンシャルな構成又はポーズでのロボット付属物104を示す。ロボット100はタスクを実行するように操作可能(又は、動作可能/operable)であり、タスクの間に、そのロボット又はロボット付属物104は、1つ又は複数の幾何学的経路又は軌道を横断することができる。
【0066】
ロボット100の基部102は例えば、床又は他の支持体に固定されてもよく、あるいは、車輪又はトレッドを含んでもよい。図示のように、ロボット付属物104は、多数のリンク106a、106b、106c(3つ示されており、集合的に106)、ジョイント108a、108b、108c、108d(4つ示されており、集合的に108)、及び任意選択でアームツールの端部又はエンドエフェクタ110を含むことができる。第1のジョイント108aは、第1のリンク106aを基部102に回転可能に連結し、基部の中心軸の周りを回転する。第2のジョイント108bは、第2のリンク106bを第1のリンク106aに回転可能に連結し、対応する回転軸の周りを回転する。第3のジョイント108cは、第3のリンク106cを第2のリンク106bに回転可能に連結し、対応する回転軸の周りを回転させることができる。第4のジョイント108dは、対応する回転軸の周りの回転のために、アームツールの端部又はエンドエフェクタ110を第3のリンク106cに回転可能に連結し、対応する回転軸の周りを回転させることができる。図1A図1Eでは見えないが、ロボット100は典型的には基部及び/又は互いに対してリンクを移動させるように連結された1つ又は複数のアクチュエータ及び任意選択でトランスミッションを含む。
【0067】
ロボット100又はロボット付属物104の各構成又はポーズは例えば、ロボット100の構成空間(C空間)に表されるジョイント108a~108dの集合の構成又はポーズのそれぞれのセットによって定義され得る。ロボット100の「構成空間」又は「C空間」はロボット100が動作する作業空間(すなわち、2次元又は3次元環境)とは異なることに留意されたい。作業空間はロボット100がタスクを実行することの一部として操作する1つ又は複数のワークアイテム又はワークピース(図示せず)、例えば、1つ又は複数の小包、包装(又は、パッケージング)、ファスナ、工具(又は、ツール)、アイテム又は他の物体を含むことができる。幾何学的経路又は軌道はロボット100又はロボット付属物104の一連の構成又はポーズとして表すことができ、一連の各構成又はポーズは、ジョイント108a~108dの集合の複数の構成又はポーズのそれぞれのセットとして表すことができる。ロボット100又はロボット付属物104の構成又はポーズの集合は、構成ベクトルとして提供され、受信され又は表され得る。
【0068】
図2はロボット制御システム200がロボット100又はその一部(例えば、ロボット付属物104)の動作を制御するために、図示された一実施形態に従って通信可能に結合された環境を示す。
【0069】
ロボット制御システム200は幾何学的経路又は軌道を指定する動作計画を生成する動作プランナ(又は、動作計画作成者)204を含み、少なくともほぼ最適な軌道(例えば、ロボット構成及びタイミング)を計算量的に効率的に決定して、加速度及びジャークの制限を遵守しながら、ロボット100又はロボット付属物104を幾何学的経路又は軌道に沿ってほぼ最適な速度で移動させるように操作可能な加速度制限オプティマイザ又はソルバー206及びジャーク制限オプティマイザ又はソルバー208も含む。幾何学的経路又は軌道は、ロボット100が1つ又は複数のタスク215を実行することを可能にすることができる。
【0070】
ロボット制御システム200は少なくとも1つの通信チャネル(例えば、送信機、受信機、トランシーバ、無線機、ルータ、イーサネットなど。近接矢印(proximate arrow)によって示される。)を介して、ロボット100の操作を制御するために通信可能に結合される。ロボット制御システム200はロボット100の1つ又は複数のアクチュエータ220a、220b、220c、220dに駆動信号を提供する1つ又は複数の動作コントローラ218(例えば、モータコントローラ)に通信可能に結合されてもよい。動作コントローラ218はロボット100の一部であってもよいし、それとは別個であってもよい。
【0071】
ロボット100は、多種多様な形態のいずれかをとることができる。典型的には、ロボット100が1つ又は複数のロボット付属物104の形態をとるか又はそれを有する。ロボット102は、1つ又は複数のジョイント(108a、108b、108c、108d、108e(図1))を有する及び1つ又は複数のリンケージ106a、106b、106c(図1)及び制御信号又は駆動信号に応答してリンケージ106a、106b、106cを移動させるように結合され操作可能なアクチュエータ220a、220b、220c、220d(例えば、電気モータ、ステッピング(又は、ステッパ)モータ、ソレノイド、空気圧アクチュエータ又は油圧アクチュエータ)を含むことができる。空気圧アクチュエータは例えば、1つ又は複数のピストン、シリンダ、バルブ、ガスのリザーバ、及び/又は圧力源(例えば、圧縮機(又は、コンプレッサ)、送風機(又は、ブロワ))を含んでもよい。油圧アクチュエータは例えば、1つ又は複数のピストン、シリンダ、バルブ、流体(例えば、低圧縮性油圧流体)、及び/又は圧力源(例えば、圧縮機、送風機)を含んでもよい。ロボット100は他の形態のロボット、例えば、自律車両を採用する(又は、使用する/employ)又はその形態をとることができる。
【0072】
ロボット制御システム200は例えば、少なくとも1つの通信チャネル(例えば、送信機、受信機、トランシーバ、無線機、ルータ、イーサネットなど。近接矢印によって示される。)を介して、任意選択で、動作計画グラフ(図示せず)及び/又は掃引(swept)ボリューム表現(図示せず)を、動作計画グラフ及び/又は掃引ボリューム表現の1つ又は複数のソース212から受信するために通信可能に結合され得る。動作計画グラフ及び/又は掃引ボリュームのソース212は例示された一実施形態によれば、動作プランナとは別個であり、区別されてもよい。動作計画グラフ及び/又は掃引ボリュームのソース212は例えば、ロボット100のそれぞれの製造業者によって又は他の何らかのエンティティによって動作又は制御され得る、1つ又は複数のプロセッサベースのコンピューティングシステム(例えば、サーバコンピュータ)であり得る。動作計画グラフはそれぞれ、ロボット100の状態、構成又はポーズを表すノードのセット(図示せず)と、それぞれのノード対のノードを結合し、状態、構成又はポーズ間の合法的又は有効な遷移を表すエッジのセット(図示せず)とを含むことができる。状態、構成又はポーズは例えば、それぞれのロボット100のジョイントのそれぞれについてのジョイントの位置、向き、ポーズ又は座標のセットを表すことができる。したがって、各ノードは、ロボット100を構成するジョイントのポーズによって完全に画定されるロボット100又はその一部の姿勢を表すことができる。動作計画グラフは実行時(又は、ランタイム/runtime)の前、例えば、実行時前(pre-runtime)又は構成時に決定、セットアップ又は定義することができる(すなわち、タスクの実行前に定義される)。掃引ボリュームは、動作計画グラフのそれぞれのエッジに対応する動作又は遷移を実行するときにロボット100又はその一部が占有するそれぞれのボリュームを表す。掃引ボリュームは例えば、ボクセル、ユークリッド距離フィールド、幾何学的オブジェクトの階層として、様々な形態のいずれかで表すことができる。これは、応答性が特に問題でない場合に、実行時の前に、最も計算集約的な作業のいくつかを実行することを可能にするので有利である。
【0073】
ロボット制御システム200は1つ又は複数のプロセッサ222と、1つ又は複数の関連する非一時的コンピュータ可読又はプロセッサ可読記憶媒体、たとえば、システムメモリ224a、ディスクドライブ224b、及び/又はプロセッサ222のメモリ又はレジスタ(図示せず)とを備えることができる。非一時的なコンピュータ可読又はプロセッサ可読記憶媒体224a、224bは、システムバス216のような1つ又は複数の通信チャネルを介してプロセッサ222aに通信接続されている。システムバス216は、メモリコントローラを備えたメモリバス、周辺バス、及び/又はローカルバスを含む、任意の既知のバス構造又はアーキテクチャを採用することができる。このような構成要素の1つ又は複数はさらに、あるいは代替として、1つ又は複数の他のパラレルケーブル、シリアルケーブル又は、例えば、ユニバーサルシリアルバス(「USB」)3.0、周辺機器構成要素相互接続エクスプレス(PCIe)など高速通信が可能なワイヤレスネットワークチャネルなど、1つ又は複数の他の通信チャネル又はThunderbolt(登録商標)を介して互いに通信することもできる。
【0074】
上述したように、ロボット制御システム200は任意選択で、例えば、ネットワークインターフェース227を介して、ロボット制御システム200の様々な構成要素に直接通信可能に結合又は間接的に通信可能に結合される、1つ又は複数のリモートコンピュータシステム、例えば、サーバコンピュータ(例えば、動作計画グラフ212のソース)、デスクトップコンピュータ、ラップトップコンピュータ、ウルトラポータブルコンピュータ、タブレットコンピュータ、スマートフォン、ウェアラブルコンピュータに通信可能に結合されてもよい。リモートコンピューティングシステム(例えば、サーバコンピュータ)を使用して、ロボット制御システム200及びロボット制御システム200内の様々な構成要素に、データ(例えば、動作計画グラフ、掃引ボリューム、タスク仕様215)をプログラムし、構成し、制御し、又は他の方法でインターフェースするか、又は入力することができる。このような接続は、インターネットプロトコルを使用する1つ又は複数の通信チャネル、例えば、イーサネット又はインターネットである、例えば、1つまたは複数のワイドエリアネットワーク(WAN)を介してもよい。上述したように、実行時前計算(例えば、動作計画グラフのファミリの生成)はロボット制御システム200又はロボット100とは別個のシステムによって実行されてもよく、一方、実行時計算はロボット制御システム200のプロセッサ(複数可)222によって実行されてもよく、これはいくつかの実装形態ではロボット100に搭載されてもよい。
【0075】
ロボット制御システム200は任意選択で、1つ又は複数のセンサ、例えば1つ又は複数のカメラ223、運動センサ、回転エンコーダ、加速度計などに通信可能に結合されてもよい。
【0076】
先に述べたように、ロボット制御システム200は1つ又は複数のプロセッサ222(すなわち、回路)、非一時的な記憶媒体224a、224b及び種々のシステム構成要素を結合するシステムバス216を含んでもよい。プロセッサ222は、1つ又は複数の中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、グラフィックス処理装置(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、プログラマブル論理コントローラ(PLC)などの任意の論理処理装置であってよい。システムメモリ224aは、リードオンリーメモリ(「ROM」)226、ランダムアクセスメモリ(「RAM」)228、フラッシュメモリ230、EEPROM(図示せず)を含むことができる。ROM226の一部を形成することができる基本入出力システム(「BIOS」)232は起動中などに、ロボット制御システム200内の要素間で情報を転送するのを助ける基本ルーチンを含む。
【0077】
ドライブ224bは例えば、磁気ディスクからの読出し及び磁気ディスクへの書込みのためのハードディスクドライブ、ソリッドステートメモリからの読出し及びソリッドステートメモリへの書込みのためのソリッドステート(例えば、フラッシュメモリ)ドライブ、及び/又はリムーバブル光ディスクからの読出し及びリムーバブル光ディスクへの書込みのための光ディスクドライブであってもよい。ロボット制御システム200aはまた、様々な異なる実施形態において、そのようなドライブの任意の組み合わせを含んでもよい。ドライブ224bは、システムバス216を介してプロセッサ222と通信することができる。1つ又は複数のドライブ224bは当業者に知られているように、そのようなドライブとシステムバス216との間に結合されたインターフェース又はコントローラ(図示せず)を含むことができる。ドライブ224b及びその関連するコンピュータ可読媒体は、ロボット制御システム200のためのコンピュータ可読及び/又はプロセッサ可読及び/又は実行可能命令、データ構造、プログラムモジュール及び他のデータの不揮発性記憶装置を提供する。当業者は、WORMドライブ、RAIDドライブ、磁気カセット、デジタルビデオディスク(「DVD」)、ベルヌーイカートリッジ、RAM、ROM、スマートカードなど、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体を使用することができることを理解するであろう。
【0078】
実行可能な指示及びデータはシステムメモリ224aに、例えば、オペレーティングシステム236、1つ又は複数のアプリケーションプログラム238、他のプログラム又はモジュール240及びプログラムデータ242に記憶することができる。アプリケーションプログラム238はプロセッサ(複数可)222に、他のロボットの計画された動作が障害物として表され得る環境内の障害物及び/又はターゲットオブジェクト又はワークピースを含むロボット100が動作する環境の離散化された表現を生成することと、衝突評価の結果を呼び出す又は他の方法でその結果を得ることを含む動作計画又はロードマップ(又は、道路地図)を生成することと、動作計画グラフ内のエッジのコスト値を設定することと、その動作計画グラフ内の利用可能な経路を評価することと、任意選択で、決定された複数の動作計画又はロードマップを記憶することと、及び/又は最適化(例えば、線形オプティマイザ)を実行することとのうちの1つ又は複数を実行させるプロセッサ実行可能命令を含み得る。動作計画の構築(例えば、衝突検出又は衝突評価、衝突検出又は衝突評価に基づく動作計画グラフにおけるエッジのコストの更新、及び経路探索又は経路評価)は、参照により本明細書に組み込まれる参照文献に記載されているように実行することができる。衝突検出又は衝突評価は、参照により本明細書に組み込まれる参照文献に記載される様々な構造及び技術を使用して、衝突検出又は衝突評価を実行することができる。アプリケーションプログラム238はさらに、プロセッサ222に他の操作、例えば、任意選択で(センサを介して取り込まれた)知覚データ及び/又は最適化を実行させる、1つ又は複数の機械可読及び機械実行可能命令を含むことができる。アプリケーションプログラム238はさらに、プロセッサ222に、本明細書及び参照により本明細書に組み込まれる参照文献に記載される様々な他の方法を実行させる1つ又は複数の機械実行可能命令を含むことができる。
【0079】
様々な実施形態では、上述の操作のうちの1つ又は複数がネットワークインターフェース227を介して通信ネットワーク(例えば、ネットワーク210)を介してリンクされる1つ又は複数のリモート処理デバイス又はコンピュータによって実行され得る。
【0080】
図2ではシステムメモリ224aに記憶されているように示されているが、オペレーティングシステム236、アプリケーションプログラム238、他のプログラム/モジュール240及びプログラムデータ242は他の非一時的なコンピュータ又はプロセッサ可読媒体、例えばドライブ(複数可)224bに記憶され得る。
【0081】
ロボット制御システム200の動作プランナ204の構造及び/又は操作は、令和1年6月24日に出願された、本出願人に譲渡された米国特許出願第62/865,431号に示され、記載されている。
【0082】
プロセッサ222及び/又は動作プランナ204は、1つ又は複数の中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、グラフィックス処理装置(GPU)、特定用途向け集積 回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理コントローラ(PLC)などの任意の論理処理装置であってもよく又はそれらを含んでもよい。市販のコンピュータシステムの非限定的な例としては米国Intel(登録商標)社が提供するマイクロプロセッサのCeleron、Core 2、Itanium、Xeonファミリー、米国Advanced Micro Devicesが提供するK8、K10、Bulldozer及びBobcatシリーズマイクロプロセッサ、米国アップルコンピュータが提供するA5、A6及びA7シリーズマイクロプロセッサ、米国Qualcomm、Inc.が提供するSnapdragonシリーズマイクロプロセッサ、米国Oracle Corp.が提供するSPARCシリーズマイクロプロセッサが挙げられるが、これらに限定されない。図2に示される様々な構造の構成及び操作は、2017年6月9日に出願された国際特許出願第PCT/US2017/036880号(名称「MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS」)、2016年1月5日に出願された国際特許出願公開第WO2016/122840号(名称「SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME」)、2018年1月12日出願の米国特許出願第62/616,783号(名称「APPARATUS, METHOD AND ARTICLE TO FACILITATE MOTION PLANNING OF AN AUTONOMOUS VEHICLE IN AN ENVIRONMENT HAVING DYNAMIC OBJECTS」)、2019年6月3日出願の米国特許出願第62/856,548号(名称「APPARATUS, METHODS AND ARTICLES TO FACILITATE MOTION PLANNING IN ENVIRONMENTS HAVING DYNAMIC OBSTACLES」)、及び/又は2019年6月24日出願の米国特許出願第62/865,431号(名称「MOTION PLANNING FOR MULTIPLE ROBOTS IN SHARED WORKSPACE」)に記載された又はこれらに記載されたものと類似の構造、技術及びアルゴリズムを実施又は使用することができる。
【0083】
必須ではないが、実装の多くはコンピュータ又はプロセッサ可読媒体上に記憶され、障害物表現、衝突評価、他の動作計画の操作及び最適化を実行することができる1つ又は複数のコンピュータ又はプロセッサによって実行されるプログラムアプリケーションモジュール、オブジェクト又はマクロなど、コンピュータ実行可能命令の一般的なコンテキストで説明される。
【0084】
動作プランナ204は例えば、ロボット100のC空間内の構成ベクトルとして指定されるロボット100又はロボット付属物104の構成のシーケンスを指定する幾何学的経路又は軌道(例えば、最適又は最適化された)を決定することができる。
【0085】
加速度制限オプティマイザ又はソルバー206は加速度の制限を考慮しながら、幾何学的経路又は軌道の中間点s間の遷移ごとに少なくともほぼ最適化された速度を決定する。前述したように、最適化問題を線形形式に変換することは、有利には計算効率の大幅な増加をもたらし、局所最小にはまることの発生を低減し又は排除することさえある。決定された速度の値は、有利にはジャーク制限オプティマイザ又はソルバー208に提供され得る。
【0086】
ジャーク制限オプティマイザ又はソルバー208はジャークの制限を考慮しながら、幾何学的経路又は軌道の中間点s間の遷移ごとに少なくともほぼ最適化された速度を決定する。前述したように、最適化問題を線形形式に変換することは、有利には計算効率の大幅な増加をもたらし、局所最小にはまることの発生を低減し又は排除することさえある。ジャーク制限オプティマイザ又はソルバー208は任意の定義されたレベルの最適化に到達するように、決定された速度の値を精緻化する(又は、精密化する)ことができる。
【0087】
プロセッサベースシステム又はその一部は、ロボット又はその一部が対応する構成又はポーズにあるべき各々の中間点sに対応する時間を決定することができる。プロセッサベースのシステム又はその一部はロボット又はその一部を駆動して、幾何学的経路又は軌道に沿って少なくともほぼ最適化された様式で移動させるために、構成(たとえば、構成ベクトルとして)214a及び時間(たとえば、時間ベクトルとして)214bを提供することができる。
【0088】
図3は、少なくとも1つの例示された実施形態による、ロボット又はその一部を制御するために、少なくともほぼ最適化された軌道情報を計算量的に効率よく生成するための、プロセッサベースのシステムにおける操作方法300を示す。方法300は例えば、実行時に実行されてもよい。方法300は、ロボット及び/又はロボット制御システムの一部であるプロセッサベースのシステムによって実行されてもよい。代替として、方法300はロボットから分離され、別個であり、場合によっては遠隔でプロセッサベースのシステム(例えば、サーバコンピュータ)によって実行されて得る。
【0089】
概観として、最初は、加速度制限オプティマイザが初期最適化速度推定値を生成する。その初期最適化速度推定値は、ジャーク制限速度推定値を決定するための初期推定値又はシード(又は、種)として、ジャーク制限オプティマイザに提供される。加速度制限速度の初期推定値は、ジャークの制約によって制限されない。必要に応じて、その後に決定されるジャーク制限速度推定値は、単一の反復の後に採用されてもよい。あるいは複数の反復がジャーク制限速度推定値を精緻化するために実行されてもよく、反復ごとに最適な加速度制限速度により近づく。もちろん、最適値は、到達するまでわからない。多くの実用的なアプリケーションでは推定された又は近似された最適なジャーク制限速度が、一般に正確な精度が必要とされないので理論的に最適な値には近づくが、実際には理論的に最適な値に達しないことがあるが、これは、処理がどれだけの時間を要するかについてとトレードオフになることがあるためである。
【0090】
302において、プロセッサベースのシステム又はその一部は、ロボット又はその一部が従うための離散化された幾何学的経路を生成又は受信する。その離散化された幾何学的経路は例えば、幾何学的経路に沿った各位置又は中間点について、ロボット又はその一部を対応する構成又はポーズに置くジョイント位置又はジョイント座標のそれぞれのセットを指定する構成ベクトルの形態をとることができる。図示するように、加速度制限オプティマイザ又はソルバー206(図2)は、構成ベクトルを受信することができる。
【0091】
304において、プロセッサベースのシステム又はその一部(例えば、加速度制限オプティマイザ又はソルバー206(図2))は、中間点のそれぞれについて、加速度制限に基づいて実現可能な速度の範囲を決定する。実現可能な速度の範囲の決定は、上述した、最適化された加速度制限速度を決定する一部として実行される幾何学的経路又は軌道に沿った逆方向パス(又は逆方向の通行/逆方向の経路/backward pass)に対応する。実現可能な速度の範囲は連続的であってもよく、又は代替的に、離散的な速度のセットであってもよい。
【0092】
306において、プロセッサベースのシステム又はその一部は、幾何学的経路又は軌道に沿った中間点のそれぞれについて、速度を最大にする加速度を選択する。速度を最大化するための加速度の選択は、上述した、最適化された加速度制限速度を決定する一部として実行される幾何学的経路又は軌道に沿った順方向パス(又は順方向の通行/順方向の通路/forward pass)に対応する。すなわち、例えば、加速度の値は、加速度のそれぞれの値が対応する加速度制限内にあり、対応する速度が実現可能な速度のそれぞれの範囲内にあるように、二乗された速度をほぼ最大にするように選択され得る。
【0093】
308で、実現可能な最大速度の値が、ジャーク制限オプティマイザ又はソルバー208に提供される(図2)。例えば、加速度制限速度ソルバーは速度推定値を、その速度推定値を出発点として使用する近似ジャーク制限部分問題ソルバーに渡す。その速度推定値は、通常、対応するジャーク制限速度推定値がなるもの(又は、ジャーク制限速度推定値の最終値)よりも高く、又は速くなる。
【0094】
310において、プロセッサベースのシステム又はその一部(例えば、ジャーク制限オプティマイザ又はソルバー208(図2))は、各中間点について、ジャーク制限に基づいて、実現可能な速度の範囲及び実現可能な加速度の範囲を決定する。実現可能な速度の範囲及び実現可能な加速度の範囲の決定は、上述した、最適化ジャーク制限速度を決定する一部として実行される幾何学的経路又は軌道に沿った逆方向パスに対応する。実現可能な速度の範囲及び/又は実現可能な加速度の範囲は連続的であってもよく、又は代替的に、離散的な速度又は離散的な加速度のセットであってもよい。
【0095】
312において、プロセッサベースのシステム又はその一部は、実現可能な速度の範囲から、幾何学的経路に沿った中間点のそれぞれについて最大実現可能速度を選択する。最大実現可能速度の選択は、上述した、最適化ジャーク制限速度を決定する一部として実行される幾何学的経路又は軌道に沿った順方向パスに対応する。すなわち、例えば、ジャークの値は、加速度のそれぞれの値が対応するジャーク制限内にあり、対応する速度が実現可能な速度のそれぞれの範囲内にあり、対応する加速度が実現可能な加速度のそれぞれの範囲内にあるように、二乗された速度をほぼ最大にするように選択され得る(又は、二乗された速度をほぼ最大にするジャークの値は、加速度のそれぞれの値が対応するジャーク制限内にあり、対応する速度が実現可能な速度のそれぞれの範囲内にあり、対応する加速度が実現可能な加速度のそれぞれの範囲内にあるように選択され得る)。
【0096】
314において、プロセッサベースのシステムは例えば以下に説明するように、終了条件に達したか否かを判定(又は、決定)する。
【0097】
316において、終了条件が発生していないという判定に応答して、プロセッサベースのシステムは例えば、以下に説明するように、速度推定値を精緻化する。各中間点に対して終了条件が発生すると、プロセッサベースのシステムは318において、時間最適制約制限軌道を決定し、出力する。したがって、速度推定値は終了条件が発生するまで、後述するように、いくつかの反復を通して精緻化され得る。
【0098】
314での終了条件の評価は推定されたジャーク制限速度が定義された基準に対して十分であるという判定であってもよく、及び/又は、例えば、適切なジャーク制限速度推定値に収束する、ジャーク制限速度推定値を精緻化する定義された回数の反復の実行であってもよい。例えば、ジャーク制限速度推定値が十分であるかどうかを判定するために、プロセッサベースのシステムは、現在の反復についてのジャーク制限速度又は速度二乗推定値と、最新の以前の反復についてのジャーク制限速度又は速度二乗推定値との間の差を判定することができる。次に、プロセッサベースのシステムは、その差が定義された許容可能な差の閾値内にあるかどうかを判定することができる。差の閾値は、ジャーク制限速度推定値の漸進的改善がジャーク制限オプティマイザによる各反復でその差が小さくなる結果となるという事実を反映するように選択されてもよい。特定の差の閾値はアプリケーション固有であり、最適化されたジャーク制限速度を計算する速度に対するロボット又はロボット付属物の最適化されたジャーク制限速度についての所望をバランスさせることに依存する。反復回数は任意の整数値に設定できる。
【0099】
別の言い方をすると、プロセッサベースのシステムは例えば、終了条件に達するまで反復することができる。最初の反復中に、加速度制限速度をジャーク制限最適化への入力として採用される。最初の反復の結果、最初のジャーク制限速度推定値が得られる。最初のジャーク制限速度推定値はおそらく、最適よりも低いか又は遅いが、例えば、処理時間がロボット又はその一部の最適速度よりも価値があると考えられる場合に使用することができる。終了条件が満たされない場合、2回目の反復中に、最初の反復からイプシロン値を引いた入力が、ジャーク制限最適化への新しい入力として使用される。2回目の反復では、2回目のジャーク制限速度推定値が得られる。2回目のジャーク制限速度推定値は、最適よりも低いか又は遅いかもしれないが、例えば、処理時間がロボット又はその一部の最適速度よりも価値があると考えられる場合に使用することができる。終了条件が満たされない場合、3回目の反復中に、最新の以前の反復(例えば、2回目の反復)からイプシロン値を引いた入力が、ジャーク制限最適化への新しい入力として使用される。3回目の反復では、3回目のジャーク制限速度推定値が得られる。3回目のジャーク制限速度推定値は、最適よりも低いか又は遅いかもしれないが、例えば、処理時間がロボット又はその一部の最適速度よりも価値があると考えられる場合に使用することができる。各反復において、ジャーク制限速度推定値は最適加速度制限速度に向かって収束する。このアルゴリズムは、終了条件が満たされるまで繰り返すことができる。
【0100】
ジャーク制限最適化の各反復を実行する際に、ジャーク制限オプティマイザは、一般的に上述した逆方向パス及び順方向パスを実行することができる。一部の実装では、イプシロン値が反復回数全体で一定に保たれる定数である。一部の実装では、イプシロン値は反復回数全体で変化する変数である。例えば、イプシロン値は、2つまたはそれ以上の以前の反復間の収束の評価を考慮に入れてもよい。
【0101】
上記の詳細説明において、ブロック図、模式図及び実施例を用いて、多様な装置及び/又は方法の実施形態について示してきた。1つ又は複数の機能及び/又は操作を含んでいるそのようなブロック図、模式図及び実施例の範囲では、当業者によって、そのようなブロック図、流れ図及び実施例におけるそれぞれの機能及び/又は操作は個々に及び/又は一括して、多様なハードウェア、ソフトウェア、ファームウェア又は事実上任意のこれらの組み合わせによって実装することができることが理解されるであろう。一実施形態では、本主題がブール回路、特定用途向け集積回路(ASIC)及び/又はFPGAを介して実装され得る。しかしながら、本明細書に開示された実施形態は全体的に又は部分的に、標準的な集積回路における様々な異なる実装において、1つ又は複数のコンピュータ上で実行される1つ又は複数のコンピュータプログラムとして(例えば、1つ又は複数のコンピュータシステム上で実行される1つ又は複数のプログラムとして)、1つ又は複数のコントローラ(例えば、マイクロコントローラ)上で実行される1つ又は複数のプログラムとして、1つ又は複数のプロセッサ(例えば、マイクロプロセッサ)上で実行される1つ又は複数のプログラムとして、ファームウェアとして又はそれらの事実上任意の組合せとして実装することができること、回路を設計すること、及び/又はソフトウェア及び/又はファームウェアのためのコードを書くことは、本開示に照らして当業者の技術の範囲内で十分にあることを、当業者は認識するであろう。
【0102】
当業者は本明細書に記載された方法又はアルゴリズムの多くが、追加の動作を使用し、いくつかの動作を省略し、及び/又は指定された順序とは異なる順序で動作を実行し得ることを認識するであろう。
【0103】
さらに、当業者は、本明細書で教示されるメカニズムがハードウェア、例えば、1つ又は複数のFPGA又はASICにおいて実装されることが可能であることを理解するであろう。
【0104】
上記の種々の実施形態は、更なる実施形態を提供するように組み合わされることが可能である。2017年6月9日出願のPCT/US2017/036680(名称「MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS」)、2016年1月5日出願の国際特許出願公開第WO2016/122840号(名称「SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME」)、2018年1月12日出願の米国特許出願第62/616,783号(名称「APPARATUS, METHOD AND ARTICLE TO FACILITATE MOTION PLANNING OF AN AUTONOMOUS VEHICLE IN AN ENVIRONMENT HAVING DYNAMIC OBJECTS」)、2018年2月6日出願の米国特許出願第62/626,939号(名称「motion planning of A robot STORING A discretized ENVIRONMENT ON ONE OR MORe PROCESSORS AND IMPROVED OPERATION OF SAME」)、2019年6月3日出願の米国特許出願第62/856,548号(名称「APPARATUS, METHODS AND ARTICLES TO FACILITATE MOTION PLANNING IN ENVIRONMENTS HAVING DYNAMIC OBSTACLES」)、2019年6月24日出願の米国特許出願第62/865,431号(名称「MOTION PLANNING FOR MULTIPLE ROBOTS IN SHARED ENVIRONMENT」)、及び2019年8月23日出願の米国特許出願第62/890,830号(名称「MOTION PLANNING FOR ROBOTS TO OPTIMIZE VELOCITY WHILE MAINTAINING LIMITS ON ACCELERATION AND JERK」)を含むがこれらに限定されない、本明細書に言及され、及び/又は出願データシートに記載されている、本出願人に譲渡されたすべての米国特許出願公開、米国特許出願、外国特許及び外国特許出願は、その全体が参照により本明細書に組み込まれる。上記の詳細説明に照らして、上記の及び他の変形がそれらの実施形態に対して行われることが可能である。一般に、以下の特許請求の範囲において、使用される用語は特許請求の範囲を、明細書及び特許請求の範囲に開示される特定の実施形態に限定するように解釈されるべきではなく、そのような特許請求の範囲が権利を有する均等物の全範囲とともに、すべての可能な実施形態を含むように解釈されるべきである。したがって、特許請求の範囲は、本開示によって限定されない。

図1A
図1B
図1C
図1D
図1E
図2
図3
【手続補正書】
【提出日】2022-04-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ロボットの動作を制御するためのプロセッサベースのシステムにおける操作方法であって、前記プロセッサベースのシステムは少なくとも1つのプロセッサを含み、前記方法は、
幾何学的経路に沿ったsから少なくともsn-1までの複数の中間点sのそれぞれについて、各中間点sに対応するロボットの構成qが存在し、前記中間点sの隣接する中間点間の遷移によって表される動きに加速度制限を適用する一方、前記経路に沿って最大化された速度の推定値を線形的に決定する、ステップと、
前記中間点sの隣接する中間点間の前記遷移によって表される動きに前記加速度制限を適用する一方、前記経路に沿って最大化された速度の前記推定値を線形的に決定した後、前記幾何学的経路に沿ったsからsn-1までの前記複数の中間点sのそれぞれについて、前記中間点sの隣接する中間点間の前記遷移によって表される動きにジャーク制限を適用する一方、前記経路に沿って最大化された速度の推定値を線形的に決定するステップと、
前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、前記最大化された速度の決定された推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップを有する方法。
【請求項2】
前記中間点sの隣接する中間点間の前記遷移によって表される動きに加速度制限を適用する一方、前記経路に沿って最大化された速度の前記推定値を線形的に決定するステップは、
少なくともsn-1からsまで連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定するステップと、
前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定した後、sからsn-1まで連続的に中間点sについて、sから少なくともsn-1までの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれの加速度の値を選択して、それぞれの前記加速度の値が対応する前記加速度制限内にあり、対応する前記速度がそれぞれの前記実現可能な速度の範囲にあるようにするステップを含む、請求項1に記載の方法。
【請求項3】
少なくともsn-1からsまで連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定するステップは、中間点sにおける速度を0に等しいと決定するステップを含む、請求項2に記載の方法。
【請求項4】
前記中間点sの隣接する中間点間の前記遷移によって表される動きにジャーク制限を適用する一方、前記経路に沿って最大化された速度の推定値を線形的に決定するステップは、
n-1からsまで連続的に中間点sについて、それぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定するステップであって、前記範囲のそれぞれが、それぞれの中間点sごとのジャーク制限により束縛される、該ステップと、
それぞれの中間点sごとのジャーク制限により束縛されるそれぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定した後、sからsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれのジャークの値を選択して、それぞれの前記ジャークの値が対応する前記ジャーク制限内にあり、対応する前記速度がそれぞれの前記実現可能な速度の範囲にあり、対応する加速度が前記それぞれの前記実現可能な加速度の範囲にあるようにするステップを含む、請求項1から3のいずれかに記載の方法。
【請求項5】
終了条件に達するまでの何回かの反復それぞれについて、
複数の中間点sについて、それぞれの入力値に少なくとも部分的に基づいてそれぞれのジャーク制限速度を決定するステップを更に含み、前記それぞれの入力値は直前の反復のそれぞれの前記入力値からイプシロン値を引いた値と等しく、前記イプシロン値は前記反復回数にわたって一定に保たれる定数又は前記反復回数にわたって変化する変数のいずれかである、請求項4に記載の方法。
【請求項6】
現在の選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗と、直前に選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗との間の差を決定し、
決定された差を閾値と比較することにより、
前記終了条件に達したかどうかを判定するステップをさらに含む、請求項5に記載の方法。
【請求項7】
前記幾何学的経路に沿ったsからsまでの前記複数の中間点sのそれぞれについて、最大化された速度のセットのそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップは、それぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定するステップを含む、請求項1に記載の方法。
【請求項8】
n個のロボットの構成qの構成ベクトルを受信するステップをさらに含み、前記構成ベクトルは長さnを有し、それぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定するステップは、前記構成ベクトルの前記長さと等しい長さを有する時間ベクトルを決定するステップを含む、請求項7に記載の方法。
【請求項9】
n個のロボットの構成qの構成ベクトルを受信するステップは前記ロボットの構成空間内の点(複数)のベクトルを提供する構成ベクトルを受信するステップを含み、各点は前記ロボットの少なくとも2つのジョイントのそれぞれの各ポーズを指定する、請求項8に記載の方法。
【請求項10】
前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、前記最大化された速度の決定された推定値のセットのそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップは、前記それぞれの中間点に到達すべきそれぞれの相対時間を決定するステップであって、前記相対時間は少なくとも1つの先行する中間点に到達すべきそれぞれの時間に関して相対的である、該ステップを含む、請求項1に記載の方法。
【請求項11】
少なくとも、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき決定されたそれぞれの時間を提供するステップをさらに含む、請求項1~3又は6~10のいずれか1項に記載の方法。
【請求項12】
ロボットの動作を制御するシステムであって、前記システムは、
少なくとも1つのプロセッサ、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
幾何学的経路に沿ったsからsまでの複数の中間点sのそれぞれについて、各中間点sに対応するロボットの構成qが存在し、前記中間点sの隣接する中間点間の遷移によって表される動きに適用された加速度制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するステップと、
前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用された前記加速度制限のもとでの、前記経路に沿った最大化された速度の前記推定値の線形的な決定の後、前記幾何学的経路に沿ったsからsまでの前記複数の中間点sのそれぞれについて、前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用されたジャーク制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するステップと、
前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、最大化された速度の決定された前記推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するステップ
を実行させるプロセッサ実行可能命令を記憶する、少なくとも1つの非一時的プロセッサ読み取り可能媒体を含む、システム。
【請求項13】
前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用された加速度制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
少なくともsn-1からsまで連続的に中間点sについて、それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲を決定するステップと
それぞれの中間点sごとの前記加速度制限により束縛されたそれぞれの実現可能な速度の範囲の決定の後、
からsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間のそれぞれの遷移について、速度の二乗を少なくともほぼ最大化するそれぞれの加速度の値を選択して、それぞれの前記加速度の値が対応する前記加速度制限内にあり、対応する前記速度がそれぞれの前記実現可能な速度の範囲にあるようにするステップを
実行させる、請求項12に記載のシステム。
【請求項14】
前記中間点sの隣接する中間点間の前記遷移によって表される動きに適用されたジャーク制限のもとで、前記経路に沿って最大化された速度の推定値を線形的に決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
n-1からsまで連続的に中間点sについて、それぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定するステップであって、前記範囲のそれぞれが、それぞれの中間点sごとのジャーク制限により束縛される、該ステップと、
それぞれの中間点sごとの前記ジャーク制限により束縛されるそれぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲の決定の後、sからsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれのジャークの値を選択して、前記それぞれのジャークの値が対応するジャーク制限内にあり、対応する前記速度が前記それぞれの実現可能な速度の範囲にあり、対応する前記加速度が前記それぞれの実現可能な加速度の範囲にあるようにするステップを
実行させる、請求項12又は13に記載のシステム。
【請求項15】
前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
終了条件に達するまでの何回かの反復のそれぞれについて、
複数の中間点sについて、それぞれの入力値に少なくとも部分的に基づいてそれぞれのジャーク制限速度を決定するステップをさらに実行させ、前記それぞれの入力値は直前の反復のそれぞれの前記入力値からイプシロン値を引いた値と等しく、前記イプシロン値は前記反復回数にわたって一定に保たれる定数又は前記反復回数にわたって変化する変数のいずれかである、請求項14に記載のシステム。
【請求項16】
現在の選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗と、直前に選択されたジャーク値に対応する少なくともほぼ最大化された速度の二乗との間の差を決定し、
決定された差を速度閾値と比較することにより、
前記終了条件に達したかどうかを判定するステップをさらに含む、請求項15に記載のシステム。
【請求項17】
最大化された速度のセットのそれぞれに基づいて、それぞれの中間点に到達すべきそれぞれの時間を決定するために、前記プロセッサ実行可能命令は、
前記少なくとも1つのプロセッサにそれぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定させる、請求項12に記載のシステム。
【請求項18】
前記少なくとも1つのプロセッサは、n個のロボットの構成qの構成ベクトルを受信し、前記構成ベクトルは長さnを有し、それぞれの前記構成qが達成されるべきそれぞれの相対時間を表す時間ベクトルを決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記構成ベクトルの前記長さと等しい長さを有する時間ベクトルを決定させる、請求項17に記載のシステム。
【請求項19】
最大化された速度のセットの決定された前記推定値のそれぞれに基づいてそれぞれの中間点に到達すべきそれぞれの時間を決定するために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記幾何学的経路に沿った少なくともsからsまでの前記中間点sのそれぞれについて、それぞれの中間点に到達すべきそれぞれの相対時間を決定させ、前記相対時間は少なくとも1つの先行する中間点に到達すべきそれぞれの時間に関して相対的である、請求項12に記載のシステム。
【請求項20】
前記少なくとも1つのプロセッサによって実行されるとき、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
少なくとも、それぞれの中間点についての前記ロボットの構成及び、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき対応する決定されたそれぞれの時間を提供するステップをさらに実行させる、請求項12に記載のシステム。
【請求項21】
ロボットの動作を制御するためのプロセッサベースのシステムにおける操作方法であって、前記プロセッサベースのシステムは少なくとも1つのプロセッサを含み、前記方法は、
加速度制限の下で、幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能な加速度制限速度の範囲を決定するステップであって、各中間点に対応するロボットの構成が存在する、該ステップと、
少なくともいくつかの中間点について、前記実現可能な加速度制限速度のセットから、少なくともほぼ最大化された実現可能な加速度制限速度を選択するステップと、
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能なジャーク制限速度の範囲を決定するステップと、
少なくともいくつかの中間点について、前記実現可能なジャーク制限速度の範囲から少なくともほぼ最大化された実現可能なジャーク制限速度を選択するステップと、
少なくともいくつかの中間点のそれぞれについて、選択された少なくともほぼ最大化されたジャーク制限速度のそれぞれに基づいて、それぞれの中間点に到達すべきそれぞれの時間を決定するステップを有する方法。
【請求項22】
終了条件に達するまで、繰り返し、
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きのための新たな実現可能なジャーク制限速度の範囲を決定するステップと、
少なくともいくつかの中間点について、前記新たな実現可能なジャーク制限速度の範囲から少なくともほぼ最大化された実現可能なジャーク制限速度を選択するステップと、をさらに含む、請求項21に記載の方法。
【請求項23】
少なくともほぼ最大化された実現可能なジャーク制限速度の連続する選択の間の差が閾値以下であるかどうかを判定すること、又は、規定された反復の回数に達したかどうかを判定することのうちの少なくとも1つによって、終了条件に達したかどうかを判定するステップをさらに含む、請求項22に記載の方法。
【請求項24】
加速度制限の下で、幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能な加速度制限速度の範囲を決定するステップは、
少なくともsn-1からsまで連続的に中間点sのそれぞれについて、それぞれの中間点sごとの加速度制限の下で得られるそれぞれの実現可能な加速度制限速度の範囲を決定するステップを含み、
前記実現可能な加速度制限速度の範囲から、少なくともほぼ最大化された実現可能な加速度制限速度を選択するステップは、sからsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれの加速度の値を選択するステップを含む、請求項21に記載の方法。
【請求項25】
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能なジャーク制限速度の範囲を決定するステップは、
n-1からsまで連続的に中間点sのそれぞれについて、それぞれの中間点sごとのジャーク制限の下及び加速度制限の下で得られるそれぞれの実現可能な速度の範囲及びそれぞれの実現可能な加速度の範囲を決定するステップを含み、 少なくともいくつかの中間点のそれぞれについて、選択された少なくともほぼ最大化されたジャーク制限速度のそれぞれに基づいて、それぞれの中間点に到達すべきそれぞれの時間を決定するステップは、sからsn-1まで連続的に中間点sについて、sからsまでの連続する中間点s間の各遷移について、速度の二乗を少なくともほぼ最大化するそれぞれのジャークの値を選択するステップを含む、請求項21に記載の方法。
【請求項26】
少なくとも近似ジャーク制限の下で、前記幾何学的経路に沿った複数の中間点の隣接する中間点間の遷移によって表されるロボットの動きの実現可能なジャーク制限速度の範囲を決定するステップは、終了条件に達するまでの何回かの反復のそれぞれについて、中間点sごとに、それぞれの入力値に少なくとも部分的に基づいてそれぞれのジャーク制限速度を決定するステップを含み、前記それぞれの入力値は直前の反復のそれぞれの前記入力値からイプシロン値を引いた値と等しく、前記イプシロン値は前記反復回数にわたって一定に保たれる定数又は前記反復回数にわたって変化する変数のいずれかである、請求項25に記載の方法。
【請求項27】
少なくとも、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき決定された前記それぞれの時間を提供するステップをさらに含む、請求項21~26のいずれか1項に記載の方法。
【請求項28】
ロボットの動作を制御するシステムであって、前記システムは、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに請求項1~10又は21~26のいずれか1項の方法を実行させるプロセッサ実行可能命令を記憶する、少なくとも1つの非一時的プロセッサ読み取り可能媒体と、
を備える、システム。
【請求項29】
前記少なくとも1つのプロセッサによって実行されるとき、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、
少なくとも、それぞれの中間点についての前記ロボットの構成及び、前記ロボットの動作を制御するために、前記それぞれの中間点に到達すべき対応する決定されたそれぞれの時間を提供するステップをさらに実行させる、請求項28に記載のシステム。
【国際調査報告】