(57)【要約】【課題】偶発的なエラーの発生によりロボットが非常停止した場合に、原因究明を省略してロボットを再稼働させても再びエラーが発生することを抑制できるロボットシステムを提供すること。【解決手段】ロボット１０の動作実行中においてそのロボットの制御ログを取得し、ロボット１０がエラー発生により非常停止した場合には、記憶部３１のエラーログ記憶領域３１ｂに、当該非常停止の時点よりも所定期間前から非常停止の時点までの制御ログをエラーログとして記憶する。制御部３３は、再稼働時における制御ログとエラーログとを比較し、両者の一致度に基づいて、再稼働前にエラーが発生したのと同じ時点における動作状態が再稼働前の動作状態と異なるように、モータ２１の駆動を制御する。【選択図】      図２
2020049552.tif 000002
【特許請求の範囲】
【請求項１】
複数の回転軸と、前記複数の回転軸を駆動するモータと、前記モータを駆動する駆動部とを有するロボットと、
前記ロボットが予め設定された所定動作を繰り返し実行するように、前記駆動部を制御する制御部と、
前記所定動作の実行中における前記ロボットの情報を取得する情報取得部と、
前記情報取得部によって取得した情報を制御ログとして一時記憶する記憶部と、
を備えたロボットシステムにおいて、
前記記憶部は、前記所定動作の実行中に前記ロボットがエラー発生により非常停止した場合に、当該非常停止の時点よりも所定期間前から前記非常停止の時点までの前記制御ログをエラーログとして前記一時記憶とは別に記憶し、
前記制御部は、前記非常停止が発生した後の再稼働時において、前記所定期間前からの前記制御ログと前記エラーログとを比較し、その一致度に基づいて、再稼働前にエラーが発生したのと同じ時点における動作状態が再稼働前の動作状態と異なるように前記駆動部に対して制御指令を出力することを特徴とすることを特徴とするロボットシステム。
【請求項２】
前記制御部は、再稼働前にエラーが発生したのと同じ時点における動作状態が再稼働前の動作状態と異なるように前記駆動部に対して制御指令を出力する場合に、再稼働前の動作と同じ種類の動作についてその内容を異ならせることを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記制御部は、再稼働前にエラーが発生したのと同じ時点における動作状態が再稼働前の動作状態と異なるように前記駆動部に対して制御指令を出力する場合でも、前記所定動作を実行する速度パターンの面積が維持されるように前記制御指令を出力することを特徴とする請求項２に記載のロボットシステム。
【請求項４】
前記情報取得部が取得する前記ロボットの情報は、前記モータにおける電流値又は負荷率、温度及び前記回転軸の角度であることを特徴とする請求項１乃至３のいずれか１項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムに関する。
【背景技術】
【０００２】
製造ライン等に用いられるロボットシステムでは、ロボットの稼働中にエラーが発生することがある。その場合、ロボットをいったん非常停止させ、エラー発生の原因究明を行ってその原因を取り除き、ティーチングのやり直しをして再稼働させている。この場合のエラーの内容が、例えば指令位置とロボットの現在位置との偏差が所定の閾値を超えるような偏差過大と呼ばれるようなものであれば、モータ等の駆動部の故障等が原因である場合が多く、原因究明も比較的容易である。ところが、エラーの中には、ロボットがワークをつかんだ際の姿勢等により一時的に過電流や過負荷が生じる場合等のように偶発的なものもあり、このような偶発的なエラーは解析しても原因を究明することが困難な場合がある。一方、偶発的なエラーは再稼働時には発生しないこともある。
【０００３】
このように原因究明が困難なエラー発生に対処すべく、例えば、ロボットの動作状態を撮影した画像や、ロボットの動作状態を示す各種情報（例えば加速度やトルク等）を記憶しておき、エラー発生時にその記憶した画像情報や各種情報をパソコンのモニタに表示させ、原因究明に役立てるようにした技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１７４６６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のような従来技術では、エラー発生の原因究明を行っている間はロボットを停止させた状態が継続することとなる。仮に画像情報やロボットの各種情報がモニタに表示されることで原因究明に役立つとしても、あくまで役立つというレベルに過ぎず、結果的に原因がわからないという場合もある。
【０００６】
そのため、製造等のラインの停止状態が続くことを嫌う現場では、偶発的なエラーが発生してもその原因究明を実行するのではなく、一過性のエラーに過ぎないと判断されてエラー原因を内在させたまま再稼働させてしまうこともあり得る。そうすると、結局は、再び同じエラーが発生することとなりロボットが停止して、製造等のラインの再度の停止を招いてしまう。
【０００７】
そこで、本発明は、偶発的なエラーの発生によりロボットが非常停止した場合に、原因究明を省略してロボットを再稼働させても再びエラーが発生することを抑制できるロボットシステムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決すべく、第１の発明は、
複数の回転軸と、前記複数の回転軸を駆動するモータと、前記モータを駆動する駆動部とを有するロボットと、
前記ロボットが予め設定された所定動作を繰り返し実行するように、前記駆動部を制御する制御部と、
前記所定動作の実行中における前記ロボットの情報を取得する情報取得部と、
前記情報取得部によって取得した情報を制御ログとして一時記憶する記憶部と、
を備えたロボットシステムにおいて、
前記記憶部は、前記所定動作の実行中に前記ロボットがエラー発生により非常停止した場合に、当該非常停止の時点よりも所定期間前から前記非常停止の時点までの前記制御ログをエラーログとして前記一時記憶とは別に記憶し、
前記制御部は、前記非常停止が発生した後の再稼働時において、前記所定期間前からの前記制御ログと前記エラーログとを比較し、その一致度に基づいて、再稼働前にエラーが発生したのと同じ時点における動作状態が再稼働前の動作状態と異なるように前記駆動部に対して制御指令を出力することを特徴とする。
【０００９】
第１の発明によれば、非常停止が発生した後にロボットを再稼働して所定動作を再び実行する場合に、その実行中の制御ログとエラーログとの一致度が比較される。その一致度に基づいて、再稼働前にエラーが発生したのと同じ時点において再稼働前とは異なる動作状態となるよう制御される。これにより、偶発的なエラー発生によりロボットが非常停止した場合に、原因究明を省略してロボットを再稼働させても再度エラーが発生することが抑制される。その結果、製造等のラインを原因究明のために長期間中断させてしまうおそれを低減できる。
【００１０】
第２の発明では、前記制御部は、再稼働前にエラーが発生したのと同じ時点における動作状態が再稼働前の動作状態と異なるように前記駆動部に対して制御指令を出力する場合に、再稼働前の動作と同じ種類の動作についてその内容を異ならせることを特徴とする。
【００１１】
ロボットに偶発的なエラーを発生させる原因としては、エラーが発生した時点においてロボットが行っていた動作の種類（例えば、加速、等速、減速等）の内容に問題があった可能性が高いと考えられる。そこで、第２の発明のように、再稼働前にエラーが発生したのと同じ時点における動作の種類と同じ種類の動作についてその内容が異なるように制御内容を変更すれば、再稼働時において、再稼働前にエラーが発生したのと同じ時点で再びエラーが発生することの回避可能性を高めることができる。
【００１２】
第３の発明では、前記制御部は、再稼働前にエラーが発生したのと同じ時点における動作状態が再稼働前の動作状態と異なるように前記駆動部に対して制御指令を出力する場合でも、前記所定動作を実行する速度パターンの面積が維持されるように前記制御指令を出力することを特徴とする。
【００１３】
再稼働前と動作状態が異なるように制御指令の内容を変更しても所定動作を実行する速度パターンの面積は変更されずに維持されるため、制御指令の内容が変更されてもロボットの到達位置が変化することを抑制できる。
【００１４】
第４の発明では、前記情報取得部が取得する前記ロボットの情報は、前記モータにおける電流値又は負荷率、温度及び前記回転軸の角度であることを特徴とする。
【００１５】
ロボットの制御において、モータの電流値、負荷率及び温度は予め上限値が設定されており、ロボットがエラー状態にあるか否かを判定する要素である。そのため、エラー発生時点の所定時間前からエラー発生時点までの期間においてこれらの一致度が高い場合、再びエラーが発生する蓋然性が高いと考えられる。そこで、第４の発明のようにエラー発生の蓋然性を判断する指標として、電流値、負荷率及び温度を用いることが好適である。
【図面の簡単な説明】
【００１６】
【図１】ロボットの概要を示す図。
【図２】エラー回避システムの電気的構成を示す図。
【図３】エラー監視処理の手順を示すフローチャート。
【図４】エラー回避処理の手順を示すフローチャート。
【図５】制御ログの推移の一例を示す図。
【図６】制御指令の変更例を示すタイムチャートであり、（ａ）は加速時にエラーが発生した場合の変更例を、（ｂ）は等速時にエラーが発生した場合の変更例をそれぞれ示している。
【発明を実施するための形態】
【００１７】
以下、本発明のロボットシステムを具体化した実施形態について、図面を参照しつつ説明する。本実施形態では、工場の機械組立ラインにおいて機械等の組み立てを行う産業用ロボット又は工場の加工ラインにおいて素材等に対して加工を行う産業用ロボットに適用されたロボットシステムとして具体化されている。
【００１８】
図１に示すように、ロボット１０は、６つの関節Ｋ１〜Ｋ６を有する６軸ロボットである。ロボット１０は、各関節Ｋ１〜Ｋ６の回転軸（関節軸）として第１〜第６軸Ｊ１〜Ｊ６を有している。本実施形態では、第１軸Ｊ１が鉛直方向に延びるようにしてロボット１０が床等のロボット設置箇所に設置されている。以下の説明では、図１の上下方向が鉛直方向を示している。
【００１９】
ロボット１０において基台１１は、ロボット設置場所に固定される固定部１２と、固定部１２の上方に設けられる回動部１３とを有している。回動部１３は、鉛直方向に延びる第１軸Ｊ１を回動中心として固定部１２に対して回動可能とされている。回動部１３の上端部には下アーム１５が連結されている。下アーム１５は、水平方向に延びる第２軸Ｊ２を回動中心として回動部１３に対して回動可能とされている。
【００２０】
下アーム１５の先端部（上端部）には上アーム１６が連結されている。上アーム１６は、水平方向に延びる第３軸Ｊ３を回動中心として下アーム１５に対し回動可能とされている。上アーム１６は、長手方向に分割された基端側の第１上アーム１６Ａと先端側の第２上アーム１６Ｂとを有している。これら各アーム１６Ａ，１６Ｂのうち第１上アーム１６Ａが下アーム１５に連結されている。第２上アーム１６Ｂは、上アーム１６の長手方向に延びる第４軸Ｊ４を回動中心として第１上アーム１６Ａに対し回動可能に連結されている。
【００２１】
第２上アーム１６Ｂの先端部には手首部１７が設けられている。手首部１７は、水平方向に延びる第５軸Ｊ５を回動中心として第２上アーム１６Ｂに回動可能に連結されている。手首部１７には、ワークやツール等を取り付けるためのハンド部１８が設けられている。ハンド部１８は、その中心線である第６軸Ｊ６を回動中心として手首部１７に対してねじり方向に回動可能に連結されている。
【００２２】
このように、ロボット１０は、各軸Ｊ１〜Ｊ６を回動中心として回動可能とされた複数（具体的には６つ）の構成要素（回動部１３、下アーム１５、第１上アーム１６Ａ、第２上アーム１６Ｂ、手首部１７、ハンド部１８）を備える。この場合、これら各構成要素はそれぞれ、各軸Ｊ１〜Ｊ６を回転中心とした関節Ｋ１〜Ｋ６の回転に伴い回動する。
【００２３】
各関節Ｋ１〜Ｋ６にはそれぞれモータ２１（サーボモータ）が設けられている。モータ２１は正逆両方向の回転が可能であり、モータ２１の駆動により原点位置を基準として各関節Ｊ１〜Ｊ６が回転駆動され、ひいては各構成要素が回動する。
【００２４】
次に、ロボット１０の動作中、原因究明が困難な偶発的エラーが発生した場合に、再稼働時に同じエラーが発生することを回避するためのエラー回避を実行するロボットシステムＳについて説明する。図２は、ロボットシステムＳの電気的構成を示す図である。
【００２５】
図２に示すように、ロボットシステムＳは、前述したロボット１０と、操作装置４０とを備えている。ロボット１０は、ロボット１０の各種動作を制御するコントローラ３０を備えている。コントローラ３０は、ＣＰＵ等を有する周知のマイクロコンピュータを主体に構成され、記憶部３１を有している。記憶部３１には、ロボット１０の動作プログラム等の各種プログラムが記憶されている。動作プログラムとしては、ロボット１０が設置された作業ラインにおいて必要な動作として予め設定されるほか、コントローラ３０に接続されたティーチングペンダントを用いて動作プログラムの作成、修正、登録、各種パラメータの設定が行われる。コントローラ３０は、記憶部３１に記憶された各種プログラムに基づいてロボット１０の動作制御等を行う。これにより、作業ラインに設置されたロボット１０は、動作プログラムにおいて設定された所定の動作を繰り返す。
【００２６】
コントローラ３０は、ロボット１０の各関節Ｋ１〜Ｋ６に設けられたモータ２１を駆動させる駆動部３２を備えている。駆動部３２は、入力される直流電圧を交流電圧に変換し、３相モータ２１のステータ巻線に印加する３相インバータを含んでいる。インバータは、ハイサイドスイッチとローサイドスイッチとの直列接続体を３つ備えている。なお、駆動部３２は、ロボット１０の各関節Ｊ１〜Ｊ６のそれぞれに対応して個別に設けられている。なお、図２には、便宜上、１つのモータ２１のみ図示している。
【００２７】
コントローラ３０は、モータ２１の駆動制御を行う制御部３３を備えている。制御部３３は、マイクロプロセッサを主体として構成されている。また、コントローラ３０には、関節Ｋ１〜Ｋ６の回転位置（回転軸の角度）を検出する位置検出部３４（エンコーダ）が接続されている。位置検出部３４は、各関節Ｋ１〜Ｋ６（各モータ２１）にそれぞれ設けられている。図２には、便宜上、１つの位置検出部３４のみ図示している。コントローラ３０には、各位置検出部３４からそれぞれ関節Ｋ１〜Ｋ６の回転位置情報が逐次入力される。この入力された回転位置情報は、制御ログの一つとして記憶部３１の一時記憶領域３１ａに記憶される。
【００２８】
コントローラ３０の制御部３３は、各モータ２１の制御量（例えば回転速度、加速度、減速度）をその指令値に制御すべく、回転位置情報に基づいて制御信号を生成し、駆動部３２に対して制御指令を出力する。このように、制御部３３は、位置検出部４３から入力される回転位置情報に基づいて各モータ２１の駆動をフィードバック制御する。
【００２９】
コントローラ３０には、モータ２１に流れる電流値を検出する電流検出部３５が接続されている。電流検出部３５は、本実施形態において情報取得部に相当し、各モータ２１にそれぞれ設けられている。図２には、便宜上、１つの電流検出部３５のみ図示している。コントローラ３０には、動作プログラムによるロボット１０の動作中、各電流検出部３５からそれぞれ各モータ２１の電流値が逐次入力される。入力された電流値は、記憶部３１の一時記憶領域３１ａに制御ログの一つとして記憶される。コントローラ３０は、それら入力される各モータ２１の電流値に基づいて、モータ２１により関節Ｋ１〜Ｋ６を回転駆動する際に発生する負荷率を検出する。検出された負荷率も、制御ログの一つとして記憶部３１の一時記憶領域３１ａに記憶される。
【００３０】
コントローラ３０には、モータ２１の温度を検出する温度検出部３６が接続されている。温度検出部３６は、本実施形態において情報取得部に相当し、各位置検出部３４にそれぞれ内蔵されている。図２には、便宜上、１つの温度検出部３６のみ図示している。コントローラ３０には、動作プログラムによるロボット１０の動作中、各温度検出部３６からそれぞれ各モータ２１周辺の温度値が逐次入力される。入力された温度値は、記憶部３１の一時記憶領域３１ａに制御ログの一つとして記憶される。
【００３１】
コントローラ３０の記憶部３１には、一時記憶領域３１ａのほかに、エラーログ記憶領域３１ｂを有している。エラーログ記憶領域３１ｂには、偶発的なエラーが発生してロボット１０が非常停止した場合に、エラー発生時点から所定期間（例えば４秒〜５秒程度）遡った時点を起点とし、その起点からエラー発生時点までの制御ログ（電流値、負荷率、温度）が記憶される。エラーログは、エラーが発生するたびに更新される。このエラーログとして記憶された制御ログは、ロボット１０を再稼働した際に実行されるエラー回避処理において用いられる。
【００３２】
コントローラ３０には、ロボット１０の制御に関する各種操作を行うための操作装置４０が接続されている。操作装置４０は、周知のパーソナルコンピュータ（端末装置）により構成されており、キーボード等からなる操作部４１と、ディスプレイ等からなる表示部４２とを有している。なお、操作装置４０は、端末装置に代えて、ティーチングペンダントにより構成されていてもよい。
【００３３】
次に、ロボット１０のエラーの発生を監視するエラー監視処理と、エラーが発生した場合に、その後の再稼働時において再びエラーが発生することを回避するためのエラー回避処理について、図３及び図４に基づき説明する。エラー監視処理及びエラー回避処理は、コントローラ３０の制御部３３により実行される。エラー監視処理は、ロボット１０の動作プログラムが開始されたことをトリガとして開始される。
【００３４】
エラー監視処理は、図３に示すように、まずステップＳ１１において、エラーが発生してロボット１０が非常停止したか否かを判定する。ロボット１０の動作においては、各モータ２１の電流値、負荷率及び温度には予め上限値が設定されており、いずれかの数値がその上限値を超える状態となると、コントローラ３０の制御部３３がエラー状態にあるとしてロボット１０を非常停止させる。ステップＳ１１では、このようなエラー発生によるロボット１０の非常停止がなされたか否かを判定する。
【００３５】
エラーが発生していない場合は判定を否定し、ステップＳ１２に進む。ステップＳ１２では、動作プログラムが終了しているか否かを判定し、終了していなければステップＳ１１に戻り、終了していればエラー監視処理を終了する。そのため、動作プログラムが終了するまでエラーが発生しているか否かの監視を継続して行う。
【００３６】
動作プログラムの実行中にエラーが発生してロボット１０が非常停止した場合、ステップＳ１１において判定を肯定してステップＳ１３に進む。ステップＳ１３では、エラー発生時の所定期間前からエラー発生時点までの制御ログを記憶部３１の一時記憶領域３１ａから取得し、当該制御ログをエラーログとして記憶部３１のエラーログ記憶領域３１ｂに記憶する。この時、従前のエラー回避処理の実行によってエラーログ記憶領域３１ｂにエラーログが記憶されている場合には、エラーログを更新して最新のエラーログを記憶する。
【００３７】
続くステップＳ１４では、非常停止後にロボット１０が、設定された所定動作を再度開始したか否か（再稼働したか否か）を判定する。未だ再稼働していない場合には判定を否定して、再稼働したか否かの判定を継続して行う。再稼働した場合には判定を肯定し、ステップＳ１５に進み、エラー回避処理を実行する。その後、エラー監視処理を終了する。
【００３８】
次に、エラー回避処理について説明する。エラー回避処理では、図４に示すように、まずステップＳ１５１において、エラーログ記憶領域３１ｂに記憶されたエラーログを読み出す。
【００３９】
続くステップＳ１５２では、エラー発生時の動作状態、すなわち動作の種類（加速中か減速中か等速運動中か）と、動作種類ごとの内容（加速度、減速度又は速度の値）とを把握する。なお、動作状態は、各位置検出部３４から入力された各関節Ｋ１〜Ｋ６の回転位置情報に基づいて把握する。
【００４０】
その上で、次のステップＳ１５３では、制御指令を変更する変更限界時点に到達したか否かを判定する。
【００４１】
ここで、後述するように、再稼働時においては、エラーが再度発生することを回避するため、各モータ２１の駆動部３２に出力する制御指令の内容、すなわち加速度、減速度及び速度のいずれかを、再稼働前にエラーが発生したのと同じ時点において異なる値となるよう変更する。この場合、加速度、減速度及び速度のいずれを変更するかは、エラー発生時点における動作の種類による。つまり、エラー発生時点での動作種類が加速中であれば加速度の値を変更し、減速中であれば減速度の値を変更し、等速運動中であれば速度の値を変更する。そして、再稼働前にエラーが発生したのと同じ時点において、加速度、減速度又は等速運動中の速度が変更された動作状態になっている必要があるため、その変更された動作状態とするために必要な変更期間がある。再稼働前にエラーが発生したのと同じ時点よりもこの変更期間だけ前となる時点を変更限界時点とする。変更限界時点は、変更対象が加速度、減速度及び速度のいずれであるか及びそれぞれの変更前の値によって異なり得る。そこで、エラー発生時点における動作種類とその数値を把握した上で、この変更限界時点が求められる。
【００４２】
この変更限界時点に到達したか否かを、上記ステップＳ１５３において判定する。未だ変更限界時点に到達していない場合には判定を否定し、変更限界時点に到達したか否かの判定を継続して行う。変更限界時点に到達した場合には判定を肯定して次のステップＳ１５４に進む。
【００４３】
ステップＳ１５４では、再稼働時において取得された制御ログのうち、再稼働前にエラーが発生したのと同じ時点よりも所定時間前からの制御ログとエラーログとを比較し、その一致率を算出する。前述したように、制御ログ及びエラーログの内容としては、モータ２１における電流値、負荷率、温度及び回転位置の各情報がある。このうち、負荷率は、定格電流値に対する定電流値の割合であり、電流値に基づいて算出されるため電流値に依存する。そこで、制御ログとエラーログとの比較とは、具体的には、電流値又は負荷率、温度、回転位置の各情報について比較し、その一致率を算出する。
【００４４】
図５は、一例として、エラー発生時における制御ログとしての負荷率の推移を示している。図５に示すように、エラーが発生した場合には、エラー発生時点Ｔ１より所定期間（本実施形態では４秒）前の時点Ｔ２からエラー発生時点Ｔ１までの制御ログ（図示は負荷率の制御ログ）がエラーログとして記憶される。再稼働時には、再稼働前にエラーが発生したのと同じ時点Ｔ１の所定時間前の時点Ｔ２から変更限界時点Ｔ３までの制御ログについて、エラーログと比較することで両者の一致率を算出する。一致率の算出の仕方としては、例えば、ログ取得時点における制御ログの値とエラーログの値との偏差が１％以内であれば一致すると判断し、変更限界時点Ｔ３までの間で一致と判断された割合として算出することが考えられる。
【００４５】
続く、ステップＳ１４５では、算出した一致率に応じて制御指令の内容を変更する。変更する動作の種類は、エラー発生時点の動作種類に基づいて選択する。すなわち、エラー発生時点の動作種類が加速中であれば加速度を変更し、減速中であれば減速度を変更し、等速運動中であれば速度を変更する。それぞれを種類について変更する程度に関しては、ログの一致率が１００％であれば、加速度、減速度又は速度をエラー発生時点における値の７０％に、ログの一致率が９０％であれば７５％に、ログの一致率が８０％であれば８０％にそれぞれ減少させる。なお、この減少割合は、ユーザにより予め任意に設定されるようになっている。そして、このような制御指令の内容を変更するとしても、ロボット１０が動作プログラムにしたがって行う所定動作の開始時点から終了時点までの速度パターンの面積（台形面積）は変更させない。
【００４６】
図６は、制御指令の変更例として、ある回転軸における速度パターンの一部を示している。図６（ａ）に示すように、回転軸の回転動作において、動作開始時点Ｔｓから加速が開始されたところ、その加速中にエラーが発生したとする。この場合、再稼働時には、図中に実線で示すように、再稼働前にエラーが発生したのと同じ時点Ｔ１において、エラーログとの一致度に応じて加速度を減少させた動作状態となっているように加速度を減少させる。その後、等速から減速に転じる時点を本来の時点Ｔ４よりも遅らせた時点Ｔ４ａにて等速から減速に転じさせ、動作終了時点Ｔｅは加速度の変更前と同じとなるように減速度を増加させる。これにより、速度パターンの面積（台形面積）を変えない制御が可能となる。
【００４７】
また、図６（ｂ）に示すように、回転軸の回転動作において、動作開始時点Ｔｓから加速を開始し、次いで等速運動をしている途中でエラーが発生したとする。この場合、再稼働時には、図中に実線で示すように、再稼働前にエラーが発生したのと同じ時点Ｔ１において、エラーログとの一致度に応じて速度を減少させた動作状態となっているように速度を減少させる。その後、等速から減速に転じる時点を本来の時点Ｔ４よりも遅らせた時点Ｔ４ａにて等速から減速に転じさせ、動作終了時点Ｔｅは加速度の変更前と同じとなるように減速度を増加させる。これにより、速度パターンの面積（台形面積）を変えない制御が可能となる。
【００４８】
以上詳述したロボットシステムＳによれば、次のような効果が得られる。
【００４９】
（１）非常停止が発生した後にロボット１０を再稼働して所定動作を再び実行する場合に、その実行中の制御ログとエラーログとの一致度を比較し、その一致度に基づいてロボット１０の制御内容を変更するようにした。すなわち、一致度に応じて、再稼働前にエラーが発生したのと同じ時点において再稼働前とは異なる動作状態となるようロボット１０を制御している。これにより、偶発的なエラー発生によりロボット１０が非常停止した場合に、原因究明を省略してロボット１０を再稼働させても再びエラーが発生することが抑制される。その結果、製造等のラインを原因究明のために長期間中断させてしまうおそれを低減できる。
【００５０】
（２）ロボット１０に偶発的なエラーを発生させる原因としては、エラーが発生した時点でロボット１０が行っていた動作の種類（例えば、加速、等速、減速等）について、その数値に問題があった可能性が高いと考えられる。この点、本実施形態のロボットシステムＳでは、再稼働前にエラーが発生したのと同じ時点における動作の種類を把握し（ステップＳ１４２）、それと同じ種類の動作について一致度に応じて指令内容を変更している。これにより、再稼働時において、再稼働前にエラーが発生したのと同じ時点で再びエラーが発生することの回避可能性を高めることができる。
【００５１】
（３）再稼働時の制御ログとエラーログとの一致度に応じて、エラー発生時点と同じ時点で動作状態が異なるように制御指令の内容を変更するとしても、速度パターンの面積は変更せずに維持するようにした。これにより、制御指令の内容が変更されてもロボット１０による所定動作の到達位置が変化することを抑制できる。
【００５２】
（４）ロボット１０が所定動作を繰り返し実行する間、モータ２１の電流値又は負荷率、温度及び回転位置を制御ログとして記憶部３１の一時記憶領域３１ａに一時記憶している。エラー発生時には、エラー発生時点よりも所定期間前からエラー発生時点までの制御ログをエラーログとし、エラーログ記憶領域３１ｂに記憶し、再稼働時の制御ログとエラーログとを比較するようにしている。ロボット１０の動作においては、モータ２１の電流値、負荷率、温度には予め上限値が設定されており、ロボット１０がエラー状態にあるか否かを判定する要素となっている。これらの要素においてエラーログとの一致度が高い場合、再びエラーが発生する蓋然性が高いと考えられるため、エラー発生の蓋然性を判断する指標として、電流値又は負荷率、温度を用いることが好適である。
【００５３】
なお、本実施形態のロボットシステムＳは、上記した実施形態の構成に限られるものではなく、例えば次のような構成を採用してもよい。
【００５４】
（ａ）上記実施の形態では、ロボット１０が実行する所定動作の速度パターンの面積を維持しつつ制御指令の内容を変更するようにした。速度パターンの面積維持は、ロボット１０の所定動作における到達位置を変更させないために行われるところ、到達位置が変化しても問題ない場合であれば、制御指令の内容変更により速度パターンの面積が変更されてもよい。
【００５５】
（ｂ）上記実施の形態では、電流値又は負荷率、温度及び回転位置を制御ログとし、当該制御ログについてエラー時のものと再稼働時のものとを比較して一致率を算出し、その一致率に応じて制御指令の内容を変更している。これに代えて、電流値又は負荷率、温度の少なくとも一つを比較してその一致率に応じて制御指令の内容を変更するようにしてもよい。
【００５６】
（ｃ）上記実施の形態では、ロボット１０にエラーが発生するごとに、記憶部３１のエラーログ記憶領域３１ｂに記憶されたエラーログが更新されるようにしたが、複数のエラーログが記憶されるようにしてもよい。同じ時点でエラーが複数発生するような場合は、それら複数のエラーログを記憶させておき、再稼働時の制御ログと複数のエラーログとを比較してその一致率を求め、一致率に応じて制御指令の内容を変更するようにすれば、エラーの再発生をより一層抑制できる。
【００５７】
（ｄ）上記実施の形態では、回転軸の回転動作が加速中の時点でエラーが発生した場合、再稼働時には同じ時点で加速度が変更された状態となるようにしたが（図６（ａ）参照）、加速度だけでなく等速運動中の速度も併せて変更するようにしてもよい。この場合でも、速度パターンの面積（台形面積）を変えないようにすることが好ましい。
【００５８】
（ｅ）上記実施の形態では、６軸ロボット１０を用いた場合を想定したが、ロボットが有する回転軸の数は任意であり、より少ない又はより多い回転軸を有するロボットであってもよい。
【符号の説明】
【００５９】
１０…ロボット、２１…モータ、３１…記憶部、３２…駆動部、３３…制御部、３５…電流検出部（情報取得部）、３６…温度検出部（情報取得部）、Ｊ１〜Ｊ６…第１軸〜第６軸（回転軸）、Ｓ…ロボットシステム。
【図１】
2020049552.tif 000003
【図２】
2020049552.tif 000004
【図３】
2020049552.tif 000005
【図４】
2020049552.tif 000006
【図５】
2020049552.tif 000007
【図６】
2020049552.tif 000008