JP3604005B2 - アセンブリワークセルをレイアウトするための最適化ツール - Google Patents

アセンブリワークセルをレイアウトするための最適化ツール Download PDF

Info

Publication number
JP3604005B2
JP3604005B2 JP2000358545A JP2000358545A JP3604005B2 JP 3604005 B2 JP3604005 B2 JP 3604005B2 JP 2000358545 A JP2000358545 A JP 2000358545A JP 2000358545 A JP2000358545 A JP 2000358545A JP 3604005 B2 JP3604005 B2 JP 3604005B2
Authority
JP
Japan
Prior art keywords
cpu
machine
peripheral
machines
workcell
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.)
Expired - Lifetime
Application number
JP2000358545A
Other languages
English (en)
Other versions
JP2001249961A (ja
Inventor
バラール ダビッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of JP2001249961A publication Critical patent/JP2001249961A/ja
Application granted granted Critical
Publication of JP3604005B2 publication Critical patent/JP3604005B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31054Planning, layout of assembly system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32085Layout of factory, facility, cell, production system planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39082Collision, real time collision avoidance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40314Simulation of program locally before remote operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40317For collision avoidance and detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40319Simulate contact of object and obstacle, reduce to pairs with only one contact
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Multi-Process Working Machines And Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータソフトウェアユーティリティプログラムに関する。さらに詳細には、コンピュータ援用設計(CAD)、コンピュータ援用製造(CAM)、およびコンピュータ援用エンジニアリング(CAE)の分野におけるプログラムに関し、具体的に言えば、製造設備内でロボットおよび機械の適切な物理的位置を決定するためにこのようなシステムを使用することに関する。
【0002】
【従来の技術】
従来、ロボットは、自動化された製造プロセスで広く使用されている。ロボットを使用すると、精密で時間効率の高い方法で反復性のタスクを実行することができる。たとえばロボットを、自動車の骨組をスポット溶接するための自動車製造ライン内で使用すると、手作業を利用して達成するよりも、時間効率の高い方法で、溶接部分を精密に配置することができる。他の例では、ワークセル内に配置され、その周囲を他の機械で囲まれたロボットは、ワークセル環境内の様々な周辺機械から部品を取得し、作業端末でその様々な部品を組み立てることによって製品を作成する。典型的な製造プロセスでは、ロボットは2地点間を移動する反復性のシーケンスを実行し、各地点で停止する。たとえば、ロボットは、プログラムされたそれぞれの停止位置でアセンブリにスポット溶接を行う。他の例では、ロボットは組立作業において、実行される組立タスクによって指示される作業シーケンスで、1つの周辺機械から次の機械まで移動する。
【0003】
ロボットの生産性は、1つの作業シーケンスを完了するためのサイクル時間を最小限にすることによって、かなり向上させることができる。所与のロボットの場合、サイクル時間は、タスクに関するロボットのマニピュレータ(manipulator)ツールの位置、ポイントへの移動シーケンス、アクチュエータの最高速度および加速度、ポイントの相対的位置、ならびにロボットアームの構成など、多くのパラメータによって決まる。また、ロボットがアクセスするポイントの相対的位置によって、すなわちワークセルレイアウトによっても決まる。作業端末で誤って配置されたロボットは、十分な作業効率が得られず、障害を起こす危険性さえある。したがって、指定の作業シーケンスに対するサイクル時間を最小限にできるように、システム用のロボットおよび周辺機械の位置を選択する必要がある。
【0004】
既存のCADシステムを使用して、ロボットを含む製造設備をモデリングすることができる。このようなCADシステムが、ロボットの構成およびワークセル内の周辺機器の構成を詳述したデータを備えている場合、ワークプレースをモデリングするのに使用される。各アイテムは設備をモデリングするためにワークセル内部に配置し、次いで周辺機械はタスクの実行可能性および有効性を調べるために移動することができる。ただし、これまで業界でロボットワークセルの設計用に使用された設計プロセスには、ユーザが実行しなければならない何らかの対話式チェックおよび変更ループが含まれている。このようなプロセスは時間がかかり、レイアウトの品質は人間の設計者に大幅に依存するものである。
【0005】
ワークセル用に一体化された設計プロセスを実現させるためには、CAD/CAM/CAEシステムでサイクル時間を短くするようにロボットおよび周辺機械の位置を最適化するための、自動レイアウトプランニングツールが必要である。
【0006】
【発明が解決しようとする課題】
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。
【0007】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、ロボットおよび周辺機械からなるロボットアセンブリワークセルのレイアウトを効率的な方法で見つけるためのシステム、方法、および装置を提供することにある。
【0008】
【課題を解決するための手段】
したがって、本発明は、ロボットおよび周辺機械からなるロボットアセンブリワークセルに最適またはほぼ最適なレイアウトを効率的な方法で見つけるためのシステム、方法、および装置を提供する。最適なレイアウトは、作業シーケンスを最低時間内で処理できるようにする、ワークセル(ワークスペース)内のロボットおよび周辺機械の配置として定義される。
【0009】
本発明は、完全な解が得られるまで、変数のステップごとのサブセットをセットアップすることで構成される、「構成アルゴリズム」技法を使用する。もちろん、ワークセル内に配置されるアイテムは、作業に関与するロボットおよび各周辺機械である。本発明の一態様によれば、ワークセルをレイアウトする問題は、第1に、ロボットおよび第1の周辺機械をワークセル内に配置することから着手される。その後、ワークセル内に配置する第2の周辺機械が選択される。本発明の一態様によれば、修正された「模擬アニーリング」方法を使用して、ワークセルのフロア上に、第2の周辺機械を配置することができるロケーションセットを見つける。修正された模擬アニーリング方法は、ワークセル内でロボットと周辺機械とが対話する時間(サイクル時間)を最小限にするようなロケーションを見つける。
【0010】
本発明の修正された模擬アニーリング方法は、最適に近い第2の周辺機械用の配置セットを導き出す。すなわち、検索で見つけられたロケーションの中に絶対的に最適なものがなくてもよい(ただし、解の1つは絶対的に最適である可能性がある)。それにもかかわらず、この方法によって見つけられたロケーションは、周辺機械を配置するのに最適に近いロケーションを表す。本発明によれば、修正された模擬アニーリング方法は多くの配置問題を生み出す可能性はあるが、(サイクル時間に関して)最高のロケーションのみが維持されて引き続き評価される。模擬アニーリング方法によって生成されたロケーションの残りは、考慮の対象から外される。本発明の好適実施形態によれば、最良のロケーションが5つだけ選択される。したがって、引き続き評価するための部分レイアウトセットは、5つの部分レイアウトからなり、それぞれがそのオリジナルロケーション内にロボットおよび第1の機械を有し、さらにワークセルフロア上の特有ロケーションに第2の周辺機械を有することになる。
【0011】
修正された模擬アニーリング方法は、新しい機械が追加されたときに、維持されたそれぞれの部分レイアウトに対して実行される。したがって、本発明の一態様によれば、第3の周辺機械が配置用に選択される。その後、第3の周辺機械に可能な配置セットを見つけるために、本発明の修正された模擬アニーリング方法を使用して、部分レイアウトセット内の各部分レイアウトが検索される。この検索プロセスが、5つの維持された部分レイアウトそれぞれに対して、ロボット、第1の2つの周辺機械、および第3の機械を含む、新しい部分レイアウトのセットを導き出す。この検索は、5つの維持された部分レイアウトそれぞれに対して行われるので、第3の周辺機械を含むレイアウトが多数生成される。ただし、本発明の一態様によれば、ここで再度、最高の部分レイアウトだけが引き続き評価するために選択され、残りは考慮の対象から外される。本発明の好適実施形態にしたがって、部分レイアウトはいくつでも選択できると考えられるが、ユーザが望むかまたはCPU時間の実行可能性によって指示されるように、最高の部分レイアウトが5つだけ選択される。
【0012】
前述のプロセスは、すべての周辺機械がワークセル環境内に配置されるまで繰り返される。
【0013】
本発明の他の態様によれば、第1の周辺機械は「受け入れ可能ベースロケーション領域」の中央に配置される。ロボットのアームおよびリストジョイント部の運動上の制限により、ロボットのマニピュレータツールは、任意の単一ロボットベースロケーションについて、その環境内で制限された分散ロケーション数までしか可能ではない。同様に、ロボットのマニピュレータツールが1つのロケーションに固定されており、そのロボットベースが移動可能である場合、その作業範囲を介してロボットのアームおよびリストを動かすと、ワークセルのフロア中をロボットのベースが移動することになる。ロボットがその作業範囲全体を移動するときにロボットベースが移動するワークセルフロア上の範囲が、特定のワークポイントに対して許容可能なロボットのベースロケーション領域を確定する。ロボットを許容可能なベースロケーション領域の外に配置すると、ロボットは作業ポイントに届くことができなくなる。
【0014】
本発明の他の態様によれば、周辺機械が評価される順序は、ほとんどの作業シーケンスでアクセスされる機械を第1の基準として優先し、小型機械を第2の基準として優先する、機械の選択規則を使用して決定される。その結果、サイクル時間の最適化が改善される。
【0015】
本発明の他の態様によれば、周辺機械の形状は、模擬アニーリング方法を適用する前に簡略化される。その結果、検索の処理時間が高速化される。
【0016】
前述のように、修正された「模擬アニーリング」方法は、サイクル時間を最短化するように周辺機械を配置するために最適なポジションセットを見つけるのに使用される。この従来の模擬アニーリングアルゴリズムは、当分野の技術者にはよく知られており、たとえば、参照により本明細書に組み込まれている、S.KirkpatrickのC.D.Gelatt,Jr.およびM.P.Vecchiによる、「Optimization by Simulated Annealing」,Science,220(4598),pp.671−680,1983年5月、に記載されている。従来の模擬アニーリングアルゴリズムは、問題に対して1つの独立した最適な解を導き出すだけであり、産業用CADシステムのコンテキストで使用するには不満足なものである。さらに模擬アニーリングには、局所極小(local minimum)の最下位までたどり着かない限り、通常の解と局所極小とを区別することができないため、長い計算時間が必要となる場合がある。本発明によれば、従来の模擬アニーリング方法には、この方法に何らかの「便宜主義(opportunism)」を構築するために、2つの機能が追加された。
【0017】
第1の機能は、ローカル検索手順の規則的な適用に対応する、「フリーズヒート(freeze−heat)」サイクルと呼ばれるサイクルを使用することである。この機能の目的は、できる限り迅速に最小の谷(valley)を探索することであり、検索スペース内で最も近い局所極小を導き出す。第2の機能は、局所極小およびその「誘引領域」を記憶することである。この方法では、いったん探索した最小の谷には二度と訪れることがなく、他の最小を得ることができる。このように修正すると、実行の終わりに、最適に近い解のセットとそれぞれの近隣に関する知識とが一緒に導き出される。この修正を使用すると、ロボットベースの単一の絶対的に最適なロケーションが見つけ出されるという保証はない。その代わりに、従来の模擬アニーリング方法では必要であった計算リソースをほとんど使用せずに、最適に近い解セットが得られる。
【0018】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は省略する。
【0019】
図1は、本実施形態に使用可能なコンピュータシステム100の物理的なリソースを示す。コンピュータ100は、データ、アドレス、および制御信号を提供するプロセッサホストバス102に接続されたCPU101を備える。プロセッサ101は、Pentium(登録商標)シリーズのプロセッサ、K6(商標)プロセッサ、MIPS(登録商標)プロセッサ、Power PC(登録商標)プロセッサ、またはALPHA(登録商標)プロセッサなどの、どんな従来型汎用シングルチップまたはマルチチップのマイクロプロセッサでもよい。さらにプロセッサ101は、デジタル信号プロセッサまたはグラフィックスプロセッサなどの、どんな従来型専用マイクロプロセッサでもよい。マイクロプロセッサ101は、従来のアドレス、データ、およびこれをプロセッサホストバス102に結合する制御ラインを有することができる。
【0020】
コンピュータ100は、一体型RAMメモリ制御装置104を備えるシステム制御装置103を含むことができる。システム制御装置103はホストバス102に接続し、ランダムアクセスメモリ105へのインタフェースを提供することができる。システム制御装置103は、ホストバスから周辺バスへのブリッジング機能を提供することもできる。これによって制御装置103は、プロセッサホストバス102上の信号と1次周辺バス110上の信号とを、整合性を持たせて交換することができる。たとえば周辺バス110は、PCI(peripheral component interconnect)バス、ISA(industrial standard architecture)バス、またはマイクロチャネルバスであってもよい。さらに制御装置103は、ホストバス102と周辺バス110との間で一致した、データバッファリングおよびデータ転送速度を提供することができる。これによって制御装置103は、たとえば、インタフェースが64ビット66MHzでデータ転送速度が533Mバイト/秒のプロセッサ101を、データパスのビット幅、クロック速度、またはデータ転送速度が異なるデータパスを有するPCIバス110にインタフェースさせることができる。
【0021】
たとえばハードディスクドライブ113に結合されたハードディスクドライブ制御インタフェース111、ビデオディスプレイ115に結合されたビデオディスプレイ制御装置112、ならびにキーボードおよびマウス制御装置121を含むアクセサリデバイスを、バス120に結合し、プロセッサ101によって制御することができる。コンピュータシステムは、コンピュータシステムネットワーク、イントラネット、またはインターネットへの接続を含むことができる。こうした接続を介して、データおよび情報を送受信することができる。
【0022】
コンピュータ100は、基本的なコンピュータソフトウェアルーチンを格納するために、不揮発性ROMメモリ122を含むこともできる。ROM122は、構成データを格納するために、EEPROM(electrically erasable read−only memory)などの変更可能メモリを含むことができる。ROM122にBIOSルーチン123を含めて、基本的なコンピュータの初期設定、システムテスト、および入力/出力(I/O)サービスを提供することができる。BIOS123は、オペレーティングシステムをディスク113から「ブート」できるようにするルーチンを含むこともできる。高水準オペレーティングシステムの例には、Microsoft Windows 98(商標)、Windows NT(商標)、UNIX、LINUX、Apple MacOS(商標)オペレーティングシステム、または他のオペレーティングシステムがある。
【0023】
オペレーティングシステムは、RAMメモリ105内に完全にロードするか、またはRAMメモリ105、ディスクドライブ格納装置113、またはネットワークロケーションにある格納装置に部分的に含めることができる。オペレーティングシステムは、ソフトウェアアプリケーション、ソフトウェアシステム、およびソフトウェアシステムのツールを実行する機能を提供することができる。ソフトウェア機能は、ビデオディスプレイ制御装置112およびコンピュータシステム100の他のリソースにアクセスして、設計のモデル、ロボット構成、ワークスペース、およびワークプレース環境をビデオコンピュータディスプレイ115上に提供することができる。
【0024】
アセンブリワークセルレイアウトの問題および仮定
アセンブリワークセルレイアウトの問題は、ロボットの近隣にあり、ロボットが対話する周辺機械の相対的位置を決定することに関係する。その目的は、1つまたは複数のワークセルの有効性基準を最適化することである。本実施形態によれば、最適化のために満たさなければならない1つの基準、すなわちアセンブリタスクに対応するサイクル時間が考慮された。工業用CAD/CAM/CAEシステムでは、このような基準を算出するのに必要な努力がかなりの量にのぼる。実際、制御装置の製造業者がそのロボットに関して独自のシミュレーションモジュールを提供しているように、各評価はロボットの動きのシミュレーションを意味する。
【0025】
以下の要素の場合、考慮する必要がある。
【0026】
1.機械の形状が不揃いの可能性がある。この場合、ロボットを基準にした機械の向きで可能な数を制限する表現方法を見つける問題、および機械の重なりを効率的に検出する問題が発生する。
【0027】
2.各機械が、少なくとも1つのアクセス/送達ポイントを有し、ロボットは機械に関連付けられたタスクを実行するためにこのポイントに届かなければならない。
【0028】
3.機械は、機械間で保守、修理、およびオペレータの動作が行えるだけの十分なスペースをとらなければならない。このゆとりは機械によって異なる場合がある。
【0029】
4.アセンブリタスクには、2つ以上のロボットが必要となる場合がある。
【0030】
5.機械のアクセス/送達ポイントをロボットのワークスペース内に配置し、ロボットはこれに届かなければならない。
【0031】
6.ロボットのベースは移動可能であってもよい。移動ロボットの場合は、機械の間に動き回る余分なスペースが必要である。
【0032】
一般的なアセンブリワークセルのレイアウト問題は非常に複雑で組み合わされたものである。したがって、以下のような道理にかなった実践的な、何らかの簡略化および仮定が実行される。
【0033】
1.ワークセルは、ベースが固定された1つのロボットおよび周辺機械のセットからなる。
【0034】
2.アセンブリタスクに関連付けられた作業シーケンスが決定される。
【0035】
3.考慮の対象となる機械のタイプおよび形状は限定されていない。
【0036】
4.機械にはアクセス/送達ポイントが1つだけある。ほとんどの機械にこのようなポイントが1つしかない場合、この仮定は道理にかなっている。機械上でのアクセスポイントの位置は、機械の「中央」に限定されていない。
【0037】
5.機械の間にあるスペースのゆとりは、ユーザによって与えられるものである。機械の内部表現は、スペースのゆとりを考慮に入れて決められる。
【0038】
6.レイアウトに使用できるフロアスペースは、制限されないものと仮定される。使用可能なフロアスペースに合わせて機械をわずかに移動させても、結果にはほとんど影響を与えない。さらにレイアウトは、所与のフロア領域に適合させるために、全体として表示することができる。
【0039】
実用的および工業的なケースに対して信頼できる解を提供するために、以下の制約を考慮に入れなければならない。
【0040】
1.機械のアクセスポイントのアクセス可能度。
【0041】
2.作業が実行されるポイントにロボットツールが届く場合、ロボットとその環境との間の衝突回避。
【0042】
3.ロボットアームがアクセスポイント間を移動する場合、ロボットとその環境との間の衝突回避。
【0043】
最終的に、ユーザによって、アセンブリロボットモデル、これと対話する機械、および実行されるアセンブリタスクに対応する作業/対話シーケンスという、初期データが提供される。
【0044】
ワークセルレイアウト解法
ロボットが所与のアセンブリタスクを実行するための全サイクル時間は、周辺機械など、その環境内でのオブジェクトに対する位置によって決まる。ワークスペースの配置が良くないと、作業効率が悪くなる。これが、特定のタスクが実施される間にマニピュレータの性能が最適化されるような方法で、レイアウトを選択する際の問題につながる。
【0045】
既存のロボットCADシステムでは、サイクル時間を最適化するためのプロセスは非常に時間がかかる作業である。本実施形態によれば、このタスクは、周辺機械がワークスペースに1つずつ加えられる構成アルゴリズム方法を使用することによって、より効率的になっている。周辺機械が追加されるごとに、修正された模擬アニーリング方法を使用して、新しい周辺機械を含む可能なレイアウトセッが決定される。最高のレイアウトだけが引き続き評価するために受け入れられる。この方法は、CPU時間を削減するためにロボットおよび周辺機械の幾何形状を簡略化することによって能率的になる。さらにこの方法は、アセンブリプロセスでしばしばアクセスされる周辺機械を優先すること、および小型の機械を優先することによって決定される特有の順序で周辺機械を追加することによって能率的になり、その結果、しばしばアクセスされる機械がロボットの近くに配置され、小型の機械はロボットの周囲に、その周辺に大型の機械が集められることになる。
【0046】
図2を参照すると、本実施形態の方法の概略図が示されている。システムは、特有のロボットモデルの幾何形状50、各周辺機械の幾何形状51、およびアセンブリ作業シーケンス52に関して、システム内部またはシステム外部のいずれかに格納されたデータを使用する。ステップ53では、本明細書で詳細に記述される「ランク表」が計算される。このランク表の情報を使用して、サイクル時間が計算される。これは、ロボットが特定の機械にアクセスする回数、および機械間での移動回数を記録する。ステップ54では、周辺機械がワークセル内に配置される順序が決定される。好適実施形態では、機械の配置シーケンスは、ランク表からの情報ならびに周辺デバイスの構成に関する情報を使用して、下記のように決定される。
【0047】
ステップ55では、ロボットがワークスペース内に配置され、第1の周辺機械は、ロボットがアクセスしやすいようにロボットの近くに配置される。この構成は、「a」と明示された第1のレイアウトとして明示される。ステップ56では、カウンタであるパラメータ「i」および「j」が値1に初期設定される。下記のように、値「imax」は加えられる機械の合計数に対応し、値「jmax」は下記のように機械が追加されるときに評価されるレイアウト数に対応する。パラメータ「a」は個々のレイアウトを明示し、パラメータ「A」は機械「i」の全レイアウトセットである。
【0048】
したがって、プロセスを続行していくと、次にサイクル時間が最小になるような方法で、第2の周辺機械をワークセル内に配置することが望まれる。本実施形態によれば、下記に記載する修正された模擬アニーリング方法を使用して、第2の周辺機械について可能な配置セットが生成される。修正された模擬アニーリング方法が生成する可能性のある可能なロケーション数は、任意に制限されるものではない。この方法は、ワークスペースの構成およびワークスペース内にある他のオブジェクトに応じて、2、3の配置だけを生成するか、または多数の配置を生成することができる。例示の目的で15の可能な配置が生成されると仮定すると、それぞれの配置が15の部分レイアウトのうちの1つを定義し、ロボットおよび第1の機械は同じ場所にあるが、第2の機械は異なる場所にある。15の部分レイアウトは、第2の機械に対応する部分レイアウトセット「A」内に配置される(ステップ58)。プロセスはステップ59へ進み、ここではパラメータ「j」が「jmax」に等しいかどうかに関する照会が実行される。パラメータ「j」はステップ56で値1に初期設定されたカウンタであり、パラメータ「jmax」は評価の基準として使用されている現在の部分レイアウト数であることを想起されたい。この段階で、現在の部分レイアウトは1つしかない、すなわちロボットおよび第1の機械を備えた1つのレイアウトしかないので、「jmax」は値1を有する。したがって、ステップ59の照会の答えは「はい」となり、ステップ61に進む。ステップ61では、修正された模擬アニーリング方法で生成された15の部分レイアウトのサイクル時間が相互に比較され、最高のものだけが選択される。使用可能なCPU時間に応じて部分レイアウトをいくつ選択するかは、ユーザの責任で定義される。好適実施形態では、最高のレイアウトが5つだけ維持され、残りは考慮の対象から外される。これで、評価を続ける部分レイアウトセットには5つの部分レイアウトが含まれるので、「jmax」の値は5に設定される。機械番号2の部分レイアウトセットを決定すると、その機械番号に対応するカウンタ、すなわち「i」は値1だけ進む(ステップ62)ので、プロセスを残りの機械にも繰り返すことができる。
【0049】
ステップ63に進むと、追加する機械が他にもあるかどうか(i=imaxであるか)に関する照会が実行される。追加する機械が他にもある場合(ステップ63で「いいえ」)は、ステップ64に進み、カウンタ「j」は値1にリセットされる。次いで、現在の5つの部分レイアウトそれぞれに対して、模擬アニーリングプログラムが実行される。したがって、ステップ57に戻り、修正された模擬アニーリング方法が現在の5つの部分レイアウトのうちの第1を開始し、第3の周辺機械を含む可能なレイアウトセットを生成する。これらのレイアウトはセット「A」に格納され(ステップ58)、「j」の値は1、「jmax」の値は5となるので、ステップ59の照会の答えは「いいえ」となる。「j」の値はステップ60で1だけ増え、修正された模擬アニーリング方法が再度実行されて、開始ポイントとして現在の5つの部分レイアウトのうちの2番目を使用して、第3の周辺機械を含む可能なレイアウトセットが導き出される。このプロセスは、第3の機械の部分レイアウトを生成するための開始ポイントとして、現在の部分レイアウト5つが全部使用されるまで続行される。この時点で、値「j」は「jmax」に等しくなり、前述のように好適実施形態では値5を有し、ステップ59の照会の答えは「はい」となる。
【0050】
この段階で機械番号3を含む部分レイアウトセットは潜在的に非常に大きくなる可能性がある。たとえば、現在の5つの部分レイアウトそれぞれについて、15の新しいレイアウトが生成された場合、機械番号3の部分レイアウトセットには75の部分レイアウトが含まれることになる。再度、ステップ61では、すべてのレイアウトが比較され、最高のものだけが維持される。残りを消去することによって、処理時間は道理にかなった限界値に制限される。プロセスは、すべての機械がレイアウト(i=imax)(ステップ63)内に配置されるまで繰り返され、この時点でプロセスは終了する。プロセスの最後には、ユーザが「jmax」に値5を選択したと仮定し、ユーザには5つの完全なレイアウトが提示される。
【0051】
解析の際に考慮の対象とならない要素があるために、実際には1つまたは複数のレイアウトが実行可能であることが証明できないので、複数の解を有することは有利である。さらに、作業環境またはシーケンスに何らかの変更が加えられ、1つまたは複数の解が発展不可能となった場合でも、ユーザにはまだ選択する他の解がある。
【0052】
以上、本実施形態の方法全体について述べてきた。次に、本発明の好適実施形態に従った、本実施形態の修正された模擬アニーリング方法ならびにプロセスを最適化するための方法について述べる。
【0053】
作業シーケンスの定義
アセンブリタスクに関連付けられた作業シーケンスを記述するための標準的なCAD/CAM/CAEツールがこのタスクに適さないため、好適実施形態でユーザが必要とする対話回数を最小限に抑える、新しいユーザインタフェースが設計された。
【0054】
ユーザはこのインタフェースを使用すると、ロボットのワークスペース内にある作業ポイント間ではなく、機械間でのロボットの動きを定義することができる。具体的に言えば、ユーザが何を「機械間対話」と呼んでいるかを定義することができる。このような対話は、ロボットがある要素(ピースまたはツール)を1つの所与の機械から第2の機械へ運ぶときに発生する。この点について、ロボットが何も持たずに機械間を移動する場合の対話は、機械間対話ではないことに留意されたい。実際、このような対話は以前の対話から推断できるので、明示的に指定する必要はない。
【0055】
これは例示的なものとして図示されている。ワークセルは、1つのロボットおよび3つの周辺機械(機械1、機械2、および機械3)で構成される。実行されるタスクは、機械1から所与のピースを連続して2回把持してこのピースを機械2上に配置すること、機械3にある所与のツールを把持して機械2にあるピースを組み立てること、およびツールを機械3に戻すことである。
【0056】
ユーザは提案されたインタフェースを使用して、単に最初および目標の機械名を連続してクリックし、対話の反復回数を入力することによって、機械間対話を記述することができる。これらのステップは、機械1と機械2との間の対話に関して、図3に示されている。図4に示すように、ユーザは対話シーケンスを記述しながら、これまでに定義した対話をチェックすることができる。すべての対話がここに表示される。
【0057】
その後、機械シーケンス(すなわちロボットが機械の場所へ移動しなければならない順序)が対話シーケンスから直接推断される。これまでに使用した例では、次のようなシーケンスになる。
【0058】
機械1−機械2−機械1−機械2−機械3−機械2−機械3
次に、サイクル時間を計算するのに使用するランク表が生成される(図5)。表のi,i要素は、ロボットが機械iにアクセスする回数である。表のi,j要素およびj,i要素は、順序に関係なく、機械iと機械jとの間の移動回数(対話ではない)に対応する。
【0059】
3次元機械表示の簡略化
ここで示される2次元の機械内部表示は、最適化中に発生する非常に多くの衝突計算を簡略化することを目的とする。これは、任意の直線で囲まれた形状の機械、すなわち、矩形、L型、またはT型の機械など、いくつかの低レベル矩形要素(略して矩形)で構成される機械を正確に記述するものである。円形または多角形などの形状は、境界を示す矩形で表されるだけである。ほとんどの機械の形状は直線で囲まれているので、このような近似も道理にかなっている。
【0060】
第1に、フロアスペース上にある機械の2次元近似輪郭が以下のように計算され、
【0061】
【数1】
B={b/1≦i≦m}
上式で、
は機械iの境界を示す矩形であり、
mは機械の数である。
【0062】
次に、機械iの3次元初期表示からbを構成する矩形のセットが以下のように推断され、
【0063】
【数2】
={bij/1≦j≦m
上式で、
ijは機械iの分解された矩形jであり、
は機械iの分解された矩形数である。
【0064】
区分された各矩形bij、xij、およびyijは、矩形bijの中心のxおよびy座標である。矩形bijの幅および長さはwijおよびlijである。直線で囲まれた機械内にある別々の構成矩形は、ソリッド接続(solid−connected)されていると想定するが、これはこれら矩形間のオフセットが一定に維持されているという意味である。したがって、配置プロセス中に、セットB内にあるすべての矩形bij間のオフセットを維持しなければならない。表示を簡単にする目的で、bの中心からbijの中心までのオフセットxおよびyを表すために、2つの定数としてxoijおよびyoijを与えている。機械iの境界を示す矩形bの場合、xおよびyはbの中心のxおよびy座標である。bの幅および長さはwおよびlである。次いで、直線で囲まれた機械iの中心を、それに関係する境界を示す矩形bの中心として定義すること、およびbからbijまでのxオフセットおよびyオフセットを、それぞれxoij=xbij−xおよびyoij=ybij−yとして定義することができる。図6は、直線で囲まれた機械とその区分された矩形セルとの関係を実証するための簡単な例である。この例で使用されるすべての変数および定数は、これら表記の関係を例示するためにラベル表示されたものである。
【0065】
重なり合った機械の検出
以前の表示は、重なり合った機械を2次元で検出する、単純かつ迅速な機能を提供している。実際に、ロボットのワークセルレイアウト問題に関して探求された解は、機械の重なりCmoがゼロであるという基準の下で、事前定義されたタスクを達成するのに必要なサイクル時間を最小限にするためのものである。Cmoは以下のように定義することができる。
【0066】
【数3】
Figure 0003604005
【0067】
数式(1)では、重なり距離odij,klはbklとbijとの間の機械の重なりを符号で表したものである。これは以下のように定義することが可能であり、
【0068】
【数4】
Figure 0003604005
【0069】
【数5】
Figure 0003604005
【0070】
上式で
idij,klは、機械の重なりを最小限にするbklとbijとの間の理想的な最短距離であって、
数式(2)で使用される関数f(.)は、0〜1ハードリミットしきい値関数であり、x>0の場合はf(x)=1、そうでない場合はf(x)=0である。
【0071】
klとbijとの間のユークリッド距離dij,klは、以下のように定義され、
【0072】
【数6】
Figure 0003604005
【0073】
上式で、dxij,kl=xbkl−xbijおよびdyij,kl=ybkl−ybijはそれぞれ、bklの中心からbijの中心までのxおよびy座標変位として定義される。図7は、この表示方法を実証するために、単純なL型機械および矩形機械を使用した一例である。
【0074】
ワークセルフロアの定義
好適実施形態で使用されるワークセルレイアウトの最適化方法では、各機械の初期配置を計算する必要がある。この配置では、特に機械の重なりを避けなければならない。
【0075】
このような配置を決定するために、B.K.A.Ngoi and K.Whybrew,「A Fast Spatial RepresentationMethod」,The International Journal of Advanced Manufacturing Technology,8(2),pp.71〜77、1993年で示された「空間表示方法」から導出されたワークセルフロア表示が使用された。2次元マトリックスは機械が配置されるごとに更新され、フロアスペース上での機械の現在のレイアウトを表す。マトリックスの第1行および第1列は、レイアウトのxおよびy座標に対応する。残りのマトリックスセルには、機械の占有に応じて「0」または「1」が含まれる(「0」は空きスペースを表す)。
【0076】
図8は、初期フロアスペースの表示方法を示す図である。初期の2次元マトリックスが、理解しやすいように概略的な方法で表示されている。前述のように、使用可能なスペースは無限であると仮定されている。
【0077】
例示のために、「機械1」と名付けられ、寸法がl=40およびw=50の矩形型の機械が、x=520およびy=520でフロア上に配置されると仮定する。次いでこの2次元マトリックスは4×4マトリックスに拡張され、フロアスペースはフロア領域上に点線で示された9セクションに分割される(図9)。
【0078】
次いで、図10に示すように、「機械2」と名付けられ、寸法がl21=30、w21=60、l22=40、およびw22=30のL型機械が、x=300およびy=700で配置された場合、取得されるマトリックスは7×7である。
【0079】
より多くの周辺機械がフロアスペース上に配置されるに従って、追加情報を収容するために2次元マトリックスがステップごとに拡張される。機械がフロア上に配置されるときには、空きセルだけが選択される。したがってこのフロア表示は、最適化方法が適用されるときに、機械にとって可能な初期位置を決定する迅速な方法を提供することになる。
【0080】
連続的な機械配置規則
前述のように、本実施形態の方法に従って、ワークセルのレイアウトに周辺機械が1つずつ追加され、各ステップで本実施形態の修正された模擬アニーリング方法を使用し、追加される機械に最適な配置が見つけられる。機械はどのような順序でも追加することができる。ただし、好適実施形態により、ロボットが最もよくアクセスする小型の機械が第1にワークセルに追加されると、良い結果が得られる。ワークセル内に配置される機械を連続的に選択するために、非常に効率的であることが証明された、M.L.Tay and B.K.A.Ngoi,「Optimising Robot Workcell Layout」,The International Journal of AdvancedManufacturing Technology,12(5),pp.377〜385、1996年で提案された既存の規則が使用された。
【0081】
配置される第1の機械を選択することは、後続の機械を選択することとは幾分か異なる。これは機械の需要、すなわちロボットが機械にアクセスしなければならない回数に基づいている。最高需要値を基準として使用する理由は、最も需要の高い機械が、他の機械と最も多く対話するからである。したがって、これが第1に配置され、対話の際に使用する他の機械がその周囲に配置されなければならない。同じ最高需要値を有する機械が複数存在する場合は、ベース領域が最も小さい機械が選択されることになる。
【0082】
後続の機械は、以下の基準に従って選択され、
【0083】
【数7】
Figure 0003604005
【0084】
上式で、
ijは、機械iがすでに配置された機械jと対話する回数(i≠j)、
maxjは、機械jに関連付けられた最大対話値、
は、機械iの規準化されたベース領域、
nは機械の合計数、
kはサイズに割り当てられた重み付け値で0.5に等しい。
【0085】
規準化されたベース領域Sは、以下のように定義され、
【0086】
【数8】
Figure 0003604005
【0087】
上式で、
minは、機械間で最小のベース領域、
は機械iの領域である。
【0088】
数式(5)および(6)は領域の小さな機械を好むため、大型機械はワークセルの周囲に配置される。
【0089】
機械の配置
これまで論じたように、ロボットが第1にワークセル内に配置される。次いで第1の周辺機械がワークセル内に配置される。この段階では、ワークスペース内に、第1の機械に関してロボットの動きに対する障害物となる他の機械がないため、最適化は実行されない。したがって、第1の機械は単に、ロボットと機械の幾何学的配置によって決定されるような、ロボットに容易にアクセスできるロケーションに配置されるだけである。本発明の好適実施形態に従い、第1の機械は、図11の項目60に示した「許容ベースロケーション領域」の中心に配置される。Dassault−Systemes,Suresnes,Franceによって販売されている「CATIA設計およびロボットプログラミング解法(CATIA Design and Robot Programming Solution)」システムの「衝突テスト」機能など、既存のCADシステムの標準機能を使用して、図11に示すように、許容ロボットベースロケーション領域が計算される。
【0090】
a)許容ベースロケーション領域
図11および12を参照すると、許容ベースロケーション領域を決定する方法が詳細に記載されている。許容ベースロケーション領域とは、その中にロボットベースが配置されると、ロボットのマニピュレータが所与の作業ポイントに届く、平面部分のことである。この領域を決定するには、ロボットの物理的な幾何学および運動学を考慮しなければならない。この方法は、ワークスペース内の6次元基準フレーム(six−dimensional reference frame)に届く所与のロボットマニピュレータを物理的に観察することに基づいている。現在の(リストに3つの直交交差軸を備えた6軸の)産業用ロボットでは、主アーム(位置を確定する最初の3つの軸、図12の項目41、42、および43)とリスト(向きを確定する後の3つの軸)とを別個のものとして考えることができる。
【0091】
図12を参照すると、ロボットのベース用基準フレームとしてR、ロボットのリスト中心用基準フレームとしてR、エフェクタ終端用基準フレームまたはツール基準としてR、ならびに届くことのできる溶接ポイントにリンクされた基準フレームとしてRを定義している。Rは、RとRが一致するときに、円柱座標系(r、θ、z)を使用して、Rに関して便利に参照することができる。
【0092】
この座標系では、3軸の主アームについて、以下の数式システムが得られ、
【0093】
【数9】
Figure 0003604005
【0094】
上式で、lはアームのセグメントiの長さ、qは結合部位iの値である。
【0095】
この数式システムを使用して、水平面内(zが定数)でのrの値を、q、q、またはq+qに応じて解析的に計算することができる。
【0096】
この方法は、第1に次の2つの段階で進行する。
【0097】
1.制限範囲内(すなわちq2min<q<q2max;q3min<q<q3max)で主アームのジョイント部を走査する(sweep)ことによる、ロボットベースのワークスペースの解析。この解析によって1組の円が導き出される。
【0098】
2.エルボー構成(すなわち0<q<π)および閉じた運動連鎖(すなわちqpmin<q+q<qpmax)に従った制限値の解析。この解析によっても、1組の円が導き出される。
【0099】
次いで、リストジョイント部制限の制限値を考慮に入れる必要がある。3つの共点軸を有し、その1つがスポット溶接ロボットで最も一般的に使用されるリストの場合、リストの動作範囲の制限は、ジョイントqの変位が実際に小さい(すなわちq5min<q<q5max)という事実に従う。図13の表記を使用すると、
【0100】
【数10】
Figure 0003604005
が軸4の方位ベクトルであり、
【0101】
【数11】
Figure 0003604005
が軸6の方位ベクトルであって、リストの制約は、以下の形式を取る。
【0102】
【数12】
Figure 0003604005
【0103】
α=q+q−3π/2であるとすれば(図13を参照)、リストがその限界にあるロボットベースロケーションを解析的に計算することができる。
【0104】
1組の作業ポイント内にある各ポイントについて解析を実行し、その共通部分が許容ベースロケーション領域の範囲を定めている、1組の平面領域または表面を導き出す。作業ポイントが1つしか存在しない場合は、平面が1つだけ生成される。これらのセクションは、1組の曲線または直線の投影によって境界が定められる平面の部分である、表面によって表される。例に示したように、図11は1作業ポイントおよび「エルボーアップ位置」について、これらセクション60のうちの1つを示す。ロボットのベースがこの表面内のどこかにあれば、ロボットはこの作業ポイントに届くことができる。作業ポイントの所与の組の場合、許容ベースロケーション領域は、すべての作業ポイント表面に共通の平面内の領域となる。
【0105】
b)模擬アニーリング
ロボットおよび第1の周辺機械がワークスペース内に配置されると、次いで、図2を参照しながら上記で述べたように、残りのすべての機械について最適または最適に近い配置を見つけるために、本実施形態の修正された模擬アニーリング技法が使用される。次に、模擬アニーリング方法を簡単に説明した後、模擬アニーリング方法の修正について説明する。
【0106】
模擬アニーリング方法の概念は、たとえば、S.Kirkpatrick.C.D.Gelatt,Jr.およびM.P.Vecchiによる「Optimization by Simulated Annealing」,Science,220(4598),pp.671〜680、1983年5月に記載されている。模擬アニーリングとは、多くの変数の関数を最小限にするような、最適化問題を解決するための方法を指す言葉である。典型的には、本明細書ではコストと呼ぶ、たとえばサイクル時間などの関数を最小限にする何らかのパラメータ構成を見つけることが含まれる。
【0107】
模擬アニーリングは、反復的な改善に基づいており、何らかの既存の2次最適構成または解を開始することおよびこれを小規模に摂動することが含まれる。新しい構成または解が古いものよりも良い場合は、新しい解が受け入れられ、プロセスが再度開始される。この単純な反復方法は、古い構成の改善である場合は新しい構成だけが受け入れられるといった、幾分粗野な方法である。したがって、図14を参照すると、初期の構成から開始される。これを摂動してよい解だけを受け入れ、すなわち下り坂だけを移動する。したがって、最終的にポイントAに到達すると、上り坂は移動できないので、それ以上どこにも動くことはできない。そこで、大域極小がポイントBにあっても、局部極小Aにはまりこんでしまう。
【0108】
模擬アニーリングは、次のような方法で発生する。第1に最小化の開始ポイントが選択され、現在ポイントとしてラベル表示される。次に、そのポイントの隣りに新しいポイントが選択される。新しいポイントが現在のポイントよりも低い関数値を有する場合は、単純な反復方法の場合と同様に、自動的に次のステップの「現在」ポイントとして適合される。そうでなければ、次いでランダムな数が引き出される。このランダム数が、新しいポイントが現在ポイントとして適合されるかどうかを決定する。これによって、模擬アニーリングに、局所極小から飛び出す能力が与えられる。
【0109】
模擬アニーリングの実施には、新しいポイントが受け入れられる確率、いわゆる温度降下関数、および温度降下数という、3つのパラメータを規定することが含まれる。これらは次のように記述される。
【0110】
1.新しいポイントが受け入れられる確率。
【0111】
新しいポイントjと現在のポイントiとの差異がゼロよりも小さい場合、受け入れの確率は1である。この差異がゼロよりも大きい場合、受け入れの確率は、
【0112】
【数13】
p(Δci,j、T)=exp(−Δci,j/T)
【0113】
となり、上式では、
【0114】
【数14】
Δci,j=c(j)−c(i)
【0115】
となる。
【0116】
Tは、コスト関数と同じユニットの、「温度」と呼ばれる単なる制御パラメータある。
【0117】
この値Tは、最初は比較的大きいので、多くのコスト上昇移動が受け入れられる。最適化プロセス中に温度は徐々に降下するので、よりコストの少ない移動が受け入れられていく。
【0118】
2.温度降下関数。
Kirkpatrick(S.Kirkpatrick,C.D.Gelatt Jr.およびM.P.Vecchiの「Optimization by Simulated Annealing」,Science,220(4598),pp.671〜680、1983年5月)は、0.95の温度降下率を提唱した。Sechen(C.Sechenの「VLSI Placement and Global Routing Using Simulated Annealing」,Kluwer Academic Publishers,Boston,1988年)は、高温または低温では、システムがわずかな状態変化しか要求しないことを指摘した。ただし中温では、状態変化は極めて重要である。したがって温度降下率を以下のように、最高および最低温度では0.8に設定し、中温では0.95に設定することができる。
【0119】
【数15】
=α(T)Tn−1 (0<α(T)<1)
ここでα(T)は温度降下率を示す。
【0120】
初期温度は、計算の始めに遭遇した最初の10のレイアウトを受け入れるように選択される。
【0121】
3.温度降下数。
この目標は、温度を初期値の5%まで降下させることである。したがって、温度降下数は、温度降下関数から直接導出することができる。
【0122】
模擬アニーリングは、一般に図15の流れ図を参照して示される。始めに、ステップ200で第1のポイントが選択され、ステップ201で現在の解として設定される。さらにステップ202で、模擬アニーリング方法の初期パラメータTおよびkが設定される。次いで、ステップ203で、現在のポイントの隣にあるポイントに関して、サイクル時間コスト解が計算され、その後ステップ204で、これと現在の解とが比較される。ステップ205で、新しい解が現在の解よりも低い場合(はい)、ステップ206で、現在の解の値が自動的に新しい解の値に置き換えられ、このプロセスが繰り返される。ただし、ステップ205で新しい解が現在の解よりも高い場合(いいえ)、0から1の間の数がランダムに選択され(ステップ207)、次いでステップ208に示すように、前述の確率関数によって決定された確率値と比較される。ランダム数の生成および前述の確率関数が、新しいポイントが現在のポイントとして適合されるかどうかを決定し、模擬アニーリングに局所極小から飛び出す能力を与える。ステップ208で確率関数が新しい値が受け入れられることを示す場合(はい)、次いで、実際のところ現在の解としては良い解ではないが、新しいポイントが現在のポイントとして設定される(ステップ206)。他方、ステップ208で新しいポイントが拒否された場合(いいえ)、その後次の反復セットで温度を降下させるべきであるかどうかを決定する(ステップ209)。これは、所定数の近隣解が評価されたかどうかによって決定される。ステップ209で降下させない場合(いいえ)、同じ温度値を使用してプロセスが繰り返される。ステップ209で十分な解数が評価された場合(はい)、その後ステップ210で、前述の温度降下関数に従ってTの値が降下される。ステップ211で、温度の最小値が達成されるまでこのプロセス全体が繰り返され、ここでプロセスは終了する。温度を変える前に評価される近隣解の数は、初期には経験に基づいて推測することによって設定され、その後は実験に基づいた知識によって設定される。
【0123】
c)修正された模擬アニーリング
本実施形態は、周辺機械の最適な配置を見つける確率を増加させること、およびCPU時間を削減することによって、模擬アニーリング方法を改善するように、この方法を変更および拡張することに関するものである。これらの変更は、いくつかの理由によって実行された。従来の模擬アニーリングを使用すると得られる、単一の独立した最適な解を取得することは、産業用CADシステムのコンテキストでは満足できるものではない。修正された模擬アニーリングを使用すると、機械の配置に関して複数の選択を実行することができる。
【0124】
さらに、模擬アニーリング方法には長い計算時間が必要である。大量の計算が必要な理由の1つは、模擬アニーリングが、局所極小の最下位にまで達しない限り、局所極小と通常の解とを区別できないことである。初期段階で、模擬アニーリングは温度が高いときに広域の探索スペースをサンプリングするが、局所極小の深いところまで達するのは、かなり後の、温度が下がったときだけである。すなわち、初期の時点で検索が大域極小の誘引領域(attraction domain)に入ったとしても、模擬アニーリング方法はローカル検索を実行せず、領域全体の検索を続行する。これはかなり望ましくない。従来の模擬アニーリング方法に何らかの「便宜主義」を構築することが有利であるので、検索の初期段階でローカル探査を行うことを約束している。本実施形態によれば、修正された模擬アニーリングアルゴリズムは、以下の2つの新しい機能を使用して、この目的を達成するように設計された。
【0125】
フリーズヒートサイクル
ローカル探査問題の解を見つけ出すためには、2つの要素が重要である。その第1は、ローカル検索の約束が、実際には傾斜降下の実行を意味することである。第2は、温度がゼロに近づいたときに、模擬アニーリングが傾斜降下と同等であることである。したがって、模擬アニーリングアルゴリズムに便宜主義を加えるためには、局所極小の最下位に達するのに必要な長さだけ、温度をほぼゼロまで下げれば十分である。その後、温度は初期の減衰スケジュールを再開することができる。この方法が「フリーズヒートサイクル」と呼ばれる。
【0126】
局所極小の記憶
できる限り速く最小の谷を探索し(フリーズ)、できる限り速くそこから抜け出して(ヒート)、二度とそこへは戻らないことが、理想的に有利である。同じ局所極小を再訪しないために、本実施形態に従って、これまでに見つけたすべての局所極小のリストと、その誘引領域の推定とが一緒に格納される。このため、そこからの傾斜降下がこの局所極小で終了すると思われる局所極小の誘引領域が、すべてのポイントのセットとして定義される。実際にはこのようなセットを解析的に記述することは不可能であり、誘引領域は、傾斜降下の初期ロケーションを通過する局所極小を中心とした円に対応することになる。これは図16にグラフィック表示されており、円90内部の領域が誘引領域である。直径d(93)は、局所極小91から解、すなわちロケーション92までの距離によって確立され、ここから降下アルゴリズムが適用されて局所極小91が発見された。図17に示したように、その後いつでも、誘引領域90の外部にある他のロケーション95からの傾斜降下が90内部の構成内で終わることを検索中に、誘引領域90のサイズがロケーション95を含むように更新され、その結果、円96によって境界が示された拡張済みの誘引領域が生じる。このような誘引領域は、実際の局所極小誘引領域のサイズを過大評価する場合がある。ただし、修正された方法は、良い結果を与えながら、模擬アニーリング方法の収束特性に影響を与えないように公式化される。傾斜降下は、実際には任意の既存誘引領域の外部にある構成からのみ開始されるが、構成が誘引領域内部にあると、模擬アニーリングはランダムステップの実行を続けて新しい極小を導き出すことができる。
【0127】
図18を参照すると、本実施形態の修正された模擬アニーリングアルゴリズムの方法が示されている。このように、ワークスペースから最初の周辺機械配置が選択され(ステップ600)、このロケーションが現在の解として設定され(ステップ601)、温度関数が初期設定される(ステップ602)。その後、現在の解が誘引領域内部にあるかどうかが判定される(ステップ603)。内部にある場合は、標準の模擬アニーリングが適用されて、領域内で大域最適を探す。図18に示すように、これにはステップ604からステップ615が含まれ、ステップ607、613、および615で呼び出された照会「T=0」への答えは、否定で応答される。この場合、温度降下関数に従って、温度が下げられる。
【0128】
ただし、現在の解が誘引領域内にない場合は、その後、Tの値がゼロに設定されることでフリーズヒートサイクルが適用され(ステップ619)、その結果降下アルゴリズムが生成されて、局所極小から飛び出す、すなわち「上り坂」を進んでいく可能性のない極小方向へと即時に働く。評価される解が誘引領域内にない場合、2つの結果のどちらかが発生する。降下アルゴリズム中に、解が既存の誘引領域内に降下していくと、その後既存の誘引領域は、降下アルゴリズムの起源である解を含むように更新され、この場合、図17に示したように、その誘引領域のサイズが増加される。これは、図18のステップ616に示されている。このステップでは、ステップ613の照会が肯定応答(T=0)であるので、ステップ606で判定された初期解よりも良い解が、ステップ616に到達する。ステップ616では、新しい解が既存の誘引領域内にあるかどうかが判定され、その後、降下の起源である解を含むように誘引領域が更新されて(ステップ617)、その結果誘引領域が拡張される。
【0129】
他方で、降下アルゴリズム中に、解が既存の誘引領域内に入らずに極小まで降下した場合は、その後局所極小が新しい誘引領域の中心で見つかったかどうかが判定される。この場合は、対応する誘引領域が作成および格納される(図18のステップ621および622)。
【0130】
コスト関数
前述の模擬アニーリング方法への修正を介して、莫大なCPU時間を必要としない、最適および最適に近い解を見つけ出す方法が得られる。
【0131】
修正された模擬アニーリングを使用して、選択された機械に可能な配置セットを見つける。計算された位置は、仮定を記述したセクションで言及された制約のみで制限される検索スペース内において、コスト関数の局所極小である。
【0132】
コスト関数は、以下に定義した数式(9)から計算され、
【0133】
【数16】
Figure 0003604005
【0134】
上式で、
ijは、ロボットが機械iから機械jまで移動するのに必要な時間、
ijは、機械iがすでに配置された機械jと対話する回数(i≠j)、
nはすでに配置された機械数である。
【0135】
値tijは、CAD/CAM/CAEシステムで使用可能な標準機能を使用して得られることに留意されたい。
【0136】
選択された機械の所与の配置についてFを評価する前に、アクセスポイントのアクセス可能性および重なりがないことが確認される。配置された機械の間でロボットが移動することの実行可能性も保証されており、ロボットの移動が不可能な場合は、移動時間を計算するのに使用される標準機能がエラーメッセージを戻す。
【0137】
修正された模擬方法が初期解として使用する初期の機械の位置および向きは、前述のワークセルフロア表示を使用して決定される。配置する機械の境界の1つがすでに配置された機械と一致するように、十分な数の空きマトリックスセルが選択される。このようなロケーションが良好な関数値を保証しない場合であっても、初めは、機械間のスペースを最小にする特権が与えられている。
【0138】
部分レイアウト選択規則
前述のように、本実施形態の方法の「構成アルゴリズム」部分では、各ステップで機械が選択され、修正された模擬アニーリング方法を使用して、選択された機械のいくつかの可能な配置が決定される。したがって、すでに配置されたn個の機械を含む部分的に構成されたレイアウトは、n+1個の機械を含むm個のレイアウトセットを導き出し、mは配置する機械に可能なロケーション数に対応する。
【0139】
発見されたすべての機械配置のレイアウトを構成するには、爆発的に多くの計算が必要となる。したがって、部分レイアウトの選択規則が必要である。この規則は、標準的な構成方法に比べて、追加的な機能である。
【0140】
使用される方式は、構成ステップの後で生成されたすべての部分レイアウトの中で、最良のkを維持する。最も有効なkの値は、経験に基づいて、5であることが証明されている。この値が、最高の「サイクル時間/CPU時間」の比を導き出す。
【0141】
したがって実行の最後には、5つの最適なワークセルレイアウトがユーザに提供される。このような結果は、いくつかの理由で有用である。たとえば、ワークセルの幾何学的モデリングは、実際の世界では十分な精度を示さない。修正された模擬アニーリング方法から得られた配置が、性能の低下を導き出すような位置で囲まれており、この機械配置が最終的な最適レイアウトの1つにあると思われる場合、この結果を実際の現場に転送することはできない。
【0142】

ここで、本実施形態の方法を適用する例を、1台のロボットおよび10台の機械を使用するワークセルに関して記述する。最適化前の3次元表示を図19に示す。
【0143】
この例の作業シーケンスは、以下のとおりである。
【0144】
1.ロボットは、機械6からドライブシャフトを連続して6回把持し、これらを円形の割出し台(機械1)上にある6つのアセンブリ取付け具に配置する。
【0145】
2.機械7からベアリングとスラスト座金の組み合わせを取得し、これを機械1の取付け具に連続して6回取り付ける。
【0146】
3.その後ロボットはグリース計量ユニットである機械2を把持し、機械1にある6つの取付け具すべてのハウジング内歯にグリースを塗布する。
【0147】
4.機械8で段付きシャフトが6回把持され、機械1のハウジングに取り付けられる。
【0148】
5.機械4で3つの円筒ピンが次々と把持され、機械1の段付きシャフト内に取り付けられる。この手順が次々と6回繰り返される。
【0149】
6.機械3から3つのギアホイールが連続して6回把持され、ピン上に配置される。
【0150】
7.機械9でファンホイールが6回把持され、機械1のドライブシャフトに取り付けられる。
【0151】
8.機械5から取得したスプリングナットが、機械1の各ドライブシャフトに取り付けられる。
【0152】
9.最後に、組み立てられたユニットが割出し台から取り外され、1つずつコンベヤベルト(機械10)上に配置される。
【0153】
図20および21はそれぞれ、上記の作業シーケンスから生成されたサイズ表およびランク表である。
【0154】
前の表から、プログラムの各ステップで値C(数式(5)を参照)が計算された。機械が配置された順序は、次のとおりである。
【0155】
機械1−機械7−機械4−機械5−機械9−機械6−機械8−機械3−機械10−機械2
【0156】
結果の比較
本実施形態の修正された模擬アニーリング方法は、確率論的な方法である。したがって、この方法の結果は、実行するごとに異なる場合がある。このセクションで示しレイアウトは、結果を例示するために、どちらも単一の応用例から得られたものである。図22は最適なレイアウトを示し、図23は最適に近い、他の計算された5つの解を示す。どちらのレイアウトも機械の間にスペースがあることに留意されたい。
【0157】
前の方法と比較するために、M.L.Tay and B.K.A.Ngoi,「Optimising Robot Workcell Layout」,The International Journal of Advanced Manufacturing Technology,12(5),pp.377〜385、1996年によって提案された方法が、Dassault−Systemes,Suresnes,Franceによって販売されている市販のCADプログラムである「IGRIP」で修正および実施されているので、比較が可能であった。使用されたロボットは、デカルト座標ロボットではなく、Renault Automation,rue Jules Guesdes,91130 Ris−Orangis,Franceが構築したACMA X58である。「T&Nレイアウト」と名付けられた取得レイアウトが、図24に示されている。
【0158】
表1は、図22、23、および24に示されたレイアウトのサイクル時間を示す表である。表2は、両方の方法がワークセルレイアウトを最適化するために必要な計算時間を示す表である。
【0159】
【表1】
Figure 0003604005
【0160】
【表2】
Figure 0003604005
【0161】
したがって、最適なレイアウトは、従来技術のT&Nレイアウトに比べて、サイクル時間を24.65秒減らし、10.2%の改善となっている。さらに、最適に近いレイアウトは、この研究の追加の制約を考慮しなければ、非常に良い解であると言える。
【0162】
本実施形態の方法に対応する計算時間は、T&N方法の計算時間よりも長い。にもかかわらず、(1)本方法は、産業用CAD/CAM/CAEシステムのコンテキストに適合しており、(2)いくつかのレイアウトが得られ、(3)T&N方法とは異なり、問題に関連付けられた調査スペース、すなわちすべての可能なレイアウトを含む調査スペースが広範囲に渡って検索される。
【0163】
統計結果
以前に述べたように、この方法は確率論的である。したがって、その性能を研究するには統計結果が重要である。このプログラムは連続して50回実行された。表3は、サイクル時間の平均および標準偏差を示した表である。「最適なレイアウト」とは、実際には「取得された5つの中で最高のレイアウト」を意味し、「最悪な最適に近いレイアウト」とは、「取得された5つの中で最悪のレイアウト」を意味する。表4は計算時間に対応する。
【0164】
【表3】
Figure 0003604005
【0165】
【表4】
Figure 0003604005
【0166】
したがって、前のセクションで得られた結果が確認される。本実施形態の方法が、T&N方法に比べて平均11.2%の改善を導き出していること、およびこれまでに得られた最高のレイアウトはサイクル時間209.65秒という結果を出したことに留意されたい。
【0167】
前述の方法は、CAD/CAMシステムによって定義されることが可能な任意のワークプレース構成に適用できることに留意されたい。本実施形態は、デジタル電子回路、すなわちコンピュータのハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせで実施することができる。本実施形態の装置は、プログラム可能プロセッサが実行するために、機械読取り可能記憶デバイス内で具体的に実施されるコンピュータプログラム製品で実施することが可能であり、本実施形態の方法のステップは、入力データで作業して出力を生成することによって本実施形態の機能を実行するために、命令プログラムを実行するプログラム可能プロセッサによって実行することができる。
【0168】
本実施形態は、データ格納システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスから、データおよび命令を受信し、これらにデータおよび命令を送信するために結合された、少なくとも1つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能な、1つまたは複数のコンピュータプログラム内で実施できるので有利である。アプリケーションプログラムは、高水準の手続き型プログラミング言語またはオブジェクト指向プログラミング言語で実施するか、または所望であればアセンブリ言語または機械言語で実施してもよく、いずれの場合も、この言語はコンパイルまたは翻訳処理された言語であってよい。
【0169】
一般にプロセッサは、読取り専用メモリおよび/またはランダムアクセスメモリから、命令およびデータを受け取る。コンピュータプログラム命令およびデータを具体的に実施するのに好適な格納デバイスは、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよび取外し可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにCD−ROMディスクなどを含む、すべての形式の不揮発性メモリを含む。前述のいずれも、特別設計のASIC(特定用途向け集積回路)を補足するか、またはこれに組み込むことができる。
【0170】
以上、本発明のいくつかの実施形態について述べてきた。本発明の精神および範囲を逸脱することなく、様々な修正が実行できることが理解されよう。ただし、その他の実施は、添付の特許請求の範囲内であるものとする。
【図面の簡単な説明】
【図1】本発明実施形態の使用可能なコンピュータシステムを示す構成図である。
【図2】本発明実施形態のシステムを表す概略図である。
【図3】本発明実施形態の機械間の対話を定義するためのグラフィックツールの一例を示す図である。
【図4】本発明実施形態の機械の対話シーケンスを搬送するグラフィック表示の一例を示す図である。
【図5】本発明実施形態の特定の機械にロボットがアクセスする回数、ならびに所与の作業シーケンスに関する機械間の対話回数を、編成および格納するためのランク表の一例を示す図である。
【図6】本発明実施形態のワークセル内に配置される機械の形状を簡略化するための、機械の境界矩形とその対応する構成矩形との間の関係を示す図である。
【図7】本発明実施形態のワークセル内での機械間の重なり距離および理想距離を示す図である。
【図8】本発明実施形態のオブジェクトがワークセル内に配置される前の、ワークセルフロアスペースの2次元表現を示す図である。
【図9】本発明実施形態の1つのオブジェクトがその上に配置されたワークセルフロアスペースの2次元表示を示す図である。
【図10】本発明実施形態の3つのオブジェクトがその上に配置されたワークセルフロアスペースの2次元表示を示す図である。
【図11】本発明実施形態の水平面内の許容可能ベースロケーション領域内にそのベースが位置付けされたロボットをグラフィック表示した図である。
【図12】移動軸を示す座標系内に配置されたロボットをグラフィック表示した図である。
【図13】許容可能なベースロケーション領域を決定するための解析フレームワークを提供する、ロボットのリストジョイント座標系をグラフィック表示した図である。
【図14】局部極小が存在するときに、単一の反復方法を使用して大域極小を決定する問題を示す図である。
【図15】模擬アニーリング方法を示す概略図である。
【図16】本発明実施形態の「誘引領域」をグラフィック表示した図である。
【図17】本発明実施形態の初期データポイントから誘引領域への傾斜降下によって生じる、誘引領域の拡大をグラフィック表示した図である。
【図18】本発明実施形態の修正された模擬アニーリング方法を示す概略図である。
【図19】本発明実施形態の最適化を実行する前の、例のワークセルレイアウトをグラフィック表示した図である。
【図20】本発明実施形態のワークセルの例について、生成されるマシンのサイズ表を示す図である。
【図21】本発明実施形態の例について、生成されるランク表を示す図である。
【図22】本発明実施形態の例について、生成される最適なワークセルレイアウトをグラフィック表示した図である。
【図23】本発明実施形態の例について、生成される他のワークセルレイアウトをグラフィック表示した図である。
【図24】本発明実施形態の例について、従来技術の方法によって生成されるワークセルレイアウトをグラフィック表示した図である。
【符号の説明】
60 許容ベースロケーション領域
61 主アーム
62 主アーム
63 主アーム
90 前の誘引領域
91 局所極小
92 ロケーション
95 降下アルゴリズムの適用元である解
96 更新された誘引領域
100 コンピュータ
101 CPU
102 CPUバス
103 システム制御装置
104 DRAM制御装置
105 RAM
106 キャッシュSRAM
110 周辺バス
111 ブリッジ制御装置
112 ビデオ制御装置
114 ネットワークアダプタ
115 ビデオディスプレイ
120 ISAバス
121 キーボード制御装置、RTC、シリアルおよびパラレルポート
122 ROM
123 BIOS
124 オーディオ

Claims (13)

  1. 所与の作業シーケンスを完了するためのサイクル時間を最小限にするように、ワークセル内で1つのロボットおよび周辺機械セットの配置を最適化するためのコンピュータシステムの動作方法であって、前記コンピュータシステムは、入力デバイスと、CPUと、データを格納するためのメモリデバイスとを備え、前記方法は、
    a)前記CPUによって、ワークセルを表すデータセットを定義し該データセットを前記メモリデバイスに格納するステップと、
    b)前記CPUによって、ロボットと、前記周辺機械セットからの第1の周辺機械とを、前記ワークセル内に配置した情報を計算し、前記情報を現在のレイアウトセットとして指定し当該指定された情報を前記メモリデバイスに格納するステップと、
    c)前記CPUによって、前記ワークセル内に配置するために、前記周辺機械セットから他の周辺機械を選択し、当該選択した他の周辺機械の情報を前記メモリデバイスに格納するステップと、
    d)前記CPUによって、前記現在のレイアウトセット内の各レイアウトについて、最小サイクル時間のために選択される最適化方法を使用して、ステップc)で選択された周辺機械を前記ワークセル内に配置するのに可能なロケーションセットを計算するステップであって、最小サイクル時間のために選択される前記最適化方法は、修正された従来の模擬アニーリング方法を備え、前記修正は、
    i)前記CPUによって、模擬アニーリングプロセス中に遭遇する局所極小を計算し、前記局所極小を前記メモリデバイスに格納するステップと、
    ii)前記CPUによって、局所極小データポイントを取り囲む領域を含む、前記局所極小のそれぞれに対応する誘引( attraction )領域を計算し、前記誘引領域を前記メモリデバイスに格納するステップと、
    iii)前記CPUによって、計算において誘引領域内にないデータポイントに遭遇したときに、模擬アニーリング方法の温度関数を値ゼロに設定することによって、傾斜降下の計算を実行するステップと、
    iv)前記CPUによって、傾斜降下が誘引領域内にあるデータポイントを生成するときに、誘引領域が傾斜降下の開始されるデータポイントを含むように、誘引領域を再定義し該誘引領域を前記メモリデバイスに格納するステップと
    を含むステップと、
    e)前記CPUによって、ステップd)で計算された可能なロケーションセットから、計算された最小のサイクル時間に対応するロケーションを表すロケーションサブセットを選択する計算をし、各選択されたロケーションがワークセル内のオブジェクトレイアウトに対応したものであり、前記CPUによって、前記ロケーションサブセットを現在のレイアウトセットとして指定し当該指定されたサブセットを前記メモリデバイスに格納するステップと、
    f)前記CPUによって、前記周辺機械セット内の前記周辺機械すべてが、前記ワークセル内に配置された情報が得られるまで、ステップc)からe)を反復するステップと
    を備えることを特徴とするコンピュータシステムの動作方法。
  2. 請求項1に記載のコンピュータシステムの動作方法において、
    前記CPUによって、ワークセル内に配置するための順序で、前記周辺機械セット内に周辺機械を配置する情報を計算するステップ
    をさらに備えることを特徴とするコンピュータシステムの動作方法。
  3. 請求項2に記載のコンピュータシステムの動作方法において、
    前記CPUは、前記周辺機械ロボットが最もよくアクセスする機械を優先する順序で配置されるように、計算を行う
    ことを特徴とするコンピュータシステムの動作方法。
  4. 請求項2に記載のコンピュータシステムの動作方法において、
    前記CPUは、前記周辺機械大型の機械に対して小型の機械を優先する順序で配置されるように、計算を行う
    ことを特徴とするコンピュータシステムの動作方法。
  5. 請求項2に記載のコンピュータシステムの動作方法において、
    前記CPUは、前記周辺機械、第1の基準としてロボットが最もよくアクセスする機械を優先する順序で、および第2の基準として大型の機械に対して小型の機械を優先する順序で配置されるように、計算を行う
    ことを特徴とするコンピュータシステムの動作方法。
  6. 入力デバイスと、
    CPUと、
    データを格納するためのメモリデバイスとを備え、
    前記CPUは、前記メモリデバイスからアプリケーションプログラムを読み出して実行し、前記アプリケーションプログラムは、所与の作業シーケンスを完了するサイクル時間を最小化するように、ワークセル内でのロボットおよび周辺機械セットの配置を最適化するためのコードを含、前記コードが前記CPUに実行させる方法は、
    a)前記CPUによって、ワークセルを表すデータセットを定義し該データセットを前記メモリデバイスに格納するステップと、
    b)前記CPUによって、ロボットと、前記周辺機械セットからの第1の周辺機械とを、前記ワークセル内に配置した情報を計算し、前記情報を現在のレイアウトセットとして指定し当該指定された情報を前記メモリデバイスに格納するステップと、
    c)前記CPUによって、前記ワークセル内に配置するために、前記周辺機械セットから他の周辺機械を選択し、当該選択した他の周辺機械の情報を前記メモリデバイスに格納するステップと、
    d)前記CPUによって、前記現在のレイアウトセット内の各レイアウトについて、最小サイクル時間のために選択される最適化方法を使用して、ステップc)で選択された周辺機械を前記ワークセル内に配置するために可能なロケーションセットを計算するステップであって、最小サイクル時間のために選択される前記最適化方法は、修正された模擬アニーリング方法を備え、前記修正は、
    i)前記CPUによって、模擬アニーリングプロセス中に遭遇する局所極小を計算し、前記局所極小を前記メモリデバイスに格納するステップと、
    ii)前記CPUによって、局所極小データポイントを取り囲む領域を含む、前記局所極小のそれぞれに対応する誘引領域を計算し、前記誘引領域を前記メモリデバイスに格納するステップと、
    iii)前記CPUによって、計算において誘引領域内にないデータポイントに遭遇したときに、模擬アニーリング方法の温度関数を値ゼロに設定することによって、傾斜降下の計算を実行するステップと、
    iv)前記CPUによって、傾斜降下が誘引領域内にあるデータポイントを生成するときに、誘引領域が傾斜降下の開始されるデータポイントを含むように、誘引領域を再定義し該誘引領域を前記メモリデバイスに格納するステップと
    を含むステップと、
    e)前記CPUによって、ステップd)で計算された可能なロケーションセットから、計算された最小のサイクル時間に対応するロケーションを表すロケーションサブセットを選択する計算をし、各選択されたロケーションがワークセル内のオブジェクトレイアウトに対応したものであり、前記CPUによって、前記ロケーションサブセットを現在のレイアウトセットとして指定し当該指定されたサブセットを前記メモリデバイスに格納するステップと、
    f)前記CPUによって、前記周辺機械セット内の前記周辺機械すべてが前記ワークセル内に配置された情報が得られるまで、ステップc)からe)を反復するステップとを含む
    ことを特徴とするCAD/CAMコンピュータシステム
  7. 請求項に記載のCAD/CAMコンピュータシステムにおいて、
    前記方法は、前記CPUによって、ワークセル内に配置するための順序で前記周辺機械セット内に周辺機械を配置する情報を計算するステップをさらに含む
    ことを特徴とするCAD/CAMコンピュータシステム
  8. 請求項に記載のCAD/CAMコンピュータシステムにおいて、
    前記CPUは、前記周辺機械ロボットが最もよくアクセスする機械を優先する順序で配置されるように、計算を行う
    ことを特徴とするCAD/CAMコンピュータシステム
  9. 請求項に記載のCAD/CAMコンピュータシステムにおいて、
    前記CPUは、前記周辺機械大型の機械に対して小型の機械を優先する順序で配置されるように、計算を行う
    ことを特徴とするCAD/CAMコンピュータシステム
  10. コンピュータ実行可能コードを格納したコンピュータ読取り可能な記録媒体であって前記コードは所与の作業シーケンスを完了させるサイクル時間を最小にするために、入力デバイスと、CPUと、データを格納するためのメモリデバイスとを備えたコンピュータにワークセル内でのロボットおよび周辺機械セットの配置を最適化させるための手段を備え、前記コードは、
    a)前記CPUによって、ワークセルを表すデータセットを定義し該データセットを前記メモリデバイスに格納するステップと、
    b)前記CPUによって、ロボットと、前記周辺機械セットからの第1の周辺機械とを、前記ワークセル内に配置した情報を計算し、前記情報を現在のレイアウトセットとして指定し当該指定された情報を前記メモリデバイスに格納するステップと、
    c)前記CPUによって、前記ワークセル内に配置するために、前記周辺機械セットから他の周辺機械を選択し、当該選択した他の周辺機械の情報を前記メモリデバイスに格納するステップと、
    d)前記CPUによって、前記現在のレイアウトセット内の各レイアウトについて、最小サイクル時間のために選択される最適化方法を使用して、ステップc)で選択された周辺機械を前記ワークセル内に配置するために可能なロケーションセットを計算するステップであって、最小サイクル時間のために選択される前記最適化方法は、修正された模擬アニーリング方法を備え、前記修正は、
    i)前記CPUによって、模擬アニーリングプロセス中に遭遇する局所極小を計算し、前記局所極小を前記メモリデバイスに格納するステップと、
    ii)前記CPUによって、局所極小データポイントを取り囲む領域を含む、前記局所極小のそれぞれに対応する誘引領域を計算し、前記誘引領域を前記メモリデバイスに格納するステップと、
    iii)前記CPUによって、計算において誘引領域内にないデータポイントに遭遇したときに、模擬アニーリング方法の温度関数を値ゼロに設定することによって、傾斜降下の計算を実行するステップと、
    iv)前記CPUによって、傾斜降下が誘引領域内にあるデータポイントを生成するときに、誘引領域が傾斜降下の開始されるデータポイントを含むように、誘引領域を再定義し該誘引領域を前記メモリデバイスに格納するステップと
    を含むステップと、
    e)前記CPUによって、ステップd)で計算された可能なロケーションセットから、計算された最小のサイクル時間に対応するロケーションを表すロケーションサブセットを選択する計算をし、各選択されたロケーションはワークセル内のオブジェクトレイアウトに対応しており、前記CPUによって、前記ロケーションサブセットを現在のレイアウトセットとして指定し当該指定されたサブセットを前記メモリデバイスに格納するステップと、
    f)前記CPUによって、前記周辺機械セット内の前記周辺機械すべてが前記ワークセル内に配置された情報が得られるまで、ステップc)からe)を反復するステップと
    を含む方法を、コンピュータに実行させるための手段をさらに備えた
    ことを特徴とするコンピュータ読取り可能な記録媒体
  11. 請求項10に記載のコンピュータ読取り可能な記録媒体において、
    前記コードは、前記CPUによって、ワークセル内に配置するための順序で前記周辺機械セット内に周辺機械を配置する情報を計算するステップを、コンピュータに実行させるための手段をさらに備えた
    ことを特徴とするコンピュータ読取り可能な記録媒体
  12. 請求項11に記載のコンピュータ読取り可能な記録媒体において、
    前記コードは、前記CPUによって、ロボットが最もよくアクセスする機械を優先する順序で前記周辺機械を配置する計算を行うステップを、コンピュータに実行させるための手段をさらに備えた
    ことを特徴とするコンピュータ読取り可能な記録媒体
  13. 請求項11に記載のコンピュータ読取り可能な記録媒体において、
    前記コードは、前記CPUによって、大型の機械に対して小型の機械を優先する順序で前記周辺機械を配置するように、計算を行うステップを、コンピュータに実行させるための手段をさらに備えた
    ことを特徴とするコンピュータ読取り可能な記録媒体
JP2000358545A 1999-11-24 2000-11-24 アセンブリワークセルをレイアウトするための最適化ツール Expired - Lifetime JP3604005B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/448,776 US6470301B1 (en) 1999-10-08 1999-11-24 Optimization tool for assembly workcell layout
US09/448776 1999-11-24

Publications (2)

Publication Number Publication Date
JP2001249961A JP2001249961A (ja) 2001-09-14
JP3604005B2 true JP3604005B2 (ja) 2004-12-22

Family

ID=23781637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000358545A Expired - Lifetime JP3604005B2 (ja) 1999-11-24 2000-11-24 アセンブリワークセルをレイアウトするための最適化ツール

Country Status (4)

Country Link
US (1) US6470301B1 (ja)
EP (1) EP1107082A3 (ja)
JP (1) JP3604005B2 (ja)
CA (1) CA2325005A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847922B1 (en) * 2000-01-06 2005-01-25 General Motors Corporation Method for computer-aided layout of manufacturing cells
US20020069045A1 (en) * 2000-09-29 2002-06-06 Walacavage J. G. Method of logical modeling of operator interaction with programmable logic controller logical verification system
WO2002035909A2 (en) * 2000-11-03 2002-05-10 Siemens Corporate Research, Inc. Video-supported planning and design with physical marker objects sign
US20020188489A1 (en) * 2001-05-22 2002-12-12 International Business Machines Corporation System and method for optimizing office worker productivity
US20020193972A1 (en) * 2001-06-14 2002-12-19 Ntn Corporation Workshop facility design and operation support system enabling verification of the entire workshop to be performed easily
JP3785349B2 (ja) * 2001-11-09 2006-06-14 ファナック株式会社 シミュレーション装置
GB0127941D0 (en) * 2001-11-21 2002-01-16 Prophet Control Systems Ltd 3D virtual manufacturing process
US7089160B2 (en) * 2002-01-08 2006-08-08 International Business Machines Corporation Model for modifying drill data to predict hole locations in a panel structure
US7092854B2 (en) * 2002-10-15 2006-08-15 Ford Motor Company Computer-implemented method and system for designing a workcell layout
US7577576B2 (en) * 2003-10-31 2009-08-18 Walter Baechtiger Network branch placement tool
US20050096972A1 (en) * 2003-10-31 2005-05-05 Walter Baechtiger Network branch placement tool
US20060250401A1 (en) * 2005-05-06 2006-11-09 Patrick Pannese Systems and methods for generating 3D simulations
SE0303145D0 (sv) * 2003-11-23 2003-11-23 Abb Research Ltd Method for optimising the performance of a robot
US20050216109A1 (en) * 2004-03-29 2005-09-29 Radigan Thomas J Integrated precision machine design system and method
ATE392656T1 (de) * 2004-06-15 2008-05-15 Abb Ab Verfahren und system zur off-line-programmierung von mehreren interagierenden robotern
US9390203B2 (en) 2004-06-15 2016-07-12 Abb Ab Method and system for off-line programming of multiple interacting robots
US7346478B2 (en) * 2004-09-21 2008-03-18 Ford Motor Company Method of embedding tooling control data within mechanical fixture design to enable programmable logic control verification simulation
US7308327B2 (en) * 2006-05-12 2007-12-11 Ford Motor Company Method of application protocol monitoring for programmable logic controllers
EP2114631B1 (en) * 2007-01-09 2021-03-03 ABB Inc. Method and system for robotic assembly parameter optimization
WO2009038832A2 (en) * 2007-06-04 2009-03-26 Eaton Corporation System and method to determine electric motor efficiency nonintrusively
EP2188680A1 (de) * 2007-08-28 2010-05-26 Siemens Aktiengesellschaft System und verfahren zur erzeugung eines verhaltensmodells zur simulation eines automatisierungssystems
US8244591B2 (en) * 2007-12-28 2012-08-14 International Business Machines Corporation Accounting for spatial and environmental factors in equipment order configurations
US8571706B2 (en) 2008-02-20 2013-10-29 Abb Research Ltd. Method and system for optimizing the layout of a robot work cell
DE102010018634B4 (de) * 2010-04-23 2014-07-31 Siemens Aktiengesellschaft Verfahren zur Eingabe eines räumlichen Aufbaus von Fertigungseinrichtungen in ein rechnergestütztes Planungsprogramm und dessen Optimierung
JP2013022705A (ja) 2011-07-25 2013-02-04 Sony Corp ロボット装置及びロボット装置の制御方法、コンピューター・プログラム、並びにロボット・システム
DE102012208094A1 (de) * 2012-05-15 2013-11-21 Kuka Laboratories Gmbh Verfahren zum Ermitteln möglicher Positionen eines Roboterarms
DE102012112775A1 (de) * 2012-12-20 2014-07-10 Bayer Technology Services Gmbh Computerimplementiertes Verfahren zum Herstellen eines Produktionsanlagenmodells
CN104217365A (zh) * 2013-06-03 2014-12-17 富泰华工业(深圳)有限公司 生产排配系统及方法
EP2845696B1 (de) * 2013-09-10 2017-05-17 Siemens Aktiengesellschaft Bearbeitungsmaschine mit redundanten Achsen und Auflösung der Redundanz in Echtzeit
CN105980940B (zh) 2014-01-28 2019-01-01 Abb瑞士股份有限公司 用于优化机器人单元的性能的方法和装置
TWI651539B (zh) * 2014-03-10 2019-02-21 美商瓊斯科技國際公司 晶圓級積體電路探針陣列及建構方法
EP3165973B1 (en) * 2015-11-03 2018-01-03 Siemens Aktiengesellschaft A method for computer-aided control of an automation system
JP7009051B2 (ja) * 2016-08-04 2022-01-25 キヤノン株式会社 レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置
CN106844986B (zh) * 2017-01-24 2020-06-05 中国船舶重工集团公司第七○一研究所 一种基于改良遗传算法的甲板布局计算方法
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
ES2928250T3 (es) * 2018-03-21 2022-11-16 Realtime Robotics Inc Planificación del movimiento de un robot para diversos entornos y tareas y mejora del funcionamiento del mismo
JP6816068B2 (ja) * 2018-07-06 2021-01-20 ファナック株式会社 ロボットプログラム生成装置
JP7178900B2 (ja) * 2018-12-28 2022-11-28 川崎重工業株式会社 ロボットの作業計画作成方法および作業計画作成装置
US12017364B2 (en) 2019-04-17 2024-06-25 Realtime Robotics, Inc. Motion planning graph generation user interface, systems, methods and articles
DE102019134664B4 (de) * 2019-12-17 2021-07-29 Franka Emika Gmbh Konfigurieren eines Robotermanipulators beim Aufstellen
US20220089237A1 (en) * 2020-06-16 2022-03-24 Arrival Ltd. Robotic production environment for vehicles
JP7435434B2 (ja) 2020-12-22 2024-02-21 株式会社デンソー レイアウト生成装置、レイアウト生成方法およびレイアウト生成プログラム
JP2022134604A (ja) * 2021-03-03 2022-09-15 オムロン株式会社 ロボットセルシステム設計装置、方法、及びプログラム
US20230182302A1 (en) * 2021-12-10 2023-06-15 Autodesk, Inc. Techniques for robotic workcell design

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748847A (en) * 1995-12-21 1998-05-05 Maryland Technology Corporation Nonadaptively trained adaptive neural systems
US6083693A (en) * 1996-06-14 2000-07-04 Curagen Corporation Identification and comparison of protein-protein interactions that occur in populations
US6031935A (en) * 1998-02-12 2000-02-29 Kimmel; Zebadiah M. Method and apparatus for segmenting images using constant-time deformable contours

Also Published As

Publication number Publication date
EP1107082A3 (en) 2001-11-28
JP2001249961A (ja) 2001-09-14
US6470301B1 (en) 2002-10-22
CA2325005A1 (en) 2001-05-24
EP1107082A2 (en) 2001-06-13

Similar Documents

Publication Publication Date Title
JP3604005B2 (ja) アセンブリワークセルをレイアウトするための最適化ツール
EP3794314B1 (en) Robot coordination in a shared workspace
JP3566920B2 (ja) コンピュータシステム操作方法、コンピュータシステム、cad/cam装置およびデータのセットを探索する方法
US8401698B2 (en) Method for optimising the performance of a robot
US8914152B2 (en) Method for collision-free path planning of an industrial robot
Baizid et al. IRoSim: Industrial Robotics Simulation Design Planning and Optimization platform based on CAD and knowledgeware technologies
Erdős et al. Process planning and offline programming for robotic remote laser welding systems
CN109760040B (zh) 干扰判定方法、干扰判定系统以及存储介质
US20240123618A1 (en) Point set interference check method and system
Sadiq et al. Optimal trajectory planning of 2-DOF robot arm using the integration of PSO based on D* algorithm and cubic polynomial equation
Wong et al. A novel clustering-based algorithm for solving spatially constrained robotic task sequencing problems
Barral et al. Simulated annealing combined with a constructive algorithm for optimising assembly workcell layout
Gueta et al. Coordinated motion control of a robot arm and a positioning table with arrangement of multiple goals
US11813756B2 (en) Disassembly based assembly planning
JP2003280710A (ja) ロボットハンドの作業軌道の生成と制御方法
WO2022173468A1 (en) Extensible underconstrained robotic motion planning
Saputra et al. A swarm optimization approach for solving workspace determination of parallel manipulators
Ananthanarayanan et al. A fast converging optimal technique applied to path planning of hyper-redundant manipulators
JP7450297B2 (ja) センサーの配置を含むロボット操作環境の構成
Pashkevich et al. Multiobjective optimisation of robot location in a workcell using genetic algorithms
Baizid et al. Industrial robotics platform for simulation design, planning and optimization based on off-line CAD programming
Gueta et al. Compact design of a redundant manipulator system and application to multiple-goal tasks with temporal constraint
JPH06238581A (ja) 対象物のモデル化方法、対象物間の干渉判別方法およびこれらの装置
JP7218407B2 (ja) ソフトロボットマニピュレータのためのジェネレーティブデザイン技術
McCrea et al. Application of GA in optimal robot selection for bridge restoration

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040326

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040827

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040922

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040922

R150 Certificate of patent or registration of utility model

Ref document number: 3604005

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121008

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term