(57)【要約】【解決手段】  装置が位置決め可能である複数の空間位置を確立し、位置間におけるロボット装置の動きを束縛する規則のセットを確立することを含むような、ロボット装置の動きを計画し及び最適化する方法及びシステムである。本発明の方法においては、いったん開始点と終了点とが定められると、確立した位置及び規則のセットによる束縛に従って、装置が動くためのすべての可能なルートを計算する。次に、計算されたルートを最短時間などの規準と比較し、所望の規準を満たす最適なルートを決定する。計算されたルートは今後のアクセスのためにキャッシュに記憶される。また、本発明は、ロボットがエラーに遭遇した場合に、ロボット装置が復旧できるような、エラー復旧方法を提供する。
2006515233.tif 000002
【特許請求の範囲】
【請求項１】
開始位置から終了位置へと至るロボット運動の計画方法であって、前記開始位置と終了位置とは前記ロボットの運動範囲内にあり、この方法が、
（ａ）空間座標系において、少なくとも２つの位置を定義し、前記少なくとも２つの位置は、前記開始位置と終了位置とを含んでいるような上記定義する段階と、
（ｂ）前記少なくとも２つの位置をコンピュータのメモリに記憶する段階と、
（ｃ）前記少なくとも２つの位置における前記ロボットの動きを支配する規則のセットを定義する段階と、
（ｄ）前記規則のセットをコンピュータのメモリに記憶する段階と、
（ｅ）前記少なくとも２つの位置を通り、前記開始位置から前記終了位置へと至る、可能なルートを計算する段階と、
（ｆ）前記可能なルートから、所定の規準を満たす最適なルートを決定する段階と、
を備えていることを特徴とする方法。
【請求項２】
前記少なくとも２つの位置は、前記開始位置と終了位置との間に、複数の位置を含んでいることを特徴とする請求項１に記載の方法。
【請求項３】
前記少なくとも２つの位置は、前記ロボットにおける複数の可能な位置を含んでいることを特徴とする請求項１に記載の方法。
【請求項４】
前記規則のセットは、隣接して対をなす前記位置の間における、前記ロボットの運動条件を含んでいることを特徴とする請求項１に記載の方法。
【請求項５】
段階（ｅ）において、前記開始位置と終了位置との間におけるすべての可能なルートを計算し、前記ルートは位置のシーケンスを含んでいることを特徴とする請求項１に記載の方法。
【請求項６】
段階（ｆ）において、所定の規準は、前記開始位置と終了位置との間における前記ロボットの最小移動時間を含んでいることを特徴とする請求項１に記載の方法。
【請求項７】
前記規則は少なくともひとつの経路を含み、前記経路は、予め設定された順序に配列されてなる、前記少なくとも２つの位置の２以上のものを含み、前記経路上にある位置間における前記ロボットの運動は、前記予め設定された順序に束縛されることを特徴とする請求項１に記載の方法。
【請求項８】
前記規則は少なくともひとつの領域を含み、前記領域は、グループに配列されてなる、前記少なくとも２つの位置の２以上のものを含み、前記ロボットは前記グループ内における任意の位置間において自由に移動可能になっていることを特徴とする請求項１に記載の方法。
【請求項９】
前記規則は少なくともひとつの経路と少なくともひとつの領域とを含み、前記経路は、予め設定された順序に配列されてなる、前記少なくとも２つの位置の２以上のものを含み、前記経路上にある位置間における前記ロボットの運動は、前記予め設定された順序に束縛され、前記領域は、グループに配列されてなる、前記少なくとも２つの位置の２以上のものを含み、前記ロボットは前記グループ内における任意の位置間において自由に移動可能になっていることを特徴とする請求項１に記載の方法。
【請求項１０】
段階（ｅ）において、前記開始位置と終了位置との間におけるすべての可能なルートを計算し、前記ルートは位置のシーケンスを含んでいることを特徴とする請求項９に記載の方法。
【請求項１１】
段階（ｆ）において、所定の規準は、前記開始位置と終了位置との間における前記ロボットの最小移動時間を含んでいることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記少なくとも２つの位置は、前記ロボットが対象物に係合し又はこれを解放する場所と、前記ロボットの安全場所と、前記ロボットの移行場所とを含むグループから選択されていることを特徴とする請求項２に記載の方法。
【請求項１３】
前記少なくとも２つの位置は、前記ロボットが対象物に係合し又はこれを解放する場所と、前記ロボットの安全場所と、前記ロボットの移行場所とを含むグループから選択されていることを特徴とする請求項３に記載の方法。
【請求項１４】
前記方法において、前記段階（ｆ）が下位の段階として、
（ｉ）ロボットが開始位置から終了位置に至るまでに採り得る、すべての最短長さのルートを見つけ出す段階と、
（ｉｉ）前記開始位置から終了位置までの移動時間が最も短いルートを、段階（ｉ）における前記最短長さのルートのうちから選択する段階と、
を備えていることを特徴とする請求項６に記載の方法。
【請求項１５】
前記方法は、エラー解決アルゴリズムを含み、エラー状態に遭遇したとき、ロボットがその位置を解決可能になっていることを特徴とする請求項１に記載の方法。
【請求項１６】
前記エラー解決アルゴリズムによって、ロボットは、前記少なくとも２つの位置のうちの最も近いひとつの位置に割り当てられることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記方法において、前記位置のうち最も近いひとつの位置にロボットを割り当てる段階が、
（ａ）最短距離限界を選択する段階と、
（ｂ）前記少なくとも２つの位置のそれぞれから前記ロボットまでの距離を計算する段階と、
（ｃ）前記ロボットに最も近い位置を識別する段階であって、前記最も近い位置は前記ロボットから最短距離をもっているような上記識別する段階と、
（ｄ）前記最短距離と前記距離限界とを比較する段階と、
（ｅ）前記最短距離が前記距離限界に比べて小さいか等しい場合に、ロボットを前記最も近い位置に割り当てる段階と、
を備えていることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記方法は、エラー解決アルゴリズムを含み、エラー状態に遭遇したとき、ロボットがその位置を解決可能になっていることを特徴とする請求項９に記載の方法。
【請求項１９】
前記エラー解決アルゴリズムによって、ロボットは、前記少なくとも２つの位置のうちの最も近いひとつの位置に割り当てられることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記方法において、前記位置のうち最も近いひとつの位置にロボットを割り当てる段階が、
（ａ）最短距離限界を選択する段階と、
（ｂ）前記少なくとも２つの位置のそれぞれから前記ロボットまでの距離を計算する段階と、
（ｃ）前記ロボットに最も近い位置を識別する段階であって、前記最も近い位置は前記ロボットから最短距離をもっているような上記識別する段階と、
（ｄ）前記最短距離と前記距離限界とを比較する段階と、
（ｅ）前記最短距離が前記距離限界に比べて小さいか等しい場合に、ロボットを前記最も近い位置に割り当てる段階と、
を備えていることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記方法において、段階（ｅ）における前記最短距離が前記距離限界に比べて大きい場合に、この方法がさらに、
（ｆ）それぞれの経路及び領域に重みづけ係数Ｍを割り当てる段階と、
（ｇ）ロボットから、前記経路及び領域における前記少なくとも２つの位置を結ぶそれぞれの線までの、最短距離Ｄを計算する段階と、
（ｈ）前記最短距離を重みづけ係数で割り算して、重みづけされた距離Ｄ／Ｍを得る段階と、
（ｉ）重みづけされた距離Ｄ／Ｍが最小であるような線分を識別する段階と、
（ｊ）段階（ｉ）における最小である重みづけされた距離Ｄ／Ｍと、前記最短距離限界とを比較する段階と、
（ｋ）識別された線分についての重みづけされた距離が最短距離限界未満であるならば、ロボットを前記識別された線分に割り当てる段階と、
（ｌ）ロボットから前記識別された線分の終点までの距離を計算する段階と、
（ｍ）前記ロボットを前記終点に最も近い点へ移動させ、前記終点に最も近い点が占めている位置にロボットを割り当てる段階と、
を備えていることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記方法において、前記エラー解決アルゴリズムが、
（ａ）最短距離限界を選択する段階と、
（ｂ）それぞれの経路及び領域に重みづけ係数Ｍを割り当てる段階と、
（ｃ）ロボットから、前記経路及び領域における前記少なくとも２つの位置を結ぶそれぞれの線までの、最短距離Ｄを計算する段階と、
（ｄ）前記最短距離を重みづけ係数で割り算して、重みづけされた距離Ｄ／Ｍを得る段階と、
（ｅ）重みづけされた距離Ｄ／Ｍが最小であるような線分を識別する段階と、
（ｆ）段階（ｅ）における最小である重みづけされた距離Ｄ／Ｍと、前記最短距離限界とを比較する段階と、
（ｇ）識別された線分についての重みづけされた距離が最短距離限界未満であるならば、ロボットを前記識別された線分に割り当てる段階と、
（ｈ）ロボットから前記識別された線分の終点までの距離を計算する段階と、
（ｉ）前記ロボットを前記終点に最も近い点へ移動させ、前記終点に最も近い点が占めている位置にロボットを割り当てる段階と、
を備えていることを特徴とする請求項１８に記載の方法。
【請求項２３】
前記方法において、前記段階（ｆ）が下位の段階として、
（ｉ）ロボットが開始位置から終了位置に至るまでに採り得る、すべての最短長さのルートを見つけ出す段階と、
（ｉｉ）前記開始位置から終了位置までの移動時間が最も短いルートを、段階（ａ）における前記最短長さのルートのうちから選択する段階と、
を備えていることを特徴とする請求項９に記載の方法。
【請求項２４】
対をなす位置間における最適化されたルートは、コンピュータのメモリに記憶されて検索可能にされることを特徴とする請求項１乃至２３のいずれか一項に記載の方法。
【請求項２５】
開始位置及び終了位置に侵入する際に、前回に決定された最適化された経路をコンピュータのメモリから検索することを特徴とする請求項２４に記載の方法。
【請求項２６】
請求項１乃至２５のいずれか一項に記載の方法を符号化した、ロボットのための制御装置。
【請求項２７】
ロボットの位置決めを修正するためのエラー修正方法であって、この方法が、
（ａ）空間座標系において、ロボットにおける複数の可能な位置を定義する段階と、
（ｂ）最短距離限界を選択する段階と、
（ｃ）前記位置のそれぞれから前記ロボットまでの距離を計算する段階と、
（ｄ）前記ロボットに最も近い位置を識別する段階であって、前記最も近い位置は前記ロボットから最短距離をもっているような上記識別する段階と、
（ｄ）前記最短距離と前記距離限界とを比較する段階と、
（ｅ）前記最短距離が前記距離限界に比べて小さいか等しい場合に、ロボットを前記最も近い位置に割り当てる段階と、
を備えていることを特徴とする方法。
【請求項２８】
前記方法において、段階（ｅ）における前記最短距離が前記距離限界に比べて大きい場合に、この方法がさらに、
（ｆ）重みづけ係数Ｍを選択する段階と、
（ｇ）ロボットから、前記対をなす位置を結ぶそれぞれの線までの、最短距離Ｄを計算する段階と、
（ｈ）前記最短距離を重みづけ係数Ｍで割り算して、重みづけされた距離Ｄ／Ｍを得る段階と、
（ｉ）重みづけされた距離Ｄ／Ｍが最小であるような線分を識別する段階と、
（ｊ）段階（ｉ）における最小である重みづけされた距離Ｄ／Ｍと、前記最短距離限界とを比較する段階と、
（ｋ）識別された線分についての重みづけされた距離が最短距離限界未満であるならば、ロボットを前記識別された線分に割り当てる段階と、
（ｌ）ロボットから前記識別された線分の終点までの距離を計算する段階と、
（ｍ）前記ロボットを前記終点に最も近い点へ移動させ、前記終点に最も近い点が占めている位置にロボットを割り当てる段階と、
を備えていることを特徴とする請求項２７に記載の方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
（関連出願）
本願は、２００３年１月３１に出願された米国特許出願第６０／４４３，８３９号を基礎とする優先権を主張する。
【技術分野】
【０００２】
本発明は、ロボット装置のための運転計画システムに関し、特に、構文ベースのアルゴリズムを用いて、そうした装置の動きを制御し及び最適化する方法に関する。また、本発明は、ロボット装置のためのエラー復旧方法を提供する。
【背景技術】
【０００３】
ロボットは、正確に指定された地点間を直線的に動くことについては、極めて達者である。しかしながら、実際の用途においては、動きがそれほど簡単であることは、ほとんどない。代表的な用途においては、ロボットのエンドエフェクタは、一連のプログラムされた点を経由するように動かされ、ピックアップ点に達し、ピックアップ点においてペイロードを把持し、さらにその他の一連の点を通過して、例えばドロップオフ点へと動かされる。
【０００４】
ロボットのエフェクタによって実行される運動シーケンスにおいては、とりわけ、以下のような“エラー”を回避すべく注意しなければならない。
・運動シーケンス中に、エンドエフェクタ及び／又はペイロードが障害物にぶつかること。
・他の移動物がロボット又はペイロードに衝突すること。
・ロボットが特異点を通って動き、または、特異点のために動きを不適切な姿勢で終えること。
・ロボットが無効な幾何学的配置になって、そのために、例えばペイロードの内容物をこぼしたり、その他の不都合な結果を生じさせること。
【０００５】
当業者に知られているように、ロボット装置（例えば当業者に知られている多数の自由度をもったロボットアームなど）のための“機構置換”の解は、空間中に与えられた位置へ装置を動かすためのやり方である。特異点とは、機構置換の無限数の解が可能であるような、ロボット装置の位置である。すなわち、装置における自由度の組み合わせが無限数になるような位置である。特異点に遭遇すると、そうした無限数の可能性のために、結果を予測できず、装置が危険な動きを起こすことがあり、これは回避しなければならない。
【０００６】
従って、ロボットの運動をガイドするための“計画”システムが必要である。上述した要求条件（つまり衝突を防止し、特異点を回避し、姿勢を保つこと）に対処するための計画システム又は計画方法には、簡単で融通のきかないコードから、極度に複雑なアルゴリズムまでの範囲がある。ひとつの最も簡単なアプローチは、手書き符号のスクリプトとして、シーケンスを生成することである。特定の用途に特化された符号スクリプトは比較的簡単に設計できるけれども、それらは、ふるまいの融通がきかないとか、設計対象である特定システムに対する変更にまったく適合できないといった不都合を有する。そうしたシステムにおいては、運動は極めて“形式的”なパターンに従う傾向があるが、というのは、離点間における、あらゆる“近道”は、事例毎に、明示的に符号化されなければならないためである。従って、そうしたシステムにおいては、幸運な幾何学状態が利用可能であるときであっても、これを利用することは困難である。
【０００７】
より複雑なアプローチは、ロボットとペイロードとを含む作業空間の全体を、幾何学的にモデル化することである。このタイプの運動計画装置では、実際の幾何学的な束縛に従って、ロボットの運動をレイアウトする。この方法は、極めて最良の性能をもたらす可能性を有しているけれども、少なくとも３つの問題点がある。第１に、作業空間とロボットとペイロードとについて、極めて正確にモデル化しなければならず、モデルに何らかのエラーがあれば、衝突を引き起こす。第２に、このアプローチにおいては、計算量が莫大で、計算処理装置に対する要求度が高く、また大きな記憶容量が必要になる。最後に、ロボットの運動を束縛する考慮事項には、例えば裸火（open flame）を回避することなど、モデル化することが極めて困難な事項が存在し得る。
様々な計画アルゴリズムが、従来技術によって提案されている。そうした方法の例として、米国特許第６，４９３，６０７号及び第５，５１３，２９９号がある。いずれの事例においても、提案された方法は、系に含まれる幾何学についての複雑なモデル化を伴なう。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従って、使用される環境変化に対して調整可能であって、実現が容易であるような、簡略化されたロボット計画システムないし方法に対する要望が存在する。
【課題を解決するための手段】
【０００９】
本発明のひとつの実施形態によって提供される、開始位置から終了位置へと至るロボット運動の計画方法では、開始位置と終了位置とはロボットの運動範囲内にあり、この方法は、
（ａ）空間座標系において、少なくとも２つの位置を定義し、少なくとも２つの位置は、開始位置と終了位置とを含んでいるような上記定義する段階と、
（ｂ）少なくとも２つの位置をコンピュータのメモリに記憶する段階と、
（ｃ）少なくとも２つの位置におけるロボットの動きを支配する規則のセットを定義する段階と、
（ｄ）規則のセットをコンピュータのメモリに記憶する段階と、
（ｅ）少なくとも２つの位置を通り、開始位置から終了位置へと至る、可能なルートを計算する段階と、
（ｆ）可能なルートから、所定の規準を満たす最適なルートを決定する段階と、
を備えていることを特徴とする。
【００１０】
本発明による方法の別の観点においては、規則は少なくともひとつの経路と少なくともひとつの領域とを含み、経路は、予め設定された順序に配列されてなる、少なくとも２つの位置の２以上のものを含み、経路上にある位置間におけるロボットの運動は、予め設定された順序に束縛され、領域は、グループに配列されてなる、少なくとも２つの位置の２以上のものを含み、ロボットはグループ内における任意の位置間において自由に移動可能になっている。
【００１１】
本発明の別の観点においては、段階（ｆ）が下位の段階として、
（ｉ）ロボットが開始位置から終了位置に至るまでに採り得る、すべての最短長さのルートを見つけ出す段階と、
（ｉｉ）開始位置から終了位置までの移動時間が最も短いルートを、段階（ｉ）における最短長さのルートのうちから選択する段階と、
を備えている。
本発明の別の観点においては、２位置間における既に決定された経路はキャッシュに記憶されて、爾後、同一の２位置間について最適化された経路が要求されたときにアクセスされる。
本発明による方法の別の観点に含まれる、エラー復旧アルゴリズムは、
（ａ）最短距離限界を選択する段階と、
（ｂ）少なくとも２つの位置のそれぞれからロボットまでの距離を計算する段階と、
（ｃ）ロボットに最も近い位置を識別する段階であって、最も近い位置はロボットから最短距離をもっているような上記識別する段階と、
（ｄ）最短距離と距離限界とを比較する段階と、
（ｅ）最短距離が距離限界に比べて小さいか等しい場合に、ロボットを最も近い位置に割り当てる段階と、
を備えていることを特徴とする。
エラー復旧アルゴリズムのさらに別の実施形態においては、段階（ｅ）における最短距離が前記限界に比べて大きい場合に、この方法はさらに、
（ｆ）それぞれの経路及び領域に重みづけ係数Ｍを割り当てる段階と、
（ｇ）ロボットから、経路及び領域における少なくとも２つの位置を結ぶそれぞれの線までの、最短距離Ｄを計算する段階と、
（ｈ）最短距離を重みづけ係数で割り算して、重みづけされた距離Ｄ／Ｍを得る段階と、
（ｉ）重みづけされた距離Ｄ／Ｍが最小であるような線分を識別する段階と、
（ｊ）段階（ｉ）における最小である重みづけされた距離Ｄ／Ｍと、最短距離限界とを比較する段階と、
（ｋ）識別された線分についての重みづけされた距離が最短距離限界未満であるならば、ロボットを識別された線分に割り当てる段階と、
（ｌ）ロボットから識別された線分の終点までの距離を計算する段階と、
（ｍ）ロボットを終点に最も近い点へ移動させ、終点に最も近い点が占めている位置にロボットを割り当てる段階と、
を備えていることを特徴とする。
本発明の好ましい実施形態におけるこれらの及びその他の特徴に関しては、添付図面を参照した以下の詳細な説明によって、さらに明らかになるだろう。
【発明を実施するための最良の形態】
【００１２】
［定義］
本願において使用されている以下の用語は、以下の意味をもつものとする。
“ロボットのエンドエフェクタ”、“ロボット”、“ロボット装置”、“ムーバ”とは、ロボット装置における可動な端部であって、所望の機能を実行する部分を意味する。これには、例えば、ロボットアームの把持端部が含まれる。本発明の譲受人であるＴｈｅｒｍｏ ＣＲＳ Ｌｔｄ．社は、いくつかのタイプのそうしたムーバを製造しており、それらの例は、www.thermo.comに提供されているので、その内容をここで参照して引用する。
【００１３】
“終端点”とは、ロボットのエンドエフェクタが、実際に対象物と相互作用するような点ないし位置を意味する。例えば、後述する事例においては、ロボットアームを用いて、対象物をコンベアベルトから、対象物を収容するカラセル("carousel")におけるネストへ移動させるが、この場合、終端点は“ベルト点”と“ネスト点”とからなる。
【００１４】
“安全点”とは、機器ないし器具の部品の近くにおいて、例えば次の命令を待ち受けるべく、ロボットのエンドエフェクタが、邪魔にならないように安全に位置決めされる疑似的な目的地点を意味する。この用語については、本発明の特定の実施形態に関連させてさらに詳細に後述する。
【００１５】
“位置”又は“点”とは、ロボットのエンドエフェクタ又はムーバが移動し又は通ることができる場所を意味する。位置は、空間内の場所、又はムーバのモータもしくはジョイントの場所のセットである。位置を定義するためには、様々な既知の座標系を使用することができる。そうした座標系の例としては、ジョイント座標系（回転軸の角度と直線軸のミリメートル長さとによって測定される）や、モータ座標系（エンコーダのパルス値からなる）、デカルト座標系（ＸＹＺ軸まわりの回転角度とＸＹＺ軸上の移動ミリメートル長さとの値からなる）、及び円筒座標系、つまりヨー、ピッチ、ロールの角度と、Ｚ軸まわりの回転及びＺ軸上と放射軸上とにおける移動ミリメートル長さの値、が含まれる。例えば、ムーバの特定の位置は、ジョイント座標系によれば、以下の如く示される。
高度＝２６０mm
肩部＝４５度
肘部＝９０度
手首＝４５度
【００１６】
“速さ”は、位置間を移動するときの速度と加速度とである。この用語は、速度と加速度との組み合わせを示し、ロボットが位置間を移動するときに使用される。“速さ”は、ネストの中又は付近など（詳しくは後述する）束縛された空間における運動については低速度に定められ、器具とコンベアベルトとの間など開かれた空間における運動については高速度に定められる。加速度値は、ムーバが容器をどのくらい滑らかに動かすのかを制御するために使用される。低い加速度値は、滑らかな運動を生じさせるが、移動の時間コストは長くなる。速度パラメータの例は、以下の通りである。
低い速さ：速さ
速度＝２０％
加速度＝１００％
【００１７】
“補間”は、本発明の方法を実現したコントローラが、手作業で定義された位置に基づき、自動的に位置を導くことができるようなパターンである。補間は、複数のネストをもつ器具の取扱いをムーバにティーチングするとき、時間の節約になる。
“経路”とは、ムーバが特定の順序のみに従って通過する位置のセットである。経路は、ロボットが前進順序にて又は後進順序にて通過する、順序付けられた点のセットである。実際には、経路中にＮ点が存在するならば、Ｎ−１セットの運動設定（速さ、加速度など）を特定することになる。これらのＮ−１セットの設定は、速さや加速度などを定義し、ロボットは経路における対応する区間においてこれらの定義を用いる。
【００１８】
“領域”とは、ムーバが順不同に安全に通過できる位置のセットである。領域は、点のセットであって、これらの点間においては、ロボットは自由に動くことができる。実際には、かかる領域内において対をなす点間を動くときにロボットが使用すべき、運動設定（速さ、加速度など）のセットを定義することが可能である。
【００１９】
“セクション”とは、ひとつの器具の取扱いに使用される、位置、経路、領域、補間、及び速さのセットを意味する。ムーバが複数の器具を取扱い可能であるならば、運動データベースは代表的に複数のセクションを有する。
【００２０】
本発明のひとつの観点では、２点間を移動してロボットが通過するとき、衝突や特異点及び取りこぼしなどを回避するための、有効な点のシーケンスを見つけ出すという問題を解く。本発明のひとつの実施形態によれば、ロボットの移動時間を最短にするなどの、特定の規準に基づいてシーケンスを選択する、最適なアルゴリズムが得られる。
【００２１】
本発明は、構文推論式の運動計画方法論(Syntactic Inferential Motion Planning:SIMPL)を提供するもので、符号のスクリプトを手書きしたり、幾何学的モデルを完成させたりする必要はない。ＳＩＭＰＬアルゴリズムは、固定化されたスクリプトに比べ、はるかに良好な運動計画を生成し、偶発的な幾何学状態を利用することができ、最小の処理能力だけしか必要としない。
【００２２】
従って、本発明は、プログラムされた点間において、自由裁量的な移動シーケンスを自動的に計画するような方法を提供する。かかる方法において必要となるのは、（ロボット用途において代表的に要求されるような）プログラムされた点のセットと、有効なシーケンス、つまり衝突や取りこぼし及び特異点の含まれないシーケンスに解を束縛するための、簡単な構文規則のセットとだけである。そして、方法は、推論に基づいたやり方で、指定された構文規則を適用することによって、運動を計画する。本発明のさらに別の実施形態においては、エラーや予期しない状態が生じたときに、状況に対応するためのエラー復旧アルゴリズムが提供される。
【００２３】
本発明は２つの広義の観点を有していて、それらは、（１）有効な経路を見つけ出すための規則のセットを表現する、表記方法ないし抽象化方法と、（２）最適化された有効な経路を見つけ出す方法とである。抽象化によれば、他の方法にあっては極めて複雑であるような問題を解くために、簡単な技術を適用することが可能になる。好ましくは、本発明は第３の観点を含み、それは、すなわち、（３）ロボット装置をエラー状態から復旧させるためのエラー復旧方法である。
【００２４】
本発明のかかる方法は、有効な運動シーケンス（例えば“ネスト点→ネスト．移行点→ネスト．安全点→ベルト．安全点→ベルト．移行点→ベルト点”。尚これらの用語については後に定義する。）は、言語（計算機科学における“言語”の意味である）の有効なセンテンスを構成するという前提に基づいている。この前提に基づくならば、運動計画問題は、前述の如く、以下の３つの部分に分解される。
【００２５】
１．構文の表現
運動を支配する言語をどのように表現するか。いったん、ロボット装置における特定の場所に関連した“単語”が定義されると、装置の運動は、それらの“単語”の“センテンス”に変形されて、適切な文法に配置される。この段階においては、コンパイラ理論において既知である、言語仕様技術が用いられる。２点間における運動は、しばしば多彩な有効なセンテンスとして記述することができる。詳しくは後述するように、“有効な”センテンスとは、ロボット装置の運動が、対象物との衝突や特異点など、あらゆる不都合な効果に違反しないようなセンテンスである。
【００２６】
２．推論に基づく計画と最適化。
この段階には、所望の開始点と終了点とを結ぶような“最良の”有効な言語センテンスを見つけ出すことが含まれる。これは、人工知能の分野において一般的に用いられている、推論及び空間解探索技術に関係している。
【００２７】
３．Ｎ次元カプセル幾何学的探索。
構文的に計画するためのひとつの含意関係は、運動を計画するために、ムーバがムーバの所在位置の名前を知っていなければならないことである。エラー状態（例えば衝突後）においては、この検索ストラテジーは、ムーバを既知の場所に戻すための取扱いを行う。
以下、本発明について、特定の実施例、すなわち研究室の用途に特に適しているムーバないしロボットアームを参照して説明する。実施例は、対象物をコンベアと垂直配列ローダないしカラセルとの間において移動させるような、垂直配列ローダ（ＶＡＬ）に関する。ひとつの例においては、対象物は、当業者に知られているマイクロタイタープレートである。代表的なＶＡＬは、例えば図３乃至図７に示されている。カラセルは代表的に、対象物を受け入れるための、多数の“ネスト”を有している。
【００２８】
本発明において用いる用語集ないし命名の申し合わせとして、位置は、終端点（すなわち“ネスト点”又は“ベルト点”）又は関連する“安全点”（すなわち、ネスト．安全点又はベルト．安全点）のいずれかとして識別される。また、位置は、ネスト．移行点又はベルト．移行点など、これらの位置間を移動しているときの、ムーバの場所としても示される。移行位置は、方法が適用されるシステムに依存する、任意的事項である。本発明において任意の別のタイプの用語集を使用できることを理解されたい。これらの位置については、さらに後述する。
【００２９】
“ネスト点”とは、器具のネストにおいて、ムーバが容器などの対象物を、把持し又は解放する位置である。“ネスト．安全点”とは、ネストのアクセス扉を閉じるなどの器具固有の動作を、ムーバに衝突せずに行い得る箇所であって、ムーバが安全に別の安全位置に移動することができる位置である。代表的に、器具における各ネストは、ひとつのネスト点の位置と、ひとつのネスト．安全点の位置とを有する。本発明の好ましい用語集では、２つのネストシステムにおいては、ネスト点［１］と、ネスト［１］．安全点と、ネスト点［２］と、ネスト［２］．安全点とを有することになる。この用語集は、任意数のネストに拡張されることを理解されたい。代表的には、ネストの番号は０ではなく、１から開始する。
【００３０】
“ネスト．移行点”とは、任意的事項であって、ムーバの運動をよりフレキシブルにするための中間的な位置である。例えば、垂直配列されたネストにおけるひとつのネストにアクセスするには、ムーバが容器（又は他の対象物）をネストの中に降ろしたり、ネストの中から持ち上げたりするために、“ネスト点”と、“ネスト．安全点”との間に、少なくともひとつの位置をつけ加えることが代表的に必要である。
“ベルト点”とは、ムーバがコンベアベルト上にある容器を把持したり、コンベアベルト上に解放したりするための位置である。
【００３１】
“ベルト．安全点”とは、ムーバがコンベアの動きに対して干渉しない位置に対応している。
“ベルト．移行点”とは、任意的事項であって、“ベルト点”と“ベルト．安全点”との位置間における運動を、よりフレキシブルにするための中間的な位置である。
上述した様々な位置はすべて、座標系に従って定義され、位置は、システムにおける様々な構成要素の幾何学的形状に基づいて確立されることになる。
【００３２】
図１は、ムーバ（すなわちＶＡＬ）の簡単な運動シーケンスを示している。図示の如く、シーケンス１０は、“ネスト”の終端点１２と、“ベルト”の終端点１４との間に延在している。図１のシーケンスにおけるその他の位置としては、“安全点”である、“ネスト．安全点”１６と“ベルト．安全点”１８、及び、“移行点”である、ネスト．移行点２０とベルト．移行点２２とが含まれている。“安全点”及び“移行点”（“ネスト．移行点”、“ネスト．安全点”、“ベルト．安全点”及び“ベルト．移行点”）の目的は、ムーバの位置を識別して、上述したような１又は複数の“エラー”（例えば衝突や特異点など）を防ぐことである。
【００３３】
本発明における上述した３つの観点について、以下、前述したＶＡＬのムーバを参照して説明する。以下の説明においては、特定のムーバを参照しているけれども、当業者には明らかであるように、本発明による方法は、様々なその他のロボット制御システムに適用可能であることを理解されたい。
【００３４】
［フェーズ１：構文の表現］
本発明における有効な運動を表現するのに適した“文法”としては、様々な技術が存在するであろうけれども、好ましい観点においては、非常に簡単なアプローチとして、有効な運動センテンスを経路と領域との観点から表現する。これらの用語の定義は前述したが、簡単に言えば、ムーバが特定の順序で動くならば、それぞれの位置をグループ化して“経路”にすることができる。代わりに、ムーバが位置のセット内を順不同に動き得るならば、位置をグループ化して“領域”にすることができる。
【００３５】
経路は、ロボットの運動のかなりの部分が、研究室装置の器具のネストなど、束縛された空間を出入りすることからなるという観察に基づいている。こうした固定された区間を表現するための最も自然なやり方は、簡単なリストとして表現することである。例えば、経路Ｐ｛ネスト点、ネスト．移行点、ネスト．安全点｝は、ロボットが、
［ネスト点→ネスト．移行点→ネスト．安全点］
または、
［ネスト．安全点→ネスト．移行点→ネスト点］
のように移動できることを示している。
【００３６】
領域は、ひとつの作業エリアの近傍から別のエリアの近傍へ、ロボットが頻繁に移動することが必要であって、かかる種類の移動は、広く開かれた空間を通過するもので、比較的束縛されない傾向があるという観察に基づいている。例えば、領域Ｒ｛ネスト．安全点、ベルト．安全点、リーダ．安全点｝は、ロボットが、
［ネスト．安全点→ベルト．安全点］
［ベルト．安全点→ネスト．安全点］
［ネスト．安全点→リーダ．安全点］
［リーダ．安全点→ネスト．安全点］
［リーダ．安全点→ベルト．安全点］、または、
［ベルト．安全点→リーダ．安全点］
のように移動できることを示している。
【００３７】
経路を領域として表現し、また、領域を経路として表現することが可能であることに留意されたい。Ｎ点ないしＮ位置の長さの経路は、それぞれが２点を含むような、Ｎ−１個の領域によって表現できる。同様に、Ｎ点の領域は、それぞれが２点を含むような、Ｎ（Ｎ−１）／２個の経路によって表現できる。事実上、経路も領域も、極端に言えば、簡単な点の対として表現できる。しかしながら、経路及び領域は、２箇所の点からなる集合として定義できるとは言っても、かかる表現は、計算効率とメモリ容量効率との観点から、好ましくない。
【００３８】
従って、本発明による計画方法においては、方法に入力される情報は、少なくとも、以下の通りになっている。
（ａ）プログラムされた点ないし位置のセットであって、前述の如く、ロボット運動のための実際の開始点と終了点との双方を含み、また、開始点と終了点との間を動くときにロボットが使用するための様々な中間点及び安全点を含む。前述の如く、移行点は任意的事項である。
（ｂ）経路及び領域のセットであって、有効な運動（衝突しない運動など）が服従しなければならないところの規則のセットを、全体として構成するような上記セット。これらの規則は、移動時に使用されるべき様々な運動設定（すなわち速さなど）を示す。
【００３９】
当業者は理解するだろうが、上述した規則や位置などは、ムーバの制御装置の一部分を構成する記憶装置に記憶される。そうした制御装置は、当業者に一般的に知られている。従って、本発明は、主題である計画機能を実行するための、制御装置の動作方法を構成する。
【００４０】
図２は、小さなシステムにおける代表的な経路と領域とのセットを示している。点の間の経路２４は双方向矢印によって示され、領域２６は破線の円によって示されている。ひとつの点は、複数の経路及び領域の構成員になり得ることに留意されたい。図２には、“カラセル：ネスト点”や、“培養器：ネスト点”、“調合器：ネスト点”など、様々なタイプの“ネスト点”が示されていて、より一般的には、“［器具名］：ネスト点”が示されていることに留意されたい。この名称は、与えられたシステムにおいて用いられる様々な機器ないし器具におけるネストの識別のために使用されており、任意の数のそうした機器を設けられることを当業者は理解するだろう。また、ネスト装置や、リーダ、ベルト（すなわちコンベア）、培養器など、様々なタイプの機器を設けることが可能であることを理解されたい。特定の機器は、特定のシステムに依存して変化する。しかしながら、本発明は、あらゆる用途に適用可能であって、必要な位置の名称は当業者にあっては明らかであろうと思われる。
【００４１】
図２を参照すると、図示のシステムにおいては、ムーバを開始点“カラセル：ネスト点［１］”から、“培養器：ネスト点［０］”へと移動させるのに、以下の例示的なルートを使用できる。
（スタート）  カラセル：ネスト点［１］
→カラセル：ネスト［１］．移行点［０］
→カラセル：ネスト［１］．移行点［１］
→カラセル：ネスト［１］．安全点
→カラセル．安全点
→培養器．安全点
→培養器：ネスト［０］．安全点
→培養器：ネスト［０］．移行点［１］
→培養器：ネスト［０］．移行点［０］
（終わり）  →培養器：ネスト点［０］
【００４２】
上述の例に示したように、開始点からカラセル：ネスト［１］．安全点までの動きは、経路のセットとしてつながっていた。しかしながら、ムーバは、その点から、カラセル．安全点へと動き、さらにそこから、培養器．安全点へと動くことができ、というのは、これらの点が共通領域内にあったためである。この例においては、様々な別のルートを採ることもできたはずであることを認識されたい。さらに、ある種の点を互いに“結ぶ”ことで、様々な“近道”を設計することもできる。例えば、上述したシナリオにおいては、カラセル：ネスト［１］．安全点と、培養器：ネスト［０］．安全点とを結んで“近道”とすれば、ムーバはそうしたルートを選択することもできたであろう。
【００４３】
図３は、コンベアベルト３２に隣接して配置された、上述した例の垂直配列ローダ（ＶＡＬ）３０を示していて、コンベアベルトを用いて、試料容器やマイクロタイタープレートなどの対象物を、ひとつのＶＡＬから別のＶＡＬへと搬送する。図において、符号３５は、ＶＡＬ３０におけるエフェクタの端部を示している。ローダは、ベルト３２と、１又は複数のネスト３８を備えたマイクロタイタープレートの“ホテル”などのネスト装置３６との間にて、対象物３４を移動させる。そうしたネスト装置は、一般的に“ホテル”又はカラセルと称される。装置の要素のための様々な支持プラットホームなどは図示していないことを理解されたい。さらに、上述した制御装置及び関連するモータなども図示しておらず、かかる目的には、一般に知られた任意の装置を使用することができる。
【００４４】
図４は、ネストの構成を、より詳細に示しているまた図４には、本発明による見本的な経路４０を示している。特に、ここで注目される経路４０は、以下の位置を含んでいる。
ネスト点［９］→ネスト［９］．移行点→ネスト［９］．安全点
図示の通り、この事例の経路４０においては、ムーバを降下させて容器をネストに入れたり、上昇させてネストから容器を出したりするために、ネスト．移行点の位置が必要になる。これは、各対象物をネスト内に正確に位置決めすべく、ネストに通常設けられるものである、段差４２があるためである。対象物を段差４２から持ち上げる必要がない場合には、経路４０を修正して移行点の位置を取り除いても良いことを理解されたい。
【００４５】
図５は、図３のＶＡＬシステムについて、様々な位置を重ね合わせて書き加えた模式図である。位置には、例えば、ネスト点［ｘ］や、ネスト［ｘ］．移行点、ネスト［ｘ］．安全点などが含まれ、ここで“ｘ”は、ネスト同士（又はシステムにおける他の要素）を区別するために割り当てられた識別符号である。
【００４６】
図６は、図５のＶＡＬシステムについて、各ネスト位置間の経路４０を書き加えた模式図である。図６のシステムにおいては、その他の経路も定義されることになるが、そうした経路は、図面を簡潔にするために図示していないことを理解されたい。
【００４７】
図７は、位置とネストに関連した経路とを含んでいる図６のシステムについて、２つの見本的な“安全”領域４４及び４６を重ね合わせて書き加えて示している。例えば、第１の安全領域４４は、様々な“ネスト．安全点”と共に、“安全点”と“ベルト．安全点”とを包含している。第２の安全領域４６は、すべての“ネスト．安全点”を包含している。システムにおいては、特定の制約に依存して、様々な他の領域が指定されることを理解されたい。
【００４８】
［フェーズ２：推論に基づく計画及び最適化］
方法における第２のフェーズは、推論に基づく計画と最適化の過程にかかわる。まず、点、経路、及び領域として指定された必要なデータの入力後に、計画方法は開始点と終了点とを要求する。アルゴリズムの目標は、（０以上の他のプログラムされた点によって）開始点から終了点へと至る、最適な（又はほぼ最適な）経路を見つけ出すことであり、それぞれの点から点への移動は、システムで定義された経路及び領域によって指定されている規則に服従することである。ここでの説明の目的のために、“ルーティング”という用語を、すべての経路及び領域のセットを称するものとして使用する。
【００４９】
最も基本的な形態による計画アルゴリズムは、２つの基本的な段階から構成される。
１．ロボットが、開始点ないし位置から終了点までに採り得る、すべての最短長さのルーティングの組み合わせを見つけ出す。この目的を満たすルーティングは１セット以上存在するだろうが、各組み合わせは同一数のルーティングステップを有することに留意されたい。
２．段階（１）におけるルーティングの組み合わせの中から、開始点から終了点へと至る、最短移動時間の経路を見つけ出す。
段階（２）の結果によって、最適化された解が得られる。段階（１）は“発火”アルゴリズムによって達成されるが、このアルゴリズムでは、開始点を“発火点”として設定し、終了点に達するまで、すべての結合されたルーティングを通って、１ステップ反復する毎に火災を伝搬させる。次に、好ましい実施形態においては、逆経路（終了点から開始点へ）を使用して、いずれの解にも属さないルーティングを排除する。
段階（２）では、終了点からスタートして、段階（１）において見い出されたルーティングだけを用いているような、すべての可能な経路を逆戻りする。可能な経路を計算するとき、アルゴリズムは（幾何学形状やロボットのジョイント距離に基づいて）移動時間の見積りをたどる。これによって、アルゴリズムは、各段階における可能性を選択して、最適な経路を見つけ出す。そして、この移動時間の情報を用いて、開始点から終了点へと至る、最適化された経路を構築する。
【００５０】
上述したアルゴリズムの実施形態においては、開始点から終了点へと至る“最適な”経路を、時間の規準に基づいて決定していることは明らかである。すなわち、アルゴリズムは、最小数のルーティングステップをもつ可能性のセットの中から、最短移動時間をもつ経路を見つけるように設計されている。従って、真に最適な経路が、より多くのルーティングステップを要し、他の規準に基づき、これを見つけられないような例を人工的に構築することは可能である。実際には、こうした事例はめったに起こらず、上述した方法を慎重に適用することによって回避できることを我々は見い出している。
【００５１】
また、本発明によるアルゴリズムの複雑さのオーダーは、ルーティングの数をＮとしたとき、Ｏ（Ｎ！）であることを認識されたい。しかしながら、これはワースト・ケースによる複雑さであって、ルーティングが極めて激しく相互結合されている場合だけに顕在化する。代表的な用途においては、この問題点はほとんど重要ではない。実用的な用途においては、複雑さのオーダーはＯ（Ｎ2）に近く、より取扱い易い。例えば、図２のシステムについて運動を計画するには、極めてわずかの計算パワーしか必要としない。
【００５２】
さらに別の実施形態においては、本発明による方法は、最近に計画された運動について、キャッシュ（又はリスト）記憶の保存を伴なう。新たな移動シーケンスを計画する前に、キャッシュを点検する。所望の開始点と終了点とを含んでいる、既に計算されたシーケンスが存在するのであれば、前に計算されたシーケンスの関連部分を使用することで、さらに計算する必要はなくなる。このタイプのキャッシュは、本発明の効率を高めることを認識されたい。新たな移動について計算が完了する毎に、キャッシュは更新されて、新たに計算されたシーケンス内に（部分集合として）含まれているシーケンスは、単純に置き換えられる。別のやり方としては、ＬＲＵ法（Least Recently Used replacement）などの在来のキャッシュ管理方法を適用してキャッシュを管理しても良い。
【００５３】
［フェーズ３：Ｎ次元カプセル幾何学的探索］
上述の如く、方法におけるフェーズ３は、任意的事項であるが、好ましい段階である。構文推論式の運動計画装置を機能させるためには、アルゴリズムは、ムーバのエンドエフェクタについて、その現在位置の名前を知っていることが必要である。この要件を満足することは、正常な動作状態の下では、難しいことではない。しかしながら、非常停止や衝突状態においては、ムーバは、既知の位置ではない場所を運動している間に、停止させられる。本発明の実施形態によれば、２段階式のアプローチを採用して、ロボットがどこにあるのか“見つけ出し”、ロボットを既知の位置に復帰させる。
【００５４】
［段階１：位置リストの探索］
ロボットが既知の位置にないならば、この段階に従う。まず、あらゆる既知の位置について、ロボットのエンドエフェクタと各位置との間の距離を計算する。この距離が、球体体積に置き換えられる、形成された合致半径未満であるならば、ロボットは単にかかる位置にあるとみなされ、計画は正常に進行する。
【００５５】
図８は、仮想的な２ジョイント式ロボットにおけるエンドエフェクタ５２について、そのまわりの球体の合致半径５０のエリアを示している。ロボットがその位置にあるとみなされるためには、この球体内に点が存在しなければならない。この合致半径は注意深く（すなわち大き過ぎないように）選ぶ必要があり、さもなくば、当業者には明らかなように、点からロボットまでの距離のために、間違った運動を生じさせる。合致半径として適切なサイズは、方法が適用される特定のシステムに基づいて、当業者に明らかになるだろう。
【００５６】
図９は、デカルト座標系に基づかずに、距離を測定するような実施形態を示している。この事例では、デカルト座標系上の位置に代えて、ロボットのジョイント角度に基づいて、合致する非球体である形状５４が得られている。ジョイント角度を使用することの利点は、距離計算に必要な計算数が大いに減少することである。ひとつの好ましい実施形態では、このアプローチを用いて、位置を合致させている。本質的には、ロボットのジョイント数がＮのとき、距離は、Ｎ次元空間内において計算される。図９においては、“都市ブロック”式の距離測定を用いている。ユークリッド式の、または、その他の合理的な挙動を呈する、距離測定を使用することが可能である。
【００５７】
［段階２：カプセルの探索］
位置リストの探索によってロボットのエンドエフェクタの合理的な位置が見つけられない場合には、この段階に従う。この段階においては、計画者が入力したデータ中にある、経路及び領域を使用して探索を行う。
前述の如く、経路及び領域はすべて、対をなす点を結合する線分のセットから構成されている。Ｎ点長さの経路は、Ｎ−１本の線分を特定し、Ｎ点の領域はＮ（Ｎ−１）本の線分を特定する。ユーザは、このエラー復旧段階中に使用するための、重みづけ係数ないし合致半径乗数Ｍ（＞０）を、各経路及び領域に対してアプリオリに割り当てることができる。従って、各線分は、そのまわりにカプセル状のエリアを有し、エンドエフェクタが線分上にあるとみなされるためには、エンドエフェクタは該エリア内になければならない。
【００５８】
エラー状況に遭遇したとき、ロボットを戻し、戻した場所から進めるためには、以下の段階を行う。まず、各経路及び領域における各線分について、エンドエフェクタの場所から線分までの、最も近い距離Ｄを計算する。これに続いて、重みづけされた距離Ｄ／Ｍを計算する。そして、最も小さなＤ／Ｍの値をもった線分が決定される。
【００５９】
この“ベスト”な線分についての重みづけされた距離Ｄ／Ｍが、合致半径未満であるならば、ロボットのエンドエフェクタは線分上の場所にあると判断される。この規準を満たす線分が見つからないならば、エラー条件を発生させて、ユーザによる介入を要求する。
【００６０】
いったん、ムーバに隣接している線分が決定されたならば、エンドエフェクタから２つの端点のそれぞれまでの距離を計算し、ムーバに対して、最も近い点へ直接、低速で動くように指令する。エンドエフェクタの場所は線分に近いだろうし、線分はムーバが追従可能である有効な軌跡を表しているので、ムーバをこのように再配置した結果によって衝突が生じることはない。この低速移動を行なった後には、ムーバは既知の場所にあることになって、計画を正常に継続することができる。
【００６１】
前述の如く、距離の測定は、デカルト座標系に従う必要はない。好ましい実施形態においては、ジョイント角度に基づくユークリッド距離を使用して、各線分までの距離を見い出す。
上述したエラー復旧アルゴリズムは、前述した最適化方法とは独立させて使用可能であることを理解されたい。
【００６２】
［このアプローチの強み］
上述した方法によって、エラー状態中にロボットを位置決めすることには、２つの別々の強みがある。
１．ひとつの代表的なエラーのシナリオにおいては、ユーザが非常停止スイッチを操作したとき、ムーバは運動中である。このシナリオでは、ロボットは極く迅速に停止する。スイッチが操作されたとき、ロボットは有効な線分に沿って動いていたので、ロボットは線分の近くに残されているはずである。
２．極端なエラー状態（衝突など）に対しては、特殊な“復旧経路”と、非常に大きな半径乗数をもった関連する“復旧空間”とを設定することによって対処する。例えば、ムーバの作業空間の中の空の部分に経路を設定すれば、エラー復旧が充分に可能な近い場所まで、ユーザが手作業でエンドエフェクタを動かすことができる。
【００６３】
図１０は、前述したＶＡＬの例に関連させて、“復旧空間”を示している。図示の如く、見本である復旧空間５６は、ＶＡＬ３０とネスト装置３６（例えばマイクロタイタープレートホテル）との間において、テーブル面５８のすぐ上から、ネスト装置３６の充分に上方にまで延在している。復旧空間は、オペレータがＶＡＬの位置決めについて過度に正確である必要のないように充分に広いべきであるが、復旧空間とあらゆる隣接して定義された位置との間においてＶＡＬが移動するときに衝突のリスクがないように、充分に束縛されているべきである。図示の如く、復旧空間５６は、所望の復旧経路６０と経路の半径６２とに基づいて計算される。復旧空間５６を定義するためには、まず、“復旧上端”と“復旧下端”との２つの位置を含むような、復旧経路６０ないし領域を定義する。次に、復旧経路（ないし領域）６０に半径設定６２を与える。
【００６４】
本発明は、従来技術による公知の方法に勝る、様々な利点を提供する。まず、本発明によれば、ロボットを１点から別の点へ最適な又はほぼ最適なやり方で移動させるという複雑な問題を解くことができ、幾何学的なモデル化や多大な計算パワーを必要としない。このため、ロボットをより“自然”に“優雅”なやり方で移動させることができ、システムは、ユーザが符号化したり、すべての可能な経路を特定したりせずとも、偶発的な幾何学状態を利用することができる。この利益は４倍になる。すなわち、（１）運動がより直接的になり、その形態が“形式的”でなくなり、不要な運動が少なくなるために、速さが高まる。また、（２）抽象化は理解又は使用が難しいものではないため、システムの設定及びティーチングが簡単になる。そして、（３）ユーザは、規則のリストに単に経路／領域を追加するだけで、ロボットが採るべき“近道”を提供でき、運動を最適化可能である。さらに、（４）挙動に優れた、高度に自動化されたエラー復旧が得られる。
【００６５】
この方法のさらに他の利益は、ロボットシステムに“スマートな移動”命令を与えることができ、ユーザは、障害物などの介入にかまわずに、単にロボットに対してロボットが行くべき場所を指示するだけで良い。そして、運動計画装置は、ロボットの計算の場所と、その到達すべき場所との知識を使用して、ロボットを最適化された安全なやり方で移動させる。
【００６６】
本発明による計画方法は、コンピュータベースのロボットコントローラにおいて実現するのに特に適していることを当業者は認識するだろう。上述した様々な位置や、点、経路、領域、ルーティングなどは最初に、コンピュータに搭載された又はコンピュータに関連付けられたメモリに記憶され、そうしたデータはコンピュータのプロセッサによってアクセス可能になり、必要な計算が行われる。
【００６７】
以上、本発明について、便宜上、ある種の特定の例に関連させて説明した。しかしながら、本発明による方法は、任意数の又は任意のタイプのシステムにおいて採用することができる。
本発明について、ある種の特定の実施形態を参照して説明したけれども、特許請求の範囲に記載された本発明の精神及び範囲から逸脱せずに、様々な改変が可能であることは、当業者には明らかである。
【図面の簡単な説明】
【００６８】
【図１】図１は、ロボット装置が移動する様々な位置地点間の“経路”の一例を示した模式図である。
【図２】図２は、例示的なロボットシステムにおいて、ロボット装置が移動する様々な位置地点間の“経路”を示した模式図である。
【図３】図３は、本発明が適用されるロボットシステムを示した側立面図である。
【図４】図４は、図３のシステムにおける経路の見本を示している。
【図５】図５は、図３のシステムにおける様々なネスト位置を示している。
【図６】図６は、図５のネスト位置間における経路を示している。
【図７】図７は、図５の様々な位置間における領域を示している。
【図８】図８は、ロボット装置のエラーカプセル領域を示している。
【図９】図９は、ロボット装置のエラーカプセル領域を示している。
【図１０】図１０は、図３のシステムにおけるエラー復旧空間を示している。
【図１】
2006515233.tif 000003
【図２】
2006515233.tif 000004
【図３】
2006515233.tif 000005
【図４】
2006515233.tif 000006
【図５】
2006515233.tif 000007
【図６】
2006515233.tif 000008
【図７】
2006515233.tif 000009
【図８】
2006515233.tif 000010
【図９】
2006515233.tif 000011
【図１０】
2006515233.tif 000012
【国際調査報告】
2006515233.tif 000013
2006515233.tif 000014
2006515233.tif 000015