(57)【要約】【課題】予め設定されたロボットの動作を容易かつ適切に修正可能なロボットシステムを提供する。【解決手段】ロボットシステムは、ロボット本体と、記憶部と、自動動作情報に基づいてロボット本体の動作を制御する動作制御部と、自動動作情報に基づく動作中にあるロボット本体の動作を修正するための修正操作に基づいて修正操作情報を生成する操作部と、操作部による修正操作の制限範囲を設定する制限範囲設定部と、を備え、動作制御部は、自動動作情報に基づく動作位置から制限範囲を超えて修正操作が行われた場合に、所定の制限処理を行うよう構成され、制限範囲設定部は、修正前の自動動作情報に基づく動作位置と修正動作情報に基づく動作位置との位置偏差を算出し、位置偏差が第１しきい値以下である場合、次回の前記操作部による修正操作時において、制限範囲を狭くするよう構成される。【選択図】図５
2020019079.tif 000002
【特許請求の範囲】
【請求項１】
ロボット本体と、
前記ロボット本体に所定の動作をさせるための自動動作情報を記憶する記憶部と、
前記自動動作情報に基づいて前記ロボット本体の動作を制御する動作制御部と、
前記自動動作情報に基づく動作中にある前記ロボット本体の動作を修正するための修正操作に基づいて修正操作情報を生成する操作部と、
前記操作部による前記修正操作の制限範囲を設定する制限範囲設定部と、を備え、
前記動作制御部は、前記修正操作情報を取得し、前記修正操作情報に基づく修正動作を行うよう前記ロボット本体を制御し、
前記記憶部は、前記修正動作に基づく修正動作情報を次回の前記自動動作情報として記憶可能に構成され、
前記動作制御部は、前記自動動作情報に基づく動作位置から前記制限範囲を超えて前記修正操作が行われた場合に、所定の制限処理を行うよう構成され、
前記制限範囲設定部は、修正前の前記自動動作情報に基づく動作位置と前記修正動作情報に基づく動作位置との位置偏差を算出し、前記位置偏差が第１しきい値以下である場合、次回の前記操作部による前記修正操作時において、前記制限範囲を狭くするよう構成される、ロボットシステム。
【請求項２】
前記制限範囲設定部は、前記位置偏差が前記第１しきい値以上である第２しきい値より大きい場合、次回の前記操作部による前記修正操作時において、前記制限範囲を広くするよう構成される、請求項１に記載のロボットシステム。
【請求項３】
前記動作制御部は、前記所定の制限処理として前記制限範囲外への前記ロボット本体の移動を制限する、請求項１または２に記載のロボットシステム。
【請求項４】
前記操作部は、前記修正動作情報に基づく動作位置が有効か否かに関する成否情報を入力する修正成否入力部を備え、
前記制限範囲設定部は、前記位置偏差が前記第１しきい値以下であり、かつ、前記修正動作情報に基づく動作位置が有効であることを示す前記成否情報が入力された場合、前記制限範囲を狭くするよう構成される、請求項１から３の何れかに記載のロボットシステム。
【請求項５】
前記ロボット本体は、スレーブアームを備え、前記操作部は、前記スレーブアームの作業領域外に設置されたマスターアームを備えている、請求項１から４の何れかに記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムに関する。
【背景技術】
【０００２】
従来から、製造現場では溶接、塗装、部品の組付け、シール剤の塗布などの繰り返し作業が産業用ロボットにより自動で行われている。ロボットに作業を行わせるためには、作業に必要な情報をロボットに指示し、記憶させる教示が必要になる。ロボットの教示方式としては、例えば、教示者がロボットを直接触って動かすことによるダイレクト教示、ティーチングペンダントを用いた遠隔操縦による教示、プログラミングによる教示、マスタースレーブによる教示などがある。例えば特許文献１には、ダイレクト教示によりロボットアームに作業の軌道を記憶させる教示作業の一例が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−７１２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、種々の理由からロボットに教示した動作を部分的に変更する必要が生じる場合がある。例えば、ワークのロット変更等によるロボットの作業対象の位置などが教示時のものから部分的に変化した場合には、ロボットが目的の作業を遂行できなくなったり、作業の精度が悪化したりするなどの問題が生じ得る。また、教示作業を終えた後に、当初作成した教示情報では作業の一部において不具合があることが発見される場合もある。このような場合には、改めて教示作業を行うことにより、ロボットの自動運転に使用される教示情報を変更することになる。しかし、教示には熟練者の技術が必要になることが多く、多くの時間と労力を要するため教示者に負担となっており、これは、ロボット動作の一部を変更する場合であっても同様である。
【０００５】
そこで、本発明は、予め設定されたロボットの動作を容易かつ適切に修正可能なロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るロボットシステムは、ロボット本体と、前記ロボット本体に所定の動作をさせるための自動動作情報を記憶する記憶部と、前記自動動作情報に基づいて前記ロボット本体の動作を制御する動作制御部と、前記自動動作情報に基づく動作中にある前記ロボット本体の動作を修正するための修正操作に基づいて修正操作情報を生成する操作部と、前記操作部による前記修正操作の制限範囲を設定する制限範囲設定部と、を備え、前記動作制御部は、前記修正操作情報を取得し、前記修正操作情報に基づく修正動作を行うよう前記ロボット本体を制御し、前記記憶部は、前記修正動作に基づく修正動作情報を次回の前記自動動作情報として記憶可能に構成され、前記動作制御部は、前記自動動作情報に基づく動作位置から前記制限範囲を超えて前記修正操作が行われた場合に、所定の制限処理を行うよう構成され、前記制限範囲設定部は、修正前の前記自動動作情報に基づく動作位置と前記修正動作情報に基づく動作位置との位置偏差を算出し、前記位置偏差が第１しきい値以下である場合、次回の前記操作部による前記修正操作時において、前記制限範囲を狭くするよう構成される。
【０００７】
上記構成によれば、自動動作情報に基づくロボット本体の動作中に、操作部による修正操作に基づいてロボット本体の動作をリアルタイムに修正することができる。また、修正操作には、所定の制限範囲が設定されており、この制限範囲を超えて修正操作を行った場合には所定の制限処理が行われる。修正前の自動動作情報に基づく動作位置と修正動作に基づく修正動作情報との位置偏差が第１しきい値以下である場合、次回の修正後の自動動作情報に基づくロボット本体の動作中において、制限範囲が前回より狭くなる。この結果、自動動作情報からの修正量が少ない場合には次回の修正操作において所定の制限処理が開始され易くなる。このように、修正量が少なくなるほど修正操作が制限なく許容される範囲が狭くなっていくことにより、ロボット本体の動作の修正作業を繰り返した場合に、ロボット本体の動作を、より理想的な動作に収束させ易くなる。したがって、予め設定されたロボットの動作を容易かつ適切に修正することができる。
【０００８】
前記制限範囲設定部は、前記位置偏差が前記第１しきい値以上である第２しきい値より大きい場合、次回の前記操作部による前記修正操作時において、前記制限範囲を広くするよう構成されてもよい。
【０００９】
この場合、自動動作情報からの修正量が多い場合には次回の修正操作において所定の制限処理が開始され難くなる。このように、修正量が多くなるほど修正操作が制限なく許容される範囲が広くなっていくことにより、修正に必要な操作量を確保することができる。
【００１０】
前記動作制御部は、前記所定の制限処理として前記制限範囲外への前記ロボット本体の移動を制限してもよい。
【００１１】
前記操作部は、前記修正動作情報に基づく動作位置が有効か否かに関する成否情報を入力する修正成否入力部を備え、前記制限範囲設定部は、前記位置偏差が前記第１しきい値以下であり、かつ、前記修正動作情報に基づく動作位置が有効であることを示す前記成否情報が入力された場合、前記制限範囲を狭くするよう構成されてもよい。
【００１２】
上記構成によれば、位置偏差が第１しきい値以下であり、かつ、修正動作情報に基づく動作位置が有効である場合に、制限範囲が前回より狭くなる。したがって、誤った修正操作によって次回の制限範囲が狭くなることを防止することができる。
【００１３】
前記ロボット本体は、スレーブアームを備え、前記操作部は、前記スレーブアームの作業領域外に設置されたマスターアームを備えていてもよい。
【発明の効果】
【００１４】
本発明は、予め設定されたロボットの動作を容易かつ適切に修正可能なロボットシステムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、一実施の形態の形態に係るロボットシステムの構成を示す模式図である。
【図２】図２は、図１に示すロボットシステムの制御系統の構成を示す模式図である。
【図３】図３は、図２に示す動作制御部の制御系のブロック図の一例を示す図である。
【図４Ａ】図４Ａは、本実施の形態におけるロボットシステムのハンド部の動作例を示す図である。
【図４Ｂ】図４Ｂは、図４Ａに示すハンド部の自動動作情報に基づく動作軌道を示す図である。
【図４Ｃ】図４Ｃは、図４Ｂにおける修正動作情報に基づく動作軌道を示す図である。
【図５】図５は、本実施の形態における制限範囲設定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。なお、以下では全ての図面を通じて同一または相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【００１７】
図１は、一実施の形態の形態に係るロボットシステムの構成を示す模式図である。本実施の形態におけるロボットシステム１００は、マスタースレーブ方式のロボットを利用したシステムである。図１に示すように、本実施の形態におけるロボットシステム１００は、ロボット１０と、マスターアーム７０を含む入力装置２と、記憶装置４と、を備えている。
【００１８】
ロボットシステム１００では、スレーブアーム１の作業領域から離れた位置（作業領域外）にいるオペレータがマスターアーム７０を動かして指令を入力することで、スレーブアーム１が該指令に対応した動作を行い、特定の作業を行うことができる。また、ロボットシステム１００では、スレーブアーム１は、オペレータによるマスターアーム７０の操作なしに、所定の作業を自動的に行うこともできる。
【００１９】
本明細書では、マスターアーム７０を介して入力された指令に従って、スレーブアーム１を動作させる動作モードを「手動モード」と称する。この手動モードでは、記憶装置４に記憶されている自動動作情報を用いることなく、操作者が操作する入力装置２からの操作情報（動作指令）を受けて、その操作情報に基づいて制御装置３がスレーブアーム１を動作制御する。なお、上述の「手動モード」には、オペレータがマスターアーム７０を操作することによって入力された指令に基づいて動作中のスレーブアーム１の動作の一部が自動で動作補正される場合も含む。
【００２０】
また、予め設定されたタスクプログラムに従ってスレーブアーム１を動作させる動作モードを「自動モード」と称する。この自動モードでは、記憶装置４に記憶されている自動動作情報に基づいて制御装置３がスレーブアーム１を動作制御する。
【００２１】
さらに、本実施の形態におけるロボットシステム１００では、スレーブアーム１の自動動作中に、マスターアーム７０の操作をスレーブアーム１の動作に反映させて、自動で行うことになっていた動作を修正することができるように構成されている。本明細書では、マスターアーム７０による修正操作に基づく修正操作情報を自動動作情報に基づくスレーブアーム１の動作に反映可能な状態で、予め設定されたタスクプログラムに従ってスレーブアーム１を動作させる動作モードを「修正自動モード」と称する。なお、上述の「自動モード」は、スレーブアーム１を動作させる動作モードが自動モードであるときはマスターアーム７０の操作がスレーブアーム１の動作に反映されないという点で、「修正自動モード」と区別される。
【００２２】
（ロボット１０）
ロボット１０は、スレーブアーム１と、スレーブアーム１の先端に装着されるエンドエフェクタ（図示略）と、スレーブアーム１およびエンドエフェクタの動作を制御する制御装置３とを備えている。スレーブアーム１は、基台１５と、基台１５に支持された腕部１３と、腕部１３の先端に支持され、エンドエフェクタが装着される手首部１４とを備えている。本実施の形態において、スレーブアーム１と、エンドエフェクタとでロボット本体を構成している。
【００２３】
スレーブアーム１は、図１に示すように３以上の複数の関節ＪＴ１〜ＪＴ６を有する多関節ロボットアームであって、複数のリンク１１ａ〜１１ｆが順次連結されて構成されている。より詳しくは、第１関節ＪＴ１では、基台１５と、第１リンク１１ａの基端部とが、鉛直方向に延びる軸回りに回転可能に連結されている。第２関節ＪＴ２では、第１リンク１１ａの先端部と、第２リンク１１ｂの基端部とが、水平方向に延びる軸回りに回転可能に連結されている。第３関節ＪＴ３では、第２リンク１１ｂの先端部と、第３リンク１１ｃの基端部とが、水平方向に延びる軸回りに回転可能に連結されている。第４関節ＪＴ４では、第３リンク１１ｃの先端部と、第４リンク１１ｄの基端部とが、第４リンク１１ｃの長手方向に延びる軸回りに回転可能に連結されている。第５関節ＪＴ５では、第４リンク１１ｄの先端部と、第５リンク１１ｅの基端部とが、リンク１１ｄの長手方向と直交する軸回りに回転可能に連結されている。第６関節ＪＴ６では、第５リンク１１ｅの先端部と第６リンク１１ｆの基端部とが、捻れ回転可能に連結されている。そして、第６リンク１１ｆの先端部にはメカニカルインターフェースが設けられている。このメカニカルインターフェースには、作業内容に対応したエンドエフェクタが着脱可能に装着される。
【００２４】
上記の第１関節ＪＴ１、第１リンク１１ａ、第２関節ＪＴ２、第２リンク１１ｂ、第３関節ＪＴ３、及び第３リンク１１ｃから成るリンクと関節との連結体によって、スレーブアーム１の腕部１３が形成されている。また、上記の第４関節ＪＴ４、第４リンク１１ｄ、第５関節ＪＴ５、第５リンク１１ｅ、第６関節ＪＴ６、及び第４リンク１１ｆから成るリンクと関節との連結体によって、スレーブアーム１の手首部１４が形成されている。
【００２５】
関節ＪＴ１〜ＪＴ６のそれぞれには、それが連結する２つの部材を相対的に回転させるアクチュエータの一例としての駆動モータＭ（図３参照）が設けられている。駆動モータＭは、例えば、制御装置３によってサーボ制御されるサーボモータである。また、関節ＪＴ１〜ＪＴ６には、駆動モータＭの回転位置を検出するための回転センサＥ（図３参照）と、駆動モータＭの回転を制御する電流を検出するための電流センサＣ（図３参照）とが設けられている。回転センサＥは、例えばエンコーダである。
【００２６】
制御装置３は、例えば、マイクロコントローラ、ＭＰＵ、ＰＬＣ（Programmable Logic Controller）、論理回路等からなる演算部（図示せず）と、ＲＯＭやＲＡＭ等からなるメモリ部（図示せず）とにより構成することができる。
【００２７】
図２は、図１に示すロボットシステム１００の制御系統の構成を示す模式図である。制御装置３は、図２に示すように、機能ブロックとして、動作制御部３１と、制限範囲設定部３２とを備えている。これらの機能ブロックは、例えば、制御装置３の演算部がメモリ部に格納されているプログラムを読み出し実行することにより実現できる。動作制御部３１は、スレーブアーム１の動作を制御する。動作制御部３１によるスレーブアーム１の動作の制御についての詳細は後述する。
【００２８】
（入力装置２）
入力装置２は、スレーブアーム１の作業領域外に設置され、オペレータからの操作指示を受け付け、受け付けた操作指示を制御装置３に送信する操作部を構成する装置である。入力装置２は、所定の設定入力等を行う入力部７と、マスターアーム７０とを備えている。入力部７は、例えば、スイッチ、調整ツマミ、操作レバー、操作パネルまたは携帯端末（タブレット等）の表示画面に表示される仮想の入力ボタン等により構成され得る。
【００２９】
図２に示すように、入力部７は、モード選択部７１と、動作情報選択部７２と、修正成否入力部７３と、を備えている。モード選択部７１は、スレーブアーム１を動作させる動作モードを、上述した自動モード、修正自動モードおよび手動モードからオペレータが選択するためのものである。動作情報選択部７２は、スレーブアーム１に動作させるための複数の動作情報の中から、自動モードまたは修正自動モードでスレーブアーム１を動作させるときに動作制御部３１が用いる動作情報を選択するためのものである。
【００３０】
修正成否入力部７３は、修正自動モードにおいて、修正動作情報に基づく動作位置が有効か否かに関する成否情報を入力するためのものである。すなわち、修正成否入力部７３は、マスターアーム７０による修正操作の結果、スレーブアーム１の動作がオペレータの所望する動作に近づいたか否かを入力するためのものである。
【００３１】
マスターアーム７０は、スレーブアーム１と相似構造をしているためマスターアーム７０の構成に関する説明は省略する。ただし、マスターアーム７０は、スレーブアーム１と非相似構造をしていてもよい。マスターアーム７０を動かすことにより操作情報が生成され、生成された操作情報は制御装置３に送られる。本実施の形態のロボットシステム１００では、スレーブアーム１を動作させる動作モードが手動モードであるときに操作情報が制御装置３に送られると、スレーブアーム１が制御装置３によりマスターアーム７０の動きに追随して動くよう制御される。スレーブアーム１を動作させる動作モードが修正自動モードであるときに操作情報（修正操作情報）が制御装置３に送られると、当該修正操作情報に基づいて自動動作情報が修正され、修正後の修正動作情報に基づいてスレーブアーム１の動作が制御される。
【００３２】
（カメラ５１およびモニタ５２）
さらに、ロボットシステム１００は、カメラ５１と、モニタ５２と、を備えている。カメラ５１は、スレーブアーム１の作業状況を撮影するカメラであり、モニタ５２は、オペレータがスレーブアーム１による作業状況を確認するためモニタである。カメラ５１は、スレーブアーム１が設けられている空間に設置されており、モニタ５２は、マスターアーム７０が設けられている空間に設置されている。オペレータは、モニタ５２に表示されたスレーブアーム１の作業状況を見ながらマスターアーム７０を操作する。カメラ５１およびモニタ５２は、制御装置３を介して接続されており、カメラ５１により撮像された撮像情報は、制御装置３を介してモニタ５２に送られる。ただし、カメラ５１およびモニタ５２は、制御装置３を介さずに、互いに直接または別の装置を介して接続されてもよい。カメラ５１およびモニタ５２は、互いに有線により接続されてもよいし、無線により接続されてもよい。
【００３３】
（記憶装置４）
記憶装置４は、読み書き可能な記録媒体であり、スレーブアーム１に自動で所定の動作をさせるための情報が自動動作情報４１として記憶されている。自動動作情報４１は、スレーブアーム１に自動で所定の動作をさせるのに必要な全ての情報である必要はなく、一部の情報であってもよい。また、自動動作情報４１は、スレーブアーム１の動作に関する情報であれば、いかなる情報であってもよい。例えば、自動動作情報４１は、時系列データを含む軌道情報であってもよいし、所定の時間間隔ごと離散的な位置におけるスレーブアーム１の姿勢を表した経路情報であってもよい。自動動作情報４１は、例えば、スレーブアーム１の軌道に沿った速度を含んでもよい。
【００３４】
記憶装置４には、少なくとも１つの自動動作情報４１が記憶されており、そのうちの１つは、例えば、教示作業により所定の作業を行うようスレーブアーム１を動作させて記憶された教示情報４１ａである。本実施の形態では、教示情報４１ａとしての自動動作情報４１は、マスターアーム７０を操作することによりスレーブアーム１の動作を指示し記憶させた情報であるが、これに限定されず、いかなる教示方式で記憶されたものであってもよい。例えば教示情報４１ａとしての自動動作情報４１は、ダイレクト教示により記憶された情報であってもよい。なお、本実施の形態に係るロボットシステム１００では、記憶装置４は、制御装置３と別体に設けられているが、制御装置３と一体として設けられていてもよい。
【００３５】
（スレーブアーム１の動作制御）
以下では、動作制御部３１によるスレーブアーム１の動作の制御について図２を参照して説明する。
【００３６】
動作制御部３１には、記憶装置４に記憶された少なくとも１つの自動動作情報４１のうちの１つが、スレーブアーム１に自動で動作させるための自動動作情報として送られる。また、動作制御部３１には、マスターアーム７０を操作することにより生成された操作情報が送られる。
【００３７】
動作制御部３１は、モード選択部７１で選択されている動作モードに従い、自動動作情報および操作情報の一方または両方を用いる。
【００３８】
モード選択部７１で選択されている動作モードが手動モードであるとき、動作制御部３１は操作情報を用いる。より詳しくは、動作制御部３１は、スレーブアーム１を動作させる動作モードが手動モードであるとき、記憶装置４に記憶された自動動作情報４１を用いずに、マスターアーム７０を操作することにより送られた操作情報（入力指令）に従って、スレーブアーム１の動作を制御する。
【００３９】
また、モード選択部７１で選択されている動作モードが自動モードであるとき、動作制御部３１は自動動作情報を用いる。より詳しくは、動作制御部３１は、スレーブアーム１を動作させる動作モードが自動モードであるとき、マスターアーム７０から送られた操作情報を用いずに、予め設定されたタスクプログラムに従って記憶装置４から送られた自動動作情報に基づいてスレーブアーム１の動作を制御する。
【００４０】
また、モード選択部７１で選択されている動作モードが修正自動モードであるとき、動作制御部３１は、自動動作情報および操作情報（修正操作情報）の両方を用いる。なお、動作モードが修正自動モードであるときに、修正操作情報が動作制御部３１に送られていない場合は、動作制御部３１は自動動作情報のみを用いる。より詳しくは、動作制御部３１は、スレーブアーム１を動作させる動作モードが修正自動モードであるとき、スレーブアーム１が自動動作情報を用いた自動動作中に修正操作情報を受けると、修正操作情報に基づいて自動動作情報を修正し、修正後の修正動作情報に基づいてスレーブアーム１の動作を制御する。これにより、スレーブアーム１は、自動動作情報に関する動作、すなわち自動で行うことになっていた動作から修正された動作を行う。
【００４１】
以下では、スレーブアーム１を動作させる動作モードが修正自動モードであるときのスレーブアーム１の動作修正について、図３を参照して説明する。図３は、図２に示す動作制御部３１の制御系のブロック図の一例を示す図である。この例では、自動動作情報および修正操作情報は、例えば時系列データを含む軌道情報である。
【００４２】
動作制御部３１は、加算器３１ａ、減算器３１ｂ，３１ｅ，３１ｇ、位置制御器３１ｃ、微分器３１ｄ、速度制御器３１ｆを備え、自動動作情報に基づく指令値および修正操作情報に基づく指令値により、スレーブアーム１の駆動モータＭの回転位置を制御する。
【００４３】
加算器３１ａは、自動動作情報に基づく位置指令値に、修正操作情報に基づく修正指令値を加算することによって、修正された位置指令値を生成する。加算器３１ａは、修正された位置指令値を減算器３１ｂに送る。
【００４４】
減算器３１ｂは、修正された位置指令値から、回転センサＥで検出された位置現在値を減算して、角度偏差を生成する。減算器３１ｂは、生成した角度偏差を位置制御器３１ｃに送る。
【００４５】
位置制御器３１ｃは、予め定められた伝達関数や比例係数に基づいた演算処理により、減算器３１ｂから送られた角度偏差から速度指令値を生成する。位置制御器３１ｃは、生成した速度指令値を減算器３１ｅに送る。
【００４６】
微分器３１ｄは、回転センサＥで検出された位置現在値情報を微分して、駆動モータＭの回転角度の単位時間あたりの変化量、すなわち速度現在値を生成する。微分器３１ｄは、生成した速度現在値を減算器３１ｅに送る。
【００４７】
減算器３１ｅは、位置制御器３１ｃから送られた速度指令値から、微分器３１ｄから送られた速度現在値を減算して、速度偏差を生成する。減算器３１ｅは、生成した速度偏差を速度制御器３１ｆに送る。
【００４８】
速度制御器３１ｆは、予め定められた伝達関数や比例係数に基づいた演算処理により、減算器３１ｅから送られた速度偏差からトルク指令値（電流指令値）を生成する。速度制御器３１ｆは、生成したトルク指令値を減算器３１ｇに送る。
【００４９】
減算器３１ｇは、速度制御器３１ｆから送られたトルク指令値から、電流センサＣで検出された電流現在値を減算して、電流偏差を生成する。減算器３１ｇは、生成した電流偏差を駆動モータＭに送り、駆動モータＭを駆動する。
【００５０】
このように動作制御部３１は駆動モータＭを制御して、自動動作情報に関する動作から修正された動作を行うようスレーブアーム１を制御する。なお、スレーブアーム１１の動作モードが自動モードであるときは、減算器３１ｂに自動動作情報に基づく位置指令値が送られ、スレーブアーム１１の動作モードが手動モードであるときは、減算器３１ｂに操作情報に基づく位置指令値が送られる。
【００５１】
記憶装置４は、修正された動作をスレーブアーム１が行ったときに、修正された動作をスレーブアーム１が行うための修正動作情報を、自動動作情報４１として自動的に記憶するように構成されている。ただし、記憶装置４は、修正された動作をスレーブアーム１が行ったときに、上記の修正動作情報を自動動作情報４１として記憶するか否かを選択できるように構成されてもよい。この場合、例えば、スレーブアーム１の修正された動作が終了した後に、制御装置３から入力装置２に修正された動作を記憶するか否かを問い合わせるよう構成されてもよい。
【００５２】
動作制御部３１は、次回以降の動作において、記憶装置４に自動動作情報４１として記憶された修正動作情報を、自動動作情報として用いることが可能である。本実施の形態では、動作制御部３１は、記憶装置４に記憶された最新の自動動作情報４１を自動動作情報として用いてスレーブアーム１の動作を制御するよう構成されている。なお、修正操作を完全に反映した修正動作情報を次回の自動動作情報とする代わりに、修正操作を一部または所定割合反映したものを次回の自動動作情報としてもよい。
【００５３】
以下、図４Ａから図４Ｃを参照して、ロボットシステム１００によるスレーブアーム１の動作修正の具体例について説明する。本例においては、孔６１ａが形成されたワーク６１をスレーブアーム１が把持して、ワーク６１の孔６１ａが所定位置に固定されたピン６２に嵌合するようにワーク６１を操作するという作業を例示する。
【００５４】
図４Ａは、本実施の形態におけるロボットシステムのハンド部の動作例を示す図である。図４Ａに示すように、ピン６２はある製品のフレーム６３に設けられたものであり、そのフレーム６３は工場の床に固定されている。ピン６２はフレーム６３から鉛直上方の方向に突出している。そして、ワーク６１は、フレーム６３に取り付けるべきブラケットであり、平板状である。スレーブアーム１の手首部１４には、エンドエフェクタとしてワーク６１を把持するハンド部１２が装着される。ワーク６１はスレーブアーム１のハンド部１２に保持される。
【００５５】
この作業において、例えば、予め手動モードにおいてオペレータがマスターアーム７０を操作してスレーブアーム１を動作させることにより、動作制御部３１が自動動作情報４１（教示情報４１ａ）を作成し、記憶装置４に記憶する。
【００５６】
図４Ｂは、図４Ａに示すハンド部１２の自動動作情報に基づく動作軌道を示す図であり、図４Ｃは、図４Ｂにおける修正動作情報に基づく動作軌道を示す図である。図４Ｂおよび図４Ｃにおいてはハンド部１２およびワーク６１については図示を省略している。動作修正モードにおいて、動作制御部３１は、操作部であるマスターアーム７０による修正操作がない限り、ハンド部１２が動作軌道Ｌ１に沿って移動するようにスレーブアーム１を制御する。なお、図６Ｂにおいて、動作軌道Ｌ１は、ハンド部１２に把持されたワーク６１の孔６１ａの位置を示している。
【００５７】
自動動作情報に基づくハンド部１２の移動中に修正操作が行われると、動作制御部３１は、マスターアーム７０による修正操作に基づく修正操作情報を取得し、スレーブアーム１が修正操作情報に基づく修正動作を行うように制御する。記憶装置４は、修正動作に基づく修正動作情報を次回の自動動作情報４１として記憶する。図４Ｂにおいて、修正動作情報に基づく動作軌道Ｌ２が破線で示されている。
【００５８】
修正自動モードにおいて、動作制御部３１は、スレーブアーム１の自動動作情報に基づく動作位置から所定の制限範囲Ａ１を超えて修正操作が行われた場合に、所定の制限処理を行うよう構成されている。例えば、動作制御部３１は、所定の制限処理として制限範囲Ａ１外へのスレーブアーム１の移動を制限する。移動の制限には、マスターアーム７０の制限範囲Ａ１外の操作分のスレーブアーム１の移動を禁止する、または、マスターアーム７０の制限範囲Ａ１外の操作量に対するスレーブアーム１の動作量を小さくする（スレーブアーム１の移動速度を遅くする）等が含まれ得る。なお、所定の制限処理は、スレーブアームの移動を制限する態様に限られず、例えば、マスターアーム７０の制限範囲Ａ１に対応する操作量以上の操作を禁止する、マスターアーム７０の動きを遅く（重く）する、オペレータに対してアラームを報知する等、種々の制限処理を採用し得る。
【００５９】
このような所定の制限処理を行うために、制限範囲設定部３２は、マスターアーム７０による修正操作の制限範囲を設定する。図４Ｂの例において、一の動作位置Ｐ１における制限範囲Ａ１は、スレーブアーム１の移動方向に直交する仮想平面上において動作位置Ｐ１を中心とし、半径Ｒ１の円（または球）として定められる。
【００６０】
（制限範囲設定処理）
修正自動モードにおいて、修正操作が行われた場合、制限範囲設定部３２は、制限範囲の変更に関する制限範囲設定処理を実行する。図５は、本実施の形態における制限範囲設定処理の流れを示すフローチャートである。
【００６１】
制限範囲設定部３２は、所定期間の動作終了後、当該所定期間の一連の動作において修正操作があったか否かを判定する（ステップＳ１）。所定期間は、例えば、図４Ａの例において、ハンド部１２がワーク６１を把持してからワーク６１をワーク６１の孔６１ａが所定位置に固定されたピン６２に嵌合するように移動させるまでの１工程の動作を行う期間等、自由に設定可能である。
【００６２】
修正操作があったと判定された場合（ステップＳ１でＹｅｓ）、制限範囲設定部３２は、修正前の自動動作情報に基づく動作位置Ｐ１と修正動作情報に基づく動作位置Ｐ２との位置偏差ΔＰを算出する（ステップＳ２）。算出された位置偏差ΔＰは、制御装置３のメモリに一時記憶される。
【００６３】
また、入力装置２は、オペレータに、当該修正操作に基づくスレーブアーム１の修正動作が有効か否かについての修正成否入力部７３への入力を促す。例えば、修正成否入力部７３が入力装置２の表示画面に仮想の入力ボタンを表示することによって構成される場合、当該表示画面に当該仮想の入力ボタン（成功ボタンおよび失敗ボタン）を表示する。
【００６４】
オペレータは、修正成否入力部７３によりスレーブアーム１の修正動作が有効か否かを入力する。例えば、スレーブアーム１の修正動作がオペレータの所望する動作に近づいたと認められる場合、オペレータによって有効の入力が行われる。例えば、上記のように入力装置２のモニタに２つの仮想の入力ボタンが表示される場合、そのうちの成功ボタンを押下操作する。オペレータによる有効の入力が行われた場合、スレーブアーム１の修正動作（修正動作情報に基づく動作位置）が有効であることを示す成否情報が制御装置３の制限範囲設定部３２に送信される。
【００６５】
制限範囲設定部３２は、入力装置２から受信した成否情報が有効であることを示す情報であるか否かを判定する（ステップＳ３）。有効な成否情報である場合（ステップＳ３でＹｅｓ）、制限範囲設定部３２は、修正自動モードにおける修正操作の操作量に応じて次回のスレーブアーム１の動作に対する制限範囲を変更する。より具体的には、制限範囲設定部３２は、位置偏差ΔＰが第１しきい値Ｔ１以下であるか否かを判定する（ステップＳ４）。位置偏差ΔＰが第１しきい値Ｔ１以下である場合（ステップＳ４でＹｅｓ）、制限範囲設定部３２は、次回のマスターアーム７０による修正操作時において、制限範囲を第１制限範囲Ａ１から第２制限範囲Ａ２（＜Ａ１）に狭くする（ステップＳ５）。
【００６６】
すなわち、本実施の形態において、制限範囲設定部３２は、位置偏差ΔＰが第１しきい値Ｔ１以下であり、かつ、修正動作情報に基づく動作位置が有効であることを示す成否情報が入力された場合、制限範囲を狭くする。
【００６７】
例えば、図４Ｂの例において、自動動作情報に基づく動作位置Ｐ１に対して修正操作を行った後の修正動作情報に基づく動作位置Ｐ２は、動作位置Ｐ１から第１しきい値Ｔ１以下の操作量に基づく位置である。したがって、図４Ｃに示すように、次回において、当該修正動作情報を自動動作情報としてスレーブアーム１が動作する際、その動作軌道Ｌ２上の一の動作位置Ｐ３における制限範囲は、第１制限範囲Ａ１より狭い第２制限範囲Ａ２となる。例えば、第１制限範囲Ａ１の半径Ｒ１＝１０ｍｍである場合に、第２制限範囲Ａ２の半径Ｒ２が３ｍｍに設定される。
【００６８】
本実施の形態において、制限範囲設定部３２は、所定の時間間隔ごとの動作位置Ｐ１とそれに対応する修正動作情報に基づく動作位置Ｐ２との位置偏差ΔＰを求め、位置偏差ΔＰの最大値を第１しきい値Ｔ１と比較する。これに代えて、所定の時間間隔ごとの動作位置Ｐ１から近似処理等を用いて求められる動作軌道Ｌ１と、各動作位置Ｐ１に対応する修正動作情報に基づく動作位置Ｐ２から求められる動作軌道Ｌ２とから位置偏差ΔＰの最大値を第１しきい値Ｔ１と比較してもよい。また、動作軌道Ｌ１およびＬ２のうちの一部の範囲において位置偏差ΔＰを求めてもよい。また、制限範囲設定部３２は、複数の動作位置における位置偏差ΔＰの平均値を第１しきい値Ｔ１と比較してもよい。
【００６９】
上記構成によれば、自動動作情報に基づくスレーブアーム１の動作中に、マスターアーム７０による修正操作に基づいてスレーブアーム１の動作をリアルタイムに修正することができる。また、修正操作には、所定の制限範囲Ａ１が設定されており、この制限範囲Ａ１を超えて修正操作を行った場合には所定の制限処理が行われる。修正前の自動動作情報に基づく動作位置Ｐ１と修正動作に基づく動作位置Ｐ２との位置偏差ΔＰが第１しきい値Ｔ１以下である場合、次回の修正後の自動動作情報に基づくスレーブアーム１の動作中において、制限範囲が前回の第１制限範囲Ａ１より狭い第２制限範囲Ａ２となる。この結果、自動動作情報からの修正量が少ない場合には次回の修正操作において所定の制限処理が開始され易くなる。このように、修正量が少なくなるほど修正操作が制限なく許容される範囲が狭くなっていくことにより、スレーブアーム１の動作の修正作業を繰り返した場合に、スレーブアーム１の動作を、より理想的な動作に収束させ易くなる。したがって、予め設定されたスレーブアーム１の動作を容易かつ適切に修正することができる。
【００７０】
上記実施の形態において、有効な成否情報でない場合、すなわち、上記例において、オペレータによって失敗ボタンが押下操作された場合（ステップＳ３でＮｏ）または位置偏差ΔＰが第１しきい値Ｔ１より大きい場合（ステップＳ４でＮｏ）、制限範囲設定部３２は、位置偏差ΔＰが第２しきい値Ｔ２より大きいか否かを判定する（ステップＳ６）。位置偏差ΔＰが第２しきい値Ｔ２より大きい場合（ステップＳ６でＹｅｓ）、制限範囲設定部３２は、次回のマスターアーム７０による修正操作時において、制限範囲を第１制限範囲Ａ１から第３制限範囲Ａ３（＞Ａ１）に広くする（ステップＳ７）。
【００７１】
すなわち、位置偏差ΔＰが第２しきい値Ｔ２より大きい場合に、制限範囲が前回より広くなる。これにより、自動動作情報からの修正量が多い場合には次回の修正操作において所定の制限処理が開始され難くなる。このように、修正量が多くなるほど修正操作が制限なく許容される範囲が広くなっていくことにより、修正に必要な操作量を確保することができる。特に、ワークのロット変更などで動作位置を比較的大きく変更する必要がある場合に有効である。
【００７２】
なお、本実施の形態においては、修正動作情報に基づく動作位置が有効ではないことを示す成否情報が入力された場合でも、位置偏差ΔＰを算出しているが、有効な成否情報でない場合（ステップＳ３でＮｏ）、位置偏差ΔＰを算出することなく制限範囲を維持または広げてもよい。また、位置偏差ΔＰが第１しきい値Ｔ１より大きい場合（ステップＳ４でＮｏ）、位置偏差ΔＰを算出することなく制限範囲を維持または広げてもよい。
【００７３】
また、修正成否入力部７３はなくてもよい。すなわち、オペレータの成否判断によらず制限範囲が変化してもよい。例えば、単に位置偏差ΔＰに基づいて制限範囲を変更してもよい。すなわち、制限範囲設定部３２は、第１しきい値Ｔ１以下であれば制限範囲を狭くし、第２しきい値Ｔ２より大きければ制限範囲を広くしてもよい。また、何らかの指標に基づいて制限範囲設定部３２が修正動作情報に基づく動作位置が有効であるか否かを判定してもよい。例えば、制限範囲設定部３２は、修正動作情報に基づいて定められるスレーブアーム１（ハンド部１２）の動作軌道上の所定の動作位置における曲率半径を演算し、当該曲率半径が所定のしきい値（第３しきい値）以上であれば有効であると判定してもよい。すなわち、制限範囲設定部３２は、動作軌道において急峻に曲がっている箇所がなければ有効な修正動作情報であると判定してもよい。
【００７４】
また、第１しきい値Ｔ１および第２しきい値Ｔ２は、Ｔ１≦Ｔ２である限り特に制限されない。例えば、第１しきい値Ｔ１と第２しきい値Ｔ２とは同じ値であってもよい。なお、第１しきい値Ｔ１と第２しきい値Ｔ２とが異なる値である場合、制限範囲設定部３２は、位置偏差ΔＰが第１しきい値Ｔ１より大きく第２しきい値Ｔ２以下である場合、制限範囲を維持する（変更しない）ようにしてもよい。
【００７５】
また、第１しきい値Ｔ１および／または第２しきい値Ｔ２は、制限範囲Ａ１の境界値より小さくても、大きくても、同じ値でもよい。また、制限範囲が変化した場合に、制限範囲の大きさに応じて第１しきい値Ｔ１および／または第２しきい値Ｔ２が変化してもよい。例えば、第１しきい値Ｔ１および第２しきい値Ｔ２が制限範囲Ａ１，Ａ２を定める半径Ｒ１に対する所定の比率（例えば半分）の値に設定されてもよい。これに代えて、第１しきい値Ｔ１および／または第２しきい値Ｔ２は、制限範囲の変化によらず、一定の値に設定されてもよい。
【００７６】
また、制限範囲を狭くするためのしきい値（第１しきい値Ｔ１）を複数設け、位置偏差ΔＰの値に応じて段階的に制限範囲を狭くしてもよい。
【００７７】
また、上記実施の形態において、制限範囲は、動作位置Ｐ１を中心に設定されている例（動作位置Ｐ１から制限範囲の境界までの距離が半径Ｒ１で等しい例）について説明したが、制限範囲の設定態様はこれに限られない。例えば、動作位置Ｐ１から何れかの方向に制限範囲が偏っていてもよい。例えば、自動動作情報に基づく動作軌道Ｌ１が曲線を描く場合、その曲線の内側（曲率中心側）に対してその曲線の外側において制限範囲が広くなる（またはその逆になる）ように、制限範囲が設定されてもよい。
【００７８】
（その他の実施形態）
以上、本発明の一実施の形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
【００７９】
例えば、上記実施の形態においては、マスタースレーブ方式のロボットを利用したロボットシステム１００について説明したが、マスタ-スレーブ方式のロボットシステム以外のロボットシステムにも適用可能である。すなわち、修正動作モードにおける修正操作を行う操作部は、マスターアーム７０を備えていなくてもよい。
【００８０】
例えば、マスターアーム７０の代わりに、入力装置２として、オペレータの操作に基づいて、動作中にあるスレーブアーム１の自動動作情報に基づく動作軌道Ｌ１における動作位置を変更するための修正位置入力部を備えていてもよい。修正位置入力部は、操作可能に構成されており、例えば方向スイッチ、操作レバーまたはタブレットなどの携帯端末が例示できる。このような修正位置入力部を用いてオペレータが所定方向への操作入力を行うと、スレーブアーム１の動作位置から所定方向へ操作入力期間または操作入力量に応じた操作量分の位置修正を行うための修正操作情報が生成される。このような態様でも、上記実施の形態と同様の効果が得られる。
【００８１】
また、上記実施の形態では、モード選択部７１や動作情報選択部７２などの各操作部は、１つの入力装置２に備えられているが、別々の入力装置に設けられてもよい。
【産業上の利用可能性】
【００８２】
本発明は、予め設定されたロボットの動作を容易かつ適切に修正可能なロボットシステムを提供するために有用である。
【符号の説明】
【００８３】
１  スレーブアーム（ロボット本体）
４  記憶装置（記憶部）
３１  動作制御部
３２  制限範囲設定部
４１  自動動作情報
７０  マスターアーム（操作部）
７３  修正成否入力部
１００  ロボットシステム
【図１】
2020019079.tif 000003
【図２】
2020019079.tif 000004
【図３】
2020019079.tif 000005
【図４Ａ】
2020019079.tif 000006
【図４Ｂ】
2020019079.tif 000007
【図４Ｃ】
2020019079.tif 000008
【図５】
2020019079.tif 000009