(57)【要約】【課題】ロボットに対する教示作業を容易化することのできるティーチングシステム、ロボットシステムおよびティーチング方法を提供する。【解決手段】実施形態に係るティーチングシステムにあっては、データ取得部と、ジョブ生成部とを備える。データ取得部は、ツールでワークを保持して回転させる作業を行うロボットにおけるツールの初期姿勢、ツールの最終姿勢、ワークの回転中心軸、および、ワークの回転中心軸回りの回転角度を含むデータを取得する。ジョブ生成部は、データ取得部で取得されたデータに基づき、ツールを初期姿勢とした後、ワークを回転中心軸回りに回転角度回転させた場合にツールが最終姿勢となるように、実際のロボットを動作させるジョブプログラムを生成する。【選択図】図４
2016010824.tif 000002
【特許請求の範囲】
【請求項１】
ツールでワークを保持して回転させる作業を行うロボットにおける前記ツールの初期姿勢、前記ツールの最終姿勢、前記ワークの回転中心軸、および、前記ワークの前記回転中心軸回りの回転角度を含むデータを取得するデータ取得部と、
前記データ取得部で取得された前記データに基づき、前記ツールを前記初期姿勢とした後、前記ワークを前記回転中心軸回りに前記回転角度回転させた場合に前記ツールが前記最終姿勢となるように、実際の前記ロボットを動作させるジョブプログラムを生成するジョブ生成部と
を備えることを特徴とするティーチングシステム。
【請求項２】
前記データ取得部は、
前記ツールに応じて予め設定されたツール座標系によって規定される前記ツールの姿勢を前記ツールの前記初期姿勢として取得すること
を特徴とする請求項１に記載のティーチングシステム。
【請求項３】
前記ワークの始点と、前記ワークの回転中心点と、前記始点および前記回転中心点以外の任意の点とがユーザによって教示された場合、前記データ取得部は、
前記回転中心点と前記任意の点とを結ぶ軸を前記ワークの前記回転中心軸として取得し、
前記ジョブ生成部は、
前記始点と前記回転中心点とを含み、かつ前記回転中心軸に直交する面上、もしくは該面と平行な面上で前記ワークを回転させるように、前記ジョブプログラムを生成すること
を特徴とする請求項１または２に記載のティーチングシステム。
【請求項４】
前記データ取得部は、
予め設定された重力方向に対して平行な軸を前記ワークの前記回転中心軸として取得すること
を特徴とする請求項１または２に記載のティーチングシステム。
【請求項５】
前記データ取得部は、
予め設定された任意の３次元座標系のうちの一つの軸を前記ワークの前記回転中心軸として取得すること
を特徴とする請求項１または２に記載のティーチングシステム。
【請求項６】
前記データ取得部は、
ユーザによって教示された任意の点での前記ツールの姿勢を前記ツールの前記最終姿勢として取得すること
を特徴とする請求項１〜５のいずれか一つに記載のティーチングシステム。
【請求項７】
前記データ取得部は、
ユーザによって教示された回転角度を前記ワークの前記回転角度として取得すること
を特徴とする請求項１〜６のいずれか一つに記載のティーチングシステム。
【請求項８】
前記ワークの前記回転角度は、
３６０度以上であること
を特徴とする請求項１〜７のいずれか一つに記載のティーチングシステム。
【請求項９】
請求項１〜８のいずれか一つに記載のティーチングシステムによって生成された前記ジョブプログラムに従って前記ロボットを動作させて、前記ツールで前記ワークを保持して回転させる作業を行うこと
を特徴とするロボットシステム。
【請求項１０】
ツールでワークを保持して回転させる作業を行うロボットにおける前記ツールの初期姿勢、前記ツールの最終姿勢、前記ワークの回転中心軸、および、前記ワークの前記回転中心軸回りの回転角度を含むデータを取得するデータ取得工程と、
前記データ取得工程で取得された前記データに基づき、前記ツールを前記初期姿勢とした後、前記ワークを前記回転中心軸回りに前記回転角度回転させた場合に前記ツールが前記最終姿勢となるように、実際の前記ロボットを動作させるジョブプログラムを生成するジョブ生成工程と
を含むことを特徴とするティーチング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ティーチングシステム、ロボットシステムおよびティーチング方法に関する。
【背景技術】
【０００２】
従来、ハンドなどのツールが取り付けられ、取り付けられたツールでワークに対して所定の作業を行うロボットが知られている。また、かかるロボットに対して、所定の作業を行うための動作を教示するティーチングシステムも種々提案されている。
【０００３】
上記した所定の作業としては、たとえば、アーク溶接作業やワークの研削作業などツールを円弧状に移動させる作業がある。上記した作業の場合、ティーチングシステムにおいては、たとえばツールの始点、終点および参照点がユーザによって教示され、始点と終点との間で円弧補間を行い、ロボットを動作させるジョブプログラムを生成するようにしている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−１１８７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記したティーチングシステムにあっては、所定の作業がツールでワークを保持して回転させるような作業である場合、ロボットに対するユーザの教示作業が煩雑になることがあった。具体的には所定の作業が、ツールでヘラ（ワーク）を保持してシャーレ内で回転させ、ヘラでシャーレ内の試料をこそぎ取る作業や、ツールで試験管（ワーク）を保持して回転させ、試験管内の試料を攪拌する作業などの場合、ユーザの教示作業が煩雑になることがあった。
【０００６】
すなわち、たとえばツールで試験管を回転させる場合、試験管の重力方向に対する傾きを徐々に変化させつつ回転させることで、試験管内の試料を効率良く攪拌することができる。従って、上記したティーチングシステムでは、たとえば、まず試験管の長手方向が重力方向と平行な状態でツールの始点や終点等の教示を行い、その後、試験管を僅かに傾けた状態で再びツールの始点や終点等の教示を行うなど、ツールの姿勢ごとにロボットの教示が行われていた。そのため、教示の回数が増加し、結果として教示作業が煩雑になることがあった。
【０００７】
実施形態の一態様は、上記に鑑みてなされたものであって、ロボットに対する教示作業を容易化することのできるティーチングシステム、ロボットシステムおよびティーチング方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態の一態様に係るティーチングシステムは、データ取得部と、ジョブ生成部とを備える。データ取得部は、ツールでワークを保持して回転させる作業を行うロボットにおける前記ツールの初期姿勢、前記ツールの最終姿勢、前記ワークの回転中心軸、および、前記ワークの前記回転中心軸回りの回転角度を含むデータを取得する。ジョブ生成部は、前記データ取得部で取得された前記データに基づき、前記ツールを前記初期姿勢とした後、前記ワークを前記回転中心軸回りに前記回転角度回転させた場合に前記ツールが前記最終姿勢となるように、実際の前記ロボットを動作させるジョブプログラムを生成する。
【発明の効果】
【０００９】
実施形態の一態様によれば、ロボットに対する教示作業を容易化することができる。
【図面の簡単な説明】
【００１０】
【図１Ａ】図１Ａは、第１の実施形態に係るティーチングシステムを含むロボットシステムの正面視による説明図である。
【図１Ｂ】図１Ｂは、図１Ａに示すロボットシステムの上面視による説明図である。
【図２】図２は、ロボットの構成を示す上面図である。
【図３】図３は、ティーチングシステムのブロック図である。
【図４】図４は、ティーチング制御装置における具体的な処理およびユーザの教示作業の説明図である。
【図５Ａ】図５Ａは、ロボットの動作を説明するための説明図である。
【図５Ｂ】図５Ｂは、ロボットの動作を説明するための説明図である。
【図５Ｃ】図５Ｃは、ロボットの動作を説明するための説明図である。
【図５Ｄ】図５Ｄは、ロボットの動作を説明するための説明図である。
【図５Ｅ】図５Ｅは、ロボットの動作を説明するための説明図である。
【図６】図６は、ティーチングシステムが実行する処理手順を示すフローチャートである。
【図７】図７は、第２の実施形態に係るティーチングシステムにおいて、ユーザによる教示作業の前に行われる初期データの設定を説明するための説明図である。
【図８】図８は、試験管の攪拌作業におけるユーザの教示作業の説明図である。
【図９Ａ】図９Ａは、ロボットの動作を説明するための説明図である。
【図９Ｂ】図９Ｂは、ロボットの動作を説明するための説明図である。
【図９Ｃ】図９Ｃは、ロボットの動作を説明するための説明図である。
【図９Ｄ】図９Ｄは、ロボットの動作を説明するための説明図である。
【図１０】図１０は、第３の実施形態に係るティーチングシステムにおいて、ユーザによる教示作業の前に行われる初期データの設定を説明するための説明図である。
【図１１】図１１は、ビーカの攪拌作業におけるユーザの教示作業の説明図である。
【図１２Ａ】図１２Ａは、ロボットの動作を説明するための説明図である。
【図１２Ｂ】図１２Ｂは、ロボットの動作を説明するための説明図である。
【図１２Ｃ】図１２Ｃは、ロボットの動作を説明するための説明図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本願の開示するティーチングシステム、ロボットシステムおよびティーチング方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１２】
（第１の実施形態）
図１Ａは、第１の実施形態に係るティーチングシステムを含むロボットシステムの正面視による説明図である。また、図１Ｂは、図１Ａに示すロボットシステムの上面視による説明図である。なお、図１Ｂでは、理解し易くするため、チャンバ本体の天井部（後述）を取り外した状態を示している。また、図１Ａ，１Ｂおよび後述する図２以降の図は、いずれも模式図である。
【００１３】
図１Ａおよび図１Ｂに示すように、ロボットシステム１は、ドラフトチャンバ１０と、ロボット２０と、ティーチングシステム３０と、ロボット制御装置４０とを備える。
【００１４】
かかるロボットシステム１では、ロボット制御装置４０が、ユーザからティーチングシステム３０を介して教示された教示内容に従ってロボット２０を制御して、ドラフトチャンバ１０内の各種の器具（たとえば試験管など）を用いた作業を行う。
【００１５】
なお、ロボットシステム１は、種々の作業に適用可能であるが、たとえば、シャーレ内でヘラを回転させてシャーレ内の試料をこそぎ取る作業や、試験管を回転させて試験管内の試料を攪拌する作業などバイオメディカル分野における作業への適用が好ましい。以下、ロボットシステム１が備える構成要素について詳説する。
【００１６】
ドラフトチャンバ１０は、チャンバ本体１１と、扉部１２と、吸気部１３とを備える。チャンバ本体１１は、内部がロボット２０の作業空間となる直方体状の筐体である。かかるチャンバ本体１１は、前面の側壁に、内部空間（作業空間）と外部空間とを連通する開口部１１ａが設けられる。
【００１７】
扉部１２は、たとえば、正面視において矩形状をした枠体と、枠体の内周面に嵌め込まれ、扉部１２の外部から扉部１２の内部を視認可能な程度の透光性を有する強化ガラスとによって形成される。
【００１８】
かかる扉部１２は、開口部１１ａに取り付けられるとともに、昇降可能に構成される。従って、扉部１２は、図１Ａに示すように下降されることで開口部１１ａを閉塞してチャンバ本体１１の内部を外部から隔離された閉塞空間とする。また、図示は省略するが、扉部１２は、上昇されることで開口部１１ａを開放する。
【００１９】
また、チャンバ本体１１の内部には、作業台となる天板１４が設けられる。天板１４の上部には、ロボット２０が行う作業に用いられる各種の器具が配置される。具体的には、天板１４の上部には、図１Ｂによく示すように、シャーレ５０、シャーレ５０用のヘラ５１、試験管５２、試験管５２を保持する試験管スタンド５３、ビーカ５４、ビーカ５４を載置する載置台５５、ビーカ５４用の攪拌棒５６が配置される。なお、ヘラ５１および攪拌棒５６は、トレイＴに収納される。また、シャーレ５０、試験管５２およびビーカ５４には、たとえば薬品などの試料Ｓ（図１Ａ，１Ｂで図示せず）が入れられている。
【００２０】
なお、上記したシャーレ５０やヘラ５１、試験管５２、攪拌棒５６などの各種の器具は、後述するように、ロボット２０の作業対象である「ワーク」である。従って、以下では、シャーレ５０やヘラ５１などの各種の器具を「ワーク」という場合がある。
【００２１】
吸気部１３は、図１Ａに示すように、たとえば、チャンバ本体１１の天井部１１ｂに設けられ、チャンバ本体１１の内部の空気を吸気するファンである。吸気部１３によって吸気された空気は、図示しないＨＥＰＡフィルタ（High  Efficiency  Particulate  Air  Filter）等のエアフィルタおよび排気ダクト１５を介して屋外等へ排気される。このように、吸気部１３がチャンバ本体１１の内部から吸気することから、作業空間内を陰圧に保ち、作業中に発生する物質等が外部へ拡散するのを防止することができる。
【００２２】
なお、上記では、ロボットシステム１がドラフトチャンバ１０を備えるようにしたが、これは例示であって限定されるものではない。すなわち、ロボットシステム１においては、ドラフトチャンバ１０を備えない構成であってもよく、具体的にたとえば、天板１４上の作業空間が大気開放されていてもよい。
【００２３】
ロボット２０は、チャンバ本体１１の床面に設けられる設置台１６上に設置される。ロボット２０は、ベース部２１と、胴体部２２と、胴体部２２の両肩部分にそれぞれ左アーム２３および右アーム２４を取り付けた、いわゆる双腕ロボットである。左アーム２３および右アーム２４は、それぞれが、複数の関節軸を備える多軸ロボットである。また、ロボット２０の胴体部２２は、図示しないアクチュエータを介してベース部２１と接続されており、胴体部２２はアクチュエータによりベース部２１に対して旋回可能とされる。
【００２４】
上記したロボット２０におけるアクチュエータの回転軸および複数の関節軸について図２を用いて説明する。図２は、ロボット２０の構成を示す上面図である。
【００２５】
図２に示すように、ベース部２１と胴体部２２とは回転軸Ａ０まわりに相対的に回転可能に連結される。なお、回転軸Ａ０は、ベース部２１が設置される設置台１６の設置面に対して実質的に垂直な方向とされる。
【００２６】
胴体部２２と左アーム２３とは、回転軸Ａ１１まわりに回転可能に連結される一方、胴体部２２と右アーム２４とは、回転軸Ａ１まわりに回転可能に連結される。回転軸Ａ１および回転軸Ａ１１はそれぞれ回転軸Ａ０に対して垂直な方向である。
【００２７】
上記したように、左アーム２３および右アーム２４は、それぞれが、複数の関節軸を備える多軸ロボットであり、回転軸Ａ１、回転軸Ａ１１を含めてそれぞれ７個の回転軸（関節軸）と回転軸まわりに回転可能な関節を備える。
【００２８】
左アーム２３の回転軸Ａ１２は回転軸Ａ１１に対して垂直であり、回転軸Ａ１３は回転軸Ａ１２に対して垂直であり、回転軸Ａ１４は回転軸Ａ１３に対して垂直であり、回転軸Ａ１５は回転軸Ａ１４に対して垂直であり、回転軸Ａ１６は回転軸Ａ１５に対して垂直であり、回転軸Ａ１７は回転軸Ａ１６に対して垂直となるように構成される。また、右アーム２４の回転軸Ａ２は回転軸Ａ１に対して垂直であり、回転軸Ａ３は回転軸Ａ２に対して垂直であり、回転軸Ａ４は回転軸Ａ３に対して垂直であり、回転軸Ａ５は回転軸Ａ４に対して垂直であり、回転軸Ａ６は回転軸Ａ５に対して垂直であり、回転軸Ａ７は回転軸Ａ６に対して垂直となるように構成される。
【００２９】
なお、上記した「垂直」、あるいは後述する「平行」や「直交」などの語句は、必ずしも数学的に厳密な精度を必要とするものではなく実質的な公差や誤差などについては許容されるものである。
【００３０】
上記した左アーム２３および右アーム２４の先端部には、ヘラ５１や試験管５２、攪拌棒５６等の器具を保持（把持）可能なハンド２５が設けられる。ハンド２５は、ロボット２０が作業を行うための「ツール」の一例であるが、これに限定されるものではない。すなわち、ロボット２０が備えるツールは、各種の器具を保持可能な構成であればよく、たとえば試験管５２等を吸着して保持するような吸着部などであってもよい。
【００３１】
また、上記したロボット２０の各関節には、図示しないサーボモータのようなアクチュエータが搭載されており、ロボット制御装置４０からの動作指示に基づいてロボット２０の各関節を回転駆動する。
【００３２】
図１Ａおよび図１Ｂの説明に戻ると、ティーチングシステム３０は、ティーチング制御装置３１と、表示部３２と、操作部３３と、ジョブ情報ＤＢ（データベース）３４とを備える。ティーチングシステム３０は、ユーザから操作部３３を介して教示された教示内容に応じ、実際のロボット２０を動作させるジョブプログラムを生成する。なお、ティーチングシステム３０の構成については、後に詳説する。
【００３３】
ロボット制御装置４０は、ティーチングシステム３０で生成されたジョブプログラムに基づいてロボット２０の動作を制御する。
【００３４】
ところで、上記したティーチングシステム３０においては、たとえば、ハンド２５でヘラ５１を保持してシャーレ５０内で回転させ、シャーレ５０内の試料Ｓをこそぎ取る作業や、ハンド２５で試験管５２を保持して回転させ、試験管５２内の試料Ｓを攪拌する作業がユーザによって教示されることがある。
【００３５】
上記したような、ヘラ５１や試験管５２などのワークを回転させる作業の場合、ワークを徐々に傾けながら回転させると、試料Ｓを効率良くこそぎ取るまたは攪拌することができる。従来のティーチングシステムでは、ワークを徐々に傾けながら回転させる場合、ハンドの姿勢を変えつつ、ハンドの姿勢ごとにロボットの教示を行う必要があったため、教示の回数が増加し、結果としてユーザの教示作業が煩雑になることがあった。
【００３６】
そこで、本実施形態に係るロボットシステム１のティーチングシステム３０にあっては、ロボット２０に対する教示作業を容易化することができる構成とした。かかるティーチングシステム３０について、以下に詳しく説明する。
【００３７】
ティーチングシステム３０のティーチング制御装置３１は、ティーチングシステム３０全体を制御するコントローラであり、演算処理装置や記憶装置などを含んで構成される。なお、ティーチング制御装置３１は、表示部３２をはじめとするティーチングシステム３０の各種装置と情報伝達可能に接続される。
【００３８】
また、ティーチング制御装置３１は、操作部３３を介したユーザの操作に基づいてロボット２０の動作をシミュレートした結果を含む仮想画像を、表示部３２に対して出力する。なお、仮想画像は、具体的にたとえば、ロボット２０やワークの３次元モデルのグラフィック画像などである。
【００３９】
表示部３２は、いわゆるディスプレイなどの表示デバイスである。また、操作部３３は、マウスやキーボードなどの入力デバイスである。なお、操作部３３は、必ずしもハードウェア部品として構成される必要はなく、たとえば、タッチパネルディスプレイに表示されたタッチキーなどのソフトウェア部品であってもよい。
【００４０】
ジョブ情報ＤＢ３４は、ロボット２０を動作させるジョブプログラムなど、ティーチングに関する情報が登録されるデータベースである。ジョブ情報ＤＢ３４は、実際のロボット２０の動作を制御するコントローラであるロボット制御装置４０と情報伝達可能に接続されている。ロボット制御装置４０は、かかるジョブ情報ＤＢ３４に登録されたジョブプログラムに基づいてロボット２０の動作を制御する。
【００４１】
なお、図１Ａ，１Ｂでは、ティーチングシステム３０内に設けられたジョブ情報ＤＢ３４とロボット制御装置４０とを接続しているが、ジョブ情報ＤＢ３４とロボット制御装置４０とは必ずしも接続されている必要はない。
【００４２】
ジョブ情報ＤＢ３４とロボット制御装置４０とを接続しない構成としては、ティーチングシステム３０にて生成されたジョブプログラムをロボット制御装置４０内の所定の記憶部（図示省略）に保存する構成がある。具体的には、ティーチングシステム３０にて生成されたジョブプログラムを、ＵＳＢ(Universal  Serial  Bus)メモリなどの媒体にコピーした後、かかる媒体をロボット制御装置４０に接続して、所定の操作によりロボット制御装置４０内の所定の記憶部（図示省略）に保存する。
【００４３】
なお、図１Ａ，１Ｂでは、説明を分かりやすくする観点から、ジョブ情報ＤＢ３４とティーチング制御装置３１とを別体で構成した例を示しているが、ジョブ情報ＤＢ３４に記憶されている情報を、ティーチング制御装置３１内部の記憶部に記憶させることとしてもよい。
【００４４】
次に、実施形態に係るティーチングシステム３０のブロック構成について、図３を用いて説明する。図３は、ティーチングシステム３０のブロック図である。なお、図３では、ティーチングシステム３０の説明に必要な構成要素のみを示しており、一般的な構成要素についての記載を省略している。
【００４５】
また、図３を用いた説明では、主としてティーチング制御装置３１の内部構成について説明することとし、既に図１Ａ，１Ｂで示した表示部３２、操作部３３およびジョブ情報ＤＢ３４については説明を簡略化する。
【００４６】
図３に示すように、ティーチング制御装置３１は、制御部３１１と、記憶部３１２とを備える。制御部３１１は、画像生成部３１１ａと、表示制御部３１１ｂと、操作受付部３１１ｃと、データ取得部３１１ｄと、ジョブ生成部３１１ｅとを備える。記憶部３１２は、ハードディスクドライブや不揮発性メモリといった記憶デバイスであり、モデルデータ３１２ａと、初期データ３１２ｂと、教示データ３１２ｃとを記憶する。
【００４７】
画像生成部３１１ａは、モデルデータ３１２ａに基づき、ロボット２０およびワークを含むロボットシステム１の仮想画像を生成する。モデルデータ３１２ａは、ロボット２０、ハンド（ツール）２５およびワークの種別毎に予め定義された描画情報を含む情報である。
【００４８】
また、画像生成部３１１ａは、生成した仮想画像を表示制御部３１１ｂに対して出力する。表示制御部３１１ｂは、画像生成部３１１ａから受け取った仮想画像を表示部３２へ表示させる。
【００４９】
操作受付部３１１ｃは、操作部３３を介して入力されるユーザの各種の入力操作を受け付け、入力操作の種類に応じて画像生成部３１１ａ、データ取得部３１１ｄおよびジョブ生成部３１１ｅに対して操作に応じた信号を出力する。
【００５０】
また、操作受付部３１１ｃは、ユーザの教示作業に先立って予め入力されたデータを初期データ３１２ｂとして記憶部３１２に記憶させる操作（以下「初期設定操作」という）を受け付ける。さらに、操作受付部３１１ｃは、ユーザの教示作業によって入力されたデータを教示データ３１２ｃとして記憶部３１２に記憶させる操作（以下「教示設定操作」という）を受け付ける。操作受付部３１１ｃは、受け付けた初期設定操作および教示設定操作に応じた信号をデータ取得部３１１ｄに対して出力する。なお、初期設定操作はたとえば初期設定者が行う入力操作であり、教示設定操作はたとえばユーザが行う入力操作である。
【００５１】
データ取得部３１１ｄは、操作受付部３１１ｃから初期設定操作に応じた信号が入力されると、信号入力時に取得したデータ（たとえば後述するワールド座標系などを示すデータ）を初期データ３１２ｂとして記憶部３１２に記憶させる。また、データ取得部３１１ｄは、操作受付部３１１ｃから教示設定操作に応じた信号が入力されると、信号入力時に取得したデータ（たとえば後述するハンド２５の最終姿勢などを示すデータ）を教示データ３１２ｃとして記憶部３１２に記憶させる。
【００５２】
ジョブ生成部３１１ｅは、操作受付部３１１ｃからジョブ生成を指示する操作信号を受け取った場合に、初期データ３１２ｂおよび教示データ３１２ｃに基づいて実際のロボット２０を動作させるジョブプログラムを生成し、ジョブ情報ＤＢ３４へ登録する。
【００５３】
なお、図３を用いた説明では、ティーチング制御装置３１が予め登録されたモデルデータ３１２ａに基づいてロボット２０を含む仮想画像を生成する場合を例示した。しかしながら、これに限らず、ティーチング制御装置３１がティーチング制御装置３１と相互通信可能に接続された上位装置から画像生成に必要となる情報を逐次取得することとしてもよい。
【００５４】
次に、上記のように構成されたティーチング制御装置３１における具体的な処理およびユーザの教示作業について図４を参照しつつ説明する。図４は、ティーチング制御装置３１における具体的な処理およびユーザの教示作業の説明図である。
【００５５】
なお、以下では、ワークとしてヘラ５１を用い、ヘラ５１でシャーレ５０内の試料Ｓをこそぎ取る作業（以下「こそぎ作業」という場合がある）を例にとって説明する。また、図４は、表示部３２に表示された仮想画像であり、図の簡略化のため、左右のアーム２３，２４などの図示を省略している。
【００５６】
まず、ユーザの教示作業の前に、ワールド座標系が初期設定者によって予め設定（定義）される。ワールド座標系は、図４に示すように、Ｘ０，Ｙ０，Ｚ０を付した３次元の座標系であって、ロボット２０が配置される空間全体をあらわす座標系である。
【００５７】
ワールド座標系の設定について詳しく説明する。操作部３３が初期設定者によって操作されてワールド座標系を示すデータが入力されると、データ取得部３１１ｄはワールド座標系を示すデータを取得する。そして、データ取得部３１１ｄは、初期設定者の初期設定操作に応じた信号を操作受付部３１１ｃから受け付けると、取得したワールド座標系を示すデータを初期データ３１２ｂとして記憶部３１２に記憶させる。これにより、ワールド座標系（Ｘ０，Ｙ０，Ｚ０）が初期設定される。
【００５８】
初期データ３１２ｂが記憶部３１２に記憶された後、ユーザによるロボット２０の教示作業が行われる。具体的には、図４に示すように、ユーザは、表示部３２に表示された仮想画像において、ヘラ５１の先端が所望する始点Ａに位置するようにハンド２５を移動させるとともに、始点Ａにてハンド２５を初期姿勢にする。
【００５９】
ここで、ヘラ５１の始点Ａとは、こそぎ作業において所望されるヘラ５１の最初の位置である。また、ハンド２５の初期姿勢とは、こそぎ作業を開始するときに所望されるハンド２５の姿勢であり、Ｘ１，Ｙ１，Ｚ１を付した３次元の座標系たるツール座標系を用いてあらわされる。なお、ツール座標系は、ツールの種類（ここではハンド２５）に応じてＸ１軸、Ｙ１軸、Ｚ１軸が設定されている。
【００６０】
上記したハンド２５の初期姿勢には、ハンド２５のＺ１軸方向のＺ０軸方向に対する傾き角度が含まれる。具体的に図４の例では、ハンド２５のＺ１軸方向のＺ０軸方向に対する傾き角度は０度とされている。すなわち、ハンド２５の初期姿勢は、Ｚ１軸方向がＺ０軸方向に対して平行な姿勢とされている。
【００６１】
データ取得部３１１ｄは、上記したヘラ５１の始点Ａおよびハンド２５の初期姿勢を示すデータを取得する。そして、データ取得部３１１ｄは、ユーザの教示設定操作に応じた信号を操作受付部３１１ｃから受け付けると、取得したハンド２５の初期姿勢などを示すデータを教示データ３１２ｃとして記憶部３１２に記憶させる。
【００６２】
次いで、ユーザは、表示部３２に表示された仮想画像において、ヘラ５１の先端が所望する回転中心点Ｂに位置するようにハンド２５を移動させる。ここで、ヘラ５１の回転中心点Ｂとは、こそぎ作業の際に回転するヘラ５１の回転中心となる位置である。
【００６３】
データ取得部３１１ｄは、上記したヘラ５１の回転中心点Ｂを示すデータを取得する。そして、データ取得部３１１ｄは、ユーザの教示設定操作に応じた信号を操作受付部３１１ｃから受け付けると、取得したヘラ５１の回転中心点Ｂを示すデータを教示データ３１２ｃとして記憶部３１２に記憶させる。
【００６４】
次いで、ユーザは、所望するヘラ５１の回転中心軸Ｄおよびハンド２５の最終姿勢を教示する。具体的にユーザは、表示部３２に表示された仮想画像において、ヘラ５１の先端が上記した始点Ａおよび回転中心点Ｂ以外の任意の点Ｃに位置するようにハンド２５を移動させるとともに、任意の点Ｃにてハンド２５を最終姿勢にする。
【００６５】
ここで、任意の点Ｃとは、こそぎ作業を行う際のヘラ５１の回転中心軸Ｄを教示するための点である。詳しくは、ヘラ５１の回転中心点Ｂと任意の点Ｃとを結ぶ軸が、ヘラ５１の回転中心軸Ｄとして教示される。このように、任意の点Ｃは回転中心軸Ｄを教示するための点であることから、以下では、任意の点Ｃを「回転中心軸教示点Ｃ」という場合がある。
【００６６】
なお、上記した始点Ａ、回転中心点Ｂおよび回転中心軸教示点Ｃはいずれも、ロボット２０の動作を教示する教示位置であり、また、制御対象箇所である制御点でもある。上記では、一例として、制御点がヘラ５１の先端となるようにした。これにより、たとえばこそぎ作業でヘラ５１の先端が円弧軌道を描く場合に、ヘラ５１がシャーレ５０の側面等に干渉するのを防止することができる。
【００６７】
また、上記したハンド２５の最終姿勢とは、こそぎ作業を終了するときに所望されるハンド２５の姿勢であり、ツール座標系（Ｘ１，Ｙ１，Ｚ１）を用いてあらわされる。
【００６８】
なお、ハンド２５の最終姿勢には、初期姿勢と同様、ハンド２５のＺ１軸方向のＺ０軸方向に対する傾き角度αが含まれる。具体的に、図４の例では、ハンド２５のＺ１軸方向のＺ０軸方向に対する傾き角度αは１０度とされている。
【００６９】
データ取得部３１１ｄは、上記したヘラ５１の回転中心軸Ｄおよびハンド２５の最終姿勢を示すデータを取得する。そして、データ取得部３１１ｄは、ユーザの教示設定操作に応じた信号を操作受付部３１１ｃから受け付けると、取得したヘラ５１の回転中心軸Ｄおよびハンド２５の最終姿勢を示すデータを教示データ３１２ｃとして記憶部３１２に記憶させる。
【００７０】
なお、上記したハンド２５の初期姿勢および最終姿勢において、Ｚ１軸方向のＺ０軸方向に対する傾き角度をそれぞれ０度および１０度としたが、これは例示であって、任意の値に設定可能である。また、上記では、始点Ａ、回転中心点Ｂ、回転中心軸教示点Ｃの順で説明したが、教示の順番はこれに限られるものではない。
【００７１】
また、上記では、回転中心軸教示点Ｃにおいてハンド２５の最終姿勢が教示されるように構成したが、これに限定されるものではない。すなわち、たとえば回転中心点Ｂにおいてハンド２５の最終姿勢が教示されるようにしてもよい。さらには、始点Ａ、回転中心点Ｂおよび回転中心軸教示点Ｃとは別の任意な点において、ハンド２５の最終姿勢が教示されるようにしてもよい。
【００７２】
回転中心軸教示点Ｃでは、ヘラ５１の回転方向Ｅも教示される。具体的には、始点Ａと回転中心点Ｂとを含み、かつ回転中心軸Ｄに直交する面を符号Ｆで示した場合、円弧を描く面Ｆに垂直な線（回転中心軸）Ｄ上に図中上方へ向かって正方向とした法線ベクトルＨについて、正方向へ向かって右まわり方向（右ねじ方向）が回転方向Ｅとして定義される。
【００７３】
なお、上記では、回転中心軸教示点Ｃが面Ｆに対して上方にあるため、法線ベクトルＨの正方向は図中上向きとしたが、逆に、回転中心軸教示点Ｃが面Ｆの下方である場合、法線ベクトルＨの正方向は図中下向きとなり、回転方向Ｅも図４に示す回転方向の反対回り（すなわち時計回り）となる。
【００７４】
データ取得部３１１ｄは、上記したヘラ５１の回転方向Ｅを示すデータを取得するとともに、取得したデータを教示データ３１２ｃとして記憶部３１２に記憶させる。
【００７５】
なお、上記では、回転中心軸教示点Ｃにおいてヘラ５１の回転方向Ｅが教示されるようにしたが、これに限られるものではない。すなわち、たとえば、ユーザの教示作業の前に、回転方向Ｅが初期設定者によって予め設定され、回転方向Ｅを示すデータが初期データ３１２ｂとして記憶部３１２に記憶されるようにしてもよい。
【００７６】
さらに、ユーザは、所望するヘラ５１の回転中心軸Ｄ回りの回転角度を操作部３３を介して入力する。ヘラ５１の回転中心軸Ｄ回りの回転角度とは、こそぎ作業を開始してから終了するまでに回転させるべきヘラ５１の回転角度である。
【００７７】
なお、ここでは、ヘラ５１の回転角度が、たとえば７２０度に設定される。また、ヘラ５１の回転角度は、任意の数値に設定可能であるが、３６０度以上であることが好ましい。ヘラ５１の回転角度が３６０度以上に設定されることで、シャーレ５０内の試料Ｓをヘラ５１でムラなく全体的にこそぎ取ることが可能となる。
【００７８】
なお、ヘラ５１の回転角度に代えて、ヘラ５１の回転数が入力されるようにしてもよい。すなわち、上記の例では、ヘラ５１の回転角度７２０度に代えて、ヘラ５１の回転数として２回と設定されるようにしてもよい。
【００７９】
データ取得部３１１ｄは、ユーザによって教示された回転角度（ここでは７２０度）をヘラ５１の回転角度を示すデータとして取得するとともに、取得したデータを教示データ３１２ｃとして記憶部３１２に記憶させる。
【００８０】
このように、データ取得部３１１ｄは、ハンド２５の初期姿勢、ハンド２５の最終姿勢、ヘラ５１の回転中心軸Ｄ、および、ヘラ５１の回転中心軸Ｄ回りの回転角度などを含むデータを取得する。
【００８１】
なお、図４に示す例では、理解し易くするため、ヘラ５１を保持した状態のハンド２５の仮想画像による教示作業を行ったが、これに限定されるのもではなく、ヘラ５１を保持していないハンド２５の仮想画像による教示作業を行うようにしてもよい。
【００８２】
続いて、ジョブ生成部３１１ｅは、データ取得部３１１ｄで取得されたデータ、具体的には初期データ３１２ｂおよび教示データ３１２ｃに基づき、実際のロボット２０を動作させるジョブプログラムを生成する。
【００８３】
詳しくは、ジョブ生成部３１１ｅは、初期データ３１２ｂおよび教示データ３１２ｃに基づき、ハンド２５を初期姿勢とした後、ヘラ５１を回転中心軸Ｄ回りで、かつ、回転方向Ｅへ回転角度（ここでは７２０度）回転させた場合にハンド２５が最終姿勢となるように、ジョブプログラムを生成する。
【００８４】
このとき、ジョブ生成部３１１ｅは、ハンド２５を初期姿勢から最終姿勢へ姿勢変化させる際、回転角度に対して均等に姿勢が変化するように、ジョブプログラムを生成する。すなわち、上記した例では、ヘラ５１が回転角度の５０％である３６０度回転した場合、ハンド２５の傾き角度は最終姿勢における傾き角度αの５０％である５度とされる。そして、ヘラ５１が回転角度の１００％である７２０度回転した場合、ハンド２５の傾き角度は最終姿勢における傾き角度αの１００％である１０度とされる。
【００８５】
また、ジョブ生成部３１１ｅは、ヘラ５１を回転させる領域として、上記した始点Ａと回転中心点Ｂとを含み、かつ回転中心軸Ｄに直交する面Ｆ上でヘラ５１を回転させるように、ジョブプログラムを生成する。
【００８６】
これにより、実際のロボット２０のハンド２５に保持されたヘラ５１を、ユーザの所望する始点Ａからこそぎ作業を開始して面Ｆ上で回転させるように、動作させることができる。
【００８７】
なお、上記では、面Ｆ上でヘラ５１を回転させるようにしたが、これに限定されるものではなく、たとえば、面Ｆと平行な面上でヘラ５１を回転させるようにしてもよい。
【００８８】
ジョブ生成部３１１ｅで生成されたジョブプログラムは、ジョブ情報ＤＢ３４に登録される。教示作業後においては、ロボット制御装置４０は、登録されたジョブプログラムに基づいてロボット２０の動作を制御することが可能となる。
【００８９】
ここで、上記したティーチングシステム３０によって教示された内容に従って制御されるロボット２０の動作について、図５Ａ〜図５Ｅを用いて説明する。図５Ａ〜図５Ｅは、上記したジョブプログラムに基づくロボット２０の動作を説明するための説明図である。なお、図５Ａ〜図５Ｅでは、図示の簡略化のため、ハンド２５の図示を省略し、ツール座標系のみを示した。
【００９０】
まず、図５Ａに示すように、ヘラ５１を保持するハンド２５は、始点Ａにおいて初期姿勢とされる。その後、ヘラ５１は回転中心軸Ｄ回りで、かつ、回転方向Ｅへ回転角度（７２０度）回転させられ、ハンド２５が最終姿勢となる。
【００９１】
具体的には、図５Ｂに示すように、ヘラ５１が回転中心軸Ｄ回りに１８０度回転させられた場合、ハンド２５のＺ１軸方向のＺ０軸方向に対する傾き角度α１は２．５度とされる。続いて、図５Ｃに示すように、ヘラ５１が回転中心軸Ｄ回りに３６０度回転させられた場合、ハンド２５の傾き角度α２は５度とされ、ヘラ５１が回転中心軸Ｄ回りに５４０度回転させられた場合、ハンド２５の傾き角度α３は７．５度とされる（図５Ｄ参照）。
【００９２】
そして、図５Ｅに示すように、ヘラ５１が回転中心軸Ｄ回りに７２０度回転させられた場合、ハンド２５は最終姿勢とされる、すなわち、ハンド２５の傾き角度α４（α）は１０度とされる。
【００９３】
このように、ティーチングシステム３０においては、ヘラ５１を回転させる作業の場合、作業途中のハンド２５の姿勢などを教示する必要がなくなることから、ユーザの教示回数を減少させることができ、ロボット２０に対する教示作業を容易化することができる。
【００９４】
また、ティーチングシステム３０においては、ヘラ５１を徐々に傾けながら回転させるようにしたことから、シャーレ５０内の試料Ｓを効率良くこそぎ取ることができる。
【００９５】
なお、図５Ａ〜図５Ｅに示す例では、シャーレ５０は、天板１４の適宜位置に載置されて固定された状態とされるが、これに限定されるものではない。すなわち、たとえば、ヘラ５１が左右のアーム２３，２４のうち一方のアームで保持され、シャーレ５０が他方のアームで保持されるようにしてもよい。また、シャーレ５０が他方のアームによって保持される際、シャーレ５０を傾けてもよく、その場合、回転中心軸教示点Ｃの位置をシャーレ５０の傾きに対応させてずらし、回転中心軸Ｄがシャーレ５０の底面に対して垂直となるようにしてもよい。これにより、試料Ｓがシャーレ５０の底面の端に片寄り、片寄った試料Ｓをヘラ５１でより一層効率良くこそぎ取ることも可能である。
【００９６】
また、上記では、ワークとしてヘラ５１を用いるようにしたが、これに限られず、たとえば、刷毛などシャーレ５０内の試料Ｓを攪拌または拭き取るようなものでもよい。
【００９７】
次に、図６を参照し、第１の実施形態に係るティーチングシステム３０の制御部３１１が実行する処理について説明する。図６は、ティーチングシステム３０が実行する処理手順を示すフローチャートである。
【００９８】
図６に示すように、制御部３１１は、まず、ワールド座標系などを含むデータを取得し、取得したデータを初期データ３１２ｂとして記憶部３１２に記憶させる（ステップＳ１）。
【００９９】
次いで、制御部３１１は、ハンド２５の初期姿勢、ハンド２５の最終姿勢、ヘラ５１の回転中心軸Ｄ、および、ヘラ５１の回転中心軸Ｄ回りの回転角度などを含むデータを取得し、取得したデータを教示データ３１２ｃとして記憶部３１２に記憶させる（ステップＳ２）。次いで、制御部３１１は、初期データ３１２ｂおよび教示データ３１２ｃに基づき、ロボット２０のジョブプログラムを生成する（ステップＳ３）。
【０１００】
上述してきたように、第１の実施形態に係るティーチングシステム３０は、データ取得部３１１ｄと、ジョブ生成部３１１ｅとを備える。データ取得部３１１ｄは、ツール（ハンド２５）でワーク（ヘラ５１）を保持して回転させる作業を行うロボット２０におけるツールの初期姿勢、ツールの最終姿勢、ワークの回転中心軸Ｄ、および、ワークの回転中心軸Ｄ回りの回転角度を含むデータを取得する。ジョブ生成部３１１ｅは、データ取得部３１１ｄで取得されたデータに基づき、ツールを初期姿勢とした後、ワークを回転中心軸Ｄ回りに回転角度回転させた場合にツールが最終姿勢となるように、実際のロボット２０を動作させるジョブプログラムを生成する。これにより、ロボット２０に対する教示作業を容易化することができる。
【０１０１】
（第２の実施形態）
第１の実施形態におけるシャーレ５０のこそぎ作業では、ツールの初期姿勢、ツールの最終姿勢、ワークの回転中心軸Ｄ、および、ワークの回転中心軸Ｄ回りの回転角度をユーザが教示する教示データ３１２ｃとした。
【０１０２】
かかる教示データ３１２ｃのうち、ロボット２０が行う作業の内容によっては、たとえばツールの初期姿勢やワークの回転中心軸Ｄが教示作業前に設定される初期データ３１２ｂとして記憶部３１２に記憶されるようにしておいてもよい。このように構成すれば、ユーザの教示作業をより一層容易化することができる。
【０１０３】
第２の実施形態では、具体的にハンド２５で試験管（ワーク）５２を保持して回転させ、試験管５２内の試料Ｓを攪拌する作業を例にとって説明する。
【０１０４】
図７は、第２の実施形態において、ユーザによる教示作業の前に行われる初期データ３１２ｂの設定を説明するための説明図である。なお、図７および後述する図８，１０，１１は、表示部３２に表示された仮想画像であり、図の簡略化のため、左右のアーム２３，２４などの図示を省略している。
【０１０５】
図７に示すように、ユーザの教示作業の前に、第１の実施形態のワールド座標系（Ｘ０，Ｙ０，Ｚ０）に加え、ツール座標系（Ｘ１，Ｙ１，Ｚ１）であらわされるハンド２５の初期姿勢、および、試験管５２の回転中心軸Ｄが初期設定者によって設定される。
【０１０６】
詳しくは、初期設定者は、表示部３２に表示された仮想画像において、試験管５２を保持したハンド２５を初期姿勢にする。データ取得部３１１ｄは、上記したハンド２５の初期姿勢を示すデータを取得する。そして、データ取得部３１１ｄは、初期設定者の初期設定操作に応じた信号を操作受付部３１１ｃから受け付けると、取得したハンド２５の初期姿勢を示すデータを初期データ３１２ｂとして記憶部３１２に記憶させる。
【０１０７】
なお、図７に示す例では、ハンド２５の初期姿勢に含まれる、ハンド２５のＺ１軸方向のＺ０軸方向に対する傾き角度は０度とされている。すなわち、ハンド２５の初期姿勢は、Ｚ１軸方向がＺ０軸方向に対して平行な姿勢とされている。
【０１０８】
また、初期設定者は、操作部３３を操作して重力方向ｇを示すデータを入力する。データ取得部３１１ｄは、入力された重力方向ｇに対して平行な軸を試験管５２の回転中心軸Ｄを示すデータとして取得する。ここで、重力方向ｇに対して平行な軸を試験管５２の回転中心軸Ｄとしたのは、試験管５２を回転させた場合に、試料Ｓが試験管５２から比較的飛び出し難い回転中心軸が重力方向ｇであるためである。
【０１０９】
そして、データ取得部３１１ｄは、取得した試験管５２の回転中心軸Ｄを示すデータを初期データ３１２ｂとして記憶部３１２に記憶させる。このようにして、ハンド２５の初期姿勢および回転中心軸Ｄが、ユーザの教示作業に先立って初期設定される。
【０１１０】
初期データ３１２ｂが記憶部３１２に記憶された後、ユーザによるロボット２０の教示作業が行われる。図８は、試験管５２の攪拌作業におけるユーザの教示作業の説明図である。
【０１１１】
図８に示すように、ユーザは、表示部３２に表示された仮想画像において、試験管５２が所望する回転中心点Ｂに位置するようにハンド２５を移動させるとともに、回転中心点Ｂにてハンド２５を最終姿勢にする。図８に示す例では、ハンド２５の最終姿勢に含まれる、ハンド２５の傾き角度βは４５度とされている。
【０１１２】
なお、ハンド２５は、制御点を回転中心点Ｂと一致させてから試験管５２の攪拌作業を開始することから、回転中心点Ｂはハンド２５の始点Ａと一致しているともいえる。
【０１１３】
データ取得部３１１ｄは、上記した試験管５２の回転中心点Ｂおよびハンド２５の最終姿勢を示すデータを取得する。そして、データ取得部３１１ｄは、ユーザの教示設定操作に応じた信号を操作受付部３１１ｃから受け付けると、取得した試験管５２の回転中心点Ｂおよびハンド２５の最終姿勢を示すデータを教示データ３１２ｃとして記憶部３１２に記憶させる。
【０１１４】
さらに、ユーザは、所望する試験管５２の回転中心軸Ｄ回りの回転角度を操作部３３を介して入力する。なお、ここでは、試験管５２の回転角度が、たとえば７２０度に設定されるものとする。
【０１１５】
データ取得部３１１ｄは、ユーザによって入力されて教示された回転角度（ここでは７２０度）を試験管５２の回転角度を示すデータとして取得するとともに、取得したデータを教示データ３１２ｃとして記憶部３１２に記憶させる。
【０１１６】
次いで、ジョブ生成部３１１ｅは、初期データ３１２ｂたるハンド２５の初期姿勢および試験管５２の回転中心軸Ｄ、教示データ３１２ｃたるハンド２５の最終姿勢および試験管５２の回転中心軸Ｄ回りの回転角度などに基づき、ジョブプログラムを生成する。
【０１１７】
ここで、第２の実施形態に係るティーチングシステム３０によって教示された内容に従って制御されるロボット２０の動作について、図７および図９Ａ〜図９Ｄを用いて説明する。図９Ａ〜図９Ｄは、上記したジョブプログラムに基づくロボット２０の動作を説明するための説明図である。なお、図９Ａ〜図９Ｄでは、図示の簡略化のため、ハンド２５の図示を省略し、ツール座標系のみを示した。
【０１１８】
まず、試験管５２を保持するハンド２５は、図７に示すような初期姿勢とされた後、図９Ａ〜図９Ｄに示す如く、試験管５２は回転中心軸Ｄ回り、かつ、回転方向Ｅへ回転角度（７２０度）回転させられ、ハンド２５が最終姿勢となる。
【０１１９】
具体的には、図９Ａに示すように、試験管５２が回転中心軸Ｄ回りに回転角度の２５％である１８０度回転させられた場合、ハンド２５の傾き角度β１は、最終姿勢における傾き角度βの２５％である１１．２５度とされる。
【０１２０】
続いて、図９Ｂに示すように、試験管５２が回転中心軸Ｄ回りに３６０度回転させられた場合、ハンド２５の傾き角度β２は２２．５度とされ、試験管５２が回転中心軸Ｄ回りに５４０度回転させられた場合、図９Ｃに示すように、ハンド２５の傾き角度β３は３３．７５度とされる。
【０１２１】
そして、図９Ｄに示すように、試験管５２が回転中心軸Ｄ回りに７２０度回転させられた場合、ハンド２５は最終姿勢とされる、すなわち、ハンド２５の傾き角度β４（β）は４５度とされる。
【０１２２】
このように、第２の実施形態においては、ユーザの教示作業が、ハンド２５の最終姿勢および試験管５２の回転角度を教示するだけで足りるため、ユーザの教示作業をより一層容易化することができる。なお、残余の構成および効果は、第１の実施形態と同一であるので、説明を省略する。
【０１２３】
なお、上記では、ハンド２５で試験管５２を保持して回転させるようにしたが、これは例示であって限定されるものではなく、たとえば、ハンド２５でシャーレ５０などを保持して回転させ、シャーレ５０内の試料Ｓを攪拌させるようにしてもよい。
【０１２４】
（第３の実施形態）
第２の実施形態における試験管５２の攪拌作業では、重力方向ｇに対して平行な軸を試験管５２の回転中心軸Ｄとした。しかしながら、ロボット２０が行う作業の内容や作業対象たるワークが載置される環境によっては、回転中心軸Ｄを重力方向ｇ以外の任意な軸で初期設定できる方が好ましいことがある。
【０１２５】
そこで、第３の実施形態に係るティーチングシステム３０にあっては、ワークの回転中心軸Ｄを任意な軸で初期設定できるような構成とした。なお、第３の実施形態では、具体的にハンド２５で攪拌棒（ワーク）５６を保持してビーカ５４内で回転させ、攪拌棒５６でビーカ５４内の試料Ｓを攪拌する作業を例にとって説明する。
【０１２６】
図１０は、第３の実施形態において、ユーザによる教示作業の前に行われる初期データ３１２ｂの設定を説明するための説明図である。図１０に示すように、試料Ｓが入ったビーカ５４は、破線で示す載置台５５に載置される。載置台５５は、ビーカ５４を載置する載置面５５ａが水平面に対して傾斜するように形成される。
【０１２７】
このように、載置面５５ａが傾斜した載置台５５に置かれたビーカ５４の試料Ｓを攪拌棒５６で攪拌する場合、ビーカ５４内の試料Ｓを効率良く攪拌するため、攪拌棒５６の回転中心軸Ｄが載置台５５の傾斜に対応させて設定される。
【０１２８】
詳しく説明すると、ユーザの教示作業の前に、ワールド座標系（Ｘ０，Ｙ０，Ｚ０）、ツール座標系（Ｘ１，Ｙ１，Ｚ１）であらわされるハンド２５の初期姿勢に加え、ユーザ座標系が初期設定者によって設定される。
【０１２９】
ユーザ座標系は、図１０に示すように、Ｘ２，Ｙ２，Ｚ２を付した３次元の座標系であって、任意に設定可能な座標系である。ここで、ユーザ座標系は、Ｚ２軸方向が載置台５５の載置面５５ａに対して垂直で、かつ、ビーカ５４の底面の中心または略中心を通る３次元座標系で設定される。なお、図１０に示すユーザ座標系は、例示であって限定されるものではない。
【０１３０】
データ取得部３１１ｄは、初期設定者によって設定されたユーザ座標系（Ｘ２，Ｙ２，Ｚ２）のうちの一つの軸、ここではＺ２軸を攪拌棒５６の回転中心軸Ｄを示すデータとして取得する。そして、データ取得部３１１ｄは、取得した攪拌棒５６の回転中心軸Ｄを示すデータを初期データ３１２ｂとして記憶部３１２に記憶させる。
【０１３１】
また、初期設定者は、第２の実施形態と同様、表示部３２に表示された仮想画像において、攪拌棒５６を保持したハンド２５を初期姿勢にする。データ取得部３１１ｄは、ハンド２５の初期姿勢を示すデータを取得する。そして、データ取得部３１１ｄは、初期設定者の初期設定操作に応じた信号を操作受付部３１１ｃから受け付けると、取得したハンド２５の初期姿勢を示すデータを初期データ３１２ｂとして記憶部３１２に記憶させる。
【０１３２】
なお、図１０に示す例では、ハンド２５の初期姿勢に含まれる、ハンド２５のＺ１軸方向の回転中心軸Ｄ方向に対する傾き角度は０度とされている。すなわち、ハンド２５の初期姿勢は、Ｚ１軸方向が回転中心軸Ｄ方向に対して平行な姿勢とされている。なお、第３の実施形態では、理解の便宜のため、ハンド２５の傾き角度の基準となる軸を回転中心軸Ｄとした。
【０１３３】
このようにして、ハンド２５の初期姿勢および攪拌棒５６の回転中心軸Ｄが、ユーザの教示作業に先立って初期設定される。初期データ３１２ｂが記憶部３１２に記憶された後、ユーザによるロボット２０の教示作業が行われる。
【０１３４】
図１１は、ビーカ５４の攪拌作業におけるユーザの教示作業の説明図である。図１１に示すように、ユーザは、表示部３２に表示された仮想画像において、攪拌棒５６の先端が所望する任意の点Ｃに位置するようにハンド２５を移動させるとともに、任意の点Ｃにてハンド２５を最終姿勢にする。図１１に示す例では、ハンド２５の最終姿勢に含まれる、ハンド２５の傾き角度γは１０度とされている。
【０１３５】
データ取得部３１１ｄは、上記したハンド２５の最終姿勢を示すデータを取得する。そして、データ取得部３１１ｄは、ユーザの教示設定操作に応じた信号を操作受付部３１１ｃから受け付けると、取得したハンド２５の最終姿勢を示すデータを教示データ３１２ｃとして記憶部３１２に記憶させる。
【０１３６】
さらに、ユーザは、所望する攪拌棒５６の回転中心軸Ｄ回りの回転角度を操作部３３を介して入力する。なお、ここでは、攪拌棒５６の回転角度が、たとえば３６０度に設定されるものとする。
【０１３７】
データ取得部３１１ｄは、ユーザによって入力されて教示された回転角度（ここでは３６０度）を攪拌棒５６の回転角度を示すデータとして取得するとともに、取得したデータを教示データ３１２ｃとして記憶部３１２に記憶させる。
【０１３８】
次いで、ジョブ生成部３１１ｅは、初期データ３１２ｂたるハンド２５の初期姿勢および攪拌棒５６の回転中心軸Ｄ、教示データ３１２ｃたるハンド２５の最終姿勢および攪拌棒５６の回転中心軸Ｄ回りの回転角度などに基づき、ジョブプログラムを生成する。
【０１３９】
ここで、第３の実施形態に係るティーチングシステム３０によって教示された内容に従って制御されるロボット２０の動作について、図１２Ａ〜図１２Ｃを用いて説明する。図１２Ａ〜図１２Ｃは、上記したジョブプログラムに基づくロボット２０の動作を説明するための説明図である。なお、図１２Ａ〜図１２Ｃでは、図示の簡略化のため、ハンド２５の図示を省略し、ツール座標系のみを示した。
【０１４０】
まず、図１２Ａに示すように、攪拌棒５６を保持するハンド２５は初期姿勢とされる。その後、攪拌棒５６は回転中心軸Ｄ回り、かつ、回転方向Ｅへ回転角度（３６０度）回転させられ、ハンド２５が最終姿勢となる。
【０１４１】
具体的には、図１２Ｂに示すように、攪拌棒５６が回転中心軸Ｄ回りに回転角度の５０％である１８０度回転させられた場合、ハンド２５の傾き角度γ１は、最終姿勢における傾き角度γの５０％である５度とされる。続いて、図１２Ｃに示すように、攪拌棒５６が回転中心軸Ｄ回りに３６０度回転させられた場合、ハンド２５は最終姿勢とされる、すなわち、ハンド２５の傾き角度γ２（γ）は１０度とされる。
【０１４２】
このように、第３の実施形態に係るティーチングシステム３０においては、予め設定された任意の３次元座標系たるユーザ座標系のＺ２軸を、攪拌棒５６の回転中心軸Ｄとした。これにより、たとえば、ビーカ５４が傾斜した載置台５５に載置される場合であっても、載置台５５の傾斜に対応させて攪拌棒５６を回転させることが可能となり、よってビーカ５４内の試料Ｓを効率良く攪拌することができる。
【０１４３】
また、第３の実施形態においては、第２の実施形態と同様、ユーザの教示作業が、ハンド２５の最終姿勢および攪拌棒５６の回転角度を教示するだけで足りるため、ユーザの教示作業をより一層容易化することができる。
【０１４４】
また、制御点を回転中心軸Ｄに対してオフセットさせるようにした。従って、攪拌棒５６は回転中心軸Ｄ回りに円弧軌道を描くように回転させられる。これにより、攪拌棒５６がビーカ５４内を大きく回転することとなり、ビーカ５４内の試料Ｓをより一層効率良く攪拌させることができる。なお、残余の構成および効果は、従前の実施形態と同一であるので、説明を省略する。
【０１４５】
なお、上記した実施形態では、表示部３２に表示された仮想画像を用いて教示作業を行う、いわゆるオフラインティーチングの構成を例に挙げて説明したが、これに限定されるものではない。すなわち、たとえば、ロボット制御装置４０に接続された、図示しないプログラミングペンダント（ティーチングペンダント）などを介してユーザが実際にロボット２０を動作させて教示作業を行うようにしてもよい。
【０１４６】
また、上記では、シャーレ５０のこそぎ作業などバイオメディカル分野での作業を例に挙げて説明したが、これに限定されるものではなく、ツールでワークを保持して回転させる作業であれば、どのような作業であってもよい。
【０１４７】
また、上記した実施形態では、ロボット２０が左アーム２３および右アーム２４を備えた双腕ロボットである場合の例について説明したが、ロボット２０は、単腕ロボットまたは３つ以上のアームを備える多腕ロボットであってもよい。
【０１４８】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１４９】
１  ロボットシステム
１０  ドラフトチャンバ
２０  ロボット
２５  ハンド（ツール）
３０  ティーチングシステム
３１  ティーチング制御装置
３１１ｄ  データ取得部
３１１ｅ  ジョブ生成部
３１２ｂ  初期データ
３１２ｃ  教示データ
３２  表示部
３３  操作部
３４  ジョブ情報ＤＢ
４０  ロボット制御装置
５１  ヘラ（ワーク）
５２  試験管（ワーク）
５６  攪拌棒（ワーク）
【図１Ａ】
2016010824.tif 000003
【図１Ｂ】
2016010824.tif 000004
【図２】
2016010824.tif 000005
【図３】
2016010824.tif 000006
【図４】
2016010824.tif 000007
【図５Ａ】
2016010824.tif 000008
【図５Ｂ】
2016010824.tif 000009
【図５Ｃ】
2016010824.tif 000010
【図５Ｄ】
2016010824.tif 000011
【図５Ｅ】
2016010824.tif 000012
【図６】
2016010824.tif 000013
【図７】
2016010824.tif 000014
【図８】
2016010824.tif 000015
【図９Ａ】
2016010824.tif 000016
【図９Ｂ】
2016010824.tif 000017
【図９Ｃ】
2016010824.tif 000018
【図９Ｄ】
2016010824.tif 000019
【図１０】
2016010824.tif 000020
【図１１】
2016010824.tif 000021
【図１２Ａ】
2016010824.tif 000022
【図１２Ｂ】
2016010824.tif 000023
【図１２Ｃ】
2016010824.tif 000024