JP6576125B2 - シミュレーション方法及びシミュレーション装置 - Google Patents

シミュレーション方法及びシミュレーション装置 Download PDF

Info

Publication number
JP6576125B2
JP6576125B2 JP2015133451A JP2015133451A JP6576125B2 JP 6576125 B2 JP6576125 B2 JP 6576125B2 JP 2015133451 A JP2015133451 A JP 2015133451A JP 2015133451 A JP2015133451 A JP 2015133451A JP 6576125 B2 JP6576125 B2 JP 6576125B2
Authority
JP
Japan
Prior art keywords
point
setting
deformation
component
auxiliary
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
JP2015133451A
Other languages
English (en)
Other versions
JP2017016458A (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 JP2015133451A priority Critical patent/JP6576125B2/ja
Priority to US15/193,543 priority patent/US20170004237A1/en
Publication of JP2017016458A publication Critical patent/JP2017016458A/ja
Application granted granted Critical
Publication of JP6576125B2 publication Critical patent/JP6576125B2/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
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Description

本発明は、三次元有限要素法を用いて部品を変形させるシミュレーションを実行するシミュレーション方法及びシミュレーション装置に関する。
近年、有限要素法を用いて、部品にかかる重力や外力を考慮した部品変形のシミュレーションが行われている。有限要素法には、ビーム要素を用いて演算する一次元有限要素法、シェル要素を用いて演算する二次元有限要素法、ソリッド要素を用いて演算する三次元有限要素法がある。例えば棒状部材の変形などを演算する場合は一次元有限要素法が、例えば板状部材の変形などを演算する場合は二次元有限要素法が好適であるが、複雑な三次元形状の部材の変形を演算する場合は三次元有限要素法が好適である。例えば精密部品を組立てる多関節ロボットなどにおいては、一次元や二次元の要素に置き換えても精度が良好でないので、三次元有限要素法を用いて部品を変形させるシミュレーションを行うことが好適である。
例えば多関節ロボットの場合、各関節の角度などにより加わる負荷力が変化するので、動作に応じた変形をシミュレーションにより求め、多関節ロボットの精密な解析を行う事ができる。また、シミュレーションの結果を用いて、多関節ロボットの軌道計算や駆動指令の計算などにも反映させたり、他の物体への干渉が生じるか否かを確認したりすることができる。例えば多関節ロボットにおいて、三次元有限要素法を用いて部品変形のシミュレーションを行う場合、各関節におけるフレーム同士の接合点を設定し、部品変形後の接合点の位置を求める。また、手先の位置を観察するための観察点を設定し、部品変形後の観察点の位置を求める。このように各関節の接合点の位置、手先の観察点の位置をそれぞれ求めていくことで、部品変形後の多関節ロボットの高精度な位置を求めることが可能となる。
三次元有限要素法では、部品に対して節点を設定することで、例えば四面体、五面体、六面体などのソリッド要素でメッシュを設定する。この際、上述した接合点や観察点などの位置を求めたい点を、節点として設定すると、部品を変形させる演算を行った後の節点の位置から、部品変形後の接合点や観察点の位置が求まる。しかしながら、それら接合点や観察点などを設定する際は、部品上の自由な位置に設定できることが好ましく、それら接合点や関節点を節点として設定するためには、節点を増やしてメッシュを設定し直す作業が求められる。
そのため、機構システムにおける部品変形後の関節位置(つまり接合点の位置)を、形状関数を用いて計算するものが提案されている(特許文献1参照)。この形状関数は、部品の変形に伴う上記関節位置の変位と節点の変位の関係性を表す関数である。このように節点位置と関節位置との関係を、制約条件式である形状関数で表すことで、節点を増やしてメッシュを設定し直す作業を省略できる。また、関節にかかる力が対応する節点に分散され、その力が1つの節点に集中し難くなるという利点もある。
特開平6−34012号公報
ところで、三次元有限要素法の演算手法では、節点の位置を演算する際に並進3自由度のみを演算しており、回転方向には拘束されていない。例えば多関節ロボットの関節などは、関節の回転方向が1方向であり、2方向には拘束されているが、三次元有限要素法を用いた部品変形のシミュレーションでは、節点に関して位置のみを演算していることになる。従って、上記特許文献1のように関節位置を形状関数によって計算しても、関節位置だけが求まり、回転方向には拘束できていなく、つまり特許文献1の演算手法は、球面関節の場合のみに有効であるという問題がある。
また、三次元有限要素法を用いた部品変形のシミュレーションを行う際に、関節位置(つまり接合点)に対応するメッシュ要素の節点やその周囲の節点を固定することが考えられる。これにより、部品にかかる力が1つの節点にかかるのを防ぐと共に部品が関節の回転方向以外の方向へ回転してしまうのを防ぐことが可能になる。しかしながら、このように一部の節点を固定してしまうと、固定した部分が変形しないことになるので、関節の周辺で解析の精度が低下し、つまり部品変形後の多関節ロボットの高精度の位置を求めることができなくなるという問題がある。
そこで本発明は、部品に対して設定した任意点の部品の変形後における姿勢を演算可能にし、もって高精度な解析を実行可能なシミュレーション方法及びシミュレーション装置を提供することを目的とするものである。
本発明は、演算装置によって、三次元有限要素法を用いて部品を変形させるシミュレーションを実行するシミュレーション方法において、前記演算装置は、変形させる部品の形状を設定する形状設定工程と、前記部品に複数の節点を設定することでメッシュを設定するメッシュ設定工程と、前記部品の変形前の位置及び姿勢を設定する位置設定工程と、前記変形前の部品に対して、任意の位置及び姿勢を有する任意点を設定する任意点設定工程と、前記部品の変形前に、前記任意点に対して異なる位置に2以上の補助点をそれぞれ異なる方向に設定する補助点設定工程と、前記部品を変形させる演算を実行する変形演算工程と、前記部品の変形後における前記任意点の位置及び前記補助点の位置を演算する変形後位置演算工程と、前記部品の変形後における前記任意点の位置と前記補助点の位置とから前記任意点の姿勢を演算する任意点姿勢演算工程と、を実行することを特徴とする。
また本発明は、三次元有限要素法を用いて部品を変形させるシミュレーションを実行する演算装置を備えたシミュレーション装置において、前記演算装置は、変形させる部品の形状を設定する形状設定処理と、前記部品に複数の節点を設定することでメッシュを設定するメッシュ設定処理と、前記部品の変形前の位置及び姿勢を設定する位置設定処理と、前記変形前の部品に対して、任意の位置及び姿勢を有する任意点を設定する任意点設定処理と、前記部品の変形前に、前記任意点に対して異なる位置に2以上の補助点をそれぞれ異なる方向に設定する補助点設定処理と、前記部品を変形させる演算を実行する変形演算処理と、前記部品の変形後における前記任意点の位置及び前記補助点の位置を演算する変形後位置演算処理と、前記部品の変形後における前記任意点の位置と前記補助点の位置とから前記任意点の姿勢を演算する任意点姿勢演算処理と、を実行することを特徴とする。
本発明によると、部品の変形前に任意点と2以上の補助点とを設定し、部品の変形後における任意点と2以上の補助点との位置を演算すると共にそれらの位置から任意点の姿勢を演算することができ、高精度な解析を実行することができる。
本シミュレーションを実行可能な演算装置を示すブロック図。 本シミュレーションの各処理を示すメインフローチャート。 部品設定処理を示すサブフローチャート。 機構設定処理を示すサブフローチャート。 シミュレーション処理を示すサブフローチャート。 第1の実施の形態においてシミュレーションにより変形させる部品及び観察点を示す図。 第1の実施の形態において部品に節点及びメッシュを設定した状態を示す図。 第1の実施の形態において変形前に設定した補助点を示す図。 第1の実施の形態において観察点に対応するメッシュ要素及びその節点を示す図。 第1の実施の形態において変形後の部品と観察点及び補助点を示す図。 第2の実施の形態においてシミュレーションにより変形させる多関節ロボットと接合点及び観察点とを示す図。 第2の実施の形態において多関節ロボットを構成する部品を示す図。
<第1の実施の形態>
以下、本発明に係る第1の実施の形態について図1乃至図10に沿って説明する。まず、本実施の形態に係る部品を変形させるシミュレーションを実行可能な演算装置(コンピュータシステム)の一例を図1に沿って説明する。図1は、本シミュレーションを実行可能な演算装置を示すブロック図である。
図1に示すように、シミュレーション装置として機能する演算装置1は、演算部としてのCPU20、記憶媒体としてのROM21、RAM22、HDD23、記録ディスクドライブ24、及び各種のインターフェース25,26,27,28を備えている。CPU20には、これらROM21、RAM22、HDD23、記録ディスクドライブ24及び各種のインターフェース25,26,27,28が、バス29を介して相互に通信可能に接続されている。
ROM21には、CPU20を動作させるための各種のプログラムが格納されており、CPU20は、ROM21に格納されたプログラムに基づいて後述する部品変形のシミュレーションの演算処理を実行可能となっている。RAM22は、CPU20の処理結果を一時的に記憶するための記憶手段である。HDD23は、記憶装置であり、部品データ、三次元有限要素法の計算式等の各種情報を予め記憶している。また、HDD23は、CPU20による演算結果等のデータをCPU20の指令の下で記憶する。
また、演算装置1には、インターフェース25を介して接続されたキーボード11及びインターフェース26を介して接続されたマウス12等の操作入力部が備えられており、各種の操作入力を受付可能となっている。さらに、演算装置1には、インターフェース25を介して接続されたモニタ13が備えられており、データ入力(編集)画面、部品等を仮想三次元空間に表示する表示画面などの各種画面が表示可能となっている。また、インターフェース28は、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置14が接続可能に構成されている。そして、記録ディスクドライブ24は、記録媒体の一例である記録ディスク15に記録された各種データを読み出すことができ、記録ディスク15には、本シミュレーションを実行可能にするプログラムを記録格納できる。
続いて、本実施の形態に係るシミュレーション方法について、上記演算装置1による処理に沿って説明する。本第1の実施の形態では、例えば壁面に対して監視カメラ(不図示)を固定する部品(カメラ取付部品)が、監視カメラや部品の重量により変形する場合を想定したシミュレーションを実行する。以下、本シミュレーションについて、図2乃至図10に沿って説明する。なお、図2は本シミュレーションの各処理を示すメインフローチャート、図3は部品設定処理を示すサブフローチャート、図4は機構設定処理を示すサブフローチャート、図5はシミュレーション処理を示すサブフローチャートである。また、図6は本シミュレーションにより変形させる部品及び観察点を示す図、図7は部品に節点及びメッシュを設定した状態を示す図、図8は変形前に設定した補助点を示す図である。そして、図9は観察点に対応するメッシュ要素及びその節点を示す図、図10は変形後の部品と観察点及び補助点を示す図である。
図2で示すように、演算装置1は、本シミュレーションを開始すると、大まかに、部品設定処理(S1)、機構設定処理(S2)、シミュレーション処理(S3)を行う。部品設定処理(S1)では、図3に示すように、まず、演算装置1が部品形状の設定を行う(形状設定工程、形状設定処理)(S11)。即ち、図6に示すように、例えばカメラ取付部品である部品101の形状を仮想空間上に設定する。この部品101の形状は、CAD等のデータから部品座標として読み込んでも良いし、ユーザが部品座標の数値等をキーボード11又はマウス12等の操作入力部を用いて入力することで設定しても良い。
ついで、演算装置1は、メッシュの設定を行う(メッシュ設定工程、メッシュ設定処理)(S12)。図7に示すように、三次元の連続体である部品101に、複数の節点201を設定することで、それぞれが四面体要素であるメッシュ401を設定する。この状態では、各節点201は、部品座標系における位置情報を持ち、メッシュ401は、四面体要素を構成する節点201の情報を持つ。これらの情報は、有限要素法解析ソフトウェアを用いて設定しても良いし、ユーザがキーボード11又はマウス12等の操作入力部を用いて任意に設定しても良い。以上により、図2におけるステップS1の部品設定処理は終了し、ステップS2の機構設定処理に進む。
次に、機構設定処理(S2)に進むと、図4に示すように、まず、ユーザの操作入力により演算装置1は、部品101の位置と姿勢を壁面102において設定する(位置設定工程、位置設定処理)(S21)。但し、本実施の形態では、図6に示すように、壁面102の原点は世界座標系105として設定した。また、部品101の座標系原点104については、世界座標系105を平行移動したものとして設定した。なお、図8に示す部品座標系304は、ユーザが設定した部品101の姿勢により表される座標系を示している。
このように各座標系を設定した場合、世界座標系105から見た部品101の座標系原点104の位置と姿勢を同次変換行列で表すと次のようになる。
Figure 0006576125
次にユーザの操作入力により演算装置1は、部品101に対して、監視カメラを取付けるカメラ取付位置としてユーザが任意の位置及び姿勢として指定できる観察点(任意点)103の位置と姿勢を設定する(任意点設定工程、任意点設定処理)(S22)。本実施の形態では、部品101が変形した後に監視カメラがどの位置に取付けされているとどのような姿勢になるかを観察するために設定する任意点であるので、この点を「観察点103」という。ここではユーザは、変形前の部品101に対して観察点103の位置と姿勢の情報を入力する。すると、演算装置1は、入力された観察点103の部品座標系における位置と姿勢の情報をHDD23等に記録する。ここで、観察点103の方向は、部品座標系を平行移動したものとして設定した。また、図8に示す観察点座標系303は、観察点103の姿勢により表わされる座標系を示している。
このように観察点103を設定した場合、部品座標系304から見た観察点103の位置と姿勢を同次変換行列で表すと次のようになる。
Figure 0006576125
続いて、演算装置1は、図8に示すように、観察点103から観察点座標系303のx方向に微小に移動した位置にx方向補助点301を設置し、HDD23等に位置を記録する(補助点設定工程、補助点設定処理)(S23)。同様に、演算装置1は、観察点103から観察点座標系303のy方向に微小に移動した位置にy方向補助点302を設置し、HDD23等に位置を記録する(補助点設定工程、補助点設定処理)(S24)。これらの補助点は、観察点座標系303のx方向やy方向に限らないが、観察点に対して2以上の独立した異なる方向かつ異なる位置に設置しなければならず、観察点103と2以上の補助点が直線上にあってはならない。つまり観察点103と2以上の補助点とは、それらによって1つの平面が規定できる関係であればよい。
次に、演算装置1は、図9に示すように、観察点103が属する部品101において、観察点103が含まれる又最も近接しているメッシュ要素401−1(つまり任意点に対応するメッシュ要素)を選択する(S25)。そして、部品101が変形する際の、観察点103の変位とメッシュ要素401−1を構成する節点201−1〜201−4の変位との関係を表す関係式である形状関数を計算し、メッシュ要素401−1の情報と形状関数をHDD23等に記憶する(S27)。
この形状関数は一般的なものであるので、この形状関数の導出について説明は省略するが、4つの節点201−1〜201−4と観察点103の変位の関係は、以下のように表すことができる。ここで、左辺第一項は観察点103の変位を表しており、右辺第一項は観察点103に対応する形状関数を表しており、右辺第二項は観察点103が属するメッシュ要素401−1を構成する節点201−1〜201−4の変位量を表している。
Figure 0006576125
また、このステップS26では、x方向補助点301とy方向補助点302についても同様に、対応するメッシュ要素401−1の情報と上記形状関数をHDD23等に記憶する。なお、上記形状関数は、どのようなものでもよく、観察点或いは補助点とメッシュ要素或いはその節点との位置関係或いは変位関係が計算可能となる関係式であれば、どのようなものを用いても良い。以上により、ステップS2の機構設定処理は終了する。
次に、シミュレーション処理(S3)について図5に沿って説明する。初めにユーザは、部品の回転に必要なトルクや重力といった外力や、シミュレーション時間などのシミュレーション条件を、キーボード11やマウス12等の操作入力部を操作して演算装置1に設定する(S31)。
続けてユーザは、シミュレーションの開始命令を操作入力部を介して入力することで、演算装置1は部品を変形させるシミュレーションを実行開始する(S32)。そして、演算装置1は、ユーザが設定したシミュレーション条件に従い、部品の変形を計算する(変形演算工程、変形演算処理)(S33)。図10に、部品101が変形した後(変形後)のシミュレーション結果を示す。ユーザが設定した外力や部品全体にかかる重力により部品101が変形し、部品101に設定されている全ての節点201の変位量が更新される。
次に、演算装置1は、部品101の変形後における観察点103’、x方向補助点301’、及びy方向補助点302’の部品座標系での位置を計算する(変形後位置演算工程、変形後位置演算処理)(S34)。即ち、演算装置1は、まず、観察点103’の変化量を、上記数式(1)を用いて計算する。即ち、数式(1)について、前段で記憶した観察点103に対応する形状関数を右辺第一項に代入し、右辺第二項に観察点103に対応するメッシュ要素401−1を構成する節点201−1〜201−4の変位量を代入する。これにより、左辺が示す部品101の変形後の観察点103’の変位を計算することができる。同様に、部品101の変形後のx方向補助点301’及びy方向補助点302’の変位量も上記数式(1)から形状関数を用いて計算することができる。
次に、部品101の変形後の観察点103’について、部品座標系304における位置を計算する。部品101が変形する前の、観察点103の部品座標系304における位置は上記ステップS22において記憶してあるため、単純に変化量を足し合わせることで、部品座標系304における位置を計算できる。これにより、部品101の変形後の観察点103’の位置は、部品座標系304で表すと以下のようになる。
Figure 0006576125
同様に、部品101の変形後のx方向補助点301’及びy方向補助点302’の位置は、部品座標系304で表すと以下のようになる。
Figure 0006576125
次に、演算装置1は、観察点103’の部品座標系304における姿勢について計算する(S35)。ここで、部品101の変形後の観察点103’の観察点座標系303’について、x方向補助点301’及びy方向補助点302’を用いて表したい。しかしながら、観察点103’からx方向補助点301’及びy方向補助点302’に向けた2本のベクトルについて考えた場合、部品101の変形による補助点の変位により、これらが直行したままの状態とは限らない。
観察点座標系303’のZ方向については、観察点103’、x方向補助点301’、及びy方向補助点302’が位置するXY平面に直行する。そのため、x方向補助点301’方向を表すベクトルとY方向補助点302’方向を表すベクトルにより観察点座標系303’のZ方向を確定できる。また、x方向補助点301’の方向をX方向としたとすると、X方向とZ方向が確定するため、Y方向が確定できる。
つまり、部品101の変形後の観察点103’の姿勢を表す観察点座標系303’の単位ベクトルは、上記数式(2)と上記数式(3)で計算した結果より、以下のように計算できる。
Figure 0006576125
これにより、部品101の変形後の部品座標系304’における観察点103’の位置と姿勢を確定できる。ここで、観察点座標系303’の単位ベクトルの計算方法については一例として表したものであり、この方法に限らず、例えばZ方向ベクトルを算出した後にY方向を算出してもよい。
そして、演算装置1は、世界座標系105での観察点103’の位置と姿勢について計算する(任意点姿勢演算工程、任意点姿勢演算処理)(S36)。即ち、部品101の変形による観察点103’の移動を考慮し、世界座標系105における観察点103’の位置と姿勢を計算する。世界座標系105における観察点103’の位置と姿勢を表す同次変換行列は、世界座標系105における部品座標系304の位置と姿勢を表す同次変換行列と、部品座標系304における変形後の観察点103’の位置と姿勢を表す同次変換行列で計算できる。
Figure 0006576125
上記数式(4)において、右辺第一項は世界座標系105における部品座標系304の位置と姿勢を表す同次変換行列であり、右辺第二項は部品座標系304における部品変形を考慮した観察点103’の位置と姿勢を表す同次変換行列である。
以上のように、壁面102に固定された部品101の変形において、変形前の観察点103と変形後の観察点103’とについて、位置と姿勢が世界座標系105においてどのように変化するかを計算できる。
最後に演算装置1は、ステップS31で設定されたシミュレーション時間が経過したかどうかを確認し、経過していなければステップS33に戻ってシミュレーションを継続し(S37のNO)、経過していればシミュレーションを終了する(S37のYES)。以上で、本実施の形態におけるシミュレーションの全行程が終了となる。
以上のように、本第1の実施の形態におけるシミュレーション方法では、任意に位置と姿勢を設定した任意点としての観察点103について、部品101の変形後における姿勢を2以上の補助点を用いて演算することができる。
例えば本第1の実施の形態にあっては、壁面102に監視カメラを固定する場合のカメラ取付部品としての部品101の変形解析を行うことができる。カメラや部品101の重量により部品101は変形し、部品101上のカメラ取付位置としての観察点103の位置と姿勢が変化する。従って、部品101をどのように設計すれば、カメラ視線がどのように下方向に傾くかが演算でき、カメラ視線を許容値に収められるかどうかという問題に適用できる。
また、本第1の実施の形態におけるシミュレーション方法では、カメラ取付位置の姿勢を計算するために、観察点に対応するメッシュ要素の節点やその周囲の節点の固定を行っていないため、高精度にシミュレーションができる。
さらに、本第1の実施の形態におけるシミュレーション方法では、同一の部品でカメラ取付位置を変更する場合、新しいカメラ取付位置に新しく観察点を再設定することで、新しいカメラ取付位置の変形後の位置と姿勢の解析を容易にできる。即ち、観察点を新たな節点として設定すると、部品に対して新たなメッシュを設定し直すことになる。この場合はステップS12のメッシュ設定処理をやり直すことになり、三次元有限要素法の演算で必要となる行列計算をやり直すことになって、演算処理速度やメッシュの規模にもよるが、時間が長期化する虞がある。しかしながら、本第1の実施の形態では、観察点位置を、その観察点に対応するメッシュ要素の節点に対する形状関数で定義するので、部品に対してメッシュ及び節点の設定を変更する必要を無くすことができる。そのため、観察点や補助点の位置を変更して再設定可能となって、三次元有限要素法の演算で必要となる行列計算をやり直すことなく、観察点を再設定する前にメッシュ設定処理で演算された行列を用いて部品を変形させる演算を実行できる。これにより、長時間要することなく容易に観察点を変更(或いは追加)でき、つまり例えば新しいカメラ取付位置の変更を容易に行うことができる。
なお、本実施の形態では、観察点の位置を、メッシュ要素の節点に対して形状関数で設定するものだけを説明したが、もちろん、ステップS12のメッシュ設定処理のやり直しを許容すれば、観察点や補助点を節点として設定するようにしても構わない。具体的には、観察点の位置を設定する際、観察点を新たな節点として設定し、同様に補助点のそれぞれの位置を新たな節点として設定する。そして、部品の変形後における観察点の位置及び補助点の位置を演算する際、演算した各節点の位置から観察点及び補助点となる節点の位置を取得することで観察点の位置及び補助点の位置を演算する。観察点の位置及び補助点の位置が演算できれば、あとは同様に2つのベクトル方向から座標系を演算し、それを世界座標系に演算することで、観察点の姿勢を求めることができる。
<第2の実施の形態>
続いて、上記第1の実施の形態を一部変更した第2の実施の形態について図11及び図12に沿って説明する。図11はシミュレーションにより変形させる多関節ロボットと接合点及び観察点とを示す図、図12は多関節ロボットを構成する部品を示す図である。
なお、本第2の実施の形態は、上記第1の実施の形態に比して、シミュレーションする対象をカメラ取付部材から関節を複数有する多関節ロボットに変更したものである。本第2の実施の形態におけるシミュレーション方法(演算処理)自体は、第1の実施の形態とほぼ同じものである。多関節ロボットでは、複数の部品(フレーム)がそれぞれ回転関節で1軸周りの回転方向に可動自在に接合された関係にあって、フレーム同士の接合部分を示す接合点の姿勢が次の部品の位置に影響することになる。従って、本第2の実施の形態では、各関節に任意点として接合点を設定し、その接合点の姿勢を解析するものである。また、各関節を駆動して多関節ロボットを駆動する際、多関節ロボットの手先(先端)がどのように移動するかを解析することで、例えば手先の直進性等を検証することができる。そこで、本第2の実施の形態では、多関節ロボットの手先に任意点として観察点を設定し、その観察点の姿勢も解析するものである。以下、本第2の実施の形態におけるシミュレーション方法を、前述の図2乃至図5のフローチャートと図11及び図12に示す多関節ロボットの模式図を用いて具体的に説明する。
図11に示すように、多関節ロボット601は、基台となるベース部品701に関節J1を介してフレームとなるロボット部品702が接合されている。また、ロボット部品702には、関節J2を介してフレームとなるロボット部品703が接合されており、ロボット部品703には、関節J3を介してフレームとなるロボット部品704が接合されている。さらに、ロボット部品704には、関節J4を介してフレームとなるロボット部品705が接合されており、ロボット部品705には、関節J5を介してフレームとなるロボット部品706が接合されている。そして、ロボット部品706には、関節J6を介してエンドエフェクタとなるロボット部品707が接合されており、ロボット部品707の先端が例えばロボットハンドなどが取り付けられる手先となっている。
演算装置1は、本シミュレーションを開始すると、まず初めに部品設定処理(S1)を実行する。ユーザは図3で示すように、シミュレーションで用いるベース部品701及びロボット部品702〜707の形状を設定し(S11)、三次元要素(四面体、五面体、六面体など)となるメッシュ要素と節点を設定する(S12)。メッシュ設定については第1の実施の形態と同様である。
次に、演算装置1は、機構設定処理(S2)を実行する。ステップS21において、ユーザは、ベース部品701及びロボット部品702〜707の座標系原点の位置と姿勢を設定し、複数の関節J1〜J6を有する多関節ロボット601を設定する。まず、ベース部品701について世界座標系604における位置と姿勢を設定する。次に、ベース部品701上に設定されるロボット部品702の位置と姿勢について、ベース部品701の座標系で設定する。以降順々にロボット部品703〜707の位置と姿勢を設定する。
次に、ステップS22において、ベース部品701とロボット部品702を接続する関節J1に任意点である接合点602−1を設定して記憶する。簡略化のため、接合点602−1の位置と姿勢は、ロボット部品702の原点の位置と姿勢に一致しているとした。以降順々にロボット部品703〜707の関節J2〜J6にそれぞれ接合点602−2〜602−6を設定して記憶する。さらに、ユーザは、多関節ロボット601の手先に対して任意点である観察点を設定する。即ちロボット部品707に対して観察点603を設定する。即ち、ユーザはロボット部品707の座標系における観察点603の位置と姿勢の情報をシミュレーションシステムに入力する。演算装置1は、入力された観察点603の部品707座標系における位置と姿勢の情報を記憶する。ここでは、観察点603の座標系は、ロボット部品707の座標系を平行移動したものとした。
続いて、演算装置1は、ステップS23において、各接合点602−1〜602−6の座標系において、x方向に微小に移動した位置にx方向補助点を設定して位置を記憶する。また、演算装置1は、観察点603の座標系において、x方向に微小に移動した位置にx方向補助点を設定して位置を記憶する。
さらに、演算装置1は、ステップS24において、各接合点602−1〜602−6の座標系において、y方向に微小に移動した位置にy方向補助点を設定して位置を記憶する。また、演算装置1は、観察点603の座標系において、y方向に微小に移動した位置にy方向補助点を設定して位置を記憶する。
なお、これらの補助点は、ユーザが設定した座標系におけるx方向とy方向に限らないが、第1の実施の形態で説明したように、接合点や観察点から見て異なる方向成分を有する必要がある。
次に演算装置1は、ステップS26において、まず、関節J1が拘束するベース部品701とロボット部品702において、接合点602−1に最も近接しているメッシュ要素を選択する。次に、接合点602−1の変位とメッシュ要素を構成する節点の変位の関係を表す形状関数を計算し、メッシュ要素の情報と形状関数を記憶する。接合点602−1のx方向補助点とy方向補助点についても同様に、メッシュ要素の情報と形状関数を記憶する。接合点602−2〜602−6及びそれらのx方向補助点とy方向補助点についても同様に、最も近接しているメッシュ要素の情報と形状関数を記憶する。さらに演算装置1は、観察点603が属する部品707において、観察点603に最も近接しているメッシュ要素を選択する。次に、観察点603の変位とメッシュ要素を構成する節点との変位の関係を表す形状関数を計算し、メッシュ要素の情報と形状関数を記憶する。
なお、本第2の実施の形態では、形状関数を計算する際のメッシュ要素を接合点或いは観察点に最も近接しているメッシュ要素と言うが、これは、特に接合点が必ずしも部品上に設定されるとは限らないからである。即ち、それぞれの関節の軸の上に接合点が設定される関係上、正確には関節の軸を構成する軸部材に接合点が位置することになるが、軸部材までシミュレーションすると演算量が膨大になる。従って、部品から接合点が僅かに離れている位置に設定されることがある。同様に、観察点もロボットハンド上に位置することになるが、例えばフィンガー部材までシミュレーションすると演算量が膨大になる。従って、部品から観察点が僅かに離れている位置に設定されることがある。そのため、本実施の形態では、「接合点や観察点に最も近接したメッシュ要素」というが、これは接合点や観察点に対応するメッシュ要素が設定できればよく、これら接合点や観察点はその対応するメッシュ要素の中や表面上に設定されるものでもよい。
次に、演算装置1は、シミュレーション処理(S3)を実行する。初めにユーザは、シミュレーション条件を設定する(S31)。例えば多関節ロボット601の関節J1〜J6にかかるトルクや重力といった外力や、シミュレーション時間などの条件を設定する。
次にユーザは、シミュレーション開始命令を演算装置1に対して入力する(S32)。演算装置1は、ユーザが設定したシミュレーション条件に従い、機構のダイナミクスを考慮した運動と、部品の変形を計算する(S33)。次に演算装置1は、部品の変形後における接合点602−1〜602−6、観察点603、それぞれの補助点の位置を計算する(S34)。そして、演算装置1は、接合点602−1〜602−6や観察点603の位置と姿勢を部品座標系で計算し(S35)、さらに接合点602−1〜602−6や観察点603の位置と姿勢を世界座標系で計算する(S36)。
図11に示した多関節ロボット601のように複数の関節J1〜J6を有する機構では、各部品701〜707の微小な変形が手先の観察点603の位置と姿勢に大きな影響を与える。各関節J1〜J6にかかるトルクや各部品701〜707の全体にかかる重力により部品701〜707が変形し、各部品701〜707が変形するとそれらに設定されている各節点の変位量が更新される。これに伴い、各部品701〜707を接合する接合点602−1〜602−6の位置と姿勢が変位するため、演算装置1は、この変形を考慮して接合点602−1〜602−6や観察点603の位置姿勢を計算することになる。このような多関節ロボット601のシミュレーションでは、ベース部品701側である根本側の部品変形が手先側の位置や姿勢に累積的に影響する以外、第1の実施の形態と計算手法は基本的に同様であるので、その計算式等の説明は省略する。
最後に演算装置1は、ステップS31で設定されたシミュレーション時間が経過したかどうかを確認し、経過していなければ(S37のNO)ステップS33に戻ってシミュレーションを継続し、経過していれば(S37のYES)シミュレーションを終了する。以上により、シミュレーションの全処理が終了となる。
以上説明した第2の実施の形態によると、例えば多関節ロボット601に取付けたロボットハンドでドライバやピンセットなどのツールを把持した場合に、そのツール先端の位置と姿勢をシミュレーションにより確認できる。
即ち、多関節ロボット601がある姿勢を取った時、ベース部品701及びロボット部品702〜707やロボット部品707に固定されたツールの重量によって、ベース部品701や各ロボット部品702〜707は変形する。そのため、多関節ロボット601の手先の位置と姿勢は変化する。特にツールが長い場合、多関節ロボット601の手先の姿勢は、ツール先端の位置や姿勢に大きく影響する。本実施の形態のように、多関節ロボット601の手先に観察点603を設定し、その位置や姿勢を解析する。すると、ベース部品701やロボット部品702〜707をどのように設計すれば手先の姿勢の変化を抑えられるのか、多関節ロボット601の姿勢をどのように駆動制御すれば精密な作業をこなせるのか、という問題の解決に用いることができる。
また、第2の実施の形態でも、各接合点602−1〜602−6や観察点603に対応するメッシュ要素の節点やその周囲の節点の固定を行っていないため、高精度にシミュレーションができる。
また、多関節ロボット601に固定されるツールがあるものとして、そこに観察点を設定することで、ツールの位置や姿勢を解析するようにしてもよい。このとき、観察点の表現方法として形状関数を用いると、部品707のメッシュや節点を変更することなく観察点を追加できるため、メッシュ設定工程S12をやり直す必要が無い。
さらに、ロボット部品707を関節がある部品に変更する場合、ロボット部品707が関節を有するものとして、ロボット部品707が有する関節の位置と姿勢を変更することで、同様にシミュレーションを実行できる。このとき、新たな関節位置の表現方法として形状関数を用いると、ロボット部品707のメッシュや節点を変更することなく、新たな関節の位置と姿勢を設定できるため、メッシュ設定工程S12をやり直す必要が無い。
以上のようにシミュレーションした多関節ロボットについて、シミュレーション結果を用いて多関節ロボットを設計し、その設計された多関節ロボットを製造することで、高精度で姿勢が制御できる多関節ロボットを得ることができる。このような多関節ロボットで製造された部品や組立品などの物品も精密となり、製造上における歩留まりもよくなる。
なお、以上説明した第1及び第2の実施の形態においては、三次元有限要素法で用いるメッシュ要素を四面体であるものとして説明したが、これに限らず、五面体、六面体などのメッシュ要素を用いて構わない。
また、以上説明した第1及び第2の実施の形態においては、カメラ取付部品や多関節ロボットをシミュレーションした場合について説明したが、これらに限らず、部品が変形することで姿勢が変わるものの位置や姿勢を解析したいものであれば、何でもよい。例えば、コネクタをグリッパで把持した際に、コネクタが変形してコネクタ先端の方向(姿勢)が変化する場合などの解析にも適用できる。
1…演算装置、シミュレーション装置:20…演算部(CPU):23…記録媒体(HDD):101…部品:103…任意点(観察点):201…節点:301,302…補助点(x方向補助点、y方向補助点):401…メッシュ:601…多関節ロボット:602−1〜602−6…任意点、接合点:603…任意点、観察点:701…部品(ベース部品):702〜707…部品、フレーム(ロボット部品):J1〜J6…関節

Claims (9)

  1. 演算装置によって、三次元有限要素法を用いて部品を変形させるシミュレーションを実行するシミュレーション方法において、
    前記演算装置は、
    変形させる部品の形状を設定する形状設定工程と、
    前記部品に複数の節点を設定することでメッシュを設定するメッシュ設定工程と、
    前記部品の変形前の位置及び姿勢を設定する位置設定工程と、
    前記変形前の部品に対して、任意の位置及び姿勢を有する任意点を設定する任意点設定工程と、
    前記部品の変形前に、前記任意点に対して異なる位置に2以上の補助点をそれぞれ異なる方向に設定する補助点設定工程と、
    前記部品を変形させる演算を実行する変形演算工程と、
    前記部品の変形後における前記任意点の位置及び前記補助点の位置を演算する変形後位置演算工程と、
    前記部品の変形後における前記任意点の位置と前記補助点の位置とから前記任意点の姿勢を演算する任意点姿勢演算工程と、を実行する、
    ことを特徴とするシミュレーション方法。
  2. 前記演算装置は、
    前記任意点設定工程において、前記任意点の位置を設定する際、前記メッシュのうちの1つのメッシュ要素における節点との関係式で記憶し、
    前記補助点設定工程において、前記補助点のそれぞれの位置を設定する際、前記1つのメッシュ要素における節点との関係式で記憶し、
    前記変形後位置演算工程において、前記部品の変形後における前記任意点の位置及び前記補助点の位置を演算する際、前記任意点設定工程及び前記補助点設定工程で記憶した関係式と前記1つのメッシュ要素の節点の位置とから演算する、
    ことを特徴とする請求項1に記載のシミュレーション方法。
  3. 前記任意点設定工程及び前記補助点設定工程で記憶する関係式は、形状関数である、
    ことを特徴とする請求項2に記載のシミュレーション方法。
  4. 前記演算装置は、
    前記メッシュ設定工程において、前記メッシュを設定する際に、前記複数の節点に関する行列を演算し、
    前記任意点設定工程及び前記補助点設定工程において、前記任意点の位置及び姿勢と前記補助点の位置とを変更して再設定可能であり、
    前記任意点設定工程及び前記補助点設定工程において前記任意点及び前記補助点が再設定された後、前記変形演算工程において前記部品を変形させる演算を行う際、前記任意点及び前記補助点が再設定される前に前記メッシュ設定工程で演算された行列を用いて演算を実行する、
    ことを特徴とする請求項2又は3に記載のシミュレーション方法。
  5. 前記演算装置は、
    前記任意点設定工程において、前記任意点の位置を設定する際、前記任意点を新たな節点として設定し、
    前記補助点設定工程において、前記補助点のそれぞれの位置を設定する際、それぞれの前記補助点を新たな節点として設定し、
    前記変形後位置演算工程において、前記部品の変形後における前記任意点の位置及び前記補助点の位置を演算する際、前記変形演算工程で演算した各節点の位置から前記任意点及び前記補助点となる節点の位置を取得することで前記任意点の位置及び前記補助点の位置を演算する、
    ことを特徴とする請求項1に記載のシミュレーション方法。
  6. 前記部品は、複数のフレームを可動自在な関節を複数有する多関節ロボットであり、
    前記任意点は、前記関節におけるフレーム同士の接合部分を示す接合点、及び/又は前記多関節ロボットの手先における位置及び姿勢を観察するための観察点であり、
    前記多関節ロボットを駆動した際に、前記関節における接合点及び/又は前記手先における観察点、の位置及び姿勢をシミュレーションする、
    ことを特徴とする請求項1ないし5のいずれか1項に記載のシミュレーション方法。
  7. 請求項1ないし6のいずれか1項に記載の各工程を前記演算装置に実行させるためのプログラム。
  8. 請求項7に記載のプログラムを格納したことを特徴としたコンピュータで読み取り可能な記録媒体。
  9. 三次元有限要素法を用いて部品を変形させるシミュレーションを実行する演算部を備えたシミュレーション装置において、
    前記演算部は、
    変形させる部品の形状を設定する形状設定処理と、
    前記部品に複数の節点を設定することでメッシュを設定するメッシュ設定処理と、
    前記部品の変形前の位置及び姿勢を設定する位置設定処理と、
    前記変形前の部品に対して、任意の位置及び姿勢を有する任意点を設定する任意点設定処理と、
    前記部品の変形前に、前記任意点に対して異なる位置に2以上の補助点をそれぞれ異なる方向に設定する補助点設定処理と、
    前記部品を変形させる演算を実行する変形演算処理と、
    前記部品の変形後における前記任意点の位置及び前記補助点の位置を演算する変形後位置演算処理と、
    前記部品の変形後における前記任意点の位置と前記補助点の位置とから前記任意点の姿勢を演算する任意点姿勢演算処理と、を実行する、
    ことを特徴とするシミュレーション装置。
JP2015133451A 2015-07-02 2015-07-02 シミュレーション方法及びシミュレーション装置 Active JP6576125B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015133451A JP6576125B2 (ja) 2015-07-02 2015-07-02 シミュレーション方法及びシミュレーション装置
US15/193,543 US20170004237A1 (en) 2015-07-02 2016-06-27 Simulation method and simulation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015133451A JP6576125B2 (ja) 2015-07-02 2015-07-02 シミュレーション方法及びシミュレーション装置

Publications (2)

Publication Number Publication Date
JP2017016458A JP2017016458A (ja) 2017-01-19
JP6576125B2 true JP6576125B2 (ja) 2019-09-18

Family

ID=57684273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015133451A Active JP6576125B2 (ja) 2015-07-02 2015-07-02 シミュレーション方法及びシミュレーション装置

Country Status (2)

Country Link
US (1) US20170004237A1 (ja)
JP (1) JP6576125B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112502527B (zh) * 2020-11-24 2022-04-01 广东顺德电力设计院有限公司 一种杆塔原位升高方法
WO2023203635A1 (ja) * 2022-04-19 2023-10-26 ファナック株式会社 ロボット装置の動作状態を算出するシミュレーション装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004148381A (ja) * 2002-10-31 2004-05-27 Japan Research Institute Ltd プレス成形シミュレーションシステム、プレス成形シミュレーション用プログラム、及びそのプログラムを記録した記録媒体
US7493243B2 (en) * 2004-12-27 2009-02-17 Seoul National University Industry Foundation Method and system of real-time graphical simulation of large rotational deformation and manipulation using modal warping
FR3002047B1 (fr) * 2013-02-08 2015-02-27 Inst Nat Rech Inf Automat Procede de commande d'un robot deformable, module et programme d'ordinateur associes

Also Published As

Publication number Publication date
US20170004237A1 (en) 2017-01-05
JP2017016458A (ja) 2017-01-19

Similar Documents

Publication Publication Date Title
JP7222803B2 (ja) 軌道計画装置、軌道計画方法及びプログラム
US11491649B2 (en) Axis-invariant based multi-axis robot kinematics modeling method
JP6576255B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
US20180036882A1 (en) Layout setting method and layout setting apparatus
JP7326911B2 (ja) 制御システムおよび制御方法
Korayem et al. Systematic modeling of a chain of N-flexible link manipulators connected by revolute–prismatic joints using recursive Gibbs-Appell formulation
JP7324932B2 (ja) 動的計画コントローラ
Xu et al. Mobility, kinematic analysis, and dimensional optimization of new three-degrees-of-freedom parallel manipulator with actuation redundancy
KR102312368B1 (ko) 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
JP2015066668A (ja) ロボットの教示点調整方法、ロボットの設置位置算出方法、ロボットシステム、プログラム及び記録媒体
JP3349652B2 (ja) オフラインティーチング方法
JP2018030210A (ja) シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体
JP6576125B2 (ja) シミュレーション方法及びシミュレーション装置
CN109129469B (zh) 机械臂运动学逆解方法、装置及机械臂
Nandikolla et al. Teleoperation robot control of a hybrid eeg-based bci arm manipulator using ros
Cammarata et al. On the elastostatics of spherical parallel machines with curved links
JP7475841B2 (ja) 情報処理方法、ロボットシステム、物品の製造方法、および情報処理装置
Pikalov et al. Vector model for solving the inverse kinematics problem in the system of external adaptive control of robotic manipulators
Baran et al. Unified kinematics of prismatically actuated parallel delta robots
JP2012106316A (ja) 干渉検出方法及び干渉検出装置
Ma et al. Elasto-dynamic performance evaluation of a 6-DOF hybrid polishing robot based on kinematic modeling and CAE technology
JP2021164978A (ja) 情報処理方法、情報処理装置、プログラム及び記録媒体
JP7249221B2 (ja) センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法
JP2010117886A (ja) 仮想試作システム及び仮想試作における動作情報の処理方法並びに該処理方法を記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190710

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: 20190723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190820

R151 Written notification of patent or utility model registration

Ref document number: 6576125

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151