(57)【特許請求の範囲】
【請求項１】
被処理体取扱いシステムが提供する処理が施される被処理体であって前記被処理体取扱いシステムの経路に沿って移動可能な被処理体の軌道を設定するコントローラと、
前記コントローラにより設定された軌道に従い、経路上のそれぞれ指定された範囲内において複数の被処理体それぞれを移動させる複数のアクチュエータと、
を有し、
前記コントローラは、
前記アクチュエータの構成に関する情報、全ての前記アクチュエータのハードウェアに関する制約、又は前記アクチュエータ個々のソフトウェアに関する制約のうち少なくとも１つに基づいて、被処理体毎に各被処理体が経路を移動する際の基準となる軌道を基準軌道として設定する手段と、
前記アクチュエータの構成に関する情報、全ての前記アクチュエータのハードウェアに関する制約、又は前記アクチュエータ個々のソフトウェアに関する制約のうち少なくとも１つに基づいて、各被処理体に対し、基準軌道を含み、当該被処理体の直前あるいは直後を移動する被処理体との衝突が発生しない移動時間の範囲を特定する衝突包絡線、および当該被処理体が目標に予定通りに到達できる範囲を特定する制御包絡線を設定する手段と、
前記衝突包絡線の中で被処理体が移動している場合、当該被処理体の直前あるいは直後を移動する被処理体との衝突が防止できると判断する手段と、
前記制御包絡線の中で被処理体が移動している場合、当該被処理体が目標に予定通りに到達できると判断する手段と、
を有することを特徴とする装置。
【請求項２】
請求項１による装置において、
前記コントローラは、被処理体同士の接近が検知されたときには、検知した位置に対応する前記アクチュエータに指示することで、当該被処理体の移動速度を低下させることを特徴とする装置。
【請求項３】
請求項１による装置において、
前記コントローラは、基準軌道を設定した被処理体と所定の時間間隔あけて経路上を移動する直前又は直後の被処理体の基準軌道を、前記設定した被処理体の基準軌道を前記所定の時間間隔分シフトとすることによって設定することを特徴とする装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、空間的に散在する被処理体の取扱い装置に関する。
【０００２】
【従来の技術】
従来の複写機等における被処理体例えば印刷媒体の取扱いシステムは、シート等の媒体を１つの位置から別の位置に経路に沿って移動させながら、当該シート上に、逆転、画像転送または融着等、１つまたは複数の動作を実行することができる。図１に示すように、従来の媒体取扱いシステム１００は、複数のアクチュエータ１３０を制御するコントローラ１１０を有し、複数のアクチュエータはシートを紙の経路１４０に沿って移動させながら、シート上に動作を実行する。
【０００３】
一般的に、タイミング信号を使って動作とシートの運動が調整される。たとえば、シートはタイミング信号に従って、特定の時間に経路１４０の中に供給される。シートは次に、経路１４０の中を移動し、特定の時間枠内にさまざまな位置センサーを通過し、特定の時間に転送ステーションに到達することができる。
【０００４】
しかし、この従来の媒体取扱いシステム１００には、動作において特定の許容度を超えた一時的エラーが検出され、コントローラ１１０にフラッグが立てられると、従来の媒体取扱いシステム１００を含むマシンは停止するという問題がある。従来の媒体取扱いシステム１００には、フィードバックコントロールが含まれない。したがって、アクチュエータ１３０は正確に製造しなければならず、これはコスト高となる。また、フィードバックコントロールがないことから、従来の媒体取扱いシステム１００は媒体の種類が違うとうまく動作せず、高速で正確さと信頼性を維持する上で問題がある。
【０００５】
モジュール式の被処理体取扱いシステムは、よりコントロールに焦点を当てた設計によって上記の問題を克服することができ、これはコントロールを増やすことによって実現できる。従来の媒体取扱いシステム１００の単純なタイミング以上のコントロール方法を使用することにより、より多くの種類の媒体等、幅広い被処理体をより高速で扱うことが可能となる。
【０００６】
たとえば、マルチレベルのコントロール構成を有するモジュール式被処理体取扱いシステムには、上記のような従来の媒体取扱いシステム１００に比べて、利点がある。このモジュール式被処理体取扱いシステムは、個々のモジュールコントローラの機能あるいは動作を調整するシステムコントローラを有し、個々のモジュールコントローラは対応するアクチュエータを制御し、経路に沿った被処理体の移動等、所望のシステム機能を提供する。特に、システムコントローラは各被処理体に関する軌道全体をモジュールコントローラにダウンロードすることができる。モジュールコントローラはそれぞれのアクチュエータを制御し、各被処理体がそのモジュール内にある間、これを計画された軌道上に保持することができる。
【０００７】
システムコントローラは、各々のモジュールアクチュエータの制約を考慮して、軌道全体の計画を立てる。システムコントローラが計画した軌道は、３次スプライン等、距離時間空間内の関数として提供される。
【０００８】
被処理体が所望の軌道から逸脱するのは普通、モジュール式被処理体取扱いシステムの動作中である。些少な逸脱については、すべてのコントロールは個々のモジュールコントローラに委ねられる。なぜなら、他のモジュールコントローラ、あるいは全体的制御基準が満たされているか否かには関係がないかもしれないからである。しかし、システムコントローラは全体的制御基準を満たすことに関わっているため、システムコントローラは常に被処理体の位置をモニターし、同時に、各種の制御テクニックを使って被処理体の軌道を再決定し、その逸脱を戻す。
【０００９】
【発明が解決しようとする課題及び解決手段】
しかし、複雑な軌道再決定テクニックにアクセスすることによって継続的に軌道を再計画することは、リアルタイムでは実現しにくい。事実、関係する機器とソフトウェアによっては、近似決定と発見法を用いて、逸脱の影響を特定し、逸脱している軌道をリアルタイムで再計画する必要がある場合もある。
【００１０】
このように、逸脱する軌道を継続的に再計画する代わりに、所定の軌道と軌道包絡線を使って、システム制約とタスク要件のさまざまな組み合わせをコード化することが望ましいかもしれない。軌道包絡線は他の軌道周辺の領域を指し、制御および衝突境界等、検討対象となる制御基準を示すことができる。ある被処理体の現在の状態を所定の軌道包絡線とを比較することにより、システムコントローラは、現在の状態が制御基準をどの程度満足しているかを素早く判断することができる。
【００１１】
たとえば、被処理体間の距離を継続的にチェックし、衝突を避けるように軌道を再決定する代わりに、所望の軌道周辺の所定の衝突包絡線を使用することができる。所定の衝突包絡線は、被処理体がそれらの衝突包絡線内にあるかぎり、被処理体が衝突しないように決定される。同様に、管理包絡線を使用して、その被処理体が予定通りにそのま目標に到達し、タスク要件を満たすか否か等、他の制御基準を決定することもできる。このモジュール式被処理体取扱いシステムによってオンライン決定は単純なものとなり、特定の軌道と対応する軌道包絡線、あるいは現在の被処理体位置と軌道包絡線を比較するだけとなる。
【００１２】
また、システム制約とタスク要件を明確に表示することによって、上記の軌道と軌道包絡線を決定することも望ましい。軌道と軌道包絡線は、システム制約とタスク要件を明確に表示するよう、手作業で３次スプラインをコード化することによって決定できる。
【００１３】
しかしながら、手作業で３次スプラインをコード化することは面倒で時間がかかる。したがって、自動で軌道と軌道包絡線を決定することが望ましい。明確に表示されたシステム制約とタスク要件により、既存のシステム構成の軌道と軌道包絡線は、制御基準が変更された時に発生する新たな制約を加えると、自動的に決定される。また、明確に表示されたシステム制約とタスク要件によって各モジュールアクチュエータを個別に説明できるため、軌道と軌道包絡線は、モジュールアクチュエータの配置がわかれば決定できる。
【００１４】
本発明の上記およびその他の特徴と利点は、本発明によるシステムと方法のさまざまな実施例に関する以下の詳細な説明に記載され、またこの説明から明らかとなる。
【００１５】
【発明の実施の形態】
図２は、従来の媒体取扱いシステム１００よりコントロールに焦点を当てた設計の、本発明によるモジュール式被処理体取扱いシステム２００を示す。このモジュール式被処理体取扱いシステム２００は、システムコントローラ２１０、１つ以上のモジュールコントローラ２２０、１つ以上のモジュールアクチュエータ２３０、経路２４０からなる。システムコントーラ２１０は、通信リンク２５０を通じてモジュールコントローラ２２０と通信し、個々のモジュールアクチュエータ２３０の機能あるいは動作を調整し、モジュールアクチュエータ２３０を通じて経路２４０を通じて複数の被処理体を移動させる等、所望のシステム機能を提供できるようにする。システムコントローラ２１０は、さまざまなシステムの制約およびタスク要件を考慮して、経路２４０に沿った各被処理体の軌道を計画する。モジュールコントローラ２２０は、通信リンク２５０を通じてそれぞれのモジュールアクチュエータ２３０を制御し、各被処理体をその計画された軌道上に保持する。この制御方法を、多階層制御構成と呼ぶことができる。
【００１６】
さまざまなシステムの制約と要件を考慮しながら軌道を計画するために、システムコントローラ２１０がモジュールコントローラ２２０とモジュールアクチュエータ２３０に関する特定のデータを知っていると有益である。たとえば、システムコントローラ２１０はモジュールアクチュエータ２３０の各々の出入地点、各モジュールアクチュエータ２３０が１つの被処理体に与えることのできる最大加速および減速力あるいは各モジュールコントローラ２２０の応答時間等を知ることができる。
【００１７】
システムコントローラ２１０は、各被処理体に関する計画された軌道を、通信リンク２５０を通じてローカルモジュールコントローラ２２０にダウンロードする。１つの実施例において、システムコントーラ２１０は、被処理体を経路２４０に沿ってある地点から別の地点に最短時間で高速で移動させ、モジュール式被処理体取扱いシステム２００の生産性を改善するための時間最適軌道をダウンロードできる。
【００１８】
経路２４０の包絡線において、被処理体は経路２４０に沿って、被処理体が複数のモジュールアクチュエータ２３０の制御を受ける領域を通って移動し、時間最適軌道は、各モジュールアクチュエータ２３０が最大動作または最小動作のいずれかを、切り換えながら適用することにより、実現される。これは、ｎ個のモジュールアクチュエータ２３０を有する任意のモジュール式被処理体取扱いシステム２００を考えることで証明できる。各モジュールアクチュエータ２３０はアレイＡ＝［ａ1，…，ａn］（ただし、ａnはｎ番目のモジュールアクチュエータ２３０の最大加速）を使って、被処理体上に最大加速ａを適用することができる。ｎ個のアクチュエータ２３０はまた、アレイＲ＝［ｒ1，…，ｒn］（ただし、ｒｎはｎ番目のモジュールアクチュエータ２３０の最大減速）を使って、被処理体上に最大減速ｒを適用することもできる。被処理体はある速度ｖ0で経路２４０に入り、ある速度ｖnで経路２４０から出る。
【００１９】
次に、他の制約がないと仮定して、まず初期位置と初期速度ｖ0から、各モジュールアクチュエータに関する最大加速を使って、被処理体の動きの等式を順方向に積分することにより、所望の軌道を決定できる。次に、被処理体の動きの等式を、所望の最終位置と速度ｖnから、各モジュールアクチュエータに関する最大減速を使って、逆方向積分する。次に、２つの軌道が交差する点、つまり切り換え時間が決定される。言いかえれば、被処理体は切り換え時間まで各モジュールアクチュエータ２３０から最大加速で前進し、各モジュールアクチュエータ２３０によって、最大減速で減速され、被処理体は最終位置と速度に到達する。
【００２０】
上述のように、システムコントローラ２１０は各モジュールコントローラ２２０に各被処理体に関する軌道を提供し、モジュールコントローラ２２０はこれを使って、被処理体が対応するモジュールアクチュエータ２３０による制御を受ける領域に入った後にこの被処理体を移動させる。通信リンク２５０を通じて、距離−時間軌道を各モジュールコントローラ２２０に通信するのは、軌道上の一連のポイントを供給することによって行われる。しかし、このような供給には大きな通信帯域が必要であり、特にこれは、軌道情報を通信リンク２５０から複数の全モジュールコントローラ２３０にダウンロードしなければならない場合に言えることである。
【００２１】
リアルタイムで通信リンク２５０を通じて複数のモジュールコントローラ２２０に軌道が通信されるため、通信リンク２５０に負荷をかけすぎず、計算的に有効な、コンパクトで有効な軌道の表現を提供することが望ましい。たとえば、軌道は距離−時間空間の関数として認識することができる。事実、これらの関数は、一般基本関数の拡大として示すことができる。基本関数は計算的に有効であり、これがわかれば、軌道は再構成することができる。このような基本関数の例は、たとえば多項スプライン基本関数等の多項式である。このような表現により、システムコントローラ２１０がローカルコントロールモジュール２２０に送っていく必要のある浮動少数点数の量を大幅に減らすことができる。したがって、通信リンク２５０のネットワークを妨げることなく、高速なコントロールが可能となる。
【００２２】
たとえば、軌道を３次スプラインとして表現することができ、ｙ（ｔ）は軌道上の被処理体の位置、ｖ（ｔ）は速度、ａ（ｔ）は加速度である。軌道上の被処理体の位置、速度、加速度は、以下のように表わすことができる。
【００２３】
【数１】
0004841034.tif 000002
【００２４】
ただし、ａ0，ａ1，ａ2及びａ3は定数である。
【００２５】
ｔ0≦ｔ≦ｔ1
ｔは特定の時間である。
【００２６】
これらのスプラインの各々は、時間から時間ｔまで、デカルト平面上の曲線として表わすことができ、位置ｙ、速度ｖまたは加速度ａを一方の軸に置き、時間ｔを他方の軸に置く。各曲線の形状は、定数ａ0，ａ1，ａ2，ａ3によって決まる。
【００２７】
このように、定数ａ0，ａ1，ａ2，ａ3がわかると、上記３次スプラインによって定められる曲線に沿ってすべての位置ｙ（ｔ）を計算することができる。軌道上の被処理体の速度を表わすスプラインｖ（ｔ）は、位置ｙ（ｔ）からの導関数を取ることによって提供できる。同様に、軌道上の被処理体の加速度を表わすスプラインａ（ｔ）は、速度ｖ（ｔ）の導関数を取ることによって提供できる。
【００２８】
当初時間ｔ0と最終時間ｔ1を選択することにより、各定数は以下のようになる。
【００２９】
【数２】
0004841034.tif 000003
【００３０】
ただし、ｙ0とｙ1は、それぞれ時間ｔ0とｔ1における軌道上の被処理体の位置、ｖ0とｖ1は、それぞれ時間ｔ0とｔ1における軌道上の被処理体の速度である。
【００３１】
上記の定数ａ2とａ3の表現はさらに、時間ｔ1とｔ0の間の位置の変化、つまりｌであるｙ1−ｙ0および時間ｔ1とｔ0の間の総経過時間、つまりｄであるｔ1−ｔ0を表わすことで簡素化することができる。したがって、定数ａ2とａ3は以下のようになる。
【００３２】
【数３】
0004841034.tif 000004
【００３３】
モジュール式被処理体取扱いシステム２００には、多数のモジュールアクチュエータを備えることができる。このモジュール取扱いシステム２００において、被処理体が第１のモジュールアクチュエータに入る時間はｔ1‐1、つまりｔ0である。被処理体が最後の、つまりｎ番目のモジュールアクチュエータ２３０から出る時間はｔnである。したがって、被処理体がモジュール式被処理体取扱いシステム２００内にとどまる時間はｔn‐ｔ0である。被処理体がｊ番目のモジュールアクチュエータ２３０に入る時間はｔj‐1、被処理体がｊ番目のモジュールアクチュエータ２３０から出る時間はｔjである。したがって、被処理体がｊ番目のモジュールアクチュエータ２３０内にとどまる時間はｔj‐ｔj-1である。
【００３４】
被処理体がｊ番目のモジュールアクチュエータ２３０にある時間にあたる間隔ｔj‐ｔj-1の間、定数ａ0，ａ1，ａ2，ａ3は、上記のスプラインが全システム軌道、つまりモジュール式被処理体取扱いシステム２００全体内での被処理体の軌道を示すように決定される。しかし、全システム軌道をｊ番目のモジュールアクチュエータ２３０内で変更しなければならない場合、新しい定数ａ0，ａ1，ａ2，ａ3を決めなければならない。新たな軌道はｔj-1から始まり、連続し、古い軌道との連続第一導関数を持つことになる。
【００３５】
モジュール式被処理体取扱いシステム２００が作動していると、複数の被処理体は軌道に沿って経路を移動することができ、この軌道は上記のように決定、表現される。このような状況において、システムコントローラ２１０の機能のひとつは、被処理体が衝突する状況を認識し、その衝突を防止することである。システムコントローラ２１０は経路２４０における被処理体の相対的位置と速度に基づいて衝突を検出することができる。
【００３６】
本発明による衝突検出防止方法の１つの実施例において、システムコントローラ２１０は被処理体が移動する間、被処理体を追跡する。被処理体が相互に接近しすぎ、同時に相対速度がゼロでない時、システムコントローラ２１０は被処理体の軌道を再決定し、被処理体が衝突しないようにする。被処理体がモジュールアクチュータ２３０によって移動される最大加速度が制限され、加速度がａ（ｔ）の場合、ａ（ｔ）∈［−ａmax，ａmax］となる。したがって、最大相対加速度は以下のとおりとなる。
【００３７】
【数４】
0004841034.tif 000005
【００３８】
衝突防止方法のこの実施例によれば、システムコントローラ２１０は上述のように、継続的に全被処理体に関する相対的被処理体間隔と相対的被処理体速度をモニターし、継続的に軌道包絡線を更新する。システムコントローラ２１０は、被処理体同士が接近しすぎたと判断すると常に、ローカルモジュールコントローラ２２０に、追従被処理体のスピードを緩めることによって適当な被処理体の相対速度を低下させる。これは、適当なモジュールアクチュエータ２３０の端部での到着時間を増すことによって、位置時間基準軌道を変更することによって実現される。このように、システムコントーラ２１０によって、被処理体は常にモジュール式被処理体取扱いシステム２００の安全な領域に保たれる。繰り返し修正するにもかかわらず、被処理体が相互に接近する傾向がある場合、システムコントローラ２１０は全被処理体のスピードを徐々に落すことにより、全被処理体を静止させる。
【００３９】
上述のとおり、図２に示すモジュール式被処理体取扱いシステム２００は、上記のテクニックを用い、フィードバックコントロールを使って被処理体を追跡する。ローカルモジュールコントローラ２２０はシステムコントローラ２１０が提供する軌道を受け入れ、被処理体を所望の軌道上に保持するようにそれそれのモジュールアクチュエータ２３０を制御する。ローカルモジュールコントローラ２２０は、必要に応じてシステムコントローラおよびその他のローカルモジュールコントローラ２２０とも通信し、被処理体をそれぞれの適当な軌道上に保持することもできる。
【００４０】
モジュールアクチュエータ２３０はさまざまなタスクを実行することができる。各タスクはそれぞれに対応する適当な空間−時間による説明を有する。全システム軌道の計画は、各モジュールアクチュエータ２３０のタスクによって発生する制約を考慮して立てられる。たとえば、あるモジュールアクチュエータ２３０内に停留する被処理体のドウェルタイムは距離−時間軌道内の水平線に対応する。被処理体が同時に２つのモジュールアクチュエータ２３０内にある時、この状態は、両方のモジュールアクチュエータ２３０について指定された離れた領域において同じ勾配、つまり速度を有する軌道として説明できる。したがって、軌道は経路２４０上で被処理体を移動させることにかかわる制約を有効にコード化するように動作する。
【００４１】
図２に示す通信リンク２５０は、モジュールコントローラ２２０、システムコントローラ２１０あるいはモジュール式被処理体取扱いシステム２００におけるその他の中間コントローラ（図示せず）の間で軌道情報を通信し合うのに使用される。このような双方向の情報の流れにより、軌道にリアルタイムの修正を加えることができる。これは、確実に経路２４０における複数の被処理体間の衝突を解消する。たとえば、２つの被処理体があまりに接近しはじめると、この状態は感知され、モジュールコントローラ２２０そのものあるいはシステムコントローラ２１０のいずれかによって、軌道は適正に再計画される。この新しい軌道は、適当なモジュールアクチュエータ２３０に通信され、このモジュールアクチュエータ２３０は新しい軌道を辿るようにその操作を変える。
【００４２】
上述のモジュール式被処理体取扱いシステム２００には、従来の、単独のコントローラを使った被処理体取扱いシステム１００に比べて多くの利点がある。たとえば、軌道の追跡に有効なフィードバックコントロールを使用することで、さまざまな種類の被処理体を扱うことができる。上記の制御テクニックには被処理体の特性に応じたパラメータを持たせ、被処理体の種類に応じてリアルタイムで調整することができる。これは、被処理体の特性をモジュール式被処理体取扱いシステム２００に入力することで実現する。あるいは、モジュール式被処理体取扱いシステム２００が動作中に被処理体の特性を選択することによっても実現できる。
【００４３】
生産性を上げるためには、被処理体をより高速で移動させることが望ましい。モジュール式被処理体取扱いシステム２００は、被処理体を所望の軌道上に保持するためのフィードバックコントロールを使用する。有効な感知、フィードバックコントロールを使用することは、リアルタイムで所望の軌道からの逸脱を修正するのに役立ち、被処理体を高い精度で移動させることができる。
【００４４】
被処理体の運動がリアルタイムでモニターされるため、衝突その他の破壊事象が発生する状況が、モジュール式被処理体取扱いシステム２００によって検出され、衝突その他の破壊事象を防止するよう軌道が再計画される。単に軌道の再計画だけでは状況が修正できない場合、モジュール式被処理体取扱いシステム２００は、経路２４０に沿って移動する被処理体を停止させるよう制御できる。
【００４５】
最後に、より有効なフィードバックコントロールを使って被処理体を扱うことにより、モジュールアクチュエータ２３０に求められる精度が低くて済むようになる。感知と制御によって精度が維持されるため、より低い精密度で製造されたモジュールアクチュエータ２３０で被処理体を取扱うことが可能である。精密なハードウェアのコストはほぼ一定であるものの、システムとモジュールコントローラ２１０、２２０のコストは低下しつつあるため、モジュール式被処理体取扱いシステム２００全体のコストは今後安くなるであろう。
【００４６】
上記のモジュール式被処理体取扱いシステム２００の動作中、各被処理体のシステムコントローラ２１０が提供する軌道は、制約と要件のサブセットを考慮する。１つの被処理体に関する正常な所望の挙動を表わすために、上記の時間最適軌道となりうる公称軌道が提供され、公称軌道は関連するすべての制御基準をコード化する。関連する制御基準には、各モジュールアクチュエータ２３０内にある時の最大被処理体速度等の物理的制約および、目標時間に目標速度で目標位置に到達する等のタスク要件が含まれる。
【００４７】
上記のモジュール式被処理体取扱いシステム２００は、いかなる被処理体の移動にも使用できる。たとえば、モジュール式被処理体取扱いシステムは、アナログまたはデジタルコピー機、プリンタその他の画像形成装置における伝送システム等、シートとともに使用するモジュール式媒体取扱いシステムとすることができる。モジュール式被処理体取扱いシステム２００のこのような実施例において、モジュールアクチュエータ２３０は、シートの移動、シートの反転、シートのデカーリング、画像の転送、融着等のタスクを実行する。したがって、公称軌道はこれらのタスクの制御基準をコード化する。
【００４８】
別の用途例において、モジュール式被処理体取扱いシステム２００は、航空機の飛行制御システムとすることができる。この例では、システムコントローラ２１０は地上に設置し、モジュールコントローラ２２０とモジュールアクチュエータ２３０を航空機に搭載させることができる。予め決定された軌道および軌道包絡線を使用することは、航空業界が、パイロットが特定の路線について独自の軌道を選択することができる自由運航を採用する方向に最近変化していることからみて、特に有益である。このように、衝突包絡線を使い、他の航空機との衝突を防止することができ、制御包絡線を使い、航空機が確実に目的地に予定通りに到達するようにすることができる。
【００４９】
モジュール式被処理体取扱いシステム２００を飛行管理システムとして使用する場合、画像形成装置における伝送システムと使用する場合と違いがある。たとえば、画像形成装置において、移動するシートは固定モジュールアクチュエータ２３０によって取扱われるが、飛行管理システムの場合、モジュールアクチュエータは被処理体、つまり航空機に搭載される。力学、航空機のエンジンの最大加速といった航空機の制約は航空機とともに移動し、その一方で、特定のモジュールアクチュエータ２３０の最大加速度といったシートの制約は、画像形成装置内のシートの位置によって異なる。
【００５０】
別の実施例において、モジュール式被処理体取扱いシステム２００は新聞印刷機等、製品アセンブリラインのアセンブリライン管理システムとすることができる。この例において、経路２４０はアセンブリラインであり、モジュールアクチュエータ２３０はアセンブリラインに沿った領域を管理する。公称軌道は、モジュールアクチュエータ２３０の公称性能に基づいて決定することができる。
【００５１】
図３は、モジュール式被処理体取扱いシステム２００が画像形成装置のモジュール式記録媒体取扱いシステムであり、被処理体が記録媒体のシートである場合の、シートの先端に関する代表的な時間−距離公称軌道のグラフである。上記のように、３次スプラインは時間−距離軌道を表わすことができる方法の一例にすぎない。
【００５２】
モジュール式媒体取扱いシステム２００が動作中、システムコントローラ２１０はこの公称軌道の関連部分を基準軌道としてモジュールコントローラ２００に通信する。システムコントローラ２１０は、ローカルコントロールをモジュールコントローラ２２０に委ねる。たとえば、軌道が各モジュールアクチュエータ２３０の入る時間と出る時間および速度を含む場合、対応するモジュールコントローラ２２０にはこれらの時間と速度だけを伝えればよい。モジュールコントローラ２２０は次に、各々のモジュールアクチュエータ２３０に各シートが入ってこれから出るまでのシートの挙動に関する必要な情報を再構築する。
【００５３】
上述のように、公称軌道からの逸脱は通常、モジュール式媒体取扱いシステム２００の動作中に発生する。公称軌道からの若干の逸脱について、すべての制御はモジュールコントローラ２２０に委ねられる。モジュールコントローラ２２０は他のモジュールコントローラ２２０と他のモジュールアクチュエータ２３０およびモジュールアクチュエータの外で他のモジュールコントローラ２２０とモジュールアクチュエータ２３０により制御されるシートの挙動を考える必要がない。モジュールコントローラはまた、目標時間が守られるか、またはシートが衝突しそうであるか等、すべての制御基準が満たされたか否かを考慮する必要もない。
【００５４】
これに対し、システムコントローラ２１０はモジュールアクチュエータ２３０の挙動とすべての制御基準が満たされているかを考慮する。１つ以上のモジュールアクチュエータ２３０の挙動が、期待される挙動と異なる場合、システムコントローラ２１０は何が起こっているか、その考えられる影響、そしてその違いを修正または補償するための方法を判断する。特に、公称軌道から逸脱することで、上記の制約と要件を満たさなくなり、これがシートの衝突、目標の見逃し、１つまたは複数の最適基準との不適合につながる。このように、モジュールアクチュエータ２３０内でシートが遅れると、システムコントローラ２１０は、それに続くシートが衝突するか否かを判断し、関連するモジュールコントローラに伝え、そしておそらくは新たな軌道を作らなければならない。
【００５５】
システムコントローラ２１０の１つの主要な役割は、制御基準のどれが満たされていないかを判断することである。システムコントローラ２１０は各種制御基準の状態を判断できる。たとえば、システムコントローラは被処理体が軌道上にあるか否かを判断できる。これは、モジュールアクチュエータ２３０の挙動が十分に公称軌道に近いかをチェックすることで判断される。十分これに近ければ、それ以上のモニターは不要である。
【００５６】
制御基準の状態を判断すること、および判断された状態を特定し、これに対応するには、上記の各種テクニック等、複雑な判断が必要であり、複数のモジュールアクチュエータ２３０とシートからの制約が関わる可能性がある。依然として目標に到達できるか否かを判断する等、一部の問題には、現在の位置から軌道全体を再計画することさえ必要となり、これをリアルタイムで実現するのは難しい。このように、制御ルーチンは連続的に行われているため、リアルタイムで対応するために、システムコントローラ２１０は逸脱の影響を特定し、軌道を再計画するのに、近似決定と推定法に頼らざるを得ない。
【００５７】
したがって、これらのコスト高で複雑な方法を、軌道と軌道包絡線を再生、組み合わせ、比較する、より単純なシステムと方法に置き換えるようなシステムレベルの制御およびモニターシステムを提供することが望ましい。
【００５８】
これは、システム制約とタスク要件のさまざまな組み合わせをコード化する、所定の軌道と軌道包絡線によって実現される。軌道包絡線は検討対象の制御基準を示す他の軌道周辺の領域を示す。たとえば、被処理体間の距離を継続的にチェックして衝突を防止する代わりに、公称軌道周辺の所定の衝突包絡線を使用できる。このように、各被処理体がその被処理体の衝突包絡線内にあるかぎり、その被処理体は衝突しない。衝突包絡線は、前述の安全領域と同様に決定される。しかし、連続的に決定される代わりに、衝突包絡線は、システムの動作前に決定できる。
【００５９】
別の実施例において、被処理体がその公称軌道から逸脱すると、全モジュールアクチュエータ２３０の軌道を再計画して、目標にまだ到達できるか判断する代わりに、モジュール式被処理体取扱いシステム２００は制御包絡線を使用する。このように、被処理体がその被処理体の制御包絡線内にあるかぎり、その被処理体は目標に到達することができる。軌道包絡線は、１つ以上の軌道によって表わすことができ、これはたとえば、検討対象となる領域の境界を示す。
【００６０】
このように、所定の軌道包絡線を使い、検討対象となる制御基準と、制御および衝突境界を示す複数の所定の軌道をコード化できる。異なる軌道包絡線は、異なる制御基準を示す。ある被処理体の現在の状態（位置、速度等）を所定の軌道包絡線と比較することにより、システムコントローラ２１０は状態が基準をどの程度満たしているかを素早く判断できる。比較演算子は、軌道包絡線が何をコード化するかによって異なる。たとえば、時間−距離軌道包絡線では、図３に示す公称軌道と同様のフォーマットであるとすると、システムコントローラ２１０は、現時点での被処理体の位置が包絡線境界の左か右かをテストするだけでよい。当業者は、ある被処理体の現在の位置を異なる空間時間に関する所定の軌道包絡線と比較する方法を、距離−時間空間に関する上記の説明から容易に知ることができるため、この比較の詳細な説明は省略する。
【００６１】
軌道と軌道包絡線は、適当な既知の、あるいは後に生み出される方法のいずれによっても決定することができる。たとえば、軌道と軌道包絡線は、最適制御および衝突安全領域などの適当な制御および衝突安全領域を決定するのに用いられる決定にしたがって得られる。
【００６２】
軌道および軌道包絡線の決定方法にかかわらず、軌道および軌道包絡線を予め決定することにより、制御ルーチンは軌道および軌道包絡線の比較を含めるだけのものに簡素化される。これにより、システムコントローラ２１０は、モジュール式被処理体取扱いシステム２００の動作中に、リアルタイムに軌道と軌道包絡線を決定しなくてもよいことになる。
【００６３】
図４は、サンプルシステムとタスク制約に関する軌道と軌道包絡線を示すグラフである。たとえば、公称軌道４００は距離−時間平面をほぼ二等分したものとして示されている。図４はまた、公称軌道４００の左側、つまりこれ以前の初期衝突軌道５１０と公称軌道４００の右側、つまりこれ以降の終期衝突軌道５２０によって定められる衝突包絡線５００を示す。初期衝突軌道５１０は、被処理体が特定の速度で経路２４０上の特定の地点から出る可能性があり、別の被処理体、たとえば経路２４０上でその被処理体のすぐ前にある被処理体と衝突しない最も早い時間を特定する。終期衝突軌道５２０は、被処理体が特定の速度で経路２４０上の特定の地点から出る可能性があり、別の被処理体、たとえば経路２４０上でその被処理体のすぐ後にある被処理体と衝突しない最も遅い時間である。この初期終期衝突包絡線５００はこのように、特定の被処理体とその前後の被処理体との間の最小距離をコード化するのに使用される。被処理体がその被処理体の衝突包絡線５００内にあり、先行および後続の被処理体がそれぞれの公称軌道から最低距離以上逸脱しないかぎり、それらの被処理体は衝突しない。
【００６４】
図４はまた、公称軌道４００の左側、つまりこれ以前の初期制御軌道６１０と公称軌道４００の右側、つまりこれ以降の終期制御軌道６２０によって定められる制御包絡線６００を示す。初期制御軌道６１０は、被処理体が特定の速度で経路２４０上の特定の地点から出る可能性があり、依然としてそのタスクを実行できる最も早い時間を特定する。終期制御軌道６２０は、被処理体が特定の速度で経路２４０上の特定の地点から出る可能性があり、依然としてそのタスクを実行できる最も遅い時間である。この初期終期制御包絡線６００はこのように、被処理体が位置付けられていなければならない特定の位置をコード化するのに使用される。被処理体がその被処理体の制御包絡線内にあるかぎり、その被処理体はそのタスクを実行することができる。
【００６５】
上記の終期制御軌道６２０は、公称軌道４００にしたがってある被処理体が第１のモジュールアクチュエータ２３０に入る予定とされていたものと同時に第１のモジュールアクチュエータ２３０に入る被処理体について、被処理体が特定の速度で特定の地点から出て、依然としてそのタスクを実行できる最も遅い時間である。言いかえれば、終期制御軌道６２０は、公称軌道４００と同時に第１のモジュールアクチュエータ２３０に入る。しかし、図４はまた、ある被処理体が第１のモジュールアクチュエータ２３０に入り、依然としてそのタスクを実行することができる最も遅い時間である最も遅い制御軌道６３０を示している。このように、最も遅い制御軌道６３０は、公称軌道４００が第１のモジュールアクチュエータ２３０に入った後に第１のモジュールアクチュエータ２３０に入る。
【００６６】
各軌道４００，５１０，５２０，６１０，６２０，６３０および軌道包絡線５００，６００は、一連の要素として表わすことができる。たとえば、ｎ番目のモジュールアクチュエータ２３０が最後のアクチュエータ２３０であり、ｊ番目のモジュールアクチュエータ２３０は第１とｎ番目のモジュールアクチュエータ２３０の間にあるいずれかのモジュールアクチュエータであるモジュール式被処理体取扱いシステム２００において、一連の要素はｔ0，ｖ0−ｔ1，ｖ1…，ｔj-1，ｖj-1−ｔj，ｖj…，ｔn-1，ｖn-1−ｔn，ｖnとなる。これらの要素のうち、ｔ0とｖ0は第１のモジュールアクチュエータ２３０に入る被処理体の時間と速度、ｔ1とｖ1は第１のモジュールアクチュエータ２３０から出る被処理体の時間と速度、ｔj-1とｖj-1はｊ番目のモジュールアクチュエータ２３０に入る被処理体の時間と速度、ｔjとｖjはｊ番目のモジュールアクチュエータ２３０から出る被処理体の時間と速度である。同様に、ｔn-1とｖn-1およびｔnとｖnはｎ番目、つまり最後のモジュールアクチュエータ２３０に関する被処理体の出入り時間と速度を示す。
【００６７】
動作中、各被処理体にはその基準軌道として適当な主要公称軌道が提供される。各被処理体をその被処理体の主要公称軌道内に保持する役割は、モジュールコントローラ２２０間で分散される。つまり、モジュールコントローラ２２０はその特定の主要公称軌道上に各被処理体を保持しようとする。すると、システムコントローラ２１０が繰り返し、連続する全ての被処理体に関する現在の状態を評価し、必要な措置を取るよう求められる。特に、システムコントローラ２１０は特定の空間−時間の被処理体距離をモニターし、衝突を特定し、可能であれば被処理体を遅らせて衝突を避け、目標を達成することができなくなった場合は経路２４０に沿った被処理体の移動を打ち切る。重要なリアルタイム決定は、被処理体の位置と軌道およびその他の位置との比較である。この簡単な衝突防止メカニズムは、１つの軌道包絡線を使って衝突を特定し、別の包絡線を使って被処理体がまだコントロール可能か否かをチェックする。次に、システムコントローラ２１０はモジュールコントローラに対し、局所的に特定の被処理体を特定の量だけ遅らせたり、進めるよう指示を出すことができる。
【００６８】
本発明の制御システムと方法は、逸脱が小さい、あるいは均等である場合に特に有効である。このような場合、すべての被処理体を同じモジュール内で遅らせることができる。
【００６９】
図５は、マルチレベルモジュール式被処理体取扱いシステムのシステムレベルコントロールで所定の軌道と軌道包絡線を使用する方法の実施例を示すフローチャートである。この実施例において、衝突包絡線は図４の制御包絡線より小さい。
【００７０】
ステップＳ１０００から始まるコントロールは、ステップＳ１１００に進み、こで被処理体は解析される。その被処理体が選択されると、コントロールはステップＳ１２００に進み、ここでその被処理体が所定の衝突包絡線内にあるか否か、つまりその被処理体が先行または後続の被処理体と衝突する可能性があるか否かが判断される。その被処理体がその所定の衝突包絡線内にある場合、コントロールはＳ１１００に戻り、別の被処理体を選択して解析する。その被処理体がその制御包絡線内にあるか否かの判断は、上記のように、衝突包絡線が制御包絡線より小さいことから、不要である。このように、被処理体がその衝突包絡線内にあれば、必ずその制御包絡線内にもあるはずである。被処理体がその衝突包絡線内になければ、コントロールはステップＳ１３００に続く。
【００７１】
ステップＳ１３００では、その被処理体がその制御包絡線内にあるか、つまりその被処理体がそれに割り当てられたタスクを実行することができるか否かが判断される。その被処理体がその制御包絡線内にあれば、コントロールはステップＳ１４００に続く。そうでなければ、コントロールはステップＳ１５００に飛ぶ。ステップＳ１４００において、被処理体は衝突の可能性ありと記録される。衝突の可能性ありという記録は、その後他の被処理体に関する適当な所定の衝突包絡線を選択するのに使用することができる。その時のみ、衝突の可能性がある被処理体の間の実際の距離を計算し、被処理体のいずれを遅らせるなど、上記のような措置をとることが必要となる。
【００７２】
被処理体がステップＳ１２００においてその衝突包絡線外にあると判断された場合、その被処理体は衝突の可能性がある。しかし、ステップＳ１３００でその被処理体がその制御包絡線内にあると判断されると、コントロールはステップＳ１４００からステップＳ１１００に戻り、別の被処理体が選択され、解析される。
【００７３】
ステップＳ１５００では、公称軌道、衝突軌道あるいは制御軌道を再計画する必要があるか否かが判断される。これが必要であれば、コントロールはステップＳ１６００に続き、必要でなければステップＳ１７００へと飛ぶ。ステップＳ１６００では、公称軌道、衝突包絡線あるいは制御包絡線の１つ以上が再計画される。これにより、システムタスク要件も変更される場合がある。次にコントロールはＳ１１００に戻り、そこでまた別の被処理体が選択され、解析される。
【００７４】
公称軌道、衝突包絡線あるいは制御包絡線の再計画が不要と判断された場合、コントロールはステップＳ１７００に進み、解析が修了する。
【００７５】
図６は、図５のステップＳ１２００で被処理体がその衝突包絡線内にあるか否かを判断する方法の実施例をより詳細に示すフローチャートである。ステップＳ１２００から始まるコントロールはステップＳ１２１０に進み、ここでその被処理体の所定の公称軌道が参照される。次に、ステップＳ１２２０において、所定の衝突包絡線が、参照された所定の公称軌道について参照される。次に、ステップＳ１２３０で、被処理体の速度、加速度あるいは位置といった実際の現状が参照される。コントロールはステップＳ１２４０に進む。
【００７６】
ステップＳ１２４０において、参照された被処理体の実際の現状がその時の参照された衝突包絡線内にあるか否かが判断される。この衝突包絡線内にあれば、コントロールは図５のステップＳ１１００に戻り、同包絡線内になければ、コントロールは図５のステップＳ１３００に戻る。
【００７７】
図７は、図５のステップＳ１３００で被処理体がその制御包絡線内にあるか否かを判断する方法の実施例をより詳細に示すフローチャートである。ステップＳ１３００から始まるコントロールはステップＳ１３１０に進み、そこで、その被処理体の所定の公称軌道が参照される。この参照された所定の公称軌道は、ステップＳ１２００の公称軌道と同じであることもある。次に、ステップＳ１３２０において、所定の制御包絡線は、参照された所定の公称軌道について参照される。ステップＳ１３３０において、被処理体の速度、加速度あるいは位置といった実際の現状が参照される。コントロールはステップＳ１３４０に進む。
【００７８】
ステップＳ１３４０において、参照された被処理体の実際の現状がその時の参照された制御包絡線内にあるか否かが判断される。この制御包絡線内にあれば、コントロールは図５のステップＳ１４００に戻り、同包絡線内になければ、コントロールは図５のステップＳ１５００に戻る。
【００７９】
本発明による所定の軌道と軌道包絡線を使用する方法の別の実施例によれば、制御包絡線を衝突包絡線より小さくすることができる。この実施例を示すフローチャートは図５のそれと同様であるが、ステップＳ１２００とＳ１３００が並列関係になる点が異なる。つまりに、最初に、被処理体がその制御包絡線内にあるか否かが判断され、制御包絡線内になければ、次にその被処理体がその衝突包絡線内にあるかが判断される。
【００８０】
本発明による所定の軌道と軌道包絡線を使用する装置と方法の別の実施例において、軌道と軌道包絡線は、システム制約とタスク要件を明確に表示することによって決定される。軌道と軌道包絡線は、３次スプラインを手作業でコード化してシステム制約とタスク要件とを明確に表示する等、手作業で決定することにより、予め決めることができる。
【００８１】
３次スプラインを手作業で決定する場合、システム制約とタスク要件とは異なる方法で取扱われる。たとえば、システム制約は考えられるすべての軌道と軌道包絡線に関するハード的な制約として手作業で扱うことができる。つまり、すべての軌道と軌道包絡線は、システム制約を満足するように、手作業で決定される。反対に、タスク要件の少なくとも一部は、単に通常の軌道だけに適用されるソフト的制約となるものとして手作業で扱われる。つまり、これらのタスク要件は、軌道と軌道包絡線によっては、満足されなくてもよい。
【００８２】
手作業による３次スプラインの決定は、新しいモジュール式被処理体取扱いシステム２００を制作する時に実行できる。また、既存のモジュール式被処理体取扱いシステム２００を、モジュールアクチュエータ２３０の制約や配置を変更することによって改造する場合にも実行できる。
【００８３】
しかし、３次スプラインを手作業で決定することは面倒で時間がかかる。したがって、本発明による所定の軌道と軌道包絡線を使う装置と方法の別の実施例では、軌道と軌道包絡線は自動的に決定される。事実、システム制約とタスク要件を明確に表示することは、軌道と軌道包絡線の自動決定に適している。たとえば、システム制約とタスク要件は明確に表示されるため、軌道と軌道包絡線は、制御基準が変更された時に発生する新しい制約が加わる時に自動的に決定される。
【００８４】
明確に表示されたシステム制約とタスク要件により、モジュールアクチュエータ２３０の各々を独立して説明できる。モジュールアクチュエータ２３０をそれぞれ、システム制約あるいはタスク要件の点で別個に説明することで、モジュールアクチュータ２３０が特定されると、軌道と軌道包絡線が自動的に決定される。したがって、軌道と軌道包絡線は、各種のシステム構成について、自動的に決定できる。軌道と軌道包絡線の自動決定に向けたこのような傾向は特に、各モジュールアクチュエータ２３０の個別に明確に表示されたシステム制約とタスク要件に関する以下の説明から、当業者にとって明らかである。
【００８５】
一般に、システム制約とタスク要件は、物理的制約、タスク制約、ユーザの選好、最適性、堅牢性という点で説明できる。物理的制約の例には、モジュールアクチュエータ２３０の最大操作力、最大被処理体速度、モジュールアクチュエータ２３０間の最大速度差、最大被処理体距離等がある。タスク制約の例には、目標被処理体位置と時間、最大および平均被処理体速度等がある。ユーザ選好の例には、具体的な輸送方法や被処理体の順序がある。最適性の一例は全体的スループット、また堅牢性の一例は被処理体挙動の平均的可変性に関する緩衝領域である。
【００８６】
より具体的には、システム制約には、モジュールアクチュエータ２３０全部の制約が複合されたものもある。各モジュールアクチュエータ２３０は、特定の一連のモジュール制約を受ける。たとえば、各モジュールアクチュエータ２３０には、速度の最大限度と最小限度および加速度の最大限度と最小限度がある。したがって、ある軌道内の速度と加速度は、各モジュールアクチュエータ２３０の速度および加速度の最大値と最小値により限定される。
【００８７】
複数のモジュールアクチュエータ２３０を一緒に制御することもまた、モジュール制約となる。具体的には、一緒に制御される別のモジュールアクチュエータ２３０内の軌道に沿って移動する被処理体の速度は同じでなければならない。これが同じでないと、別のコントロールを異なるモジュールアクチュエータ２３０内の被処理体と一緒に適用することができない。
【００８８】
別の例として、２つのモジュールアクチュエータ２３０を相互に隣接させて設置することが、モジュール制約を生む。具体的には、これら２つのモジュールアクチュエータ２３０の速度の差が制限される。制限されないと、被処理体がひとつのモジュールアクチュエータ２３０から隣接するモジュールアクチュエータ２３０に送られる時にこの被処理体が損傷を受けることがある。
【００８９】
タスク要件は、特定のモジュールアクチュエータ２３０の目標基準等、個々のモジュールアクチュエータ２３０について具体的に説明できる。たとえば、特定のタスクを実行するためには、被処理体は特定の速度で特定のモジュールアクチュエータ２３０から出る必要がある。目標基準には、被処理体の到着が特定のモジュールアクチュエータ２３０に到達する特定の時間ｐによって区分けされなければならないという要件も含まれる。
【００９０】
タスク要件には、特定のモジュールアクチュエータ２３０での衝突防止も考慮することができる。たとえば、特定のタスクには、衝突を避けるために、特定のモジュールアクチュエータ２３０では被処理体間に最低ギャップｇを保つことが求められる場合がある。
【００９１】
タスク要件は、特定のモジュールアクチュエータ２３０での速度と加速度の限度を考慮することを求める場合もある。たとえば、特定のモジュールアクチュエータ２３０における特定のタスクを実行するために、平均的な移動速度と最大加速度が公称軌道に当てはめられる。平均移動速度または最大加速度に適合しないと、そのモジュールアクチュエータ２３０の特定のタスクを実行することができなくなる。
【００９２】
システム制約とタスク要件は、図に表わすことができる。たとえば、図８は、軌道と軌道包絡線および、その軌道と軌道包絡線が決定するシステム制約とタスク要件を示すグラフである。図８のｘ軸は時間、ｙ軸はモジュール式被処理体取扱いシステム２００の各種モジュールコントローラ２３０を示す。図８によるモジュール式被処理体取扱いシステム２００には、７個のモジュールアクチュエータ２３０が備えられている。
【００９３】
以下の説明から明らかになるように、図８の軌道包絡線は、図４の軌道包絡線とは異なる方法で決定される。たとえば、図４において、軌道包絡線５００と６００は公称軌道４００を挟んだ両側にある境界包絡線５１０と５２０、６１０と６２０の間に決定される。これに対して、図８において、軌道包絡線は公称軌道と境界軌道の間に決定される。
【００９４】
図８は、被処理体の先端の公称軌道２０００とその被処理体の後端の軌道２１００を示す。被処理体の長さは、軌道２０００と軌道２１００、つまり被処理体の先端と後端を直線で結んだもので示される。したがって、図８のグラフは、図中の最も早い時間において、被処理体の先端の公称軌道２０００はモジュール２から出て、後端の軌道２１００がモジュール２に入ることを示している。同様に、図中の最も遅い時間では、被処理体の先端の公称軌道２０００はモジュール７から出て、後端の軌道２１００がモジュール７に入る。
【００９５】
図８は、公称軌道２０００と遅れ堅牢性（robust）制御軌道２２１０の間に決定される堅牢性制御包絡線２２００を示す。遅れ堅牢性制御軌道２２１０は、たとえば経路２４０に沿った特定のモジュールアクチュエータ２３０の誤動作といった特定の故障モデルの時に、被処理体が特定の速度で経路２４０上の特定の地点から出て、なおそのタスクを実行できる最も遅い時間を示す。したがって、堅牢性制御包絡線２２００を使い、特定の故障モードでそのタスクの実行を可能にするために、その被処理体を位置付けなければならない特定の場所をコード化することができる。
【００９６】
図８はまた、公称軌道２０００と遅れ制御軌道２３１０の間に決定される制御包絡線２３００も示している。遅れ制御軌道２３１０は、被処理体が特定の速度で経路２４０上の特定の地点から出て、なおそのタスクを実行できる最も遅い時間を示す。したがって、制御包絡線２３００を使い、そのタスクの実行を可能にするために、その被処理体を位置付けなければならない特定の場所をコード化することができる。
【００９７】
制御包絡線２３００は、特定の故障モードを考慮していないため、堅牢性制御包絡線２２００と異なる。このように、遅れ制御軌道２３１０は、遅れ堅牢性制御軌道２２１０より遅い時期に各モジュールに出入りし、なおそのタスクを実行できる。
【００９８】
しかし、制御包絡線２３００と堅牢性制御包絡線２２００はこの点以外は同様である。たとえば、遅れ堅牢性制御軌道２２１０と遅れ制御軌道２３１０はそれぞれ、図８に示される最も早い時間以降でなければ第１のモジュールに入らない。遅れ堅牢性制御軌道２２１０と遅れ制御軌道２３１０はそれぞれ、公称軌道２０００と同時にモジュール７から出る。このように、公称軌道２０００、遅れ堅牢性制御軌道２２１０および遅れ制御軌道２１００はすべて同じ目標を持つが、これに入る時間だけ異なる。
【００９９】
一部のシステム制約とタスク要件は、公称軌道２０００、遅れ堅牢性制御軌道２２１０および遅れ制御軌道２３１０に基づいて、図で表わすことができる。たとえば、堅牢性は、公称軌道２０００と遅れ堅牢性制御軌道２２１０の間に延びる水平線として示すことができる。制御可能性は、遅れ堅牢性制御軌道２２１０と遅れ制御軌道２３１０の間に延びる水平線で示される。
【０１００】
図８は、第２の被処理体の公称軌道２４００と当該第２の被処理体の衝突包絡線２５００もまた示す。衝突包絡線２５００は、第２の被処理体の公称軌道２４００と進み衝突包絡線２５１０の間に決定される。たとえば、特定の時間の衝突包絡線２５００は、その時の第２の被処理体の公称軌道２４００と進み衝突軌道２５１０の間に延びる垂直線として表わすことができる。進み衝突軌道２５１０は、第２の被処理体が特定の速度で経路２４０上の特定の地点から出て、公称軌道２０００を有する第１の被処理体と衝突しない最も早い時間を示す。したがって、衝突包絡線２５００を使い、第１の被処理体と衝突しないようにするために、第２の被処理体を位置付けなければならない特定の位置をコード化することができる。
【０１０１】
他のシステム制約とタスク要件は、第２の被処理体の公称軌道２４００と初期衝突軌道２５１０を含めることで図に示すことができる。たとえば、反復は、第１の被処理体の公称軌道２０００と第２の被処理体の公称軌道２４００の間に延びる水平線として示される。相互作用は、第２の被処理体の公称軌道２４００と第１の被処理体の後端の軌道２１００の間に延びる垂直線として表わされる。
【０１０２】
図８のグラフに基づき、当業者にとって、他の軌道を作ることによって、他の軌道と軌道包絡線を決定できることは明らかである。たとえば、他のすべての軌道と軌道包絡線は、公称軌道に基づく制約を使って決定することができる。
【０１０３】
図８は、公称軌道２０００の終了時間が、他の軌道と軌道包絡線に関する終了時間制約として使用されることを示している。言いかえれば、図８における他の軌道および軌道包絡線は、これらの他の軌道と軌道包絡線が公称軌道と同時に終了するように決定される。
【０１０４】
たとえば、図８は、遅れ堅牢性制御軌道２２１０と遅れ制御軌道２３１０が、ひとつの被処理体の公称軌道２０００と同じ時間と場所で終了するように決定されることを示している。それぞれ遅れ堅牢性制御包絡線２２１０と遅れ制御軌道２３１０によって決定される堅牢性制御包絡線２２００と制御包絡線２３００もしたがって、ひとつの被処理体の公称軌道２０００と同じ時間と場所で終了するように決定される。
【０１０５】
衝突包絡線は同様に、公称軌道に基づく制約を使って決定できる。たとえば、図８は、被処理体の公称軌道の開始および終了時間が、他の被処理体の衝突包絡線２５００と進み衝突軌道２５１０の開始および終了時間制約として使用されることを示す。
【０１０６】
具体的には、図８は、進み衝突軌道２５１０が他の被処理体の公称軌道２４００と同じ時間と場所で開始するよう決定されることを示している。進み衝突軌道はまた、第１の被処理体の後端の軌道２１００と同じ時間と場所で終了するよう決定される。第２の被処理体の進み衝突軌道２５１０と公称軌道２４００の間に設定される第２の被処理体の衝突包絡線２５００もまた、これらの制約によって決定される。
【０１０７】
図９は、システム制約とタスク要件を明確に表示することにより、軌道と軌道包絡線を決定する方法の１実施例を示すフローチャートである。この実施例において、軌道と軌道包絡線は自動的に決定できる。
【０１０８】
ステップＳ３０００から始まるコントロールは、ステップＳ３１００に進み、ここでシステムモデルが特定される。システムモデルを特定するには、少なくとも個々のモジュールアクチュエータの数、特定のモジュールアクチュエータの種類、特定のモジュールアクチュエータの構成を特定することが必要である。たとえば、システムモデルは、直列形式に構成されたタイプ１のモジュール３個と特定できる。「タイプ１」という種類の指定は単に、モジュールアクチュエータのタイプを任意に指定したものである。以下に述べるように、モジュールの各タイプは、それぞれ異なるモジュール制約とタスク要件のセットを有する。
【０１０９】
システムモデルが特定されると、コントロールはステップＳ３２００に進み、ここでシステム制約とタスク要件が特定される。上記のように、システム制約は全モジュールアクチュエータの制約を複合させたものとなる。さらに、例となるタイプ１のモジュールアクチュエータ等、各タイプのモジュールアクチュエータは、最大速度と最小速度および最大加速度と最小加速度といったそれぞれ異なる制約や、複数のモジュールアクチュエータを一緒に制御したり、特定のモジュールアクチュエータを相互に隣接させて設置することによって発生する制約等を受ける。
【０１１０】
また、前述のように、タスク要件は個々のモジュールアクチュエータについて説明することもできる。たとえば、特定のタスクを実行することで、例となるタイプ１のモジュールアクチュエータ等、あるモジュールアクチュエータは目標基準、衝突防止、速度および加速度の限界をはじめとする各種の制約を受ける。
【０１１１】
例となるタイプ１のモジュールアクチュエータに関するシステム制約とタスク要件の例には、タイプ１の各モジュールアクチュエータが、長さは２５．４ｍｍ、そのモジュールアクチュエータ内を移動する被処理体の最低速度ｖminは−３．０ｍｍ／ｍｓ、そのモジュールアクチュエータ内を移動する被処理体の最大速度ｖmaxは３．０ｍｍ／ｍｓ、そのモジュールアクチュエータ内で移動する被処理体の最低加速度ａminは−０．０２ｍｍ／ｍｓ2、そのモジュールアクチュエータ２３０内を移動する被処理体の最大加速度ａmaxは０．０２ｍｍ／ｍｓ2というモジュール制約を有する、等がある。
【０１１２】
各タイプのモジュールアクチュエータは、そのタイプのモジュールアクチュエータが指定のタスクを実行するために満たさなければならない各種の一般的なタスク制約も有する。たとえば、タイプ１のモジュールアクチュエータの一般的なタスク制約によれば、被処理体は初期速度ｖ0が０．０ｍｍ／ｍｓ、終期速度ｖaが９０．５ｍｍ／ｍｓでなければならない。タイプ１のモジュールアクチュエータはまた、そのモジュールアクチュエータ内では、被処理体が常に０．０ｍｍ／ｍｓ以上の速度ｖで移動するように作動しなければならないかもしれない。
【０１１３】
同様に、各タイプ１のモジュールアクチュエータは、モジュールアクチュエータをより効率的に動作させる等、他の基準を満たすために満足させなければならない名目上のタスク制約もある場合がある。たとえば、名目上のタスク制約には、一般的なタスク制約のほか、モジュールアクチュエータは、そのモジュールアクチュエータ内の被処理体の速度ｖが常に１．０ｍｍ／ｍｓ以下であるように動作するという制約がある。この制約を満足することにより、そのモジュールアクチュエータはより素早く、高い信頼性で動作できる。
【０１１４】
タイプ１のモジュールアクチュエータのシステム制約とタスク要件は、タイプ１のモジュールアクチュエータ内の被処理体が、タスク要件を満たす、あるいは他の被処理体との衝突を避けるといった特定の制約によって分離されるよう求めるかもしれない。たとえば、被処理体を５００ｍｓの時間“ｓ”と３０ｍｍの最低ギャップ“ｇ”によって分離する必要がある。
【０１１５】
システム制約とタスク要件が指定さると、コントロールはステップＳ３３００に進み、ここで被処理体の公称軌道Ｔｒが決定される。公称軌道Ｔｒは、総合的制約解消手段または最適化制約解消手段等、上記のような制約をはじめとするシステムおよびタスク制約を解消し、一方で関連する軌道基準を最小化する制約解消手段によって決定できる。たとえば、公称軌道Ｔrは、制約ｔ0＝０と、制約ｔn−ｔ0（ただし、ｔ0は被処理体が第１のモジュールアクチュエータ２３０に入る時間、ｔnは被処理体が経路２４０上の最後のアクチュエータ２３０を出る時間である）の最小化によって決定できる。
【０１１６】
公称軌道Ｔrを決定する際、制約は、たとえばその軌道によって決定される３次スプライン上の制約等、所望の軌道上の制約に翻訳される。入る時間と出る時間および速度の制約が直接３次スプラインに追加される。モジュール全体の速度と加速度に関する最小値と最大値の制約は、３次スプラインによって設定される速度と加速度の最小値と最大値の制約に翻訳することができる。
【０１１７】
一連の特定のタスク制約は、軌道の目的によって異なる。したがって、公称軌道Ｔrは、これが所望の軌道を構成するため、すべてのタスク制約を満たすかもしれない。
【０１１８】
公称軌道Ｔrが決定されると、コントロールはステップＳ３４００に進み、ここで軌道上の前の被処理体の公称軌道Ｔpが決定される。前の公称軌道Ｔpは、公称軌道Ｔrを、被処理体が目標位置に到達すると予想される時間である−ｓだけシフトさせることで決定される。
【０１１９】
前の公称軌道Ｔpが決定された後、コントロールはステップＳ３５００に進み、ここで経路上の次の被処理体の公称軌道Ｔnが決定される。次の公称軌道Ｔnは、公称軌道Ｔnを＋ｓだけシフトさせることで決定される。
【０１２０】
次の公称軌道Ｔnが決定された後、コントロールはステップＳ３６００に進み、ここで衝突包絡線が決定される。衝突包絡線は、進みおよび遅れ衝突境界を決定することで決定される。
【０１２１】
進み衝突境界Ｔeは、前の公称軌道Ｔpと次の公称軌道Ｔnで、たとえばシステム制約と一般的タスク制約等の制約ならびに、たとえば時間“ｓ”とギャップ“ｇ”等の衝突制約を解消することによって決定される。一連の特定のタスク要件は軌道の目的によって異なるため、進みおよび遅れ衝突境界は、提案される速度と加速度の限度を満足する必要がない場合もある。進み衝突境界Ｔeはまた、制約ｔ0＝０および公称軌道Ｔnにおけるｔn＝ｔn、ｔn-1の最小化によっても決定できる。
【０１２２】
遅れ衝突境界Ｔ1は、前の公称軌道Ｔpと次の公称軌道Ｔnで、たとえばシステム制約と一般的タスク制約等の制約ならびに、たとえば時間“ｓ”とギャップ“ｇ”等の衝突制約を解消することによって決定される。遅れ衝突境界Ｔ1はまた、制約ｔ0＝０および公称軌道Ｔrにおけるｔn＝ｔn、ｔn-1の最小化（ｔ1はｔ0からｔnまでの時間）によっても決定できる。
【０１２３】
衝突包絡線が決定された後、コントロールはＳ３７００に進み、ここでは制御包絡線が決定される。制御包絡線は、図４に示すように、進み制御境界６１０と遅れ制御境界６２０の間に設定される。あるいは、制御包絡線は、図８に示すように、公称軌道２０００と、遅れ堅牢性制御軌道２２１０と遅れ制御軌道２３１０のいずれかとの間に設定することもできる。
【０１２４】
図８の場合、遅れ堅牢性制御軌道２２１０は、ここではＴeとも呼ばれるが、システム制約や一般的タスク制約等の制約を解消することによって決定される。一連の特定のタスク制約は軌道の目的によって異なるため、制御境界Ｔeは目標制約だけを満足してもよい。遅れ堅牢性制御軌道Ｔeはまた、公称軌道Ｔeにおける制約ｔn＝ｔnおよび、ｔn−ｔ0の最小化によっても決定できる。
【０１２５】
制御包絡線が決定されると、コントロールはステップＳ３８００で終了する。
【０１２６】
上記のマルチレベルモジュール式被処理体取扱いシステムは、いずれかの既知の方法または装置にしたがって、各被処理体の実際の現在の位置を検出することができる。たとえば、実際の位置は、どのうよな検出センサでも得られる。また、ルーエンベルガオブザーバ等の決定オブザーバ、あるいはカルマンフィルタ等の確率的オブザーバでも実際の位置を概算することができる。さらに、実際の感知と概算を組み合わせて実際の位置を判断してもよい。
【０１２７】
モジュールコントローラ２２０は、必ずしもシステムコントローラ２１０が供給する軌道に完全に追従しなければならないわけではない。たとえば、モジュールコントローラ２２０は、ある被処理体が軌道包絡線のいずれかの境界にどれだけ近づいたかを常に把握し、この情報を使って、タスクを実行する作業を改善することができる。
【０１２８】
上記の軌道および軌道包絡線は、時間の関数としての位置、速度あるいは加速度という点で論じた。しかし、軌道と軌道包絡線はこれらの表現に限られず、被処理体に関するいかなるデータを使ってもよい。
【０１２９】
以上、詳細に説明したさまざまな実施例において、モジュール式被処理体取扱いシステムは２層式階層アーキテクチャ、つまり、単独のシステムコントローラと複数のモジュールコントローラを使用している。しかし、本発明によるモジュール式被処理体取扱いシステムと方法は、システムコントローラとモジュールコントローラの間に少なくとも１つの中間制御層を挟む等、何段階のコントロールでも使用することができる。さらに、本発明によるモジュール式被処理体取扱いシステムと方法は、複数のシステムコントローラも使用できる。
【０１３０】
本発明によるモジュール式被処理体取扱いシステムと方法には、所定の衝突および制御包絡線の両方を含めることができる。また、本発明によるモジュール式被処理体取扱いシステムと方法は、所定の衝突包絡線のみ、あるいは所定の制御包絡線のみを使用することもできる。さらに、所定の軌道と軌道包絡線が衝突および制御限界と領域に関連している必要はなく、軌道と軌道包絡線はどのタスクまたは制約に関連していてもよい。たとえば、複数の軌道包絡線には、異なる被処理体サイズを提供できる。
【０１３１】
また、先に詳細に説明した各種の実施例において、モジュール式被処理体取扱いシステムは、モジュールアクチュエータ２３０に入る、これから出る、あるいはその中にある被処理体という点で説明されていたが、システム、軌道、軌道包絡線は、各モジュールアクチュエータ２３０に関連するモジュールに入る、これから出る、この中にある被処理体として説明することもできる。このようなモジュールはさらに、モジュールアクチュエータ２３０が制御する経路２４０の領域として説明することも可能である。
【０１３２】
上記のマルチレベルモジュール式被処理体取扱いシステムの各種コントローラは、プログラムされた汎用コンピュータを使って実現できる。しかし、上記の各マルチレベルモジュール式被処理体取扱いシステムの各種コントローラは、特定目的専用コンピュータ、プログラムされたマイクロプロセサまたはマイクロコントローラおよび周辺集積回路素子、ＡＳＩＣあるいはその他の集積回路、デジタル信号プロセッサ、ディスクリート素子回路等のハードウェアに組み込まれた電子回路または論理回路、ＰＬＤ，ＰＬＡ，ＦＰＧＡ，ＰＡＬ等のブログラム可能論理デバイスその他でも実現できる。一般に、図５から図７および図９に示すフローチャートを実現できる有限状態マシンを実現できれば、どのようなデバイスによっても、上記の各マルチレベルモジュール式被処理体取扱いシステムの各種コントローラを実現できる。
【０１３３】
通信リンク２５０は、直接ケーブル接続、広域ネットワークまたはローカルエリアネットワーク上の接続、イントラネット上の接続、インターネット上の接続、あるいはその他分散処理ネットワークまたはシステム上の接続等、システムコントローラ２１０、モジュールコントローラ２２０、モジュールアクチュエータ２３０を接続するどのような既知の、あるいは今後開発される装置やシステムでもよい。一般に、通信リンク２５０は、システムコントローラ２１０、モジュールコントローラ２２０、モジュールアクチュエータ２３０を接続するのに利用できるどのような既知の、あるいは今後開発される接続システムまたは構造とすることもできる。
【０１３４】
本発明によるシステムと方法は上記の実施例に関して説明したものの、その他多くの代替、改造、変更が当業者にとっては明らかである。したがって、上記の本発明によるシステムと方法の実施例は、例として挙げられており、これらに限定されるものではない。本発明の精神と範囲から外れることなく、各種の変更を加えることができる。
【図面の簡単な説明】
【図１】  従来の媒体取扱いシステムの略図である。
【図２】  本発明によるモジュール式被処理体取扱いシステムの略図である。
【図３】  代表的な時間−距離公称軌道を示すグラフである。
【図４】  サンプルシステムとタスク制約に関する軌道と軌道包絡線を示すグラフである。
【図５】  マルチレベルモジュール式被処理体取扱いシステムのシステムレベルコントロールにおいて、所定の軌道と軌道包絡線を使用する方法の一実施例を示すフローチャートである。
【図６】  図５のステップＳ１２００で被処理体がその衝突包絡線内にあるかを判断する方法の一実施例を詳細に示すフローチャートである。
【図７】  図５のステップＳ１３００で被処理体がその制御包絡線内にあるかを判断する方法の一実施例を詳細に示すフローチャートである。
【図８】  軌道と軌道包絡線ならびに、その軌道と軌道包絡線により決定されるシステム制約とタスク要件を示すグラフである。
【図９】  システム制約とタスク要件を明確に表示することにより、軌道と軌道包絡線を決定する方法の一実施例を概説するフローチャートである。
【符号の説明】
２００  媒体取扱いシステム、２１０  システムコントローラ、２２０  モジュールコントローラ、２３０  モジュールアクチュエータ、２４０  経路、２５０  通信リンク。
【図１】
0004841034.tif 000006
【図２】
0004841034.tif 000007
【図３】
0004841034.tif 000008
【図４】
0004841034.tif 000009
【図５】
0004841034.tif 000010
【図６】
0004841034.tif 000011
【図７】
0004841034.tif 000012
【図８】
0004841034.tif 000013
【図９】
0004841034.tif 000014