(57)【特許請求の範囲】
【請求項１】
柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置であって、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて取得する曲がり取得部と、
前記曲がり取得部が取得した前記評価の情報に基づいて教示に関する通知を行う通知部と、を備えるロボットの教示装置。
【請求項２】
前記通知部は、前記柔軟物をさらに曲げるように通知する、請求項１に記載のロボットの教示装置。
【請求項３】
前記作業の教示を複数回行い、かつ、前記それぞれの教示時に前記到達判定部が到達を判定したときに前記曲がり取得部が取得した前記評価の情報を保持する評価保持部をさらに備え、
前記通知部は、前記評価保持部が保持する複数の評価の情報のうち、評価の値が高い方から第一の所定数個の評価の値又は前記第一の所定数個の評価の値の分散を通知する、
請求項１又は２に記載のロボットの教示装置。
【請求項４】
前記作業の教示を複数回行い、かつ、前記それぞれの教示時に前記到達判定部が到達を判定したときに前記曲がり取得部が取得した前記評価の情報をそれぞれ保持する評価保持部と、
前記評価保持部が保持する複数の評価の情報のうち、評価の値が高い方から所定数個の評価の値に基づいて教示を継続するか否かの判定を行う教示判定部と、
をさらに備える請求項１又は２に記載のロボットの教示装置。
【請求項５】
前記作業の教示を複数回行い、かつ、前記それぞれの教示時に前記到達判定部が到達を判定したときに前記曲がり取得部が取得した前記評価の情報を保持する評価保持部をさらに備える請求項１又は２に記載のロボットの教示装置と、
前記教示装置によって教示した軌跡を前記ロボットで再生する再生制御部とを備え、
前記再生制御部は、前記評価保持部が保持する複数の評価の情報のうち、評価の値が高い教示が行われたときに生成された教示データを再生する、
ロボット装置。
【請求項６】
前記作業の教示を複数回行い、かつ、前記それぞれの教示時に前記到達判定部が到達を判定したときに前記曲がり取得部が取得した前記評価の情報を保持する評価保持部をさらに備える請求項１又は２に記載のロボットの教示装置と、
前記教示装置によって教示した軌跡を前記ロボットで再生する再生制御部とを備え、
前記再生制御部は、前記評価保持部が保持する複数の評価の情報のうち、評価の値が高い方から所定数個の教示データを平均して生成された教示データを再生する、
ロボット装置。
【請求項７】
柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御方法であって、
前記柔軟物の先端の前記物体への到達を到達判定部で判定し、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて曲がり取得部で取得し、
前記曲がり取得部が取得した前記評価の情報に基づいて教示に関する所定の通知を通知部で行う、
ロボットの教示装置の制御方法。
【請求項８】
柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御方法であって、
前記柔軟物の先端の前記物体への到達を到達判定部で判定し、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて曲がり取得部で取得し、
前記曲がり取得部が取得した前記評価の情報に基づいて複数の教示データの中から前記評価の高い教示を選択部で選択する、
ロボットの教示装置の制御方法。
【請求項９】
柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御プログラムであって、
コンピュータを、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて取得する曲がり取得部と、
前記曲がり取得部が取得した前記評価の情報に基づいて教示に関する通知を行う通知部、
として機能させるためのロボットの教示装置の制御プログラム。
【請求項１０】
柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御プログラムであって、
コンピュータを、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて取得する曲がり取得部と、
前記曲がり取得部が取得した前記評価の情報に基づいて複数の教示データの中から前記評価の高い教示を選択する選択部、
として機能させるためのロボットの教示装置の制御プログラム。
【請求項１１】
柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置であって、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物保持部の姿勢を取得する姿勢取得部と、
前記姿勢取得部が取得した前記姿勢の方向と、予め決められた所定の方向とのなす角度を、前記柔軟物の２点における前記柔軟物の方向のなす角度として取得する曲がり取得部と、
前記曲がり取得部が取得した前記角度に基づいて教示に関する通知を行う通知部と、
を備える、ロボットの教示装置。
【請求項１２】
柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置であって、
前記柔軟物保持部の姿勢を取得する姿勢取得部と、
前記姿勢取得部が取得した前記姿勢の方向と、予め決められた所定の方向とのなす角度を、前記柔軟物の２点における前記柔軟物の方向のなす角度として取得する曲がり取得部と、
前記曲がり取得部が取得した前記角度に基づいて複数の教示のなかから前記評価の高い教示を選択する選択部と、
を備えるロボットの教示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、柔軟物の一端を物体に対して挿入する作業などを行う、ロボットの教示装置、ロボット装置、ロボットの教示装置の制御方法、ロボットの教示装置の制御プログラムに関する。
【背景技術】
【０００２】
従来、ロボットアームを用いた物体の組立て作業を行う際に、ロボットアームの移動軌跡情報を予め作成しておき（これを、教示と呼ぶ。）、ロボットアームはその軌跡上の移動を再現して作業を繰り返し行う。剛体を対象物とした組立て作業の場合は、繰り返し作業において組立て作業が失敗することは少ない。【０００３】
しかし、柔軟物を対象とした組立て作業に、前記の方法を用いた場合、作業が失敗することがある。柔軟物は、製造過程で個体差が生じたり、製造後に物体にぶつかったり、又は、自重によって変形したりするため、剛体に比べて形状又は姿勢のバラツキが大きいためと考えられる。【０００４】
特許文献１では、組立て用ロボットアームの手首に力センサーを装着し、教示時の各時刻における力の値を取得しておき、再生時には、取得した力の値を再現するようにロボットアームを移動させる方法が示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１７４４５８号公報
【非特許文献】
【０００６】
【非特許文献１】R. Damoto and S. Hirose, ‘‘Development of Holonomic Omnidirectinal Vehicle‘‘Vuton-II’’ with Omni-Discs’’, Journal of Robotics and Mechatronics, Vol.14,No.2, pp.186-192, 2002
【非特許文献２】湯軍、渡辺桂吾、栗林勝利、白石大和、直交車輪機構を用いた全方向移動ロボット車の自律制御、日本ロボット学会誌Ｖｏｌ１７  Ｎｏ．１  ＰＰ．５１−６０、１９９１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記の方法を用いても、柔軟物の組立て作業などでは成功しない場合がある。【０００８】
本発明は、このような従来技術の問題点に鑑みてなされたものであって、従来困難であった柔軟物の挿入作業などの作業を精度良く行わせることができる、ロボットの教示装置、ロボット装置、ロボットの教示装置の制御方法、ロボットの教示装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記目的を達成するために、本発明は以下のように構成する。【００１０】
本発明の１つの態様によれば、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置であって、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて取得する曲がり取得部と、
前記曲がり取得部が取得した前記評価の情報に基づいて教示に関する通知を行う通知部と、を備えるロボットの教示装置を提供する。
【００１１】
これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより実現してもよい。
【発明の効果】
【００１２】
本発明の前記態様によれば、例えば柔軟物が挿入口に到達した際に、柔軟物を曲げる操作を行ってから挿入する制御を行うように教示するとき、柔軟物の曲がり具合の評価の情報を曲がり取得部で取得する。曲がり取得部で取得した曲がり具合の評価の情報を基に、教示によって得られた教示データが、柔軟物が挿入口に到達した際に、柔軟物を曲げる操作を行ってから挿入する教示を満たすかを判定して、前記曲がり取得部が取得した前記評価の情報に基づいて、通知部により、教示に関する所定の通知を行うことができる。又は、通知の代わりに、曲がり取得部が取得した前記評価の情報に基づいて複数の教示データの中から前記評価の高い教示を選択部で選択することができる。この結果、より評価の高い教示を使用することが可能となり、柔軟物を取扱う作業を精度良く行うことができる教示データを取得することができて、従来困難であった柔軟物の挿入作業などの作業を精度良く行うことができる。
【図面の簡単な説明】
【００１３】
本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。この図面においては、
【図１】図１は、本発明の課題を説明するため、直接教示の構成におけるロボット装置を示す図であり、
【図２】図２は、軌跡情報保持部が保持する軌跡データを示す図であり、
【図３Ａ】図３Ａは、本発明の課題を説明するため、直接教示の構成における教示時の柔軟物の曲がり方を示す図であり、
【図３Ｂ】図３Ｂは、図３Ａに次いで、直接教示の構成における教示時の柔軟物の曲がり方を示す図であり、
【図３Ｃ】図３Ｃは、図３Ｂに次いで、直接教示の構成における教示時の柔軟物の曲がり方を示す図であり、
【図３Ｄ】図３Ｄは、図３Ｃに次いで、直接教示の構成における教示時の柔軟物の曲がり方を示す図であり、
【図４Ａ】図４Ａは、本発明の課題を説明するため、直接教示の構成における再生時の柔軟物の曲がり方を示す図であり、
【図４Ｂ】図４Ｂは、図４Ａに次いで、本発明の課題を説明するため、直接教示の構成における再生時の柔軟物の曲がり方を示す図であり、
【図４Ｃ】図４Ｃは、図４Ｂに次いで、本発明の課題を説明するため、直接教示の構成における再生時の柔軟物の曲がり方を示す図であり、
【図４Ｄ】図４Ｄは、図４Ｃに次いで、本発明の課題を説明するため、直接教示の構成における再生時の柔軟物の曲がり方を示す図であり、
【図４Ｅ】図４Ｅは、操作者が柔軟物を曲がり具合の最大値を越えて曲げた場合の様子を示す図であり、
【図５Ａ】図５Ａは、本発明の課題を説明するため、柔軟物の第一端の向きと柔軟物の曲がり具合を示す図であり、
【図５Ｂ】図５Ｂは、本発明の課題を説明するため、柔軟物の第一端の向きと柔軟物の曲がり具合を示す図であり、
【図６】図６は、教示時の柔軟物の曲がり具合の評価と、各教示データを用いて再生を２０回行ったとき時の挿入の成功確率を示す表形式の図であり、
【図７】図７は、本発明の第１実施形態におけるロボット装置を示す図であり、
【図８】図８は、本発明の第１実施形態におけるロボット装置の曲がり基準保持部が保持する、挿入口の穴の向きの情報の一例を示す図であり、
【図９】図９は、本発明の第１実施形態におけるロボット装置において、手先の方向と、第一端の方向を示す図であり、
【図１０】図１０は、本発明の第１実施形態におけるロボット装置において、評価保持部が保持する評価の情報の例を示す図であり、
【図１１】図１１は、本発明の第１実施形態におけるロボット装置において、通知部に表示される通知内容を示す図であり、
【図１２】図１２は、本発明の第１実施形態におけるロボット装置において、通知生成部が行う処理の流れを示す図であり、
【図１３】図１３は、第１実施形態におけるロボット装置において、ロボットアームの処理の流れを示す図であり、
【図１４Ａ】図１４Ａは、本発明の第１実施形態におけるロボット装置の教示時と再生時の柔軟物の曲がり方の変化を示す図であり、
【図１４Ｂ】図１４Ｂは、図１４Ａに次いで、本発明の第１実施形態におけるロボット装置の教示時と再生時の柔軟物の曲がり方の変化を示す図であり、
【図１４Ｃ】図１４Ｃは、図１４Ｂに次いで、本発明の第１実施形態におけるロボット装置の教示時と再生時の柔軟物の曲がり方の変化を示す図であり、
【図１４Ｄ】図１４Ｄは、図１４Ｃに次いで、本発明の第１実施形態におけるロボット装置の教示時と再生時の柔軟物の曲がり方の変化を示す図であり、
【図１５】図１５は、本発明の第１実施形態におけるロボット装置において、柔軟物の第二端が挿入口に挿入された状態で、かつ、柔軟物が曲がっていない状態を示す図であり、
【図１６】図１６は、本発明の第１実施形態におけるロボット装置において、柔軟物が円筒状のチューブである場合を示す図であり、
【図１７】図１７は、本発明の第１実施形態の第１変形例におけるロボットアームの先端と柔軟物とを示す図であり、
【図１８】図１８は、本発明の第１実施形態の第１変形例の構成におけるロボット装置の構成を示す図であり、
【図１９】図１９は、本発明の第１実施形態の第２変形例における教示装置の構成を示す図であり、
【図２０】図２０は、本発明の第１実施形態の第２変形例における教示装置の管理部によるロボットアームの処理の流れを示す図であり、
【図２１】図２１は、本発明の第１実施形態の第６変形例において、ラグビーボール形状の柔軟物（真ん中部分が膨らんだ形状）の曲がり具合を示す図であり、
【図２２】図２２は、本発明の第１実施形態の第１０変形例において、第一端に固定された種々の状態の柔軟物を示す図であり、
【図２３Ａ】図２３Ａは、本発明の課題を説明するための図３Ａの段階を、別の方向（図１のＹ軸上から下へ見た方向）から見た断面図であり、
【図２３Ｂ】図２３Ｂは、本発明の課題を説明するための図３Ｂの段階を、別の方向（図１のＹ軸上から下へ見た方向）から見た断面図であり、
【図２３Ｃ】図２３Ｃは、本発明の課題を説明するための図３Ｃの段階を、別の方向（図１のＹ軸上から下へ見た方向）から見た断面図であり、
【図２３Ｄ】図２３Ｄは、本発明の課題を説明するための図３Ｄの段階を、別の方向（図１のＹ軸上から下へ見た方向）から見た断面図であり、
【図２４】図２４は、本発明の第１実施形態の第４変形例において管理部が行う処理の流れを示す図であり、
【図２５】図２５は、本発明の第１実施形態の第４変形例におけるロボット装置の構成を示す図であり、
【図２６】図２６は、本発明の第１実施形態の第１１変形例における全方向移動型のロボットを含むロボット装置を説明する図である。
【発明を実施するための形態】
【００１４】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００１５】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００１６】
本発明の第１態様によれば、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置であって、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて取得する曲がり取得部と、
前記曲がり取得部が取得した前記評価の情報に基づいて教示に関する通知を行う通知部と、を備えるロボットの教示装置を提供する。
【００１７】
本発明の第２態様によれば、前記通知部は、前記柔軟物をさらに曲げるように通知する、第１の態様に記載のロボットの教示装置を提供する。
【００２５】
本発明の第３態様によれば、前記作業の教示を複数回行い、かつ、前記それぞれの教示時に前記到達判定部が到達を判定したときに前記曲がり取得部が取得した前記評価の情報を保持する評価保持部をさらに備え、
前記通知部は、前記評価保持部が保持する複数の評価の情報のうち、評価の値が高い方から第一の所定数個の評価の値又は前記第一の所定数個の評価の値の分散を通知する、
第１又は２の態様に記載のロボットの教示装置を提供する。
【００２６】
本発明の第４態様によれば、前記作業の教示を複数回行い、かつ、前記それぞれの教示時に前記到達判定部が到達を判定したときに前記曲がり取得部が取得した前記評価の情報をそれぞれ保持する評価保持部と、
前記評価保持部が保持する複数の評価の情報のうち、評価の値が高い方から所定数個の評価の値に基づいて教示を継続するか否かの判定を行う教示判定部と、
をさらに備える第１又は２の態様に記載のロボットの教示装置を提供する。
【００２９】
本発明の第５態様によれば、前記作業の教示を複数回行い、かつ、前記それぞれの教示時に前記到達判定部が到達を判定したときに前記曲がり取得部が取得した前記評価の情報を保持する評価保持部をさらに備える第１又は２の態様に記載のロボットの教示装置と、
前記教示装置によって教示した軌跡を前記ロボットで再生する再生制御部とを備え、
前記再生制御部は、前記評価保持部が保持する複数の評価の情報のうち、評価の値が高い教示が行われたときに生成された教示データを再生する、
ロボット装置を提供する。
【００３０】
本発明の第６態様によれば、前記作業の教示を複数回行い、かつ、前記それぞれの教示時に前記到達判定部が到達を判定したときに前記曲がり取得部が取得した前記評価の情報を保持する評価保持部をさらに備える第１又は２の態様に記載のロボットの教示装置と、
前記教示装置によって教示した軌跡を前記ロボットで再生する再生制御部とを備え、
前記再生制御部は、前記評価保持部が保持する複数の評価の情報のうち、評価の値が高い方から所定数個の教示データを平均して生成された教示データを再生する、
ロボット装置を提供する。
【００３１】
本発明の第７態様によれば、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御方法であって、
前記柔軟物の先端の前記物体への到達を到達判定部で判定し、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて曲がり取得部で取得し、
前記曲がり取得部が取得した前記評価の情報に基づいて教示に関する所定の通知を通知部で行う、
ロボットの教示装置の制御方法を提供する。
【００３２】
本発明の第８態様によれば、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御方法であって、
前記柔軟物の先端の前記物体への到達を到達判定部で判定し、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて曲がり取得部で取得し、
前記曲がり取得部が取得した前記評価の情報に基づいて複数の教示データの中から前記評価の高い教示を選択部で選択する、
ロボットの教示装置の制御方法を提供する。
【００３３】
本発明の第９態様によれば、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御プログラムであって、
コンピュータを、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて取得する曲がり取得部と、
前記曲がり取得部が取得した前記評価の情報に基づいて教示に関する通知を行う通知部、
として機能させるためのロボットの教示装置の制御プログラムを提供する。
【００３４】
本発明の第１０態様によれば、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御プログラムであって、
コンピュータを、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を前記柔軟物の２点における前記柔軟物の方向のなす角度に基づいて取得する曲がり取得部と、
前記曲がり取得部が取得した前記評価の情報に基づいて複数の教示データの中から前記評価の高い教示を選択する選択部、
として機能させるためのロボットの教示装置の制御プログラムを提供する。
【００３５】
本発明の第１１態様によれば、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置であって、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物保持部の姿勢を取得する姿勢取得部と、
前記姿勢取得部が取得した前記姿勢の方向と、予め決められた所定の方向とのなす角度を、前記柔軟物の２点における前記柔軟物の方向のなす角度として取得する曲がり取得部と、
前記曲がり取得部が取得した前記角度に基づいて教示に関する通知を行う通知部と、
を備える、ロボットの教示装置を提供する。
【００３６】
本発明の第１２態様によれば、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置であって、
前記柔軟物保持部の姿勢を取得する姿勢取得部と、
前記姿勢取得部が取得した前記姿勢の方向と、予め決められた所定の方向とのなす角度を、前記柔軟物の２点における前記柔軟物の方向のなす角度として取得する曲がり取得部と、
前記曲がり取得部が取得した前記角度に基づいて複数の教示のなかから前記評価の高い教示を選択する選択部と、
を備えるロボットの教示装置を提供する。
【００３７】
＜課題の明確化＞
本発明の各実施形態を説明するのに先立って、柔軟物を物体に挿入する嵌め合わせ作業を教示して再生する場合の課題を更に詳しく説明する。ここでは、教示方法の一つである直接教示を例にとって教示を行う構成を説明し、次に、この構成において柔軟物を物体に挿入する場合の課題を説明する。
【００３８】
＜直接教示の構成＞
まず、直接教示とは、操作者がロボットアームを触って直接移動させて、その際のロボットアームの移動の軌跡を取得しておき、作業を再現させる際には、取得した移動の軌跡に基づいてロボットアームを移動させる教示方法のことである。軌跡を取得することを教示と呼び、教示した軌跡に基づいてロボットアームを移動させることを再生と呼ぶ。
【００３９】
図１は、直接教示を行うロボット装置１０００の構成を示す図である。ロボット装置１０００は、ロボットアーム１０１０を用いて、ロボットアーム１０１０が設置されている設置床１０１０Ｈに固定された物体載置台１０５０Ｈに保持された物体１０５０に固定された筒状の挿入部（周囲部分）１０５１ａの挿入口１０５１に、ロボットアーム１０１０に把持した柔軟物１０４０の第二端１０４２を挿入する作業を教示及び再生する場合を示している。
【００４０】
ロボットアーム１０１０は、Ｘ−Ｙ−Ｚ座標空間を６軸方向に移動する。
【００４１】
作業対象物の一例である柔軟物１０４０を保持する柔軟物保持部の一例として機能するハンド（固定部）１０３０は、ロボットアーム１０１０の手先１０１１の端部に設けられ、対象物１０４０を保持固定する。
【００４２】
第一力センサー１０２０は、ロボットアーム１０１０の手先１０１１に固定されており、操作者が下記の操作部１０９０に加えた力を取得する。
【００４３】
操作部１０９０は、第一力センサー１０２０に固定されており、ロボット装置１０００を用いて教示を行うときに、操作者が手で握る部分である。操作者は、操作部１０９０を手で握って、ロボットアーム１０１０の手先１０１１を移動したい方向に力を加える。
【００４４】
位置姿勢取得部１０１３は、姿勢取得部の一例として機能し、ロボットアーム１０１０の手先１０１１の位置および姿勢（向き）（ハンド（柔軟物保持部）１０３０の位置及び姿勢）を取得する。このため、ロボットアーム１０１０の各関節部に取り付けられた関節駆動部又は駆動部の一例としてのモータ９１２Ｍに取り付けられたエンコーダ９１２Ｅから、位置姿勢取得部１０１３には、エンコーダ９１２Ｅで取得した各関節部の角度の情報が入力される。エンコーダ９１２Ｅによって位置姿勢取得部１０１３で取得した各関節部の角度、および、エンコーダ９１２Ｅの内蔵記憶部に予め測定されて記憶されている各リンクの長さの情報によって、手先１０１１の位置および姿勢を位置姿勢取得部１０１３で算出する。
【００４５】
移動位置決定部１０９２には、第一力センサー１０２０で取得された力の情報が入力される。すなわち、操作者が操作部１０９０に加えた力を第一力センサー１０２０で取得し、第一力センサー１０２０で取得された力の情報に基づいて、手先１０１１を移動する位置を移動位置決定部１０９２で決定する。
【００４６】
具体的には、移動位置決定部１０９２において、手先１０１１を移動する方向は、操作者が操作部１０９０に加えた力（第一力センサー１０２０で取得された力）の方向に基づいて決定する。例えば、図１の＋Ｘ方向（図１の右方向）に操作者が操作部１０９０に力を加えた場合、手先１０１１の移動方向を＋Ｘ方向に移動位置決定部１０９２で決定する。
【００４７】
手先１０１１を移動する距離または速度は、操作者が加えた力の大きさに基づいて移動位置決定部１０９２で決定する。例えば、操作者が操作部１０９０に力を加えた大きさがＸニュートンだった場合に、手先１０１１の移動距離をＸｃｍに移動位置決定部１０９２で決定するか、あるいは、手先１０１１の移動速度をＸｃｍ／ｓｅｃと移動位置決定部１０９２で決定する。
【００４８】
手先１０１１の姿勢を回転する向きは、操作者が操作部１０９０に加えたモーメントの向き（第一力センサー１０２０で取得された力の向き）に基づいて移動位置決定部１０９２で決定する。例えば、操作者が操作部１０９０をＸ軸方向に対して回転する力を加えた場合、手先１０１１をＸ方向に対して回転させる方向であると移動位置決定部１０９２で決定する。
【００４９】
手先１０１１の姿勢を回転する角度の大きさまたは回転速度は、操作者が操作部１０９０に加えたモーメントの大きさ（第一力センサー１０２０で取得された力の大きさ）に基づいて移動位置決定部１０９２で決定する。例えば、操作者が操作部１０９０をＸ軸方向に対して加えた回転の力がＸニュートンセンチメートルだった場合に、手先１０１１の移動する回転角度をＸラジアンに移動位置決定部１０９２で決定する。あるいは、手先１０１１の移動する回転角速度をＸラジアン／ｓｅｃに移動位置決定部１０９２で決定する。
【００５０】
移動位置決定部１０９２は、手先１０１１の位置を決定する度に、その位置を後述の軌跡情報保持部１０９５に記憶する。
【００５１】
教示制御部１０９３は、移動位置決定部１０９２からの情報が入力され、移動位置決定部１０９２が決定した位置に手先１０１１を移動するようにモータ９１２Ｍの駆動制御を行う。手先位置の制御は、関節部のモータ９１２Ｍの回転軸を正逆回転駆動することで行う。より具体的には、教示制御部１０９３は、教示を開始するとき、それぞれのモータ９１２Ｍの駆動制御を行い、手先１０１１を予め定めた初期位置に移動したのち、移動位置決定部１０９２が決定した位置に手先１０１１を移動するようにモータ９１２Ｍの駆動制御を行う。
【００５２】
各モータ９１２Ｍは、ロボットアーム１０１０の各関節部を独立してそれぞれ正逆回転させる。図１では、概念化して一つの箱で示しているが、実際には、ロボットアーム１０１０の各関節部にモータ９１２Ｍがそれぞれ取り付けられている。また、エンコーダ９１２Ｅは、ロボットアーム１０１０Ａの各関節部のモータ９１２Ｍにそれぞれ連結されて、各関節部の角度を取得する。
【００５３】
一例として、ロボットアーム１０１０Ａは、複数の多関節機構を有する多関節ロボットアームであって、複数の関節軸を中心に２つのリンク７０２，７０３が回転駆動する。
【００５４】
具体的には、ロボットアーム１０１０Ａは、６自由度の多リンクのマニピュレータである。ロボットアーム１０１０Ａは、手先１０１１に手首部７０１を有する前腕リンク７０２と、前腕リンク７０２の基端に回転可能に先端が連結される上腕リンク７０３と、上腕リンク７０３の基端が回転可能に連結支持される台部７０４とを備えている。台部７０４は、一定位置に固定されているが、図示しないレールに移動可能に連結されていても良い。手首部７０１は、一例として、第４関節部と、第５関節部と、第６関節部との３つの互いに直交する回転軸を有しており、前腕リンク７０２に対する手先１０１１の相対的な姿勢（向き）を変化させることができる。すなわち、第４関節部は、手首部７０１に対する手先１０１１の横軸周りの相対的な姿勢を変化させることができる。第５関節部は、手首部７０１に対する手先１０１１の、第４関節部の横軸とは直交する縦軸周りの相対的な姿勢を変化させることができる。第６関節部は、手首部７０１に対する手先１０１１の、第４関節部の横軸及び第５関節部の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク７０２の他端は、上腕リンク７０３の先端に対して第３関節部周りに、すなわち、第４関節部の横軸と平行な横軸周りに回転可能とする。上腕リンク７０３の他端は、台部７０４に対して第２関節部周りに、すなわち、第４関節部の横軸と平行な横軸周りに回転可能とする。さらに、台部７０４の上側可動部は、台部７０４の下側固定部に対して第１関節部周りに、すなわち、第５関節部の縦軸と平行な縦軸周りに回転可能としている。
【００５５】
この結果、ロボットアーム１０１０Ａは、合計６個の軸周りに回転可能として６自由度の多リンクマニピュレータを構成している。
【００５６】
ロボットアーム１０１０Ａの各軸の回転部分を構成する各関節部には、関節部駆動用のモータ９１２Ｍのような回転駆動装置と、モータ９１２Ｍの回転軸の回転位相角（すなわち関節角）を検出して位置情報を出力するエンコーダ９１２Ｅ（実際には、ロボットアーム１０１０Ａの各関節部の内部に配設されている）とを備えている。モータ９１２Ｍ（実際には、ロボットアーム１０１０Ａの各関節部の内部に配設されている）は、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられる、モータドライバの機能をそれぞれ内蔵する教示制御部１０９３又は再生制御部１０９４により駆動制御される。各関節部の一方の部材に備えられたモータ９１２Ｍの回転軸が、各関節部の他方の部材に連結されて、前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【００５７】
位置情報取得部１０１３は、ロボットアーム１０１０Ａの手先１０１１の位置および姿勢を取得する。具体的には、位置情報取得部１０１３は、エンコーダ９１２Ｅによって取得した各関節の関節角と、各関節の長さ（位置情報取得部１０１３の内部記憶部に予め記憶された情報）とにより手先１０１１の位置および姿勢を取得する。
【００５８】
モード入力部１０９１では、操作者がロボットアーム１０１０で行う処理モードの入力を受け付ける。モード入力部１０９１で選択できるモードの選択肢としては、「再生を行う」、「教示を行う」、「実行しない」の３つがある。モード入力部１０９１は、例えば、スイッチ、又は、ボタン、パーソナルコンピュータのキーボード若しくはマウス等で構成することができる。操作者は、モード入力部１０９１を用いて、いずれかのモード（選択肢）を選択する。モード入力部１０９１は、選択されたモード（選択肢）情報を、管理部１０１２とモード保持部１０９６とに出力する。第１実施形態では、モード入力部１０９１で「教示を行う」というモードが入力された場合にはモード入力部１０９１は「１」を出力し、「再生を行う」というモードが入力された場合にはモード入力部１０９１は「２」を出力し、「実行しない」というモードが入力された場合はモード入力部１０９１は「０」を出力する。なお、実行中の教示を中止する際にはモード入力部１０９１に「実行しない」というモードを入力して、教示を中止する。
【００５９】
モード保持部１０９６は、モード入力部１０９１に入力されたモード情報を保持（格納又は記憶）し、例えば、パーソナルコンピュータのＲＯＭ、ＲＡＭ、ＨＤＤ、レジスタ、又は、キャッシュなどの記憶装置である。以降、構成要素の名称に「保持部」を含む部又は装置（柔軟物保持部を除く。）は、同様の記憶装置である。モード入力部１０９１が機械式のボタンスイッチであるような場合は、モード入力部１０９１がモード保持部１０９６を兼ねる。例えば、機械式のボタンスイッチが操作者の押す操作により機械的に押し込まれた状態と、再度、押されて元の位置まで復帰した状態との２つのモード情報をそれぞれ機械的に保持することにより、保持部の機能を発揮することができる。ここでは、モード入力部１０９１で「教示を行う」というモードが入力された場合には、モード保持部１０９６は「１」を保持し、「再生を行う」というモードが入力された場合には、モード保持部１０９６は「２」を保持し、「実行しない」というモードが入力された場合には、モード保持部１０９６は「０」を保持する。モード保持部１０９６は、初期状態では「０」を保持する。
【００６０】
軌跡情報保持部１０９５は、移動位置決定部１０９２より取得した軌跡データを保持する記憶装置である。軌跡データは、複数の時刻における手先１０１１の位置及び姿勢であり、手先１０１１の位置及び姿勢の情報の集合である。一つの位置及び姿勢は、Ｘ座標、Ｙ座標、Ｚ座標、ロール、ピッチ、ヨーの６次元のデータである。また、教示制御部１０９３による教示が複数回行われた場合は、軌跡情報保持部１０９５は、それぞれの挟持に対応した複数の軌跡データを保持する。図２は、軌跡情報保持部１０９５が保持する軌跡データを示す。ｎ段目は、ｎ回目の教示における教示データである（ただし、ｎは１より大きな整数である。）。ｎ回目の教示データにおける（ｘｎ＿０、ｙｎ＿０、ｚｎ＿０、ｒｘｎ＿０、ｒｙｎ＿０、ｒｚｎ＿０）は、教示開始の初期位置における手先１０１１の位置であり、（ｘｎ＿ｔ、ｙｎ＿ｔ、ｚｎ＿ｔ、ｒｘｎ＿ｔ、ｒｙｎ＿ｔ、ｒｚｎ＿ｔ）は、教示開始からｔ番目の時刻における手先１０１１の位置を示す。ｘｎ＿ｔ、ｙｎ＿ｔ、ｚｎ＿ｔ、ｒｘｎ＿ｔ、ｒｙｎ＿ｔ、ｒｚｎ＿ｔはそれぞれ、ｘ座標、ｙ座標、ｚ座標、ロー角、ピッチー角、ヨー角を示す。ｘｎ＿ｔ、ｙｎ＿ｔ、ｚｎ＿ｔ、ｒｘｎ＿ｔ、ｒｙｎ＿ｔ、ｒｚｎ＿ｔはそれぞれ、ｘ座標、ｙ座標、ｚ座標、ロー角、ピッチー角、ヨー角を示す。
【００６１】
再生制御部１０９４は、後述する管理部１０１２からの情報に基づき、教示した作業を再現するようにモータ９１２Ｍの駆動制御を行う。再生制御部１０９４は、軌跡情報保持部１０９５が保持する位置および姿勢に、手先１０１１を移動するように、モータ９１２Ｍの駆動制御を行う。手先位置の制御は、それぞれの関節部のモータ９１２Ｍの回転軸を正逆回転することで行う。軌跡情報保持部１０９５が保持する軌跡の移動が終了した場合、ロボットアーム１０１０を移動停止する制御を行う。なお、軌跡情報保持部１０９５が複数の軌跡情報を有する場合には、最後の軌跡情報を実行する。
【００６２】
管理部１０１２は、モード入力部１０９１の情報を基に、ロボットアーム１０１０の動作の実行を管理し、モード入力部１０９１によるモードの切換出力に基づいて、教示制御部１０９３又は再生制御部１０９４の制御を切換えて実行する。モード入力部１０９１より「教示を行う」というモードを示す「１」が管理部１０１２に通知された場合、管理部１０１２は、教示制御部１０９３の制御を開始する。モード入力部１０９１より「再生を行う」というモードを示す「２」が管理部１０１２に通知された場合、管理部１０１２は、再生制御部１０９４の制御を開始する。モード入力部１０９１より「実行しない」というモードを示す「０」が管理部１０１２に通知された場合は、管理部１０１２は、ロボットアーム１０１０を移動停止する制御を行う。
【００６３】
なお、管理部１０１２は、「教示を行う」というモードを示す「１」を通知された場合、初期動作として、内部で保持する教示の初期位置に手先１０１１を移動した後に、教示制御部１０９３の制御を行う。
【００６４】
＜直接教示の課題１＞
ロボット装置１０００を用いて、柔軟物１０４０の組立て作業の軌跡を教示して、その軌跡の再生を行った際に、組立てが失敗する場合がある。教示時と、再生時の柔軟物１０４０の曲がり方の違いを図３Ａ〜図４Ｄ、図２３Ａ〜図２３Ｄを用いて説明する。
【００６５】
図３Ａ〜図３Ｄは、教示時に、柔軟物１０４０の第二端１０４２が挿入口１０５１に近づく際の断面の一例を示す。
【００６６】
図３Ａに示すように、柔軟物１０４０と挿入口１０５１の周囲部分１０５１ａとは、接触していない状態にある。図３Ａ中、柔軟物１０４０の左側の第一端１０４１は、固定部１０３０に固定されている。柔軟物１０４０の第一端１０４１は、固定部１０３０により固定され、柔軟物１０４０の第二端１０４２は、固定されていない。この段階は、非接触段階と称す。
【００６７】
次に、操作者がロボットアーム１０１０を操作して、柔軟物１０４０を移動させ、柔軟物１０４０の一部（第二端１０４２）が、図３Ｂに示すように挿入口１０５１の周囲部分１０５１ａと接触する。この段階では、柔軟物１０４０の第二端１０４２の一部が挿入口１０５１の周囲部分１０５１ａに接触しているだけで、挿入口１０５１に対する柔軟物１０４０の向きの調整ができていない。この段階は、接触段階と称す。
【００６８】
更に、操作者によって移動された柔軟物１０４０の第二端１０４２は、図３Ｃに示すように挿入口１０５１の周囲部分１０５１ａにしっかりと接触し、第二端１０４２が挿入口１０５１に挿入可能な状態になる。この際、柔軟物１０４０の両端１０４１，１０４２が拘束されている状態になり、多くの場合、柔軟物１０４０は変形して曲がる。ここでは、柔軟物１０４０は、下に凸に曲がった状態を示す。以降、この段階を到達段階と呼ぶ。
【００６９】
最後に、操作者によって移動された柔軟物１０４０は、図３Ｄに示すように挿入口１０５１に奥まで挿入される。以降、この段階を完了段階と呼ぶ。
【００７０】
図２３Ａ〜図２３Ｄは、図３Ａ〜図３Ｄの各段階を別の方向（図１のＹ軸上から下へ見た方向）から見た断面を示す。図２３Ｂに示すように、非接触段階（Ａ），接触段階（Ｂ）では、柔軟物１０４０の（ＸＺ平面における回転）方向と、挿入口１０５１の（ＸＺ平面における回転）方向は一致していない。一方、図２３Ｃ〜図２３Ｄに示すように、到達段階（Ｃ）、完了段階（Ｄ）では柔軟物１０４０の（ＸＺ平面における回転）方向と、挿入口１０５１の（ＸＺ平面における回転）方向は一致する。すなわち図３Ｂの接触状態は、柔軟物１０４０の第二端１０４２の一部が挿入口１０５１に接触している段階であるのに対して、図３Ｃの到達状態は、柔軟物１０４０の第二端１０４２の全体が挿入口１０５１に接触した段階である。
【００７１】
本発明者が行った実験では、完了段階で、柔軟物１０５１は毎回、曲がっていた。図３Ｄでは、柔軟物１０４０は下向きに凸状に曲がった状態を示している。図３Ｄの段階では、柔軟物１０４０は図３Ｃの段階より更に曲がった状態になる。また、柔軟物１０５１を曲げないでまっすぐな状態で、挿入口１０５１に挿入することは困難であった。
【００７２】
このような教示を行った後、教示した軌跡上に手先１０１１を移動する再生を行ったとき、ほとんどの場合で、柔軟物１０４０は挿入口１０５１に挿入されない。すなわち、挿入作業の再現は失敗する。
【００７３】
図４Ａ〜図４Ｄは、挿入の再現が失敗した場合の、柔軟物１０４０と挿入口１０５１との位置関係の一例を示す。図４Ａから図４Ｂは、図３Ａから図３Ｂの場合と同様に柔軟物１０４０が移動する。
【００７４】
次に、図４Ｃで、柔軟物１０４０は挿入口１０５１の隙間にうまく入らず、挿入口１０５１の入口で曲がってしまう。図４Ｃは、柔軟物１０４０が、図３Ｃ又は図３Ｄのときとは逆向きに曲がり、上向きに凸状となる。
【００７５】
更に、柔軟物１０４０は挿入口１０５１の方に押されることで、柔軟物１０４０は図４Ｄに示すように更に上向きに凸状に曲がる。
【００７６】
以上のように、ロボットアーム１０１０を用いて柔軟物１０４０の第二端１０４２を挿入口１０５１に挿入する作業を再生する場合、柔軟物１０４０の第二端１０４２は、毎回の再生ごとに挿入口１０５１の接触位置が微妙にずれ、柔軟物１０４０の曲がり方も、再生の度に微妙にずれる。そのため、挿入作業の再現は困難である。
柔軟物の曲がり方が異なる理由は、図３Ａ又は図４Ａの状態で、固定部１０３０に柔軟物１０４０が異なる曲がり方で取り付けられるためであるか、図４Ｂ又は図４Ｂの状態で、柔軟物１０４０の第二端１０４２が挿入口１０５１に毎回異なる曲がり方で曲がって接触するためであると考えられる。
【００７７】
以上のように、再生時の挿入失敗の原因は、柔軟物１０４０の曲がり方の分布に基づくと考えられる。また、教示時には、教示時の曲がり方に適するように、操作者が微妙な操作で挿入を行うのだが、再生時には、教示時と異なる曲がり方をしていて、再生時の曲がり方に応じた微妙な操作で再生が行われないということである。
【００７８】
よって、特許文献１のような力制御を行った場合には、再生時に、教示時と同じ力変化が再現される制御が行われるが、再生時には、教示時とは異なる曲がり方をしている。かつ、再生時の曲がり方に対応する教示は実際には行われていないため、力制御では、挿入が失敗する場合が発生する。
【００７９】
次に、前記ロボット装置１０００Ａにおいて、前記の教示を行ったときの再生時の挿入の成功率を調べる実験を繰り返し行った。その結果、教示時の図３Ｃの段階における、柔軟物１０４０の第一端１０４１の向きによって、再生が成功する確率が変わることを本発明者は確認した。  以下、詳細を説明する。図５Ａ〜図５Ｂは、柔軟物１０４０の第一端１０４１の向きと柔軟物１０４０の曲がり具合との関係を示す図である。図５Ｂにおける柔軟物１０４０は、図５Ａにおける柔軟物１０４０よりも曲がった状態である。前記ロボット装置１０００Ａにおいて、前記行った実験では、教示時に図５Ｂのような教示を行った場合の方が、図５Ａのような教示を行った場合よりも、挿入の成功率が高かった。図６は、教示時の柔軟物の曲がり具合の評価と、各教示データを用いて再生を２０回行ったときの挿入の成功確率を示す表である。ここで、曲がり具合の評価方法については、後述する。図６の表では、教示時の柔軟物がより曲がっているほど、再生を行った時に挿入の成功確率が高くなっている。また、成功するときの曲がり具合と、失敗するときの曲がり具合とは、微妙な差があるが、その微妙な差が、成功率に大きく影響していることが分かる。図６では、曲がり具合は１１．５までとなっている。これは、操作者がこれ以上柔軟物１０４０を曲げて挿入することは出来なかったためである。
【００８０】
図４Ｅは、操作者が、柔軟物１０４０を曲がり具合の最大値を越えて曲げた場合に想定される柔軟物１０４０の様子を示す図である。実線の位置１０４０ｇにある柔軟物１０４０を、操作者が更に曲げようとした場合、柔軟物１０４０は点線の位置１０４０ｄに移動する。すなわち、挿入口１０５１から柔軟物１０４０の先端が弾き出されてしまうことになり、柔軟物１０４０を挿入口１０５１に挿入することは出来ない」。しかしながら、実際には、操作者は、柔軟物１０４０を上手く制御するため、このような教示の失敗は生じなかった。すなわち、柔軟物１０４０を曲がり具合の最大値を越えて曲げるような教示が行われることはなかった。また、再生時にも、このような失敗は生じなかった。
【００８１】
さて、以上により、挿入口１０５１の入口に到達した柔軟物１０４０が曲がった状態から挿入口１０５１への柔軟物１０４０の挿入が行われると、再生時の挿入成功率が向上することが分かる。図５Ａのように、挿入口１０５１の入口に柔軟物１０４０が到達した際に、柔軟物１０４０が曲がっていない状態であると、あるいは、柔軟物１０４０の曲がり方が不十分な状態であると、（図３Ｃの段階から図３Ｄの段階に移行する作業を）再生するときに、柔軟物１０４０が上に凸に曲がる場合もあれば、下に凸に曲がる場合もある。しかし、図５Ｂのように、柔軟物１０４０が下に凸に曲がった状態から柔軟物１０４０の挿入を開始すると、（図３Ｃの段階から図３Ｄの段階に移行する作業を）再生するときに、柔軟物１０４０は、下に凸を維持したまま移動することになり、柔軟物１０４０の挿入が成功する。
【００８２】
以上より、図５Ｂの姿勢を取る教示が、図５Ａの姿勢を取る教示よりも有効な教示であると判定できる。ところが、操作者が複数回教示を行うと、圧倒的に図５Ａの姿勢を取る教示が多く、図５Ｂの姿勢を取る教示は少ない。この理由は、図５Ａでは、操作者が進行方向に柔軟物１０４０を押せば良いのに対して、図５Ｂでは、操作者が柔軟物１０４０を曲げるための回転力を柔軟物１０４０に加えながら、操作者が図５Ｂ中の右方向に柔軟物１０４０を押さなければない。これは、操作者が力を加える方向と、操作者が柔軟物１０４０を移動する方向が異なる方向となり、作業が行いづらい。
【００８３】
本発明の第１実施形態では、教示によって得られた軌跡が、挿入作業を成功しやすい軌跡か、成功しにくい軌跡かの評価を行う評価装置を、ロボット装置の教示装置に備えるものである。すなわち、図５Ｂの姿勢を取る教示に、図５Ａの姿勢を取る教示よりも高い評価を与える教示装置である。
【００８４】
（第１実施形態）
図７は、本発明の第１実施形態のロボット装置１０００Ａを示す。直接教示の構成におけるロボット装置１０００と同様に、ロボット装置１０００Ａは、関節駆動部又は駆動部を備えるロボットの一例としてのロボットアーム１０１０Ａを用いる。ロボットアーム１０１０Ａのハンド（固定部）１０３０に作業対象物の一例である柔軟物１０４０を保持し、固定部１０３０を所定の方向に移動させることによって、柔軟物１０４０を、ロボットアーム１０１０が設置されている設置床１０１０Ｈに固定された物体載置台１０５０Ｈに保持された物体１０５０に固定された挿入口１０５１に挿入する、嵌め合わせ作業を教示するか、又は、教示及び再生する。図７において、図１に示した構成要素と同様の要素は、直接教示の構成における説明と同様の要素であり、同じ符号を付す。大きく異なる要素は、第二力センサー１０２１と、到達判定部２０１０と、通知部２０６０と、通知生成部２０６５と、評価保持部２０５０と、選択部２０７０と、曲がり基準保持部２０２０と、曲がり取得部２０３０とである。少し異なる要素は、管理部１０１２Ａと、再生制御部１０９４Ａとである。
【００８５】
ここで、ロボット装置１０００Ａは、大別して、ロボットアーム１０１０Ａと、第一力センサー１０２０と、第二力センサー１０２１と、教示装置１０００ＡＴと、再生制御部１０９４Ａとで構成されている。
【００８６】
教示装置１０００ＡＴは、位置姿勢取得部１０１３と、移動位置決定部１０９２と、教示制御部１０９３と、モード入力部１０９１と、モード保持部１０９６と、軌跡情報保持部１０９５と、管理部１０１２と、到達判定部２０１０と、通知部２０６０と、通知生成部２０６５と、評価保持部２０５０と、選択部２０７０と、曲がり基準保持部２０２０と、曲がり取得部２０３０とで構成されている。
【００８７】
以下、図１と異なる図７の要素を主として説明する。
【００８８】
第二力センサー１０２１は、手先１０１１と固定部１０３０との間に設置された力センサーであり、固定部１０３０に加わった力を取得する。例えば、柔軟物１０４０の第二端１０４２が挿入口１０５１の周囲部分１０５１ａに接触したときの力を第二力センサー１０２１で取得する。取得した情報は、第二力センサー１０２１から到達判定部２０１０に出力する。
【００８９】
到達判定部２０１０は、第二力センサー１０２１からの情報を基に、柔軟物１０４０の第二端１０４２が挿入口１０５１の入口に到達したかを判定する。具体的には、第二力センサー１０２１からの情報を基に、図３Ｂ又は図３Ｃの状態に達したかを到達判定部２０１０で判定する。第１実施形態では、第二力センサー１０２１が取得した力が、所定の力より大きくなった場合には、柔軟物１０４０の第二端１０４２が挿入口１０５１に到達したと到達判定部２０１０で判定する。逆に、第二力センサー１０２１が取得した力が、所定の力以下の場合には、柔軟物１０４０の第二端１０４２が挿入口１０５１に到達していないと到達判定部２０１０で判定する。到達判定部２０１０で判定した判定結果の情報は、管理部１０１２Ａに出力される。
【００９０】
曲がり基準保持部２０２０は、柔軟物１０４０の曲がり具合を判定する際に基準となる情報、例えば、挿入口１０５１の穴の向き２１７０などの情報を予め格納（保持）する。
【００９１】
曲がり取得部２０３０は、柔軟物１０４０が、どの程度曲がっているかを示す曲がり具合を取得する。第一実施形態では、柔軟物１０４０の曲がり具合の判定は、曲がり基準保持部２０２０で保持された基準となる情報を基に、曲がり取得部２０３０にて行う。
【００９２】
まず、第１実施形態における、曲がり取得部２０３０での曲がり具合の評価の仕方を、図５Ａを用いて説明する。第一実施形態では、到達判定部２０１０で到達が判定された時に、曲がり取得部２０３０が取得した曲がり具合を、その教示が行われた時の曲がり具合の評価とする（詳細は、管理部１０１２にて説明する。）。図５Ａにおいて、柔軟物１０４０の第一端１０４１側の先端の向き２１５０と柔軟物１０４０の第二端１０４２側の先端の向き２１６０とのなす角度が、１８０度または−１８０度（Πラジアンまたは−Πラジアン）の場合、柔軟物１０４０は真っ直ぐな状態であり、その角度が０度（０ラジアン）に近い程、柔軟物１０４０は曲がった状態であると曲がり取得部２０３０で判定する。
【００９３】
よって、第一端１０４１側の先端の向き２１５０の方向と、第二端１０４２側の先端の向き２１６０の方向のなす角度に基づいて、柔軟物１０２０の曲がり具合を曲がり取得部２０３０で評価することができる。第二端１０４２側の先端の向き２１６０の方向は、曲がり取得部２０３０一例としての、レーザーレンジファインダ、又は、カメラで撮影した画像を画像処理する画像処理部等の装置で取得することができる。
【００９４】
ここでは、別の例として、それらの装置を使わない曲がり取得部２０３０の場合を説明する。第二端１０４２側の先端の向き２１６０の方向の替わりに、曲がり取得部２０３０において、ロボットアーム１０１０が設置されている設置床１０１０Ｈに固定された物体載置台１０５０Ｈに保持された物体１０５０の挿入口１０５１の穴の向き２１７０を用いて近似することにする。柔軟物１０４０の第二端１０４２が、挿入口１０５１に到達した場合には、第二端１０４２側の先端の向き２１６０の方向と挿入口１０５１の穴の向き２１７０の方向とは等しくなるので、この近似は妥当と考えられる。このとき、第１実施形態における曲がり基準保持部２０２０は、挿入口１０５１の穴の向き２１７０の情報（予め決められた方向の一例としての情報）を予め保持する。例えば、挿入口１０５１の穴の向き２１７０が図７における−Ｘ方向であるとき、挿入口１０５１の穴の向き２１７０は（−１、０、０）となる。図８は、曲がり基準保持部２０２０が保持する挿入口１０５１の穴の向き２１７０の情報の一例であって、前記の（−１、０，０）を保持している状態を示す。なお、ここでは、物体１０５０は、例えば物体載置台１０５０Ｈなどにより作業空間に保持されて固定されているものとし、挿入口１０５１の穴の向き２１７０は、作業中に変化することはないものとする。
【００９５】
なお、もし、作業中に、物体１０５０の向きが変化する場合には、カメラで撮影した画像を画像処理部で画像処理等により処理して、物体１０５０の向きの変化を曲がり取得部２０３０で取得し、曲がり取得部２０３０で取得した向きの変換に基づいて、挿入口１０５１の穴の向き２１７０を曲がり取得部２０３０で算出して、曲がり基準保持部２０２０に保持する構成としても構わない。例えば、図７の状態から、物体１０５０がＺ軸方向に１８０度回転した場合、図７における挿入口１０５１の穴の向き２１７０（−１、０、０）をＺ軸方向に１８０度回転して得られる（１、０、０）を物体１０５０が移動した後の穴の方向とする。
【００９６】
挿入口１０５１の穴の向き２１７０は、挿入口１０５１の形状と挿入口１０５１がどのような向きに配置されているかによって決定される。ここでは、挿入口１０５１の形状及び向きは変化しないものとする。すなわち、挿入口１０５１の穴の向き２１７０自体は変化しないものとし、予め操作者がキーボード、マウス、又は、タッチパネル等の入力装置９００を使用して、曲がり基準保持部２０２０に予め入力する。なお、撮影装置の一例としてのカメラで撮影して、撮影した画像データの画像処理等を行うことで、挿入口１０５１の穴の向き２１７０を曲がり取得部２０３０で取得して、曲がり基準保持部２０２０に保持するようにしても構わない。
【００９７】
このようにして、曲がり取得部２０３０は、柔軟物１０４０が、どの程度曲がっているかを示す曲がり具合を取得する。すなわち、本第１実施形態における柔軟物１０４０の曲がり具合は、既に説明したとおり、第一端１０４１側の先端の向き２１５０と、挿入口１０５１の穴の向き２１７０とがなす角度によって曲がり取得部２０３０で評価する。挿入口１０５１の穴の向きは、前述の曲がり基準保持部２０２０より、曲がり取得部２０３０で取得する。
【００９８】
第一端１０４１は、手先１０１１と一緒に移動するので、第一端１０４１の向きは、常に、手先１０１１の向きに対して一定となる。よって、曲がり取得部２０３０は、手先１０１１の向きを検出することで、第一端１０４１の向きを検出することができる。
【００９９】
ここでは、説明を簡単にするために、手先１０１１の方向と、第一端１０４１の方向とが同じ方向になるように、柔軟物１０４０は手先１０１１に取り付けられているものとする。例えば、図９における固定部１０３０の向きをベクトルで（―１，１，０）とするならば、第一端１０４１の向きも同じく（−１、１，０）となる。
【０１００】
以降、手先１０１１をどのような向きに動かしても、第一端１０４１の向きは手先１０１１の向きと一致する。なお、手先１０１１の向きは、位置姿勢取得部１０１３より算出して、曲がり取得部２０３０に入力される。
【０１０１】
図９の第一端１０４１側の先端の向き２１５０を（αｘ、αＹ、αＺ）とし、図９の挿入口１０５１の穴の向き２１７０を（ＴＸ，ＴＹ，ＴＺ）とし、第一端１０４１側の先端の向き２１５０と挿入口１０５１の穴の向き２１７０とのなす角度をθとしたとき、は内積の公式より、
【０１０２】
【数１】
0005636119.tif 000002
．．．．．（１）
となり、第一端１０４１側の先端の向き２１５０と挿入口１０５１の穴の向き２１７０とのなす角度θは
【０１０３】
【数２】
0005636119.tif 000003
．．．．．（２）
となる。ここで、ａｒｃｃｏｓはコサイン関数の逆関数を示す。
【０１０４】
先に記載した通り、第一端１０４１側の先端の向き２１５０と挿入口１０５１の穴の向き２１７０とのなす角度θが１８０度または−１８０度（Πラジアンまたは−Πラジアン）の場合、柔軟物１０４０は真っ直ぐな状態であり、０度（０ラジアン）に近い程、柔軟物１０４０は、曲がった状態と曲がり取得部２０３０で判定する。
【０１０５】
ここでは、曲がり具合の評価Ｆ（θ）を、
【０１０６】
【数３】
0005636119.tif 000004
．．．．．（３）
と定義する。上式において、｜θ｜は、角度θの絶対値を示す。
【０１０７】
このように定義した場合、角度θの定義域は「−Π≦θ≦Π」となることより、曲がり具合の評価Ｆ（θ）の値域は「０≦Ｆ（θ）≦１８０」となる。また、柔軟物１０４０が真っ直ぐに近い程、角度θはΠラジアン（または−Πラジアン）に近い値になり、曲がり具合の評価Ｆ（θ）は０に近い値となる。柔軟物１０４０が折れ曲がっていて角度θが０ラジアンに近い程、角度θは０に近い値となり、曲がり具合の評価Ｆ（θ）は１８０に近い値となる。また、曲がり具合の評価Ｆ（θ）は、柔軟物１０４０の第一端１０４１側の先端の向き２１５０の逆向きのベクトル（第一端１０４１側の先端の向き２１５０を−１倍したベクトル）と、柔軟物１０４０の第二端１０４２側の先端の向き２１６０とのなす角度の絶対値である。
【０１０８】
なお、ここでは、柔軟物１０４０が２箇所以上で曲がる等の特別な場合を除外して考えている。柔軟物１０４０が２箇所以上で曲がった場合は、柔軟物１０４０が曲がっていない場合以上に、教示の再現が困難であるので、画像処理等で柔軟物１０４０が２箇所以上で曲がっていることが確認し、柔軟物１０４０が曲がっていることが確認された場合には、曲がり取得部２０３０において、曲がり具合の評価を低い値にする構成としても構わない。
【０１０９】
曲がり取得部２０３０で取得した曲がり具合の評価の情報は、管理部１０１２Ａに出力される。
【０１１０】
評価保持部２０５０は、到達判定部２０１０が到達を判定したときの曲がり取得部２０３０が取得した曲がり具合の評価を、後述の管理部１０１２Ａより取得して保持する。複数回の教示を行った場合には、各回ごとに前記の曲がり具合の評価を評価保持部２０５０で保持する。図１０は、評価保持部２０５０が保持するデータ構造を示す。ｎ段目はｎ回目の教示における評価を示す。評価保持部２０５０は、管理部１０１２Ａより取得した曲がり具合の評価値をデータ構造の最後に追加する。
【０１１１】
通知部２０６０は、評価保持部２０５０が保持する評価の情報を通知生成部２０６５を介して操作者に通知する。ここでは、通知部２０６０は、一例として、評価保持部２０５０が保持する評価の情報を通知生成部２０６５を介して表示するディスプレイである。
【０１１２】
通知生成部２０６５は、評価保持部２０５０が保持する評価の情報を基に、通知部２０６０が操作者に通知する通知内容を生成する。ここでは、通知部２０６０の一例としてのディスプレイに表示する画像を生成する。図１１は、通知生成部２０６５によって生成する画像を示す。図１１に示すように、ディスプレイの画面２０６０ｓの上部には、評価保持部２０５０が保持する評価値のうち、上位３つの評価値を示す。画面２０６０ｓの下部には、直近に取得した評価値を表示する。
【０１１３】
以下、通知生成部２０６５が行う通知部表示用評価値の生成処理の流れを、図１２を用いて説明する。
【０１１４】
まず、ステップＳ８０１０で、通知生成部２０６５は処理を開始する。
【０１１５】
次いで、ステップＳ８０２０で、通知生成部２０６５は、評価保持部２０５０が保持する評価の情報のうち、最も評価が高い教示が行われたのが何回目かを示す情報Ｄ１と、その評価（一位評価）の値の情報Ｖ１とを取得する。図１０は、評価保持部２０５０が保持する評価の情報の例を示す。図１０の場合、Ｄ１及びＶ１はそれぞれＤ１＝３、Ｖ１＝１８．４となる。
【０１１６】
次いで、ステップＳ８０３０で、通知生成部２０６５は、評価保持部２０５０が保持する評価の情報のうち、２番目に評価が高い回数を示す情報Ｄ２と、その評価（二位評価）の値Ｖ２とを取得する。図１０の場合、Ｄ２及びＶ２はそれぞれＤ２＝２、Ｖ１＝１８．０となる。
【０１１７】
次いで、ステップＳ８０４０で、通知生成部２０６５は、評価保持部２０５０が保持する評価の情報のうち、３番目に評価が高い回数を示す情報Ｄ３と、その評価（三位評価）の値Ｖ３とを取得する。図１０の場合、Ｄ３及びＶ３はそれぞれＤ３＝５、Ｖ１＝１７．８となる。
【０１１８】
次いで、ステップＳ８０５０で、通知生成部２０６５は、取得したＤ１からＤ３の情報と、Ｖ１からＶ３の情報とを、図１１のようにＤ１からＤ３を表の２段目に、Ｖ１からＶ３を表の３段目にあてはめて上部の表を生成する。なお、表の１段目、枠外の「曲がり具合の評価ベスト３」は常に固定の文字列とする。
【０１１９】
次いで、ステップＳ８０６０で、通知生成部２０６５は、評価保持部２０５０が保持する最後の評価（最終評価）Ｖ＿ＬＡＳＴの情報を取得する。評価保持部２０５０が保持する評価の情報は、図１０の場合、Ｖ＿ＬＡＳＴ＝１６．５となる。
【０１２０】
次いで、ステップＳ８０７０で、通知生成部２０６５は、Ｖ＿ＬＡＳＴを図１１のように、表の下部に表示する文字列として、表を生成する。なお、表の下部の１段目、枠外の「今回」は常に固定の文字列とする。
なお、ここで、Ｖ＿ＬＡＳＴの値と、Ｖ３の値を比較し、Ｖ＿ＬＡＳＴの方が小さい場合には、「もっと曲げるようにして下さい。」との文字列を表示する構成であっても構わない。すなわち、今回の評価が、上位３位までの評価よりも悪い場合に、操作者に対して、より柔軟物を曲げるよう通知を行う構成としてもよい。ここで、Ｖ＿ＬＡＳＴとＶ３を比較するのは、一例であって、Ｖ３以外の他の順位の評価（Ｖ１、、、）や特定の評価値とＶ＿ＬＡＳＴ比較する構成であっても構わない。また、Ｖ１からＶ３の平均の値とＶ＿ＬＡＳＴを比較する構成であっても構わない。また、Ｖ＿ＬＡＳＴのＶ＿１、、、を比較して、Ｖ＿ＬＡＳＴの順位を通知する構成であっても構わない。
【０１２１】
次いで、ステップＳ８０８０で、通知生成部２０６５は処理を終了する。
【０１２２】
このようにして、通知生成部２０６５で評価の処理を行い、図１１に示す通知部表示用評価値を生成する。
【０１２３】
選択部２０７０は、教示が複数回行われた場合に、いずれの教示で生成した軌跡を再生するかを選択して決定する。再生する軌跡の決定は、曲がり取得部２０３０で取得して管理部１０１２Ａを介して評価保持部２０５０で保持された評価の情報に基づいて、選択部２０７０で行う。ここでは、柔軟物１０４０の第二端１０４２が挿入口１０５１の入口に到達したときの曲がりが大きかった軌跡データを選択部２０７０で選択する。すなわち、評価保持部２０５０が保持する複数の評価の情報のうち、最も高い評価を行ったのが、何番目の教示によるものであるかを選択部２０７０で選択する。選択部２０７０で選択した情報は、管理部１０１２Ａに出力されて、再生時に使用される。
【０１２４】
再生制御部１０９４Ａは、教示した作業を再現する際の制御を行う。再生制御部１０９４Ａは、軌跡情報保持部１０９５が保持する位置および姿勢に、関節部のモータ９１２Ｍをそれぞれ駆動して、手先１０１１を移動する制御を行う。軌跡情報保持部１０９５が保持する軌跡の移動が終了した場合、再生制御部１０９４Ａはロボットアーム１０１０Ａを駆動停止する制御を行う。なお、軌跡情報保持部１０９５が複数の軌跡データを有する場合には、選択部２０７０が選択した軌跡を再生制御部１０９４Ａで実行する。
【０１２５】
管理部１０１２Ａは、ロボットアーム１０１０Ａの動作全般を管理する。管理部１０１２Ａは、教示制御部１０９３の制御と、再生制御部１０９４Ａの制御とを切換えて、ロボットアーム１０１０Ａの動作を制御する。また、管理部１０１２Ａは、到達判定部２０１０が到達を判定した時刻に曲がり取得部２０３０が取得した曲がり具合の評価を、その教示全体に対する曲がり具合の評価として、評価保持部２０５０に保持し、管理１０１２Ａは通知生成部２０６５に、通知生成を実行するための指示を与える。
【０１２６】
＜ロボットアーム１０１０Ａの処理の流れ＞
管理部１０１２Ａによるロボットアーム１０１０Ａの処理の流れを、図１３を用いて説明する。
【０１２７】
まず、ステップＳ９０１０で、管理部１０１２Ａは処理を開始する。
【０１２８】
次いで、ステップＳ９０２０で、管理部１０１２Ａは、モード入力部１０９１より通知を取得する。すなわち、操作者がロボットアーム１０１０Ａで行う３つの処理モードのうち、「再生を行う」、「教示を行う」、「実行しない」のいずれが入力されているかを、管理部１０１２Ａは、モード入力部１０９１より取得する。
【０１２９】
次いで、ステップＳ９０３０で、管理部１０１２Ａは、取得した通知によって分岐を行う。すなわち、取得した通知が「実行しない」を示す「０」であった場合、ステップＳ９０２０に分岐し、それ以外の場合はステップＳ９０４０に分岐する。
【０１３０】
ステップＳ９０４０で、管理部１０１２Ａは、取得した通知によって分岐を行う。モード入力部１０９１が取得した入力が「教示を行う」を示す「１」であった場合、ステップＳ９０４５に分岐し、「再生を行う」を示す「２」であった場合ステップＳ９１３０に分岐する。
【０１３１】
ステップＳ９０４５で、教示制御部１０９３は、それぞれのモータ９１２Ｍの駆動制御を行い、手先１０１１を予め定めた初期位置に移動する。
【０１３２】
次いで、ステップＳ９０４７で、移動位置決定部１０９２は、第一力センサー１０２０で取得された力、すなわち、操作者が操作部１０９０に加えた力に基づいて、手先１０１１を移動する位置を決定する。
【０１３３】
次いで、ステップＳ９０５０で、管理部１０１２Ａによる教示制御への切換えを基に、教示制御部１０９３は、それぞれのモータ９１２Ｍの駆動制御を行い、初期位置から、移動位置決定部１０９２で決定した移動位置に手先１０１１を移動する制御を行う（図１４Ａ参照）。
【０１３４】
次いで、ステップＳ９０６０で、到達判定部２０１０は、柔軟物１０４０の第二端１０４２が挿入口１０５１に到達したかを判定する。到達判定部２０１０で到達が判定された場合（図１４Ｂ参照）、ステップＳ９０７０に分岐し、到達判定部２０１０で到達が判定されなかった場合、ステップＳ９１２０に分岐する。なお、教示が開始されてから、既に到達判定を行っている場合にもステップＳ９１２０に分岐する。
【０１３５】
ステップＳ９０７０で、到達判定部２０１０で到達が判定された後、曲がり取得部２０３０は、柔軟物１０４０の曲がり具合の評価を取得する。
【０１３６】
一例として、曲がり取得部２０３０は、位置姿勢取得部１０１３と曲がり基準保持部２０２０との情報を基に、柔軟物１０４０の曲がり具合の評価の情報を取得して、取得した柔軟物１０４０の曲がり具合の評価の情報を管理部１０１２Ａに出力する。
【０１３７】
次いで、ステップＳ９０８０で、管理部１０１２Ａは、ステップＳ９０７０で曲がり取得部２０３０により取得した曲がり具合の評価を、評価保持部２０５０に格納する。
【０１３８】
次いで、ステップＳ９０９０で、通知生成部２０６５は、評価情報等の、操作者に通知部２０６０で通知するための表示画面を生成する。すなわち、図１２の処理を行う。
【０１３９】
次いで、ステップＳ９１００で、通知部２０６０は、通知生成部２０６５が生成した表示画面をディスプレイに表示する。
【０１４０】
次いで、ステップＳ９１２０では、モード入力部１０９１から管理部１０１２Ａに新しい通知があったか否かによる分岐を行う。すなわち、モード入力部１０９１から管理部１０１２Ａに新しい出力がなかった場合（モード入力部１０９１に新しい入力がなされなかった場合）、ステップＳ９０４７に分岐し、教示を継続する。モード入力部１０９１から管理部１０１２Ａに新しい出力があった場合にはステップＳ９０２０に分岐し、入力に応じた処理を行う。
【０１４１】
一方、ステップＳ９１３０では、選択部２０７０は、評価保持部２０５０で保持された評価の情報に基づいて、教示データの中で評価が高い軌跡データを選択して、選択した情報は、管理部１０１２Ａに出力される。
【０１４２】
次いで、ステップＳ９１４０で、管理部１０１２Ａによる再生制御への切換えを基に、再生制御部１０９４Ａは、ステップＳ９１３０で選択した軌跡データを再生する。再生終了後に、ステップＳ９０２０に戻る。
【０１４３】
このときの具体的な再生は、再生制御部１０９４Ａの制御の下に各関節部のモータ９１２Ｍがそれぞれ制御されて、以下のような動作を行う。
【０１４４】
すなわち、まず、図１４Ａでは、柔軟物１０４０の左側の第一端１０４１は、ロボットアーム１０１０Ａの固定部１０３０に固定されている。柔軟物１０４０の第二端１０４２は、固定されていない。図１４Ａ中、ロボットアーム１０１０Ａの固定部１０３０の右方向への移動により、柔軟物１０４０の第二端１０４２が挿入口１０５１に近づく段階であり、柔軟物１０４０と挿入口１０５１の周囲部分１０５１ａとは、接触していない状態にある。この段階は非接触段階である。
【０１４５】
次に、図１４Ｂに示すように、ロボットアーム１０１０Ａの固定部１０３０がさらに右方向に移動して、柔軟物１０４０の第二端１０４２が挿入口１０５１にさらに近づき、柔軟物１０４０の一部（第二端１０４２）が、挿入口１０５１の周囲部分１０５１ａと接触する。この段階では、柔軟物１０４０の第二端１０４２の一部が挿入口１０５１の周囲部分１０５１ａに接触しているだけで、挿入口１０５１に対する柔軟物１０４０の向きの調整ができていない。この段階は接触段階である。
【０１４６】
更に、図１４Ｃに示すように、ロボットアーム１０１０Ａの固定部１０３０が右方向に少し移動しつつ柔軟物１０４０中心付近周りに時計方向に回転移動する。この動作により、柔軟物１０４０の第二端１０４２は、挿入口１０５１の周囲部分１０５１ａにしっかりと接触し、第二端１０４２が挿入口１０５１に挿入可能な状態になる。この際、柔軟物１０４０の両端１０４１，１０４２が拘束されている状態になり、かつ、柔軟物１０４０が下向き凸に曲がった状態となるように変形して曲がる。この段階は到達段階である。
【０１４７】
最後に、図１４Ｄに示すように、ロボットアーム１０１０Ａの固定部１０３０が到達段階の回転角度（挿入口１０５１に対する傾斜角度）を維持しながら右方向に少し移動して、柔軟物１０４０の第二端１０４２が挿入口１０５１に奥まで挿入される。この段階は完了段階である。柔軟物１０４０は、図１４Ｄの段階では、図１４Ｃの段階より更に曲がった状態になっている。
【０１４８】
このようにして、曲がり取得部２０３０が取得した評価の情報に基づいて教示装置１０００ＡＴで生成された教示データを再生制御部１０９４Ａで再生すれば、従来困難であった柔軟物１０４０の挿入作業などの作業を精度良く行うことができる。
【０１４９】
第１実施形態において、前記した管理部１０１２Ａによるロボットアーム１０１０Ａの処理によれば、ロボット装置１０００Ａにおける教示では、曲がり取得部２０３０は、柔軟物１０４０の第二端１０４２が挿入口１０５１に挿入される際の柔軟物１０４０の曲がり具合の評価を行う。この評価は、行った教示を再生した際の成功率の目安とすることができる。
【０１５０】
操作者は、通知部２０６０によって、行った教示の評価を知ることができる。操作者は、通知部２０６０で得られた教示の評価に基づいて、更に教示を続けるか、教示を終了するかを決定することができる。例えば、操作者が、教示を何度（例えば、五回程度）行っても評価が上がらなくなった場合、それ以上、教示を繰り返しても効果が無いと操作者で判定して、操作者が教示を止めることができる。
【０１５１】
また、通知部２０６０から参考情報を通知するようにすれば、評価が上がらない場合、通知部２０６０からの参考情報を参考にして、教示の仕方を変えるか否かを決める参考とすることができる。通知部２０６０から参考情報としては、以下のような情報が例示できる。例えば、操作者が、教示を何度行っていく評価が上がらなくなって、教示を止めて、再生したところ、曲がり具合が足りず挿入が失敗したとする。そのような場合、通知部２０６０から「操作部の握り方を変えましょう」といった情報を操作者に通知することにより、操作者は、操作部１０９０の握り方を変えて、再度、教示を行って、より良い評価が得られるかを試みることができる。また、例えば、通知部２０６０から「操作者を交代しましょう」といった情報を操作者に通知することにより、他の操作者に替わって、より良い評価が得られるかを試みることができる。また、例えば、通知部２０６０から「柔軟物を変えましょう」といった情報を操作者に通知することにより、対象となる柔軟物１０４０が複数の会社で作られている場合などで、代用できる柔軟物がある場合に、柔軟物を代用物に替えて、より良い評価が得られるかを試みることができる。
【０１５２】
また、前記処理によれば、操作者は、通知部２０６０により、曲がり取得部２０３０が保持する評価の情報のうち評価が高い上位の評価を見ることができる。操作者が複数回の教示を行ったときに、評価が収束してきたか否かを操作者が知る参考にすることができる。例えば、評価が収束していない場合には、教示を繰り返せば、更に、良い評価が得られる可能性があることが操作者にわかる。一方、評価が収束してきた場合には、今と同じ教示を繰り返していても、高い評価の教示ができる可能性は低いことが操作者にわかる。
【０１５３】
選択部２０７０は、軌跡情報保持部１０９５が保持する複数の軌跡データのうち、評価が高かった軌跡データを再生に用いるか否かを決定する。よって、図１などのように前記「直接教示の構成」の場合に比べて、柔軟物１０４０の挿入作業の成功確率が高い再生作業を行うことができる。
【０１５４】
また、第１実施形態では、柔軟物１０４０のある点における柔軟物１０４０の向きの明確な定義を述べてこなかったが、柔軟物１０４０が線の場合は、線の法線の方向であり、長方形の場合は、長方形の長手方向沿いの中心線における接線の方向である。柔軟物１０４０の方向として、柔軟物１０４０の接線方向を用いずに、柔軟物１０４０の方向として表面の法線方向を用いても構わない。その際、曲がり基準保持部２０２０は、穴の向きの情報を保持する替わりに、穴に対する法線方向の向きの情報を保持する。また、式（３）の替わりに
【０１５５】
【数４】
0005636119.tif 000005
．．．．．（４）
を用いる。
【０１５６】
また、曲がり基準保持部２０２０は、第二端１０４２の柔軟物１０４０の向きの情報を保持する場合を説明したが、柔軟物１０４０の第二端１０４２が挿入口１０５１に挿入された状態で、かつ柔軟物１０４０が曲がっていない状態にしたときの柔軟物１０４０の第一端１０４１の向きの情報を保持する構成であっても構わない。図１５は、柔軟物１０４０の第二端１０４２が挿入口１０５１に挿入された状態で、かつ、柔軟物１０４０が曲がっていない状態を示す。操作者は、柔軟物１０４０を、このように曲がっていない状態にして、このときの柔軟物１０４０の第一端１０４１の姿勢を曲がり基準保持部２０２０に登録しても構わない。このとき、式（３）の替わりに
【０１５７】
【数５】
0005636119.tif 000006
．．．．．（５）
を用いる。このとき、角度θは、「柔軟物が曲がっていないときの第一端の向き」と「位置姿勢取得部１０１３より取得したその時点での第一端の向き」とのなす角度である。角度θの絶対値｜θ｜が小さいほど、その時点の第一端１０４１の向きは「柔軟物が曲がっていないときの第一端の向き」に近い。よって、柔軟物１０４０は曲がっていない。角度θの絶対値｜θ｜が大きい程、その時点での第一端１０４１の向きは「柔軟物が曲がっていないときの第一端の向き」から離れた向きである。よって、柔軟物１０４０は曲がっている。
【０１５８】
また、曲がり基準保持部２０２０は、柔軟物１０４０の第二端１０４２が挿入口１０５１に挿入された状態で、かつ柔軟物１０４０が曲がっていない状態にしたときの柔軟物１０４０の第一端１０４１の位置（Ｘ＿Ｐ，Ｙ＿Ｐ，Ｚ＿Ｐ）を保持する構成であっても構わない。すなわち、曲がり基準保持部２０２０は、図１５における柔軟物１０４０の第一端１０４１の位置の情報を保持する。そして、「曲がり取得部２０３０は位置姿勢取得部より取得した第一端の位置」と「曲がり基準保持部２０２０が保持する位置」との距離を、曲がり具合の評価としても良い。
【０１５９】
前記の距離が小さいほど、その時点の第一端の位置「柔軟物が曲がっていないときの第一端の位置」に近い。よって柔軟物１０４０は曲がっていない。前記の距離が大きい程、その時点での柔軟物１０４０の第一端１０４１の位置は「柔軟物が曲がっていないときの第一端の位置」から離れた位置である。よって、柔軟物１０４０は曲がっていることになる。
【０１６０】
第１実施形態における管理部１０１２Ａは、到達判定部２０１０が到達したと判定してから後に、曲がり取得部２０３０が取得した曲がり具合の評価を通知する構成を示している。しかしながら、このような構成では、通知が行われた時点では既に評価が決定しているため、その回の操作中に、操作者は評価を良くするための行動を取ることは出来ない。
【０１６１】
そこで、到達判定部２０１０で到達が判定される以前から、評価および、通知を行う構成としても構わない。また、その際に得られた評価の値が、評価保持部２０５０が保持する評価の中で所定の順位よりも低い（悪い）値であったときに、「柔軟物をもっと曲げて下さい」などの画面通知又は音声通知などの通知を通知部２０６０で行う構成であっても構わない。
【０１６２】
なお、柔軟物１０４０は、板状の柔軟物が剛体の物体の挿入口の周囲に当接して柔軟物の一箇所が湾曲しつつ挿入口１０５１に挿入されるものとして説明している。このような柔軟物１０４０の具体的な例としては、板状のフレキシブル基板又は、円筒状のチューブ若しくはケーブルなどであっても構わない。図１６は、柔軟物１０４０が円筒状のチューブ１０４０ｈである場合を示す図である。円筒状のチューブチューブである柔軟物１０４０ｈは、その第二端１０４２の開口１０４０ｉを挿入口１０５１の周囲部分１０５１ａの外側に被せられる以外は、第１実施形態と同様である。一方、物体１０５０としては、フレキシブル基板と電気的に接続される回路基板などのコネクタ、チューブ又はケーブルを差し込んで接続する接続管などが例示できる。
【０１６３】
このように第１実施形態によれば、柔軟物１０４０が物体１０５０の挿入口１０５１に到達した際に、柔軟物１０４０を曲げる操作を行ってから挿入する制御を行うように教示するとき、柔軟物１０４０の曲がり具合の評価の情報を曲がり取得部２０３０で取得する。曲がり取得部２０３０で取得した曲がり具合の評価の情報を基に、教示によって得られた教示データが、柔軟物１０４０が挿入口１０５０に到達した際に、柔軟物１０４０を曲げる操作を行ってから挿入する教示を満たすかを判定して、前記曲がり取得部２０３０が取得した前記評価の情報に基づいて、通知部２０６０により、教示に関する所定の通知を行うことができる。又は、通知の代わりに、曲がり取得部２０３０が取得した前記評価の情報に基づいて複数の教示データの中から前記評価の高い教示を選択部２０７０で選択することができる。この結果、より評価の高い教示を使用することが可能となり、柔軟物１０４０を取扱う作業を精度良く行うことができる教示データを取得することができて、従来困難であった柔軟物１０４０の挿入作業などの作業を精度良く行うことができる。
【０１６４】
＜到達判定部の別構成＞
第１実施形態では、到達判定部２０１０において、第二力センサー１０２１が取得した力が所定の力より大きくなった時刻を到達段階に達した時とみなし、そのとき時に（その後に）曲がり取得部２０３０より曲がり評価を取得する構成を示している。これに対して、本別構成では、前記構成の替わりに、第１実施形態では、到達判定部２０１０において、第二力センサー１０２１が取得した力が所定の力より大きくなった時から所定時間（例えば、１００ミリセック）経過した時を到達段階に達した時とみなす。すなわち、第二力センサー１０２１が取得した力が所定の力より大きくなった時から所定時間経過したのち、曲がり取得部２０３０より曲がり評価を取得する。
【０１６５】
本構成では、第１実施形態の各部に加えて、時刻取得部２０４０と、タイマ部２０５０とを用いる(図７参照)。
【０１６６】
時刻取得部２０４０は、時刻を取得する。例えば、カウンタ回路を用いて時刻取得を実現する。
【０１６７】
タイマ部２０５０は、時間の計測開始が指定された後、指定された時間が経過した時に、通知を行う装置である。具体的には、例えば、タイマ２０５０は、外部より計測の開始の通知を受けて、時刻取得部２０４０より時刻を取得し、以降、時刻取得部２０４０より時刻（またはカウンタの値）を取得し続けて、指定された時間が経過した否かを判定し、指定された時間が経過したと判定した場合に、外部に時間経過の通知を行う。
【０１６８】
更に具体的には、例えば、柔軟物１０４０の第二端１０４２が挿入口１０５１の周囲部分１０５１ａに接触した時刻（第二力センサー１０２１が取得した力が所定の力より大きくなった時刻）に、タイマ部２０５０に計測の開始を指示し、タイマ部２０５０より所定時間経過の通知を受けて、曲がり取得部２０３０より曲がり評価を取得する。
【０１６９】
＜第１変形例＞
第１実施形態に示した曲がり取得部２０３０による曲がり具合の評価は、曲がり具合の評価の取得方法の一例を示すものであって、他の方法であっても構わない。第１実施形態の第１変形例では、曲がり取得部２０３０を、撮影装置の一例としての多眼カメラ１５２０と、多眼カメラ１５２０で撮影した画像を画像処理する特徴点抽出部（画像処理部）１５２５とを備える曲がり取得部２０３０Ｃとして構成し、画像処理によって曲がり具合の評価を取得する。図１７は、本第１変形例におけるロボットアーム１０１０Ａの先端と柔軟物１０４０とを示す図である。
【０１７０】
特徴点１４０１、１４０２は、画像処理で柔軟物１０４０の曲がり具合を取得するために設けられた特徴点である。特徴点１４０２は、柔軟物１０４０の第二端１０４２に設けられた特徴点であり、特徴点１４０１は、柔軟物１０４０の真ん中の位置（第一端１０４１と第二端１０４２の中間の位置）に設けられた特徴点である。これらの特徴点１４０１，１４０２は、通常の柔軟物１０４０に互いに異なる色の油性マーカーを円形に塗るなどして設けられる。ここでは、特徴点１４０１は赤色であり、特徴点１４０２は緑色であるとする。また、作業空間には、特徴点１４０１，１４０２以外に赤色又は緑色の物体はないものとする。
【０１７１】
図１８は本構成におけるロボット装置１０００Ｃの構成を示す図である。第１実施形態におけるロボット装置１０００Ａと同様に、ロボット装置１０００Ｃは、ロボットアーム１０１０Ａと同じ構造のロボットアーム１０１０Ｃを用いて、柔軟物１０４０の第二端１０４２を、物体１０５０に固定された挿入口１０５１に挿入する作業を教示、又は、教示及び再生する。図１８において、図７に示した構成要素と同様の要素は、第１実施形態の構成における説明と同様の要素である。以下、図７と異なる図１８の要素を説明する。
【０１７２】
多眼カメラ１５２０は、特徴点１４０１、１４０２を撮影するカラーカメラである。ここでは、作業空間に対して固定したステレオカメラとする。
【０１７３】
特徴点抽出部１５２５は、多眼カメラ１５２０が撮影したそれぞれの画像から特徴点１４０１、１４０２を抽出し、抽出した柔軟物１０４０の先端の特徴点１４０１、１４０２に基づいて柔軟物１０４０の先端を抽出する。特徴点抽出部１５２５による特徴点１４０１、１４０２の抽出方法は多数の方法が知られている。ここでは、簡単な一例を示す。特徴点１４０１を取得する場合、まず、多眼カメラ１５２０の撮影画像を２値化して赤色の領域を特徴点抽出部１５２５で抽出する。撮影画像の各画素が赤色成分か否かを特徴点抽出部１５２５で判定し、特徴点抽出部１５２５において、赤色と判定した画素に対して１を割り当て、赤色でないと判定した場合には０を割り当てる。この際、赤色成分の明度が閾値以上であり、かつ、青色成分、緑色成分の明度が閾値以下である画素を赤色の画素と特徴点抽出部１５２５で判定する。
【０１７４】
画像中には、いくつかの赤色の領域（１が割り当てられた領域）ができるが、そのうち最大面積の領域を、特徴点抽出部１５２５で、特徴点１４０１の領域とみなし、特徴点抽出部１５２５において、領域の重心を特徴点１４０１の画像上での位置とする。特徴点１４０２についても同様に、緑色領域を特徴点抽出部１５２５で抽出して、位置を特徴点抽出部１５２５で算出する。特徴点抽出部１５２５は、ステレオ画像それぞれにおける特徴点１４０１、１４０２の位置を、後述の位置取得部１５３０へ出力する。
【０１７５】
また、特徴点抽出部１５２５は、特徴点１４０２の領域の面積が予め定めた閾値よりも小さい場合は、特徴点１４０２を抽出できなかったと判定する。判定結果を、位置取得部１５３０を介して、曲がり取得部２０３０Ｃへ出力する。柔軟物１０４０の第二端１０４２が挿入口１０５１に挿入された場合、特徴点１４０２は挿入口１０５１の中に入るので多眼カメラ１５２０で撮影されず、抽出できない。また、柔軟物１０４０の第二端１０４２が挿入口１０５１の周囲部分１０５１ａに接触した場合にも、特徴点１４０２は挿入口１０５１によって隠れるので多眼カメラ１５２０で撮影されず、抽出できない。
【０１７６】
位置取得部１５３０は、多眼カメラ１５２０で取得したステレオ画像より、特徴点１４０１の位置（Ｘ１，Ｙ１，Ｚ１）及び特徴点１４０２の位置（Ｘ２，Ｙ２，Ｚ２）を算出する。通常のステレオ画像を用いた位置抽出方法により、位置取得を位置取得部１５３０で行って、取得した位置の情報を位置取得部１５３０から曲がり取得部２０３０Ｃに出力する。
【０１７７】
曲がり取得部２０３０Ｃは、位置取得部１５３０で算出した特徴点１４０２の位置と、手先１０１１の位置とに基づいて、曲がり具合の評価を行う。
【０１７８】
第１実施形態では、図５Ａにおける第二端１０４２側の先端の向き２１６０を挿入口１０５１の穴の向き２１７０を用いて近似したが、本構成では、図１７における第二端１０４２の向き２１６０を、ベクトル１４２０で近似する。このベクトル１４２０は、特徴点１４０１を始点とし、特徴点１４０２を終点とするベクトルである。すなわち、柔軟物１０４０の真ん中を始点とし、柔軟物１０４０の第二端１０４２を終点とするベクトル１４２０を、第二端１０４２側の先端の向き２１６０とみなすことで、第１実施形態と同様に曲がり具合の評価を曲がり取得部２０３０Ｃで算出する。
【０１７９】
位置取得部１５３０が取得した特徴点１４０１の位置と、特徴点１４０２の位置とが、それぞれ、（Ｘ１，Ｙ１，Ｚ１）、（Ｘ２，Ｙ２，Ｚ２）のとき、ベクトル１４２０は、（Ｘ２−Ｘ１，Ｙ２−Ｙ１、Ｚ２−Ｚ１）として曲がり取得部２０３０Ｃで算出される。
【０１８０】
このとき、第一端１０４１側の先端の向き２１５０と、ベクトル１４２０とのなす角度θは、式（２）の（ＴＸ，ＴＹ，ＴＺ）を（Ｘ２−Ｘ１、Ｙ２−Ｙ１、Ｚ２−Ｚ１）に置き換えることで曲がり取得部２０３０Ｃで算出でき、
【０１８１】
【数６】
0005636119.tif 000007
．．．．．（６）
となる。
【０１８２】
また、ここでも曲がり具合の評価Ｆ（θ）は、第１実施形態と同じく式（３）となる。
【０１８３】
到達判定部２０１０Ｃは、柔軟物１０４０の第二端１０４２が挿入口１０５１の入口に到達したかを判定する。具体的には、特徴点抽出部１５２５が、特徴点１４０２を抽出できなくなった場合に、柔軟物１０４０の第二端１０４２が挿入口１０５１に到達したと判定する。
【０１８４】
なお、ここでは、図１７におけるベクトル１４２０を、位置取得部１５３０（および特徴点抽出部１５２５）により取得する構成を説明したが、同様にして、第一端１０４１側の先端の向きであるベクトル２１５０も、位置取得部１５３０（および特徴点抽出部１５２５）により取得する構成であっても構わない。
【０１８５】
前記した第１変形例によれば、第１実施形態の効果に記載と同様の効果を得られる。特に、第１変形例では、第二力センサー１０２１を用いずに到達検出を行うため、柔軟物１０４０と挿入口１０５１の周囲部分１０５１ａとが接触する際の力が弱く、第二力センサー１０２１で検出できないような場合にも、第１実施形態と同等の効果が得られる。
【０１８６】
＜通知部の別構成＞
なお、通知部２０６０は、第１実施形態では、ディスプレイである構成として説明しているが、ディスプレイに表示される内容を音声で出力するスピーカーであっても構わない。その場合、通知生成部２０６５は、対応する音声出力を合成する。また、ディスプレイによる通知と、音声による通知との両方を行う構成としても構わない。
【０１８７】
このような構成を用いると、操作者がより作業をしやすい環境を提供することができる。
【０１８８】
＜第２変形例＞
第１実施形態の第１変形例では、教示および再生を同一の装置（ロボット装置１０００Ａ）を用いて行う場合を説明したが、それぞれを別々の装置を行う構成であっても構わない。図１９は、第１実施形態の第２変形例における教示装置１０００Ｄの構成を示す図である。第１変形例と同じ符号の部は、第１変形例の機能と同様であるため、説明を省略する。以下、第１変形例と異なる部について説明する。この教示装置１０００Ｄにはロボットアームは備えていない。
【０１８９】
手先１０１１Ｄは、ロボットアームの手先ではなく、教示時に操作者が握る部分である。第１実施形態及び第１変形例では、手先１０１１の先に操作部１０９０が結合されていたが、第２変形例では、手先１０１１Ｄを操作者が直接握って移動するため、操作部は備えていない。
【０１９０】
特徴点１７１０は、固定部１０３０に設けられた特徴点である。特徴点は、具体的には、油性マーカー等で青色に塗られた点である。なお、作業環境には、特徴点１７１０以外に青色の物体は置かないこととする。
【０１９１】
特徴点抽出部１５２５Ｄは、特徴点１４０１、１４０２に加えて、特徴点１７１０の画像上での位置を抽出する。それ以外は、特徴点抽出部１５２５と同様である。
【０１９２】
位置取得部１５３０Ｄは、特徴点１４０１、１４０２に加えて、特徴点１７１０の位置を抽出する。それ以外は、位置取得部１５３０と同様である。なお、第２変形例では、特徴点１７１０の位置を手先１０１１Ｄの位置とみなし、第１実施形態で位置姿勢取得部１０１３がロボットアーム１０１０の手先１０１１の位置を取得したのと同様に、位置取得部１５３０Ｄが手先１０１１Ｄの位置を取得する。
【０１９３】
モード入力部１０９１Ｄは、ロボットアーム１０１０で行う処理モードを入力する。教示装置１０００Ｄは、再生には用いられないので「再生を行う」の選択はなく、「教示を実行する」、「実行しない」の２つの選択肢のいずれかのときに使用される。
【０１９４】
管理部１０１２Ｄは、教示装置１０００Ｄの全体の動作を管理する。
【０１９５】
＜ロボットアーム１０１０Ａの処理の流れ＞
管理部１０１２Ｄによるロボットアーム１０１０Ａの処理の流れを、図２０を用いて説明する。
【０１９６】
まず、ステップＳ１８１０で、管理部１０１２Ｄは処理を開始する。
【０１９７】
次いで、ステップＳ１８２０で、管理部１０１２Ｄは、モード入力部１０９１Ｄより通知を取得する。すなわち、操作者がロボットアーム１０１０Ａで行う２つの処理モードのうち、「教示を実行する」、「実行しない」のいずれが入力されているかを、管理部１０１２Ｄは、モード入力部１０９１Ｄより取得する。
【０１９８】
ステップＳ１８３０で、管理部１０１２Ｄは、取得した通知によって分岐を行う。すなわち、取得した通知が「実行しない」を示す「０」であった場合、ステップＳ１８２０に分岐し、「教示を実行する」の場合はステップＳ１８４７に分岐する。
【０１９９】
ステップＳ１８４７で、管理部１０１２Ｄは、位置取得部１５３０Ｄより手先１０１１Ｄの位置（特徴点１７１０の位置）を取得し、軌跡情報保持部１０９５に格納する。
【０２００】
次いで、ステップＳ１８６０で、到達判定部２０１０Ｃは、柔軟物１０４０の第二端１０４２が挿入口１０５１に到達したかを判定する。到達判定部２０１０Ｃで到達が判定された場合、ステップＳ１８７０に分岐し、到達判定部２０１０Ｃで到達が判定されなかった場合、ステップＳ１８９２に分岐する。なお、教示が開始されてから、既に到達判定を行っている場合にもステップＳ１８９２に分岐する。
【０２０１】
ステップＳ１８７０で、到達判定部２０１０Ｃで到達が判定された後、曲がり取得部２０３０Ｃは、柔軟物１０４０の曲がり具合の評価を取得する。
【０２０２】
一例として、到達判定部２０１０Ｃで到達が判定されたとき、到達判定部２０１０Ｃから管理部１０１２Ｄに到達判定信号が入力され、管理部１０１２Ｄから曲がり取得部２０３０Ｃに、柔軟物１０４０の曲がり具合を取得するように指令が入力される。曲がり取得部２０３０Ｃは、位置取得部１５３０Ｄの情報を基に、柔軟物１０４０の曲がり具合の評価の情報を取得して、取得した柔軟物１０４０の曲がり具合の情報を管理部１０１２Ｄに出力する。
【０２０３】
次いで、ステップＳ１８８０で、管理部１０１２Ｄは、ステップＳ１８７０で曲がり取得部２０３０Ｃにより取得した曲がり具合の評価を、評価保持部２０５０に格納する。
【０２０４】
次いで、ステップＳ１８９０で、通知生成部２０６５は、評価情報等の、操作者に通知部２０６０で通知するための表示画面を生成する。例えば、図１２の処理に相当する処理を行う。
【０２０５】
次いで、ステップＳ１８９１で、通知部２０６０は、通知生成部２０６５が生成した表示画面をディスプレイに表示する。
【０２０６】
次いで、ステップＳ１８９２では、モード入力部１０９１Ｄから管理部１０１２Ｄに新しい通知があったか否かによる分岐を行う。すなわち、モード入力部１０９１Ｄから管理部１０１２Ｄに新しい通知がなかった場合（モード入力部１０９１Ｄに新しい入力がなされなかった場合）、ステップＳ１８４７に分岐し、教示を継続する。モード入力部１０９１Ｄから管理部１０１２Ｄに新しい通知があった場合にはステップＳ１８２０に分岐し、入力に応じた処理を行う。
【０２０７】
前記した第２変形例によれば、第１実施形態の効果に記載と同様の効果を得られる。特に第２変形例を用いれば、教示を行う装置は簡単な構成である。よって、例えば、教示を行う技術を有する操作者が希少であって、操作者の所へ教示装置を持ち込む必要がある場合にも、容易に持ち込み作業を行うことが出来る。また、教示を行う装置が簡単な構成であるため、多数の操作者が操作を行って、その中で得られた一番評価の高い教示を、最終的に使用する教示として選択することが出来る。
【０２０８】
＜第３変形例＞
第１実施形態において再生制御部１０９４Ａは、評価値が最も高い教示データを用いる構成を説明しているが、第１実施形態の第３変形例として、評価が高い上位のＮ個（ただし、Ｎは２以上の整数である。）の教示データを管理部１０１２Ａで平均化した軌跡を再生する構成としても構わない。その際、図３Ａ〜図３Ｄにおける段階毎に管理部１０１２Ａで平均を取る構成としても構わない。例えば、柔軟物１０４０が挿入口１０５１の周囲部分１０５１ａに接触するまでの段階を複数の教示で管理部１０１２Ａで平均を取る。
【０２０９】
このような構成を用いた場合、個々の教示におけるふらつき（変動）を吸収することができ、挿入の成功率を向上させることができる。
【０２１０】
＜第４変形例＞
第１実施形態の第４変形例として、教示をいつまで繰り返すかを自動で決定する構成としても構わない。例えば、目標となる評価値を予め保持する目標評価値保持部を設けておき、その目標となる評価値以上の評価が得られるまで管理部１０１２Ａで教示を繰り返す構成としても構わない。また、その目標となる評価値以上の評価が得られるまで、通知部２０６０が、教示の続行を推奨する通知を行う構成であっても構わない。
【０２１１】
図２５は、第４変形例における、教示装置１０００ＥＴを含むロボット装置１０００Ｅの構成を示す図である。第１実施形態と同じ符号の部分は、第１実施形態と同じ要素であるので説明を省略する。以下、異なる部分を説明する。
【０２１２】
目標評価値保持部２１２０は、目標となる評価値を予め保持する。
【０２１３】
教示判定部２１１０は、管理部１０１２Ｅが取得した評価値と、目標保持部２１２０より取得した目標評価値とを比較して、後者の方が大きい場合には、教示を継続する判定を行い、それ以外の場合には、教示を終了する判定を行って、判定結果を管理部１０１２Ｅに出力する。
【０２１４】
通知生成部２０６５Ｅは、教示を継続することを操作者に通知するための画像又は音声等を生成する。ここでは、一例として、「教示を継続します。ロボットは初期位置に移動します。」という文字列の画像を生成する。
【０２１５】
管理部１０１２Ｅは、第１実施形態における管理部１０１２が行う処理に加えて、教示判定部２１１０を用いて教示を継続するか、教示を終了するかの判定を行わせる。教示を継続する場合には、通知生成部２０６５で教示を継続する通知を生成する。
【０２１６】
以下、管理部１０１２Ｅが行う処理の流れを、図２４を用いて説明する。ステップ９０１０からステップ９０８０までの各ステップは、第１実施形態の図１３のステップＳ９０１０〜ステップＳ９０８０までの各ステップと同様であるので説明を省略する。以下、異なる部分について説明する。
【０２１７】
ステップＳ９０８０の後のステップＳ９１２０で、モード入力部１０９１から管理部１０１２Ａに新しい出力があったか否かを管理部１０１２Ａで判定する。モード入力部１０９１から管理部１０１２Ａに新しい出力があった場合にはステップＳ９２１０に分岐する。管理部１０１２Ａに新しい出力がなかった場合にはステップＳ９０４７に分岐する。ステップＳ９０４７以降のステップは第１実施形態の場合と同様である。
【０２１８】
次に、ステップＳ９２１０では、モード入力部１０９１から管理部１０１２Ｅに新しい出力として通知された通知内容に基づく分岐を行う。すなわち、モード入力部１０９１から管理部１０１２Ａに「実行しない」を示す通知が行われた場合、ステップＳ９２２０に分岐する。それ以外の場合には、ステップＳ９０２０に分岐する。
【０２１９】
ステップＳ９２２０で、管理部１０１２Ｅは、教示判定部２１１０を用いて教示判定の処理を行う。教示判定部２１１０から教示を継続する判定が管理部１０１２Ｅに出力された場合、ステップＳ９２３０へ分岐する。教示判定部２１１０から教示を継続しない判定が管理部１０１２Ｅに出力された場合、ステップＳ９０２０に分岐する。
【０２２０】
ステップＳ９２３０で、管理部１０１２Ｅは，通知生成部２０５５Ｅによって通知を生成する。一例として、通知生成部２０５５Ｅによって、「教示を継続します。ロボットは初期位置に移動します。」という文字列の画像を生成する。
【０２２１】
次いで、ステップＳ９２４０で、管理部１０１２Ｅは、通知部２０６０によって、通知生成部２０５５Ｅが生成した通知内容を通知する。ここでは、通知部２０６０はディスプレイであって、ディスプレイに「教示を継続します。ロボットは初期位置に移動します。」という文字列の画像を表示する。ステップＳ９２４０の終了後、管理部１０１２Ｅは、ステップＳ９０４５に処理を分岐する。
【０２２２】
また、ここでは、教示判定部が教示を継続しない判定を行ったときには、通知を生成しない構成を示したが、その場合に、通知生成部２０６５を介して通知部２０６０に、目標となる評価値を上回ったことを示す表示を行ってもよい。
【０２２３】
また、教示判定部２１１０は、評価保持部２０５０が保持する評価の上位Ｎ番目の値（ただし、Ｎは２以上の整数である。）が、目標を上回った場合に、教示を終了する（継続しない）判定を行い、それ以外の場合に教示を継続する判定を行ってもよい。そして、教示を終了する際に、管理部１０１２Ｅは図示しない平均データ生成部を用いて、上位Ｎ個の教示データを平均化した教示データを再生用の教示データとして、軌跡情報保持部１０９５に格納する構成であっても構わない。
【０２２４】
また、教示判定部２１１０は、評価保持部２０５０が保持する評価の上位Ｎ個（ただし、Ｎは２以上の整数である。）の分散の値を算出し、算出した値が所定の値以下になったときに、教示を終了する判定を行い、それ以外の場合に、教示を継続する判定を行う構成としても構わない。また、通知部２０６０は、前記分散を通知する構成であっても構わない。なお、この構成では、目標保持部２１２０は、前記所定の値を保持する。
【０２２５】
このような構成を用いると、教示回数を決める手間が省けると共に、効果の少ない教示作業を減らすことができる。
【０２２６】
＜第５変形例＞
第１実施形態では到達判定部２０１０での到達判定をリアルタイムに行っているが、軌跡情報保持部１０９５に、位置と姿勢とに加えて、移動位置決定部１０９２を介して第二力センサー１０２１の値とを記録しておき、教示が終了した後に、軌跡情報保持部１０９５に記録された情報を基に、到達の判定を到達判定部２０１０で行う構成としても構わない。この場合、図７のブロック図において、到達判定部２０１０と軌跡情報保持部１０９５とを接続線で接続しておき、情報が入出力できるようにする必要がある。
【０２２７】
また、第二力センサー１０２１の値に加えて、手先１０１１の速度又は加速度を用いて到達判定を行っても構わない。手先１０１１の速度又は加速度は、手先１０１１の位置及びその位置の情報を取得した時間を基に移動位置決定部１０９２で求めることができる。
【０２２８】
また、ここでは、手先１０１１に取り付けた第二力センサー１０２１の値に基づいて到達判定を行っているが、第二力センサー１０２１を物体１０５０または挿入口１０５１の付近に取り付けて、第二力センサー１０２１で取得した情報を基に到達判定を行っても構わない。また、挿入口１０５１の付近を撮影するカメラと画像処理部とを使用して、画像処理を用いて到達判定を行っても構わない。
【０２２９】
このような構成を用いると、到達判定を、より正確に行うことができる。
【０２３０】
＜第６変形例＞
第１実施形態では、曲がり基準保持部２０２０は、挿入口１０５１の穴の向き２１７０の情報を保持する。そして、挿入口１０５１の穴の向き２１７０に対する第一端１０４１の向きが離れるほど、柔軟物１０４０が曲がっていると判定している。
【０２３１】
ここでは、逆に、曲がり基準保持部２０３０は、柔軟物１０４０が曲がるときの、基準となる、（理想の）第一端１０４１の姿勢の情報を保持しておき、実際の第一端１０４１の姿勢が、理想の姿勢にどれだけ近いかによって曲がり取得部２０３０で評価を行う構成とする。柔軟物１０４０が曲がるときの、基準となる、（理想の）第一端１０４１の姿勢の情報は、曲がり基準保持部２０３０に予め登録しておく構成としても良いし、挿入完了段階の姿勢より、曲がり取得部２０３０で取得する構成としても構わない。図２１は、ラグビーボール形状の柔軟物１０４０Ｕ（真ん中部分が膨らんだ形状）の曲がり具合を示す図である。実線で示す柔軟物１０４０Ｕは曲がった状態の柔軟物１０４０Ｕであり、点線で示す柔軟物１０４０Ｖは、曲がっていない状態の柔軟物１０４０Ｖである。参照符号２５０１Ｕは、曲がった状態における柔軟物１０４０Ｕの第一端１０４１Ｕの法線方向であり、参照符号２５０１Ｖは曲がっていない状態における第一端１０４１Ｖの法線方向である。曲がり基準保持部２０３０には、第一端１０４１Ｖの法線方向２５０１Ｖの方向を基準として登録しておく。曲がり取得部２０３０は、曲がり基準保持部２０３０が情報として保持する２５０１Ｖの方向と、位置姿勢取得部１０１３より取得した２５０１Ｕの方向とのなす角度によって、第１実施形態と同様に、曲がり具合の評価の情報を曲がり取得部２０３０で取得する。このような構成を用いれば、柔軟物１０４０の形状にとらわれず、曲がり具合の評価の情報を曲がり取得部２０３０で取得することが出来る。
【０２３２】
＜第７変形例＞
柔軟物１０４０の第二端１０４２が挿入口１０５１の周囲部分１０５１ａに実際に接触したことを判定する実接触判定部を設けて、接触した時刻以降、到達が到達判定部で判定されるまで、曲がり取得部２０３０が取得した値を、通知生成部２０６５を介して、通知部２０６０で通知する構成としても構わない。実接触判定部の一例としては、第二力センサー１０２１を物体１０５０又は挿入口１０５１の付近に取り付けて、第二力センサー１０２１で検出された力の情報が所定の閾値以上となることにより、実際の接触を判定するように構成してもよい。曲がり取得部２０３０が取得した曲がり具合が、予め定めた曲がり具合に到達していないと曲がり取得部２０３０で判定した場合、「もっと曲げられませんか？」などの音声を通知部２０６０で通知するなどして、操作者を誘導する構成を用いても構わない。
【０２３３】
また、柔軟物１０４０の第二端１０４２が挿入口１０５１に接触したと実接触判定部で判定した後に、手先１０１１を回転する方向の移動をパワーアシストする構成を用いても構わない。
【０２３４】
このような構成を用いれば、再生が成功しやすい教示データが取得しやすくなる。
【０２３５】
＜第８変形例＞
第１実施形態では、固定部１０３０に柔軟物１０４０の第一端１０４１を固定し、物体１０５０の挿入口１０５１に柔軟物１０４０の第二端１０４２を挿入する作業を説明しているが、固定部１０３０に挿入口１０５１の周囲部分１０５１ａ（あるいは物体１０５０）を固定して、ロボットアーム１０１０Ａ以外の場所（例えば物体載置台１０５０Ｈに）に柔軟物１０４０の第一端１０４１を固定して、挿入作業を行う構成としても構わない。
【０２３６】
＜第９変形例＞
第１実施形態では、柔軟物１０４０の第二端１０４２を挿入口１０５１の周囲部分１０５１ａに挿入する作業を行う際、柔軟物１０４０の第二端１０４２が挿入口１０５１の周囲部分１０５１ａに接触し、かつ、曲がった状態になってから、挿入を行う構成を説明している。また、第１実施形態では、柔軟物１０４０の第二端１０４２が挿入口１０５１の周囲部分１０５１ａに接触し、かつ、柔軟物１０４０が曲がった状態になってから、挿入を行う操作を良い評価とする評価を行う評価装置又は教示装置を説明している。
【０２３７】
しかし、前記は本発明を適用できる柔軟物１０４０を扱う作業の一例である。例えば、柔軟物１０４０の先端を物体１０５０の所定の位置に移動する作業（挿入作業が無い作業も含む。）にも本発明を適用することができる。柔軟物１０４０の先端を物体１０５０の所定の位置に移動する際においても、柔軟物１０４０が物体１０５０に接触し、かつ、柔軟物１０４０が曲がった状態になってから、所定の位置になるように制御を行えば、目標の移動は成功しやすい。よって、このような作業においても本発明を適用することができる。
【０２３８】
＜第１０変形例＞
第１変形例では、柔軟物１０４０の両端における柔軟物１０４０の方向がなす角度に基づいて柔軟物１０４０の曲がり具合を評価する方向を説明しているが、方向を取得する位置は両端に限らず、柔軟物１０４０上の異なる２点であれば良い。ただし、ここでは、柔軟物１０４０が２箇所以上で曲がる等の特別な場合は、この構成の対象外とする。
【０２３９】
以下、図２２を用いて前記両端以外の柔軟物１０４０上の異なる２点で柔軟物１０４０の方向を取得する方法について説明する。図２２は、第一端１０１４に固定された種々の状態の柔軟物１０４０を示す図である。図２２における柔軟物１０４０ｓは、柔軟物１０４０が曲がっていない状態（まっすぐな状態）を示す。柔軟物１０４０ｒは、柔軟物１０４０ｓから少しだけ曲がった状態の柔軟物１０４０を示す。また、柔軟物１０４０ｑは、柔軟物１０４０ｒから更に少しだけ曲がった状態の柔軟物１０４０を示す。
【０２４０】
柔軟物１０４０の第二端１０４２ｑ〜１０４２ｓはそれぞれ、柔軟物１０４０ｑ〜１０４０ｓにおける第二端１０４２を示す。
【０２４１】
図２２において、第一端１０４１から第二端１０４２ｓの向きをｘ軸方向とし、ｘ軸に垂直な方向にｙ軸方向とし、第一端１０４１を原点とする。
【０２４２】
点２４０１ｑ〜２４０１ｓは、それぞれ、柔軟物１０４０ｐ〜１０４０ｓにおいて第一端１０４１から、４ｍｍの点を示す。点２４０２ｑ〜２４０２ｓはそれぞれ、柔軟物１０４０ｑ〜１０４０ｓにおいて第一端１０４１から、８ｍｍの点を示す。ｑ１〜ｒ１は、点２４０１ｑ〜２４０１ｒにおいて、柔軟物１０４０ｑ〜１０４０ｒの接線が、ｘ軸に対してなす角度である。ｑ２〜ｒ２は、点２４０２ｑ〜点２４０２ｒにおいて、柔軟物１０４０ｑ〜１０４０ｒの接線が、ｘ軸に対してなす角度である。
【０２４３】
さて、柔軟物１０４０ｑは、柔軟物１０４０ｒを少し曲げた状態である。よって、点２４０１ｑと、点２４０１ｒを比較すると、前者が後者よりも、より曲がった状態になる。よって、以下の式（７）が成り立つ。
【０２４４】
ｑ１＞ｒ１  ．．．．．（７）
点２４０２ｑと、点２４０２ｒについても同様であり、
ｑ２＞ｒ２  ．．．．．（８）
が成り立つ。また、第一端１０４１から遠い位置ほど、柔軟物１０４０ｑは柔軟物１０４０ｒと離れていくことになり、式（９）が成り立つ。
【０２４５】
ｑ２−ｒ２＞ｑ１−ｒ２  ．．．．．（９）
式（９）の両辺に（ｒ２−ｑ１）を加えると式（１０）が成り立つ。
【０２４６】
ｑ２−ｑ１＞ｒ２−ｒ１  ．．．．．（１０）
式（１０）において、ｑ２−ｑ１は、柔軟物１０４０ｑ上の２点（点２４０１ｑと点２４０２ｑ）における柔軟物１０４０の接線がなす角度である。ｒ２−ｒ１も同様である。柔軟物１０４０ｑは柔軟物１０４０ｒよりも曲がった状態であることより、式（１０）は、「柔軟物１０４０上の２点（点２４０１と点２４０２）における柔軟物１０４０の接線がなす角度が大きい程、柔軟物１０４０は曲がった状態である」ことを示す。
【０２４７】
また、法線と接線は直交関係にあることより、同様に、「柔軟物１０４０上の２点（点２４０１と点２４０２）における柔軟物１０４０の法線がなす角度が大きい程、柔軟物１０４０は曲がった状態である」が成り立つ。
【０２４８】
＜第１１変形例＞
第１実施形態では、ロボット装置１０００Ａには、ロボットアーム１０１０Ａが含まれる構成を説明しているが、他のロボットであっても構わない。図２６は、全方向移動型のロボット１０１０Ｆ及び教示装置１０００ＦＴを含むロボット装置１０００Ｆを説明する図である。全方向移動型ロボットについては、一例として、非特許文献１、又は、非特許文献２に記載されている。
【０２４９】
ロボット１０１０Ｆは、円盤状の台２６１０には、下面側に回転自在に位置しかつモータ９１２Ｍにより正逆駆動される複数の車輪２６２０と、上面側に固定された柱２６３０とが取り付けられている。また、ロボット１０１０Ｆの台２６１０の上面には、荷物を搭載することができる。
【０２５０】
柱２６３０には、その上端に位置する第一力センサー１０２０と、その外側側面に固定された固定部１０３０とが取り付けられている。また、第一力センサー１０２０のさらに上端には操作部１０９０が取り付けられている。
【０２５１】
物体１０５０には、挿入口１０５１を有する筒状の周囲部分１０５１ａが取り付けられている。物体１０５０は、具体的な例としては、建築物のドアであって、挿入口１０５１は、ドアの開閉のカードキーを挿入する挿入口である。固定部１０３０は、挿入口１０５１と同じ高さに取り付けられている。また、固定部１０３０には柔軟物１０４０が取り付けられている。柔軟物１０４０は、具体的な例としては、前記のカードキーである。他は第一実施形態の場合と同様なので説明を省略する。
【０２５２】
なお、本発明を第１実施形態及び変形例に基づいて説明してきたが、本発明は、前記の第１実施形態及び変形例に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０２５３】
第１実施形態およびその変形例の説明では、処理の流れの一例を示したが、互いに依存関係のない処理については順序を入替えたり、並列化して実行しても構わない。
【０２５４】
また、ここで述べたロボットの教示方法（ロボットの教示装置の制御方法）を、他のロボット教示手法と一緒に適用しても良い。
【０２５５】
ロボットアーム１０１０およびその変形例を構成する要素で、操作部１０９０、固定部１０３０、手先１０１１、モータ９１２Ｍ、第一力センサー１０２０、などの物理的なユニット以外の一部または全部は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、およびマウスなどから構成されるコンピュータシステムで実現することができる。そのＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。つまり、マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各部は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０２５６】
ロボットアーム１０１０およびその変形例を構成する要素で、操作部１０９０、固定部１０３０、手先１０１１、以外の各部の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、およびＲＡＭなどを含んで構成されるコンピュータシステムである。そのＲＡＭには、コンピュータプログラムが記憶されている。つまり、マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０２５７】
ロボットアーム１０１０およびその変形例を構成する要素で、操作部１０９０、固定部１０３０、手先１０１１、以外の各部の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。そのＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、およびＲＡＭなどから構成されるコンピュータシステムである。そのＩＣカードまたはモジュールは、前記の超多機能ＬＳＩを含むとしてもよい。つまり、マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、そのＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０２５８】
ロボットアーム１０１０およびその変形例を構成する要素で、操作部１０９０、固定部１０３０、手先１０１１、以外の各部の一部または全部は、ロボットの教示データを生成する方法としても実現される。また、本発明は、これらの方法によりコンピュータに教示データを生成させるコンピュータプログラム、又は、コンピュータプログラムからなるディジタル信号としても実現される。
【０２５９】
また、ロボットアーム１０１０およびその変形例を構成する要素で、操作部１０９０、固定部１０３０、手先１０１１、以外の各部の一部または全部は、サーバなどからダウンロードされることによって実行されてもよく、上述のコンピュータプログラムまたはディジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、又は、半導体メモリなどに記録したものとしても実現される。また、これらの記録媒体に記録されているディジタル信号としても実現される。  
また、ロボットアーム１０１０およびその変形例を構成する要素で、操作部１０９０、固定部１０３０、手先１０１１、以外の各部の一部または全部は、電気通信回線、無線通信回線、有線通信回線、インターネットを代表とするネットワーク、またはデータ放送等を経由して伝送される、上述のコンピュータプログラムまたはディジタル信号としても実現される。
【０２６０】
また、ロボットアーム１０１０およびその変形例を構成する要素で、操作部１０９０、固定部１０３０、手先１０１１、以外の各部の一部または全部は、マイクロプロセッサとメモリを備えたコンピュータシステムとしても実現される。この場合、そのメモリは、上述のコンピュータプログラムを記憶しており、マイクロプロセッサは、そのコンピュータプログラムにしたがって動作する。
【０２６１】
また、そのコンピュータプログラムまたはディジタル信号を記録媒体に記録して移送することにより、またはコンピュータプログラムまたはディジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより本発明の処理を実施してもよい。
前記コンピュータプログラムの一例として、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、前記実施形態又は変形例における制御装置を構成する要素の一部又は全部を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御プログラムであって、
コンピュータを、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を取得する曲がり取得部と、
前記曲がり取得部が取得した前記評価の情報に基づいて教示に関する通知を行う通知部、
として機能させるためのロボットの教示装置の制御プログラムである。
又は、前記プログラムは、柔軟物を保持可能な柔軟物保持部と、前記柔軟物保持部を所定の方向に移動させて前記柔軟物と物体との間で嵌め合わせ作業を行う駆動部とを備えて、前記作業の教示を行って教示データを生成するロボットの教示装置の制御プログラムであって、
コンピュータを、
前記柔軟物の先端の前記物体への到達を判定する到達判定部と、
前記柔軟物の先端の前記物体への到達を前記到達判定部で判定したときの前記柔軟物の曲がり具合の評価の情報を取得する曲がり取得部と、
前記曲がり取得部が取得した前記評価の情報に基づいて複数の教示データの中から前記評価の高い教示を選択する選択部、
として機能させるためのロボットの教示装置の制御プログラムである。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
なお、前記様々な実施形態又は変形例のうちの任意の実施形態又は変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０２６２】
本発明にかかるロボットの教示装置、ロボット装置、ロボットの教示装置の制御方法、ロボットの教示装置の制御プログラムは、柔軟物を物体の挿入口に挿入する教示データに基づいて、挿入作業を再生する作業を行う、ロボットの教示装置、ロボット装置、ロボットの教示装置の制御方法、ロボットの教示装置の制御プログラムとして有用である。また、本発明は、柔軟物の挿入に限らず、柔軟物の先端を所望の位置に移動する作業を行うロボットの教示装置、ロボット装置、ロボットの教示装置の制御方法、ロボットの教示装置の制御プログラムにおいても適用される可能性がある。
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【図１】
0005636119.tif 000008
【図２】
0005636119.tif 000009
【図３Ａ】
0005636119.tif 000010
【図３Ｂ】
0005636119.tif 000011
【図３Ｃ】
0005636119.tif 000012
【図３Ｄ】
0005636119.tif 000013
【図４Ａ】
0005636119.tif 000014
【図４Ｂ】
0005636119.tif 000015
【図４Ｃ】
0005636119.tif 000016
【図４Ｄ】
0005636119.tif 000017
【図４Ｅ】
0005636119.tif 000018
【図５Ａ】
0005636119.tif 000019
【図５Ｂ】
0005636119.tif 000020
【図６】
0005636119.tif 000021
【図７】
0005636119.tif 000022
【図８】
0005636119.tif 000023
【図９】
0005636119.tif 000024
【図１０】
0005636119.tif 000025
【図１１】
0005636119.tif 000026
【図１２】
0005636119.tif 000027
【図１３】
0005636119.tif 000028
【図１４Ａ】
0005636119.tif 000029
【図１４Ｂ】
0005636119.tif 000030
【図１４Ｃ】
0005636119.tif 000031
【図１４Ｄ】
0005636119.tif 000032
【図１５】
0005636119.tif 000033
【図１６】
0005636119.tif 000034
【図１７】
0005636119.tif 000035
【図１８】
0005636119.tif 000036
【図１９】
0005636119.tif 000037
【図２０】
0005636119.tif 000038
【図２１】
0005636119.tif 000039
【図２２】
0005636119.tif 000040
【図２３Ａ】
0005636119.tif 000041
【図２３Ｂ】
0005636119.tif 000042
【図２３Ｃ】
0005636119.tif 000043
【図２３Ｄ】
0005636119.tif 000044
【図２４】
0005636119.tif 000045
【図２５】
0005636119.tif 000046
【図２６】
0005636119.tif 000047