(57)【要約】【課題】ロボットごとのバラツキを考慮した試験を人手に頼らずに実施し、毎試験ごとの精度のバラツキを抑え、ロボットの各動作タイミングを考慮した検証を効率良く実施すること。【解決手段】試験開始時のロボット１の代表的な動作に要する時間を事前に測定する事前測定手段１３と、前記事前の測定結果から前記ロボット１の各動作に要する時間の誤差補正を行う誤差修正手段１５と、前記ロボット１の各動作を狙ったエラー注入のタイミングを指示するエラー注入指示手段１７と、前記ロボット１の指示された動作を狙ってエラーを注入するエラー注入手段３２とを備える。【選択図】図２
2008184276.tif 000002
【特許請求の範囲】
【請求項１】
試験開始時のロボットの代表的な動作に要する時間を事前に測定する事前測定手段と、
前記事前の測定結果から前記ロボットの各動作に要する時間の誤差補正を行う誤差修正手段と、
前記ロボットの各動作を狙ったエラー注入のタイミングを指示するエラー注入指示手段と、
前記ロボットの指示された動作を狙ってエラーを注入するエラー注入手段とを備えることを特徴としたロボットの試験装置。
【請求項２】
前記エラー注入指示手段は、エラー注入のタイミングとして、前記ロボットの各動作の時間範囲の中間地点とすることを特徴とした請求項１記載のロボットの試験装置。
【請求項３】
前記ロボットの応答情報の確認を行う結果確認手段と、
前記エラー注入のタイミング時間の修正を行うエラー注入時間修正手段とを備え、
前記エラー注入時間修正手段は、前記ロボットの応答情報でエラー注入が期待したタイミングとずれていた場合、前記エラー注入のタイミング時間の修正を行うことを特徴とした請求項１又は２記載のロボットの試験装置。
【請求項４】
事前測定手段で試験開始時のロボットの代表的な動作に要する時間を事前に測定し、
誤差修正手段で前記事前の測定結果から前記ロボットの各動作に要する時間の誤差補正を行い、
エラー注入指示手段で前記ロボットの各動作を狙ったエラー注入のタイミングを指示し、
エラー注入手段で前記ロボットの指示された動作を狙ってエラーを注入することを特徴としたロボットの試験方法。
【請求項５】
試験開始時のロボットの代表的な動作に要する時間を事前に測定する事前測定手段と、
前記事前の測定結果から前記ロボットの各動作に要する時間の誤差補正を行う誤差修正手段と、
前記ロボットの各動作を狙ったエラー注入のタイミングを指示するエラー注入指示手段と、
前記ロボットの指示された動作を狙ってエラーを注入するエラー注入手段として、
コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームを使用して対象物を移動させるロボット（装置）のエラー発生時の動作（リカバリ動作）検証として、エラー注入のタイミング調整機能により、意図したタイミングでのエラー注入を実現するロボットの試験装置及び方法及びプログラムに関する。
【０００２】
例えば、磁気テープライブラリ装置では、ロボットに異常が発生した場合、その時のロボットの動作が加速中であるか、減速中であるかといったその時の動作により、ロボットに指示を出しているホストに通知されるエラー応答が異なっている。
【０００３】
また、エラー発生時のロボットの位置、カートリッジを掴んでいるかどうかによって、エラー発生後のロボットの動作も異なる。ロボットの特徴的な動作としては、以下の５つの動作が挙げられる。
【０００４】
1)水平・垂直方向の移動
ロボットを対象物へ移動させる。移動距離の長短により、最高速度が異なる。
【０００５】
2) Home Position（ホームポジション）との往復
ロボットアームが対象物を掴むためにロボットアームを回転させる必要があるが、ロボットアームを回転させるスペースがない場合、一度Home Position （ホームポジション）に移動し、ロボットアームを回転させ、元の場所に戻る。
【０００６】
3)回転（360 °）
ロボットアームを対象物がある方向へ回転させる。
【０００７】
4)ロボットアームの操作
ロボットアームで物を掴む・取る・置く・離す。ロボットアームを伸ばす・戻す。
【０００８】
5)スキャン
ロボットアームに取り付けられたＣＣＤ（電荷結合素子）カメラで、バーコードなどの情報をスキャンする。
【背景技術】
【０００９】
従来、ロボットアームを有する装置（ロボット）では、ロボットの動作（加速中、減速中、回転中など）、ロボットの位置、対象のカートリッジの状態の違いにより、エラー発生時の応答や、エラー発生後の対応（元の位置に戻るや動作を続行する等）が異なるため、それぞれのタイミングでのリカバリ−動作（ＲＡＳ）検証を行わなければならない。しかし、従来のＲＡＳ検証では、作業者がロボットアームの動作を目視で確認し、手動でエラー注入を実施していた。
【００１０】
そのため、エラー注入のタイミング自体に誤差が発生する上に、作業者や機種などの違い、ロボット装置の個体差や劣化度など、検証を行う環境の違いにより、エラー注入のタイミングにバラツキが生じ、精度良く、意図するタイミングでの検証を実施することが難しいものであった。
【００１１】
また、ロボットアームの動作についても、カートリッジをあるスロット（slot）から別のスロット（slot）へ移動させる場合にも、カートリッジを掴んで抜く、アームの回転、ロボットの移動、カートリッジの挿入などの複数の動作が連続して実施されるため、一連の動作を検証しようとしても、このようなバラツキにより、毎回意図したタイミングでのエラー注入が実施できるとは限らないため、精度よく一通りの動作の検証を行うことができないものであった。
【００１２】
また、従来例として、ロボットのトランケーションエラーを最少化するため、６４ｍｓサンプリングごとの増加分データをＲＡＭの各メモリ領域を構成する３２に分けてそれぞれのセルに書き込んだ後、残りエラーを間々毎に挿入するものがあった（特許文献１参照）。
【特許文献１】特開平５−３１３７５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
前記従来のものは次のような課題があった。
【００１４】
（１）：手動でエラー注入を実施するものは、手動のエラー注入や使用環境の違い（ロボット装置の個体差、使用頻度の違いによるロボット装置の劣化度の差など）により、エラー注入のタイミングに誤差が生じ、意図したタイミングでの検証が出来ないため、正しい結果を得ることができないのもであった。
【００１５】
（２）：ロボットのトランケーションエラーを最少化するものは、自動でエラーを注入して、ロボットのリカバリー動作の検証を行うことはできないものであった。
【００１６】
本発明は、このような従来の課題を解決し、ロボット装置ごとのバラツキを考慮した試験が人手に頼らずに実施できるようになり、毎試験ごとの精度のバラツキを抑え、ロボットの各動作タイミングを考慮した検証を効率良く実施できるようにすることを目的とする。
【課題を解決するための手段】
【００１７】
図２は本発明の機能ブロックの説明図である。図２において、機能ブロックには、テープライブラリ装置（ロボット）１、ホスト２、ＰＣ（エラー注入装置）３が設けてあり、ホスト２には、試験制御機能（試験制御手段）１１、装置情報取得機能（装置情報取得手段）１２、事前測定機能（事前測定手段）１３、動作変化点までの時間算出機能（動作変化点までの時間算出手段）１４、誤差修正機能（誤差修正手段）１５、エラー注入時間決定機能（エラー注入時間決定手段）１６、エラー注入指示機能（エラー注入指示手段）１７、装置ＪＯＢ実行機能（装置ＪＯＢ実行手段）１８、結果確認機能（結果確認手段）１９、エラー注入時間修正機能（エラー注入時間修正手段）２０、装置情報定義ファイル２１、装置情報テーブル２２、動作変化点までの所要時間テーブル２３、試験情報ファイル２４、エラー情報テーブル２５、動作所要時間テーブル２６が設けてある。ＰＣ３には、装置ＪＯＢ監視機能（装置ＪＯＢ監視手段）３１、エラー注入機能（エラー注入手段）３２が設けてある。
【００１８】
本発明は、上記従来の課題を解決するため、次のように構成した。
【００１９】
（１）：試験開始時のロボット１の代表的な動作に要する時間を事前に測定する事前測定手段１３と、前記事前の測定結果から前記ロボット１の各動作に要する時間の誤差補正を行う誤差修正手段１５と、前記ロボット１の各動作を狙ったエラー注入のタイミングを指示するエラー注入指示手段１７と、前記ロボット１の指示された動作を狙ってエラーを注入するエラー注入手段３２とを備える。このため、ロボット装置ごとのバラツキを考慮した試験が人手に頼らずに実施できるようになり、毎試験ごとの精度のバラツキを抑え、ロボットの各動作タイミングを考慮した検証を効率良く実施できる。
【００２０】
（２）：前記（１）のロボットの試験装置において、前記エラー注入指示手段１７は、エラー注入のタイミングとして、前記ロボット１の各動作の時間範囲の中間地点とする。このため、狙った各動作へのエラー注入を確実に行うことができる。
【００２１】
（３）：前記（１）又は（２）のロボットの試験装置において、前記ロボット１の応答情報の確認を行う結果確認手段１９と、前記エラー注入のタイミング時間の修正を行うエラー注入時間修正手段２０とを備え、前記エラー注入時間修正手段２０は、前記ロボット１の応答情報でエラー注入が期待したタイミングとずれていた場合、前記エラー注入のタイミング時間の修正を行う。このため、自動でタイミング時間の修正ができ、狙った各動作へのエラー注入を正確に行うことができる。
【発明の効果】
【００２２】
本発明によれば次のような効果がある。
【００２３】
（１）：試験開始時のロボットの代表的な動作に要する時間を事前に測定して、該測定結果から前記ロボットの各動作に要する時間の誤差補正を行うため、ロボット装置ごとのバラツキを考慮した試験が人手に頼らずに実施できるようになり、毎試験ごとの精度のバラツキを抑え、ロボットの各動作タイミングを考慮した検証を効率良く実施できる。
【００２４】
（２）：エラー注入指示手段で、エラー注入のタイミングとして、ロボットの各動作の時間範囲の中間地点とするため、狙った各動作へのエラー注入を確実に行うことができる。
【００２５】
（３）：エラー注入時間修正手段で、ロボットの応答情報でエラー注入が期待したタイミングとずれていた場合、前記エラー注入のタイミング時間の修正を行うため、自動でタイミング時間の修正ができ、狙った各動作へのエラー注入を正確に行うことができる。
【発明を実施するための最良の形態】
【００２６】
本発明は、装置情報（ロボットの加速度・減速度、ロボット移動時の移動距離と最高速度）について、装置情報の通知機能を有する装置からの収集機能、あるいは、作業者自身が装置情報を定義した定義ファイルからの装置情報の収集機能が必要である。
【００２７】
また、試験制御を行うホスト（Host）とは別に、ロボットの制御コマンド（ＣＤＢ）データの監視及びエラー注入の実施を行う装置（以降、ＰＣと記述する）が必要である。
【００２８】
代表的な動作の所要時間の事前測定結果と算出値を比較した結果を基に、エラー注入タイミングの補正を行い、且つエラー注入時の装置応答情報と期待する装置応答情報との不一致が発生する度に誤差補正を行う方式を設けるものである。
【００２９】
（１）：システム構成の説明
図１はシステム構成の説明図である。図１において、システム構成には、被試験装置（ロボット）１、ホスト２、ＰＣ（エラー注入装置）３、入力装置４が設けてある。ここでホスト２、ＰＣ（エラー注入装置）３、入力装置４がロボットの試験装置を構成するものである。
【００３０】
被試験装置１は、ロボットアームを有する磁気テープライブラリ装置等のロボットである。ホスト２は、試験制御やＣＤＢの発行（ＪＯＢ走行）を行うロボットの制御手段（サーバ）である。エラー注入装置３は、ＰＣ（パーソナルコンピュータ）等のエラー注入を実施するものである。入力装置４は、試験起動等をオペレータが入力するための入力手段である。
【００３１】
なお、ホスト２とエラー注入装置３の連携は、ＬＡＮ（Local Area Network）を介して行われる。また、上記説明では、ホスト２とエラー注入装置３は、別々に設ける説明をしたが、ホスト２にエラー注入装置３を設け、一つの装置とすることもできる。
【００３２】
（２）：機能ブロックの説明
図２は、機能ブロックの説明図である。図２において、機能ブロックには、被試験装置であるテープライブラリ装置１、テープライブラリ装置（ロボット）の制御手段であるホスト２、エラー注入装置であるＰＣ３が設けてある。ホスト２には、試験制御機能１１、装置情報取得機能１２、事前測定機能１３、動作変化点までの時間算出機能１４、誤差修正機能１５、エラー注入時間決定機能１６、エラー注入指示機能１７、装置ＪＯＢ実行機能１８、結果確認機能１９、エラー注入時間修正機能２０、装置情報定義ファイル２１、装置情報テーブル２２、動作変化点までの所要時間テーブル２３、試験情報ファイル２４、エラー情報テーブル２５、動作所要時間テーブル２６が設けてある。ＰＣ３には、装置ＪＯＢ監視機能３１、エラー注入機能３２が設けてある。
【００３３】
試験制御機能１１は、試験のスケジュール管理を行う試験制御手段である。装置情報取得機能１２は、装置情報を定義したファイルを装置情報定義ファイル２１から読み込み、装置情報を取得して装置情報テーブル２２に格納する装置情報取得手段である。事前測定機能１３は、試験開始時にテープライブラリ装置１に代表的な動作の指示を出し、代表的な動作に要する時間の事前測定を実施し、測定結果を動作所要時間テーブル２６に格納する事前測定手段である。動作変化点までの時間算出機能１４は、装置情報テーブル２２から取得した装置情報を基に、動作変化点までの時間を算出し、動作変化点までの所要時間テーブル２３に格納する動作変化点までの時間算出手段である。誤差修正機能１５は、動作変化点までの所要時間テーブル２３の算出値と動作所要時間テーブル２６の事前測定の結果を比較し、誤差の修正を行い、動作変化点までの所要時間テーブル２３の更新を行う誤差修正手段である。
【００３４】
エラー注入時間決定機能１６は、誤差の修正を行った動作変化点までの時間を基に、実際にエラー注入を実施する時間を決定するエラー注入時間決定手段である。エラー注入指示機能１７は、ＰＣ３と連携し、ＰＣ３へエラー注入の指示を行うエラー注入指示手段である。装置ＪＯＢ実行機能１８は、テープライブラリ装置１への試験対象の動作の指示を行う装置ＪＯＢ実行手段である。結果確認機能１９は、テープライブラリ装置１の装置応答情報の確認を行う結果確認手段である。エラー注入時間修正機能２０は、装置応答情報が期待するタイミングでなかった場合、エラー注入を実施する時間の修正を行うエラー注入時間修正手段である。
【００３５】
装置ＪＯＢ監視機能３１は、ホスト２から指示された試験対象の動作が実施されるまで監視を行う装置ＪＯＢ監視手段である。エラー注入機能３２は、テープライブラリ装置１の試験対象の動作に対して、エラー注入を実施するものである。
【００３６】
（３）：装置情報テーブルの説明
装置情報テーブル２２は、装置情報取得機能１２が予め作業者等が装置情報を定義したファイル（装置情報定義ファイル２１）から読み込んで作成するものである。図３は装置情報テーブルの説明図である。図３において、装置情報であるパラメータとその内容が記載されている。例えば、パラメータ「加速時の加速度（長）」の内容は「長軸方向への加速度」である。また、パラメータ「パターン１  移動距離と最高速度」の内容は「移動距離の下限、移動距離の上限、最高速度」である。
【００３７】
（４）：ロボットの代表的な動作の説明
ロボットの特徴的な動作としては、移動（水平［短軸・長軸］、垂直［上下］方向）、ホームポジション（Home Position ）との往復、回転、ロボットアームの操作、スキャンの５パターンがある。長距離で移動する場合と短距離で移動する場合とでは、ロボットの最高速度が異なるため、各軸方向への移動については、長距離（端から端まで）を移動する場合、短距離（端から１／４地点まで）を移動する場合とを考慮する。また、ロボットの隅で移動を行おうとした場合、ロボットを回転することができないため、一度、ロボットが回転できる位置に移動し、ロボットを回転した後、隅に戻ってくるという動作を行うため、ロボットを回転させる位置（Home position という）へ移動する場合についても、考慮する。
【００３８】
図４はロボットの代表的な動作の説明図である。図４において、動作パターンと方向と移動距離のロボットの代表的な動作の表が示されている。
【００３９】
（５）：動作所要時間テーブルの説明
図５は動作所要時間テーブルの説明図である。図５において、動作所要時間テーブル２６には、図４の代表的な動作に要する時間の測定値（実測値）、および算出値を、秒単位で展開するものである。例えば、上段には、動作パターンとして「長軸方向（端→端）の移動」とその算出値と実測値が記載されている。
【００４０】
（６）：動作変化点までの所要時間テーブルの説明
図６は動作変化点までの所要時間テーブルの説明図である。図６において、動作変化点までの所要時間テーブル２３には、図５での移動に要する時間を基に、加速終了、及び減速開始までの時間を算出し、停止までの時間の実測値と算出値の誤差から、加速終了、及び減速終了までの時間の修正を行い、秒単位で展開するものである。ここで実測値が停止であるのは、ロボットからの動作の応答が（エラー等の障害が何もなければ）正常終了で停止した時点で返ってくるためである。例えば、上段には、動作パターンとして「長軸方向（端→端）の移動」とその算出値（加速終了と減速開始と停止）と補正値（加速終了と減速開始）と実測値（停止）が展開される。
【００４１】
（７）：エラー注入時間範囲の説明
図７はエラー注入時間範囲の説明図である。図７において、エラー注入を期待するタイミングとエラー注入時間範囲の下限とエラー注入時間範囲の上限の値の表が記載されている。例えば、上段では、加速中のタイミングの動作開始時点と加速終了時点の値が記載される。
【００４２】
（８）：エラー情報テーブルの説明
図８はエラー情報テーブルの説明図である。図８において、エラー情報テーブル２５には、項目とその内容とその詳細の欄が設けてある。例えば、上段において、項目としてエラー注入個所、その内容としてエラー注入を実施する箇所、詳細としてモータ、ピッカ、ＣＣＤ（カメラ）などが記載されている。
【００４３】
（９）：ロボットの試験処理の説明
ホスト（HOST）２側では、装置ＪＯＢの実行、エラー注入の指示などの試験制御を行い、ＰＣ３側では、ホスト（HOST）２からの指示に従い、エラー注入を実施する。ホスト２とＰＣ３の連携は、ＬＡＮを介して行う。なお、エラー注入時間の修正についての詳細は、図１０を参照のこと。ここでは装置情報を予め作業者等が定義ファイルに定義する場合について説明する。図９はロボットの試験処理の説明図である。以下、図９の処理Ｓ１〜Ｓ１３にしたがって説明する。
【００４４】
Ｓ１：作業者等が、装置情報の定義を装置情報定義ファイル２１に格納する。
【００４５】
装置（ロボット）の加速度、減速度、および移動距離ごとの最高速度を装置情報定義ファイル２１に定義しておく。
【００４６】
Ｓ２：試験制御機能１１は、装置情報取得機能１２により装置情報の収集を行う。
【００４７】
(A) プログラム起動時に、Ｓ１で定義したファイル（装置情報定義ファイル２１）から、装置情報を収集する（この収集はロボットから直接又は他の情報サイトから収集するようにしてもよく、この場合は装置情報定義ファイル２１をホスト２に設ける必要はない。）
(B) 収集した装置情報は、装置情報テーブル２２（図３参照）に展開する。
【００４８】
Ｓ３：試験制御機能１１は、事前測定機能１３により事前測定を行う。
【００４９】
(A) ロボットの代表的な動作（図４参照）に要する時間を事前に測定する。
【００５０】
(B) 測定結果を動作所要時間テーブル２６（図５参照）に展開する。
【００５１】
Ｓ４：試験制御機能１１は、動作変化点までの時間算出機能１４により動作変化点までの時間算出する。
【００５２】
(A) Ｓ２で取得したデータを基に、ロボットが移動する場合、及び回転する場合について、移動開始から加速終了、減速開始、停止までの時間を算出（一般的な物理式を使用）し、動作変化点までの所要時間テーブル２３（図６参照）に展開する。
【００５３】
Ｓ５：試験制御機能１１は、誤差修正機能１５により誤差修正を行う。
【００５４】
(A) Ｓ４で算出した加速終了、減速開始までの時間について、以下のようにして誤差補正（実測値「停止」を使用）を行い、動作変化点までの所要時間テーブル２３に（補正値として）展開する。
【００５５】
〔誤差補正後の時間の算出方法〕
誤差補正後の時間＝算出値×（停止までの時間の実測値÷停止までの時間の算出値）
例えば、上記式の算出値にある動作の「加速終了」の算出値を入れて計算した結果をある動作の補正後の「加速終了」の値とするものである。
【００５６】
Ｓ６：試験制御機能１１は、エラー注入時間決定機能１６により実際にエラーを注入する時間の決定を行う。
【００５７】
これはＳ５の結果（動作変化点までの所要時間テーブル２３）を基に、実際にエラー注入を実施する時間を決定する。実際にエラー注入する時間は、エラー注入が確実にできるように各エラー注入時間範囲（図７参照）の中間地点とする。
【００５８】
Ｓ７：試験制御機能１１は、エラー注入指示機能１７によりＰＣ３に対しエラー注入の指示を行う。
【００５９】
(A) 実際に注入するエラーの情報として、エラー注入箇所、対象のコマンド、注入するエラー内容、エラー注入を実施する時間、期待する装置応答情報、タイミングがずれた場合の装置応答情報、及びリカバリ種別を、エラー情報テーブル２５（図８参照）に展開する。
【００６０】
(B) ＰＣ３へエラー注入を指示する。
【００６１】
Ｓ８：ＰＣ３の装置ＪＯＢ監視機能３１は、テープライブラリ装置１側で指定された動作が実施されるまで、監視を行う。
【００６２】
Ｓ９：試験制御機能１１は、装置ＪＯＢ実行機能１８によりテープライブラリ装置ＪＯＢの実施を行う。
【００６３】
これは試験対象装置（テープライブラリ装置１）へ、試験対象の動作実施の指示を出すものである。
【００６４】
Ｓ１０：ＰＣ３のエラー注入機能３２は、エラー注入を行う。
【００６５】
対象動作の起動を確認したら、エラー情報テーブル２５に従い、指定されたタイミングで試験対象装置（テープライブラリ装置１）へエラー注入を実施する。
【００６６】
Ｓ１１：試験制御機能１１は、結果確認機能１９により結果確認を行う。
【００６７】
(A) エラーに対して応答された装置情報を確認し、エラー情報テーブル２５に展開した期待する装置情報であった場合、期待するタイミングで試験を実施でき、その結果も正しいと判断する。
【００６８】
(B) 応答された装置情報が、エラー情報テーブル２５に展開した期待するタイミングとずれた場合の装置情報である場合、エラー注入を行う時間の修正を行う。また、エラー注入を実施する前に、対象動作の終了ステータスが応答された場合についても、エラー注入前に対象動作が完了してしまっているため、エラー注入を行う時間の修正を行う。
【００６９】
(C) なお、エラー情報テーブル２５に定義していない装置情報が応答された場合、装置側に異常があると判断し、試験を終了する。
【００７０】
Ｓ１２：試験制御機能１１は、エラー注入時間修正機能２０によりエラー注入時間の修正を行う。
【００７１】
(A) エラー注入時間の修正を行うにあたり、まず、関連する動作変化点までの時間の修正を行い、動作変化点までの所要時間テーブル２３の更新を行う。
【００７２】
(B) 修正した動作変化点までの時間におけるエラー注入時間範囲の確認を行い、エラー注入時間範囲が定められた値未満である場合、装置側に異常があると判断し、試験を終了する。
【００７３】
(C) 修正した動作変化点までの時間から、実際にエラー注入を行う時間を再度決定し、エラー情報テーブル２５のエラー注入時間を更新する（図８参照）。
【００７４】
(D) エラー注入時間の修正後、再度、Ｓ７〜Ｓ１２の処理を繰り返す。
【００７５】
〔エラー注入時間の修正の例（図１０を参照）〕
例えば、加速中のエラー注入期待に対して、実際には等速移動中であった場合、エラー注入を実施した時点では既に等速移動を実施しているため、加速終了時間にエラー注入を実施した時間を代入する。そして、修正した加速終了時間を２で除した値を、修正したエラー注入時間とする。修正を繰り返し、移動開始から加速終了までの時間が定められた時間未満になっても、期待する装置応答情報が得られなかった場合、装置側に異常があると判断し、試験を終了する。
【００７６】
Ｓ１３：試験制御機能１１は、試験繰り返しを行う。
【００７７】
これは全項目の走行が完了するまで、Ｓ６〜Ｓ１２の処理を繰り返す。
【００７８】
このように試験対象装置ごとのバラツキを考慮した試験が人手に頼らずに実施できるようになり、毎試験ごとの精度のバラツキを抑え、ロボットの各動作タイミングを考慮した検証を効率良く実施できるようになる。
【００７９】
（１０）：ロボットの試験処理の詳細な説明
1.  試験制御やＣＤＢの発行を行うサーバ（HOST）２と、エラー注入を実施するＰＣ３をロボットである磁気テープライブラリ装置１に接続した形態で検証を行う（図１、図２参照）。サーバ２とＰＣ３の連携は、ＬＡＮ経由で行う。ロボットアームの最高速度、および最高速度と移動距離の相関関係について、定義内容を応答する機能をテープライブラリ装置１が有する場合を以下に説明する。
【００８０】
2.  装置の加速度、減速度、および移動距離ごとの最高速度を格納手段である装置情報定義ファイル２１に定義する。
【００８１】
装置情報定義ファイルへ２１の定義は、以下のように行う。なお、水平・垂直方向の加速度・減速度の単位は[m/s2]、回転方向の角加速度・角減速度の単位は[rad/s2]、移動距離の単位は[m] 、最高速度の単位は[m/s] で定義する。
【００８２】
H-Long   axis  :  長軸方向の加速度, 短軸方向の減速度
H-Short  axis  :  短軸方向の加速度, 短軸方向の減速度
Vertical axis  :  垂直方向の加速度, 垂直方向の減速度
Swible         :  角加速度, 角減速度
Max Speed  1   :  移動距離下限, 移動距離上限, 最高速度
Max Speed  2   :  移動距離下限, 移動距離上限, 最高速度
・
・
Max Speed  n   :移動距離下限, 移動距離上限, 最高速度
3.  装置情報取得機能１２は、 A) 装置情報定義ファイル２１を読み込み、B)装置情報テーブル２２に展開（格納）する。
【００８３】
4.  事前測定機能１３は、 A) ロボットの代表的な動作に要する時間の事前測定を実施し、B)測定結果を動作所要時間テーブル２６に展開する。
【００８４】
5.  動作変化点までの時間算出機能１４は、 A) 装置情報テーブル２２を参照し、ロボットの動作変化点（加速終了、減速開始、停止）までの時間を算出し、B)算出結果を動作変化点までの所要時間テーブル２３に展開する。
【００８５】
6.  誤差修正機能１５は、算出値と事前測定で得られた実測値を比較し、誤差修正を行い、誤差修正結果について、動作変化点までの所要時間テーブル２３の更新を行う。
【００８６】
7.  エラー注入時間決定機能１６は、誤差修正を行った動作変化点までの時間を基に、実際にエラー注入を実施する時間を決定する。
【００８７】
8.  エラー注入指示機能１７は、 A) 試験情報をエラー情報テーブル２５に展開し、B)ＰＣ３へのエラー注入の指示を行う。
【００８８】
9.  装置ＪＯＢ監視機能３１は、ロボットであるテープライブラリ装置１で、試験対象の装置ＪＯＢが実施されるまで、テープライブラリ装置の装置ＪＯＢの監視を行う。
【００８９】
10. 装置ＪＯＢ実行機能１８は、サーバ（Host）２側からテープライブラリ装置１へ、試験対象の装置ＪＯＢを実施する。
【００９０】
11. エラー注入機能３２は、期待する装置ＪＯＢが実行されたら、決定したエラー注入時間後に、エラー注入を実施する。
【００９１】
12. A)エラー注入後、サーバ（Host）２側の結果確認機能１９で装置応答情報の確認を行い、B)エラー情報テーブル２５の期待する装置情報と一致した場合は次の試験へ移行する。C)装置応答情報が、エラー情報テーブルのタイミングがずれた場合の装置応答の場合、あるいは、エラー注入前に装置ＪＯＢの完了ステイタス（status）が応答された（停止した）場合には、エラー注入時間修正機能２０によりエラー注入期間の修正を実施する。D)全く期待していない装置応答情報であった場合はロボットであるテープライブラリ装置１側に異常があると判断し、プログラムを終了する。
【００９２】
13. A)エラー注入を実施する時間の修正を行うにあたり、まず、エラー注入時間修正機能２０は、動作変化点までに要する時間の修正を行い、動作変化点までの所要時間テーブル２３を更新する。
【００９３】
例）等速移動中期待で、既に減速していた場合
加速終了時間：２秒、減速開始時間：６秒の場合、次のようになる。
【００９４】
エラー注入時間＝加速終了時間＋（減速開始時間−加速終了時間）÷２
＝４秒
エラー注入時点（４秒）で、既に減速しているため、減速開始時間を４秒とする。減速開始時間の修正度合いを基に、加速終了時間を次のように修正する。
【００９５】
加速終了時間＝２秒＋（４秒÷６秒）
＝２．６秒（小数点第２位以下は、切捨て）
B)修正した動作変化点までに要する時間を基に、エラー注入指示機能１７は、エラー注入を実施する時間を修正し、再度エラー注入指示を行う。
【００９６】
例) A)で修正した加速終了時間、及び減速開始時間を基に、次のようにエラー注入時間を再決定する。
【００９７】
エラー注入時間＝加速終了時間＋（減速開始時間−加速終了時間）÷２
＝２．６秒＋（４秒−２．６秒）÷２
＝３．３秒
C)エラー注入時間範囲が定められた時間未満となった場合、エラー注入時間修正機能２０は、テープライブラリ装置側に異常があると判断し、プログラムを終了する。
【００９８】
例) エラー注入時間範囲の最小値を０．５秒と設定した場合、減速開始時間と加速終了時間の差が、０．５秒未満となった場合、装置側の異常と判断する。
【００９９】
14. 結果確認機能１９は、試験結果が期待通りとなった場合、再度同一環境で試験を実施する場合に参照できるように、試験情報ファイル２４に、動作変化点までの所要時間を出力する。
【０１００】
15. 上記 6〜13を、全試験項目分繰り返す。
【０１０１】
（１１）：エラー注入時間修正の説明
装置応答情報について、装置ＪＯＢのエラーステータスの確認を行い、エラー情報テーブル２５に展開されている装置ＪＯＢのエラーステータスと一致している場合、期待通りの試験が実施でき、装置側にも異常がないと判断する。装置応答情報の装置ＪＯＢのエラーステータスが、エラー情報テーブルに展開されているタイミングがずれた場合の装置ＪＯＢのエラーステータスと一致した場合、エラー注入時間の修正を行う。なお、上記のどちらにも当てはまらない場合（全く期待していない応答の場合）、装置側に異常があると判断する。
【０１０２】
エラー注入時間は、動作変化点までの時間を基に決定しており、エラー注入時の期待する動作ごとに必要な動作変化点までの時間が異なるため、エラー注入時間の修正を行う場合、期待する動作が加速中、等速移動（回転）中、減速中、それ以外の場合のそれぞれで、エラー注入時間の修正を行う。
【０１０３】
エラー注入時間の修正は、関連する動作変化点までの時間の修正を行い、修正された動作変化点までの時間を基に、再度決定する。
【０１０４】
エラー注入時間は、確実にエラーが注入できるようにエラー注入時間範囲の中間点とするが、動作変化点までの時間を修正すると、エラー注入時間範囲も短くなっていく。このエラー注入範囲が定められた時間より短くなってしまった場合、装置側に異常があり、正しいエラーステータスが応答されないと判断する。
【０１０５】
図１０はエラー注入時間修正処理フローチャートである。図１０はエラー注入指示からエラー注入時間の修正について、ホスト２側での処理を示している。以下、図１０の処理Ｓ２１〜Ｓ３１にしたがって説明する。
【０１０６】
Ｓ２１：エラー注入指示機能１７は、ＰＣ３に対しエラー注入の指示を行い処理Ｓ２２に移る（図９のＳ７参照）。
【０１０７】
Ｓ２２：装置ＪＯＢ実行機能１８は、ロボットである磁気テープライブラリ装置１の装置ＪＯＢの実行を行う。
【０１０８】
Ｓ２３：結果確認機能１９は、磁気テープライブラリ装置１の装置応答情報の結果確認を行う。この確認で、装置応答情報が期待通りであれば装置が正常である（試験結果を出力）と判断してこの処理を終了し、装置応答情報が期待と異なる場合は処理Ｓ２４に移る。
【０１０９】
Ｓ２４：結果確認機能１９は、装置応答情報の詳細を判断する。この判断で、装置応答情報が全く期待していない応答の場合は装置異常（試験結果を出力）と判断してこの処理を終了し、装置応答情報がタイミングがずれている場合は処理Ｓ２５に移る。
【０１１０】
Ｓ２５：結果確認機能１９は、ロボットである磁気テープライブラリ装置１の動作を判断する。この判断で、移動又は回転の動作の場合は処理２６に移り、その他の場合は処理３０に移る。
【０１１１】
Ｓ２６：結果確認機能１９は、期待するタイミングが何であるかを判断する。この判断で、期待するタイミングが加速中であれば処理Ｓ２７に移り、期待するタイミングが等速移動中であれば処理Ｓ２８に移り、期待するタイミングが減速中であれば処理Ｓ２９に移る。
【０１１２】
Ｓ２７：エラー注入時間修正機能２０は、エラー注入時間の修正（詳細は後述する）を行い処理Ｓ３１に移る。
【０１１３】
Ｓ２８：エラー注入時間修正機能２０は、エラー注入時間の修正（詳細は後述する）を行い処理Ｓ３１に移る。
【０１１４】
Ｓ２９：エラー注入時間修正機能２０は、エラー注入時間の修正（詳細は後述する）を行い処理Ｓ３１に移る。
【０１１５】
Ｓ３０：エラー注入時間修正機能２０は、エラー注入時間の修正（詳細は後述する）を行い処理Ｓ３１に移る。
【０１１６】
Ｓ３１：エラー注入時間修正機能２０は、エラー注入時間範囲が定められた時間かどうか判断する。この判断で、エラー注入時間範囲が定められた時間未満となった場合、磁気テープライブラリ装置１側に異常がある（試験結果を出力）と判断しこの処理を終了し、エラー注入時間範囲が定められた時間以上の場合は処理Ｓ２１に戻る。
【０１１７】
（１２）：エラー注入時間修正の詳細な説明
図１０のエラー注入時間修正処理フローチャートの処理Ｓ２７〜Ｓ３０の「 エラー注入時間の修正」 の詳細について、それぞれを以下に説明する。なお、以下の説明で使用している記号の意味は、以下の通りである。
【０１１８】
C ＿time：修正前のエラー注入時間
R ＿time：修正後のエラー注入時間
C ＿acc ：修正前の加速終了時間
R ＿acc ：修正後の加速終了時間
C ＿dec ：修正前の減速開始時間
R ＿dec ：修正後の減速開始時間
C ＿stop：修正前の停止時間
R ＿stop：修正後の停止時間
（Ａ）：ロボットの移動、回転についての説明
ａ) 期待する装置応答情報が“加速中”の場合（処理Ｓ２７参照）
図１１は期待する装置応答情報が“加速中”の場合のエラー注入時間修正処理フローチャートである。加速中にエラー注入を実施する場合の時間は、動作開始から加速が終了するまでの時間を基に決定しているため、エラー注入時間の再決定を行うために、加速終了時間を修正しなければならない。ロボットの動作として加速中を期待していた場合、タイミングがずれた場合のロボットの動作として、以下の３つの動作が考えられる（処理Ｓ４１参照）。
【０１１９】
(1) 等速移動中
(2) 減速中
(3) 停止
上記それぞれの場合について、以下、詳細を説明する。
【０１２０】
(1) 等速移動中
1)エラー注入を実施した時点で等速移動をしている（既に加速が終了している）ことから、エラー注入を実施した時間を加速終了時間であるとする（処理Ｓ４２参照）。
【０１２１】
R ＿acc = C ＿time
2)修正した加速終了時間を２分割し、エラー注入時間を再決定する（処理Ｓ４３参照）。
【０１２２】
R ＿time = C＿acc ÷ 2
(2) 減速中
1)エラー注入を実施した時点で減速していることから、エラー注入を実施した時間を減速開始時間であるとする（処理Ｓ４４参照）。
【０１２３】
R ＿dec = C ＿time
2)減速開始時間に発生した誤差と同程度の誤差が加速終了時間にも発生すると仮定し、加速終了時間の修正を行う（処理Ｓ４５参照）。
【０１２４】
R ＿acc = C ＿acc × ( R＿dec ÷ C＿dec ) 
3)修正した加速終了時間を２分割し、エラー注入時間を再決定する（処理Ｓ４６参照）。
【０１２５】
R ＿time = C＿acc ÷ 2
(3) 停止
1)エラー注入を実施した時点で停止していることから、エラー注入を実施した時間を停止時間であるとする（処理Ｓ４７参照）。
【０１２６】
R ＿stop = C＿time
2)停止時間に発生した誤差と同程度の誤差が減速開始時間にも発生すると仮定し、減速開始時間の修正を行う（処理Ｓ４８参照）。
【０１２７】
R ＿dec = C ＿dec × ( R＿stop÷ C＿stop )
3)減速時間の修正分と同程度の修正が加速終了時間にも必要であると仮定し、加速終了時間の修正を行う（処理Ｓ４９参照）。
【０１２８】
R ＿acc = C ＿acc × ( R＿dec ÷ C＿dec ) 
4)修正した加速終了時間を２分割し、エラー注入時間を再決定する（処理Ｓ５０参照）。
【０１２９】
R ＿time = C＿acc ÷ 2
ｂ) 期待する装置応答情報が“等速移動（回転）中”の場合（処理Ｓ２８参照）
図１２は期待する装置応答情報が“等速移動（回転）中”の場合のエラー注入時間修正処理フローチャートである。等速移動（回転）中にエラー注入を実施する場合の時間は、動作開始から加速が終了するまでの時間、及び動作開始から減速開始までの時間を基に決定しているため、エラー注入時間の再決定を行うために、加速終了時間、および減速開始時間を修正しなければならない。ロボットの動作として等速移動（回転）中を期待していた場合、タイミングがずれた場合のロボットの動作として、以下の３つの動作が考えられる（処理Ｓ５１参照）。
【０１３０】
(1) 加速中
(2) 減速中
(3) 停止
上記それぞれの場合について、詳細を説明する。
【０１３１】
(1) 加速中
1)エラー注入を実施した時点で加速をしていることから、エラー注入を実施した時間を加速終了時間であるとする（処理Ｓ５２参照）。加速中であった場合、加速終了時間の修正のみで、減速開始時間の修正は実施しない。
【０１３２】
R ＿acc = C ＿time
2)修正した加速終了時間、および減速開始時間（修正なし）を基に、エラー注入時間を再決定する（処理Ｓ５３参照）。
【０１３３】
R ＿time = R＿acc + ( C ＿dec − R＿acc ) ÷ 2
(2) 減速中
1)エラー注入を実施した時点で減速していることから、エラー注入を実施した時間を減速開始時間であるとする（処理Ｓ５４参照）。
【０１３４】
R ＿dec = C ＿time
2)減速開始時間に発生した誤差と同程度の誤差が加速終了時間にも発生すると仮定し、加速終了時間の修正を行う（処理Ｓ５４参照）。
【０１３５】
R ＿acc = C ＿acc × ( R＿dec ÷ C＿dec ) 
3)修正した加速終了時間、および減速開始時間（修正なし）を基に、エラー注入時間を再決定する（処理Ｓ５５参照）。
【０１３６】
R ＿time = R＿acc + ( C ＿dec − R＿acc ) ÷ 2
(3) 停止
1)エラー注入を実施した時点で停止していることから、エラー注入を実施した時間を停止時間であるとする（処理Ｓ５６参照）。
【０１３７】
R ＿stop = C＿time
2)停止時間に発生した誤差と同程度の誤差が減速開始時間にも発生すると仮定し、減速開始時間の修正を行う（処理Ｓ５７参照）。
【０１３８】
R ＿dec = C ＿dec × ( R＿stop÷ C＿stop )
3)減速時間の修正分と同程度の修正が加速終了時間にも必要であると仮定し、加速終了時間の修正を行う（処理Ｓ５７参照）。
【０１３９】
R ＿acc = C ＿acc × ( R＿dec ÷ C＿dec ) 
4)修正した加速終了時間、および減速開始時間（修正なし）を基に、エラー注入時間を再決定する（処理Ｓ５８参照）。
【０１４０】
R ＿time = R＿acc + ( C ＿dec − R＿acc ) ÷ 2
ｃ）期待する装置応答情報が“減速中”の場合（処理Ｓ２９参照）
図１３は期待する装置応答情報が“減速中”の場合のエラー注入時間修正処理フローチャートである。減速中にエラー注入を実施する場合の時間は、動作開始から減速開始までの時間、および動作開始から停止までの時間を基に決定しているため、エラー注入時間の再決定を行うために、減速開始時間、および停止時間を修正しなければならない。ロボットの動作として減速中を期待していた場合、タイミングがずれた場合のロボットの動作として、以下の３つの動作が考えられる（処理Ｓ６１参照）。
【０１４１】
(1) 加速中
(2) 等速移動（回転）中
(3) 停止
上記それぞれの場合について、詳細を説明する。
【０１４２】
(1) 加速中
1)エラー注入を実施した時点で加速をしていることから、エラー注入を実施した時間を加速終了時間であるとする（処理Ｓ６２参照）。
【０１４３】
R ＿acc = C ＿time
2)加速終了時間に発生した誤差と同程度の誤差が減速開始時間にも発生すると仮定し、減速開始時間の修正を行う（処理Ｓ６３参照）。加速中であった場合、減速開始時間の修正のみで、停止時間の修正は行わない。
【０１４４】
R ＿dec = C ＿dec × ( R＿acc ÷ C＿acc ) 
3)修正した減速開始時間、および停止時間を基に、エラー注入時間を再決定する（処理Ｓ６４参照）。
【０１４５】
R ＿time = R＿dec + ( C ＿stop− R＿dec ) ÷ 2
(2) 等速移動（回転）中
1)エラー注入を実施した時点で等速移動（回転）している（減速を開始していない）ことから、エラー注入を実施した時間を減速開始時間であるとする（処理Ｓ６５参照）。
【０１４６】
R ＿dec = C ＿time
2)修正した減速開始時間、および停止時間を基に、エラー注入時間を再決定する（処理Ｓ６６参照）。
【０１４７】
R ＿time = R＿dec + ( C ＿stop− R＿dec ) ÷ 2
(3) 停止
1)エラー注入を実施した時点で停止していることから、エラー注入を実施した時間を停止時間であるとする（処理Ｓ６７参照）。
【０１４８】
R ＿stop = C＿time
2)停止時間に発生した誤差と同程度の誤差が減速開始時間にも発生すると仮定し、減速開始時間の修正を行う（処理Ｓ６７参照）。
【０１４９】
R ＿dec = C ＿dec × ( R＿stop÷ C＿stop )
3)修正した減速開始時間、および停止時間を基に、エラー注入時間を再決定する（処理Ｓ６８参照）。
【０１５０】
R ＿time = R＿dec + ( R ＿stop− R＿dec ) ÷ 2
（Ｂ）：それ以外の動作について（処理Ｓ３０参照）
図１４は期待する装置応答情報が“その他”の場合のエラー注入時間修正処理フローチャートである。ロボットの移動や回転以外の動作の場合、エラー注入時間は、停止時間を２分割した時間としているため、タイミングがずれた場合として考えられるのは、既に停止していることのみである。停止時間の修正を行い、修正した停止時間から、エラー注入時間を再決定する（処理Ｓ７１、７２参照）。
【０１５１】
1)エラー注入を実施した時点で停止していることから、エラー注入を実施した時間を停止時間であるとする（処理Ｓ７１参照）。
【０１５２】
R ＿stop = C＿time
2)修正した停止時間を２分割し、エラー注入時間を再決定する（処理Ｓ７２参照）。
【０１５３】
R ＿time = R＿stop÷ 2
（１３）：プログラムインストールの説明
エラー注入装置３、試験制御機能（試験制御手段）１１、装置情報取得機能（装置情報取得手段）１２、事前測定機能（事前測定手段）１３、動作変化点までの時間算出機能（動作変化点までの時間算出手段）１４、誤差修正機能（誤差修正手段）１５、エラー注入時間決定機能（エラー注入時間決定手段）１６、エラー注入指示機能（エラー注入指示手段）１７、装置ＪＯＢ実行機能（装置ＪＯＢ実行手段）１８、結果確認機能（結果確認手段）１９、エラー注入時間修正機能（エラー注入時間修正手段）２０、装置情報定義ファイル２１、装置情報テーブル２２、動作変化点までの所要時間テーブル２３、試験情報ファイル２４、エラー情報テーブル２５、動作所要時間テーブル２６、装置ＪＯＢ監視機能（装置ＪＯＢ監視手段）３１、エラー注入機能（エラー注入手段）３２等はプログラムで構成でき、主制御部（ＣＰＵ）が実行するものであり、主記憶に格納されているものである。
【０１５４】
このプログラムは、一般的な、コンピュータ（情報処理装置）で処理されるものである。このコンピュータは、主制御部、主記憶、ファイル装置、表示装置、キーボード等の入力手段である入力装置などのハードウェアで構成されている。このコンピュータに、本発明のプログラムをインストールする。このインストールは、フロッピィ、光磁気ディスク等の可搬型の記録（記憶）媒体に、これらのプログラムを記憶させておき、コンピュータが備えている記録媒体に対して、アクセスするためのドライブ装置を介して、或いは、ＬＡＮ等のネットワークを介して、コンピュータに設けられたファイル装置にインストールされる。そして、このファイル装置から処理に必要なプログラムステップを主記憶に読み出し、主制御部が実行するものである。
【図面の簡単な説明】
【０１５５】
【図１】本発明のシステム構成の説明図である。
【図２】本発明の機能ブロックの説明図である。
【図３】本発明の装置情報テーブルの説明図である。
【図４】本発明のロボットの代表的な動作の説明図である。
【図５】本発明の動作所要時間テーブルの説明図である。
【図６】本発明の動作変化点までの所要時間テーブルの説明図である。
【図７】本発明のエラー注入時間範囲の説明図である。
【図８】本発明のエラー情報テーブルの説明図である。
【図９】本発明のロボットの試験処理の説明図である。
【図１０】本発明のエラー注入時間修正処理フローチャートである。
【図１１】本発明の期待する装置応答情報が“加速中”の場合のエラー注入時間修正処理フローチャートである。
【図１２】本発明の期待する装置応答情報が“等速移動（回転）中”の場合のエラー注入時間修正処理フローチャートである。
【図１３】本発明の期待する装置応答情報が“減速中”の場合のエラー注入時間修正処理フローチャートである。
【図１４】本発明の期待する装置応答情報が“その他”の場合のエラー注入時間修正処理フローチャートである。
【符号の説明】
【０１５６】
１  テープライブラリ装置（ロボット）
２  ホスト
３  ＰＣ（エラー注入装置）
１１  試験制御機能（試験制御手段）
１２  装置情報取得機能（装置情報取得手段）
１３  事前測定機能（事前測定手段）
１４  動作変化点までの時間算出機能（動作変化点までの時間算出手段）
１５  誤差修正機能（誤差修正手段）
１６  エラー注入時間決定機能（エラー注入時間決定手段）
１７  エラー注入指示機能（エラー注入指示手段）
１８  装置ＪＯＢ実行機能（装置ＪＯＢ実行手段）
１９  結果確認機能（結果確認手段）
２０  エラー注入時間修正機能（エラー注入時間修正手段）
２１  装置情報定義ファイル
２２  装置情報テーブル
２３  動作変化点までの所要時間テーブル
２４  試験情報ファイル
２５  エラー情報テーブル
２６  動作所要時間テーブル
３１  装置ＪＯＢ監視機能（装置ＪＯＢ監視手段）
３２  エラー注入機能（エラー注入手段）
【図１】
2008184276.tif 000003
【図２】
2008184276.tif 000004
【図３】
2008184276.tif 000005
【図４】
2008184276.tif 000006
【図５】
2008184276.tif 000007
【図６】
2008184276.tif 000008
【図７】
2008184276.tif 000009
【図８】
2008184276.tif 000010
【図９】
2008184276.tif 000011
【図１０】
2008184276.tif 000012
【図１１】
2008184276.tif 000013
【図１２】
2008184276.tif 000014
【図１３】
2008184276.tif 000015
【図１４】
2008184276.tif 000016