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