(57)【要約】【課題】膨大な件数の原データに対して所定の演算を施すことでグラフ等による図形描画をするための描画対象データを得る場合に、図形の表示を高速化する技術を提供する。【解決手段】データ表示装置３０は、時系列描画対象軌跡データ２５のグラフ描画を段階的に高精度化して、逐次、段階に応じたグラフ画像をディスプレイ３８へ表示する。軌跡計算対象抽出部４２は、時系列指令データ２４に対し、所定の抽出条件に従って、グラフ描画の各段階において、グラフ描画において未抽出のデータから１件以上の計算対象のデータを抽出する。軌跡計算実行部４３は、抽出されるデータに対し、所定の関数演算を施すことにより、グラフ描画の段階に応じて時系列描画対象軌跡データ２５を更新する。軌跡表示制御プログラム２７は、グラフ描画の段階に応じたグラフ画像を生成し、生成されるグラフ画像をディスプレイ３８へ表示する。【選択図】図５
2014035722.tif 000002
【特許請求の範囲】
【請求項１】
描画対象データ群のグラフ描画を段階的に高精度化して、段階に応じたグラフ画像を表示するためのデータ表示装置であって、
複数件の原データを含む原データ群を記憶する記憶部と、
所定の抽出条件に従って、グラフ描画の各段階において、前記原データ群から１件以上の計算対象の原データを抽出する抽出部と、
前記抽出部が抽出する原データに対し、所定の関数演算を施すことにより、グラフ描画の段階に応じて１件以上の描画対象データを生成する計算実行部と、
前記描画対象データに基づいて、グラフ描画の段階に応じたグラフ画像を表示部に表示させる表示制御部とを含む、
データ表示装置。
【請求項２】
前記抽出部は、グラフ描画の各段階において、前段階までに前記計算実行部により生成された描画対象データに基づいて、計算対象の原データを抽出する、
請求項１記載のデータ表示装置。
【請求項３】
前記データ表示装置は、物体の軌跡のシミュレーション結果をグラフ描画してグラフ画像を表示するものであり、
前記描画対象データ群に含まれる描画対象データ各々は、物体の座標値を示し、
前記描画対象データ群は、物体の各座標値からなる軌跡を示し、
前記所定の抽出条件とは、前記計算実行部により生成された描画対象データが示す前記軌跡の、各座標値における曲率に基づくものであり、
前記抽出部は、前記計算実行部により生成された描画対象データが示す前記軌跡の、各座標値における曲率を取得し、取得される前記曲率に基づいて前記原データを抽出する、
請求項２記載のデータ表示装置。
【請求項４】
前記抽出部は、前記計算実行部により生成された描画対象データが示す前記軌跡の、各座標値における曲率が所定値以上の座標値に前後する未計算の座標値に対応する原データを抽出する、
請求項３記載のデータ表示装置。
【請求項５】
前記描画対象データ群に含まれる描画対象データ各々は、所定の物体の座標を示し、
前記描画対象データ群は、当該物体の各座標からなる軌跡を示し、
前記所定の抽出条件とは、前記計算実行部により生成された描画対象データが示す前記軌跡の、各座標間の距離に基づくものであり、
前記抽出部は、前記計算実行部により生成された描画対象データが示す前記軌跡の、各座標における距離を取得し、取得される前記距離に基づいて前記原データを抽出する、
請求項２記載のデータ表示装置。
【請求項６】
前記抽出部は、前記計算実行部により生成された描画対象データが示す前記軌跡の、各座標間の距離が所定距離以上の座標間の、未計算の座標に対応する原データを抽出する、
請求項５記載のデータ表示装置。
【請求項７】
前記描画対象データ群に含まれる描画対象データ各々は、所定の物体の座標を示し、
前記描画対象データ群は、当該物体の各座標からなる軌跡を示し、
前記物体は、移動可能な座標の範囲を示す稼働範囲が規定されており、
前記所定の抽出条件とは、前記計算実行部により生成された描画対象データが示す前記軌跡の各座標と、前記物体が移動可能な前記稼働範囲の境界との距離に基づくものであり、
抽出部は、前記計算実行部により生成された描画対象データが示す前記軌跡の各座標と、前記稼働範囲の境界との距離に基づいて前記原データを抽出する、
請求項２記載のデータ表示装置。
【請求項８】
前記抽出部は、前記計算実行部により生成された描画対象データが示す前記軌跡の各座標のうち、前記稼働範囲の境界との距離が所定距離以下の座標に前後する未計算の座標に対応する原データを抽出する、
請求項７記載のデータ表示装置。
【請求項９】
前記描画対象データ群に含まれる描画対象データ各々は、所定の物体の座標を示し、
前記描画対象データ群は、当該物体の各座標からなる軌跡を示し、
前記所定の抽出条件とは、前記計算実行部により生成された描画対象データが示す前記軌跡の各座標と、前記所定の物体とは異なる他の物体との距離に基づくものであり、
前記抽出部は、前記計算実行部により生成された描画対象データが示す前記軌跡の各座標と、前記他の物体の座標との距離に基づいて前記原データを抽出する、
請求項２記載のデータ表示装置。
【請求項１０】
前記抽出部は、前記計算実行部により生成された描画対象データが示す前記軌跡の各座標と、前記他の物体の座標との距離が所定距離以下の座標に前後する未計算の座標に対応する原データを抽出する、
請求項９記載のデータ表示装置。
【請求項１１】
前記原データ群の原データ、および、前記描画対象データ群の描画対象データは、時間情報と対応づけられる時系列のデータであり、
前記抽出部は、前記所定の抽出条件として、前記原データの時間情報に基づいて、所定件数の原データを抽出する、
請求項１記載のデータ表示装置。
【請求項１２】
前記原データ群は、複数の動作軸を有する物体把持機構の、各動作軸への動作指令値の履歴を示し、
前記描画対象データ群は、前記物体把持機構により把持される物体の移動の軌跡を示す、
請求項１記載のデータ表示装置。
【請求項１３】
描画対象データ群のグラフ描画を段階的に高精度化して、段階に応じたグラフ画像をデータ表示装置が表示する方法であって、
前記データ表示装置は、複数件の原データを含む原データ群を記憶する記憶部を含み、
前記方法は、
前記データ表示装置が、所定の抽出条件に従って、グラフ描画の各段階において、前記原データ群から１件以上の計算対象の原データを抽出するステップと、
前記データ表示装置が、前記抽出される原データに対し、所定の関数演算を施すことにより、グラフ描画の段階に応じて１件以上の描画対象データを生成するステップと、
前記データ表示装置が、前記描画対象データに基づいて、グラフ描画の段階に応じたグラフ画像を表示部に表示させるステップとを含む、
方法。
【請求項１４】
描画対象データ群のグラフ描画を段階的に高精度化して、段階に応じたグラフ画像を表示させる処理を実行するデータ処理装置の動作を制御するためのプログラムであって、
前記データ処理装置は、プロセッサと、メモリとを含み、前記メモリは、複数件の原データを含む原データ群を記憶し、
前記プログラムは、前記プロセッサに、
所定の抽出条件に従って、グラフ描画の各段階において、前記原データ群から１件以上の計算対象の原データを抽出させるステップと、
前記抽出される原データに対し、所定の関数演算を施すことにより、グラフ描画の段階に応じて１件以上の描画対象データを生成させるステップと、
前記描画対象データに基づいて、グラフ描画の段階に応じたグラフ画像を表示部に表示させるステップとを実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、膨大な件数のレコードを含むデータを、グラフ等の形式で図形描画して表示するためのデータ表示装置に関し、特に、表示を高速化するための技術に関する。
【背景技術】
【０００２】
企業の生産活動や消費者の行動をモニタリング等するため、日々、膨大な件数のデータが蓄積されている。このようなトレンドデータ等の膨大な件数のデータの分析を容易にするため、グラフ描画等による視覚化が行われている。ただし、データの件数が多くなるとともに、グラフ等による図形描画に要する時間も長期化する。そこで、分析者がデータの概要を早期に把握するため、膨大な件数のデータの図形描画を高速化する技術が知られている。
【０００３】
例えば、特開２０００−１９４４１６号公報（特許文献１）は、データを間引いてグラフ表示し、膨大なデータであっても高速な表示を可能にする技術を開示する。特許文献１に記載される技術では、表示対象のデータのデータ間の変化量が計算され、その変化量が許容変化量以下であれば、データの間引きが行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１９４４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、データとして蓄積される値が、そのまま図形描画の対象とはならない場合がある。例えば、複数軸のロボットアームの動作指令値を原データとして蓄積し、これらロボットアームが搬送する対象物の軌跡を描画する場合などである。この場合、原データに対して所定の演算を施すことで、グラフによる描画対象となる軌跡データを得る。このような場合、上記特許文献１の技術を適用しようとすると、まず原データに基づく演算処理を行って軌跡データを得る必要があり、この演算処理に時間を要する場合、グラフの概要が表示されるまで長時間を要する。
【０００６】
このように、原データに対して所定の演算を施すことでグラフ等による図形描画をするための描画対象データを得る場合に、図形の表示を高速化する技術が必要とされている。
【課題を解決するための手段】
【０００７】
一実施形態に従うデータ表示装置は、描画対象データ群のグラフ描画を段階的に高精度化して、段階に応じたグラフ画像を表示する。データ表示装置は、複数件の原データを含む原データ群を記憶する記憶部と、所定の抽出条件に従って、グラフ描画の各段階において、原データ群から１件以上の計算対象の原データを抽出する抽出部と、抽出部が抽出する原データに対し、所定の関数演算を施すことにより、グラフ描画の段階に応じて１件以上の描画対象データを生成する計算実行部と、描画対象データに基づいて、グラフ描画の段階に応じたグラフ画像を表示部に表示させる表示制御部とを含む。
【０００８】
好ましくは、抽出部は、グラフ描画の各段階において、前段階までに計算実行部により生成された描画対象データに基づいて、計算対象の原データを抽出することとしてもよい。
【０００９】
好ましくは、データ表示装置は、物体の軌跡のシミュレーション結果をグラフ描画してグラフ画像を表示するものであり、描画対象データ群に含まれる描画対象データ各々は、物体の座標値を示し、描画対象データ群は、物体の各座標値からなる軌跡を示し、所定の抽出条件とは、計算実行部により生成された描画対象データが示す軌跡の、各座標値における曲率に基づくものであり、抽出部は、計算実行部により生成された描画対象データが示す軌跡の、各座標値における曲率を取得し、取得される曲率に基づいて原データを抽出することとしてもよい。
【００１０】
好ましくは、抽出部は、計算実行部により生成された描画対象データが示す軌跡の、各座標値における曲率が所定値以上の座標値に前後する未計算の座標値に対応する原データを抽出することとしてもよい。
【００１１】
好ましくは、描画対象データ群に含まれる描画対象データ各々は、所定の物体の座標を示し、描画対象データ群は、物体の各座標からなる軌跡を示し、所定の抽出条件とは、計算実行部により生成された描画対象データが示す軌跡の、各座標間の距離に基づくものであり、抽出部は、計算実行部により生成された描画対象データが示す軌跡の、各座標における距離を取得し、取得される距離に基づいて原データを抽出することとしてもよい。
【００１２】
好ましくは、抽出部は、計算実行部により生成された描画対象データが示す軌跡の、各座標間の距離が所定距離以上の座標間の、未計算の座標に対応する原データを抽出することとしてもよい。
【００１３】
好ましくは、描画対象データ群に含まれる描画対象データ各々は、所定の物体の座標を示し、描画対象データ群は、物体の各座標からなる軌跡を示し、物体は、移動可能な座標の範囲を示す稼働範囲が規定されており、所定の抽出条件とは、計算実行部により生成された描画対象データが示す軌跡の各座標と、物体が移動可能な稼働範囲の境界との距離に基づくものであり、抽出部は、計算実行部により生成された描画対象データが示す軌跡の各座標と、稼働範囲の境界との距離に基づいて原データを抽出することとしてもよい。
【００１４】
好ましくは、抽出部は、計算実行部により生成された描画対象データが示す軌跡の各座標のうち、稼働範囲の境界との距離が所定距離以下の座標に前後する未計算の座標に対応する原データを抽出することとしてもよい。
【００１５】
好ましくは、描画対象データ群に含まれる描画対象データ各々は、所定の物体の座標を示し、描画対象データ群は、物体の各座標からなる軌跡を示し、所定の抽出条件とは、計算実行部により生成された描画対象データが示す軌跡の各座標と、所定の物体とは異なる他の物体との距離に基づくものであり、抽出部は、計算実行部により生成された描画対象データが示す軌跡の各座標と、他の物体の座標との距離に基づいて原データを抽出することとしてもよい。
【００１６】
好ましくは、抽出部は、計算実行部により生成された描画対象データが示す軌跡の各座標と、他の物体の座標との距離が所定距離以下の座標に前後する未計算の座標に対応する原データを抽出することとしてもよい。
【００１７】
好ましくは、原データ群の原データ、および、描画対象データ群の描画対象データは、時間情報と対応づけられる時系列のデータであり、抽出部は、所定の抽出条件として、原データの時間情報に基づいて、所定件数の原データを抽出することとしてもよい。
【００１８】
好ましくは、原データ群は、複数の動作軸を有する物体把持機構の、各動作軸への動作指令値の履歴を示し、描画対象データ群は、物体把持機構により把持される物体の移動の軌跡を示すこととしてもよい。
【００１９】
別の実施形態に従うと、描画対象データ群のグラフ描画を段階的に高精度化して、段階に応じたグラフ画像をデータ表示装置が表示する方法が提供される。データ表示装置は、複数件の原データを含む原データ群を記憶する記憶部を含む。この方法は、データ表示装置が、所定の抽出条件に従って、グラフ描画の各段階において、原データ群から１件以上の計算対象の原データを抽出するステップと、データ表示装置が、抽出される原データに対し、所定の関数演算を施すことにより、グラフ描画の段階に応じて１件以上の描画対象データを生成するステップと、データ表示装置が、描画対象データに基づいて、グラフ描画の段階に応じたグラフ画像を表示部に表示させるステップとを含む。
【００２０】
別の実施形態に従うと、描画対象データ群のグラフ描画を段階的に高精度化して、段階に応じたグラフ画像を表示させる処理を実行するデータ処理装置の動作を制御するためのプログラムが提供される。データ処理装置は、プロセッサと、メモリとを含み、メモリは、複数件の原データを含む原データ群を記憶する。このプログラムは、プロセッサに、所定の抽出条件に従って、グラフ描画の各段階において、原データ群から１件以上の計算対象の原データを抽出させるステップと、抽出される原データに対し、所定の関数演算を施すことにより、グラフ描画の段階に応じて１件以上の描画対象データを生成させるステップと、描画対象データに基づいて、グラフ描画の段階に応じたグラフ画像を表示部に表示させるステップとを実行させる。
【発明の効果】
【００２１】
上記一実施形態によると、図形表示を高速化させることができる。
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００２２】
【図１】ロボット制御システム１の構成を示す機能ブロック図である。
【図２】ロボット１５を示す図である。
【図３】データ表示装置３０の構成を示す図である。
【図４】オフラインでバッグシステム２０を構成する各機能を示す図である。
【図５】軌跡計算プログラム２６の各機能を示すブロック図である。
【図６】時系列指令データ２４を示す図である。
【図７】サーボドライバ・エミュレータ２３がコントローラ・エミュレータ２２からのサーボモータ回転量の各時刻における指令値を受けて各サーボモータを回転させた結果の一例を示す。
【図８】時系列描画対象軌跡データ２５を示す図である。
【図９】エンドプレート１９の動作軌跡の描画例を示す図である。
【図１０】軌跡計算プログラム２６の動作を示すフローチャートである。
【図１１】軌跡計算プログラム２６の動作例を示す図である。
【図１２】エンドプレート１９の軌跡の曲率に基づいて、軌跡計算対象抽出部４２が原データの抽出条件を設定した場合の動作例を示す図である。
【図１３】エンドプレート１９の軌跡における座標間の距離に基づいて、軌跡計算対象抽出部４２が原データの抽出条件を設定した場合の動作例を示す図である。
【図１４】エンドプレート１９の移動可能な範囲の境界付近の座標を優先するよう軌跡計算対象抽出部４２が原データを抽出する場合の動作例を示す図である。
【図１５】エンドプレート１９の移動可能な範囲に配置されるオブジェクトとの境界付近の座標を優先するよう軌跡計算対象抽出部４２が原データを抽出する場合の動作例を示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２４】
本実施形態のデータ表示装置は、サーボモータ１４が駆動するロボット１５の動作のシミュレーション結果を処理し、ロボット１５の動作軌跡をグラフ等により図形描画するためのものである。まず、データ表示装置が図形描画の対象とするロボット１５を含むロボット制御システム１の構成について説明する。
【００２５】
＜１．１  ロボット制御システム１の構成＞  
図１は、ロボット制御システム１の構成を示す機能ブロック図である。図１に示すように、ロボット制御システム１は、コントローラ１０と、プログラミングツール１１と、プログラマブルターミナル１２と、サーボドライバ群１３と、サーボモータ群１４と、ロボット１５と、を含む。
【００２６】
コントローラ１０は、プロセッサ、メモリ等を備え、ユーザが作成するユーザプログラムに従って予め定められた処理を順に実行することで、サーボドライバ群１３に含まれる各サーボドライバ（図１では、サーボドライバ１３Ａ、サーボドライバ１３Ｂ、サーボドライバ１３Ｃの３つのサーボドライバを示している）の動作を制御する。コントローラ１０は、各サーボドライバの動作を制御することで、サーボドライバおよびサーボモータが駆動するロボット１５の動作を制御する。例えば、ロボット１５が物体の運搬用のロボットである場合、コントローラ１０は、ユーザプログラムに従ってサーボドライバ１３を制御することで、ロボット１５による物体の運搬動作を制御する。
【００２７】
プログラミングツール１１は、コントローラ１０が実行するユーザプログラムを作成するためのデバッガである。
【００２８】
プログラマブルターミナル１２は、コントローラ１０が制御するサーボドライバ１３、ロボット１５等の制御結果を表示するためのディスプレイであり、コントローラ１０による処理の状態、ロボット１５による実際の動作、サーボドライバ１３等の機材の状態などを視覚化して表示する。
【００２９】
サーボドライバ群１３は、複数のサーボドライバ（サーボドライバ１３Ａ、サーボドライバ１３Ｂ、サーボドライバ１３Ｃ）を含み、コントローラ１０の制御に従って、サーボモータ群１４に含まれる各サーボモータへの回転量を指令する指令信号をサーボモータ１４Ａ等へ出力してサーボモータそれぞれを駆動する。
【００３０】
サーボモータ群１４は、複数のサーボモータ（サーボモータ１４Ａ、サーボモータ１４Ｂ、サーボモータ１４Ｃ）を含む。各サーボモータは、ロボット１５を駆動するためのモータである。サーボモータ１４は、サーボドライバ１３からの指令信号に従って回転駆動することで、ロボット１５を駆動する。
【００３１】
ロボット１５は、本実施形態では、複数のアームを備え、サーボモータ１４の各サーボモータでこれら複数のアームを駆動して物体運搬用のエンドプレート１９を駆動する。エンドプレート１９は、ロボット１５が運搬対象とする物体を把持するための把持部材である。
【００３２】
＜１．２  ロボット１５の構成＞
次に、データ表示装置が図形描画の対象とするロボット１５の詳細について、説明する。図２は、ロボット１５を示す図である。図２では、ロボット制御システム１を構成するサーボモータ群１４（サーボモータ１４Ａ、サーボモータ１４Ｂ、サーボモータ１４Ｃ）も図示している。
【００３３】
図２に示すように、ロボット１５は、各サーボモータ（サーボモータ１４Ａ、サーボモータ１４Ｂ、サーボモータ１４Ｃ）が回転することで駆動される複数のアームを有している。例えば、サーボモータ１４Ａが駆動する第１のアームは、アーム部１６Ａと、関節部１７Ａとで構成される。同様に、サーボモータ１４Ｂが駆動する第２のアームは、アーム部１６Ｂと、関節部１７Ｂとで構成され、サーボモータ１４Ｃが駆動する第３のアームは、アーム部１６Ｃと、関節部１７Ｃとで構成される。各サーボモータ（サーボモータ１４Ａ、サーボモータ１４Ｂ、サーボモータ１４Ｃ）は、それぞれ回転駆動することで、対応する各アームを駆動する。サーボドライバ群１３がサーボモータ群１４の各サーボモータの駆動を制御することで、各アームの先端に結合されるエンドプレート１９が３次元に駆動される。
【００３４】
サーボドライバ群１３は、各サーボモータの回転量を指定して、サーボモータ群１４の各サーボモータに対し指令信号を出力する。図２では、サーボモータ１４Ａの回転量をαＡ、サーボモータ１４Ｂの回転量をαＢ、サーボモータ１４Ｃの回転量をαＣとして示す。サーボモータ回転量（αＡ、αＢ、αＣ）に対し、順運動学の関数を用いて演算を施すことで、図２に示すｘｙｚの３次元座標に変換することができる。図２では、エンドプレート１９の３次元座標をＰ（ｘ、ｙ、ｚ）として示す。本実施形態のデータ表示装置は、このサーボモータ回転量（αＡ、αＢ、αＣ）に対し、上記のように所定の演算を施して得られるエンドプレート１９の３次元座標Ｐ（ｘ、ｙ、ｚ）を、グラフ描画の対象としている。
【００３５】
＜１．３  データ表示装置３０の構成＞
次に、図３を用いてデータ表示装置３０の構成を説明する。図３は、データ表示装置３０の構成を示す図である。データ表示装置３０は、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ(Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）等を備えてプログラムに従って動作するコンピュータシステムである。図３に示すように、データ表示装置３０は、ＣＰＵ３１と、ＲＯＭ３２と、ＲＡＭ３３と、ＨＤＤ（Hard  Disk  Drive）３４と、通信インタフェース３５と、Ｉ／Ｏ（Input/Output）インタフェース３６とを含む。また、データ表示装置３０は、キーボード３７と、ディスプレイ３８と接続される。データ表示装置３０は、後述するオフラインデバッグシステム２０として機能することでロボット制御システム１の動作をシミュレーションし、シミュレーション結果であるエンドプレート１９の動作軌跡を図形描画してディスプレイ３８に表示する。
【００３６】
ＣＰＵ３１は、プログラムに従って動作することでデータ表示装置３０の動作を制御する。ＲＯＭ３２は、データ表示装置３０のシステムプログラムや、動作設定などを記憶する。ＲＡＭ３３は、ＣＰＵ３１が行う処理に用いられる記憶領域であり、ＨＤＤ３４からＣＰＵ３１が読みだしたプログラムやデータ等がＲＡＭ３３に記憶される。ＨＤＤ３４は、データ表示装置３０が表示対象とする、膨大な件数のレコードを含むデータ（後述する時系列指令データ２４等）を蓄積する。
【００３７】
通信インタフェース３５は、データ表示装置３０が外部の機器と通信するためのインタフェースである。データ表示装置３０は、外部の機器との通信を行うことで、外部の機器からも、描画対象となるデータを取得する。
【００３８】
Ｉ／Ｏインタフェース３６は、データ表示装置３０への入力やデータ表示装置３０からの出力のインタフェースである。図３に示すように、Ｉ／Ｏインタフェース３６は、キーボード３７とディスプレイ３８とに接続され、ユーザがキーボード３７に対して入力した情報を受け付ける。また、データ表示装置３０の処理結果を、ディスプレイ３８へ出力する。
【００３９】
キーボード３７は、ユーザの操作を受け付けてデータ表示装置３０へ出力するための入力装置である。ディスプレイ３８は、ＬＣＤ（Liquid  Crystal  Display）、有機ＥＬ（Electro  Luminescence）等であり、データ表示装置３０から出力される映像信号を表示する。
【００４０】
次に、図４を用いて、データ表示装置３０がロボット制御システム１をシミュレーションするために実行するオフラインデバッグシステム２０の各機能およびデータについて、説明する。
【００４１】
＜１．４  オフラインデバッグシステム２０の構成＞
図４は、オフラインデバッグシステム２０を構成する各機能を示す図である。図４に示すように、オフラインデバッグシステム２０は、シミュレーション制御プログラム２１と、コントローラ・エミュレータ２２と、サーボモータ・エミュレータ２３と、時系列指令データ２４と、時系列描画対象軌跡データ２５とを含む。シミュレーション制御プログラム２１は、軌跡計算プログラム２６と、軌跡表示制御プログラム２７とを含む。
【００４２】
オフラインデバッグシステム２０は、ロボット制御システム１を構成するコントローラ１０とサーボドライバ１３とサーボモータ１４との動作を、コントローラ・エミュレータ２２およびサーボモータ・エミュレータ２３の各プログラムを用いてシミュレーションする。コントローラ・エミュレータ２２は、コントローラ１０およびサーボドライバ１３の動作を、コンピュータシステムにおいて模擬的に再現するためのエミュレータである。コントローラ・エミュレータ２２は、サーボドライバ１３がサーボモータ１４を駆動するための指令信号の出力をエミュレートするため、サーボモータ・エミュレータ２３に対し、複数のサーボモータの各回転量を指定する信号を送信する。また、コントローラ・エミュレータ２２は、サーボモータ・エミュレータ２３がシミュレーションするサーボモータ１４の各サーボモータの駆動結果の予測値を予測フィードバック信号として受信し、受信された予測値に応じて、サーボモータ・エミュレータ２３への指令信号に示す各サーボモータの回転量の指定値を決定する。コントローラ・エミュレータ２２は、これら各サーボモータへの回転量の指定値の履歴を、時刻情報とともに時系列指令データ２４に蓄積する。
【００４３】
サーボモータ・エミュレータ２３は、サーボモータ１４の動作を、コンピュータシステムにおいて模擬的に再現するためのエミュレータである。サーボモータ・エミュレータ２３は、コントローラ・エミュレータ２２から送信される、複数のサーボモータの各回転量を指定する信号を受信する。サーボモータ・エミュレータ２３は、受信した信号に基づいて各サーボモータを駆動した場合の、サーボモータ１４が駆動するロボット１５のアームの各軸の位置および移動速度の予測値を計算し、計算された予測値を示す予測フィードバック信号をコントローラ・エミュレータ２２へ送信する。
【００４４】
シミュレーション制御プログラム２１は、コントローラ・エミュレータ２２の動作を制御するための制御プログラムであり、コントローラ・エミュレータ２２へ処理開始を指示することでコントローラ・エミュレータ２２のシミュレーションを制御する。また、シミュレーション制御プログラム２１は、コントローラ・エミュレータ２２が蓄積する時系列指令データ２４に基づいて、エンドプレート１９の動作の軌跡を段階的に高精度化して図形描画する。
【００４５】
時系列指令データ２４に蓄積されるデータ量が膨大になるにつれて、エンドプレート１９の動作の軌跡を図形描画するために膨大なデータを扱う必要があり、図形描画が長期間化する。そこで、シミュレーション制御プログラム２１は、時系列指令データ２４に蓄積されるデータを所定の抽出条件に従って間引き、間引かれたデータを用いてエンドプレート１９の動作軌跡の概形をまず表示する。その後、シミュレーション制御プログラム２１は、エンドプレート１９の動作軌跡の描画対象に用いる時系列指令データ２４のデータ量を徐々に増加させることで、動作軌跡を段階的に高精度化して図形描画する。
【００４６】
シミュレーション制御プログラム２１の軌跡計算プログラム２６は、詳細は後述するが、時系列指令データ２４と、所定の抽出条件とに基づいて時系列指令データ２４のデータを段階的に抽出する。軌跡計算プログラム２６は、この抽出結果に対して順運動学の関数を用いて演算を施すことで、エンドプレート１９の３次元座標における動作軌跡のシミュレーション結果を示す時系列描画対象軌跡データ２５を生成する。時系列描画対象軌跡データ２５は、時刻とともにエンドプレート１９の３次元座標が蓄積される。このように、図形描画の対象となる描画対象データ（本実施形態では時系列描画対象軌跡データ２５）は、原データ（本実施形態では時系列指令データ２４）に対し、所定の演算を施すことにより得られる。
【００４７】
シミュレーション制御プログラム２１の軌跡表示制御プログラム２７は、時系列描画対象軌跡データ２５に基づいて、エンドプレート１９の動作軌跡のシミュレーション結果を図形描画し、描画された画像データを、ディスプレイ３８へ出力する。軌跡表示制御プログラム２７は、時系列描画対象軌跡データ２５が更新される都度、エンドプレート１９の動作軌跡を描画し、描画によって得られる画像データをディスプレイ３８へ出力する。こうすることで、エンドプレート１９の動作軌跡の図形描画が段階的に高精度化してディスプレイ３８に表示される。ユーザは、まずエンドプレート１９の動作軌跡の概形を早期に把握でき、徐々にエンドプレート１９の詳細な動作軌跡を知ることができる。
【００４８】
ここで、図５を用いて軌跡計算プログラム２６の機能の詳細を説明する。図５は、軌跡計算プログラム２６の各機能を示すブロック図である。軌跡計算プログラム２６は、原データ取得部４１と、軌跡計算対象抽出部４２と、軌跡計算実行部４３と、軌跡データ保持部４４と、軌跡計算完了状態保持部４５とを含む。
【００４９】
原データ取得部４１は、複数件の原データを含む原データ群を取得する。本実施形態では、原データ取得部４１は、時系列指令データ２４を読みこむ。上述のように、時系列指令データ２４は、時刻とともに各サーボモータへの回転量の指令値が対応づけられて記憶されている。
【００５０】
軌跡計算対象抽出部４２は、時系列指令データ２４に記憶される複数件のデータのうち、エンドプレート１９の軌跡を計算するために用いるデータを、所定の抽出条件に従って抽出する。本実施形態では、抽出条件として時刻を用いる。軌跡計算対象抽出部４２は、時系列指令データ２４の時刻の情報をもとに、一定の時間間隔で時系列指令データ２４の各データを抽出する。軌跡計算対象抽出部４２は、時系列指令データ２４のうち抽出対象となったデータの各時刻を出力する。
【００５１】
軌跡計算実行部４３は、時系列指令データ２４のデータのうち、軌跡計算対象抽出部４２が抽出した各時刻に対応するデータを用いて順運動学の関数演算を施すことにより、エンドプレート１９の３次元座標の動作軌跡を計算する。
【００５２】
軌跡データ保持部４４は、軌跡計算実行部４３の計算によって得られるエンドプレート１９の３次元座標を、軌跡計算対象抽出部４２で抽出される各時刻と対応づけて時系列描画対象軌跡データ２５としてメモリに蓄積する。軌跡データ保持部４４は、時系列描画対象軌跡データ２５が更新されたことを軌跡表示制御プログラム２７へ通知する。
【００５３】
軌跡計算完了状態保持部４５は、原データ取得部４１が取得する原データのうち、軌跡計算実行部４３が計算対象とした原データを管理する。例えば、原データ取得部４１が取得する原データ群の各原データについて、軌跡計算の対象となったか否かを対応づけて記憶する。
【００５４】
＜データ＞
図６〜８を用いて、オフラインデバッグシステム２０が用いるデータ（時系列指令データ２４、時系列描画対象軌跡データ２５）について説明する。図６は、時系列指令データ２４を示す図である。時系列指令データ２４は、上述のようにコントローラ・エミュレータ２２がサーボモータ・エミュレータ２３に対して出力する各サーボモータの回転量の指令値の履歴を示す。
【００５５】
時系列指令データ２４は、複数件のデータを含み、１件のデータは、時刻２４Ｔと、回転量（αＡ）２４Ａと、回転量（αＢ）２４Ｂと、回転量（αＣ）２４Ｃとを含む。この１件のデータは、時刻２４Ｔに示される時刻における、コントローラ・エミュレータ２２からサーボモータ・エミュレータ２３に対して出力されるサーボモータ回転量（αＡ、αＢ、αＣ）の指令値を示す。
【００５６】
図７は、サーボモータ・エミュレータ２３がコントローラ・エミュレータ２２からのサーボモータ回転量の各時刻における指令値を受けて各サーボモータを回転させた結果の一例を示す。図７は、横軸に時刻を示し、縦軸にサーボモータの各軸の回転量を示す。なお、図７は、縦軸に示すサーボモータの回転量を、角度（°）で示している。図７における３本の折れ線は、それぞれ、ロボット制御システム１の各サーボモータ（サーボドライバ１３Ａ、サーボドライバ１３Ｂ、サーボドライバ１３Ｃ）のシミュレーション結果に対応する。
【００５７】
図８は、時系列描画対象軌跡データ２５を示す図である。時系列描画対象軌跡データ２５は、上述のように軌跡計算プログラム２６が時系列指令データ２４に対し所定の演算を施した結果得られる、エンドプレート１９の３次元座標における動作軌跡を示す。
【００５８】
時系列描画対象軌跡データ２５は、複数件のデータを含み、１件のデータは、時刻２５Ｔと、Ｘ座標２５Ｘと、Ｙ座標２５Ｙと、Ｚ座標２５Ｚとを含む。この１件のデータは、時刻２５Ｔに示される時刻における、エンドプレート１９の３次元座標における位置を示す。
【００５９】
図９は、エンドプレート１９の動作軌跡の描画例を示す図である。このように、軌跡計算プログラム２６は、各サーボモータへの指令値をもとに所定の演算を施すことで、エンドプレート１９の動作軌跡を算出する。
【００６０】
＜動作＞
次に、図１０を用いて軌跡計算プログラム２６の動作を説明する。図１０は、軌跡計算プログラム２６の動作を示すフローチャートである。
【００６１】
ステップＳ１１において、原データ取得部４１は、描画対象のデータを計算するための複数件の原データからなる原データ群（本実施形態では、時系列指令データ２４）をメモリから取得する。
【００６２】
ステップＳ１３において、軌跡計算プログラム２６は、軌跡計算完了状態保持部４５に保持される軌跡計算完了状態を初期化する。
【００６３】
ステップＳ１５において、軌跡計算対象抽出部４２は、所定の抽出条件に従って、原データ取得部４１が取得した複数件のデータからなる原データ群から、軌跡計算実行部４３が軌跡計算を実行する対象となる原データを抽出する。軌跡計算対象抽出部４２は、軌跡計算完了状態に基づいて、未抽出の原データから抽出対象を選択する。本実施形態では、軌跡計算対象抽出部４２は、原データ群からのデータ抽出回数を決定し、原データに対応づけられる時刻情報に基づいて、時刻が等間隔となるよう、また、決定された抽出回数で抽出が完了するよう原データを抽出する。
【００６４】
ステップＳ１７において、軌跡計算実行部４３は、軌跡計算対象抽出部４２の抽出結果に従って、所定の関数演算（本実施形態では、順運動学に基づく演算）を施すことで、グラフ描画の対象となる描画対象データ群を得る。本実施形態では、描画対象データは、エンドプレート１９の動作軌跡を示す軌跡データであり、軌跡計算実行部４３は、軌跡計算対象抽出部４２の抽出結果に従って、エンドプレート１９の軌跡データの計算を実行する。
【００６５】
ステップＳ１９において、軌跡データ保持部４４は、軌跡計算実行部４３が計算することで得られる描画対象データ（軌跡データ）を時系列描画対象軌跡データ２５として保存する。軌跡計算実行部４３は、計算対象とした原データについて、軌跡計算完了状態保持部４５に保持される軌跡計算完了状態を更新する。
【００６６】
ステップＳ２１において、軌跡データ保持部４４は、軌跡表示制御プログラム２７に対し、描画対象データの更新を通知することで、描画対象データの描画を指示する。本実施形態では、軌跡データ保持部４４は、軌跡表示制御プログラム２７に対し、エンドプレート１９の軌跡データの描画を指示する。
【００６７】
ステップＳ２３において、軌跡計算対象抽出部４２は、軌跡計算完了状態保持部４５が保持する軌跡計算完了状態を参照し、原データ取得部４１が取得した原データの全てを抽出したか判断する。軌跡計算対象抽出部４２は、原データの全てを抽出した場合は（ステップＳ２３：ＹＥＳ）処理を終了する。軌跡計算対象抽出部４２は、、原データのうち、描画対象として未抽出の原データがある場合（ステップＳ２３：ＮＯ）は、ステップＳ１５の処理を繰り返す。
【００６８】
ここで、図１１を用いて、本実施形態における動作例を説明する。図１１は、軌跡計算プログラム２６の動作例を示す図である。ステップＳ１３において、軌跡計算プログラム２６は、軌跡計算完了状態を初期化し、原データ取得部４１が取得する原データ群（時系列指令データ２４）の全ての原データについて、軌跡計算実行部４３において計算が完了していない状態とする。軌跡計算対象抽出部４２は、例えば抽出回数を３回と決定し、時系列に等間隔に原データを抽出する。
【００６９】
（１回目の抽出）軌跡計算対象抽出部４２が時系列指令データ２４から原データを抽出する１回目において、軌跡計算対象抽出部４２は、時系列指令データ２４の時刻２４Ｔを参照し、時刻が等間隔となるよう３件の間隔を開けて原データを抽出する。図１１に示すように、軌跡計算実行部４３が１回目の抽出結果に対する軌跡計算を完了すると、軌跡計算完了状態保持部４５は、軌跡計算完了状態として、原データ群の時刻「０」、「４」、「８」、・・と対応づけて、軌跡計算の対象として抽出されたことを示す値を保持する（図１１では、軌跡計算の対象として抽出されたことを「１」、未抽出であることを「-」と示す）。
【００７０】
（２回目の抽出）軌跡計算対象抽出部４２が原データを抽出する２回目において、軌跡計算対象抽出部４２は、軌跡計算完了状態保持部４５の軌跡計算完了状態を参照し、既に抽出済みの時刻の中間に位置する未抽出の原データを、抽出対象とする。図１１の例では、軌跡計算対象抽出部４２は、既に抽出済みの時刻「０」、「４」、「８」、・・の中間に位置する未抽出の原データである時刻「２」、「６」、「１０」、・・の原データを抽出する。
【００７１】
（３回目の抽出）軌跡計算対象抽出部４２が原データを抽出する３回目において、軌跡計算対象抽出部４２は、軌跡計算完了状態保持部４５の軌跡計算完了状態を参照し、既に抽出済みの時刻の中間に位置する未抽出の原データを、抽出対象とする。図１１の例では、軌跡計算対象抽出部４２は、既に抽出済みの時刻「０」、「２」、「４」、「６」、「８」、・・の中間に位置する未抽出の原データである時刻「１」、「３」、「５」、「７」、・・の原データを抽出する。軌跡計算対象抽出部４２は、ステップＳ２３において、軌跡計算完了状態保持部４５が保持する軌跡計算完了状態を参照し、未抽出の原データがなければ（ステップＳ２３：ＹＥＳ）、処理を終了する。
【００７２】
＜変形例＞
図１２〜１５を用いて、データ表示装置の変形例について説明する。
【００７３】
上記実施形態では、軌跡計算プログラム２６の軌跡計算対象抽出部４２は、時系列指令データ２４からデータを抽出するための抽出条件として、時刻が等間隔となるよう原データを抽出し、この時刻に基づく抽出方法を繰り返している。これにより、時系列描画対象軌跡データ２５に示されるエンドプレート１９の各座標が、軌跡計算対象抽出部４２の抽出の都度、時系列に等間隔に計算される。そのため、軌跡表示制御プログラム２７は、エンドプレート１９の動作の軌跡の全体像をまず概形として図形描画した後、エンドプレート１９の座標を、時系列に沿って段階的に詳細に図形描画する。
【００７４】
この他にも、軌跡計算対象抽出部４２が原データ群から原データを抽出するための抽出条件は、既に時系列指令データ２４の一部について計算済みの時系列描画対象軌跡データ２５に基づいて設定してもよい。例えば、軌跡計算対象抽出部４２は、まず時系列に沿って等間隔に原データを抽出する。軌跡計算対象抽出部４２は、次に原データを抽出する段階において、既に時系列描画対象軌跡データ２５に蓄積されているエンドプレート１９の座標の軌跡をもとに、別の抽出条件を設定してもよい。例えば、別の抽出条件として、軌跡計算対象抽出部４２は、軌跡の曲率が比較的大きい座標の周辺を詳細に図形描画するよう軌跡計算対象抽出部４２の抽出条件を設定してもよい。このように構成すると、１回目の軌跡計算は、原データ群からデータを間引いて計算するため、計算が短時間で完了する。これによって、ユーザは、軌跡の概形を即座に知ることができる。２回目以降の軌跡計算と軌跡描画の繰り返しによって段階的に軌跡描画の精度が上がり、最終的には全データの軌跡が表示されるため、ユーザは、詳細な軌跡を確認することができる。
【００７５】
＜変形例１：曲率優先＞
図１２は、エンドプレート１９の軌跡の曲率に基づいて、軌跡計算対象抽出部４２が原データの抽出条件を設定した場合の動作例を示す図である。エンドプレート１９の軌跡において、曲率が比較的大きい座標の周辺は、曲率が比較的小さい座標の周辺と比べると、エンドプレート１９が曲線的な動きをしていることを示す。
【００７６】
そこで、軌跡計算対象抽出部４２は、既に軌跡計算実行部４３が一部の原データについて計算済みの時系列描画対象軌跡データ２５を参照し、時系列描画対象軌跡データ２５に示される各座標において、各座標に前後する座標値を用いて、各座標の曲率を算出する。軌跡計算対象抽出部４２は、軌跡計算完了状態保持部４５に保持される軌跡計算完了状態を参照し、エンドプレート１９の軌跡において曲率が所定値以上の座標の周辺座標であって、軌跡計算対象抽出部４２が未抽出の座標を優先して抽出する。これにより、エンドプレート１９の軌跡の図形描画において、曲率が比較的大きい座標の周辺が、早期に詳細に描かれる。曲率が比較的小さい座標の周辺は、エンドプレート１９の移動が直線的である。そのため、ユーザにとってエンドプレート１９の移動の軌跡を比較的予想しやすい。そこで、曲率が比較的大きい座標の周辺を優先することで、ユーザが早期にエンドプレート１９の移動の詳細を把握することを容易にする。
【００７７】
＜変形例２：座標間の距離優先＞
この他に、エンドプレート１９の軌跡の、座標間の距離を、軌跡計算対象抽出部４２が原データを抽出するための抽出条件としてもよい。図１３は、エンドプレート１９の軌跡における座標間の距離に基づいて、軌跡計算対象抽出部４２が原データの抽出条件を設定した場合の動作例を示す図である。
【００７８】
図１３の例では、軌跡計算対象抽出部４２は、エンドプレート１９の軌跡において、座標間の距離が所定距離以上の各座標に挟まれる座標を優先するよう原データを抽出する。軌跡計算対象抽出部４２は、既に軌跡計算実行部４３が一部の原データについて計算済みの時系列描画対象軌跡データ２５を参照し、時系列描画対象軌跡データ２５に示される各座標において、各座標に前後する座標値を用いて、各座標間の距離を算出する。軌跡計算対象抽出部４２は、軌跡計算完了状態保持部４５に保持される軌跡計算完了状態を参照し、軌跡計算対象抽出部４２が未抽出の座標であって、エンドプレート１９の軌跡において座標間の距離が所定値以上の座標を優先するよう原データを抽出する。または、時系列描画対象軌跡データ２５に示される各座標において、座標間の距離が大きいものから順に、座標間において未抽出の座標を優先するよう抽出してもよい。
【００７９】
こうすることで、エンドプレート１９の軌跡において、エンドプレート１９の移動距離が長い部分を優先して軌跡計算実行部４３が軌跡を計算する。これにより、エンドプレート１９の軌跡の図形描画において、既に計算済みの座標間の距離が比較的大きい部分が優先して描画される。そのため、ユーザは、早期にエンドプレート１９の軌跡の全体像を把握できる。
【００８０】
＜変形例３：稼働可能範囲の境界付近を優先＞
この他に、エンドプレート１９が動作可能な範囲（ワークスペース）が定義されている場合、軌跡計算対象抽出部４２は、エンドプレート１９の移動可能な範囲の境界付近の座標を優先するよう原データを抽出することとしてもよい。図１４は、エンドプレート１９の移動可能な範囲の境界付近の座標を優先するよう軌跡計算対象抽出部４２が原データを抽出する場合の動作例を示す図である。
【００８１】
エンドプレート１９の移動可能な範囲が３次元座標空間（ｘｙｚ）で定義されている場合、軌跡計算対象抽出部４２は、既に軌跡計算実行部４３が一部の原データについて計算済みの時系列描画対象軌跡データ２５を参照し、時系列描画対象軌跡データ２５に示される各座標と、エンドプレート１９の移動可能な範囲との距離（ワークスペースの境界との距離）を各座標について算出する。軌跡計算対象抽出部４２は、軌跡計算完了状態保持部４５に保持される軌跡計算完了状態を参照し、時系列描画対象軌跡データ２５に示される各座標とエンドプレート１９の移動可能な範囲との距離が所定距離以下の座標の周辺座標であって、軌跡計算対象抽出部４２が未抽出の座標を優先するよう原データを抽出する。
【００８２】
こうすることで、軌跡表示制御プログラム２７は、エンドプレート１９のワークスペースの境界付近の座標を優先して詳細に図形描画する。そのため、ユーザは、エンドプレート１９がワークスペースをはみ出した座標を早期に検知することができる。
【００８３】
＜変形例４：既知のオブジェクトとの境界付近を優先＞
この他に、エンドプレート１９が動作可能な範囲（ワークスペース）において、既知の物体（オブジェクト）が配置されている場合、軌跡計算対象抽出部４２は、既知のオブジェクトとの距離が近い座標を優先するよう原データを抽出することとしてもよい。図１５は、エンドプレート１９の移動可能な範囲に配置されるオブジェクトとの境界付近の座標を優先するよう軌跡計算対象抽出部４２が原データを抽出する場合の動作例を示す図である。
【００８４】
エンドプレート１９の移動可能な範囲において、既知のオブジェクトの３次元座標空間（ｘｙｚ）での座標が定義されている場合、軌跡計算対象抽出部４２は、既に軌跡計算実行部４３が一部の原データについて計算済みの時系列描画対象軌跡データ２５を参照し、時系列描画対象軌跡データ２５に示される各座標と、既知のオブジェクトとの距離を各座標について算出する。軌跡計算対象抽出部４２は、軌跡計算完了状態保持部４５に保持される軌跡計算完了状態を参照し、時系列描画対象軌跡データ２５に示される各座標と既知のオブジェクトとの距離が所定距離以下の座標の周辺座標であって、軌跡計算対象抽出部４２が未抽出の座標を優先するよう原データを抽出する。
【００８５】
こうすることで、軌跡表示制御プログラム２７は、エンドプレート１９と既知のオブジェクトとの境界付近の座標を優先して詳細に図形描画する。そのため、ユーザは、エンドプレート１９と既知のオブジェクトとの干渉チェックを早期に実施することができる。
【００８６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８７】
１  ロボット制御システム、１０  コントローラ、１１  プログラミングツール、１２  プログラマブルターミナル、１３  サーボドライバ、１４  サーボモータ、１５  ロボット、１６  アーム部、１７  関節部、１９  エンドプレート、２０  オフラインデバッグシステム、２１  シミュレーション制御プログラム、２２  コントローラ・エミュレータ、２３  サーボモータ・エミュレータ、２４  時系列指令データ、２５  時系列描画対象軌跡データ、２６  軌跡計算プログラム、２７  軌跡表示制御プログラム、３０  データ表示装置、３１  ＣＰＵ、３２  ＲＯＭ、３３  ＲＡＭ、３４  ＨＤＤ、３５  通信インタフェース、３６  Ｉ／Ｏインタフェース、３７  キーボード、３８  ディスプレイ、４１  原データ取得部、４２  軌跡計算対象抽出部、４３  軌跡計算実行部、４４  軌跡データ保持部、４５  軌跡計算完了状態保持部。
【図１】
2014035722.tif 000003
【図２】
2014035722.tif 000004
【図３】
2014035722.tif 000005
【図４】
2014035722.tif 000006
【図５】
2014035722.tif 000007
【図６】
2014035722.tif 000008
【図７】
2014035722.tif 000009
【図８】
2014035722.tif 000010
【図９】
2014035722.tif 000011
【図１０】
2014035722.tif 000012
【図１１】
2014035722.tif 000013
【図１２】
2014035722.tif 000014
【図１３】
2014035722.tif 000015
【図１４】
2014035722.tif 000016
【図１５】
2014035722.tif 000017