(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-20
(45)【発行日】2025-01-06
(54)【発明の名称】動的経路計画のための状態機械
(51)【国際特許分類】
B25J 13/00 20060101AFI20241223BHJP
B25J 9/10 20060101ALI20241223BHJP
B25J 19/06 20060101ALI20241223BHJP
【FI】
B25J13/00 Z
B25J9/10 A
B25J19/06
【外国語出願】
(21)【出願番号】P 2020181186
(22)【出願日】2020-10-29
【審査請求日】2023-08-01
(32)【優先日】2019-11-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100169856
【氏名又は名称】尾山 栄啓
(72)【発明者】
【氏名】シェン-チュン リン
(72)【発明者】
【氏名】加藤 哲朗
【審査官】牧 初
(56)【参考文献】
【文献】特開2019-123022(JP,A)
【文献】特開2013-202772(JP,A)
【文献】国際公開第2019/035362(WO,A1)
【文献】特開2017-061026(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G05B 19/18-19/416
G05B 19/42-19/46
(57)【特許請求の範囲】
【請求項1】
産業ロボットをゴール又は指定位置へ導く経路を動的に計画する方法であって、
前記方法が、
経路追跡状態と、スピード変更状態と、経路再計画状態とを含む状態機械アルゴリズムを走らせるように構成されたプロセッサとメモリとを有する状態機械計算システムを用意し、
前記産業ロボットの作業空間内の物体を検出するように構成された少なくとも1つのセンサを含むセンサシステムを用意し、前記センサシステムは前記状態機械計算システムに信号を提供し、そして
前記状態機械計算システムを使用して、前記センサシステムからの信号に基づいて作業空間物体データを識別し、前記経路追跡状態で現行経路上のツールの動作を制御し、前記作業空間物体データに基づいて必要なときに前記スピード変更状態へ移行し、前記スピード変更状態から、新しいスピードで前記現行経路を使用する前記経路追跡状態へ、又は前記経路再計画状態へ移行し、そして前記経路再計画状態から新経路又は元経路を使用する前記経路追跡状態へ移行することを含めて、前記産業ロボット上の前記ツールによって追従されるべき経路を連続計算する、
ことを含み、
前記経路再計画状態において、前記新経路は、前記作業空間物体データに基づき前記産業ロボット上の前記ツールを前記ゴール又は指定位置へ導くように計画さ
れ、
前記ツールによって追従されるべき経路を連続計算することは、
前記産業ロボットの経路に物体が接近することに基づき前記スピード変更状態に移行してロボットスピードを低減すること、
前記スピード変更状態において経路変更が必要か否かを判断し、経路変更が必要でない場合には低減した前記ロボットスピードで前記ツールに前記現行経路を追従させる一方、経路変更が必要な場合には前記経路再計画状態に移行すること、および
前記経路再計画状態に移行して前記新経路の計画を開始した後、前記物体が前記作業空間を去っているか否かを判断し、前記物体が前記作業空間を去っている場合には前記ツールに前記元経路を追従させる一方、前記物体が前記作業空間を去っておらず且つ前記新経路の計画ができている場合に前記ツールに前記新経路を追従させること、を含む、
産業ロボットの経路を動的に計画する方法。
【請求項2】
前記少なくとも1つのセンサがカメラ、レーダーセンサ、LiDARセンサ、超音波センサ、又は赤外センサのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記作業空間物体データを識別することが、人間、乗り物、移動ロボット、又は他の機械を含む、前記作業空間内の任意の物体のサイズ及び位置を識別することを含む、請求項1に記載の方法。
【請求項4】
前記作業空間物体データを識別することがまた、前記作業空間内の任意の物体の速度を認識することを含む、請求項3に記載の方法。
【請求項5】
前記作業空間物体データに基づいて必要なときに前記スピード変更状態へ移行することは、前記産業ロボットの経路に物体が接近することに基づきロボットスピード低減が必要であると判断すること、及び物体が前記作業空間を離れることに基づきロボットスピード増大が適切であると判断することを含む、請求項1に記載の方法。
【請求項6】
前記新経路の計画が、現行ロボット形態、目標ロボット形態、及び前記作業空間物体データに基づいた経路計画ルーティンを使用して、前記新経路を計算すること、又は、メモリ内に記憶された、前に計算された経路を選択することを含む、請求項
1に記載の方法。
【請求項7】
前記状態機械アルゴリズムがまた、前記状態機械計算システムの始動時に入る初期化状態を含み、そして前記初期化状態が、前記状態機械計算システムが前記産業ロボットを操作する準備ができているときには、前記経路追跡状態へ移行する、請求項1に記載の方法。
【請求項8】
工場自動化装置をゴール又は指定位置へ導く経路を動的に計画する方法であって、前記方法が、状態機械計算システムを使用して、センサシステムからの信号に基づいて作業空間物体データを識別し、経路追跡状態で現行経路上のツールの動作を制御し、前記作業空間物体データに基づいて必要なときにスピード変更状態へ移行し、前記スピード変更状態から、新しいスピードで現行経路を使用する前記経路追跡状態へ、又は経路再計画状態へ移行し、そして前記経路再計画状態から新経路又は元経路を使用する前記経路追跡状態へ移行することを含めて、前記工場自動化装置上の前記ツールによって追従されるべき経路を連続計算する、ことを含み、
前記経路再計画状態において、前記新経路は、前記作業空間物体データに基づき前記工場自動化装置上の前記ツールを前記ゴール又は指定位置へ導くように計画さ
れ、
前記ツールによって追従されるべき経路を連続計算することは、
前記工場自動化装置の経路に物体が接近することに基づき前記スピード変更状態に移行して前記工場自動化装置のスピードを低減すること、
前記スピード変更状態において経路変更が必要か否かを判断し、経路変更が必要でない場合には低減した前記スピードで前記ツールに前記現行経路を追従させる一方、経路変更が必要な場合には前記経路再計画状態に移行すること、および
前記経路再計画状態に移行して前記新経路の計画を開始した後、前記物体が前記作業空間を去っているか否かを判断し、前記物体が前記作業空間を去っている場合には前記ツールに前記元経路を追従させる一方、前記物体が前記作業空間を去っておらず且つ前記新経路の計画ができている場合に前記ツールに前記新経路を追従させること、を含む、工場自動化装置の経路を動的に計画する方法。
【請求項9】
産業ロボットをゴール又は指定位置へ導く経路を動的に計画するための状態機械動的経路計画システムであって、前記状態機械動的経路計画システムが、
前記産業ロボットの作業空間内の物体を検出するように構成された少なくとも1つのセンサを含むセンサシステムと、
経路追跡状態と、スピード変更状態と、経路再計画状態とを含む状態機械アルゴリズムを走らせるように構成されたプロセッサとメモリとを有する状態機械ロボットコントローラと、
を含み、
前記状態機械アルゴリズムが、前記センサシステムからの信号に基づいて作業空間物体データを識別し、前記経路追跡状態で現行経路上の前記産業ロボットの動作を制御し、前記作業空間物体データに基づいて必要なときに前記スピード変更状態へ移行し、前記スピード変更状態から、新しいスピードで前記現行経路を使用する前記経路追跡状態へ、又は前記経路再計画状態へ移行し、そして前記経路再計画状態から新経路又は元経路を使用する前記経路追跡状態へ移行することを含めて、前記産業ロボット上のツールによって追従されるべき経路を連続計算するように構成され、
前記経路再計画状態において、前記新経路は、前記作業空間物体データに基づき前記産業ロボット上の前記ツールを前記ゴール又は指定位置へ導くように計画さ
れ、
前記ツールによって追従されるべき経路を連続計算することは、
前記産業ロボットの経路に物体が接近することに基づき前記スピード変更状態に移行してロボットスピードを低減すること、
前記スピード変更状態において経路変更が必要か否かを判断し、経路変更が必要でない場合には低減した前記ロボットスピードで前記ツールに前記現行経路を追従させる一方、経路変更が必要な場合には前記経路再計画状態に移行すること、および
前記経路再計画状態に移行して前記新経路の計画を開始した後、前記物体が前記作業空間を去っているか否かを判断し、前記物体が前記作業空間を去っている場合には前記ツールに前記元経路を追従させる一方、前記物体が前記作業空間を去っておらず且つ前記新経路の計画ができている場合に前記ツールに前記新経路を追従させること、を含む、
産業ロボットのための状態機械動的経路計画システム。
【請求項10】
前記少なくとも1つのセンサがカメラ、レーダーセンサ、LiDARセンサ、超音波センサ、又は赤外センサのうちの少なくとも1つを含む、請求項
9に記載のシステム。
【請求項11】
前記作業空間物体データを識別することが、人間、乗り物、移動ロボット、又は他の機械を含む、前記作業空間内の任意の物体のサイズ及び位置を識別することを含む、請求項
9に記載のシステム。
【請求項12】
前記作業空間物体データに基づいて必要なときに前記スピード変更状態へ移行することは、前記産業ロボットの経路に物体が接近することに基づきロボットスピード低減が必要であると判断すること、及び物体が前記作業空間を離れることに基づきロボットスピード増大が適切であると判断することを含む、請求項
9に記載のシステム。
【請求項13】
前記状態機械アルゴリズムがまた、前記状態機械ロボットコントローラの始動時に入る初期化状態を含み、そして前記初期化状態が、前記状態機械ロボットコントローラが前記産業ロボットを操作する準備ができているときには、前記経路追跡状態へ移行する、請求項
9に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、産業ロボット運動制御の分野、より具体的にはロボットの経路を動的に計画するための状態機械コントローラであって、物体センサが状態機械へ作業空間データをストリーミングし、そして状態機械が状態及び移行を判断し、また状態が現行経路追跡、スピード変更、及び新経路再計画を含む、状態機械コントローラに関する。
【背景技術】
【0002】
様々な製造及び組み立て操作を繰り返し実施するために産業ロボットを使用することはよく知られている。いくつかのロボット作業空間環境内では、人間又は乗り物、例えばフォークリフトがロボットの運動フィールドを通過することがあり得る。ロボットと人間、乗り物、又は他の障害物との衝突は絶対に避けなければならない。
【0003】
上述のような用途においてロボットを制御するための従来技術は、所定の「安全ゾーン(safety zone)」を用いることに関与するのが典型的である。安全ゾーンの1つのタイプは、操作員が留まらなければならない区域を定義し、そしてロボットは、安全ゾーンをいつも回避するように相応にプログラミングされる。
安全ゾーンの別のタイプは、安全ゾーン内部の人又は別の物体の存在を検出するためにセンサを使用し、そしてこのような障害物が存在する場合には、ロボットは安全ゾーンへの進入が防止される。このことは通常、ロボットが停止しなければならないことを意味する。安全ゾーンのさらに別のタイプは、ロボットによる許容され得る作業のゾーンを定義し、そして人及び他の物体は、典型的には安全柵又は他の物理的バリケードの使用によって、ロボットの作業ゾーンへの進入が防止されなければならない。
【0004】
上述の技術はロボットと任意のタイプの障害物との衝突を防止する上で通常は効果的ではあるものの、このような技術は、ロボットが作業できる又はできない空間を指定した所定の安全ゾーンに依存し、そしてこれらの技術は、任意の時点、位置、速度などでロボットの操作上の作業空間内へ移動するかもしれない障害物を取り扱うことはできない。さらに、安全ゾーン技術はロボットの可動性を制限する。
【0005】
状態機械は数学的な計算モデルである。これは、いくつかの外部入力に応じて、所与の時点において有限の数の状態のうちの正確に1つの状態にあり得る抽象機械である。自律道路車両、移動ロボット、及び無人航空機のような用途において、衝突回避のために状態機械を使用することが知られている。しかしながら、状態機械のこれらの、そしてその他の用途は、関節ロボットの経路に対して進入・進出する障害物にシームレスに適合するのに必要な状態及び移行を考えてはいない。
【0006】
上記状況に照らして、動的な経路計画のために状態機械を使用する改善されたロボットコントローラが必要である。
【発明の概要】
【課題を解決するための手段】
【0007】
本開示の教示内容によれば、ロボットの経路を動的に計画するための状態機械コントローラが開示される。産業ロボット、例えば多腕関節ロボットが、所定のプログラムに従って作業空間内で作業する。センサ又はカメラが作業空間をモニタリングし、作業空間に接近又は進入する任意の物体、例えば人、フォークリフト、又は移動ロボットを検出する。センサは状態機械コントローラに入力する。状態機械コントローラは、現行経路追跡、スピード変更、及び経路再計画の状態を含む。物体が作業空間に接近又は進入したときには、状態機械は、スピード変更状態への移行が必要か否かを判断する。スピード変更状態でロボットスピードを低減した後、物体が作業空間から無くなると状態機械は元の経路及びスピードを取り戻し、さらに、衝突を回避するために必要な場合にはスピードをゼロまで低減し、あるいは、作業空間内の物体を回避するゴール位置までの新経路を計算するために経路再計画状態へ移行することができる。
【図面の簡単な説明】
【0008】
下記説明及び添付の特許請求の範囲から、ここで開示される装置及び方法のさらなる特徴が明らかになる。
【0009】
【
図1】
図1は、本開示の実施態様に基づく、作業空間内の産業ロボットを有するシステムであって、作業空間に接近又は進入する検知された物体に基づいて、ロボットの経路を動的に計画するセンサ及び状態機械コントローラを含む、システムを示す図である。
【
図2】
図2は、本開示の実施態様に基づく、
図1の状態機械コントローラの基本操作特性を説明する、イベント及び対応アクションのテーブルである。
【
図3】
図3は、本開示の実施態様に基づく、
図1の状態機械コントローラの状態及び移行を示す状態ダイアグラムである。
【
図4】
図4は、本開示の実施態様に基づく、ロボット作業空間内の物体との衝突を回避するためにロボットの経路を動的に計画する方法を示すフローチャートダイアグラムである。
【発明を実施するための形態】
【0010】
ロボットの経路を動的に計画するための状態機械コントローラに関する本開示の実施態様の下記議論は一例にすぎず、開示された装置及び技術、又はこれらの用途又は使用を限定するものでは決してない。
【0011】
種々の製造、組み立て、及び材料移動の操作のために産業ロボットを使用することがよく知られている。いくつかのタイプのロボット操作、例えば倉庫内のパレット上で物品を梱包するか又は梱包から出すためにロボットが使用されるようなロボット操作が、開いた空間内で行われる。この開いた空間内では、人、フォークリフトトラック、又は自律ロボットが作業空間内に進入するおそれがある。このような用途では、物体との衝突のリスクなしにロボットが安全に作業し得る安全ゾーンを定義することは現実的でない。なぜならば、作業空間は偶然のアクセスを必要とする区域を含み、ひいては全ての人及び乗り物を排除するように柵を巡らすことができないからである。安全ゾーンに入らないようにしておくようにロボットをプログラミングすることが選択肢にはなく、また人間又は他の物体が作業空間内にランダムに現れ得るこれらの用途では、物体衝突を回避するようにロボットの経路を動的に計画する改善された技術が必要とされる。
【0012】
図1は、本開示の実施態様に基づく、作業空間内の産業ロボットを有するシステム100であって、作業空間に接近又は進入する検知された物体に基づいて、ロボットの経路を動的に計画するセンサ及び状態機械コントローラを含む、システム100を示す図である。システム100内の状態機械コントローラは、高速且つ信頼性の高い動的経路計画を可能にすることにより、ロボットと、作業空間内に現れるかもしれないいかなる物体又は障害物との衝突も回避する。
【0013】
有限状態機械又は有限状態オートマトン、又は単純に状態機械は、数学的な計算モデルである。これは、所与の時点において有限の数の状態のうちの正確に1つの状態にあり得る抽象機械である。状態機械は、いくつかの外部入力に応じて、且つ/又は条件が満たされると、1つの状態から別の状態へ変わることができる。1つの状態から別の状態への変化は移行(transition)と呼ばれる。状態機械はその状態のリスト、その初期状態、及び各移行のための条件によって定義される。
【0014】
システム100は作業空間120内で作業するロボット110を含む。議論の目的上、ロボット110は開いた倉庫エリア内で作業しており、到来するコンベアから物品を持ち上げ、各物品を発送のためのパレット上に載せるプログラムを走らせるものと考える。このことはもちろん一例にすぎず、そしてロボット110はあらゆるタイプの作業を行うことができる。ロボット110はツール112(例えば把持器)を含み、そして通常のプログラムはツール112を、元経路114に沿ってゴール又は指定位置122へ動かすことに関与する。
【0015】
人、フォークリフト、又は任意の他の物体であり得る物体130が、作業空間120を通って移動することが可能である。物体130は、作業空間120内の危険ゾーン124を通過する物体経路132に沿って動くものと考える。危険ゾーン124は概ね、ロボット110及びツール112が位置する場所と、これらが移動する場所との間の区域と定義される。物体経路132が危険ゾーン124を通過するときには、ロボット110を単に停止させ待機させるのではなく、新経路116を計算することが望ましい。危険ゾーン124は
図1では二次元で示されているが、しかし三次元で計算されてもよい。いくつかの用途では、物体130を超えて延びる新経路を計算することが有利である。
【0016】
作業空間120をカバーする視野を有する1つ又は2つ以上のセンサ140が設けられている。センサ140は、カメラ、レーダーセンサ、LiDARセンサ、超音波センサ、赤外センサ、又は他の物体検出センサのうちの1つ又は2つ以上を含んでよい。センサ140は少なくとも物体130の存在及び位置を判断することができ、そして任意には、物体130の全体的なサイズ、及び物体の速度を判断することができる。センサ140はデータをモジュール142に提供する。モジュールは生センサデータ(例えばカメラ画像、LiDARポイントデータなど)を、ロボットコントローラ150によって使用可能な物体データに変換する。ロボットコントローラ150は状態機械コントローラである。状態機械コントローラは詳細に後述するようにロボット110の運動を制御する。
【0017】
図2は、本開示の実施態様に基づく、
図1の状態機械コントローラ150の基本操作特性を説明する、イベント及び対応アクションのテーブル200である。テーブル200は、ロボット110を制御する際にコントローラ150によって採用される全体的な戦略を記す。ロボット110は、所定のプログラム、例えば物品を持ち上げ配置するためのプログラムを走らせるものと理解される。センサ140によって物体が検出されないときには、コントローラ150は所定のプログラムに従って、ロボット110に運動コマンドを提供する。
【0018】
ボックス210において、物体130が危険ゾーン124に接近するのが検出されると、コントローラ150はボックス212においてロボット110の運動を減速する。ロボット110を減速することにより、必要な場合には、過剰な制動力及び制動トルクを生じさせることなしに、ロボット110を後で停止させることができる。ボックス220において、物体130が元経路114を塞いでいるときには、すなわち物体130が危険ゾーン124を占有しているときには、コントローラ150はボックス222においてロボット110の運動をゼロ(停止)まで減速する。ボックス224において、コントローラ150は次いで、物体130と危険ゾーン124とを回避する新経路を計画し始める。
【0019】
ボックス230において、物体130が元経路114をまだ塞いでおり、新経路116が準備できている(すなわち新経路116及び対応する関節運動コマンドが計算されている)ときには、コントローラ150は、ボックス232においてロボット110に新経路116を追跡させるコマンドを提供する。新経路116を使用することにより、たとえ物体130が危険ゾーン124内に、且つ/又は元経路114に沿って位置していても、ロボット110はまだ作業を続けることができる。ボックス240において、物体130が危険ゾーン124を去っており、元経路114から無くなっていると、コントローラ150は、ボックス242において、ロボット110に元経路114の追跡を再び始めさせるコマンドを提供する。
【0020】
図3は、本開示の実施態様に基づく、
図1の状態機械コントローラ150の状態及び移行を示す状態ダイアグラムである。コントローラ150は、前述のようにモジュール142から物体データを受信する。モジュール142からの物体データは、作業空間120内で検出された物体130の位置を少なくとも含み、そして物体130のサイズ及び形状、及び/又は物体130の速度を含んでもよい。センサ140の異なるタイプ及び組み合わせは、異なるタイプの物体データを提供することができる。
【0021】
コントローラ150は、初期化状態310と3つの他の操作状態、すなわち経路追跡状態320、スピード変更状態330、及び経路再計画状態340とを有する状態機械として形成されている。モジュール142からの物体データは状態機械コントローラ150へ提供され、破線の矢印144によって示されているように、状態320,330及び340のそれぞれにおける計算に際して利用可能である。作業空間120における任意の物体の状況に基づいて、状態機械コントローラ150は、ロボット110のための適切なアクションを判断することになる。状態機械コントローラ150はプロセッサとメモリとを含み、規則的なタイムクロック周波数で計算ステップを有する状態機械アルゴリズムを走らせると理解することができる。ここでは、新しい物体データが提供され、新しい状態計算が各時間ステップにおいて実施される。
【0022】
初期化状態310は、状態機械計算システムが始動されると、そしてコントローラ150がそのプログラムを実行開始するといつでも、例えば前の操作走行を完了した後に入る状態である。状態機械の当業者には明らかであるように、初期化状態310はそれ自体に戻る移行312を有している。コントローラ150が初期化(再起動、ロボット110及びセンサ140との交信のチェックなど)しており、且つロボット110を動かし始める準備がまだできていないときに移行312は用いられる。システムが準備できているときには、コントローラ150は初期化状態310から移行314を介して経路追跡状態320へ移行する。コントローラ150は経路追跡状態320に留まり、所定のプログラム(例えば物品持ち上げ・載置操作)を走らせ、そして物体が作業空間120に進入しない限り、移行322を介して経路追跡状態に戻る。
【0023】
物体が作業空間120に進入し、ロボットの減速が必要なことを示したときに、コントローラ150は移行324を介してスピード変更状態330へ移行する。スピード変更状態330において、コントローラは移行332を介してスピード変更状態330に戻るように自己移行することができる。自己移行は、計算が進行しており、他の状態のうちの1つへの移行がまだ求められていないときに行われる。適切なアクションは、低減されたスピードで現行経路上で継続することであると判断されると、スピード変更状態330からは、経路追跡状態320への移行334が為される。
【0024】
スピード変更状態330からは、新経路を再計画することが必要な場合がある。例えばスピードがゼロまで低減されており、且つ/又は物体130が危険ゾーン124内に位置し、場合によっては停止されると、適切なアクションは経路再計画状態340への移行336を為すことであると判断される。計算が行われている間に、経路再計画状態に留まるように自己移行342を為すことができる。新経路が準備できている(完全に計算されている)、あるいは物体130が危険ゾーン124を去っているときには、経路追跡状態320への移行344が為される。こうして経路追跡状態320へ戻ると、物体130が危険ゾーン124を去っている場合には、コントローラ150は、元経路を追跡するようにロボット110に指示し、あるいはそうでない場合には、新経路を追跡するようにロボット110に指示する。
【0025】
図4は、本開示の実施態様に基づく、ロボット作業空間内の物体との衝突を回避するためにロボットの経路を動的に計画する方法を示すフローチャートダイアグラム400である。フローチャートダイアグラム400は、上記状態機械コントローラ150からの状態の集合として、状態及び状態のそれぞれの移行と関連する決定及びアクションとともに示されている。フローチャートダイアグラム400の方法は状態機械コントローラ150内でプログラミングされている。
【0026】
方法は、コントローラ150が初期化される状態310で始まる。コントローラ150が初期化され、実行の準備ができた後、ロボットの所定のプログラムに基づいて元経路がボックス412で選択される。方法は次いで、経路追跡状態320へ移行する。経路追跡状態320において、コントローラはロボットを、そのプログラムを通して走行させる(例えば持ち上げ・載置操作)。経路追跡状態320のプログラミングの部分である決定ダイヤモンド422において、モジュール142からの作業空間物体データに基づいてスピード変更が必要とされるか否かが判断される。作業空間120内に物体が以前に存在しておらず、且つ作業空間120内に物体が現在も存在していない場合には、決定ダイヤモンド422において、スピード変更は必要とならず、そしてプロセスは決定ダイヤモンド424へ移行する。
【0027】
決定ダイヤモンド424において、ロボットのタスクが完了したか否かが判断される。例えば、到来するコンベア上で到着する物品がもはやなく、またコンベア上の全ての物品が発送パレットへ動かされているならば、タスクは完了している。タスクが完了しているときには、プロセスは終端426で終わる。タスクが完了していないときには、プロセスは経路追跡状態320に留まり、そして再び、次の時間ステップにおいてスピード変更が必要とされるか否かを判断するようにチェックする。
【0028】
決定ダイヤモンド422において、作業空間120内で物体が危険ゾーン124に接近するのが検出される場合には、スピード変更(減速)が必要とされ、スピード変更状態330への移行が発生する。スピード変更状態330において、物体データに基づいてスピード変更がまず適用される。例えば、危険ゾーン124に接近してはいるものの、危険ゾーン124からまだ十分に離れている物体130を検出したときに、50%の減速を適用することができる。スピード変更が適用された後で、しかしまだ状態330にあるときに、決定ダイヤモンド432において経路変更も必要とされるか否かが判断される。決定ダイヤモンド432において経路変更が必要とされない場合には、経路追跡状態320へ戻る移行が発生し、そしてロボットプログラムは、低減されたスピードで、選択された経路上を走行し続ける。プロセスは、別のスピード変更が必要となることを判断する前にいくつかの時間ステップにわたって、低減されたスピードで経路追跡状態320で走行することができる。
【0029】
スピード変更後の決定ダイヤモンド432において、経路変更も必要とされると判断された場合には、経路再計画状態340への移行が発生する。経路再計画状態340において、作業空間物体データに基づいて、新経路の計画が開始される。例えば、物体130が危険ゾーン124に進入し、停止している場合、経路、例えば
図1の新経路116を計算することができる。経路再計画状態340において、新経路はいくつかの方法のうちの1つで計画することができる。例えば、物体130をその位置及び運動に基づいて回避しながら、ツール112の現在の位置からゴール122の位置までのルート上に、経路地点を特定することができる。当業者には知られているように、経路地点が特定されたら、経路計画ルーティンを用いて新経路を、新経路に沿ってツール112を動かすのに必要となる関節運動とともに完全に定義することができる。物体データ及びゴール122に対するツール112の位置に基づいて、新経路を計算するための経路計画法は、一例としては最適化計画ルーティン、又はサンプリング・サーチング法であってよい。記憶された代替経路を選択することもできる。記憶された経路は予め計画された代替経路、又は前に計算され、同様のシナリオで使用された代替経路である。
【0030】
新経路の計画が経路再計画状態340において開始された後、プロセスは、決定ダイヤモンド442において物体130が作業空間120を去っているか否かを判断するために、まだ経路再計画状態340において進行している。物体130が作業空間120を去っているならば、プロセスは、ボックス412において元経路を選択するように戻り、そして経路追跡状態320へ戻るように移行する。物体130が決定ダイヤモンド442において作業空間120を去っていないならば、プロセスは決定ダイヤモンド444へ移動する。ここでは、新経路が完全に計算されて使用の準備ができているか否かが判断される。決定ダイヤモンド442及び444はまだ経路再計画状態340にあり、そして、経路再計画状態340からいつ移行するべきかを判断するために用いられる論理の部分である。
【0031】
新経路がまだ完全には計算されておらず、使用の準備もできていない場合には、プロセスは経路再計画状態340に留まる。決定ダイヤモンド444において新経路の使用準備ができているならば、新経路はボックス446において選択され、そして経路追跡状態320への移行が発生する。タスクが完了するまで、あるいはスピード変更状態330への移行が発生するまで、コントローラ150は次いで経路追跡状態320において新経路を使用して、ロボットプログラムを走らせる。
【0032】
フローチャートダイアグラム400の方法を用いて、状態機械コントローラ150は作業空間120内の物体の到着又は出発に関与するいかなる状況にも適合することができる。別の状況例では、(上述のように)新経路が選択されており、新経路は経路追跡状態320において使用され、そして物体は作業空間120を去る。この場合には、決定ダイヤモンド422においてスピード増大が求められ、スピード変更状態330への移行が発生し、そして決定ダイヤモンド432において、元経路へ戻る経路変更が適切である。システムは経路再計画状態340へ移行し、そして決定ダイヤモンド442及びボックス412を介して元経路を再選択する。こうして、スピードの増減、及び一時的な新経路又は元経路の選択が全て、状態機械コントローラ150内でシームレスに対処されてよい。
【0033】
フローチャートダイアグラム400では、経路追跡、スピード変更、及び経路再計画から成る3つの主要な操作状態を有する状態機械の基本的な構成を変更することなしに、他の決定ダイヤモンド及びアクションボックスを付加し、又はステップを再編成することもできる。
【0034】
前述の議論全体を通して、種々のコンピュータ及びコントローラが記載され、暗示される。言うまでもなく、これらのコンピュータ及びコントローラのソフトウェア・アプリケーション及びモジュールは、プロセッサ及びメモリモジュールを有する1つ又は2つ以上のコンピューティングデバイス上で実行される。具体的には、これは物体検出モジュール142内のプロセッサと、上述の状態機械ロボットコントローラ150内のプロセッサとを含む。具体的には、コントローラ150内のプロセッサは、上述のように動的経路計画のための状態機械制御技術を用いるように形成されている。
【0035】
上で概説したように、ロボットの経路を動的に計画する状態機械コントローラのための開示された技術は、ランダムなサイズ、軌道、及び速度を有する物体が任意の時点でロボット作業空間に進入したときの衝突を回避するためのロボット経路計画のスピード及び信頼性高さを改善する。
【0036】
動的経路計画のための状態機械コントローラの数多くの模範的な特徴及び実施態様が上述されているが、当業者であれば変更形、置換形、付加形、及びこれらの副組み合わせを認識することになる。従って、下記添付の請求項、及びこの後に紹介される請求項は、全てのこのような変更形、置換形、付加形、及びこれらの副組み合わせを、これらの真の思想及び範囲内にあるものとして含むように解釈されることが意図される。