IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立GEニュークリア・エナジー株式会社の特許一覧

特許7223630シミュレーション装置、および、シミュレーションプログラム
<>
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図1
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図2
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図3
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図4
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図5
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図6
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図7
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図8
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図9
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図10
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図11
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図12
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図13
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図14
  • 特許-シミュレーション装置、および、シミュレーションプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-08
(45)【発行日】2023-02-16
(54)【発明の名称】シミュレーション装置、および、シミュレーションプログラム
(51)【国際特許分類】
   B25J 9/22 20060101AFI20230209BHJP
【FI】
B25J9/22 A
【請求項の数】 6
(21)【出願番号】P 2019090807
(22)【出願日】2019-05-13
(65)【公開番号】P2020185631
(43)【公開日】2020-11-19
【審査請求日】2021-12-13
(73)【特許権者】
【識別番号】507250427
【氏名又は名称】日立GEニュークリア・エナジー株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】関 洋
(72)【発明者】
【氏名】長井 隆浩
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2006-003263(JP,A)
【文献】特開2009-125920(JP,A)
【文献】特開平06-162152(JP,A)
【文献】特開2010-137298(JP,A)
【文献】特開2018-008347(JP,A)
【文献】特開2009-274148(JP,A)
【文献】特開2004-082313(JP,A)
【文献】Mustafa Bugday,Mehmet Karali,Design optimization of industrial robot arm to minimize reduntant weight,Engineering science and technology,an international journal,TR,Karabuk university,2018年11月,Vol22,P346-352
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
作業が行われる仮想空間である作業場所モデルと、前記作業場所モデル内に存在する作業対象モデルと、前記作業対象モデルに対して作業を行うロボットモデルとを選択するモデル選択部と、
前記ロボットモデルの構成要素である関節ごとに、根元側の関節を先端側の関節よりも先に時系列の作業動作データを割り当て、その作業動作データに従って動作する前記ロボットモデルと、前記作業場所モデルおよび前記作業対象モデルとの干渉に応じて発生する前記ロボットモデル内での応力分布を計算する計算制御部と、
計算された応力分布に従って、前記ロボットモデルが前記作業対象モデルに対して行う作業中の前記ロボットモデルの姿勢の安定度合いを評価指標として計算し、その評価指標が高い前記作業動作データを出力する動作評価部とを有することを特徴とする
シミュレーション装置。
【請求項2】
前記動作評価部は、前記作業動作データごとの評価指標を計算するときに、姿勢の安定度合いに加えて、作業の所要時間が短いほど高評価とする評価指標を加味することを特徴とする
請求項1に記載のシミュレーション装置。
【請求項3】
前記動作評価部は、評価指標が高い前記作業動作データを出力するときに、前記作業動作データに従って動作する前記ロボットモデルを、そのロボットモデル上に発生する応力分布である最大主応力の大きさに応じたコンター図として表示することを特徴とする
請求項1に記載のシミュレーション装置。
【請求項4】
前記計算制御部は、事前に用意された基本動作データを組み合わせ、前記ロボットモデルが前記作業場所モデルの障害物に衝突しないように、前記ロボットモデルに割り当てる前記作業動作データを作成することを特徴とする
請求項1に記載のシミュレーション装置。
【請求項5】
前記モデル選択部は、同じ前記作業場所モデルで同時に動作する複数の前記ロボットモデルを選択し、
前記動作評価部は、選択された複数の前記ロボットモデルそれぞれの前記作業動作データを出力することを特徴とする
請求項1に記載のシミュレーション装置。
【請求項6】
コンピュータをモデル選択部と、計算制御部と、動作評価部として機能させるためのシミュレーションプログラムであって、
前記モデル選択部は、作業が行われる仮想空間である作業場所モデルと、前記作業場所モデル内に存在する作業対象モデルと、前記作業対象モデルに対して作業を行うロボットモデルとを選択し、
前記計算制御部は、前記ロボットモデルの構成要素である関節ごとに、根元側の関節を先端側の関節よりも先に時系列の作業動作データを割り当て、その作業動作データに従って動作する前記ロボットモデルと、前記作業場所モデルおよび前記作業対象モデルとの干渉に応じて発生する前記ロボットモデル内での応力分布を計算し、
前記動作評価部は、計算された応力分布に従って、前記ロボットモデルが前記作業対象モデルに対して行う作業中の前記ロボットモデルの姿勢の安定度合いを評価指標として計算し、その評価指標が高い前記作業動作データを出力することを特徴とする
シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレーション装置、および、シミュレーションプログラムに関する。
【背景技術】
【0002】
ロボットの実機を現場で実際に動作させる前に、仮想環境で動作させることで、目的とする動作が可能か否かを評価するシミュレーションが行われている。仮想環境は、例えば、仮想空間内の3DのCG(3Dモデル)として構築される。
特許文献1には、ロボットの動作領域の三次元的な形状データを作成し、並びに、ロボットの位置を特定するためのマーカの画像に基づいてロボットの実機の画像と形状データとを重ね合わせて拡張現実空間を生成する演算部と、拡張現実空間を表示する表示部とを備えるロボットシステムが記載されている。
【0003】
特許文献2には、ロボットの設計情報により定まる大きさから所定寸法に拡大した形状に形成されたエンドエフェクタを備えるロボットモデルを構築し、そのロボットモデルを仮想空間上で動作させて干渉確認を行うシミュレーション装置が記載されている。
特許文献3には、サンプリング時間毎の各通過点における各軸値及び各教示点における各軸値をサンプリング時間毎に逐次出力するロボット動作生成器が記載されている。この逐次出力された各軸値に基づいてロボットの動作シミュレーションモデルを表示させれば、動作に連続性がある見やすいものとなる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-008347号公報
【文献】特開2009-274148号公報
【文献】特開2004-082313号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
多関節型アーム・ロボットなどの特定の作業に特化したロボットは、複雑な形状をしているため、作業中に転倒しないように特に注意して動作データを作成する必要がある。例えば、アームを可動範囲のギリギリまで水平方向に伸ばしてしまうと、そのアームの自重によってロボット筐体全体のバランスが崩れて転倒してしまうこともある。
よって、ロボットの動作シミュレーションを過酷な作業現場に適用するには、特許文献1~3のような従来のシミュレーション技術のような、単にロボットが障害物に干渉しないなどの単純な衝突判定だけでは不充分である。
【0006】
そこで、本発明は、ロボットが実際の作業を遂行できるか否かを事前確認できるように、詳細な動作シミュレーションを実行することを、主な課題とする。
【課題を解決するための手段】
【0007】
前記課題を解決するために、本発明のシミュレーション装置は、以下の特徴を有する。
本発明は、作業が行われる仮想空間である作業場所モデルと、前記作業場所モデル内に存在する作業対象モデルと、前記作業対象モデルに対して作業を行うロボットモデルとを選択するモデル選択部と、
前記ロボットモデルの構成要素である関節ごとに、根元側の関節を先端側の関節よりも先に時系列の作業動作データを割り当て、その作業動作データに従って動作する前記ロボットモデルと、前記作業場所モデルおよび前記作業対象モデルとの干渉に応じて発生する前記ロボットモデル内での応力分布を計算する計算制御部と、
計算された応力分布に従って、前記ロボットモデルが前記作業対象モデルに対して行う作業中の前記ロボットモデルの姿勢の安定度合いを評価指標として計算し、その評価指標が高い前記作業動作データを出力する動作評価部とを有することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【0008】
本発明によれば、ロボットが実際の作業を遂行できるか否かを事前確認できるように、詳細な動作シミュレーションを実行することができる。
【図面の簡単な説明】
【0009】
図1】本発明の一実施形態に関するロボットシミュレーションシステムの構成図である。
図2】本発明の一実施形態に関する3Dモデルデータの一例を示す。
図3】本発明の一実施形態に関する図2の作業場所モデルに対して、2つの基本動作データから構成される作業動作データの一例を示す。
図4】本発明の一実施形態に関する図2の作業場所モデルに対して、5つの基本動作データから構成される作業動作データの一例を示す。
図5】本発明の一実施形態に関する作業対象モデルの詳細な斜視図である。
図6】本発明の一実施形態に関するロボットモデルの詳細な斜視図である。
図7】本発明の一実施形態に関する図6のロボットモデルが図5の作業対象モデルに対して作業を行っている状態の斜視図である。
図8】本発明の一実施形態に関する図7の作業中におけるロボットモデルの多関節モデルの斜視図である。
図9】本発明の一実施形態に関するノードに割り当てた動作データのうちの関節の中心座標データを示す時系列グラフである。
図10】本発明の一実施形態に関するノードに割り当てた動作データのうちの関節の回転角データを示す時系列グラフである。
図11】本発明の一実施形態に関するシミュレーション装置のメイン処理を示すフローチャートである。
図12】本発明の一実施形態に関する応力分布の計算処理のサブルーチンを示すフローチャートである。
図13】本発明の一実施形態に関するロボットモデルが移動中のときの評価結果データの表示画面図である。
図14】本発明の一実施形態に関する図13の表示画面図に対して、ロボットモデルが作業中のときの評価結果データの表示画面図である。
図15】本発明の一実施形態に関する図14の表示画面図に対して、評価結果を併せて表示した表示画面図である。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態を、図面を参照しつつ説明する。
【0011】
図1は、ロボットシミュレーションシステムの構成図である。ロボットシミュレーションシステムは、入力装置10と、表示装置20と、シミュレーション装置30と、記憶装置40とを有する。
シミュレーション装置30は、CPU(Central Processing Unit)と、メモリと、ハードディスクなどの記憶手段(記憶部)と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、CPUが、メモリ上に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、各処理部により構成される制御部(制御手段)を動作させる。図1では、シミュレーション装置30の記憶手段として、記憶装置40を用いる。
【0012】
シミュレーション装置30は、モデル選択部31と、計算制御部32と、動作評価部33とを有する。これらの各処理部の詳細は、図11図12のフローチャートで明らかにする。
記憶装置40には、3Dモデルデータ41と、関節動作データ42と、評価結果データ45とが格納される。関節動作データ42は、動作計算データ43と、動作実績データ44とから構成される。以下、記憶装置40内のデータ内容を順に説明する。
【0013】
図2は、3Dモデルデータ41の一例を示す。この図2では3Dモデルデータ41を天井から見下ろした2Dの平面図として説明する。
3Dモデルデータ41は、作業を行うロボットの形状を示すロボットモデル301と、ロボットの作業対象の形状を示す作業対象モデル302と、ロボットの作業場所を示す仮想空間である作業場所モデル(交差点303を含む通路など)とを含めて構成される。
【0014】
以下では、ロボットが行う作業の一例として、作業場所の左下に位置するロボットモデル301が交差点303を右折して作業対象モデル302であるハンドルの前に移動し、そのハンドルを右に回すことで、ハンドルに接続された弁を開ける作業を想定する。この「弁を開ける」という作業内容を実現するためのロボットの作業動作データを作成することが、シミュレーション装置30の主な目的である。
【0015】
1つの作業動作データは、1つ以上の基本動作データの集合として定義される。基本動作データとは、ロボットが直進する、ロボットが右回転する、ロボットのアームが前方にある物をつかむなどの、さまざまな作業動作データに用いられる基本的な動作の単位である。なお、基本動作データは、ロボットの各関節ごとの動作データである関節動作データ42として、事前に記憶装置40に用意されている(詳細は図9図10)。
【0016】
図3は、図2の作業場所モデルに対して、2つの基本動作データから構成される作業動作データの一例を示す。
「直進311→アーム右回転」という2つの基本動作データを順に接続して作成された作業動作データは、ロボットモデル301を作業対象モデル302まで最短距離で近づけるようにして作成された。しかし、この作業動作データは、作業場所モデルが示す十字路の壁が考慮されていないため、途中でロボットモデル301が壁(障害物)に衝突してしまう。
【0017】
図4は、図2の作業場所モデルに対して、5つの基本動作データから構成される作業動作データの一例を示す。
「直進321→筐体右回転→直進322→筐体左回転→アーム右回転」という5つの基本動作データを順に接続して作成された作業動作データは、作業場所モデルが示す十字路の通路に沿って、ロボットモデル301を作業対象モデル302まで近づける。このように作業動作データは、作業に直接関係する作業対象モデル302だけでなく、その周囲の作業場所モデル(通路)も考慮して作成する必要がある。
【0018】
図5は、作業対象モデル302の詳細な斜視図である。
作業対象モデル302としての配管101には、弁の開度を調整するシャフト103と、手でつかんで回す場合に利用するハンドル部102とが備えられている。これらの3Dモデルは、ロボットハンドの接触や干渉に応じて、CG上でも部品が動作するような構成としてもよい。作業対象モデル302が動作するようにアニメーション表示する画面の詳細は、図13図15で後記する。
【0019】
図6は、ロボットモデル301の詳細な斜視図である。
ロボットモデル301としての多関節型アーム・ロボットは、水平方向の移動および回転に利用するクローラ121、122と、アームの関節部111~116と、モノを掴むハンド部117とを有する。ハンド部117は、エンドエフェクタとしてもよい。
【0020】
図7は、図6のロボットモデルが図5の作業対象モデルに対して作業を行っている状態の斜視図である。
ハンドル部102を掴んだハンド部117は、右に回転することで、ハンドル部102を回す。これにより、シャフト103が調整されることで、配管101の弁が開く。
【0021】
図8は、図7の作業中におけるロボットモデルの多関節モデルの斜視図である。多関節モデルは、各関節を示す丸印のノードと、それらのノード間を接続する骨格を示す直線のリンクとで構成される。
各ノードには、関節を識別するためのノードIDが付されている。例えば、ノードC1、C2はルートノードであり、自身が親ノードを持たない。ルートノードC1だけを通過するリンクと、ルートノードC2だけを通過するリンクと、ルートノードC1、C2間を接続するリンクは、クローラ121、122に対応するロボット構成部品の中心軸である。
【0022】
ロボットアームの各関節は、根元から先端に向けて親子構造(階層構造)を形成する。ロボットアームの根元から順に、ロボットアームの関節部111に対応するノードA1、関節部112に対応するノードA2、…、関節部116に対応するノードA6、ハンド部117に対応するノードA7が存在する。ノードA2の親ノードがノードA1であり、ノードA2の子ノードがノードA3である。
【0023】
ノード間の親子構造は、各ノードの動作データに影響する。つまり、親ノードの動作データは、その子孫ノード(子ノード、孫ノード、…)の動作データに重畳される。例えば、ルートノードC1、C2の動作データは、全てのアームノード(ノードA1~A7)の動作データに影響する。一方、ノードA3の動作データは、自身の子孫ノード(ノードA4~A7)に影響を与え、自身の先祖ノード(ノードA1,A2,C1,C2)には影響を与えない。
つまり、各ノードの動作データは、ルートノード側(C1,C2)を先に計算し、リーフノード側(A7)を後に計算することが望ましい。
以上、図8で説明したノードごとに動作データが割り当てられる。なお、動作データを割り当てる対象は、各関節(各ノード)に限定されず、クローラ121、122の走行データ(筐体全体を前進させたり後退させたりするためのクローラの回転運動など)や、図8の多関節モデルとは異なるロボット(アームが伸縮するロボットなど)の構成要素に割り当ててもよい。
【0024】
以下、図9図10は、1つのノードに割り当てた時系列の動作データの例を示す。
図9は、ノードに割り当てた動作データのうちの関節の中心座標データを示す時系列グラフである。3Dの座標軸(X,Y,Z)に対応して、3つの座標データを示す線分が示される。
図10は、ノードに割り当てた動作データのうちの関節の回転角データを示す時系列グラフである。3Dの回転軸(θ,φ,ψ)に対応して、3つの回転角データを示す線分が示される。
【0025】
計算制御部32は、関節動作データ42として用意された基本動作データを読み込んで、図9図10に示すように各ノードに割り当てる。ここで、関節動作データ42は、動作計算データ43と動作実績データ44とのうちの少なくとも1つのデータから生成される。
動作実績データ44は、ロボットの動作の履歴データとして、あらかじめ用意されているデータである。
動作計算データ43は、動作実績データ44の欠損している時間範囲分を補完するデータである。欠損している時間範囲とは、例えば、150フレーム以降の時間帯である。計算制御部32は、動作実績データ44が存在している時間帯は動作実績データ44を割り当てるとともに、動作実績データ44が存在していない時間帯は動作計算データ43を割り当てる。ここで、計算制御部32は、動作計算データ43と動作実績データ44とをなめらかに接続するようにスムージング(平滑化)することが望ましい。
【0026】
図11は、シミュレーション装置30のメイン処理を示すフローチャートである。
S100として、モデル選択部31は、今回のシミュレーション対象となる作業内容についての3Dモデルデータ41を入力装置10を介して、ユーザに選択させる。例えば、以下の3Dモデルデータ41が選択される。
図2の作業場所モデル(交差点303を含む通路など)
図5の作業対象モデル302と、作業内容(ハンドル部102を回すことで配管101の弁を開ける)
図6のロボットモデル301。なお、選択されるロボットモデルは1つの筐体でもよいし、複数の筐体が協調して1つの作業を遂行するものでもよい。
【0027】
S200として、計算制御部32は、図8に示したロボットモデルの多関節モデルの各ノードに対して、図9図10に示した関節動作データ42を基本動作データとして割り当てる。なお、前記したように、多関節は階層構造となっており、親ノードの動作データは、子孫ノードの動作データに重畳される。
【0028】
S300として、計算制御部32は、S200で割り当てた基本動作データの組み合わせをもとに、今回の作業動作データを作成する。基本動作データの組み合わせとは、例えば、定義した作業場所モデルの空間について、微小動作データ空間ごとに全数計算されたものである。
なお、作業動作データの作成処理は、図4に示したように、ロボットモデルの初期位置と、作業対象モデルの初期位置と、作業場所モデルの3D空間(走行可能な通路と、走行不可能な壁)とを考慮し、ロボットモデルが作業場所に干渉しないように(壁に激突しないように)、関節動作データ42から基本動作データが抽出される。ロボットモデルが作業場所に干渉するか否かの判定処理は、ロボットモデルの動作範囲を考慮してロボットモデルの体積より周囲にやや広めにした体積を衝突範囲とすることが望ましい。
【0029】
S400として、計算制御部32は、S300で作成した作業動作データの動作フレームごとのロボットモデルにかかる応力分布を計算する(詳細は図12のサブルーチン)。
S500として、動作評価部33は、S400で計算された動作フレームごとの応力分布から、作業動作データの評価指標を計算する。評価指標は、例えば、以下のパラメータである。
・評価指標「最大主応力」は、ロボットモデルの姿勢の安定度(作業中に倒れないか)や、ロボットモデルの作業遂行度合い(ハンドル部をしっかり握って回しているか)などの評価に用いられる。
・評価指標「動作時間」は、作業時間が短期間で済ませられるほど高評価など、作業動作データの評価に用いられる。
これらの各評価指標を元に、今回の作業動作データの評価点が計算される。
【0030】
S600として、動作評価部33は、シミュレーションの終了条件を判定する。終了条件は、例えば、以下の条件をすべて満たしたときに、充分良好な作業動作データが得られたとして終了するものである。
・ロボットモデルの筐体の安定度合いが高い。例えば、各パーツの最大主応力が限界閾値を超過していないときには、作業中にロボットモデルが倒れないので、安定度合いが高いと評価できる。
・ロボットモデルのハンド部がハンドル部をしっかり握って回している(ハンド部の最大主応力が所定閾値を超過しているか)
・作業の所要時間が制限時間以内に完了する。
また、終了条件での判定処理は、評価点に対してシミュレーテッド・アニーリングを代表とする最適化手法を利用することにより、計算の高速化と効率化を図ることもできる。
【0031】
終了条件を満たさないときは(S600,No)、動作評価部33は、処理をS200に戻して、今回の作業動作データとは別の作業動作データを新たに作成する。終了条件を満たしたときは(S600,Yes)、動作評価部33は、処理をS700に進める。
S700として、動作評価部33は、例えば、評価点が高い順に3通りの作業動作データを評価結果データ45として記憶装置40に格納するとともに、表示装置20に表示する(表示画面の詳細は、図13図15で後記)。
【0032】
図12は、応力分布の計算処理(S400)のサブルーチンを示すフローチャートである。
S410として、計算制御部32は、動作フレームごとのループ処理において、今回の計算対象のフレーム番号を指定フレームとして指定する。動作フレームとは、時刻を相対化した各時間断面における動作データである。今回のフレーム番号は、開始フレーム=0から最終フレーム=200まで、1フレームずつ順に選択される。S420以降の処理において、フレーム番号ごとの応力分布が計算される。
S420として、計算制御部32は、指定フレームについて、関節動作データ42(図9に示した中心座標データ、図10に示した回転角度データ)を関節ごとに設定する。
【0033】
S430として、計算制御部32は、指定フレームについて、S420で設定された関節動作データ42をもとに、パーツごとに重心を計算する。パーツとは、例えば図8の「ノードA2、ノードA3、および、ノードA2およびA3間のリンク」の組み合わせのように、1つ以上の関節と、1つ以上のリンクとで構成されるロボットモデルから割り当てられた部材である。
S440として、計算制御部32は、指定フレームについて、パーツごとの重心から、ロボットモデル(ロボットアーム)にかかる荷重を、パーツごとに設定する。なお、通常は、ハンド部(エンドエフェクタ)にかかる下向きの重力による荷重を設定する。
【0034】
S450として、計算制御部32は、指定フレームについて、パーツごとの荷重から、材料力学の手法によりパーツごとの応力分布を計算する。例えば、以下が計算結果の一例である。
・パーツごとのミーゼス応力
・主応力のロボット構成部品表面上での分布
・最大主応力
【0035】
S460として、計算制御部32は、今回の指定フレームの計算完了により、全フレームの計算が終了したか否かを判定する。未計算のフレームが残っている場合には(S460、No)、処理をS410に戻して次のフレーム番号を指定フレームとして指定する。全フレームの計算が終わったときには(S460、Yes)、処理をS470に進める。
S470として、計算制御部32は、S450の応力計算の結果を評価結果データ45に保存する。
【0036】
図13は、ロボットモデルが移動中のときの評価結果データ45の表示画面図である。
表示画面は、ロボットモデルの表示欄210と、ロボットモデル表示欄210で再生中の動作フレームを指定するための再生操作欄220と、表示欄210に表示するロボットモデルの作業内容を指定するための作業指定欄230とを含む。この表示画面は、例えば、PC上の画面に表示するデスクトップ・アプリの画面である。
表示欄210には、評価結果データ45から読み出したロボットモデルの作業動作データが、アニメーションとして表示される。この表示欄210は、様々なカメラ角度から可視化されたロボットモデルが表示される。表示欄210には、ロボットモデルが映るようにカメラ視野が設定されているので、ロボットの姿勢を視覚的に確認できる。なお、表示欄210に表示されるロボットの台数は1台でもよいし、複数のアーム型ロボットを同時に表示してもよい。
【0037】
再生操作欄220は、表示欄210にて再生中のフレーム番号(図13では80フレーム目)を指定するためのスライドバー221と、アニメーションの一時停止ボタンや再生ボタン22aなどのアニメーションの再生操作を受け付ける操作ボタン欄222と、シミュレーション時間とフレーム番号との相対的な関係を示す時間表示欄223とを含む。
【0038】
作業指定欄230は、作業場所モデルをエリアとして選択させるプルダウンメニュー231と、作業内容を選択させるプルダウンメニュー232と、基本動作データをシーケンスとして選択させるプルダウンメニュー233と、動作評価部33による評価計算(S500)を起動するためのボタン234とを有する。
なお、80フレーム目では、基本動作データ=S001(移動中)なので、ハンド部は閉じられている。また、図13の時点では、まだボタン234が押下されていないため、表示欄210には、ロボットモデルに対して評価指標(応力分布)が付されていない。
【0039】
図14は、図13の表示画面図に対して、ロボットモデルが作業中のときの評価結果データ45の表示画面図である。
スライドバー221に表示されるように、図13の80フレーム目から、図14の170フレーム目へと時間が経過している。そして、プルダウンメニュー233に表示されるように、図13のS001(移動中)から、図14のS002(作業中)へと状態が遷移している。
これにより、表示欄210には、作業中のロボットモデルと、その作業対象モデルとが同時に表示される。
【0040】
図15は、図14の表示画面図に対して、評価結果を併せて表示した表示画面図である。
ボタン234が押下されることで(太枠の矩形)、動作評価部33による評価計算(S500)が実行される。この評価計算による評価結果データ45が、表示欄210のロボットモデルにマッピングされる。
つまり、評価結果データ45の応力分布は、最大主応力の大きさに応じたコンター図のような表示パターン(符号212)として、ロボットの構成部品の表面にマッピングされる(符号211)。この応力分布の表示により、ユーザはロボットのどこに応力が集中しているかがわかり、ロボットが転倒しないことなどを確認できる。
【0041】
以上説明した本実施形態では、シミュレーション装置30の計算制御部32が、事前に用意したロボットの基本動作データを組み合わせて作業動作データを作成する。そして、計算制御部32がロボットモデルの作業動作データに対する応力分布などを計算し、動作評価部33が評価指標に基づいて、評価点の高い作業動作データを選択して、表示することとした。
これにより、様々な作業対象や非定形な作業目的に対しても、作業時間を短縮でき、かつ、作業を遂行できる作業動作データを作成できる。さらに、3Dモデルデータ41を用いて事前にシミュレーションすることで、実際の作業場所でロボットを作業させる前に、ロボットの作業動作データが適切か否かを評価することができる。
【0042】
なお、本発明は前記した実施例に限定されるものではなく、さまざまな変形例が含まれる。例えば、前記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。
また、前記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【0043】
各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、SSD(Solid State Drive)などの記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)などの記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
さらに、各装置を繋ぐ通信手段は、無線LANに限定せず、有線LANやその他の通信手段に変更してもよい。
【符号の説明】
【0044】
10 入力装置
20 表示装置
30 シミュレーション装置
31 モデル選択部
32 計算制御部
33 動作評価部
40 記憶装置
41 3Dモデルデータ
42 関節動作データ
43 動作計算データ
44 動作実績データ
45 評価結果データ
301 ロボットモデル
302 作業対象モデル
303 交差点(作業場所モデル)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15