(57)【特許請求の範囲】
【請求項１】
ロボットと、前記ロボットの動作を制御する制御ユニットと、前記ロボットの教示点を入力するための入力装置と、を備え、
前記ロボットは、
設置面に固定された基台と、
先端にツールを備えた複数のロボットアームと、
前記複数のロボットアームを側部に支持するとともに、自身は前記基台に対し前記設置面に垂直な回転軸周りに旋回可能な旋回装置と、を有し、
前記制御ユニットは、
前記複数のロボットアームのうちの少なくとも１つの前記ツールが前記旋回装置による前記回転軸周りの旋回動作の開始から終了までの間同一の位置及び姿勢に保持されるように、前記ロボットを制御し、
前記入力装置は、
前記教示点の入力時に、前記複数のロボットアームのうち、前記ツールが同一の位置及び姿勢に保持される第１ロボットアームを選択するためのアーム選択手段を有する
ことを特徴とするロボットシステム。
【請求項２】
前記制御ユニットは、
前記ロボットアームの動作開始時における先端位置と前記教示点との間の補間点を演算する補間演算部と、
前記補間点に基づき前記ロボットアームを駆動する駆動部と、を有し、
前記補間演算部は、
前記アーム選択手段で選択された前記第１ロボットアームが、前記先端位置と前記教示点との間を直線状に移動する直線補間動作を行うように補間点を演算する
ことを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記入力装置は、
前記教示点の入力時に、前記アーム選択手段で選択された前記第１ロボットアーム以外の第２ロボットアームの補間動作の種別を選択するための補間選択手段を有し、
前記補間演算部は、
前記第２ロボットアームが前記補間選択手段で選択された種別の補間動作を行うように前記補間点を演算する
ことを特徴とする請求項２に記載のロボットシステム。
【請求項４】
前記入力装置は、
前記ロボットアームの先端を３次元上の任意の位置に誘導するように前記ロボットアームを操作するアーム操作手段と、
前記旋回装置を任意の角度に旋回するように操作する旋回操作手段と、
前記アーム操作手段及び前記旋回操作手段の操作により位置決めされた前記ロボットアームの先端位置を教示点に設定する教示点設定手段と、を有し、
前記制御ユニットは、
前記教示点の入力時における前記旋回操作手段の操作にかかわらず、前記第１ロボットアームの前記ツールが旋回の前後を通じて同一の位置及び姿勢に保持されるように、前記ロボットを制御する
ことを特徴とする請求項１乃至３のいずれか１項に記載のロボットシステム。
【請求項５】
前記ロボットは、
前記ロボットアームを２つ有しており、
前記制御ユニットは、
一方の前記ロボットアームで、前記ツールを旋回の前後を通じて同一の位置及び姿勢に保持することにより対象物を固定すると共に、他方の前記ロボットアームで、前記固定された対象物に関する旋回が必要な作業を行うように、前記ロボットを制御する
ことを特徴とする請求項１乃至４のいずれか１項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットと、このロボットの動作を制御する制御ユニットと、を備えたロボットシステムに関する。
【背景技術】
【０００２】
近年、対象物をロボットアームで把持して別の場所に搬送する作業を行うロボットが普及している。ロボットアームの把持可能範囲の端部に対象物が存在する場合には、対象物との距離が離れているため、ロボットアームが極端に伸びた姿勢で対象物を把持することとなり、ロボットにおけるロボットアームを指示する位置でのモーメントが大きくなる。このため、ロボットアームの把持可能な質量が、本来の構造上許容可能な質量より小さくなってしまう問題があった。
【０００３】
例えば、特許文献１には、旋回装置上にロボットアームが搭載された技術が開示されている。この従来技術におけるロボット（ロボットシステム）は、ツールを保持可能なロボットアーム（ロボット）と当該ロボットアームを旋回させる旋回装置とを備えている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０３４７４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、例えばロボットが対象物（以下「第１対象物」と称する）に対し別の対象物（以下「第２対象物」と称する）をはめ合わせるはめ合い作業を行う場合において、ロボットアームで、第１対象物を固定しつつ、固定された第１対象物に関する旋回が必要な作業、例えば第２対象物を旋回により取りに行く作業や、当該第２対象物を固定して第１対象物の位置まで旋回により搬送する作業等を行う場合がある。上記従来技術におけるロボットは、ロボットアームを１つしか備えておらず、当該１つのロボットアームで、第１対象物を固定しつつ、固定された第１対象物に関する旋回が必要な作業を行うことは困難であった。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、対象物を固定しつつ旋回が必要となる作業を１台のロボットで行うことができるロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明のロボットシステムは、ロボットと、前記ロボットの動作を制御する制御ユニットと、前記ロボットの教示点を入力するための入力装置と、を備え、前記ロボットは、設置面に固定された基台と、先端にツールを備えた複数のロボットアームと、前記複数のロボットアームを側部に支持するとともに、自身は前記基台に対し前記設置面に垂直な回転軸周りに旋回可能な旋回装置と、を有し、前記制御ユニットは、前記複数のロボットアームのうちの少なくとも１つの前記ツールが前記旋回装置による前記回転軸周りの旋回動作の開始から終了までの間同一の位置及び姿勢に保持されるように、前記ロボットを制御し、前記入力装置は、前記教示点の入力時に、前記複数のロボットアームのうち、前記ツールが同一の位置及び姿勢に保持される第１ロボットアームを選択するためのアーム選択手段を有することを特徴としている。
【０００９】
また、前記制御ユニットは、前記ロボットアームの動作開始時における先端位置と前記教示点との間の補間点を演算する補間演算部と、前記補間点に基づき前記ロボットアームを駆動する駆動部と、を有し、前記補間演算部は、前記アーム選択手段で選択された前記第１ロボットアームが、前記先端位置と前記教示点との間を直線状に移動する直線補間動作を行うように補間点を演算することが好ましい。
【００１０】
また、前記入力装置は、前記教示点の入力時に、前記アーム選択手段で選択された前記第１ロボットアーム以外の第２ロボットアームの補間動作の種別を選択するための補間選択手段を有し、前記補間演算部は、前記第２ロボットアームが前記補間選択手段で選択された種別の補間動作を行うように前記補間点を演算することが好ましい。
【００１１】
また、前記入力装置は、前記ロボットアームの先端を３次元上の任意の位置に誘導するように前記ロボットアームを操作するアーム操作手段と、前記旋回装置を任意の角度に旋回するように操作する旋回操作手段と、前記アーム操作手段及び前記旋回操作手段の操作により位置決めされた前記ロボットアームの先端位置を教示点に設定する教示点設定手段と、を有し、前記制御ユニットは、前記教示点の入力時における前記旋回操作手段の操作にかかわらず、前記第１ロボットアームの前記ツールが旋回の前後を通じて同一の位置及び姿勢に保持されるように、前記ロボットを制御することが好ましい。
【００１２】
また、前記ロボットは、前記ロボットアームを２つ有しており、前記制御ユニットは、一方の前記ロボットアームで、前記ツールを旋回の前後を通じて同一の位置及び姿勢に保持することにより対象物を固定すると共に、他方の前記ロボットアームで、前記固定された対象物に関する旋回が必要な作業を行うように、前記ロボットを制御することが好ましい。
【発明の効果】
【００１３】
本発明によれば、対象物を固定しつつ旋回が必要となる作業を１台のロボットで行うことができる。
【図面の簡単な説明】
【００１４】
【図１】一実施の形態のロボットシステムの全体構成を概念的に表すシステム構成図である。
【図２】ロボットの構成を模式的に表すロボットの正面図である。
【図３】ロボットコントローラ及び入力装置の機能構成を表す機能ブロック図である。
【図４】教示点の入力時において、操作対象選択キーの操作により胴体部が操作対象に選択されているときに旋回キーが操作され、胴体部が旋回したときの、胴体部の旋回に伴うアームの旋回移動の一例を模式的に表す説明図である。
【図５】補間演算部による補間制御方法の一例を説明する説明図である。
【図６】ロボットコントローラの制御に基づいてロボットが行う、第１対象物に対し第２対象物をはめ合わせる、はめ合い作業の一例を模式的に表す説明図である。
【発明を実施するための形態】
【００１５】
以下、一実施の形態について図面を参照して説明する。
【００１６】
（Ａ）ロボットシステム及びロボットの構成
まず、本実施形態のロボットシステムの全体構成、及び、本実施形態のロボットシステムに備えられたロボットの構成について説明する。図１は、本実施形態のロボットシステムの全体構成を概念的に表すシステム構成図である。図２は、本実施形態のロボットシステムに備えられたロボットの構成を模式的に表すロボットの正面図である。
【００１７】
図１及び図２において、本実施形態のロボットシステム１は、対象物Ｗ１（以下適宜「第１対象物Ｗ１」と称する）に対し別の対象物Ｗ２（以下適宜「第２対象物Ｗ２」と称する）をはめ合わせる、はめ合い作業を行うロボット１００と、ロボット１００の動作を制御するロボットコントローラ２００（制御ユニット）と、ロボット１００の教示点や各種設定を入力するための入力装置３００とを備えている。なお、ロボット１００とロボットコントローラ２００とは、ケーブルＣａを介して相互通信可能に接続されている（又は無線接続されていてもよい）。ロボットコントローラ２００と入力装置３００とは、ケーブルＣｂを介して相互通信可能に接続されている（又は無線接続されていてもよい）。
【００１８】
ロボット１００は、基台１０１と、胴体部１０２（旋回装置）と、２つのアーム１０３Ｌ，１０３Ｒ（ロボットアーム）とを有している。なお、対象物Ｗの数や形状等の条件に応じて、ロボットアームの数を３つ以上としてもよい。
【００１９】
基台１０１は、設置面Ｅ（例えば床部等）に対し図示しないアンカーボルト等により固定されている。
【００２０】
胴体部１０２は、上記設置面Ｅに対し略垂直な第１回転軸周りに回転駆動する第１アクチュエータ（図示省略）が設けられた第１関節部Ｊ１を有しており、基台１０１に対し第１関節部Ｊ１を介して第１回転軸周りに回転可能に設置されている。また、胴体部１０２は、アーム１０３Ｌ，１０３Ｒをそれぞれ一方側（図１及び図２中右側）及び他方側（図１及び図２中左側）において支持しており、第１アクチュエータの駆動により第１回転軸周りに回転することによって、アーム１０３Ｌ，１０３Ｒの全体を旋回させる。
【００２１】
アーム１０３Ｌは、肩部１０４Ｌ、上腕Ａ部１０５Ｌ、上腕Ｂ部１０６Ｌ、下腕部１０７Ｌ、手首Ａ部１０８Ｌ、手首Ｂ部１０９Ｌ、及びフランジ１１０Ｌと、これら各部をそれぞれ回転駆動する第２〜第８アクチュエータ（図示省略）がそれぞれ設けられた第２〜第８関節部Ｊ２〜Ｊ８とを有している。
【００２２】
肩部１０４Ｌは、胴体部１０２に対し第２関節部Ｊ２を介して回転可能に連結されており、第２関節部Ｊ２に設けられた第２アクチュエータの駆動により上記設置面Ｅに対して略平行な第２回転軸周りに回転する。上腕Ａ部１０５Ｌは、肩部１０４Ｌに対し第３関節部Ｊ３を介して旋回可能に連結されており、第３関節部Ｊ３に設けられた第３アクチュエータの駆動により上記第２回転軸に対して略垂直な第３回転軸周りに旋回する。上腕Ｂ部１０６Ｌは、上腕Ａ部１０５Ｌの先端に対し第４関節部Ｊ４を介して回転可能に連結されており、第４関節部Ｊ４に設けられた第４アクチュエータの駆動により上記第３回転軸に対して略垂直な第４回転軸周りに回転する。下腕部１０７Ｌは、上腕Ｂ部１０６Ｌに対し第５関節部Ｊ５を介して旋回可能に連結されており、第５関節部Ｊ５に設けられた第５アクチュエータの駆動により上記第４回転軸に対して略垂直な第５回転軸周りに旋回する。手首Ａ部１０８Ｌは、下腕部１０７Ｌの先端に対し第６関節部Ｊ６を介して回転可能に連結されており、第６関節部Ｊ６に設けられた第６アクチュエータの駆動により上記第５回転軸に対して略垂直な第６回転軸周りに回転する。手首Ｂ部１０９Ｌは、手首Ａ部１０８Ｌに対し第７関節部Ｊ７を介して旋回可能に連結されており、第７関節部Ｊ７に設けられた第７アクチュエータの駆動により上記第６回転軸に対して略垂直な第７回転軸周りに旋回する。フランジ１１０Ｌは、手首Ｂ部１０９Ｌの先端に対し第８関節部Ｊ８を介して回転可能に連結されており、第８関節部Ｊ８に設けられた第８アクチュエータの駆動により上記第７回転軸に対して略垂直な第８回転軸周りに回転する。
【００２３】
また、フランジ１１０Ｌの先端には、用途に応じた（この例では第１対象物Ｗ１を固定可能な）ツール１５０Ｌ（例えばハンド等）が取り付けられている。このツール１５０Ｌは、フランジ１１０Ｌの回転により従動的に回転する。
【００２４】
アーム１０３Ｒは、上記アーム１０３Ｌと同様の構造を備えている。すなわち、アーム１０３Ｒは、肩部１０４Ｒ、上腕Ａ部１０５Ｒ、上腕Ｂ部１０６Ｒ、下腕部１０７Ｒ、手首Ａ部１０８Ｒ、手首Ｂ部１０９Ｒ、及びフランジ１１０Ｒと、これら各部をそれぞれ回転駆動する第９〜第１５アクチュエータ（図示省略）がそれぞれ設けられた第９〜第１５関節部Ｊ９〜Ｊ１５とを有している。
【００２５】
肩部１０４Ｒは、胴体部１０２に対し第９関節部Ｊ９を介して回転可能に連結されており、第９関節部Ｊ９に設けられた第９アクチュエータの駆動により上記設置面Ｅに対して略平行な第９回転軸周りに回転する。上腕Ａ部１０５Ｒは、肩部１０４Ｒに対し第１０関節部Ｊ１０を介して旋回可能に連結されており、第１０関節部Ｊ１０に設けられた第１０アクチュエータの駆動により上記第９回転軸に対して略垂直な第１０回転軸周りに旋回する。上腕Ｂ部１０６Ｒは、上腕Ａ部１０５Ｒの先端に対し第１１関節部Ｊ１１を介して回転可能に連結されており、第１１関節部Ｊ１１に設けられた第１１アクチュエータの駆動により上記第１０回転軸に対して略垂直な第１１回転軸周りに回転する。下腕部１０７Ｒは、上腕Ｂ部１０６Ｒに対し第１２関節部Ｊ１２を介して旋回可能に連結されており、第１２関節部Ｊ１２に設けられた第１２アクチュエータの駆動により上記第１１回転軸に対して略垂直な第１２回転軸周りに旋回する。手首Ａ部１０８Ｒは、下腕部１０７Ｒの先端に対し第１３関節部Ｊ１３を介して回転可能に連結されており、第１３関節部Ｊ１３に設けられた第１３アクチュエータの駆動により上記第１２回転軸に対して略垂直な第１３回転軸周りに回転する。手首Ｂ部１０９Ｒは、手首Ａ部１０８Ｒに対し第１４関節部Ｊ１４を介して旋回可能に連結されており、第１４関節部Ｊ１４に設けられた第１４アクチュエータの駆動により上記第１３回転軸Ａｘ１３に対して略垂直な第１４回転軸Ａｘ１４周りに旋回する。フランジ１１０Ｒは、手首Ｂ部１０９Ｒの先端に対し第１５関節部Ｊ１５を介して回転可能に連結されており、第１５関節部Ｊ１５に設けられた第１５アクチュエータの駆動により上記第１４回転軸に対して略垂直な第１５回転軸周りに回転する。
【００２６】
また、フランジ１１０Ｒの先端には、用途に応じた（この例では第２対象物Ｗ２を搬送可能な）ツール１５０Ｒ（例えばハンド等）が取り付けられている。このツール１５０Ｒは、フランジ１１０Ｒの回転により従動的に回転する。
【００２７】
なお、この例では、アーム１０３Ｌ，１０３Ｒは、７つの関節部すなわち７自由度を有し、並進３自由度及び回転３自由度に対して１自由度の冗長自由度を有しているが、アーム１０３Ｌ，１０３Ｒの自由度は「７」に限られない。
【００２８】
上記のように構成されたロボット１００は、第１〜第１５アクチュエータが設けられた第１〜第１５関節部Ｊ１〜Ｊ１５を含む各駆動部位が駆動することにより、ツール１５０Ｌ，１５０Ｒの先端を任意の位置に移動したり、任意の向きに向ける、言い換えれば、任意の姿勢にすることができるようになっている。なお、本明細書では、ツール１５０Ｌ，１５０Ｒの先端をアーム１０３Ｌ，１０３Ｒの先端と定義し、ツール１５０Ｌ，１５０Ｒの先端位置をアーム１０３Ｌ，１０３Ｒの先端位置と定義する。また、ロボット１００は、一方のアーム１０３（後述の第1アーム。例えばアーム１０３Ｌ）で、ツール１５０を胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持することにより第１対象物Ｗ１を固定しつつ、他方のアーム１０３（後述の第２アーム。例えばアーム１０３Ｒ）で、上記固定された第１対象物Ｗ１に関する胴体部１０２の旋回が必要な作業、例えば、第２対象物Ｗ２を胴体部１０２の旋回により取りに行く作業や、当該第２対象物Ｗ２をツール１５０で把持して上記固定された第１対象物Ｗ１の位置まで胴体部１０２の旋回により搬送する作業等を行うように、上記各駆動部位の動作がロボットコントローラ２００によって制御されている。
【００２９】
（Ｂ）ロボットコントローラ及び入力装置の機能構成
次に、ロボットコントローラ２００及び入力装置３００の機能構成について説明する。図３は、ロボットコントローラ２００及び入力装置３００の機能構成を表す機能ブロック図である。
【００３０】
図３において、入力装置３００は、例えばティーチングペンダント等で構成されており、各種データを上記ケーブルＣｂを介してロボットコントローラ２００へ出力する出力部３０１と、操作対象選択キー３０２と、固定指定選択キー３０３（アーム選択手段）と、補間種別選択キー３０４（補間選択手段）と、方向キー３０５（アーム操作手段）と、旋回キー３０６（旋回操作手段）と、確定キー３０７（教示点設定手段）と、再生キー３０８とを有している。
【００３１】
操作対象選択キー３０２は、胴体部１０２及びアーム１０３Ｌ，１０３Ｒのうち、いずれか１つを方向キー３０５や旋回キー３０６等による操作対象として選択するためのキーである。
【００３２】
固定指定選択キー３０３は、教示点の入力時に、アーム１０３Ｌ、１０３Ｒのうち、ツール１５０が胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持される第１アーム（第１ロボットアーム）を選択するためのキーである。すなわち、第１アームは、動作開始位置と同一の位置が教示点に自動設定されるようになっている。なお、本明細書では、アーム１０３Ｌ，１０３Ｒの動作開始位置をツール１５０Ｌ，１５０Ｒの動作開始時（詳細には、再生キー３０８の操作時）における先端位置と定義する。ここで、アーム１０３Ｌ，１０３Ｒが行い得る動作開始位置と教示点との間の補間動作には、動作開始位置と教示点との間の経路を問わないＰＴＰ（Ｐｏｉｎｔ  Ｔｏ  Ｐｏｉｎｔ）補間動作、動作開始位置と教示点との間を直線状に移動する直線補間動作、動作開始位置と教示点との間を円弧状に移動する円弧補間動作等があるが、第１アームについては、補間動作の種別が直線補間動作に自動設定されるようになっている。
【００３３】
補間種別選択キー３０４は、教示点の入力時に、アーム１０３Ｌ、１０３Ｒのうち、固定指定選択キー３０３で選択された第１アーム以外の第２アーム（第２ロボットアーム）の補間動作の種別を選択するためのキーである。すなわち、第２アームについては、補間動作の種別が上記ＰＴＰ補間動作、直線補間動作、円弧補間動作等から選択可能となっている。
【００３４】
方向キー３０５は、ツール１５０の先端を３次元上の任意の位置に誘導するようにアーム１０３を操作するキーである。
【００３５】
旋回キー３０６は、胴体部１０２を任意の角度に旋回するように操作するためのキーである。
【００３６】
確定キー３０７は、方向キー３０５及び旋回キー３０６の操作により位置決めされたツール１５０の先端位置を教示点に設定するキーである。設定された教示点に関するデータは、補間動作の種別に対応する移動命令等と共に、出力部３０１より上記ケーブルＣｂを介してロボットコントローラ２００へ出力される。
【００３７】
再生キー３０８は、ロボット１００に、ロボットコントローラ２００の教示データ格納部２０１（後述）に格納された教示データに基づいた動作を再生させるためのキーである。
【００３８】
一方、ロボットコントローラ２００は、例えば図示しない演算器、記憶装置、入力装置等を備えたコンピュータで構成されており、教示データ格納部２０１と、補間演算部２０２と、駆動部２０３と、入力装置３００より上記ケーブルＣｂを介して各種データを入力する入力部２０４と、パラメータ格納部２０５とを有している。
【００３９】
教示データ格納部２０１には、入力装置３００より上記ケーブルＣｂ及び入力部２０４を介して入力された上記教示点に関するデータ及び補間動作の種別に対応する移動命令等に基づいて生成された教示データが格納されている。以下に、教示データ格納部２０１に格納された教示データの一例を示す。
ＳＴＡＲＴ
ＭＯＶＪ  Ｃ０００  ＲＢ＝１  ＴＯＯＬ＝４
＋ＭＯＶＪ  Ｃ００１  ＲＢ＝２  ＴＯＯＬ＝５
＋ＭＯＶＪ  Ｃ００２  ＲＢ＝３
ＭＯＶＪ  Ｃ００３  ＲＢ＝１  ＴＯＯＬ＝４
＋ＭＯＶＬ  Ｃ００４  ＲＢ＝２  ＴＯＯＬ＝５
＋ＭＯＶＪ  Ｃ００５  ＲＢ＝３
ＥＮＤ                                      ・・・（１）
【００４０】
上記（１）の教示データにおいて、「ＳＴＡＲＴ」は、教示データの開始を示す命令であり、「ＥＮＤ」は、教示データの終了を示す命令である。
【００４１】
「ＭＯＶＪ」は、上記ＰＴＰ補間動作での移動命令（ＰＴＰ制御命令）であり、「ＭＯＶＬ」は、上記直線補間動作での移動命令（直線補間制御命令）である。
【００４２】
「Ｃ０００」「Ｃ００１」「Ｃ００２」「Ｃ００３」「Ｃ００４」「Ｃ００５」は、移動命令における教示点での、胴体部１０２の第1関節部Ｊ１、又はアーム１０３Ｌの第２〜第８関節部Ｊ２〜Ｊ８、若しくはアーム１０３Ｒの第９〜第１５関節部Ｊ９〜Ｊ１５の角度情報を示すインデックスである。
【００４３】
「ＲＢ＝１」「ＲＢ＝２」「ＲＢ＝３」は、移動命令の対象（補間制御対象）を指定する命令であり、「ＲＢ」で指定された番号「１」「２」「３」は、移動命令の対象に対応する番号を示している。この例では、「１」がアーム１０３Ｌ、「２」がアーム１０３Ｒ、「３」が胴体部１０２に対応している。
【００４４】
「ＴＯＯＬ＝４」「ＴＯＯＬ＝５」は、アーム１０３の先端に備えられたツール１５０の種別を示す命令であり、「ＴＯＯＬ」で指定された番号「４」「５」は、ツール１５０の種別に対応するツールファイル番号を示しており、フランジ１１０からツール１５０の先端までの位置、及び、ツール１５０の座標の姿勢を表すツールファイルへのインデックスである。
【００４５】
また、上記（１）の教示データには、一連の動作における２つの教示点に関するデータが含まれている。すなわち、
ＭＯＶＪ  Ｃ０００  ＲＢ＝１  ＴＯＯＬ＝４
＋ＭＯＶＪ  Ｃ００１  ＲＢ＝２  ＴＯＯＬ＝５
＋ＭＯＶＪ  Ｃ００２  ＲＢ＝３              ・・・（１Ａ）
と、
ＭＯＶＪ  Ｃ００３  ＲＢ＝１  ＴＯＯＬ＝４
＋ＭＯＶＬ  Ｃ００４  ＲＢ＝２  ＴＯＯＬ＝５
＋ＭＯＶＪ  Ｃ００５  ＲＢ＝３              ・・・（１Ｂ）
とのデータが含まれている。
【００４６】
上記（１Ａ）のデータは、一連の動作における１つ目（１動作目）の教示点に関するデータである。このデータは、ツール１５０Ｌ（「ＴＯＯＬ＝４」）を先端に備えたアーム１０３Ｌ（「ＲＢ＝１」）を補間制御対象とし、インデックス「Ｃ０００」に示された第２〜第８関節部Ｊ２〜Ｊ８の角度を目標姿勢として、ＰＴＰ補間動作（「ＭＯＶＪ」）させること、ツール１５０Ｒ（「ＴＯＯＬ＝５」）を先端に備えたアーム１０３Ｒ（「ＲＢ＝２」）を補間制御対象とし、インデックス「Ｃ００１」に示された第９〜第１５関節部Ｊ２〜Ｊ８の角度を目標姿勢として、ＰＴＰ補間動作（「ＭＯＶＪ」）させること、及び、胴体部１０２（「ＲＢ＝３」）を補間制御対象とし、インデックス「Ｃ００２」に示された第１関節部Ｊ１の角度を目標姿勢として、ＰＴＰ補間動作（「ＭＯＶＪ」）させることを示している。
【００４７】
上記（１Ｂ）のデータは、一連の動作における２つ目（２動作目）の教示点に関するデータである。このデータは、ツール１５０Ｌ（「ＴＯＯＬ＝４」）を先端に備えたアーム１０３Ｌ（「ＲＢ＝１」）を補間制御対象とし、インデックス「Ｃ００３」に示された第２〜第８関節部Ｊ２〜Ｊ８の角度を目標姿勢として、ＰＴＰ補間動作（「ＭＯＶＪ」）させること、ツール１５０Ｒ（「ＴＯＯＬ＝５」）を先端に備えたアーム１０３Ｒ（「ＲＢ＝２」）を補間制御対象とし、インデックス「Ｃ００４」に示された第９〜第１５関節部Ｊ２〜Ｊ８の角度を目標姿勢として、直線補間動作（「ＭＯＶＬ」）させること、及び、胴体部１０２（「ＲＢ＝３」）を補間制御対象とし、インデックス「Ｃ００５」に示された第１関節部Ｊ１の角度を目標姿勢として、ＰＴＰ補間動作（「ＭＯＶＪ」）させることを示している。
【００４８】
補間演算部２０２は、上記第１アームが直線補間動作を行うように、かつ、上記第２アームが上記補間種別選択キー３０４で選択された種別の補間動作を行うように、動作開始位置と教示データ格納部２０１に格納された教示データで表される教示点との間の補間点を演算する。補間点とは、動作開始位置から教示点までの動作においてツール１５０の先端が動作開始位置と教示点とを結ぶ直線又は曲線（移動軌跡）上を所定周期で通過すべき複数の通過点のことである。そして、動作開始位置と教示点との間の各補間点における、胴体部１０２の第１関節部Ｊ１の角度、アーム１０３Ｌの第２〜第８関節部Ｊ２〜Ｊ８の角度、及びアーム１０３Ｒの第９〜第１５関節部Ｊ９〜Ｊ１５の角度を演算し、駆動部２０３へ入力する。
【００４９】
駆動部２０３は、補間演算部２０２より入力された、動作開始位置と教示点との間の各補間点における、胴体部１０２の第１関節部Ｊ１の角度情報、アーム１０３Ｌの第２〜第８関節部Ｊ２〜Ｊ８の角度情報、及びアーム１０３Ｒの第９〜第１５関節部Ｊ９〜Ｊ１５の角度情報に基づき、胴体部１０２及びアーム１０３Ｌ，１０３Ｒの各駆動部位を駆動する。
【００５０】
パラメータ格納部２０５には、ロボット１００の動作制御に関する各種パラメータが格納されている。
【００５１】
上記のように構成されたロボットコントローラ２００は、アーム１０３Ｌ，１０３Ｒの先端に備えられたツール１５０Ｌ，１５０Ｒの先端が動作開始位置から各補間点を通過して教示点まで移動するように、ロボット１００を制御する。具体的には、教示点の入力時における上記旋回キー３０６の操作にかかわらず、第１アームの先端に備えられたツール１５０が胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持されるように、ロボット１００を制御しつつ、第１アームで、ツール１５０を胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持することにより上記第１対象物Ｗ１を固定するように、ロボット１００を制御する。またこれと共に、第２アームで、上記第２対象物Ｗ２を胴体部１０２の旋回により取りに行く作業や、当該第２対象物Ｗ２をツール１５０で把持して上記固定された第１対象物Ｗ１の位置まで胴体部１０２の旋回により搬送する作業等を行うように、ロボット１００を制御する。
【００５２】
（Ｃ）入力装置によるロボットの教示点の入力方法
次に、入力装置３００によるロボット１００の教示点の入力方法の一例について説明する。
【００５３】
教示点の入力時において、操作対象選択キー３０２の操作によりアーム１０３Ｌが操作対象に選択されているときに方向キー３０５が操作されると、その方向キー３０５の操作量に基づいて駆動部２０３によりアーム１０３Ｌの各駆動部位が駆動され、方向キー３０５の示す方向にツール１５０Ｌの先端が移動する。また、操作対象選択キー３０２の操作によりアーム１０３Ｒが操作対象に選択されているときに方向キー３０５が操作されると、その方向キー３０５の操作量に基づいて駆動部２０３によりアーム１０３Ｒの各駆動部位が駆動され、方向キー３０５の示す方向にツール１５０Ｒの先端が移動する。
【００５４】
図４（ａ）、図４（ｂ）、図４（ｃ）、及び図４（ｄ）は、教示点の入力時において、操作対象選択キー３０２の操作により胴体部１０２が操作対象に選択されているときに旋回キー３０６が操作され、胴体部１０２が旋回したときの、胴体部１０２の旋回に伴うアーム１０３Ｌ，１０３Ｒの旋回移動の一例を模式的に表す説明図である。なお、これら図４（ａ）〜図４（ｄ）中では、ロボット１００の設置面Ｅ（図２参照）に平行で、かつ、ロボット１００の正面に対応する方向をＸ軸方向とし、設置面Ｅに平行で、かつ、Ｘ軸方向に直交する方向をＹ軸方向とし、設置面Ｅに垂直な方向をＺ軸方向（紙面手前奥方向）として、Ｘ軸方向及びＹ軸方向を表す矢印を図示している。また、胴体部１０２が旋回する前のアーム１０３Ｌ，１０３Ｒの位置、及び、胴体部１０２が旋回する前のＸ軸方向及びＹ軸方向を破線で示している。
【００５５】
図４（ａ）には、固定指定選択キー３０３により第１アームが選択されていない状態で旋回キー３０６が操作された場合の一例を示している。図４（ａ）に示すように、操作対象選択キー３０２の操作により胴体部１０２が操作対象に選択され、固定指定選択キー３０３により第１アームが選択されていない状態で旋回キー３０６が操作されると、その旋回キー３０６の操作量に基づいて駆動部２０３により胴体部１０２の駆動部位が駆動され、旋回キー３０６の示す方向に胴体部１０２が旋回する。そしてこのとき、胴体部１０２の旋回に伴って、アーム１０３Ｌ、１０３Ｒの全体が旋回移動する。
【００５６】
図４（ｂ）には、固定指定選択キー３０３の操作によりアーム１０３Ｒが第１アームに選択されている状態で旋回キー３０６が操作された場合の一例を示している。図４（ｂ）に示すように、操作対象選択キー３０２の操作により胴体部１０２が操作対象に選択され、固定指定選択キー３０３の操作によりアーム１０３Ｒが第１アームに選択されている状態で旋回キー３０６が操作されると、上記と同様に胴体部１０２が旋回する。そしてこのとき、胴体部１０２の旋回に伴って、アーム１０３Ｌの全体が旋回移動すると共に、方向キー３０６の操作量に基づいて駆動部２０３によりアーム１０３Ｒの駆動部位が駆動され、ツール１５０Ｒが胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持されつつアーム１０３Ｒが旋回移動する。
【００５７】
図４（ｃ）には、固定指定選択キー３０３の操作によりアーム１０３Ｌが第１アームに選択されている状態で旋回キー３０６が操作された場合の一例を示している。図４（ｃ）に示すように、操作対象選択キー３０２の操作により胴体部１０２が操作対象に選択され、固定指定選択キー３０３の操作によりアーム１０３Ｌが第１アームに選択されている状態で旋回キー３０６が操作されると、上記と同様に胴体部１０２が旋回する。そしてこのとき、胴体部１０２の旋回に伴って、方向キー３０６の操作量に基づいて駆動部２０３によりアーム１０３Ｌの駆動部位が駆動され、ツール１５０Ｌが胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持されつつアーム１０３Ｌが旋回移動すると共に、アーム１０３Ｒの全体が旋回移動する。
【００５８】
図４（ｄ）には、固定指定選択キー３０３の操作によりアーム１０３Ｌ，１０３Ｒが共に第１アームに選択されている状態で旋回キー３０６が操作された場合の一例を示している。図４（ｄ）に示すように、操作対象選択キー３０２の操作により胴体部１０２が操作対象に選択され、固定指定選択キー３０３の操作によりアーム１０３Ｌ，１０３Ｒが共に第１アームに選択されている状態で旋回キー３０６が操作されると、上記と同様に胴体部１０２が旋回する。そしてこのとき、胴体部１０２の旋回に伴って、方向キー３０６の操作量に基づいて駆動部２０３によりアーム１０３Ｌ，１０３Ｒの駆動部位が駆動され、ツール１５０Ｌ，１５０Ｒが胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持されつつアーム１０３Ｌ，１０３Ｒが旋回移動する。
【００５９】
そして、方向キー３０５及び旋回キー３０６の操作によりツール１５０Ｌ，１５０Ｒの先端位置が任意の位置に誘導され、確定キー３０７が操作されると、その確定キー３０７の操作時におけるツール１５０Ｌ，１５０Ｒの先端位置、すなわち、方向キー３０５及び旋回キー３０６の操作により位置決めされたツール１５０Ｌ，１５０Ｒの先端位置が、教示点に設定される。設定された教示点に関するデータは、補間動作の種別に対応する移動命令等と共に、出力部３０１よりロボットコントローラ２００へ出力され、これらに基づいて生成された教示データが教示データ格納部２０１に格納される。
【００６０】
（Ｄ）補間演算部による補間制御方法
次に、ロボットコントローラ２００の補間演算部２０２による補間制御方法について説明する。
【００６１】
上記のようにしてロボット１００の教示点が設定された後、再生キー３０８が操作されると、補間演算部２０２は、その再生キー３０８の操作時（動作開始時）におけるツール１５０Ｌ，１５０Ｒの先端位置をアーム１０３Ｌ，１０３Ｒの動作開始位置として、動作開始位置から教示データ格納部２０１に格納された教示データで表される教示点までの移動に必要な移動時間や加減速時間を演算する。このとき、移動時間は、加減速を行わない場合の演算周期の回数として求め、分割数ｎとする。
【００６２】
図５（ａ）、図５（ｂ）、図５（ｃ）、及び図５（ｄ）は、補間演算部２０２による補間制御方法の一例を説明する説明図である。なお、これら図５（ａ）、図５（ｂ）、図５（ｃ）、及び図５（ｄ）中では、アーム１０３Ｌ、１０３Ｒのうち、アーム１０３Ｌ側の補間制御における制御点だけを図示している。また、胴体部１０２上に設置されたアーム１０３Ｌの末端（詳細には、肩部１０４Ｌの末端）を補間制御における第１制御点Ｐとし、第１制御点Ｐの動作開始時における位置をＰ１、第１制御点Ｐの教示点における位置をＰ２としている。また、ツール１５０Ｌの先端を補間制御における第２制御点Ｑとし、第２制御点Ｑの動作開始時における位置をＱ１、第２制御点Ｑの教示点における位置をＱ２としている。
【００６３】
図５（ａ）には、胴体部１０２の旋回に対してアーム１０３Ｌが直線補間動作を行う場合の一例を示しており、図５（ｂ）には、図５（ａ）の詳細を示している。図５（ａ）及び図５（ｂ）において、補間演算部２０２は、動作開始位置から教示点までの移動に必要な移動時間や加減速時間を演算した後、公知の適宜の手法により、第１制御点Ｐを補間制御し、その補間制御された第１制御点Ｐを基準に第２制御点Ｑを直線補間制御する。
【００６４】
すなわち、補間演算部２０２は、教示データ格納部２０１に格納された教示データに基づき、第２制御点Ｑ１，Ｑ２の位置及び姿勢でのアーム１０３Ｌの第２〜第８関節部Ｊ２〜Ｊ８の角度情報を取得する。次に、第２制御点Ｑに関して、Ｑ１からＱ２へ直線補間動作を行う計算を行う。このとき、上記分割数ｎに対するｉ番目の第２制御点Ｑｉの位置及び姿勢を表すマトリックスをＴｉ（ｉ＝１…ｎ）とする。さらに、胴体部１０２上の第１制御点ＰがＰ１からＰ２へ旋回移動を行う計算を行う。このとき、上記分割数Ｎに対するｉ番目の第１制御点Ｐｉの位置を表すマトリックスをＳｉ（ｉ＝１…ｎ）とする。このＳｉを逆変換することにより、動作開始位置と教示点との間の各補間点における胴体部１０２の第１関節部Ｊ１の角度を算出する。その後、下記のマトリックス計算の結果得られるＵｉを逆変換することにより、動作開始位置と教示点との間の各補間点におけるアーム１０３Ｌの第２〜第８関節部Ｊ２〜Ｊ８の角度を算出する。
Ｔｉ＝Ｓｉ・Ｕｉ
Ｕｉ＝Ｓｉ−１・Ｔｉ（ｉ＝１…ｎ）
また、アーム１０３Ｒ側の補間制御における制御点に関しても、補間動作を行う計算を上記と同様に行って、動作開始位置と教示点との間の各補間点におけるアーム１０３Ｒの第９〜第１５関節部Ｊ９〜Ｊ１５の角度を算出する。
【００６５】
そして、補間演算部２０２は、以上のようにして算出した、動作開始位置と教示点との間の各補間点における、胴体部１０２の第１関節部Ｊ１の角度情報、及び、アーム１０３Ｌの第２〜第８関節部Ｊ２〜Ｊ８の角度情報、アーム１０３Ｒの第９〜第１５関節部Ｊ９〜Ｊ１５の角度情報を、上記駆動部２０３に入力する。これにより、駆動部２０３が、胴体部１０２及びアーム１０３Ｌ，１０３Ｒの各駆動部位を駆動して、胴体部１０２及びアーム１０３Ｌ，１０３Ｒを並行して動作させる。すなわち、胴体部１０２に旋回動作を行わせつつ、アーム１０３Ｌに直線補間動作を行わせると共に、アーム１０３Ｒに補間動作を行わせる。
【００６６】
図５（ｃ）は、アーム１０３Ｌの先端に備えられたツール１５０Ｌが胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持される場合の一例を示しており、図５（ｄ）は、図５（ｃ）の詳細を示している。図５（ｃ）及び図５（ｄ）において、補間演算部２０２は、動作開始位置から教示点までの移動に必要な移動時間や加減速時間を演算した後、公知の適宜の手法により、第１制御点Ｐを補間制御し、その補間制御された第１制御点Ｐを基準にＱ１及びＱ２の位置及び姿勢が同一となるように第２制御点Ｑを補間制御する。
【００６７】
すなわち、補間演算部２０２は、教示データ格納部２０１に格納された教示データに基づき、第２制御点Ｑ１，Ｑ２の位置及び姿勢でのアーム１０３Ｌの第２〜第８関節部Ｊ２〜Ｊ８の角度情報を取得する。次に、第２制御点Ｑに関して、Ｑ１及びＱ２の位置及び姿勢が同一となるように補間動作を行う計算を上記と同様に行い、さらに、胴体部１０２上の第１制御点ＰがＰ１からＰ２へ旋回移動を行う計算を上記と同様に行う。また、アーム１０３Ｒ側の補間制御における制御点に関しても、補間動作を行う計算を上記と同様に行う。これにより、動作開始位置と教示点との間の各補間点における、胴体部１０２の第１関節部Ｊ１の角度、及び、アーム１０３Ｌの第２〜第８関節部Ｊ２〜Ｊ８の角度、アーム１０３Ｒの第９〜第１５関節部Ｊ９〜Ｊ１５の角度を算出する。
【００６８】
そして、補間演算部２０２は、以上のようにして算出した、動作開始位置と教示点との間の各補間点における、胴体部１０２の第１関節部Ｊ１の角度情報、及び、アーム１０３Ｌの第２〜第８関節部Ｊ２〜Ｊ８の角度情報、アーム１０３Ｒの第９〜第１５関節部Ｊ９〜Ｊ１５の角度情報を、上記駆動部２０３に入力する。これにより、駆動部２０３が、胴体部１０２及びアーム１０３Ｌ，１０３Ｒの各駆動部位を駆動して、胴体部１０２及びアーム１０３Ｌ，１０３Ｒを並行して動作させる。すなわち、胴体部１０２に旋回動作を行わせつつ、ツール１５０Ｌを胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持するようにアーム１０３Ｌに補間動作を行わせると共に、アーム１０３Ｒに補間動作を行わせる。
【００６９】
（Ｅ）ロボットの動作
図６（ａ）、図６（ｂ）、及び図６（ｃ）は、ロボットコントローラ２００の制御に基づいてロボット１００が行う、第１対象物Ｗ１に対し第２対象物Ｗ２をはめ合わせる、はめ合い作業の一例を模式的に表す説明図である。なお、この場合における第１及び第２対象物Ｗ１，Ｗ２の組み合わせとしては、例えばソーサー及びカップ等が挙げられる。
【００７０】
まず、図６（ａ）に示すように、アーム１０３Ｌ，１０３Ｒのうち、教示時において固定指定選択キー３０３の操作により第１アームに選択された一方のアーム１０３（この例ではアーム１０３Ｌ）が、ツール１５０Ｌで第1対象物Ｗ１を固定するように補間動作（例えば上記ＰＴＰ補間動作等）を行う。なお、このとき、第1対象物Ｗ１のはめ合い対象となる第２対象物Ｗ２は、第２アームに相当する他方のアーム（この例ではアーム１０３Ｒ）の把持可能領域外に位置している。
【００７１】
次に、図６（ｂ）に示すように、胴体部１０２が、第２対象物Ｗ２がアーム１０３Ｒの把持可能領域に入るように所定の角度だけ旋回する。これと並行して、アーム１０３Ｌが、ツール１５０Ｌを胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持することにより第１対象物Ｗ１の固定を保持するように直線補間動作を行う。さらに、アーム１０３Ｒが、ツール１５０Ｒで第２対象物Ｗ２を把持して搬送を行える状態とするように補間動作（例えば上記ＰＴＰ補間動作等）を行う。
【００７２】
その後、図６（ｃ）に示すように、胴体部１０２が、アーム１０３Ｒが第２対象物Ｗ２を上記固定された第１対象物Ｗ１の位置まで搬送することができるように所定の角度だけ旋回する。これと並行して、アーム１０３Ｌが、ツール１５０Ｌを胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持することにより第１対象物Ｗ１の固定を保持するように直線補間動作を行う。さらに、アーム１０３Ｒが、ツール１５０Ｒで第２対象物Ｗ２を把持して上記固定された第１対象物Ｗ１の位置まで搬送するように補間動作（例えば上記ＰＴＰ補間動作等）を行う。これにより、第２対象物Ｗ２が第１対象物Ｗ１の位置まで搬送され、第１対象物Ｗ１に対し第２対象物Ｗ２をはめ合わされる。
【００７３】
（Ｆ）本実施形態の効果
以上説明したように、本実施形態のロボットシステム１は、ロボット１００と、ロボットコントローラ２００と、入力装置３００とを備えている。ロボット１００は、先端にツール１５０Ｌ，１５０Ｒを備えたアーム１０３Ｌ，１０３Ｒと、これらのアーム１０３Ｌ，１０３Ｒを支持し旋回させる胴体部１０２を有している。このロボット１００の動作は、ロボットコントローラ２００によって制御される。
【００７４】
このとき、ロボットコントローラ２００が、アーム１０３Ｌ，１０３Ｒのうちの少なくとも１つのアーム１０３の先端に備えられたツール１５０が胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持されるように、ロボット１００を制御する。これにより、同一の位置及び姿勢に保持したツール１５０（例えばハンド）を用いて、胴体部１０２の旋回の前後を通じて第１対象物Ｗ１を固定することが可能となる。そして、保持されたアーム１０３以外のアーム１０３が、上記固定された第１対象物Ｗ１に関する胴体部１０２の旋回が必要な作業を行うことができる。特に本実施形態では、ロボット１００は、アーム１０３を２つ有しており、ロボットコントローラ２００は、一方のアーム１０３で、ツール１５０を胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持することにより第１対象物Ｗ１を固定すると共に、他方のアーム１０３で、上記固定された第１対象物Ｗ１に関する胴体部１０２の旋回が必要な作業を行うように、ロボット１００を制御する。これにより、ロボット１００が第１対象物Ｗ１に対し第２対象物Ｗ２をはめ合わせる、はめ合い作業を行う場合において、所定のアーム１０３で第１対象物Ｗ１を固定しつつ、他のアーム１０３で第２対象物Ｗ２を胴体部１０２の旋回により取りに行く作業や、当該第２対象物Ｗ２を上記固定された第１対象物Ｗ１の位置まで胴体部１０２の旋回により搬送する作業等を行うことができる。
【００７５】
このように、本実施形態によれば、第１対象物Ｗ１を固定しつつ旋回が必要となる作業を１台のロボット１００で行うことができる。またこのとき、胴体部１０２とアーム１０３Ｌ，１０３Ｒとを並行して動作させることができるので、ロボット１００の据付面積の効率化が図られ、サイクルタイムを短縮でき、作業効率を向上させることができるという効果もある。
【００７６】
また、本実施形態では特に、入力装置３００が固定指定選択キー３０３を有することにより、教示点の入力時に、ツール１５０を同一の位置及び姿勢に保持したい第１アームをアーム１０３Ｌ，１０３Ｒの中から容易に選択することができる。また、教示点の入力時に第１アームを指定可能とすることで、当該第１アームについては動作開始位置と同一の教示点を自動設定することが可能となり、教示作業を簡易化することができる。
【００７７】
また、本実施形態では特に、ロボットコントローラ２００の補間演算部２０２が、入力装置３００の固定指定選択キー３０３で選択された第１アームが直線補間動作を行うように補間点を演算し、ロボットコントローラ２００の駆動部２０３が当該演算された補間点に基づき第１アームを駆動する。これにより、第１アームは、動作開始時における先端位置と教示点との間を直線状に移動するので、第１アームのツール１５０が旋回の前後を通じて同一の位置及び姿勢に保持されるように、ロボット１００を確実に制御することができる。
【００７８】
また、本実施形態では特に、教示点の入力時に、入力装置３００の補間種別選択キー３０４で第２アームの補間動作の種別を選択可能とすることで、ロボットシステム１の動作環境・状況等に応じて第２アームの補間動作を使い分けることができる。
【００７９】
また、本実施形態では特に、入力装置３００が、ツール１５０の先端を３次元上の任意の位置に誘導するようにアーム１０３を操作する方向キー３０５と、胴体部１０２を任意の角度に旋回するように操作する旋回キー３０６と、確定キー３０７とを有している。方向キー３０５及び旋回キー３０６が操作されると、ロボットコントローラ２００の駆動部２０３が、その操作量に基づきアーム１０３及び胴体部１０２を駆動する。確定キー３０７は、このようにして方向キー３０５及び旋回キー３０６の操作により位置決めされたアーム１０３のツール１５０の先端位置を、教示点に設定する。このとき、ロボットコントローラ２００は、教示点の入力時における旋回キー３０６の操作にかかわらず、第１アームのツール１５０が胴体部１０２の旋回の前後を通じて同一の位置及び姿勢に保持されるように、ロボット１００を制御する。これにより、教示点の入力時において胴体部１０２を旋回させた場合でも、第１アームについては、方向キー３０５を用いて位置決めすることなく、動作開始位置と同一の教示点を自動的に設定することができる。したがって、教示作業を簡易化することができる。
【００８０】
なお、実施の形態は、上記内容に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。例えば、上記実施形態では、ロボット１００が２つのアーム１０３Ｌ、１０３Ｒを有する場合を一例として説明したが、これに限られず、ロボット１００がロボットアームを３つ以上有する場合にも適用することができる。
【００８１】
また、上記実施形態では、制御ユニットであるロボットコントローラ２００をロボット１００とは別の場所に設けていたが、これに限られず、制御ユニットを、例えばロボット１００の基台１０１部分に設置する等、ロボット１００側に設けてもよい。
【００８２】
また、上記実施形態では、入力装置３００を制御ユニットであるロボットコントローラ２００とは別体として設けていたが、これに限られず、制御ユニットが入力装置を備える構成としてもよい。
【００８３】
また、上記実施形態では、第１アームが直線補間動作を行うように、補間演算部２０３が補間点を演算していたが、これに限られず、第１アームが円弧補間動作を行うように、補間演算部２０３が補間点を演算してもよい。あるいは、状況に応じて、第１アームがＰＴＰ補間動作、直線補間動作、及び円弧補間動作のいずれかを行うように、補間演算部２０３が補間点を演算してもよい。
【００８４】
また、上記実施形態では、ロボットシステム１を第１対象物Ｗ１に対し第２対象物Ｗ２をはめ合わせる、はめ合い作業に適用した場合を例示したが、これに限られず、他の作業に適用してもよい。例えば、釘を打ち込んだりボルトを締める作業を行う場合において、第1アームで釘やボルトを固定しつつ、第２アームでトンカチやドライバーを取りに行く（搬送する）場合などにも適用できる。
【００８５】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【００８６】
その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００８７】
１            ロボットシステム
１００        ロボット
１０２        胴体部（旋回装置）
１０３Ｌ，Ｒ  アーム（ロボットアーム）
１５０Ｌ、Ｒ  ツール
２００        ロボットコントローラ（制御ユニット）
２０２        補間演算部
２０３        駆動部
３００        入力装置
３０３        固定指定選択キー（アーム選択手段）
３０４        補間種別選択キー（補間選択手段）
３０５        方向キー（アーム操作手段）
３０６        旋回キー（旋回操作手段）
３０７        確定キー（教示点設定手段）
Ｗ１          第１対象物（対象物）
Ｗ２          第２対象物（対象物）
【図１】
0005441018.tif 000002
【図２】
0005441018.tif 000003
【図３】
0005441018.tif 000004
【図４】
0005441018.tif 000005
【図５】
0005441018.tif 000006
【図６】
0005441018.tif 000007