JP2006515233A - ロボットシステムのための構文推論式の運動計画方法 - Google Patents
ロボットシステムのための構文推論式の運動計画方法 Download PDFInfo
- Publication number
- JP2006515233A JP2006515233A JP2006501405A JP2006501405A JP2006515233A JP 2006515233 A JP2006515233 A JP 2006515233A JP 2006501405 A JP2006501405 A JP 2006501405A JP 2006501405 A JP2006501405 A JP 2006501405A JP 2006515233 A JP2006515233 A JP 2006515233A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- positions
- distance
- point
- shortest distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Mechanical Engineering (AREA)
- Economics (AREA)
- Robotics (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Numerical Control (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
【解決手段】
装置が位置決め可能である複数の空間位置を確立し、位置間におけるロボット装置の動きを束縛する規則のセットを確立することを含むような、ロボット装置の動きを計画し及び最適化する方法及びシステムである。本発明の方法においては、いったん開始点と終了点とが定められると、確立した位置及び規則のセットによる束縛に従って、装置が動くためのすべての可能なルートを計算する。次に、計算されたルートを最短時間などの規準と比較し、所望の規準を満たす最適なルートを決定する。計算されたルートは今後のアクセスのためにキャッシュに記憶される。また、本発明は、ロボットがエラーに遭遇した場合に、ロボット装置が復旧できるような、エラー復旧方法を提供する。
装置が位置決め可能である複数の空間位置を確立し、位置間におけるロボット装置の動きを束縛する規則のセットを確立することを含むような、ロボット装置の動きを計画し及び最適化する方法及びシステムである。本発明の方法においては、いったん開始点と終了点とが定められると、確立した位置及び規則のセットによる束縛に従って、装置が動くためのすべての可能なルートを計算する。次に、計算されたルートを最短時間などの規準と比較し、所望の規準を満たす最適なルートを決定する。計算されたルートは今後のアクセスのためにキャッシュに記憶される。また、本発明は、ロボットがエラーに遭遇した場合に、ロボット装置が復旧できるような、エラー復旧方法を提供する。
Description
(関連出願)
本願は、2003年1月31に出願された米国特許出願第60/443,839号を基礎とする優先権を主張する。
本願は、2003年1月31に出願された米国特許出願第60/443,839号を基礎とする優先権を主張する。
本発明は、ロボット装置のための運転計画システムに関し、特に、構文ベースのアルゴリズムを用いて、そうした装置の動きを制御し及び最適化する方法に関する。また、本発明は、ロボット装置のためのエラー復旧方法を提供する。
ロボットは、正確に指定された地点間を直線的に動くことについては、極めて達者である。しかしながら、実際の用途においては、動きがそれほど簡単であることは、ほとんどない。代表的な用途においては、ロボットのエンドエフェクタは、一連のプログラムされた点を経由するように動かされ、ピックアップ点に達し、ピックアップ点においてペイロードを把持し、さらにその他の一連の点を通過して、例えばドロップオフ点へと動かされる。
ロボットのエフェクタによって実行される運動シーケンスにおいては、とりわけ、以下のような“エラー”を回避すべく注意しなければならない。
・運動シーケンス中に、エンドエフェクタ及び/又はペイロードが障害物にぶつかること。
・他の移動物がロボット又はペイロードに衝突すること。
・ロボットが特異点を通って動き、または、特異点のために動きを不適切な姿勢で終えること。
・ロボットが無効な幾何学的配置になって、そのために、例えばペイロードの内容物をこぼしたり、その他の不都合な結果を生じさせること。
・運動シーケンス中に、エンドエフェクタ及び/又はペイロードが障害物にぶつかること。
・他の移動物がロボット又はペイロードに衝突すること。
・ロボットが特異点を通って動き、または、特異点のために動きを不適切な姿勢で終えること。
・ロボットが無効な幾何学的配置になって、そのために、例えばペイロードの内容物をこぼしたり、その他の不都合な結果を生じさせること。
当業者に知られているように、ロボット装置(例えば当業者に知られている多数の自由度をもったロボットアームなど)のための“機構置換”の解は、空間中に与えられた位置へ装置を動かすためのやり方である。特異点とは、機構置換の無限数の解が可能であるような、ロボット装置の位置である。すなわち、装置における自由度の組み合わせが無限数になるような位置である。特異点に遭遇すると、そうした無限数の可能性のために、結果を予測できず、装置が危険な動きを起こすことがあり、これは回避しなければならない。
従って、ロボットの運動をガイドするための“計画”システムが必要である。上述した要求条件(つまり衝突を防止し、特異点を回避し、姿勢を保つこと)に対処するための計画システム又は計画方法には、簡単で融通のきかないコードから、極度に複雑なアルゴリズムまでの範囲がある。ひとつの最も簡単なアプローチは、手書き符号のスクリプトとして、シーケンスを生成することである。特定の用途に特化された符号スクリプトは比較的簡単に設計できるけれども、それらは、ふるまいの融通がきかないとか、設計対象である特定システムに対する変更にまったく適合できないといった不都合を有する。そうしたシステムにおいては、運動は極めて“形式的”なパターンに従う傾向があるが、というのは、離点間における、あらゆる“近道”は、事例毎に、明示的に符号化されなければならないためである。従って、そうしたシステムにおいては、幸運な幾何学状態が利用可能であるときであっても、これを利用することは困難である。
より複雑なアプローチは、ロボットとペイロードとを含む作業空間の全体を、幾何学的にモデル化することである。このタイプの運動計画装置では、実際の幾何学的な束縛に従って、ロボットの運動をレイアウトする。この方法は、極めて最良の性能をもたらす可能性を有しているけれども、少なくとも3つの問題点がある。第1に、作業空間とロボットとペイロードとについて、極めて正確にモデル化しなければならず、モデルに何らかのエラーがあれば、衝突を引き起こす。第2に、このアプローチにおいては、計算量が莫大で、計算処理装置に対する要求度が高く、また大きな記憶容量が必要になる。最後に、ロボットの運動を束縛する考慮事項には、例えば裸火(open flame)を回避することなど、モデル化することが極めて困難な事項が存在し得る。
様々な計画アルゴリズムが、従来技術によって提案されている。そうした方法の例として、米国特許第6,493,607号及び第5,513,299号がある。いずれの事例においても、提案された方法は、系に含まれる幾何学についての複雑なモデル化を伴なう。
様々な計画アルゴリズムが、従来技術によって提案されている。そうした方法の例として、米国特許第6,493,607号及び第5,513,299号がある。いずれの事例においても、提案された方法は、系に含まれる幾何学についての複雑なモデル化を伴なう。
従って、使用される環境変化に対して調整可能であって、実現が容易であるような、簡略化されたロボット計画システムないし方法に対する要望が存在する。
本発明のひとつの実施形態によって提供される、開始位置から終了位置へと至るロボット運動の計画方法では、開始位置と終了位置とはロボットの運動範囲内にあり、この方法は、
(a)空間座標系において、少なくとも2つの位置を定義し、少なくとも2つの位置は、開始位置と終了位置とを含んでいるような上記定義する段階と、
(b)少なくとも2つの位置をコンピュータのメモリに記憶する段階と、
(c)少なくとも2つの位置におけるロボットの動きを支配する規則のセットを定義する段階と、
(d)規則のセットをコンピュータのメモリに記憶する段階と、
(e)少なくとも2つの位置を通り、開始位置から終了位置へと至る、可能なルートを計算する段階と、
(f)可能なルートから、所定の規準を満たす最適なルートを決定する段階と、
を備えていることを特徴とする。
(a)空間座標系において、少なくとも2つの位置を定義し、少なくとも2つの位置は、開始位置と終了位置とを含んでいるような上記定義する段階と、
(b)少なくとも2つの位置をコンピュータのメモリに記憶する段階と、
(c)少なくとも2つの位置におけるロボットの動きを支配する規則のセットを定義する段階と、
(d)規則のセットをコンピュータのメモリに記憶する段階と、
(e)少なくとも2つの位置を通り、開始位置から終了位置へと至る、可能なルートを計算する段階と、
(f)可能なルートから、所定の規準を満たす最適なルートを決定する段階と、
を備えていることを特徴とする。
本発明による方法の別の観点においては、規則は少なくともひとつの経路と少なくともひとつの領域とを含み、経路は、予め設定された順序に配列されてなる、少なくとも2つの位置の2以上のものを含み、経路上にある位置間におけるロボットの運動は、予め設定された順序に束縛され、領域は、グループに配列されてなる、少なくとも2つの位置の2以上のものを含み、ロボットはグループ内における任意の位置間において自由に移動可能になっている。
本発明の別の観点においては、段階(f)が下位の段階として、
(i)ロボットが開始位置から終了位置に至るまでに採り得る、すべての最短長さのルートを見つけ出す段階と、
(ii)開始位置から終了位置までの移動時間が最も短いルートを、段階(i)における最短長さのルートのうちから選択する段階と、
を備えている。
本発明の別の観点においては、2位置間における既に決定された経路はキャッシュに記憶されて、爾後、同一の2位置間について最適化された経路が要求されたときにアクセスされる。
本発明による方法の別の観点に含まれる、エラー復旧アルゴリズムは、
(a)最短距離限界を選択する段階と、
(b)少なくとも2つの位置のそれぞれからロボットまでの距離を計算する段階と、
(c)ロボットに最も近い位置を識別する段階であって、最も近い位置はロボットから最短距離をもっているような上記識別する段階と、
(d)最短距離と距離限界とを比較する段階と、
(e)最短距離が距離限界に比べて小さいか等しい場合に、ロボットを最も近い位置に割り当てる段階と、
を備えていることを特徴とする。
エラー復旧アルゴリズムのさらに別の実施形態においては、段階(e)における最短距離が前記限界に比べて大きい場合に、この方法はさらに、
(f)それぞれの経路及び領域に重みづけ係数Mを割り当てる段階と、
(g)ロボットから、経路及び領域における少なくとも2つの位置を結ぶそれぞれの線までの、最短距離Dを計算する段階と、
(h)最短距離を重みづけ係数で割り算して、重みづけされた距離D/Mを得る段階と、
(i)重みづけされた距離D/Mが最小であるような線分を識別する段階と、
(j)段階(i)における最小である重みづけされた距離D/Mと、最短距離限界とを比較する段階と、
(k)識別された線分についての重みづけされた距離が最短距離限界未満であるならば、ロボットを識別された線分に割り当てる段階と、
(l)ロボットから識別された線分の終点までの距離を計算する段階と、
(m)ロボットを終点に最も近い点へ移動させ、終点に最も近い点が占めている位置にロボットを割り当てる段階と、
を備えていることを特徴とする。
本発明の好ましい実施形態におけるこれらの及びその他の特徴に関しては、添付図面を参照した以下の詳細な説明によって、さらに明らかになるだろう。
(i)ロボットが開始位置から終了位置に至るまでに採り得る、すべての最短長さのルートを見つけ出す段階と、
(ii)開始位置から終了位置までの移動時間が最も短いルートを、段階(i)における最短長さのルートのうちから選択する段階と、
を備えている。
本発明の別の観点においては、2位置間における既に決定された経路はキャッシュに記憶されて、爾後、同一の2位置間について最適化された経路が要求されたときにアクセスされる。
本発明による方法の別の観点に含まれる、エラー復旧アルゴリズムは、
(a)最短距離限界を選択する段階と、
(b)少なくとも2つの位置のそれぞれからロボットまでの距離を計算する段階と、
(c)ロボットに最も近い位置を識別する段階であって、最も近い位置はロボットから最短距離をもっているような上記識別する段階と、
(d)最短距離と距離限界とを比較する段階と、
(e)最短距離が距離限界に比べて小さいか等しい場合に、ロボットを最も近い位置に割り当てる段階と、
を備えていることを特徴とする。
エラー復旧アルゴリズムのさらに別の実施形態においては、段階(e)における最短距離が前記限界に比べて大きい場合に、この方法はさらに、
(f)それぞれの経路及び領域に重みづけ係数Mを割り当てる段階と、
(g)ロボットから、経路及び領域における少なくとも2つの位置を結ぶそれぞれの線までの、最短距離Dを計算する段階と、
(h)最短距離を重みづけ係数で割り算して、重みづけされた距離D/Mを得る段階と、
(i)重みづけされた距離D/Mが最小であるような線分を識別する段階と、
(j)段階(i)における最小である重みづけされた距離D/Mと、最短距離限界とを比較する段階と、
(k)識別された線分についての重みづけされた距離が最短距離限界未満であるならば、ロボットを識別された線分に割り当てる段階と、
(l)ロボットから識別された線分の終点までの距離を計算する段階と、
(m)ロボットを終点に最も近い点へ移動させ、終点に最も近い点が占めている位置にロボットを割り当てる段階と、
を備えていることを特徴とする。
本発明の好ましい実施形態におけるこれらの及びその他の特徴に関しては、添付図面を参照した以下の詳細な説明によって、さらに明らかになるだろう。
[定義]
本願において使用されている以下の用語は、以下の意味をもつものとする。
“ロボットのエンドエフェクタ”、“ロボット”、“ロボット装置”、“ムーバ”とは、ロボット装置における可動な端部であって、所望の機能を実行する部分を意味する。これには、例えば、ロボットアームの把持端部が含まれる。本発明の譲受人であるThermo CRS Ltd.社は、いくつかのタイプのそうしたムーバを製造しており、それらの例は、www.thermo.comに提供されているので、その内容をここで参照して引用する。
本願において使用されている以下の用語は、以下の意味をもつものとする。
“ロボットのエンドエフェクタ”、“ロボット”、“ロボット装置”、“ムーバ”とは、ロボット装置における可動な端部であって、所望の機能を実行する部分を意味する。これには、例えば、ロボットアームの把持端部が含まれる。本発明の譲受人であるThermo CRS Ltd.社は、いくつかのタイプのそうしたムーバを製造しており、それらの例は、www.thermo.comに提供されているので、その内容をここで参照して引用する。
“終端点”とは、ロボットのエンドエフェクタが、実際に対象物と相互作用するような点ないし位置を意味する。例えば、後述する事例においては、ロボットアームを用いて、対象物をコンベアベルトから、対象物を収容するカラセル("carousel")におけるネストへ移動させるが、この場合、終端点は“ベルト点”と“ネスト点”とからなる。
“安全点”とは、機器ないし器具の部品の近くにおいて、例えば次の命令を待ち受けるべく、ロボットのエンドエフェクタが、邪魔にならないように安全に位置決めされる疑似的な目的地点を意味する。この用語については、本発明の特定の実施形態に関連させてさらに詳細に後述する。
“位置”又は“点”とは、ロボットのエンドエフェクタ又はムーバが移動し又は通ることができる場所を意味する。位置は、空間内の場所、又はムーバのモータもしくはジョイントの場所のセットである。位置を定義するためには、様々な既知の座標系を使用することができる。そうした座標系の例としては、ジョイント座標系(回転軸の角度と直線軸のミリメートル長さとによって測定される)や、モータ座標系(エンコーダのパルス値からなる)、デカルト座標系(XYZ軸まわりの回転角度とXYZ軸上の移動ミリメートル長さとの値からなる)、及び円筒座標系、つまりヨー、ピッチ、ロールの角度と、Z軸まわりの回転及びZ軸上と放射軸上とにおける移動ミリメートル長さの値、が含まれる。例えば、ムーバの特定の位置は、ジョイント座標系によれば、以下の如く示される。
高度=260mm
肩部=45度
肘部=90度
手首=45度
高度=260mm
肩部=45度
肘部=90度
手首=45度
“速さ”は、位置間を移動するときの速度と加速度とである。この用語は、速度と加速度との組み合わせを示し、ロボットが位置間を移動するときに使用される。“速さ”は、ネストの中又は付近など(詳しくは後述する)束縛された空間における運動については低速度に定められ、器具とコンベアベルトとの間など開かれた空間における運動については高速度に定められる。加速度値は、ムーバが容器をどのくらい滑らかに動かすのかを制御するために使用される。低い加速度値は、滑らかな運動を生じさせるが、移動の時間コストは長くなる。速度パラメータの例は、以下の通りである。
低い速さ:速さ
速度=20%
加速度=100%
低い速さ:速さ
速度=20%
加速度=100%
“補間”は、本発明の方法を実現したコントローラが、手作業で定義された位置に基づき、自動的に位置を導くことができるようなパターンである。補間は、複数のネストをもつ器具の取扱いをムーバにティーチングするとき、時間の節約になる。
“経路”とは、ムーバが特定の順序のみに従って通過する位置のセットである。経路は、ロボットが前進順序にて又は後進順序にて通過する、順序付けられた点のセットである。実際には、経路中にN点が存在するならば、N−1セットの運動設定(速さ、加速度など)を特定することになる。これらのN−1セットの設定は、速さや加速度などを定義し、ロボットは経路における対応する区間においてこれらの定義を用いる。
“経路”とは、ムーバが特定の順序のみに従って通過する位置のセットである。経路は、ロボットが前進順序にて又は後進順序にて通過する、順序付けられた点のセットである。実際には、経路中にN点が存在するならば、N−1セットの運動設定(速さ、加速度など)を特定することになる。これらのN−1セットの設定は、速さや加速度などを定義し、ロボットは経路における対応する区間においてこれらの定義を用いる。
“領域”とは、ムーバが順不同に安全に通過できる位置のセットである。領域は、点のセットであって、これらの点間においては、ロボットは自由に動くことができる。実際には、かかる領域内において対をなす点間を動くときにロボットが使用すべき、運動設定(速さ、加速度など)のセットを定義することが可能である。
“セクション”とは、ひとつの器具の取扱いに使用される、位置、経路、領域、補間、及び速さのセットを意味する。ムーバが複数の器具を取扱い可能であるならば、運動データベースは代表的に複数のセクションを有する。
本発明のひとつの観点では、2点間を移動してロボットが通過するとき、衝突や特異点及び取りこぼしなどを回避するための、有効な点のシーケンスを見つけ出すという問題を解く。本発明のひとつの実施形態によれば、ロボットの移動時間を最短にするなどの、特定の規準に基づいてシーケンスを選択する、最適なアルゴリズムが得られる。
本発明は、構文推論式の運動計画方法論(Syntactic Inferential Motion Planning:SIMPL)を提供するもので、符号のスクリプトを手書きしたり、幾何学的モデルを完成させたりする必要はない。SIMPLアルゴリズムは、固定化されたスクリプトに比べ、はるかに良好な運動計画を生成し、偶発的な幾何学状態を利用することができ、最小の処理能力だけしか必要としない。
従って、本発明は、プログラムされた点間において、自由裁量的な移動シーケンスを自動的に計画するような方法を提供する。かかる方法において必要となるのは、(ロボット用途において代表的に要求されるような)プログラムされた点のセットと、有効なシーケンス、つまり衝突や取りこぼし及び特異点の含まれないシーケンスに解を束縛するための、簡単な構文規則のセットとだけである。そして、方法は、推論に基づいたやり方で、指定された構文規則を適用することによって、運動を計画する。本発明のさらに別の実施形態においては、エラーや予期しない状態が生じたときに、状況に対応するためのエラー復旧アルゴリズムが提供される。
本発明は2つの広義の観点を有していて、それらは、(1)有効な経路を見つけ出すための規則のセットを表現する、表記方法ないし抽象化方法と、(2)最適化された有効な経路を見つけ出す方法とである。抽象化によれば、他の方法にあっては極めて複雑であるような問題を解くために、簡単な技術を適用することが可能になる。好ましくは、本発明は第3の観点を含み、それは、すなわち、(3)ロボット装置をエラー状態から復旧させるためのエラー復旧方法である。
本発明のかかる方法は、有効な運動シーケンス(例えば“ネスト点→ネスト.移行点→ネスト.安全点→ベルト.安全点→ベルト.移行点→ベルト点”。尚これらの用語については後に定義する。)は、言語(計算機科学における“言語”の意味である)の有効なセンテンスを構成するという前提に基づいている。この前提に基づくならば、運動計画問題は、前述の如く、以下の3つの部分に分解される。
1.構文の表現
運動を支配する言語をどのように表現するか。いったん、ロボット装置における特定の場所に関連した“単語”が定義されると、装置の運動は、それらの“単語”の“センテンス”に変形されて、適切な文法に配置される。この段階においては、コンパイラ理論において既知である、言語仕様技術が用いられる。2点間における運動は、しばしば多彩な有効なセンテンスとして記述することができる。詳しくは後述するように、“有効な”センテンスとは、ロボット装置の運動が、対象物との衝突や特異点など、あらゆる不都合な効果に違反しないようなセンテンスである。
運動を支配する言語をどのように表現するか。いったん、ロボット装置における特定の場所に関連した“単語”が定義されると、装置の運動は、それらの“単語”の“センテンス”に変形されて、適切な文法に配置される。この段階においては、コンパイラ理論において既知である、言語仕様技術が用いられる。2点間における運動は、しばしば多彩な有効なセンテンスとして記述することができる。詳しくは後述するように、“有効な”センテンスとは、ロボット装置の運動が、対象物との衝突や特異点など、あらゆる不都合な効果に違反しないようなセンテンスである。
2.推論に基づく計画と最適化。
この段階には、所望の開始点と終了点とを結ぶような“最良の”有効な言語センテンスを見つけ出すことが含まれる。これは、人工知能の分野において一般的に用いられている、推論及び空間解探索技術に関係している。
この段階には、所望の開始点と終了点とを結ぶような“最良の”有効な言語センテンスを見つけ出すことが含まれる。これは、人工知能の分野において一般的に用いられている、推論及び空間解探索技術に関係している。
3.N次元カプセル幾何学的探索。
構文的に計画するためのひとつの含意関係は、運動を計画するために、ムーバがムーバの所在位置の名前を知っていなければならないことである。エラー状態(例えば衝突後)においては、この検索ストラテジーは、ムーバを既知の場所に戻すための取扱いを行う。
以下、本発明について、特定の実施例、すなわち研究室の用途に特に適しているムーバないしロボットアームを参照して説明する。実施例は、対象物をコンベアと垂直配列ローダないしカラセルとの間において移動させるような、垂直配列ローダ(VAL)に関する。ひとつの例においては、対象物は、当業者に知られているマイクロタイタープレートである。代表的なVALは、例えば図3乃至図7に示されている。カラセルは代表的に、対象物を受け入れるための、多数の“ネスト”を有している。
構文的に計画するためのひとつの含意関係は、運動を計画するために、ムーバがムーバの所在位置の名前を知っていなければならないことである。エラー状態(例えば衝突後)においては、この検索ストラテジーは、ムーバを既知の場所に戻すための取扱いを行う。
以下、本発明について、特定の実施例、すなわち研究室の用途に特に適しているムーバないしロボットアームを参照して説明する。実施例は、対象物をコンベアと垂直配列ローダないしカラセルとの間において移動させるような、垂直配列ローダ(VAL)に関する。ひとつの例においては、対象物は、当業者に知られているマイクロタイタープレートである。代表的なVALは、例えば図3乃至図7に示されている。カラセルは代表的に、対象物を受け入れるための、多数の“ネスト”を有している。
本発明において用いる用語集ないし命名の申し合わせとして、位置は、終端点(すなわち“ネスト点”又は“ベルト点”)又は関連する“安全点”(すなわち、ネスト.安全点又はベルト.安全点)のいずれかとして識別される。また、位置は、ネスト.移行点又はベルト.移行点など、これらの位置間を移動しているときの、ムーバの場所としても示される。移行位置は、方法が適用されるシステムに依存する、任意的事項である。本発明において任意の別のタイプの用語集を使用できることを理解されたい。これらの位置については、さらに後述する。
“ネスト点”とは、器具のネストにおいて、ムーバが容器などの対象物を、把持し又は解放する位置である。“ネスト.安全点”とは、ネストのアクセス扉を閉じるなどの器具固有の動作を、ムーバに衝突せずに行い得る箇所であって、ムーバが安全に別の安全位置に移動することができる位置である。代表的に、器具における各ネストは、ひとつのネスト点の位置と、ひとつのネスト.安全点の位置とを有する。本発明の好ましい用語集では、2つのネストシステムにおいては、ネスト点[1]と、ネスト[1].安全点と、ネスト点[2]と、ネスト[2].安全点とを有することになる。この用語集は、任意数のネストに拡張されることを理解されたい。代表的には、ネストの番号は0ではなく、1から開始する。
“ネスト.移行点”とは、任意的事項であって、ムーバの運動をよりフレキシブルにするための中間的な位置である。例えば、垂直配列されたネストにおけるひとつのネストにアクセスするには、ムーバが容器(又は他の対象物)をネストの中に降ろしたり、ネストの中から持ち上げたりするために、“ネスト点”と、“ネスト.安全点”との間に、少なくともひとつの位置をつけ加えることが代表的に必要である。
“ベルト点”とは、ムーバがコンベアベルト上にある容器を把持したり、コンベアベルト上に解放したりするための位置である。
“ベルト点”とは、ムーバがコンベアベルト上にある容器を把持したり、コンベアベルト上に解放したりするための位置である。
“ベルト.安全点”とは、ムーバがコンベアの動きに対して干渉しない位置に対応している。
“ベルト.移行点”とは、任意的事項であって、“ベルト点”と“ベルト.安全点”との位置間における運動を、よりフレキシブルにするための中間的な位置である。
上述した様々な位置はすべて、座標系に従って定義され、位置は、システムにおける様々な構成要素の幾何学的形状に基づいて確立されることになる。
“ベルト.移行点”とは、任意的事項であって、“ベルト点”と“ベルト.安全点”との位置間における運動を、よりフレキシブルにするための中間的な位置である。
上述した様々な位置はすべて、座標系に従って定義され、位置は、システムにおける様々な構成要素の幾何学的形状に基づいて確立されることになる。
図1は、ムーバ(すなわちVAL)の簡単な運動シーケンスを示している。図示の如く、シーケンス10は、“ネスト”の終端点12と、“ベルト”の終端点14との間に延在している。図1のシーケンスにおけるその他の位置としては、“安全点”である、“ネスト.安全点”16と“ベルト.安全点”18、及び、“移行点”である、ネスト.移行点20とベルト.移行点22とが含まれている。“安全点”及び“移行点”(“ネスト.移行点”、“ネスト.安全点”、“ベルト.安全点”及び“ベルト.移行点”)の目的は、ムーバの位置を識別して、上述したような1又は複数の“エラー”(例えば衝突や特異点など)を防ぐことである。
本発明における上述した3つの観点について、以下、前述したVALのムーバを参照して説明する。以下の説明においては、特定のムーバを参照しているけれども、当業者には明らかであるように、本発明による方法は、様々なその他のロボット制御システムに適用可能であることを理解されたい。
[フェーズ1:構文の表現]
本発明における有効な運動を表現するのに適した“文法”としては、様々な技術が存在するであろうけれども、好ましい観点においては、非常に簡単なアプローチとして、有効な運動センテンスを経路と領域との観点から表現する。これらの用語の定義は前述したが、簡単に言えば、ムーバが特定の順序で動くならば、それぞれの位置をグループ化して“経路”にすることができる。代わりに、ムーバが位置のセット内を順不同に動き得るならば、位置をグループ化して“領域”にすることができる。
本発明における有効な運動を表現するのに適した“文法”としては、様々な技術が存在するであろうけれども、好ましい観点においては、非常に簡単なアプローチとして、有効な運動センテンスを経路と領域との観点から表現する。これらの用語の定義は前述したが、簡単に言えば、ムーバが特定の順序で動くならば、それぞれの位置をグループ化して“経路”にすることができる。代わりに、ムーバが位置のセット内を順不同に動き得るならば、位置をグループ化して“領域”にすることができる。
経路は、ロボットの運動のかなりの部分が、研究室装置の器具のネストなど、束縛された空間を出入りすることからなるという観察に基づいている。こうした固定された区間を表現するための最も自然なやり方は、簡単なリストとして表現することである。例えば、経路P{ネスト点、ネスト.移行点、ネスト.安全点}は、ロボットが、
[ネスト点→ネスト.移行点→ネスト.安全点]
または、
[ネスト.安全点→ネスト.移行点→ネスト点]
のように移動できることを示している。
[ネスト点→ネスト.移行点→ネスト.安全点]
または、
[ネスト.安全点→ネスト.移行点→ネスト点]
のように移動できることを示している。
領域は、ひとつの作業エリアの近傍から別のエリアの近傍へ、ロボットが頻繁に移動することが必要であって、かかる種類の移動は、広く開かれた空間を通過するもので、比較的束縛されない傾向があるという観察に基づいている。例えば、領域R{ネスト.安全点、ベルト.安全点、リーダ.安全点}は、ロボットが、
[ネスト.安全点→ベルト.安全点]
[ベルト.安全点→ネスト.安全点]
[ネスト.安全点→リーダ.安全点]
[リーダ.安全点→ネスト.安全点]
[リーダ.安全点→ベルト.安全点]、または、
[ベルト.安全点→リーダ.安全点]
のように移動できることを示している。
[ネスト.安全点→ベルト.安全点]
[ベルト.安全点→ネスト.安全点]
[ネスト.安全点→リーダ.安全点]
[リーダ.安全点→ネスト.安全点]
[リーダ.安全点→ベルト.安全点]、または、
[ベルト.安全点→リーダ.安全点]
のように移動できることを示している。
経路を領域として表現し、また、領域を経路として表現することが可能であることに留意されたい。N点ないしN位置の長さの経路は、それぞれが2点を含むような、N−1個の領域によって表現できる。同様に、N点の領域は、それぞれが2点を含むような、N(N−1)/2個の経路によって表現できる。事実上、経路も領域も、極端に言えば、簡単な点の対として表現できる。しかしながら、経路及び領域は、2箇所の点からなる集合として定義できるとは言っても、かかる表現は、計算効率とメモリ容量効率との観点から、好ましくない。
従って、本発明による計画方法においては、方法に入力される情報は、少なくとも、以下の通りになっている。
(a)プログラムされた点ないし位置のセットであって、前述の如く、ロボット運動のための実際の開始点と終了点との双方を含み、また、開始点と終了点との間を動くときにロボットが使用するための様々な中間点及び安全点を含む。前述の如く、移行点は任意的事項である。
(b)経路及び領域のセットであって、有効な運動(衝突しない運動など)が服従しなければならないところの規則のセットを、全体として構成するような上記セット。これらの規則は、移動時に使用されるべき様々な運動設定(すなわち速さなど)を示す。
(a)プログラムされた点ないし位置のセットであって、前述の如く、ロボット運動のための実際の開始点と終了点との双方を含み、また、開始点と終了点との間を動くときにロボットが使用するための様々な中間点及び安全点を含む。前述の如く、移行点は任意的事項である。
(b)経路及び領域のセットであって、有効な運動(衝突しない運動など)が服従しなければならないところの規則のセットを、全体として構成するような上記セット。これらの規則は、移動時に使用されるべき様々な運動設定(すなわち速さなど)を示す。
当業者は理解するだろうが、上述した規則や位置などは、ムーバの制御装置の一部分を構成する記憶装置に記憶される。そうした制御装置は、当業者に一般的に知られている。従って、本発明は、主題である計画機能を実行するための、制御装置の動作方法を構成する。
図2は、小さなシステムにおける代表的な経路と領域とのセットを示している。点の間の経路24は双方向矢印によって示され、領域26は破線の円によって示されている。ひとつの点は、複数の経路及び領域の構成員になり得ることに留意されたい。図2には、“カラセル:ネスト点”や、“培養器:ネスト点”、“調合器:ネスト点”など、様々なタイプの“ネスト点”が示されていて、より一般的には、“[器具名]:ネスト点”が示されていることに留意されたい。この名称は、与えられたシステムにおいて用いられる様々な機器ないし器具におけるネストの識別のために使用されており、任意の数のそうした機器を設けられることを当業者は理解するだろう。また、ネスト装置や、リーダ、ベルト(すなわちコンベア)、培養器など、様々なタイプの機器を設けることが可能であることを理解されたい。特定の機器は、特定のシステムに依存して変化する。しかしながら、本発明は、あらゆる用途に適用可能であって、必要な位置の名称は当業者にあっては明らかであろうと思われる。
図2を参照すると、図示のシステムにおいては、ムーバを開始点“カラセル:ネスト点[1]”から、“培養器:ネスト点[0]”へと移動させるのに、以下の例示的なルートを使用できる。
(スタート) カラセル:ネスト点[1]
→カラセル:ネスト[1].移行点[0]
→カラセル:ネスト[1].移行点[1]
→カラセル:ネスト[1].安全点
→カラセル.安全点
→培養器.安全点
→培養器:ネスト[0].安全点
→培養器:ネスト[0].移行点[1]
→培養器:ネスト[0].移行点[0]
(終わり) →培養器:ネスト点[0]
(スタート) カラセル:ネスト点[1]
→カラセル:ネスト[1].移行点[0]
→カラセル:ネスト[1].移行点[1]
→カラセル:ネスト[1].安全点
→カラセル.安全点
→培養器.安全点
→培養器:ネスト[0].安全点
→培養器:ネスト[0].移行点[1]
→培養器:ネスト[0].移行点[0]
(終わり) →培養器:ネスト点[0]
上述の例に示したように、開始点からカラセル:ネスト[1].安全点までの動きは、経路のセットとしてつながっていた。しかしながら、ムーバは、その点から、カラセル.安全点へと動き、さらにそこから、培養器.安全点へと動くことができ、というのは、これらの点が共通領域内にあったためである。この例においては、様々な別のルートを採ることもできたはずであることを認識されたい。さらに、ある種の点を互いに“結ぶ”ことで、様々な“近道”を設計することもできる。例えば、上述したシナリオにおいては、カラセル:ネスト[1].安全点と、培養器:ネスト[0].安全点とを結んで“近道”とすれば、ムーバはそうしたルートを選択することもできたであろう。
図3は、コンベアベルト32に隣接して配置された、上述した例の垂直配列ローダ(VAL)30を示していて、コンベアベルトを用いて、試料容器やマイクロタイタープレートなどの対象物を、ひとつのVALから別のVALへと搬送する。図において、符号35は、VAL30におけるエフェクタの端部を示している。ローダは、ベルト32と、1又は複数のネスト38を備えたマイクロタイタープレートの“ホテル”などのネスト装置36との間にて、対象物34を移動させる。そうしたネスト装置は、一般的に“ホテル”又はカラセルと称される。装置の要素のための様々な支持プラットホームなどは図示していないことを理解されたい。さらに、上述した制御装置及び関連するモータなども図示しておらず、かかる目的には、一般に知られた任意の装置を使用することができる。
図4は、ネストの構成を、より詳細に示しているまた図4には、本発明による見本的な経路40を示している。特に、ここで注目される経路40は、以下の位置を含んでいる。
ネスト点[9]→ネスト[9].移行点→ネスト[9].安全点
図示の通り、この事例の経路40においては、ムーバを降下させて容器をネストに入れたり、上昇させてネストから容器を出したりするために、ネスト.移行点の位置が必要になる。これは、各対象物をネスト内に正確に位置決めすべく、ネストに通常設けられるものである、段差42があるためである。対象物を段差42から持ち上げる必要がない場合には、経路40を修正して移行点の位置を取り除いても良いことを理解されたい。
ネスト点[9]→ネスト[9].移行点→ネスト[9].安全点
図示の通り、この事例の経路40においては、ムーバを降下させて容器をネストに入れたり、上昇させてネストから容器を出したりするために、ネスト.移行点の位置が必要になる。これは、各対象物をネスト内に正確に位置決めすべく、ネストに通常設けられるものである、段差42があるためである。対象物を段差42から持ち上げる必要がない場合には、経路40を修正して移行点の位置を取り除いても良いことを理解されたい。
図5は、図3のVALシステムについて、様々な位置を重ね合わせて書き加えた模式図である。位置には、例えば、ネスト点[x]や、ネスト[x].移行点、ネスト[x].安全点などが含まれ、ここで“x”は、ネスト同士(又はシステムにおける他の要素)を区別するために割り当てられた識別符号である。
図6は、図5のVALシステムについて、各ネスト位置間の経路40を書き加えた模式図である。図6のシステムにおいては、その他の経路も定義されることになるが、そうした経路は、図面を簡潔にするために図示していないことを理解されたい。
図7は、位置とネストに関連した経路とを含んでいる図6のシステムについて、2つの見本的な“安全”領域44及び46を重ね合わせて書き加えて示している。例えば、第1の安全領域44は、様々な“ネスト.安全点”と共に、“安全点”と“ベルト.安全点”とを包含している。第2の安全領域46は、すべての“ネスト.安全点”を包含している。システムにおいては、特定の制約に依存して、様々な他の領域が指定されることを理解されたい。
[フェーズ2:推論に基づく計画及び最適化]
方法における第2のフェーズは、推論に基づく計画と最適化の過程にかかわる。まず、点、経路、及び領域として指定された必要なデータの入力後に、計画方法は開始点と終了点とを要求する。アルゴリズムの目標は、(0以上の他のプログラムされた点によって)開始点から終了点へと至る、最適な(又はほぼ最適な)経路を見つけ出すことであり、それぞれの点から点への移動は、システムで定義された経路及び領域によって指定されている規則に服従することである。ここでの説明の目的のために、“ルーティング”という用語を、すべての経路及び領域のセットを称するものとして使用する。
方法における第2のフェーズは、推論に基づく計画と最適化の過程にかかわる。まず、点、経路、及び領域として指定された必要なデータの入力後に、計画方法は開始点と終了点とを要求する。アルゴリズムの目標は、(0以上の他のプログラムされた点によって)開始点から終了点へと至る、最適な(又はほぼ最適な)経路を見つけ出すことであり、それぞれの点から点への移動は、システムで定義された経路及び領域によって指定されている規則に服従することである。ここでの説明の目的のために、“ルーティング”という用語を、すべての経路及び領域のセットを称するものとして使用する。
最も基本的な形態による計画アルゴリズムは、2つの基本的な段階から構成される。
1.ロボットが、開始点ないし位置から終了点までに採り得る、すべての最短長さのルーティングの組み合わせを見つけ出す。この目的を満たすルーティングは1セット以上存在するだろうが、各組み合わせは同一数のルーティングステップを有することに留意されたい。
2.段階(1)におけるルーティングの組み合わせの中から、開始点から終了点へと至る、最短移動時間の経路を見つけ出す。
段階(2)の結果によって、最適化された解が得られる。段階(1)は“発火”アルゴリズムによって達成されるが、このアルゴリズムでは、開始点を“発火点”として設定し、終了点に達するまで、すべての結合されたルーティングを通って、1ステップ反復する毎に火災を伝搬させる。次に、好ましい実施形態においては、逆経路(終了点から開始点へ)を使用して、いずれの解にも属さないルーティングを排除する。
段階(2)では、終了点からスタートして、段階(1)において見い出されたルーティングだけを用いているような、すべての可能な経路を逆戻りする。可能な経路を計算するとき、アルゴリズムは(幾何学形状やロボットのジョイント距離に基づいて)移動時間の見積りをたどる。これによって、アルゴリズムは、各段階における可能性を選択して、最適な経路を見つけ出す。そして、この移動時間の情報を用いて、開始点から終了点へと至る、最適化された経路を構築する。
1.ロボットが、開始点ないし位置から終了点までに採り得る、すべての最短長さのルーティングの組み合わせを見つけ出す。この目的を満たすルーティングは1セット以上存在するだろうが、各組み合わせは同一数のルーティングステップを有することに留意されたい。
2.段階(1)におけるルーティングの組み合わせの中から、開始点から終了点へと至る、最短移動時間の経路を見つけ出す。
段階(2)の結果によって、最適化された解が得られる。段階(1)は“発火”アルゴリズムによって達成されるが、このアルゴリズムでは、開始点を“発火点”として設定し、終了点に達するまで、すべての結合されたルーティングを通って、1ステップ反復する毎に火災を伝搬させる。次に、好ましい実施形態においては、逆経路(終了点から開始点へ)を使用して、いずれの解にも属さないルーティングを排除する。
段階(2)では、終了点からスタートして、段階(1)において見い出されたルーティングだけを用いているような、すべての可能な経路を逆戻りする。可能な経路を計算するとき、アルゴリズムは(幾何学形状やロボットのジョイント距離に基づいて)移動時間の見積りをたどる。これによって、アルゴリズムは、各段階における可能性を選択して、最適な経路を見つけ出す。そして、この移動時間の情報を用いて、開始点から終了点へと至る、最適化された経路を構築する。
上述したアルゴリズムの実施形態においては、開始点から終了点へと至る“最適な”経路を、時間の規準に基づいて決定していることは明らかである。すなわち、アルゴリズムは、最小数のルーティングステップをもつ可能性のセットの中から、最短移動時間をもつ経路を見つけるように設計されている。従って、真に最適な経路が、より多くのルーティングステップを要し、他の規準に基づき、これを見つけられないような例を人工的に構築することは可能である。実際には、こうした事例はめったに起こらず、上述した方法を慎重に適用することによって回避できることを我々は見い出している。
また、本発明によるアルゴリズムの複雑さのオーダーは、ルーティングの数をNとしたとき、O(N!)であることを認識されたい。しかしながら、これはワースト・ケースによる複雑さであって、ルーティングが極めて激しく相互結合されている場合だけに顕在化する。代表的な用途においては、この問題点はほとんど重要ではない。実用的な用途においては、複雑さのオーダーはO(N2)に近く、より取扱い易い。例えば、図2のシステムについて運動を計画するには、極めてわずかの計算パワーしか必要としない。
さらに別の実施形態においては、本発明による方法は、最近に計画された運動について、キャッシュ(又はリスト)記憶の保存を伴なう。新たな移動シーケンスを計画する前に、キャッシュを点検する。所望の開始点と終了点とを含んでいる、既に計算されたシーケンスが存在するのであれば、前に計算されたシーケンスの関連部分を使用することで、さらに計算する必要はなくなる。このタイプのキャッシュは、本発明の効率を高めることを認識されたい。新たな移動について計算が完了する毎に、キャッシュは更新されて、新たに計算されたシーケンス内に(部分集合として)含まれているシーケンスは、単純に置き換えられる。別のやり方としては、LRU法(Least Recently Used replacement)などの在来のキャッシュ管理方法を適用してキャッシュを管理しても良い。
[フェーズ3:N次元カプセル幾何学的探索]
上述の如く、方法におけるフェーズ3は、任意的事項であるが、好ましい段階である。構文推論式の運動計画装置を機能させるためには、アルゴリズムは、ムーバのエンドエフェクタについて、その現在位置の名前を知っていることが必要である。この要件を満足することは、正常な動作状態の下では、難しいことではない。しかしながら、非常停止や衝突状態においては、ムーバは、既知の位置ではない場所を運動している間に、停止させられる。本発明の実施形態によれば、2段階式のアプローチを採用して、ロボットがどこにあるのか“見つけ出し”、ロボットを既知の位置に復帰させる。
上述の如く、方法におけるフェーズ3は、任意的事項であるが、好ましい段階である。構文推論式の運動計画装置を機能させるためには、アルゴリズムは、ムーバのエンドエフェクタについて、その現在位置の名前を知っていることが必要である。この要件を満足することは、正常な動作状態の下では、難しいことではない。しかしながら、非常停止や衝突状態においては、ムーバは、既知の位置ではない場所を運動している間に、停止させられる。本発明の実施形態によれば、2段階式のアプローチを採用して、ロボットがどこにあるのか“見つけ出し”、ロボットを既知の位置に復帰させる。
[段階1:位置リストの探索]
ロボットが既知の位置にないならば、この段階に従う。まず、あらゆる既知の位置について、ロボットのエンドエフェクタと各位置との間の距離を計算する。この距離が、球体体積に置き換えられる、形成された合致半径未満であるならば、ロボットは単にかかる位置にあるとみなされ、計画は正常に進行する。
ロボットが既知の位置にないならば、この段階に従う。まず、あらゆる既知の位置について、ロボットのエンドエフェクタと各位置との間の距離を計算する。この距離が、球体体積に置き換えられる、形成された合致半径未満であるならば、ロボットは単にかかる位置にあるとみなされ、計画は正常に進行する。
図8は、仮想的な2ジョイント式ロボットにおけるエンドエフェクタ52について、そのまわりの球体の合致半径50のエリアを示している。ロボットがその位置にあるとみなされるためには、この球体内に点が存在しなければならない。この合致半径は注意深く(すなわち大き過ぎないように)選ぶ必要があり、さもなくば、当業者には明らかなように、点からロボットまでの距離のために、間違った運動を生じさせる。合致半径として適切なサイズは、方法が適用される特定のシステムに基づいて、当業者に明らかになるだろう。
図9は、デカルト座標系に基づかずに、距離を測定するような実施形態を示している。この事例では、デカルト座標系上の位置に代えて、ロボットのジョイント角度に基づいて、合致する非球体である形状54が得られている。ジョイント角度を使用することの利点は、距離計算に必要な計算数が大いに減少することである。ひとつの好ましい実施形態では、このアプローチを用いて、位置を合致させている。本質的には、ロボットのジョイント数がNのとき、距離は、N次元空間内において計算される。図9においては、“都市ブロック”式の距離測定を用いている。ユークリッド式の、または、その他の合理的な挙動を呈する、距離測定を使用することが可能である。
[段階2:カプセルの探索]
位置リストの探索によってロボットのエンドエフェクタの合理的な位置が見つけられない場合には、この段階に従う。この段階においては、計画者が入力したデータ中にある、経路及び領域を使用して探索を行う。
前述の如く、経路及び領域はすべて、対をなす点を結合する線分のセットから構成されている。N点長さの経路は、N−1本の線分を特定し、N点の領域はN(N−1)本の線分を特定する。ユーザは、このエラー復旧段階中に使用するための、重みづけ係数ないし合致半径乗数M(>0)を、各経路及び領域に対してアプリオリに割り当てることができる。従って、各線分は、そのまわりにカプセル状のエリアを有し、エンドエフェクタが線分上にあるとみなされるためには、エンドエフェクタは該エリア内になければならない。
位置リストの探索によってロボットのエンドエフェクタの合理的な位置が見つけられない場合には、この段階に従う。この段階においては、計画者が入力したデータ中にある、経路及び領域を使用して探索を行う。
前述の如く、経路及び領域はすべて、対をなす点を結合する線分のセットから構成されている。N点長さの経路は、N−1本の線分を特定し、N点の領域はN(N−1)本の線分を特定する。ユーザは、このエラー復旧段階中に使用するための、重みづけ係数ないし合致半径乗数M(>0)を、各経路及び領域に対してアプリオリに割り当てることができる。従って、各線分は、そのまわりにカプセル状のエリアを有し、エンドエフェクタが線分上にあるとみなされるためには、エンドエフェクタは該エリア内になければならない。
エラー状況に遭遇したとき、ロボットを戻し、戻した場所から進めるためには、以下の段階を行う。まず、各経路及び領域における各線分について、エンドエフェクタの場所から線分までの、最も近い距離Dを計算する。これに続いて、重みづけされた距離D/Mを計算する。そして、最も小さなD/Mの値をもった線分が決定される。
この“ベスト”な線分についての重みづけされた距離D/Mが、合致半径未満であるならば、ロボットのエンドエフェクタは線分上の場所にあると判断される。この規準を満たす線分が見つからないならば、エラー条件を発生させて、ユーザによる介入を要求する。
いったん、ムーバに隣接している線分が決定されたならば、エンドエフェクタから2つの端点のそれぞれまでの距離を計算し、ムーバに対して、最も近い点へ直接、低速で動くように指令する。エンドエフェクタの場所は線分に近いだろうし、線分はムーバが追従可能である有効な軌跡を表しているので、ムーバをこのように再配置した結果によって衝突が生じることはない。この低速移動を行なった後には、ムーバは既知の場所にあることになって、計画を正常に継続することができる。
前述の如く、距離の測定は、デカルト座標系に従う必要はない。好ましい実施形態においては、ジョイント角度に基づくユークリッド距離を使用して、各線分までの距離を見い出す。
上述したエラー復旧アルゴリズムは、前述した最適化方法とは独立させて使用可能であることを理解されたい。
上述したエラー復旧アルゴリズムは、前述した最適化方法とは独立させて使用可能であることを理解されたい。
[このアプローチの強み]
上述した方法によって、エラー状態中にロボットを位置決めすることには、2つの別々の強みがある。
1.ひとつの代表的なエラーのシナリオにおいては、ユーザが非常停止スイッチを操作したとき、ムーバは運動中である。このシナリオでは、ロボットは極く迅速に停止する。スイッチが操作されたとき、ロボットは有効な線分に沿って動いていたので、ロボットは線分の近くに残されているはずである。
2.極端なエラー状態(衝突など)に対しては、特殊な“復旧経路”と、非常に大きな半径乗数をもった関連する“復旧空間”とを設定することによって対処する。例えば、ムーバの作業空間の中の空の部分に経路を設定すれば、エラー復旧が充分に可能な近い場所まで、ユーザが手作業でエンドエフェクタを動かすことができる。
上述した方法によって、エラー状態中にロボットを位置決めすることには、2つの別々の強みがある。
1.ひとつの代表的なエラーのシナリオにおいては、ユーザが非常停止スイッチを操作したとき、ムーバは運動中である。このシナリオでは、ロボットは極く迅速に停止する。スイッチが操作されたとき、ロボットは有効な線分に沿って動いていたので、ロボットは線分の近くに残されているはずである。
2.極端なエラー状態(衝突など)に対しては、特殊な“復旧経路”と、非常に大きな半径乗数をもった関連する“復旧空間”とを設定することによって対処する。例えば、ムーバの作業空間の中の空の部分に経路を設定すれば、エラー復旧が充分に可能な近い場所まで、ユーザが手作業でエンドエフェクタを動かすことができる。
図10は、前述したVALの例に関連させて、“復旧空間”を示している。図示の如く、見本である復旧空間56は、VAL30とネスト装置36(例えばマイクロタイタープレートホテル)との間において、テーブル面58のすぐ上から、ネスト装置36の充分に上方にまで延在している。復旧空間は、オペレータがVALの位置決めについて過度に正確である必要のないように充分に広いべきであるが、復旧空間とあらゆる隣接して定義された位置との間においてVALが移動するときに衝突のリスクがないように、充分に束縛されているべきである。図示の如く、復旧空間56は、所望の復旧経路60と経路の半径62とに基づいて計算される。復旧空間56を定義するためには、まず、“復旧上端”と“復旧下端”との2つの位置を含むような、復旧経路60ないし領域を定義する。次に、復旧経路(ないし領域)60に半径設定62を与える。
本発明は、従来技術による公知の方法に勝る、様々な利点を提供する。まず、本発明によれば、ロボットを1点から別の点へ最適な又はほぼ最適なやり方で移動させるという複雑な問題を解くことができ、幾何学的なモデル化や多大な計算パワーを必要としない。このため、ロボットをより“自然”に“優雅”なやり方で移動させることができ、システムは、ユーザが符号化したり、すべての可能な経路を特定したりせずとも、偶発的な幾何学状態を利用することができる。この利益は4倍になる。すなわち、(1)運動がより直接的になり、その形態が“形式的”でなくなり、不要な運動が少なくなるために、速さが高まる。また、(2)抽象化は理解又は使用が難しいものではないため、システムの設定及びティーチングが簡単になる。そして、(3)ユーザは、規則のリストに単に経路/領域を追加するだけで、ロボットが採るべき“近道”を提供でき、運動を最適化可能である。さらに、(4)挙動に優れた、高度に自動化されたエラー復旧が得られる。
この方法のさらに他の利益は、ロボットシステムに“スマートな移動”命令を与えることができ、ユーザは、障害物などの介入にかまわずに、単にロボットに対してロボットが行くべき場所を指示するだけで良い。そして、運動計画装置は、ロボットの計算の場所と、その到達すべき場所との知識を使用して、ロボットを最適化された安全なやり方で移動させる。
本発明による計画方法は、コンピュータベースのロボットコントローラにおいて実現するのに特に適していることを当業者は認識するだろう。上述した様々な位置や、点、経路、領域、ルーティングなどは最初に、コンピュータに搭載された又はコンピュータに関連付けられたメモリに記憶され、そうしたデータはコンピュータのプロセッサによってアクセス可能になり、必要な計算が行われる。
以上、本発明について、便宜上、ある種の特定の例に関連させて説明した。しかしながら、本発明による方法は、任意数の又は任意のタイプのシステムにおいて採用することができる。
本発明について、ある種の特定の実施形態を参照して説明したけれども、特許請求の範囲に記載された本発明の精神及び範囲から逸脱せずに、様々な改変が可能であることは、当業者には明らかである。
本発明について、ある種の特定の実施形態を参照して説明したけれども、特許請求の範囲に記載された本発明の精神及び範囲から逸脱せずに、様々な改変が可能であることは、当業者には明らかである。
Claims (28)
- 開始位置から終了位置へと至るロボット運動の計画方法であって、前記開始位置と終了位置とは前記ロボットの運動範囲内にあり、この方法が、
(a)空間座標系において、少なくとも2つの位置を定義し、前記少なくとも2つの位置は、前記開始位置と終了位置とを含んでいるような上記定義する段階と、
(b)前記少なくとも2つの位置をコンピュータのメモリに記憶する段階と、
(c)前記少なくとも2つの位置における前記ロボットの動きを支配する規則のセットを定義する段階と、
(d)前記規則のセットをコンピュータのメモリに記憶する段階と、
(e)前記少なくとも2つの位置を通り、前記開始位置から前記終了位置へと至る、可能なルートを計算する段階と、
(f)前記可能なルートから、所定の規準を満たす最適なルートを決定する段階と、
を備えていることを特徴とする方法。 - 前記少なくとも2つの位置は、前記開始位置と終了位置との間に、複数の位置を含んでいることを特徴とする請求項1に記載の方法。
- 前記少なくとも2つの位置は、前記ロボットにおける複数の可能な位置を含んでいることを特徴とする請求項1に記載の方法。
- 前記規則のセットは、隣接して対をなす前記位置の間における、前記ロボットの運動条件を含んでいることを特徴とする請求項1に記載の方法。
- 段階(e)において、前記開始位置と終了位置との間におけるすべての可能なルートを計算し、前記ルートは位置のシーケンスを含んでいることを特徴とする請求項1に記載の方法。
- 段階(f)において、所定の規準は、前記開始位置と終了位置との間における前記ロボットの最小移動時間を含んでいることを特徴とする請求項1に記載の方法。
- 前記規則は少なくともひとつの経路を含み、前記経路は、予め設定された順序に配列されてなる、前記少なくとも2つの位置の2以上のものを含み、前記経路上にある位置間における前記ロボットの運動は、前記予め設定された順序に束縛されることを特徴とする請求項1に記載の方法。
- 前記規則は少なくともひとつの領域を含み、前記領域は、グループに配列されてなる、前記少なくとも2つの位置の2以上のものを含み、前記ロボットは前記グループ内における任意の位置間において自由に移動可能になっていることを特徴とする請求項1に記載の方法。
- 前記規則は少なくともひとつの経路と少なくともひとつの領域とを含み、前記経路は、予め設定された順序に配列されてなる、前記少なくとも2つの位置の2以上のものを含み、前記経路上にある位置間における前記ロボットの運動は、前記予め設定された順序に束縛され、前記領域は、グループに配列されてなる、前記少なくとも2つの位置の2以上のものを含み、前記ロボットは前記グループ内における任意の位置間において自由に移動可能になっていることを特徴とする請求項1に記載の方法。
- 段階(e)において、前記開始位置と終了位置との間におけるすべての可能なルートを計算し、前記ルートは位置のシーケンスを含んでいることを特徴とする請求項9に記載の方法。
- 段階(f)において、所定の規準は、前記開始位置と終了位置との間における前記ロボットの最小移動時間を含んでいることを特徴とする請求項10に記載の方法。
- 前記少なくとも2つの位置は、前記ロボットが対象物に係合し又はこれを解放する場所と、前記ロボットの安全場所と、前記ロボットの移行場所とを含むグループから選択されていることを特徴とする請求項2に記載の方法。
- 前記少なくとも2つの位置は、前記ロボットが対象物に係合し又はこれを解放する場所と、前記ロボットの安全場所と、前記ロボットの移行場所とを含むグループから選択されていることを特徴とする請求項3に記載の方法。
- 前記方法において、前記段階(f)が下位の段階として、
(i)ロボットが開始位置から終了位置に至るまでに採り得る、すべての最短長さのルートを見つけ出す段階と、
(ii)前記開始位置から終了位置までの移動時間が最も短いルートを、段階(i)における前記最短長さのルートのうちから選択する段階と、
を備えていることを特徴とする請求項6に記載の方法。 - 前記方法は、エラー解決アルゴリズムを含み、エラー状態に遭遇したとき、ロボットがその位置を解決可能になっていることを特徴とする請求項1に記載の方法。
- 前記エラー解決アルゴリズムによって、ロボットは、前記少なくとも2つの位置のうちの最も近いひとつの位置に割り当てられることを特徴とする請求項15に記載の方法。
- 前記方法において、前記位置のうち最も近いひとつの位置にロボットを割り当てる段階が、
(a)最短距離限界を選択する段階と、
(b)前記少なくとも2つの位置のそれぞれから前記ロボットまでの距離を計算する段階と、
(c)前記ロボットに最も近い位置を識別する段階であって、前記最も近い位置は前記ロボットから最短距離をもっているような上記識別する段階と、
(d)前記最短距離と前記距離限界とを比較する段階と、
(e)前記最短距離が前記距離限界に比べて小さいか等しい場合に、ロボットを前記最も近い位置に割り当てる段階と、
を備えていることを特徴とする請求項16に記載の方法。 - 前記方法は、エラー解決アルゴリズムを含み、エラー状態に遭遇したとき、ロボットがその位置を解決可能になっていることを特徴とする請求項9に記載の方法。
- 前記エラー解決アルゴリズムによって、ロボットは、前記少なくとも2つの位置のうちの最も近いひとつの位置に割り当てられることを特徴とする請求項18に記載の方法。
- 前記方法において、前記位置のうち最も近いひとつの位置にロボットを割り当てる段階が、
(a)最短距離限界を選択する段階と、
(b)前記少なくとも2つの位置のそれぞれから前記ロボットまでの距離を計算する段階と、
(c)前記ロボットに最も近い位置を識別する段階であって、前記最も近い位置は前記ロボットから最短距離をもっているような上記識別する段階と、
(d)前記最短距離と前記距離限界とを比較する段階と、
(e)前記最短距離が前記距離限界に比べて小さいか等しい場合に、ロボットを前記最も近い位置に割り当てる段階と、
を備えていることを特徴とする請求項19に記載の方法。 - 前記方法において、段階(e)における前記最短距離が前記距離限界に比べて大きい場合に、この方法がさらに、
(f)それぞれの経路及び領域に重みづけ係数Mを割り当てる段階と、
(g)ロボットから、前記経路及び領域における前記少なくとも2つの位置を結ぶそれぞれの線までの、最短距離Dを計算する段階と、
(h)前記最短距離を重みづけ係数で割り算して、重みづけされた距離D/Mを得る段階と、
(i)重みづけされた距離D/Mが最小であるような線分を識別する段階と、
(j)段階(i)における最小である重みづけされた距離D/Mと、前記最短距離限界とを比較する段階と、
(k)識別された線分についての重みづけされた距離が最短距離限界未満であるならば、ロボットを前記識別された線分に割り当てる段階と、
(l)ロボットから前記識別された線分の終点までの距離を計算する段階と、
(m)前記ロボットを前記終点に最も近い点へ移動させ、前記終点に最も近い点が占めている位置にロボットを割り当てる段階と、
を備えていることを特徴とする請求項20に記載の方法。 - 前記方法において、前記エラー解決アルゴリズムが、
(a)最短距離限界を選択する段階と、
(b)それぞれの経路及び領域に重みづけ係数Mを割り当てる段階と、
(c)ロボットから、前記経路及び領域における前記少なくとも2つの位置を結ぶそれぞれの線までの、最短距離Dを計算する段階と、
(d)前記最短距離を重みづけ係数で割り算して、重みづけされた距離D/Mを得る段階と、
(e)重みづけされた距離D/Mが最小であるような線分を識別する段階と、
(f)段階(e)における最小である重みづけされた距離D/Mと、前記最短距離限界とを比較する段階と、
(g)識別された線分についての重みづけされた距離が最短距離限界未満であるならば、ロボットを前記識別された線分に割り当てる段階と、
(h)ロボットから前記識別された線分の終点までの距離を計算する段階と、
(i)前記ロボットを前記終点に最も近い点へ移動させ、前記終点に最も近い点が占めている位置にロボットを割り当てる段階と、
を備えていることを特徴とする請求項18に記載の方法。 - 前記方法において、前記段階(f)が下位の段階として、
(i)ロボットが開始位置から終了位置に至るまでに採り得る、すべての最短長さのルートを見つけ出す段階と、
(ii)前記開始位置から終了位置までの移動時間が最も短いルートを、段階(a)における前記最短長さのルートのうちから選択する段階と、
を備えていることを特徴とする請求項9に記載の方法。 - 対をなす位置間における最適化されたルートは、コンピュータのメモリに記憶されて検索可能にされることを特徴とする請求項1乃至23のいずれか一項に記載の方法。
- 開始位置及び終了位置に侵入する際に、前回に決定された最適化された経路をコンピュータのメモリから検索することを特徴とする請求項24に記載の方法。
- 請求項1乃至25のいずれか一項に記載の方法を符号化した、ロボットのための制御装置。
- ロボットの位置決めを修正するためのエラー修正方法であって、この方法が、
(a)空間座標系において、ロボットにおける複数の可能な位置を定義する段階と、
(b)最短距離限界を選択する段階と、
(c)前記位置のそれぞれから前記ロボットまでの距離を計算する段階と、
(d)前記ロボットに最も近い位置を識別する段階であって、前記最も近い位置は前記ロボットから最短距離をもっているような上記識別する段階と、
(d)前記最短距離と前記距離限界とを比較する段階と、
(e)前記最短距離が前記距離限界に比べて小さいか等しい場合に、ロボットを前記最も近い位置に割り当てる段階と、
を備えていることを特徴とする方法。 - 前記方法において、段階(e)における前記最短距離が前記距離限界に比べて大きい場合に、この方法がさらに、
(f)重みづけ係数Mを選択する段階と、
(g)ロボットから、前記対をなす位置を結ぶそれぞれの線までの、最短距離Dを計算する段階と、
(h)前記最短距離を重みづけ係数Mで割り算して、重みづけされた距離D/Mを得る段階と、
(i)重みづけされた距離D/Mが最小であるような線分を識別する段階と、
(j)段階(i)における最小である重みづけされた距離D/Mと、前記最短距離限界とを比較する段階と、
(k)識別された線分についての重みづけされた距離が最短距離限界未満であるならば、ロボットを前記識別された線分に割り当てる段階と、
(l)ロボットから前記識別された線分の終点までの距離を計算する段階と、
(m)前記ロボットを前記終点に最も近い点へ移動させ、前記終点に最も近い点が占めている位置にロボットを割り当てる段階と、
を備えていることを特徴とする請求項27に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US44383903P | 2003-01-31 | 2003-01-31 | |
PCT/CA2004/000136 WO2004067232A2 (en) | 2003-01-31 | 2004-01-30 | Syntactic inferential motion planning method for robotic systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006515233A true JP2006515233A (ja) | 2006-05-25 |
Family
ID=32825379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006501405A Pending JP2006515233A (ja) | 2003-01-31 | 2004-01-30 | ロボットシステムのための構文推論式の運動計画方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9855657B2 (ja) |
EP (1) | EP1587650B1 (ja) |
JP (1) | JP2006515233A (ja) |
CA (1) | CA2514204C (ja) |
WO (1) | WO2004067232A2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009061542A (ja) * | 2007-09-06 | 2009-03-26 | Yaskawa Electric Corp | 基板搬送用ロボット及びそれを備えた基板搬送装置、半導体製造装置 |
JP2010184333A (ja) * | 2009-02-13 | 2010-08-26 | Yaskawa Electric Corp | 基板搬送用ロボット及びそれを備えた基板搬送装置、半導体製造装置 |
KR20190041464A (ko) * | 2016-07-06 | 2019-04-22 | 로렌스 리버모어 내쇼날 시큐리티, 엘엘시 | 자율 차량용 물체 감지 및 회피 시스템 |
US11573575B2 (en) | 2017-04-12 | 2023-02-07 | Lawrence Livermore National Security, Llc | Attract-repel path planner system for collision avoidance |
US11927972B2 (en) | 2020-11-24 | 2024-03-12 | Lawrence Livermore National Security, Llc | Collision avoidance based on traffic management data |
JP7544954B2 (ja) | 2020-09-23 | 2024-09-03 | アプライド マテリアルズ インコーポレイテッド | ロボット関節空間グラフ経路計画および移動実行 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8055383B2 (en) * | 2005-05-13 | 2011-11-08 | Toyota Jidosha Kabushiki Kaisha | Path planning device |
US7627394B2 (en) * | 2005-12-20 | 2009-12-01 | Kuka Roboter Gmbh | Robot trajectory control including emergency evacuation path system and method |
JP4175422B2 (ja) * | 2006-04-24 | 2008-11-05 | 日産自動車株式会社 | 加工用ビーム照射装置の照射可能領域認識方法および照射可能領域認識装置並びに加工用ビーム照射装置の移動経路設定方法 |
DE102008024950A1 (de) * | 2008-05-23 | 2009-11-26 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur Steuerung eines Manipulators |
US8078445B2 (en) * | 2008-09-30 | 2011-12-13 | Rockwell Automation Technologies, Inc. | Load characterization in servo drive systems |
DE102008061153A1 (de) * | 2008-12-09 | 2010-06-17 | Renate Grünfeld | Verfahren zur mehrdimensionalen automatischen, elektromotorischen Bewegung einer kartesisch geführten Sonde zu einem Objekt |
US9394074B2 (en) * | 2013-07-29 | 2016-07-19 | Huhtamaki, Inc. | Perforated top curl for plastic container |
CN103568012B (zh) * | 2013-10-24 | 2015-10-21 | 安徽埃夫特智能装备有限公司 | 一种弧焊机器人双平面摆弧轨迹的规划方法 |
JP6381203B2 (ja) * | 2013-11-26 | 2018-08-29 | キヤノン株式会社 | ロボット装置および教示装置 |
DE102015205631B4 (de) | 2014-06-05 | 2024-06-20 | Heidelberger Druckmaschinen Ag | Verfahren zum automatisierten Bedrucken einer gekrümmten Oberfläche eines dreidimensionalen Objekts |
US9280159B1 (en) | 2014-09-17 | 2016-03-08 | Google Inc. | Shutdown method by using local control board |
WO2016142794A1 (en) | 2015-03-06 | 2016-09-15 | Wal-Mart Stores, Inc | Item monitoring system and method |
US20180099846A1 (en) | 2015-03-06 | 2018-04-12 | Wal-Mart Stores, Inc. | Method and apparatus for transporting a plurality of stacked motorized transport units |
US20160260142A1 (en) | 2015-03-06 | 2016-09-08 | Wal-Mart Stores, Inc. | Shopping facility assistance systems, devices and methods to support requesting in-person assistance |
US12084824B2 (en) | 2015-03-06 | 2024-09-10 | Walmart Apollo, Llc | Shopping facility assistance systems, devices and methods |
FR3038245B1 (fr) * | 2015-06-30 | 2017-12-29 | Staubli Sa Ets | Procede de commande d'une cellule de travail automatisee |
EP3347175B1 (en) | 2015-09-09 | 2022-03-02 | Berkshire Grey, Inc. | Systems and methods for providing dynamic communicative lighting in a robotic environment |
CA3178222A1 (en) | 2015-12-04 | 2017-06-08 | Berkshire Grey Operating Company, Inc. | Systems and methods for dynamic processing of objects |
US10730078B2 (en) | 2015-12-04 | 2020-08-04 | Berkshire Grey, Inc. | Systems and methods for dynamic sortation of objects |
CA3014049C (en) * | 2016-02-08 | 2021-06-22 | Thomas Wagner | Systems and methods for providing processing of a variety of objects employing motion planning |
CA2961938A1 (en) | 2016-04-01 | 2017-10-01 | Wal-Mart Stores, Inc. | Systems and methods for moving pallets via unmanned motorized unit-guided forklifts |
CN110462657B (zh) * | 2017-03-22 | 2024-01-16 | 伯克希尔格雷营业股份有限公司 | 包括自动径向处理站的用于处理物体的方法和系统 |
CN107677285B (zh) | 2017-04-11 | 2019-05-28 | 平安科技(深圳)有限公司 | 机器人的路径规划系统及方法 |
CN110869174B (zh) | 2017-07-10 | 2023-12-05 | 海别得公司 | 用于生成材料处理机器人工具路径的计算机实现的方法和系统 |
JP7087316B2 (ja) * | 2017-09-27 | 2022-06-21 | オムロン株式会社 | 情報処理装置、情報処理方法およびプログラム |
CN109375625B (zh) * | 2018-11-12 | 2021-06-01 | 智慧航海(青岛)科技有限公司 | 一种基于快速搜索遗传算法的智能船舶路径规划方法 |
CN113748000B (zh) | 2019-04-25 | 2024-04-05 | 伯克希尔格雷营业股份有限公司 | 用于维持可编程运动系统中的软管布线系统中的真空软管寿命的系统和方法 |
CN110561417B (zh) * | 2019-08-05 | 2021-03-26 | 华中科技大学 | 一种多智能体无碰撞轨迹规划方法 |
CN111080034A (zh) * | 2019-12-31 | 2020-04-28 | 芜湖哈特机器人产业技术研究院有限公司 | 一种智能装车系统的机器人路径规划方法 |
US11707843B2 (en) * | 2020-04-03 | 2023-07-25 | Fanuc Corporation | Initial reference generation for robot optimization motion planning |
US11794342B2 (en) * | 2020-07-17 | 2023-10-24 | Intrinsic Innovation Llc | Robot planning using unmanned aerial vehicles |
CN112060093B (zh) * | 2020-09-10 | 2022-08-02 | 云南电网有限责任公司电力科学研究院 | 一种用于架空线路检修机械臂的路径规划方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE401637B (sv) * | 1976-03-29 | 1978-05-22 | Asea Ab | Forfarande och anordning for att bringa en industrirobot att utfora en komplex rorelse |
US4538233A (en) * | 1982-10-19 | 1985-08-27 | Cincinnati Milacron Inc. | Apparatus and method for oscillatory motion control |
EP0108549B1 (en) * | 1982-10-29 | 1988-01-07 | Kabushiki Kaisha Toshiba | Control system of multi-joint arm robot apparatus |
US4940925A (en) * | 1985-08-30 | 1990-07-10 | Texas Instruments Incorporated | Closed-loop navigation system for mobile robots |
US4675502A (en) * | 1985-12-23 | 1987-06-23 | General Electric Company | Real time tracking control for taught path robots |
EP0317020B1 (en) * | 1987-11-20 | 1995-04-19 | Koninklijke Philips Electronics N.V. | Method and apparatus for path planning |
US5544282A (en) * | 1991-04-05 | 1996-08-06 | Chen; Pang C. | Method and apparatus for planning motions of robot manipulators |
DE4336863C2 (de) * | 1993-10-28 | 1998-01-22 | Zeiss Carl Fa | Verfahren zur Steuerung von Koordinatenmeßgeräten |
US6321158B1 (en) * | 1994-06-24 | 2001-11-20 | Delorme Publishing Company | Integrated routing/mapping information |
JP3276248B2 (ja) * | 1994-08-02 | 2002-04-22 | 株式会社小松製作所 | 異常復帰装置 |
US5835684A (en) * | 1994-11-09 | 1998-11-10 | Amada Company, Ltd. | Method for planning/controlling robot motion |
US6216058B1 (en) * | 1999-05-28 | 2001-04-10 | Brooks Automation, Inc. | System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes |
-
2004
- 2004-01-30 WO PCT/CA2004/000136 patent/WO2004067232A2/en active Application Filing
- 2004-01-30 US US10/543,853 patent/US9855657B2/en active Active
- 2004-01-30 CA CA2514204A patent/CA2514204C/en not_active Expired - Lifetime
- 2004-01-30 JP JP2006501405A patent/JP2006515233A/ja active Pending
- 2004-01-30 EP EP04706583.4A patent/EP1587650B1/en not_active Expired - Lifetime
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009061542A (ja) * | 2007-09-06 | 2009-03-26 | Yaskawa Electric Corp | 基板搬送用ロボット及びそれを備えた基板搬送装置、半導体製造装置 |
JP2010184333A (ja) * | 2009-02-13 | 2010-08-26 | Yaskawa Electric Corp | 基板搬送用ロボット及びそれを備えた基板搬送装置、半導体製造装置 |
KR20190041464A (ko) * | 2016-07-06 | 2019-04-22 | 로렌스 리버모어 내쇼날 시큐리티, 엘엘시 | 자율 차량용 물체 감지 및 회피 시스템 |
KR102345083B1 (ko) * | 2016-07-06 | 2021-12-31 | 로렌스 리버모어 내쇼날 시큐리티, 엘엘시 | 자율 차량용 물체 감지 및 회피 시스템 |
US11796673B2 (en) | 2016-07-06 | 2023-10-24 | Lawrence Livermore National Security, Llc | Object sense and avoid system for autonomous vehicles |
US11573575B2 (en) | 2017-04-12 | 2023-02-07 | Lawrence Livermore National Security, Llc | Attract-repel path planner system for collision avoidance |
JP7544954B2 (ja) | 2020-09-23 | 2024-09-03 | アプライド マテリアルズ インコーポレイテッド | ロボット関節空間グラフ経路計画および移動実行 |
US11927972B2 (en) | 2020-11-24 | 2024-03-12 | Lawrence Livermore National Security, Llc | Collision avoidance based on traffic management data |
Also Published As
Publication number | Publication date |
---|---|
US20070005179A1 (en) | 2007-01-04 |
WO2004067232A2 (en) | 2004-08-12 |
CA2514204C (en) | 2015-12-15 |
EP1587650A2 (en) | 2005-10-26 |
US9855657B2 (en) | 2018-01-02 |
EP1587650B1 (en) | 2018-08-29 |
WO2004067232A3 (en) | 2005-07-28 |
CA2514204A1 (en) | 2004-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006515233A (ja) | ロボットシステムのための構文推論式の運動計画方法 | |
CN110228069B (zh) | 一种机械臂在线避障运动规划方法 | |
US9044862B2 (en) | Path planning apparatus and method for robot | |
Mao et al. | Obstacle avoidance inverse kinematics solution of redundant robots by neural networks | |
Al-Sharo et al. | Generalized Procedure for Determining the Collision-Free Trajectory for a Robotic Arm | |
JP5044991B2 (ja) | 経路作成装置及び経路作成方法 | |
CN112947403B (zh) | 用于障碍物规避的确定性机器人路径规划 | |
Orthey et al. | Sampling-based motion planning: A comparative review | |
Tavares et al. | Multiple manipulators path planning using double A | |
Djeffal et al. | Kinematics modeling and simulation analysis of variable curvature kinematics continuum robots | |
Sanders et al. | A method to produce minimal real time geometric representations of moving obstacles | |
Merrad et al. | A reliable algorithm for obtaining all-inclusive inverse kinematics’ solutions and redundancy resolution of continuum robots | |
JP2021169149A (ja) | 分解ベースのアセンブリ計画 | |
CN111984000A (zh) | 用于自动影响执行器的方法和设备 | |
Akli | Trajectory planning for mobile manipulators including Manipulability Percentage Index | |
CN115533920A (zh) | 一种求解绳驱机械臂逆运动学的协同规划方法及系统、计算机存储介质 | |
Kashyap et al. | Stable Locomotion of Humanoid Robots on Uneven Terrain Employing Enhanced DAYANI Arc Contour Intelligent Algorithm | |
Kent | Evolutionary approaches to robot path planning | |
許敬仁 | Task and Motion Planning for Mobile Manipulation | |
de Carvalho Santos et al. | A hybrid ga-ann approach for autonomous robots topological navigation | |
Liu et al. | A Hybrid Task-Constrained Motion Planning for Collaborative Robots in Intelligent Remanufacturing | |
Ratcliffe | Forwarder Robotic Crane Path Planning for Timber Handling | |
Chembuly et al. | An Optimization-Based Approach for Redundancy Resolution of Spatial Robots in Realistic Working Environments | |
Tarokh et al. | An adaptive genetic algorithm for real-time robotic trajectory tracking | |
Jain | Adaptable Safe Path Planning under Uncertainty Constraints |