(57)【特許請求の範囲】
【請求項１】
ロボットアームの動作を制御するロボットアームの制御装置であって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を取得する動作情報取得部と、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を取得する環境情報取得部と、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を取得する既定反応時間情報取得部と、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として検出する情報変化点検出部と、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として検出する行動変化点検出部と、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則として生成するフィードバック則生成部と、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を生成する動作生成部と、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御する制御部とを備えるロボットアームの制御装置。
【請求項２】
前記行動変化点検出部は、前記情報変化点から前記反応時間が経過した時点以降の時間に前記行動変化点が検出されないと判定した場合、前記反応時間が経過した時点以前の時間において前記情報変化点までの時間を探索し、初めに検出された時点を前記行動変化点として検出する請求項１に記載のロボットアームの制御装置。
【請求項３】
前記情報変化点検出部で検出された前記情報変化点と前記行動変化点検出部で検出された前記行動変化点との時間差を実反応時間情報として検出する実反応時間情報検出部を備え、
前記動作生成部は、前記人が前記ロボットアームを操作する際に前記動作情報取得部で取得した１つ以上の前記動作情報を、前記ロボットアームの動作を制御する際に前記情報変化点検出部で情報変化点が検出された場合は、前記フィードバック則生成部で生成された前記フィードバック則に従い修正する請求項２に記載のロボットアームの制御装置。
【請求項４】
前記既定反応時間情報を測定する既定反応時間情報測定部をさらに備え、
前記ロボットアームの制御装置で制御する前記ロボットアームの動作は組立作業であり、
前記ロボットアームで組立作業を実験として予め行い、前記人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である前記既定反応時間情報を前記既定反応時間情報測定部で測定して、前記組立作業の教示に使用する請求項３に記載のロボットアームの制御装置。
【請求項５】
前記動作生成部は、１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、最も実反応時間情報が短い前記ロボットアームの動作を生成する請求項３に記載のロボットアームの制御装置。
【請求項６】
前記行動変化点検出部は、前記動作情報が前記行動変化点として検出された場合、前記行動変化点から予備動作検出用閾値の時間を経過する間に前記動作情報が変化する時点が前記行動変化点も含めて２箇所あり、かつ、前記２箇所のうちの１箇所目の時点と２箇所目の時点との前記動作情報の大きさが同じ大きさのとき、前記２箇所目の時点以降の時間に前記行動変化点を探索する一方、
前記行動変化点検出部から入力される情報を基に、前記動作生成部で動作情報を修正するときは、前記動作生成部は、前記１箇所目の時点と前記２箇所目の時点との間の時間の前記動作情報を、前記１箇所目の時点と前記２箇所目の時点の前記動作情報の大きさと同じ大きさの動作情報に修正する請求項３に記載のロボットアームの制御装置。
【請求項７】
前記情報変化点検出部には、１つの前記行動変化点に対して同じ時点に前記情報変化点となる前記環境情報が複数ある場合、前記情報変化点として、前記力情報があれば前記力情報を使用し、前記力情報がなければ前記音量情報を使用し、前記音量情報がなければ前記位置情報を使用する請求項３に記載のロボットアームの制御装置。
【請求項８】
前記情報変化点検出部は、前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報の変位が情報変化点検出用閾値を上回る時点を情報変化点として検出し、
前記行動変化点検出部は、前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報の変位が、行動変化点検出用閾値を上回る時点を行動変化点として検出すること請求項２に記載のロボットアームの制御装置。
【請求項９】
前記情報変化点検出部及び前記行動変化点検出部は、１つ以上の前記動作情報と前記環境情報とをそれぞれ平滑化し、平滑化した情報と平滑化前の元の情報との差をそれぞれ求め、平滑化求めた差が変化点検出用閾値を上回る時点を変化点として検出する請求項２に記載のロボットアームの制御装置。
【請求項１０】
前記動作生成部において、
前記実反応時間情報として検出された時間における、前記ロボットアームの動作を削除するように修正する請求項３に記載のロボットアームの制御装置。
【請求項１１】
前記動作生成部において、
前記実反応時間情報として検出された時間における、前記ロボットアームの動作について、前記情報変化点での動作と前記行動変化点での動作とを基に補間するように修正する請求項３に記載のロボットアームの制御装置。
【請求項１２】
前記動作生成部において、
前記実反応時間情報として検出された時間における、前記ロボットアームの動作について、
前記情報変化点での情報と前記行動変化点での情報との差の絶対値が、動作修正切替用閾値以上のときは前記ロボットアームの動作を補間するように修正し、前記動作修正切替用閾値を下回るときは前記ロボットアームの動作を削除するように修正する請求項１０又は１１に記載のロボットアームの制御装置。
【請求項１３】
前記ロボットアームと、
前記ロボットアームを制御する請求項１〜１１のいずれか１つに記載の前記ロボットアームの制御装置とを備えるロボット。
【請求項１４】
ロボットアームの動作を制御するロボットアームの制御方法であって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を環境情報取得部で取得し、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を既定反応時間情報取得部で取得し、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として情報変化点検出部で検出し、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報の変位が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として行動変化点検出部で検出し、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則としてフィードバック則生成部で生成し、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を動作生成部で生成し、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御部で制御するロボットアームの制御方法。
【請求項１５】
ロボットアームの動作を制御する前記ロボットアームの制御プログラムであって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得するステップと、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を環境情報取得部で取得するステップと、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を既定反応時間情報取得部で取得するステップと、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として情報変化点検出部で検出するステップと、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として行動変化点検出部で検出するステップと、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則としてフィードバック則生成部で生成するステップと、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を動作生成部で生成するステップと、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御部で制御するステップとをコンピュータに実行させるための、ロボットアームの制御プログラム。
【請求項１６】
ロボットアームの動作を制御する集積電子回路であって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を環境情報取得部で取得し、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を既定反応時間情報取得部で取得し、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として情報変化点検出部で検出し、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報の変位が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として行動変化点検出部で検出し、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則としてフィードバック則生成部で生成し、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を動作生成部で生成し、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御部で制御する集積電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの動作を生成、教示するためのロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、集積電子回路に関する。
【背景技術】
【０００２】
近年、製造現場では多品種少量生産のため、モデルチェンジが頻繁に起こる。セル生産の製造現場において、ネジ締め作業、部品の嵌合作業、装着作業、フレキシブル基板などの挿入作業、又は、研磨作業などをロボットにより自動化するためには、多種多様な部品又は作業手順に柔軟に対応する必要がある。部品が変わるごとに組み立てる位置又は向きなどが変わり、作業を行う順番も変わるので、それらの変化に対応する必要がある。【０００３】
また、フレキシブル基板の挿入作業などのように柔軟物を取り扱う作業などは、作業が複雑であり、依然として人手中心で行っている。人は、柔軟物が対象物に接触し、柔軟物がたわむ際の手に伝わる反力によって、柔軟物のたわみ具合又は位置を推測し、それによって、複雑な作業を行うことができる。【０００４】
これに対して、ロボットは、試行ごとにたわみ方又は位置などが変わる柔軟物の力情報又は位置情報を定式化できないため、得られる反力に応じた複雑な作業を行うことは非常に困難である。以上の問題を解決し、そのような人手中心で行っている作業をロボットにより自動化する需要は大きい。【０００５】
ロボットに作業を教示する方法としてロボットを触って教示するダイレクトティーチングが用いられている。また、得られた教示データから環境の情報と人がロボットを操作する情報との関係性（センサフィードバック則と呼ぶ）を抽出し、ロボットの自動再生時に適用することによって、環境変動又はワークの変動に対応する例がある（特許文献１、２参照）。ダイレクトティーチングの例としては、微小な力情報の変化によるセンサフィードバック則が必要となる折り紙作業に適用されている（非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−２３６８２号公報
【特許文献２】特開２００６−１９２５４８号公報
【非特許文献】
【０００７】
【非特許文献１】田中、木原、横小路、「人間の直接教示動作の統計的性質に基づいた折り紙ロボットの目標軌道とセンサフィードバック則生成法」、日本ロボット学会誌、Ｖｏｌ．２７、Ｎｏ．６、ｐｐ．６８５〜６９５、２００９年７月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
フレキシブル基板の挿入作業のように、柔軟で細かな作業を行う場合には、反応時間を考慮することが重要となる。例えば、フレキシブル基板とコネクタとが接触する際の反動で人が意図しない不安定動作を起こし、フレキシブル基板又はコネクタを破損させることもある。ロボットの自動化を行う場合は、人の不安定動作の影響を防ぎ、センサフィードバック則を抽出することが非常に重要である。このような不安定動作が生じる現象を図５４Ａ〜図５４Ｈ、図５５を用いて説明する。図５４Ａ〜図５４Ｈは、人の手１００１がロボットアーム１１０２を操作し、教示している手順を示す。図５４Ａ→図５４Ｃ→図５４Ｅ→図５４Ｇの順に人の手１００１がロボットアーム１１０２に教示していく手順を示している。また、そのときのフレキシブル基板１００２とコネクタ１００３の状態を図５４Ｂ→図５４Ｄ→図５４Ｆ→図５４Ｈの順に示す。【０００９】
図５４Ａでは、人の手１００１がロボットアーム１１０２を把持し、人がロボットに対して教示を開始した時点である。この時点では、まだ、フレキシブル基板１００２とコネクタ１００３とが接触していないので、人の手１００１には、フレキシブル基板１００２とコネクタ１００３との接触時の反力は伝わらない。【００１０】
図５４Ｃは、フレキシブル基板１００２とコネクタ１００３の入り口とが接触した時点である。この時点では、接触の際の力が発生した瞬間であり、人の手１００１には力が伝わっていない。【００１１】
図５４Ｅでは、フレキシブル基板１００２とコネクタ１００３の入り口とが接触した直後であり、人の手１００１には接触の際の力が伝わっていない。しかしながら、接触の反動により人の手１００１に不安定動作が起こり、ロボットアーム１０２は移動している。【００１２】
図５４Ｇでは、フレキシブル基板１００２とコネクタ１００３の入り口とが接触した時点から反応時間が経過しており、人の手１００１には接触の際の力が伝わっている。フレキシブル基板１００２をコネクタ１００３に押し込み、挿入作業を行っている時点を示す。このときの反力を人の手１００１が感じることによって、コネクタ１００３へのフレキシブル基板１００２の挿入具合を人が調整する。【００１３】
図５５は、図５４Ａ〜図５４Ｈの教示動作における、力センサ１７１６の値とロボットアーム１１０２の位置情報を示す。力センサ１７１６の値は、フレキシブル基板１００２がコネクタ１００３に接触する際に生じる、人の手１００１に伝わる反力の大きさを示す。第一の実線のグラフ５５０は、力センサ１７１６で検出される値を示す。第二の実線のグラフ５５１は、ロボットアーム１１０２の位置を示す。図５５の横軸は、挿入作業開始時間（０ｍｓ）から挿入作業終了時間までの時間（ｍｓ）を示す。図５５の左縦軸は、ロボットアーム１１０２の位置（ｍｍ）を示す。図５５の右縦軸は、力センサ１７１６で検出される値（Ｎ）を示す。図５５のグラフの下に描かれている図は、挿入作業時間において、コネクタ１００３に対するフレキシブル基板１００２の挿入状態（図５５Ａ、図５５Ｃ、図５５Ｅ、図５５Ｇの状態）にあるのかを示す。【００１４】
図５５中の参照符号Ａの時点がフレキシブル基板１００２とコネクタ１００３とが接触した時点である。図５５中の参照符号Ｃの時間が反応時間内の不安定動作が生じている時間帯である。その時間帯の位置情報からわかる通り、人が意図せずロボットアーム１０２の位置が前後に急激に移動していることが確認できる。【００１５】
本発明の目的は、このような課題に鑑みてなされたものであり、ダイレクトティーチングなどの教示データから人の技能を抽出する際に、人の反応時間内に生じる不安定動作の影響を防ぎ、正確に人の技能を抽出することができる、ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路を提供することにある。
【課題を解決するための手段】
【００１６】
前記の目的を達成するために、本発明は以下のように構成する。【００１７】
本発明の１つの態様によれば、ロボットアームの動作を制御するロボットアームの制御装置であって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を取得する動作情報取得部と、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を取得する環境情報取得部と、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を取得する既定反応時間情報取得部と、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として検出する情報変化点検出部と、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として検出する行動変化点検出部と、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則として生成するフィードバック則生成部と、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を生成する動作生成部と、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御する制御部とを備えるロボットアームの制御装置を提供する。【００１８】
これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより実現してもよい。
【発明の効果】
【００１９】
本発明の前記態様によれば、刺激が発生した時点から反応時間が経過した時点の人の操作のフィードバック則を生成することから、人の意図通りのフィードバック則を生成できる。また、反応時間内に生じる不安定動作を防ぐことができ、安全性を向上させることができる。
【図面の簡単な説明】
【００２０】
本発明のこれらと他の目的と特徴は、添付された図面についての実施形態に関連した次の記述から明らかになる。この図面においては、
【図１Ａ】図１Ａは、本発明の第１実施形態のロボットにおけるロボットアームのブロック図、
【図１Ｂ】図１Ｂは、本発明の第１実施形態のロボットにおける教示時のロボットアームのブロック図、
【図１Ｃ】図１Ｃは、本発明の第１実施形態のロボットにおける再生時のロボットアームのブロック図、
【図１Ｄ】図１Ｄは、本発明の第１実施形態のロボットにおける入出力ＩＦのブロック図、
【図２】図２は、本発明の第１実施形態のロボットにおける動作情報のデータ図、
【図３】図３は、本発明の第１実施形態のロボットにおける環境情報のデータ図、
【図４】図４は、本発明の第１実施形態のロボットにおける既定反応時間情報のデータ図、
【図５】図５は、本発明の第１実施形態のロボットにおける情報変化点のデータ図、
【図６】図６は、本発明の第１実施形態のロボットにおける行動変化点のデータ図、
【図７】図７は、本発明の第１実施形態のロボットにおけるロボットアームの説明図、
【図８Ａ】図８Ａは、本発明の第１実施形態のロボットにおけるフレキシブル基板を挿入方向に対して下から見た図、
【図８Ｂ】図８Ｂは、本発明の第１実施形態のロボットにおけるフレキシブル基板を挿入方向に対して横から見た図、
【図９Ａ】図９Ａは、本発明の第１実施形態のロボットにおけるコネクタを挿入方向に対して正面から見た図、
【図９Ｂ】図９Ｂは、本発明の第１実施形態のロボットにおけるコネクタを挿入方向に対して横から見た図、
【図１０Ａ】図１０Ａは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１０Ｂ】図１０Ｂは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１０Ｃ】図１０Ｃは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１０Ｄ】図１０Ｄは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１０Ｅ】図１０Ｅは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１０Ｆ】図１０Ｆは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１０Ｇ】図１０Ｇは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１０Ｈ】図１０Ｈは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１０Ｉ】図１０Ｉは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１０Ｊ】図１０Ｊは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（力情報を使用する例）、
【図１１Ａ】図１１Ａは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の力情報と位置情報の図、
【図１１Ｂ】図１１Ｂは、行動変化点の検出方法の図１１Ａとは別の例を説明するための、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の力情報と位置情報の図、
【図１２Ａ】図１２Ａは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１２Ｂ】図１２Ｂは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１２Ｃ】図１２Ｃは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１２Ｄ】図１２Ｄは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１２Ｅ】図１２Ｅは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１２Ｆ】図１２Ｆは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１２Ｇ】図１２Ｇは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１２Ｈ】図１２Ｈは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１２Ｉ】図１２Ｉは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１２Ｊ】図１２Ｊは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（力情報を使用する例）、
【図１３】図１３は、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の力情報と位置情報の図、
【図１４】図１４は、本発明の第１実施形態のロボットにおける集音装置の取り付け位置の図、
【図１５Ａ】図１５Ａは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１５Ｂ】図１５Ｂは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１５Ｃ】図１５Ｃは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１５Ｄ】図１５Ｄは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１５Ｅ】図１５Ｅは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１５Ｆ】図１５Ｆは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１５Ｇ】図１５Ｇは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１５Ｈ】図１５Ｈは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１５Ｉ】図１５Ｉは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１５Ｊ】図１５Ｊは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（音量情報を使用する例）、
【図１６】図１６は、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の音量情報の図、
【図１７Ａ】図１７Ａは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１７Ｂ】図１７Ｂは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１７Ｃ】図１７Ｃは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１７Ｄ】図１７Ｄは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１７Ｅ】図１７Ｅは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１７Ｆ】図１７Ｆは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１７Ｇ】図１７Ｇは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１７Ｈ】図１７Ｈは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１７Ｉ】図１７Ｉは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１７Ｊ】図１７Ｊは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（音量情報を使用する例）、
【図１８】図１８は、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の音量情報の図、
【図１９Ａ】図１９Ａは、本発明の第１実施形態のロボットにおけるロボットアームの対象物位置情報の説明図、
【図１９Ｂ】図１９Ｂは、本発明の第１実施形態のロボットにおけるロボットアームの対象物位置情報の説明図、
【図１９Ｃ】図１９Ｃは、本発明の第１実施形態のロボットにおけるロボットアームの対象物位置情報の説明図、
【図１９Ｄ】図１９Ｄは、本発明の第１実施形態のロボットにおけるロボットアームの対象物位置情報の説明図、
【図２０Ａ】図２０Ａは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２０Ｂ】図２０Ｂは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２０Ｃ】図２０Ｃは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２０Ｄ】図２０Ｄは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２０Ｅ】図２０Ｅは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２０Ｆ】図２０Ｆは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２０Ｇ】図２０Ｇは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２０Ｈ】図２０Ｈは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２０Ｉ】図２０Ｉは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２０Ｊ】図２０Ｊは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図（対象物位置情報を使用する例）、
【図２１】図２１は、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の対象物位置情報の図、
【図２２Ａ】図２２Ａは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２２Ｂ】図２２Ｂは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２２Ｃ】図２２Ｃは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２２Ｄ】図２２Ｄは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２２Ｅ】図２２Ｅは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２２Ｆ】図２２Ｆは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２２Ｇ】図２２Ｇは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２２Ｈ】図２２Ｈは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２２Ｉ】図２２Ｉは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２２Ｊ】図２２Ｊは、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作の説明図（対象物位置情報を使用する例）、
【図２３】図２３は、本発明の第１実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の対象物位置情報の図、
【図２４】図２４は、本発明の第１実施形態のロボットにおけるフローチャート、
【図２５Ａ】図２５Ａは、本発明の第２実施形態のロボットにおけるロボットアームのブロック図、
【図２５Ｂ】図２５Ｂは、本発明の第２実施形態のロボットにおける動作生成部のブロック図、
【図２６】図２６は、本発明の第２実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の力情報と位置情報の図、
【図２７】図２７は、本発明の第２実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の力情報と位置情報の図、
【図２８】図２８は、本発明の第２実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業における各方向の説明図、
【図２９Ａ】図２９Ａは、本発明の第２実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の挿入方向の力情報と位置情報の図、
【図２９Ｂ】図２９Ｂは、本発明の第２実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の横方向の力情報と位置情報の図、
【図２９Ｃ】図２９Ｃは、本発明の第２実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の高さ方向の力情報と位置情報の図、
【図３０】図３０は、本発明の第２実施形態のロボットにおけるフローチャート、
【図３１】図３１は、本発明の第３実施形態のロボットにおけるロボットアームのブロック図、
【図３２】図３２は、本発明の第３実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業における実反応時間情報の説明図、
【図３３Ａ】図３３Ａは、本発明の第３実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の実反応時間情報の動作を削除しない場合の力情報と位置情報の図、
【図３３Ｂ】図３３Ｂは、本発明の第３実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の実反応時間情報の動作を削除する場合の力情報と位置情報の図、
【図３３Ｃ】図３３Ｃは、本発明の第３実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の実反応時間情報の動作を補間する場合の力情報と位置情報の図、
【図３４】図３４は、本発明の第３実施形態のロボットにおけるフローチャート、
【図３５】図３５は、本発明の第４実施形態のロボットにおけるロボットアームのブロック図、
【図３６Ａ】図３６Ａは、本発明の第４実施形態のロボットにおけるロボットアームの予備実験の説明図、
【図３６Ｂ】図３６Ｂは、本発明の第４実施形態のロボットにおけるロボットアームの予備実験の説明図、
【図３６Ｃ】図３６Ｃは、本発明の第４実施形態のロボットにおけるロボットアームの予備実験の説明図、
【図３６Ｄ】図３６Ｄは、本発明の第４実施形態のロボットにおけるロボットアームの予備実験の説明図、
【図３７】図３７は、本発明の第４実施形態のロボットにおけるロボットアームの予備実験の力情報と位置情報の図、
【図３８】図３８は、本発明の第４実施形態のロボットにおける既定反応時間情報のデータ図、
【図３９】図３９は、本発明の第４実施形態のロボットにおけるフローチャート、
【図４０】図４０は、本発明の第５実施形態のロボットにおけるロボットアームのブロック図、
【図４１Ａ】図４１Ａは、本発明の第５実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の力情報と位置情報の図、
【図４１Ｂ】図４１Ｂは、本発明の第５実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の力情報と位置情報の図、
【図４１Ｃ】図４１Ｃは、本発明の第５実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の力情報と位置情報の図、
【図４２】図４２は、本発明の第５実施形態のロボットにおける教示データのデータ図、
【図４３】図４３は、本発明の第５実施形態のロボットにおけるフローチャート、
【図４４】図４４は、本発明の第６実施形態のロボットにおけるロボットアームのブロック図、
【図４５】図４５は、本発明の第６実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の力情報と位置情報の図、
【図４６Ａ】図４６Ａは、本発明の第６実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の力情報と位置情報の図（予備動作情報を修正する場合）、
【図４６Ｂ】図４６Ｂは、本発明の第６実施形態のロボットにおけるロボットアームのフレキシブル基板挿入作業の再生動作時の力情報と位置情報の図（予備動作情報を修正しない場合）、
【図４７】図４７は、本発明の第６実施形態のロボットにおけるフローチャート、
【図４８】図４８は、本発明の第７実施形態のロボットにおけるロボットアームのブロック図、
【図４９】図４９は、本発明の第７実施形態のロボットにおけるロボットアームの教示動作の力情報の図、
【図５０】図５０は、本発明の第７実施形態のロボットにおけるフローチャート、
【図５１Ａ】図５１Ａは、本発明の第８実施形態のロボットにおけるロボットアームのブロック図、
【図５１Ｂ】図５１Ｂは、本発明の第８実施形態のロボットにおける情報変化点検出部のブロック図、
【図５１Ｃ】図５１Ｃは、本発明の第８実施形態のロボットにおける行動変化点検出部のブロック図、
【図５２】図５２は、本発明の第８実施形態のロボットにおけるロボットアームの変化点検出の説明図、
【図５３】図５３は、本発明の第８実施形態のロボットにおけるフローチャート、
【図５４Ａ】図５４Ａは、従来のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図、
【図５４Ｂ】図５４Ｂは、従来のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図、
【図５４Ｃ】図５４Ｃは、従来のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図、
【図５４Ｄ】図５４Ｄは、従来のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図、
【図５４Ｅ】図５４Ｅは、従来のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図、
【図５４Ｆ】図５４Ｆは、従来のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図、
【図５４Ｇ】図５４Ｇは、従来のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図、
【図５４Ｈ】図５４Ｈは、従来のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作の説明図、
【図５５】図５５は、従来のロボットにおけるロボットアームのフレキシブル基板挿入作業の教示動作時の力情報と位置情報の図である。
【発明を実施するための形態】
【００２１】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００２２】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００２３】
本発明の第１態様によれば、ロボットアームの動作を制御するロボットアームの制御装置であって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を取得する動作情報取得部と、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を取得する環境情報取得部と、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を取得する既定反応時間情報取得部と、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として検出する情報変化点検出部と、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として検出する行動変化点検出部と、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則として生成するフィードバック則生成部と、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を生成する動作生成部と、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御する制御部とを備えるロボットアームの制御装置を提供する。
【００２４】
前記第１態様によれば、刺激が発生した時点から反応時間が経過した時点の人の操作のフィードバック則を生成することから、人の意図通りのフィードバック則を生成できる。また、反応時間内に生じる不安定動作を防ぐことができ、安全性を向上させることができる。
【００２５】
本発明の第２態様によれば、前記行動変化点検出部は、前記情報変化点から前記反応時間が経過した時点以降の時間に前記行動変化点が検出されないと判定した場合、前記反応時間が経過した時点以前の時間において前記情報変化点までの時間を探索し、初めに検出された時点を前記行動変化点として検出する第１の態様に記載のロボットアームの制御装置を提供する。
【００２６】
前記第２態様によれば、例えば人の反応時間が早い場合（例えば、熟練度が高い場合又は集中力が高い場合など）においても、人の行動の変化を正確に表すことができ、行動変化点を検出でき、人の技能をロボットアームに移し込むことができる。その結果、環境が変化した場合においても人の場合と同様に作業を行うことができる。
【００２７】
本発明の第３態様によれば、前記情報変化点検出部で検出された前記情報変化点と前記行動変化点検出部で検出された前記行動変化点との時間差を実反応時間情報として検出する実反応時間情報検出部を備え、
前記動作生成部は、前記人が前記ロボットアームを操作する際に前記動作情報取得部で取得した１つ以上の前記動作情報を、前記ロボットアームの動作を制御する際に前記情報変化点検出部で情報変化点が検出された場合は、前記フィードバック則生成部で生成された前記フィードバック則に従い修正する第２の態様に記載のロボットアームの制御装置を提供する。
【００２８】
前記第３態様によれば、実反応時間情報における動作を修正（例えば削除）するか、又は、しないかの選択に基づき、対象となる作業に応じたフィードバック則を、動作生成部での動作情報を基に制御部で適用することができる。また、反応時間内に生じる作業中の人の不安定動作を修正（例えば削除）することができ、人の意図した動作を再生することができる。
【００２９】
本発明の第４態様によれば、前記既定反応時間情報を測定する既定反応時間情報測定部をさらに備え、
前記ロボットアームの制御装置で制御する前記ロボットアームの動作は組立作業であり、
前記ロボットアームで組立作業を実験として予め行い、前記人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である前記既定反応時間情報を前記既定反応時間情報測定部で測定して、前記組立作業の教示に使用する第３の態様に記載のロボットアームの制御装置を提供する。
【００３０】
前記第４態様によれば、予め既定反応時間情報を既定反応時間情報測定部で測定することによって、人、又は、対象作業、又は、環境情報などによる反応時間の差異に対応することができる。その結果、行動変化点検出部で行動変化点を正確に求めることができ、人、又は、対象作業、又は、環境情報などが変わった場合においても、正確に作業を行うことができる。
【００３１】
本発明の第５態様によれば、前記動作生成部は、１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、最も実反応時間情報が短い前記ロボットアームの動作を生成する第３の態様に記載のロボットアームの制御装置を提供する。
【００３２】
前記第５態様によれば、前記動作生成部により前記最も実反応時間情報が短い前記ロボットアームの動作を生成することができるため、教示データが複数ある場合においても、最も良い教示データ（言い換えれば、実反応時間情報が最も短い教示データ）を動作生成部で選択して再生することができ、効率の良い作業を行うことができる。
【００３３】
本発明の第６態様によれば、前記行動変化点検出部は、前記動作情報が前記行動変化点として検出された場合、前記行動変化点から予備動作検出用閾値の時間を経過する間に前記動作情報が変化する時点が前記行動変化点も含めて２箇所あり、かつ、前記２箇所のうちの１箇所目の時点と２箇所目の時点との前記動作情報の大きさが同じ大きさのとき、前記２箇所目の時点以降の時間に前記行動変化点を探索する一方、
前記行動変化点検出部から入力される情報を基に、前記動作生成部で動作情報を修正するときは、前記動作生成部は、前記１箇所目の時点と前記２箇所目の時点との間の時間の前記動作情報を、前記１箇所目の時点と前記２箇所目の時点の前記動作情報の大きさと同じ大きさの動作情報に修正する第３の態様に記載のロボットアームの制御装置を提供する。
【００３４】
前記第６態様によれば、前記１箇所目の時点と前記２箇所目の時点との間の時間の前記動作情報（予備動作情報）を行動変化点検出部で検出して修正することによって、人の意図しない教示データを修正することができる。よって、正確な動作情報を作成することができ、環境変動が大きい場合においても、正確な作業が可能となる。また、予備動作をそのまま再生すると急激に移動するので、対象物の破損などの原因となる。このような場合、人の選択動作に基づき動作生成部によって予備動作情報を削除することによって、対象物の破損などを防ぐことができる。
【００３５】
本発明の第７態様によれば、前記情報変化点検出部には、１つの前記行動変化点に対して同じ時点に前記情報変化点となる前記環境情報が複数ある場合、前記情報変化点として、前記力情報があれば前記力情報を使用し、前記力情報がなければ前記音量情報を使用し、前記音量情報がなければ前記位置情報を使用する第３の態様に記載のロボットアームの制御装置を提供する。
【００３６】
前記第７態様によれば、情報変化点として複数の環境情報がある場合においても、前記のように判断することによって人が判断している環境情報を選択し、情報変化点として情報変化点検出部で検出することができる。よって、人の技能を正確に抽出することができ、ロボットによって正確な作業を行うことができる。
【００３７】
本発明の第８態様によれば、前記情報変化点検出部は、前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報の変位が情報変化点検出用閾値を上回る時点を情報変化点として検出し、
前記行動変化点検出部は、前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報の変位が、行動変化点検出用閾値を上回る時点を行動変化点として検出すること第２の態様に記載のロボットアームの制御装置を提供する。
【００３８】
本発明の第９態様によれば、前記情報変化点検出部及び前記行動変化点検出部は、１つ以上の前記動作情報と前記環境情報とをそれぞれ平滑化し、平滑化した情報と平滑化前の元の情報との差をそれぞれ求め、平滑化求めた差が変化点検出用閾値を上回る時点を変化点として検出する第２の態様に記載のロボットアームの制御装置を提供する。
【００３９】
前記第９態様によれば、情報変化点又は行動変化点を情報変化点検出部又は行動変化点検出部で検出する際に平滑化した情報を用いて求めることによって、ノイズの影響を軽減でき、正確に変化点を検出することができる。その結果、人の技能を正確に抽出することができ、ロボットにより正確に作業を行うことができる。
【００４０】
本発明の第１０態様によれば、前記動作生成部において、
前記実反応時間情報として検出された時間における、前記ロボットアームの動作を削除するように修正する第３の態様に記載のロボットアームの制御装置を提供する。
【００４１】
前記第１０態様によれば、実反応時間情報における動作を削除する場合は、人の反応時間の動作を削除することができ、不安定動作を削除することができる。
【００４２】
本発明の第１１態様によれば、前記動作生成部において、
前記実反応時間情報として検出された時間における、前記ロボットアームの動作について、前記情報変化点での動作と前記行動変化点での動作とを基に補間するように修正する第３の態様に記載のロボットアームの制御装置を提供する。
【００４３】
本発明の第１２態様によれば、前記動作生成部において、
前記実反応時間情報として検出された時間における、前記ロボットアームの動作について、
前記情報変化点での情報と前記行動変化点での情報との差の絶対値が、動作修正切替用閾値以上のときは前記ロボットアームの動作を補間するように修正し、前記動作修正切替用閾値を下回るときは前記ロボットアームの動作を削除するように修正する第１０又は１１の態様に記載のロボットアームの制御装置を提供する。
【００４４】
本発明の第１３態様によれば、前記ロボットアームと、
前記ロボットアームを制御する第１〜１２のいずれか１つの態様に記載の前記ロボットアームの制御装置とを備えるロボットを提供する。
【００４５】
前記第１３態様によれば、刺激が発生した時点から反応時間が経過した時点の人の操作のフィードバック則を生成することから、人の意図通りのフィードバック則を生成できる。また、反応時間内に生じる不安定動作を防ぐことができ、安全性を向上させることができる。
【００４６】
本発明の第１４態様によれば、ロボットアームの動作を制御するロボットアームの制御方法であって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を環境情報取得部で取得し、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を既定反応時間情報取得部で取得し、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として情報変化点検出部で検出し、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報の変位が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として行動変化点検出部で検出し、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則としてフィードバック則生成部で生成し、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を動作生成部で生成し、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御部で制御することを特徴とするロボットアームの制御方法を提供する。
【００４７】
前記第１４態様によれば、刺激が発生した時点から反応時間が経過した時点の人の操作のフィードバック則を生成することから、人の意図通りのフィードバック則を生成できる。また、反応時間内に生じる不安定動作を防ぐことができ、安全性を向上させることができる。
【００４８】
本発明の第１５態様によれば、ロボットアームの動作を制御する前記ロボットアームの制御プログラムであって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得するステップと、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を環境情報取得部で取得するステップと、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を既定反応時間情報取得部で取得するステップと、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として情報変化点検出部で検出するステップと、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として行動変化点検出部で検出するステップと、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則としてフィードバック則生成部で生成するステップと、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を動作生成部で生成するステップと、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御部で制御するステップとをコンピュータに実行させるための、ロボットアームの制御プログラムを提供する。
【００４９】
前記第１５態様によれば、刺激が発生した時点から反応時間が経過した時点の人の操作のフィードバック則を生成することから、人の意図通りのフィードバック則を生成できる。また、反応時間内に生じる不安定動作を防ぐことができ、安全性を向上させることができる。
【００５０】
本発明の第１６態様によれば、ロボットアームの動作を制御する集積電子回路であって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得し、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を環境情報取得部で取得し、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を既定反応時間情報取得部で取得し、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として情報変化点検出部で検出し、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報の変位が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として行動変化点検出部で検出し、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則としてフィードバック則生成部で生成し、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を動作生成部で生成し、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御部で制御することを特徴とする集積電子回路を提供する。
【００５１】
前記第１６態様によれば、刺激が発生した時点から反応時間が経過した時点の人の操作のフィードバック則を生成することから、人の意図通りのフィードバック則を生成できる。また、反応時間内に生じる不安定動作を防ぐことができ、安全性を向上させることができる。
【００５２】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００５３】
（第１実施形態）
図１Ａは、本発明の第１実施形態における、ロボット１０１のブロック図を示す。図１Ａにおいて、ロボット１０１は、ロボットアーム１０２と、ロボットアーム１０２の制御装置１０３とで構成されている。
【００５４】
＜ロボットアームの制御装置の説明＞
ロボットアーム１０２の制御装置１０３は、制御装置本体部１０４と、周辺装置１０５とで構成されている。
【００５５】
＜制御装置本体部の説明＞
制御装置本体部１０４は、動作情報取得部１０６と、環境情報取得部１０７と、既定反応時間情報取得部１０８と、既定反応時間情報記憶部１０８Ａと、情報変化点検出部１０９と、行動変化点検出部１１０と、フィードバック則生成部１１１と、動作生成部１１２と、動作記憶部１１２Ａと、モード切替部１１３と、制御部１１４とで構成されている。
【００５６】
周辺装置１０５は、入出力ＩＦ（インターフェース）１１５と、モータドライバ１１６とで構成されている。それぞれの機能について、以下に説明する。
【００５７】
動作情報取得部１０６は、入出力ＩＦ１１５からロボットアーム１０２の位置情報及び姿勢情報と、入出力ＩＦ１１５に内蔵されたタイマーからの時間情報とが入力される。また、動作情報取得部１０６は、入出力ＩＦ１１１から取得した位置情報及び姿勢情報を時間情報で微分することによって、速度情報を取得する。図２は、動作情報取得部１０６で取得する時間情報と、位置情報と、姿勢情報と、速度情報と、角速度情報とを示す。
【００５８】
動作情報取得部１０６は、取得したロボットアーム１０２の位置情報と、姿勢情報と、速度情報と、時間情報とを、情報変化点検出部１０９と、行動変化点検出部１１０と、フィードバック則生成部１１１と、動作生成部１１２とに出力する。
【００５９】
環境情報取得部１０７は、ロボットアーム１０２が動作する際に生じる周辺環境に関する力情報、音量情報、及び、位置情報の少なくとも１つ以上の情報である環境情報を取得する。具体的には、環境情報取得部１０７には、後述する力センサ７１６（図７参照）の測定値と、後述する集音装置７１７（図７参照）の測定値と、後述する画像撮像装置７１８（図７参照）の撮像画像とのうちで少なくとも１つ以上の情報が、入出力ＩＦ１１５から入力される。また、環境情報取得部１０７には、入出力ＩＦ１１５に内蔵されたタイマーからの時間情報が入力される。環境情報取得部１０７では、入力された力センサ７１６の測定値を力情報とし、集音装置７１７の測定値を音量情報とし、画像撮像装置７１８の撮像画像情報から対象物の位置情報を取得して対象物位置情報とする。力情報は、ロボットアーム１０２に取り付けられた力センサ７１６の値であり、ロボットアーム１０２が対象物と接触した際に生じる反力の大きさを示す。音量情報は、ロボットアーム１０２周辺に取り付けられた集音装置７１７の値であり、ロボットアーム１０２が移動し、接触などが生じる際に発生する音量を示す。対象物位置情報は、ロボットアーム１０２の周辺に取り付けられた画像撮像装置７１８の撮像画像情報から求めた対象物の位置情報であり、ロボットアーム１０２と対象物との距離を示す（詳細については後述する）。図３は、環境情報取得部１０７で取得する時間情報と、力情報と、音量情報と、対象物位置情報とを示す。
【００６０】
環境情報取得部１０７は、力情報と、音量情報と、対象物位置情報とのうちで少なくとも１つ以上の環境情報と、時間情報とを、情報変化点検出部１０９と、行動変化点検出部１１０と、フィードバック則生成部１１１と、動作生成部１１２とに出力する。
【００６１】
既定反応時間情報取得部１０８は、入出力ＩＦ１１５から入力された情報に基づいて既定反応時間情報が求められて既定反応時間情報記憶部１０８Ａに記憶し、入力された既定反応時間情報を行動変化点検出部１１０に出力する。
【００６２】
既定反応時間情報とは、人が感覚刺激の提示から行動による反応が生じるまでに経過した時間の情報のことであり、入出力ＩＦ１１５で入力することができ、ここでは例えば２００ｍｓと設定されている。具体的には、人が入出力ＩＦ１１５の一例としてのキーボード又はマウス又はタッチパネル又は音声入力装置などを用いて、作業経験年数と対象作業とを入力し、入力された作業経験年数と対象作業とに基づき、既定反応時間情報取得部１０８で既定反応時間情報が決定される。図４は、既定反応時間情報取得部１０８で既定反応時間情報を決定する際に利用するデータ図の一例を示す。また、既定反応時間情報、及び、既定反応時間情報を決定する際の情報は、それぞれ、既定反応時間情報取得部１０８により、既定反応時間情報記憶部１０８Ａに記憶する。
【００６３】
情報変化点検出部１０９は、動作情報取得部１０６から入力された位置情報と、姿勢情報と、速度情報のうちの少なくとも１つの情報と、時間情報と、環境情報取得部１０７から入力された環境情報との３つの情報のうちの少なくとも１つの情報とに基づいて、情報変化点を検出する。情報変化点検出部１０９は、検出した情報変化点と、前記情報変化点に対応した時間情報とを、行動変化点検出部１１０と、フィードバック則生成部１１１と、動作生成部１１２とに出力する。
【００６４】
この情報変化点の検出方法について説明する。
【００６５】
まず、１つの環境情報を使用する場合について説明する。環境情報取得部１０７から情報変化点検出部１０９に入力された環境情報の変位を情報変化点検出部１０９で求め、情報変化点検出部１０９において、求めた変位が第１の閾値（情報変化点検出用閾値）を上回る箇所を情報変化点とする。ただし、「閾値を上回る」とは、閾値と符号が同じであり、かつ絶対値が閾値より大きいことを意味する。以降、本明細書では、同様の意味で用いる。また、第１の閾値とは、入出力ＩＦ１１５を用いて閾値の値を入力することができ、それぞれの環境情報により異なり、例えば、力情報では３Ｎ、音量情報では１０ｄＢ、対象物位置情報では１０ｍｍとする。
【００６６】
また、情報変化点検出部１０９において、第１の閾値を上回る箇所が検出されない場合は、情報変化点を検出しない。
【００６７】
次に、１つの動作情報と１つの環境情報を使用する場合について説明する。環境情報取得部１０７から情報変化点検出部１０９に入力された環境情報の変位と動作情報取得部１０６から入力された動作情報の変位とを情報変化点検出部１０９で求め、情報変化点検出部１０９において、求めた変位が共に第１の閾値（情報変化点検出用閾値）を上回る箇所を情報変化点とする。第１の閾値とは、前記で説明した環境情報に関する閾値に加え、動作情報に関する閾値も含まれる。例えば、位置情報では１０ｍｍ、姿勢情報では０．２ｒａｄ、速度情報では０．１ｍｍ／ｍｓとする。また、複数の情報を使用する場合においても、同様に使用する情報がすべて第１の閾値を上回る箇所を情報変化点とする。
【００６８】
図５は、時間情報と情報変化点とのデータ図を示す。
【００６９】
行動変化点検出部１１０には、動作情報取得部１０６から位置情報と、姿勢情報と、速度情報との少なくとも１つの動作情報と、時間情報とが入力され、環境情報取得部１０７から環境情報と時間情報とが入力され、既定反応時間取得部１０８から既定反応時間情報が入力され、情報変化点検出部１０９から情報変化点とその点に対応した時間情報とが入力される。行動変化点検出部１１０は、入力された情報に基づいて、行動変化点を検出する。検出した行動変化点とその点に対応した時間情報とをフィードバック則生成部１１１に出力する。
【００７０】
行動変化点検出部１１０での行動変化点の検出方法について説明する。行動変化点検出部１１０は、動作情報取得部１０６から入力された動作情報と環境情報取得部１０７から入力された環境情報とにおいて、情報変化点から既定反応時間が経過した箇所以降の時間に第２の閾値（行動変化点検出用閾値）を上回る箇所を探索し、初めに第２の閾値を上回る箇所を行動変化点として検出する。第２の閾値とは、入出力ＩＦ１１５により入力することができ、各情報により異なり、例えば、力情報では０．５Ｎ、音量情報では１ｄＢ、対象物位置情報では１ｍｍ、位置情報では１ｍｍ、姿勢情報では０．０２ｒａｄ、速度情報では０．０１ｍｍ／ｍｓとする。また、行動変化点検出部１１０において、第２の閾値を上回る箇所が検出されない場合は、行動変化点を検出しない。行動変化点検出部１１０において、第２の閾値を上回る箇所が複数の情報で検出される場合は、行動変化点を複数検出する。
【００７１】
図６は、時間情報と行動変化点のデータ図を示す。
【００７２】
フィードバック則生成部１１１は、動作情報取得部１０６から位置情報と、姿勢情報と、速度情報の少なくとも１つの動作情報と、時間情報とが入力され、環境情報取得部１０７から環境情報と時間情報とが入力され、情報変化点検出部１０９から情報変化点とその点に対応した時間情報とが入力され、行動変化点検出部１１０から行動変化点とその点に対応した時間情報とが入力される。フィードバック則生成部１１１は、入力された情報に基づいて、フィードバック則を生成する。フィードバック則生成部１１１は、生成したフィードバック則と時間情報とを動作生成部１１２に出力する。
【００７３】
フィードバック則生成部１１１でのフィードバック則の生成方法について説明する。フィードバック則生成部１１１においては、行動変化点検出部１１０から入力された行動変化点以降の時間において、行動変化点が検出された情報（動作情報又は環境情報）を近似曲線で近似する。近似曲線の導出方法は、行動変化点以降の時間に情報変化点があるとフィードバック則生成部１１１で判定した場合は、フィードバック則生成部１１１で、行動変化点から次の情報変化点までの情報について最小二乗法を用いて近似曲線で近似する。行動変化点以降の時間に情報変化点がないとフィードバック則生成部１１１で判定した場合は、フィードバック則生成部１１１で、行動変化点以降の時間（教示データの終了時点まで）について最小二乗法を用いて近似曲線で近似する。なお、行動変化点が検出された情報をそのまま目標値とする方法又は定数を目標値とする方法のように、近似曲線で近似しない方法により、フィードバック則生成部１１１でフィードバック則を生成することも可能である。
【００７４】
動作生成部１１２は、動作情報取得部１０６から位置情報と、姿勢情報と、速度情報の少なくとも１つの動作情報と、時間情報とが入力され、環境情報取得部１０７から環境情報と時間情報とが入力され、情報変化点検出部１０９から情報変化点とその点に対応した時間情報とが入力される。動作生成部１１２は、入力された情報に基づいて、動作情報を生成する。また、動作生成部１１２は、フィードバック則生成部１１１からフィードバック則と時間情報が入力される。動作生成部１１２は、生成した動作情報と時間情報とを制御部１１４に出力する。動作生成部１１２は、生成した動作情報と、フィードバック則と、時間情報とを動作記憶部１１２Ａに記憶する。
【００７５】
動作生成部１１２での動作情報の生成方法について説明する。動作生成部１１２においては、動作情報取得部から入力された動作情報を動作情報として作成する。ただし、ロボットアーム１０２の動作中に情報変化点検出部１０９から情報変化点が入力された場合、動作情報と環境情報とを基にフィードバック則を適用させた動作を生成する。フィードバック則に適用させた動作とは、入力される近似曲線に沿うように動作情報を変化させることである。
【００７６】
モード切替部１１３は、入出力ＩＦ１１５から入力されるモード情報を制御部１１４に出力する。モード情報とは、入出力ＩＦ１１５で入力することができ、「教示モード」又は「再生モード」又は「停止モード」のいずれかの情報が含まれている。
【００７７】
「教示モード」とは、人がロボットアーム１０２に対して動作を教えるモードであり、人の操作によりロボットアーム１０２を動かす。「再生モード」とは、「教示モード」において人から教えられた動作をロボットアーム１０２が自動的に再生するモードであり、人の操作によらず自動的にロボットアーム１０２が動く。「停止モード」とは、ロボットアーム１０２が動かないモードであり、ロボットアーム１０２は移動を行わず停止している。
【００７８】
「教示モード」のブロック図を図１Ｂに示し、「再生モード」のブロック図を図１Ｃに示す。ここで、破線で表された要素は使用しない要素（例えば、図１Ｂの制御部１１４と、図１Ｃの既定反応時間情報取得部１０８と既定反応時間情報記憶部１０８Ａと行動変化点検出部１１０とフィードバック則生成部１１１）である。「教示モード」においては、教示して得られたデータ（動作情報、環境情報）を基に情報変化点を情報変化点検出部１０９で検出するとともに行動変化点を行動変化点検出部１１０で検出し、フィードバック則生成部１１１でフィードバック則を生成するとともに動作生成部１１２で再生動作のための動作情報を生成する。そのため、制御部以外の要素を使用する。「再生モード」においては、教示時に生成された動作を制御部１１４で再生する。情報変化点が情報変化点検出部１０９で検出された場合には、動作生成部１１２での動作情報を基に制御部１１４で、フィードバック則が適用される。
【００７９】
「教示モード」及び「再生モード」の開始時点及び終了時点を制御部１１４に出力する。これらの開始時点及び終了時点の出力は、人の操作による入出力ＩＦ１１５のボタン（例えば、開始ボタン、終了ボタン）の押下により行う。「教示モード」では、人の操作によってロボットアーム１０２が移動する。人の操作によってロボットアーム１０２が移動しているとき、その開始から終了までの情報を教示データとする。「再生モード」では、ロボットアーム１０２が教示データの軌跡を追従するように自動で制御部１１４により移動する。開始から終了までの時間は自動で移動するが、その他の時間は停止している。「停止モード」では、現在の位置及び姿勢に停止し、ロボットアーム１０２は移動しない。
【００８０】
制御部１１４は、動作生成部１１２から動作情報と時間情報が入力される。制御部１１４においては、入力された動作情報を入出力ＩＦ１１５に内蔵されたタイマーを利用して、ある一定時間毎（例えば、１ｍｓ毎）に、入出力ＩＦ１１５に出力する。また、モード切替部１１３からモード情報が制御部１１４に入力される。モード切替部１１３から入力されたモード情報が「再生モード」の場合は、制御部１１４は、動作生成部１１２からの動作情報を入出力ＩＦ１１５に出力する。一方、モード切替部１１３から入力されたモード情報が「教示モード」の場合は、制御部１１４は、動作生成部１１２からの動作情報を入出力ＩＦ１１５に出力せず、ロボットアーム１０２は自動的には動かず、人の操作による動作を行う。また、モード切替部１１３から入力されたモード情報が「停止モード」の場合は、制御部１１４は、動作生成部１１２からの動作情報を入出力ＩＦ１１５に出力せず、同じ位置及び姿勢に停止する動作情報を入出力ＩＦ１１５に出力する。
【００８１】
＜周辺装置の説明＞
入出力ＩＦ１１５は、制御部１１４から入力された動作情報をモータドライバ１１６に出力する。また、入出力ＩＦ１１５は、力センサ７１６の測定値と、集音装置７１７の測定値と、画像撮像装置７１８の撮像画像と、入出力ＩＦ１１５に内蔵されたタイマーからの時間情報とを環境情報取得部に出力する。エンコーダ７１５から入力された値からロボットアーム１０２の位置情報及び姿勢情報をエンコーダ６１５内部の演算部で求め（詳細は後で述べる）、位置情報及び姿勢情報と入出力ＩＦ１１５に内蔵されたタイマーからの時間情報とを、制御部１１４から動作情報取得部１０６に出力する。人が入出力ＩＦ１１１を経て制御部１１４に入力した既定反応時間情報（例えば、２００ｍｓ）を、制御部１１４から既定反応時間取得部１０８に出力する。また、人が入出力ＩＦ１１１を経て制御部１１４に入力したモード情報を、制御部１１４からモード切替部１１３に出力する。また、入出力ＩＦ１１５は、図１Ｄに示すように、入力部１１５Ａと出力部１１５Ｂとによって構成される。入力部１１５Ａは、入力ＩＦとなっており、キーボード又はマウス又はタッチパネル又は音声入力などにより人が項目を選択する場合、又は、キーボード又はマウス又はタッチパネル又は音声入力などにより人が数字を入力する場合などに用いられる。出力部１１５Ｂは、出力ＩＦとなっており、取得した情報などを外部に出力する場合又はディスプレイなどに表示する場合などに用いられる。
【００８２】
モータドライバ１１６は、入出力ＩＦ１１５から取得した動作情報を基に、ロボットアーム１０２を制御するために、ロボットアーム１０２のそれぞれのモータ７１４（図７参照）への指令値をロボットアーム１０２に出力する。
【００８３】
＜ロボットアームの説明＞
ロボットアーム１０２において、入出力ＩＦ１１５に内蔵されたタイマーを利用して、ある一定時間毎（例えば、１ｍｓ毎）に、ロボットアーム１０２の位置情報をロボットアーム１０２の各エンコーダ７１５を用いてエンコーダ６１５内部の演算部で求めて入出力ＩＦ１１５に出力する。
また、ロボットアーム１０２は、モータドライバ１１６からの指令値に従って制御される。
【００８４】
これらの詳細については、以下に、図７を用いて説明する。ロボットアーム１０２は、一例として、合計６個の軸周りに回転可能として６自由度の多リンクマニピュレータを構成している。
【００８５】
図７に示すように、ロボットアーム１０２は、一例として、多関節ロボットアームであって、具体的には、６自由度の多リンクのマニピュレータである。
【００８６】
ロボットアーム１０２は、ハンド７０１と、ハンド７０１が取り付けられている手首部７０２を先端７０３ａに有する前腕リンク７０３と、前腕リンク７０３の基端７０３ｂに回転可能に先端７０４ａが連結される上腕リンク７０４と、上腕リンク７０４の基端７０４ｂが回転可能に連結支持される台部７０５とを備えている。台部７０５は、一定位置に固定されているが、図示しないレールに移動可能に連結されていても良い。
【００８７】
手首部７０２は、第４関節部７０９と、第５関節部７１０と、第６関節部７１１との３つの互いに直交する回転軸を有しており、前腕リンク７０３に対するハンド７０１の相対的な姿勢（向き）を変化させることができる。すなわち、図７において、第４関節部７０９は、手首部７０２に対するハンド７０１の横軸周りの相対的な姿勢を変化させることができる。第５関節部７１０は、手首部７０２に対するハンド７０１の、第４関節部７０９の横軸とは直交する縦軸周りの相対的な姿勢を変化させることができる。第６関節部７１１は、手首部７０２に対するハンド７０１の、第４関節部７０９の横軸及び第５関節部７１０の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク７０３の他端７０３ｂは、上腕リンク７０４の先端７０４ａに対して第３関節部７０８周りに、すなわち、第４関節部７０９の横軸と平行な横軸周りに回転可能とする。上腕リンク７０４の他端は、台部７０５に対して第２関節部７０７周りに、すなわち、第４関節部７０９の横軸と平行な横軸周りに回転可能とする。さらに、台部７０５の上側可動部７０５ａは、台部７０５の下側固定部７０５ｂに対して第１関節部７０６周りに、すなわち、第５関節部７１０の縦軸と平行な縦軸周りに回転可能としている。
【００８８】
この結果、ロボットアーム１０２は、合計６個の軸周りに回転可能として前記６自由度の多リンクマニピュレータを構成している。
【００８９】
ロボットアーム１０２の各軸の回転部分を構成する各関節部には、関節部駆動用のモータ７１４のような回転駆動装置と、モータ７１４の回転軸の回転位相角（すなわち関節角）を検出して位置情報と姿勢情報をエンコーダ７１５内部の演算部で算出して出力するエンコーダ７１５（実際には、ロボットアーム１０２の各関節部の内部に配設されている。）とを備えている。モータ７１４（実際には、ロボットアーム１０２の各関節部の内部に配設されている。）は、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられる、モータドライバ１１６により駆動制御される。各関節部の一方の部材に備えられたモータ７１４の回転軸が、各関節部の他方の部材に連結されて、前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【００９０】
また、７１２は、台部７０５の下側固定部７０５ｂに対して相対的な位置関係が固定された絶対座標系であり、７１３は、ハンド７０１に対して相対的な位置関係が固定された手先座標系である。絶対座標系７１２から見た手先座標系７１３の原点位置Ｏｅ（ｘ，ｙ，ｚ）をロボットアーム１０２の手先位置とするとともに、絶対座標系７１２から見た手先座標系７１３の姿勢をロール角とピッチ角とヨー角とで表現した（φ，θ，ψ）をロボットアーム１０２の手先姿勢（姿勢情報）とし、手先位置及び姿勢ベクトルをベクトルｒ＝［ｘ，ｙ，ｚ，φ，θ，ψ］Ｔと定義する。よって、一例として、絶対座標系７１２のｚ軸に対して第１関節部７０６の縦軸が平行であり、絶対座標系７１２のｘ軸に対して第２関節部７０７の横軸が平行に位置可能とする。また、別の例として、手先座標系７１３のｘ軸に対して第４関節部７０９の横軸が平行に位置可能であり、手先座標系７１３のｙ軸に対して第６関節部７１１の横軸が平行に位置可能であり、手先座標系７１３のｚ軸に対して第５関節部７１０の縦軸が平行に位置可能とする。
【００９１】
なお、手先座標系７１３のｘ軸に対しての回転角をヨー角ψとし、ｙ軸に対しての回転角をピッチ角θとし、ｚ軸に対しての回転角をロール角φとする。
【００９２】
なお、図７では、ロボットアーム１０２が動作する際に生じる環境情報をそれぞれ取得する、力センサ７１６と、集音装置７１７と、画像撮像装置７１８とを備えるように構成しているが、環境情報を取得するためには、力センサ６１６と、集音装置６１７と、画像撮像装置６１８とのうちの少なくとも１つ以上の装置を備えて構成すれば良い。力センサ６１６は、ロボットアーム１０２のハンド７０１が取り付けられている、前腕リンク７０３の手首部７０２に取り付けられて、ハンド７０１に作用する力を検出可能とする。集音装置６１７は、コネクタ１００３の先端の近傍に配置して、フレキシブル基板１００２とコネクタ１００３とが接触するときに生じるカチッという音を集音可能とする。画像撮像装置６１８は、ロボットアーム１０２の周辺（例えば、上方）に取り付けて、ロボットアーム１０２のハンド７０１とコネクタ１００３（被対象物）とを含む撮像画像を取得可能とする。すなわち、画像撮像装置６１８は、ロボットアーム１０２のハンド７０１の先端からのコネクタ１００３（被対象物）までの長さを求めることが可能なデータを取得可能とする。
【００９３】
次に、人の手１００１がロボットアーム１０２を移動操作して動作を生成する教示モードと、ロボットアーム１０２が動作を再生する再生モードの手順を説明する。
【００９４】
第１実施形態の例は、フレキシブル基板１００２の挿入作業を説明する。
【００９５】
本例のフレキシブル基板１００２は、幅５．５ｍｍ、厚さ０．３ｍｍであり、コネクタ１００３に対して１０本の接続ピンを有する。コネクタ１００３の挿入口のサイズは、幅５．５７ｍｍ、厚さ０．３５ｍｍである。
【００９６】
図８Ａは、フレキシブル基板１００２をコネクタ１００３の挿入方向に対して下から見た図である。図８Ｂは、フレキシブル基板１００２をコネクタ１００３の挿入方向に対して横から見た図である。図９Ａは、コネクタ１００３を挿入方向に対して正面から見た図である。図９Ｂは、コネクタ１００３を挿入方向に対して横から見た図である。
【００９７】
フレキシブル基板１００２は、薄く柔軟性の高いフレキシブル基板であるため、コネクタ１００３への挿入作業は非常に細かく難しい作業となる。
【００９８】
ここで、環境情報として、（ｉ）力情報を使用する例、（ｉｉ）音量情報を使用する例、（ｉｉｉ）対象物位置情報を使用する例の３例を以下に説明する。
【００９９】
（ｉ）力情報を使用する例
＜教示モードの説明＞
力情報を使用する例について説明する。
【０１００】
人は、手１００１を用いて、フレキシブル基板をハンド７０１に把持したロボットアーム１０２を移動させて、治具などに固定されたコネクタに、前記フレキシブル基板を挿入するロボットアーム１０２の動作を教示する。
【０１０１】
図１０Ａ〜図１０Ｊのうちは、図１０Ａ→図１０Ｃ→図１０Ｅ→図１０Ｇ→図１０Ｉの順に人の手１００１によりロボットアーム１０２に動作を教示していく手順を示し、対応するフレキシブル基板１００２とコネクタ１００３との状態を図１０Ｂ→図１０Ｄ→図１０Ｆ→図１０Ｈ→図１０Ｊの順に示す。ここでは、モード切替部１１３は、「教示モード」を選択している。教示の際に、図１０Ａの時点で、人によりＩＦ１１５の開始ボタンが押下され、図１０Ｉの時点で、人によりＩＦ１１５の終了ボタンが押下される。
【０１０２】
図１０Ａは、人の手１００１がロボットアーム１０２を把持し、人がロボットアーム１０２に対して教示を開始した時点である。この時点では、ロボットアーム１０２のハンド７０１に把持したフレキシブル基板１００２とコネクタ１００３とが接触していないので、人の手１００１には、フレキシブル基板１００２とコネクタ１００３との接触時の反力は伝わらない。
【０１０３】
次いで、図１０Ｃは、フレキシブル基板１００２の先端とコネクタ１００３の入り口とが接触した時点である。この時点から反応時間分経過すると、人の手１００１に接触時の反力が伝わり、行動を変化させる。人は、手１００１で感じる反力の大きさを基に、フレキシブル基板１００２のたわみ具合又は位置を推測しながら、フレキシブル基板１００２に加える力又はフレキシブル基板１００２の挿入方向を変化させて、フレキシブル基板１００２をコネクタ１００３に対して挿入する。そのときの反力の大きさを力センサ７１６で検出する。
【０１０４】
次いで、図１０Ｅでは、フレキシブル基板１００２をコネクタ１００３に押し込み、接触後の挿入作業を行っている時点を示す。この時点では、人の手１００１に、フレキシブル基板１００２をコネクタ１００３に挿入する際の反力が伝わる。このときの反力を人の手１００１が感じることによって、コネクタ１００３へのフレキシブル基板１００２の挿入具合を人が調整する。
【０１０５】
次いで、図１０Ｇは、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触し、挿入作業が完了した時点を示す。この時点から反応時間分が経過すると、人の手１００１に、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触した際の反力が伝わり、行動を変化させる。このときの反力を人の手１００１が感じることによって、コネクタ１００３へのフレキシブル基板１００２の挿入の完了を人が確認する。
【０１０６】
次いで、図１０Ｉは、教示動作を終了した時点である。図１０Ｇの時点で、挿入作業が完了の反力を人の手１００１が感じてから教示動作終了時点までは、コネクタ１００３に対してフレキシブル基板１００２を押し込まず、教示動作を終了する。
【０１０７】
以上のようにして、フレキシブル基板１００２のコネクタ１００３への挿入作業を教示する。
【０１０８】
次に、図１１Ａを用いて教示動作時のデータから、情報変化点及び行動変化点を検出し、フィードバック則を生成する手順を示す。
【０１０９】
図１１Ａは、図１０Ａ〜図１０Ｊの教示動作における、力センサ７１６の値とロボットアーム１０２の位置情報とを示す。ロボットアーム１０２の位置情報は、動作情報取得部１０６で取得した位置情報を示す。第一の実線のグラフ３１０は、力センサ７１６で検出される値を示す。第二の実線のグラフ３１１は、ロボットアーム１０２の位置を示す。図１１Ａの横軸は、教示動作開始時間（０ｍｓ）から教示動作終了時間までの教示動作時間（ｍｓ）を示す。図１１Ａの左縦軸は、ロボットアーム１０２の位置（ｍｍ）を示す。図１１Ａの右縦軸は、力センサ７１６で検出される値（Ｎ）を示す。図１１Ａのグラフの下に描かれている図は、教示動作時間における、コネクタ１００３に対するフレキシブル基板１００２の挿入状態（図１０Ａ、図１０Ｃ、図１０Ｅ、図１０Ｇ、図１０Ｉの状態）を示す。
【０１１０】
情報変化点検出部１０９は、力情報の変位が力情報の第１の閾値を上回る時点を検出する。第１実施形態では、力情報の第１の閾値を−０．５Ｎとする。図１１Ａ中の参照符号Ａ、Ｄの時点の力情報が情報変化点として情報変化点検出部１０９で検出される。次に、行動変化点検出部１１０は、情報変化点の時点（図１１Ａ中の参照符号Ａ、Ｄの時点）から既定反応時間が経過した時点（図１１Ａ中の参照符号Ｂ、Ｅの時点）以降に力情報の変位が力情報の第２の閾値を上回る時点を検出する。ここでは、力情報の第２の閾値を−０．２Ｎとし、図１１Ａ中の参照符号Ｃの時点の力情報が行動変化点として行動変化点検出部１１０で検出される。図１１Ａ中の参照符号Ｅの時点以降には、力情報の第２の閾値を上回る時点がないので行動変化点は行動変化点検出部１１０で検出されない。最後に、フィードバック則生成部１１１は、行動変化点（図１１Ａ中の参照符号Ｃの時点）から次の情報変化点（図１１Ａ中の参照符号Ｄの時点）までの力情報を近似曲線で表す。ここでは、傾き−０．１Ｎの近似曲線をフィードバック則生成部１１１で生成する。近似曲線の生成方法は、行動変化点から次の情報変化点までの力情報を、最小二乗法を用いて一次関数に近似することによってフィードバック則生成部１１１で求める。求めた近似曲線を図１１Ａ中の参照符号Ｆで示す。
【０１１１】
また、行動変化点の検出方法として、上述したように変位が閾値を上回る時点を検出する方法を採用している。その他の方法として、図１１Ｂを用いて説明する。情報変化点から次の情報変化点までの区間を行動変化点検出部１１０で分割し（例えば、５分割）、行動変化点検出部１１０により、それぞれの区間の力情報を最小二乗法を用いて一次関数で近似する。隣り合う２つの一次関数の傾きを行動変化点検出部１１０で比較し、差が大きい時点を行動変化点検出部１１０で行動変化点とする。図１１Ｂでは、情報変化点Ａから次の情報変化点Ｆまでの区間を行動変化点検出部１１０で５分割し、行動変化点検出部１１０において、それぞれの区間を一次関数で近似する（Ｇ〜Ｋ）。隣り合う一次関数の傾きを行動変化点検出部１１０で比較する（ＧとＨ、ＨとＩ、ＩとＪ、ＪとＫ）。比較した差の大きさが最も大きい時点（ＩとＪの境界）を行動変化点検出部１１０で行動変化点とする。
【０１１２】
以上のようにして、教示データから、情報変化点及び行動変化点を情報変化点検出部１０９及び行動変化点検出部１１０でそれぞれ検出し、フィードバック則をフィードバック則生成部１１１で生成する。
【０１１３】
＜再生モードの説明＞
次に、図１２Ａ〜図１２Ｊ、図１３を用いて、教示データを基にロボットアーム１０２を再生している手順を説明する。図１２Ａ→図１２Ｃ→図１２Ｅ→図１２Ｇ→図１２Ｉの順にロボットアーム１０２が再生していく手順を示している。そのときのフレキシブル基板１００２とコネクタ１００３の状態を、図１２Ｂ→図１２Ｄ→図１２Ｆ→図１２Ｈ→図１２Ｊの順に示す。ここでは、モード切替部１１３において、「再生モード」が選択されている。図１２Ａの時点で、人によりＩＦ１１５の開始ボタンが押下され、図１２Ｉの時点で、人によりＩＦ１１５の終了ボタンが押下される。
【０１１４】
図１３は、図１２Ａ〜図１２Ｊの再生動作における、力センサ７１６の値とロボットアーム１０２の位置情報とを示す。ロボットアーム１０２の位置情報は、動作情報取得部１０６で取得した位置情報を示す。第一の実線のグラフ３１３は、力センサ７１６で検出される値を示し、第二の実線のグラフ３１４は、ロボットアーム１０２の位置を示す。図１３の横軸は、再生動作開始時間（０ｍｓ）からから再生動作終了時間までの再生動作時間（ｍｓ）を示す。図１３の左縦軸は、ロボットアーム１０２の位置（ｍｍ）を示す。図１３の右縦軸は、力センサ７１６で検出される値（Ｎ）を示す。図１３のグラフの下に描かれている図は、再生動作時間におけるフレキシブル基板１００２のコネクタ１００３に対する挿入状態（図１２Ａ、図１２Ｃ、図１２Ｅ、図１２Ｇ、図１２Ｉの状態）を示す。
【０１１５】
図１２Ａは、ロボットアーム１０２が再生動作を開始した時点である。この時点では、教示データの位置情報を再生しており、フレキシブル基板１００２とコネクタ１００３とが接触していない（図１３参照）。
【０１１６】
次いで、図１２Ｃは、フレキシブル基板１００２の先端とコネクタ１００３の入り口とが接触した時点である。この時点では、情報変化点検出部１０９において、力情報の変位が第１の閾値（−０．５Ｎ）を上回り、情報変化点として検出する（図１３の参照符号Ａの時点参照）。この時点から、動作生成部１１２での動作情報を基に制御部１１４で、フィードバック則を適用させる。
【０１１７】
次いで、図１２Ｅは、フレキシブル基板１００２をコネクタ１００３に押し込み、挿入作業を行っている時点を示す。この時点では、動作生成部１１２での動作情報を基に制御部１１４で、フィードバック則を適用させ、力情報が傾き−０．１Ｎの近似曲線に追従するようにロボットアーム１０２の位置を、動作生成部１１２での動作情報を基に制御部１１４で調整する（図１３参照）。
【０１１８】
次いで、図１２Ｇは、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触し、挿入作業が完了した時点を示す。この時点では、力センサ７１６の値がある閾値（再生動作終了条件用閾値）（ここでは、−５．０Ｎ）を上回ると動作生成部１１２で判定すると、動作生成部１１２で、ロボットアーム１０２を静止させるように設定しており、ロボットアーム１０２が静止する。（図１３の参照符号Ｂの時点参照）。
【０１１９】
次いで、図１２Ｉでは、再生動作を終了した時点である（図１３参照）。
【０１２０】
以上のように、教示データを基にフィードバック則をフィードバック則生成部１１１で生成し、生成したフィードバック則を含みかつ動作生成部１１２で作成した動作情報を基に制御部１１４で再生することによって、環境の変動が生じた場合においても、教示動作と同様の動作が再生時に行うことができる。
【０１２１】
（ｉｉ）音量情報を使用する例
次に、音量情報を使用する例について説明する。
【０１２２】
＜教示モードの説明＞
集音装置７１７は、図１４の参照符号Ｌに示すように集音装置７１７の先端からコネクタ１００３の先端までの距離Ｌが例えば１０．０ｃｍ以内の位置に、コネクタ１００３を支持する治具１００３Ｊに取り付ける。また、その際にフレキシブル基板１００２とコネクタ１００３とが接触するときに生じるカチッという音を集音装置７１７で集音する。なお、以下の図では、簡略化のため、治具１００３Ｊを省略して図示する。
【０１２３】
図１５Ａ〜図１５Ｊを用いて、人の手１００１がロボットアーム１０２を操作し、教示している手順を示す。図１５Ａ→図１５Ｃ→図１５Ｅ→図１５Ｇ→図１５Ｉの順に人の手１００１がロボットアーム１０２に教示していく手順を示している。また、そのときのフレキシブル基板１００２とコネクタ１００３との状態を、図１５Ｂ→図１５Ｄ→図１５Ｆ→図１５Ｈ→図１５Ｊの順に示す。ここでは、モード切替部１１３において、「教示モード」が選択されている。図１５Ａの時点で、人によりＩＦ１１５の開始ボタンが押下され、図１５Ｉの時点で、人によりＩＦ１１５の終了ボタンが押下される。
【０１２４】
図１５Ａでは、人の手１００１がロボットアーム１０２を把持し、人がロボットアーム１０２に対して教示を開始した時点である。この時点では、まだ、フレキシブル基板１００２とコネクタ１００３とが接触していないので、音量情報は非常に小さい。
【０１２５】
次いで、図１５Ｃは、フレキシブル基板１００２の先端とコネクタ１００３の入り口とが接触した時点である。この時点では、接触の際に生じる音の影響で音量情報が大きくなる。
【０１２６】
次いで、図１５Ｅでは、フレキシブル基板１００２をコネクタ１００３に押し込み、挿入作業を行っている時点を示す。この時点では、フレキシブル基板１００２をコネクタ１００３に押し込むにつれて、音量情報が徐々に大きくなる。
【０１２７】
次いで、図１５Ｇでは、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触し、挿入作業が完了した時点を示す。この時点では、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触した際に生じる音の影響で音量情報が大きくなる。この時点から反応時間分が経過すると接触時の音を聞き取り、コネクタ１００３へのフレキシブル基板１００２の挿入の完了を人が確認する。
【０１２８】
次いで、図１５Ｉでは、教示を終了した時点である。
【０１２９】
以上のようにしてフレキシブル基板１００２のコネクタ１００３への挿入作業を教示する。
【０１３０】
次に、図１６を用いて教示データから、情報変化点及び行動変化点を検出し、フィードバック則を生成する手順を示す。
【０１３１】
図１６は、図１５Ａ〜図１５Ｊの教示動作における、集音装置７１７で取得した音量情報を示す。図１６において、横軸は、教示動作開始時間（０ｍｓ）から教示動作終了時間までの時間を示し、縦軸は、音量情報（ｄＢ）を示す。図１６のグラフの下に描かれている図は、教示動作時間における、フレキシブル基板１００２のコネクタ１００３に対する挿入状態（図１５Ａ、図１５Ｃ、図１５Ｅ、図１５Ｇ、図１５Ｉの状態）を示す。
【０１３２】
情報変化点検出部１０９は、集音装置７１７で取得した音量情報の変位が第１の閾値を上回る時点を検出する。ここでは、例えば、第１の閾値を１０ｄＢとし、図１６中の参照符号Ａの時点の音量情報が情報変化点として情報変化点検出部１０９で検出される。次に、行動変化点検出部１１０は、前記情報変化点の時点（参照符号Ａ）から既定反応時間が経過した時点（参照符号Ｂ）から後に、音量情報の変位が第２の閾値を上回る時点を検出する。ここでは、例えば、第２の閾値を５ｄＢとし、図１６中の参照符号Ｃの時点の音量情報が行動変化点として情報変化点検出部１０９で検出される。最後に、フィードバック則生成部１１１において行動変化点（図１６中の参照符号Ｃの時点）以降の音量情報を近似曲線で表す。ここでは、例えば、傾き３ｄＢの近似曲線をフィードバック則生成部１１１で生成する。近似曲線の生成方法は、行動変化点から次の情報変化点までの音量情報を、最小二乗法を用いて一次関数に近似することによってフィードバック則生成部１１１で求める。フィードバック則生成部１１１で求めた近似曲線を図１６中の参照符号Ｄで示す。
【０１３３】
以上のようにして、教示データから、情報変化点及び行動変化点を情報変化点検出部１０９及び行動変化点検出部１１０でそれぞれ検出し、フィードバック則をフィードバック則生成部１１１で生成する。
【０１３４】
＜再生モードの説明＞
次に、図１７Ａ〜図１７Ｊ、図１８を用いて、教示データを基にロボットアーム１０２を再生している手順を説明する。図１７Ａ→図１７Ｃ→図１７Ｅ→図１７Ｇ→図１７Ｉの順にロボットアーム１０２が再生していく手順を示している。また、そのときのフレキシブル基板１００２とコネクタ１００３の状態を、図１７Ｂ→図１７Ｄ→図１７Ｆ→図１７Ｈ→図１７Ｊの順に示す。ここでは、モード切替部１１３において、「再生モード」が選択されている。図１７Ａの時点で、人によりＩＦ１１５の開始ボタンが押下され、図１７Ｉの時点で、人によりＩＦ１１５の終了ボタンが押下される。
【０１３５】
図１８は、図１７Ａ〜図１７Ｊの再生動作における、集音装置７１７で取得した音量情報を示す。図１８において、横軸は、再生動作開始時間（０ｍｓ）から再生動作終了時間までの時間を示し、縦軸は、音量情報（ｄＢ）を示す。図１８のグラフの下に描かれている図は、フレキシブル基板１００２のコネクタ１００３に対する挿入状態（図１７Ａ、図１７Ｃ、図１７Ｅ、図１７Ｇ、図１７Ｉの状態）を示す。
【０１３６】
図１７Ａでは、ロボットアーム１０２が再生動作を開始した時点である。この時点では、教示データの位置情報を再生しており、まだフレキシブル基板１００２とコネクタ１００３とが接触していない（図１８参照）。
【０１３７】
次いで、図１７Ｃは、フレキシブル基板１００２の先端とコネクタ１００３の入り口とが接触した時点である。この時点では、情報変化点検出部１０９において、音量情報の変位が第１の閾値（１０ｄＢ）を上回り、情報変化点として検出する（図１８の参照符号Ａの時点参照）。この時点から、動作生成部１１２での動作情報を基に制御部１１４で、フィードバック則を適用させる。
【０１３８】
次いで、図１７Ｅでは、フレキシブル基板１００２をコネクタ１００３に押し込み、挿入作業を行っている時点を示す。この時点では、動作生成部１１２での動作情報を基に制御部１１４で、フィードバック則を適用させ、音量情報が傾き３ｄＢの近似曲線に追従するようにロボットアーム１０２の位置を、動作生成部１１２での動作情報を基に制御部１１４で調整する（図１８参照）。
【０１３９】
次いで、図１７Ｇでは、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触し、挿入作業が完了した時点を示す。この時点では、音量情報がある閾値（再生動作終了条件用閾値）（ここでは、５０ｄＢ）を上回ると動作生成部１１２で判定すると、動作生成部１１２で、ロボットアーム１０２を静止させるように設定しており、ロボットアーム１０２が静止する。（図１８の参照符号Ｂの時点参照）。
【０１４０】
次いで、図１７Ｉでは、再生動作を終了した時点である（図１８参照）。
【０１４１】
以上のように、教示データを基にフィードバック則をフィードバック則生成部１１１で生成し、生成したフィードバック則を含みかつ動作生成部１１２で作成した動作情報を基に制御部１１４で再生することによって、環境の変動が生じた場合においても、教示動作と同様の動作が再生時に行うことができる。
【０１４２】
（ｉｉｉ）対象物位置情報を使用する例
＜教示モードの説明＞
対象物位置情報を使用する例について説明する。対象物位置情報は、環境情報取得部１０７により取得する情報であり、画像撮像装置７１８で取得した撮像画像を基に求める。具体的には、ロボットアーム１０２のハンド７０１の先端からのコネクタ１００３（被対象物）までの長さを示す。それぞれの特徴点（ロボットアーム１０２のハンド７０１の先端とコネクタ１００３の先端）間の距離Ｌを撮像画像から算出する。図１９Ａ〜図１９Ｄを用いて説明する。図１９Ａ〜図１９Ｄの参照符号Ｌの部分の長さが対象物位置情報である。
【０１４３】
図２０Ａ〜図２０Ｊを用いて、人の手１００１がロボットアーム１０２を操作し、教示している手順を示す。図２０Ａ→図２０Ｃ→図２０Ｅ→図２０Ｇ→図２０Ｉの順に人の手１００１がロボットアーム１０２に教示していく手順を示している。また、そのときのフレキシブル基板１００２とコネクタ１００３との状態を図２０Ｂ→図２０Ｄ→図２０Ｆ→図２０Ｈ→図２０Ｊの順に示す。ここでは、モード切替部１１３において、「教示モード」が選択されている。図２０Ａの時点で、人によりＩＦ１１５の開始ボタンが押下され、図２０Ｉの時点で、人によりＩＦ１１５の終了ボタンが押下される。
【０１４４】
図２０Ａでは、人の手１００１がロボットアーム１０２を把持し、人がロボットアーム１０２に対して教示を開始した時点である。この時点では、まだ、フレキシブル基板１００２とコネクタ１００３とが接触していないので、対象物位置情報である長さＬの値は大きい。
【０１４５】
次いで、図２０Ｃは、フレキシブル基板１００２の先端とコネクタ１００３の入り口とが接触した時点である。この時点では、接触の際にフレキシブル基板１００２がコネクタ１００３に入り始めるので、対象物位置情報の変位が変化し始める。この時点から反応時間分が経過すると、人が目視で接触を確認し、行動を変化させる。
【０１４６】
次いで、図２０Ｅでは、フレキシブル基板１００２をコネクタ１００３に押し込み、挿入作業を行っている時点を示す。
【０１４７】
次いで、図２０Ｇでは、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触し、挿入作業が完了した時点を示す。この時点では、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触することによって対象物位置情報の変位が止まる。この時点から反応時間分が経過すると、人が目視で止まったことを確認し、コネクタ１００３へのフレキシブル基板１００２の挿入の完了を人が確認する。
【０１４８】
次いで、図２０Ｉでは、教示を終了した時点である。
【０１４９】
以上のようにしてフレキシブル基板１００２のコネクタ１００３への挿入作業を教示する。
【０１５０】
次に、図２１を用いて教示データから、情報変化点及び行動変化点を検出し、フィードバック則を生成する手順を示す。
【０１５１】
図２１は、図２０Ａ〜図２０Ｊの教示動作における、対象物位置情報を示す。図２１において、横軸は、教示動作開始時間（０ｍｓ）から教示動作終了時間までの教示動作時間を示し、縦軸は、対象物位置情報（ｍｍ）を示す。図２１のグラフの下に描かれている図は、それぞれ、フレキシブル基板１００２のコネクタ１００３に対する挿入状態（図２０Ａ、図２０Ｃ、図２０Ｅ、図２０Ｇ、図２０Ｉの状態）を示す。
【０１５２】
情報変化点検出部１０９において、環境情報取得部１０７により取得した対象物位置情報の変位が第１の閾値を上回る時点を検出する。ここでは、例えば、第１の閾値を−０．５ｍｍとし、図２１中の参照符号Ａの時点の対象物位置情報が情報変化点として情報変化点検出部１０９で検出される。次に、行動変化点検出部１１０において、情報変化点の時点（図２１中の参照符号Ａの時点）から既定反応時間が経過した時点（図２１中の参照符号Ｂの時点）以降に対象物位置情報の変位が第２の閾値を上回る時点を検出する。ここでは、例えば、第２の閾値を−１．０ｍｍとし、図２１中の参照符号Ｃの時点の対象物位置情報が行動変化点として情報変化点検出部１０９で検出される。最後に、フィードバック則生成部１１１において行動変化点（図２１中の参照符号Ｃの時点）以降の対象物位置情報を近似曲線で表す。ここでは、例えば、傾き−０．８ｍｍの近似曲線をフィードバック則生成部１１１で生成する。近似曲線の生成方法は、行動変化点から次の情報変化点までの音量情報を、最小二乗法を用いて一次関数に近似することによってフィードバック則生成部１１１で求める。フィードバック則生成部１１１で求めた近似曲線を図２１中の参照符号Ｄで示す。
【０１５３】
以上のようにして、教示データから、情報変化点及び行動変化点を情報変化点検出部１０９及び行動変化点検出部１１０でそれぞれ検出し、フィードバック則をフィードバック則生成部１１１で生成する。
【０１５４】
＜再生モードの説明＞
次に、図２２Ａ〜図２２Ｊ、図２３を用いて、教示データを基にロボットアーム１０２を再生している手順を説明する。図２２Ａ→図２２Ｃ→図２２Ｅ→図２２Ｇ→図２２Ｉの順にロボットアーム１０２が再生していく手順を示している。また、そのときのフレキシブル基板１００２とコネクタ１００３の状態を、図２２Ｂ→図２２Ｄ→図２２Ｆ→図２２Ｈ→図２２Ｊの順に示す。ここでは、モード切替部１１３において、「再生モード」が選択されている。図２２Ａの時点で、人によりＩＦ１１５の開始ボタンが押下され、図２２Ｉの時点で、人によりＩＦ１１５の終了ボタンが押下される。
【０１５５】
図２３は、図２２Ａ〜図２２Ｊの再生動作における、対象物位置情報を示す。図２３における実線のグラフは、対象物位置情報を示す。図２３の横軸は、再生動作時間（ｍｓ）を示し、再生動作開始時間を０ｍｓとし、再生動作開始時間から再生動作終了時間までの時間を示している。図２３の縦軸は、対象物位置情報（ｍｍ）を示している。図２３のグラフの下に描かれている図は、それぞれ、フレキシブル基板１００２のコネクタ１００３に対する挿入状態を示し、グラフの横軸が示す再生動作時間において、コネクタ１００３に対してフレキシブル基板１００２がどのような状態にあるのかを示す。
【０１５６】
図２２Ａでは、ロボットアーム１０２が再生動作を開始した時点である。この時点では、教示データの位置情報を再生しており、まだフレキシブル基板１００２とコネクタ１００３とが接触していない（図２３参照）。
【０１５７】
次いで、図２２Ｃは、フレキシブル基板１００２の先端とコネクタ１００３の入り口とが接触した時点である。この時点では、情報変化点検出部１０９において、対象物位置情報の変位が第１の閾値（−０．５ｍｍ）を上回り、情報変化点として検出する（図２３の参照符号Ａの時点参照）。この時点から、動作生成部１１２での動作情報を基に制御部１１４で、フィードバック則を適用させる。
【０１５８】
次いで、図２２Ｅでは、フレキシブル基板１００２をコネクタ１００３に押し込み、挿入作業を行っている時点を示す。この時点では、動作生成部１１２での動作情報を基に制御部１１４で、フィードバック則を適用させ、対象物位置情報が傾き−０．８ｍｍの近似曲線に追従するようにロボットアーム１０２の位置を、動作生成部１１２での動作情報を基に制御部１１４で調整する（図２３参照）。
【０１５９】
次いで、図２２Ｇでは、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触し、挿入作業が完了した時点を示す。この時点では、対象物位置情報がある閾値（再生動作終了条件用閾値）（ここでは、−１０．０ｍｍ）を上回ると動作生成部１１２で判定すると、動作生成部１１２で、ロボットアーム１０２を静止させるように設定しており、ロボットアーム１０２が静止する。（図２３の参照符号Ｂの時点参照）。  次いで、図２２Ｉでは、再生動作を終了した時点である（図２３参照）。
【０１６０】
以上のように、教示データを基にフィードバック則をフィードバック則生成部１１１で生成し、生成したフィードバック則を含みかつ動作生成部１１２で作成した動作情報を基に制御部１１４で再生することによって、環境の変動が生じた場合においても、教示動作と同様の動作が再生時に行うことができる。
【０１６１】
なお、ここでは、人が直接ロボットを操作して教示を行った例（ダイレクトティーチング）で説明したが、人がマスターロボットを操作しスレーブロボットに対して教示を行う例（マスタースレーブ）に本発明を適用することも可能である。
【０１６２】
第１実施形態のロボットアーム１０２の制御装置１０３の操作手順を図２４のフローチャートを用いて説明する。
【０１６３】
ステップＳ２４０１では、動作情報取得部１０６において動作情報を取得し、環境情報取得部１０７において環境情報を取得し、既定反応時間情報取得部１０８において既定反応時間情報を取得し、ステップＳ２４０２に進む。
【０１６４】
次いで、ステップＳ２４０２では、モード切替部１１３からモード情報（「教示モード」か「再生モード」か）が制御部１１４に出力される。「教示モード」の場合は、ステップＳ２４０３に進み、「再生モード」の場合は、ステップＳ２４０６に進む。
【０１６５】
ステップＳ２４０３では、情報変化点検出部１０９において、取得した教示データ（ステップＳ２４０１で取得した情報）から情報変化点を検出し、検出した情報変化点を行動変化点検出部１１０に出力し、ステップＳ２４０４に進む。
【０１６６】
次いで、ステップＳ２４０４では、行動変化点検出部１１０において、情報変化点検出部１０９から取得した情報変化点の時点から既定反応時間が経過した時点以降に行動変化点を探索する。行動変化点検出部１１０において、探索の結果、検出された行動変化点をフィードバック則生成部１１１に出力し、ステップＳ２４０５に進む。
【０１６７】
次いで、ステップＳ２４０５では、フィードバック則生成部１１１において、行動変化点検出部１１０から取得した行動変化点以降の情報を近似曲線で表し、フィードバック則を生成し、動作生成部１１２に出力し、フローを終了する。
【０１６８】
ステップＳ２４０６では、情報変化点が検出されたと情報変化点検出部１０９で判定された場合は、ステップＳ２４０７に進む。情報変化点が検出されなかったと情報変化点検出部１０９で判定された場合は、ステップＳ２４０８に進む。
【０１６９】
ステップＳ２４０７では、動作生成部１１２において、動作情報取得部１０６から取得した動作情報にフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０１７０】
ステップＳ２４０８では、動作生成部１１２で生成された動作情報に基づいて制御部１１４でロボットアーム１０２を制御し、フローを終了する。
【０１７１】
なお、第１実施形態では、「教示モード」及び「再生モード」を使用した形態を説明しているが、本発明は、「教示モード」のみを使用して教示データを分析する場合においても用いることができる。また、前記説明では、行動変化点を検出し、その時点からフィードバック則を生成している。しかしながら、行動変化点を検出せずに、情報変化点から既定反応時間が経過した時点からフィードバック則を生成する構成も可能である。また、再生時にフィードバック則を使用した例を説明しているが、フィードバック則を生成せず単純に再生のみで、情報変化点が検出された時点で行動変化点からの教示データを再生することも可能である。
【０１７２】
第１実施形態によれば、人がロボットアーム１０２を直接操作している際の、環境の変化に対する人の行動の変化を反応時間を考慮したフィードバック則として生成しているので、人の技能をロボットアーム１０２に移しこむことができ、環境が変化した場合においても人の場合と同様に作業を行うことができる。また、人の反応時間の際の動作を削除して再生することができるので、反応時間内に生じる不安定動作を削除することができる。
【０１７３】
（第２実施形態）
図２５Ａは、本発明の第２実施形態のロボット１０１のブロック図を示す。第２実施形態のロボット１０１は、ロボットアーム１０２と、周辺装置１０５と、制御装置１０３のうちの動作情報取得部１０６と、環境情報取得部１０７と、既定反応時間取得部１０８と、情報変化点検出部１０９と、フィードバック則生成部１１１と、動作生成部１１２と、モード切替部１１３と、制御部１１４について、第１実施形態と同様であり、共通の参照符号を付して共通部分の説明は省略する。第２実施形態は、第１実施形態と異なる部分について、以下、詳細に説明する。
【０１７４】
行動変化点検出部２５０１は、行動変化点検出部１１０に代えて制御装置１０３に備えられ、動作情報取得部１０６から位置情報と、姿勢情報と、速度情報と、時間情報とが入力され、環境情報取得部１０７から環境情報と時間情報とが入力され、既定反応時間取得部１０８から既定反応時間情報が入力され、情報変化点検出部１０９から情報変化点とその点に対応した時間情報とが入力される。
【０１７５】
行動変化点検出部２５０１は、入力された情報に基づいて、行動変化点を検出する。行動変化点検出部２５０１は、検出した行動変化点とその点に対応した時間情報とをフィードバック則生成部１１１に出力する。
【０１７６】
行動変化点の検出方法について説明する。行動変化点検出部２５０１は、動作情報取得部１０６から入力された動作情報と環境情報取得部１０７から入力された環境情報とにおいて、情報変化点から既定反応時間が経過した箇所以降の時間に第２の閾値を上回る箇所を探索し、初めに第２の閾値を上回る箇所を行動変化点として検出する。第２の閾値とは、入出力ＩＦ１１５により入力でき、各情報により異なり、例えば、力情報では０．５Ｎ、音量情報では１ｄＢ、対象物位置情報では１ｍｍ、位置情報では１ｍｍ、姿勢情報では０．０２ｒａｄ、速度情報では０．０１ｍｍ／ｍｓとする。また、情報変化点から既定反応時間が経過した箇所以降の時間に第２の閾値を上回る箇所が検出されないと行動変化点検出部２５０１で判定した場合は、行動変化点検出部２５０１は、情報変化点から既定反応時間が経過した箇所以前の時間に探索する。探索を終了する時点は情報変化点までとし、それでも第２の閾値を上回る箇所が検出されないと行動変化点検出部２５０１で判定した場合は、行動変化点検出部２５０１は行動変化点を検出しない。第２の閾値を上回る箇所が複数の情報で検出されたと行動変化点検出部２５０１で判定した場合は、行動変化点検出部２５０１は行動変化点を複数検出する。
【０１７７】
第２実施形態と第１実施形態との差異は、情報変化点から既定反応時間が経過した時点以前の時間にも行動変化点検出部２５０１で探索することであり、そのようにすることで既定反応時間より早く反応する場合においても、行動変化点を行動変化点検出部２５０１で抽出することができる。既定反応時間より早く反応する場合とは、作業の熟練度が増している場合又は繊細な作業のため集中している場合など様々な場合で生じる。
【０１７８】
第２実施形態の使用例として、フレキシブル基板１００２のコネクタ１００３への挿入作業を説明する。
【０１７９】
＜教示モード＞
図２６は、図１１Ａと同様に、教示動作における、力センサ７１６の値とロボットアーム１０２の位置情報を示す。
【０１８０】
教示動作時のデータから、情報変化点及び行動変化点を情報変化点検出部１０９及び行動変化点検出部２５０１で検出し、フィードバック則を生成する手順を示す。第２実施形態では、第１実施形態で検出した情報変化点（図２６中の参照符号Ａの時点）及び行動変化点（図２６中の参照符号Ｃの時点）、生成したフィードバック則（図２６中の参照符号Ｇの近似曲線）に加えて、新たに情報変化点（図２６中の参照符号Ｄの時点）及び行動変化点（図２６中の参照符号Ｆの時点）を情報変化点検出部１０９及び行動変化点検出部２５０１で検出し、新たにフィードバック則（図２６中の参照符号Ｈの近似曲線）をフィードバック則生成部１１１で生成する。以下には、新たに検出する情報変化点及び行動変化点を情報変化点検出部１０９及び行動変化点検出部２５０１でそれぞれ検出し、新たに生成するフィードバック則をフィードバック則生成部１１１で生成する手順について説明する。
【０１８１】
情報変化点検出部１０９は、力情報の変位が第１の閾値を上回る時点を検出する。第２実施形態では、第１実施形態で設定した第１の閾値に加えて、例えば、第１の閾値を−１．０Ｎとし、図２６中の参照符号Ｄの時点の力情報が情報変化点として情報変化点検出部１０９で検出される。
【０１８２】
次に、行動変化点検出部１１０は、情報変化点の時点（図２６中の参照符号Ｄの時点）から既定反応時間が経過した時点（図２６中の参照符号Ｅの時点）の後に、力情報の変位が第２の閾値を上回る時点を検出する。第２実施形態では、第１実施形態で設定した第２の閾値に加えて、例えば第２の閾値を０．２Ｎとする。
【０１８３】
しかしながら、図２６中の参照符号Ｅの時点以降に力情報の変位が第２の閾値を上回る時点は行動変化点検出部１１０で検出されない。そこで、図２６中の参照符号Ｅの時点以前において行動変化点検出部１１０で探索する。すると、図２６中の参照符号Ｆの時点の力情報が行動変化点として行動変化点検出部１１０で検出される。なお、変位が０．２Ｎを上回る時点は、Ｅ点周辺の変位は小さいため、Ｆ点にならないと検出されない。
【０１８４】
最後に、フィードバック則生成部１１１は、行動変化点（図２６中の参照符号Ｆ）以降の力情報を近似曲線で表す。ここでは、例えば、傾き０．１Ｎの近似曲線をフィードバック則生成部１１１で生成する。近似曲線の生成方法は、行動変化点から教示動作終了時間までの力情報を、最小二乗法を用いて一次関数に近似することによってフィードバック則生成部１１１で求める。フィードバック則生成部１１１で求めた近似曲線を図２６中の参照符号Ｈで示す。
【０１８５】
また、フィードバック則生成部１１１での近似曲線の生成方法は、行動変化点以降の時間に情報変化点がある場合は、行動変化点から次の情報変化点までの情報について最小二乗法を用いて近似曲線で近似する。行動変化点以降の時間に情報変化点がない場合は、フィードバック則生成部１１１により、行動変化点以降の時間について最小二乗法を用いて近似曲線で近似する。
【０１８６】
以上のようにして、教示データから、情報変化点及び行動変化点を情報変化点検出部１０９及び行動変化点検出部１１０でそれぞれ検出し、フィードバック則をフィードバック則生成部１１１で生成する。
【０１８７】
＜再生モードの説明＞
教示動作時のデータを基にロボットアーム１０２を再生する手順は、図１２Ａ〜図１２Ｊと同様であり、異なる点を以下に省略する。
【０１８８】
図２７は、図１３と同様に、図１２Ａ〜図１２Ｊの再生動作における、力センサ７１６の値とロボットアーム１０２の位置情報とを示す。
【０１８９】
図１２Ａは、第１実施形態と同じ動作である。
【０１９０】
次いで、図１２Ｃは、フレキシブル基板１００２の先端とコネクタ１００３の入り口とが接触した時点である。この時点では、情報変化点検出部１０９において、力情報の変位が第１の閾値（−０．５Ｎ）を上回り、第１実施形態で検出した情報変化点として検出する（図２７の参照符号Ａの時点参照）。
【０１９１】
この時点から、第１実施形態で生成したフィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で、適用させる。
【０１９２】
次いで、図１２Ｅでは、フレキシブル基板１００２をコネクタ１００３に押し込み、挿入作業を行っている時点を示す。この時点では、動作生成部１１２での動作情報を基に制御部１１４で、第１実施形態で生成したフィードバック則を適用させ、力情報が傾き−０．１Ｎの近似曲線に追従するようにロボットアーム１０２の位置を、動作生成部１１２での動作情報を基に制御部１１４で調整する（図２７参照）。
【０１９３】
次いで、図１２Ｇは、フレキシブル基板１００２の先端がコネクタ１００３の奥に接触し、挿入作業が完了した時点を示す。この時点で、情報変化点検出部１０９は、力情報について、第１の閾値を−１．０Ｎを越える点を情報変化点として検出する（図２７の参照符号Ｂの時点参照）。この時点から、前述した第２実施形態で生成したフィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で適用し、具体的には力情報が傾き０．１Ｎの近似曲線に追従するようにロボットアーム１０２の位置を、動作生成部１１２での動作情報を基に制御部１１４で調整する。
【０１９４】
次いで、図１２Ｉは、再生動作を終了した時点である（図２７参照）。なお、前記したように、第１の閾値は、教示モード及び再生モード共に情報変化点を検出する閾値として使用し、第２の閾値は教示モードにおいてフィードバック則を生成する際に使用する。
【０１９５】
以上のように、教示データを基にフィードバック則をフィードバック則生成部１１１で生成し、生成したフィードバック則を含みかつ動作生成部１１２で作成した動作情報を基に制御部１１４で再生することによって、環境の変動が生じた場合においても、教示動作と同様の動作を再生時に行うことができる。
【０１９６】
（変形例：複数方向へのフィードバック則の適用）
前記第２実施形態は、主に一方向（挿入方向）の作業についてのフィードバック則の適用について述べたが、複数の方向にフィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で、適用させる場合がある。例えば、フレキシブル基板１００２をコネクタ１００３に挿入する作業は、図２８に示す通り、挿入方向、横方向、及び、高さ方向などの複数の方向がある。本変形例は、このような場合に、下記するように動作生成部１１２で優先順位をつけて、フィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で適用する。
【０１９７】
図２５Ｂは、複数方向にフィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で適用させる場合の動作生成部１１２の内部の詳細を示した図である。ここでは、動作生成部１１２は、情報取得部１１２Ｂと、方向別順位決定部１１２Ｃと、情報生成部１１２Ｄとを備えて構成している。
【０１９８】
情報取得部１１２Ｂは、他の要素から動作生成部１１２に入力される情報を取得し、方向別順位決定部１１２Ｃ及び情報生成部１１２Ｄにそれぞれ出力する。
【０１９９】
方向別順位決定部１１２Ｃは、情報取得部１１２Ｂから入力された環境情報を基に方向別に順位を決定し、その情報を情報生成部１１２Ｄに出力する。順位の決定方法の一例を説明する。情報取得部１１２Ｂから取得した環境情報のある時点の変位を方向別に方向別順位決定部１１２Ｃで比較し、その変位が大きい順に順位を方向別順位決定部１１２Ｃで決定する。
【０２００】
情報生成部１１２Ｄは、情報取得部１１２Ｂから入力された情報を基に再生動作を生成する。また、フィードバック則を情報生成部１１２Ｄで適用する際に、方向別順位決定部１１２Ｃから入力された順位情報を基にその方向に対してフィードバックを情報生成部１１２Ｄで適用するように、再生動作を情報生成部１１２Ｄで生成する。動作生成部１１２の情報生成部１１２Ｄで生成した動作情報を基に、フィードバック則を制御部１１４で適用させる。
【０２０１】
図２９Ａ〜図２９Ｃは、図１０Ａ〜図１０Ｊに示す教示動作における、挿入方向（図２９Ａ）、横方向（図２９Ｂ）、高さ方向（図２９Ｃ）における、力センサ７１６の値とロボットアーム１０２の位置情報とを示す。
【０２０２】
図２９Ａ〜図２９Ｃの説明は、図１１Ａと同様である。
【０２０３】
各方向における情報変化点及び行動変化点が検出された時点の力情報の変位を方向別順位決定部１１２Ｃで比較すると、挿入方向、横方向、高さ方向の順に大きいと方向別順位決定部１１２Ｃで判定されるとする。
【０２０４】
再生時は、変位の大きい順序である挿入方向、横方向、高さ方向の優先順位でフィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で適用させる。人が作業を行う場合は、力の変位の大きい方向の力を手で感じ、作業方法を変更する。よって、力情報の変位の大きい順序で、フィードバック則を適用させるように再生動作を情報生成部１１２Ｄで生成し、情報生成部１１２Ｄで生成した動作情報を基に、フィードバック則を制御部１１４で適用させる。このように構成することで、人の手１００１が力を感じながら行う作業と同様の方法で、フィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で適用することができる。
【０２０５】
適用例は、優先順位の高い順に１つの方向のみにフィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で適用させる。例えば、再生時に全ての方向で情報変化点が検出された場合は、挿入方向のみにフィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で適用させる。また、横方向及び高さ方向で情報変化点が検出された場合は、横方向のみにフィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で適用させる。
【０２０６】
なお、前記の適用方法以外にも情報変化点が検出された方向は全てフィードバック則を適用するなど他の方法を採用することも可能である。
【０２０７】
複数方向にフィードバック則を、動作生成部１１２での動作情報を基に制御部１１４で適用させることによって、人が作業を行っている場合と同様の挿入方法を、ロボットアーム１０２によって再生することができ、環境変動又は対象物が変更される場合においても対応することができる。
【０２０８】
第２実施形態のロボットアーム１０２の制御装置１０３の操作手順を図３０のフローチャートを用いて説明する。
【０２０９】
ステップＳ２４０１では、動作情報取得部１０６は動作情報を取得し、環境情報取得部１０７は環境情報を取得し、既定反応時間情報取得部１０８は既定反応時間情報を取得する。
【０２１０】
次いで、ステップＳ２４０２では、モード切替部１１３は、教示モードを切り替える。具体的には、モード情報（「教示モード」か「再生モード」か）を制御部１１４に出力する。「教示モード」の場合は、ステップＳ２４０３に進み、「再生モード」の場合は、ステップＳ２４０６に進む。
【０２１１】
（教示モードのフロー）
ステップＳ２４０３では、情報変化点検出部１０９は、取得した教示データ（ステップＳ２４０１で取得した情報）から情報変化点を検出し、検出した情報変化点を行動変化点検出部２５０１に出力する。
【０２１２】
次いで、ステップＳ３００１では、行動変化点検出部２５０１は、情報変化点検出部１０９から取得した情報変化点の時点から既定反応時間が経過した時点以降に行動変化点を探索する。また、行動変化点検出部２５０１での探索の結果、行動変化点が検出されなかったと行動変化点検出部２５０１で判定された場合、情報変化点の時点から既定反応時間が経過した時点以前に検出された行動変化点を行動変化点検出部２５０１で探索する。行動変化点検出部２５０１で検出された行動変化点を行動変化点検出部２５０１からフィードバック則生成部１１１に出力し、ステップＳ２４０５に進む。
【０２１３】
次いで、ステップＳ２４０５では、フィードバック則生成部１１１は、行動変化点検出部２５０１から取得した行動変化点以降の情報を近似曲線で表し、フィードバック則を生成し、動作生成部１１２に出力し、フローを終了する。
【０２１４】
（再生モードのフロー）
ステップＳ２４０６では、情報変化点が検出されたと情報変化点検出部１０９で判定された場合は、再生モードのフローはステップＳ２４０７に進み、情報変化点が検出されなかったと情報変化点検出部１０９で判定された場合は、再生モードのフローはステップＳ２４０８に進む。
【０２１５】
ステップＳ２４０７では、動作生成部１１２は、動作情報取得部１０６から取得した動作情報にフィードバック則を適用させた動作情報を生成する。
【０２１６】
ステップＳ２４０８では、制御部１１４は、動作生成部１１２で生成された動作情報に基づいてロボットアーム１０２を制御すし、フローを終了する。
【０２１７】
第２実施形態によれば、人の反応時間が早い場合（熟練度が高い場合又は集中力が高い場合など）においても、人の行動の変化を正確に表すことができ、行動変化点を検出でき、人の技能をロボットアームに移しこむことができる。その結果、環境が変化した場合においても人の場合と同様に作業を行うことができる。
【０２１８】
（第３実施形態）
図３１は、本発明の第３実施形態のロボット１０１のブロック図を示す。本発明の第２実施形態のロボット１０１におけるロボットアーム１０２と、周辺装置１０５と、制御装置１０３のうちの動作情報取得部１０６と、環境情報取得部１０７と、既定反応時間取得部１０８と、情報変化点検出部１０９と、行動変化点検出部２５０１と、フィードバック則生成部１１１と、モード切替部１１３と、制御部１１４とは第２実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０２１９】
実反応時間情報検出部３１０１は、制御装置１０３に新たに備えられ、情報変化点検出部１０９から情報変化点とその点に対応した時間情報とが入力される。また、実反応時間情報検出部３１０１には、行動変化点検出部２５０１から行動変化点とその点に対応した時間情報とが入力される。実反応時間情報検出部３１０１は、取得した行動変化点の時点から情報変化点の時点を引き、実反応時間情報を求める。実反応時間情報検出部３１０１で求めた実反応時間情報と時間情報を、実反応時間情報検出部３１０１から動作生成部３１０２に出力する。
【０２２０】
図３２は、図１１Ａと同様に、図１０Ａ〜図１０Ｊで示す教示動作の際に得られた教示データである。図３２の参照符号Ａ、Ｃは情報変化点を示し、図３２の参照符号Ｂ、Ｄは行動変化点を示す。
【０２２１】
図３２における実反応時間は、それぞれＢ−Ａ、Ｄ−Ｃで表される。
【０２２２】
動作生成部３１０２は、動作生成部１１２に代えて制御装置１０３に備えられ、
動作情報取得部１０６から入力された（ｉ）位置情報と、姿勢情報と、速度情報と、時間情報と、
環境情報取得部１０７から入力された（ｉｉ）環境情報と時間情報と、
情報変化点検出部１０９から入力された（ｉｉｉ）情報変化点とその点に対応した時間情報と、
実反応時間情報検出部３１０１から入力された（ｉｖ）実反応時間情報と時間情報と
に基づいて、動作情報を生成し、生成した動作情報と時間情報とを制御部１１４に出力する。動作生成部３１０２は、生成した動作情報と、フィードバック則と、時間情報とを動作記憶部３１０２Ａに記憶する。
【０２２３】
動作生成部３１０２での動作情報の生成方法について説明する。動作生成部３１０２は、動作情報取得部１０６から入力された動作情報を、動作情報として作成する。ただし、ロボットアーム１０２の動作中に情報変化点検出部１０９から情報変化点が動作生成部３１０２に入力された場合、フィードバック則を適用させた動作を動作生成部３１０２で生成する。フィードバック則に適用させた動作とは、入力される近似曲線に沿うように動作情報を変化させることである。また、情報変化点が検出されてフィードバック則を適用させる場合に、実反応時間情報における動作を再生するか、又は、削除するかを、動作生成部３１０２は、人が入出力ＩＦ１１５を用いて選択するのを促す。例えば、入出力ＩＦ１１５の一例としてのディスプレイなどの表示装置に、実反応時間情報における動作を再生するか、又は、削除するかの選択を促す指示が表示される。よって、人が入出力ＩＦ１１５を用いて選択した選択情報を動作生成部３１０２に入力して、実反応時間情報における動作を再生するか、又は、削除するかを選択することができる。選択の基準としては、教示動作と同様の動作を行う場合においては実反応時間情報における動作を再生し、効率良く短時間で再生する場合においては実反応時間情報における動作を削除して再生する。
【０２２４】
再生する場合は、教示データと同様の動作が可能である。
【０２２５】
実反応時間情報における動作を削除する場合は、人の反応時間の動作を削除することができ、不安定動作を削除することができる。
【０２２６】
図３３Ａ及び図３３Ｂは、図１３と同様に、図１２Ａ〜図１２Ｊで示す再生動作における、力情報と位置情報とのグラフである。具体的には、図３３Ａは、実反応時間情報における動作を再生する場合の結果を示し、図３３Ｂは、実反応時間情報における動作を削除する場合の結果を示す。
【０２２７】
図３３Ａでは、図２６に示される教示データと同様の結果が得られていることがわかる。一方で、図３３Ｂでは、実反応時間情報における動作が削除されているので、人の反応時間中の動作が削除されていることがわかる（図３３Ａ中の参照符号Ｃ、Ｄの区間を図３３Ｂでは削除している）。
【０２２８】
また、動作生成部３１０２において、上述した人の反応時間の動作を削除することの他に、人の反応時間の動作を補間することもできる。例えば、状態変化点が検出された時点での情報と状態変化点から反応時間経過した時点での情報との間の時間の情報を補間する。補間方法としては、線形補間、多項式補間、又は、円弧補間など、いかなる補間方法も可能である。
【０２２９】
図３３Ｃに、補間を行った再生動作における、力情報と位置情報とのグラフを示す。図３３Ｃでは、参照符号Ｃ、Ｄの区間において線形補間を施している。
【０２３０】
また、状態変化点が検出された時点での情報と状態変化点から反応時間経過した時点での情報との大きさの差によって、削除するか又は補間するかを自動的に切り替えることも可能である。例えば、状態変化点が検出された時点での力情報と状態変化点から反応時間経過した時点での力情報との絶対値の差が、任意の閾値（動作修正切替用閾値）（０．１Ｎ）以上の場合は補間を行い、前記任意の閾値（動作修正切替用閾値）（０．１Ｎ）より小さい場合は削除を行う。
【０２３１】
第３実施形態のロボットアーム１０２の制御装置１０３の操作手順を図３４のフローチャートを用いて説明する。
【０２３２】
ステップＳ２４０１では、動作情報取得部１０６において動作情報を取得し、環境情報取得部１０７において環境情報を取得し、既定反応時間情報取得部１０８において既定反応時間情報を取得し、ステップＳ２４０２に進む。
【０２３３】
次いで、ステップＳ２４０２では、モード切替部１１３において、モード情報（「教示モード」か「再生モード」か）が制御部１１４に出力される。「教示モード」の場合は、ステップＳ２４０３に進み、「再生モード」の場合は、ステップＳ２４０６に進む。
【０２３４】
ステップＳ２４０３では、情報変化点検出部１０９において、取得した教示データ（ステップＳ２４０１で取得した情報）から情報変化点を検出し、検出した情報変化点を行動変化点検出部２５０１に出力し、ステップＳ３００１に進む。
【０２３５】
次いで、ステップＳ３００１では、行動変化点検出部２５０１において、情報変化点検出部１０９から取得した情報変化点の時点から既定反応時間が経過した時点以降に行動変化点を探索する。また、行動変化点検出部２５０１での探索の結果、行動変化点が検出されなかったと行動変化点検出部２５０１で判定した場合、情報変化点の時点から既定反応時間が経過した時点以前に検出された行動変化点を探索する。行動変化点検出部２５０１で検出された行動変化点を行動変化点検出部２５０１からフィードバック則生成部１１１に出力し、ステップＳ２４０５に進む。
【０２３６】
次いで、ステップＳ２４０５では、フィードバック則生成部１１１において、行動変化点検出部２５０１から取得した行動変化点以降の情報を近似曲線で表し、フィードバック則を生成し、動作生成部３１０２に出力し、ステップＳ３４０１に進む。
【０２３７】
次いで、ステップＳ３４０１では、実反応時間情報検出部３１０１において、行動変化点の時点と情報変化点の時点との差を取り、実反応時間情報を検出する。実反応時間情報検出部３１０１で検出した実反応時間情報を、実反応時間情報検出部３１０１から動作生成部３１０２に出力し、フローを終了する。
【０２３８】
ステップＳ２４０６では、情報変化点が検出されたと情報変化点検出部１０９で判定された場合は、ステップＳ３４０２に進む。情報変化点が検出されなかったと情報変化点検出部１０９で判定された場合は、ステップＳ２４０８に進む。
【０２３９】
ステップＳ３４０２では、動作生成部３１０２において、フィードバック則を適用させる場合に、実反応時間情報における動作を削除するか又は削除しないかを人が入出力ＩＦ１１５を用いて選択するのを促す。実反応時間情報における動作を削除する場合はステップＳ３４０３に進み、実反応時間情報における動作を削除しない場合はステップＳ３４０４に進む。
【０２４０】
ステップＳ３４０３では、動作生成部３１０２において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除してフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０２４１】
ステップＳ３４０４では、動作生成部３１０２において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除せずにフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０２４２】
ステップＳ２４０８では、動作生成部３１０２で生成された動作情報に基づいて制御部１１４でロボットアーム１０２を制御し、フローを終了する。
【０２４３】
第３実施形態によれば、動作生成部３１０２により、実反応時間情報における動作を削除するか又は削除しないかを人が入出力ＩＦ１１５を用いて選択するのを促すことができる。このため、人が入出力ＩＦ１１５を用いて選択した選択情報を動作生成部３１０２に入力して、実反応時間情報における動作を削除するか、又は、削除しないかを選択するので、対象となる作業に応じたフィードバック則を、動作生成部３１０２での動作情報を基に制御部１１４で適用することができる。また、反応時間内に生じる作業中の人の不安定動作を削除することができ、人の意図した動作を再生することができる。
【０２４４】
（第４実施形態）
図３５は、本発明の第４実施形態のロボット１０１のブロック図を示す。本発明の第３実施形態のロボット１０１におけるロボットアーム１０２と、周辺装置１０５と、制御装置１０３のうちの動作情報取得部１０６と、環境情報取得部１０７と、既定反応時間取得部１０８と、情報変化点検出部１０９と、行動変化点検出部２５０１と、フィードバック則生成部１１１と、動作生成部３１０２と、モード切替部１１３と、実反応時間情報検出部３１０１と、制御部１１４とは第３実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０２４５】
第４実施形態では、既定反応時間情報として、作業者又は対象作業に対応した反応時間情報を予め決めておき、その情報に基づいて、教示モードと再生モードとを制御するものである。
【０２４６】
環境情報生成部３５０１は、制御装置１０３に新たに備えられ、既定反応時間情報を測定する際に使用する環境情報を生成し、入出力ＩＦ１１５に出力する。環境情報は力情報と、音量情報と、対象物位置情報との少なくとも１つ以上の情報である。
【０２４７】
既定反応時間情報測定部３５０２は、制御装置１０３に新たに備えられ、環境情報生成部３５０１による環境情報を取得した場合に、
情報変化点検出部１０９から入力された（ｉ）情報変化点とその点に対応した時間情報と、
行動変化点検出部２５０１から入力された（ｉｉ）行動変化点とその点に対応した時間情報と
に基づいて、既定反応時間情報として、行動変化点の時点と情報変化点の時点との差を求め、入出力ＩＦ１１５に求めた既定反応時間情報を出力する。
【０２４８】
既定反応時間情報を測定する予備実験について説明する。環境情報として、力情報を使用した予備実験について、図３６Ａ〜図３６Ｄを用いて説明する。予備実験は、図３６Ａ→図３６Ｂ→図３６Ｃ→図３６Ｄの手順で行う。予備実験は、モード切替部１１３のモード情報が「教示モード」で行われる。ここでは、モード切替部１１３において、「教示モード」が選択されている。図３６Ａの時点で、人によりＩＦ１１５の開始ボタンが押下され、図３６Ｄの時点で、人によりＩＦ１１５の終了ボタンが押下される。
【０２４９】
図３６Ａは、人の手１００１がロボットアーム１０２を把持し、静止している状態である。
【０２５０】
図３６Ｂは、環境情報生成部３５０１によって力情報が生成された状態である。具体的には、位置を制御し力を提示することによって、力情報を環境情報生成部３５０１で生成する。又は、実際に被対象物にロボットアーム１０２のハンド７０１を衝突させる。
【０２５１】
このとき、力センサ７１６の値は変化するが、人の手１００１には、まだ力情報が伝わっていない。
【０２５２】
図３６Ｃは、環境情報生成部３５０１によって力情報が生成された時点から反応時間が経過した時点であり、人の手１００１に力情報が伝わり、人の手１００１がロボットアーム１０２を移動させた状態である。図３６Ｂの時点から図３６Ｃの時点までの時間が、既定反応時間情報として、既定反応時間測定部３５０２で測定される。
【０２５３】
図３６Ｄは、人の手１００１がロボットアーム１０２を把持し、静止している状態であり、予備実験が終了した状態である。
【０２５４】
図３７は、図３６Ａ〜図３６Ｄの予備実験中に得られたロボットアーム１０２の位置情報と力センサ７１６の測定値を示す。図３７における、実線のグラフ４００は、力センサ７１６で検出される値を示す。実線のグラフ４０１は、ロボットアーム１０２の位置を示す。図３７の横軸は、予備実験開始時間（０ｍｓ）から予備実験終了時間までの予備実験時間を示す。図３７の左縦軸は、ロボットアーム１０２の位置（ｍｍ）を示す。図３７の右縦軸は、力センサ７１６で検出される値（Ｎ）を示す。図３７のグラフの下には、図３６Ａ〜図３６Ｄのどの状態にあるのかを示す。図３７の参照符号Ａ、Ｂは情報変化点を表し、行動変化点を表す。また、図３７の参照符号Ｃは既定反応時間情報を表す。
【０２５５】
図３７より、図３６Ｂの状態において力情報の変位が大きくなり、情報変化点が情報変化点検出部１０９で検出されていることがわかる。また、図３６Ｃの状態において位置情報の変位が大きくなり、行動変化点が行動変化点検出部２５０１で検出されていることがわかる。情報変化点の時点から行動変化点の時点までの時間（図３７中の参照符号Ｃ）を既定反応時間情報として既定反応時間取得部１０８で求める。このように求めた既定反応時間情報を用いることによって、人、又は、対象作業、又は、環境情報などによる反応時間の差異に対応した既定反応時間情報を既定反応時間取得部１０８の既定反応時間取得部１０８で取得することができる。また、求めた既定反応時間情報は、既定反応時間情報記憶部１０８Ａで記憶され、既定反応時間情報として既定反応時間取得部１０８から行動変化点検出部２５０１に出力される。予備実験は、実際の作業の前準備として実施され、作業者又は対象作業ごとに異なり、図３８に示すような情報として記憶する。
【０２５６】
第４実施形態のロボットアーム１０２の制御装置１０３の操作手順を図３９のフローチャートを用いて説明する。
【０２５７】
ステップＳ３９０１では、予備実験を行い、既定反応時間情報測定部３５０２で既定反応時間情報を測定し、既定反応時間情報測定部３５０２から入出力ＩＦ１１５に出力し、ステップＳ２４０１に進む。
【０２５８】
次いで、ステップＳ２４０１では、動作情報取得部１０６において動作情報を取得し、環境情報取得部１０７において環境情報を取得し、既定反応時間情報取得部１０８において既定反応時間情報を取得し、ステップＳ２４０２に進む。
【０２５９】
次いで、ステップＳ２４０２では、モード切替部１１３において、モード情報（「教示モード」か「再生モード」か）が制御部１１４に出力される。「教示モード」の場合は、ステップＳ２４０３に進み、「再生モード」の場合は、ステップＳ２４０６に進む。
【０２６０】
ステップＳ２４０３では、情報変化点検出部１０９において、取得した教示データ（ステップＳ２４０１で取得した情報）から情報変化点を検出し、検出した情報変化点を行動変化点検出部２５０１に出力し、ステップＳ３００１に進む。
【０２６１】
次いで、ステップＳ３００１では、行動変化点検出部２５０１において、情報変化点検出部１０９から取得した情報変化点の時点から既定反応時間が経過した時点以降に行動変化点を探索する。また、行動変化点検出部２５０１での探索の結果、行動変化点が検出されなかったと行動変化点検出部２５０１で判定した場合、情報変化点の時点から既定反応時間が経過した時点以前に検出された行動変化点を行動変化点検出部２５０１で探索する。行動変化点検出部２５０１で検出された行動変化点を、行動変化点検出部２５０１からフィードバック則生成部１１１に出力し、ステップＳ２４０５に進む。
【０２６２】
次いで、ステップＳ２４０５では、フィードバック則生成部１１１において、行動変化点検出部２５０１から取得した行動変化点以降の情報を近似曲線で表し、フィードバック則を生成し、動作生成部３１０２に出力し、ステップＳ３４０１に進む。
【０２６３】
次いで、ステップＳ３４０１では、実反応時間情報検出部３１０１において、行動変化点の時点と情報変化点の時点との差を取り、実反応時間情報を検出する。検出した実反応時間情報を実反応時間情報検出部３１０１から動作生成部３１０２に出力し、フローを終了する。
【０２６４】
ステップＳ２４０６では、情報変化点が検出されたと情報変化点検出部１０９で判定された場合は、ステップＳ３４０２に進む。情報変化点が検出されなかったと情報変化点検出部１０９で判定された場合は、ステップＳ２４０８に進む。
【０２６５】
ステップＳ３４０２では、動作生成部３１０２において、フィードバック則を適用させる場合に、実反応時間情報における動作を削除するか又は削除しないかを人が入出力ＩＦ１１５を用いて選択するのを促す。実反応時間情報における動作を削除する場合はステップＳ３４０３に進み、実反応時間情報における動作を削除しない場合はステップＳ３４０４に進む。
【０２６６】
ステップＳ３４０３では、動作生成部３１０２において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除してフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０２６７】
ステップＳ３４０４では、動作生成部３１０２において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除せずにフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０２６８】
ステップＳ２４０８では、動作生成部３１０２で生成された動作情報に基づいて制御部１１４でロボットアーム１０２を制御し、フローを終了する。
【０２６９】
第４実施形態によれば、予備実験を行い既定反応時間情報を既定反応時間情報測定部３５０２で測定することによって、人、又は、対象作業、又は、環境情報などによる反応時間の差異に対応することができる。その結果、行動変化点検出部２５０１で行動変化点を正確に求めることができ、人、又は、対象作業、又は、環境情報などが変わった場合においても、正確に作業を行うことができる。
【０２７０】
（第５実施形態）
図４０は、本発明の第５実施形態のロボット１０１のブロック図を示す。本発明の第３実施形態のロボット１０１におけるロボットアーム１０２と、周辺装置１０５と、制御装置１０３のうちの動作情報取得部１０６と、環境情報取得部１０７と、既定反応時間取得部１０８と、情報変化点検出部１０９と、行動変化点検出部２５０１と、フィードバック則生成部１１１と、モード切替部１１３と、実反応時間情報検出部３１０１と、制御部１１４とは第３実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０２７１】
動作生成部４００１は、動作生成部１１２に代えて制御装置１０３に備えられ、
動作情報取得部１０６から入力された（ｉ）位置情報と、姿勢情報と、速度情報との少なくとも１つの動作情報と、時間情報と、
環境情報取得部１０７から入力された（ｉｉ）環境情報と時間情報と、
情報変化点検出部１０９から入力された（ｉｉｉ）情報変化点とその点に対応した時間情報と、
実反応時間情報検出部３１０１から入力された（ｉｖ）実反応時間情報と時間情報とが入力された情報と
に基づいて、動作情報を生成する。動作生成部４００１は、生成した動作情報と時間情報とを制御部１１４に出力する。動作生成部４００１は、生成した動作情報と、フィードバック則と、時間情報とを動作記憶部４００２Ａに記憶する。
【０２７２】
動作生成部４００１での動作情報の生成方法について説明する。動作生成部４００１は、動作情報取得部１０６から入力された動作情報を、動作情報として作成する。ただし、ロボットアーム１０２の動作中に情報変化点検出部１０９から情報変化点が入力された場合、フィードバック則を適用させた動作を動作生成部４００１で生成する。フィードバック則に適用させた動作とは、入力される近似曲線に沿うように動作情報を変化させることである。また、情報変化点が検出されてフィードバック則を適用させる場合に、実反応時間情報における動作を再生するか、又は、削除するかを人が入出力ＩＦ１１５を用いて選択するのを促す。よって、人が入出力ＩＦ１１５を用いて選択した選択情報を動作生成部４００１に入力して、実反応時間情報における動作を再生するか、又は、削除するかを選択することができる。実反応時間情報における動作を再生する場合は、教示データと同様の動作が可能である。選択の基準としては、教示動作と同様の動作を行う場合においては実反応時間情報における動作を再生し、効率良く短時間で再生する場合においては実反応時間情報における動作を削除する。さらに、実反応時間情報における動作を削除する場合は、人の反応時間の動作を削除することができ、不安定動作を削除することができる。
【０２７３】
また、教示データが複数ある場合において、それぞれの教示データにおける実反応時間情報検出部３１０１から動作生成部４００１に入力される実反応時間情報を動作生成部４００１で比較し、実反応時間情報が最も短い教示データを動作情報として動作生成部４００１で生成する。教示データが複数ある場合とは、同一作業において同一の作業者が複数回教示を行う場合、又は、同一作業において複数人の作業者が教示する場合のことを示す。
【０２７４】
図４１Ａ〜図４１Ｃに表される３つの教示データがあった場合、それぞれの実反応時間情報（図４１Ａ〜図４１Ｃ中のＢ−Ａ）を動作生成部４００１で比較する。それぞれの実反応時間情報は、図４１Ａは５２４ｍｓ、図４１Ｂは４１６ｍｓ、図４１Ｃは５９４ｍｓである。この場合、図４１Ｂの実反応時間情報が最も短いので、図４１Ｂの教示データを動作情報として動作生成部４００１で生成する。
【０２７５】
また、教示データとは例えば、図４２で表されるような時系列のデータのことを示す。
【０２７６】
第５実施形態のロボットアーム１０２の制御装置１０３の操作手順を図４３のフローチャートを用いて説明する。
【０２７７】
ステップＳ２４０１では、動作情報取得部１０６において動作情報を取得し、環境情報取得部１０７において環境情報を取得し、既定反応時間情報取得部１０８において既定反応時間情報を取得し、ステップＳ２４０２に進む。
【０２７８】
次いで、ステップＳ２４０２では、モード切替部１１３において、モード情報（「教示モード」か「再生モード」か）が制御部１１４に出力される。「教示モード」の場合は、ステップＳ２４０３に進み、「再生モード」の場合は、ステップＳ２４０６に進む。
【０２７９】
ステップＳ２４０３では、情報変化点検出部１０９において、取得した教示データ（ステップＳ２４０１で取得した情報）から情報変化点を検出し、検出した情報変化点を行動変化点検出部２５０１に出力し、ステップＳ３００１に進む。
【０２８０】
次いで、ステップＳ３００１では、行動変化点検出部２５０１において、情報変化点検出部１０９から取得した情報変化点の時点から既定反応時間が経過した時点以降に行動変化点を探索する。また、情報変化点検出部１０９での探索の結果、行動変化点が検出されなかったと情報変化点検出部１０９で判定した場合、情報変化点の時点から既定反応時間が経過した時点以前に検出された行動変化点を情報変化点検出部１０９で探索する。情報変化点検出部１０９で検出された行動変化点を、情報変化点検出部１０９からフィードバック則生成部１１１に出力し、ステップＳ２４０５に進む。
【０２８１】
次いで、ステップＳ２４０５では、フィードバック則生成部１１１において、行動変化点検出部２５０１から取得した行動変化点以降の情報を近似曲線で表し、フィードバック則を生成し、動作生成部４００１に出力し、ステップＳ３４０１に進む。
【０２８２】
次いで、ステップＳ３４０１では、実反応時間情報検出部３１０１において、行動変化点の時点と情報変化点の時点との差を取り、実反応時間情報を検出する。実反応時間情報検出部３１０１で検出した実反応時間情報を、実反応時間情報検出部３１０１から動作生成部４００１に出力し、フローを終了する。
【０２８３】
ステップＳ２４０６では、情報変化点が検出されたと情報変化点検出部１０９で判定された場合は、ステップＳ３４０２に進む。情報変化点が検出されなかったと情報変化点検出部１０９で判定された場合は、ステップＳ４３０１に進む。
【０２８４】
ステップＳ３４０２では、動作生成部４００１において、フィードバック則を適用させる場合に、実反応時間情報における動作を削除するか又は削除しないかを、人が入出力ＩＦ１１５を用いて選択するのを促す。実反応時間情報における動作を削除する場合はステップＳ３４０３に進み、実反応時間情報における動作を削除しない場合はステップＳ３４０４に進む。
【０２８５】
ステップＳ３４０３では、動作生成部４００１において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除してフィードバック則を適用させた動作情報を生成し、ステップＳ４３０１に進む。
【０２８６】
ステップＳ３４０４では、動作生成部４００１において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除せずにフィードバック則を適用させた動作情報を生成し、ステップＳ４３０１に進む。
【０２８７】
ステップＳ４３０１では、動作生成部４００１で生成された動作情報に基づいて制御部１１４でロボットアーム１０２を制御し、フローを終了する。複数の教示データがある場合においては、動作生成部４００１により、実反応時間情報が最も短い教示データを動作情報としてロボットアーム１０２を制御する。
【０２８８】
第５実施形態によれば、教示データが複数ある場合においても、最も良い教示データを動作生成部４００１で選択して再生することができるので、効率の良い作業を行うことができる。
【０２８９】
（第６実施形態）
図４４は、本発明の第６実施形態のロボット１０１のブロック図を示す。本発明の第３実施形態のロボット１０１におけるロボットアーム１０２と、周辺装置１０５と、制御装置１０３のうちの動作情報取得部１０６と、環境情報取得部１０７と、既定反応時間取得部１０８と、情報変化点検出部１０９と、フィードバック則生成部１１１と、モード切替部１１３と、実反応時間情報検出部３１０１と、制御部１１４とは第３実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０２９０】
行動変化点検出部４４０１は、行動変化点検出部２５０１に代えて制御装置１０３に備えられ、第３実施形態における行動変化点検出部２５０１の機能に加え、予備動作情報を検出し、予備動作情報が検出された場合は検出された時点以降の時間で行動変化点を検出する。行動変化点検出部４４０１で検出した予備動作情報は、行動変化点検出部４４０１から動作生成部４４０２に出力する。予備動作情報とは、人が行動を変化させる前の予備的な動作であり、動作情報において検出される。具体的には、フレキシブル基板１００２の挿入作業において、フレキシブル基板１００２をコネクタ１００３に押し込む前に一度微小に引く動作を行うように、人が無意識のうちに行っている動作のことを表す。
【０２９１】
行動変化点検出部４４０１での予備動作情報の具体的な検出方法を図４５の教示データを用いて説明する。
【０２９２】
情報変化点検出部４４０１において情報変化点が検出される（図４５中の参照符号Ａ）。次に、行動変化点検出部４４０１において、位置情報の変位が第２の閾値（例えば、−０．０５ｍｍ）を上回る時点を行動変化点として検出する（図４５中の参照符号Ｂ）。次に、行動変化点検出部４４０１において、行動変化点から第３の閾値（例えば、２００ｍｓ）の間において、位置情報の変位が第２の閾値（例えば、０．０５ｍｍ）を上回り、かつ検出した行動変化点と同じ大きさの位置情報を検出する（図４５中の参照符号Ｃ）。このとき、行動変化点検出部４４０１において、位置情報の図４５中の参照符号Ｂから図４５中の参照符号Ｃの位置情報を予備動作情報とする。次に、行動変化点検出部４４０１において、図４５中の参照符号Ｃの時点以降に行動変化点を探索し、力情報から行動変化点を検出する（図４５中の参照符号Ｄ）。以上のように、行動変化点検出部４４０１では、予備動作情報（図４５中の参照符号ＢからＣまで）と、行動変化点（図４５中の参照符号Ｄ）とを検出し、動作生成部４４０２に出力する。第３の閾値は、予備動作検出用閾値であって、予備動作は人が行う無意識の動作であって短時間の間に起こることが確認できており、この短時間以内であることを検出するための時間の閾値である。
【０２９３】
動作生成部４４０２は、動作生成部３１０２に代えて制御装置１０３に備えられ、第３実施形態における動作生成部３１０２の機能に加え、行動変化点検出部４４０１から入力される予備動作情報を基に、動作情報を修正するか修正しないか人が入出力ＩＦ１１５を用いて選択するのを促す。よって、人が入出力ＩＦ１１５を用いて選択した選択情報を動作生成部４４０２に入力して、動作情報を修正するか、又は、動作情報を修正しないかを選択することができる。動作情報を修正する場合は、予備動作情報（図４５中の参照符号ＢからＣまで）の間の時間の動作情報を均一に同じ大きさに修正する。動作情報を修正しない場合は、教示データと同様の動作情報を作成する。選択の基準としては、教示動作と同様の動作を行う場合においては予備動作情報を修正せず、人が意図しない余計な動作を削除する場合においては予備動作情報を修正する。動作生成部４４０２は、生成した動作情報と、フィードバック則と、時間情報とを動作記憶部４４０２Ａに記憶する。
【０２９４】
図４６Ａ及び図４６Ｂは、予備動作情報を修正する場合の再生結果と、予備動作情報を修正しない場合の再生結果を示す。図４６Ａと図４６Ｂの参照符号Ａ、Ｂの箇所を比較すると、予備動作情報を修正の有無により、再生時の動作情報が異なっていることが確認できる。
【０２９５】
第６実施形態のロボットアーム１０２の制御装置１０３の操作手順を図４７のフローチャートを用いて説明する。
【０２９６】
ステップＳ２４０１では、動作情報取得部１０６において動作情報を取得し、環境情報取得部１０７において環境情報を取得し、既定反応時間情報取得部１０８において既定反応時間情報を取得し、ステップＳ２４０２に進む。
【０２９７】
次いで、ステップＳ２４０２では、モード切替部１１３において、モード情報（「教示モード」か「再生モード」か）が制御部１１４に出力される。「教示モード」の場合は、ステップＳ２４０３に進み、「再生モード」の場合は、ステップＳ２４０６に進む。
【０２９８】
ステップＳ２４０３では、情報変化点検出部１０９において、取得した教示データ（ステップＳ２４０１で取得した情報）から情報変化点を検出し、検出した情報変化点を行動変化点検出部４４０１に出力し、ステップＳ４７０１に進む。
【０２９９】
次いで、ステップＳ４７０１では、行動変化点検出部４４０１において、予備動作情報を検出し、動作生成部４４０２に出力し、ステップＳ４７０２に進む。
【０３００】
次いで、ステップＳ４７０２では、行動変化点検出部４４０１において、予備動作情報が検出された時点以降に行動変化点を探索する。行動変化点検出部４４０１において、検出された行動変化点をフィードバック則生成部１１１に出力し、ステップＳ２４０５に進む。
【０３０１】
次いで、ステップＳ２４０５では、フィードバック則生成部１１１において、行動変化点検出部４４０１から取得した行動変化点以降の情報を近似曲線で表し、フィードバック則を生成し、動作生成部４４０２に出力し、ステップＳ３４０１に進む。
【０３０２】
次いで、ステップＳ３４０１では、実反応時間情報検出部３１０１において、行動変化点の時点と情報変化点の時点との差を取り、実反応時間情報を検出する。実反応時間情報検出部３１０１において、検出した実反応時間情報を動作生成部４４０２に出力し、フローを終了する。
【０３０３】
ステップＳ４７０３では、動作生成部４４０２において、行動変化点検出部４４０１から予備動作情報を取得した場合、予備動作情報を修正するか又は修正しないかを、人が入出力ＩＦ１１５を用いて選択するのを促す。よって、人が入出力ＩＦ１１５を用いて選択した選択情報を動作生成部４４０２に入力して、予備動作情報を修正するか、又は、修正しないかを選択する。予備動作情報を修正する場合は、ステップＳ４７０４に進む。予備動作情報を修正しない場合は、ステップＳ２４０６に進む。
【０３０４】
ステップＳ４７０４では、動作生成部４４０２において、予備動作情報を修正し、ステップＳ２４０６に進む。
【０３０５】
ステップＳ２４０６では、情報変化点が検出されたと情報変化点検出部１０９で判定された場合は、ステップＳ３４０２に進む。情報変化点が検出されなかったと情報変化点検出部１０９で判定された場合は、ステップＳ２４０８に進む。
【０３０６】
ステップＳ３４０２では、動作生成部４４０２において、フィードバック則を適用させる場合に、実反応時間情報における動作を削除するか又は削除しないかを、人が入出力ＩＦ１１５を用いて選択するのを促す。よって、人が入出力ＩＦ１１５を用いて選択した選択情報を動作生成部４４０２に入力して、実反応時間情報における動作を削除するか、又は、削除しないかを選択する。実反応時間情報における動作を削除する場合はステップＳ３４０３に進み、実反応時間情報における動作を削除しない場合はステップＳ３４０４に進む。
【０３０７】
ステップＳ３４０３では、動作生成部４４０２において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除してフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０３０８】
ステップＳ３４０４では、動作生成部４４０２において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除せずにフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０３０９】
ステップＳ２４０８では、動作生成部４４０２で生成された動作情報に基づいて制御部１１４でロボットアーム１０２を制御し、フローを終了する。
【０３１０】
第６実施形態によれば、予備動作情報を行動変化点検出部４４０１で検出して修正することによって、人の意図しない教示データを修正することができる。よって、正確な動作情報を作成することができ、環境変動が大きい場合においても、正確な作業が可能となる。また、予備動作をそのまま再生すると急激に移動するので、対象物の破損などの原因となる。このような場合、人の選択動作に基づき動作生成部４４０２によって予備動作情報を削除することによって、対象物の破損などを防ぐことができる。
【０３１１】
（第７実施形態）
図４８は、本発明の第６実施形態のロボット１０１のブロック図を示す。本発明の第３実施形態のロボット１０１におけるロボットアーム１０２と、周辺装置１０５と、制御装置１０３のうちの動作情報取得部１０６と、環境情報取得部１０７と、既定反応時間取得部１０８と、行動変化点検出部２５０１と、フィードバック則生成部１１１と、動作生成部３１０２と、モード切替部１１３と、実反応時間情報検出部３１０１と、制御部１１４とは第３実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０３１２】
情報変化点検出部４８０１は、情報変化点検出部１０９に代えて制御装置１０３に備えられ、第３実施形態における情報変化点検出部１０９の機能に加え、同じ時点に複数の環境情報が情報変化点として検出された場合、力情報、音量情報、対象物位置情報の優先順位で１つの情報に情報変化点を絞る機能を持つ。つまり、力情報と、音量情報と、対象物位置情報とが情報変化点として情報変化点検出部４８０１で検出された場合は、力情報を情報変化点として情報変化点検出部４８０１で用いる。また、力情報と音量情報とが情報変化点として情報変化点検出部４８０１で検出された場合は、力情報を情報変化点として情報変化点検出部４８０１で用いる。音量情報と対象物位置情報とが情報変化点として情報変化点検出部４８０１で検出された場合は、音量情報を情報変化点として情報変化点検出部４８０１で用いる。これは、人の反応時間は力覚情報、聴覚情報、視覚情報の順で早いためである。
【０３１３】
図４９の（Ａ）〜（Ｄ）は教示データであり、図４９の（Ａ）が力情報、図４９の（Ｂ）が音量情報、図４９の（Ｃ）が対象物位置情報、図４９の（Ｄ）が位置情報を示す。
【０３１４】
図４９の（Ａ）〜（Ｃ）の参照符号Ａ、Ｂ、Ｃは第１の閾値を上回っている時点である。この場合、複数の環境情報が情報変化点の候補として挙げられるので、優先順位に従い力情報（図４９の（Ａ）中の参照符号Ａ）を情報変化点として情報変化点検出部４８０１で検出する。また、図４９の（Ｄ）中の参照符号Ｄが行動変化点として情報変化点検出部４８０１で検出される。
【０３１５】
第７実施形態のロボットアーム１０２の制御装置１０３の操作手順を図５０のフローチャートを用いて説明する。
【０３１６】
ステップＳ２４０１では、動作情報取得部１０６において動作情報を取得し、環境情報取得部１０７において環境情報を取得し、既定反応時間情報取得部１０８において既定反応時間情報を取得し、ステップＳ２４０２に進む。
【０３１７】
次いで、ステップＳ２４０２では、モード切替部１１３において、モード情報（「教示モード」か「再生モード」か）が制御部１１４に出力される。「教示モード」の場合は、ステップＳ５００１に進む。「再生モード」の場合は、ステップＳ２４０６に進む。
【０３１８】
ステップＳ５００１では、情報変化点検出部４８０１において、取得した教示データ（ステップＳ２４０１で取得した情報）から情報変化点を検出し、検出した情報変化点を行動変化点検出部２５０１に出力し、ステップＳ３００１に進む。また、情報変化点検出部４８０１において、同じ時点に複数の環境情報が情報変化点として検出された場合、力情報、音量情報、対象物位置情報の優先順位で１つの環境情報を情報変化点として検出する。
【０３１９】
次いで、ステップＳ３００１では、行動変化点検出部２５０１において、情報変化点検出部４８０１から取得した情報変化点の時点から既定反応時間が経過した時点以降に行動変化点を探索する。また、行動変化点検出部２５０１での探索の結果、行動変化点が検出されなかったと行動変化点検出部２５０１で判定した場合、情報変化点の時点から既定反応時間が経過した時点以前に検出された行動変化点を探索する。行動変化点検出部２５０１で検出された行動変化点を行動変化点検出部２５０１からフィードバック則生成部１１１に出力し、ステップＳ２４０５に進む。
【０３２０】
次いで、ステップＳ２４０５では、フィードバック則生成部１１１において、行動変化点検出部２５０１から取得した行動変化点以降の情報を近似曲線で表し、フィードバック則を生成し、動作生成部３１０２に出力し、ステップＳ３４０１に進む。
【０３２１】
次いで、ステップＳ３４０１では、実反応時間情報検出部３１０１において、行動変化点の時点と情報変化点の時点との差を取り、実反応時間情報を検出する。実反応時間情報検出部３１０１で検出した実反応時間情報を、実反応時間情報検出部３１０１から動作生成部３１０２に出力し、フローを終了する。
【０３２２】
ステップＳ２４０６では、情報変化点検出部４８０１において、情報変化点が検出されたと判定した場合は、ステップＳ３４０２に進む。情報変化点検出部４８０１において、情報変化点が検出されなかったと判定した場合は、ステップＳ２４０８に進む。
【０３２３】
ステップＳ３４０２では、動作生成部３１０２において、フィードバック則を適用させる場合に、実反応時間情報における動作を削除するか又は削除しないかを、人が入出力ＩＦ１１５を用いて選択するのを促す。よって、人が入出力ＩＦ１１５を用いて選択した選択情報を動作生成部３１０２に入力して、実反応時間情報における動作を削除するか、又は、削除しないかを選択する。実反応時間情報における動作を削除する場合はステップＳ３４０３に進み、実反応時間情報における動作を削除しない場合はステップＳ３４０４に進む。
【０３２４】
ステップＳ３４０３では、動作生成部３１０２において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除してフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０３２５】
ステップＳ３４０４では、動作生成部３１０２において、動作情報取得部１０６から取得した動作情報に対して、実反応時間情報における動作を削除せずにフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０３２６】
ステップＳ２４０８では、動作生成部３１０２で生成された動作情報に基づいて制御部１１４でロボットアーム１０２を制御し、フローを終了する。
【０３２７】
第７実施形態によれば、情報変化点として複数の環境情報がある場合においても、人が判断している環境情報を選択し、情報変化点として情報変化点検出部４８０１で検出することができる。よって、人の技能を正確に抽出することができ、ロボットによって正確な作業を行うことができる。
【０３２８】
（第８実施形態）
図５１Ａは、本発明の第８実施形態のロボット１０１のブロック図を示す。本発明の第２実施形態のロボット１０１におけるロボットアーム１０２と、周辺装置１０５と、制御装置１０３のうちの動作情報取得部１０６と、環境情報取得部１０７と、既定反応時間取得部１０８と、フィードバック則生成部１１１と、動作生成部１１２と、モード切替部１１３と、制御部１１４とは第３実施形態と同様であるので、共通の参照符号を付して共通部分の説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０３２９】
情報変化点検出部５１０１と、行動変化点検出部５１０２とは、第２実施形態における情報変化点検出部１０９と、行動変化点検出部２５０１と機能はそれぞれ同じであるが、変化点を検出する方法が異なる。第７実施形態までの実施形態では、動作情報又は環境情報の変位により変化点を検出している。
【０３３０】
それに対して、第８実施形態では、取得した動作情報又は環境情報と、平滑化フィルタを用いて平滑化した動作情報又は環境情報とを情報変化点検出部５１０１又は行動変化点検出部５１０２で比較し、差が大きい箇所を変化点として情報変化点検出部５１０１又は行動変化点検出部５１０２で検出する。平滑化フィルタとしては、例えばガウシアンフィルタを用いる。このように情報変化点検出部５１０１又は行動変化点検出部５１０２で変化点を求めることによって、ノイズを変化点として検出せず、正確に変化点を検出することができる。
【０３３１】
図５１Ｂは、情報変化点検出部５１０１の内部の詳細を示した図である。情報変化点検出部５１０１は、情報取得部５１０１Ａと、演算部５１０１Ｂと、比較部５１０１Ｃと、検出部５１０１Ｄとを備えて構成している。
【０３３２】
情報取得部５１０１Ａは、他の要素から情報変化点検出部５１０１に入力される情報を取得し、演算部５１０１Ｂ及び比較部５１０１Ｃに出力する。
【０３３３】
演算部５１０１Ｂは、情報取得部５１０１Ａから取得した動作情報又は環境情報を平滑化フィルタを用いて平滑化し、平滑化した動作情報又は環境情報を比較部５１０１Ｃに出力する。
【０３３４】
比較部５１０１Ｃは、情報取得部５１０１Ａから取得した動作情報又は環境情報と、演算部５１０１Ｂから取得した平滑化した動作情報又は環境情報とを比較する（差を求める）。比較部５１０１Ｃは、求めた比較情報を検出部５１０１Ｄに出力する。
【０３３５】
検出部５１０１Ｄは、比較部５１０１Ｃから入力された比較情報を基に、差が大きい箇所を情報変化点として検出する。つまり、比較情報が、検出用の閾値を超える箇所を情報変化点として検出する。
【０３３６】
図５１Ｃは、行動変化点検出部５１０２の内部の詳細を示した図であり、その内部の変化点の導出方法は上述した情報変化点５１０１の場合と同様である。すなわち、行動変化点検出部５１０２は、情報取得部５１０２Ａと、演算部５１０２Ｂと、比較部５１０２Ｃと、検出部５１０２Ｄとを備えて構成している。
【０３３７】
情報取得部５１０２Ａは、他の要素から行動変化点検出部５１０２に入力される情報を取得し、演算部５１０２Ｂ及び比較部５１０２Ｃに出力する。
【０３３８】
演算部５１０２Ｂは、情報取得部５１０２Ａから取得した動作情報又は環境情報を平滑化フィルタを用いて平滑化し、平滑化した動作情報又は環境情報を比較部５１０２Ｃに出力する。
【０３３９】
比較部５１０２Ｃは、情報取得部５１０２Ａから取得した動作情報又は環境情報と、演算部５１０２Ｂから取得した平滑化した動作情報又は環境情報とを比較する（差を求める）。比較部５１０２Ｃは、求めた比較情報を検出部５１０２Ｄに出力する。
【０３４０】
検出部５１０２Ｄは、比較部５１０２Ｃから入力された比較情報を基に、差が大きい箇所を行動変化点として検出する。つまり、比較情報が、検出用の閾値を超える箇所を行動変化点として検出する。
【０３４１】
図５２を用いて、力情報の変化点を導出する方法を説明する。図５２における実線は環境情報取得部で取得した力情報であり、破線はその力情報をガウシアンフィルタを用いて平滑化した力情報である。上述した２つの力情報を比較し、その差が第４の閾値（変化点検出用閾値）（例えば、１Ｎ）を上回った時点を変化点として検出する（図５２中の参照符号Ａの箇所）。
【０３４２】
第８実施形態のロボットアーム１０２の制御装置１０３の操作手順を図５３のフローチャートを用いて説明する。
【０３４３】
ステップＳ２４０１では、動作情報取得部１０６において動作情報を取得し、環境情報取得部１０７において環境情報を取得し、既定反応時間情報取得部１０８において既定反応時間情報を取得し、ステップＳ２４０２に進む。
【０３４４】
次いで、ステップＳ２４０２では、モード切替部１１３において、モード情報（「教示モード」か「再生モード」か）が制御部１１４に出力される。「教示モード」の場合は、ステップＳ５３０１に進む。「再生モード」の場合は、ステップＳ２４０６に進む。
【０３４５】
ステップＳ５３０１では、情報変化点検出部５１０１において、取得した教示データ（ステップＳ２４０１で取得した情報）から情報変化点を検出し、検出した情報変化点を行動変化点検出部５１０２に出力し、ステップＳ５３０２に進む。
【０３４６】
次いで、ステップＳ５３０２では、行動変化点検出部５１０２において、情報変化点検出部５１０１から取得した情報変化点の時点から既定反応時間が経過した時点以降に行動変化点を探索する。また、行動変化点検出部５１０２での探索の結果、行動変化点が検出されなかったと行動変化点検出部５１０２で判定した場合、情報変化点の時点から既定反応時間が経過した時点以前に検出された行動変化点を行動変化点検出部５１０２で探索する。行動変化点検出部５１０２で検出された行動変化点を、行動変化点検出部５１０２からフィードバック則生成部１１１に出力し、ステップＳ２４０５に進む。
【０３４７】
次いで、ステップＳ２４０５では、フィードバック則生成部１１１において、行動変化点検出部５１０２から取得した行動変化点以降の情報を近似曲線で表し、フィードバック則を生成し、動作生成部１１２に出力し、フローを終了する。
【０３４８】
ステップＳ２４０６では、情報変化点検出部５１０１において、情報変化点が検出されたと判定した場合は、ステップＳ２４０７に進む。情報変化点検出部５１０１において、情報変化点が検出されなかったと判定した場合は、ステップＳ２４０８に進む。
【０３４９】
ステップＳ２４０７では、動作生成部１１２において、動作情報取得部１０６から取得した動作情報にフィードバック則を適用させた動作情報を生成し、ステップＳ２４０８に進む。
【０３５０】
ステップＳ２４０８では、動作生成部１１２で生成された動作情報に基づいて制御部１１４でロボットアーム１０２を制御し、フローを終了する。
【０３５１】
第８実施形態によれば、情報変化点又は行動変化点を情報変化点検出部５１０１又は行動変化点検出部５１０２で検出する際に平滑化した情報を用いて求めることによって、ノイズの影響を軽減でき、正確に変化点を検出することができる。その結果、人の技能を正確に抽出することができ、ロボットにより正確に作業を行うことができる。
【０３５２】
なお、本発明を第１〜第８実施形態及び変形例に基づいて説明してきたが、本発明は、前記の第１〜第８実施形態及び変形例に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０３５３】
前記各制御装置の一部又は全部は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各部は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０３５４】
例えば、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、前記実施形態又は変形例における制御装置を構成する要素の一部又は全部を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、ロボットアームの動作を制御する前記ロボットアームの制御プログラムであって、
前記ロボットアームが動作する際の前記ロボットアームの位置と、姿勢と、速度との少なくとも１つ以上の動作情報を動作情報取得部で取得するステップと、
前記ロボットアームが動作する際に生じる周辺環境に関する力情報と、音量情報と、位置情報との少なくとも１つ以上の情報である環境情報を環境情報取得部で取得するステップと、
人が前記ロボットアームを操作する際に前記環境情報を受けてから前記人が前記ロボットアームの操作を行うまでの既定の時間情報である既定反応時間情報を既定反応時間情報取得部で取得するステップと、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を情報変化点として情報変化点検出部で検出するステップと、
前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報が変化する時点を、前記情報変化点から前記既定反応時間が経過した時点以降の時間を探索し、初めに検出された時点を行動変化点として行動変化点検出部で検出するステップと、
前記行動変化点以降の時間の前記動作情報取得部で取得した１つ以上の前記動作情報と前記環境情報取得部で取得した前記環境情報との少なくとも１つ以上の情報をフィードバック則としてフィードバック則生成部で生成するステップと、
１つ以上の前記動作情報と、前記情報変化点と、前記行動変化点と、前記フィードバック則とに基づいて、前記ロボットアームの動作を動作生成部で生成するステップと、
前記動作生成部に基づいて、前記ロボットアームの前記動作を制御部で制御するステップとをコンピュータに実行させるための、ロボットアームの制御プログラムである。
【０３５５】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスク、磁気ディスク、又は、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【０３５６】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０３５７】
なお、前記様々な実施形態又は変形例のうちの任意の実施形態又は変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０３５８】
本発明にかかるロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路は、刺激が発生した時点と反応時間が経過した後の行動の変化との関係から、フィードバック則を生成し、人の意図を正確に再現し、安全性の高い動作を生成することができ、産業用ロボット又は生産設備などにおける可動機構のロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路として有用である。また、本発明にかかるロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路は、産業用ロボットに限らず、家庭用ロボットのロボットアーム、ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路として適用される可能性もある。【０３５９】
本発明は、添付図面を参照しながら実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【図１Ａ】
0005583282.tif 000002
【図１Ｂ】
0005583282.tif 000003
【図１Ｃ】
0005583282.tif 000004
【図１Ｄ】
0005583282.tif 000005
【図２】
0005583282.tif 000006
【図３】
0005583282.tif 000007
【図４】
0005583282.tif 000008
【図５】
0005583282.tif 000009
【図６】
0005583282.tif 000010
【図７】
0005583282.tif 000011
【図８Ａ】
0005583282.tif 000012
【図８Ｂ】
0005583282.tif 000013
【図９Ａ】
0005583282.tif 000014
【図９Ｂ】
0005583282.tif 000015
【図１０Ａ】
0005583282.tif 000016
【図１０Ｂ】
0005583282.tif 000017
【図１０Ｃ】
0005583282.tif 000018
【図１０Ｄ】
0005583282.tif 000019
【図１０Ｅ】
0005583282.tif 000020
【図１０Ｆ】
0005583282.tif 000021
【図１０Ｇ】
0005583282.tif 000022
【図１０Ｈ】
0005583282.tif 000023
【図１０Ｉ】
0005583282.tif 000024
【図１０Ｊ】
0005583282.tif 000025
【図１１Ａ】
0005583282.tif 000026
【図１１Ｂ】
0005583282.tif 000027
【図１２Ａ】
0005583282.tif 000028
【図１２Ｂ】
0005583282.tif 000029
【図１２Ｃ】
0005583282.tif 000030
【図１２Ｄ】
0005583282.tif 000031
【図１２Ｅ】
0005583282.tif 000032
【図１２Ｆ】
0005583282.tif 000033
【図１２Ｇ】
0005583282.tif 000034
【図１２Ｈ】
0005583282.tif 000035
【図１２Ｉ】
0005583282.tif 000036
【図１２Ｊ】
0005583282.tif 000037
【図１３】
0005583282.tif 000038
【図１４】
0005583282.tif 000039
【図１５Ａ】
0005583282.tif 000040
【図１５Ｂ】
0005583282.tif 000041
【図１５Ｃ】
0005583282.tif 000042
【図１５Ｄ】
0005583282.tif 000043
【図１５Ｅ】
0005583282.tif 000044
【図１５Ｆ】
0005583282.tif 000045
【図１５Ｇ】
0005583282.tif 000046
【図１５Ｈ】
0005583282.tif 000047
【図１５Ｉ】
0005583282.tif 000048
【図１５Ｊ】
0005583282.tif 000049
【図１６】
0005583282.tif 000050
【図１７Ａ】
0005583282.tif 000051
【図１７Ｂ】
0005583282.tif 000052
【図１７Ｃ】
0005583282.tif 000053
【図１７Ｄ】
0005583282.tif 000054
【図１７Ｅ】
0005583282.tif 000055
【図１７Ｆ】
0005583282.tif 000056
【図１７Ｇ】
0005583282.tif 000057
【図１７Ｈ】
0005583282.tif 000058
【図１７Ｉ】
0005583282.tif 000059
【図１７Ｊ】
0005583282.tif 000060
【図１８】
0005583282.tif 000061
【図１９Ａ】
0005583282.tif 000062
【図１９Ｂ】
0005583282.tif 000063
【図１９Ｃ】
0005583282.tif 000064
【図１９Ｄ】
0005583282.tif 000065
【図２０Ａ】
0005583282.tif 000066
【図２０Ｂ】
0005583282.tif 000067
【図２０Ｃ】
0005583282.tif 000068
【図２０Ｄ】
0005583282.tif 000069
【図２０Ｅ】
0005583282.tif 000070
【図２０Ｆ】
0005583282.tif 000071
【図２０Ｇ】
0005583282.tif 000072
【図２０Ｈ】
0005583282.tif 000073
【図２０Ｉ】
0005583282.tif 000074
【図２０Ｊ】
0005583282.tif 000075
【図２１】
0005583282.tif 000076
【図２２Ａ】
0005583282.tif 000077
【図２２Ｂ】
0005583282.tif 000078
【図２２Ｃ】
0005583282.tif 000079
【図２２Ｄ】
0005583282.tif 000080
【図２２Ｅ】
0005583282.tif 000081
【図２２Ｆ】
0005583282.tif 000082
【図２２Ｇ】
0005583282.tif 000083
【図２２Ｈ】
0005583282.tif 000084
【図２２Ｉ】
0005583282.tif 000085
【図２２Ｊ】
0005583282.tif 000086
【図２３】
0005583282.tif 000087
【図２４】
0005583282.tif 000088
【図２５Ａ】
0005583282.tif 000089
【図２５Ｂ】
0005583282.tif 000090
【図２６】
0005583282.tif 000091
【図２７】
0005583282.tif 000092
【図２８】
0005583282.tif 000093
【図２９Ａ】
0005583282.tif 000094
【図２９Ｂ】
0005583282.tif 000095
【図２９Ｃ】
0005583282.tif 000096
【図３０】
0005583282.tif 000097
【図３１】
0005583282.tif 000098
【図３２】
0005583282.tif 000099
【図３３Ａ】
0005583282.tif 000100
【図３３Ｂ】
0005583282.tif 000101
【図３３Ｃ】
0005583282.tif 000102
【図３４】
0005583282.tif 000103
【図３５】
0005583282.tif 000104
【図３６Ａ】
0005583282.tif 000105
【図３６Ｂ】
0005583282.tif 000106
【図３６Ｃ】
0005583282.tif 000107
【図３６Ｄ】
0005583282.tif 000108
【図３７】
0005583282.tif 000109
【図３８】
0005583282.tif 000110
【図３９】
0005583282.tif 000111
【図４０】
0005583282.tif 000112
【図４１Ａ】
0005583282.tif 000113
【図４１Ｂ】
0005583282.tif 000114
【図４１Ｃ】
0005583282.tif 000115
【図４２】
0005583282.tif 000116
【図４３】
0005583282.tif 000117
【図４４】
0005583282.tif 000118
【図４５】
0005583282.tif 000119
【図４６Ａ】
0005583282.tif 000120
【図４６Ｂ】
0005583282.tif 000121
【図４７】
0005583282.tif 000122
【図４８】
0005583282.tif 000123
【図４９】
0005583282.tif 000124
【図５０】
0005583282.tif 000125
【図５１Ａ】
0005583282.tif 000126
【図５１Ｂ】
0005583282.tif 000127
【図５１Ｃ】
0005583282.tif 000128
【図５２】
0005583282.tif 000129
【図５３】
0005583282.tif 000130
【図５４Ａ】
0005583282.tif 000131
【図５４Ｂ】
0005583282.tif 000132
【図５４Ｃ】
0005583282.tif 000133
【図５４Ｄ】
0005583282.tif 000134
【図５４Ｅ】
0005583282.tif 000135
【図５４Ｆ】
0005583282.tif 000136
【図５４Ｇ】
0005583282.tif 000137
【図５４Ｈ】
0005583282.tif 000138
【図５５】
0005583282.tif 000139