説明

3次元シミュレータ用動作情報生成システム及び3次元シミュレータ用動作情報生成プログラム

【課題】3次元シミュレータの外部システムにおいて人体や物体の座標データを指示することにより、各動作を3次元シミュレータで実行する。
【解決手段】3次元シミュレータ14上の座標を示す座標データにより各設定及び演算がなされる。3次元シミュレータ14で作成されたモデルデータをモデルデータ読出部20で読出し、変数変換し、情報テーブル22の各情報テーブルに設定する。部品情報設定部28により各デバイスの色や位置を調整し、把持情報設定部30により、オフセット情報から各部品の回転中心を演算し、把持情報テーブル52に設定する。デバイス情報複合化部32により組立順序レシピ58に基づいてデバイス等を複製し、移動情報算出/生成部34で歩行するための動作情報を生成する。動作情報生成部36は、各情報テーブルに設定されているデータに基づいて動作位置制御演算部24により人体の動作情報及び動作制御プログラムを作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元シミュレータ用動作情報生成システム及び3次元シミュレータ用動作情報生成プログラムに関する。
【背景技術】
【0002】
特許文献1には、複数の作業標準から成る作業を複数のステーションに割り付け編成する作業割付システムにおいて、編成対象の複数の作業標準の名称を表示する表示手段と、編成条件を入力する条件入力手段と、編成条件に応じて、前記複数の作業標準に分割し、分割した1グループの作業標準をステーションに割り付ける割付手段と、ステーション毎の作業標準の割付結果を作業割付がいる似出力する出力手段とを備えることにより、複数の作業標準からなる作業を、コンピュータにより自動的に且つ効率的に、複数のステーションに割り付けて編成する技術が記載されている。
【0003】
特許文献2には、作業手順作成支援システムにおいて、記憶装置から、一連の、組立作業中における各部品の接触関係によって区別される複数の状態を生じさせる操作である基本操作を示す情報を読出し、前記基本操作の前後における組立て作業要素の状態を示す情報、及び組立作業の初期状態及び終了状態における組立作業要素の状態を示す情報を作成し、これらに基づき、基本操作の前後に操作すべき基本操作以外の操作を示す情報を作成し、基本操作を示す情報及び基本操作以外の操作を示す情報に基づき、組立作業の手順を出力する技術が記載されている。
【0004】
特許文献3には、忠実にモデル化した仮想ワークに対して与えられた処理工程のうち、密接に関連して一続きとして行われる複数の処理のそれぞれに対応した、忠実にモデル化した仮想リソースによる操作を、自動的、連続的に実行するモジュールを組み合わせることにより、容易にシミュレーションモデルを構築する技術が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−256333号公報
【特許文献2】特開2002−278615号公報
【特許文献3】特開2004−5431号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、3次元シミュレータの外部システムにおいて人体や物体の座標データを指示することにより、各動作を3次元シミュレータで実行することができる、3次元シミュレータ用動作情報生成システム及び3次元シミュレータ用動作情報生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1に記載の3次元シミュレータ用動作情報生成システムは、3次元シミュレータで作成された人体及び物体を示す基本モデルデータを読出す読出手段と、前記読出手段で読出された前記基本モデルデータが示す人体及び物体の移動位置を示す座標データを設定する座標設定手段と、前記座標設定手段で設定された座標データに基づいて前記3次元シミュレータの演算手法により人体の曲げ角度、物体の回転角度、及び移動先を演算し、演算結果に基づいて人体及び物体の動作を示すモデルデータを生成し、かつ、当該人体及び物体の動作順序の情報を生成する、動作情報生成手段と、前記動作情報生成手段で生成された前記モデルデータ及び前記動作順序の情報を前記3次元シミュレータに出力する情報出力手段と、を備える。
【0008】
請求項2に記載の3次元シミュレータ用動作情報生成システムは、請求項1に記載の3次元シミュレータ用動作情報生成システムにおいて、前記基本モデルデータが示す物体が人体により組立てられる位置及び向きを示す組立情報を記憶する組立情報記憶手段と、前記基本モデルデータが示す物体における任意の位置と、前記基本モデルデータが示す人体と、の位置関係を演算する位置関係演算手段と、前記基本モデルデータと、前記組立情報記憶手段に記憶されている前記組立情報と、前記位置関係演算手段により演算された位置関係と、に基づいて、前記物体における任意の位置を前記モデルデータが示す人体が把持した場合の当該人体の把持角度及び位置を演算する把持情報演算手段と、を備え、前記動作情報生成手段は、前記把持情報演算手段により演算された当該人体の把持角度及び位置に基づいて、前記モデルデータ及び動作順序の情報を生成する。
【0009】
請求項3に記載の3次元シミュレータ用動作情報生成システムは、請求項1または請求項2に記載の3次元シミュレータ用動作情報生成システムにおいて、前記モデルデータが示す物体における基本位置である原点の位置を前記モデルデータが示す人体が把持した場合の把持角度及び位置を記憶する把持基本情報記憶手段を備え、前記動作情報生成手段は、前記把持情報記憶手段に記憶されている把持角度及び位置に基づいて、前記モデルデータ及び動作順序の情報を生成する。
【0010】
請求項4に記載の3次元シミュレータ用動作情報生成システムは、請求項3に記載の3次元シミュレータ用動作情報生成システムにおいて、前記把持情報演算手段は、前記原点に対する任意の向きの当該物体の回転中心を演算し、前記把持情報演算手段で演算された前記回転中心と、前記把持基本情報記憶手段に記憶されている前記原点の位置を把持した場合の把持角度及び位置と、に基づいて、前記人体が前記任意の向きの当該物体を把持する把持角度及び位置を演算する任意把持情報演算手段を備え、前記動作情報生成手段は、任意把持情報演算手段により演算された当該物体を把持する把持角度及び位置に基づいて、前記モデルデータ及び動作順序の情報を生成する。
【0011】
請求項5に記載の3次元シミュレータ用動作情報生成システムは、請求項1から請求項4のいずれか1項に記載の3次元シミュレータ用動作情報生成システムにおいて、前記モデルデータが示す人体及び物体の数を増加させるために前記基本モデルデータを複製する複製手段を備える。
【0012】
請求項6に記載の3次元シミュレータ用動作情報生成システムは、請求項5に記載の3次元シミュレータ用動作情報生成システムにおいて、前記組立情報記憶手段は、前記基本モデルデータが示す物体が組立てられる組立工程を記憶し、前記複製手段は、前記組立情報記憶手段に記憶されている組立工程に基づいて、前記基本モデルデータを複製する。
【0013】
請求項7に記載の3次元シミュレータ用動作情報生成システムは、請求項1から請求項6のいずれか1項に記載の3次元シミュレータ用動作情報生成システムにおいて、前記物体は組立に使用される部品及び工具を含む。
【0014】
請求項8に記載の3次元シミュレータ用動作情報生成システムは、請求項1から請求項7のいずれか1項に記載の3次元シミュレータ用動作情報生成システムにおいて、前記基本モデルデータが示す人体及び物体の色を示す色情報を設定するモデル情報設定手段を備え、前記動作情報生成手段は、前記モデル情報設定手段により設定された前記色情報に基づいて、前記モデルデータを生成する。
【0015】
請求項9に記載の3次元シミュレータ用動作情報生成システムは、請求項1から請求項8のいずれか1項に記載の3次元シミュレータ用動作情報生成システムにおいて、前記座標データは、前記モデルデータが示す物体の移動前及び移動後の座標及び各座標軸を含む。
【0016】
請求項10に記載の3次元シミュレータ用動作情報生成システムは、請求項1から請求項9のいずれか1項に記載の3次元シミュレータ用動作情報生成システムにおいて、前記モデルデータが示す人体が予め定められた姿勢を示す場合の姿勢情報を記憶する姿勢情報記憶手段を備え、前記動作情報生成手段は、前記姿勢情報記憶手段に記憶されている前記姿勢情報に基づいて、前記モデルデータ及び動作順序の情報を生成する。
【0017】
請求項11に記載の3次元シミュレータ用動作情報生成システムは、請求項1から請求項10のいずれか1項に記載の3次元シミュレータ用動作情報生成システムにおいて、前記モデルデータが示す人体が歩行する場合の歩行情報を記憶する歩行情報記憶手段と、前記歩行情報記憶手段に記憶されている前記歩行情報と、当該人体の移動方向及び移動距離を示す情報と、に基づいて当該人体の歩行動作情報を生成する歩行動作情報生成手段と、を備え、前記動作情報生成手段は、前記歩行動作情報生成手段により生成された歩行動作情報に基づいて、前記モデルデータ及び動作順序の情報を生成する。
【0018】
請求項12に記載の3次元シミュレータ用動作情報生成プログラムは、請求項1から請求項11のいずれか1項に記載の3次元シミュレータ用動作情報生成システムとしてコンピュータを機能させるためのものである。
【発明の効果】
【0019】
請求項1及び12に記載の本発明によれば、3次元シミュレータの外部システムにおいて人体や物体の座標データを指示することにより、各動作を3次元シミュレータで実行することができる、という効果が得られる。
【0020】
請求項2に記載の本発明によれば、人体が物体を把持した場合の形状を設定できる、という効果が得られる。
【0021】
請求項3に記載の本発明によれば、本構成を有しない場合に比較して、容易に把持情報を得ることができる、という効果が得られる。
【0022】
請求項4に記載の本発明によれば、実際の部品の荷姿等の位置や角度を表現することができる、という効果が得られる。
【0023】
請求項5に記載の本発明によれば、デバイス情報を複製できる、という効果が得られる。
【0024】
請求項6に記載の本発明によれば、製品の組立工程に対応したデバイスの複製を行う、という効果が得られる。
【0025】
請求項7に記載の本発明によれば、製品の組立工程をシミュレーションできる、という効果が得られる。
【0026】
請求項8に記載の本発明によれば、デバイスの色を実際の部品に近い色に設定することができる、という効果が得られる。
【0027】
請求項9に記載の本発明によれば、本構成を有しない場合に比較して、精度良く短時間でシミュレーションモデルを作成する、という効果が得られる。
【0028】
請求項10に記載の本発明によれば、本構成を有しない場合に比較して、人体の基本姿勢を容易に取得できる、という効果が得られる。
【0029】
請求項11に記載の本発明によれば、人体の歩行をシミュレーションできる、という効果が得られる。
【図面の簡単な説明】
【0030】
【図1】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成システムの概略構成の一例を示す概略構成図である。
【図2】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成システムの概略構成の一例を示す機能ブロック図である。
【図3】本発明の第1の実施の形態に係るデバイス情報テーブルの具体的一例を示す説明図である。
【図4】本発明の第1の実施の形態に係るAssembly情報テーブルの具体的一例を示す説明図である。
【図5】本発明の第1の実施の形態に係る動作情報テーブルの具体的一例を示す説明図である。
【図6】本発明の第1の実施の形態に係るPath_Top情報テーブルの具体的一例を示す説明図である。
【図7】本発明の第1の実施の形態に係るその他情報テーブルの具体的一例を示す説明図である。
【図8】本発明の第1の実施の形態に係る部品情報テーブルの具体的一例を示す説明図である。
【図9】本発明の第1の実施の形態に係る把持情報設定部で部品の回転中心を演算する理由を説明するための説明図である。
【図10】本発明の第1の実施の形態に係る把持情報テーブルの具体的一例を示す説明図である。
【図11】本発明の第1の実施の形態に係る工程毎部品情報テーブルの具体的一例を示す説明図である。
【図12】本発明の第1の実施の形態に係るデバイスリスト情報テーブルの具体的一例を示す説明図である。
【図13】本発明の第1の実施の形態に係る歩行のひながたテーブルの具体的一例を示す説明図である。
【図14】本発明の第1の実施の形態に係る動作情報生成部で実行される動作種類選択処理の流れの一例を示すフローチャートである。
【図15】本発明の第1の実施の形態に係る動作情報生成部で実行されるねじの組付け動作情報設定処理の流れの一例を示すフローチャートである。
【図16】本発明の第1の実施の形態に係る組立順序レシピの具体的一例を示す説明図である。
【図17】本発明の第1の実施の形態に係る姿勢情報テーブルの具体的一例を示す説明図である。
【図18】本発明の第1の実施の形態に係る姿勢情報テーブルの具体的一例を示す説明図である。
【図19】本発明の第1の実施の形態に係るPath_Top/動作情報/Assemblyのひながたテーブルの具体的一例を示す説明図である。
【図20】本発明の第1の実施の形態に係る把持基本情報テーブルの具体的一例を示す説明図である。
【図21】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成システムの操作画面の一例を示す説明図である。
【図22】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成処理の流れの一例を示すフローチャートである。
【図23】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成処理のモデルデータ読出処理の流れの一例を示すフローチャートである。
【図24】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成処理の部品情報設定処理の流れの一例を示すフローチャートである。
【図25】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成処理の把持情報設定処理の流れの一例を示すフローチャートである。
【図26】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成処理のデバイス情報複合化処理の流れの一例を示すフローチャートである。
【図27】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成処理の動作情報生成処理の流れの一例を示すフローチャートである。
【図28】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成処理の半完成品を組み立て位置に移動させる動作情報生成処理の流れの一例を示すフローチャートである。
【図29】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成処理の移動動作情報生成処理の流れの一例を示すフローチャートである。
【図30】本発明の第1の実施の形態に係る肩と肘の直線距離とひじの張り出し量との関係の具体的一例を示す、説明図である。
【図31】本発明の第1の実施の形態に係る肘の張り出し量取得処理の流れの一例を示すフローチャートである。
【図32】本発明の第1の実施の形態に係る3次元シミュレータ用動作情報生成処理のモデルデータ読出処理の流れの一例を示すフローチャートである。
【図33】本発明の第2の実施の形態に係る3次元シミュレータ用動作情報生成システムの概略構成の一例を示す機能ブロック図である。
【図34】本発明の第3の実施の形態に係る3次元シミュレータ用動作情報生成システムの概略構成の一例を示す機能ブロック図である。
【発明を実施するための形態】
【0031】
[第1の実施の形態]
以下、図面を参照して本発明の実施の形態を詳細に説明する。本実施の形態の3次元シミュレータ用動作情報生成システムは、3次元シミュレータが出力するシミュレーション条件データ(動画パラメータファイル)、組立順序レシピ、及び3次元シミュレータ用動作情報生成システム内のひながた等を参照し、3次元シミュレータ上で動作する人体モデル及び物体モデルの設定や、数の拡張を行うと共に、人体モデル及び物体の動作を示す情報を生成するものである。また、本実施の形態の3次元シミュレータ用動作情報生成システム10は、製品を人物により組立てる工程を3次元シミュレータでシミュレートするための動作情報を生成するものとして詳細に説明している。
【0032】
図1に、本実施の形態の3次元シミュレータ用動作情報生成システムの概略構成の一例の概略構成図を示す。
【0033】
本実施の形態の3次元シミュレータ用動作情報生成システム10は、3次元シミュレータ用動作情報生成プログラム11及び3次元シミュレータ用動作情報生成プログラムを実行するためのコンピュータ12を備えて構成されている。3次元シミュレータ用動作情報生成プログラム11は、コンピュータ12のHDD等にインストールされ、CPUにより読込まれて実行される。ユーザは、コンピュータ12のユーザインターフェイスを介して座標データの入力や3次元シミュレータ用動作情報生成に関する指示を行う。
【0034】
なお、本実施の形態では、具体的一例として、3次元シミュレータ用動作情報生成システム10をMicrosoft社製、Excelのマクロ+C言語によるDLLとして構成した。なお、3次元シミュレータ用動作情報生成システム10の構成はこれに限らないが、デバグのやり易さ、設定値をワークシートの各セルに置く事で、その値を自由に確認したり、変更したりできること、演算には直接関与しないコメントや条件等をテキストボックス内に書込み、ワークシートに貼り付けることによりどの様な条件で計算したのか等が処理に影響を与えずに確認できることで好適である。しかし、処理言語には依存せず、BASIC、C、PASCAL、Delphi、及びJAVA(登録商標)等の言語を用いてもよい。
【0035】
本実施の形態の3次元シミュレータ用動作情報生成システム10が、シミュレーション用の動作情報を生成する3次元シミュレータ14は、演算方法等のアルゴリズムがわかり、3次元シミュレータ14で生成される動作パラメータファイル等を3次元シミュレータ用動作情報生成システム10内の変数に変換されるものであればよい。なお、本実施の形態では、3次元シミュレータ14の具体的一例として、DELMIA社製、三次元汎用シミュレーションシステムENVISIONを用いた。
【0036】
図2に、本実施の形態の3次元シミュレータ用動作情報生成システム10の概略構成の一例の機能ブロック図を示す。
【0037】
本実施の形態の3次元シミュレータ用動作情報生成システム10は、モデルデータ読出部20、情報テーブル22、動作位置制御演算部24、保持情報演算部25、動作位置情報設定部26、部品情報設定部28、把持情報設定部30、デバイス情報複合化部32、移動情報算出/生成部34、動作情報生成部36、及びモデルデータ出力部38を備えて構成されている。また、デバイス情報テーブル40、Assembly情報テーブル42、動作情報テーブル44、Path_Top情報テーブル46、その他情報テーブル48、部品情報テーブル50、把持情報テーブル52、工程毎部品情報テーブル54、デバイスリスト情報テーブル56、組立順序レシピ58、姿勢情報テーブル60、Path_Top/動作情報/Assemblyのひながたテーブル62、把持基本情報テーブル64、及び歩行のひながたテーブル66を備えて構成されている。
【0038】
モデルデータ読出部20は、3次元シミュレータ14で生成された動画パラメータファイルであるモデルデータ70を読出し、3次元シミュレータ用動作情報生成システム10で処理するためのデータ(変数)に変換し、情報テーブル22に含まれる各情報テーブルに設定し、記憶させるものである。
【0039】
情報テーブル22は、デバイス情報テーブル40、Assembly情報テーブル42、動作情報テーブル44、Path_Top情報テーブル46、及びその他情報テーブル48を含んでいる。
【0040】
デバイス情報テーブル40は、モデルデータ70に含まれる全ての、人物、及び部品、工具、製品等の物体(以下、デバイスと総称する)に関する情報が設定、格納されるものである。本実施の形態のデバイス情報テーブル40の具体的一例を図3に示す。
【0041】
Assembly情報テーブル42は、各デバイスが動く前の初期の座標、角度、位置及び、動いた後の座標、角度、位置に関する情報が設定、格納されるものである。本実施の形態のAssembly情報テーブル42の具体的一例を図4に示す。
【0042】
動作情報テーブル44は、人体にどんな動きをさせるのか、例えば、姿勢、保持情報、歩行等の情報が設定、格納されるものである。本実施の形態の動作情報テーブル44の具体的一例を図5に示す。
【0043】
Path_Top情報テーブル46は、動作を何ステップで記述したか等の情報が設定、格納されるものである。本実施の形態のPath_Top情報テーブル46の具体的一例を図6に示す。
【0044】
その他情報テーブル48は、シミュレーション空間のサイズ、人体やデバイスの総数、人体やデバイスの移動経路情報の総数、作成日など、3次元シミュレータ14上で動作させるためのその他の情報が設定、格納されるものである。本実施の形態のその他情報テーブル48の具体的一例を図7に示す。
【0045】
動作位置制御演算部24は、保持情報演算部25を含んで構成されている。人体が物体を把持する座標と、肩の座標とに基づいて、肩、肘、手首の関節の曲げ角度の情報を演算し、出力するものである。
【0046】
本実施の形態の3次元シミュレータ用動作情報生成システム10では、物体を移動させる場合に、手首と把持位置は一定の相対位置・角度となるように制御される。人間の腕から先は数多くの関節があるが手首と肩の間には、肩に自由度が3、肘に自由度が1の合計4個の回転軸を持つロボットとして表現される。手首と把持位置の相対位置が一定ということは、手に把持した物体を移動させる場合、上記の4軸に着目して制御すれば良いので、演算が簡略化される。また、手首と把持位置が一定の相対位置の場合、詳細を後述する把持情報が変化しないので、手が物体を掴む形状に関する情報(指の各関節の曲げ量)及びその基本情報(手首と把持位置の相対座標)を雛形として3次元シミュレータ用動作情報生成システム10に設定、登録しておくことで、物体の種類及び形状に関係なく搬送状態が表現される。
【0047】
手首から先は、手首から把持位置を決定する指の付け根(例えば、手首、中指の付け根、小指の付け根)までのベクトル(距離と向き)が一定となるように手首の3つの制御パラメータ値が演算される。雛形として3次元シミュレータ用動作情報生成システム10に登録されている手の把持形状が、3次元シミュレータ14でシミュレートさせる仕事(動作)にふさわしくない場合は、3次元シミュレータ14のユーザインターフェイスを使用し、適当な指の位置(向き)を設定し、必要なベクトル値を取得することにより、手首の位置(ひいては物体の位置)に関係なく、物体を移動させる動作が表現される。
【0048】
演算手法は、三角関数や回転行列の組み合わせにより行われる。具体的には、以下の演算機能を持ち、目的により適宜組み合わせて使用される。
【0049】
1.手首位置の座標(X、Y、Z)と、手首から把持位置までのオフセット量(X、Y、Z)を設定することにより、腰から上の各関節の曲げ角度を演算する。
【0050】
2.任意角度(φ、θ、ψ)の物体を回転中心座標(X、Y、Z)で、基準角度(φ=θ=ψ=0)に回転させた場合の、物体原点の移動先座標を演算する。
【0051】
3.基準角度(φ=θ=ψ=0)の部品を回転中心座標(X、Y、Z)で任意角度(φ、θ、ψ)に回転させた場合の、物体原点の移動先の座標を演算する。
【0052】
4.任意角度(φ1、θ1、ψ1)の物体を回転中心座標(X、Y、Z)で、任意角度(φ2、θ2、ψ2)だけ回転させた場合の、物体原点の移動先の座標を演算する。
【0053】
5.角度情報(φ、θ、ψ)から変換行列を演算する。
【0054】
6.変換行列から、角度情報(φ、θ、ψ)を演算する。
【0055】
7.その他の演算(回転行列演算、三角関数演算、逆三角関数演算)を行う。
【0056】
8.物体原点(X=Y=Z=φ=θ=ψ=0)の把持情報、把持する手(右手/左手)、把持位置(X、Y、Z)、物体の角度情報(φ、θ、ψ)に基づいて、把持情報を演算し、取得する。
【0057】
保持情報演算部25は、上記により演算し、把持基本情報テーブル64に設定されている物体原点(X=Y=Z=φ=θ=ψ=0)を把持した場合の把持パラメータ(把持基本情報テーブル64に設定されている)と、把持情報テーブル52の回転中心座標情報に基づいて、組立時に任意の角度に向きを変えた物体の把持情報を演算するものである。なお、把持情報設定部30の、任意の向きφ、θ、ψを、基準の向きφ=θ=ψ=0にした場合にX、Y、Zを変化させる演算と、保持情報演算部25の基準の向きφ=θ=ψ=0を、任意の向きφ、θ、ψにした場合にX、Y、Zを変化させる演算は、逆方向の回転となる。
【0058】
動作位置情報設定部26は、ユーザがデバイスの移動位置等を示す座標データ等を設定するためのものであり、本実施の形態では、具体的にはExcelのワークシートである。
【0059】
部品情報設定部28は、デバイスの位置、姿勢、及び色に関する情報を確認及び修正し、人体と物体との位置関係を演算するためのものである。具体的には、デバイス情報テーブル40に設定されているデータから、製品を構成する(組み立てる)部品の位置、姿勢(角度、向き)及び色に関する情報を抽出し、表示・設定用のテーブルとして複写する。これによりユーザは、ユーザインターフェイスを介して、位置、姿勢及び色に関する情報の確認及び修正を行う。
【0060】
また、把持情報を生成するために、製品を構成する部品の把持位置を設定し、人体の座標を基準とした場合のオフセット情報(人体と部品との距離、位置関係)を演算する。
【0061】
部品情報テーブル50は、製品を構成する部品の初期座標や色に関する情報等が情報テーブル22から抽出され、設定されたものである。本実施の形態の部品情報テーブル50の具体的一例を図8に示す。
【0062】
本実施の形態の把持情報設定部30は、部品情報テーブル50に設定されているオフセット情報から、製品を構成する部品を部品原点(X=Y=Z=φ=θ=ψ=0)に動かした場合の回転中心と原点の偏差量(以下、リファレンスフレームと記す)を演算するものである。
【0063】
リファレンスフレームの演算を行う理由についてここで詳細に説明する。実際の製品の組み立てでは、人体が部品を掴む場合、CADデータ(モデルデータ)の原点を掴むのではなく、部品の適切な位置を掴む。従って、組み立てられる各部品には把持位置を設定する必要が生じる。把持位置に関する情報を採取する場合に、各部品の基準の向き(φ=θ=ψ=0)で配置するという制約を加えるとすると、オフセット情報は演算を要しないが、部品によっては、基準の向きでは入荷時の部品の荷姿を表現できない場合がある。部品のモデルデータは、部品毎に基準位置をもち、人体のモデルデータは、人体の基準位置をもち、それぞれが独立しているためにこのような場合が生じる。そのため、本実施の形態では、任意の角度で部品が配置され、人体がその把持位置を掴んだ場合、部品が基準の向きで配置されたと仮定すると、当該部品の原点がどこにあるのかを演算することが必要とされる。図9に示した具体的例により説明すると、人体が把持位置に手を伸ばしてもCADデータの原点位置は異なるため、部品の角度が変わると、意図した場所が掴めない。そのため、部品を基準の向き(φ=θ=ψ=0)に戻した場合に、その原点位置がどこになるのかを演算することが必要とされる。
【0064】
把持情報テーブル52は、1つのデバイス(部品、工具)に対して人体がどこを把持するのか、把持形状(保持タイプ)等が、情報テーブル22から抽出され、設定されたものである。本実施の形態の把持情報テーブル52の具体的一例を図10に示す。
【0065】
デバイス情報複合化部32は、組立順序レシピ58に基づいて、工程毎に分割した場合に複数個必要となる、物体や人体を複製すると共に、3次元シミュレータ14の仕様に従った、デバイス番号の割付や、I/O信号情報の拡張を行うものである。具体的には、以下の処理を行う。
【0066】
1.工程番号を必要に応じて入れ替える、2.物体を工程数分拡張し、工程毎部品情報テーブル54に設定する、3.各工程で組立てる部品を抽出する、4.デバイス情報を取得し、デバイスリスト情報テーブル56に設定する、5.デバイス情報を各工程に割り付ける、6.各部品の初期位置を設定する、7.I/O接続情報等を工程分割に対応して拡張する。
【0067】
複製、拡張した結果をデバイス情報テーブル40、工程毎部品情報テーブル54、及びデバイスリスト情報テーブル56に設定する。
【0068】
工程毎部品情報テーブル54は、工程毎に用いられる部品に関する情報がデバイス情報複合化部32により設定されたものである。本実施の形態の工程毎部品情報テーブル54の具体的一例を図11に示す。
【0069】
デバイスリスト情報テーブル56は、各工程で用いられるデバイスに関する情報がデバイス情報複合化部32により設定されたものである。本実施の形態のデバイスリスト情報テーブル56の具体的一例を図12に示す。
【0070】
移動情報算出/生成部34は、人体を移動させる(歩行させる)場合に用いるものである。移動情報算出/生成部34では、移動情報として移動方向及び移動量が設定される。ここで移動方向とは、前進/横移動/後退の何れかであり、移動量とは、1.移動距離と移動方向、2.相対移動距離(x軸成分、y軸成分)、3.移動後の絶対座標(x軸、y軸)のどれかを指す。なお本実施の形態では、各パラメータを設定することにより、移動量の上記3項目の全てが演算され設定される。
【0071】
また、設定された移動情報に基づいて歩行情報を生成する。なお、本実施の形態の3次元シミュレータ14であるENVISIONでは、前後移動と左右移動とでは、異なった生成ロジックで動作する。
【0072】
前進及び後退は、3次元シミュレータ14が予め定められた複数の姿勢の雛形を持っており、当該複数の雛形に関する情報を順次設定することで歩行を表現し、それぞれの姿勢で定まる移動量の分、人体の座標を変更する。本実施の形態の歩行のひながたテーブル66の具体的一例を図13に示す。本実施の形態の歩行のひながたテーブル66は、前後に歩行する場合に設定する、人体の腰から下の関節の角度が設定されたものである。
【0073】
左右の移動は、1.腰を下げる(膝が曲がる)、2.移動方向の足を広げる、3.反移動方向の足を引き寄せる、4.腰を伸ばす、の4ステップでの移動を基本としている、各ステップにより表現される。移動距離が歩幅より大きい場合は、2及び3のステップが繰り返される。各関節の曲げ角度は、足を広げた場合に、足/膝/足の付け根が直線になるように計算される。
【0074】
動作情報生成部36は、組立順序レシピ58の設定値に基づいて、各種の情報テーブルの設定値を参照し、各部品に応じた組み立て動作情報、及び3次元シミュレータ14における人体と製品の動作制御プログラム(GSLファイル)を作成するものである。本実施の形態では、組み立ての場にある、中間製品(半完成品)と、次に組み付ける部品に関する情報から、人物の姿勢の変更や、工具の取り置き、中間製品の組み立て場からの一時退避及び復帰等を総合的に判断しながら人体の動作情報、部品の回転制御情報等、モデルデータ70を生成していく。また、組立順序や組立タイミングを制御する動作制御プログラムをシミュレーションモデルに対応させて作成する。
【0075】
本実施の形態の動作情報生成部36の構成について具体的例を挙げ詳細に説明する。組立ての種類は対象となる部品により色々な要素が発生するため、汎用のモジュールを作成して組み合わせることは非常に複雑な処理フローとなる。しかしながら、逆に部品の種類が決まれば、その組み付け方法は決められる。例えば、ねじ止めは、右手に電動ドライバを持ち、左手でねじを取り、電動ドライバの先端にねじを付け、上又は手前からドライバをベース部品に押しつける、という具合である。また、1つの部品の組付けを終了するまで、その他の部品のことは、考慮しなくてよい。そこで本実施の形態の動作情報生成部36では、部品の種類で組み付け動作を選択し、各部品に対して部品特有の組み付け(動作)する処理を行う。このような構成とすることにより、新たな組立て要素が発生した場合は、選択する条件とその特別な組み付け処理を追加することにより対応すればよい。
【0076】
当該処理の具体的一例の処理フローを図14及び図15に示す。図14は、動作種類選択処理のフローチャートを示している。本実施の形態の動作種類選択処理のステップ1000では特殊部品1の組み付けであるか否かを判断する。新たな組立て要素(特殊部品)や特殊な組み付けを必要とする部品等である場合は、肯定されてステップ1002へ進み、当該特殊部品1の組み付け動作情報を設定する処理を行った後、本処理を終了する。ステップ1000で特殊部品1ではないと判断された場合はステップ10004に進み、特殊部品の組み付けであるか否か判断する。このようにいずれの特殊部品または単純組付部品か判断し、該当する部品の組付動作情報を設定する。なお、複数の組付け部品がある場合は、当該処理を繰り返す。
【0077】
また、上記の様にねじの組付動作情報設定処理は図15に示したフローチャートのようになる。ステップ1100では、人体の最初のポーズ(姿勢)を設定する。
【0078】
次のステップ1102では、2個目以降のねじのねじ締め(組付け)動作であるか判断する。肯定された場合は、ステップ1108へ進む。一方1個目のねじのねじ締め動作である場合は、否定されてステップ1104へ進む。
【0079】
ステップ1104では、人体がねじを取りに行くポーズを設定し、次のステップ1106では、当該ねじを掴むポーズを設定する。
【0080】
次のステップ1108では、電動ドライバに当該ねじを装着するポーズを設定し、次のステップ1110では、組付け前位置のポーズを設定し、次のステップ1112では、ねじ締めのポーズを設定し、次のステップ1114では、組付け後のポーズを設定した後、本処理を終了する。
【0081】
本実施の形態では、このようにして動作種類選択処理及び組付動作情報設定処理が行われる。
【0082】
モデルデータ出力部38は、3次元シミュレータ用動作情報生成システム10で生成され、情報テーブル22に含まれる各情報テーブルに設定、記憶されている動作情報を示すデータ(変数)を3次元シミュレータ14のモデルデータ70の書式に変換し、出力するものである。
【0083】
本実施の形態の組立順序レシピ58は、各部品の組付け順序や、工程分割情報、組立てに使用する工具等の組立てに関する情報が設定されたものである。なお当該組立てに関する情報は、予め作成され、組立順序レシピ58に予め設定される。本実施の形態の組立順序レシピ58の具体的一例を図16に示す。
【0084】
姿勢情報テーブル60は、予め定義された各種の姿勢(例えば、直立姿勢、待機姿勢、ねじを電動ドライバに装着する際の姿勢)に対する腕や手の平及び指、顔等人体の制御値、工具を把持した場合の把持情報の雛形が設定されたテーブルである。具体的には、各姿勢の制御値、エルゴパラメータを演算する際の把持位置と手首位置のオフセット値、及び手の平のベクトル値、把持タイプに従った指の曲げ角度値、部品の原点を把持した場合のオフセット値、及び顔の向きの姿勢制御値が設定されている。本実施の形態の姿勢情報テーブル60の具体的一例を図17及び図18に示す。
【0085】
Path_Top/動作情報/Assemblyの雛形テーブル62は、Path_Top情報テーブル46、動作情報テーブル44、及びAssembly情報テーブル42にデータを設定するための雛形が予め設定されているものである。本実施の形態のPath_Top/動作情報/Assemblyのひながたテーブル62の具体的一例を図19に示す。
【0086】
把持基本情報テーブル64は、各種の把持形状(手の形状)に対し、部品原点(X=Y=Z=φ=θ=ψ=0、)を把持した場合の、把持パラメータが予め設定されているものである。本実施の形態の把持基本情報テーブル64の具体的一例を図20に示す。
【0087】
次に、本実施の形態の3次元シミュレータ用動作情報生成システム10の機能、動作を動作情報を生成するまでの作業手順にのっとって詳細に説明する。
【0088】
本実施の形態の3次元シミュレータ用動作情報生成システム10を操作するためのコンピュータ12のユーザインターフェイスに表示される操作画面の具体的一例を図21に示す。ユーザは図21に示した操作画面により指示を行うことにより、各作業を行える。
【0089】
また、本実施の形態の3次元シミュレータ用動作情報生成システム10による動作情報生成処理の一例のフローチャートを図22に示す。
【0090】
ステップ100では、3次元シミュレータ14でモデルデータ70を作成する。本実施の形態では、まず、CADにより作成した物体の物体データを、3次元シミュレータ14の環境に登録する。さらに、シミュレーションに登場する全種類のデバイスを1つずつ、3次元シミュレータ14の環境に取り込む。なお、人体は、3次元シミュレータ14で用意してあるものをそのままデバイスとして使用してもよい。各デバイスに人体データまたは物体データを設定しモデルデータ70とする。
【0091】
次のステップ102では、モデルデータ読出部20により、モデルデータ70の読出処理を行う。当該処理は、操作画面(図21)の「読出し」ボタン80を選択、指示することにより実行される。モデルデータ読出処理の一例のフローチャートを図23に示す。
【0092】
ステップ200では、モデルデータ70を読出し、次のステップ202では、3次元シミュレータ用動作情報生成システム10内の変数に変換する。次のステップ204では、変換されたデータを情報テーブル22の各情報テーブルに設定した後、本処理を終了する。
【0093】
ステップ102の次のステップ104では、部品情報設定処理を行う。本実施の形態では、デバイスの色や初期姿勢を設定する。また、情報テーブル22に設定されたモデルデータ70の位置や角度を表示させ、微調整を行う。部品情報設定処理の一例のフローチャートを図24に示す。
【0094】
ステップ300では、部品情報テーブル50にモデルデータ読出部20からデバイスデータを抽出し、設定する。当該処理は、操作画面(図21)の「パーツ情報」の「パーツ座標読出し」ボタン82を選択、指示することにより実行される。
【0095】
次のステップ302では、各デバイスの色を設定し、次のステップ304では、各デバイスの姿勢を設定した後、本処理を終了する。具体的には、物体の位置及び人体の初期姿勢を設定する。なお、各デバイスは、シミュレーション上の作業範囲内でばらばらに、1デバイス毎に独立した位置で配置することが好ましい。
【0096】
なお、部品情報テーブル50に設定された設定値は、操作画面(図21)の「パーツ情報」の「パーツ座標設定」ボタン83を選択、指示することにより情報テーブル22に修正、設定される。
【0097】
なお、デバイスの色の設定、初期姿勢の設定等やデバイスの微調整は、3次元シミュレータ14を用いて行っても良い。これらの操作画面上で姿勢等を確認しながら、その角度情報等を3次元シミュレータ用動作情報生成システム10に設定するようにするとよい。
【0098】
ステップ104の次のステップ106では、把持情報設定部30及び保持情報演算部25により、把持情報設定処理を行う。把持情報設定所理の一例のフローチャートを図25に示す。
【0099】
ステップ400では、各部品における把持位置を設定する。本実施の形態では、3次元シミュレータ14で、上記ステップ104で設定された部品情報を読出す。3次元シミュレータ14上で、把持位置を設定する。具体的には、把持位置を取得するためのマーカーをデバイスとして設定する。当該マーカーは、直交する3本の細い棒状の部品を組み合わせたものである。当該棒状の部品は、シミュレーション環境のXYZの各軸と平行なものである。各部品の把持したい位置にマーカーを移動させ、その座標を人体基準で取得し、3次元シミュレータ用動作情報生成システム10の、部品情報テーブル50に設定する。
【0100】
以下に説明する部品情報テーブル50の部品情報の複写から演算結果を把持情報テーブル52に設定するまでの一連の処理は、操作画面(図21)の「保持情報設定」ボタン84を選択、指示することにより実行される。
【0101】
次のステップ402では、部品情報テーブル50の部品情報を、把持情報テーブル52に複写する。次のステップ404では、ステップ400で取得した人体基準の座標と、部品情報テーブル50から複写した部品自体の座標位置から、部品基準のオフセット値を演算する。次のステップ406では、把持情報設定部30及び把持情報演算部25により、部品を基準姿勢(X=Y=Z=φ=θ=ψ=0)に回転させた場合のリファレンスフレームを演算する。次のステップ408では、人体と部品の位置の偏差を元に、人体が回転中心を把持した時のオフセット量を演算する。次のステップ410では、演算結果を把持情報テーブル52に設定した後、本処理を終了する。
【0102】
ステップ106までの処理により、組立順序(工程)に依存しない情報が取得される。ここで、任意の名称を付与し、各設定データ(情報テーブル)を保存する。ステップ108からは、当該ファイル情報に基づいて、任意数の工程分割や、任意順序の組立て情報を作成する。
【0103】
次のステップ108では、デバイス情報複合化部32により、デバイス情報複合化処理を行う。デバイス複合化処理は、操作画面(図21)の「パーツ情報拡張」ボタン86を選択、指示することにより実行される。デバイス情報複合化処理の一例のフローチャートを図26に示す。
【0104】
ステップ500では、組立順序レシピ58を読出す。
【0105】
次のステップ502では、デバイスの複製や拡張を行い、具体的処理として上述した各処理を行う。当該処理により、各工程に人体が割り付けられる。また、各工程毎に使用される部品及び工具が割り付けられる。
【0106】
次のステップ504では、工程毎部品情報テーブル54及びデバイスリスト情報テーブル56、及びその他情報テーブル48に複製されたデバイスデータや、複製、拡張に関する情報を設定した後、本処理を終了する。
【0107】
なおここで、各工程の部品のレイアウトを変更してもよい。最適位置に部品が配置されていない場合があるため、ここで修正することが好ましい。本実施の形態では、上記処理で生成される工程レイアウトは、デフォルトの配置である。例えば、5人を横一列に等間隔に配置し、かつ、5人単位で前後方向に等間隔で配置されている。このようなデフォルトの配置は、実際の配置と異なるため、修正することが好ましい。この場合、一旦、ワークセルファイルとして書き出し、レイアウトを3次元シミュレータ14上で確認し、修正すればよい。なお、修正を行った場合は、修正されたワークセルファイルを3次元シミュレータ用動作情報生成システム10に読出す。
【0108】
ステップ108の次のステップ110では、動作情報生成部36、移動情報算出/生成部34、及び動作位置制御演算部24により、組み立て動作情報の生成処理を行う。上記移動動作情報生成処理及び当該動作情報生成処理は、操作画面(図21)の「Pathデータ生成」ボタン88を選択、指示することにより実行される。動作情報生成処理の一例のフローチャートを図27に示す。
【0109】
ステップ600では、本処理で使用する変数の初期設定を行う。次のステップ602では、前工程から半完成品を受け取るか否かの判断を行い、受け取る場合には、半完成品を取りに手を伸ばし、掴み、組み立て位置まで移動させ、組み立て位置に置き、手を離すという一連の姿勢を作成する。一例のフローチャートを図28に示す。
【0110】
ステップ700では、半完成品の組み立て動作情報を設定するための、各種変数の初期設定(クリア)、半完成品中に含まれる各部品の抽出、組み立て動作情報の識別名設定を行う。
【0111】
次のステップ702では、待機状態の姿勢を設定する。人体の各軸の角度は、肩から下は、3次元シミュレータ14の人体が直立している時の値をそのまま使用し、腕から手首の各関節の角度は、図17に記載した、姿勢情報テーブル60の、「腕の向き」のポーズNo.2、指の各関節の角度は、「手の平及び指」の、保持タイプ1の値をひながたに埋め込み、動作情報テーブル44に設定する。
【0112】
次のステップ704では、半完成品を取りに手を伸ばす姿勢を設定する。半完成品が置かれた座標と、半完成品の中核となる部品(以下、ベース部品と記す)の把持位置の座標及び、手の平の保持タイプから、人体の腕の各軸の角度を計算し、ひながたに埋め込み、動作情報テーブル44に設定する。
【0113】
ここで、人体の動作情報算出の具体的一例について詳細に説明する。3次元シミュレータ14で人体を動作させるためには、3次元シミュレータ用動作情報生成システム10で、各関節の位置を3次元シミュレータ14と同等の値(位置)に配置する必要がある。本実施の形態の3次元シミュレータ用動作情報生成システム10で実行される演算手法を肩に対し、手首を制御する関数により説明する。
【0114】
3次元シミュレータ14上で、人体の肩と手首の位置が決まっても、肩の3変数の値は、決まらない。これは、肩と手首の位置が同じ場合でも、肘を外側に張り出す量は決められないからである。そのため、予め肩と肘との直線距離と肘の張り出し量を、実際に採取した。当該測定結果を図30に示す。当該結果に基づいて得られた、肩と肘のとの直線距離から肘の張り出し量を求める処理(肘の張り出し量取得処理)フロー(図31に処理の一例を示したフローチャート)により演算に用いている。
【0115】
肘の座標は以下のように演算される。
【0116】
腕を曲げた状態で肩と手首がX軸上にあり、肘がXZ平面上にある状態を初期状態とする。
【0117】
肘のX座標は、第二余弦定理を変形し、「上腕の長さ」×「肩から手首と上腕とのなす角度の余弦値」で求められる。また、肘の張り出し量を考慮したZ座標は、上腕の長さの二乗から上記の肘のZ座標の二乗と肘の張り出し量の二乗を引いて、平方根を取ることにより求められ、Z軸となす角度は、正接から求められる。
【0118】
次に、手首を上下させる。回転角度は、XY平面上の長さとY軸上の長さとの正接である。
【0119】
さらに、XZ平面上で左右に回転させる。回転角度は、X軸上の長さとY軸上の長さとの正接である。
【0120】
これらの回転行列の演算により、肘の座標が演算される。なお、本実施の形態の3次元シミュレータ14であるENVISIONでは、Matlibが公開されているため、これを用いて演算するようにしてもよい。
【0121】
肘の座標及び肘の張り出し量が取得されると、これらに基づいて肩の3変数、及び手首より先の変数を演算する。なお、手首より先の変数の演算は、前腕が座標軸と角度を持つことが異なるが、肩の3変数と同様に演算される。なお、関数の検証は、腕を伸ばした状態で、3次元シミュレータ14上で実際の座標を取得し、関数を導出して、前腕の角度を考慮すればよい。
【0122】
また、手首の制御は、本実施の形態の3次元シミュレータ用動作情報生成システム10では手首から中指の付け根と、手首から小指の付け根と、の向きが一定となるように演算される。このようにすることにより、把持位置と手首位置とは、XYZ軸上で常に一定の偏差になるため、動作経路の演算が簡単になる。また、把持形状が決まると、把持情報は一定の値となるので、一度だけ3次元シミュレータ14上で実際に部品の原点を把持した把持情報を取得し、把持基本情報テーブル64に登録しておけば、把持形状を指定することにより、部品の把持位置の演算が簡単になる。
【0123】
次のステップ706では、半完成品を掴む姿勢を設定する。手の平の保持タイプを3に設定し、指の関節の設定値をひながたに埋め込み、動作情報テーブル44に設定する。更に、ステップ700で抽出された全ての部品を把持するとして把持情報を設定し、動作情報テーブル44に設定する。
【0124】
次のステップ708では、半完成品を持ち上げる姿勢を設定する。本システムでは、20mm上方に持ち上げることとしており、手首の位置を20mmZ軸方向に上げた時の、人体の腕の各軸の角度を計算し、ひながたに埋め込み、動作情報テーブル44に設定する。
【0125】
次のステップ710では、半完成品が置かれていた時の角度と組み立て位置に置く時の角度が同一であるかを判断する。肯定された場合は、ステップ724へ進む。半完成品の角度が異なる場合は、否定されてステップ712へ進む。
【0126】
ステップ712では、一旦部品を話す姿勢を設定する。手の平の保持タイプを3に設定し、指の関節の設定値をひながたに埋め込み、動作情報テーブル44に設定する。また、把持情報を一時記憶変数に退避させる。
【0127】
次のステップ714では、ここまでの組み立て動作情報の識別名とステップ数を、GSLプログラムに書き出すと共に、部品と動作タイミングを取るためのIO信号でハンドシェークするためのGSLプログラムを書き出す。
【0128】
次のステップ716では、半完成品を回転させる情報を、Assemblyのひながたテーブル62に設定し、Assembly情報テーブル42に書き出す。設定する情報は、開店前の部品の角度から得られる回転行列の値と、回転前の部品のX、Y、Z軸座標、リファレンスフレームのX、Y、Z、φ、θ、ψの各値、及び回転後の部品の角度から得られる回転行列の値と、回転後の部品のX、Y、Z軸座標である。
【0129】
次のステップ718では、半完成品のオフセット情報(人体基準)、位置(半完成品基準)を再計算する。
【0130】
次のステップ720では、把持情報を部品の位置及び角度の変化に従って再計算する。
【0131】
次のステップ722では、再度半完成品を掴む姿勢を設定する。手の平の保持タイプを3に設定し、指の関節の設定値をひながたに埋め込み、動作情報テーブル44に設定する。更に、ステップ720で再計算された把持情報を、動作情報テーブル44に設定する。
【0132】
次のステップ724では、半完成品を組み立て位置上空まで移動させる姿勢を設定する。計算内容は、ステップ704と同様である。
【0133】
次のステップ726では、移動速度を組み付け時の速度に変更するための、GSLプログラムを作成する。ここまでの組み立て動作情報の識別名とステップ数を、移動速度と共にGSLプログラムに書き出す。
【0134】
次のステップ728では、半完成品を組み立て位置まで移動させる姿勢を設定する。計算内容は、ステップ704と同様である。
【0135】
次のステップ730では、移動速度を通常の速度に戻すための、GSLプログラムを作成する。ここまでの組み立て動作情報の識別名とステップ数を、移動速度と共にGSLプログラムに書き出す。
【0136】
次のステップ732では、半完成品を放す姿勢を設定する。手の平の保持タイプを3に設定し、指の関節の設定値をひながたに埋め込み、動作情報テーブル44に設定する。
【0137】
次のステップ734では、組み立て位置に、半完成品の各部品が置かれたという情報を設定する。具体的には、組み立て位置にある全ての部品番号とその角度である。
【0138】
次のステップ736では、ステップ732以降の動作をさせるための、GSLプログラムを作成する。ここまでの組み立て動作情報の識別名とステップ数を、GSLプログラムに書き出す。
【0139】
次のステップ738では、組み立て動作情報の識別名と、半完成品を組み立て位置まで移動させる姿勢の総数を、Path_Topのひながたに設定した後、Path_Top情報テーブル46に書き出した後、本処理を終了する。
【0140】
ステップ604では、人体が歩行する必要があるかを判断し、必要な場合のみ、移動動作情報生成処理を実行する。一例のフローチャートを図29に示す。
【0141】
ステップ750では、移動距離及び移動方向を演算し、次のステップ752では、歩行のひながたテーブル66を読出す。次のステップ754では、演算された移動距離及び移動方向と、歩行のひながたテーブル66と、に基づいて、歩行情報を生成した後、本処理を終了する。
【0142】
次のステップ606では、工具を手から開放する必要があるかを判断し、必要な場合のみ、工具を元の場所(以下、待機位置と記す)に戻す一連の姿勢を作成する。基本的な考え方は、図28のフローチャートで説明した、前工程から半完成品を受け取る、動作情報生成処理と同様のため、詳細は省略する。
【0143】
次のステップ608では、ベース部品の選択を行う。この処理を行う理由は、一連の組み立て作業をする中で、それまで組み立てていた半完成品(半完成品1とする)に、別の半完成品(半完成品2とする)を組み付ける場合で、一旦半完成品1を別の場所に移動させ、その後同一の組み立て位置で、半完成品2を組み上げ、その後、半完成品1と半完成品2の入れ替えが必要になる。これらの動作情報生成処理の要否をここで判断し、必要な場合は半完成品を、退避位置と組み立て位置で移動させる一連の姿勢を作成する。基本的な考え方は、図28のフローチャートで説明した、前工程から半完成品を受け取る、動作情報生成処理と同様のため、詳細は省略する。
【0144】
次のステップ610では、組み立ての場にある半完成品を回転させる必要の有無を判断する。回転が必要な場合の処理は、図28のステップ716と同様の動作情報生成処理のため、詳細は省略する。
【0145】
次のステップ612では、工具を待機位置から手元に掴んで持ってくる必要があるかを判断し、必要な場合のみ、一連の姿勢を作成する。基本的な考え方は、図28のフローチャートで説明した、前工程から半完成品を受け取る、動作情報生成処理と同様のため、詳細は省略する。
【0146】
次のステップ614では、組み立てようとする部品の種類によって、組み立て動作を選択する。具体的なフローは、前述の図14及び図15に記載した通りである。
【0147】
次のステップ616では、工程内で行う全ての組み付け作業が終わったので、工具を待機位置に戻す必要があるかを判断する。必要な場合の処理は、ステップ606と同様である。
【0148】
次のステップ618では、組み上がった半完成品を、次の工程に送り出す動作を設定する。基本的な考え方は、図28のフローチャートで説明した、前工程から半完成品を受け取る、動作情報生成処理と同様のため、詳細は省略する。
【0149】
ステップ110の次のステップ112では、モデルデータ出力部38により、モデルデータ出力処理を行う。当該モデルデータ出力処理は、操作画面(図21)の「書き込み」ボタン81を選択、指示することにより実行される。モデルデータ出力処理の一例のフローチャートを図32に示す。
【0150】
ステップ800では、情報テーブル22の各情報テーブルから、データ(設定値)を抽出し、次のステップ802では、3次元シミュレータ14の変数に変換する。次のステップ804では、モデルデータ70を出力した後、本処理を終了する。
【0151】
このように、本実施の形態の動作情報生成処理により、3次元シミュレータ14で用いられる、各デバイスのモデルデータ70及び動作制御プログラム72が生成され、出力される。
【0152】
ユーザは、3次元シミュレータ14上で、モデルデータ70及び動作制御プログラム72を読出す。デバイス間のI/O情報を設定すると、シミュレーションモデルの作成が終了する。当該シミュレーションモデルにより3次元シミュレータ14でシミュレーションが実行される。
【0153】
なお、微妙な手の位置の修正等を行う場合は、3次元シミュレータ14が持っている機能を使用し、細かな動作を修正し、3次元シミュレータ用動作情報生成システム10に読出し、設定するようにしてもよい。
【0154】
また、本実施の形態では、組立て用に使用される作業台等の什器は動作しないためモデルデータ70や動作情報が生成されないが、3次元シミュレータ14の機能を用いて、ワークセル上にこれらを設定することにより、実際の組立て(製造)工程のイメージがシミュレーション空間上に設定される。3次元シミュレータ用動作情報生成システム10によりシミュレーションモデルが決定した後に、什器類を設定することにより、よりリアルなシミュレーションモデルが作成される。
【0155】
また、異なった組立て順序や工程分割数、人数等のシミュレーションを行う場合は、組立順序レシピ58を入れ替えて再度、動作情報生成処理を行えばよい。なお、この場合、図22のステップ108以降の処理を行えばよい。このように、組立順序レシピ58を入れ替えることにより様々な組立て順序や、工程等の条件に対応したシミュレーションが行える。
【0156】
なお、本実施の形態では、製品を組立てる工程についてシミュレーションする場合について詳細に説明したがこれに限らず、その他の工程、動作等をシミュレーションするための動作情報を生成してもよい。例えば、手を自由に目的の位置に移動させられるため、装置の操作性、具体的には、操作盤の形状や操作スイッチのレイアウトから、作業者が無理なく操作を行えるか等の検討を行ってもよい。
【0157】
また、本実施の形態では、人体の動作をシミュレーションさせるようにしているがこれに限らず、人体を登場させずに、デバイスのみを登場させることにより、部品の組立て状態のみをシミュレートさせてもよい。この場合、人体と物体とで基本の座標系が異なることによる演算の煩雑さが無くなるので、より簡単に動作情報が生成される。
【0158】
以上説明したように本実施の形態では、3次元シミュレータ14上の座標を示す座標データにより各設定及び演算がなされる。3次元シミュレータ14で作成されたモデルデータをモデルデータ読出部20で読出し、変数変換し、各データを情報テーブル22の各情報テーブルに設定する。部品情報設定部28により各デバイスの色や位置を調整し、把持情報設定部30により、オフセット情報から各部品の回転中心を演算し、把持情報テーブル52に設定する。デバイス情報複合化部32により組立順序レシピ58に基づいて組立工程、内容に合わせてデバイス等を複製し、移動情報算出/生成部34で人体が歩行するための動作情報を生成する。動作情報生成部36は、各情報テーブルに設定されているデータに基づいて動作位置制御演算部24により組立順序に対応した、人体の動作情報及び動作制御プログラム(GSLファイル)を作成する。
【0159】
このように本実施の形態では、座標を設定することにより、すなわちデバイスの姿勢、位置、角度等の各種設定を行うことにより、3次元シミュレータ14用動作情報が生成される。従って、3次元シミュレータ14のユーザインターフェイスを使用し、マウス等を用いて、デバイスを動作させるよりも容易に、短時間でシミュレーションモデルが作成される。
【0160】
各デバイスの位置、姿勢、及び色等に関する情報を3次元シミュレータ14の外部で設定するため、各種情報が直接設定されるようになる。
【0161】
また詳細に把持情報が設定されるため、より精度良い(リアルな)シミュレーションが行える。
【0162】
また、3次元シミュレータ14で動作情報を生成するため、動作情報の生成と、3次元シミュレータ14上でのシミュレーションとが別に(同時に)行える。
【0163】
従って、本実施の形態では、短時間にシミュレーションモデルを作成し、3次元シミュレータ14でシミュレーションが行える。様々な組立工程等に速やかに対応されるため、複数のシミュレーションを行うことにより最適モデルの検討が容易に行える。
【0164】
また、試作品が出来上がる前に、コンピュータに登録された基本的な姿勢により、例えば、手と組立て動作とが干渉を起こすといった、作業性の検討や、各工程の占有面積の評価や、中間製品の受け渡しを考慮した場合の各工程のレイアウトの検討等、製品の生産準備本来の工程設計の検討の注力を行える。従って、製品品質の向上(組立て時間の短縮や、部品数の削減等による)コストダウン、生産準備リードタイムの短縮等が計れる。
【0165】
[第2の実施の形態]
本実施の形態の3次元シミュレータ用動作情報生成システム10は、第1の実施の形態の3次元シミュレータ用動作情報生成システム10を簡略化したものである。具体的には、第1の実施の形態で行ったデバイス情報複合化部32によるデバイスの複合化を行わない。また、把持情報の設定を簡易化するため、第1の実施の形態で行った動作位置制御演算部24及び保持情報演算部25による回転中心の演算を行わない。また、人体は歩行しないものとしている。従って、第1の実施の形態と異なる部分のみ詳細に説明する。
【0166】
本実施の形態の3次元シミュレータ用動作情報生成システム10の概略構成の機能ブロック図を図33に示す。本実施の形態の3次元シミュレータ用動作情報生成システム10は、第1の実施の形態の3次元シミュレータ用動作情報生成システム10から、保持情報演算部25、デバイス情報複合化部32、移動情報算出/生成部34、工程毎部品情報テーブル54、デバイスリスト情報テーブル56、姿勢情報テーブル60、Path_Top/動作情報/Assemblyのひながたテーブル62、把持基本情報テーブル64、及び歩行のひながたテーブル66が除かれたものである。
【0167】
また、把持情報設定部30及び動作情報生成部36の機能の一部がそれぞれ第1の実施の形態の把持情報設定部30及び動作情報生成部36と異なる。
【0168】
本実施の形態の把持情報設定部30は、部品情報設定部28で設定された部品の位置及び姿勢情報(向き、角度)と、人体のオフセット情報と、組立順序レシピ58に設定された部品の位置及び変化した姿勢の情報と、に基づいて部品の位置及び姿勢が変化した場合の、人体のオフセット情報を演算し、把持情報テーブル52に設定する処理を行う。
【0169】
本実施の形態の動作情報生成部36は、内部にPath_Top/動作情報/Assemblyのひながたテーブル62を有する。動作位置情報設定部26により設定された位置情報に基づいて、動作位置制御演算部24により人体の各関節の角度情報や部品の回転情報を生成し、Path_Top/動作情報/Assemblyのひながたテーブル62に設定値を埋込んで、情報テーブル22に設定、登録する処理を行うと共に、把持情報を取得するための動作データ及び把持情報取得用操作シーケンス制御プログラムを生成する処理を行う。
【0170】
本実施の形態における把持情報の取得処理は、具体的例としては、以下の手順で取得される。
【0171】
1.3次元シミュレータ用動作情報生成システム10から出力されたモデルデータ70のファイルを3次元シミュレータ14上で読出すと、各部品が部品情報テーブル50で設定された姿勢で配置される。
【0172】
2.この状態でシミュレーションを開始し、開始した直後に中断させる。
【0173】
3.3次元シミュレータ14を人体の動作情報設定モードにする。ここではモデルデータ70の動作番号を選択することで、人体は各部品を把持する位置に手を動かすので、3次元シミュレータ14のユーザインターフェイスを使用して、把持の指示を設定する。これにより把持情報が3次元シミュレータ14のワークセルファイルに取り込まれる。
【0174】
4.一通り設定したら、シミュレーションを再開させる。再開させると、組立順序レシピ58に設定された、部品の位置及び変化した姿勢に部品が自動的に位置及び姿勢を変化させるため、シミュレーションを再び中断させる。
【0175】
なお、必要な分だけ、上記3.及び4.の手順を繰り返す。
5.ワークセルファイルを書き出す。
6.3次元シミュレータ用動作情報生成システム10のモデルデータ読出部20でワークセルファイルを読出す。これにより、把持情報テーブル52に把持情報が設定される。
【0176】
このように本実施の形態では、把持情報を取得する手順が短時間に取得され、把持情報がより短時間に得られる。
【0177】
なお、3次元シミュレータ用動作情報生成システム10の動作情報生成処理全体の動作は、第1の実施の形態の動作情報生成処理(図22)のステップ108及びステップ110の処理が行われず、ステップ106及びステップ112で行われる処理が上記のようになる。
【0178】
このように本実施の形態では、第1の実施の形態よりも簡易的にさらに短時間で動作情報を生成し、シミュレーションモデルを生成する。例えば、簡単な組み立て工程や、処理工程数、デバイス数が少ない場合等に行うとよい。また、把持する手の形状が通常と異なり、第1の実施の形態で準備したひながたでは適切でない動作が多い場合、把持位置近傍に手を移動させ、手の平の関節の角度だけ、3次元シミュレータで変更する場合等に行うとよい。
【0179】
[第3の実施の形態]
本実施の形態の3次元シミュレータ用動作情報生成システム10は、第1の実施の形態の3次元シミュレータ用動作情報生成システム10をさらに、第2の実施の形態の3次元シミュレータ用動作情報生成システム10よりも簡略化したものである。具体的には、さらに、デバイスの位置や色に関する情報の調整を行わない。また、把持情報の演算、取得及び把持情報テーブル52の設定を行わない。また、組立順序レシピ58に基づく組立工程に対応した設定を行わない。従って、第1の実施の形態と異なる部分のみ詳細に説明する。
【0180】
本実施の形態の3次元シミュレータ用動作情報生成システム10の概略構成の機能ブロック図を図34に示す。本実施の形態の3次元シミュレータ用動作情報生成システム10は、さらに第2の実施の形態の3次元シミュレータ用動作情報生成システム10から、部品情報設定部28、把持情報設定部30、部品情報テーブル50、把持情報テーブル52、及び組立順序レシピ58が除かれたものである。
【0181】
また、動作情報生成部36の機能の一部が第1の実施の形態の動作情報生成部36と異なる。
【0182】
本実施の形態の動作情報生成部36は、内部にPath_Top/動作情報/Assemblyのひながたテーブル62を有する。動作位置情報設定部26により設定された位置情報に基づいて、動作位置制御演算部24により人体の各関節の角度情報や部品の回転情報を生成し、Path_Top/動作情報/Assemblyのひながたテーブル62に設定値を埋込んで、上方テーブル22に設定、登録する処理を行う。
【0183】
なお、3次元シミュレータ用動作情報生成システム10の動作情報生成処理全体の動作は、第1の実施の形態の動作情報生成処理(図22)のステップ104、ステップ106、ステップ108及びステップ110の処理が行われず、ステップ112で行われる処理が上記のようになる。
【0184】
このように本実施の形態では、第1の実施の形態及び第2の実施の形態よりも簡易的にさらに短時間で動作情報を生成し、シミュレーションモデルを生成する。例えば、手を自由に目的の位置に移動させられるため、装置の操作性、具体的には、操作盤の形状や操作スイッチのレイアウトから、作業者が正しい順序で操作を行えるか等の検討を行う場合に好ましい。
【符号の説明】
【0185】
10 3次元シミュレータ用動作情報生成システム
14 3次元シミュレータ
20 モデルデータ読出部
22 情報テーブル
24 動作位置制御演算部
25 保持情報演算部
26 動作位置情報設定部
28 部品情報設定部
30 把持情報設定部
32 デバイス情報複合化部
34 移動情報算出/生成部
36 動作情報生成部
38 モデルデータ出力部
40 デバイス情報テーブル
42 Assembly情報テーブル
44 動作情報テーブル
46 Path_Top情報テーブル
48 その他情報テーブル
50 部品情報テーブル
52 把持情報テーブル
54 工程毎部品情報テーブル
56 デバイスリスト情報テーブル
58 組立順序レシピ
60 姿勢情報テーブル
62 Path_Top/動作情報/Assemblyのひながたテーブル
64 把持基本情報テーブル
66 歩行のひながたテーブル
70 モデルデータ
72 動作制御プログラム

【特許請求の範囲】
【請求項1】
3次元シミュレータで作成された人体及び物体を示す基本モデルデータを読出す読出手段と、
前記読出手段で読出された前記基本モデルデータが示す人体及び物体の移動位置を示す座標データを設定する座標設定手段と、
前記座標設定手段で設定された座標データに基づいて前記3次元シミュレータの演算手法により人体の曲げ角度、物体の回転角度、及び移動先を演算し、演算結果に基づいて人体及び物体の動作を示すモデルデータを生成し、かつ、当該人体及び物体の動作順序の情報を生成する、動作情報生成手段と、
前記動作情報生成手段で生成された前記モデルデータ及び前記動作順序の情報を前記3次元シミュレータに出力する情報出力手段と、
を備えた3次元シミュレータ用動作情報生成システム。
【請求項2】
前記基本モデルデータが示す物体が人体により組立てられる位置及び向きを示す組立情報を記憶する組立情報記憶手段と、
前記基本モデルデータが示す物体における任意の位置と、前記基本モデルデータが示す人体と、の位置関係を演算する位置関係演算手段と、
前記基本モデルデータと、前記組立情報記憶手段に記憶されている前記組立情報と、前記位置関係演算手段により演算された位置関係と、に基づいて、前記物体における任意の位置を前記モデルデータが示す人体が把持した場合の当該人体の把持角度及び位置を演算する把持情報演算手段と、を備え、
前記動作情報生成手段は、前記把持情報演算手段により演算された当該人体の把持角度及び位置に基づいて、前記モデルデータ及び動作順序の情報を生成する、
請求項1に記載の3次元シミュレータ用動作情報生成システム。
【請求項3】
前記モデルデータが示す物体における基本位置である原点の位置を前記モデルデータが示す人体が把持した場合の把持角度及び位置を記憶する把持基本情報記憶手段を備え、
前記動作情報生成手段は、前記把持情報記憶手段に記憶されている把持角度及び位置に基づいて、前記モデルデータ及び動作順序の情報を生成する、
請求項1または請求項2に記載の3次元シミュレータ用動作情報生成システム。
【請求項4】
前記把持情報演算手段は、前記原点に対する任意の向きの当該物体の回転中心を演算し、
前記把持情報演算手段で演算された前記回転中心と、前記把持基本情報記憶手段に記憶されている前記原点の位置を把持した場合の把持角度及び位置と、に基づいて、前記人体が前記任意の向きの当該物体を把持する把持角度及び位置を演算する任意把持情報演算手段を備え、
前記動作情報生成手段は、任意把持情報演算手段により演算された当該物体を把持する把持角度及び位置に基づいて、前記モデルデータ及び動作順序の情報を生成する、
請求項3に記載の3次元シミュレータ用動作情報生成システム。
【請求項5】
前記モデルデータが示す人体及び物体の数を増加させるために前記基本モデルデータを複製する複製手段を備えた、
請求項1から請求項4のいずれか1項に記載の3次元シミュレータ用動作情報生成システム。
【請求項6】
前記組立情報記憶手段は、前記基本モデルデータが示す物体が組立てられる組立工程を記憶し、
前記複製手段は、前記組立情報記憶手段に記憶されている組立工程に基づいて、前記基本モデルデータを複製する、
請求項5に記載の3次元シミュレータ用動作情報生成システム。
【請求項7】
前記物体は組立に使用される部品及び工具を含む、
請求項1から請求項6のいずれか1項に記載の3次元シミュレータ用動作情報生成システム。
【請求項8】
前記基本モデルデータが示す人体及び物体の色を示す色情報を設定するモデル情報設定手段を備え、
前記動作情報生成手段は、前記モデル情報設定手段により設定された前記色情報に基づいて、前記モデルデータを生成する、
請求項1から請求項7のいずれか1項に記載の3次元シミュレータ用動作情報生成システム。
【請求項9】
前記座標データは、前記モデルデータが示す物体の移動前及び移動後の座標及び各座標軸を含む、
請求項1から請求項8のいずれか1項に記載の3次元シミュレータ用動作情報生成システム。
【請求項10】
前記モデルデータが示す人体が予め定められた姿勢を示す場合の姿勢情報を記憶する姿勢情報記憶手段を備え、
前記動作情報生成手段は、前記姿勢情報記憶手段に記憶されている前記姿勢情報に基づいて、前記モデルデータ及び動作順序の情報を生成する、
請求項1から請求項9のいずれか1項に記載の3次元シミュレータ用動作情報生成システム。
【請求項11】
前記モデルデータが示す人体が歩行する場合の歩行情報を記憶する歩行情報記憶手段と、
前記歩行情報記憶手段に記憶されている前記歩行情報と、当該人体の移動方向及び移動距離を示す情報と、に基づいて当該人体の歩行動作情報を生成する歩行動作情報生成手段と、を備え、
前記動作情報生成手段は、前記歩行動作情報生成手段により生成された歩行動作情報に基づいて、前記モデルデータ及び動作順序の情報を生成する、
請求項1から請求項10のいずれか1項に記載の3次元シミュレータ用動作情報生成システム。
【請求項12】
請求項1から請求項11のいずれか1項に記載の3次元シミュレータ用動作情報生成システムとしてコンピュータを機能させるための3次元シミュレータ用動作情報生成プログラム。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図20】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図1】
image rotate

【図19】
image rotate

【図21】
image rotate


【公開番号】特開2010−231647(P2010−231647A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−80308(P2009−80308)
【出願日】平成21年3月27日(2009.3.27)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】