JP6338389B2 - 動力学計算方法及びプログラム、並びにシミュレーション装置 - Google Patents

動力学計算方法及びプログラム、並びにシミュレーション装置 Download PDF

Info

Publication number
JP6338389B2
JP6338389B2 JP2014022359A JP2014022359A JP6338389B2 JP 6338389 B2 JP6338389 B2 JP 6338389B2 JP 2014022359 A JP2014022359 A JP 2014022359A JP 2014022359 A JP2014022359 A JP 2014022359A JP 6338389 B2 JP6338389 B2 JP 6338389B2
Authority
JP
Japan
Prior art keywords
component
model
calculation
parts
dynamic calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014022359A
Other languages
English (en)
Other versions
JP2015148994A5 (ja
JP2015148994A (ja
Inventor
裕宣 佐々木
裕宣 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014022359A priority Critical patent/JP6338389B2/ja
Priority to US14/611,413 priority patent/US10394969B2/en
Publication of JP2015148994A publication Critical patent/JP2015148994A/ja
Publication of JP2015148994A5 publication Critical patent/JP2015148994A5/ja
Application granted granted Critical
Publication of JP6338389B2 publication Critical patent/JP6338389B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Manipulator (AREA)

Description

本発明は、機構解析シミュレーション等に用いられる動力学計算方法及びプログラム並びに記録媒体に関する。特に、可動軸で接続された部品及び固定軸で接続された部品で構成される物体の動力学計算に用いて好適な、動力学計算方法及びプログラム並びに記録媒体に関する。
従来から、動作機構を備えた機械製品の設計時には、事前に製品の動作確認を行うために、コンピュータ等の計算機を利用した機構解析シミュレーションが行われている。機構解析シミュレーションでは、動力学モデル(シミュレーションモデルとも呼ぶ)に基づき順動力学に従った動力学計算を行うことで、製品全体の動きをシミュレーションする。製品の設計者(以下、ユーザと記す)は機構解析シミュレーションを行うことによって、製品の動作だけでなく、製品に含まれる部品同士の干渉及び各部品にかかる力などを解析することができる。
ところで、多数の部品を可動軸や固定軸で接続して構築された多軸ロボットなどでは、各軸へのトルク入力などに従って各部の変位/速度/加速度が変わり、時系列での姿勢が決定される。しかし、実際の多軸ロボットの動きは重力/慣性などの影響を受けることから、ユーザがそれらの影響を受けた動きを予測して製品設計を行うのは難しい。そこで、リンク機構を有する多軸ロボットの動作確認や周辺環境との干渉確認のためにシミュレーションを行う、リンク機構解析装置及びリンク機構間接データ演算装置が提案されている(特許文献1)。この装置では、リンク機構に関して駆動量あるいは駆動力を入力パラメータとして動力学計算を行うことで、全体の動きをシミュレーションする。
特許第3361007号公報
コンピュータ等を利用してシミュレーションを行う場合、ユーザは事前にコンピュータ上で多数の部品を可動軸や固定軸で接続して、シミュレーションモデルを構築する必要がある。特に多軸ロボットシステムのような、部品の交換、部品の位置変更、部品の組み合わせ変更等が頻繁に行われ得る製品のシミュレーションを行う場合には、再利用性の高いシミュレーションモデルが用いられる。これによれば、多軸ロボットシステムを構成する部品が予め細分化されているので、ユーザは必要に応じて部品の組み合わせを変更するだけで、幾通りものパターンのシミュレーションモデルを簡単に構築することができるので便利である。
しかし、従来では、再利用性をより高めるべく部品を細分化すればするほど、シミュレーションとしての利便性の低下が顕著であった。すなわち、部品を細分化すると、シミュレーションモデル構築のために組み合わせる部品の数は増える。そして、動力学計算は部品数に応じて計算量が増大するという特徴を有する。そのために、多数の部品が組み合わされて構築されたシミュレーションモデルを用いると、動力学計算にかかる処理負荷が増し、結果としてシミュレーション開始から結果出力までに時間を要するので使い勝手がよくなかった。
本発明は上記問題に鑑みてなされ、多数の部品が組み合わされて構築された動力学モデルに基づき動力学計算を行う場合に、処理負荷を上げずに精度の高い動力学計算を行うことのできる動力学計算方法及びプログラム、並びに記録媒体の提供を目的とする。
本発明は第一の部品と、前記第一の部品の葉方向に、部品同士を相対的に可動自在につなぐ可動軸で接続された第二の部品と、前記第二の部品の葉方向に、部品同士を固定してつなぐ固定軸で接続された第三の部品と、を含む物体の動作を計算する動力学計算方法であって、制御部が、前記第一の部品、前記第二の部品および前記第三の部品を合成して1つの部品体データを生成する部品体生成手順と、前記制御部が、前記生成された前記部品体データを用いて動力学計算用モデルを構築する構築手順と、前記制御部が、前記構築した動力学計算用モデルに基づき動力学計算を行う計算手順と、を備え、前記部品体生成手順が、前記第三の部品の質量情報を前記第二の部品の質量情報に合成する手順と、前記第一の部品の位置情報を前記第二の部品の位置情報に合成する手順と、を含む、ことを特徴とする動力学計算方法である
また、本発明は、ロボットの動きをシミュレーションするシミュレーション装置であって、前記ロボットを構成する部品同士を接続する軸が、相対的に可動自在につなぐ可動軸か、固定してつなぐ固定軸か、を選択する軸入力と、第一の部品と、前記第一の部品の葉方向に接続する第二の部品と、前記第二の部品の葉方向に接続する第三の部品を設定する部品入力と、が可能な入力手段と、前記入力手段による入力に応じて動力学計算用モデルを生成し、前記動力学計算用モデルに基づき動力学計算を行うことでロボットの動きをシミュレーションする制御手段と、を備え、前記制御手段は、前記入力手段により入力された軸が固定軸であり、前記第二の部品が前記第一の部品に可動軸で接続されており、前記第三の部品が前記第二の部品に固定軸で接続されている場合に、前記第一の部品の位置情報を前記第二の部品の位置情報に合成し、前記第三の部品の質量情報を前記第二の部品の質量情報に合成し、前記第一の部品、前記第二の部品および前記第三の部品を1つの部品体データとして前記動力学計算用モデルを生成する、ことを特徴とするシミュレーション装置である。
本発明によれば、可動軸で接続された部品に関して、当該部品の動きに追従する1乃至複数の固定軸で接続された部品を合成することで部品体を生成し、この部品体を用いて構築された動力学計算用モデルに基づき動力学計算が行われる。これにより、多数の部品が組み合わされて構築された動力学モデルが用いられても、処理負荷を上げずに精度の高い動力学計算を行うことができるようになる。
本発明に係る動力学計算方法を適用したシミュレーション処理を実行する装置を示すハード構成ブロック図である。 部品データ入力画面を示す概略図である。 本発明に係る動力学計算方法を適用したシミュレーション処理を示すフローチャートである。 動力学計算用モデル構築処理を示すフローチャートである。 固定軸接続部品合成処理を示すフローチャートである。 ユーザ設定モデルの一例を示す概略図である。 動力学計算用モデルの一例を示す概略図である。 動力学計算方法の別の実施形態を適用したシミュレーション処理を示すフローチャートである。
以下、図面を参照して本発明の実施形態を詳細に説明する。まず、本発明に係る動力学計算方法を適用したシミュレーション処理を実行する装置について、図1を用いて説明する。
<シミュレーション装置>
図1に示すシミュレーション装置10は例えばパーソナルコンピュータを用いて構成されており、そこにおいて、機構解析シミュレーションはコンピュータが所定の制御プログラム(後述する図3乃至図5参照)を実行することにより実施される。勿論、シミュレーション処理はコンピュータソフトウェアプログラムの形態に限られず、例えば、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能である。
図1に示すように、シミュレーション装置10は、CPU1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるコンピュータによって制御される。CPU1は、装置全体の動作を制御する制御部として機能する。このCPU1に対して、通信バス1D(例えばデータ及びアドレスバス)を介してROM2、RAM3、入力装置4、表示装置5、記憶装置6がそれぞれ接続されている。
ROM2は、CPU1により実行あるいは参照される制御プログラムや各種データ等を格納する。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。入力装置4は装置本体に接続されるマウスやキーボードであって、例えば部品データの入力やCPU1に対する各種制御命令を指示するための操作子として機能する。表示装置5は液晶表示パネル(LCD)やCRT等から構成されるディスプレイであって、例えば「部品データ入力画面」(後述する図2参照)などの各種画面、あるいはCPU1の制御状態などを表示する。
記憶装置6は、CPU1が実行するシミュレーション処理(図3参照)などの各種制御プログラムの他に、部品データ、部品体データ、ユーザ設定モデル、動力学計算用モデルなどの各種データを記憶する。なお、ROM2に制御プログラムが記憶されていない場合、記憶装置6に制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1に実行させることができる。また、記憶装置6はハードディスク装置に限られず、着脱自在な様々な形態のコンピュータ読み取り可能な記録媒体を利用する装置などであってよい。
<部品データ入力画面>
ユーザは、図1に示した装置でシミュレーション処理(図3参照)を実行することにより、機構解析シミュレーションを行うことができる。シミュレーション処理ではシミュレーションモデルに基づき動力学計算を行うがために、ユーザは予めシミュレーションモデルを構築しておく必要がある(以下、これをユーザ設定モデルと呼ぶ)。ユーザ設定モデルは、ユーザにより登録された部品の組み合わせに応じてその都度異なるモデルが構築される。そこで、ユーザ設定モデル構築のために、ユーザにシミュレーション対象の部品を登録させる「部品データ入力画面」について図2を用いて説明する。図2に示す部品データ入力画面は、登録する部品毎に、部品名称、部品種別、根本部品、部品の質量情報、部品の位置情報をユーザに入力させるための画面である。さらには、各部品の反発係数や摩擦係数などをユーザに入力させるための画面でもある。
「部品名称」は、シミュレーション対象として新たに登録する部品(以下、新規登録部品と記す)を入力する領域である。ユーザは、新規登録部品それぞれに任意に固有の名称を付すことができる。一例として、ベース部品、スライダ部品、フィンガ部品などが部品名称として入力され得る。「部品種別(種別情報)」は、新規登録部品を接続する軸が可動軸であるか固定軸であるかを入力する領域である。ユーザは、新規登録部品が可動軸で接続された部品である場合には「可動軸」、新規登録部品が固定軸で接続された部品である場合には「固定軸」をそれぞれ入力する。「根本部品」は、新規登録部品をつなげる根本部品を入力する領域である。ここでは、新規登録部品に対して根本方向で1つ前に位置する部品(これを便宜的に根本部品と呼んで区別する)が入力される。なお、可動軸としては、回転軸、並進軸、球面軸、自由軸などがある。
「慣性、重量、重心位置(部品の質量情報)」は、新規登録部品の慣性モーメント、重さ、重心位置をそれぞれ入力する領域である。「相対位置(部品の位置情報)」は、新規登録部品と根本部品との相対位置を入力する領域である。相対位置として、新規登録部品が属する部品座標系(例えば世界座標系、ベース部品座標系、スライダ部品座標系、フィンガ部品座標系等)の座標位置と、根本部品が属する部品座標系の座標位置とが入力される。「慣性、重量、重心位置(部品の質量情報)」及び「相対位置(部品の位置情報)」は、動力学計算時に入力パラメータとして用いられる。「反発係数」と「摩擦係数」は、新規登録部品の反発係数と摩擦係数をそれぞれ入力する領域である。後述するが(図8参照)、これら反発係数及び摩擦係数は、部品の反発や摩擦を考慮した動力学計算を行う場合に入力パラメータとして用いられ得る。
上記「部品データ入力画面」から入力された新規登録部品に関する各種情報は、入力された部品毎に部品データとして記憶装置6に記憶される。すなわち、部品データは、部品名称、部品種別(種別情報)、根本部品、部品の質量情報(慣性、重量、重心位置)、部品の位置情報(相対位置)を含み、さらには反発係数や摩擦係数を含んでいてもよい。
なお、本明細書において、可動軸とは部品同士を相対的に回転、並進、球面、自由など可動自在につなぐ軸のことであり、固定軸とは部品同士を相対的に動かないように固定してつなぐ軸のことである。可動軸の一例を挙げると、例えばヒンジジョイント、スライダジョイント、ユニバーサルジョイント等がある。固定軸で接続された部品は、根本方向の可動軸で接続された部品の動きに追従して動作する。また、各部品の位置座標を計算する際に基準とされる座標系(世界座標系)が設定された部品側を根本方向(根本側)と呼び、根本方向と反対側を葉方向(先端側)と呼んでいる。また、葉方向のモデル構造は閉リンクであっても構わない。その際は仮に閉リンクを切断すると、根方向と葉方向が決定される。
<シミュレーション処理>
次に、シミュレーションモデルに基づき動力学計算を行うことで物体全体の動きをシミュレーションする処理について説明する。図3は、本発明に係る動力学計算方法を適用したシミュレーション処理を示すフローチャートである。CPU1(制御部)は、ROM2や記憶装置6等に格納された該当の制御プログラムを読み出して以下の処理を実行する。
まず、ステップS1でユーザによる部品登録に応じてユーザ設定モデルを構築する(モデル構築手順)。すなわち、表示装置5に「部品データ入力画面」(図2参照)を表示して、ユーザに対しシミュレーション対象とする部品の登録を促す。表示装置5に「部品データ入力画面」が表示されることで、ユーザは「部品データ入力画面」から必要に応じて組み合わせを変えながら予め細分化された部品を登録できる。そして、ユーザにより登録された部品(より詳しくは部品データ)に従って、公知の方法によってユーザ設定モデルは構築される。つまり、登録された部品はユーザ設定モデルを構成する1つ1つの要素であり、世界座標系を基準に根本方向から葉方向に向かって順番に可動軸もしくは固定軸で接続されていく。構築されたユーザ設定モデルは、部品データと関連付けられて記憶装置6に記憶(保存)される。なお、既に構築済みであるユーザ設定モデル(及び該当する部品データ)を記憶装置6から読み出して利用する場合には、ステップS1の処理を実行しなくてよい。
<ユーザ設定モデル>
ここで、可動軸を介して部品を動作可能に接続して構成される多軸ロボットに関するユーザ設定モデルの一例を図6に示す。説明を理解しやすくするために、図6では多軸ロボットのアーム先端に装着されるハンド(電動グリッパ)であって、部品301〜部品305の5つの部品で構成されているものを例に示した。なお、部品301〜部品305はユーザにより部品データ入力画面から登録された部品であり、各根本部品からの相対位置として各座標系の原点が入力されているものとする。また、シミュレーションモデルにおいては、軸によって接続される各部品が属する部品座標系をもって表す。
図6に示すユーザ設定モデルにおいて、部品301は世界座標系306に配置された電動グリッパのベース部品であり、世界座標系306(具体的には不図示の架台など)に固定軸で接続されている。部品301は、世界座標系306の原点からベース部品座標系301‐1の原点へ相対位置301‐2をもって配置されている。相対位置301‐2は、部品301が属する部品座標系(ベース部品座標系)の座標位置と、当該部品301に対して根本方向で1つ前に位置する部品(根本部品)が属する部品座標系の座標位置とから求まる。ただし、部品301に関しては根本部品が存在しない。その場合、根本部品の部品座標系の代わりに世界座標系306を用いる。部品301の重心位置は、重心位置301‐3である。
部品302は、ベース部品座標系301‐1に配置された電動グリッパのスライダ部品であり、ベース部品座標系301‐1に並進の可動軸で接続されている。すなわち、部品302は、部品301に対し図6の左右方向に可動自在となっている。部品302は、ベース部品座標系301‐1の原点からスライダ部品座標系302‐1の原点へ相対位置302‐2をもって配置されている。すなわち、相対位置302‐2は、部品302が属するスライダ部品座標系の座標位置と、当該部品302に対して根本方向で1つ前に位置する部品301が属するベース部品座標系の座標位置とから求まる。部品302の重心位置は、重心位置302‐3である。
部品303は、スライダ部品座標系302‐1に配置された電動グリッパのフィンガ部品であり、スライダ部品座標系302‐1に固定軸で接続されている。部品303は、スライダ部品座標系302‐1の原点からフィンガ部品座標系303‐1の原点へ相対位置303‐2をもって配置されている。すなわち、相対位置303‐2は、部品303が属するフィンガ部品座標系の座標位置と、当該部品303に対して根本方向で1つ前に位置する部品302が属するスライダ部品座標系の座標位置とから求まる。部品303の重心位置は、重心位置303‐3である。
部品304は部品302と同様に、ベース部品座標系301‐1に配置された電動グリッパのスライダ部品であり、ベース部品座標系301‐1に並進の可動軸で接続されている。また、部品305は部品303と同様に、スライダ部品座標系302‐1に配置された電動グリッパのフィンガ部品であり、スライダ部品座標系302‐1に固定軸で接続されている。
上述のように、部品302と部品304は並進の可動軸で部品301に接続されたスライダ部品であり、部品303と部品305はそれぞれ固定軸で部品302と部品304に接続されたフィンガ部品である。したがって、部品302と部品304の各可動軸に対してなんらかの入力(トルク入力など)を与えた場合、ユーザ設定モデルの動作としては、部品303は部品302に追従して動作し、部品305は部品304に追従して動作する。
図3に示した処理の説明に戻り、ステップS2で動力学計算開始命令の取得を行う。動力学計算開始命令は、入力装置4を通じてユーザにより指示される。動力学計算開始命令を取得すると、動力学計算(ステップS4)を実行する前に「動力学計算用モデル構築処理」を実行する(ステップS3)。詳しくは後述するが(図4参照)、動力学計算モデル構築処理では、ユーザ設定モデルを元に、該ユーザ設定モデルを構成する部品数よりも部品の数を減らした動力学計算用モデルを新たに構築して記憶装置6に記憶する。
動力学計算用モデル構築処理が終了したら、ステップS4で、記憶装置6から動力学計算用モデルを取得し、当該動力学計算用モデルに基づき動力学計算を実行する(計算手順)。この動力学計算では、順動力学に従った計算が行われる。動力学計算の実行に伴いシミュレーションが行われて、そのシミュレーション結果は表示装置5に表示される。ユーザは表示装置5に表示されたシミュレーション結果を見て、当該製品(電動グリッパ)の動作や、製品に含まれる部品同士の干渉や各部品にかかる力などを解析することができる。こうして、ユーザはシミュレーションを行うことで、実際に製品を試作等しなくとも設計した製品の動作を机上で検討したり確認したりすることができる。
<動力学計算用モデル構築処理>
動力学計算用モデル構築処理(図3のステップS3)について、図4を用いて説明する。図4に示すように、まず記憶装置6からユーザ設定モデルを取得する(ステップS11)。ユーザ設定モデルを取得すると、該ユーザ設定モデルを構成する部品のうち、最も根本に近い位置に配置された部品を選択する(ステップS12)。最も根本に近い位置に配置された部品とは、各部品の位置座標を計算する際に基準とされる座標系(世界座標系)が設定された部品であり、図6の例では部品301が該当する。そして、ステップS13で、該選択した部品(詳しくは部品データ)を記憶装置6から取得する(取得手順)。
次に、取得した部品が固定軸で接続された部品であるか否かを判定する(ステップS14)。固定軸接続部品であるか否かは、固定軸で根本方向の部品又は世界座標系306に接続されているか否かによって判定する。取得した部品が固定軸で根本方向の部品又は世界座標系306に接続されていない場合には(ステップS14のNO)、ステップS16の処理へジャンプする。他方、取得した部品が固定軸で根本方向の部品又は世界座標系306に接続されている場合には(ステップS14のYES)、固定軸接続部品であるとして「固定軸接続部品合成処理」(部品体生成手順)を実行する(ステップS15)。図6に示したユーザ設定モデルの場合、部品301は世界座標系306に固定軸で接続されている。また、部品303と部品305は、根本方向の部品302と部品304にそれぞれ固定軸で接続されている。したがって、取得した部品が部品301、部品303、部品305である場合には、固定軸接続部品合成処理を実行する。他方、部品302と部品304は並進の可動軸で部品301に接続されている。つまり、部品302及び部品304は、根本方向の部品又は世界座標系306に固定軸で接続されていない。したがって、取得した部品が部品302及び部品304である場合には、固定軸接続部品合成処理を実行しない。
ステップS16で、取得した部品を加えて動力学計算用モデルを構築する(構築手順)。構築した動力学計算用モデルは、記憶装置6に記憶される。この動力学計算用モデルは、取得済みの部品を用いて構築される。ただし、後述する「固定軸接続部品合成処理」(図5参照)の実行に伴い、質量情報及び位置情報が合成された部品である場合には、合成後の質量情報及び位置情報を持つ部品体(詳しくは部品体データ)を用いて動力学計算用モデルを構築する。動力学計算用モデルの構築後、ユーザ設定モデルに含まれる部品のすべてを取得したか否かを判定する(ステップS17)。すべての部品を取得済みでない場合には(ステップS17のNO)、葉方向に向かって次の部品を選択して(ステップS18)、上記したステップS13〜S16の処理を繰り返す。他方、すべての部品を取得済みである場合には(ステップS17のYES)、本動力学計算用モデル構築処理を終了する。
<固定軸接続部品合成処理>
固定軸接続部品合成処理(図4のステップS15)について、図5を用いて説明する。図5に示すように、まず取得した部品に対して根本部品が存在するか否かを判定する(ステップS21)。根本部品が存在する場合には(ステップS21のYES)、取得した部品の質量情報を当該根本部品の質量情報に合成する(ステップS22)。つまり、固定軸で接続された部品の質量情報は、当該部品に対して根本方向で1つ前に位置する部品の質量情報に合成される。次に、取得した部品に対して葉方向に部品が存在するか否かを判定する(ステップS23)。葉方向に部品が存在する場合には(ステップS23のYES)、取得した部品の位置情報を当該部品に対して葉方向に位置する部品の位置情報に合成する(ステップS24)。
根本方向から葉方向に接続された部品毎に固定軸接続部品合成処理が繰り返されることで、固定軸で接続された部品の質量情報は根本方向に向かって、可動軸で接続された部品の質量情報に合成される。他方、固定軸で接続された部品の位置情報は葉方向に位置する部品の位置情報に合成される。
ここで、部品の質量情報の合成及び部品の位置情報の合成について説明する。部品の質量情報とは、重量・重心位置・慣性モーメントの3つを指す。以下では、部品「A」の質量情報と部品「B」の質量情報を合成して新たな質量情報を持つ部品体「C」を生成する場合を例に説明する。
<質量情報の合成>
部品同士の重量の合成は、以下に示す数1式で計算する。
Figure 0006338389
ここで、Mは部品の重量を表す。
部品同士の重心位置の合成は、以下に示す数2式で計算する。
Figure 0006338389
ここで、COGは部品の重心位置を表す。
部品同士の慣性モーメントの合成は、平衡軸の定理を利用して計算する。まず、それぞれの部品について重心を通る軸に関する慣性モーメントをIgとしたとき、この軸に並行に三次元距離S=(x、y、z)だけ離れた位置での慣性モーメントIは以下に示す数3式で計算することができる。ただし、数3式における「E」は単位行列である。なお、「T」は転置行列を表す記号である。
Figure 0006338389
そして、部品同士の慣性モーメントを合成するには、平衡軸の定理を利用して慣性モーメントの中心軸を合致させ、足し合わせる。部品「A」の慣性モーメントと部品「B」の慣性モーメントを合成した部品体「C」の慣性モーメントは、以下に示す数4式で計算する。
Figure 0006338389
ただし、数4式におけるSACは、部品「A」の重心から部品体「C」の重心までの3次元距離であり、SBCは、部品「B」の重心から部品体「C」の重心までの3次元距離である。数4式における「E」は単位行列である。なお、「T」は転置行列を表す記号である。
以上のようにして、部品「A」と部品「B」の質量情報の合成を行うことによって新たな質量情報を持つ部品体「C」を生成する。
<位置情報の合成>
一方、部品の位置情報とは、平衡移動パラメータと回転移動パラメータとを指す。例えば3次元空間での位置情報が回転並進を意味する4×4の同次変換行列で表される場合において、部品「A」の位置情報を部品「B」の位置情報に合成して部品「B」の新しい位置情報を計算する式を以下の数5式に示す。
Figure 0006338389
上記数5式では、各部品の根本方向の部品座標系からの相対位置を表す同時変換行列を「R」で記している。これを用いて位置情報の合成を行うことで求められる部品「B」の新しい位置情報が、部品体「C」の位置情報に該当する。
<動力学計算用モデル>
上述の固定軸接続部品合成処理が繰り返し実行されると(ステップS14〜S18)、可動軸で接続された部品の動きに追従する1乃至複数の固定軸で接続された部品が合成され、可動軸で接続された部品毎に可動軸で接続された1つの部品体が生成される。そして、これらの部品体により動力学計算用モデルは構築されている。そこで、上述した動力学計算用モデル構築処理によって構築される動力学計算用モデルの一例を図7に示す。図7に示す動力学計算用モデルは、図6に示すユーザ設定モデルを元に構築されたものである。以下、順を追って説明する。ただし、部品304と部品305についてはそれぞれ部品302と部品303と同様の処理が行われることから、ここでは説明を省略する。
図6に示すユーザ設定モデルでは、根本方向から葉方向に向かって接続された部品301〜部品303の部品データが順に取得される。部品301は世界座標系306に固定軸で接続されていることから、固定軸接続部品合成処理が行われる。部品301には根本部品が存在しないことから、質量情報の合成は行われない。他方、部品301には葉方向に部品302が存在することから、部品301の位置情報(301‐2)は部品302の位置情報(302‐2)に合成される。このとき、部品302の部品データを元に位置情報が合成後の位置情報(401‐1)に書き換えられた第一部品体データが生成される。部品の位置情報は根本部品からの相対位置として登録されているが、位置情報の合成が行われた場合、合成後の位置情報は固定軸接続部品の根本部品(存在しない場合は世界座標系)からの相対位置を持つ。続いて、動力学計算用モデルの構築が行われるが、世界座標系306に固定軸で接続された部品301は動力学計算の際に計算対象としないので、動力学計算用モデルには含まれない。
部品302は可動軸で接続された部品であるので、固定軸接続部品合成処理は行われない。したがって、質量情報の合成及び位置情報の合成は行われない。動力学計算用モデルの構築の際には部品データでなく、部品301の位置情報(301‐2)が合成された位置情報(401‐2)を持つ第一部品体データが用いられる。
部品303は固定軸で接続された部品であるので、固定軸接続部品合成処理が行われる。部品303の根本部品は部品302であることから、部品303の質量情報(重心位置303‐3)は部品302の質量情報(重心位置302‐3)に合成される。このとき、既に生成済みの第一部品体データの質量情報が合成後の質量情報(重心位置401‐3)に書き換えられて第一部品体データが更新される。なお、部品303には葉方向に部品が存在しないことから、位置情報の合成は行われない。動力学計算用モデルの構築の際には、部品301の位置情報が合成された位置情報(401‐2)及び部品303の質量情報が合成された質量情報(重心位置401‐3)を持つ第一部品体データが用いられる。こうして新たな位置情報(401‐2)と、新たな質量情報(重心位置401‐3)とを持つ第一部品体401が動力学計算用モデルに生成される。また、第二部品体データが用いられることで、新たな位置情報(402‐2)と新たな質量情報(新たな重心位置402‐3)とを持つ第二部品体402が動力学計算用モデルに生成される。
なお、動力学計算用モデル構築処理において、例えば固定軸接続部品合成処理の実行に伴い合成した部品が一つも存在しないような場合には、ユーザ設定モデルがそのまま動力学計算用モデルとして記憶装置6に記憶される。
シミュレーションモデルに基づき動力学計算を行う場合、モデルを構成する各部品毎に外力や加速度を計算しなければならない。そうであるならば、図6に示すユーザ設定モデルでは、5つの部品301〜305それぞれに対して動力学計算を行う必要がある。これに対し、図7に示す動力学計算用モデルでは、部品302と部品303とが合成された第一部品体401、部品304と部品305とが合成された第二部品体402の2つの部品それぞれに対して動力学計算を行えばよい。すなわち、シミュレーション対象とする部品の数が5個から2個へ削減される。動力学計算は部品数に応じて計算量が増えていくため、計算対象の部品数は少なければ少ないほどよい。したがって、上述のようにして根本方向の部品との相対位置が変化しない固定軸で接続された部品について事前に可動軸で接続された部品に合成することは、動力学計算の計算量の削減に寄与し、もって処理負荷を減らすことに通ずる。具体的には、図6に示すユーザ設定モデルに基づき動力学計算を行った場合に比べ、図7に示す動力学計算用モデルに基づき動力学計算を行うことで計算量を60%削減でき、もってシミュレーションにかかる時間を従来に比べて短縮できる。
以上のように、ユーザによって可動軸や固定軸で接続された多数の部品で構成されるユーザ設定モデルが構築されても、動力学計算の際には、可動軸で接続された部品に固定軸で接続された部品が合成されて部品数の削減された動力学計算用モデルが用いられる。部品数の削減された動力学計算用モデルに基づき動力学計算を行うので、シミュレーションにかかる時間を従来に比べて短縮できる。また、ユーザは、部品の交換や位置変更さらには部品の組み合わせ変更が行い易い再利用性の高いシミュレーションモデルを、組み合わせる部品数が多くとも、気兼ねなく使用することができる。つまり、ユーザにとっては精度を高めるために組み合わせる部品の数と、部品数を増やすことに伴うシミュレーションに要する時間とを比較しながらモデルを構築しなくてもよくなるので、動力学計算によるシミュレーションの利便性が高まる。
<第2実施形態>
ところで、部品の反発や摩擦が考慮されたシミュレーションを行う場合、部品毎に反発係数や摩擦係数を設定できるとよい。例えば図6に示したユーザ設定モデルの場合、部品302、部品303、部品304、部品305に対し、それぞれ異なる反発係数や摩擦係数を設定できる。しかし、図7に示す動力学計算用モデルでは、第一部品体401と第二部品体402に対してのみしか反発係数や摩擦係数を設定することができない。そこで、合成前の各部品の反発や摩擦を考慮したいような場合には、ユーザ設定モデルで各部品の反発や摩擦を考慮した計算を行い、その後に動力学計算用モデルで動力学計算を行うとよい。そうしたシミュレーション処理の一例を図8に示す。なお、ここでは上述した図3に示したシミュレーション処理と説明の重複する部分について同一の符号を付して説明を省略する。
図8に示すシミュレーション処理と図1に示すシミュレーション処理との違いは、動力学計算用モデル構築処理(図3のステップS3)の実行後に、部品毎の外力計算(ステップS50)を行ってから動力学計算(ステップS4)を行う点である。すなわち、ステップS50の部品毎の外力計算(外力算出手順)では、記憶装置6からユーザ設定モデルを取得し、該取得したユーザ設定モデルに基づき部品毎に反発力や摩擦力を計算する。そして、動力学計算(ステップS4)時には、計算した反発力や摩擦力などの外力を動力学計算の入力パラメータとして動力学計算を行う。このとき、ユーザ設定モデルの各部品に働く反発力や摩擦力は各部品の座標系での位置と方向を持つことから、固定軸で接続された部品に反発力や摩擦力が発生した場合には、固定軸で接続された部品の質量情報が合成された部品体に働く力として処理する。このようにして、接触力を考慮したシミュレーションを行う場合には、接触点に対応したユーザ設定モデルの各部品に設定される反発係数や摩擦係数を用いて接触力を計算し、この接触力を動力学計算用モデルに基づく動力学計算の際に反映させる。
以上のように、部品毎の反発力や摩擦力の計算では部品数の多いユーザ設定モデルをそのまま用い、動力学計算では部品数を削減した動力学計算用モデルを用いるようにした。そして、動力学計算時には、ユーザ設定モデルを用いて求めた反発力や摩擦力などを入力パラメータとして用いることのできるようにした。こうすることで、ユーザは部品の反発や摩擦などが考慮されたより精度の高いシミュレーションを、シミュレーション開始から結果出力までに時間をかけることなく行うことができるので有利である。
1…CPU(演算部)、2…ROM、3…RAM、4…入力装置、5…表示装置
6…記憶装置、10…シミュレーション装置、302,304…可動軸で接続された部品
303,305…固定軸で接続された部品、401…第一部品体、402…第二部品体

Claims (7)

  1. 第一の部品と、前記第一の部品の葉方向に、部品同士を相対的に可動自在につなぐ可動軸で接続された第二の部品と、前記第二の部品の葉方向に、部品同士を固定してつなぐ固定軸で接続された第三の部品と、を含む物体の動作を計算する動力学計算方法であって、
    制御部が、前記第一の部品、前記第二の部品および前記第三の部品を合成して1つの部品体データを生成する部品体生成手順と、
    前記制御部が、生成された前記部品体データを用いて動力学計算用モデルを構築する構築手順と、
    前記制御部が、前記構築した動力学計算用モデルに基づき動力学計算を行う計算手順と、を備え
    前記部品体生成手順が、前記第三の部品の質量情報を前記第二の部品の質量情報に合成する手順と、前記第一の部品の位置情報を前記第二の部品の位置情報に合成する手順と、を含む、
    ことを特徴とする動力学計算方法。
  2. 前記可動軸で接続された部品及び前記固定軸で接続された部品毎に、当該部品の質量情報位置情報および当該部品の接続された軸が可動軸か固定軸かを示す種別情報のうち少なくとも1つを含む部品データを前記制御部が取得する取得手順と、
    前記部品データに応じた複数の部品を用いて、ユーザ設定モデルを前記制御部が構築するモデル構築手順と、
    前記構築したユーザ設定モデルを用いて、前記部品データに応じた複数の部品毎に各部品に係る外力を前記制御部が求める外力算出手順と、を備え、
    前記外力算出手順は、前記構築した動力学計算用モデルに基づき動力学計算を行う際に、前記生成された部品体に関し、前記求めた部品毎に係る外力を反映して動力学計算を行う、
    ことを特徴とする請求項1に記載の動力学計算方法。
  3. 前記物体は、複数の可動軸を介して複数の部品を動作可能に接続して構成される多軸ロボットである、
    ことを特徴とする請求項1又は2に記載の動力学計算方法。
  4. 請求項1乃至3のいずれか一項に記載の動力学計算方法をコンピュータに実行させるためのプログラム。
  5. 請求項4に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  6. ロボットの動きをシミュレーションするシミュレーション装置であって、
    前記ロボットを構成する部品同士を接続する軸が、相対的に可動自在につなぐ可動軸か、固定してつなぐ固定軸か、を選択する軸入力と、
    第一の部品と、前記第一の部品の葉方向に接続する第二の部品と、前記第二の部品の葉方向に接続する第三の部品を設定する部品入力と、が可能な入力手段と、
    前記入力手段による入力に応じて動力学計算用モデルを生成し、前記動力学計算用モデルに基づき動力学計算を行うことでロボットの動きをシミュレーションする制御手段と、を備え、
    前記制御手段は、前記入力手段により入力された軸が固定軸であり、前記第二の部品が前記第一の部品に可動軸で接続されており、前記第三の部品が前記第二の部品に固定軸で接続されている場合に、
    前記第一の部品の位置情報を前記第二の部品の位置情報に合成し、
    前記第三の部品の質量情報を前記第二の部品の質量情報に合成し、
    前記第一の部品、前記第二の部品および前記第三の部品を1つの部品体データとして前記動力学計算用モデルを生成する、
    ことを特徴とするシミュレーション装置。
  7. 前記制御手段は、
    前記可動軸で接続された部品及び前記固定軸で接続された部品毎に、質量情報、位置情報および当該部品の接続された軸が可動軸か固定軸かを示す種別情報の少なくとも1つを含む部品データを取得する手段と、
    前記部品データに応じた複数の部品を用いてユーザ設定モデルを構築するモデル構築手段と、
    構築した前記ユーザ設定モデルを用いて前記部品データに応じた複数の部品毎に各部品に係る外力を求める外力算出手段と、を備え、
    前記外力算出手段は、前記動力学計算用モデルに基づき動力学計算を行う際に、生成された前記部品体データに関し、部品毎に求めた前記外力を反映して動力学計算を行う、
    ことを特徴とする請求項6に記載のシミュレーション装置。
JP2014022359A 2014-02-07 2014-02-07 動力学計算方法及びプログラム、並びにシミュレーション装置 Active JP6338389B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014022359A JP6338389B2 (ja) 2014-02-07 2014-02-07 動力学計算方法及びプログラム、並びにシミュレーション装置
US14/611,413 US10394969B2 (en) 2014-02-07 2015-02-02 Dynamics calculation method, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014022359A JP6338389B2 (ja) 2014-02-07 2014-02-07 動力学計算方法及びプログラム、並びにシミュレーション装置

Publications (3)

Publication Number Publication Date
JP2015148994A JP2015148994A (ja) 2015-08-20
JP2015148994A5 JP2015148994A5 (ja) 2017-03-16
JP6338389B2 true JP6338389B2 (ja) 2018-06-06

Family

ID=53775129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014022359A Active JP6338389B2 (ja) 2014-02-07 2014-02-07 動力学計算方法及びプログラム、並びにシミュレーション装置

Country Status (2)

Country Link
US (1) US10394969B2 (ja)
JP (1) JP6338389B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6549654B2 (ja) * 2017-08-03 2019-07-24 ファナック株式会社 ロボットシステムのシミュレーション装置およびシミュレーション方法
US11169601B2 (en) * 2018-07-12 2021-11-09 Toyota Research Institute, Inc. Methods and systems for determining teleoperating user intent via eye tracking
WO2020031333A1 (ja) * 2018-08-09 2020-02-13 株式会社Fuji シミュレーション方法およびシミュレーションシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4925312A (en) * 1988-03-21 1990-05-15 Staubli International Ag Robot control system having adaptive feedforward torque control for improved accuracy
JP3361007B2 (ja) 1995-11-07 2003-01-07 富士通株式会社 リンク機構解析装置
US5767648A (en) * 1996-04-19 1998-06-16 Massachusetts Institute Of Technology Base force/torque sensor apparatus for the precise control of manipulators with joint friction and a method of use thereof
EP1034899B1 (en) * 1998-06-09 2011-03-30 Sony Corporation Robot and method of its attitude control
US7457698B2 (en) * 2001-08-31 2008-11-25 The Board Of Regents Of The University And Community College System On Behalf Of The University Of Nevada, Reno Coordinated joint motion control system
JP4619851B2 (ja) * 2005-04-05 2011-01-26 シャープ株式会社 設計支援装置および設計支援方法
US8065060B2 (en) * 2006-01-18 2011-11-22 The Board Of Regents Of The University And Community College System On Behalf Of The University Of Nevada Coordinated joint motion control system with position error correction
US8504337B2 (en) * 2007-01-17 2013-08-06 Caterpillar Inc. Method and system for analyzing three-dimensional linkages
US8099184B2 (en) * 2009-04-13 2012-01-17 Rimrock Automation, Inc. Load compensation for robotic applications
JP2012226603A (ja) * 2011-04-20 2012-11-15 Sansho:Kk シミュレーションデータ生成装置およびシミュレーションデータ生成プログラム
EP2523132A1 (en) * 2011-05-11 2012-11-14 Dassault Systèmes Designing a three-dimensional modeled assembly of objects in a three-dimensional scene
JP5897532B2 (ja) * 2013-11-05 2016-03-30 ファナック株式会社 三次元空間に置かれた物品をロボットで取出す装置及び方法

Also Published As

Publication number Publication date
US10394969B2 (en) 2019-08-27
US20150227653A1 (en) 2015-08-13
JP2015148994A (ja) 2015-08-20

Similar Documents

Publication Publication Date Title
US20180036882A1 (en) Layout setting method and layout setting apparatus
CN107530879B (zh) 多轴机械装置仿真器、运转指令装置的设计辅助装置、电动机控制装置的设计辅助装置以及电动机的容量选定装置
WO2013038544A1 (ja) ロボットシステム及びロボット制御装置
JP2019084664A (ja) プログラミング支援装置、ロボットシステム及びプログラム生成方法
US20180036883A1 (en) Simulation apparatus, robot control apparatus and robot
JP6571616B2 (ja) ロボットシミュレーション装置
JP6338389B2 (ja) 動力学計算方法及びプログラム、並びにシミュレーション装置
JP2018008347A (ja) ロボットシステムおよび動作領域表示方法
JP3785349B2 (ja) シミュレーション装置
CN114041828B (zh) 超声扫查控制方法、机器人及存储介质
Maurice et al. Digital human modeling for collaborative robotics
JP4584905B2 (ja) 車両用シミュレーションモデル作成装置
JP2020175471A (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP2015148994A5 (ja)
JP6576125B2 (ja) シミュレーション方法及びシミュレーション装置
Griffa et al. Kinematic optimization for the design of a ur5 robot end-effector for cardiac tele-ultrasonography
CN116310231A (zh) 一种基于混合现实的工程装备实时交互系统及运动仿真方法
JP2021164978A (ja) 情報処理方法、情報処理装置、プログラム及び記録媒体
WO2020075834A1 (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
JP2006346840A (ja) 情報処理装置
JP5594088B2 (ja) 製造ラインの検討システム
JP6155570B2 (ja) データ表示装置、方法、プログラム
RU160034U1 (ru) Устройство ввода с тактильной обратной связью с дополнительными степенями свободы
D'Andrea et al. A PhysX-based framework to develop rehabilitation using haptic and virtual reality
JP5104298B2 (ja) 解析モデル作成装置及び方法並びにプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180508

R151 Written notification of patent or utility model registration

Ref document number: 6338389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151