(57)【特許請求の範囲】
【請求項１】
コンピュータに、
３次元モデル上にハーネスの通過位置を含むハーネス情報を設定し、
該設定した通過位置を通るように位置が決定されたハーネスが、ハーネスを通過させる機構部品についての３次元モデルデータを記憶する記憶部から読み出した前記機構部品と干渉するか否かを判定し、
該判定した結果、前記ハーネスが前記機構部品と干渉すると判定される場合に、前記ハーネスと干渉する前記機構部品を３次元凸包に近似し、該近似した３次元凸包の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定し、
該設定した前記通過位置を通るハーネスの位置を決定し、
該位置を決定したハーネスの前記機構部品との干渉を判定する判定処理によって前記ハーネスが前記機構部品と干渉しないと判定されるまで、前記判定処理、通過位置を設定する処理およびハーネスの位置を決定する処理が繰り返し動作する
処理を実行させることを特徴とするハーネス設計支援プログラム。
【請求項２】
前記コンピュータに、
前記通過位置を設定する処理において、前記３次元凸包の面外に複数の通過位置を設定し、
前記ハーネスの位置を決定する処理において、該設定された複数の通過位置を通るハーネスの位置を決定する
処理を実行させることを特徴とする請求項１に記載のハーネス設計支援プログラム。
【請求項３】
前記コンピュータに、
前記通過位置を設定する処理において、前記３次元凸包の面から所定のオフセット分離間した位置に通過位置を設定する
処理を実行させることを特徴とする請求項１または請求項２に記載のハーネス設計支援プログラム。
【請求項４】
コンピュータが、
３次元モデル上にハーネスの通過位置を含むハーネス情報を設定し、
該設定した通過位置を通るように位置が決定されたハーネスが、前記ハーネスを通過させる機構部品についての３次元モデルデータを記憶する記憶部から読み出した前記機構部品と干渉するか否かを判定し、
該判定した結果、前記ハーネスが前記機構部品と干渉すると判定される場合に、前記ハーネスと干渉する前記機構部品を３次元凸包に近似し、該近似した３次元凸包の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定し、
該設定した前記通過位置を通るハーネスの位置を決定し、
該位置を決定したハーネスの前記機構部品との干渉を判定する判定処理によって前記ハーネスが前記機構部品と干渉しないと判定されるまで、前記判定処理、通過位置を設定する処理およびハーネスの位置を決定する処理が繰り返し動作する
ことを特徴とするハーネス設計支援方法。
【請求項５】
ハーネスを通過させる機構部品についての３次元モデルデータを記憶する記憶部と、
３次元モデル上に通過位置が設定された結果、当該通過位置を通るように位置が決定されたハーネスが前記記憶部から読み出した前記機構部品と干渉するか否かを判定する判定部と、
前記ハーネスが前記機構部品と干渉すると判定される場合に、前記ハーネスと干渉する前記機構部品を３次元凸包に近似し、該近似した３次元凸包の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定する設定部と、
設定された前記通過位置を通るハーネスの位置を決定する決定部と、
を備え、前記判定部によって前記ハーネスが前記機構部品と干渉しないと判定されるまで、前記判定部、前記設定部および前記決定部が繰り返し動作することを特徴とするハーネス設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配線の設計に関する。
【背景技術】
【０００２】
近年、ワイヤー・ハーネスやケーブル等のハーネスが組み込まれた機械製品や装置の開発において、ハーネスの配線経路を３次元的に設計することが行われている。例えば、ユーザが、機械系の３次元ＣＡＤ（Computer  Aided  Design）を用いて部品モデルを生成する。そして、ハーネスの配線経路の設計を支援するハーネス支援装置が、ユーザによって生成された部品モデル上にハーネスの３次元モデル（以降、「ハーネスモデル」という。）を生成する。さらに、ユーザが部品モデルとハーネスモデルの配置関係を確認しながら、ハーネス支援装置を用いてハーネスの配線経路を設計する。
【０００３】
図１２は、ハーネスの配線経路の設計を支援するハーネス設計支援装置を説明する図である。図１２（Ａ）に示すように、ユーザがハーネスの通過位置、通過位置の接線方向、ハーネスの長さ及びハーネスの太さなどを設定する。そして、ハーネス設計支援装置がユーザによって設定されたハーネスの情報に基づいて、スプライン曲線や力学的計算により、ハーネスモデルを生成する。そして、図１２（Ｂ）に示すように、ハーネス設計支援装置が、生成されたハーネスモデルを機械製品の部品モデル上に配置し、ハーネスの配線経路を設計する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００４／１０４８６８号
【特許文献２】特開２００９−８６８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のハーネスの配線経路の設計では、ユーザの作業負荷が大きくなる場合があるという問題があった。
【０００６】
具体的な例として、ハーネスの配線経路の設計に関する問題を、図１３を用いて説明する。図１３は、ハーネスモデルの部品モデルとの干渉を説明する図である。図１３に示すように、ハーネス設計支援装置がユーザによって設定された通過位置を通るハーネスモデルを生成したとき、ハーネスモデルが部品モデルに干渉する場合がある。かかる場合には、ユーザがハーネスの通過位置や接線方向を試行錯誤的に調整し、ハーネス設計支援装置がユーザによる調整に基づいて部品モデルとの干渉を回避するハーネスモデルを生成する。したがって、部品モデルとの干渉を回避するハーネスモデルを設計する際、ユーザの作業負荷が大きくなる場合があった。
【０００７】
１つの側面では、本発明は、ハーネスの配線経路の設計において、ユーザの作業負荷を軽減できるハーネス設計支援装置等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの側面では、ハーネス設計支援プログラムは、一つの態様において、コンピュータに、３次元モデル上にハーネスの通過位置を含むハーネス情報を設定し、該設定した通過位置を通るように位置が決定されたハーネスが、ハーネスを通過させる機構部品についての３次元モデルデータを記憶する記憶部から読み出した前記機構部品と干渉するか否かを判定し、該判定した結果、前記ハーネスが前記機構部品と干渉すると判定される場合に、前記機構部品の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定し、該設定した前記通過位置を通るハーネスの位置を決定し、該位置を決定したハーネスの前記機構部品との干渉を判定する判定処理によって前記ハーネスが前記機構部品と干渉しないと判定されるまで、前記判定処理、通過位置を設定する処理およびハーネスの位置を決定する処理が繰り返し動作する処理を実行させる。
【発明の効果】
【０００９】
一つの態様によれば、ハーネスの配線経路の設計において、ユーザの作業負荷を軽減できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係るハーネス設計支援装置の構成を示す機能ブロック図である。
【図２】図２は、実施例２に係るハーネス設計支援装置の構成を示す機能ブロック図である。
【図３】図３は、通過位置設定部の具体例を説明する図である。
【図４】図４は、実施例２に係るハーネス設計支援処理の手順を示すフローチャートである。
【図５】図５は、面外に通過位置を設定する処理の手順を示すフローチャートである。
【図６】図６は、ハーネス情報設定画面の具体例を説明する図である。
【図７】図７は、通過位置設定画面の具体例を説明する図である。
【図８】図８は、実施例２に係るハーネス設計支援処理の具体例を説明する図である。
【図９】図９は、実施例２に係るハーネス設計支援処理の変形例を説明する図である。
【図１０】図１０は、実施例２に係るハーネス設計支援処理の別の変形例を説明する図である。
【図１１】図１１は、ハーネス設計支援プログラムを実行するコンピュータを示す図である。
【図１２】図１２は、ハーネス設計支援装置を説明する図である。
【図１３】図１３は、ハーネスモデルの部品モデルとの干渉を説明する図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示するハーネス設計支援プログラム、ハーネス設計支援方法およびハーネス設計支援装置の実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。
【実施例１】
【００１２】
図１は、本実施例１に係るハーネス設計支援装置の構成を示す機能ブロック図である。図１に示すように、ハーネス設計支援装置１は、記憶部１１、判定部１２、設定部１３および決定部１４を有する。
【００１３】
記憶部１１は、ハーネスを通過させる機構部品についての３次元モデルデータを記憶する。判定部１２は、３次元モデル上に通過位置が設定された結果、当該通過位置を通るように生成されたハーネスが記憶部１１から読み出した機構部品と干渉するか否かを判定する。
【００１４】
設定部１３は、ハーネスが機構部品と干渉すると判定される場合に、機構部品の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定する。決定部１４は、設定された通過位置を通るハーネスの位置を決定する。
【００１５】
さらに、判定部１２によってハーネスが機構部品と干渉しないと判定されるまで、判定部１２、設定部１３および決定部１４が繰り返し動作する。
【００１６】
このようにして、ハーネス設計支援装置１は、ハーネスが機構部品と干渉しなくなるまで、ハーネスに干渉する機構部品の未だ選択されていない面を選択しながら、選択した面外に通過位置を設定し該通過位置を通るハーネスの位置の決定を繰り返すこととした。この結果、ハーネス設計支援装置１は、ハーネスに干渉する機構部品との干渉を回避したハーネスを自動的に生成できる。このため、ハーネス設計支援装置１は、機構部品との干渉を回避したハーネスの位置を決定する際、ユーザの作業負荷を軽減できる。
【実施例２】
【００１７】
［実施例２に係るハーネス設計支援装置の構成］
図２は、本実施例２に係るハーネス設計支援装置２の構成を示す機能ブロック図である。ハーネス設計支援装置２は、ハーネスが組み込まれた設計対象装置（例えば、プリンタ、自動車、工作機械、産業用ロボットなど）におけるハーネスの配置設計を支援するための装置として機能するものである。ここで、ハーネスとは、例えば、信号や電力供給用の配線、ケーブル、ワイヤなどのほか、配管やゴムホースなどを含み、帯状部材、線状部材や、これらの部材を束ねたものも含む。そして、ハーネスの両端部は、設計対象装置の機構部品としてのコネクタ部品に連結・固定される。また、ハーネスは、その両端部以外の部分を通過位置としてクランプ部品などにより固定される場合もある。
【００１８】
ハーネス設計支援装置２は、記憶部２０および制御部３０を有する。記憶部２０は、ハーネス情報記憶部２１および３次元モデルデータ記憶部２２を有する。なお、記憶部２０は、例えば、ＲＡＭ（Random Access Memory）、フラッシュメモリ（flash memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置を含む。
【００１９】
ハーネス情報記憶部２１は、ハーネスの通過位置および各通過位置での姿勢情報、ハーネスの長さ、ハーネスの断面形状、ハーネスの色、曲率情報、ハーネスモデリング情報を含んだ情報を、ハーネス情報としてハーネス毎に記憶する。ハーネスの通過位置には、始点位置、１個または複数の途中通過位置および終点位置がある。また、各通過位置での姿勢情報とは、各通過位置でのハーネスの接線方向を含む。また、ハーネスモデリング情報とは、ハーネスを複数の小部品であるハーネスパーツとしてモデル化する際の各種データを意味する。これらのハーネス情報は、例えばキーボードまたはファイルから、制御部３０に入力される。
【００２０】
３次元モデルデータ記憶部２２は、ハーネスを通過させる機構部品の３次元モデルデータを、機構部品毎に記憶する。例えば、３次元モデルデータは、機構部品のポリゴンデータを示す。
【００２１】
制御部３０は、ハーネス情報および設計対象装置の機構部品についての３次元モデルデータに基づいて、機構部品と干渉しない３次元モデルのハーネスを生成するハーネス設計支援処理を実行する。さらに、制御部３０は、ハーネス情報設定部３１、ハーネス生成部３２、干渉判定部３３、繰り返し回数判定部３４、通過位置設定部３５および表示制御部３６を有する。なお、制御部３０は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等の集積回路またはＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）等の電子回路である。
【００２２】
ハーネス情報設定部３１は、ハーネス情報をあらかじめ設定する。具体的には、ハーネス情報設定部３１は、キーボードなどを用いて外部から入力された各種値をハーネス情報としてハーネス情報記憶部２１に格納するか、もしくはハーネス生成部３２に出力する。また、コネクタ部品やクランプ部品についてのライブラリが、あらかじめ記憶部２０に記憶されている場合がある。このような場合には、キーボードやマウスを用いて外部から入力された情報に応じて、ハーネス情報設定部３１が、記憶部２０のライブラリから、コネクタ部品もしくはクランプ部品を選択する。そして、ハーネス情報設定部３１が、ハーネスの始点位置または終点位置とその位置でのハーネスの姿勢情報とを、ハーネス情報として設定するようにしても良い。
【００２３】
ハーネス生成部３２は、ハーネス情報設定部３１または通過位置設定部３５により設定されたハーネス情報および機構部品の３次元モデルデータに基づいて、ハーネスおよび機構部品の３次元モデルを構築する。さらに、ハーネス生成部３２は、機構部品位置算出部３２ａ、ハーネス位置・形状算出部３２ｂおよび３次元像作成部３２ｃを有する。
【００２４】
機構部品位置算出部３２ａは、３次元モデルデータ記憶部２２によってデータが記憶された機構部品の３次元モデルデータに基づいて、機構部品の位置を算出する。
【００２５】
ハーネス位置・形状算出部３２ｂは、機構部品位置算出部３２ａによって算出された機構部品の位置と、ハーネス情報に基づいて、ハーネスの位置およびハーネスの形状を算出する。具体的には、ハーネス位置・形状算出部３２ｂは、ハーネス情報設定部３１によって設定されたハーネスの通過位置を含むハーネス情報および機構部品の位置に基づいて、ハーネスの位置およびこの位置におけるハーネスの形状を算出する。また、ハーネス位置・形状算出部３２ｂは、後述する通過位置設定部３５によって設定されたハーネスの通過位置、通過位置での姿勢情報、機構部品の位置およびハーネス情報に基づいて、ハーネスの位置およびこの位置におけるハーネスの形状を算出する。例えば、ハーネス位置・形状算出部３２ｂは、ハーネスの通過位置および各通過位置での姿勢情報を用いて、ハーネスの位置およびハーネスの形状をベジエ曲線（Bezier  Curve）で近似して算出する。
【００２６】
３次元像作成部３２ｃは、ハーネスの位置およびハーネスの形状と、機構部品の位置と、ハーネス情報と、機構部品の３次元モデルデータとに基づいて、ハーネスの３次元像および機構部品の３次元像を作成する。ここで、ハーネスの位置およびハーネスの形状は、ハーネス位置・形状算出部３２ｂにより算出された情報である。機構部品の位置は、機構部品位置算出部３２ａにより算出された情報である。ハーネス情報は、ハーネス情報設定部３１によって設定された情報またはハーネス情報記憶部２１に記憶された情報である。機構部品の３次元モデルデータは、３次元モデルデータ記憶部２２に記憶されたデータである。
【００２７】
干渉判定部３３は、ハーネスが機構部品と干渉するか否かを判定する。すなわち、干渉判定部３３は、機構部品に引っかかることなくハーネスをはわせることができるか否かを判定する。具体的には、干渉判定部３３は、３次元像作成部３２ｃによって作成されたハーネスの３次元像および機構部品の３次元像に基づいて、当該ハーネスが機構部品と干渉するか否かを判定する。例えば、干渉判定部３３は、当該ハーネスと機構部品とのバウンディングボックスを作成し、作成した双方のバウンディングボックスの交差を計算し、計算した結果、交差がある場合には当該ハーネスが機構部品と干渉すると判定する。一方、干渉判定部３３は、計算した結果、交差がない場合には当該ハーネスが機構部品と干渉しないと判定する。
【００２８】
繰り返し回数判定部３４は、干渉判定部３３によってハーネスが機構部品と干渉すると判定された場合に、当該ハーネスの機構部品との干渉判定回数が繰り返し上限回数に到達したか否かを判定する。そして、繰り返し回数判定部３４は、判定チェックの後、干渉判定回数を１だけインクリメントする。ここで、繰り返し上限回数は、繰り返し回数判定部３４による判定チェックの繰り返し回数の上限値であり、ハーネスが機構部品との干渉を回避するまでの予想される繰り返し回数であるものとする。具体的な繰り返し上限回数は、後述する。なお、干渉判定回数の初期値は「１」であり、ハーネス設計支援処理が実行されるとき、初期化される。
【００２９】
通過位置設定部３５は、ハーネスと干渉する機構部品（以降、「干渉部品」という。）を特定し、干渉部品の複数の面のうち、未だ選択されていない面を選択し、選択した面外にハーネスの通過位置を設定する。すなわち、通過位置設定部３５は、ハーネスが干渉部品と干渉しないような通過位置を探索すべく、干渉部品の面を順次選択し、選択した面外に通過位置を設定する。具体的には、通過位置設定部３５は、干渉判定部３３によってハーネスが機構部品と干渉すると判定された場合、且つ繰り返し回数判定部３４によって干渉判定回数が繰り返し上限回数に到達していない場合に、干渉すると判定された機構部品を干渉部品として特定する。また、通過位置設定部３５は、干渉部品の面数を少なくすべく、特定した干渉部品を３次元凸包となるように、３次元像作成部３２ｃに近似させる。ここで、３次元凸包とは、例えば直方体を意味する。また、ハーネスの通過位置を設定する面外とは、例えば面上を意味する。
【００３０】
また、通過位置設定部３５は、３次元像作成部３２ｃに近似させた、干渉部品における３次元凸包の複数の面のうち、未だ選択されていない面を選択し、面外にハーネスの通過位置を設定する。ここで、通過位置設定部３５がハーネスの通過位置を設定する具体例について、図３を参照して説明する。図３は、通過位置設定部の具体例を説明する図である。なお、図３では、ハーネスＡが干渉部品Ｂと干渉するものとし、干渉部品Ｂは、３次元凸包に近似した後の３次元像であるものとして説明する。図３に示すように、通過位置設定部３５は、ハーネスＡおよび干渉部品Ｂの３次元像に基づいて、ハーネスＡの例えば始点位置を示す通過位置Ｓに最も近い、干渉部品Ｂとの干渉位置Ｘを算出する。また、通過位置設定部３５は、ハーネスＡおよび干渉部品Ｂの３次元像に基づいて、ハーネスＡの例えば終点位置を示す通過位置Ｅに最も近い、干渉部品Ｂとの干渉位置Ｙを算出する。そして、通過位置設定部３５は、干渉位置Ｘと干渉位置Ｙの中点Ｃの位置を算出する。そして、通過位置設定部３５は、算出した中点Ｃの位置から干渉部品Ｂの複数面までの射影距離を算出し、射影距離の短い順に面を選択する。そして、通過位置設定部３５は、中点Ｃから選択した面に射影した点を、ハーネスの通過位置Ｚに設定する。このとき、通過位置設定部３５は、ハーネスの通過位置Ｚでの接線方向を、選択した面に対し平行となるようなベクトル情報とし、このベクトル情報を姿勢情報とする。
【００３１】
図２に戻って、通過位置設定部３５は、設定した通過位置および当該通過位置での姿勢情報をハーネス位置・形状算出部３２ｂに出力する。このように、通過位置設定部３５は、干渉部品における３次元凸包の面を繰り返し選択しながら選択した面外に通過位置を設定し、設定した通過位置などを用いて、機構部品との干渉を回避可能なハーネスをハーネス生成部３２に生成させる。このため、繰り返し回数判定部３４によって用いられる繰り返し上限回数は、通過位置設定部３５によって選択されるべき干渉部品の面の数、すなわち干渉部品の３次元凸包の面の数であることが望ましい。
【００３２】
表示制御部３６は、干渉判定部３３によってハーネスがいずれの機構部品とも干渉しないと判定された場合には、３次元像作成部３２ｃによって作成された、ハーネスの３次元像および機構部品の３次元像をディスプレイ３に出力する。
【００３３】
［実施例２に係るハーネス設計支援処理の手順］
次に、実施例２に係るハーネス設計支援処理の手順を、図４および図５を参照して説明する。図４は、ハーネス設計支援処理の手順を示すフローチャートであり、図５は、ハーネス設計支援処理のうち、面外に通過位置を設定する処理の手順を示すフローチャートである。
【００３４】
まず、ハーネス情報設定部３１は、キーボードを用いて入力された通過位置を含む各種値を、ハーネス情報として設定する（ステップＳ１１）。
【００３５】
次に、ハーネス生成部３２は、ハーネス情報設定部３１により設定されたハーネス情報および３次元モデルデータ記憶部２２により記憶された機構部品の３次元モデルデータに基づいて、ハーネスおよび機構部品の３次元像を生成する（ステップＳ１２）。具体的には、機構部品位置算出部３２ａは、３次元モデルデータ記憶部２２により記憶された機構部品の３次元モデルデータに基づいて、機構部品の位置を算出する。そして、ハーネス位置・形状算出部３２ｂは、機構部品位置算出部３２ａによって算出された機構部品の位置とハーネス情報設定部３１により設定されたハーネス情報に基づいて、ハーネスの位置およびハーネスの形状を算出する。さらに、３次元像作成部３２ｃは、ハーネスの位置およびハーネスの形状と、機構部品の位置と、ハーネス情報と、機構部品の３次元モデルデータとに基づいて、ハーネスおよび機構部品の３次元像を作成する。
【００３６】
続いて、干渉判定部３３は、３次元像作成部３２ｃによって作成されたハーネスおよび機構部品の３次元像に基づいて、当該ハーネスが機構部品と干渉するか否かを判定する（ステップＳ１３）。例えば、干渉判定部３３は、３次元像作成部３２ｃによって作成されたハーネスと機構部品とのバウンディングボックスを作成し、作成した双方のバウンディングボックスの交差を算出し、算出した結果、交差があるか否かによって干渉するか否かを判定する。
【００３７】
そして、干渉判定部３３によって当該ハーネスが機構部品と干渉しないと判定される場合には（ステップＳ１３；Ｎｏ）、干渉判定部３３はハーネス設計支援処理を終了する。この場合には、表示制御部３６が、３次元像作成部３２ｃによって作成された、ハーネスおよび機構部品の３次元像をディスプレイ３に出力する。
【００３８】
一方、干渉判定部３３によって当該ハーネスが機構部品と干渉すると判定される場合には（ステップＳ１３；Ｙｅｓ）、通過位置設定部３５は、干渉すると判定される機構部品を干渉部品として特定する（ステップＳ１４）。そして、通過位置設定部３５は、特定した干渉部品を３次元凸包となるように、３次元像作成部３２ｃに近似させる（ステップＳ１５）。
【００３９】
続いて、通過位置設定部３５は、３次元像作成部３２ｃに近似させた、干渉部品における３次元凸包の複数の面のうち、未だ選択されていない面を干渉回避面として選択する（ステップＳ１６）。例えば、通過位置設定部３５は、ハーネスが３次元凸包と干渉している部分の中点を算出し、算出した中点の位置から３次元凸包の複数面までの射影距離を算出し、射影距離の短い順に面を選択する。そして、通過位置設定部３５は、選択した干渉回避面外にハーネスの通過位置を設定する（ステップＳ１７）。このとき、通過位置設定部３５は、設定する通過位置でのハーネスの接線方向を、選択した面に対し平行となるようなベクトル情報とし、このベクトル情報を姿勢情報とする。
【００４０】
次に、ハーネス生成部３２は、設定されたハーネスの通過位置、姿勢情報および３次元モデルデータ記憶部２２により記憶された機構部品の３次元モデルデータに基づいて、ハーネスおよび機構部品の３次元像を生成する（ステップＳ１８）。
【００４１】
続いて、干渉判定部３３は、３次元像作成部３２ｃによって作成されたハーネスおよび機構部品の３次元像に基づいて、当該ハーネスが機構部品と干渉するか否かを判定する（ステップＳ１９）。
【００４２】
そして、干渉判定部３３によって当該ハーネスが機構部品と干渉しないと判定される場合には（ステップＳ１９；Ｎｏ）、干渉判定部３３は、当該ハーネスが干渉回避に成功したと判断し、ハーネス設計支援処理を終了する。この場合には、表示制御部３６が、３次元像作成部３２ｃによって作成された、ハーネスおよび機構部品の３次元像をディスプレイ３に出力する。
【００４３】
一方、干渉判定部３３によって当該ハーネスが機構部品と干渉すると判定される場合には（ステップＳ１９；Ｙｅｓ）、繰り返し回数判定部３４は、当該ハーネスの機構部品との干渉判定回数が繰り返し上限回数に到達したか否かを判定する（ステップＳ２０）。そして、当該ハーネスの機構部品との干渉判定回数が繰り返し上限回数に到達していないと判定される場合には（ステップＳ２０；Ｎｏ）、繰り返し回数判定部３４は、次の干渉回避面を選択すべく、ステップＳ１６に移行する。
【００４４】
一方、当該ハーネスの機構部品との干渉判定回数が繰り返し上限回数に到達していると判定される場合には（ステップＳ２０；Ｙｅｓ）、繰り返し回数判定部３４は、当該ハーネスが干渉回避に失敗したと判断し、ハーネス設計支援処理を終了する。この場合には、表示制御部３６が、３次元像作成部３２ｃによって作成された、当該ハーネスおよび機構部品の３次元像をディスプレイ３に出力するとともに、干渉回避に失敗した旨を表示するものとしても良い。
【００４５】
続いて、図４に示すハーネス設計支援処理のうち、ステップＳ１７の干渉回避面外に通過位置を設定する処理の手順について、図５を参照して説明する。
【００４６】
まず、通過位置設定部３５は、ハーネスの３次元像および干渉部品における３次元凸包の３次元像に基づいて、ハーネスの通過位置の１つである例えば始点位置に最も近い、当該ハーネスと３次元凸包との干渉位置を算出する（ステップＳ３１）。また、通過位置設定部３５は、ハーネスの３次元像および干渉部品における３次元凸包の３次元像に基づいて、ハーネスの通過位置の１つである例えば終点位置に最も近い、当該ハーネスと３次元凸包との干渉位置を算出する（ステップＳ３２）。
【００４７】
そして、通過位置設定部３５は、算出した２個の干渉位置の中点の位置を算出する（ステップＳ３３）。さらに、通過位置設定部３５は、算出した中点の位置から干渉回避面に射影した点を、ハーネスの通過位置に設定する（ステップＳ３４）。
【００４８】
次に、図６および図７を参照して、実施例２に係るハーネス設計支援装置２におけるディスプレイ３に表示される表示画面の具体例を説明する。図６は、ハーネスを新規に作成するためのハーネス情報設定画面Ｄ１の具体例を説明する図である。図６に示すように、ハーネス情報設定部３１が、ハーネス情報設定画面Ｄ１をディスプレイ３に表示し、ユーザによって各項目の値が入力されたハーネス情報を設定する。図６の例では、ハーネス情報設定画面Ｄ１のハーネス情報の各項目には、ハーネスを識別するハーネス名、ハーネス色、ハーネスの断面形状、断面の直径、被覆厚さがある。ハーネス情報設定画面Ｄ１には、ハーネスの通過位置を設定する画面に移行させる通過位置定義開始ボタンｂ１がある。ユーザがこのボタンを押下すると、ハーネス情報設定部３１は、通過位置設定画面をディスプレイ３に表示する。
【００４９】
図７は、ハーネス情報設定部３１によって表示された通過位置設定画面Ｄ２の具体例を説明する図である。図７（Ａ）は、１回目の通過位置を設定した場合であり、図７（Ｂ）は、２回目の通過位置を設定した場合であり、図７（Ｃ）は、３回目の通過位置を設定した場合である。なお、図７の例では、２個の機構部品に干渉することなくハーネスを生成する場合を説明するものとする。
【００５０】
図７（Ａ）に示すように、通過位置設定画面Ｄ２には、機構部品Ｐ１および機構部品Ｐ２が表示されている。そして、ユーザによって機構部品Ｐ１上にマウスでクリックされた通過位置ｍ１を、ハーネス情報設定部３１が設定する。
【００５１】
次に、図７（Ｂ）に示すように、ユーザによって機構部品Ｐ１上にマウスでクリックされた通過位置ｍ２を、ハーネス情報設定部３１が設定する。すると、ハーネス情報設定部３１は、設定した通過位置ｍ１、ｍ２を含むハーネス情報をハーネス生成部３２に出力し、ハーネス生成部３２、干渉判定部３３などの処理を経て、ハーネスｈ０が生成される。
【００５２】
さらに、図７（Ｃ）に示すように、ユーザによって機構部品Ｐ２上にマウスでクリックされた通過位置ｍ３を、ハーネス情報設定部３１が設定する。すると、ハーネス情報設定部３１は、設定した通過位置ｍ２、ｍ３を含むハーネス情報をハーネス生成部３２に出力し、ハーネス生成部３２、干渉判定部３３などの処理を経て、ハーネスｈ１が生成される。その結果、生成されたハーネスｈ０、ｈ１および機構部品Ｐ１、Ｐ２の３次元像が表示制御部３６によって通過位置設定画面Ｄ２に設定される。そして、設定された通過位置設定画面Ｄ２が表示制御部３６によってディスプレイ３に表示される。
【００５３】
ここで、実施例２に係るハーネス設計支援処理の具体例を、図８を参照して説明する。図８（Ａ）は、干渉部品を３次元凸包で近似する処理を説明する図であり、図８（Ｂ）は、干渉部品の面外に通過位置を設定する処理を説明する図であり、図８（Ｃ）は、通過位置を通るハーネスを生成する処理を説明する図である。
【００５４】
図８（Ａ）に示すように、ハーネス生成部３２は、ハーネス情報設定部３１により設定された通過位置を通り、ハーネス情報から求められる当該通過位置での姿勢情報となるような３次元像のハーネスｈ２および３次元像の機構部品ａ１を生成する。そして、干渉判定部３３は、ハーネスｈ２が機構部品ａ１と干渉するか否かを判定する。ここでは、干渉判定部３３は、ハーネスｈ２が機構部品ａ１と干渉していると判定し、機構部品ａ１を干渉部品ａ１と特定する。そして、通過位置設定部３５は、干渉部品ａ１を３次元凸包ａ２で近似する。
【００５５】
図８（Ｂ）に示すように、通過位置設定部３５は、３次元凸包ａ２の複数の面のうち、未だ選択されていない面（ここでは、ｎ１）を選択し、選択した面ｎ１の外に通過位置ａ３を設定する。このとき、通過位置設定部３５は、ハーネスの通過位置ａ３での接線方向を、選択した面ｎ１に対し平行となるようなベクトル情報とし、このベクトル情報を姿勢情報とする。
【００５６】
図８（Ｃ）に示すように、ハーネス生成部３２は、通過位置設定部３５により設定されたハーネスの通過位置ａ３を通り、通過位置ａ３での姿勢情報となるような３次元像のハーネスｈ３および３次元像の機構部品ａ１を生成する。そして、干渉判定部３３は、ハーネスｈ３が機構部品ａ１と干渉するか否かを判定する。ここでは、干渉判定部３３は、ハーネスｈ３が機構部品ａ１と干渉していないと判定し、干渉回避に成功したと判断し、ハーネス設計支援処理を終了する。
【００５７】
なお、ハーネスｈ３が機構部品ａ１と干渉していないと判定された場合には、通過位置設定部３５が、３次元凸包ａ２の既に選択された面ｎ１と異なる面に通過位置を設定する。そして、ハーネス生成部３２が、該通過位置を通るハーネスを生成する。さらに、干渉判定部３３が、生成されたハーネスが機構部品ａ１と干渉するか否かの干渉チェックを行う。そして、干渉判定部３３の干渉チェックによりハーネスの干渉がなくなるまで、通過位置設定部３５、ハーネス生成部３２および干渉判定部３３の各処理が繰り返されることにより、干渉が回避されたハーネスが生成されることとなる。
【００５８】
ところで、実施例２に係るハーネス設計支援処理では、通過位置設定部３５が、３次元凸包の未だ選択されていない面を選択し、選択した面外に１個の通過位置を設定するものとして説明した。しかしながら、通過位置設定部３５は、３次元凸包の未だ選択されていない面を選択し、選択した面外に複数個の通過位置を設定するものとしても良い。
【００５９】
そこで、実施例２に係るハーネス設計支援処理の変形例を、図９を参照して説明する。図９（Ａ）は、干渉部品を３次元凸包で近似する処理を説明する図であり、図９（Ｂ）は、干渉部品の面外に複数の通過位置を設定する処理を説明する図であり、図９（Ｃ）は、複数の通過位置を通るハーネスを生成する処理を説明する図である。なお、図９（Ａ）は、図８（Ａ）と同様の処理であるので、処理の説明を省略する。
【００６０】
通過位置設定部３５により干渉部品ａ１が３次元凸包ａ２で近似されると、図９（Ｂ）に示すように、通過位置設定部３５は、３次元凸包ａ２の複数の面のうち、未だ選択されていない面ｎ１を選択し、選択した面ｎ１の外に複数の通過位置ｂ１、ｂ２を設定する。このとき、通過位置設定部３５は、通過位置ｂ１、ｂ２でのハーネスの接線方向を、選択した面ｎ１に対し平行となるようなベクトル情報とし、このベクトル情報を姿勢情報とする。
【００６１】
図９（Ｃ）に示すように、ハーネス生成部３２は、通過位置設定部３５により設定されたハーネスの通過位置ｂ１、ｂ２を通り、通過位置ｂ１、ｂ２での姿勢情報となるような３次元像のハーネスｈ４および３次元像の機構部品ａ１を生成する。そして、干渉判定部３３は、ハーネスｈ４が機構部品ａ１と干渉するか否かを判定する。ここでは、干渉判定部３３は、ハーネスｈ４が機構部品ａ１と干渉していないと判定し、干渉回避に成功したと判断し、ハーネス設計支援処理を終了する。
【００６２】
なお、ハーネスｈ４が機構部品ａ１と干渉していないと判定された場合には、通過位置設定部３５が、干渉部品ａ１の既に選択された面ｎ１と異なる面に複数の通過位置を設定する。そして、ハーネス生成部３２が、該複数の通過位置を通るハーネスを生成する。さらに、干渉判定部３３が、生成されたハーネスが機構部品ａ１と干渉するか否かの干渉チェックを行う。そして、干渉判定部３３の干渉チェックによりハーネスの干渉がなくなるまで、これらの処理が繰り返されることにより、干渉が回避されたハーネスが生成される。
【００６３】
ところで、実施例２に係るハーネス設計支援処理では、通過位置設定部３５が、３次元凸包の未だ選択されていない面を選択し、選択した面外に通過位置を設定するものとして説明した。しかしながら、通過位置設定部３５は、３次元凸包の未だ選択されていない面を選択し、選択した面との間にオフセットをつけて通過位置を設定するものとしても良い。
【００６４】
そこで、実施例２に係るハーネス設計支援処理の別の変形例を、図１０を参照して説明する。図１０（Ａ）は、面上に通過位置を設定した場合であり、図１０（Ｂ）は、面との間にオフセットをつけて通過位置を設定した場合である。
【００６５】
図１０（Ａ）に示すように、通過位置設定部３５により３次元凸包ａ２の面上に通過位置ａ４が設定された場合には、面上に設定された通過位置ａ４を通るハーネスは、３次元凸包ａ２の端と干渉することがある。
【００６６】
図１０（Ｂ）に示すように、面との間にオフセットｄをつけて通過位置ｅ１が設定された場合には、設定された通過位置ｅ１を通るハーネスは、３次元凸包ａ２の端との干渉を回避しやすくなる。この場合には、通過位置設定部３５は、３次元凸包ａ２の複数の面のうち、未だ選択されていない面を選択し、選択した面上からオフセットｄを付けた位置に通過位置を設定するようにすれば良い。なお、オフセットｄは、例えば、ハーネスの半径の長さであり、ハーネスの太さが１ミリメートル（ｍｍ）の場合には、約０．５ｍｍとなる。
【００６７】
［実施例２の効果］
上記実施例２によれば、干渉判定部３３は、３次元モデル上に通過位置が設定された結果、通過位置を通るように生成されたハーネスが３次元モデルデータ記憶部２２によってデータが記憶された機構部品と干渉するか否かを判定する。そして、通過位置設定部３５が、干渉判定部３３によってハーネスが機構部品と干渉すると判定される場合には、ハーネスと干渉する機構部品を３次元凸包に近似する。そして、通過位置設定部３５は、当該３次元凸包の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定する。そして、ハーネス生成部３２が、通過位置設定部３５によって設定された通過位置を通る３次元モデルのハーネスを生成する。そして、干渉判定部３３によってハーネスが機構部品と干渉しないと判定されるまで、干渉判定部３３、通過位置設定部３５およびハーネス生成部３２が繰り返し動作する。かかる構成によれば、干渉判定部３３によってハーネスが機構部品と干渉しないと判定されるまで、干渉判定部３３、通過位置設定部３５およびハーネス生成部３２が繰り返し動作することとした。この結果、ハーネス設計支援装置２は、ハーネスに干渉する機構部品との干渉を回避した３次元モデルのハーネスを自動的に生成できる。このため、ハーネス設計支援装置２は、機構部品との干渉を回避したハーネスを生成する際、ユーザの作業負荷を軽減できる。
【００６８】
また、通過位置設定部３５は、ハーネスと干渉する機構部品を３次元凸包に近似し、当該３次元凸包の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定するようにした。かかる構成によれば、通過位置設定部３５は、ハーネスと干渉する機構部品を３次元凸包に近似することとしたので、通過位置を設定すべき面数をもとの機構部品の面数より少なくできる。このため、通過位置設定部３５は、干渉を回避するハーネスを生成するまでの計算コストを軽減できる。また、通過位置設定部３５は、ハーネスと干渉する機構部品を３次元凸包に近似し、当該３次元凸包の面外に通過位置を設定することとしたので、凹面となった面外に通過位置を設定することがなくなる。このため、通過位置設定部３５は、干渉回避の成功率を向上させることができる。
【００６９】
また、通過位置設定部３５は、３次元凸包の複数の面のうち、未だ選択されていない面を選択し、選択した面外に複数の通過位置を設定する。そして、ハーネス生成部３２は、通過位置設定部３５によって設定された複数の通過位置を通るハーネスを生成するようにした。かかる構成によれば、通過位置設定部３５は、より干渉の回避しやすいハーネスを生成することができる。
【００７０】
また、通過位置設定部３５は、３次元凸包の面から所定のオフセット分離間した位置に通過位置を設定するようにした。かかる構成によれば、通過位置設定部３５は、通過位置と３次元凸包の面との間にオフセットを設けることにより、干渉回避の可能性を向上させることができる。
【００７１】
また、通過位置設定部３５は、ハーネスの３次元凸包面との干渉する位置の中点を算出し、該算出した中点から３次元凸包の複数の面までの射影距離を算出し、該算出した射影距離の短い順に選択された面外に通過位置を設定するようにした。かかる構成によれば、通過位置設定部３５は、３次元凸包の面までの射影距離の短い面から順に通過位置を設定することとしたので、干渉を回避するハーネスを効率良く生成できる。
【００７２】
［その他］
なお、上記実施例２では、通過位置設定部３５が、干渉判定部３３によってハーネスが機構部品と干渉すると判定される場合には、ハーネスと干渉する機構部品を３次元凸包に近似し、当該３次元凸包の面外に通過位置を設定するものとして説明した。しかし、通過位置設定部３５は、これに限定されるものではなく、干渉判定部３３によってハーネスが機構部品と干渉すると判定される場合には、ハーネスと干渉する機構部品の面外に通過位置を設定するものとしても良い。
【００７３】
また、ハーネス設計支援装置１は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した機構部品情報記憶部１１、干渉判定部１２などの各機能を搭載することによって実現することができる。また、ハーネス設計支援装置２は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した制御部３０及び記憶部２０の各機能を搭載することによって実現することができる。
【００７４】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、機構部品位置算出部３２ａとハーネス位置・形状算出部３２ｂとを１つの部として統合しても良い。一方、通過位置設定部３５を、干渉部品を３次元凸包に近似する３次元凸包作成部と、３次元凸包の面外に通過位置を設定する通過位置設定部とに分散しても良い。また、記憶部２０をハーネス設計支援装置２の外部装置としてネットワーク経由で接続するようにしても良い。
【００７５】
［プログラム］
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１１を用いて、図２に示したハーネス設計支援装置２の制御部３０と同様の機能を有するハーネス設計支援プログラムを実行するコンピュータの一例を説明する。
【００７６】
図１１は、ハーネス設計支援プログラムを実行するコンピュータを示す図である。図１１に示すように、コンピュータ１０００は、ＲＡＭ（Random  Access  Memory）１０１０と、キャッシュ１０２０と、ＨＤＤ１０３０と、ＣＰＵ（Central  Processing  Unit）１０４０およびバス１０５０とを有する。ＲＡＭ１０１０、キャッシュ１０２０、ＨＤＤ１０３０およびＣＰＵ１０４０は、バス１０５０によって接続されている。
【００７７】
そして、ＨＤＤ１０３０には、図２に示した制御部２０と同様の機能を有するハーネス設計支援プログラム１０３１が記憶される。また、ＨＤＤ１０３０には、図２に示したハーネス情報記憶部２１および３次元モデルデータ記憶部２２に対応するハーネスおよび機構部品関連情報１０３２が記憶される。
【００７８】
そして、ＣＰＵ１０４０がハーネス設計支援プログラム１０３１をＨＤＤ１０３０から読み出してＲＡＭ１０１０に展開することにより、ハーネス設計支援プログラム１０３１は、ハーネス設計支援プロセス１０１１として機能するようになる。そして、ハーネス設計支援プロセス１０１１は、ハーネスおよび機構部品関連情報１０３２から読み出した情報などを適宜ＲＡＭ１０１０上の自身に割り当てられた領域に展開し、この展開したデータなどに基づいて各種データ処理を実行する。
【００７９】
なお、上述したハーネス設計支援プログラム１０３１については、必ずしもＲＯＭに記憶させなくても良い。例えば、コンピュータ１０００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラム１０３１を記憶させても良い。又は、コンピュータ１０００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」にハーネス設計支援プログラム１０３１を記憶させても良い。又は、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１０００に接続される「他のコンピュータ（又はサーバ）」にハーネス設計支援プログラム１０３１を記憶させても良い。そして、コンピュータ１０００は、上述したフレキシブルディスクなどからプログラムを読み出して実行するようにしても良い。
【００８０】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【００８１】
（付記１）コンピュータに、
３次元モデル上にハーネスの通過位置を含むハーネス情報を設定し、
該設定した通過位置を通るように位置が決定されたハーネスが、ハーネスを通過させる機構部品についての３次元モデルデータを記憶する記憶部から読み出した前記機構部品と干渉するか否かを判定し、
該判定した結果、前記ハーネスが前記機構部品と干渉すると判定される場合に、前記機構部品の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定し、
該設定した前記通過位置を通るハーネスの位置を決定し、
該位置を決定したハーネスの前記機構部品との干渉を判定する判定処理によって前記ハーネスが前記機構部品と干渉しないと判定されるまで、前記判定処理、通過位置を設定する処理およびハーネスの位置を決定する処理が繰り返し動作する
処理を実行させることを特徴とするハーネス設計支援プログラム。
【００８２】
（付記２）前記コンピュータに、
前記設定処理において、前記ハーネスと干渉する前記機構部品を３次元凸包に近似し、該近似した３次元凸包の面外に通過位置を設定する
処理を実行させることを特徴とする付記１に記載のハーネス設計支援プログラム。
【００８３】
（付記３）前記コンピュータに、
前記設定処理において、前記３次元凸包の面外に複数の通過位置を設定し、
前記決定処理において、該設定された複数の通過位置を通るハーネスの位置を決定する
処理を実行させることを特徴とする付記２に記載のハーネス設計支援プログラム。
【００８４】
（付記４）前記コンピュータに、
前記設定処理において、前記３次元凸包の面から所定のオフセット分離間した位置に通過位置を設定する
処理を実行させることを特徴とする付記２または付記３に記載のハーネス設計支援プログラム。
【００８５】
（付記５）前記コンピュータに、
前記設定処理において、前記ハーネスの前記３次元凸包面との干渉する位置の中点を算出し、該算出した中点から前記３次元凸包の複数の面までの射影距離を算出し、該算出した射影距離の短い順に選択された面外に通過位置を設定する
処理を実行させることを特徴とする付記２に記載のハーネス設計支援プログラム。
【００８６】
（付記６）コンピュータが、
３次元モデル上にハーネスの通過位置を含むハーネス情報を設定し、
該設定した通過位置を通るように位置が決定されたハーネスが、前記ハーネスを通過させる機構部品についての３次元モデルデータを記憶する記憶部から読み出した前記機構部品と干渉するか否かを判定し、
該判定した結果、前記ハーネスが前記機構部品と干渉すると判定される場合に、前記機構部品の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定し、
該設定した前記通過位置を通るハーネスの位置を決定し、
該位置を決定したハーネスの前記機構部品との干渉を判定する判定処理によって前記ハーネスが前記機構部品と干渉しないと判定されるまで、前記判定処理、通過位置を設定する処理およびハーネスの位置を決定する処理が繰り返し動作する
ことを特徴とするハーネス設計支援方法。
【００８７】
（付記７）ハーネスを通過させる機構部品についての３次元モデルデータを記憶する記憶部と、
３次元モデル上に通過位置が設定された結果、当該通過位置を通るように位置が決定されたハーネスが前記記憶部から読み出した前記機構部品と干渉するか否かを判定する判定部と、
前記ハーネスが前記機構部品と干渉すると判定される場合に、前記機構部品の複数の面のうち、未だ選択されていない面を選択し、選択した面外に通過位置を設定する設定部と、
設定された前記通過位置を通るハーネスの位置を決定する決定部と、
を備え、前記判定部によって前記ハーネスが前記機構部品と干渉しないと判定されるまで、前記判定部、前記設定部および前記決定部が繰り返し動作することを特徴とするハーネス設計支援装置。
【符号の説明】
【００８８】
１、２  ハーネス設計支援装置
３  ディスプレイ
１１、２０  記憶部
１２  判定部
１３  設定部
１４  決定部
３２  ハーネス生成部
３３  干渉判定部
３５  通過位置設定部
２１  ハーネス情報記憶部
２２  ３次元モデルデータ記憶部
３０  制御部
３１  ハーネス情報設定部
３２ａ  機構部品位置算出部
３２ｂ  ハーネス位置・形状算出部
３２ｃ  ３次元像作成部
【図１】
0005644508.tif 000002
【図２】
0005644508.tif 000003
【図３】
0005644508.tif 000004
【図４】
0005644508.tif 000005
【図５】
0005644508.tif 000006
【図６】
0005644508.tif 000007
【図７】
0005644508.tif 000008
【図８】
0005644508.tif 000009
【図９】
0005644508.tif 000010
【図１０】
0005644508.tif 000011
【図１１】
0005644508.tif 000012
【図１２】
0005644508.tif 000013
【図１３】
0005644508.tif 000014