(57)【要約】遠隔操作ロボットシステムは、マスタアームと、予め記憶されたタスクプログラムに基づいて動作する自動モード、マスタアームが受け付けたオペレータの操作に基づいて動作する手動モードの複数の制御モードを有するスレーブアームとを備える。マスタアームは、マスタアームの関節を駆動する１以上のモータと、マスタアームに加えられた外力に従って関節を動作させるトルク指令値を生成するとともにトルク指令値に対応する駆動電流をモータへ与えるモータ駆動部とを有する。モータ駆動部は、制御モードが手動モードのときに、モータの摩擦力に抗して関節が外力に従って動作するようにトルク指令値を生成する。
2017033353.tif 000002
【特許請求の範囲】
【請求項１】
オペレータの操作を受け付けるマスタアームと、
予め記憶されたタスクプログラムに基づいて動作する自動モードと、前記マスタアームが受け付けたオペレータの操作に基づいて動作する手動モードとの複数の制御モードを有するスレーブアームとを備え、
前記マスタアームは、前記マスタアームの関節を駆動する１以上のモータと、前記マスタアームに加えられた外力に従って前記関節を動作させるトルク指令値を生成するとともに前記トルク指令値に対応する駆動電流を前記モータへ与えるモータ駆動部とを有し、
前記モータ駆動部は、前記制御モードが前記手動モードのときに、前記モータの摩擦力に抗して前記関節が前記外力に従って動作するように前記トルク指令値を生成する、
遠隔操作ロボットシステム。
【請求項２】
前記モータ駆動部は、前記制御モードが前記手動モードのときに、前記モータの摩擦力に抗して前記関節が前記外力に従って動作するための摩擦補償トルク補正値を求め、前記摩擦補償トルク補正値で補正された前記トルク指令値を生成する、
請求項１に記載の遠隔操作ロボットシステム。
【請求項３】
前記マスタアームは、摩擦補償のオン／オフを切り替える切替手段を更に有し、
前記モータ駆動部は、前記制御モードが前記手動モードであり、且つ、前記切替手段がオンのときに、前記摩擦補償トルク補正値で補正された前記トルク指令値を生成する、
請求項２に記載の遠隔操作ロボットシステム。
【請求項４】
前記複数の制御モードに、前記マスタアームが受け付けたオペレータの操作によって逐次修正されながら前記タスクプログラムに基づいて動作する修正自動モードが更に含まれており、
前記モータ駆動部は、前記制御モードが前記修正自動モードのときに、前記モータの摩擦力に抗して前記関節が前記外力に従って動作するための摩擦補償トルク補正値を求め、前記摩擦補償トルク補正値で補正された前記トルク指令値を生成する、
請求項１に記載の遠隔操作ロボットシステム。
【請求項５】
前記マスタアームは、摩擦補償のオン／オフを切り替える切替手段を更に有し、
前記モータ駆動部は、前記制御モードが前記修正自動モードであり、且つ、前記切替手段がオンのときに、前記摩擦補償トルク補正値で補正された前記トルク指令値を生成する、
請求項４に記載の遠隔操作ロボットシステム。
【請求項６】
前記モータ駆動部は、前記マスタアームに作用する慣性力を補償する慣性力補償トルク補正値を生成し、前記慣性力補償トルク補正値で補正された前記トルク指令値を生成する、
請求項１〜５のいずれか一項に記載の遠隔操作ロボットシステム。
【請求項７】
前記モータ駆動部は、前記マスタアームに作用する重力を補償する重力補償トルク補正値を生成し、前記重力補償トルク補正値で補正された前記トルク指令値を生成する、
請求項１〜６のいずれか一項に記載の遠隔操作ロボットシステム。
【請求項８】
前記モータ駆動部は、予め記憶された前記モータの摩擦力モデルに基づいて前記摩擦補償トルク補正値を求める、
請求項２又は４に記載の遠隔操作ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタアーム及びスレーブアームを備えた遠隔操作ロボットシステムに関する。
【背景技術】
【０００２】
従来、マスタアームと、マスタアームの操作に応じて動作するスレーブアームとを備えた遠隔操作ロボットシステムが知られている。このような遠隔操作ロボットシステムにおいて、マスタアームのパワーアシスト機構を備えたものが知られている。特許文献１では、この種の技術が開示されている。【０００３】
特許文献１には、マスタアームの各関節に電動モータを設け、マスタアームの質量や慣性力が補償されるように、当該電動モータに力を発生させることが記載されている。ここで、オペレータのマスタアームへの操作入力が６軸力センサで検出され、これに基づいて入力操作力が算出され、この入力操作力を軽減するようにトルク指令値が生成され、このトルク指令値と対応する電流が電動モータに供給される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１９８０６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載の技術では、マスタアームの質量や慣性力は補償されるが、マスタアームの各関節を駆動するモータやその出力を関節へ伝達する伝動機構の摩擦力の補償は考慮されていない。
【課題を解決するための手段】
【０００６】
ところで、本願の発明者らは、マスタアームと、予め記憶されたタスクプログラムに基づいて動作する自動モード、マスタアームが受け付けたオペレータの操作に基づいて動作する手動モード、及び、マスタアームが受け付けたオペレータの操作によって逐次修正されながらタスクプログラムに基づいて動作する修正自動モードの複数の制御モードを有するスレーブアームとを用いた遠隔操作ロボットシステムの実現を検討している。このようなシステムにおいて、上記特許文献１の技術を適用して、マスタアームの質量や慣性力を補償することは有用である。更に、本願の発明者らは、マスタアームの各関節を駆動するモータの摩擦補償を行うことに想到した。【０００７】
そこで、本発明の一態様に係る遠隔操作ロボットシステムは、
オペレータの操作を受け付けるマスタアームと、
予め記憶されたタスクプログラムに基づいて動作する自動モードと、前記マスタアームが受け付けたオペレータの操作に基づいて動作する手動モードとの複数の制御モードを有するスレーブアームとを備え、
前記マスタアームは、前記マスタアームの関節を駆動する１以上のモータと、前記マスタアームに加えられた外力に従って前記関節を動作させるトルク指令値を生成するとともに前記トルク指令値に対応する駆動電流を前記モータへ与えるモータ駆動部とを有し、
前記モータ駆動部は、前記制御モードが前記手動モードのときに、前記モータの摩擦力に抗して前記関節が前記外力に従って動作するように前記トルク指令値を生成することを特徴としている。【０００８】
上記遠隔操作ロボットシステムにおいて、前記モータ駆動部は、前記制御モードが前記手動モードのときに、前記モータの摩擦力に抗して前記関節が前記外力に従って動作するための摩擦補償トルク補正値を求め、前記摩擦補償トルク補正値で補正された前記トルク指令値を生成してよい。【０００９】
上記遠隔操作ロボットシステムでは、スレーブアームの制御モードが手動モードのときに、モータの摩擦力に抗して関節が外力に従って動作するようにトルク指令値が生成されることによって、オペレータが感じる摩擦抵抗が軽減されるようにマスタアームが動作する。よって、マスタアームの操作に必要な操作力を軽減することができる。
【発明の効果】
【００１０】
本発明の遠隔操作ロボットシステムによれば、マスタアームの操作に必要な操作力を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る遠隔操作ロボットシステムの概略構成を示すブロック図である。
【図２】スレーブアームの制御系統の構成を示すブロック図である。
【図３】マスタアームのモータ駆動部の構成を示すブロック図である。
【図４】マスタ制御部の機能ブロック図である。
【図５】摩擦モデルの一例である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を参照しながら説明する。
【００１３】
〔遠隔操作ロボットシステム１００〕
図１は遠隔操作ロボットシステム１００の概略構成を示すブロック図である。図１に示すように、遠隔操作ロボットシステム１００は、マスタースレーブ方式のロボットシステムであって、スレーブアーム１と、マスタアーム２と、入力装置７と、出力装置４と、状況取得装置５と、システム１００を包括的に制御する制御ユニット６とを備えている。
【００１４】
本実施形態に係るスレーブアーム１は、自動モード、手動モード、及び、修正自動モードの３つの制御モードを有する。これら複数の制御モードのうち選択された一つで動作が制御されるように、スレーブアーム１の制御モードを切り替えることができる。
【００１５】
本明細書では、スレーブアーム１が、予め設定されたタスクプログラムに従って動作する制御モードを「自動モード」と称する。自動モードでは、従来のティーチングプレイバックロボットと同様に、オペレータによるマスタアーム２の操作なしに、スレーブアーム１が所定の作業を自動的に行う。
【００１６】
また、本明細書では、スレーブアーム１が、マスタアーム２が受け付けたオペレータの操作に基づいて動作する制御モードを「手動モード」と称する。マスタアーム２は、オペレータがマスタアーム２を直接的に動かすことによって入力した操作を受け付けることができる。なお、手動モードでは、マスタアーム２が受け付けたオペレータの操作や、この操作に基づいて動作しているスレーブアーム１の動きが、自動的に修正されてもよい。
【００１７】
また、本明細書では、スレーブアーム１が、マスタアーム２が受け付けたオペレータの操作によって逐次修正されながら予め設定されたタスクプログラムに従って動作する制御モードを「修正自動モード」と称する。修正自動モードでは、予め設定されたタスクプログラムに従って動作しているスレーブアーム１の動きが、マスタアーム２が受け付けたオペレータの操作に基づいて修正される。
【００１８】
以下、遠隔操作ロボットシステム１００の各構成要素について詳細に説明する。
【００１９】
〔スレーブアーム１〕
スレーブアーム１は、複数のリンク１１ａ〜１１ｆの連接体と、これを支持する基台１５とから構成された、複数の関節ＪＴ１〜ＪＴ６を有する多関節ロボットアームである。より詳しくは、第１関節ＪＴ１では、基台１５と、第１リンク１１ａの基端部とが、鉛直方向に延びる軸回りに回転可能に連結されている。第２関節ＪＴ２では、第１リンク１１ａの先端部と、第２リンク１１ｂの基端部とが、水平方向に延びる軸回りに回転可能に連結されている。第３関節ＪＴ３では、第２リンク１１ｂの先端部と、第３リンク１１ｃの基端部とが、水平方向に延びる軸回りに回転可能に連結されている。第４関節ＪＴ４では、第３リンク１１ｃの先端部と、第４リンク１１ｄの基端部とが、第４リンク１１ｄの長手方向に延びる軸回りに回転可能に連結されている。第５関節ＪＴ５では、第４リンク１１ｄの先端部と、第５リンク１１ｅの基端部とが、第４リンク１１ｄの長手方向と直交する軸回りに回転可能に連結されている。第６関節ＪＴ６では、第５リンク１１ｅの先端部と第６リンク１１ｆの基端部とが、捻れ回転可能に連結されている。そして、第６リンク１１ｆの先端部にはメカニカルインターフェースが設けられている。このメカニカルインターフェースには、作業内容に対応したエンドエフェクタ１２が着脱可能に装着される。
【００２０】
図２はスレーブアーム１の制御系統の構成を示すブロック図である。この図では、モータ制御部１６を中心とした具体的な電気的構成が示されている。図２に示すように、スレーブアーム１の各関節ＪＴ１〜ＪＴ６には、それが連結する２つの部材を相対的に回転させるアクチュエータの一例としての駆動モータＭ１〜Ｍ６が設けられている。駆動モータＭ１〜Ｍ６毎に制御系統が設けられ、それらは類似の構成を有しているので、代表として１つの制御系統についての説明を行う。
【００２１】
駆動モータＭ１〜Ｍ６は、例えば、モータ制御部１６によってサーボ制御されるサーボモータである。また、各駆動モータＭ１〜Ｍ６には、その回転位置を検出するための位置センサＥ１〜Ｅ６と、その回転を制御する電流を検出するための電流センサＣ１〜Ｃ６とが設けられている。位置センサＥ１〜Ｅ６は、例えば、エンコーダ、レゾルバ、パルスジェネレータなどの回転位置を検出できるものであればよい。なお、上記の駆動モータＭ１〜Ｍ６、位置センサＥ１〜Ｅ６、及び電流センサＣ１〜Ｃ６の記載では、各関節ＪＴ１〜ＪＴ６に対応してアルファベットに添え字の１〜６が付されている。以下では、関節ＪＴ１〜ＪＴ６のうち任意の関節を示す場合には添え字を省いて「ＪＴ」と称し、駆動モータＭ、位置センサＥ、及び電流センサＣについても同様とする。
【００２２】
駆動モータＭ、位置センサＥ、及び電流センサＣは、モータ制御部１６と電気的に接続されている。本実施形態に係るモータ制御部１６は、１台で複数の駆動モータＭをサーボ制御できるものであるが、各駆動モータＭに対応するモータ制御部が設けられていてもよい。
【００２３】
モータ制御部１６では、後述する制御ユニット６（より詳細には、スレーブ制御部６１）より取得した位置指令値やサーボゲイン等に基づいてトルク指令値（電流指令値）を生成し、トルク指令値に対応した駆動電流を駆動モータＭへ供給する。駆動モータＭの出力回転角は位置センサＥによって検出され、モータ制御部１６へフィードバックされる。但し、モータ制御部１６とスレーブ制御部６１との機能が、単一の回路または単一の演算装置として実現されてもよい。
【００２４】
制御ユニット６（より詳細には、スレーブ制御部６１）からモータ制御部１６へ位置指令値が入力されると、入力された位置指令値は減算器３１ｂのプラス側の入力に与えられる。この減算器３１ｂのマイナス側の入力には、位置センサＥで検出された回転角を表す信号（位置現在値）が与えられる。減算器３１ｂでは、位置指令値から回転角が減算される。減算器３１ｂの出力は係数器３１ｃに与えられ、ここで位置ゲインＫｐで増幅されてから、減算器３１ｅの＋入力に与えられる。この減算器３１ｅの−入力には、位置センサＥからの回転角が微分器３１ｄで微分されたものが与えられる。減算器３１ｅの出力は係数器３１ｆに与えられ、ここで速度ゲインＫｖで増幅されてから、減算器３１ｇの＋入力に与えられる。この減算器３１ｇの−入力には、電流センサＣからの電流値が与えられる。減算器３１ｇの減算出力がトルク指令値として増幅回路３１ｈへ入力され、増幅されたトルク指令値と対応する駆動電流が駆動モータＭへ供給される。
【００２５】
〔マスタアーム２〕
マスタアーム２は、オペレータの操作を受け付ける手段である。本実施形態に係る遠隔操作ロボットシステム１００では、スレーブアーム１の手先部がマスタアーム２の手先部の動きに追従して動くように、スレーブアーム１が動作する。つまり、マスタアーム２は、スレーブアーム１の位置や姿勢を直感的に操作できるように構成されている。詳細には、マスタアーム２の手先部の位置及び姿勢（又は、それらの変化）がオペレータの操作として受け付けられ、制御ユニット６では、スレーブアーム１の手先部がマスタアーム２の手先部の動きに追従して動くようにオペレータの操作と対応する位置指令値が生成される。
【００２６】
マスタアーム２は、スレーブアーム１と同じ数の複数の関節ＪＴm１〜ＪＴm６を有する多関節ロボットアームであって、基台２５及び複数のリンク２１ａ〜２１ｆが順次連結されて構成されている。マスタアーム２のリンク２１ａ〜２１ｆの連接構成は、スレーブアーム１のリンク１１ａ〜１１ｆと実質的に同一であり、詳細な説明は省略する。マスタアーム２の第６リンク２１ｆの先端部（即ち、マスタアーム２の手先部）には、６軸力センサ２８を介してグリッパ２９が装着される。マスタアーム２の駆動系統の構成については、後ほど詳述する。
【００２７】
〔入力装置７〕
入力装置７は、マスタアーム２と共に作業空間外に設置され、操作者からの操作指示を受け付け、受け付けた操作指示を制御ユニット６に入力する入力手段である。入力装置７では、スレーブアーム１の位置や姿勢に係る操作以外の操作が入力される。入力装置７には、スレーブアーム１の制御モードを選択するための操作入力具や、非常停止スイッチなど、スレーブアーム１の位置や姿勢を除く操作指令を入力する１以上の操作入力具が設けられている。１以上の操作入力具には、例えば、タッチパネル、キー、レバー、ボタン、スイッチ、ダイヤルなどの既知の操作入力具が含まれていてよい。また、入力装置７として、ペンダントやタブレットなどの携帯端末が用いられてもよい。
【００２８】
〔状況取得装置５〕
状況取得装置５は、スレーブアーム１の作業空間内における状況を示す状況情報を取得する手段である。状況情報は、作業空間内におけるスレーブアーム１の位置及び姿勢等、或いはスレーブアーム１を取り巻く周囲の状況を認識するために利用する情報を含む。より具体的には、状況情報は、例えば、作業空間内におけるスレーブアーム１の位置及び姿勢、スレーブアーム１とワークとの位置関係、又はスレーブアーム１と組付部品を組付ける被組付部品との位置関係等、作業空間内においてスレーブアーム１の状況及びスレーブアーム１の周囲の状況を認識可能とするために必要な情報が含まれる。
【００２９】
状況取得装置５は、例えば、センサ、カメラ装置、通信器、エンコーダ等によって実現できる。センサとしては、例えば、組付部品又は被組付部品までの距離又は位置を計測するためのレーザーセンサ、又はレーダーセンサなどが例示できる。更には、複数の撮像装置から得られた画像データを用いてスレーブアーム１からその周囲の物体までの距離を計測するセンサであるステレオカメラなども例示できる。通信器としては、例えば、組付部品又は被組付部品、或いは作業空間内の所定位置に設置されたセンサ及び撮像装置からの情報を取得する通信器等が挙げられる。エンコーダとしては、例えば、スレーブアーム１の移動量又は位置を検知できるエンコーダが例示できる。
【００３０】
状況取得装置５は状況情報を逐次取得しており、取得された状況情報は、後述する制御ユニット６に入力され、制御ユニット６においてスレーブアーム１の動作制御に利用される。更には、制御ユニット６は、状況情報を出力装置４において出力させるように制御する構成としてもよい。状況取得装置５は、スレーブアーム１に取り付けられていてもよいし、作業空間内の適切な位置に取り付けられていてもよい。また、取り付けられる状況取得装置５の数は１つであってもよいし複数であってもよい。適切に状況情報を取得できる位置に適切な個数の状況取得装置５が取り付けられていればよく、取り付け位置及び取り付け個数は任意である。
【００３１】
〔出力装置４〕
出力装置４は、制御ユニット６から送信された情報を出力するものである。出力装置４は、マスタアーム２を操作しているオペレータから視認しやすい位置に設置される。出力装置４には、少なくともディスプレイ装置が含まれており、更に、プリンタやスピーカや警報灯などが含まれていてもよい。ディスプレイ装置では、制御ユニット６から送信された情報が表示出力される。例えば、スピーカでは、制御ユニット６から送信された情報が音として出力される。また、例えば、プリンタでは、制御ユニット６から送信された情報が紙などの記録媒体に印字出力される。
【００３２】
〔記憶装置８〕
記憶装置８には、スレーブアーム１の制御に用いられる各種タスクプログラムが記憶されている。タスクプログラムは、作業ごとの動作フローとして作成されていてよい。タスクプログラムは、例えば、ティーチングにより作成され、スレーブアーム１の識別情報とタスクとに対応付けられて記憶装置８に格納される。なお、記憶装置８は制御ユニット６から独立して記載されているが、制御ユニット６が備える記憶装置が記憶装置８としての機能を担ってもよい。
【００３３】
また、記憶装置８には、予め作成された動作シーケンス情報が記憶されている。動作シーケンス情報とは、作業空間内でスレーブアーム１によって実施される一連の作業工程を規定した動作シーケンスに関する情報である。この動作シーケンス情報では、作業工程の動作順と、スレーブアーム１の制御モードとが対応付けられている。また、この動作シーケンス情報では、各作業工程に対しスレーブアーム１にその作業を自動的に実行させるためのタスクプログラムが対応づけられている。但し、動作シーケンス情報が、各作業工程に対しスレーブアーム１にその作業を自動的に作業を実行させるためのプログラムを含んでいてもよい。
【００３４】
〔制御ユニット６〕
図１に示すように、制御ユニット６には、スレーブアーム１と、マスタアーム２と、出力装置４と、状況取得装置５と、入力装置７と、記憶装置８とが有線又は無線で通信可能に接続されている。
【００３５】
制御ユニット６は、いわゆるコンピュータであって、ＣＰＵ等の演算処理部と、ＲＯＭ、ＲＡＭ等の記憶部を有している（いずれも図示せず）。記憶部には、制御ユニット６が実行する制御プログラムや、各種固定データ等が記憶されている。演算処理部は、例えば、入力装置７、出力装置４、記憶装置８などの外部装置とデータの送受信を行う。また、演算処理部は、各種センサからの検出信号の入力や各制御対象への制御信号の出力を行う。制御ユニット６では、記憶部に記憶されたプログラム等のソフトウェアを演算処理部が読み出して実行することにより、システム１００の各種動作を制御するための処理が行われる。なお、制御ユニット６は単一のコンピュータによる集中制御により各処理を実行してもよいし、複数のコンピュータの協働による分散制御により各処理を実行してもよい。また、制御ユニット６は、マイクロコントローラ、プログラマブルロジックコントローラ（ＰＬＣ）等から構成されていてもよい。
【００３６】
制御ユニット６は、機能ブロックとして、ホスト制御部６０と、スレーブ制御部６１と、マスタ制御部６２と、受信部６３と、出力制御部６４と、修正部６５とを備えている。図１では、これらの機能ブロックが１つの制御ユニット６にまとめて示されているが、各機能ブロック又は複数の機能ブロックの組み合わせが独立した１以上のコンピュータによって実現されていてもよい。この場合、これらの機能ブロックのうち一部が作業空間に配置され、残部が作業外空間に配置されていてもよい。
【００３７】
スレーブ制御部６１は、スレーブアーム１の動作を制御する。スレーブ制御部６１は、自動モードのときは、記憶装置８に記憶されたタスクプログラムを読み出してこのタスクプログラムに従って位置指令値を生成し、位置指令値やサーボゲイン等をスレーブアーム１のモータ制御部１６へ与える。また、スレーブ制御部６１は、手動モードのときは、マスタアーム２が受け付け、受信部６３で受信した操作情報に基づいて位置指令値を生成し、位置指令値やサーボゲイン等をスレーブアーム１のモータ制御部１６へ与える。また、スレーブ制御部６１は、修正自動モードのときは、記憶装置８に記憶されたタスクプログラムを読み出してこのタスクプログラムと修正部６５から取得した修正指令値とに基づいて位置指令値（又は修正された位置指令値）を生成し、位置指令値やサーボゲイン等をモータ制御部１６へ与える（図２、参照）。なお、修正自動モードのときに、修正部６５から修正指令値が与えられなければ、修正指令値はゼロとして演算されてよい。
【００３８】
マスタ制御部６２は、マスタアーム２の動作を制御する。マスタ制御部６２は、オペレータがマスタアーム２に与えた外力に従って当該マスタアーム２が移動又は姿勢を変化させるように、マスタアーム２を動作させる。つまり、マスタアーム２の動作によって、オペレータの操作力がアシストされる。また、マスタ制御部６２は、オペレータがマスタアーム２に外力を与えたときに、マスタアーム２の手先部が所定の軌道に沿って移動するように、マスタアーム２を動作させてもよい。
【００３９】
受信部６３は、制御ユニット６の外部から送信された入力信号を受信する。受信部６３によって受信する入力信号として、例えば、マスタアーム２から送信された信号、入力装置７から送信された信号、状況取得装置５から送信された状況情報を示す信号等が挙げられる。
【００４０】
出力制御部６４は、出力装置４を制御し、オペレータに通知される情報を出力装置４へ出力する。例えば、出力装置４は、動作シーケンスのうち選択部分を開始するときに、対象となるスレーブアーム１を識別する情報と、スレーブアーム１の制御モードの選択の入力を促す情報とをディスプレイ装置に出力する。また、例えば、出力装置４は、スレーブアーム１の制御モードが手動モード及び修正自動モードのときに、マスタアーム２に操作されるスレーブアーム１の状況情報や動作状況をディスプレイ装置に出力する。また、例えば、出力装置４は、システム１００に不具合が発生したときにスピーカやディスプレイ装置に警報を出力する。
【００４１】
修正部６５は、スレーブアーム１の制御モードが修正自動モードであるときに、マスタアーム２が受け付けた操作に基づいて、スレーブアーム１の動きを修正する。例えば、オペレータがマスタアーム２を動かすことによりマスタアーム２の位置及び姿勢が変化すると、マスタアーム２はこの位置及び姿勢の変位を修正指示として受け付け、制御ユニット６へ入力する。スレーブアーム１の制御モードが修正自動モードであるときに、受信部６３が修正指示信号を受信すると、修正部６５が修正指示信号に基づいて修正指令値を生成する。修正指示信号から修正指令値を求める演算式又はマップは予め記憶されている。このような修正指令値は、例えば、マスタアーム２の位置及び姿勢の変化量に比例した値であってよい。生成された修正指令値はスレーブ制御部６１へ伝達され、スレーブ制御部６１から修正された位置指令値がモータ制御部１６へ出力される（図２、参照）。
【００４２】
ホスト制御部６０は、記憶装置８に記憶された動作シーケンス情報を読み出し、この動作シーケンス情報に沿ってスレーブアーム１、マスタアーム２、出力装置４、及び状況取得装置５が動作するように、スレーブ制御部６１、マスタ制御部６２、出力制御部６４、修正部６５に指令を出力する。
【００４３】
〔遠隔操作ロボットシステム１００の動作〕
続いて、上記構成の遠隔操作ロボットシステム１００の動作の一例を説明する。ここでは、遠隔操作ロボットシステム１００を自動車組立ラインに構築し、スレーブアーム１に自動車のボディにシートを取り付ける作業を行わせる事例に当てはめて、システム１００の動作の流れを説明する。但し、本発明に係る遠隔操作ロボットシステム１００は、このような自動車組立ラインに限定されず、各種製造設備において広く適用させることができる。
【００４４】
記憶装置８に記憶された自動車のボディへのシート取付作業の動作シーケンス情報は、コンテナからシートを取り出す部品取出タスクＴ１、シートをボディの取付位置近傍まで搬送する部品搬送タスクＴ２、及び、取付位置近傍にあるシートを取付位置へ取り付ける部品取付タスクＴ３からなり、これらのタスクＴ１〜Ｔ３をこの順に繰り返し実行する。この動作シーケンスのうち、部品取出タスクＴ１及び部品搬送タスクＴ２は、スレーブアーム１が自動モードで動作する「自動部分」である。動作シーケンスのうち自動部分には、制御モードとして自動モードが対応付けられている。また、動作シーケンスのうち、部品取付タスクＴ３は、スレーブアーム１が自動モード、手動モード、及び、修正自動モードから選択された制御モードで動作する「選択部分」である。動作シーケンスのうち選択部分には特定の制御モードは対応付けられておらず、制御モードが選択可能となっている。
【００４５】
初めに、制御ユニット６は、記憶装置８に記憶された所定の動作シーケンス情報を読み出し、この動作シーケンス情報に沿ってシステム１００の制御を開始する。
【００４６】
前述の自動車のボディへのシート取付作業の動作シーケンスの例に従えば、先ず、制御ユニット６は、記憶装置８から部品取出タスクＴ１のタスクプログラムを読み出して実行する。次いで、制御ユニット６は、部品搬送タスクＴ２のタスクプログラムを読み出して実行する。部品取出タスクＴ１及び部品搬送タスクＴ２では、制御ユニット６は自動モードでスレーブアーム１の動作を制御する。
【００４７】
部品搬送タスクＴ２が終了すると、制御ユニット６は、次の部品取付タスクＴ３の制御モードの選択をオペレータに促すための選択画面をディスプレイ装置に表示させる。併せて、制御ユニット６は、制御モードが選択されようとしているスレーブアーム１の状況情報をディスプレイ装置に出力させる。ここで、ディスプレイ装置に表示出力される状況情報に、映されているスレーブアーム１の識別情報や、次に行うプロセスの内容などが含まれていてもよい。
【００４８】
オペレータは、ディスプレイ装置に表示されたスレーブアーム１の状況情報を視認して、３つの制御モードのうち１つを選択する。オペレータによる制御モードの選択は、マスタアーム２又は入力装置７によって受け付けられ、制御ユニット６へ入力される。
【００４９】
上記において、自動モードが選択されると、制御ユニット６は、記憶装置８から部品取付タスクＴ３のタスクプログラムを読み出して、自動モードでスレーブアーム１の動作を制御する。また、手動モードが選択されると、制御ユニット６は手動モードでスレーブアーム１の動作を制御する。或いは、修正自動モードが選択されると、制御ユニット６は修正自動モードでスレーブアーム１の動作を制御する。
【００５０】
上記において、手動モード及び修正自動モードのうちいずれかが選択されると、制御ユニット６は、そのプロセスに亘ってスレーブアーム１の状況情報をディスプレイ装置に表示出力させる。以上説明したように、制御ユニット６は動作シーケンスに沿って作業工程を順次進行させる。
【００５１】
〔マスタアーム２の駆動系統の構成〕
ここで、マスタアーム２の駆動系統の構成について詳細に説明する。図３はマスタアーム２のモータ駆動部２０の構成を示すブロック図である。
【００５２】
図３に示すように、マスタアーム２の各関節ＪＴm１〜ＪＴm６には、それが連結する２つの部材を相対的に回転させるアクチュエータの一例としての駆動モータＭm１〜Ｍm６が設けられている。駆動モータＭm１〜Ｍm６毎にモータ駆動部２０が設けられ、それらは類似の構成を有しているので、代表として１つのモータ駆動部２０についての説明を行う。
【００５３】
駆動モータＭm１〜Ｍm６は、例えば、モータ制御部２６によってサーボ制御されるサーボモータである。また、各駆動モータＭm１〜Ｍm６には、その回転位置を検出するための位置センサＥm１〜Ｅm６と、その回転を制御する電流を検出するための電流センサＣm１〜Ｃm６とが設けられている。位置センサＥm１〜Ｅm６は、例えば、エンコーダ、レゾルバ、パルスジェネレータなどの回転位置を検出できるものであればよい。なお、上記の駆動モータＭm１〜Ｍm６、位置センサＥm１〜Ｅm６、及び電流センサＣm１〜Ｃm６の記載では、各関節ＪＴm１〜ＪＴm６に対応してアルファベットに添え字の１〜６が付されている。以下では、関節ＪＴm１〜ＪＴm６のうち任意の関節を示す場合には添え字を省いて「ＪＴm」と称し、駆動モータＭm、位置センサＥm、及び電流センサＣmについても同様とする。
【００５４】
駆動モータＭm、位置センサＥm、及び電流センサＣmは、モータ制御部２６と電気的に接続されている。本実施形態に係るモータ制御部２６は、１台で複数の駆動モータＭm１〜Ｍm６をサーボ制御できるものであるが、駆動モータＭmごとに対応するモータ制御部が設けられていてもよい。
【００５５】
モータ制御部２６では、制御ユニット６（より詳細には、マスタ制御部６２）より取得した位置指令値やサーボゲイン等に基づいてトルク指令値（電流指令値）を生成し、トルク指令値に対応した駆動電流を駆動モータＭmへ供給する。駆動モータＭmの出力回転角は位置センサＥmによって検出され、モータ制御部２６へフィードバックされる。上記のマスタ制御部６２、モータ制御部２６、位置センサＥm、及び、電流センサＣmなどによって、マスタアーム２のモータ駆動部２０が構成されている。なお、モータ制御部２６とマスタ制御部６２との機能が、単一の回路又は単一の演算装置によって実現されていてもよい。
【００５６】
本実施形態に係るマスタアーム２には、マスタアーム２の慣性力補償、重力補償、及び摩擦補償を行うことによって、オペレータの操作力を助力するアシスト機構が設けられている。このアシスト機構は、マスタアーム２の各関節ＪＴmに設けられた駆動モータＭmと、この駆動モータＭmの出力を各関節ＪＴmへ伝達する図示されない伝動機構（減速機等を含む）と、駆動モータＭmを駆動するモータ駆動部２０等により実現される。
【００５７】
図４はマスタ制御部６２の機能ブロック図である。マスタ制御部６２は、位置指令生成部６２１、慣性力補償演算部６２２、重力補償演算部６２３、及び摩擦補償演算部６２４の各機能部を有している。マスタ制御部６２には、摩擦補償のオン／オフを切り替える摩擦補償切替スイッチ７７（摩擦補償切替手段）から、摩擦補償のオン／オフを切り替える信号が与えられる。摩擦補償切替スイッチ７７は、マスタアーム２、グリッパ２９、又は入力装置７に設けられてよい。また、マスタ制御部６２には、６軸力センサ２８と、位置センサＥmとから、これらのセンサ出力が与えられる。６軸力センサ２８は、グリッパ２９を介してマスタアーム２に印加される外力（トルク）、即ち、オペレータの操作力に応じた信号を出力する。
【００５８】
位置指令生成部６２１は、位置センサＥmのセンサ出力に基づいてマスタアーム２の各関節ＪＴmの位置、姿勢、及び駆動速度を算出し、６軸力センサ２８のセンサ出力に基づいてオペレータがマスタアーム２に与えた外力の大きさや方向を算出する。そして、位置指令生成部６２１は、これらの算出値に基づいて位置指令値を生成し、モータ制御部２６へ出力する。
【００５９】
慣性力補償演算部６２２は、位置センサＥmのセンサ出力に基づいて、マスタアーム２に作用する慣性力を補償するための慣性力補償トルク補正値を生成する。位置センサＥmのセンサ出力である回転角を微分することにより角速度を求め、この角速度を微分することにより角加速度を求め、この角加速度を利用して慣性力補償トルク補正値を生成することができる。
【００６０】
また、重力補償演算部６２３は、位置センサＥmのセンサ出力に基づいて、マスタアーム２に作用する重力を補償するための重力補償トルク補正値を生成する。重力補償トルク補正値は、予め設定される計算式によって算出される。慣性力補償トルク補正値と重力補償トルク補正値は、合わせて慣性力・重力補償トルク補正値としてモータ制御部２６へ与えられる。但し、慣性力補償トルク補正値と重力補償トルク補正値とがそれぞれ独立した信号としてモータ制御部２６へ与えられてもよい。また、ここでは慣性力補償トルク補正値と重力補償トルク補正値とは独立して演算されるが、慣性力補償トルク補正値と重力補償トルク補正値とを合わせた慣性力・重力補償トルク補正値が演算により求められてもよい。なお、動きが重力に影響されない関節を駆動する駆動モータＭmの制御系統については、重力補償演算部６２３を省略することができる。
【００６１】
摩擦補償演算部６２４は、マスタアーム２の各関節ＪＴmで生じる摩擦力を補償するための摩擦補償トルク補正値を生成する。図５は、駆動モータＭmの摩擦モデルの一例を示している。図５に示す摩擦モデルでは、静止摩擦と運動摩擦の双方が加味されており、静止時には入力と逆向きに静止摩擦が作用し、運動時（即ち、速度が０でないとき）には反運動方向にクーロン摩擦が作用する。制御ユニット６には、各駆動モータＭmの摩擦モデルが予め記憶されている。なお、以下では、駆動モータＭmの摩擦モデルを利用して駆動モータＭmで生じる摩擦力を補償するが、駆動モータＭm及びその出力を関節Ｊmへ伝達する伝動機構の摩擦モデルを用いて関節Ｊmに生じる摩擦力を補償するようにしてもよい。
【００６２】
摩擦補償トルク補正値は、予め記憶された摩擦モデルと、６軸力センサ２８及び位置センサＥmのセンサ出力とに基づいて、静止時には静止摩擦が、運動時には運動摩擦が軽減されるような値が生成される。摩擦補償トルク補正値は、オペレータが抵抗を感じることなくマスタアーム２を動かすことのできるような値であってよい。生成された摩擦補償トルク補正値は、モータ制御部２６へ与えられる。
【００６３】
図３に戻って、上記のようにマスタ制御部６２で生成された位置指令値がモータ制御部２６へ入力されると、入力された位置指令値は減算器３２ｂのプラス側の入力に与えられる。この減算器３２ｂのマイナス側の入力には、位置センサＥmで検出された回転角を表す信号（位置現在値）が与えられる。減算器３２ｂでは、位置指令値から回転角が減算される。減算器３２ｂの出力は係数器３２ｃに与えられ、ここで位置ゲインＫｐで増幅されてから、減算器３２ｅの＋入力に与えられる。この減算器３２ｅの−入力には、位置センサＥmからの回転角が微分器３２ｄで微分されたものが与えられる。減算器３２ｅの出力は係数器３２ｆに与えられ、ここで速度ゲインＫｖで増幅されてから、加算器３２ｇの＋入力に与えられる。この加算器３２ｇの他の＋入力には、摩擦補償トルク補正値と、慣性力・重力補償トルク補正値が与えられる。このように、摩擦補償トルク補正値、慣性力補償トルク補正値、重力補償トルク補正値によって補正されたトルク指令値は減算器３２ｈの＋入力に与えられる。この減算器３２ｈの−入力には、電流センサＣmからの電流値が与えられる。減算器３２ｈの減算出力が補正されたトルク指令値として増幅回路（図示略）へ入力され、増幅されたトルク指令値と対応する駆動電流が駆動モータＭmへ供給される。
【００６４】
なお、モータ駆動部２０は、スレーブアーム１の制御モード及び摩擦補償切替スイッチ７７の操作に応じて、摩擦補償のオン／オフを切り替える。具体的には、スレーブアーム１が自動モードのときは、マスタアーム２は操作されないことから、マスタアーム２の慣性力補償、重力補償、及び摩擦補償は全てオフであってよい。慣性力補償、重力補償、及び摩擦補償がオフのときは、慣性力補償トルク補正値、重力補償トルク補正値、及び摩擦補償トルク補正値が生成されないか、これらの補正値のモータ制御部２６への供給が遮断されるか、或いは、これらの補正値がゼロとされてよい。
【００６５】
スレーブアーム１が手動モードのときは、慣性力補償及び重力補償はオンであり、原則として摩擦補償はオフである。摩擦補償がオフのときは、摩擦補償トルク補正値は生成されないか、摩擦補償トルク補正のモータ制御部２６への供給が遮断されるか、或いは、摩擦補償トルク補正が摩擦力にかかわらずゼロとされてよい。
【００６６】
但し、スレーブアーム１が手動モードであっても、摩擦補償切替スイッチ７７がオンのときには、慣性力補償及び重力補償に加えて摩擦補償もオンとなってよい。例えば、オペレータがマスタアーム２を動かし始めるときに摩擦補償切替スイッチ７７をオンとすれば、操作し始めから軽快な操作力でマスタアーム２を動かすことが可能となる。
【００６７】
スレーブアーム１が修正自動モードのときは、慣性力補償、重力補償、及び摩擦補償はいずれもオンである。修正自動モードのときは、スレーブアーム１の動きにマスタアーム２が受け付けた操作が反映されるが、僅かな軌道のズレを修正するなど、マスタアーム２の操作量は微量であることが想定される。そこで、マスタアーム２の摩擦補償を行うことによって、マスタアーム２に入力された操作を外乱として処理する不感帯が小さくなり、マスタアーム２は操作量が例え僅かであってもそれを操作入力として受け付けることができる。
【００６８】
以上に説明したように、本実施形態に係る遠隔操作ロボットシステム１００は、オペレータの操作を受け付けるマスタアーム２と、予め記憶されたタスクプログラムに基づいて動作する自動モードと、マスタアーム２が受け付けたオペレータの操作に基づいて動作する手動モードと、マスタアーム２が受け付けたオペレータの操作によって逐次修正されながらタスクプログラムに基づいて動作する修正自動モードとの複数の制御モードを有するスレーブアーム１とを備えている。このマスタアーム２は、マスタアーム２の関節を駆動する１以上の駆動モータＭmと、マスタアーム２に加えられた外力に従って関節ＪＴmを動作させるトルク指令値を生成するとともにトルク指令値に対応する駆動電流をモータへ与えるモータ駆動部２０とを有する。このモータ駆動部２０は、制御モードが修正自動モードのときに、駆動モータＭmの摩擦力に抗して関節ＪＴmが外力に従って動作するようにトルク指令値を生成する。
【００６９】
上記実施形態において、モータ駆動部２０は、制御モードが修正自動モードのときに、駆動モータＭmの摩擦力に抗して関節ＪＴmが外力に従って動作するための摩擦補償トルク補正値を求め、摩擦補償トルク補正値で補正されたトルク指令値を生成する。
【００７０】
なお、上記実施形態では、モータ駆動部２０は、予め記憶された駆動モータＭmの摩擦力モデルに基づいて摩擦補償トルク補正値を求める。但し、摩擦補償トルク補正値の演算方法は上記に限定されず、演算式や、マップ等によって求めてもよい。
【００７１】
上記遠隔操作ロボットシステム１００では、駆動モータＭmの摩擦力に抗して関節ＪＴmが外力に従って動作するようにトルク指令値が生成されることによって、オペレータが感じる摩擦抵抗が軽減されるようにマスタアーム２が動作する。スレーブアーム１の複数の制御モードのうち、とりわけ修正自動モードでは、オペレータが断続的にマスタアーム２を動かすことや、急な操作が想定され、このような状況で軽快にマスタアーム２を操作できることが要求される。よって、スレーブアーム１が修正自動モードのときに、オペレータが感じる摩擦抵抗が軽減されるようにマスタアーム２が動作すれば、上記要求を満たすことができる。このように、上記遠隔操作ロボットシステム１００では、スレーブアーム１の制御モード、換言すれば、マスタアーム２の使用態様に応じた摩擦補償を行うことができる。
【００７２】
なお、上記のように動作するマスタアーム２は、汎用の産業用ロボットアームのハードウェアはそのままでソフトウェアに変更を加えることによって実現可能である。つまり、マスタアーム２として、マスタアーム専用のロボットアームを用いるのではなく、スレーブアームや他の産業用ロボットにも転用可能な汎用の産業用ロボットアームを利用することができる。例えば、遠隔操作ロボットシステム１００を構築する際には、汎用の産業用ロボットアームをマスタアーム２のハードウェアとして用いることで、専用のマスタアーム２を作製する工数やコストを省くことができる。また、例えば、遠隔操作ロボットシステム１００を解消した際には、マスタアーム２のハードウェアは汎用の産業用ロボットアームとして再利用することができる。なお、マスタアーム２として汎用の産業用ロボットアームを採用する場合には、マスタアーム２とオペレータとの接触時の衝撃を緩和するために、マスタアーム２に着脱可能なクッションカバーを装着してよい。
【００７３】
また、上記実施形態において、マスタアーム２は、摩擦補償のオン／オフを切り替える摩擦補償切替スイッチ７７（切替手段）を更に有し、モータ駆動部２０は、制御モードが手動モードであり、且つ、摩擦補償切替スイッチ７７がオンのときに、摩擦補償トルク補正値で補正されたトルク指令値を生成する。
【００７４】
これによれば、スレーブアーム１が手動モードのときは、摩擦補償切替スイッチ７７がオンであれば摩擦補償が生じ、オペレータは摩擦を感じることなくマスタアーム２を軽快に動かすことができる。摩擦補償切替スイッチ７７がオフのときは関節ＪＴmに摩擦が生じ、外乱によりマスタアーム２が操作されることを防ぐことができる。
【００７５】
また、上記実施形態において、モータ駆動部２０は、マスタアーム２に作用する慣性力を補償する慣性力補償トルク補正値を生成し、慣性力補償トルク補正値で補正されたトルク指令値を生成する。更に、上記実施形態において、モータ駆動部２０は、マスタアーム２に作用する重力を補償する重力補償トルク補正値を生成し、重力補償トルク補正値で補正されたトルク指令値を生成する。
【００７６】
このように、上記実施形態に係る遠隔操作ロボットシステム１００では、マスタアーム２に作用する慣性力や重力も補償されており、オペレータはマスタアーム２の質量や慣性を感じることなくマスタアーム２を動かすことができる。
【００７７】
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
【００７８】
上記実施形態において、スレーブアーム１及びマスタアーム２は、いずれも６軸垂直多関節型ロボットアームであるが、スレーブアーム１及びマスタアーム２は水平多関節型ロボットアームでもよく、また、その関節の数（即ち軸数）も限定されない。
【００７９】
また、上記実施形態において、マスタ制御部６２は制御ユニット６の一部として記載されているが、マスタ制御部６２は制御ユニット６の他の要素から独立した制御装置として構成されていてもよい。
【００８０】
また、上記実施形態に係るマスタアーム２では、スレーブアーム１が修正自動モードのときに摩擦補償をするが、修正自動モードにおいても手動モードと同様に摩擦補償切替スイッチ７７で摩擦補償のオン／オフを切り替えるようにしてもよい。この場合、モータ駆動部２０は、スレーブアーム１の制御モードが修正自動モードであり、且つ、摩擦補償切替スイッチ７７がオンのときに、摩擦補償トルク補正値で補正されたトルク指令値を生成する。換言すれば、モータ駆動部２０は、スレーブアーム１の制御モードが修正自動モードであり、且つ、摩擦補償切替スイッチ７７がオフのときには、摩擦補償は行われず、外乱によりマスタアーム２が操作されることを防ぐことができる。
【００８１】
また、上記実施形態に係るマスタアーム２では、スレーブアーム１が手動モードで且つ摩擦補償切替スイッチ７７で摩擦補償のオンのとき摩擦補償をするが、摩擦補償切替スイッチ７７のオン／オフにかかわらず、スレーブアーム１が手動モードであるという条件のみで摩擦補償をしてもよい。この場合、モータ駆動部２０は、制御モードが手動モードのときに、摩擦補償トルク補正値で補正された前記トルク指令値を生成する。これにより、例えば、微量な操作量であってもマスタアーム２を動かすことが可能となる。
【００８２】
また、上記実施形態に係る遠隔操作ロボットシステム１００では、スレーブアーム１が自動モード、手動モード、及び修正自動モードの複数の制御モードを有するが、スレーブアーム１が自動モードと手動モードの複数の制御モードを有していてもよい。この場合、前述の実施形態と同様に、スレーブアーム１が手動モードのときにマスタアーム２の摩擦補償がなされる。
【００８３】
以上に本発明の好適な実施の形態を説明した。上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【符号の説明】
【００８４】
１        ：スレーブアーム
２        ：マスタアーム
４        ：出力装置
５        ：状況取得装置
６        ：制御ユニット
７        ：入力装置
８        ：記憶装置
１１ａ〜１１ｆ    ：リンク
１２      ：エンドエフェクタ
１５      ：基台
１６      ：モータ制御部
２０      ：モータ駆動部
２１ａ〜２１ｆ    ：リンク
２５      ：基台
２６      ：モータ制御部
２８      ：６軸力センサ
２９      ：グリッパ
６０      ：ホスト制御部
６１      ：スレーブ制御部（スレーブ制御装置）
６２      ：マスタ制御部（マスタ制御装置）
６３      ：受信部
６４      ：出力制御部
６５      ：修正部
７７      ：摩擦補償切替スイッチ
１００    ：遠隔操作ロボットシステム
６２１    ：位置指令生成部
６２２    ：慣性力補償演算部
６２３    ：重力補償演算部
６２４    ：摩擦補償演算部
Ｃ，Ｃ１〜Ｃ６，Ｃm，Ｃm１〜Ｃm６      ：電流センサ
Ｅ，Ｅ１〜Ｅ６，Ｅm，Ｅm１〜Ｅm６      ：位置センサ
ＪＴ，ＪＴ１〜ＪＴ６，ＪＴm，ＪＴm１〜ＪＴm６    ：関節
Ｍ，Ｍ１〜Ｍ６，Ｍm，Ｍm１〜Ｍm６      ：駆動モータ
【図１】
2017033353.tif 000003
【図２】
2017033353.tif 000004
【図３】
2017033353.tif 000005
【図４】
2017033353.tif 000006
【図５】
2017033353.tif 000007
【国際調査報告】
2017033353.tif 000008
2017033353.tif 000009
2017033353.tif 000010
2017033353.tif 000011