説明

設計支援プログラムおよび設計支援装置

【課題】束線または束線に含まれる個々の可撓性線状部材の、断面における変化を反映した情報を提供する。
【解決手段】コンピュータは、束線の始点と終点それぞれにおける束線の断面それぞれを表す情報の入力を受け付ける。また、コンピュータは、束線の始点と終点の位置に基づいて、始点と終点を結ぶ経路の3次元形状を表す経路パラメータを計算する。そして、コンピュータは、経路上にある中間点における上記経路の接ベクトルを計算し、上記で受け付けた断面を表す情報と中間点での接ベクトルに基づいて、中間点での接ベクトルに垂直な平面による束線の断面を表す情報を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は可撓性線状部材をモデル化する技術に関する。
【背景技術】
【0002】
機械装置等の各種工業製品には、ケーブル、ワイヤ、ハーネス等の可撓性線状部材が数多く組み込まれている。また、複数本の可撓性線状部材を結束して束にしたもの(「束線」とも呼ばれる)を引き回すことも一般的に行われている。
【0003】
製品の設計においては、個々の可撓性線状部材または束線全体を3次元空間内にモデル化し、可撓性線状部材または束線によって占有される空間のシミュレーションを行うことが有用である。シミュレーションには、例えば、3次元DMU(Digital Mock-Up)上に仮想的に可撓性線状部材または束線を配線することのできるCAD(Computer-Aided Design)システムが用いられる。
【0004】
製品の設計者は、シミュレーションの結果に基づいて、他の部品と干渉せずに束線を引き回すことのできる適切な経路、束線の適切な長さ、束線の適切な結束位置、および束線を引き回すのに必要な部品間の隙間の大きさなどを検討することができる。このように、試作品を製造する前に、束線や可撓性線状部材を含めて適宜シミュレーションを行うことで、製品の開発期間および開発コストを低減させることができる。
【0005】
例えば、自動車等の適用対象で使われるワイヤハーネスの各電線の径および個数を入力し、経験的に導き出された所定の演算式で電線束をモデル化した仮想電線の径を演算し、演算結果に基づいて仮想電線の屈曲寿命予測を行う技術が開示されている。この技術によれば、容易に屈曲寿命を予測でき、適用対象および適用対象におけるワイヤハーネスの配策の設計構想後、即座に屈曲寿命を予測して結果を得ることができる。したがって、開発期間を短縮することができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−141949号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来のシミュレーションで用いられる3次元モデルでは、束線の経路の3次元形状に応じて生じる、束線または個々の可撓性線状部材の、断面における変化が十分に考慮に入れられていない。そのため、シミュレーションの精度が不十分な場合がある。
【0008】
そこで本発明は、より高い精度のシミュレーションを実現するために、断面における変化を反映した情報を提供することを目的とする。
【課題を解決するための手段】
【0009】
開示の技術の第1の態様によれば、コンピュータに、1本以上の線状可撓性部材を含む束線を含む装置の設計支援を行わせる設計支援プログラムが提供される。前記設計支援プログラムは、下記の経路計算ステップ、入力ステップおよび情報生成ステップを前記コンピュータに実行させる。
【0010】
前記経路計算ステップは、前記束線の始点と終点の位置に基づいて、前記始点と前記終点を結ぶ経路の3次元形状を表す経路パラメータを計算するステップである。
前記入力ステップは、前記束線の前記始点における前記経路の向きを表す第1の接ベクトルに垂直であり前記束線の前記始点を通る第1の平面による、前記束線の第1の断面を表す第1の情報の入力と、前記終点における前記経路の向きを表す第2の接ベクトルに垂直であり前記束線の前記終点を通る第2の平面による、前記束線の第2の断面を表す第2の情報の入力を受け付けるステップである。
【0011】
前記情報生成ステップは、前記経路パラメータに基づいて、前記経路上の中間点における前記経路の向きを表す第3の接ベクトルを計算し、前記第1の情報と前記第2の情報と前記第3の接ベクトルに基づいて、前記第3の接ベクトルに垂直であり前記中間点を通る第3の平面による、前記束線の第3の断面を表す第3の情報を生成するステップである。
【0012】
開示の技術の第2の態様によれば、第1の態様の設計支援プログラムにしたがってコンピュータが実行する設計支援方法が提供される。また、開示の技術の第3の態様によれば、第2の態様の設計支援方法と同様に動作する設計支援装置が提供される。
【発明の効果】
【0013】
開示の技術によれば、第3の情報の生成は、第1と第2の情報に基づくだけではなく、束線の経路の3次元形状に依存する第3の接ベクトルにも基づいて行われる。したがって、第3の情報は、束線の経路の3次元形状に応じた変化を反映することができる。
【図面の簡単な説明】
【0014】
【図1A】ハーネス束線を含む装置の例を示す斜視図である。
【図1B】図1Aの装置の上面図である。
【図1C】図1Aの装置の比較例におけるシミュレーションについて説明する断面図である。
【図1D】図1Aの装置の第1実施形態におけるシミュレーションについて説明する断面図である。
【図2】ハーネス束線の3次元モデルを生成する処理を示すフローチャートである。
【図3】各種情報の入力を受け付ける処理を示すフローチャートである。
【図4】各変数について説明する模式図である。
【図5】太さを持たない線状ハーネスのモデルを得る処理を示すフローチャートである。
【図6】曲線を近似する折れ線の一部を示す図である。
【図7】各結束位置の特性を表す情報を求める処理を示すフローチャートである。
【図8】行列Mの計算について説明する図である。
【図9】b番目の結束位置における接ベクトルtの計算について説明する図である。
【図10】基底の取り替えについて説明する図である。
【図11】束線ハーネスの変形を考慮した3次元モデルを生成して出力する処理を示すフローチャートである。
【図12】コンピュータの構成図である。
【発明を実施するための形態】
【0015】
以下、実施形態について、図面を参照しながら詳細に説明する。なお、以下では1本1本の可撓性線状部材の具体例として「ワイヤ」という名称を用いるが、可撓性線状部材としてケーブルまたはその他の部材を用いてもよいことは無論である。また、複数の可撓性線状部材を束ねたものを以下では「ハーネス束線」という。以下では、図1A〜図12を参照して第1実施形態について説明し、その後、他の実施形態について説明する。
【0016】
図1Aは、ハーネス束線104を含む装置100の例を示す斜視図である。図1Bは、装置100の上面図である。図1Cは、装置100の比較例におけるシミュレーションについて説明する断面図であり、図1Dは、装置100の第1実施形態におけるシミュレーションについて説明する断面図である。
【0017】
図1Aに示すように、装置100は、板状の支持部材101を備え、さらに、支持部材101の上に設置された部品102と103を備える。また、装置100には、複数のワイヤを束ねたハーネス束線104も含まれる。ハーネス束線104は、部品103に2箇所で固定されており、その2箇所の中間において部品102に固定されている。なお、図1A〜図1Dは、装置100の一部を示す図であり、図1A〜図1Dではハーネス束線104の始点と終点は省略されている。
【0018】
図1Bに示すように、ハーネス束線104は、2つのクランプ105および106により、部品103に2箇所で固定されている。また、クランプ105と106の間で、ハーネス束線104は、クランプ107により部品102に固定されている。換言すれば、ハーネス束線104は、3つのクランプ105〜107の箇所で結束されている。なお、図1Aでは、部品103の紙面手前側の側面に取り付けられたクランプ105と部品102の右側の側面に取り付けられたクランプ107が図示されており、部品103の左側の側面に取り付けられたクランプ106は隠れている。
【0019】
図1Cと図1Dは、図1Bに示したA‐B線における装置100の断面図である。図1Cは、ハーネス束線104の断面における変化が考慮されない3次元モデルを比較例として示した図であり、図1Dは、第1実施形態で生成される情報を用いて作られる3次元モデルを示した図である。なお、図1A〜図1Dの例では、ハーネス束線104は、円形の断面を有する3本のワイヤ108〜110からなると仮定している。
【0020】
図1Cの比較例においては、ハーネス束線104の引き回し方(すなわちハーネス束線104の経路の3次元形状)に影響された変形が考慮されていない。すなわち、比較例では、ワイヤ108〜110それぞれの断面の形状は円形のままであり、歪んでいない。また、比較例では、ハーネス束線104上のどの箇所における断面でも常に、ワイヤ108〜110が図1Cに示したのと同じ位置関係に配置されていると仮定されている。
【0021】
図1Cの比較例によれば、ワイヤ108〜110のいずれも、他の部品(つまり支持部材101、部品102、部品103、およびクランプ107)と干渉せず、クランプ107内の空洞部を通り抜けている。
【0022】
しかしながら、実際には、個々のワイヤ108〜110の断面は、湾曲に応じて変形する。一般には、大きな曲率で曲げられた箇所ほど、断面の形状は大きく歪む。また、ハーネス束線104の断面内における、ワイヤ108〜110同士の相対的な位置関係も、ハーネス束線104の経路の形状に応じて変化しうる。
【0023】
例えば、実際には、各ワイヤ108〜110の断面形状は扁平化して楕円形となり、ハーネス束線104の断面内における、ワイヤ108〜110同士の相対的な位置関係も、図1Cとは違うパターンになってしまうことがある。この場合、断面における変化を考慮に入れて、図1Dのように、ハーネス束線104または個々のワイヤ108〜110の3次元モデルを作成することにより、比較例よりも正確なシミュレーションが可能となる。すなわち、図1Dの3次元モデルによれば、ワイヤ109と部品102との干渉、およびワイヤ110とクランプ107との干渉を検出することが可能である。
【0024】
近年では、工業製品の小型化にともない、製品に組み込まれているハーネス束線をうまく束ねて、ハーネス束線が占有するスペースを必要最小限にとどめたいという要求がある。そのため、設計者は3次元DMU上に仮想的にハーネス束線を配線して、コンピュータにシミュレーションを行わせ、要求を満たすための試行錯誤を行う。その際、例えば図1Dのように、ハーネス束線および個々のワイヤをより正確かつ精密に3次元モデル化することで、実物の形状とシミュレーションにおける3次元モデルの形状のずれを少なくすることができる。
【0025】
そこで、以下では、上記のように変化を考慮したハーネス束線またはワイヤの3次元モデルを生成する処理について、詳しく説明する。なお、以下に説明する処理は、一部または全部が専用ハードウェア回路により実行されてもよい。しかし、説明の便宜上、以下の処理は、プログラムにしたがって動作する汎用のコンピュータにより実行されるものとして説明する。
【0026】
図2は、ハーネス束線の3次元モデルを生成する処理を示すフローチャートである。なお、以下の説明において、「始点」と「終点」という語を用いるが、ワイヤによる電気的信号の伝達方向とは無関係に、便宜上、2つの端点のうち任意の一方を「始点」と呼び、他方を「終点」と呼んでいるだけである。また、第1実施形態および後述の各実施形態の適用対象は、図1A〜図1Dに示した装置100に限らず、任意の装置でよい。
【0027】
ステップS100で、コンピュータは、詳しくは図3および図4とともに後述する各種情報の入力を受け付ける。受け付けられる情報の中には、ハーネス束線の1つ以上の結束位置を示す情報が含まれる。なお、以下で「結束」とは、ハーネス束線に含まれる個々のワイヤを束ね、束ねた箇所において、ハーネス束線全体を他の部品等に固定することをいう。また、ハーネス束線は太さを持った3次元形状だが、「結束位置」とは、結束された部位を代表して表す点であり、2次元的または3次元的な広がりを持たないものとする。
【0028】
続いて、ステップS200で、コンピュータは、ハーネス束線を、太さを持たない曲線としてモデル化し、曲線の形状を計算する。太さを持たない曲線は、ハーネス束線の中心線と見なすことができる。ステップS200の計算では、ステップS100で入力された、各結束位置を示す情報が利用される。
【0029】
ステップS200は、ハーネス束線の始点と終点の位置に基づいて、始点と終点を結ぶ経路の3次元形状を表す経路パラメータを計算する経路計算ステップの一例であり、ステップS200においてコンピュータは、経路計算手段として機能する。
【0030】
なお、以下では太さを持たない曲線としてモデル化された仮想的なハーネス束線を、「線状ハーネス」と称する。また、第1実施形態では、曲線の幾何的形状は、折れ線により近似される。折れ線は複数の線分の集合である。つまり、ステップS200においてコンピュータは、曲線を近似するための各線分の端点である、複数の点の位置を計算する。
【0031】
そして、ステップS300で、コンピュータは、各結束位置における特性を表す情報を求める。上記「特性」の例は、各結束位置における接線の向きや曲率などである。コンピュータは、ステップS200で予備的に求められた線状ハーネスの形状に基づいて、各結束位置における特性を表す情報を求めることができる。
【0032】
なお、第1実施形態では、ワールド座標系として、固定された3次元直交座標系(以下では「xyz座標系」という)を用いる。なお、z座標は高さを表すものとする。
さらに、第1実施形態では、ローカル座標系として、注目している線状ハーネス上の点を原点とする3次元直交座標系(以下では「tuv座標系」という)を用いる。例えば、特性の1つとして、t軸の方向を規定するベクトルの形で、線状ハーネスの接線の向きが計算される。なお、複数の結束位置でのそれぞれのローカル座標系を区別するため、以下では、「t」、「u」、および「v」に適宜添え字をつけて、「ベクトルt」や「t軸」のように表記することがある。
【0033】
最後に、ステップS400で、コンピュータは、ハーネス束線に含まれる各ワイヤの各結束位置における断面レイアウト上の位置と形状を計算し、計算結果からハーネス束線の3次元モデルを生成して出力する。以下、「断面レイアウト」とは、線状ハーネスとしてモデル化されたハーネス束線の接線に垂直な平面による断面において、当該ハーネス束線に含まれる個々のワイヤの、位置および形状を示す2次元の情報のことである。詳しくは図4とともに後述するが、断面レイアウトは、ローカル座標系を用いてuv平面上の情報として表すことができる。
【0034】
ステップS400では、各ワイヤの断面レイアウト上の位置と形状(つまり断面形状)が、ハーネス束線の経路の形状に応じた変化を考慮して計算される。したがって、出力されるのは、図1Cの比較例のようにハーネス束線上の位置やハーネス束線の経路の形状によらない一律な断面を有する3次元モデルではない。すなわち、図1Dのように、ハーネス束線の経路の形状に影響されて生じる、ハーネス束線上の位置に応じた変化が考慮された3次元モデルが、ステップS400では出力される。
【0035】
続いて、図3を参照して、図2のステップS100の詳細を説明する。図3は、各種情報の入力を受け付ける処理を示すフローチャートである。なお、図3の各ステップの実行順は、例えば下記のようないくつかの制約はあるが、適宜入れ替えることができる。
【0036】
・ステップS103〜S105がステップS102の後である。
・ステップS106がステップS104の後である。
・ステップS108がステップS107の後である。
【0037】
ステップS101でコンピュータは、ハーネス束線の全長Lの入力を受け付ける。なお、第1実施形態では、ハーネス束線に含まれる個々のワイヤの長さがすべて等しいと仮定している。つまり、各ワイヤの長さは、どれもハーネス束線の全長Lに等しい。
【0038】
また、ステップS102でコンピュータは、ハーネス束線に含まれるワイヤの本数Nの入力を受け付ける(N≧1)。
そして、ステップS103でコンピュータは、各ワイヤの半径rの入力を受け付ける(1≦a≦N)。なお、第1実施形態では、各ワイヤの断面は、自然な状態では円形であると仮定している。
【0039】
また、ステップS104でコンピュータは、各ワイヤの始点の位置pSaと終点の位置pEaの入力を受け付ける(1≦a≦N)。なお、始点の位置と終点の位置は、それぞれ、xyz空間上の位置ベクトルpSaとpEaにより表されている。
【0040】
なお、以下では、表記の便宜上、ハーネス束線の始点に関するベクトル等には添え字「S」を用い、終点に関するベクトル等には添え字「E」を用いる。また、表記の便宜上、添え字「S」と「E」を、それぞれ添え字「0」(ゼロ)と添え字「K+1」で置き換える場合がある。
【0041】
コンピュータはさらにステップS105で、各ワイヤの始点での接線方向tSaと終点での接線方向tEaの入力を受け付ける(1≦a≦N)。接線方向tSaは、a本目のワイヤの始点における接線の方向を、xyz座標系によって表した3次元ベクトルである。同様に、接線方向tEaは、a本目のワイヤの終点における接線の方向を、xyz座標系によって表した3次元ベクトルである。
【0042】
換言すれば、接線方向tSaとtEaは、a本目のワイヤの始点と終点それぞれにおける接続の方向である。例えば、ワイヤが始点において、ある構成部品にコネクタにより接続される場合、コネクタの方向が接線方向tSaを規定する。また、後の計算の便宜上、ベクトルtSaとtEaは、長さが1に正規化されているものとする。
【0043】
続いて、ステップS106でコンピュータは、始点と終点での断面レイアウトの入力を受け付ける。上記のように、断面レイアウトは、ローカル座標系を用いてuv平面上の情報として表すことができる。
【0044】
なお、第1実施形態では、N本のワイヤそれぞれの始点が同一平面上にあり、かつ、N本のワイヤそれぞれの終点が同一平面上にあると仮定している。実際の製品の設計においては、この仮定が成立する場合が一般的であり、この仮定により後の計算が単純化されるからである。例えば、ある部品の1つの側面が平面であり、当該側面上にN個のコネクタが並んでいる構成において、N個のコネクタにそれぞれ接続されるワイヤが束ねられてハーネス束線となる場合、上記仮定が成立する。
【0045】
また、説明の都合上、詳しい計算方法は図11のステップS403とともに後述するが、ステップS106においてコンピュータは、ステップS403の準備のための計算を行う。具体的には、コンピュータは、始点における各ワイヤのu座標およびv座標の値、ならびに終点における各ワイヤのu座標およびv座標の値を計算する。
【0046】
続いて、ステップS107でコンピュータは、結束位置の個数Kの入力を受け付ける(K≧1)。
その後、ステップS108でコンピュータは、線状ハーネスにおけるK箇所の結束位置p(1≦b≦K)の入力を受け付ける。K箇所の結束位置p(1≦b≦K)は、xyz座標系における位置ベクトルにより表される。
【0047】
以上で、図2のステップS100に相当する図3の処理は終了する。なお、ステップS101〜S108における入力は、例えば、キーボードやポインティングデバイスなどの入力装置を介した入力でもよく、ネットワークを介しての他のコンピュータからの入力であってもよい。
【0048】
続いて、図3で入力された情報および後述の各処理で用いられる情報について図4を参照して説明する。図4は、各変数について説明する模式図である。
図4には、3本のワイヤ121〜123からなるハーネス束線120が例示されている。つまり、図4の例ではN=3である。また、図4は、ハーネス束線120が1箇所で束ねられて固定される例、すなわちK=1の例を示している。
【0049】
ハーネス束線120の始点を原点とするローカル座標系であるtuv座標系の各座標軸は、図4においてそれぞれ「t」、「u」、および「v」と示されている。また、ハーネス束線120の終点を原点とするtuv座標系の各座標軸は、図4においてそれぞれ「t」、「u」、および「v」と示されている。図4のtuv座標系は右手系である。
【0050】
なお、図5とともに後述するように、ハーネス束線120の始点の位置は、ワイヤ121〜123の始点の位置の平均である。そして、ハーネス束線120の終点の位置は、ワイヤ121〜123の終点の位置の平均である。
【0051】
図4における断面レイアウト131と132は、図3のステップS106で受け付けられる情報の一例を模式的に表している。始点の断面レイアウト131と終点の断面レイアウト132の形式は同様なので、断面レイアウト131についてのみ以下に詳しく説明する。
【0052】
図3のステップS106に関して説明した仮定から、第1実施形態では、3本のワイヤ121〜123それぞれの始点は同一平面上にある。同様に、3本のワイヤ121〜123それぞれの終点は同一平面上にある。以下では、ワイヤ121〜123の始点を通る平面を「平面ξ」といい、ワイヤ121〜123の終点を通る平面を「平面ξ」ということにする。
【0053】
以下では始点に関する断面レイアウト131と平面ξに注目して説明する。コンピュータは、ワイヤ121〜123のそれぞれの始点の位置(すなわちxyz座標)から、平面ξをxyz座標で表す式(1)の係数ξS1〜ξS4を計算することができる。
【0054】
ξS1x+ξS2y+ξS3z+ξS4=0 (1)
式(1)により表される平面ξの法線ベクトルは(ξS1,ξS2,ξS3である。なお、「T」は転置を表す。ハーネス束線120の始点におけるt軸の向きを表すベクトルtは、この法線ベクトルを大きさ1に正規化したものであり、式(2)または(3)により計算される。
【0055】
【数1】

【0056】
【数2】

式(2)と(3)は、正負の符号のみが異なる。図7のステップS301に関して後述するように、コンピュータは、式(2)と(3)のうち、適切な方の式を選ぶことができる。
【0057】
ここで、ローカル座標系であるtuv座標系も直交座標系なので、ハーネス束線120の始点におけるu軸とv軸(つまりu軸とv軸)は、ベクトルtと垂直な平面ξ上にある。ベクトルtは、始点におけるハーネス束線120の向きを表すベクトル(すなわち線状ハーネスの始点における接ベクトル)として用いられる。
【0058】
図4に示した、ハーネス束線120の始点における断面レイアウト131は、平面ξと平行な無数の単位ベクトルの中から、u軸を規定するベクトルuおよびv軸を規定するベクトルvを指定する情報でもある。
【0059】
ところで、断面レイアウト131に関わる情報には、ワイヤ121〜123それぞれの始点の、xyz空間における位置ベクトルpSa(1≦a≦N=3)が含まれる。これらの位置ベクトルpSa(1≦a≦N=3)は、図3のステップS104で入力済みである。したがって、コンピュータは、ワイヤ121〜123の始点間の、xyz空間における距離を計算することができる。3つの始点がいずれも平面ξ上にあるので、計算される距離は、平面ξ上での距離でもある。3つの始点間の距離は、断面レイアウト131の入力を受け付けるために用いられてもよい。
【0060】
コンピュータが断面レイアウト131の入力を受け付けるために提供するインタフェイスは任意であるが、コンピュータは、例えば次のようなGUI(Graphical User Interface)を提供してもよい。
【0061】
例えば、コンピュータは、図4で断面レイアウト131に重ねて示したように、画面内において、左から右へ向かう水平な直線によりu軸を表し、下から上に向かう垂直な直線によりv軸を表すことで、u平面を表してもよい。そして、コンピュータは、例えば、ワイヤ121の始点がu平面の原点に対して位置する方向を指定する入力を、設計者からポインティングデバイス等の入力装置を介して受け取ってもよい。
【0062】
ここで、上記のとおりハーネス束線120の始点の位置は、ワイヤ121〜123の始点の位置の平均である。換言すれば、ワイヤ121〜123の3つの始点の位置の平均は、u平面の原点である。
【0063】
よって、コンピュータは、u平面における各ワイヤ121〜123の始点と原点との距離を計算することができる。そこで、コンピュータは、例えば、画面上に、原点とワイヤ121の始点の間の距離の分だけu平面の原点から離して、ワイヤ121の始点における断面を表す半径rの円を原点に対して任意の方向に配置してもよい。
【0064】
コンピュータは、ワイヤ121〜123の始点間の距離と、ワイヤ122の始点とu平面の原点の距離と、ワイヤ123の始点とu平面の原点の距離から、画面上のワイヤ122と123の始点の位置を計算することができる。よって、コンピュータは、計算結果にしたがって、画面上に、ワイヤ122と123の始点における断面を表す半径rとrの円をそれぞれ配置してもよい。
【0065】
コンピュータは、例えば、画面上でu軸とv軸の線の方向を固定するとともに、上記のようにして配置した3つの円の位置を、画面上でのu平面の原点を中心として回転することが可能なGUIを提供してもよい。GUIを介した回転量の指定は、換言すれば、ワイヤ121〜123の始点がそれぞれu平面の原点に対して位置する方向を指定する入力でもある。つまり、画面内でのu軸とv軸の線の向きと、ワイヤ121〜123の断面の円との相対的な位置関係から、ベクトルuとvをxyz座標系で表したときのx成分、y成分、およびz成分の値を、コンピュータは計算することができる。
【0066】
なお、上記のように、第1実施形態においては、ワイヤ121〜123の断面は円形であると仮定されており、図3のステップS103で、ワイヤ121〜123それぞれの断面の円の半径r〜rは入力済みである。
【0067】
設計者は、画面に表示されているu軸とv軸の直線と、ワイヤ121〜123を示す3つの円との相対位置を見て、必要に応じて、画面上の3つの円の位置を画面上でのu平面の原点を中心として回転させることができる。例えば、上記のようなGUIを介して、必要に応じて、回転量の再指定とベクトルuとvの再計算が行われることで、最終的に断面レイアウト131が決定されてもよい。
【0068】
もちろん、コンピュータは、上記に例示したGUI以外のインタフェイスを介して、断面レイアウト131を指定する入力(換言すればベクトルuとvそれぞれのxyz成分を直接または間接に指定する入力)を受け付けてもよい。
【0069】
また、コンピュータは、ハーネス束線120の終点における断面レイアウト132を指定する入力も、断面レイアウト131を指定する入力と同様にして受け付けることができる。つまり、コンピュータは、ベクトルtと同様の方法によって、終点におけるハーネス束線120の向きを表すベクトル(すなわち線状ハーネスの終点における接ベクトル)としてベクトルtを計算することができる。また、コンピュータは、ベクトルuとvそれぞれのxyz成分を計算することもできる。
【0070】
なお、図4において結束点に関する部分と、断面レイアウト132の傾きθについては図7および図11とともに後述する。
以上、図4を参照して説明した内容を図3のステップS106と関連付けて一般化すれば下記のとおりである。
【0071】
始点での断面レイアウトを指定する入力は、ハーネス束線の始点を通る第1の平面(具体的には平面ξ)によるハーネス束線の第1の断面を表す第1の情報の一例にすぎず、入力インタフェイスや情報の形式は上記の例示に限られない。同様に、終点での断面レイアウトを指定する入力は、ハーネス束線の終点を通る第2の平面(具体的には平面ξ)によるハーネス束線120の第2の断面を表す第2の情報の一例にすぎない。
【0072】
なお、上記第1の平面は、ハーネス束線の始点と終点を結ぶ経路の、始点における向きを表す第1の接ベクトル(すなわちベクトルt)に垂直な平面である。また、上記第2の平面は、上記経路の、終点における向きを表す第2の接ベクトル(すなわちベクトルt)に垂直な平面である。
【0073】
第1実施形態において、上記第1の情報は、第1の平面上に2本の座標軸を有する第1のローカル座標系とワールド座標系との関係を示す第1の座標系情報を含む。より具体的には、第1の情報は、平面ξ上にu軸とv軸を有するu座標系とxyz座標系との関係を示す情報として、ベクトルuとvそれぞれのxyz成分を含む。
【0074】
同様に、上記第2の情報は、第2の平面上に2本の座標軸を有する第2のローカル座標系とワールド座標系との関係を示す第2の座標系情報を含む。より具体的には、第2の情報は、平面ξ上にu軸とv軸を有するu座標系とxyz座標系との関係を示す情報として、ベクトルuとvそれぞれのxyz成分を含む。
【0075】
図3のステップS106は、上記のような第1および第2の情報の入力を受け付ける入力ステップの一例であり、ステップS106においてコンピュータは、第1および第2の情報の入力を受け付ける入力手段として機能する。
【0076】
続いて、図2のステップS200の詳細を、図5を参照して説明する。図5は、太さを持たない線状ハーネスのモデルを得る処理を示すフローチャートである。
ステップS201において、コンピュータは、線状ハーネスの始点の位置pとして、束線ハーネスに含まれるN本のワイヤの始点の平均位置を式(4)により計算する。
【0077】
【数3】

また、ステップS202において、コンピュータは、線状ハーネスの終点の位置pとして、上記N本のワイヤの終点の平均位置を式(5)により計算する。
【0078】
【数4】

以上により、線状ハーネスの始点と終点の位置が、xyz座標系における位置ベクトルpおよびpにより表される。
【0079】
さらに、コンピュータは、図3のステップS108で入力された各結束位置までの、線状ハーネスにそった始点からの長さL(1≦b≦K)の入力を受け付ける。ここで、1番目の結束位置の位置ベクトルpと長さLは式(6)を満たすものと仮定する。また、b番目と(b+1)番目の結束位置それぞれの位置ベクトルpおよびpb+1、ならびに長さLおよびLb+1(1≦b≦K)は式(7)を満たすものと仮定する。なお、|・|はベクトルの長さを表す。
【0080】
【数5】

【0081】
【数6】

式(6)と(7)は、線状ハーネス上の2点間の直線距離が、線状ハーネスに沿った当該2点間の道のり以下であるという制約を表している。第1実施形態では、説明の簡略化のため、式(6)と(7)の制約条件が満たされていると仮定するが、制約条件のチェックと再入力を繰り返す実施形態も可能である。
【0082】
また、上記の長さL(1≦b≦K)はいずれも、予め決められた正の整数Jを用いて式(8)により定義される長さΔLの整数倍であると仮定する。この仮定は計算の簡略化と説明の便宜上のものであるが、後述するように、この仮定が成立しない場合にも、計算式を適宜変更することで、第1実施形態と同様の処理をコンピュータが行うことができる。
【0083】
ΔL=L/J (8)
式(8)の整数Jは、例えば数十程度の数でもよい。第1実施形態では整数Jの値が予め決められているが、例えば入力されたハーネス束線の全長Lに基づいてコンピュータが整数Jの値を動的に決定してもよいし、コンピュータが整数Jの値の入力を設計者から受け付けてもよい。
【0084】
そして、ステップS204でコンピュータは、線状ハーネスの形状を計算する。具体的には、第1実施形態では、コンピュータは、ハーネス束線の曲線の形状を、(J+1)個の質点を用いて、隣接する2つの質点間を結ぶJ本の線分の集合により近似する。Jが大きいほど、より高い精度で曲線を近似することができる。すなわち、上記経路パラメータは、第1実施形態では、J本の線分それぞれの端点の位置を示す情報である。
【0085】
ステップS204と類似の計算は、本出願人による特願2007−308084号にも開示されているが、具体的に説明すれば下記のとおりである。
図3のステップS108および図5のステップS201〜S202により、線状ハーネスのK箇所の結束位置、始点の位置、および終点の位置は、それぞれxyz空間の既知の3次元位置ベクトルで表されている。ステップS204では、曲線を近似するための(J+1)個の質点のうち(K+2)個がこれらの既知の位置にあるという制約条件のもとで、コンピュータが、残りの(J−1−K)個の質点の未知の位置を計算する。
【0086】
ここで、全長Lの線状ハーネスをJ等分した各点のxyz空間の位置ベクトルをqとする(1≦c≦J−1)。なお、以下では線状ハーネスをJ等分した各点を、線状ハーネスの始点に近い方から順に、「1番目の質点」、「2番目の質点」、……のように呼ぶ。c番目の質点の位置ベクトルがqである。
【0087】
また、形式的に式(9)および(10)のように定義し、始点を「0番目の質点」、終点を「J番目の質点」とも呼ぶことにする。
【0088】
【数7】

【0089】
【数8】

すると、0≦c≦J−1を満たす各cについて、c番目の質点と(c+1)番目の質点の間の、線状ハーネスに沿った道のりは、式(8)で定義されるΔLである。また、上記の「どの長さL(1≦b≦K)も長さΔLの整数倍である」という仮定から、K個の結束位置のそれぞれに位置させることになる質点が一意に定まる。なお、0≦c≦Jを満たす各cについて、ベクトルqのx成分、y成分、z成分を、それぞれqcx、qcy、およびqczと表記する。
【0090】
ここで、ハーネス束線は、始点、終点および結束位置以外では自由に撓むことができるが、ハーネス束線にかかる負荷が最小となる形状で安定すると考えられる。そこで、ステップS204の処理は、ハーネス束線にかかる負荷すなわち力学的ポテンシャルエネルギーを最小化するように、上記(J−1−K)個の質点の未知の位置を計算することを目的とする。
【0091】
具体的には、力学的ポテンシャルエネルギーUは、式(11)により近似される。
【0092】
【数9】

なお、力学的ポテンシャルエネルギーUの引数は、1番目から(J−1)番目の質点のうち、既知のK個の結束位置に相当するK個の質点を除く(J−1−K)個の質点の位置ベクトルである。換言すれば、力学的ポテンシャルエネルギーUの引数は、これら(J−1−K)個の質点の位置ベクトルそれぞれのx成分、y成分、z成分であるから、Uは3(J−1−K)個のスカラ変数を引数とする関数であると見なせる。
【0093】
なお、式(11)において、Rは、定数であり質点間の弾性係数を示す。また、Rは、定数であり質点間の曲げ弾性係数を示す。そして、Wは、隣接する2つの質点間の線状ハーネスにそった道のりの長さ(すなわちΔL)を持つ、ハーネス束線のセグメントの重量(つまり質量と重力加速度の積)である。なお、Jが定数ならば、ΔLも定数となるので、ΔLに比例するWも定数となる。
【0094】
また、式(11)におけるψは、隣接する3つの質点の位置の関数として表される角度である。角度ψについて図6を参照して説明する。
図6は、曲線を近似する折れ線の一部を示す図である。図6には模式的に角度ψが示されている。図6に示すように、角度ψは、c番目の質点において線状ハーネスがなす角度である。したがって、角度ψは式(12)により定義される。
【0095】
【数10】

なお、(・,・)は2つのベクトルの内積を表す。
【0096】
ここで図5のステップS204の説明に戻ると、コンピュータは、力学的ポテンシャルエネルギーUが最小とする質点の配置を求めるため、(13)の連立方程式を解く。
【0097】
【数11】

なお、連立方程式(13)の表現は、添え字cを用いることで簡略化されている。表記の便宜上ここには3つの方程式のみを掲載したが、位置が未知の質点は上記のとおり(J−1−K)個あるので、連立方程式(13)は、実際には3(J−1−K)個の方程式を含む。つまり、連立方程式(13)における添え字cは、「1≦c≦J−1、かつ、位置ベクトルqはK個の既知の結束位置のいずれとも異なる位置を表す」という条件を満たす整数である。
【0098】
連立方程式(13)に現れる各偏導関数は、式(11)の力学的ポテンシャルエネルギーUの定義から明らかに非線形関数だが、公知の数値計算法を利用して、コンピュータは連立方程式(13)を解くことができる。
【0099】
具体的には、コンピュータは、例えばニュートン・ラプソン(Newton-Raphson)法を用いて連立方程式(13)を解くことができる。例えば、コンピュータは、(J−1−K)個の質点の未知の位置の初期値として、真の位置に比較的近いと予測される位置を設定し、ニュートン・ラプソン法による反復計算を行う。コンピュータは、解が収束したと判定するか、または反復回数が所定の閾値を超えるまで、変数の値の計算を繰り返す。
【0100】
i回目の反復において得られるqcx、qcy、およびqczをそれぞれqcx(i)、qcy(i)、およびqcz(i)と表記すると、i=0が初期値に相当する。また、i回目の反復では、下記の3(J−1−K)個の変数のセット(A)から3(J−1−K)個の変数のセット(B)が得られる。ただし、1≦c≦J−1、かつ、位置ベクトルqはK個の既知の結束位置のいずれとも異なる位置を表すものとする。
【0101】
(A)q1x(i−1),q1y(i−1),q1z(i−1),……,
(J−1)x(i−1),q(J−1)y(i−1),q(J−1)z(i−1)
(B)q1x(i),q1y(i),q1z(i),……,
(J−1)x(i),q(J−1)y(i),q(J−1)z(i)
ニュートン・ラプソン法は周知なので詳しい説明は省略する。
【0102】
なお、初期値はコンピュータが任意に設定することができる。例えば、c番目の質点が(b−1)番目の結束位置とb番目の結束位置の間の点であるとする。つまり、cが式(14)を満たすとする。
【0103】
b−1<cΔL<L (14)
この場合、コンピュータは、(b−1)番目の結束位置とb番目の結束位置を結ぶ直線上の適切な内分点を、c番目の質点の位置の初期値(つまりqcx(0)、qcy(0)およびqcz(0))として設定してもよい。
【0104】
もちろん、コンピュータは、連立方程式(13)中の変数の初期値を、上記のように線形補間により計算する代わりに、2次式等を用いて計算してもよい。
以上により、コンピュータは、連立方程式(13)を解いて(J−1−K)個の質点のxyz空間上の位置ベクトルq(1≦c≦J−1、かつ、位置ベクトルqはK個の既知の結束位置のいずれとも異なる位置を表す)を取得することができる。したがって、コンピュータは、線状ハーネスの形状を近似する折れ線を表す情報として、既知の始点、終点、およびK個の結束位置とあわせて(J+1)個の質点の位置を用いることができる。そして、以上のようにして図2のステップS200に相当する図5の処理が終了すると、処理は図2のステップS300に移行する。
【0105】
続いて、図7を参照して、図2のステップS300の詳細を説明する。図7は、各結束位置の特性を表す情報を求める処理を示すフローチャートである。
ステップS301で、コンピュータは、線状ハーネスの始点・終点間での接ベクトルの変換行列Mを計算する。行列Mは、後述する行列M(1≦b≦K)を補正するための情報であるねじれ角θをステップS302で計算するのに用いられる。
【0106】
ステップS301で、コンピュータは行列Mを計算するために、まず線状ハーネスの始点と終点それぞれにおける接ベクトルtとtを計算する。接ベクトルtの計算方法は図4および式(1)〜(3)を参照して説明したとおりである。なお、コンピュータは、例えば以下のような基準にしたがって、正負の符号のみ異なる式(2)と(3)のいずれを選ぶかを決定することができる。
【0107】
例えば、線状ハーネスの分割数を示す整数Jが適切であれば、始点における接ベクトルtの方向は、始点から1番目の質点へ向かうベクトルの向きと比較的近いと推測される。したがって、式(2)と(3)の適切さは式(15)のσによって評価可能である。
【0108】
【数12】

コンピュータは、式(2)にしたがって接ベクトルtの第1の候補を求め、第1の候補を用いて式(15)によりσの第1の値を計算してもよい。また、コンピュータは、式(3)にしたがって接ベクトルtの第2の候補を求め、第2の候補を用いて式(15)によりσの第2の値を計算してもよい。そして、コンピュータは、σの第1と第2の値を比較し、より1に近い値が得られた方の候補を接ベクトルtとして採用してもよい。
【0109】
同様にして、終点での断面レイアウトに基づいて、コンピュータは、終点における接ベクトルtの2つの候補を計算することができる。また、終点における接ベクトルtの2つの候補の適切さは式(16)のσによって評価可能である。
【0110】
【数13】

コンピュータは、接ベクトルtの場合と同様にして、接ベクトルtの2つの候補をそれぞれ用いて式(16)に基づいてσの2つの値を計算し、2つの値を比較し、より1に近い値が得られた方の候補を接ベクトルtとして採用してもよい。
【0111】
ステップS301において、例えば以上のようにして接ベクトルtとtを計算すると、コンピュータは、続いて行列Mを計算する。行列Mは、線状ハーネスの始点における接ベクトルtを終点における接ベクトルtに変換する行列である。
【0112】
図8は、行列Mの計算について説明する図である。図8には、接ベクトルt、接ベクトルt、接ベクトルtとtが張る平面γ、平面γの法線ベクトルg、および平面γ上で接ベクトルtとtがなす角φEが図示してある。
【0113】
行列Mは、平面γの法線ベクトルgを回転軸として接ベクトルtを回転することにより接ベクトルtを得る回転行列である。行列Mは、直交行列でもある。
ここで、平面γの法線の向きは、接ベクトルtとtの外積により表すことができる。よって、式(17)で定義される単位ベクトルgは、平面γに垂直であり、平面γの法線ベクトルである。
【0114】
【数14】

単位ベクトルgを用いると、行列Mの第i行第j列成分は、ロドリゲス(Rodrigues)の公式より、式(18)で定義される。
【0115】
【数15】

式(18)における角φEは、図8に示すように接ベクトルtとtがなす角であり、接ベクトルtとtはいずれも単位ベクトルなので、式(19)により計算することができる。角φEは、行列Mによる回転角を表す。
【0116】
【数16】

また、式(18)におけるδijは、クロネッカのデルタ(Kronecker delta)であり、式(20)により定義される。
【0117】
【数17】

また、式(18)におけるεikjは、エディントンのイプシロン(Eddington's epsilon)またはレヴィ=チヴィタ記号(Levi-Civita symbol)と呼ばれ、式(21)により定義される。
【0118】
【数18】

以上の式を用いて行列Mを計算すると、続いて、コンピュータは、ステップS302において、ハーネス束線の始点・終点間でのねじれ角θを計算する。ねじれ角θはハーネス束線が始点Sから終点Eに到るまでの間にねじれた量を表し、式(22)で定義される。
【0119】
【数19】

ここで、行列Mは直交行列なので、行列Mによる変換はベクトルの長さを変えない。よって、始点におけるtuv座標系のu軸の方向を表す単位ベクトルuを行列Mにより変換したベクトルの長さも1である。つまり、式(22)は、単位ベクトルuにより表される、終点におけるtuv座標系の実際のu軸の方向と、ねじれがないと仮定したときにベクトルuが終点において向いているはずの方向とのなす角を表している。図4では、模式的にねじれ角θを表現されている。
【0120】
なお、ねじれ角θの直感的な意味を説明すれば次のとおりである。すなわち、接ベクトルtを接ベクトルtに変換する仕方は一意ではないが、最も自然な変換は、接ベクトルtとtが張る平面γ内での回転である。行列Mは、そのような自然な変換を表す。しかし、実際にはt軸を回転軸とする回転の自由があるため、始点におけるu軸の方向を表すベクトルuを行列Mにより変換すると、変換結果のベクトルは、t軸を回転軸とする回転の分だけ、終点におけるu軸の方向を表すベクトルuからずれてしまう。ねじれ角θは、t軸を回転軸とするこのようなずれを表している。
【0121】
以上のようにしてねじれ角θが計算されると、処理はステップS303に移行し、コンピュータは、変数bに1を代入する。続くステップS304〜S315は、K回(Kは結束位置の個数)繰り返される。
【0122】
ステップS304でコンピュータは、b番目の結束位置での線状ハーネスの接ベクトルtを計算する。ここで、線状ハーネスの形状は折れ線により近似されているので、コンピュータは、図9を参照して以下に説明する方法により近似的に接ベクトルtを計算する。
【0123】
図9は、b番目の結束位置における接ベクトルtの計算について説明する図である。便宜上、図9の説明においては、b番目の結束位置が、図5のステップS204に関して説明したc番目の質点の位置であるとする。なお、図9には、(c−1)番目から(c+2)番目までの質点と、それぞれの位置ベクトルが示してある。
【0124】
図9において、折れ線がc番目の質点において作る角ψは、図6に示した角ψであり、式(12)により定義される。図9には角ψの2等分線141および接ベクトルtの向きを示す矢印142が示してある。
【0125】
接ベクトルtは、ベクトル(qc+1−q)とのなす角が(π/2−ψ/2)となる単位ベクトルであり、ベクトル(qc−1−q)とベクトル(qc+1−q)が張る平面に平行である。したがって、コンピュータは、例えば、(c−1)番目から(c+1)番目の質点の既知の位置に基づいて連立方程式(23)を解くことで、接ベクトルtのxyz成分を計算することができる。
【0126】
【数20】

ここで図9から図7の説明に戻ると、以上によりステップS304の処理が終了し、続いてステップS305でコンピュータは、始点とb番目の結束位置との間の接ベクトルの変換行列Mを計算する。行列Mは行列Mと同様にして計算することができる。すなわち、式(18)は、添え字「E」を添え字「b」に一般化することで、式(24)のように拡張される。
【0127】
【数21】

式(24)は、b番目の結束位置に関する行列Mの第i行第j列成分を表している。また、式(24)における角度φは、式(19)を一般化した式(25)により定義される。
【0128】
【数22】

また、式(24)におけるベクトルgは、式(17)を一般化した式(26)により定義される。
【0129】
【数23】

すなわち、接ベクトルtとtが張る平面を平面γと呼ぶことにすると、行列Mは、平面γの法線を回転軸として平面γ内で接ベクトルtを回転することにより接ベクトルtを得る回転行列である。回転角はφであり、行列Mは直交行列である。また、単位ベクトルgは平面γの法線ベクトルである。
【0130】
行列Mの計算後、コンピュータは、次のステップS306において、始点とb番目の結束位置との間のねじれ角θを計算する。ねじれ角θは、式(27)により定義される。
【0131】
θ=θ/L (27)
なお、式(27)におけるLは、上述のように、始点からb番目の結束位置までの線状ハーネスの長さである。すなわち、第1実施形態では、ねじれ角は始点からの線状ハーネスの長さに比例するという仮定に基づき、b番目の結束位置におけるねじれ角θが推定される。なお、図4では、b=K=1の場合を例として、b番目の結束位置での断面レイアウト133が、始点における断面レイアウト131に比べてねじれ角θの分だけ傾けられて模式的に表されている。
【0132】
続いて、ステップS307においてコンピュータは、推定したねじれ角θにしたがって行列Mを補正するための変換行列Aを計算する。変換行列Aは、b番目の結束位置における接ベクトルtを回転軸として角θの回転を与える回転行列であり、直交行列である。式(18)と同様に、行列Aの第i行第j列成分は、次の式(28)により定義される。
【0133】
【数24】

ただし、式(28)では、接ベクトルtのx成分、y成分、およびz成分をそれぞれtb1、tb2、およびtb3と表記するものとしている。
【0134】
続いて、ステップS308においてコンピュータは、行列Aにより行列Mを補正した変換行列Bを、式(29)にしたがって計算する。
=A (29)
そして、ステップS309においてコンピュータは、b番目の結束位置におけるu軸とv軸をそれぞれ規定するベクトルuとvを、式(30)と(31)にしたがって計算する。
【0135】
【数25】

【0136】
【数26】

ここで、上記のとおり行列Aと行列Mはともに直交行列なので、その積である行列Bも直交行列である。よって、行列Bによる変換も、ベクトルの長さを変えない。また、始点におけるu軸とv軸をそれぞれ規定するuとvは単位ベクトルである。よって、ベクトルuとvもxyz空間における単位ベクトルである。
【0137】
続いて、ステップS310においてコンピュータは、線状ハーネスのb番目の結束位置における曲がり具合の大きさを示す曲率κを計算する。曲率κの計算について、再度図9を参照しながら説明する。
【0138】
ここで、図9のように、b番目の結束位置にはc番目の質点が配置されているとする。すなわち、位置ベクトルqと位置ベクトルpが等しいとする。図5のステップS204に関する説明から、任意の1≦b≦Kに対して、位置ベクトルqと位置ベクトルpが等しくなるcが1≦c≦J−1の範囲に存在することが保証され、かつcは一意に定まる。上記のようにしてb番目の結束位置に対して一意に定まるcによって規定される(c−1)番目の質点を、以下では便宜上「b番目の注目近傍点」とも呼ぶ。
【0139】
コンピュータは、曲率κの計算のために、まず、b番目の注目近傍点すなわち(c−1)番目の質点における、長さが1に正規化された接ベクトルを、ステップS304に関して説明したのと同様の方法によって計算する。b番目の注目近傍点における接ベクトルを、ベクトルtと表すことにする。すると、曲率κは式(32)で定義される。
【0140】
【数27】

なお、式(32)中のdは、b番目の結束位置(すなわちc番目の質点の位置)とb番目の注目近傍点の位置(すなわち(c−1)番目の質点の位置)の距離であり、式(33)により計算される。
【0141】
【数28】

ここで、線状ハーネスの計算に用いた整数Jが十分に大きければ、距離dは十分に小さいので、式(34)により曲率κを近似することができる。
【0142】
【数29】

そこで、コンピュータは、近似式(34)を用いて曲率κを計算する。なお、上記の説明において、整数Jが十分に大きい、あるいは距離dが十分に小さいという意味は、式(34)の近似に起因する誤差の影響が、無視しても問題がない程度である、ということである。無視しても問題がないレベルは実施形態に応じて異なり、例えば、ハーネス束線のシミュレーションに求められる精度に応じて異なる。以下では、整数Jが十分に大きく、適切に設定されているものとして説明する。
【0143】
ここで、一般に、曲率κが大きいほど、b番目の結束位置において、線状ハーネスの形状を曲線と見なしたときの当該曲線の主法線ベクトルの方向(つまり曲率半径の方向)にハーネス束線にかかる力が大きい。すなわち、曲率κが大きいほど、ハーネス束線の断面は主法線ベクトルの方向に大きく扁平化する。
【0144】
扁平化の度合いが大きすぎれば、ハーネス束線の耐久性等に影響することもあり、設計者の所望の空間にハーネス束線が収まりきらなくなる可能性もある。そこで、コンピュータは、続くステップS311〜S314で、扁平化の度合いを計算し、必要に応じて警告を出す。
【0145】
まず、ステップS311においてコンピュータは、線状ハーネスのb番目の結束位置での主法線と従法線の向きを表すベクトルnとmを計算する。なお、主法線ベクトルnは、図4に模式的に示したように、u平面上のベクトルであるが、必ずしもu軸またはv軸と平行ではない。主法線ベクトルnは、次のような近似を使って計算される。
【0146】
線状ハーネスのb番目の結束位置における主法線ベクトルnは、式(35)により表すことができる。
【0147】
【数30】

式(35)により定義される主法線ベクトルnは接ベクトルtと直交し、主法線ベクトルnと接ベクトルtの組は、b番目の結束位置の近傍における線状ハーネスの湾曲に沿った平面の基底をなす。
【0148】
コンピュータは、まず式(36)を使って、主法線ベクトルnを近似するベクトルn’を計算する。
【0149】
【数31】

式(35)と式(36)の比較から、b番目の注目近傍点がb番目の結束位置に十分に近ければ(すなわちdが十分に小さければ)、ベクトルn’は主法線ベクトルnの良い近似を与える。なお、ここで「十分に近い」とは、ハーネス束線および個々のワイヤの3次元モデルに求められる精度を達成することが可能な程度の近さを意味する。
【0150】
こうして計算されたベクトルn’は、b番目の結束位置における接ベクトルtにほぼ直交する。換言すれば、ベクトルn’をb番目の結束位置におけるローカル座標系(つまりt座標系)で表すと、t成分の値が0に近い。よって、ベクトルn’をuv平面に射影して得られるベクトル(すなわちt成分の値が0のベクトル)は、ベクトルn’と大きく異なるものではない。
【0151】
また、b番目の結束位置におけるt軸の向きは、b番目の結束位置における線状ハーネスの接線の向きであるから、接線と垂直な主法線および従法線は、t軸と垂直なu平面上の線である。そこで、第1実施形態では、u平面への射影により得られるベクトルによって主法線ベクトルnが近似される。
【0152】
すなわち、コンピュータは、ベクトルn’のu平面への射影を表す式(37)を用いて、主法線ベクトルnの近似値を計算する。
【0153】
【数32】

また、コンピュータは、主法線ベクトルnと直交する従法線ベクトルmを計算する。主法線ベクトルnと従法線ベクトルmは、上記のとおり、b番目の結束位置においてベクトルuとvにより規定されるu平面上のベクトルである。
【0154】
なお、ベクトルnとmの長さは1である必要はない。また、uとvが単位ベクトルであり互いに直交することから、コンピュータは、例えば式(38)を用いて従法線ベクトルmを計算してもよい。式(37)と式(38)から、ベクトルnとmの内積は0である。
【0155】
【数33】

ところで、ベクトルuとvは線形独立なので、ベクトルuとvの組は、ベクトルuとvにより張られる平面の基底である。また、上記式(37)と式(38)より、ベクトルnとmは線形独立であり、かつ、ベクトルuとvにより張られる平面と平行である。
【0156】
したがって、線形代数で一般に知られているように、ベクトルuとvにより張られる平面上の任意のベクトルは、ベクトルnとmの線形結合で表すこともできる。つまり、ベクトルnとmの組も、ベクトルuとvにより張られる平面の基底である。ベクトルnとmは、線形代数において「基底の取り替え」として知られる処理を行うために計算される。
【0157】
図10は基底の取り替えについて説明する図である。図10に示すように、ベクトルuとvにより張られる平面上の任意のベクトルは、ベクトルuとvの線形結合で表すこともでき、ベクトルnとmの線形結合で表すこともできる。すなわち、任意の係数αb1とαb2に対して、式(39)が成立するような係数βb1とβb2が必ず存在し、基底の取り替えにより、係数αb1とαb2から係数βb1とβb2を計算することが可能である。
【0158】
【数34】

なお、上記のような2次元空間の基底の取り替えは、2×2行列を用いて行うことができる。具体的には、ベクトルnとmが上記の式(37)と(38)により定義されている場合、式(40)〜(43)に示すように、行列FとF−1を用いて基底の取り替えを行うことができる。
【0159】
【数35】

【0160】
【数36】

【0161】
【数37】

【0162】
【数38】

なお、実際の基底の取り替えの計算は、後述の図11のステップS404とS405で行われるが、ここで先に計算方法を説明した。
【0163】
以上のようにして、ベクトルnとmを計算すると、続くステップS312においてコンピュータは、線状ハーネスのb番目の結束位置における上下縮み率ζと左右伸び率ηを式(44)と(45)により計算する。なお、上下縮み率ζと左右伸び率ηをまとめて「扁平化係数」とも呼ぶことにする。
【0164】
ζ=1/(1+κE) (44)
η=1/ζ (45)
ここで、式(44)におけるEは、ハーネス束線に含まれる個々のワイヤの材質などに応じた正の定数である。定数Eの適切な値は、予備実験などから決定することが好ましい。定数Eの値を適切に定めることにより、曲率κに応じた扁平化係数の変化の度合いを調節することができる。「上下縮み率」と「左右伸び率」という名称は、直感的な理解を助けるために便宜的に主法線と従法線の方向をそれぞれ「上下方向」および「左右方向」と見なしてつけた名称である。
【0165】
扁平化係数は、以下のような仮定に基づいて変形を表すパラメータである。
・b番目の結束位置において、主法線の方向に力がかかる。
・その力により、ハーネス束線の断面の形状は、主法線の方向の長さが短くなるとともに、従法線の方向の長さが長くなり、扁平化する。
【0166】
・ハーネス束線の断面内における、ハーネス束線に含まれる個々のワイヤの位置も、ハーネス束線の断面の扁平化に応じて移動する。
・主法線の方向の変化率と従法線の方向の変化率の積は1である。
【0167】
ここで、曲率κは0以上の数である。また、曲率κが0に近づくと(すなわちb番目の結束位置における線状ハーネスが直線に近づくと)、上下縮み率ζは1に近づく。このとき、左右伸び率ηも1に近づく。逆に、曲率κが無限大に近づくと(すなわちb番目の結束位置における線状ハーネスの湾曲が非常にきつくなると)、上下縮み率ζは0に近づき、左右伸び率ηは無限大に近づく。
【0168】
なお、上下縮み率ζの定義は、式(44)でなくてもよい。0≦κの範囲で定義され、κ=0のとき値が1となり、κが無限大に近づくとき値が0に近づく任意の単調減少関数を、上下縮み率ζの定義に用いることができる。
【0169】
続いて、コンピュータはステップS313において、上下縮み率ζが予め決められた閾値ζより小さいか否かを判断する。そして、ζ<ζならば処理はステップS314に移行し、ζ≧ζならば処理はステップS315に移行する。
【0170】
ステップS314でコンピュータは、b番目の結束位置における線状ハーネスの湾曲が予め決められた基準よりもきついことを警告する。換言すれば、上下縮み率ζと左右伸び率ηにより表される断面形状のアスペクト比が、基準よりも扁平なことを表しており、扁平化の度合いが基準を超えている場合に、警告が発せられる。警告は、例えば、コンピュータが備えるディスプレイへの文字、図形、画像の出力、またはコンピュータが備えるスピーカへの音声出力によりなされる。
【0171】
上記のとおりb番目の結束位置における線状ハーネスの湾曲がきつくなるほど、上下縮み率ζは小さくなる。設計者は、警告を受けることにより、装置の耐久性などから予め決められた基準よりもきつい湾曲が生じることを認識することができる。つまり、ステップS314における警告は、装置の設計を再検討した方が好ましいことを設計者に助言する役割がある。
【0172】
なお、上記「予め決められた基準」とは、第1実施形態では、具体的には閾値ζにより表されているが、換言すれば、「曲率κが所定の値((1−ζ)/(ζE))より大きいか否か」という基準である。
【0173】
ステップS313でζ≧ζと判断した後、またはステップS314の実行後、コンピュータは、ステップS315においてb<Kか否かを判断する。b<Kの場合は、未処理の他の結束位置が残っているので、処理はステップS316に移行し、b≧Kの場合は、すべての結束位置について処理が完了したので、図7の処理全体も完了する。
【0174】
ステップS315でb<Kの場合、ステップS316においてコンピュータは、変数bに1を足す。そして、処理はステップS304に戻る。
続いて、図11を参照して図2のステップS400の詳細について説明する。図11は、変形を考慮した束線ハーネスの3次元モデルを生成して出力する処理を示すフローチャートである。
【0175】
ステップS401でコンピュータは、変数aに1を代入する。続くステップS402〜S410は繰り返しループを形成している。
ステップS402においてコンピュータは、変数bに1を代入する。続くステップS403〜S407は繰り返しループを形成しており、ステップS403〜S405はb番目の結束位置におけるa本目のワイヤに関する処理である。
【0176】
ステップS403でコンピュータは、b番目の結束位置におけるa本目のワイヤの非弾性断面レイアウト上の位置を計算する。なお、b番目の結束位置における「非弾性断面レイアウト」とは、b番目の結束位置におけるu平面上での、曲げによる扁平化を考慮しない断面レイアウトのことである。
【0177】
ここで、ステップS403における具体的な計算を説明する前に、図3のステップS106に関して説明を省略した、始点と終点における各ワイヤのuv座標の計算方法について説明する。
【0178】
線状ハーネスの始点の位置を示す位置ベクトルpは、始点におけるt座標系の原点の位置をxyz座標系で表している。よって、始点の断面レイアウトにおけるa本目のワイヤのu座標とv座標の値をそれぞれαSa1およびαSa2とすると、式(46)が成立する。
【0179】
【数39】

式(46)において、a本目のワイヤの始点の位置を示す位置ベクトルpSaは既に図3のステップS104で得られている。よって、コンピュータは、式(46)を解くことでu座標の値αSa1およびv座標の値αSa2を計算することができる。
【0180】
同様に、a本目のワイヤの終点の位置を示す位置ベクトルpEaは既にステップS104で得られている。よって、終点の断面レイアウトにおけるa本目のワイヤのu座標とv座標の値をそれぞれαEa1およびαEa2とすると、式(47)が成立する。したがって、コンピュータは式(47)を解くことでu座標の値αEa1およびv座標の値αEa2を計算することができる。
【0181】
【数40】

以上のようにして計算済みのu座標の値αSa1、v座標の値αSa2、u座標の値αEa1、およびv座標の値αEa2を用いて、コンピュータは、ステップS403で、非弾性断面レイアウトにおけるa本目のワイヤの位置を計算する。曲げによる扁平化の方向を考慮しない非弾性断面レイアウトにおける位置は、始点からの長さに応じた線形補間により求めることができる。すなわち、コンピュータは、式(48)と(49)によって、b番目の結束位置におけるa本目のワイヤの非弾性断面レイアウトでのu座標の値αba1とv座標の値αba2を計算する。
【0182】
【数41】

【0183】
【数42】

続いてステップS404でコンピュータは、断面レイアウト上の位置を表すための基底をベクトルuとvの組からベクトルnとmの組に取り替えて、b番目の結束位置におけるa本目のワイヤの非弾性断面レイアウト上の位置を表す係数を計算する。すなわち、コンピュータは、式(41)の行列Fを用いて式(50)にしたがって基底の取り替えを行うことで、係数αba1とαba2から係数βba1とβba2を計算する。
【0184】
【数43】

そしてステップS405でコンピュータは、計算した係数βba1とβba2、上下縮み率ζ、および左右伸び率ηを用いて、a本目のワイヤの位置および形状を扁平化する。なお、位置の扁平化とは次のような意味である。
【0185】
ハーネス束線全体として、b番目の結束位置では主法線ベクトルnの方向に力を受ける。よって、ハーネス束線全体の断面の形状も、主法線ベクトルnの方向にζ倍になり(0<ζ≦1)、従法線ベクトルmの方向にη倍になる(1≦η)と見なせる。
【0186】
ここで、ハーネス束線に含まれる個々のワイヤの位置は、ハーネス束線全体の断面形状の内部にあるので、ハーネス束線の断面の形状の扁平化にともなって個々のワイヤの位置も変化すると考えられる。
【0187】
具体的には、各ワイヤの位置は、主法線ベクトルnの方向の係数が非弾性断面レイアウトにおける係数のζ倍で、従法線ベクトルmの方向の係数が非弾性断面レイアウトにおける係数のη倍であるような位置に変化すると考えられる。つまり、b番目の結束位置におけるa本目のワイヤの、扁平化を考慮に入れた位置は、式(51)の位置ベクトルpbaにより表される。
【0188】
【数44】

そこで、コンピュータは、式(43)の行列F−1を用いて基底をベクトルnとmの組からベクトルubとの組に取り替えて、b番目の結束位置におけるa本目のワイヤの、扁平化を考慮に入れたu座標の値α’ba1とv座標の値α’ba2を計算する。すなわち、コンピュータは、式(52)にしたがって行列F−1を用いて基底を取り替えることにより、係数(ζβba1)と(ηβba2)から係数α’ba1とα’ba2を計算する。
【0189】
【数45】

また、第1実施形態では、a本目のワイヤの断面形状は円であり、円の半径はrである。よって、扁平化によりa本目のワイヤの断面形状は、b番目の結束箇所において、短径が2ζで長径が2ηの楕円になると見なせる。なお、楕円の重心は、式(51)の位置ベクトルpbaにより表される位置である。
【0190】
したがって、扁平化されたa本目のワイヤの断面形状を示す楕円は、ベクトルnとmにより座標軸が規定されるn座標系においてn座標とm座標の値がそれぞれ式(53)を満たすχとχとなる点の集合である。
【0191】
【数46】

なお、ベクトルnとmは上記のとおり単位ベクトルとは限らないので、式(53)はベクトルnとmの長さを含む形となっている。コンピュータは、基底の取り替えのための式(41)の行列Fと式(53)から、u座標系におけるa本目のワイヤの断面形状を表す楕円の方程式を得ることができる。
【0192】
以上のようにして、ステップS405で扁平化に応じて変化したa本目のワイヤの位置と形状を求めると、次にステップS406において、コンピュータは、b<Kか否かを判断する。b<Kの場合、処理はステップS407に移行し、b≧Kの場合、処理はステップS408に移行する。
【0193】
ステップS407でコンピュータは変数bに1を足し、処理はステップS403に戻る。
ステップS408でコンピュータは、太さを持たない曲線にモデル化してa本目のワイヤの形状を計算する。ステップS408の具体的な計算方法は、図5と類似である。
【0194】
ここで、a本目のワイヤについて、始点と終点の位置は図3のステップS104で入力された位置ベクトルpSaとpEaによりそれぞれ表されている。また、線状ハーネスのK箇所の結束位置にそれぞれ対応する、a本目のワイヤのK箇所の通過点の位置は、ステップS405のK回の繰り返しにより、式(51)の位置ベクトルpba(1≦b≦K)として得られている。そこで、上記の既知の(2+K)個の位置ベクトルを制約条件として用い、コンピュータは、図4のステップS204と同様の方法により、a本目のワイヤの形状を近似する折れ線を決定する。なお、ステップS408で折れ線の計算を行うための分割数は、線状ハーネスの形状を求めるための整数Jと同じでもよいし、整数Jと違っていてもよい。
【0195】
その後、ステップS409でコンピュータはa<Nか否かを判断し、a<Nならば処理はステップS410に移行し、a≧Nならば処理はステップS411に移行する。
ステップS410でコンピュータは変数aに1を足し、処理はステップS402に戻る。
【0196】
ステップS409でa≧Nと判断すると、コンピュータはステップS411において、ハーネス束線の3次元モデルを生成し、出力する。ハーネス束線をどのように3次元モデル化するかは、実施形態によって任意である。
【0197】
例えば、コンピュータは、N本のワイヤそれぞれについて、始点と終点とK箇所の通過点における断面同士の間を適宜補間することで、始点から終点に至る全範囲で太さを持った3次元モデルを作成してもよい。あるいは、コンピュータは、始点、終点、およびK箇所の結束位置でのみ断面に関する情報を有し、それ以外の部分では太さを持たない折れ線で各ワイヤを表現する3次元モデルを採用し、出力してもよい。
【0198】
また、コンピュータは、各ワイヤを個別にモデル化しなくてもよい。例えば、コンピュータは、始点、終点、およびK箇所の結束位置の各々で、N本のワイヤの断面形状を包含する図形をハーネス束線の断面形状として求めてもよい。ハーネス束線の断面形状は、円、楕円、多角形など所定の形状で近似されてもよく、その他の任意の形状でもよい。コンピュータは、求めたハーネス束線の断面形状を用いて、断面同士の間を適宜補間することで、始点から終点に至る全範囲で太さを持った、ハーネス束線全体の3次元モデルを作成してもよい。または、コンピュータは、始点、終点、およびK箇所の結束位置でのみ断面に関する情報を有し、それ以外の部分では線状ハーネスの折れ線によりハーネス束線を表現する3次元モデルを採用し、出力してもよい。
【0199】
以上により図11の処理は終了する。出力された3次元モデルは、例えば、周知の干渉チェックシステムに入力され、ハーネス束線または個々のワイヤが他の部品と干渉しないか否かの検証に用いられてもよい。例えば、干渉チェックシステムは、複数の機械部品間の隙間をハーネス束線が通過することが可能であるか否かといったチェックを行うことができる。
【0200】
また、コンピュータは、他の部品の3次元モデルとともに、図11の処理により生成したハーネス束線または個々のワイヤの3次元モデルを、画面に表示してもよい。ハーネス束線により充填される空間の検証など、任意の用途に3次元モデルを利用することができる。
【0201】
第1実施形態によれば、ハーネス束線の経路の3次元形状に応じて生じる、ハーネス束線または個々のワイヤの、断面における変化が考慮された情報が得られ、3次元モデルの生成に使われる。よって、第1実施形態によれば、干渉チェックシステムなどによる形状のシミュレーションの精度が向上する。そのため、ハーネス束線の配線を含めた装置の設計も効率化し、試作機の製造前に行う設計の妥当性についての検証結果の信頼性も向上する。
【0202】
なお、上記の「断面における変化」は、間接的にはb番目の結束位置での接ベクトルtに基づいている。また、「断面における変化」とは、図11のステップS405で説明した位置および形状の扁平化だけではなく、行列Mにより表される、t座標系からt座標系への変化や、行列Aにより表される、ねじれ角に応じた変化も含む。
【0203】
図12はコンピュータの構成図である。上記で説明した処理は、例えば図12のコンピュータ200がプログラムにしたがって実行することができる。
コンピュータ200は、例えば、CPU(Central Processing Unit)201、ROM(Read Only Memory)202等の不揮発性メモリ、ワークエリア用のRAM(Random Access Memory)203等のメモリを備える。コンピュータ200は、さらに、ネットワーク205を介して情報提供者206などと通信を行うためのインタフェイス204を備えていてもよい。情報提供者206は、例えば他のコンピュータである。また、コンピュータ200は、HDD(Hard Disk Drive)等の記憶装置207、可搬型記憶媒体209のためのディスクドライブ208、および入出力装置210を備える。
【0204】
設計者からの入力や設計者への出力は、入出力装置210を介して行われる。あるいは、不図示の他のコンピュータとのデータ入出力が、インタフェイス204およびネットワーク205を介して行われてもよい。入出力装置210の例は、キーボード、マウス等の入力装置や、ディスプレイスクリーン、プリンタ等の出力装置である。CPU201、ROM202、RAM203、インタフェイス204、記憶装置207、ディスクドライブ208、および入出力装置210は、バス211で互いに接続されている。
【0205】
上記で説明した処理をコンピュータ200に行わせるためのプログラムは、例えば、記憶装置207に格納され、RAM203に読み込まれ、CPU201によって実行されてもよい。あるいは、上記プログラムは、可搬型記憶媒体209に格納され、ディスクドライブ208を介して読み取られ、RAM203に展開され、CPU201により実行されてもよい。可搬型記憶媒体209の例は、CD−ROM(Compact Disc Read Only Memory)、CD−R(Compact Disc Recordable)、DVD(Digital Versatile Disc)、光磁気ディスク、磁気ディスク、半導体メモリカード等である。また、上記プログラムは、情報提供者206からネットワーク205とインタフェイス204を介してコンピュータ200にダウンロードされてもよい。
【0206】
プログラムを実行するCPU201は、上記の経路計算手段および後述の情報生成手段として機能する。また、入出力装置210とCPU201は、協働して、上記の入力手段として機能する。
【0207】
ところで、上記第1実施形態では、ハーネス束線の3次元モデルを精密化するための様々な処理が行われるが、下記の第2および第3実施形態のように一部の処理を省略することもできる。以下、第1実施形態との違いについて主に説明する。
【0208】
第2実施形態は、扁平化を考慮しない実施形態である。第2実施形態は、扁平化の影響がわずかであって、無視しても実用上問題がない場合などに好適である。
すなわち、第2実施形態では、扁平化に関する図7のステップS310〜S314および図11のステップS404〜S405が省略される。第2実施形態では、扁平化の影響は考慮されないが、ねじれの影響はねじれ角θの利用を介して考慮されるので、例えば始点でのコネクタの向きと終点でのコネクタの向きからねじれが生じてしまう場合などにも精密なモデル化が可能であるという利点がある。
【0209】
第3実施形態は、ねじれ角θを考慮せず、曲率κに応じた扁平化も考慮しない実施形態である。第3実施形態は、ねじれ角θや扁平化の影響がわずかであって、無視しても実用上問題がない場合などに好適である。
【0210】
すなわち、第3実施形態では、図7のステップS301、S302およびS306〜S308が省略される。また、ステップS309は、次の式(54)と(55)による計算に置き換えられる。
【0211】
【数47】

【0212】
【数48】

ねじれ角θを考慮して補正された行列Bの代わりに、第3実施形態のステップS309では、補正されていない行列Mが用いられる。また、第3実施形態では、扁平化に関するステップS310〜S314が省略される。そして、図11の処理では、ステップS404〜S405が省略される。
【0213】
第3実施形態では以上のように簡略化された処理が行われるが、第3実施形態においても、行列Mを用いて各結束位置における断面レイアウト(より正確には非弾性断面レイアウト)上の各ワイヤの位置を計算することによる効果が得られる。例えば、断面レイアウト上で複数のワイヤが非等方的に配置されるハーネス束線においては、行列Mによる変換を利用することは、3次元モデルの精密化に有効である。
【0214】
以上の第1〜第3実施形態に関して、まとめて図7と図11に相当する処理を概観すれば次のとおりである。
図7の処理は、ステップS304に示すように、経路パラメータに基づいてハーネス束線の経路上の中間点における経路の向きを表す第3の接ベクトルを計算することを含む。より具体的には、第1〜第3実施形態において、経路パラメータは図5のステップS204で計算された各質点の位置であり、中間点はK個の結束位置のそれぞれであり、第3の接ベクトルはベクトルtである。
【0215】
また、図2のステップS300とS400に相当する図7と図11の処理は、第3の接ベクトルに垂直であり上記中間点としての結束位置を通る第3の平面による、ハーネス束線の第3の断面を表す第3の情報を生成する情報生成ステップの一例である。コンピュータは、ステップS300とS400において、第3の情報を生成する情報生成手段として機能する。
【0216】
なお、第3の情報は、図4に関して説明した第1の情報(例えばベクトルuとvそれぞれのxyz成分)および第2の情報(例えばベクトルuとvそれぞれのxyz成分)、ならびに第3の接ベクトル(例えばベクトルt)に基づいて生成される。
【0217】
第3の情報の内容と生成方法に関しての、第1〜第3実施形態での共通点および相違点についてまとめれば下記のとおりである。
第1〜第3実施形態では、第1と第3の接ベクトル(ベクトルtとt)が張る平面上での回転により第1の接ベクトルを第3の接ベクトルに変換する第1の変換行列(行列M)を計算する、図7のステップS305が共通している。また、第3の平面上に2本の座標軸(u軸とv軸)を有する第3のローカル座標系(u座標系)とワールド座標系(xyz座標系)との関係を示す第3の座標系情報として、ベクトルuとvそれぞれのxyz成分が計算されるのも、第1〜第3実施形態で共通している。また、第3の座標系情報は、第1の変換行列(行列M)を用いて、第1の座標系情報(ベクトルuとvそれぞれのxyz成分)から計算されるという点も共通である。
【0218】
ただし、第3実施形態では、式(54)と(55)に示すように、第3の座標系情報が第1の変換行列と第1の座標系情報だけから生成されるのに対し、第1〜第2実施形態では、第3の座標系情報の生成に他の情報も用いられる。
【0219】
具体的には、第1〜第2実施形態では、図7のステップS301に示すとおり、第1と第2の接ベクトル(ベクトルtとt)が張る平面上での回転により、第1の接ベクトルを第2の接ベクトルに変換する、第2の変換行列(行列M)が計算される。
【0220】
そして、第1〜第2実施形態では、第2の変換行列を用いた変換により、上記第2の座標系情報として上記第1の座標系情報から推測される情報と実際の第2の座標系情報との相違が、第2のローカル座標系の座標軸の第1のねじれ角として計算される。具体的には、ステップS302に示すとおり、ベクトルuを行列Mで変換して得られるxyz空間上の3次元ベクトルと、実際のベクトルuとの相違が、ねじれ角θとして計算される。
【0221】
こうして計算されたねじれ角θを用いることで、第1〜第2実施形態では、第3の座標系情報の生成において、第1の変換行列(行列M)による変換の補正(すなわち行列Aによる補正)が行われる。具体的には、始点から中間点までの経路の長さ(すなわちL)に応じて補間を行うことで、第2のねじれ角(ねじれ角θ)が計算される。そして、第3の接ベクトル(つまりベクトルt)を回転軸とする第2のねじれ角の回転を表す変換(行列Aによる変換)による補正が行われる。よって、第1〜第2実施形態では、補正の結果として、第3の座標系情報が得られる。
【0222】
上記のように、補正の有無の違いはあるが、第1〜第3実施形態では、第3の座標系情報として、ベクトルuとvそれぞれのxyz成分が計算される点は共通である。
さらに、第3のローカル座標系により表される、個々のワイヤが上記第3の平面と交わるそれぞれの交点の座標の値が計算される点も第1〜第3実施形態に共通である。
【0223】
この座標の値の計算においては、図11のステップS403に示すように、上記第1と第2の情報を用いて、始点から中間点(具体的にはb番目の結束位置)までの経路上の長さ(すなわちL)に応じた補間が行われる。
【0224】
なお、第2〜第3実施形態では、個々のワイヤと第3の平面(例えばb番目の結束位置を原点とするローカル座標系におけるu平面)との交点の座標の値として、図11のステップS403で計算される値αba1とαba2が得られる。そして、上記第3の情報には、第3の座標系情報と座標の値αba1とαba2が含まれる。
【0225】
それに対し、第1実施形態では、上記第3の情報には、第3の座標系情報と、図11のステップS404とS405によって補正された座標の値α’ba1とα’ba2が含まれる。
【0226】
座標の値の補正のため、第1実施形態では、図7のステップS310とS311に示すように、コンピュータが、経路の中間点(具体的にはb番目の結束位置)における曲率、主法線の方向、および従法線の方向を計算する。そして、図11のステップS404とS405に示すように、コンピュータは、N本のワイヤそれぞれの第3の平面との交点の座標の値αba1とαba2の分布を、曲率に応じて主法線の方向に圧縮するとともに曲率に応じて従法線の方向に拡散させる。
【0227】
この圧縮と拡散は、第1実施形態では、具体的には、基底の取り替え、上下縮み率ζを用いた乗算、左右伸び率ηを用いた乗算、および再度の基底の取り替えにより実現されている。圧縮と拡散の結果、各交点の座標の値はα’ba1とα’ba2に補正される。
【0228】
また、第1実施形態では、各ワイヤの断面形状を表す形状パラメータの一例として、円の半径rが図3のステップS103で入力される。そして、図11のステップS405に示すように、コンピュータは、形状パラメータと曲率に基づいて、各ワイヤの上記第3の平面における断面形状を、主法線の方向に縮小するとともに従法線の方向に拡大する補正を行う。その結果、例えば円は楕円に変形される。そして、第1実施形態では、上記第3の情報が、さらに、各ワイヤの第3の平面における補正された断面形状を表す情報(例えば楕円の方程式)を含んでいる。
【0229】
また、第1〜第3実施形態のいずれにおいても、図11のステップS411における具体的な3次元モデルの形式は特に限定されない。
一例として、図11のステップS408に示すように、コンピュータが、N本のワイヤそれぞれの経路の3次元形状を表す第2の経路パラメータとして、折れ線を構成する線分の端点の位置を計算してもよい。第2の経路パラメータの計算は、上記第3の情報に基づいて行われ、具体的には、ベクトルuとvそれぞれのxyz成分およびu座標の値が計算に用いられる。なお、u座標の値としては、上記のとおり、第1実施形態では補正された値が用いられ、第2〜第3実施形態では補正されていない値が用いられる。
【0230】
そして、コンピュータは、図11のステップS411において、第2の経路パラメータに基づいて、N本のワイヤそれぞれの経路を包含する3次元形状を、ハーネス束線の形状として計算してもよい。
【0231】
または、第1実施形態では、コンピュータが、N本のワイヤそれぞれの上記第3の平面における補正された交点の座標の値の分布(例えば1≦a≦Nとして値α’ba1とα’ba2の分布)に基づいて、ハーネス束線の第3の平面による断面の形状を計算してもよい。
【0232】
なお、本発明は上記の第1〜第3実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
第1実施形態において、特に警告の必要がなければ図7のステップS313とS314を省略してもよい。また、図11のステップS405において、扁平化により変化したa本目のワイヤの位置のみを計算し、断面形状の扁平化に関する処理を省略することもできる。例えば、「a本目のワイヤの断面は場所によらず一定の半径rの円である」という仮定を採用する実施形態では、ステップS411で出力する3次元モデルが、折れ線と半径rを表す情報によりa本目のワイヤを表す形式でもよい。この場合、ステップS405において断面形状の扁平化に関する処理を省略することができる。
【0233】
また、上記では各ワイヤの元の断面形状を円と仮定しているが、楕円や多角形など、円以外の断面形状でもよい。また、各ワイヤの断面形状が円の場合でも、始点と終点においては、例えばワイヤの先端のコネクタの形状によって定義される方向性を持つ場合もある。その場合、例えば図4の断面レイアウト131や132の指定のためのGUIとして、コンピュータは、ディスプレイ上にワイヤ121〜123をそれぞれ表す円とともにそれぞれの円の方向性を示すマーカを表示してもよい。
【0234】
また、ハーネス束線に含まれるワイヤの本数Nは、複数でもよいが1でもよい。なお、N=1の場合は、ワイヤの始点を示す位置ベクトルpS1が線状ハーネスの始点を示す位置ベクトルpと等しく、ワイヤの終点を示す位置ベクトルpE1が線状ハーネスの終点を示す位置ベクトルpと等しいことは明らかである。よって図5のステップS201とS202は省略することができる。
【0235】
ただし、N=1の場合でも、ステップS106で入力される断面レイアウトは、ワイヤが持つ方向性と、u軸およびv軸との関係を示す意味を持っている。
また、N=1の場合、唯一のワイヤの中心は、始点、終点、およびK箇所の結束位置のいずれにおいても、tuv座標系の原点であり、xyz座標系による位置ベクトルpで表される位置にある。つまり、位置ベクトルpb1は位置ベクトルpに等しい。したがって、位置ベクトルpb1を計算するための図11のステップS403とS405の処理は省略することができる。同じ理由から、唯一のワイヤを、太さを持たない曲線としてモデル化し、折れ線で曲線を近似すると、線状ハーネスの形状と一致するので、図11のステップS408は省略することができる。
【0236】
ただし、N=1の場合であっても、ステップS405の処理のうち断面形状を扁平化する処理を行うことで、第1実施形態による利益を享受することができる。すなわち、扁平化された断面形状を利用した3次元モデルをコンピュータが出力することで、従来よりも精密な干渉チェックが可能となる。
【0237】
逆に、N>1のとき、ステップS405のうち、形状の扁平化のみを行って位置の扁平化を行わない実施形態も可能である。その場合も、個々のワイヤの断面形状の歪みが、ステップS411で出力される3次元モデルに反映されるので、シミュレーションの精度が向上する。
【0238】
また、図5のステップS204に関する「長さL(1≦b≦K)はいずれも長さΔLの整数倍である」という仮定が成立しない場合もありうる。例えば、ハーネス束線の任意の位置を結束位置として指定することを許す実施形態が考えられる。
【0239】
その場合、ステップS204でコンピュータは、b番目の結束位置から(b+1)番目の結束位置までの間に対して適切な正整数Jを選んで線状ハーネスをJ等分してもよい。なお、ここで0≦b≦Kとし、便宜的に「0番目の結束位置」とは始点のことであり、「(K+1)番目の結束位置」とは終点のことであるとする。また、正整数Jは、bによって(Lb+1−L)/Jが大きく変化しないように適切に選ばれるものとする。
【0240】
この場合、式(11)において定数ΔLとWはcによって異なる値を取りうるが、正整数Jから決定することができる。よって、「長さL(1≦b≦K)はいずれも長さΔLの整数倍である」という仮定が成立しなくても、コンピュータは、式(11)を適宜変更したうえで連立方程式(13)を上記と同様に解くことができる。
【0241】
ところで、第1実施形態では、図3のステップS107でKの値が入力され、ステップS108でK箇所の結束位置が指定される。ここで、Kの値およびK箇所の結束位置は、例えば装置の設計者によって任意に指定されてもよいが、コンピュータによって、例えばシミュレーションの結果に基づいて指定されてもよい。例えば、前述の特願2007−308084号には、実施形態に応じた様々な拘束条件に基づいて適切な結束位置をコンピュータが決定する方法が記載されている。
【0242】
また、図5のステップS204では、線状ハーネスの形状を折れ線で近似する方法の代わりに、2次曲線などの曲線で線状ハーネスの形状を表す方法を採用してもよい。
また、図11のステップS403〜S405は、K箇所の結束位置に対してのみ行われるが、コンピュータは、ステップS411で出力するモデルをより精密化するために、結束位置以外に対してもステップS403〜ステップS405の処理を行ってもよい。例えば、コンピュータは、線状ハーネスの折れ線を求めるのに用いた(J−1)個の質点のそれぞれに対して、ステップS403〜S405の処理を行い、ステップS411でのモデルの生成に処理結果を利用してもよい。
【0243】
最後に、さらに下記の付記を開示する。
(付記1)
コンピュータに、1本以上の線状可撓性部材を含む束線を含む装置の設計支援を行わせる設計支援プログラムであって、
前記束線の始点と終点の位置に基づいて、前記始点と前記終点を結ぶ経路の3次元形状を表す経路パラメータを計算する経路計算ステップと、
前記束線の前記始点における前記経路の向きを表す第1の接ベクトルに垂直であり前記束線の前記始点を通る第1の平面による、前記束線の第1の断面を表す第1の情報の入力と、前記終点における前記経路の向きを表す第2の接ベクトルに垂直であり前記束線の前記終点を通る第2の平面による、前記束線の第2の断面を表す第2の情報の入力を受け付ける入力ステップと、
前記経路パラメータに基づいて、前記経路上の中間点における前記経路の向きを表す第3の接ベクトルを計算し、前記第1の情報と前記第2の情報と前記第3の接ベクトルに基づいて、前記第3の接ベクトルに垂直であり前記中間点を通る第3の平面による、前記束線の第3の断面を表す第3の情報を生成する情報生成ステップと、
を前記コンピュータに実行させることを特徴とする設計支援プログラム。
(付記2)
前記第1の情報は、前記第1の平面上に2本の座標軸を有する第1のローカル座標系とワールド座標系との関係を示す第1の座標系情報を含み、
前記第2の情報は、前記第2の平面上に2本の座標軸を有する第2のローカル座標系と前記ワールド座標系との関係を示す第2の座標系情報を含む、
ことを特徴とする付記1に記載の設計支援プログラム。
(付記3)
前記情報生成ステップは、
前記第1の接ベクトルと前記第3の接ベクトルが張る平面上での回転により、前記第1の接ベクトルを前記第3の接ベクトルに変換する、第1の変換行列を計算する第1の行列計算ステップと、
前記第3の平面上に2本の座標軸を有する第3のローカル座標系と前記ワールド座標系との関係を示す第3の座標系情報を、前記第1の変換行列を用いて、前記第1の座標系情報から生成する座標系情報生成ステップと、
前記第1の情報と前記第2の情報を用いて、前記始点から前記中間点までの前記経路の長さに応じて補間を行うことで、前記第3のローカル座標系により表される、前記1本以上の線状可撓性部材それぞれが前記第3の平面と交わるそれぞれの交点の座標の値を計算する交点計算ステップを含み、
前記第3の情報は、前記交点それぞれの前記座標の前記値と、前記第3の座標系情報を含む、
ことを特徴とする付記2に記載の設計支援プログラム。
(付記4)
前記情報生成ステップはさらに、
前記第1の接ベクトルと前記第2の接ベクトルが張る平面上での回転により、前記第1の接ベクトルを前記第2の接ベクトルに変換する、第2の変換行列を計算する第2の行列計算ステップと、
前記第2の変換行列を用いた変換により、前記第2の座標系情報として前記第1の座標系情報から推測される情報と、実際の前記第2の座標系情報との相違を、前記第2のローカル座標系の前記座標軸の第1のねじれ角として計算するねじれ角計算ステップとを含み、
前記座標系情報生成ステップは、
前記第1のねじれ角を用いて、前記始点から前記中間点までの前記経路の前記長さに応じて補間を行うことで、第2のねじれ角を計算し、前記第3の接ベクトルを回転軸とする前記第2のねじれ角の回転を表す変換によって前記第1の変換行列による変換を補正する変換補正ステップを含む、
ことを特徴とする付記3に記載の設計支援プログラム。
(付記5)
前記経路パラメータに基づいて、前記経路の前記中間点における、主法線の方向、従法線の方向および曲率を計算する法線・曲率計算ステップと、
前記1本以上の線状可撓性部材それぞれの前記第3の平面との前記交点の前記座標の前記値の分布を、前記曲率に応じて前記主法線の方向に圧縮するとともに、前記曲率に応じて前記従法線の方向に拡散させることで、前記交点それぞれの前記座標の前記値を補正する座標補正ステップと、
をさらに前記コンピュータに実行させることを特徴とする付記4に記載の設計支援プログラム。
(付記6)
前記設計支援プログラムは、
前記1本以上の線状可撓性部材それぞれの断面形状を表す形状パラメータの入力を受け取る形状入力ステップと、
前記形状パラメータと前記曲率に基づいて、前記1本以上の線状可撓性部材それぞれの前記第3の平面における断面形状を、前記主法線の方向に縮小するとともに前記従法線の方向に拡大する補正を行う形状補正ステップを、さらに前記コンピュータに実行させ、
前記第3の情報は、
前記1本以上の線状可撓性部材それぞれの前記第3の平面における補正された前記断面形状を表す情報を含む、
ことを特徴とする付記5に記載の設計支援プログラム。
(付記7)
前記形状パラメータは円の半径であり、
前記形状補正ステップは、前記円を、前記主法線の方向の短軸を有する楕円に変形することを含む、
ことを特徴とする付記6に記載の設計支援プログラム。
(付記8)
前記束線は、複数の前記線状可撓性部材を含み、
前記設計支援プログラムは、前記複数の線状可撓性部材それぞれの前記第3の平面における補正された前記交点の前記座標の前記値の分布に基づいて、前記束線の前記第3の平面による断面の形状を計算する束線断面計算ステップをさらに前記コンピュータに実行させる、
ことを特徴とする付記5から7のいずれか1項に記載の設計支援プログラム。
(付記9)
前記曲率が指定された基準よりも大きい場合に警告を発する警告ステップをさらに前記コンピュータに実行させることを特徴とする付記5から8のいずれか1項に記載の設計支援プログラム。
(付記10)
前記始点と前記終点の間にある、前記経路上の複数の中間点について、それぞれ前記コンピュータに前記情報生成ステップを実行させることを特徴とする付記1から9のいずれか1項に記載の設計支援プログラム。
(付記11)
前記経路の前記形状は複数の線分の集合により表され、
前記経路パラメータは、各線分の端点の位置を示す情報である、
ことを特徴とする付記1から10のいずれか1項に記載の設計支援プログラム。
(付記12)
前記束線は、複数の前記線状可撓性部材を含み、
前記設計支援プログラムは、
前記中間点について生成された前記第3の情報に基づいて、前記複数の線状可撓性部材それぞれの経路の3次元形状を表す第2の経路パラメータを計算する第2の経路計算ステップと、
前記第2の経路パラメータに基づいて、前記複数の線状可撓性部材それぞれの前記経路を包含する3次元形状を、前記束線の形状として計算する束線形状計算ステップを、さらに前記コンピュータに実行させる、
ことを特徴とする付記1から付記11のいずれか1項に記載のプログラム。
(付記13)
コンピュータが、1本以上の線状可撓性部材を含む束線を含む装置の設計支援を行う設計支援方法であって、
前記束線の始点と終点の位置に基づいて、前記始点と前記終点を結ぶ経路の3次元形状を表す経路パラメータを計算し、
前記束線の前記始点を通り前記束線の前記始点における前記経路の向きに垂直な第1の平面による、前記束線の第1の断面を表す第1の情報の入力と、前記束線の前記終点を通り前記終点における前記経路の向きに垂直な第2の平面による、前記束線の第2の断面を表す第2の情報の入力を受け付け、
前記経路パラメータに基づいて、前記経路上の中間点における前記経路の向きを表す接ベクトルを計算し、前記第1の情報と前記第2の情報と前記接ベクトルに基づいて、前記接ベクトルに垂直であり前記中間点を通る第3の平面による、前記束線の第3の断面を表す第3の情報を生成する、
ことを特徴とする設計支援方法。
(付記14)
1本以上の線状可撓性部材を含む束線を含む装置の設計支援を行う設計支援装置であって、
前記束線の始点と終点の位置に基づいて、前記始点と前記終点を結ぶ経路の3次元形状を表す経路パラメータを計算する経路計算手段と、
前記束線の前記始点を通り前記束線の前記始点における前記経路の向きに垂直な第1の平面による、前記束線の第1の断面を表す第1の情報の入力と、前記束線の前記終点を通り前記終点における前記経路の向きに垂直な第2の平面による、前記束線の第2の断面を表す第2の情報の入力を受け付ける入力手段と、
前記経路計算手段が計算した前記経路パラメータに基づいて、前記経路上の中間点における前記経路の向きを表す接ベクトルを計算し、前記入力手段が受け付けた前記第1の情報および前記第2の情報ならびに前記接ベクトルに基づいて、前記接ベクトルに垂直であり前記中間点を通る第3の平面による、前記束線の第3の断面を表す第3の情報を生成する情報生成手段と、
を備えることを特徴とする設計支援装置。
【符号の説明】
【0244】
100 装置
101 支持部材
102、103 部品
104、120 ハーネス束線
105〜107 クランプ
108〜110、121〜123 ワイヤ
131〜133 断面レイアウト
141 角ψの2等分線
142 矢印
200 コンピュータ
201 CPU
202 ROM
203 RAM
204 インタフェイス
205 ネットワーク
206 情報提供者
207 記憶装置
208 ディスクドライブ
209 可搬型記憶媒体
210 入出力装置
211 バス

【特許請求の範囲】
【請求項1】
コンピュータに、1本以上の線状可撓性部材を含む束線を含む装置の設計支援を行わせる設計支援プログラムであって、
前記束線の始点と終点の位置に基づいて、前記始点と前記終点を結ぶ経路の3次元形状を表す経路パラメータを計算する経路計算ステップと、
前記束線の前記始点における前記経路の向きを表す第1の接ベクトルに垂直であり前記束線の前記始点を通る第1の平面による、前記束線の第1の断面を表す第1の情報の入力と、前記終点における前記経路の向きを表す第2の接ベクトルに垂直であり前記束線の前記終点を通る第2の平面による、前記束線の第2の断面を表す第2の情報の入力を受け付ける入力ステップと、
前記経路パラメータに基づいて、前記経路上の中間点における前記経路の向きを表す第3の接ベクトルを計算し、前記第1の情報と前記第2の情報と前記第3の接ベクトルに基づいて、前記第3の接ベクトルに垂直であり前記中間点を通る第3の平面による、前記束線の第3の断面を表す第3の情報を生成する情報生成ステップと、
を前記コンピュータに実行させることを特徴とする設計支援プログラム。
【請求項2】
前記第1の情報は、前記第1の平面上に2本の座標軸を有する第1のローカル座標系とワールド座標系との関係を示す第1の座標系情報を含み、
前記第2の情報は、前記第2の平面上に2本の座標軸を有する第2のローカル座標系と前記ワールド座標系との関係を示す第2の座標系情報を含む、
ことを特徴とする請求項1に記載の設計支援プログラム。
【請求項3】
前記情報生成ステップは、
前記第1の接ベクトルと前記第3の接ベクトルが張る平面上での回転により、前記第1の接ベクトルを前記第3の接ベクトルに変換する、第1の変換行列を計算する第1の行列計算ステップと、
前記第3の平面上に2本の座標軸を有する第3のローカル座標系と前記ワールド座標系との関係を示す第3の座標系情報を、前記第1の変換行列を用いて、前記第1の座標系情報から生成する座標系情報生成ステップと、
前記第1の情報と前記第2の情報を用いて、前記始点から前記中間点までの前記経路の長さに応じて補間を行うことで、前記第3のローカル座標系により表される、前記1本以上の線状可撓性部材それぞれが前記第3の平面と交わるそれぞれの交点の座標の値を計算する交点計算ステップを含み、
前記第3の情報は、前記交点それぞれの前記座標の前記値と、前記第3の座標系情報を含む、
ことを特徴とする請求項2に記載の設計支援プログラム。
【請求項4】
前記情報生成ステップはさらに、
前記第1の接ベクトルと前記第2の接ベクトルが張る平面上での回転により、前記第1の接ベクトルを前記第2の接ベクトルに変換する、第2の変換行列を計算する第2の行列計算ステップと、
前記第2の変換行列を用いた変換により、前記第2の座標系情報として前記第1の座標系情報から推測される情報と、実際の前記第2の座標系情報との相違を、前記第2のローカル座標系の前記座標軸の第1のねじれ角として計算するねじれ角計算ステップとを含み、
前記座標系情報生成ステップは、
前記第1のねじれ角を用いて、前記始点から前記中間点までの前記経路の前記長さに応じて補間を行うことで、第2のねじれ角を計算し、前記第3の接ベクトルを回転軸とする前記第2のねじれ角の回転を表す変換によって前記第1の変換行列による変換を補正する変換補正ステップを含む、
ことを特徴とする請求項3に記載の設計支援プログラム。
【請求項5】
前記経路パラメータに基づいて、前記経路の前記中間点における、主法線の方向、従法線の方向および曲率を計算する法線・曲率計算ステップと、
前記1本以上の線状可撓性部材それぞれの前記第3の平面との前記交点の前記座標の前記値の分布を、前記曲率に応じて前記主法線の方向に圧縮するとともに、前記曲率に応じて前記従法線の方向に拡散させることで、前記交点それぞれの前記座標の前記値を補正する座標補正ステップと、
をさらに前記コンピュータに実行させることを特徴とする請求項4に記載の設計支援プログラム。
【請求項6】
前記設計支援プログラムは、
前記1本以上の線状可撓性部材それぞれの断面形状を表す形状パラメータの入力を受け取る形状入力ステップと、
前記形状パラメータと前記曲率に基づいて、前記1本以上の線状可撓性部材それぞれの前記第3の平面における断面形状を、前記主法線の方向に縮小するとともに前記従法線の方向に拡大する補正を行う形状補正ステップを、さらに前記コンピュータに実行させ、
前記第3の情報は、
前記1本以上の線状可撓性部材それぞれの前記第3の平面における補正された前記断面形状を表す情報を含む、
ことを特徴とする請求項5に記載の設計支援プログラム。
【請求項7】
前記束線は、複数の前記線状可撓性部材を含み、
前記設計支援プログラムは、前記複数の線状可撓性部材それぞれの前記第3の平面における補正された前記交点の前記座標の前記値の分布に基づいて、前記束線の前記第3の平面による断面の形状を計算する束線断面計算ステップをさらに前記コンピュータに実行させる、
ことを特徴とする請求項5または6に記載の設計支援プログラム。
【請求項8】
1本以上の線状可撓性部材を含む束線を含む装置の設計支援を行う設計支援装置であって、
前記束線の始点と終点の位置に基づいて、前記始点と前記終点を結ぶ経路の3次元形状を表す経路パラメータを計算する経路計算手段と、
前記束線の前記始点を通り前記束線の前記始点における前記経路の向きに垂直な第1の平面による、前記束線の第1の断面を表す第1の情報の入力と、前記束線の前記終点を通り前記終点における前記経路の向きに垂直な第2の平面による、前記束線の第2の断面を表す第2の情報の入力を受け付ける入力手段と、
前記経路計算手段が計算した前記経路パラメータに基づいて、前記経路上の中間点における前記経路の向きを表す接ベクトルを計算し、前記入力手段が受け付けた前記第1の情報および前記第2の情報ならびに前記接ベクトルに基づいて、前記接ベクトルに垂直であり前記中間点を通る第3の平面による、前記束線の第3の断面を表す第3の情報を生成する情報生成手段と、
を備えることを特徴とする設計支援装置。

【図1B】
image rotate

【図1C】
image rotate

【図1D】
image rotate

【図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

【図1A】
image rotate


【公開番号】特開2010−231335(P2010−231335A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−76180(P2009−76180)
【出願日】平成21年3月26日(2009.3.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】