(57)【特許請求の範囲】
【請求項１】
所与の作業を完了するためのサイクルタイムを最小限にするように作業場所環境中のロボットの配置を最適化するためにＣＡＤシステムで使用するコンピュータシステム操作方法であって、
ロボットのエンドエフェクタが所与の作業を完了するための一組のワークポイントを規定し、
前記ロボットのベースを配置するための許容ベース位置領域を計算するステップであって、前記許容ベース位置はエンドエフェクタがすべてのワークポイントに届くように前記ロボットベースが配置されるエリアを規定し、
前記許容ベース位置領域内で、前記ロボットと作業場所環境中の物体との間で衝突が生じることになるロボットベース配置の範囲を規定する障害物シャドウを計算し、
前記障害物シャドウを前記許容ベース位置領域から差し引くことによって、前記ロボットベースを配置するためのフリー許容ベース位置領域を計算すること
を備えたことを特徴とする方法。
【請求項２】
前記許容ベース位置領域の前記計算は、
ａ）前記ロボットの前記エンドエフェクタがワークポイントに固定された場合のシミュレーションを行い、
ｂ）前記エンドエフェクタが前記ワークポイントに固定して取り付けられる間に、前記ロボットのリストジョイントの離散的な一組のポジションを選択し、
ｃ）離散的なリストポジションのそれぞれに前記ロボットの主要アームをその運動範囲にわたって掃引し、前記ロボットベースが移動したエリアを記録し、
ｄ）ステップａ）からｃ）を各ワークポイントに対して行い、
ｅ）ステップｄ）で記録されたすべてのエリアに共通のエリアを許容ベース位置領域として選択すること
を備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記作業場所環境中の障害物に対する障害物シャドウの前記計算は、
ａ）前記エンドエフェクタがワークポイントに固定された場合の各ワークポイントの前記障害物に対する視界セクタを計算し、
ｂ）前記視界セクタの二分線として大域パスを規定し、
ｃ）前記大域パスと前記許容ベース位置領域の外側の輪郭との交差点を初期ポイントとして規定し、
ｄ）前記大域パスと前記許容ベース位置領域の内側の輪郭との交差点を目標ポイントとして規定し、
ｅ）前記ロボットのベースを、衝突が検出されるまで前記初期ポイントから前記大域パスに沿って動かし、
ｆ）前記ロボットベースを前記許容ベース位置領域の外側の輪郭に沿って第１の方向に動かすことによって新しい初期ポジションを規定し、
ｇ）前記ロボットのベースを、衝突が検出されるまで前記新しい初期ポイントから前記目標ポイントまでのパスに沿って動かし、
ｈ）前記ベースを衝突なく前記目標ポイントに動かすことができるまでステップｆ）およびｇ）を繰り返し、
ｉ）前記ベースを前記初期ポジションに動かして戻し、
ｊ）前記ロボットベースを前記許容ベース位置領域の外側の輪郭に沿って第２の方向に動かすことによって新しい初期ポジションを規定し、
ｋ）前記ロボットのベースを、衝突が検出されるまで前記新しい初期ポイントから前記目標ポイントまでのパスに沿って動かし、
ｌ）前記ベースを衝突なく前記目標ポイントに動かすことができるまでステップｊ）およびｋ）を繰り返し、
ｍ）前の前記目標ポイントとして規定された前記初期ポイントと、前の前記初期ポイントとして規定された前記目標ポイントでステップｅ）からｌ）までを繰り返すこと
を備えたことを特徴とする請求項１に記載の方法。
【請求項４】
処理ユニットと、
データを格納したメモリデバイスであって、前記格納されたデータは、ロボットの物理構成を表すデータ、前記ロボットがそれに対して作業を行うべきワークの物理構成を表すデータ、前記ロボットおよびワークが共存すべき物理環境を表すデータ、およびフリー許容ロボットベース位置領域を表すデータを備えたメモリデバイスと、
前記処理ユニットに、
前記ロボットのエンドエフェクタに対する一組のワークポイントを規定する手順、
ロボットのベースを配置するための許容ベース位置領域を計算するステップであって、前記許容ベース位置はエンドエフェクタがすべてのワークポイントに届くように前記ロボットベースが配置されるエリアを規定する手順、
前記許容ベース位置領域内で、前記ロボットとその環境中の物体との間で衝突が生じることになるロボットベース配置の範囲を規定する障害物シャドウを計算する手順、および
前記障害物シャドウを前記許容ベース位置領域から差し引くことによってフリー許容ベース位置領域を計算する手順を実行させるためのプログラム命令を格納したメモリと
を備えたことを特徴とするコンピュータシステム。
【請求項５】
入力装置と、
中央処理装置と、
データを記憶するためのメモリ素子と
を備えたＣＡＤ／ＣＡＭ装置であって、
前記中央処理装置は、
ロボットのエンドエフェクタが所与の作業を完了するための一組のワークポイントを規定し、
前記ロボットのベースを配置するための許容ベース位置領域であって、前記許容ベース位置はエンドエフェクタがすべてのワークポイントに届くように前記ロボットベースが配置されるエリアを規定する許容ベース位置領域、前記許容ベース位置領域内で、前記ロボットと作業場所環境中の物体との間で衝突が生じることになるロボットベース配置の範囲を規定する障害物シャドウ、および前記ロボットベースを配置するためのフリー許容ベース位置領域を計算するためのコードを備えたアプリケーションプログラムを稼動させ、前記フリー許容ベース位置領域は、前記障害物シャドウを前記許容ベース位置領域から差し引くことによって計算されることを特徴とするＣＡＤ／ＣＡＭ装置。
【請求項６】
ロボットベースを作業場所環境中に配置するための位置を含むデータのセットを探索する方法であって、前記位置は、前記ロボットのエンドエフェクタが一組のワークポイントのそれぞれに届くことを可能にすることになる位置であり、前記方法により、一組の離散的なロボットベース位置が前記データセットから選択され、それにより、前記ロボットのエンドエフェクタが前記一組のワークポイントのそれぞれを移動するための最小限の時間量が得られ、前記方法は、
従来のシミュレーテッドアニーリング法に対する修正を利用して前記データのセットを探索し、前記修正は、
極小値がシミュレーテッドアニーリングプロセス中にみられたときに前記極小値を記憶し、
前記極小値のそれぞれに対応して、極小データポイントを取り巻くエリアを備えたアトラクションエリアを確立し、
アトラクションエリア内にないフリー許容ベース位置領域からのデータポイントがみられたとき、シミュレーテッドアニーリング法の温度関数をゼロの値に設定することによって傾斜下降を行い、
傾斜下降がアトラクションエリア内に収まるデータポイントを生成するとき、傾斜下降がそこから始まったデータポイントを前記アトラクションエリアが含むようにアトラクションエリアを再規定すること
を備えたことを特徴とする方法。
【請求項７】
探索される前記データのセットはフリー許容ベース位置領域を備えることを特徴とする請求項６に記載の方法。
【請求項８】
処理ユニットと、
作業場所環境中にロボットベースを配置するための一組の位置を表すデータを格納したメモリデバイスであって、前記位置は、前記ロボットのエンドエフェクタが最小限の時間量で一組のワークポイントのそれぞれに届くことを可能にすることになるメモリデバイスと、
前記処理ユニットに、
修正されたシミュレーテッドアニーリング法を使用してフリー許容ベース位置領域を探索する手順であって、前記修正は、
極小値が標準的なシミュレーテッドアニーリングプロセス中にみられたときに前記極小値を記憶し、
前記極小値のそれぞれに対応して、極小データポイントを取り巻くエリアを備えたアトラクションエリアを確立し、
アトラクションエリア内にないフリー許容ベース位置領域からのデータポイントがみられたとき、シミュレーテッドアニーリング法の温度関数をゼロの値に設定することによって傾斜下降を行い、
傾斜下降がアトラクションエリア内に収まるデータポイントを生成するとき、傾斜下降がそこから始まったデータポイントを前記アトラクションエリアが含むようにアトラクションエリアを再規定する手順を実行させるためのプログラム命令を格納したメモリと
を備えたことを特徴とするコンピュータシステム。
【請求項９】
入力装置と、
中央処理装置と、
データを記憶するための記憶装置と、
表示装置と
を備えたＣＡＤ／ＣＡＭ装置であって、
前記中央処理装置は、データの探索を実行して一組の離散的な最適データポイントを見つけるためのコードを備えたアプリケーションプログラムを稼動させ、前記探索は、修正されたシミュレーテッドアニーリング法を備え、前記シミュレーテッドアニーリング法に対する前記修正は、
極小値が前記シミュレーテッドアニーリングプロセス中にみられたときに前記極小値を記憶し、
前記極小値のそれぞれに対応して、極小データポイントを取り巻くエリアを備えたアトラクションエリアを記憶し、
アトラクションエリア内にないフリー許容ベース位置領域からのデータポイントがみられたとき、前記シミュレーテッドアニーリング法の温度関数をゼロの値に設定することによって傾斜下降を行い、および、
傾斜下降がアトラクションエリア内に収まるデータポイントを生成するとき、傾斜下降がそこから始まったデータポイントを前記アトラクションエリアが含むようにアトラクションエリアを再規定および記憶すること
を備えたことを特徴とするＣＡＤ／ＣＡＭ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータソフトウェアユーティリティプログラムに関し、より詳細には、コンピュータ援用設計（ＣＡＤ、ｃｏｍｐｕｔｅｒ  ａｉｄｅｄ  ｄｅｓｉｇｎ）、コンピュータ援用製造（ＣＡＭ、ｃｏｍｐｕｔｅｒ  ａｉｄｅｄｍａｎｕｆａｃｔｕｒｉｎｇ）、およびコンピュータ支援エンジニアリング（ＣＡＥ、ｃｏｍｐｕｔｅｒ  ａｉｄｅｄ  ｅｎｇｉｎｅｅｒｉｎｇ）の分野のプログラムに関し、特に、製造用設備におけるロボットの正しい物理位置を決定するためにこのようなシステムを使用することに関する。
【０００２】
【従来の技術】
ロボットは、自動化製造プロセスで広く使用されている。ロボットを採用して、正確かつ時間効率のよい方式で反復作業を行うことができる。例えば、自動車のフレームにスポット溶接を加えるためにロボットが自動車製造ラインに利用され、その結果、手作業労働によって達成できるよりも時間効率のよい方式で正確な溶接位置を得る。通常の製造プロセスでは、ロボットは、ポイントツーポイント（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ）の動きの反復シーケンスを行い、各ポイントで停止する。例えば、ロボットは、プログラムされた各停止位置でアセンブリにスポット溶接を加えることになる。用語「ワークポイント（ｗｏｒｋ  ｐｏｉｎｔ）」とは、本明細書で使用するとき、ロボットがワークに対して作業を行うべき各停止位置を意味する。用語「ワークプラン（ｗｏｒｋｐｌａｎ）」とは、一組のワークポイントを指し、「軌道（ｔｒａｊｅｃｔｏｒｙ）」とは、ワークプラン中のあるワークポイントから次のワークポイントに直接に移動するときにロボットのエンドエフェクタ（ｅｎｄ−ｅｆｆｅｃｔｏｒ）によって行われるパスを指す。
【０００３】
ロボットの生産性は、ワークプランを完了するためのサイクルタイムを最小限にすることによって、かなり向上させることができる。所与のロボットに対するサイクルタイムは、作業に対して相対的なマニピュレータのポジション、ポイントが訪れられるシーケンス、アクチュエータの最大速度および加速度、ポイントの相対ポジション、およびロボティックアームの構成など、多くのパラメータによって決まる。ロボットは、そのワークステーションに不適切に配置されると、非効率的な動作、さらには故障のリスクを冒す。したがって、指定のワークプランに対するサイクルタイムを最小限にできるようにロボットポジションを選択するためのシステムが必要とされている。
【０００４】
既存のＣＡＤシステムを使用して、ロボットを含めた製造用設備をモデリングすることができる。このようなＣＡＤシステムは、それに対して作業が行われることになるアイテムの構成、作業場所環境中の物体の構成、およびロボット自体の構成を詳述したデータを装備されたとき、作業場所をモデリングするのに使用される。各アイテムは、設備をモデリングする目的で作業場所内にグラフィカルに配置することができる。次いで、ロボットをグラフィカルに動かして、作業の実現可能性および効率をチェックすることができる。周知のＣＡＤシステムでは、所与のワークプランに対するサイクルタイムの計算は、ユーザが実行すべき、時間のかかる試行錯誤ループを必要とし、その中でロボットの動きがグラフィカルにシミュレートされる。サイクルタイムを削減するために、オペレータは、提案されたロボットベースポジションのセットを選択し、次いで、提案された各ロボットベースポジションに対するロボットの動きのシミュレーションを行って、ポジション実現可能性およびサイクルタイムの比較を得なければならない。これは、多量のＣＰＵ時間を必要とし、非効率的である。
【０００５】
【発明が解決しようとする課題】
したがって、ロボットポジションを最適化して少ないサイクルタイムを得るために簡単に使用できるシステムであって、ユーザが行わなければならない時間のかかる反復プロセスを必要としないシステムが必要とされている。
【０００６】
【課題を解決するための手段】
このような問題を解決するために、請求項１に記載の発明は、所与の作業を完了するためのサイクルタイムを最小限にするように作業場所環境中のロボットの配置を最適化するためにＣＡＤシステムで使用するコンピュータシステム操作方法であって、ロボットのエンドエフェクタが所与の作業を完了するための一組のワークポイントを規定し、前記ロボットのベースを配置するための許容ベース位置領域を計算するステップであって、前記許容ベース位置はエンドエフェクタがすべてのワークポイントに届くように前記ロボットベースが配置されるエリアを規定し、前記許容ベース位置領域内で、前記ロボットと作業場所環境中の物体との間で衝突が生じることになるロボットベース配置の範囲を規定する障害物シャドウを計算し、前記障害物シャドウを前記許容ベース位置領域から差し引くことによって、前記ロボットベースを配置するためのフリー許容ベース位置領域を計算することを備えたことを特徴とする。
【０００７】
また、請求項２に記載の発明は、請求項１に記載の方法において、前記許容ベース位置領域の前記計算は、ａ）前記ロボットの前記エンドエフェクタがワークポイントに固定された場合のシミュレーションを行い、ｂ）前記エンドエフェクタが前記ワークポイントに固定して取り付けられる間に、前記ロボットのリストジョイントの離散的な一組のポジションを選択し、ｃ）離散的なリストポジションのそれぞれに前記ロボットの主要アームをその運動範囲にわたって掃引し、前記ロボットベースが移動したエリアを記録し、ｄ）ステップａ）からｃ）を各ワークポイントに対して行い、ｅ）ステップｄ）で記録されたすべてのエリアに共通のエリアを許容ベース位置領域として選択することを備えたことを特徴とする。
【０００８】
また、請求項３に記載の発明は、請求項１に記載の方法において、前記作業場所環境中の障害物に対する障害物シャドウの前記計算は、ａ）前記エンドエフェクタがワークポイントに固定された場合の各ワークポイントの前記障害物に対する視界セクタを計算し、ｂ）前記視界セクタの二分線として大域パスを規定し、ｃ）前記大域パスと前記許容ベース位置領域の外側の輪郭との交差点を初期ポイントとして規定し、ｄ）前記大域パスと前記許容ベース位置領域の内側の輪郭との交差点を目標ポイントとして規定し、ｅ）前記ロボットのベースを、衝突が検出されるまで前記初期ポイントから前記大域パスに沿って動かし、ｆ）前記ロボットベースを前記許容ベース位置領域の外側の輪郭に沿って第１の方向に動かすことによって新しい初期ポジションを規定し、ｇ）前記ロボットのベースを、衝突が検出されるまで前記新しい初期ポイントから前記目標ポイントまでのパスに沿って動かし、ｈ）前記ベースを衝突なく前記目標ポイントに動かすことができるまでステップｆ）およびｇ）を繰り返し、ｉ）前記ベースを前記初期ポジションに動かして戻し、ｊ）前記ロボットベースを前記許容ベース位置領域の外側の輪郭に沿って第２の方向に動かすことによって新しい初期ポジションを規定し、ｋ）前記ロボットのベースを、衝突が検出されるまで前記新しい初期ポイントから前記目標ポイントまでのパスに沿って動かし、ｌ）前記ベースを衝突なく前記目標ポイントに動かすことができるまでステップｊ）およびｋ）を繰り返し、ｍ）前の前記目標ポイントとして規定された前記初期ポイントと、前の前記初期ポイントとして規定された前記目標ポイントでステップｅ）からｌ）までを繰り返すことを備えたことを特徴とする。
【０００９】
また、請求項４に記載の発明は、処理ユニットと、データを格納したメモリデバイスであって、前記格納されたデータは、ロボットの物理構成を表すデータ、前記ロボットがそれに対して作業を行うべきワークの物理構成を表すデータ、前記ロボットおよびワークが共存すべき物理環境を表すデータ、およびフリー許容ロボットベース位置領域を表すデータを備えたメモリデバイスと、前記処理ユニットに、前記ロボットのエンドエフェクタに対する一組のワークポイントを規定する手順、ロボットのベースを配置するための許容ベース位置領域を計算するステップであって、前記許容ベース位置はエンドエフェクタがすべてのワークポイントに届くように前記ロボットベースが配置されるエリアを規定する手順、前記許容ベース位置領域内で、前記ロボットとその環境中の物体との間で衝突が生じることになるロボットベース配置の範囲を規定する障害物シャドウを計算する手順、および前記障害物シャドウを前記許容ベース位置領域から差し引くことによってフリー許容ベース位置領域を計算する手順を実行させるためのプログラム命令を格納したメモリとを備えたことを特徴とする。
【００１０】
また、請求項５に記載の発明は、入力装置と、中央処理装置と、データを記憶するためのメモリ素子とを備えたＣＡＤ／ＣＡＭ装置であって、前記中央処理装置は、ロボットのエンドエフェクタが所与の作業を完了するための一組のワークポイントを規定し、前記ロボットのベースを配置するための許容ベース位置領域であって、前記許容ベース位置はエンドエフェクタがすべてのワークポイントに届くように前記ロボットベースが配置されるエリアを規定する許容ベース位置領域、前記許容ベース位置領域内で、前記ロボットと作業場所環境中の物体との間で衝突が生じることになるロボットベース配置の範囲を規定する障害物シャドウ、および前記ロボットベースを配置するためのフリー許容ベース位置領域を計算するためのコードを備えたアプリケーションプログラムを稼動させ、前記フリー許容ベース位置領域は、前記障害物シャドウを前記許容ベース位置領域から差し引くことによって計算されることを特徴とする。
また、請求項６に記載の発明は、ロボットベースを作業場所環境中に配置するための位置を含むデータのセットを探索する方法であって、前記位置は、前記ロボットのエンドエフェクタが一組のワークポイントのそれぞれに届くことを可能にすることになる位置であり、前記方法により、一組の離散的なロボットベース位置が前記データセットから選択され、それにより、前記ロボットのエンドエフェクタが前記一組のワークポイントのそれぞれを移動するための最小限の時間量が得られ、前記方法は、従来のシミュレーテッドアニーリング法に対する修正を利用して前記データのセットを探索し、前記修正は、極小値がシミュレーテッドアニーリングプロセス中にみられたときに前記極小値を記憶し、前記極小値のそれぞれに対応して、極小データポイントを取り巻くエリアを備えたアトラクションエリアを確立し、アトラクションエリア内にないフリー許容ベース位置領域からのデータポイントがみられたとき、シミュレーテッドアニーリング法の温度関数をゼロの値に設定することによって傾斜下降を行い、傾斜下降がアトラクションエリア内に収まるデータポイントを生成するとき、傾斜下降がそこから始まったデータポイントを前記アトラクションエリアが含むようにアトラクションエリアを再規定することを備えたことを特徴とする。
【００１１】
また、請求項７に記載の発明は、請求項６に記載の方法において、探索される前記データのセットはフリー許容ベース位置領域を備えることを特徴とする。
【００１２】
また、請求項８に記載の発明は、処理ユニットと、作業場所環境中にロボットベースを配置するための一組の位置を表すデータを格納したメモリデバイスであって、前記位置は、前記ロボットのエンドエフェクタが最小限の時間量で一組のワークポイントのそれぞれに届くことを可能にすることになるメモリデバイスと、前記処理ユニットに、修正されたシミュレーテッドアニーリング法を使用してフリー許容ベース位置領域を探索する手順であって、前記修正は、極小値が標準的なシミュレーテッドアニーリングプロセス中にみられたときに前記極小値を記憶し、前記極小値のそれぞれに対応して、極小データポイントを取り巻くエリアを備えたアトラクションエリアを確立し、アトラクションエリア内にないフリー許容ベース位置領域からのデータポイントがみられたとき、シミュレーテッドアニーリング法の温度関数をゼロの値に設定することによって傾斜下降を行い、傾斜下降がアトラクションエリア内に収まるデータポイントを生成するとき、傾斜下降がそこから始まったデータポイントを前記アトラクションエリアが含むようにアトラクションエリアを再規定する手順を実行させるためのプログラム命令を格納したメモリとを備えたことを特徴とする。
【００１３】
さらに、請求項９に記載の発明は、入力装置と、中央処理装置と、データを記憶するための記憶装置と、表示装置とを備えたＣＡＤ／ＣＡＭ装置であって、前記中央処理装置は、データの探索を実行して一組の離散的な最適データポイントを見つけるためのコードを備えたアプリケーションプログラムを稼動させ、前記探索は、修正されたシミュレーテッドアニーリング法を備え、前記シミュレーテッドアニーリング法に対する前記修正は、極小値が前記シミュレーテッドアニーリングプロセス中にみられたときに前記極小値を記憶し、前記極小値のそれぞれに対応して、極小データポイントを取り巻くエリアを備えたアトラクションエリアを記憶し、アトラクションエリア内にないフリー許容ベース位置領域からのデータポイントがみられたとき、前記シミュレーテッドアニーリング法の温度関数をゼロの値に設定することによって傾斜下降を行い、および、傾斜下降がアトラクションエリア内に収まるデータポイントを生成するとき、傾斜下降がそこから始まったデータポイントを前記アトラクションエリアが含むようにアトラクションエリアを再規定および記憶することを備えたことを特徴とする。
【００１４】
したがって、本発明は、ワークからみたロボットのベースの可能な最適配置を効率的な仕方で見つけるためのシステム、方法、および装置を提供する。最適配置は、ロボットマニピュレータツールを所与のワークプランに対して最小限の時間量でその軌道を通って動かすことのできる配置として規定される。最適な位置を見つけるために、ロボットベースを配置するためのいくつかの可能な位置を含むエリアが、最適化アルゴリズムを使用して探索される。本発明の一態様によれば、可能なロボットベース位置を含むこの探索すべきエリアは、最適化に向けてテスト、または「探索」するための可能なベース位置の数が削減されるように最小化される。探索空間を最小化する第１のステップは、「許容ロボットベース位置領域（ａｃｃｅｐｔａｂｌｅ  ｒｏｂｏｔ  ｂａｓｅ  ｌｏｃａｔｉｏｎ  ｄｏｍａｉｎ）」を計算することからなる。この領域（ｄｏｍａｉｎ）は、ロボットのマニピュレータツールがロボットによって行われるワークプラン中の所期の各ワークポイントに届くことができるように、ロボットベースが配置されなければならない水平面内のエリアを規定する。この領域を決定するファクタは、すべてのワークポイントの位置と、ロボットの幾何形状および動的プロファイルである。
【００１５】
本発明の一態様によれば、許容ロボットベース位置領域の識別に続き、ロボットとその環境との間の衝突の可能性を考慮する必要がある。この目標（ｇｏａｌ）を達成するために、「障害物シャドウ（ｏｂｓｔａｃｌｅ  ｓｈａｄｏｗ）」を規定する方法が呈示されるが、このような障害物シャドウは、そうすることでマニピュレータツールがワークプラン中のワークポイントに伸張されたときにロボットとその環境中のオブジェクトとの間に衝突が起こることになるためにロボットを配置することのできない、許容ロボットベース位置領域の部分を表す。この方法の目的は、ロボットのベースを許容ベース位置領域の水平セクション中で動かして衝突をテストすることによって、「障害物シャドウ」のアウトラインを見つけて規定することである。「障害物シャドウ」は、許容ベース位置領域から差し引かれ、そのサイズ、したがって最適化中に探索すべき可能なベース位置ポジションの数を少なくする。本発明の方法によれば、追従すべき大域パスを規定した後で、ロボットのベースが段階的に動かされて、目標ポイント、通常はワークプラン中のワークポイントが達成される。衝突が起こったときに置換の方向が修正され、次いで、次の反復用の大域パスが再規定される。このステップは、目標ポイントに達するまで繰り返される。障害物シャドウを左に、次いで右によけて動くことにより、シャドウの閉じた輪郭がそれから導き出される一組のポイントが得られる。前述のように、シャドウの閉じた輪郭は、次いで許容ロボットベース位置領域から差し引かれ、「フリー許容ベース位置領域」が得られる。ロボットベースがこのフリー許容ベース位置内のどこかに位置するとき、ロボットツールは、その環境中の物体によって制限されることなく、作業を行うべき各ポイント、すなわち各ワークポイントに届くことができる。本発明の一態様によれば、可能なベース位置の組は、フランス、ＳｕｒｅｓｎｅｓのＤａｓｓａｕｌｔ−Ｓｙｓｔｅｍｅｓから販売されている「ＣＡＴＩＡ  Ｄｅｓｉｇｎ  ａｎｄ  Ｒｏｂｏｔ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｓｏｌｕｔｉｏｎ」システムの「衝突テスト」機能など、ＣＡＤシステムで利用可能な標準機能を使用して、さらに減らすこともできる。このような機能は、ロボットアームがワークポイントからワークポイントへ動く間に衝突が起こるか否かを判定するのに使用される。衝突が起こることになる位置は、考慮から除外される。本発明の別の態様によれば、ＣＡＤシステムで利用可能な標準機能を使用して、軌道に沿ってワークポイントからワークポイントへ動かすためにロボットの再構成が必要か否かを判定するテストを行うことができる。再構成を生じることになる結果もまた、考慮から除外される。
【００１６】
フリー許容ベース位置領域を規定した後、次いで、最小限にされたサイクルタイムを達成することになるロボットベース配置のために、その領域内の具体的な位置を識別することが望ましい。本発明の一態様によれば、修正された「シミュレーテッドアニーリング（ｓｉｍｕｌａｔｅｄ  ａｎｎｅａｌｉｎｇ）」法を採用して、最小限のサイクルタイムに対するロボットベース用の一組の最適ポジションが見つけられる。従来のシミュレーテッドアニーリングアルゴリズムは当業者によく知られているであろうが、例えば、Ｓ．Ｋｉｒｋｐａｔｒｉｃｋ、Ｃ．Ｄ．Ｇｅｌａｔｔ，Ｊｒ．、およびＭ．Ｐ．Ｖｅｃｃｈｉ、「Ｏｐｔｉｍｉｚａｔｉｏｎ  ｂｙ  Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ」、Ｓｃｉｅｎｃｅ、２２０（４５９８）、ｐｐ．６７１〜６８０、Ｍａｙ  １９８３に記述されており、これは参照により本明細書に組み込まれている。従来のシミュレーテッドアニーリングアルゴリズムは、この問題に対して単一かつ隔離された最適解しかもたらさず、これは工業ＣＡＤシステムのコンテキストでは十分でない。さらに、シミュレーテッドアニーリングは、極小値のまさに最下部を訪れない限り正常解から極小値を区別することができないため、長い計算時間を必要とする可能性がある。本発明によれば、従来のシミュレーテッドアニーリング法に２つの特徴が追加されて、この方法の中にある種の「便宜主義（ｏｐｐｏｒｔｕｎｉｓｍ）」が構築される。
【００１７】
第１の特徴は、「冷凍−加熱」サイクルと呼ばれているものの使用であり、これは、局所的探索プロシージャの定期的な適用に対応する。この特徴は、できるだけ速く最低の谷を探査することを目的とし、探索空間中の最も近い極小値をもたらす。第２の特徴は、極小値およびそれらの「アトラクションエリア（ａｔｔｒａｃｔｉｏｎ  ａｒｅａ）」を記憶することである。このようにして、最低の谷は、それらが調査されてそれらの最小値が得られた後には再訪されない。このような修正により、実行の終わりに、一組のほぼ最適な解が得られると共にそれらの各近傍を知ることができる。この修正を使用しても、ロボットベースに対する単一の絶対的な最適位置が見つかる保証はない。その代わり、従来のシミュレーテッドアニーリング法を使用すれば必要となるよりもずっと少ない計算リソースを使用して、一組のほぼ最適な解が得られることになる。
【００１８】
【発明の実施の形態】
図１６を参照すると、本発明の実施に使用できるコンピュータシステム１００の物理リソースが示されている。コンピュータ１００は、プロセッサホストバス１０２に接続された中央処理装置１０１を有し、中央処理装置は、プロセッサホストバスを介してデータ信号、アドレス信号、および制御信号を提供する。プロセッサ１０１は、Ｐｅｎｔｉｕｍ（登録商標）シリーズのプロセッサ、Ｋ６プロセッサ、ＭＩＰＳ（登録商標）プロセッサ、Ｐｏｗｅｒ  ＰＣ（登録商標）プロセッサ、またはＡＬＰＨＡ（登録商標）プロセッサなど、従来の汎用シングルチップまたはマルチチップマイクロプロセッサとすることができる。さらに、プロセッサ１０１は、ディジタル信号プロセッサやグラフィックプロセッサなど、従来の特定目的マイクロプロセッサのいずれでもよい。マイクロプロセッサ１０１は、それをプロセッサホストバス１０２に結合する従来のアドレス線、データ線、および制御線を有することができる。
【００１９】
コンピュータ１００は、統合ＲＡＭメモリコントローラ１０４を有するシステムコントローラ１０３を備えることができる。システムコントローラ１０３は、ホストバス１０２に接続されて、ランダムアクセスメモリ１０５へのインタフェースを提供することができる。システムコントローラ１０３はまた、ペリフェラルバスブリッジング機能へのホストバスも提供する。したがって、コントローラ１０３は、プロセッサホストバス１０２上の信号を一次ペリフェラルバス１１０上の信号と互換性をもって交換できるようにすることができる。ペリフェラルバス１１０は、例えば、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  ＳｔａｎｄａｒｄＡｒｃｈｉｔｅｃｔｕｒｅ）バス、またはＭｉｃｒｏ−Ｃｈａｎｎｅｌバスとすることができる。さらに、コントローラ１０３は、ホストバス１０２とペリフェラルバス１１０の間でデータバッファリングおよびデータ転送速度マッチングを実現することができる。したがってコントローラ１０３は、例えば、６４ビット６６ＭＨｚのインタフェースおよび５３３Ｍｂｙｔｅｓ／秒のデータ転送速度を有するプロセッサ１０１が、データ経路ビット幅、クロック速度、またはデータ転送速度の異なるデータ経路を有するＰＣＩバス１１０にインタフェースすることを可能にすることができる。
【００２０】
バス１２０には、たとえばハードディスクドライブ１１３に結合されたハードディスクドライブ制御インタフェース１１１、ビデオ表示装置１１５に結合されたビデオ表示コントローラ１１２、およびキーボード／マウスコントローラ１２１を含めたアクセサリ装置を結合して、プロセッサ１０１によって制御することができる。コンピュータシステムは、コンピュータシステムネットワーク、イントラネット、またはインターネットへの接続を含むことができる。このような接続を介して、データおよび情報を送信および受信することができる。
【００２１】
コンピュータ１００はまた、基本的なコンピュータソフトウェアルーチンを記憶するための不揮発性ＲＯＭメモリ１２２を備えることもできる。ＲＯＭ１２２には、構成データを記憶するための、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの可変メモリを含めることができる。ＢＩＯＳルーチン１２３をＲＯＭ１２２に含め、基本的なコンピュータ初期設定、システムテスト、および入力／出力（Ｉ／Ｏ）サービスを提供することができる。ＢＩＯＳ１２３もまた、オペレーティングシステムがディスク１１３から「ブート」されるようにするルーチンを含むことができる。ハイレベルなオペレーティングシステムの例は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ９８（商標）、Ｗｉｎｄｏｗｓ  ＮＴ（商標）、ＵＮＩＸ、ＬＩＮＵＸ、Ａｐｐｌｅ  ＭａｃＯＳ（商標）オペレーティングシステム、またはその他のオペレーティングシステムである。
【００２２】
オペレーティングシステムは、ＲＡＭメモリ１０５中に完全にロードされていてもよく、あるいはＲＡＭメモリ１０５、ディスクドライブ記憶域１１３、またはネットワークロケーションにある記憶域中に一部を含んでいてもよい。オペレーティングシステムは、ソフトウェアアプリケーション、ソフトウェアシステム、およびソフトウェアシステムのツールを実行するための機能を提供することができる。ソフトウェア機能は、ビデオ表示コントローラ１１２およびコンピュータシステム１００中の他のリソースにアクセスして、設計、ロボット構成、作業場所、および作業場所環境のモデルをビデオコンピュータ表示装置１１５上に提供することができる。
【００２３】
（ロボット配置の最適化）
作業中のロボットマニピュレータのパフォーマンスは、対応するトラックに対して相対的なそのポジションによって決まる。そのワークステーションに不適切に配置されたマニピュレータは、非効率的な動作のリスクを冒す。これにより、特定の作業が達成される間にマニピュレータのパフォーマンスが最適化されるような形でポジションを選択することの問題が生じる。
【００２４】
既存のロボティックＣＡＤシステムでは、サイクルタイムの計算は作業のシミュレーションを必要とし、これは非常に時間のかかる操作である。本発明によれば、この作業は、本発明のシミュレーテッドアニーリング法などの最適化アルゴリズムを適用する前に探索空間を単純化することによって、より効率的にされる。これは、ロボットがそこから一組の所与の溶接ポイントのそれぞれに届くことができる「許容ロボットベース位置領域」を規定し、障害物との潜在的な衝突のためにロボットを配置することができない許容ベース位置領域の範囲を表す「障害物シャドウ」を規定することによって達成される。障害物シャドウが許容ベース位置領域から差し引かれて、フリー許容ベース位置領域が得られる。
【００２５】
図１を参照すると、本発明の方法の概略図が示されている。システムは、システム内またはシステムの外部に記憶された、特定のロボットモデル５０の幾何形状に関係するデータと、マニピュレータツール５１に対するワークプランとを使用する。前述のように、ワークプランは、スポット溶接を加えるなどの作業を行うべき、座標系中の一組の離散的位置からなる。ロボットモデルの幾何形状は、座標系内でロボットアームの動きの運動特性を決定するのに必要である。フランス、ＳｕｒｅｓｎｅｓのＤａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓから販売されている「ＣＡＴＩＡ  Ｄｅｓｉｇｎ  ａｎｄ  Ｒｏｂｏｔ  ＰｒｏｇｒａｍｍｉｎｇＳｏｌｕｔｉｏｎ」システムの「衝突テスト」機能など、既存のＣＡＤシステムによる標準機能を使用して「許容ロボットベース位置領域」が計算され、これを図１のボックス５２に表す。図２に、特定のワークプランに対する許容ベース位置領域の一例の図を、６０とラベリングして示す。
【００２６】
再び図１を参照すると、作業空間の座標系内にある障害物の位置および幾何形状を規定するデータ５３が検索される。このデータを利用して、ステップ５４で、以下により詳細に述べる方法を使用して「障害物シャドウ」が計算される。ステップ５５で、障害物シャドウが許容ベース位置領域から差し引かれて「フリー許容ベース位置領域」が計算されるが、この一例を図３に７０として示す。図１を参照すると、最適化、すなわちロボット作業のサイクルタイムが最小限にされるフリー許容ベース位置領域内の離散的な数の位置を見つけることが、ステップ５６で、修正されたシミュレーテッドアニーリング法を使用して行われる。
【００２７】
（許容ベース位置領域）
図２、４、および１７を参照しながら、許容ベース位置を決定する方法を詳細に述べる。述べたように、許容ベース位置領域は、ロボットベースがそこに配置されたときにロボットマニピュレータが所与のワークプラン中の各ワークポイントに届くことを可能にする、平面の一部である。この領域を決定するために、ロボットの物理的な幾何形状および運動特性を考慮しなければならない。この手法は、作業空間中の６次元参照フレームに達しなければならない、所与のロボットマニピュレータの物理的な観察に基づく。現行の工業ロボット（３本の直交交差軸を含む６本の軸）の場合、主要アーム（ポジションを固定する第１の３本の軸、図４のアイテム４１、４２、４３）およびリスト（配向を固定する残りの３本の軸）を分離することができる。
【００２８】
図４を参照すると、ロボットのベースに対する参照フレームとしてＲ０、ロボットのリストの中心に対する参照フレームとしてＲｐ、エフェクタのエンドに対する参照フレームまたは基準面としてＲｅ、および届くべき溶接ポイントに連結される参照フレームとしてＲａが定義されている。Ｒ０は、ＲｅとＲａが一致するとき、円柱座標系（ｒ，θ，ｚ）を使用してＲｐに関して参照されることが好都合である。
【００２９】
この座標系では、３本の軸の主要アームに対して以下の式のシステムが得られる。
【００３０】
【数１】
ｒ＝ｌ２×ｓｉｎ（ｑ２）−ｌ３×ｓｉｎ（ｑ２＋ｑ３）
ｚ＝ｌ１−ｌ２×ｃｏｓ（ｑ２）＋ｌ３×ｃｏｓ（ｑ２＋ｑ３）
θ＝ｑ１
上式で、ｌｉはアームのセグメントｉの長さであり、ｑｉは関節ｉの値である。
【００３１】
この方程式のシステムを使用すれば、ｑ２、ｑ３、またはｑ２＋ｑ３の値に応じたｒの値を水平面（その場合ｚが定数）で解析的に計算することができる。
【００３２】
この方法は、まず２つの段階で進行する。
【００３３】
１．主要アームのジョイントをその限界内（例えばｑ２ｍｉｎ＜ｑ２＜ｑ２ｍａｘ；ｑ３ｍｉｎ＜ｑ３＜ｑ３ｍａｘ）で掃引することによる、ロボットベースの作業空間の解析。この解析により、一組の円が得られる。
【００３４】
２．エルボ構成（すなわち０＜ｑ３＜π）および閉連鎖（すなわちｑｐｍｉｎ＜ｑ２＋ｑ３＜ｑｐｍａｘ）からくる制限の解析。この解析によっても、一組の円が得られる。
【００３５】
次いで、リストジョイント限界の制限を考慮する必要がある。スポット溶接用ロボットに最も一般的に使用されるリストである、３本の共同する軸を有するリストの場合、リストの動く範囲の制限は、ジョイントｑ５の変動が実際には小さい（すなわちｑ５ｍｉｎ＜ｑ５＜ｑ５ｍａｘ）という事実による。図１７からの表記を使用すると、
【００３６】
【数２】
0003566920.tif 000002
は軸４の指示ベクトルであり、
【００３７】
【数３】
0003566920.tif 000003
は軸６の指示ベクトルであり、リスト制約は、以下の形をとる。
【００３８】
【数４】
0003566920.tif 000004
α＝ｑ２＋ｑ３−（３π／２）とした場合（図１７参照）、リストがその限界にある場合のロボットベース位置を解析的に計算することができる。
【００３９】
各ワークポイントに対する解析を行うことによって、一組の平面エリアまたは面が得られ、その共通エリアが、許容ベース位置領域の範囲を定める。これらのセクションは、一組の曲線または直線の投影によって境界を定められた平面の一部である面で表される。一例として、図２に、１つの溶接ポイントおよび「エルボアップポジション（ｅｌｂｏｗ  ｕｐ  ｐｏｓｉｔｉｏｎ）」に対するこれらのセクション６０の１つを示す。溶接ポイントは、ロボットのベースがこの面の内のどこかにあればロボットから届くことができる。溶接ポイントの所与の組に対する許容ベース位置領域は、すべての溶接ポイント面に共通の、平面内のエリアである。
【００４０】
（障害物シャドウ）
計算のこの段階で、特定ポジションのロボットのエルボに対する許容ベース位置領域の水平セクションを表す一組の面が得られた。しかし、これらのセクションは、ロボットとその環境の間の衝突回避制約を考慮しない。
【００４１】
これは、障害物シャドウ、すなわち、ロボットを配置するとエンドエフェクタが所与のワークポイントに達したときに障害物との衝突が起こるためにロボットを配置することができない許容ベース位置領域の範囲を決定することを必要とする。この領域の水平セクションは得られたため、この方法は、ロボットのベースをこれらのセクション中で動かして衝突をテストすることにある。
【００４２】
図５に、一組のワークポイントの一例（１から６）を示すが、この場合は、所与のワークプラン軌道における自動車のフロントガラスの周りにあるスポット溶接位置である。衝突回避を決定するために、ロボットのエンドエフェクタが、リストと障害物の間で衝突回避を可能にする配向で各ワークポイント上に連続して配置される。したがって、図２を参照すると、主要アームの先端６１は、対応するリストの中心６２によって決まり、そのベース６３は、許容ベース位置領域６０のセクション中で動かすことができる。衝突をテストする方法の１つは、許容ベース位置領域６０を離散的なセクションに分割し、得られるあらゆる配置をテストすることであろう。しかし、本発明によれば、いくつかの簡略化によって、必要な衝突テストの数がかなり削減される。
【００４３】
図４に示したこの例のロボットタイプは６本の軸に制限されているため、リストの中心４０は、所与のベース配置の場合に、それ自体およびロボットの第１の軸４１によって規定される平面中でしか動かすことができない。図６に、これらの制約に従ったリストの中心８０の可能な動きの図を示す。アームと所与の障害物８１との間の衝突は、少なくともロボットが「視界セクタ」中に配置されているときに起こる。このセクタは、ツールが所与のポイントに位置するときのリストの中心８０を通過する垂直線８２と、障害物８１に一点で接し、かつ前述の線８２を通過する垂直平面８３および８４とによって規定される。視界セクタは、平面８３と８４の間のくさび型空間である。視界セクタの唯一対象となる部分は、許容ベース位置領域と一致する部分であり、許容ベース位置領域の限界を曲線８５および８６で示す。この目標は、障害物シャドウのアウトラインを計算して、得られた面をベース位置領域から差し引くことである。
【００４４】
採用する方法は、参照により本明細書に組み込む、Ｂ．ＦａｖｅｒｊｏｎおよびＰ．Ｔｏｕｒｎａｓｓｏｕの「Ｔｈｅ  Ｍｉｘｅｄ  Ａｐｐｒｏａｃｈ  ｆｏｒ  Ｍｏｔｉｏｎ  Ｐｌａｎｎｉｎｇ：Ｌｅａｒｎｉｎｇ  Ｇｌｏｂａｌ  Ｓｔｒａｔｅｇｉｅｓ  ｆｒｏｍ  ａ  Ｌｏｃａｌ  Ｐｌａｎｎｅｒ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｉｎｔ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｒｔｉｃｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ、ｐｐ．１１３１〜１１３７、１９８７で提案された方法に基づく。これは、問題を２つのレベルに分離する。大域レベルでは、評価グラフが構築され、このグラフのノードは、ロボティクスシステムの構成空間の比較的大きいセルを表す。最初と目標の構成が与えられれば、グラフ中の従来の最小コストパス発見アルゴリズムにより、大域パスをもたらすセルのリストが得られる。実行中、局所パスプランナが動きを生成し、衝突をテストする。障害があった場合、すなわちロボットが何らかのセルを目指す間にブロックされた場合は、グラフ中の更新された重みで新しい大域パスが計算される。
【００４５】
この手法は、エンドエフェクタを所与の溶接ポイント上に配置して、許容ベース位置領域のセクション中でロボットのベースを動かすときに開始される。この方法を、図７の流れ図および図８の図によって図示する。これらの図を参照すると、この方法は以下の通りである。
【００４６】
１．視界セクタの二等分線として大域パス５００を規定する。初期ポイント５０１は、この線と領域セクションの外側の輪郭５０２との交差点から得られる。この目的は、ロボットのベースをパスの目標ポイント５０３に動かすことである。目標ポイント５０３は、セクション５０４の内側の輪郭上にある（図７、ステップ７００から７０２）。
【００４７】
２．衝突５０５が検出されるまで、所与のステップによってこのパスをたどる（図７、ステップ７０３から７０５）。
【００４８】
３．第１の衝突がみられたとき、障害物シャドウを左によけて動く（５０６）。ベースが目標ポイント５０３に直接に動かすことができないときは毎回、新しいベース位置と目標ポイント５０３を結ぶ線として大域パスを再規定する。大域パスを再びたどることができるようになるまでこのステップを繰り返す（図７、ステップ７０３から７０７）。
【００４９】
４．第１の衝突が検出されたベース位置５０１に戻る（図７、ステップ７０８）。左によけたときと同じ前述の仕方で、障害物シャドウを右によけて再び動く（５０７）。
【００５０】
５．障害物シャドウの完全に閉じた輪郭を得るために、前の諸ステップで使用した目標ポイント５０３を初期ポイントとし、前のプロセスが始まった位置に到達することを目的として同じプロセスを繰り返す。障害物回避テストは、前にぶつかったベース位置に再びぶつかるまで継続する。
【００５１】
このような方法を適用することにより、障害物シャドウの閉じた輪郭をそれから導き出すことのできる一組のポイントが得られる。次いで、このアウトラインから面を作り出し、それをベース位置領域の対応するセクションの面から差し引けば十分である。したがって、フリー許容ベース位置領域のセクションが得られる。
【００５２】
前述のプロセスは、各障害物およびワークプランの各ポイントに適用しなければならない。この方法の使用は、障害物シャドウのアウトラインに隣接するポイントだけがテストを受けるため、衝突テストの数を削減するので有利である。
【００５３】
前述の方法を実行する結果、図３に示すように、フリー許容ベース位置領域の正確な描写を得ることができる。フリー許容ベース位置領域７０は、許容ベース位置領域のサブセットである。ロボットベースがフリー許容ベース位置領域７０の範囲内にある限り、ロボットのツールが溶接ポイント上に配置されるときに衝突が起こらないことになる。
【００５４】
（作業の実現可能性）
前述の方法を使用してフリーな許容ベース位置領域を決定し、すべての制約（ジョイントの限界、衝突）が考慮されたように見えても、作業の実現可能性を保証するには十分でないことがある。具体的には、ロボットのベースがフリー許容ベース位置領域中に配置されているときに、ロボットがどんな衝突もなくワークプランのポイントに届くことができるか否かは分かっている。しかし、２つの連続するポイント間で自由に動くことができない可能性が依然としてあるために、この位置は、ロボットが軌道全体をカバーすることを可能にしない場合がある。ロボットがその作業空間中で自由に動く能力は、Ｐ．ＷｅｎｇｅｒおよびＰ．Ｃｈｅｄｍａｉｌの「Ａｂｉｌｉｔｙ  ｏｆ  ａ  Ｒｏｂｏｔ  ｔｏ  Ｔｒａｖｅｌ  Ｔｈｒｏｕｇｈ  ｉｔｓ  Ｆｒｅｅ  Ｗｏｒｋｓｐａｃｅ  ｉｎ  ａｎ  Ｅｎｖｉｒｏｎｍｅｎｔ  ｗｉｔｈ  Ｏｂｓｔａｃｌｅｓ」、Ｔｈｅ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｏｂｏｔｉｃｓ  Ｒｅｓｅａｒｃｈ、１０（３）、１９９１に記述されている。「可動性」の概念が、様々な属性およびそれらに対応する必要十分条件を通して導入される。これらの属性は、例えば、構成を変更せずにどんな連続する軌道も達成することのできるエリアの特徴を可能にする。
【００５５】
この目的は、ロボットがトラックのポイントをつなぐことができるか否かをチェックすることである。許容ＣＰＵ時間でこの目標を達成するためには、マニピュレータの効率を評価するための局所テストツールに頼ることが必要となる。したがって、これらのツールは、所与の位置にあるロボットのベースに対する結果をもたらすことになる。２つのケースが起こり得る。再構成なしにロボットが２つの連続するポイントをつなぐことができないケース、または２つの連続する溶接ポイント間で衝突が検出されるケースである。
【００５６】
（再構成がないこと）
トレースの２つの連続するポイントに同じ構成で到達しなければならないと仮定すると、構成を変更せずにこれらのポイントをエンドエフェクタによってつなぐことができるか否かを検証する必要がある。再構成はサイクルタイムの増加を生じる可能性があり、したがって回避すべきである。
【００５７】
考察中のポイントは、構成空間の同じ結合コンポーネントに属していなければならない。「構成空間の結合コンポーネント」は、Ｐ．ＢｏｒｒｅｌおよびＡ．Ｌｉｅｇｅｏｉｓの「Ａ  Ｓｔｕｄｙ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｍａｎｉｐｕｌａｔｏｒ  Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃ  Ｓｏｌｕｔｉｏｎｓ  ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｔｏ  Ｔｒａｊｅｃｔｏｒｙ  Ｐｌａｎｎｉｎｇ  ａｎｄ  ｔｏ  Ｗｏｒｋ  Ｓｐａｃｅ  Ｄｅｔｅｒｍｉｎａｔｉｏｎ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ、ｐｐ．１１８０〜１１８６、１９８６に記述されているように、アスペクトによって規定される。したがって、作業を実行せずに再構成を検出することができる。
【００５８】
したがって、再構成される場合、ロボットのベース位置は無視される。いずれかのベース位置に対する再構成なしにパスを移動することができない場合は、ベース位置を評価するための基準として再構成回避を使用せずに最適化アルゴリズムが再開する。
【００５９】
（衝突のないこと）
起こり得る第２の問題は、作業の実行中に衝突を検出することであり、これは、置換が許されないことを意味する。これらの衝突は、軌道の、事前定義された所与の一組の中間ポイント上での衝突を作業の実行前に局所的にテストすることによってみられる。衝突があった場合、評価されたベース位置は、単純に削除される。
【００６０】
どのベース位置に対する衝突もなくパスを移動することができない場合、最適化プロセスは、オペレータが軌道上に追加のポイントを規定できるようにするために停止する。さらに、最適化アルゴリズムの必要性に見合うように、作業は、多数のベース位置に対して実現可能でなければならない。
【００６１】
（シミュレーテッドアニーリング）
前述のプロセスの結果として、削減された一組の可能なベース位置が得られ、次いで、これを最適化に向けてテストすることができる。これは、最適なベース位置の探索時間がかなり削減されるために有利である。上で論じたように、本発明の一態様によれば、周知のシミュレーテッドアニーリング法の修正形を使用して、ほぼ最適な一組のベース位置を選択することができる。これらの修正を、シミュレーテッドアニーリング法の簡単な概観に従って以下に述べる。
【００６２】
シミュレーテッドアニーリング法の概念は、例えば、Ｓ．Ｋｉｒｋｐａｔｒｉｃｋ、Ｃ．Ｄ．Ｇｅｌａｔｔ，Ｊｒ．およびＭ．Ｐ．Ｖｅｃｃｈｉの「Ｏｐｔｉｍｉｚａｔｉｏｎ  ｂｙ  Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ」、Ｓｃｉｅｎｃｅ、２２０（４５９８）、ｐｐ．６７１〜６８０、Ｍａｙ１９８３に記述されている。シミュレーテッドアニーリングは、多くの変数の関数を最小化するなどの最適化問題を解決する方法を指す用語である。通常、これは、関数を最小化する何らかの構成のパラメータ、例えばサイクルタイムを見つけることを含み、本明細書ではこれをコストと呼ぶことにする。
【００６３】
シミュレーテッドアニーリングは反復改善に基づき、これは、いくつかの既存のサブ最適構成またはサブ最適解で始まり、わずかな進行でそれに摂動を起こさせることを含む。新しい構成または解が古いものよりもよい場合は、新しい解が受諾され、プロセスは再開する。単純な反復方法は、新しい構成が古い構成の改善である場合にのみ受諾される点でやや粗雑である。したがって図９を参照すると、これは初期構成から始まっている。これに摂動を起こさせ、よりよい解だけを受諾する、すなわち下り坂だけを移動する。したがって、最終的にポイントＡに達し、上り坂は許されないためにどこにも行くことができない。したがって、大域的最小値がポイントＢにあるにもかかわらず極小値Ａで行き詰まる。
【００６４】
シミュレーテッドアニーリングは、次の仕方で行われる。まず、最小化の開始ポイントが選択され、現ポイントとしてラベリングされる。次に、ポイントの近傍で新しいポイントが選び取られる。新しいポイントが現ポイントよりも低い値の関数を有する場合、これは、単純な反復方法におけるように自動的に「現」ポイントとして次のステップ用に採用される。そうでない場合は、ランダムな数が引き出される。このランダムな数は、新しいポイントが現ポイントに採用されることになるか否かを判定する。これにより、極小値から外にジャンプする能力がシミュレーテッドアニーリングに与えられる。
【００６５】
シミュレーテッドアニーリングの実施は、３つのパラメータを規定することを含む。新しいポイントが受諾される確率と、いわゆる温度降下関数と、および温度降下の数である。
【００６６】
これらを以下のように述べる。
【００６７】
１．新しいポイントが受諾される確率
新しいポイントｊと現ポイントｉとの差がゼロより小さい場合は、受諾の可能性は１である。差がゼロよりも大きい場合は、受諾の可能性は、以下のようになる。
【００６８】
ｐ（Δｃｉ，ｊ，Ｔ）＝ｅｘｐ（−Δｃｉ，ｊ／Ｔ）
上式で、
Δｃｉｊ＝ｃ（ｊ）−ｃ（ｉ）である。
【００６９】
Ｔは単に、コスト関数と同じユニット中の制御パラメータであり、「温度（Ｔｅｍｐｅｒａｔｕｒｅ）」と呼ばれる。
【００７０】
最初、Ｔの値は相対的に大きく、したがって、コストを増加させる多くの動きが受諾される。最適化プロセスの間、温度は徐々に下げられ、したがって、受諾される、コストのかかる動きはだんだん少なくなる。
【００７１】
２．温度降下関数
Ｋｉｒｋｐａｔｒｉｃｋ（Ｓ．Ｋｉｒｋｐａｔｒｉｃｋ、Ｃ．Ｄ．Ｇｅｌａｔｔ  Ｊｒ．およびＭ．Ｐ．Ｖｅｃｃｈｉの「Ｏｐｔｉｍｉｚａｔｉｏｎ  ｂｙ  Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ」、Ｓｃｉｅｎｃｅ、２２０（４５９８）、ｐｐ．６７１〜６８０、Ｍａｙ１９８３）は、０．９５の温度降下率を提案した。Ｓｅｃｈｅｎ（Ｃ．Ｓｅｃｈｅｎ、「ＶＬＳＩ  Ｐｌａｃｅｍｅｎｔ  ａｎｄ  Ｇｌｏｂａｌ  Ｒｏｕｔｉｎｇ  Ｕｓｉｎｇ  Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ」、Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ、Ｂｏｓｔｏｎ、１９８８）は、高いかまたは低い温度ではシステムがより少ない状態変化を必要とすることを指摘した。しかし、状態変化は、中間温度では重大である。したがって、温度降下率は、最高温度および最低温度では０．８に、ただし中間温度では０．９５に設定することができる。
【００７２】
Ｔｎ＝α（Ｔ）Ｔｎ−１  （０＜α（Ｔ）＜１）
上式で、α（Ｔ）は温度降下率を表す。
【００７３】
初期温度は、計算の始めにみられる最初の１０個のレイアウトを受諾するように選択される。
【００７４】
３．温度降下の数
この目的は、温度をその初期値の５％だけ下げることである。したがって、温度降下の数は、温度降下関数から直接に導き出すことができる。
【００７５】
ロボット配置の問題に適用されるシミュレーテッドアニーリングを、図１０の流れ図を参照することによって示す。最初に、ロボットの初期配置が選択され（ステップ２００）、現在の解として設定される（ステップ２０１）。さらに、シミュレーテッドアニーリング法に向けて初期パラメータＴおよびｋが設定される（２０２）。次いで、現ポイントの近傍ポイントに対するサイクルタイムのコストの解が計算され（ステップ２０３）、次いでそれは、現在の解と比較される（ステップ２０４）。ステップ２０５で、新しい解が現在の解よりも低い場合は、現在の解に対する値が自動的に新しい解の値で置換され（ステップ２０６（イエス））、プロセスは繰り返される。しかし、新しい解が現在の解よりも高い場合は（ステップ２０５（ノー））、０と１の間の数がランダムに選択され（ステップ２０７）、次いで、ステップ２０８に示すように、前述の確率関数によって決定された確率値と比較される。ランダムな数の生成および前述の確率関数は、新しいポイントが現ポイントとして採用されることになるか否かを判定し、極小値の外へジャンプする能力をシミュレーテッドアニーリングに与える。新しい値が受諾されることを確率関数が指示する場合は（ステップ２０８（イエス））、それが現在の解ほどよい解ではない事実にもかかわらず、新しいポイントが現ポイントとして設定される（ステップ２０６）。一方、新しい解が拒絶された場合は（ステップ２０８（ノー））、次の反復セットに向けて温度が下げられるべきか否かが判定される（ステップ２０９）。これは、所定数の近傍解が評価されたか否かによって判定される。下げられない場合（ステップ２０９（ノー））、プロセスは、同じ温度値を使用して繰り返される。十分な数の解が評価された場合は（ステップ２０９（イエス））、前述の温度降下関数に従ってＴの値が下げられる（ステップ２１０）。温度の最小値が得られるまでプロセス全体が繰り返され（ステップ２１１）、得られたときにプロセスは終了する。温度を変更する前に評価する、近傍解の数は、最初は経験に基づいて推測することによって設定され、かつ、後に経験に基づく知識によって設定される。
【００７６】
（シミュレーテッドアニーリングの応用）
本発明は、シミュレーテッドアニーリング法に対する変更および向上を含み、したがって、ＣＰＵ時間を削減することによってこの方法を改善する。これらの変更は、いくつかの理由でなされた。従来のシミュレーテッドアニーリングが採用された場合に得られるであろう単一かつ隔離された最適ベース位置を得ることは、工業ＣＡＤシステムのコンテキストでは十分なものではない。実際、ロボットおよびその環境の幾何形状モデリングは、現実世界を十分な精度で表さない。シミュレーテッドアニーリング法から得られた結果がパフォーマンスの低下を生じる配置で取り巻かれると仮定した場合、結果を現実の現場に移行することは不可能であろう。したがって、大域的最適解に近い解を含み、ユーザによって定められた定義済みの率よりも低いパフォーマンスロスを保証する領域を得ることが有利であろう。
【００７７】
さらに、シミュレーテッドアニーリング法は、長い計算時間を必要とする。長大な計算の理由の１つは、シミュレーテッドアニーリングが、極小値のまさに最下部を訪れない限り通常解から極小値を区別することができないことである。シミュレーテッドアニーリングは、初期段階の間、温度が高いときに、調査空間の広いエリアをサンプリングするが、ずっと後で温度が下げられたときにしか極小値に深く下降しない。これは、ロボットのベースが大域的最小値のアトラクション領域に早くに入ったとしても、シミュレーテッドアニーリング法は局所探索を行わず、領域全体の探索を継続することを意味する。これは非常に望ましくない。シミュレーテッドアニーリングが探索の早い段階で局所探査に専心するように、従来のシミュレーテッドアニーリングに何らかの「便宜主義」を構築することが有利であろう。本発明によれば、修正されたシミュレーテッドアニーリングアルゴリズムが、新しい２つの特長によってこの目的を達成するように設計された。
【００７８】
（冷凍−加熱サイクル）
局所探査問題の解決に対処するためには、２つのファクタが重要である。第１は、局所探索に付することが、実際には傾斜下降の実施を意味することである。第２の事実は、温度がゼロに近いときにシミュレーテッドアニーリングが傾斜下降と等価であることである。したがって、シミュレーテッドアニーリングアルゴリズムに便宜主義を加えるためには、極小値の最下部に達するのに必要なだけ長く温度をゼロ近くまで下げるだけで十分である。その後、温度はその初期減少スケジュールを回復することができる。この方式は、「冷凍−加熱サイクル」と呼ばれる。
【００７９】
（極小値の記憶）
理想的には、最低の谷をできるだけ速く探査し（冷凍）、できるだけ速く脱出し（加熱）、二度と訪れないことが有利である。同じ極小値を再訪することを避けるため、本発明によれば、それまでに見つかったすべての極小値のリストが、それらのアトラクションエリアと共に記憶される。この目的で、極小値のアトラクションエリアが、傾斜下降がそこからこの極小値で終了するとされるすべてのベース位置の組として規定される。実際には、このような組を解析的に記述することは不可能であり、アトラクションエリアは、傾斜下降の最初のベース位置を経由する、極小値を中心とした円に対応することになる。これを図１１に図示するが、ここでは円９０内のエリアがアトラクションエリアである。経線ｄ（９３）は、極小値９１から解まで、または下降アルゴリズムがそこから適用されて極小値９１を見つけることになった位置９２までの距離によって確立される。図１２に示すように、後で、アトラクションエリア９０の外にある別の位置９５からの傾斜下降が９０の中にある構成中で終了する探索の間にいつでも、アトラクションエリア９０のサイズは、位置９５を含むように更新され、円９６を境界とする拡張されたアトラクションエリアが得られる。このようなアトラクションエリアは、真の極小値アトラクションエリアのサイズを過大評価する可能性がある。しかし、修正された方法は、これがシミュレーテッドアニーリング法の集束特性に影響しないようにうち立てられ、同時に、よりよい結果をもたらす。傾斜下降は、実際、いずれかの既存のアトラクションエリアの外にある構成からしか開始されず、構成はアトラクションエリア内にあり、シミュレーテッドアニーリングはランダムなステップを実行しつづけて、おそらく新しい最小値を生じることになる。
【００８０】
図１３を参照すると、このイノベーションの、修正されたシミュレーテッドアニーリングアルゴリズムの方法が示されている。したがって、フリー許容ベース位置領域から初期ロボット位置が選択され（ステップ６００）、この位置が現在の解として設定され（ステップ６０１）、温度関数が初期設定される（ステップ６０２）。次いで、現在の解がアトラクションエリア内にあるか否かが判定される（ステップ６０３）。アトラクションエリア内にある場合は、標準的なシミュレーテッドアニーリングが適用されて大域的最適解がエリア内で見つけられる。図１３を参照すると、これは、ステップ６０４から６１５を含み、ステップ６０７、６１３、６１５で必要とされるクエリ「Ｔ＝０」への回答は、否定で回答される。この場合、温度は温度降下関数に従って下げられる。
【００８１】
しかし、現在の解がアトラクションエリア内でない場合は、冷凍−加熱サイクルは、Ｔからゼロの値を設定することによって適用され（ステップ６１９）、極小値から外にジャンプするかまたは「上り坂を」登る可能性なしに最小値に向かって迅速に作用する下降アルゴリズムが得られる。評価されている解がアトラクションエリア中でない場合は、２つの結果のうちの１つが生じる。下降アルゴリズムの間に解が既存のアトラクションエリアのエリアの中に下降する場合は、既存のアトラクションエリアは、下降アルゴリズムが端を発した解を含むように更新され、この場合、図１２に示すように、そのアトラクションエリアのサイズが増大される。これを図１３のステップ６１６に示す。このステップで、ステップ６０６で判定された、初期解よりもよい解は、ステップ６１３中のクエリが肯定で回答される（Ｔ＝０）ためにステップ６１６に達する。ステップ６１６で、新しい解が既存のアトラクションエリア内であることが判定され、次いでアトラクションエリアは、下降アルゴリズムが端を発した解を含むように更新されて、拡張されたアトラクションエリアが得られる。
【００８２】
一方、下降アルゴリズムの間に、解が既存のアトラクションエリア内に収まらずに最小値まで下降した場合は、極小値が新しいアトラクションエリアの中心で見つかったと判定される。この場合、対応するアトラクションエリアが作り出されて記憶される（図１３、ステップ６２１および６２２）。
【００８３】
（例）
ここで、本発明の方法を応用した一例を、図５に示すように溶接ツールを車のウインドスクリーンの様々なポジションに持ってくることによって規定されるワークプランに関して述べる。このワークプランは、固定した位置および配向の６つのポイント（１から６）で構成されたもので、個々の動きはデカルト空間中のセグメントにある。
【００８４】
ワークプランは、どんな配置が選択されても車体との衝突を避けるように設計されている。このようにして、この例は、考察中のワークプランに対する許容ベース位置領域ができるだけ広くなるような、修正されたシミュレーテッドアニーリング法のパフォーマンスに焦点を当てている。
【００８５】
シミュレーテッドアニーリング法の修正により、計算の始めに傾斜下降から得られる一組の局所最適解がもたらされる。図１４に、大域的最適配置の近傍にあるそれらの位置を図示する。これらの配置は、初期に考慮されなかった追加の制約が作業場所に加えられて、いくつかのベース位置が実際的でなくなった場合に有利なことがある。本発明の修正されたシミュレーテッドアニーリング法の、一組のほぼ最適なポイントを得る能力は、従来のシミュレーテッドアニーリング法に勝る大きな利点であり、これは、ただ１つの最適ポイントをもたらす。実際は、作業場所環境は頻繁に変更を受ける。そのような変更が起こり、１つまたは複数のベース位置が動作可能になったとき、ユーザは、修正されたシミュレーテッドアニーリング法で見つけた一組のほぼ最適な位置から別の位置を迅速に選択することができる。したがって、よいロボットベース位置を見つけるための新しい制約で完全に新しいシミュレーションを行う必要なく、新しい配置場所がすぐに利用可能である。
【００８６】
例において見つけられたロボットのベースの最適位置から、１．８４秒のサイクルタイムが得られ、これは、最悪パフォーマンスを伴う位置と比較して３８パーセントの改善である。図１５に、図１４で示した最適配置（１４）がベース位置領域１５０内に配置されているのを示す。最適ポジションは、ベース位置領域１５０の輪郭に相対的に近い。それにもかかわらず、１０パーセントより小さいパフォーマンスロスを保証する範囲は、比較的広い（図１４）。このような結果に対する計算時間は５分であり、その９５パーセントは、ＣＡＤソフトウェアによる目的関数評価に必要とされるものであった。
【００８７】
前述の方法は、ＣＡＤ／ＣＡＭシステムによって規定できるどんな作業場所構成に向けたロボット配置にも適用することができることを理解されたい。本発明は、ディジタル電子回路中、あるいはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せの中で実施することができる。本発明の装置は、プログラマブルプロセッサによって実行するために機械読取可能な記憶装置中に実体的に組み入れられたコンピュータプログラム製品中に実装することができ、本発明の方法ステップは、入力データに対して動作し出力を生成することによって本発明の関数を実行する命令のプログラムを実行するプログラマブルプロセッサによって行うことができる。
【００８８】
本発明は、データ記憶システム、少なくとも１つの入力装置、および少なくとも１つの出力装置からデータおよび命令を受け取り、かつ、それらにデータおよび命令を送るように結合された、少なくとも１つのプログラマブルプロセッサを備えるプログラマブルシステム上で実行可能な１つまたは複数のコンピュータプログラム中で実施することが有利な場合がある。アプリケーションプログラムは、高級手続き型プログラミング言語またはオブジェクト指向プログラミング言語で、あるいは望むならアセンブリ言語または機械語で実施することができ、いずれの場合でも、言語はコンパイル済みまたは解釈済み言語とすることができる。
【００８９】
一般に、プロセッサは、命令およびデータを読取専用メモリおよび／またはランダムアクセスメモリから受け取ることになる。コンピュータプログラム命令を実体的に組み入れるのに適した記憶装置には、例としてＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ素子などの半導体メモリ素子、内部ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭディスクを含めた、すべての形の不揮発性メモリが含まれる。前述のものはいずれも、特別に設計されたＡＳＩＣ（特定用途向けＩＣ）で置換するかまたはそれに組み込むことができる。
【００９０】
本発明のいくつかの実施形態を述べた。本発明の趣旨および範囲を逸脱することなく様々な修正を加えることができることは、理解されるであろう。したがって、他の実施態様は、頭記の特許請求の範囲内にある。
【００９１】
【発明の効果】
したがって、本発明によれば、ワークからみたロボットのベースの可能な最適配置を効率的な仕方で見つけるためのシステム、方法、および装置が提供される。
【００９２】
また、本発明によれば、従来のシュミレーテッドアニーリング法を使用すれば必要となるよりもずっと少ない計算リソースを使用して、一組のほぼ最適な解が得られることになる。
【図面の簡単な説明】
【図１】本発明のシステムの概略図である。
【図２】本発明による、そのベースが水平面中の許容ベース位置領域内に配置されたロボットの図である。
【図３】本発明による、そのベースが水平面中のフリー許容ベース位置領域内に配置されたロボットの図である。
【図４】ロボットの動きの軸を示す座標系内に位置するロボットの図である。
【図５】作業、この場合には自動車のフロントガラス窓の周りにある一組のスポット溶接を行うロボットエンドエフェクタによってたどられる軌道の一例を示す図である。
【図６】本発明による、「障害物シャドウ」の計算に使用される「視界セクタ」の一例を示す図である。
【図７】本発明による、フリー許容ベース位置領域を計算する方法の概略図である。
【図８】障害物シャドウを決定するための本発明の方法によって、ロボットのエンドエフェクタの動きをシミュレートした図である。
【図９】極小値があるときに単純な反復法を使用して大域的最小値を決定することの問題を示す図である。
【図１０】シミュレーテッドアニーリング法の概略図である。
【図１１】本発明による「アトラクションエリア」の図である。
【図１２】本発明による、初期データポイントからアトラクションエリア中への傾斜下降から得られるアトラクションエリアの拡張の図である。
【図１３】本発明による修正されたシミュレーテッドアニーリング法の概略図である。
【図１４】本発明のシミュレーテッドアニーリング法によって生成された、一組のほぼ最適なデータポイントの立体グラフ（ｇｒａｐｈｉｃ  ｉｌｌｕｓｔｒａｔｉｏｎｉｎ  ｌａｎｄｓｃａｐｅ  ｆｏｒｍ）である。
【図１５】フリー許容ベース位置領域上に重ねられた図１４のデータポイントのフィールドを示す図である。
【図１６】本発明で使用できるコンピュータシステムのブロック図である。
【図１７】許容ベース位置領域を決定するための解析的枠組みを形成する、ロボットのリストジョイント座標系の図である。
【符号の説明】
１４  最適配置
６０  許容ベース位置領域
６１  主要アームの先端
６２  リストの中心
６３  ベース
７０  フリー許容ベース位置領域
８０  リストの中心
８１  障害物
８５  ベース位置領域の限界
８６  ベース位置領域の限界
９０  アトラクションエリア
９１  得られる局所最適解
９１  極小値
９２  下降アルゴリズムがそれから適用された解
９６  更新されたアトラクションエリア
１００  コンピュータシステム
１０１  ＣＰＵ
１０５  ＲＡＭ
１０６  キャッシュＳＲＡＭ
１０２  ＣＰＵバス
１０２  プロセッサホストバス
１０３  システムコントローラ
１０４  ＤＲＡＭコントローラ
１０４  統合ＲＡＭメモリコントローラ
１０５  ＲＡＭ
１１０  ペリフェラルバス
１１１  ハードディスクドライブ制御インタフェース
１１４  ネットワークアダプタ
１１２  ビデオコントローラ
１１３  ハードディスクドライブ
１１５  ビデオ表示装置
１２０  ＩＳＡバス
１２１  キーボードコントローラ、ＲＴＣ、シリアルポート、パラレルポート
１２２  ＲＯＭ
１２３  ＢＩＯＳ
１２４  オーディオ
１５０  ベース位置領域
５００  初期大域パス
５０１  初期ポイント
５０２  外側の輪郭
５０３  目標ポイント
【図１】
0003566920.tif 000005
【図２】
0003566920.tif 000006
【図３】
0003566920.tif 000007
【図４】
0003566920.tif 000008
【図５】
0003566920.tif 000009
【図６】
0003566920.tif 000010
【図７】
0003566920.tif 000011
【図８】
0003566920.tif 000012
【図９】
0003566920.tif 000013
【図１０】
0003566920.tif 000014
【図１１】
0003566920.tif 000015
【図１２】
0003566920.tif 000016
【図１３】
0003566920.tif 000017
【図１４】
0003566920.tif 000018
【図１５】
0003566920.tif 000019
【図１６】
0003566920.tif 000020
【図１７】
0003566920.tif 000021