(57)【要約】      （修正有）【課題】ロボットが実際の作業を遂行できるか否かを事前確認できるように、詳細な動作シミュレーションを実行すること。【解決手段】シミュレーション装置３０は、作業場所モデルと、作業場所モデル内に存在する作業対象モデルと、作業対象モデルに対して作業を行うロボットモデルとを選択するモデル選択部３１と、ロボットモデルの構成要素ごとに時系列の作業動作データを割り当て、その作業動作データに従って動作するロボットモデルと、作業場所モデルおよび作業対象モデルとの干渉に応じて発生するロボットモデル内での応力分布を計算する計算制御部３２と、計算された応力分布に従って、ロボットモデルが作業対象モデルに対して行う作業中のロボットモデルの姿勢の安定度合いを評価指標として計算し、その評価指標が高い作業動作データを出力する動作評価部３３とを有する。【選択図】図１
2020185631.tif 000002
【特許請求の範囲】
【請求項１】
作業が行われる仮想空間である作業場所モデルと、前記作業場所モデル内に存在する作業対象モデルと、前記作業対象モデルに対して作業を行うロボットモデルとを選択するモデル選択部と、
前記ロボットモデルの構成要素ごとに時系列の作業動作データを割り当て、その作業動作データに従って動作する前記ロボットモデルと、前記作業場所モデルおよび前記作業対象モデルとの干渉に応じて発生する前記ロボットモデル内での応力分布を計算する計算制御部と、
計算された応力分布に従って、前記ロボットモデルが前記作業対象モデルに対して行う作業中の前記ロボットモデルの姿勢の安定度合いを評価指標として計算し、その評価指標が高い前記作業動作データを出力する動作評価部とを有することを特徴とする
シミュレーション装置。
【請求項２】
前記動作評価部は、前記作業動作データごとの評価指標を計算するときに、姿勢の安定度合いに加えて、作業の所要時間が短いほど高評価とする評価指標を加味することを特徴とする
請求項１に記載のシミュレーション装置。
【請求項３】
前記動作評価部は、評価指標が高い前記作業動作データを出力するときに、前記作業動作データに従って動作する前記ロボットモデルを、そのロボットモデル上に発生する応力分布である最大主応力の大きさに応じたコンター図として表示することを特徴とする
請求項１に記載のシミュレーション装置。
【請求項４】
前記計算制御部は、事前に用意された基本動作データを組み合わせ、前記ロボットモデルが前記作業場所モデルの障害物に衝突しないように、前記ロボットモデルに割り当てる前記作業動作データを作成することを特徴とする
請求項１に記載のシミュレーション装置。
【請求項５】
前記モデル選択部は、同じ前記作業場所モデルで同時に動作する複数の前記ロボットモデルを選択し、
前記動作評価部は、選択された複数の前記ロボットモデルそれぞれの前記作業動作データを出力することを特徴とする
請求項１に記載のシミュレーション装置。
【請求項６】
コンピュータをモデル選択部と、計算制御部と、動作評価部として機能させるためのシミュレーションプログラムであって、
前記モデル選択部は、作業が行われる仮想空間である作業場所モデルと、前記作業場所モデル内に存在する作業対象モデルと、前記作業対象モデルに対して作業を行うロボットモデルとを選択し、
前記計算制御部は、前記ロボットモデルの構成要素ごとに時系列の作業動作データを割り当て、その作業動作データに従って動作する前記ロボットモデルと、前記作業場所モデルおよび前記作業対象モデルとの干渉に応じて発生する前記ロボットモデル内での応力分布を計算し、
前記動作評価部は、計算された応力分布に従って、前記ロボットモデルが前記作業対象モデルに対して行う作業中の前記ロボットモデルの姿勢の安定度合いを評価指標として計算し、その評価指標が高い前記作業動作データを出力することを特徴とする
シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置、および、シミュレーションプログラムに関する。
【背景技術】
【０００２】
ロボットの実機を現場で実際に動作させる前に、仮想環境で動作させることで、目的とする動作が可能か否かを評価するシミュレーションが行われている。仮想環境は、例えば、仮想空間内の３ＤのＣＧ（３Ｄモデル）として構築される。
特許文献１には、ロボットの動作領域の三次元的な形状データを作成し、並びに、ロボットの位置を特定するためのマーカの画像に基づいてロボットの実機の画像と形状データとを重ね合わせて拡張現実空間を生成する演算部と、拡張現実空間を表示する表示部とを備えるロボットシステムが記載されている。
【０００３】
特許文献２には、ロボットの設計情報により定まる大きさから所定寸法に拡大した形状に形成されたエンドエフェクタを備えるロボットモデルを構築し、そのロボットモデルを仮想空間上で動作させて干渉確認を行うシミュレーション装置が記載されている。
特許文献３には、サンプリング時間毎の各通過点における各軸値及び各教示点における各軸値をサンプリング時間毎に逐次出力するロボット動作生成器が記載されている。この逐次出力された各軸値に基づいてロボットの動作シミュレーションモデルを表示させれば、動作に連続性がある見やすいものとなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−００８３４７号公報
【特許文献２】特開２００９−２７４１４８号公報
【特許文献３】特開２００４−０８２３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
多関節型アーム・ロボットなどの特定の作業に特化したロボットは、複雑な形状をしているため、作業中に転倒しないように特に注意して動作データを作成する必要がある。例えば、アームを可動範囲のギリギリまで水平方向に伸ばしてしまうと、そのアームの自重によってロボット筐体全体のバランスが崩れて転倒してしまうこともある。
よって、ロボットの動作シミュレーションを過酷な作業現場に適用するには、特許文献１〜３のような従来のシミュレーション技術のような、単にロボットが障害物に干渉しないなどの単純な衝突判定だけでは不充分である。
【０００６】
そこで、本発明は、ロボットが実際の作業を遂行できるか否かを事前確認できるように、詳細な動作シミュレーションを実行することを、主な課題とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明のシミュレーション装置は、以下の特徴を有する。
本発明は、作業が行われる仮想空間である作業場所モデルと、前記作業場所モデル内に存在する作業対象モデルと、前記作業対象モデルに対して作業を行うロボットモデルとを選択するモデル選択部と、
前記ロボットモデルの構成要素ごとに時系列の作業動作データを割り当て、その作業動作データに従って動作する前記ロボットモデルと、前記作業場所モデルおよび前記作業対象モデルとの干渉に応じて発生する前記ロボットモデル内での応力分布を計算する計算制御部と、
計算された応力分布に従って、前記ロボットモデルが前記作業対象モデルに対して行う作業中の前記ロボットモデルの姿勢の安定度合いを評価指標として計算し、その評価指標が高い前記作業動作データを出力する動作評価部とを有することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【０００８】
本発明によれば、ロボットが実際の作業を遂行できるか否かを事前確認できるように、詳細な動作シミュレーションを実行することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に関するロボットシミュレーションシステムの構成図である。
【図２】本発明の一実施形態に関する３Ｄモデルデータの一例を示す。
【図３】本発明の一実施形態に関する図２の作業場所モデルに対して、２つの基本動作データから構成される作業動作データの一例を示す。
【図４】本発明の一実施形態に関する図２の作業場所モデルに対して、５つの基本動作データから構成される作業動作データの一例を示す。
【図５】本発明の一実施形態に関する作業対象モデルの詳細な斜視図である。
【図６】本発明の一実施形態に関するロボットモデルの詳細な斜視図である。
【図７】本発明の一実施形態に関する図６のロボットモデルが図５の作業対象モデルに対して作業を行っている状態の斜視図である。
【図８】本発明の一実施形態に関する図７の作業中におけるロボットモデルの多関節モデルの斜視図である。
【図９】本発明の一実施形態に関するノードに割り当てた動作データのうちの関節の中心座標データを示す時系列グラフである。
【図１０】本発明の一実施形態に関するノードに割り当てた動作データのうちの関節の回転角データを示す時系列グラフである。
【図１１】本発明の一実施形態に関するシミュレーション装置のメイン処理を示すフローチャートである。
【図１２】本発明の一実施形態に関する応力分布の計算処理のサブルーチンを示すフローチャートである。
【図１３】本発明の一実施形態に関するロボットモデルが移動中のときの評価結果データの表示画面図である。
【図１４】本発明の一実施形態に関する図１３の表示画面図に対して、ロボットモデルが作業中のときの評価結果データの表示画面図である。
【図１５】本発明の一実施形態に関する図１４の表示画面図に対して、評価結果を併せて表示した表示画面図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態を、図面を参照しつつ説明する。
【００１１】
図１は、ロボットシミュレーションシステムの構成図である。ロボットシミュレーションシステムは、入力装置１０と、表示装置２０と、シミュレーション装置３０と、記憶装置４０とを有する。
シミュレーション装置３０は、ＣＰＵ（Central Processing Unit）と、メモリと、ハードディスクなどの記憶手段（記憶部）と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、ＣＰＵが、メモリ上に読み込んだプログラム（アプリケーションや、その略のアプリとも呼ばれる）を実行することにより、各処理部により構成される制御部（制御手段）を動作させる。図１では、シミュレーション装置３０の記憶手段として、記憶装置４０を用いる。
【００１２】
シミュレーション装置３０は、モデル選択部３１と、計算制御部３２と、動作評価部３３とを有する。これらの各処理部の詳細は、図１１，図１２のフローチャートで明らかにする。
記憶装置４０には、３Ｄモデルデータ４１と、関節動作データ４２と、評価結果データ４５とが格納される。関節動作データ４２は、動作計算データ４３と、動作実績データ４４とから構成される。以下、記憶装置４０内のデータ内容を順に説明する。
【００１３】
図２は、３Ｄモデルデータ４１の一例を示す。この図２では３Ｄモデルデータ４１を天井から見下ろした２Ｄの平面図として説明する。
３Ｄモデルデータ４１は、作業を行うロボットの形状を示すロボットモデル３０１と、ロボットの作業対象の形状を示す作業対象モデル３０２と、ロボットの作業場所を示す仮想空間である作業場所モデル（交差点３０３を含む通路など）とを含めて構成される。
【００１４】
以下では、ロボットが行う作業の一例として、作業場所の左下に位置するロボットモデル３０１が交差点３０３を右折して作業対象モデル３０２であるハンドルの前に移動し、そのハンドルを右に回すことで、ハンドルに接続された弁を開ける作業を想定する。この「弁を開ける」という作業内容を実現するためのロボットの作業動作データを作成することが、シミュレーション装置３０の主な目的である。
【００１５】
１つの作業動作データは、１つ以上の基本動作データの集合として定義される。基本動作データとは、ロボットが直進する、ロボットが右回転する、ロボットのアームが前方にある物をつかむなどの、さまざまな作業動作データに用いられる基本的な動作の単位である。なお、基本動作データは、ロボットの各関節ごとの動作データである関節動作データ４２として、事前に記憶装置４０に用意されている（詳細は図９，図１０）。
【００１６】
図３は、図２の作業場所モデルに対して、２つの基本動作データから構成される作業動作データの一例を示す。
「直進３１１→アーム右回転」という２つの基本動作データを順に接続して作成された作業動作データは、ロボットモデル３０１を作業対象モデル３０２まで最短距離で近づけるようにして作成された。しかし、この作業動作データは、作業場所モデルが示す十字路の壁が考慮されていないため、途中でロボットモデル３０１が壁（障害物）に衝突してしまう。
【００１７】
図４は、図２の作業場所モデルに対して、５つの基本動作データから構成される作業動作データの一例を示す。
「直進３２１→筐体右回転→直進３２２→筐体左回転→アーム右回転」という５つの基本動作データを順に接続して作成された作業動作データは、作業場所モデルが示す十字路の通路に沿って、ロボットモデル３０１を作業対象モデル３０２まで近づける。このように作業動作データは、作業に直接関係する作業対象モデル３０２だけでなく、その周囲の作業場所モデル（通路）も考慮して作成する必要がある。
【００１８】
図５は、作業対象モデル３０２の詳細な斜視図である。
作業対象モデル３０２としての配管１０１には、弁の開度を調整するシャフト１０３と、手でつかんで回す場合に利用するハンドル部１０２とが備えられている。これらの３Ｄモデルは、ロボットハンドの接触や干渉に応じて、ＣＧ上でも部品が動作するような構成としてもよい。作業対象モデル３０２が動作するようにアニメーション表示する画面の詳細は、図１３〜図１５で後記する。
【００１９】
図６は、ロボットモデル３０１の詳細な斜視図である。
ロボットモデル３０１としての多関節型アーム・ロボットは、水平方向の移動および回転に利用するクローラ１２１、１２２と、アームの関節部１１１〜１１６と、モノを掴むハンド部１１７とを有する。ハンド部１１７は、エンドエフェクタとしてもよい。
【００２０】
図７は、図６のロボットモデルが図５の作業対象モデルに対して作業を行っている状態の斜視図である。
ハンドル部１０２を掴んだハンド部１１７は、右に回転することで、ハンドル部１０２を回す。これにより、シャフト１０３が調整されることで、配管１０１の弁が開く。
【００２１】
図８は、図７の作業中におけるロボットモデルの多関節モデルの斜視図である。多関節モデルは、各関節を示す丸印のノードと、それらのノード間を接続する骨格を示す直線のリンクとで構成される。
各ノードには、関節を識別するためのノードＩＤが付されている。例えば、ノードC1、C2はルートノードであり、自身が親ノードを持たない。ルートノードC1だけを通過するリンクと、ルートノードC2だけを通過するリンクと、ルートノードC1、C2間を接続するリンクは、クローラ１２１、１２２に対応するロボット構成部品の中心軸である。
【００２２】
ロボットアームの各関節は、根元から先端に向けて親子構造（階層構造）を形成する。ロボットアームの根元から順に、ロボットアームの関節部１１１に対応するノードA1、関節部１１２に対応するノードA2、…、関節部１１６に対応するノードA6、ハンド部１１７に対応するノードA7が存在する。ノードA2の親ノードがノードA1であり、ノードA2の子ノードがノードA3である。
【００２３】
ノード間の親子構造は、各ノードの動作データに影響する。つまり、親ノードの動作データは、その子孫ノード（子ノード、孫ノード、…）の動作データに重畳される。例えば、ルートノードC1、C2の動作データは、全てのアームノード（ノードA1〜A7）の動作データに影響する。一方、ノードA3の動作データは、自身の子孫ノード（ノードA4〜A7）に影響を与え、自身の先祖ノード（ノードA1,A2,C1,C2）には影響を与えない。
つまり、各ノードの動作データは、ルートノード側（C1,C2）を先に計算し、リーフノード側（A7）を後に計算することが望ましい。
以上、図８で説明したノードごとに動作データが割り当てられる。なお、動作データを割り当てる対象は、各関節（各ノード）に限定されず、クローラ１２１、１２２の走行データ（筐体全体を前進させたり後退させたりするためのクローラの回転運動など）や、図８の多関節モデルとは異なるロボット（アームが伸縮するロボットなど）の構成要素に割り当ててもよい。
【００２４】
以下、図９，図１０は、１つのノードに割り当てた時系列の動作データの例を示す。
図９は、ノードに割り当てた動作データのうちの関節の中心座標データを示す時系列グラフである。３Ｄの座標軸（X,Y,Z）に対応して、３つの座標データを示す線分が示される。
図１０は、ノードに割り当てた動作データのうちの関節の回転角データを示す時系列グラフである。３Ｄの回転軸（θ,φ,ψ）に対応して、３つの回転角データを示す線分が示される。
【００２５】
計算制御部３２は、関節動作データ４２として用意された基本動作データを読み込んで、図９，図１０に示すように各ノードに割り当てる。ここで、関節動作データ４２は、動作計算データ４３と動作実績データ４４とのうちの少なくとも１つのデータから生成される。
動作実績データ４４は、ロボットの動作の履歴データとして、あらかじめ用意されているデータである。
動作計算データ４３は、動作実績データ４４の欠損している時間範囲分を補完するデータである。欠損している時間範囲とは、例えば、１５０フレーム以降の時間帯である。計算制御部３２は、動作実績データ４４が存在している時間帯は動作実績データ４４を割り当てるとともに、動作実績データ４４が存在していない時間帯は動作計算データ４３を割り当てる。ここで、計算制御部３２は、動作計算データ４３と動作実績データ４４とをなめらかに接続するようにスムージング（平滑化）することが望ましい。
【００２６】
図１１は、シミュレーション装置３０のメイン処理を示すフローチャートである。
Ｓ１００として、モデル選択部３１は、今回のシミュレーション対象となる作業内容についての３Ｄモデルデータ４１を入力装置１０を介して、ユーザに選択させる。例えば、以下の３Ｄモデルデータ４１が選択される。
・図２の作業場所モデル（交差点３０３を含む通路など）
・図５の作業対象モデル３０２と、作業内容（ハンドル部１０２を回すことで配管１０１の弁を開ける）
・図６のロボットモデル３０１。なお、選択されるロボットモデルは１つの筐体でもよいし、複数の筐体が協調して１つの作業を遂行するものでもよい。
【００２７】
Ｓ２００として、計算制御部３２は、図８に示したロボットモデルの多関節モデルの各ノードに対して、図９，図１０に示した関節動作データ４２を基本動作データとして割り当てる。なお、前記したように、多関節は階層構造となっており、親ノードの動作データは、子孫ノードの動作データに重畳される。
【００２８】
Ｓ３００として、計算制御部３２は、Ｓ２００で割り当てた基本動作データの組み合わせをもとに、今回の作業動作データを作成する。基本動作データの組み合わせとは、例えば、定義した作業場所モデルの空間について、微小動作データ空間ごとに全数計算されたものである。
なお、作業動作データの作成処理は、図４に示したように、ロボットモデルの初期位置と、作業対象モデルの初期位置と、作業場所モデルの３Ｄ空間（走行可能な通路と、走行不可能な壁）とを考慮し、ロボットモデルが作業場所に干渉しないように（壁に激突しないように）、関節動作データ４２から基本動作データが抽出される。ロボットモデルが作業場所に干渉するか否かの判定処理は、ロボットモデルの動作範囲を考慮してロボットモデルの体積より周囲にやや広めにした体積を衝突範囲とすることが望ましい。
【００２９】
Ｓ４００として、計算制御部３２は、Ｓ３００で作成した作業動作データの動作フレームごとのロボットモデルにかかる応力分布を計算する（詳細は図１２のサブルーチン）。
Ｓ５００として、動作評価部３３は、Ｓ４００で計算された動作フレームごとの応力分布から、作業動作データの評価指標を計算する。評価指標は、例えば、以下のパラメータである。
・評価指標「最大主応力」は、ロボットモデルの姿勢の安定度（作業中に倒れないか）や、ロボットモデルの作業遂行度合い（ハンドル部をしっかり握って回しているか）などの評価に用いられる。
・評価指標「動作時間」は、作業時間が短期間で済ませられるほど高評価など、作業動作データの評価に用いられる。
これらの各評価指標を元に、今回の作業動作データの評価点が計算される。
【００３０】
Ｓ６００として、動作評価部３３は、シミュレーションの終了条件を判定する。終了条件は、例えば、以下の条件をすべて満たしたときに、充分良好な作業動作データが得られたとして終了するものである。
・ロボットモデルの筐体の安定度合いが高い。例えば、各パーツの最大主応力が限界閾値を超過していないときには、作業中にロボットモデルが倒れないので、安定度合いが高いと評価できる。
・ロボットモデルのハンド部がハンドル部をしっかり握って回している（ハンド部の最大主応力が所定閾値を超過しているか）
・作業の所要時間が制限時間以内に完了する。
また、終了条件での判定処理は、評価点に対してシミュレーテッド・アニーリングを代表とする最適化手法を利用することにより、計算の高速化と効率化を図ることもできる。
【００３１】
終了条件を満たさないときは（Ｓ６００，Ｎｏ）、動作評価部３３は、処理をＳ２００に戻して、今回の作業動作データとは別の作業動作データを新たに作成する。終了条件を満たしたときは（Ｓ６００，Ｙｅｓ）、動作評価部３３は、処理をＳ７００に進める。
Ｓ７００として、動作評価部３３は、例えば、評価点が高い順に３通りの作業動作データを評価結果データ４５として記憶装置４０に格納するとともに、表示装置２０に表示する（表示画面の詳細は、図１３〜図１５で後記）。
【００３２】
図１２は、応力分布の計算処理（Ｓ４００）のサブルーチンを示すフローチャートである。
Ｓ４１０として、計算制御部３２は、動作フレームごとのループ処理において、今回の計算対象のフレーム番号を指定フレームとして指定する。動作フレームとは、時刻を相対化した各時間断面における動作データである。今回のフレーム番号は、開始フレーム＝０から最終フレーム＝２００まで、１フレームずつ順に選択される。Ｓ４２０以降の処理において、フレーム番号ごとの応力分布が計算される。
Ｓ４２０として、計算制御部３２は、指定フレームについて、関節動作データ４２（図９に示した中心座標データ、図１０に示した回転角度データ）を関節ごとに設定する。
【００３３】
Ｓ４３０として、計算制御部３２は、指定フレームについて、Ｓ４２０で設定された関節動作データ４２をもとに、パーツごとに重心を計算する。パーツとは、例えば図８の「ノードA2、ノードA3、および、ノードA2およびA3間のリンク」の組み合わせのように、１つ以上の関節と、１つ以上のリンクとで構成されるロボットモデルから割り当てられた部材である。
Ｓ４４０として、計算制御部３２は、指定フレームについて、パーツごとの重心から、ロボットモデル（ロボットアーム）にかかる荷重を、パーツごとに設定する。なお、通常は、ハンド部（エンドエフェクタ）にかかる下向きの重力による荷重を設定する。
【００３４】
Ｓ４５０として、計算制御部３２は、指定フレームについて、パーツごとの荷重から、材料力学の手法によりパーツごとの応力分布を計算する。例えば、以下が計算結果の一例である。
・パーツごとのミーゼス応力
・主応力のロボット構成部品表面上での分布
・最大主応力
【００３５】
Ｓ４６０として、計算制御部３２は、今回の指定フレームの計算完了により、全フレームの計算が終了したか否かを判定する。未計算のフレームが残っている場合には（Ｓ４６０、Ｎｏ）、処理をＳ４１０に戻して次のフレーム番号を指定フレームとして指定する。全フレームの計算が終わったときには（Ｓ４６０、Ｙｅｓ）、処理をＳ４７０に進める。
Ｓ４７０として、計算制御部３２は、Ｓ４５０の応力計算の結果を評価結果データ４５に保存する。
【００３６】
図１３は、ロボットモデルが移動中のときの評価結果データ４５の表示画面図である。
表示画面は、ロボットモデルの表示欄２１０と、ロボットモデル表示欄２１０で再生中の動作フレームを指定するための再生操作欄２２０と、表示欄２１０に表示するロボットモデルの作業内容を指定するための作業指定欄２３０とを含む。この表示画面は、例えば、ＰＣ上の画面に表示するデスクトップ・アプリの画面である。
表示欄２１０には、評価結果データ４５から読み出したロボットモデルの作業動作データが、アニメーションとして表示される。この表示欄２１０は、様々なカメラ角度から可視化されたロボットモデルが表示される。表示欄２１０には、ロボットモデルが映るようにカメラ視野が設定されているので、ロボットの姿勢を視覚的に確認できる。なお、表示欄２１０に表示されるロボットの台数は１台でもよいし、複数のアーム型ロボットを同時に表示してもよい。
【００３７】
再生操作欄２２０は、表示欄２１０にて再生中のフレーム番号（図１３では８０フレーム目）を指定するためのスライドバー２２１と、アニメーションの一時停止ボタンや再生ボタン２２ａなどのアニメーションの再生操作を受け付ける操作ボタン欄２２２と、シミュレーション時間とフレーム番号との相対的な関係を示す時間表示欄２２３とを含む。
【００３８】
作業指定欄２３０は、作業場所モデルをエリアとして選択させるプルダウンメニュー２３１と、作業内容を選択させるプルダウンメニュー２３２と、基本動作データをシーケンスとして選択させるプルダウンメニュー２３３と、動作評価部３３による評価計算（Ｓ５００）を起動するためのボタン２３４とを有する。
なお、８０フレーム目では、基本動作データ＝Ｓ００１（移動中）なので、ハンド部は閉じられている。また、図１３の時点では、まだボタン２３４が押下されていないため、表示欄２１０には、ロボットモデルに対して評価指標（応力分布）が付されていない。
【００３９】
図１４は、図１３の表示画面図に対して、ロボットモデルが作業中のときの評価結果データ４５の表示画面図である。
スライドバー２２１に表示されるように、図１３の８０フレーム目から、図１４の１７０フレーム目へと時間が経過している。そして、プルダウンメニュー２３３に表示されるように、図１３のＳ００１（移動中）から、図１４のＳ００２（作業中）へと状態が遷移している。
これにより、表示欄２１０には、作業中のロボットモデルと、その作業対象モデルとが同時に表示される。
【００４０】
図１５は、図１４の表示画面図に対して、評価結果を併せて表示した表示画面図である。
ボタン２３４が押下されることで（太枠の矩形）、動作評価部３３による評価計算（Ｓ５００）が実行される。この評価計算による評価結果データ４５が、表示欄２１０のロボットモデルにマッピングされる。
つまり、評価結果データ４５の応力分布は、最大主応力の大きさに応じたコンター図のような表示パターン（符号２１２）として、ロボットの構成部品の表面にマッピングされる（符号２１１）。この応力分布の表示により、ユーザはロボットのどこに応力が集中しているかがわかり、ロボットが転倒しないことなどを確認できる。
【００４１】
以上説明した本実施形態では、シミュレーション装置３０の計算制御部３２が、事前に用意したロボットの基本動作データを組み合わせて作業動作データを作成する。そして、計算制御部３２がロボットモデルの作業動作データに対する応力分布などを計算し、動作評価部３３が評価指標に基づいて、評価点の高い作業動作データを選択して、表示することとした。
これにより、様々な作業対象や非定形な作業目的に対しても、作業時間を短縮でき、かつ、作業を遂行できる作業動作データを作成できる。さらに、３Ｄモデルデータ４１を用いて事前にシミュレーションすることで、実際の作業場所でロボットを作業させる前に、ロボットの作業動作データが適切か否かを評価することができる。
【００４２】
なお、本発明は前記した実施例に限定されるものではなく、さまざまな変形例が含まれる。例えば、前記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。
また、前記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【００４３】
各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）などの記録装置、または、ＩＣ（Integrated Circuit）カード、ＳＤカード、ＤＶＤ（Digital Versatile Disc）などの記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
さらに、各装置を繋ぐ通信手段は、無線ＬＡＮに限定せず、有線ＬＡＮやその他の通信手段に変更してもよい。
【符号の説明】
【００４４】
１０    入力装置
２０    表示装置
３０    シミュレーション装置
３１    モデル選択部
３２    計算制御部
３３    動作評価部
４０    記憶装置
４１    ３Ｄモデルデータ
４２    関節動作データ
４３    動作計算データ
４４    動作実績データ
４５    評価結果データ
３０１  ロボットモデル
３０２  作業対象モデル
３０３  交差点（作業場所モデル）
【図１】
2020185631.tif 000003
【図２】
2020185631.tif 000004
【図３】
2020185631.tif 000005
【図４】
2020185631.tif 000006
【図５】
2020185631.tif 000007
【図６】
2020185631.tif 000008
【図７】
2020185631.tif 000009
【図８】
2020185631.tif 000010
【図９】
2020185631.tif 000011
【図１０】
2020185631.tif 000012
【図１１】
2020185631.tif 000013
【図１２】
2020185631.tif 000014
【図１３】
2020185631.tif 000015
【図１４】
2020185631.tif 000016
【図１５】
2020185631.tif 000017