(57)【特許請求の範囲】
【請求項１】
ロボットに取り付けられる線条体の動作をシミュレーションするロボットシミュレーション装置であって、
前記線条体の外周面を規定するように前記線条体の長手方向に沿って設定された複数の質点と、該複数の質点同士を結ぶ複数のばね要素とによって前記線条体の３次元モデルを生成するモデル生成部と、
前記線条体の３次元モデル上に、前記線条体のねじれ状態を把握するための複数の着目点を設定する着目点設定部と、
前記線条体の３次元モデルを用いて、前記ロボットの動作に伴う前記線条体の動作をシミュレーションするシミュレーション部と、
前記シミュレーション部によるシミュレーションによって得られた前記複数の質点の時系列の位置データおよび前記複数の着目点の時系列の位置データを用いて、前記線条体の輪郭を表す線条体画像とともに、前記着目点を表す着目点画像を表示する表示部と、を備え、
前記複数の着目点は、前記複数の質点の一部であり、前記線条体の３次元モデルの周方向一部に、前記線条体の３次元モデルの長手方向に沿って一列に設定されていることを特徴とするロボットシミュレーション装置。
【請求項２】
請求項１に記載のロボットシミュレーション装置において、
前記シミュレーション部は、前記複数の着目点の時系列の位置データに基づいて、前記線条体の最大ねじれ量を算出するとともに、該最大ねじれ量を低減するような前記線条体の取付け姿勢を算出することを特徴とするロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、線条体が取り付けられたロボットの動作をシミュレーションするロボットシミュレーション装置に関する。
【背景技術】
【０００２】
線条体が取り付けられたロボットにおいては、ロボットの動作に伴い線条体がねじれを生じる場合がある。この点に関し、従来、線条体を固定する第１固定点および第２固定点における自転によるねじれと、第１固定点と第２固定点との位置関係とに基づき、線条体のねじれ量を算出するようにした装置が知られている（例えば特許文献１参照）。また、複数の質点と各質点間を結ぶばねとによって線条体のシミュレーションモデルを作成し、線条体の動作シミュレーションを行うようにした装置が知られている（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２９３３３１号公報
【特許文献２】特開２０１３−３５０８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１記載の装置では、第１固定点と第２固定点とに着目して線条体のねじれ量を算出するため、線条体の長手方向の各部のねじれ状態（例えば第１固定点と第２固定点の中間位置のねじれ状態）を把握することが困難である。また、上記特許文献２記載の装置のように線条体の動作シミュレーションを行うだけでは、線条体のねじれ状態を容易に把握することができない。
【課題を解決するための手段】
【０００５】
本発明の一態様は、ロボットに取り付けられる線条体の動作をシミュレーションするロボットシミュレーション装置であって、線条体の外周面を規定するように線条体の長手方向に沿って設定された複数の質点と、複数の質点同士を結ぶ複数のばね要素とによって線条体の３次元モデルを生成するモデル生成部と、線条体の３次元モデル上に、線条体のねじれ状態を把握するための複数の着目点を設定する着目点設定部と、線条体の３次元モデルを用いて、ロボットの動作に伴う線条体の動作をシミュレーションするシミュレーション部と、シミュレーション部によるシミュレーションによって得られた複数の質点の時系列の位置データおよび複数の着目点の時系列の位置データを用いて、線条体の輪郭を表す線条体画像とともに、着目点を表す着目点画像を表示する表示部と、を備え、複数の着目点は、複数の質点の一部であり、線条体の３次元モデルの周方向一部に、線条体の３次元モデルの長手方向に沿って一列に設定されている。
【発明の効果】
【０００６】
本発明によれば、線条体の３次元モデル上に設定された複数の着目点の時系列の位置データをシミュレーションによって取得し、この着目点の位置データを用いて着目点画像を表示するので、線条体の長手方向の各部のねじれ状態を、ユーザは容易に把握することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に係るロボットシミュレーション装置の構成を示すブロック図。
【図２】本発明の実施形態に係るロボットシミュレーション装置で用いられる線条体モデルの一例を示す斜視図。
【図３】本発明の実施形態に係るロボットシミュレーション装置で表示される線条体画像と着目点画像の一例を示す図。
【図４】本発明の実施形態に係るロボットシミュレーション装置によるねじれ量の算出手順を説明する図。
【図５】図１のロボットシミュレーション装置で実行される処理の一例を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、図１〜図５を参照して本発明の実施形態に係るロボットシミュレーション装置について説明する。ロボットシミュレーション装置は、例えばオフラインでロボットの動作をシミュレーションし、シミュレーション結果を表示する装置である。本実施形態に係るロボットシミュレーション装置は、例えば垂直多関節ロボットに適用することができる。垂直多関節ロボットは、サーボモータによって回転駆動される複数のアームと、アーム先端部に取り付けられたハンドとを有する。
【０００９】
この種のロボットには、複数のアームに沿って線条体が配線される。より具体的には、アームの外周面には、線条体の取付け部が設けられ、線条体は、長手方向において部分的に取付け部に固定される。線条体は、配線や配管等を総称したものであり、サーボモータへの動力線や各種信号線等の配線、液体や気体を供給する配管などを含む。線条体には、ゴム等、高い弾力性を有する材料だけでなく、弾力性が低い材料、例えば光ファイバーケーブル等を用いることができる。
【００１０】
線条体は、取付け部を介してロボットに取り付けられるため、取付け部においてロボットと一体に移動する。したがって、線条体は、ロボットの動作に伴い変形し、ねじれを生じるおそれがある。線条体を光ファイバーケーブルにより構成した場合に線条体にねじれが生じると、線条体が断線または破損するおそれがある。これを避けるためには、予めロボットの動作に伴う線条体のねじれ状態をシミュレーションによって把握することが好ましい。そこで、本実施形態では、以下のようにロボットシミュレーション装置１を構成する。
【００１１】
図１は、本発明の実施形態に係るロボットシミュレーション装置１の構成を示すブロック図である。このシミュレーション装置１は、ＣＰＵ，ＲＯＭ，ＲＡＭ，その他の周辺回路などを有する演算処理装置を含んで構成され、機能的構成として、モデル生成部１１と、着目点設定部１２と、シミュレーション部１３と、表示部１４とを有する。
【００１２】
モデル生成部１１は、ロボットの３次元モデル（ロボットモデル）と、ロボットモデルに形成された線条体取付け部において、ロボットモデルに付設される線条体の３次元モデル（線条体モデル）とを生成する。これらロボットモデルおよび線条体モデルは、それぞれ３次元形状のロボットおよび線条体を表し、例えば図示しない入力部を介して入力されたロボットおよび線条体のＣＡＤデータ等を用いて生成することができる。
【００１３】
図２は、円形断面を有する線条体モデル２の一例を示す斜視図である。図２に示すように、線条体モデル２は、複数の質点３と、質点３同士を接続する複数のばね要素４とによって形成されている。質点３は、線条体の長手方向に垂直である平面２０上に配置された第１質点３１と第２質点３２とを含む。第１質点３１は、平面２０の径方向中央部に配置されている。第２質点３２は、第１質点３１の周囲に周方向等間隔に配置され、線条体の外周面を規定する。第１質点３１と第２質点３２とは、線条体の長手方向に沿って等間隔に配置されている。各質点３は、質量情報と、３次元位置情報（位置データ）と、３次元速度情報とを有する。各質点３の質量は、線条体の質量を質点の個数で除算した値とすることができる。
【００１４】
ばね要素４は、同一平面２０の円周上に配置された第２質点３２同士を接続する第１ばね４１と、平面２０上で第１質点３１から放射状に延びて第１質点３１と第２質点３２とを接続する第２ばね４２と、線条体の長手方向に沿って一列に配置された第１質点３１同士および第２質点３２同士を順次接続する第３ばね４３と、長手方向に配置された第２質点３２同士を斜めに接続する第４ばね４４とを含む。第１ばね４１と第２ばね４２とは、線条体の径方向の弾性を表し、第３ばね４３と第４ばね４４とは、線条体の長手方向の弾性を表す。
【００１５】
着目点設定部１２は、線条体モデル２上に、線条体のねじれ状態を把握するための複数の着目点３３を設定する。図２では、線条体モデルの周方向一部に、より具体的には、第３ばね要素４３を介して順次接続された線条体の長手方向に沿った一列の第２質点３２に着目点３３が設定されている。着目点３３は、入力部を介して線条体モデル２上にユーザが任意に設定することができる。
【００１６】
シミュレーション部１３は、予め定められた動作プログラムに従いロボットモデルを動作させ、ロボットの動作に伴う線条体の動作をシミュレーションする。すなわち、ロボットモデルの動作に伴い、線条体モデル２の各質点３に作用するばね要素４からの弾性力と重力と減衰力とを所定の単位時間毎に算出し、単位時間毎に各質点３の位置を変更するようなシミュレーション（物理シミュレーション）を実行する。
【００１７】
この場合、質点３Ａと質点３Ｂとがばね要素４を介して互いに接続されているときの、質点３Ａに作用するばね要素４の弾性力Ｆ１は、次式(I)で算出できる。
Ｆ１＝（３Ａ→３Ｂの単位ベクトル）×ばね定数×ばね伸縮量    (I)
上式(I)で、ばね要素４の伸縮量（ばね伸縮量）は、ある状態のばね要素４の長さからばね要素４の自然長を減算した値とする。ばね要素４の自然長は、線条体モデル２の伸縮および曲げがない自然な状態の質点３Ａ、３Ｂ間の距離に相当する。
【００１８】
ばね要素の減衰力には、ばねの振動を抑える減衰力Ｆ２と各質点３の並進運動を抑える減衰力Ｆ３とがあり、それぞれ次式(II),(III)で算出できる。
Ｆ２＝ｖ×ｖの内積×振動の減衰係数            (II)
Ｆ３＝各質点の速度×並進運動の減衰係数        (III)
上式(II)で、ｖは、（質点３Ｂの速度−質点３Ａの速度）の単位ベクトルである。減衰力Ｆ２，Ｆ３は、ばねの動きを遅くように作用する。
【００１９】
各質点３に作用する重力Ｆ４は、次式(IV)で算出できる。
Ｆ４＝重力方向の単位ベクトル×重力加速度×質点の質量      (IV)
なお、線条体モデル２の質点３が、ある干渉面に衝突したとき、質点３には反発力が作用する。この点を考慮し、弾性力と重力と減衰力だけでなく、質点に作用する反発力を算出してもよい。この場合、衝突時の質点の速度の、衝突した面の面直方向の成分の値は、衝突前の速度に反発係数を乗算して符号を反転した値になる。このとき、反発力は、衝突の前後の速度の変化量を単位時間で割って得られる加速度に、質点の質量を乗算することで算出できる。
【００２０】
シミュレーション部１３は、各質点３に作用する力Ｆ１〜Ｆ４の合力をさらに算出し、これを質量で除算することにより質点３の加速度を算出する。また、加速度×単位時間により質点３の速度の変化量を算出し、これを質点３の速度に加算することで質点３の速度を算出する。さらに、速度×単位時間により質点３の変位量を算出し、これを質点３の３次元の位置データに加算することで質点３の位置を算出する。
【００２１】
すなわち、シミュレーション部１３は、単位時間毎に、ロボットの動きに合わせて線条体取付部における質点３の位置を変更し、各質点３に作用する力Ｆ１〜Ｆ４を上述したようにして算出するとともに、これらの合力を算出し、各質点３の速度および位置を更新することにより、線条体の挙動をシミュレートする。これにより各質点３の時系列の位置データが得られる。また、着目点３３は質点３の一部であるので、着目点３３の位置データも得られる。
【００２２】
表示部１４は、表示モニタと、表示モニタに画像を表示するための表示制御部とを有する。表示部１４は、シミュレーション部１３によるシミュレーションによって得られた各質点３の時系列の位置データを用いて、線条体の輪郭を表す３次元の線条体画像を表示モニタに表示するとともに、複数の着目点３３の時系列の位置データを用いて、着目点３３を表す３次元の着目点画像を表示する。すなわち、所定時間毎に変化する線条体画像と着目点画像の動画を表示モニタに表示する。
【００２３】
図３は、線条体画像５１と着目点画像５２の一例を示す図である。図３において、線条体画像５１は実線で、着目点画像５２は黒丸で示されている。着目点３３は、線条体の周方向同一位相に長手方向一列に設定されるため、線条体がねじれると、図３に示すように、着目点画像５２が線条体画像５１上にねじれた状態で表示される。これにより、ユーザは線条体のねじれ状態を容易に把握することができる。
【００２４】
本実施形態のロボットシミュレーション装置は、さらに線条体のねじれ状態を定量的に表すため、ねじれ量を算出する機能を有する。ねじれ量は、例えばシミュレーション部１３により算出される。図４は、ねじれ量の算出手順を説明する図である。図４において、２０ｎ，２０ｎ＋１は、質点３が設定される線条体モデル２の互いに隣り合う平面であり、３１ｎ，３１ｎ＋１は、それぞれ平面２０ｎ，２０ｎ＋１の中央部に位置する質点であり、３２ｎ，３２ｎ＋１は、それぞれ平面２０ｎ，２０ｎ＋１の円周上の周方向互いに同一位置（同一位相）に位置する質点である。質点３２ｎ，３２ｎ＋１は、例えば着目点３３である。
【００２５】
平面２０ｎ，２０ｎ＋１間における線条体のねじれ量は、質点３１ｎ，３２ｎ，３１ｎ＋１によって形成される面と質点３１ｎ＋１，３２ｎ＋１，３１ｎによって形成される面とのなす角度によって定義することができる。このとき、線条体の長さ方向の先端部（ハンド側）に向かって、右回りのねじれをプラス、左回りのねじれをマイナスと定義する。このような定義の下、ロボットモデルに形成された第１の線条体取付部から第１の線条体取付部に隣接する第２の線条体取付部までねじれ量を積算することで、第１の線条体取付部から第２の線条体取付部までの間の線条体全体のねじれ量を算出することができる。
【００２６】
シミュレーション部１３は、シミュレーション実行中に、単位時間毎の線条体のねじれ量を算出し、記憶部に記憶する。これにより、ねじれ量の最大値および最小値を求めることができる。さらに、シミュレーション部１３は、最大値と最小値の平均値を算出し、この平均値を低減するような線条体の取付け姿勢（目標取付け姿勢）を求める。表示部１４は、目標取付け姿勢を表示モニタに表示する。
【００２７】
例えばねじれ量の最大値が＋５０°、最小値が−１０°であるとき、これらの平均値は＋２０°であり、この平均値を打ち消すようなねじれ量の値、すなわち、−２０°が表示される。表示されるねじれ量は、線条体の目標取付け姿勢（角度）を表し、ユーザは、この角度（−２０°）分だけ、一方の線条体取付部において線条体を初期状態（シミュレーションを行った状態）から回転させて取り付ける。すなわち、線条体に所定量の初期ねじれを与えて線条体を取り付ける。これにより、ロボットの実動作時における線条体の最大ねじれ量を低減することができ、弾力性の低い光ファイバー等を線条体として用いた場合に、その断線や破損を防止することができる。
【００２８】
図５は、ロボットシミュレーション装置１で実行される処理の一例を示すフローチャートである。このフローチャートに示す処理は、着目点設定部１２での処理により、図２に示すように質点２の一部を着目点３３として設定した後、例えば入力部を介してシミュレーション開始指令が入力されると開始される。
【００２９】
ステップＳ１では、モデル生成部１１での処理により、ロボットモデルを生成する。ステップＳ２では、モデル生成部１１での処理により、ロボットモデルに対応させて線条体モデル２を生成する。ステップＳ３では、シミュレーション部１３での処理により、予め定められた動作プログラムに従いロボットモデルを動作させ、ロボットの動作に伴う線条体のシミュレーションを実行する。
【００３０】
スップＳ４では、表示部１４での処理により、シミュレーション結果に基づいて表示モニタに線条体画像５１と着目点画像５２とを表示する。ステップＳ５では、シミュレーション部１３での処理により、線条体のねじれ量の最大値と最小値とを算出する。ステップＳ６では、シミュレーション部１３での処理により、ねじれ量の平均値を算出するとともに、平均値を小さくするような線条体の目標取付け姿勢、すなわち線条体取付部における線条体の回転量を、表示部１４を介して表示する。
【００３１】
本実施形態によれば以下のような作用効果を奏することができる。
（１）ロボットシミュレーション装置１は、線条体の外周面を規定するように線条体の長手方向に沿って設定された複数の質点３と、複数の質点３同士を結ぶ複数のばね要素４とによって３次元の線条体モデル２を生成するモデル生成部１１と、線条体モデル２上に、線条体のねじれ状態を把握するための複数の着目点３３を設定する着目点設定部１２と、線条体モデル２を用いて、ロボットの動作に伴う線条体の動作をシミュレーションするシミュレーション部１３と、シミュレーションによって得られた複数の質点３の時系列の位置データおよび複数の着目点３３の時系列の位置データを用いて、線条体画像５１とともに着目点画像５２を表示する表示部１４とを備える。このように表示部１４を介して線条体画像５１とともに着目点画像５２を表示することにより、線条体の長手方向の各部のねじれ状態を、ユーザは容易に把握することができる。
【００３２】
（２）さらにシミュレーション部１３は、複数の着目点３３の時系列の位置データに基づいて、線条体の最大ねじれ量を算出するとともに、最大ねじれ量を低減するような線条体の取付け姿勢（目標取付け姿勢）を算出する。この目標取付け姿勢に合わせて線条体を取り付けることにより、例えば線条体に初期ねじれを与えるように線条体取付部において線条体を所定角度だけ回転させて取り付けることにより、ロボットの実動作時における線条体の最大ねじれ量を低減することができる。
【００３３】
（３）線条体モデル２の周方向一部に、線条体モデル２の長手方向に沿って一列に設定された複数の質点３（第２質点３２）を着目点３３として設定するので、着目点３３の設定が容易である。また、質点３の一部を着目点３３とするので、着目点３３の位置データを質点３の位置データとは別に算出する必要がなく、着目点３３の位置データの算出も容易である。
【００３４】
上記実施形態では、質点３の一部を着目点３３として設定したが、質点３とは別の点を着目点として設定してもよい。線条体の周方向同一位相に位置する、線条体の長手方向に沿った一列の質点を着目点３３としたが、着目点３３はこれに限らない。すなわち、線条体のねじれ状態を把握することができる、互いに所定の位置関係にある点を着目点３３とするのであれば、着目点設定部１２の構成はいかなるものでもよい。
【００３５】
上記実施形態（図２）では、第１質点３１および第２質点と、第１ばね４１、第２ばね４２、第３ばね４３および第４ばね４４により線条体モデル２を生成したが、複数の質点と質点同士を結ぶ複数のばね要素とによって生成されるのであれば、線条体モデル２はいかなるものでもよく、モデル生成部１１の構成は上述したものに限らない。
【００３６】
上記実施形態では、シミュレーション部１３によるシミュレーションによって得られた所定時間毎の複数の質点３の位置データおよび複数の着目点３３の位置データを用いて、表示部１４が線条体画像と着目点画像の動画を表示するようにしたが、所定の時点における静止画を表示するようにしてもよく、表示部１４の構成は上述したものに限らない。上記実施形態（図３）では、着目点画像５２を黒丸で表すようにしたが、着目点３３を表す目印となるのであれば、着目点画像５２の構成はいかなるものでもよい。例えば着目点画像５２を、他の画像と異なる表示色で表示し、着目点３３を識別可能に表示してもよい。
【００３７】
上記実施形態では、シミュレーション部１３が、線条体の目標取付け姿勢を線条体取付部における角度（初期ねじれ量）として求めたが、目標取付け姿勢として他の情報を表示部１４を介して与えるようにしてもよく、シミュレーション部１３の構成は上述したものに限らない。
【００３８】
上記実施形態では、ロボットシミュレーション装置を多関節ロボットに適用したが、本発明は、これに限らず、線条体が取り付けられる種々のロボットに適用することができる。
【００３９】
以上の説明はあくまで一例であり、本発明の特徴を損なわない限り、上述した実施形態および変形例により本発明が限定されるものではない。上記実施形態および変形例の構成要素には、発明の同一性を維持しつつ置換可能かつ置換自明なものが含まれる。すなわち、本発明の技術的思想の範囲内で考えられる他の形態についても、本発明の範囲内に含まれる。また、上記実施形態と変形例の１つまたは複数を任意に組み合わせることも可能である。
【符号の説明】
【００４０】
１    ロボットシミュレーション装置
２    線条体モデル
３    質点
４    ばね要素
１１    モデル生成部
１２    着目点設定部
１３    シミュレーション部
１４    表示部
５１    線条体画像
５２    着目点画像
【図１】
0005927270.tif 000002
【図２】
0005927270.tif 000003
【図３】
0005927270.tif 000004
【図４】
0005927270.tif 000005
【図５】
0005927270.tif 000006