(57)【特許請求の範囲】
【請求項１】
リンクおよび関節を有するリンク機構を構成する複数の部品の三次元形状を表わす形状データを入力する形状データ入力手段、
関節を種類別に三次元的にモデル化してなる複数種類の立体関節マークの中からいずれかの立体関節マークを選択して、選択した立体関節マークを、前記形状データ入力手段により入力された部品どうしが結合される関節部分に、所定の位置および所定の姿勢に配置することにより、該部品どうしを結合する関節の種類、位置および姿勢を定義する関節定義用操作子、
前記形状データ入力手段により入力された部品および前記立体関節マークを表示する表示手段、および
前記立体関節マークが前記関節部分に配置されたことを受けて、該立体関節マークが配置された部品を含むリンク機構のリンクおよび関節の結合関係を表わすパラメータと該パラメータのパラメータ値とが記述された関節データを求める関節データ演算手段を備えことを特徴とするリンク機構関節データ演算装置。
【請求項２】
前記形状データ入力手段が、相互に組み立てられた状態の複数の部品の三次元形状を表わす形状データを入力するものであって、
前記関節定義用操作子が、前記形状データ入力手段により入力された、相互に組み立てられた状態に配置された複数の部品の関節部分に、前記立体関節マークを配置するものであることを特徴とする請求項１記載のリンク機構関節データ演算装置。
【請求項３】
前記形状データ入力手段が、組立前の状態の複数の部品の三次元形状を表わす形状データを入力するものであって、
前記関節定義用操作子が、相互に結合される複数の部品の各関節部分それぞれに、位置および姿勢が相互に対応することを示す各立体関節マークをそれぞれ配置するものであることを特徴とする請求項１記載のリンク機構関節データ演算装置。
【請求項４】
前記立体関節マークが前記部品に干渉したか否かを検査する干渉チェック手段を備えたことを特徴とする請求項１記載のリンク機構関節データ演算装置。
【請求項５】
前記形状データ入力手段が、前記形状データとともに関節位置を表わす関節位置データを入力するものであって、
前記関節定義用操作子が、前記関節位置データが表わす関節位置に前記立体関節マークを配置する操作を含む操作を行なうためのものであることを特徴とする請求項１記載のリンク機構関節データ演算装置。
【請求項６】
前記表示手段が、前記部品を所定の方向に投影した二次元形状を表示するものであって、
前記関節定義用操作子が、前記二次元形状中の関節位置を指定することにより該関節位置に前記立体関節マークを配置する操作を含む操作を行なうためのものであることを特徴とする請求項１記載のリンク機構関節データ演算装置。
【請求項７】
関節により結合された部品の移動限界を定めるための関節リミット定義用操作子を備えたことを特徴とする請求項１記載のリンク機構関節データ演算装置。
【請求項８】
前記立体関節マークが、関節により結合された部品の移動位置を模擬するマーク部分を有し、前記関節リミット定義用操作子が、前記マーク部分を該部品の移動限界位置に対応する位置に移動させることによって該部品の移動限定を定めるものであることを特徴とする請求項７記載のリンク機構関節データ演算装置。
【請求項９】
前記関節リミット定義用操作子が、前記表示手段に表示された、関節により結合された部品を該部品の移動限界位置に移動させることによって該部品の移動限界を定めるものであることを特徴とする請求項７記載のリンク機構関節データ演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は機構設計用ＣＡＤシステムを用いて作成したリンク機構のシミュレーション的な動作確認を行なうリンク機構解析装置を用いてリンク機構のシミュレーション的な動作確認を行なうにあたって必要となる、例えばＤｅｒａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇのリンクパラメータ（以下、Ｄ−Ｈパラメータと略記する）と称されるような、リンク機構のリンクおよび関節の結合関係を表わすパラメータとそのパラメータのパラメータ値とが記述された関節データを求めるリンク機構関節データ演算装置に関する。
【０００２】
【従来の技術】
近年、三次元ＣＡＤシステムを使って製品設計を行なうことが多くなってきている。そのような製品は一般的にはいくつかの可動部を持っているが、組立て後、設計者の望むように動くかどうか、あるいは部品どうしが干渉しないかどうかを確認する必要がある。このような確認は、古くは試作して行なっていたが時間やコストがかかっていた。
【０００３】
近年、コンピュータグラフィックス（以下、ＣＧと略記する場合がある）とシミュレーション技術の発達により、シミュレーションによって可動部を動かし、それをＣＧ画面に表示することにより、試作することなく視覚的に動作確認を行なうことができるようになってきた。その結果、設計の不具合を早期に発見して修正を行なうことができ、設計時間短縮やコスト削減を図ることができる。そのような目的で機構解析システムが作られてきたが、以下に概略を説明するように、従来の機構解析システムは、機構を定義して可動部を動かすための操作が極めて複雑であり、ユーザへの負担が大きい。
【０００４】
従来、Ｐｒｏ／Ｅｎｇｉｎｅｅｒｉｎｇ、ｉ−ＤＥＡＳ等の三次元ＣＡＤシステムでは、リンク機構の動作確認にアセンブリ機能が使われており、部品間の相対位置や姿勢のパラメータを変更してそれらの部品の再配置を繰り返すことで動作確認が行なわれてきた。しかし、これらのシステムでは、パラメータの変更に時間がかかる。特に逆運動学がないので、そのシステムの利用者が部品間の相対位置や姿勢を合わせるように配置していくことが非常に大変である。
【０００５】
ここで、「逆運動学」とは、リンク機構の先端ないし途中の位置と姿勢の情報を与えたときに、そのリンク機構を構成する各リンクを連結する関節の角度がどのようになるかを解く手法をいう。これと対比される用語に「順運動学」があり、この「順運動学」は、各関節の角度を与えたときに、そのリンク機構の先端の位置と姿勢がどうなるかを解く手法をいう。
【０００６】
また、ＩＧＲＩＰというロボットシミュレータが知られている。このロボットシミュレータには、回転／直動関節を持った一般的な６自由度以下のリンクについて順運動学の解法が用意されており、またユーザが定義した順運動学の解法もそのシステムに組み入れることができるよう構成されている。しかし、このロボットシミュレータでは、各々のロボット毎にそのロボットに適合した複雑な設定を行なう必要があり、このため、このロボットシミュレータを様々なリンク機構の動作確認に使うためには各リンク機構毎に複雑な設定をやり直す必要があり作業性が悪いという問題がある。
【０００７】
さらに、従来より付属のモデラーや市販の三次元ＣＡＤシステムを使って作成した部品のデータを取り込んで動作確認を行なう機構解析用ソフトウェアが存在するが、可動部の設定が繁雑である、順運動学、逆運動学を定義する必要がありユーザの負担が大きい、リンク機構のパラメータを入力する必要がある、厳密な解析解を持つものが少なく特に閉ループ系リンク機構が厳密に解けない場合がある等の問題点がある。
【０００８】
また、リンク機構解析を行なう前提としてリンク機構を構成する複数の部品相互の結合状態、すなわちリンク機構そのものを定義する必要があり、ＣＡＤシステム等を使って作成した部品どうしを結合する関節（関節の種類、位置、姿勢）や、その関節で結合された部品の移動限界（以下、この移動限界を「関節リミット」と称することがある）を定義し、これにより、そのリンク機構そのものを定義する必要がある。リンク機構が定義されるということは、そのリンク機構を構成するリンクおよび関節の結合関係を表わすパラメータ（例えばＤ−Ｈパラメータ）およびそのパラメータのパラメータ値が記述された関節データが求められることを意味し、その関節データがそのリンク機構の解析に用いられる。
【０００９】
この関節を定義することに関し、従来、アニメーション作成を目的とする‘Ｓｏｆｔｉｍａｇｅ’等では、スケルトンと呼ばれる骨組みをマウス操作で配置し、球関節のリンクをいくつか接続することによりアニメーションとしての人間や動物の関節を設定し、その後関節リミットの拘束を設けるという手順で関節および関節リミットの定義を行なっている。ただしこの手法では厳密な定義を行なうことはできない。これは、アニメーション作成を目的としており、人間や動物の関節は、その形状のだいたいの位置に配置すればよく、厳密さを要求されないのでこの方法で充分である。
【００１０】
これに対し、製品設計やロボットの分野では、関節の位置や姿勢の定義に厳密さが要求される。関節の位置を厳密に指定すること自体は考えられるが、先ず第１に、どのような手法を用いると関節の位置を厳密に、かつ操作性良く指定することができるかということが問題であり、第２に、関節の位置は厳密に指定したとして、その関節で結合された部品の動き方が画面上で直感的に解りやすいかどうかということも問題である。
【００１１】
【発明が解決しようとする課題】
本発明は、上記事情に鑑み、簡単な操作でかつ視認性良くリンク機構の関節定義を行なうことのできるリンク機構関節データ演算装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
図１は、本発明の第１のリンク機構解析装置の基本ブロック図である。
【００１３】
上記目的を達成する本発明の第１のリンク機構解析装置は、
（１−１）リンクおよび関節を有する複数種類のリンク機構モデルそれぞれについての順運動学の解析的解法、およびそれら複数種類のリンク機構モデルそれぞれについての、リンク機構モデルの有するリンクおよび関節それぞれをそのリンク機構モデルを駆動する駆動源としたときの逆運動学の解析的解法が記述されたファイルを記憶するファイル記憶手段１０１
（１−２）リンクおよび関節を有する被解析用リンク機構の三次元形状を表わす形状データと、その被解析用リンク機構を構成するリンクおよび関節の結合関係を表わすパラメータおよびそれらのパラメータのパラメータ値が記述された関節データとを入力するデータ入力手段１０２
（１−３）上記複数種類のリンク機構のモデルの中から、データ入力手段１０２により入力された形状データにより表わされる三次元形状に対応するリンク機構モデルを選択するための第１の操作子１０３
（１−４）データ入力手段により入力された形状データにより表わされる三次元形状を有する被解析用リンク機構を駆動する駆動源を指定する第２の操作子１０４
（１−５）第２の操作子１０４の操作により指定された駆動源の駆動量を入力する第３の操作子１０５
（１−６）データ入力手段１０２により入力された関節データに含まれるパラメータ値および上記第３の操作子の操作により入力された駆動量を代入して、第１の操作子１０３の操作により選択されたリンク機構モデルに対応する順運動学の解析的解法、および、第２の操作子１０４の操作により指定された駆動源に対応する逆運動学の解析的解法を数値的に解く演算手段１０６
を備えたことを特徴とする。
【００１４】
図１は、本発明の第２のリンク機構解析装置の基本ブロック図でもある。
【００１５】
上記目的を達成する本発明の第２のリンク機構解析装置は、
（２−１）リンクおよび関節を有する複数種類のリンク機構モデルそれぞれについての順運動学および動力学の解析的解法が記述されたファイルを記憶するファイル記憶手段１０１
（２−２）リンクおよび関節を有する被解析用リンク機構の三次元形状を表わす形状データと、その被解析用リンク機構を構成するリンクおよび関節の結合関係を表わすパラメータおよびそのパラメータのパラメータ値が記述された関節データとを入力するデータ入力手段１０２
（２−３）上記複数種類のリンク機構のモデルの中から、データ入力手段１０２により入力された形状データにより表わされる三次元形状に対応するリンク機構モデルを選択するための第１の操作子１０３
（２−４）上記データ入力手段１０２により入力された形状データにより表わされる三次元形状を有する被解析用リンク機構を駆動する駆動源を指定する第２の操作子１０４
（２−５）第２の操作子１０４の操作により指定された駆動源の駆動力を入力する第３の操作子、および
（２−６）データ入力手段１０２により入力された関節データに含まれるパラメータ値および第３の操作子１０５の操作により入力された駆動力を代入して、第１の操作子１０３の操作により選択されたリンク機構モデルに対応する順運動学および動力学を数値的に解く演算手段１０６
を備えたことを特徴とする。
【００１６】
ここで、上記本発明の第１のリンク機構解析装置、ないし第２のリンク機構解析装置において、第１の操作子１０３、第２の操作子１０４、第３の操作子１０５はその操作子の役割りにより名づけたものであって、物理的には１つの操作子であってもよい。
【００１７】
また、入力手段１０２は、このリンク機構装置解析とは別体の例えば三次元ＣＡＤシステム等により既に作成済の形状データおよび関節データを外部から入力するものであってもよく、あるいは、例えばそこに三次元ＣＡＤシステム等が組み込まれたものであってもよい。
【００１８】
上記本発明の第１のリンク機構解析装置は、予め、複数種類のリンク機構モデルそれぞれについての順運動学の解析的解法のみならず、そのリンク機構モデル駆動源に対応する運動学についても解析的解法が用意されてファイル記憶手段に組み込まれているため、ユーザは、被解析用リンク機構とリンク機構モデルとを対応づけ、所望の駆動源を指定し、その駆動源の駆動量を入力するだけで、あらかじめ用意された解析的解法を用いた演算が行なわれる。
【００１９】
また、本発明の第２のリンク機構解析装置についても同様であり、予め、複数種類のリンク機構モデルそれぞれについての順運動学の解析的解法のみならず、それら複数種類のリンク機構モデルそれぞれについての動力学についても運動方程式のパラメータが用意されてファイル記憶手段に組み込まれているため、ユーザは、被解析用リンク機構とリンク機構モデルとを対応づけ、所望の駆動源を指定し、その駆動源の駆動力を入力するだけで、あらかじめ用意された解析的解法を用いた数値解析が行なわれる。
【００２０】
このように、本発明の第１ないし第２のリンク機構解析装置によれば、ユーザに簡単な操作を要求するだけで、リンク機構の機構解析を実行することができる。
【００２１】
ここで、本発明の第１ないし第２のリンク機構解析装置において、データ入力手段１０２により入力された形状データにより表わされる三次元形状のグラフィックス画面、および前記第１の操作子の操作により選択されたリンク機構モデルを表わすリンク機構モデル画面を表示する表示手段１０７を備えることが好ましい。これにより、所望のリンク機構モデルの選択が容易となり、また、数値解析の結果をグラフィックス画面として表示して動作確認を行なうことができる。
【００２２】
本発明の第１ないし第２のリンク機構解析装置において、表示手段１０７を備えた場合に、その表示手段１０７が、順次指定されることにより所望のリンク機構モデルの指定に到達する複数のメニュータイトルを表示するものであり、第１の操作子１０３が、表示手段１０７に表示されたメニュータイトルを指定する操作を行なうものであることが好ましい。
【００２３】
このように表示手段１０７にメニュータイトルを表示してそれを指定することにより所望のリンク機構モデルを指定するようにすると、ユーザによる、所望のリンク機構モデルを指定する操作が簡単となり、より使い勝手のよい、ユーザの負担の少ない装置が実現する。
【００２４】
また、この場合に、上記複数のメニュータイトルが、自由度で分類されてなるリンク機構モデルの各群を表わすメニュータイトルを含むものであることがさらに好ましい。
【００２５】
リンク機構モデルをその自由度で分類しておくと、所望のリンク機構モデルを見つけ易くなり、メニュータイトルの指定操作と相俟って、さらに使い勝手の良い、ユーザの負担のさらに少ない装置が実現する。
【００２６】
また、上記本発明の第１ないし第２のリンク機構解析装置において、第２の操作子１０４が、表示手段１０７に表示されたグラフィックス画面上のリンクを指示する操作と、そのリンクおよびそのリンクを連結する関節のいずれを駆動源とするかを指示する操作との双方の操作を行なうことにより駆動源を指定するものであってもよく、あるいは、表示手段１０７が、上記リンク機構モデル画面に、選択可能な駆動源を表わすマークを重畳させて表示するものであり、第２の操作子１０４が、それらのマークのうちの１つを指定する操作を行なうものであってもよい。
【００２７】
リンク機構の機構解析を行なうにあたっては、駆動源を指定する必要があるが、その駆動源の指定は、上記のような２回の指定操作もしくは１回の指定操作により容易に行なわれる。
【００２８】
さらに、上記本発明の第１ないし第２のリンク機構解析装置は、データ入力手段１０２により入力された形状データにより表わされる三次元形状を有する被解析用リンク機構を構成するリンクのうち最も根元に位置する第１リンクを指定する第４の操作子１０８を備えることが好ましい。あるいは、この第４の操作子１０８に代えて、もしくはこの第４の操作子１０８を備えるとともに、データ入力手段１０２により入力された関節データに含まれる上記パラメータに基づいて、データ入力手段１０２により入力された形状データにより表わされる三次元形状を有する被解析用リンク機構を構成するリンクのうち最後端に位置する第１リンクを検出する第１リンク検出手段１０９を備えることも好ましい態様である。
【００２９】
リンク機構解析を行なうには、被解析用リンク機構の第１リンクを知る必要があるが、この第１リンクの指定は、ユーザにより行なわれ、あるいは一義的に定まる場合は好ましくは自動的に定められる。ユーザにより指定される場合であっても、ユーザは、例えば表示手段１０７にグラフィック画面として表示されている被解析用リンク機構の第１リンクにマークを合わせてマウスをクリックする等の簡単な操作で行なわれ、ユーザの負担は少ない。
【００３０】
さらに本発明の第１ないし第２のリンク機構解析装置において、上記複数種類のリンク機構モデルを構築する新リンク機構モデル構築手段１１０を備えることが好ましい。
【００３１】
この新リンク機構モデル構築手段１１０を備えると、ユーザが自分で使いたいリンク機構モデルを定義し、機構解析のベースとなるリンク機構モデルを増やすことができるので、そのユーザにとってさらに使い勝手の良い装置となる。
【００３２】
図２は、本発明のリンク機構関節データ演算装置の基本ブロック図である。
【００３３】
上記目的を達成する本発明のリンク機構関節データ演算装置は、
（３−１）リンクおよび関節を有するリンク機構を構成する複数の部品の三次元形状を表わす形状データを入力する形状データ入力手段２０１
（３−２）関節を種類別に三次元的にモデル化してなる複数種類の立体関節マークの中からいずれかの立体関節マークを選択して、選択した立体関節マークを、形状データ入力手段により入力された部品どうしが結合される関節部分に、所定の位置および所定の姿勢に配置することにより、それらの部品どうしを結合する関節の種類、位置および姿勢を定義する関節定義用操作子２０２
（３−３）形状データ入力手段により入力された部品および前記立体関節マークを表示する表示手段２０３
（３−４）上記立体関節マークが関節部分に配置されたことを受けて、その立体関節マークが配置された部品を含むリンク機構のリンクおよび関節の結合関係を表わすパラメータとそのパラメータのパラメータ値とが記述された関節データを求める関節データ演算手段２０２
を備えことを特徴とする。
【００３４】
本発明のリンク機構関節データ演算装置は、立体関節マークを関節の種類毎に定義しておいて、表示手段２０３により表示された画面を見ながら、関節定義用操作子２０２を操作してその立体関節マークを所定の位置および所定の姿勢に配置するだけで関節が定義され、これを必要に応じてそのリンク機構の関節の数だけ繰り返すだけでそのリンク機構の関節データが求められる。すなわちそのリンク機構が定義される。また立体関節マークを配置するため、その関節で結合された部品の動きの仕方が画面上で直感的に解りやすく、この点からも操作性が向上する。このように、本発明の機構関節データ演算装置は立体関節マークを配置する操作を行なえばよく、簡単な操作でかつ直感的に解りやすくリンク機構を定義することができる。
【００３５】
ここで、上記本発明のリンク機構関節データ演算装置は、形状データ入力手段２０１が、相互に組み立てられた状態の複数の部品の三次元形状を表わす形状データを入力するものであって、関節定義用操作子２０２が、形状データ入力手段２０１により入力された、相互に組み立てられた状態に配置された複数の部品の関節部分に、立体関節マークを配置するものであってもよく、あるいは、上記本発明の機構関節データ演算装置は、形状データ入力手段２０１が、組立前の状態の複数の部品の三次元形状を表わす形状データを入力するものであって、関節定義用操作子２０２が、相互に結合される複数の部品の各関節部分それぞれに、位置および姿勢が相互に対応することを示す各立体関節マークをそれぞれ配置するものであってもよい。
【００３６】
本発明では、例えばＣＡＤシステム等において部品の組み立てに関するデータが生成されているときはその組立てデータを用いて関節を定義することもでき、組立てデータが存在しないとき、もしくは組立てデータが存在していてもそれを用いずに関節定義を行なうこともできる。
【００３７】
また、本発明のリンク機構関節データ演算装置において、立体関節マークが部品に干渉したか否かを検査する干渉チェック手段を備えることが好ましい。
【００３８】
干渉チェック手段２０５を備えると、部品の表面に立体関節マークを容易に配置することができ、立体関節マークを配置するための操作が一層簡単になる。
【００３９】
また、上記本発明の機構関節データ演算装置において、形状データ入力手段２０１が、上記形状データとともに関節位置を表わす関節位置データを入力するものであって、関節定義用操作子２０２が、上記関節位置データが表わす関節位置に立体関節マークを配置する操作を含む操作を行なうためのものであることも好ましい態様である。
【００４０】
ＣＡＤシステム等で関節位置データまで作成されている場合は、それを用いることにより、一層簡単な操作で立体関節マークを配置することができる。
【００４１】
さらに、本発明の機構関節データ演算装置において、表示手段２０３が、部品を所定の方向に投影した二次元形状を表示するものであって、関節定義用操作子２０２が、その二次元形状中の関節位置を指定することによりその関節位置に立体関節マークを配置する操作を含む操作を行なうためのものであることも好ましい態様である。
【００４２】
部品の二次元形状を表示することができる場合、その二次元形状の上で関節位置を指定する方が操作が簡単だからである。
【００４３】
さらに、本発明のリンク機構関節データ演算装置においては、関節により結合された部品の移動限界を定めるための関節リミット定義用操作子２０２が備えられる。この関節リミット定義用操作子２０６は、ハードウェア上は、関節定義用操作子２０２と同一のものであってもよい。
【００４４】
この関節リミット定義用操作子２０６を備えるにあたり、上記立体関節マークが、関節により結合された部品の移動位置を模擬するマーク部分を有し、この関節リミット定義用操作子２０６が、そのマーク部分を部品の移動限界位置に対応する位置に移動させることによってその部品の移動限定を定めるものであることも好ましい態様であり、あるいは、関節リミット定義用操作子２０６が、表示手段２０３に表示された、関節により結合された部品をその部品の移動限界に位置移動させることによってその部品の移動限界を定めるものであることも好ましい態様である。
【００４５】
ここで、本発明のリンク機構解析装置と本発明のリンク機構関節データ演算装置との関係について説明する。
【００４６】
例えばＣＡＤシステム等でリンク機構を構成する複数の部品の形状データが形成され、その形状データが、図２に示す、形状データ入力手段２０１により、本発明のリンク機構関節データ演算装置に入力される。本発明のリンク機構関節データ演算装置では、その入力された形状データに基づく部品が表示された画面上に、上述のように立体関節マークを配置することによりリンク機構を定義し、これにより関節データが生成される。その生成された関節データは、形状データとともに、今度は、図１に示すデータ入力手段１０２により本発明のリンク機構解析装置に入力される。リンク機構解析装置では、そのリンク機構の解析が行なわれる。
【００４７】
尚、本発明のリンク機構解析装置と本発明のリンク機構関節データ演算装置は、ハードウェア上は同一の装置であってもよく、したがってそれらの操作の全てもしくはいくつかはハードウェア上は同一の操作子であってもよく、さらには、形状データを作成するＣＡＤシステムも同一のハードウェアに組み込まれていても良い。
【００４８】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【００４９】
ここでは、説明の都合上、先ず本発明のリンク機構解析装置の実施形態について先に説明し、その後、本発明のリンク機構関節データ装置の実施形態について説明する。
【００５０】
尚、本発明の第１のリンク機構解析装置と第２のリンク機構解析装置では、共通的に説明できる部分が多いため、以下では、本発明の第１のリンク機構解析装置の実施形態について説明し、その後、第２のリンク機構解析装置の、第１のリンク機構解析装置との相違点について説明する。
【００５１】
図３は、本発明の第１のリンク機構解析装置の一実施形態の外観図である。
【００５２】
この図３に示すように、このリンク機構解析装置１００はコンピュータシステムで構成されており、ＣＰＵが内蔵された本体部１１、キーボード１２、マウス１３、およびＣＲＴ表示部１４が備えられている。本体部１１には、ＣＰＵのほか、フロッピィディスクが装填され、フロッピィディスクに記録されたデータを読み込んだり、フロッピィディスクにデータを記録したりするフロッピィディスクドライブ装置、大容量のデータを保存しておく磁気ディスク装置等も内蔵されている。
【００５３】
本実施形態では、図示しない三次元ＣＡＤシステムを使って設計した被解析用のリンク機構の三次元形状を表わす形状データと、そのリンク機構を構成するリンクおよび関節の結合関係を表わすＤ−Ｈパラメータおよびそのパラメータ値が記述された関節データが、三次元ＣＡＤ側でフロッピィディスクにダウンロードされ、そのフロッピィディスクがこの図３に示すリンク機構解析装置１００に装填されて、そのフロッピィディスクから上記形状データおよび関節データが読み込まれる。
【００５４】
尚、三次元ＣＡＤシステムとこのリンク機構解析装置１００は通信ラインで接続されていて、三次元ＣＡＤシステムからその送信ラインを経由して入力された上記形状データおよび関節データを、このリンク機構解析装置１００に内蔵された磁気ディスク装置に格納してもよく、あるいは、このリンク機構解析装置１００に三次元ＣＡＤシステムが組み込まれていてもよい。
【００５５】
また、このリンク機構解析装置１００には、複数種類のリンク機構モデル（具体例は後述する）それぞれを模式的に表示するためのリンク機構モデルのイラスト、各リンク機構モデルの順運動学の解析的解法および各リンク機構モデルの各駆動源を駆動したときの逆運動学の解析的解法等が記述されたファイルが、本体部１１に内蔵された磁気ディスク装置に記憶されている。
【００５６】
図４は、ＣＲＴ表示部に表示された画面の一態様を示す図である。
【００５７】
本実施形態においては、ＣＲＴ表示部１４上に種々の画面を開くことができるが、典型的には、この図４に示すように、メニュータイトル群から成るメニュー画面２０、被解析用のリンク機構の形状データに基づいて作成された、そのリンク機構の三次元形状を表わすＣＧ画面３０、および、後述するようにしてユーザにより選択された、その被解析用リンク機構に対応するリンク機構モデルのイラストを表示するリンク機構モデル画面４０が表示される。
【００５８】
ここで、ＣＧ画面３０は、ここでは平面的に描かれているが、このＣＧ画面３０は、被解析用リンク機構の三次元形状を表わす形状データに基づいて作成されており、ユーザの指示に応じて、その三次元形状を種々の方向から見たＣＧ画面が表示される。
【００５９】
図５は、メインメニューおよびサブメニューの一覧を表わした図である。
【００６０】
図４に示したメニュー画面２０は、メインメニューのみであり、このメインメニューで表示された「リンク設定」、「駆動部設定」、「リンク機構情報」、「拘束条件」のいずれかを図３に示すマウス１３を用いて選択すると、その選択されたメニュータイトルに応じた各種のサブメニューが表示され、さらにそのサブメニュー中の所望のメニュータイトルを選択するという順序で、ユーザにより、このリンク機構解析装置に種々の指示が入力される。各メニュータイトルの意味については、各操作に即しながら後述する。また、図３に示すキーボード１２によっても、種々の指示を入力することができる。
【００６１】
以下、ユーザの操作と対応づけて、本実施形態について説明を続ける。尚、ここでは被解析用リンク機構は、一例として、「平行クランク」であるとする。ただし、必要に応じて、平行クランクの他、「１リンク」および「クランク」についても例示する。
【００６２】
被解析用リンク機構のデータ（形状データおよび関節データ）がこのリンク機構解析装置１００に入力されると、図３に示すように、ＣＲＴ表示部１４に、その入力された形状データに基づくＣＧ画面３０（ここでは平行クランク）が表示される。
【００６３】
次に、このリンク機構を解析するために、ユーザにより、複数種類のリンク機構モデルの中から、このＣＧ画面３０に表われた平行クランクのＣＧ画面３０に対応する平行クランクのリンク機構モデルが選択される。この選択は以下のようにして行なわれる。
【００６４】
図６は、リンク機構モデルの選択、およびそれに続く第１リンクの選択の操作手順を示す説明図、図７〜図９は、それぞれ、「平行クランク」、「１リンク」、「クランク」のリンク機構モデルのリンク座標系および親子関係を示す図である。
【００６５】
先ずメインメニュー中のメニュータイトル「リンク設定」にマウス１３のカーソルを合わせ、マウス１３をクリックすることにより、この「リンク設定」のメニュータイトルを選択する。以下、この操作を単に、「リンク設定」を選択する、ないし「リンク設定」ボタンを押す、と称する。他のメニュータイトルについても同様である。
【００６６】
「リンク設定」を選択すると、画面上に、「リンク設定」に対応するサブメニュー「リンク種選択」、「第１リンク選択法」が現われる（図４参照）。そこで、次にこの中から「リンク種選択」を選択する。
【００６７】
すると、図６に示すように、「１リンク」、「クランク」、「平行クランク」、「２リンク」、「スライダ・リンク」、「四節機構」、「クロススライダ・クランク機構」、「パンタグラフ」等の種々のリンク機構モデルそれぞれに対応するメニュータイトルが表示される。
【００６８】
次に「平行クランク」を選択する。すると今度は、平行クランクに属する数種類のリンク機構モデルのメニュータイトルが表示されるので、被解析用リンク機構の解析に適したリンク機構モデルのメニュータイトルが選択される。すると、その、最終的に選択された平行クランクのイラスト画面４０が表示される。
【００６９】
また、上記と同様にして、「リンク設定」を選択した後、「第１リンク選択法」を選択すると、用意された複数種類の第１リンク選択法それぞれに対応するメニュータイトルが表示される。
【００７０】
リンク機構は、ワールド座標系との接続関係により定義された第１リンクの座標系、その第１リンクとの接続関係により定義された第２リンクの座標系、…、そのリンク機構の先端の座標系というように、座標系の配列により定義される。ここでは、この座標系の配列のセットを「リンク座標系」、そのリンク座標系を構成する複数の座標系の接続関係を「親子関係」と称する。本実施形態では、関節データとして、リンク座標系および親子関係がＤ−Ｈパラメータで記述されており、さらにそのＤ−Ｈパラメータのパラメータ値（各リンクの長さ等）が記述されている。Ｄ−Ｈパラメータは広く知られたパラメータであり、詳細説明は省略する（例えば、「機械系のためのロボティクス」遠山茂樹著  総合電子出版社
参照）。
【００７１】
上述のようにして、解析に適したリンク機構モデルを選択しても、そのリンク機構モデルと被解析用リンク機構との対応づけは不十分であり、被解析用リンク機構を構成する各リンクおよび各関節が、選択したリンク機構モデルの各リンクおよび各関節のどれに対応しているかを指示する必要がある。ここでは、この対応づけは、被解析用リンク機構の第１リンクを指定することで行なわれる。
【００７２】
具体的には、解析に適したリンク機構モデルが選択されてそのリンク機構モデル画面４０が表示されると、第１リンク選択法のデフォルト（初期状態）として「ピッキング選択」が選択され、リンク機構モデル画面４０の下に、図示のように、「対応する第１リンク（赤色部）をＣＧ上で選択してください」というメッセージが表示される。また、リンク機構モデル画面４０上の第１リンクは、赤色で表示されている。そこで、ユーザは、ＣＧ画面３０に表示された被解析用リンク機構の第１リンクにマウスのマークを移動させてマウスをクリックする。（以下では、この操作を「第１リンク」をピッキングする、と称する。他の場面でも同様である。）
ＣＧ画面３０上で第１リンクがピッキングされると、ＣＧ画面３０上の第１リンクが赤色で表示され、そのリンクが第１リンクとして選択されたことが明示される。
【００７３】
尚、本実施形態においては、第１リンク選択法として、ここで説明した「ピッキング選択」のほか、上述の形状データおよび関節データとともに被解析用リンク機構のデータとして読み込まれているリンク名をボタンとともに表示しそのボタンをピッキングすることにより第１リンクを選択する「リンク名選択」、キーボード１２（図３参照）からリンク名を入力する「リンク名入力」、ＣＧ画面３０上にマークが表示され、それらのマークのうち第１リンクに対応するマークをピッキングすることにより第１リンクを選択する「関節マーク表示＆ピッキング選択」が用意されており、ユーザの好みにより、いずれの選択法を使って第１リンクを選択してもよい。
【００７４】
上記のようにして、被解析用リンク機構に対応するリンク機構モデルが選択され、被解析用リンク機構の第１リンクが指定されることにより、被解析用リンク機構の各リンクおよび各関節と、リンク機構モデルの各リンクおよび各関節との対応づけが行なわれる。この対応づけが行なわれると、リンク機構解析装置内部では、被解析用リンク機構の関節データからＤ−Ｈパラメータのパラメータ値（例えば被解析リンク機構の各リンクの長さ等）が、上記のようにして対応づけられたリンク機構モデルに対応する順運動学および逆運動学の解析的解法（後で例を示す）に代入される。
【００７５】
ここでは、関節データからのパラメータ値の抽出法について例示的に説明する。
【００７６】
（平行クランクの場合；図７参照）
平行クランクは、図７に示すように、ワールド座標系Σｗに固定されたリンクｌｉｎｋ１ｐ、そのリンクｌｉｎｋ１ｐの先に連結された第１リンクｌｉｎｋ１、その第１リンクｌｉｎｋ１の先端に関節を介して連結された第２リンクｌｉｎｋ２、その第２リンクｌｉｎｋ２の先端に関節を介して連結された第３リンクｌｉｎｋ３、その第３リンクｌｉｎｋ３の先端に位置する仮想上のリンクｌｉｎｋ３ｃから構成されており、第１リンクｌｉｎｋ１と第３リンクｌｉｎｋ３は長さが等しくかつ常に平行であるという拘束条件が付されている。
【００７７】
上述のようにして平行クランクのリンク機構モデルが選択され、さらに第１リンクがピッキングされると、関節データが記述されたファイルにその第１リンクのＩＤ番号が返され、そのＩＤ番号からそのファイル中の、リンク座標系および親子関係が記述されたリンク情報が検索される。ここでは、図７に示すようにその第１リンクの名前はｌｉｎｋ１であるとする。
【００７８】
ここでは、リンク情報が参照され、そのリンク情報中の親子関係の情報（図７参照）から、第１リンクｌｉｎｋ１、第２リンクｌｉｎｋ２、第３リンクｌｉｎｋ３の各リンク長を表わすパラメータ値Ｌ１，Ｌ２，Ｌ１（平行クランクの場合、第１リンクｌｉｎｋ１の長さ＝第３リンクｌｉｎｋ３の長さである）が読み取られ、平行クランクの順運動学および逆運動学の解析的解法を表わす数式中の各リンクの長さを表わすパラメータに、それら読み取られたパラメータ値が代入される。具体的には以下のとおりである。
【００７９】
第１リンクのＩＤ番号により第１リンクｌｉｎｋ１が特定されると、そのｌｉｎｋ１の先のリンクｌｉｎｋ２の情報が参照される。そこには、リンクｌｉｎｋ２のＤ−Ｈパラメータのパラメータ値として、リンクの長さａｉ、リンク間距離ｄｉ、リンクのねじれ角αｉ、リンク間角度θｉ（ｉは第ｉリンクを示す。ここではｉ＝２）の順に、それぞれ、Ｌ１，０．０，０．０，０．０と記述されているものとする。そこで、このリンクｌｉｎｋ２のＤ−Ｈパラメータのパラメータ値からリンクの長さを表わすパラメータ値Ｌ１（具体的な数値）が読み出され、この平行クランクの順運動学および逆運動学の解析的解法を表わす数式中の、第１リンクの長さを表わすリンクパラメータ、および第３リンクの長さを表わすリンクパラメータにパラメータ値Ｌ１が代入される（平行クランクの場合、第１リンクの長さ＝第３リンクの長さである）。
【００８０】
次に第２リンクｌｉｎｋ２の先の第３リンクｌｉｎｋ３の情報が参照される。リンクｌｉｎｋ３のＤ−Ｈパラメータのパラメータ値として、上記の順に、Ｌ２，０．０，０．０，θｏｆｆ  が記述されているものとする。Ｌ２は、第２リンクの長さ、θｏｆｆ  は、リンク間角度を表わす所定のオフセット値を表わす。この情報から、第２リンクの長さＬ２（具体的数値）が読み出され、この平行クランクの順運動学および逆運動学の解析的解法を表わす数式中の第２リンクの長さを表わすリンクパラメータにパラメータ値Ｌ２が代入される。
（１リンクの場合；図８参照）
１リンクは、図８に示すように、ワールド座標系Σｗ、リンクｌｉｎｋ１ｐ、そのリンクｌｉｎｋ１ｐの先に連結された第１リンクｌｉｎｋ１、その第１リンクｌｉｎｋ１の先頭に位置する仮想上のリンクｌｉｎｋ１ｃから構成されている。
【００８１】
平行クランクの場合と同様にして、第１リンクのＩＤ番号により第１リンクｌｉｎｋ１が特定されると、そのｌｉｎｋ１の先のリンクｌｉｎｋ１ｃの情報が参照される。そこには、リンクｌｉｎｋ１ｃのＤ−Ｈパラメータのパラメータ値として、上記の順に、Ｌ１，０．０，０．０，０．０が記述されており、第１リンクｌｉｎｋ１の長さＬ１（具体的な数値）が読み出され、この１リンクの順運動学および逆運動学を表わす数式中の第１リンクの長さを表わすリンクパラメータにパラメータ値Ｌ１が代入される。
（クランクの場合；図９参照）
クランクは、図９に示すように、ワールド座標系Σｗ、リンクｌｉｎｋ１ｐ、そのリンクｌｉｎｋ１ｐの先に連結された第１リンクｌｉｎｋ１、その第１リンクｌｉｎｋ１の先端に関節を介して連結された第２リンクｌｉｎｋ２、その第２リンクｌｉｎｋ２の先端に関節を介して連結された第３リンクｌｉｎｋ３、その第３リンクｌｉｎｋ３の先端に位置する仮想上のリンクｌｉｎｋ３ｃから構成されており、第３リンクｌｉｎｋ３の先端は、リンクｌｉｎｋ１ｐの座標Σ０の原点に対し図の上下方向（以下、上下方向をＺ方向、図の左右方向をＸ方向とする）にオフセット値Ｚｏｆｆ  だけ高さの異なる位置でＸ方向にのみスライドするという拘束条件が付されている。
【００８２】
平行クランクの場合と同様にして、第１リンクのＩＤ番号により第１リンクｌｉｎｋ１が特定されると、その第１リンクｌｉｎｋ１の先の第２リンクｌｉｎｋ２の情報が参照される。そこには第２リンクｌｉｎｋ２のＤ−Ｈパラメータのパラメータ値として、上記の順に、Ｌ１，０．０，０．０，０．０が記述されており、第１リンクｌｉｎｋ１の長さを表わすパラメータ値Ｌ１（具体的な数値）が読み出され、このクランクの順運動学および逆運動学の解析的解法を表わす数式中の第１リンクの長さを表わすリンクパラメータにパラメータ値Ｌ１が代入される。
【００８３】
次に第２リンクｌｉｎｋ２の先の第３リンクｌｉｎｋ３の情報が参照される。そこには、第３リンクｌｉｎｋ３のＤ−Ｈパラメータのパラメータ値として、上記の順に、Ｌ２，０．０，０．０，０．０が記述されており、第２リンクｌｉｎｋ２の長さを表わすパラメータ値Ｌ２（具体的な数値）が読み出され、このクランクの順運動学および逆運動学の解析的解法を表わす数式中の第２リンクの長さを表わすリンクパラメータにパラメータ値Ｌ２が代入される。
【００８４】
さらに、第３リンクｌｉｎｋ３の先のリンクｌｉｎｋ３ｃの先のリンクｌｉｎｋ３ｃの情報が参照される。そこには、リンクｌｉｎｋ３ｃのＤ−Ｈパラメータのパラメータ値として、上記の順に、Ｌ３，０．０，０．０，０．０が記述されており、第３リンクｌｉｎｋ３の長さを表わすパラメータ値Ｌ３（具体的な数値）が読み出され、このクランクの順運動学および逆運動学の解析的解法を表わす数式中の第３リンクの長さを表わすリンクパラメータにパラメータ値Ｌ３が代入される。
【００８５】
本実施形態においては、上記のようにリンク機構モデルを選択して第１リンクを指定するだけの簡単な操作で、かつ、Ｄ−Ｈパラメータを用いて順運動学および逆運動学用のリンクパラメータが設定されるため、このリンク機構解析用に新たにリンクパラメータを入力することなく、その被解析用リンク機構解析用の順運動学および逆運動学の数式の設定が行なわれる。
【００８６】
ユーザは、上記のようにして被解析用リンク機構に対応するリンク解析モデルの設定を行なった後、今度は実際にそのリンク機構をシミュレーション的に動かしてその動作確認を行なう。そのために、本実施形態では、先ず以下のようにして、その被解析用リンク機構の駆動源となるべき関節もしくはリンクを指定する。
【００８７】
図４，図５に示すメインメニュー中の「駆動部設定」を選択する。すると、ＣＲＴ表示部にその「駆動部設定」のサブメニューとして、図５に示すように、「駆動部選択」、「駆動型」、「駆動量入力法」と書かれたメニュータイトル群が表示される。そこで、ここでは「駆動部選択」を選択する。
【００８８】
図１０は、「駆動部選択」を選択したときに表示されるＣＧ画面と、「駆動部選択のサブメニューを示した図である。
【００８９】
本実施形態では、駆動部選択法として、この図１０に示すように、「ピッキング選択」、「リンク名選択」、「リンク名入力」、「関節マーク表示＆ピッキング選択」が用意されており、デフォルト（初期設定）としては「ピッキング選択」が選択されている。
【００９０】
この「ピッキング選択」のとき、ＣＲＴ表示部に、「ＣＧ上で駆動部を選択してください」と表示され、その駆動部としてのリンクをピッキングすると、そのＣＧ画面上の、選択された駆動部（リンク）が緑色に変化し、そのリンクが駆動部として選択されたことを表示する。
【００９１】
ただし、正確には、この時点では、その選択されたリンクがそのリンク機構を動かす駆動源（そのリンクがその位置、姿勢を変化させ、他のリンクや関節がそれに応じて動く）であるか、そのリンクとそのリンクの親のリンクとの間の関節が駆動源（その関節が回転し、それに応じてリンクや他の関節が動く）であるかは不明である。
【００９２】
そこで、次に、これら２つ（リンクと関節）のいずれが駆動源であるかを入力する。但し、ここではデフォルトとして、これら２つのうち駆動部であるとして選択されたリンクが、駆動源であるとして設定されており、関節を駆動源とする場合のみ駆動源の設定操作を行なえばよい。ここでは、リンクと関節のうちのいずれを駆動源とするかを、「駆動型」と称す。
【００９３】
図１１は、駆動型設定法の説明図である。
【００９４】
図５に示すサブメニュー中の「駆動型」を選択すると、図１１に示すような各種の駆動型選択法に対応するメニュータイトル群が表示される。
【００９５】
ここでは、「位置指令」すなわち駆動部として選択されたリンクが駆動源であって、駆動量を入力するにあたってはそのリンク位置が入力されることがデフォルトとして設定されている。
【００９６】
「回転／直動関節」を選択すると、駆動型が関節値指令である旨、すなわち、駆動部として選択されたリンクの根元の関節が駆動源であって、駆動量を入力するにあたっては、その関節の回転角（回転関節の場合）、その関節の並進量（直動関節の場合）が入力される旨、選択される。
【００９７】
尚、回転関節とはその関節がその関節を介して連結されたリンクどうしの角度を変化させる回転を行なう関節をいい、直動関節とはその関節の先に連結されたリンクを並進させる関節をいう。
【００９８】
「他関節」は、回転／直動関節以外の関節、例えば球状の関節であってその先に連結されたリンクの向きを三次元的に変化させることのできるユニバーサルジョイント等を指すが、ここには、回転／直動関節以外の関節の例は示されておらず、したがってこの「他関節」を選択したときの動作については省略する。
【００９９】
上記の「駆動型設定」で「位置指令」（デフォルト）を選択したときは、どのリンクを選択した場合であっても、そのリンク機構の先端を動かした場合の逆運動学が自動的に選択され、以下に述べる駆動量の入力を待って、そのリンク機構の先端がその入力された駆動量だけ駆動された場合の関節角度が求められ、リンク機構が移動され、その移動後のリンク機構の形状がＣＧ画面として表示される。
【０１００】
また、上記の「駆動型設定」で「回転／直動関節」を選択すると、その選択された駆動部および駆動型（すなわち駆動源としての関節）に応じた逆運動学が自動的に選択され、以下に述べる駆動量の入力を待って、その駆動源としての関節以外の関節の角度が求められてリンク機構が移動される。また、その駆動部および駆動型に応じた順運動学が自動的に選択され、そのリンク機構の先頭の位置が求められる。その移動後のリンク機構はＣＧ画面として表示される。
【０１０１】
次に、駆動量入力法について説明する。
【０１０２】
図１２は、駆動量入力法を指示するメニュータイトル群を示した図である。
【０１０３】
上記のようにして駆動部および駆動型を設定した後、そのリンク機構をどれだけの量駆動するかを示す駆動量が入力される。
【０１０４】
図５に示す「駆動部設定」のサブメニュー中の「駆動量入力法」を選択すると、図１２に示すような、種々の駆動量入力法に対応するメニュータイトル群が表示され、ここでは「カーソル位置」がデフォルトとして設定される。その他の選択枝としては、「カーソル移動量」、「バリュエータ」、「数値入力」、「マウスボタン」、「キー」、「ファンクションキー」、「ダイヤル」が用意されている。以下、駆動型として「回転／直動関節」を選択した場合を例にして、これらの１つずつについて概要を説明する。
（カーソル位置）
図１３は、カーソル位置による、関節角度入力法の説明図である。
【０１０５】
このカーソル位置による関節角度入力法の場合、駆動部として選択されたリンクの根元の関節に対する、図１３の上方の位置を（Ｘ１，Ｚ１）、ユーザがマウスを操作して画面上に設定したカーソルの位置を（Ｘ２，Ｚ２）とすると、関節の回転角θｒｅｆ  が、
θｒｅｆ  ＝Ｔａｎ−１［（Ｚ２−Ｚ１）／（Ｘ１−Ｘ２）］
として求められる。
（カーソル移動量）
ユーザがマウスを操作して、画面上のカーソルを、選択されているリンクをそのカーソルで引っぱるようにもしくは押すように移動させる。そのときのカーソルの初期位置を（Ｘ１，Ｚ１）、終点位置を（Ｘ２，Ｚ２）としたとき、
ΔＺ＝Ｚ２−Ｚ１
ΔＸ＝Ｘ２−Ｘ１
に比例する量を現在の回転角θに加算もしくは減算することにより関節の移動後の回転角θｒｅｆ  が、
θｒｅｆ  ＝θ±ΔＸ・Ｇ
もしくは
θｒｅｆ  ＝θ±ΔＺ・Ｇ
として求められる。但し、Ｇは、あらかじめ設定された比例定数を表わす。
（バリュエータ）
図１４は、バリュエータによる関節角度入力法の説明図である。
【０１０６】
「バリュエータ」を選択するとこの図１４に示すバリュエータ画面が表示される。そこで、ユーザはマウスを操作して駆動源の関節に対応するバリュエータのボタンの位置にカーソルを移動させ、マウス操作によりそのカーソルでボタンをつまんで移動させる。その移動量がその関節の回転角に対応する。
（数値入力）
図１５は、数値入力による関節角度入力法の説明図である。
【０１０７】
「数値入力」を選択すると、この図１５に示すような数値画面が表示される。そこで、ユーザは、図３に示すキーボード１２を操作して駆動源の関節を選びその関節の回転量を数値入力する。
（マウスボタン）
図１６は、マウスボタンによる関節角度入力法を説明するための、各種マウスボタンの模式図である。
【０１０８】
マウスボタンには、図１６（Ａ）に示すように、ボタン１〜３の３つのボタンを備えたもの、図１６（Ｂ）に示すように、ボタン１〜２の２つのボタンを備えたもの、図１６（Ｃ）に示すようにボタン１のみを備えたものがある。
【０１０９】
図１６（Ａ）のボタン１〜３の３つのボタンを備えたマウスが接続されたシステムでは、ボタン１とボタン３が用いられ、その関節の現在の回転角をθ、マウスボタンを押している間の単位時間あたりの回転量変化量をΔθ、そのボタンを押している時間をｄｔとしたとき、駆動源としての関節の回転角θｒｅｆ  が、
ボタン１の操作：θｒｅｆ  ＝θ−Δθ・ｄｔ
ボタン３の操作：θｒｅｆ  ＝θ＋Δθ・ｄｔ
図１６（Ｂ）の、ボタン１〜２の２つのボタン備えたマウスが接続されたシステムでは、ボタン１とボタン２が用いられ、上記と同様に駆動源としての関節の回転角度θｒｅｆ  が、
ボタン１の操作：θｒｅｆ  ＝θ−Δθ・ｄｔ
ボタン３の操作：θｒｅｆ  ＝θ＋Δθ・ｄｔ
として求められる。
【０１１０】
図１６（Ｃ）の、ボタン１のみを備えたマウスが接続されたシステムでは、
ボタン１を１回だけΔｔの時間押したままとしたとき、
θｒｅｆ  ＝θ−Δθ・ｄｔ
ボタン１をダブルクリック（１回押して直ぐ離しその後直ちにもう１回押す）してΔｔの時間押したままとしたとき、
θｒｅｆ  ＝θ＋Δθ・ｄｔ
で求められる。
【０１１１】
（キー）
「キー」が選択されたときは、キーボード１２の２つのキー（例えばｊキーとｋキー）が用いられ、上記のマウスボタンの操作と同様にして、
ｊキーの操作：θｒｅｆ  ＝θ−Δθ・ｄｔ
ｋキーの操作：θｒｅｆ  ＝θ＋Δθ・ｄｔ
が求められる。
【０１１２】
（ファンクションキー）
「ファンクションキー」が選択されたときは、キーボード１２の２つのファンクションキー（例えばＦ１キーとＦ２キー）が用いられ、上記のマウスボタンの操作と同様に、
Ｆ１キーの操作：θｒｅｆ  ＝θ−Δθ・ｄｔ
Ｆ２キーの操作：θｒｅｆ  ＝θ＋Δθ・ｄｔ
が求められる。
【０１１３】
（ダイヤル）
この「ダイヤル」は、図３に示すシステムに、操作子の１つとして、音量調整用ボリウム等と同様なダイヤルが備えられているときに用いられ、そのダイヤルを回すことにより駆動源の関節の回転量が入力される。
【０１１４】
本実施形態では、上記のような種々の駆動量入力法が用意されており、ユーザの好みや使い勝手に応じた駆動量入力法が選択される。尚、ここでは、関節を駆動源とし、その関節の回転量を入力する場合について例示したが、リンクを駆動源とする場合は上記の関節の回転量に代えて、そのリンクのＺ方向ないしＸ方向の移動量が入力される。リンクの移動量の入力法についても、関節の回転量の入力法と同様に、上記の種々の入力法が用意されているが、上記の説明と同様であるため、ここではそれらの説明は省略する。
【０１１５】
このようにして駆動源の駆動量が入力されると、上述したようにその駆動量に応じた逆運動学、ないし順運動学が数値的に解かれ、リンク機構の移動が行われる。この移動後のリンク機構はＣＧ画面に表示される。
【０１１６】
図１７〜図１９は、それぞれ、平行クランク、１リンク、クランクの場合の、上記のようにして入力された駆動量を表わす指令値入力と、それに対応した逆運動学、順運動学を示した図である。
【０１１７】
平行クランクの場合、指令値としてＺ，Ｘ，θ１  ，θ２  ，θ３  （θ１  〜θ３  の定義については図７参照）が入力されると、それぞれ図１７に示す、既に解析的に解かれた逆運動学ないし順運動学にその指令値が代入され、その指令値に基づいて移動した後のリンク機構の形状が求められ、ＣＧ画面に表示される。図１８に示す１リンクの場合、図１９に示すクランクの場合も同様である。
【０１１８】
本実施形態によれば、上記のように、選択したリンク機構駆動部、駆動型に応じてあらかじめ解いた順運動学、逆運動学が選択されて数値的に解かれるため、ユーザは、順運動学、逆運動学を入力したり、順運動学、逆運動学自体を選択するような複雑なことは何ら意識せずに、そのリンク機構を容易に移動することができる。
【０１１９】
以上で、本発明のリンク機構解析装置の一実施形態の基本事項についての説明を終え、以下では、その一実施形態の一部に代えて採用し得る変形例、あるいは、その一実施形態に追加される事項について説明する。
【０１２０】
ここでは、先ず、図５，図６を参照して説明したリンク機構モデルの選択法に代わるリンク機構モデルの他の選択法について説明する。
【０１２１】
図２０は、ここで説明するリンク機構モデルの選択法で用いられるメニュー画面を示す図、図２１は、１自由度の各種リンク機構モデルのメニュータイトル群を示す図である。
【０１２２】
図２０に示すメインメニュー中の「リンク設定」を選択すると、その「リンク設定」のサブメニューとして「自由度選択」、「第１リンク選択法」が表示される。「自由度選択」を選択すると、図２１に示す「１自由度」、「２自由度」、「３自由度」というメニュータイトル群が表示される。そこで、「１自由度」を選択すると、１自由度のリンク機構モデルに対応するメニュータイトル群、例えば「１リンク」、「クランク」、「平行クランク」、……が表示される。「平行クランク」を選択すると、平行クランクの中のいくつかの形状のリンク機構モデルのメニュータイトルが表示されるため、それらの中から今回の被解析用リンク機構に適合したリンク機構モデルが選択される。
【０１２３】
このように、リンク機構モデルを自由度で分類しておいて、自由度で分類したメニューを表示することで、リンク機構の選択時の効率化が図られる。
【０１２４】
次に、図１０、図１１を参照して説明した駆動部、駆動型設定法に代わる、駆動源の設定法について説明する。
【０１２５】
図２２〜図２４は、それぞれ、平行クランク、１リンク、クランクの場合の、駆動源設定法の説明図である。
【０１２６】
ここでは、図５に示す「駆動部設定」→「駆動部選択」（図１０）のサブメニューとして「駆動部記号」が登録されているものとし、リンク機構モデルおよび第１リンクを選択した後、「駆動部設定」→「駆動部選択」→「駆動部記号」を選択する。すると、リンク機構モデル画面に、リンク機構モデルのイラストに重畳されて、対応する位置に駆動部記号が表示される。この駆動部記号はリンク（位置指令）と関節とに記号が分かれており、それらのうちの１つをピッキングすることにより、図１０，図１１を参照した説明における駆動部の選択と駆動型の選択が１回の操作で同時に行われる。
【０１２７】
ここでは、直接的には、ＣＧ画面上ではなく、リンク機構モデル画面上で駆動部および駆動型の選択が行われるが、この段階では既に被解析用リンク機構の各リンクおよび各関節と、リンク機構モデルの各リンクおよび各関節とが対応付けられているため、この例に示すようにリンク機構モデル画面側で駆動部を設定することができる。この駆動部記号により駆動部を選択した場合も、リンク機構モデル画面およびＣＧ画面双方において、選択された駆動部のリンクが緑色で表示される。
【０１２８】
ところで、図５，図６を参照して説明したリンク機構モデルの選択法、ないし図２０，図２１を参照して説明したリンク機構モデルの選択法の何れにおいても、解析用リンク機構に対応するリンク機構モデルをその外観形状から選択しているが、外観形状からは、被解析用リンク機構に対応するリンク機構モデルが一義的には定められない場合がある。これは、外観形状は同一であるがリンクどうしの結合関係の定義（関節定義と称する）が相違する場合があるからである。平行クランクを例に説明する。
【０１２９】
図２５は、メニュータイトルを選択して所望の形状の平行クランクが選択された状態のリンク機構モデル画面を示す図、図２６は、リンク機構モデル画面に表示された２つのリンク機構モデルの順運動学、およびそれら２つのリンク機構モデルの、リンク座標系、親子関係、指令値入力に対する逆運動学を示した図である。
【０１３０】
図２５，図２６に示すようにリンク機構モデルの外観は同一であっても、図２６に示すように関節定義の異なる複数のリンク機構モデルが存在する場合がある。そのときには、図２５に示すように、メニュータイトルを選択して所望の形状の平行クランクが選択された状態で、形状はその選択された形状であるが関節定義の異なる複数のリンク機構モデル画面を表示し、ユーザにより、それら複数のリンク機構モデル画面のうちの１つが選択される。その後、前述と同様にして、ＣＧ画面上で第１リンクの選択が行われる。
【０１３１】
あるいは、図２５に示すように、複数のリンク機構モデルが表示された段階で、ＣＧ画面上で第１リンクを選択するだけで、それら複数のリンク機構モデルのうちそのＣＧ画面に表示された被解析用リンク機構に対応するリンク機構モデルを特定することができるときは、表示された複数のリンク機構モデルの中の１つを選択することなくＣＧ画面上で第１リンクを選択することにより、そのＣＧ画面に表示された被解析用リンク機構に対応するリンク機構モデルを特定してもよい。例えば、図２５，図２６に示す例では、被解析リンク機構のリンク情報を参照し、その第３のリンクの根元の関節の（図２６に示すＰ点の関節に対応する）初期状態における座標をＰ（Ｘｉｎｔ  ，Ｚｉｎｔ  ）としたとき、Ｚｉｎｔ  ＞０ならば図２６（１）のリンク機構モデル、Ｚｉｎｔ  ＜０ならば図２６（２）のリンク機構モデルが選択される。尚、ここでは、図２６に示すリンクｌｉｎｋ１ｐの座標Σ０の原点のＺ座標をＺ＝０としている。ＣＧ画面上でピッキングされたリンクが第１リンク以外のリンクであったときは、第１リンクとしては不適切であるため、第１リンク選択をやり直すように「第１リンクを選択し直してください」の文字が表示される。
【０１３２】
このように、形状的に同一の複数のリンク機構モデルが存在する場合に、ＣＧ画面上で第１リンクをピッキングするだけで自動的に、それら複数のリンク機構モデルの中から適合する１つのリンク機構モデルを選択するよう構成すると、ユーザは、関節定義の相違を意識する必要がなく、使い勝手が一層向上する。
【０１３３】
図２７は、第１リンク選択の必要性を説明するためのＣＧ画面の例を示す図である。
【０１３４】
これまで説明した実施形態は、本発明の仕組みを説明するために簡単な例を示している。しかし、実際に動作解析を行いたい製品は、幾つものリンク機構で構成されている場合がある。図２７に示すように、ここでは少し複雑な例としてクランクが２つある例を考える。
【０１３５】
この場合、「リンク種選択」で「クランク」を選択した後の第１リンクの選択の際に、クランクＡ１（ｃｌａｎｋＡ１）かクランクＢ１（ｃｌａｎｋＢ１）かのどちらかをピッキングする必要があり、これは、一般的には自動判定は不可能である。他の種類のリンク機構の場合でも同様のことが生じ得る。したがって、一般的には、ＣＧ画面上のリンク機構の第１リンクをユーザが選択する必要がある。
【０１３６】
ただし、以下に例示するように、場合によっては、ユーザの手を煩わさずにＣＧ画面上のリンク機構の第１リンクを特定でき、本実施形態では、以下のような場合には、第１リンクが自動判定される。
【０１３７】
図２８は、図６と同様、リンク機構モデルの選択、およびそれに続く第１リンクの選択の操作手順を示す説明図である。
【０１３８】
図６を参照して説明した場合と同様にしてリンク機構モデルを選択しそのリンク機構モデルのイラストが表示された段階で、第１リンクを自動選択することができる場合は、「対応する第１リンク（赤色部）をＣＧ上で選択してください」というメッセージに並んで、「第１リンク自動選択」のメッセージが表示される。この「第１リンク自動選択」をピッキングするとＣＧ画面上に表示されたリンク機構の第１リンクの自動選択が行われる。
【０１３９】
この第１リンクを自動選択できる場合としては、主として、ＣＧ画面上に表示されたリンク機構が単体のリンク機構から成り立っている場合と、ＣＧ画面上に表示されたリンク機構は複数のリンク機構から成り立っている（例えば図２７参照）が、１つのリンク機構を除き他の全てのリンク機構の第１リンクが既に選択されている場合とがある。以下、これら２つの場合について説明する。
【０１４０】
図２９〜図３１は、ＣＧ画面上に単体のリンク機構、すなわち、それぞれ、平行クランク、１リンク、クランクが表示されている場合の第１リンクの自動判定法の説明図である。
【０１４１】
図２９〜図３１に示すように、平行クランク、１リンク、クランクのいずれにおいても、図２９〜図３１に示す各親子関係をワールド座標（ｗｏｒｌｄ）から順に辿っていったときに、最初にＲｏｔａｔｅタイプ（回動軸を有するタイプ）のリンクが第１リンクｌｉｎｋ１であると判定される。
【０１４２】
図３２は、ＣＧ画面上にクランクが２つ存在するリンク機構が表示されている場合において、一方のクランクの第１リンクが既に選択されている場合の第１リンクの自動判定法の説明図である。
【０１４３】
クランクＡとクランクＢのいずれのクランクの第１リンクも選択されていない状態においては、クランクＡ１とクランクＡ２のいずれも第１リンクになる可能性がある。しかし、例えばクランクＡ１が、既に、前述したユーザが第１リンクを選択する方法により既に選択されている場合、クランクＢの第１リンクを自動判定することができる。自動判定の方法は、上述した方法と同様であり、親子関係においてｗｏｒｌｄが辿ってきたときの最初のＲｏｔａｔｅタイプのリンクのうち、第１リンクとして未だ選択されていないリンク（クランクＢ１）が第１リンクとして自動選択される。クランクＢがクランク以外の他のリンク機構である場合も同様に判定できる。このように、第１リンクを自動選択することができる場合に自動選択するように構成すると、ユーザによる操作を簡略化することができる。
【０１４４】
次に、複数のリンク機構モデルを組合せて新たなリンク機構モデルを構築する手法について説明する。ここでは、あらかじめ用意されている多数のリンク機構モデルの中の２リンクとクランクとを組み合わせて新たなリンク機構モデルを構築する例について説明する。
【０１４５】
ここでは、先ず、前述と同様にして、２リンクとクランクとが組み合わされた被解析用リンク機構の形状データおよび関節データが読み込まれ、その形状データに基づく三次元ＣＧモデルがＣＧ画面に表示される。
【０１４６】
図３３は、以下に説明するメニュータイトル群（Ａ）とＣＧ画面に表示されたＣＧモデル（Ｂ）を示した図、図３４は、そのＣＧモデルを、クランクと２リンクとに分解して示した図である。尚、ここに示したＣＧ画面のイラストには、ＣＧモデルの他にリンク名等の余計な情報も示されているが、それらの情報は説明の目的で示したものであって、実際のＣＧ画面には純粋に形状データに基づくＣＧモデルが表示される。
【０１４７】
図３３（Ｂ）に示すＣＧモデルは、図３４に示すような、クランク（Ａ）と２リンク（Ｂ）との組合せと捉えることができる。
【０１４８】
ここでは、先ず、前述したようにして、クランクのリンク機構モデルを選択し、ＣＧ画面上でクランクの部分の第１リンクｃｌａｎｋ１をピッキングする。それに次いで、今度は２リンクのリンク機構モデルを選択し、ＣＧ画面上で２リンクの部分の第１リンク２ｌｉｎｋ１をピッキングする。
【０１４９】
ここで、先に選択されたクランクのリンク機構モデルおよびその第１リンクの情報は、その後に２リンクのリンク機構モデルを選択した段階でも保存されている。尚、前述した機構解析のためにリンク機構モデルを選択した場合も同様であり、１つの解析用リンク機構が複数のリンク機構の組合せから成る場合も多いため複数のリンク機構モデルを同時に立ち上げることが可能である。
【０１５０】
次にメインメニュー（図２０参照）から「拘束条件」を選択し、その「拘束条件」の選択により表示されたサブメニュー「編集」、「追加」、「削除」の中から「追加」を選択し、さらにその「追加」のサブメニューの中から「回転拘束」を選択する。すると、図３３（Ｂ）に示すように、拘束条件（回転拘束）を示す図形がＣＧ画面上に現れる。ここで、回転拘束とは、回転関節を介して連結することを意味する。
【０１５１】
この段階で、拘束点位置を入力する。すなわちクランクのどのリンクのどの点と、２リンクのどのリンクのどの点が回転拘束されているかを入力する。
【０１５２】
本実施形態では、この拘束点位置の入力法として‘数値入力’と‘マウスによる入力’との二種類の入力法が用意されている。
【０１５３】
‘数値入力’の場合は、ユーザによりクランクの拘束点の存在するリンクのリンク名（ここではリンク名：ｃｌａｎｋ２）およびそのリンクｃｌａｎｋ２の座標系Σ２ｃ（図３３（Ｂ）参照）からみたその拘束点の座標（ここでは（０，０，Ｌｄ））と、２リンクの拘束点の存在するリンクのリンク名（ここではリンク名：ｃｌｉｎｋ２）およびその２ｌｉｎｋ２の座標系Σ２ｂ（図３３（Ｂ）参照）からみたその拘束点の座標（ここでは（０，０，Ｌ２ｂ））が数値入力される。これにより、クランクの拘束点と２リンクの拘束点が指定されそれらの拘束点どうしが回転関節を介して連結される。
【０１５４】
図３５は、‘マウスによる入力’の説明図である。
【０１５５】
‘マウスによる入力’の場合、ＣＧ画面に表示された回転拘束を表わす図形をマウスで抓んで、その図形を、クランクと２リンクが連結された回転拘束位置に配置する。
【０１５６】
この配置操作の終了を受けて、装置内部では、クランクの、拘束点が位置するリンクの判定およびその判定されたリンクｃｌａｎｋ２の座標系Σ２ｃからみたその拘束点の座標の計算と、２リンクの、拘束点が位置するリンクの判定およびその判定されたリンク２ｌｉｎｋ２の座標系Σ２ｂからみた拘束点の座標の計算が行われる。
【０１５７】
このようにしてクランクと２リンクとの回転拘束の位置が装置に認識される。
【０１５８】
次に、このようにして認識された新リンク機構モデルの登録が行われる。
【０１５９】
図３６は、新規リンク機構モデルの登録法を示す説明図である。
【０１６０】
図２０に示すメインメニュー中の「リンク機構情報」を選択し、そのサブメニュー中の「新規機構登録」を選択し、ファイル名（ここでは「ｃｌａｎｋ＋２ｌｉｎｋ２」）とリンク種タイトル（ここでは「２リンク＋クランク」）を入力する。すると、上記のようにして構築された新規のリンク機構モデルが、ファイルｃｌａｎｋ＋２ｌｉｎｋ．ｄａｔａに保存される。ここでは、リンク機構モデルを自由度で分類しておくシステムが想定されており、クランクは１自由度、２リンクは２自由度であって拘束条件が１自由度であるのでこの新規のリンク機構モデルの自由度は１自由度に分類される。
【０１６１】
このファイルｃｌａｎｋ＋２ｌｉｎｋ２．ｄａｔａの例を、図３６に示す。
【０１６２】
新規のリンク機構モデルを既存のリンク機構モデルと同様な状態に登録するには、上記の、ファイルｃｌａｎｋ＋２ｌｉｎｋ２．ｄａｔａの保存だけでは不十分であり、以下に説明するようにして、その新規リンク機構モデル用のイラスト等を作成する必要がある。ここで、〜．ｄａｔａは文字列のファイルであり、そのファイル中に同じ名前〜を持つ〜．ｓｅｌｅｃｔ，〜．ｄｒｉｖｅ等がある。
【０１６３】
図３７は、そのイラストを表わす画像データの作成法の説明図である。
【０１６４】
画像処理ツールを用いて、形状データに基づく、図３６に模式的に示すような側面図をＣＧ画面に表示し、そのＣＧ画面を２次元画面として取り込んで、ファイルｃｌａｎｋ＋２ｌｉｎｋ２．ｉｍａｇｅに保存する。ここではｃｌａｎｋ＋２ｌｉｎｋ２．ｄａｔａと同じディレクトリにｃｌａｎｋ＋２ｌｉｎｋ２．ｉｍａｇｅが保存されると、図３７に示すように、自由度に応じたリンク種類別メニューに、自動的に、その新規リンク機構モデル用のメニュータイトルが表示される。
【０１６５】
図３８は、新規リンク機構モデルの第１リンク選択用画面の編集法の説明図である。
【０１６６】
ここでは、図形描画ソフトウェアを用いて、先ず、クランクの第１リンク選択画面を呼び出し、次いで２リンクの第１リンク選択画面を呼び出してクランクの画面に編集することにより、それらの画面が重なった２リンク＋クランク用の画面が作成される。この作成された２リンク＋クランク用の画面はｃｌａｎｋ＋２ｌｉｎｋ２．ｓｅｌｅｃｔに保存される。
【０１６７】
図３９は、新規リンク機構モデルの駆動部記号選択画面の編集法の説明図である。
【０１６８】
図２０に示すメインメニュー中の「駆動部設定」を選択し、そのサブメニューの中から「駆動部記号編集」を選択し、キーボード１２（図３参照）を操作して第１リンク選択画面のファイル名ｃｌａｎｋ＋２ｌｉｎｋ２．ｓｅｌｅｃｔを入力すると、その第１リンク選択画面と、関節指令および位置指令の記号が表示される。これら関節指令、位置指令は、マウスを操作して、その画面上の任意の位置に配置することができる。関節指令の場合は、その関節指令の記号をつまんで、その関節指令の記号を、第１リンク選択画面として表示されたリンク機構のイラスト上の関節に配置するとともに、キーボードからその関節の名称、例えばθ１，θ２等を入力する。位置指令の場合は、その位置指令の記号をつまんで、その位置指令の記号を、第１リンク選択画面上のリンクに配置するとともに、キーボードから対応するリンク機構の第１リンク名を入力する。このようにして駆動記号選択画面が編集した後、この駆動部記号選択画面をファイルｃｌａｎｋ＋２ｌｉｎｋ．ｄｒｉｖｅに保存する。
【０１６９】
上記のようにして作成されたファイル群ｃｌａｎｋ＋２ｌｉｎｋ．ｄａｔａ、ｃｌａｎｋ＋２ｌｉｎｋ．ｉｍａｇｅ、ｃｌａｎｋ＋２ｌｉｎｋ．ｓｅｌｅｃｔ、ｃｌａｎｋ＋２ｌｉｎｋ．ｄｒｉｖｅは決められたディレクトリに配置される。
【０１７０】
上記のようにして新たなリンク機構モデルを作成して登録しておくことにより、次回の解析では、既存のリンク機構モデルと同等に取り扱うことができる。
【０１７１】
図４０は、その新たなリンク機構モデルの順運動学、逆運動学の計算法の説明図である。
【０１７２】
（クランクを駆動した場合）
クランクの先端位置（Ｘｃ  ，Ｚｃ  ）をクランクの順運動学で計算し、拘束点迄の長さＬｄを考慮して回転拘束の位置（Ｘｒｃ，Ｚｒｃ）が計算される。その後、２リンクの先端が（Ｘｒｃ，Ｚｒｃ）に位置するように２リンクの逆運動学を計算してθ１ｂ，θ２ｂを求める。
【０１７３】
（２リンクを駆動した場合）
２リンクの順運動学から、２リンクの先端位置、すなわち回転拘束の位置（Ｘｒｃ，Ｚｒｃ）が求められ、クランク側の拘束点迄の長さＬｄを考慮してクランクの先端（Ｘｃ  ，Ｚｃ  ）を求める。その後、クランクの先端が、（Ｘｃ  ，Ｚｃ  ）に位置するようにクランクの逆運動学が解かれ、θ１  ，θ２  が求められる。
【０１７４】
このように、ユーザが常用するリンク機構モデルを追加登録することができるように構成しておくことによって、そのユーザにとってその後のリンク機構モデル設定の時間の短縮化が図られる。
【０１７５】
次に、本発明の第２のリンク機構解析装置の一実施形態、すなわち、これまでの説明における逆運動学に代わり、動力学を用いる手法について説明する。「動力学を用いる」とは、関節トルクもしくはリンクに作用する力を入力して運動方程式を解いて関節角度を求めることを意味する。ここでは平行クランクを例にして説明する。尚、動力学自体については公知であり、簡単な説明にとどめる。
【０１７６】
一般的に、機構の運動方程式を以下のように書くことができる。この運動方程式は、ニュートンの運動方程式とオイラーの運動方程式から導かれる（例えば、前掲の、「機械系のためのロボティクス」遠山茂樹著  総合電子出版社  参照）。これらの運動方程式は、剛体力学で用いられるものである。
【０１７７】
【数１】
0003602518.tif 000002
【０１７８】
ただし、Θは関節角度のｎ×１ベクトル、τは関節トルクのｎ×１ベクトル、Ｍ（Θ）はｎ×ｎの質量行列、
【０１７９】
【外１】
0003602518.tif 000003
【０１８０】
は遠心力やコリオリ力の項を示すｎ×１ベクトル、Ｇ（Θ）は重力などの外力を示すｎ×１ベクトルを表わし、Θ，τは、以下のように表わされる。
【０１８１】
【数２】
0003602518.tif 000004
【０１８２】
式（１）の運動方程式を解く（積分する）ことにより、関節角度θｉ（ｉ＝１，２，…，ｎ）を求める。これによって解析的な逆運動学の式を用いることなく関節角度を求めることができる。
【０１８３】
ここで、式（１）の
【０１８４】
【外２】
0003602518.tif 000005
【０１８５】
はそのリンク機構毎に異なるパラメータである。予め、このパラメータをリンク機構毎に記録しておく。
【０１８６】
以下、具体例として、平行クランクをとりあげて説明する。
【０１８７】
図４１は平行クランクの座標系を示す図である。
【０１８８】
先ず、前述した、第１のリンク機構解析装置の実施形態と同様にして、リンク設定、および第１リンク選択を行なう。
【０１８９】
第１リンクが選択されると、Ｄ−Ｈパラメータから、リンク・パラメータ（リンク長：Ｌ１，Ｌ２、オフセット：Θｏｆｆ  等）が設定される。これは先端位置を求める運動学に用いるパラメータである。このリンク・パラメータに加え、予め用意してある運動方程式用のパラメータの中から、選択されたリンク機構に対応するパラメータが選択されて式（１）に代入される。
【０１９０】
これ以降、図４１に示す平行クランクの例で説明する。
【０１９１】
（駆動部選択）
前述した、第１のリンク機構解析装置の実施形態における駆動部選択と同様であり、例えば「ピッキング選択により」第２リンクｌｉｎｋ２を選択する。
【０１９２】
（駆動型設定）
ここでは、「駆動部選択」で選択されたリンク（ここでは第２リンクｌｉｎｋ２）上のどの点にどれだけの外力が加えられたか（これを「リンクへの外力」と称する）と、「駆動部選択」で選択されたリンク（ここでは第２リンクｌｉｎｋ２）の根元の関節のトルク（これを「関節トルク」と称する）の二種類のメニュータイトルがプルダウンメニュー形式で表示され、それら二種類のメニュータイトルのうちの１つが選択される。
【０１９３】
図４１は、「駆動型設定」で「リンクへの外力」が選択された場合の説明図である。
【０１９４】
（指令値入力法）
「リンクの外力」が選択された場合、駆動部として選択されているリンク（ここでは第２リンクｌｉｎｋ２）上の任意の点をマウスでつまんで動かし、その点からのマウスを動かした量（ｆ１の矢印）に比例する力が、そのリンクに加わったものとする。この力ｆ１を運動方程式（１）のＧ（Θ）（重力などの外力）に代入する。この操作は、例えば図３に示すＣＧ画面３０上で行ってもよい。
【０１９５】
図４２は、「駆動型設定」が「関節トルク」の場合の図であり、この場合の指令値入力法は、前述した第１のリンク機構解析装置の、関節角度の指令値の入力法と同様である。ただし、この「関節トルク」の場合、カーソル位置による入力法（図１３参照）は除かれる。この「関節トルク」の場合、「駆動部選択」で選択したリンク（ここでは第２リンクｌｉｎｋ２）の根元にかかるトルクτ２を、運動方程式（１）（式（２）参照）に代入する。
【０１９６】
このようにしてリンクへの外力、あるいは関節トルクを代入した運動方程式（１）を解く（積分する）ことにより、関節角度θｉ  （ｉ＝１，２，…，ｎ）を求める。こうすることにより、解析的な逆運動学の式を用いることなく、関節角度を求めることができる。
【０１９７】
運動方程式（１）は、順次、各微小時間経過後のものが何度も繰り返し解かれるが、運動方程式（１）を何度も解いていくと、閉ループを有するリンク機構の場合、図４３に示すように、ｌｉｎｋ１，ｌｉｎｋ２，ｌｉｎｋ３からなる閉ループ・リンク系の先端点Ｐ１が、この先端点Ｐ２が本来固定されているべき点Ｐ２からずれることがある。そこで、ここでは、先端点Ｐ１に固定点Ｐ２に向かう方向の力ｆ２を加えて先端点Ｐ１を固定点Ｐ２に収束させる拘束力を発生させ、閉ループが保たれるようにする。ここで、力ｆ２は、下記式（３）に示すように、固定点Ｐ１と第３リンクｌｉｎｋ３の先端点Ｐ２とのずれ量ΔＰに比例するバネ系の力と、先端点Ｐ２の速度
【０１９８】
【外３】
0003602518.tif 000006
【０１９９】
（以下、ΔＰドットと称する）
に比例するダンパー系の力との合成力とする。すなわち、
【０２００】
【数３】
0003602518.tif 000007
【０２０１】
ただし、Ｋはバネ定数、Ｃは粘性係数である。
【０２０２】
閉ループ系の場合、この力ｆ２が運動方程式（１）のＧ（Θ）に代入される。またリンクの外力もしくは関節トルクも閉ループを含まない場合と同様に代入される。
【０２０３】
以上の、動力学を用いて関節角度を求めるフローを図４３に示す。
【０２０４】
先ず運動方程式（１）の、
【０２０５】
【外４】
0003602518.tif 000008
【０２０６】
に、予め用意してある運動方程式用のパラメータの中から、選択したリンク機構に応じた運動方程式用のパラメータを選択して代入する。
【０２０７】
次に、運動方程式（１）に、
【０２０８】
【外５】
0003602518.tif 000009
【０２０９】
を代入し、さらに上記のようにして入力した関節トルクτ（もしくはリンクへの外力ｆ１）を入力し、その運動方程式を解いて関節角加速度Θダブルドットを数値的に求め、それを二重積分することにより関節角度Θを求め、運動学によりリンク機構の先端点Ｐ１  を求める。そのリンク機構が閉ループ系を含むならば拘束力ｆ２を発生させ、閉ループ系であるか否かに拘らず、すなわち、拘束力ｆ２を発生させるか否かに拘らず、運動方程式の数値解法を繰り返す。その間に、関節トルクτ（ないしリンクへの外力ｆ１）が変更されたときはその変更された関節トルクτ（ないしリンクへの外力ｆ１）を代入して運動方程式の数値解析を繰り返す。尚、運動方程式の数値解法はいくつか知られており、ここではいずれの数値解法を用いてもよい。
【０２１０】
このようにして動力学を用いたリンク機構解析が行われる。動力学を用いたリンク機構解析は、前述した、逆運動学を用いたリンク機構解析と比べ、以下の長所を有する。
【０２１１】
（１）リンク機構の幾何学的逆運動学は、数学的に解くことが困難である場合も多いが、運動方程式を求める方法はリンク機構の形状によらず一般性があり、その後の関節角度を求める手法はリンク機構の形状によらず同一であるので、動力学を用いる方法は、逆運動学をリンク機構毎に個別に解く方法よりも、適応範囲が広い。
【０２１２】
（２）簡単なリンク機構においても逆運動学を求めるより動力学で用いる運動方程式を求める方が容易である。
【０２１３】
（３）動力学の場合、積分の方法、パラメータの正確さ（例えば、Ｍ（Θ）の値を１にする等の工夫）によって、厳密性は欠くものの高速化を図ることもできる。
【０２１４】
（４）運動方程式を解いてリンク機構の各リンクを運動させ、その運動を表示することによって、逆運動学を解いた場合と同様に、リンク機構の動きを視覚的に検証することができる。
【０２１５】
次に、本発明のリンク機構関節データ演算装置の一実施形態について説明する。
【０２１６】
図２は、前述の説明では本発明のリンク機構解析装置の一実施形態の外観図であると説明したが、この図２は、本発明のリンク機構関節データ演算装置の一実施形態の外観図でもある。すなわち、ここでは、図２に示すコンピュータシステム内に、本発明のリンク機構解析装置の一実施形態と本発明のリンク機構関節データ演算装置の一実施形態との双方が実現されており、図示しないＣＡＤシステムからは被解析用リンク機構を構成する複数の部品の三次元形状を表わす形状データが入力され、図２に示すコンピュータシステム内に実現されたリンク機構関節データ演算装置で、その入力された形状データが表わす複数の部品の結合関係（関節）が定義され、これによって、リンク座標系および親子関係を表わすＤ−Ｈパラメータ、およびそのＤ−Ｈパラメータのパラメータ値からなる関節データが求められ、このようにして求められた関節データと図示しないＣＡＤシステムから入力された形状データが、図２に示すコンピュータシステム内に実現された、これまで説明してきたリンク機構解析装置に受け渡されるものとする。
【０２１７】
ここで説明するリンク機構関節データ演算装置は、大別して、ＣＡＤシステムから、リンク機構を構成する複数の部品を組み上げた状態の形状データを入力する場合と、ＣＡＤシステムからそれら複数の部品が部品ごとにばらばらの状態の形状データを入力する場合とのいずれにも対処可能なように構成されている。また、以下では図示および説明の簡単のため、関節の種類は、その関節で結合された部品がその関節を回動の中心として回動することのできる回転型関節と、その関節で結合された部品がその関節で直線的に移動することのできる直動型関節と、その関節で部品が動かないように固定される固定型関節との３種類の関節について説明する。
【０２１８】
図４５は、メニュー画面の流れを示した説明図、図４６は関節設定メニューのサブメニューを示した説明図、図４７は、関節設定メニューのサブメニューの変形例を示した説明図、図４８は、ＣＡＤシステムから入力された複数の部品の形状データに基づくＣＧ画面を表わした図である。
【０２１９】
先ず、図４５に示す機構解析メインメニューにおいてメニュータイトル「ＣＡＤファイル呼込」を選択すると、そのプルダウンメニューとして、メニュータイトル「組立状態」、「任意配置」、「部品」が現れる。ここでは、組立状態のＣＡＤファイルを読み出すものとし、メニュータイトル「組立状態」を選択すると、そのＣＡＤファイルに格納されている製品名が現れる。ここでは各「製品」が機構解析を行なうとしている、あるいは機構解析を行なった後のリンク機構を表わす形状データを表わしている。そこで、所定の製品（ここでは「製品２」とする）を選択すると、ＣＧ画面上に例えば図４８に示すような組立後の複数の部品からなる「製品」の３次元形状を表わすＣＧ画面が表示される。図４８中の立体関節マークについては、以下に説明する。
【０２２０】
次に、図４６に示す機構解析メインメニュー中のメニュータイトル「関節設定」を選択する。すると、画面上に関節設定メニューが現れる。そこで、今度は、その関節設定メニュー中のメニュータイトル「関節種類」を選択する。するとメニュータイトル「関節種類」のプルダウンメニューとして、図４６に示すようにメニュータイトル「部品選択」、「親部品選択」、「立体関節マーク選択」、「適用」が表示される。
【０２２１】
そこで、先ず、メニュータイトル「部品選択」を選択し、ＣＧ画面（図４８）上で関節を定義しようとする部品をマウスでクリックする。次に、メニュータイトル「親部品選択」を選択し、ＣＧ画面上で、その関節を定義しようとしている部品がその定義される関節で連結される親部品をクリックする。次に、メニュータイトル「立体関節マーク選択」を選択する。するとさらに、メニュータイトル「立体関節マーク（組立状態）」、「立体関節マーク（部品）」、「立体関節マーク（２次元）」、「スケール変換」が表示される。
【０２２２】
そこで「立体関節マーク（組立状態）」を選択すると、メニュータイトル「回転型関節」、「直動型関節」、「固定型関節」が表示された、「立体関節マーク」画面が現れる。ここでは「回転型関節」を選択する。すると、図４８に示すように、ＣＧ画面上に回転型関節の立体関節マークが現れる。この回転型関節の立体関節マークは、立体的な矢印に矢羽根が付された形状としており、その矢印の方向で回転軸の方向を示し、その矢羽根の方向で回転軸基準点、すなわち、その回転型関節の関節角度零度の方向を示す。
【０２２３】
尚、ここで、図４６に示すメニュータイトル「立体関節マーク選択」を選択した後、メニュータイトル「立体関節マーク（組立状態）」を選択したが、図４６に示す機構解析メニュー中のメニュータイトル「ＣＡＤファイル呼込」を選択したときメニュータイトル「組立状態」を選択しているため、この時点で、組立状態の「もの」について関節を定義しようとしていることがわかる。
【０２２４】
したがって、図４７に示すように、メニュータイトル「立体関節マーク選択」を選択したときに、いきなり、立体関節マークを選択するメニュータイトル画面に移行するように構成してもよい。
【０２２５】
以上のようにして、関節を定義しようとする「部品」、その「親部品」およびその関節の種類（ここでは「回転型関節」）を指定した後、以下のようにして関節定義を行なう。
【０２２６】
図４９は、回転型関節の定義を行なう手順を示した説明図である。
【０２２７】
上述のようにして、回転型関節の立体関節マークを選択すると、ＣＧ画面上に、図４９（Ａ）に示すように、関節を定義しようとしている部品の幾何基準座標系のｘｙｚの３軸のうちの各２軸を含む直交３平面（ｘｙ平面，ｙｚ平面、ｚｘ平面）が表示される。そこで、それらの３平面の中から、その定義しようとしている回転型関節の回転軸がのるべき平面をピッキングし、あるいは、その平面の名前をキーボードから入力することにより選択する。尚、回転型関節の回転軸がこれらの３平面のいずれにものらない場合であっても、とり合えず、それらの３平面の中から、その回転軸を含む平面に近い平面を選んでおき、微調整は後で行なう。
【０２２８】
３平面のうちのいずれかの平面を選択すると、選択した平面を除く他の２平面は消え、代わりに、図４９（Ｂ）に示すように、その選択した平面上に４５°間隔で８つの方向を向いた８本の矢印（直線あるいは立体）が表示される。なお、この矢印は、例えば３０°間隔で１２の方向を向いた１２本の矢印等であってもよい。この矢印は、回転型関節の、選択した平面内における回転軸方向を選択するためのものである。この図４９（Ｂ）のように表示された複数の矢印のうちの１つの矢印を、ピッキングにより、あるいはその矢印の番号をキーボードで入力することにより、あるいは、デフォルト値としてある１本の矢印のみ変色させておいてキーボードの矢印キーを押して、矢印の変色を順次隣接する矢印に移動させることにより選択する。
【０２２９】
次に、必要に応じて、図４９（Ｃ）に示すように、回転型関節の回転軸方向の微調整を行なう。この微調整を行なうには、図４５に示す関節設定メニュー中のメニュータイトル「編集」を選択する。するとメニュータイトル「位置」、「姿勢」、「基準点設定」がプルダウンされ、ここでは、関節の姿勢を微調整するためのメニュータイトル「姿勢」を選択する。すると、図４５に示すような「関節姿勢設定」画面が表示される。そこで、マウスを操作して、その画面中のバリュエータのつまみをつまんで移動させることにより、あるいは、その画面中のＲｘ，Ｒｙ，Ｒｚのいずれかをマウスでピッキングした後、キーボードから数値を入力し、あるいは、その画面中のＲｘ，Ｒｙ，Ｒｚのいずれかをマウスピッキングした後、図１６を参照して説明した回転角度θｒｅｆ  の値の増減と同様なマウス操作を行なうことにより、回転型関節の回転軸の姿勢を微調整する。尚，Ｒｘ，Ｒｙ，Ｒｚは、それぞれ、ｘ軸，ｙ軸，ｚ軸のまわりの回転角度を表わす。「関節姿勢設定」画面中のメニュータイトル「適用」を選択すると、関節姿勢が微調整され、ＣＧ画面が図４９（Ｄ）の画面に移る。関節姿勢の微調整が不要のときは「関節姿勢設定」の画面を開くことなく、関節設定メニュー（図４６参照）中の「適用」ボタンをピッキングすることにより、図４９（Ｄ）の画面に移る。
【０２３０】
ここでは、これまでの手順で定められた回転軸の基準点、すなわち関節角度零度の方向を定める。この回転軸基準点を定めるために図４９（Ｄ）に示すような４５°間隔の８方向を表わす平面が表示され、そのうちの１つの平面を、ピッキング、番号入力、キーボードの矢印キーによる変色した平面の移動のいずれかにより選択する。この回転軸基準点の微調整を行なうには、図４５に示す関節設定メニュー中のメニュータイトル「編集」を選択し、さらにメニュータイトル「基準点設定」を選択して、「基準点設定」画面を開く。図４５に例示する「基準点設定」画面は複数の関節についてまとめて調整を行なう画面であり、ここでは、図４８に示す「関節１」を指定しているため、「関節１」をピッキングし、マウス操作により、あるいはキーボードからの数値入力により、その回転軸基準点を微調整する。尚、ここでは、回転型関節の回転方向は右ねじの方向を正方向としている。このようにして回転軸基準点を微調整した場合は「基準点設定」画面中の「適用」ボタンを押すことにより、あるいは微調整が不要なときは関節設定メニュー中の「適用」ボタン（図４８参照）を押すことにより、図４９（Ｅ）の、回転軸設定画面に移る。ここでは、回転軸の位置が調整される。これまでの調整と同様、図４５に示す関節設定メニュー中のメニュータイトル「編集」を選択し、さらにメニュータイトル「位置」を選択して「関節位置設定」画面を表示し、上述の関節姿勢の微調整と同様にして関節位置調整を行なう。この「関節位置設定」画面中の「適用」ボタンをピッキングすることにより、あるいは関節位置調整が不要の場合は、この「関節位置設定」画面を開くことなく関節設定メニュー中の「適用」ボタンを押すことにより、図４９（Ｆ）に示すように、これまでの手順で選んだ回転軸の位置、姿勢に適合するように立体関節マークが配置される。
【０２３１】
このようにして、リンク機構を構成する各部品について順次関節が定義され、全ての部品についての全ての関節の定義が終了すると、図３に示すコンピュータシステム内ではその定義したリンク機構についての関節データ、すなわちＤ−ＨパラメータやそのＤ−Ｈパラメータのパラメータ値が求められる。この求められた関節データは、そのリンク機構の形状データと共に、前述したリンク機構解析に用いられる。
【０２３２】
図５０は、立体関節マークのスケール変換の説明図である。
【０２３３】
立体関節マークの寸法ＲＬは、部品の大きさに合わせて見やすい寸法に設定することが好ましい。そこでここでは、その立体関節マークを配置しようとする部品を包む最小包絡球を考え、その半径をＲとし、その半径Ｒを定数Ｋ倍することにより、立体関節マークの寸法ＲＬ＝Ｋ・Ｒを定める（・は乗算を示す）。
【０２３４】
この立体関節マークのスケール変換を行なうにあたっては、先ず、図４５に示す関節設立メニューのメニュータイトル「関節種類」を選択し、図４６に示す、「関節種類」のプルダウンメニュー中のメニュータイトル「立体関節マーク選択」を選択し、そのプルダウンメニュー中のメニュータイトル「スケール変換」を選択する。すると、図５０に示す「立体関節マークスケール変換」の画面が表示される。そこで、その「立体関節マークスケール変換」画面中の「関節選択」ボタンを押した上で、ＣＧ画面上の、定義された関節の位置、姿勢に配置された立体関節マーク（各関節ごとに立体関節マークが配置されるため、複数の立体関節マークが配置されていることもある）のうち、スケール変換を行おうとする立体関節マークをピッキングにより指定する。あるいは、「関節選択」ボタンを押した上で関節名（例えば図５０の例では「関節１」）をキーボードで入力することにより、スケール変換を行なうべき立体関節マークを指定する。
【０２３５】
このようにして、どの立体関節マークのスケール変換を行なうかを指定した上で、マウス操作により「立体関節マークスケール変換」画面中のバリュエータのつまみをつまんで動かすことにより、あるいはキーボードからの数値入力により、上述の係数のＫの値を入力する。その後、「立体関節マークスケール変換」画面中の「適用」ボタンを押すことにより、その指定した立体関節マークが指定した寸法ＲＬ＝Ｋ・Ｒにスケール変換される。部品との関係で立体関節マークが小さすぎ、あるいは大きすぎたときは、定数Ｋを再設定する。
【０２３６】
図５１は、ＣＧ画面の表示態様の説明図である。
【０２３７】
図４５に示す機構解析メインメニューに戻り、この機構解析メインメニュー中のメニュータイトル「視点等」を選択すると、そのプルダウンメニューとしてメニュータイトル「視点方向」、「三面図表示」、「部品表示」が表示される。その中の「部品表示」を選択すると、図５１に示す「部品表示特性」画面が表示される。この画面中には、「部品選択」ボタンと、「ポリゴン」と「線画」との切り替えボタンと、透明度を指示するバリュエータがあり、先ず「部品選択」ボタンを押して、ＣＧ画面上の所望の部品をピッキングし、あるいは部品名を入力することで部品を選択する。次に、「ポリゴン」ボタンを押して、あるいは「ポリゴン」ボタンが押されている状態で透明度バリュエータを動かすと、その値が、部品の透明度を指示する透明度パラメータに代入されて、ＣＧ描画ツールに引き渡される。ＣＧ描画ツールは、その透明度パラメータが’１’のときはその部品は完全に不透明、その透明度パラメータが’０’のときはその部品は完全な透明であって中が透けて見えるように、その透明度パラメータの値によってその指定された部品の中が透けて見える程度を変更して描画する。このようにして、部品を半透明状態にして表示すると、立体関節マークが部品の中に埋もれてしまって見えなくなってしまうのを避けることができる。一方、「ポリゴン」に代え「線画」を選択すると、その部品を、その部品の裏側が見えないように陰線処理した線画を表示する。
【０２３８】
次に直動型関節の定義の仕方について説明する。
【０２３９】
図５２は、ＣＡＤシステムから入力された形状データに基づくＣＧ画面を表わした図、図５３は、直動型関節の定義を行なう手順を示した図である。
【０２４０】
前述の回転型関節を定義する場合と同様にして、ＣＧ画面上に、図５２に示すような組立後の「製品」の三次元グラフィック画像を表示し、さらに、前述の回転型関節の場合と同様にして、ここで定義しようとしている直動型関節が配置される部品の選択、その親部品の選択、直動型関節の立体関節マークの選択を行なう。
【０２４１】
すると、回転型関節の場合と同様に、ＣＧ画面上に、図５３（Ａ）に示すような直交３平面が表示され、それらの３平面の中から直動関節の直動方向を含む平面が選択され、図５３（Ｂ）に示すような複数（ここでは８つ）の方向を向いた複数の矢印が表示され、そのうちの１本を選ぶことにより直動関節の直動方向を指定する。次に、必要に応じて、図５３（Ｃ）に示すように、その直動方向の姿勢の微調整を行ない、さらに、図５３（Ｄ）に示すように直動基準点を設定し「適用」ボタンを押すことにより、その設定した位置に、直動型関節の立体関節マークが配置される。
【０２４２】
図５４は、ＣＡＤシステムから入力された形状データに基づくＣＧ画面を表わした図である。ここでは、固定型関節の定義について説明する。
【０２４３】
上述と同様にして「部品選択」、「親部品選択」、「立体関節マーク選択」（ここでは固定型関節の立体関節マークの選択）を行なう。ここでは組立後のグラフィック画像が表示されており、固定型関節は選択した部品を選択した親部品に固定するためのものであるため、固定型関節の立体関節マークは任意の位置に任意の姿勢で配置してよい。したがって、上述の回転型関節や直動型関節の場合のような、回転軸ないし直動の方向を決定する作業は不要であり、ここでは、この固定型関節の立体関節マークは、この固定型関節を定義しようとした部品の親部品の基準座標の原点に配置される。
【０２４４】
以上では、回転型関節の定義、直動型関節の定義、固定型関節の定義に分けて説明を行なったが、１つのリンク機構中に複数種類の関節が混在していてもよい。
【０２４５】
以上のようにして全ての関節の定義が完了した時点で、関節設定メニュー中の「適用」ボタンないし「関節計算」ボタンを押すと、そのリンク機構の関節データが求められる。
【０２４６】
次にＣＡＤファイルから部品をばらばらに読み込んだ状態で関節定義を行なう手法について説明する。
【０２４７】
図５５、図５６は、ばらばらな部品について関節を定義する手法の説明図である。
【０２４８】
図４５に示す機構解析メインメニューにおいて、「ＣＡＤファイル呼込」を選択し、「部品」を選択し、いずれかの部品名（ここの例では「部品２」）を選択して、その部品をＣＧ画面上に表示する。これを繰り返し、ＣＧ画面上に複数の部品を表示する。
【０２４９】
次に、「関節設定」を選択して関節設定メニュー画面を開き、その関節設定メニュー中の「関節種類」を選択し、図４６に示す関節設定メニューのプルダウンメニュー中の「部品選択」を選択してＣＧ画面上の部品を指定し、「親部品選択」を選択してＣＧ画面上の親部品を指定する。
【０２５０】
さらに「立体関節マーク選択」を選択し、そのプルダウンメニュー中から「立体関節マーク（部品）」を選択する。すると、図４６に示す立体関節結合マーク」画面が表示されるので、定義しようとする関節の種類（ここでは「回転型関節」とする）を選択する。
【０２５１】
この立体関節結合マークは、図４６の「立体関節結合マーク」画面内、および図５５に示すように、親部品用の立体結合マーク（立体関節マーク）と子部品用の立体結合マーク（立体関節マーク）とで構成されており、図５５に示すように、ある１つの部品ｉには、自分が子部品となって、その親部品ｉ−１と結合する関節に子部品用の立体結合マークＪｉ．Ｃが配置され、自分が親部品となって、自分に対する子部品ｉ＋１と結合する関節に親部品用の立体結合マークＪｉ＋１．Ｐが配置される。それら子部品用立体関節マークＪｉ．Ｃと親部品用立体結合マークとの間の距離ＤＨ．Ｌがその部品ｉのリンクの長さとなる。
【０２５２】
立体関節マークの３次元位置・姿勢から、Ｄ−Ｈパラメータの表記規則に従った値を計算してＤ−Ｈパラメータに代入する。
【０２５３】
ＣＧ画面上に、図５６に示すように、ＣＧ画面上に複数の部品を表示しておいて、自分（部品１とする）に対する親部品（部品０）の、自分（部品１）と結合する位置、姿勢に親部品用の立体結合マークＪ１．Ｐを配置し、自分（部品１）には、その親部品（部品０）と結合する関節の位置、姿勢に子部品用の立体関節マークＪ１．Ｃを配置し、同様に、自分（部品１）に、自分（部品１）に対する子部品（部品２）と結合する親部品用の立体結合マークＪ２．Ｐを配置し、自分（部品１）に対する子部品（部品２）には、自分（部品１）と結合する子部品用の立体結合マークＪ２．Ｃを配置する。各親部品用、各子部品用の立体結合マークの配置の仕方は、図４９を参照して説明した、親部品用、子部品用とに分かれていない立体関節マークの配置の仕方と同じであり、ここでは重複説明は省略する。
【０２５４】
上記のようにして、親部品用の立体結合マークと子部品用の立体結合マークを配置しておいて、図４６の関節設定メニュー中の「適用」ボタンを押すと、ＣＧ画面内で、親部品用立体結合マークないし子部品用立体結合マークが、そのマークが配置された部品と一緒に移動し、図５６に示すように、相互に対応する親部品用立体結合マークと子部品用立体結合マークとが結合した状態となる。
【０２５５】
このように、組立後の状態ではなく、部品をばらばらに読み込んでも、親部品用の立体結合マークと子部品用の立体結合マークを用いることにより、関節を定義することができる。
【０２５６】
この親部品用の立体結合マークと子部品用の立体結合マークを用いる場合、親部品用、子部品用の立体結合マークは、部品の表面と接触するように配置されることが多い。この場合、立体関節マーク（親部品用、子部品用の立体結合マークを含む）の部品表面への配置を容易に実現するために「干渉チェック」を行なうことが好ましい。
【０２５７】
図５７は、立体関節マークと部品との干渉チェックの説明図である。
【０２５８】
「干渉チェック」とは、立体関節マークが、部品から離れているか、あるいは干渉している（接触ないし重なっている）かを、それら立体関節マークと部品の形状データ、位置データ等に基づいて自動的にチェックすることをいい、この「干渉チェック」を採用すると、立体関節マークを部品に近づけていったときに立体関節マークが部品表面に接触した位置で、立体関節マークを部品内に入り込まないように自動的に停止させたり、立体関節マークが部品に接触した状態のまま、その立体関節マークを部品表面上を滑らせることができ、立体関節マークを部品表面と接触した所望の位置に容易に配置することができる。
【０２５９】
この「干渉チェック」を行なうには、図４５に示す機構解析メインメニュー中の「干渉チェック」ボタンを押してそのプルダウンメニューを開き「対象選択」を選択する。この「対象選択」を選択した上で、ＣＧ画面上で、干渉チェックを行なおうとする部品（図５７の例では部品１）と立体関節マークをマウス操作でピッキングする。次いで、「干渉チェック」のプルダウンメニュー中の「オン」を選択すると、それらピッキングした２つの図形（ここの例では部品１と立体関節マーク）の間の干渉チェックが開始される。この干渉チェックが開始されると、ＣＧ画面上に、それら２つの図形どうしを最短距離で結んだ線が表示される。立体関節マークは、その立体関節マークをマウス操作でつまんだり、図４５に示す「関節位置設定」画面を開いてそのバリュエータを動かすことによって、ＣＧ画面内で移動させることができるが、干渉（それら２つの図形どうしの距離が零）が生じると、その立体関節マークを部品１へさらに近づける方向に移動させようとしてもそれ以上は移動しないようにすることで、立体関節マークが、部品に入り込むことなくその部品表面に容易に配置される。
【０２６０】
図５８、図５９は、ばらばらな部品について直動型関節を定義する手法の説明図、図６０，図６１は、ばらばらな部品について固体型関節を定義する手法の説明図である。
【０２６１】
図４６に示す「立体関節結合マーク」画面において、図５５、図５６を参照して説明した時の「回転型関節」の選択に代えて、「直動型関節」あるいは「固定型関節」を選択する点が異なるのみであり、詳細説明は省略する。１つのリンク機構中に複数種類の関節が混在していてもよいことは前述の通りである。
【０２６２】
次に、上記のようにして定義した関節で結合された部品の移動限界（「関節リミット」と称する）の設定の手法について説明する。
【０２６３】
図６２は、関節リミット設定用の立体関節マーク（回転型関節の立体関節マーク）を示した図である。
【０２６４】
図４５に示す関節設定メニュー中のメニュータイトル「可動範囲」を選択してそのプルダウンメニュー「可動制限（部品）」、「可動制限（組立）」、「関節角度」を開き、「可動制限（部品）」を選択する、すると、ＣＧ画面上に配置した立体関節マーク（固定型関節の立体関節マークは除く）の全て、あるいは、ＣＧ画面上に配置した子部品用立体結合マークの全てについて、図６２に示すように、各立体関節マーク（子部品立体結合マークを含む）の先端の円錐部に最大値マークと最小値マークが表示される。また、これと同時に「関節リミット」画面を表示する。
【０２６５】
図６３（Ａ）〜（Ｃ）は、「関節リミット」画面の各例を示す図である。これらの「関節リミット」画面のいずれか１種類のみを用意しておいてもよいが、これらの「関節リミット」画面全てを用意しておき、表示を切り替えて使用できるように構成しておくことが好ましい。
【０２６６】
尚、親部品用の立体結合マークは、この関節リミットの設定の際は、子部品用の立体結合マークと結合して一体的な立体関節マークを形成しており、親部品用の立体結合マークに対し関節リミットを設定する必要はない。
【０２６７】
ＣＧ画面上に、図６２の「初期状態」のように表示された立体関節マーク（子部品用立体結合マークを含む）をマウス操作でピッキングして選択し、あるいは、キーボードを操作して関節名（例えば「関節２」）を入力することにより、どの関節について関節リミットを設定しようとしているのかを入力する。すると、図６３に示す「関節リミット」画面（ここでは図６３（Ａ）に示す「関節リミット」画面とする）に「関節２」が表示される。次いで、そのようにして選択した立体関節マーク中の最大値マーク（最小値マーク）をつまんで開くようにマウスを移動させる。するとそのマウスの動きに合わせてＣＧ画面上で最大値マーク（最小値マーク）が移動する。
【０２６８】
ここでは図６３（Ａ）の「関節リミット」画面が表示されているものとし、上記のようにして最大値マーク（最小値マーク）を移動させると、その移動量に応じた角度値が、図６３（Ａ）の「関節リミット」に表示される。このようにしてマウス操作で関節リミットの最大値、最小値のおおまかな設定を行ない、正確な値とずれているときはキーボードにより正確な数値を入力する。
【０２６９】
あるいは、図６３（Ｂ）に示す「関節リミット」画面を表示しておいてバリュエータを動かすことによっても、関節リミットの最大値、最小値が設定される。このバリュエータによる方法は、立体関節マークの最大値マーク、最小値マークをマウス操作によるピッキングで選択することが困難な場合に有効である。バリュエータを操作すると、最大値マークないし最小値マークはそのバリュエータの操作につれて移動する。
【０２７０】
図６３（Ｃ）に示す「関節リミット」画面も、ＣＧ画面上に表示された立体関節マークの最大値マーク、最小値マークをマウスでピッキングするのが困難な場合に効果的であり、この「関節リミット」画面内の最大値マーク、最小値マーク（円上を移動するバリュエータのつまみ）をマウスでつまんで動かすことにより、関節リミットの最大値、最小値が設定される。
【０２７１】
この図６３（Ｃ）の方式の場合は、図６３（Ａ），（Ｂ）の２つの方式の場合と比べ、最大値、最小値の角度が視覚的に直感できるという長所もある。
【０２７２】
図６４，図６５は、立体関節マークに付された最大値マーク、最小値マークの各例を示す図である。最大値マーク、最小値マークは、本実施形態では、図６２，図６４，図６５のバリエーションを有しており、見やすい形状のものが採用される。
【０２７３】
図６６は、直動型関節についての、関節リミット設定用の立体関節マークを示した図、図６７（Ａ），（Ｂ）は、直動型関節についての「関節リミット」画面の表示例を示した図である。直動型関節の場合、部品は直進するので、直動型関節については、回転型関節についての図６３（Ｃ）に相当する「関節リミット」画面は用意されていない。
【０２７４】
図６８，図６９は、直動型関節についての立体関節マークに付された最大値マーク、最小値マークの各例を示す図である。本実施形態では、直動型関節についても、最大値マーク、最小値マークとして、図６６，図６８，図６９に示すバリエーションを有しており、見やすい形状のものが採用される。
【０２７５】
図７０は、関節リミット設定を行なう他の手法の説明図である。
【０２７６】
全ての設定を終えて「関節計算」のボタン（図４５参照）を押すと、ＣＧ画面内の全ての立体関節マークが消える。その後、図４５に示すメニューの流れの中で、関節設定メニューの「可動範囲」のボタンを押してそのプルダウンメニューを開き、「可動制限（組立）」を選択すると、図７０に示す「関節リミット」画面が表示される。次に、図４５に示すメニューの流れの中で「関節角度」を選択すると、「関節角度」画面が表示される。この「関節角度」画面中の「関節選択」ボタンを押してからＣＧを画面上の部品をマウスでピッキングする。ここではＣＧ画面上の「部品２」をピッキングしたものとすると、図４５中に示す「関節角度」画面および図７０中に示す「関節リミット」画面に「部品２」と表示される。尚、図４５の「関節角度」画面中では、「部品」となっているが、ここでは「部品２」と読み替えるものとする。あるいは、ＣＧ画面上で部品をピッキングする代わりに、キーボードから部品名を入力してもよい。
【０２７７】
「関節角度」画面中のバリュエータを動かすことにより、あるいはキーボードからの数値入力により関節角度を入力する。するとＣＧ画面上の指定した部品（ここでは「部品２」）がその入力された角度に移動する。またその入力された角度は「関節角度」画面中に数値で表示される。オペレータがその角度を関節リミットの最小値として設定するのが適切であると判断すると、図７０に示す「関節リミット」画面中の最小値の角度入力位置に数値入力のためのカーソル（図７０ではアンダーラインで示されている）を動かしておきキーボードからその角度を数値入力する。
【０２７８】
次に、これと同様にして、指定した部品（ここでは「部品２」）を動かして、今度は最大値を数値入力する。これにより、その指定した部品（部品２）の関節についての関節リミットが設定される。以上の手順を各関節について順次行なう。
【０２７９】
図７１は、図７０を参照して説明した関節リミット設定方法の変形例を示す図である。
【０２８０】
この図７１に示す「関節リミット」画面には、「最大値」、「最小値」の欄に指定用の枠が設けられている。図４５に示す「関節角度」画面中のバリュエータを動かすことにより、あるいはキーボードからの数値入力により、回転角度を入力し、その角度を最小値ないし最大値として設定しようとするとき、図７１に示す「関節リミット」画面中の最大値ないし最大値に対する枠をマウス操作でピッキングする。そうすると、「関節角度」画面中に表示された角度が、「関節リミット」画面中の、最小値ないし最大値の数値入力の欄に入力されて表示される。
【０２８１】
尚、ここでは回転型関節について例示したが、直動型関節についても同様の手法で関節リミットを設定することができる。ここではその説明およびその説明のための図の掲載は省略する。
【０２８２】
次に、関節設定の他の手法について説明する。
【０２８３】
図７２は、ＣＧ画面上に二次元的に表示された部品を示す模式図、図７３は、ＣＧ画面上に二次元的に表示された部品に、二次元的に表示された立体関節マークを配置する様子を示した模式図である。
【０２８４】
図４５に示す機構解析メインメニュー中の「視点等」のボタンを押してプルダウンメニューを開き、「三面図表示」を選択すると、ＣＧ表面上にそれぞれが二次元的に描かれた三面図（ｘ−ｙ平面図，ｙ−ｚ平面図，ｘ−ｚ平面図）が表示される。但し、図７２にはｘ−ｚ平面図のみ示されている。三面図は、ｘ，ｙ，ｚの各方向毎に立体関節マーク（ここでは二次元表示された立体関節マーク）を正確に位置合わせすることができるため好ましい。
【０２８５】
次に、図４５に示す関節設定メニュー中の「関節種類」のボタンを押して図４６に示すプルダウンメニューを開き、「立体関節マーク選択」を選択してさらにそのプルダウンメニューを開き、「立体関節マーク（２次元）」を選択して「立体関節マーク」画面を開き、所望の関節（ここでは「回転型関節」とする）を選択する。
【０２８６】
表示されている三面図のうちのいずれかの図面（例えば図７２、図７３の例ではｘ−ｚ平面）上の回転軸上にマウスのカーソルを移動させてマウスボタンを押すと、そのときのカーソル位置が回転型関節の回転軸の位置として定められ、その位置に回転型関節の立体関節マークが表示される。図７２に示すｘ−ｚ平面上で回転軸を指定したとき、図７３のｘ−ｙ平面，ｙ−ｚ平面に示すように、表示された立体関節マークが部品から離れ過ぎている場合がある。このときは、図４５に示す「関節位置設定」画面を開き、バリュエータ等で、その立体関節マークを、その回転軸方向にのみ移動させる。
【０２８７】
回転軸の方向は、回転軸を指定した平面（ここではｘ−ｚ平面）上で手前方向（紙面（画面）の表面に向いた方向）をデフォルト値とし、マウスボタン操作で奥行き方向（紙面（画面）の裏面が向いた方向）に反転させる。回転方向は、前述したように、右ねじが進む方向が正である。
【０２８８】
ここでは、回転軸のみ定まっており、回転軸基準点（関節の回転角度が零度の方向）は未だ設定されておらず、またこの回転軸をもつ関節で結合されるべき、部品（子部品）および親部品は未だ指定されていない。回転軸基準点の方向は、図４９（Ｄ）を参照して説明した手法と同じ手法で設定される。
【０２８９】
その関節で結合されるべき部品（子部品）と親部品の選択も、前述と同様に、図６に示す「部品選択」ないし「親部品選択」を選択した後にＣＧ画面上の部品をピッキングすること等により、指定される。
【０２９０】
あるいは、以下に説明する手法で、部品（子部品）、親部品を選択してもよい。
【０２９１】
図７４は、部品（子部品）および親部品指定の一手法の説明図である。
【０２９２】
図４６に示すメニュー中の「スケール変換」を選択する。すると、図７４に示す「立体関節マークスケール変換」画面が表示されるとともに、立体関節マークと干渉している部品の一覧（図７４（ａ）の例では、「部品０」、「部品１」、「部品３」の３つ）が表示される。そこで、その立体関節マークの寸法を縮めると、図７４（ｂ）のように、その立体関節マークと干渉している部品は「部品」と「部品１」との２つのみとなる。この段階で、その２つの部品のうちの一方の部品をピッキング、部品名入力等により親部品として指定すると、その残りの部品は自動的に、子部品として指定される。
【０２９３】
同様な手順で全ての関節に立体関節マークを配設した後、図４６に示す「適用」ボタンを押すか、あるいは図４５に示す「関節計算」を選択すると、そのリンク機構の関節データ（Ｄ−Ｈパラメータとそのパラメータ値）が算出される。
【０２９４】
図７５、図７６は、ＣＧ画面上に二次元的に表示された部品に、二次元的に表示された立体関節マーク（ここでは直動型関節用の立体関節マーク）を配置する様子を示した模式図である。
【０２９５】
ここでは図７５にはｙ−ｚ平面が示されており、図４６に示す「立体関節マーク」画面で「直動型関節」を選択した後、図７５に示すｙ−ｚ平面上の関節点にカーソルを移動して指定すると、その指定された位置に直動型関節の立体関節マークが配置される。ｙ−ｚ平面以外の、ｘ−ｙ平面、ｘ−ｚ平面上での立体関節マークの位置がずれている時は、図４５に示す「関節位置」画面を開いて、その立体関節マークを直動方向に移動させることによって位置合わせを行なう。以下の処理も回転型関節の場合と同様であり説明は省略する。また固定型関節についても同様の手順により配置することができるため、説明図の掲載および説明の双方を省略する。固定型関節の場合、その配置位置、姿勢は任意でよいことは前述したとおりである。
【０２９６】
次に、ＣＡＤシステム側で、リンク機構を構成する部品の形状データだけでなく、その部品の関節の位置、姿勢を座標系で指定し、形状データとともにその関節を表わす座標系のデータも入力される場合の、関節定義の手順について説明する
ここでも、先ず複数の部品が組み立てられた状態の形状データを入力する場合について説明し、次いで、ばらばらな状態の部品の形状データを入力する場合について説明する。
【０２９７】
図７７は、メニューの流れを示す説明図、図７８は関節設定メニューのプルダウンメニューを示す図、図７９は関節座標系の作成規則を示す説明図である。
【０２９８】
また、図８０は、組み立てられた状態の形状データを入力する場合の関節定義方式の説明図である。
【０２９９】
ここでは、図８０に示すように、ＣＡＤシステムには、以下の条件が課されているものとする。
【０３００】
（１）部品形状データの作成
（２）部品の組立データを作成する。
【０３０１】
（３）設計者が回転軸などの関節を意識して、回転型関節、直動型関節の位置、姿勢に座標を配置する。関節座標を配置する際には、図７９に示すような、以下の規則に従う。すなわち、回転型関節の場合は、ｚ軸を回転軸の方向とし、回転方向は、右まわり方向を正方向とする。また、ｘ軸を回転基準点（関節角度が零度の方向）とする。直動型関節の場合は、Ｚ軸を正の進行方向とし、ｘｙ平面を直動基準点とする。
【０３０２】
（４）組立てた部品の形状データと各座標系の名、位置、姿勢の情報をファイル出力する。
【０３０３】
ＣＡＤシステムに上記の条件を課した上で、本実施形態では以下の手順により関節を定義する。
【０３０４】
（１）組み立てられた状態の部品の形状データを含むＣＡＤファイルの呼び込み
図７７に示す機構解析メインメニュー中の「ＣＡＤファイル呼込」を選択してプルダウンメニューを開き、「組立状態」のボタンを押すと「製品名」のメニューが表示される。そこで、所望の製品名（例えば「製品２」）を選択して、その製品の組み立てた状態の形状データを呼び込み、ＣＧ画面に表示する。
【０３０５】
（２）関節用座標選択
図７７に示す関節設定メニュー中の「座標系表示」のボタンを押してプルダウンメニューを開き、「関節用座標系」のボタンを押すと、ＣＡＤファイルのデータを基に、ＣＧ画面上に、図８０に示すような関節用標座標系が表示される。
【０３０６】
（３）関節設定
図７７に示す関節設定メニュー中の「関節種類」のボタンを押すと、図７８に示すようなプルダウンメニューが表示され、「関節種類選択」を選択すると「関節種類選択」画面が表示される。そこで所望の型の関節（例えば「回転型関節」）を選択し、ついで、ＣＧ画面上に表示されている関節用座標系のうち、今回選択した型の関節を配置しようとする関節用座標系をマウス操作によりピッキングで指定する。指定された関節用座標系は、指定されたことを明示するために、例えば赤色に変色する。
【０３０７】
ついで、図７８に示す「部品選択」を選択し、図８０に示すＣＧ画面上で対応する部品（例えば「部品１」）をマウス操作によりピッキングすることによりその部品を選択する。
【０３０８】
同様に、図７８に示す「親部品選択」を選択し、図８０に示すＣＧ画面上で対応する部品（例えば「部品０」をピッキングにより選択する。
【０３０９】
以上に手順により、所望の関節用座標系に、所望の型の関節の立体関節マークが表示される。
【０３１０】
上記の手順を繰り返し全ての関節用座標系に各所望の型の関節の立体関節マークを表示させた後、図７７に示す「関節計算」ボタンを押すと、Ｄ−Ｈパラメータおよびそのパラメータ値からなる関節データが求められる。
【０３１１】
次に、ばらばらな状態の部品の形状データを呼び込む場合について説明する。この場合、ＣＡＤシステムには、上述の組立て後の形状データを呼び込む場合にＣＡＤシステムに課した条件のうち、（２）の部品の組立てデータの作成という条件は免除される。
【０３１２】
図８１〜図８５は、ばらばらな状態の部品の形状データを呼び込んで関節を設定する手順の説明図である。
【０３１３】
図７７に示す機構解析メインメニュー中の「ＣＡＤファイル呼込」を選択し、そのプルダウンメニュー中から「部品」ボタンを押し、ＣＡＤシステムで作成された３次元形状データのファイルを呼び込む。部品毎に読み込んで、それらの部品を、例えばバリュエータや数値入力により、ＣＧ画面内の任意の位置、姿勢に配置する（図８１参照）。あるいは「ＣＡＤファイル呼込」のプルダウンメニューから「任意配置」ボタンをマウスで選択し、ファイルの製品名を選択すると、その製品を構成する複数の部位品が、ＣＡＤシステムの出力ファイル中に書かれた位置、姿勢に配置されて、その製品表示される。
【０３１４】
次に、関節設定メニューの「座標系表示」のボタンを押してプルダウンメニューを開き「関節用座標系」のボタンを押すと、ＣＡＤファイルのデータを基に、図８２のように、ＣＧ画面上に関節用座標系が表示される。
【０３１５】
次に、関節設置メニューの「関節設置」のボタンを押してプルダウンメニューを開き、「関節種類選択」を選択し、「関節種類選択」画面の中から、「回転型関節」（または「直動型関節」、「固定型関節」）をメニューから選択する。ここでは「回転型関節」が選択されるものとする。次いで、座標系Σ１１（図８２参照）をマウスでピッキングする。さらに、座標系Σ０１をマウスでキッピングすると、Ｄ−Ｈパラメータおよびそのパラメータ値を算出してΣ０１に座標系を重ねるように部品を再配置する（図８３参照）。
【０３１６】
さらに、回転軸と基準点の確認／設定を行なう。回転軸（デフォルトはＺ軸）と基準点（デフォルトはＸ軸）を自動的に表示する。設計者がＣＡＤシステムで回転軸を意識して座標系を配置した場合は、ほとんどの場合、座標系は正しく設定されているものと考えられているが、もし意図した座標系と異なっているときは、関節設定メニューの「編集」のボタンを押してプルダウンメニューを開き、「位置」ないし「姿勢」のボタンを押して、「関節位置設定」もしくは「関節姿勢設定」の画面を開き、バリュエータ等により設置し直す。この微調整を含む「編集」については後で詳細に説明する。尚、図７７に示すこれらの画面では「適用」ボタンは図示が省略されている。他の画面についても図示が省略されているものもある。
【０３１７】
あるいは、図８４に示すように回転軸と基準点のデフォルトを表示すると同時、にそれで良いかどうかを確認するメニューを画面に出し、「Ｙｅｓ」または「Ｎｏ」のボタンをマウスで選択することでユーザの意志を確認し、「Ｎｏ」の場合には直ちに編集モードに入り、バリュエータ等を表示してもよい。
【０３１８】
基準点（関節の回転角度零度の点）は以下のようにして設定する。「関節角度」画面を開いた状態で、例えば「関節１」をキーボードで入力する。ＣＧ画面を見ながら、バリュエータまたは数値入力で関節角度を入力して、部品を移動させる。
【０３１９】
次に関節設定メニューの「編集」のボタンを押してプルダウンメニューを開き「基準点設定」のボタンを押すと、「基準点設定」画面が表示される。「基準点設定」ボタンを押すと、その角度が新たな基準点となる。
【０３２０】
図７７の「関節計算のボタンを選択すると、リンクパラメータであるＤ−Ｈパラメータおよびそのパラメータ値が算出される。
【０３２１】
「編集は」、以下のようにして行なう。関節設定メニューの「編集」のボタンを押してプルダウンメニューを開いて、「位置」ないし「姿勢」のボタンを押した場合、あるいは、回転軸と基準点のデフォルトを表示すると同時にそれで良いかどうかを確認するメニューを表示しその画面上で「Ｎｏ」のボタンが押された場合に関節の「編集」が行なわれる。ＣＡＤシステムで定義された関節用座標系は、±９０°、±１８０°などの角度で間違えて配置されている可能性が高い。そこで、まず、関節設定メニューの「編集」のボタンを押してプルダウンメニューを開き「姿勢（簡易」を選択する。すると、６個の回転軸方向のボタンを持つメニューが表示される。
【０３２２】
そのメニュー画面内のボタンを押すと、回転軸は、対応する軸の方向に向きを変えて表示される。それらでは表わせない姿勢に変更したい場合は、「その他」のボタンを押すか、あるいは関節設定メニューの「編集」のボタンを押してプルダウンメニューを開き「姿勢」のボタンを押すことにより、「関節姿勢設定メニュー」画面を開き、あるいは数値入力で回転軸を移動させる。位置を変更したい場合には、関節設定メニューの「編集」のボタンを押してプルダウンメニューを開き、「位置」のボタンを押して、「関節位置設定」画面を開き、バリュエータ、数値入力で移動させる。この時、機構解析メインメニューの「視点等」を選択し、「三面図表示」を選択すると、ｘ，ｙ，ｚ軸方向から見た三面図が表示され、各方向の位置、姿勢合わせを正確に行ない易くなる。
【０３２３】
図８６は、サブウインドウでの部品の待機と繰り上げの表示手法の説明図である。
【０３２４】
基準座標から適度に離れてみた（適度に縮小された）部品が、ＣＡＤファイルに書かれた順、または呼び込まれた順に各サブウインドウに表示される。関節設定により部品が結合されると、その結合された部品はメインウインドウに移り、空になったサブウインドウに残りの部品が表示される。
【０３２５】
このようなサブウインドウを用いると、見やすい画面となり関節設定が一層容易となる。
【０３２６】
図８７は、仮想的な関節モデルを含むＣＧ画面の例を示す図である。
【０３２７】
上述の説明では、ＣＡＤシステムで関節座標系が定義されるとして説明したがＣＡＤシステムで、関節座標系の代わりに関節の位置、姿勢を模擬した仮想的な関節モデルを作成し、ＣＡＤシステムからその関節モデルの位置、姿勢のデータを受け取ってその位置、姿勢に立体関節モデルを配置し、その後の手順を進めてもよい。この仮想的な関節モデルは、作成が簡単な形状（円錐、円柱など）でよく、色データ（例えばＲＧＢ値が０．１１，０．１１，０．１１など）により、部品の部分と関節モデルとを区別することが好ましい。
【０３２８】
【発明の効果】
以上説明したように、本発明のリンク機構関節データ演算装置によれば、関節の種類やその動きが直感的に解り易く、表示される画面を見ながら、簡単な操作で、リンク機構の関節データを生成するために必要となる関節に関するデータを入力することができる。
【図面の簡単な説明】
【図１】本発明の第１および第２のリンク機構解析装置の基本ブロック図である。
【図２】本発明のリンク機構関節データ演算置の基本ブロック図である。
【図３】本発明のリンク機構解析装置の一実施形態の外観図である。
【図４】ＣＲＴ表示部に表示された画面の一態様を示す図である。
【図５】メインメニューおよびサブメニューの一覧を表わした図である。
【図６】リンク機構モデルの選択、およびそれに続く第１リンクの選択の操作手順を示す説明図である。
【図７】平行クランクのリンク機構モデルのリンク座標系および親子関係を示す図である。
【図８】１リンクのリンク機構モデルのリンク座標系および親子関係を示す図である。
【図９】クランクのリンク機構モデルのリンク座標系および親子関係を示す図である。
【図１０】「駆動部選択」を選択したときに表示されるＣＧ画面と、「駆動部選択」のサブメニューとを示した図である。
【図１１】駆動型設定法の説明図である。
【図１２】駆動量入力法を指示するメニュータイトル群を示した図である。
【図１３】カーソル位置による、関節角度入力法の説明図である。
【図１４】バリュエータによる関節角度入力法の説明図である。
【図１５】数値入力による関節角度入力法の説明図である。
【図１６】マウスボタンによる関節角度入力法を説明するための、各種マウスボタンの模式図である。
【図１７】平行クランクの順運動学と、平行クランクの、駆動量を表わす指令値入力に対応した逆運動学を示した図である。
【図１８】１リンクの順運動学と、１リンクの、駆動量を表わす指令値入力に対応した逆運動学を示した図である。
【図１９】クランクの順運動学と、クランクの、駆動量を表わす指令値入力に対応した逆運動学を示した図である。
【図２０】メインメニューおよびサブメニューの一覧を表わした図である。
【図２１】１自由度の各種リンク機構モデルのメニュータイトル群を示す図である。
【図２２】平行クランクの場合の、駆動源設定法の説明図である。
【図２３】１リンクの場合の、駆動源設定法の説明図である。
【図２４】クランクの場合の、駆動源設定法の説明図である。
【図２５】リンク機構モデル画面を示す図である。
【図２６】リンク機構モデル画面に表示された２つのリンク機構モデルの順運動学、およびそれら２つのリンク機構モデルの、リンク座標系、親子関係、指令値入力に対する逆運動学を示した図である。
【図２７】第１リンク選択の必要性を説明するためのＣＧ画面の例を示す図である。
【図２８】リンク機構モデルの選択、およびそれに続く第１リンクの選択の操作手順を示す説明図である。
【図２９】ＣＧ画面上に単体の平行クランクが表示されている場合の第１リンクの自動判定法の説明図である。
【図３０】ＣＧ画面上に単体の１リンクが表示されている場合の第１リンクの自動判定法の説明図である。
【図３１】ＣＧ画面上に単体のクランクが表示されている場合の第１リンクの自動判定法の説明図である。
【図３２】ＣＧ画面上にクランクが２つ存在するリンク機構が表示されている場合において、一方のクランクの第１リンクが既に選択されている場合の第１リンクの自動判定法の説明図である。
【図３３】メニュータイトル群（Ａ）とＣＧ画面に表示されたＣＧモデル（Ｂ）を示した図である。
【図３４】図３２に示すＣＧモデルをクランクと２リンクに分解して示した図である。
【図３５】拘束点位置の‘マウスによる入力’の説明図である。
【図３６】新規リンク機構の登録法を示す説明図である。
【図３７】新規リンク機構モデルのイラストを表わす画像データの作成法の説明図である。
【図３８】新規リンク機構モデルの第１リンク選択用画面の編集法の説明図である。
【図３９】新規リンク機構モデルの駆動部記号選択画面の編集法の説明図である。
【図４０】新規リンク機構モデルの順運動学、逆運動学の計算法の説明図である。
【図４１】平行クランクの座標系を示す図であって、動力学を用いて、リンクに外力を加えた場合の関節角度を求める手法の説明図である。
【図４２】平行クランクの座標系を示す図であって、動力学を用いて、関節にトルクを発生させた場合の関節角度を求める手法の説明図である。
【図４３】平行クランクの座標系を示す図であって、閉ループ系リンク機構における拘束力発生の説明図である。
【図４４】動力学を用いて関節角度を求めるフローを示す図である。
【図４５】メニュー画面の流れを示した説明図である。
【図４６】関節設定メニューのサブメニューを示した説明図である。
【図４７】関節設定メニューのサブメニューの変形例を示した説明図である。
【図４８】ＣＡＤシステムから入力された複数の部品の形状データに基づくＣＧ画面を表わした図である。
【図４９】回転型関節の定義を行なう手順を示した説明図である。
【図５０】立体関節マークのスケール変換の説明図である。
【図５１】ＣＧ画面の表示態様の説明図である。
【図５２】ＣＡＤシステムから入力された形状データに基づくＣＧ画面を表わした図である。
【図５３】直動型関節の定義を行なう手順を示した図である。
【図５４】ＣＡＤシステムから入力された形状データに基づくＣＧ画面を表わした図である。
【図５５】ばらばらな部品について関節を定義する手法の説明図である。
【図５６】ばらばらな部品について関節を定義する手法の説明図である。
【図５７】立体関節マークと部品との干渉チェックの説明図である。
【図５８】ばらばらな部品について直動型関節を定義する手法の説明図である。
【図５９】ばらばらな部品について直動型関節を定義する手法の説明図である。
【図６０】ばらばらな部品について固体型関節を定義する手法の説明図である。
【図６１】ばらばらな部品について固体型関節を定義する手法の説明図である。
【図６２】関節リミット設定用の立体関節マーク（回転型関節の立体関節マーク）を示した図である。
【図６３】「関節リミット」画面の各例を示す図である。
【図６４】立体関節マークに付された最大値マーク、最小値マークの例を示す図である。
【図６５】立体関節マークに付された最大値マーク、最小値マークの例を示す図である。
【図６６】直動型関節についての、関節リミット設定用の立体関節マークを示した図である。
【図６７】直動型関節についての「関節リミット」画面の表示例を示した例である。
【図６８】直動型関節についての立体関節マークに付された最大値マーク、最小値マークの例を示す図である。
【図６９】直動型関節についての立体関節マークに付された最大値マーク、最小値マークの例を示す図である。
【図７０】関節リミット設定を行なう手法の説明図である。
【図７１】図７０を参照して説明した関節リミット設定方法の変形例を示す図である。
【図７２】ＣＧ画面上に二次元的に表示された部品を示す模式図である。
【図７３】ＣＧ画面上に二次元的に表示された部品に、二次元的に表示された立体関節マークを配置する様子を示した模式図である。
【図７４】部品（子部品）および親部品指定の一手法の説明図である。
【図７５】ＣＧ画面上に二次元的に表示された部品を示す模式図である。
【図７６】ＣＧ画面上に二次元的に表示された部品に、二次元的に表示された立体関節マーク（ここでは直動型関節用の立体関節マーク）を配置する様子を示した模式図である。
【図７７】メニューの流れを示す説明図である。
【図７８】関節設定メニューのプルダウンメニューを示す図である。
【図７９】関節座標系の作成規則を示す説明図である。
【図８０】組み立てられた状態の形状データを入力する場合の関節定義方式の説明図である。
【図８１】ばらばらな状態の部品の形状データを呼び込んで関節を設定する手順の説明図である。
【図８２】ばらばらな状態の部品の形状データを呼び込んで関節を設定する手順の説明図である。
【図８３】ばらばらな状態の部品の形状データを呼び込んで関節を設定する手順の説明図である。
【図８４】ばらばらな状態の部品の形状データを呼び込んで関節を設定する手順の説明図である。
【図８５】ばらばらな状態の部品の形状データを呼び込んで関節を設定する手順の説明図である。
【図８６】サブウインドウでの部品の待機と繰り上げの表示手法の説明図である。
【図８７】仮想的な関節モデルを含むＣＧ画面の例を示す図である。
【符号の説明】
１２  キーボード
１３  マウス
１４  ＣＲＴ表示部
２０  メニュー画面
３０  被解析用リンク機構のグラフィック画面
４０  リンク機構モデル画面
１００  リンク機構解析装置
１０１  ファイル記憶手段
１０２  入力手段
１０３  第１の操作子
１０４  第２の操作子
１０５  第３の操作子
１０６  演算手段
１０７  表示手段
１０８  第４の操作子
１０９  第１リンク検出手段
１１０  新リンク機構モデル生成手段
１１１  本体部
２０１  形状データ入力手段
２０２  関節定義用操作子
２０３  表示手段
２０４  関節データ演算手段
２０５  干渉チェック手段
２０６  関節リミット定義用操作子
【図１】
0003602518.tif 000010
【図２】
0003602518.tif 000011
【図３】
0003602518.tif 000012
【図４】
0003602518.tif 000013
【図５】
0003602518.tif 000014
【図６】
0003602518.tif 000015
【図７】
0003602518.tif 000016
【図８】
0003602518.tif 000017
【図９】
0003602518.tif 000018
【図１０】
0003602518.tif 000019
【図１１】
0003602518.tif 000020
【図１２】
0003602518.tif 000021
【図１３】
0003602518.tif 000022
【図１４】
0003602518.tif 000023
【図１５】
0003602518.tif 000024
【図１６】
0003602518.tif 000025
【図１７】
0003602518.tif 000026
【図１８】
0003602518.tif 000027
【図１９】
0003602518.tif 000028
【図２０】
0003602518.tif 000029
【図２１】
0003602518.tif 000030
【図２２】
0003602518.tif 000031
【図２３】
0003602518.tif 000032
【図２４】
0003602518.tif 000033
【図２５】
0003602518.tif 000034
【図２６】
0003602518.tif 000035
【図２７】
0003602518.tif 000036
【図２８】
0003602518.tif 000037
【図２９】
0003602518.tif 000038
【図３０】
0003602518.tif 000039
【図３１】
0003602518.tif 000040
【図３２】
0003602518.tif 000041
【図３３】
0003602518.tif 000042
【図３４】
0003602518.tif 000043
【図３５】
0003602518.tif 000044
【図３６】
0003602518.tif 000045
【図３７】
0003602518.tif 000046
【図３８】
0003602518.tif 000047
【図３９】
0003602518.tif 000048
【図４０】
0003602518.tif 000049
【図４１】
0003602518.tif 000050
【図４２】
0003602518.tif 000051
【図４３】
0003602518.tif 000052
【図４４】
0003602518.tif 000053
【図４５】
0003602518.tif 000054
【図４６】
0003602518.tif 000055
【図４７】
0003602518.tif 000056
【図４８】
0003602518.tif 000057
【図４９】
0003602518.tif 000058
【図５０】
0003602518.tif 000059
【図５１】
0003602518.tif 000060
【図５２】
0003602518.tif 000061
【図５３】
0003602518.tif 000062
【図５４】
0003602518.tif 000063
【図５５】
0003602518.tif 000064
【図５６】
0003602518.tif 000065
【図５７】
0003602518.tif 000066
【図５８】
0003602518.tif 000067
【図５９】
0003602518.tif 000068
【図６０】
0003602518.tif 000069
【図６１】
0003602518.tif 000070
【図６２】
0003602518.tif 000071
【図６３】
0003602518.tif 000072
【図６４】
0003602518.tif 000073
【図６５】
0003602518.tif 000074
【図６６】
0003602518.tif 000075
【図６７】
0003602518.tif 000076
【図６８】
0003602518.tif 000077
【図６９】
0003602518.tif 000078
【図７０】
0003602518.tif 000079
【図７１】
0003602518.tif 000080
【図７２】
0003602518.tif 000081
【図７３】
0003602518.tif 000082
【図７４】
0003602518.tif 000083
【図７５】
0003602518.tif 000084
【図７６】
0003602518.tif 000085
【図７７】
0003602518.tif 000086
【図７８】
0003602518.tif 000087
【図７９】
0003602518.tif 000088
【図８０】
0003602518.tif 000089
【図８１】
0003602518.tif 000090
【図８２】
0003602518.tif 000091
【図８３】
0003602518.tif 000092
【図８４】
0003602518.tif 000093
【図８５】
0003602518.tif 000094
【図８６】
0003602518.tif 000095
【図８７】
0003602518.tif 000096