(57)【要約】【課題】人とロボットの操作部との接触領域の特徴量に応じてロボットの制御パラメータ値を変える。これにより、早く動かしやすいロボットの制御と、ゆっくり（又は正確に）動かしやすいロボットの制御とを操作部の握り方の変更により切り替え可能にする。【解決手段】ロボットの操作部と人との接触領域の特徴量を取得する特徴量取得部と、ロボットの制御パラメータの値を、特徴量取得部が取得した特徴量に基づき決定する制御パラメータ決定部とを有し、制御パラメータ決定部は、特徴量に応じて、異なる移動範囲で操作感が良くなる制御パラメータの値を決定する。【選択図】図１Ａ
2012055985.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置。
【請求項２】
前記ロボットはロボットアームであり、
前記制御パラメータ決定部は、前記ロボットの位置、速度、加速度、力、機械インピーダンス制御パラメータ、及び、ロボットアームのリンクの結合力の少なくとも１つを決定付ける制御パラメータを決定する、
請求項１に記載のロボット制御パラメータ決定装置。
【請求項３】
前記特徴量は、前記操作部と前記人との接触の程度が高いほど高くなる量であって、
前記制御パラメータ決定部は、前記特徴量が閾値よりも高い場合に、前記ロボットが、所定の移動速度よりも早く移動しやすい前記制御パラメータの値を決定し、前記特徴量が前記閾値よりも低い場合に、前記ロボットが、所定の移動速度よりもゆっくり移動しやすい前記制御パラメータの値を設定する、
ことを特徴とする請求項１又は２に記載のロボット制御パラメータ決定装置。
【請求項４】
前記特徴量は、前記操作部と前記人との接触の程度が高いほど高くなる量であって、
前記制御パラメータ決定部は、前記特徴量が閾値よりも低い場合に、前記ロボットが、所定の移動速度よりも早く移動しやすい前記制御パラメータの値を決定し、前記特徴量が前記閾値よりも高い場合に、前記ロボットが、前記所定の移動速度よりもゆっくり移動しやすい前記制御パラメータの値を設定する
ことを特徴とする請求項１に記載のロボット制御パラメータ決定装置。
【請求項５】
前記特徴量取得部は、前記人が前記操作部を握る握り幅を取得し、前記特徴量は、前記特徴量取得部で取得した前記握り幅に基づき取得される
ことを特徴とする請求項１〜４のいずれか１つに記載のロボット制御パラメータ決定装置。
【請求項６】
前記特徴量取得部は前記人が前記操作部を握る指の本数を取得し、前記特徴量は、前記指本数取得部で取得した前記指の本数に基づき取得される
ことを特徴とする請求項１〜４のいずれか１つに記載のロボット制御パラメータ決定装置。
【請求項７】
前記特徴量取得部は、前記人が前記操作部を握る面積を取得し、前記特徴量は、前記握り面積取得部で取得した前記面積に基づき取得される
ことを特徴とする請求項１〜４のいずれか１つに記載のロボット制御パラメータ決定装置。
【請求項８】
請求項１〜７いずれか１つに記載のロボットの制御パラメータ決定装置と、
前記制御パラメータ決定装置で決定された前記制御パラメータに基づいて、前記ロボットの制御を行なう制御部とを備える、ロボットの制御装置。
【請求項９】
請求項８に記載のロボットの制御装置と、
前記ロボットの制御装置により制御される前記ロボットとを備える、ロボット装置。
【請求項１０】
マスターロボットの操作部に人から加えられた力に基づいて、前記マスターロボットに追随するように動作して作業を行わせるスレーブロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記スレーブロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置。
【請求項１１】
ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定方法であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を特徴量取得部で取得し、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき制御パラメータ決定部で決定し、
前記制御パラメータ決定部で前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定方法。
【請求項１２】
ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定プログラムであって、
コンピュータを、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得機能と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定機能とを実現させるとともに、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定プログラム。
【請求項１３】
ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定用集積電子回路であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部とを備え、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定用集積電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット（例えば、ロボットアーム、車輪型のロボットなど）の動作を生成又は教示するための制御パラメータを決定するロボット制御パラメータ決定装置及び方法、そのロボット制御パラメータ決定装置を有するロボットの制御装置、その制御装置を有するロボット装置、ロボット制御パラメータ決定プログラム、ロボット制御パラメータ決定用集積電子回路に関する。
【背景技術】
【０００２】
近年、介護ロボット又は家事支援ロボットなどの家庭用ロボットが盛んに開発されるようになってきている。家庭ロボットは産業用ロボットと異なり、家庭の素人が操作するため、簡単に動作を教示できる必要がある。さらに、ロボットが作業する際の動作環境も、家庭に応じてさまざまであるため、多種多様な家庭環境に柔軟に対応する必要がある。
【０００３】
また、少量多品種製品の生産をセル生産方式で行ってきた工場でも、人手の作業をロボット作業に置き換える取組みが行われている。また、生産を行う工場のみならず、リサイクル工場でも、人手による作業をロボット作業に置き換える取り組みが行われている。
【０００４】
家庭又は工場で動作するロボットに、現在、共通して求められることは、多種多様な動作を行うことである。そのため、ロボットに動作を簡単に教示する技術が求められている。
【０００５】
ロボットに簡単に動作を教示する方法の一例として、ロボットの手首などに力センサを装着し、力センサの先に装着された操作部を教示者が直接把持してロボットを教示点に誘導し、ロボットの位置の教示を行っている（特許文献１を参照）。セル生産で行うような高精度な作業をロボットに教示する際には、ロボットを高精度に移動する教示を行う必要がある。
【０００６】
更に、ロボットアームの表面に圧覚センサを装着し、圧覚センサの出力（すなわち表面に加わった力の大きさ）を基に、機械インピーダンス制御の弾性パラメータの値を変えることが行われている（特許文献２を参照）。この場合、ロボットアームが人と接触し、小さな接触力がある場合、できるだけ高精度を保ちつつ作業を行うことができる。逆に、大きな接触力がある場合、人がロボットから大きな力を受ける危険性が小さい状態で作業を行うことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭５９−１５７７１５号公報
【特許文献２】特許第３８６５１５８号書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
人がロボット等の移動装置の操作部に加えた力に基づいてロボットを動かす場合、加えた力に対して、ロボットをどのように動作させるかを決める必要がある。ロボットの制御パラメータ（移動装置を動作させる距離、速度、加速度、後述する機械インピーダンス設定値など）は、ロボットがどのように動作するかに影響を与えるパラメータである。制御パラメータをどのように設定するかによって、移動装置を動作させる際の動作しやすさに関する操作感が変わってくる。
【０００９】
しかし、早く動かしやすい操作感を得る制御パラメータの値と、ゆっくり（又は正確に、又は安全に）動かしやすい操作感
を得る制御パラメータの値とが異なり、両方の操作感の両立が困難な場合がある。言い換えれば、ロボットの動きが安全であれば正確でなくても良い場合がある。また、ロボットの動きが正確であれば安全でなくても良い場合がある。どちらの場合にも、すなわち、動きに安全が求められる場合にも、正確な動きが求められる場合にも、ロボットの動作としては低速になる。
【００１０】
例えば、若干の力を加えるだけでロボットが広範囲を移動できるように制御パラメータの値を設定した場合、又は、若干の力を加えるだけでロボットが急加速して移動できるように設定した場合、広い範囲を移動させる制御はしやすくなるが、細かい作業はしにくくなる。より具体的には、このような設定をした場合、細かい位置合わせの作業をしている途中で、若干力を入れすぎてしまうと、ロボットが大幅に動いてしまい、位置合わせのやり直しが必要となる。
【００１１】
逆に、例えば、若干の力を加えた際の移動量を微小にした場合、又は、若干の力を加えた際の加速を微小になるようにした場合、細かい作業はしやすくなるが、すばやく広い範囲を移動させるには時間がかかるようになり、作業がしにくくなる。
【００１２】
以上より、従来のように、操作者がロボットアームに加える力に基づく制御では、早く動かしやすい操作感と、ゆっくり（又は正確に）動かしやすい操作感とを容易に変更しながら作業することは困難である。そして、早く動かしやすい操作感と、ゆっくり（又は正確に）動かしやすい操作感とを容易に変更しながら作業できる制御装置及び、それを実現するための制御パラメータの値の決定装置が求められている。
【００１３】
特許文献１の方法では、ロボットアームが人と接触して小さな接触力がある場合、弾性パラメータを小さくして、高精度を保ちつつ作業を行うことができる。逆に、ロボットアームが人と接触して大きな接触力がある場合、弾性パラメータを大きくして、人がロボットから大きな力を受ける危険性を小さくして作業を行うことができる。
【００１４】
しかし、この方法で、高精度で作業を行う場合には、その高精度の作業を行う期間は、人は小さな接触力でロボットに接触し続ける必要がある。その際、高精度の作業を行う期間にロボットは移動するので、小さな接触力で圧覚センサに接触し続けるのは困難な場合がある。逆に、危険性を小さくする作業を行う場合には、その危険性を小さくする作業を行う期間、人は大きな接触力でロボットに接触し続けなければならない。その際にも、危険性を小さくする作業を行う期間にロボットは移動するので、大きな接触力で圧覚センサに接触しつづけるのは困難な場合がある。
【００１５】
従って、本発明の目的は、前記課題を解消することにあって、早く動かしやすいロボットの制御と、ゆっくり（又は正確に）動かしやすいロボットの制御とを容易にかつ確実に切り替え可能な、ロボットの動作を生成又は教示するための制御パラメータを決定するロボット制御パラメータ決定装置及び方法、ロボットの制御装置、ロボット装置、ロボット制御パラメータ決定プログラム、ロボット制御パラメータ決定用集積電子回路を提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明は以下のように構成する。
【００１７】
本発明の第１態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置を提供する。
【００１８】
本発明の第８態様によれば、前記ロボットの制御パラメータ決定装置と、
前記制御パラメータ決定装置で決定された前記制御パラメータに基づいて、前記ロボットの制御を行なう制御部とを備える、ロボットの制御装置を提供する。
【００１９】
本発明の第９態様によれば、前記ロボットの制御装置と、
前記ロボットの制御装置により制御される前記ロボットとを備える、ロボット装置を提供する。
【００２０】
本発明の第１０態様によれば、マスターロボットの操作部に人から加えられた力に基づいて、前記マスターロボットに追随するように動作して作業を行わせるスレーブロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記スレーブロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置を提供する。
【００２１】
本発明の第１１態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定方法であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を特徴量取得部で取得し、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき制御パラメータ決定部で決定し、
前記制御パラメータ決定部で前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定方法を提供する。
【００２２】
本発明の第１２態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定プログラムであって、
コンピュータを、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得機能と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定機能とを実現させるとともに、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定プログラムを提供する。
【００２３】
本発明の第１３態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定用集積電子回路であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部とを備え、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定用集積電子回路を提供する。
【発明の効果】
【００２４】
本発明のロボットの制御装置及びロボット装置によれば、操作部と人との接触領域を、人が調整しながら作業することで、早く動かしやすい操作感と、ゆっくり（又は正確に、又は安全に）動かしやすい範囲で動作しやすい操作感とを容易に変更しながら作業をすることができる。また、本発明のロボットの制御パラメータ決定装置及び方法、ロボット制御パラメータ決定プログラム、ロボット制御パラメータ決定用集積電子回路を用いれば、前記作業をするための制御パラメータを生成することができる。
【図面の簡単な説明】
【００２５】
【図１Ａ】本発明の第１実施形態におけるロボットシステム（ロボット装置）の図
【図１Ｂ】本発明の第１実施形態におけるロボットシステムの詳細な図
【図２Ａ】本発明の第１実施形態における特徴量取得部が取得する握り幅を示す図
【図２Ｂ】本発明の第１実施形態における特徴量取得部が取得する握り幅を示す図
【図２Ｃ】本発明の第１実施形態における特徴量取得部が取得する握り幅を示す図
【図３Ａ】本発明の第１実施形態における特徴量取得部の断面図
【図３Ｂ】本発明の第１実施形態における特徴量取得部の断面図
【図４】本発明の第１実施形態におけるロボットシステムの処理の流れを示す図
【図５】本発明の第１実施形態におけるロボット制御パラメータ決定装置のハードウェア構成を示す図
【図６】本発明の第１実施形態のロボットを用いて物体を移動する際の作業空間を示す図
【図７Ａ】本発明の第１実施形態における特徴量取得部に加わる力を示す図
【図７Ｂ】本発明の第１実施形態における特徴量取得部に加わる力を示す図
【図７Ｃ】本発明の第１実施形態における特徴量取得部に加わる力を示す図
【図８】本発明の第１実施形態の第３変形例の構成を示す図
【図９】本発明の第１実施形態の第３変形例の処理の流れを示す図
【図１０】本発明の第１実施形態の第４変形例におけるロボットシステム（ロボット装置）の図
【図１１】本発明の第１実施形態の第３変形例の処理の流れを示す図
【図１２】本発明の第２実施形態におけるロボット制御パラメータ決定装置の構成を示す図
【図１３Ａ】本発明の第２実施形態における操作部と、接触センサの位置関係を示す図
【図１３Ｂ】本発明の第２実施形態における操作部と、接触センサの位置関係を示す図
【図１３Ｃ】本発明の第２実施形態における操作部と、接触センサの位置関係を示す図
【図１４Ａ】本発明の第２実施形態における接触センサが接触を判定した範囲を示す図。
【図１４Ｂ】本発明の第２実施形態における接触センサが接触を判定した範囲を示す図。
【図１４Ｃ】本発明の第２実施形態における接触センサが接触を判定した範囲を示す図。
【図１５】本発明の第２実施形態における特徴量取得部が行う処理の流れを示す図
【図１６Ａ】本発明の第２実施形態における特徴量取得部がカウントする点の数を示す図
【図１６Ｂ】本発明の第２実施形態における特徴量取得部がカウントする点の数を示す図
【図１６Ｃ】本発明の第２実施形態における特徴量取得部がカウントする点の数を示す図
【図１７】本発明の第２実施形態におけるロボット制御パラメータ決定装置の構成を示す図
【図１８Ａ】本発明の第２実施形態における特徴量取得部がカウントする操作部と人とが接触する領域と接触しない領域とが切り替わる点の数を示す図
【図１８Ｂ】本発明の第２実施形態における特徴量取得部がカウントする操作部と人とが接触する領域と接触しない領域とが切り替わる点の数を示す図
【図１８Ｃ】本発明の第２実施形態における特徴量取得部がカウントする操作部と人とが接触する領域と接触しない領域とが切り替わる点の数を示す図
【図１９】本発明の第３実施形態における特徴量取得部が行う処理の流れを示す図
【図２０】本発明の第４実施形態におけるロボットシステム（ロボット装置）の図
【図２１】本発明の第５実施形態におけるロボットシステム（ロボット装置）の図
【図２２】本発明の第６実施形態におけるロボットシステム（ロボット装置）の図
【図２３】本発明の第７実施形態のロボットシステム（ロボット装置）のブロック図
【図２４Ａ】本発明の第７実施形態における関節のリンク構造を示す図
【図２４Ｂ】本発明の第７実施形態における関節のリンク構造を示す図
【図２５】本発明の第８実施形態のロボットシステム（ロボット装置）のブロック図
【図２６】本発明の第８実施形態の目標位置取得部のブロック図
【図２７】本発明の第８実施形態の目標位置と、目標位置算出に関係する位置の関係を示す図
【図２８】本発明の第８実施形態の目標位置取得部の処理の流れを示す図
【図２９Ａ】本発明の第９実施形態の操作部と、接触センサとの上から見た図
【図２９Ｂ】本発明の第９実施形態の操作部と、接触センサとの上から見た図
【図２９Ｃ】本発明の第９実施形態の操作部と、接触センサとの上から見た図
【図２９Ｄ】本発明の第９実施形態の操作部と、接触センサとの上から見た図
【図２９Ｅ】本発明の第９実施形態の操作部と、接触センサとの上から見た図
【図２９Ｆ】本発明の第９実施形態の操作部と、接触センサとの上から見た図
【図３０】本発明の第９実施形態におけるロボットシステム（ロボット装置）の図
【図３１Ａ】本発明の第９実施形態のロボット制御パラメータ決定装置の構成を示すブロック図
【図３１Ｂ】本発明の第９実施形態の特徴量取得部の処理の流れを示す図
【図３２Ａ】本発明の第９実施形態における接触判定部が行う判定結果を示す図
【図３２Ｂ】本発明の第９実施形態における接触判定部が行う判定結果を示す図
【図３２Ｃ】本発明の第９実施形態における接触判定部が行う判定結果を示す図
【図３３Ａ】本発明の第９実施形態の境界記憶部が保持する境界の値を示す図
【図３３Ｂ】本発明の第９実施形態の境界記憶部が保持する境界の値を示す図
【図３４】本発明の第９実施形態の方向情報記憶部が保持する方向情報を示す図
【図３５】本発明の第９実施形態の特徴量の値と、力受信部が受信した力掛ける数値との関係を示す図
【発明を実施するための形態】
【００２６】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００２７】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００２８】
本発明の第１態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置を提供する。
【００２９】
本発明の第２態様によれば、前記ロボットはロボットアームであり、
前記制御パラメータ決定部は、前記ロボットの位置、速度、加速度、力、機械インピーダンス制御パラメータ、及び、ロボットアームのリンクの結合力の少なくとも１つを決定付ける制御パラメータを決定する、
第１の態様に記載のロボット制御パラメータ決定装置を提供する。
【００３０】
本発明の第３態様によれば、記特徴量は、前記操作部と前記人との接触の程度が高いほど高くなる量であって、
前記制御パラメータ決定部は、前記特徴量が閾値よりも高い場合に、前記ロボットが、所定の移動速度よりも早く移動しやすい前記制御パラメータの値を決定し、前記特徴量が前記閾値よりも低い場合に、前記ロボットが、所定の移動速度よりもゆっくり移動しやすい前記制御パラメータの値を設定する、
ことを特徴とする第１又は２の態様に記載のロボット制御パラメータ決定装置を提供する。
【００３１】
本発明の第４態様によれば、前記特徴量は、前記操作部と前記人との接触の程度が高いほど高くなる量であって、
前記制御パラメータ決定部は、前記特徴量が閾値よりも低い場合に、前記ロボットが、所定の移動速度よりも早く移動しやすい前記制御パラメータの値を決定し、前記特徴量が前記閾値よりも高い場合に、前記ロボットが、前記所定の移動速度よりもゆっくり移動しやすい前記制御パラメータの値を設定する
ことを特徴とする第１の態様に記載のロボット制御パラメータ決定装置を提供する。
【００３２】
本発明の第５態様によれば、前記特徴量取得部は、前記人が前記操作部を握る握り幅を取得し、前記特徴量は、前記特徴量取得部で取得した前記握り幅に基づき取得されることを特徴とする第１〜４のいずれか１つの態様に記載のロボット制御パラメータ決定装置を提供する。
【００３３】
本発明の第６態様によれば、前記特徴量取得部は前記人が前記操作部を握る指の本数を取得し、前記特徴量は、前記指本数取得部で取得した前記指の本数に基づき取得されることを特徴とする第１〜４のいずれか１つの態様に記載のロボット制御パラメータ決定装置を提供する。
【００３４】
本発明の第７態様によれば、前記特徴量取得部は、前記人が前記操作部を握る面積を取得し、前記特徴量は、前記握り面積取得部で取得した前記面積に基づき取得されることを特徴とする第１〜４のいずれか１つの態様に記載のロボット制御パラメータ決定装置を提供する。
【００３５】
本発明の第８態様によれば、第１〜７いずれか１つの態様に記載のロボットの制御パラメータ決定装置と、
前記制御パラメータ決定装置で決定された前記制御パラメータに基づいて、前記ロボットの制御を行なう制御部とを備える、ロボットの制御装置を提供する。
【００３６】
本発明の第９態様によれば、第８の態様に記載のロボットの制御装置と、
前記ロボットの制御装置により制御される前記ロボットとを備える、ロボット装置を提供する。
【００３７】
本発明の第１０態様によれば、マスターロボットの操作部に人から加えられた力に基づいて、前記マスターロボットに追随するように動作して作業を行わせるスレーブロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記スレーブロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置を提供する。
【００３８】
本発明の第１１態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定方法であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を特徴量取得部で取得し、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき制御パラメータ決定部で決定し、
前記制御パラメータ決定部で前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定方法を提供する。
【００３９】
本発明の第１２態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定プログラムであって、
コンピュータを、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得機能と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定機能とを実現させるとともに、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定プログラムを提供する。
【００４０】
本発明の第１３態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定用集積電子回路であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部とを備え、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも１つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定用集積電子回路を提供する。
【００４１】
以下本発明の実施の形態について、図面を参照しながら説明する。
（第１実施形態）
図１Ａは、本発明の第１実施形態におけるロボットシステム（ロボット装置）１０００を示すブロック図である。図１Ａにおいて、ロボットシステム（ロボット装置）１０００は、人１０４０が加えた力に基づいて動作するロボット１０１０と、ロボット１０１０に、ロボット１０１０の初期位置では大略鉛直方向沿いに長手方向が位置するように取り付けられた円柱状の操作部１０２０と、ロボット１０１０を制御する制御パラメータの値を決定するロボット制御パラメータ決定装置１０３０とを備える。操作部１０２０のロボット側には力検出部１０５０が取り付けられており、力検出部１０５０は、人１０４０が操作部１０２０に加えた力を検出する。ロボット１０１０は、ロボット本体（ロボットアーム１０１０Ａ）と、ロボット本体を動作制御する制御部１０９０とで構成されている。なお、ロボット制御パラメータ決定装置１０３０と、ロボット１０１０の制御部１０９０とで、ロボットの制御装置９００を構成している。以下の実施形態又は変形例でも、ロボット制御パラメータ決定装置と、ロボットの制御部とで、ロボットの制御装置を構成しているが、図示は省略している。
【００４２】
力検出部１０５０は、操作部１０２０とロボット１０１０との間に配置されて、操作部１０２０に加えられた力を計測するセンサ（力センサ）である。力センサでは、力によって物体に発生した変形量を何らかの形で計測し、その変形量に基づきセンサにかかった力に換算する。たとえば、ばね、真ちゅう、アルミニウム板、又は、棒などの物体が力によって伸び縮みした際の長さの変化が変化量である。特に、３以上の方向に対して物体の伸び縮みを測定する力センサを用いることで、３次元空間内で力が加わった方向と大きさとを取得することが出来る。例えば、３つの方向をそれぞれ、Ｘ方向、Ｙ方向、Ｚ方向とし、それぞれの方向の力がＦＸ、ＦＹ、ＦＺである場合、力のベクトルは（ＦＸ，ＦＹ，ＦＺ）となる。そのときの、力の大きさは、
【００４３】
【数１】
2012055985.tif 000003
となる。また、力の向きは、
【００４４】
【数２】
2012055985.tif 000004
となる。
【００４５】
この第１実施形態における力検出部１０５０では、３次元空間内での力の方向と大きさとを取得できる力センサを用いる。
【００４６】
ロボット１０１０のロボット本体としては、第１実施形態では、一例として、先端にハンド１０１０Ａｈを有するロボットアーム１０１０Ａで説明する。
【００４７】
ロボットアーム１０１０Ａは、関節と複数のリンク（腕）とが組み合わさった構造を有するマニュピュレータである。マニュピュレータは、工場内での組立て作業、又は、溶接作業などに用いられてる最も一般的なロボットの形態の一つである。
【００４８】
より詳しくは、一例として、図１Ｂに示すように、ロボットアーム１０１０Ａは、多関節のロボットアームであり、具体的には６自由度の多リンクのマニピュレータである。その多リンクのマニピュレータは、ハンド１０１０Ａｈと、ハンド１０１０Ａｈが取り付けられている手首部１５２を先端１５３ａに有する前腕リンク１５３と、前腕リンク１５３の基端１５３ｂに回転可能に先端１５４ａが連結される上腕リンク１５４と、上腕リンク１５４の基端１５４ｂが回転可能に連結支持される台部１５５とを備えている。台部１５５は、一定位置に固定されているが、図示しないレールに移動可能に連結されていても良い。手首部１５２は、第４関節部１５９と、第５関節部１６０と、第６関節部１６１との３つの互いに直交する回転軸を有しており、前腕リンク１５３に対するハンド１０１０Ａｈの相対的な姿勢（向き）を変化させることができる。すなわち、図１Ｂにおいて、第４関節部１５９は、手首部１５２に対するハンド１０１０Ａｈの横軸周りの相対的な姿勢を変化させることができる。第５関節部１６０は、手首部１５２に対するハンド１０１０Ａｈの、第４関節部１５９の横軸とは直交する縦軸周りの相対的な姿勢を変化させることができる。第６関節部１６１は、手首部１５２に対するハンド１０１０Ａｈの、第４関節部１５９の横軸及び第５関節部１６０の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク１５３の基端１５３ｂは、上腕リンク１５４の先端１５４ａに対して第３関節部１５８周りに、すなわち、第４関節部１５９の横軸と平行な横軸周りに回転可能とする。上腕リンク１５４の基端１５４ｂは、台部１５５に対して第２関節部１５７周りに、すなわち、第４関節部１５９の横軸と平行な横軸周りに回転可能とする。さらに、台部１５５の上側可動部１５５ａは、台部１５５の下側固定部１５５ｂに対して第１関節部１５６周りに、すなわち、第５関節部１６０の縦軸と平行な縦軸周りに回転可能としている。
【００４９】
この結果、マニピュレータは、合計６個の軸周りに回転可能として前記６自由度の多リンクマニピュレータを構成している。
【００５０】
すなわち、第１関節部１５５、第４関節１５９、第６関節１６１は回転関節であり、第２関節１５７、第３関節１５８、第５関節は旋回関節である一般の６自由度の多リンクマニュピュレータを構成している。
【００５１】
各軸の回転部分を構成する各関節部には、関節部駆動用のモータ１６４のような回転駆動部と、モータ１６４の回転軸の回転位相角（すなわち関節角）を検出して位置情報を出力するエンコーダ１６５（実際には、マニピュレータの各関節部の内部に配設されている）とを備えている。モータ１６４（実際には、マニピュレータの各関節部の内部に配設されている）は、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられる、モータドライバ１０８により駆動制御される。各関節部の一方の部材に備えられたモータ１６４の回転軸が、各関節部の他方の部材に連結されて、前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【００５２】
また、モータドライバ１０８により駆動制御されるハンド駆動装置の一例としてハンド駆動用のモータ１６４と、ハンド駆動用のモータ１６４の回転軸の回転位相角を検出するエンコーダ１６５とを、さらに、ハンド１０１０Ａｈに備えている。エンコーダ１６５で検出された回転角度情報が、入出力ＩＦ１０７（例えばカウンタボード）を通じて制御部１０９０に取り込まれ、制御部１０９０に取り込まれた回転角度情報を基に、制御部１０９０によってハンド１０１０Ａｈの開閉動作での制御指令値（制御信号）が算出される。制御部１０９０で算出された制御指令値は、入出力ＩＦ１０７（例えばＤ／Ａボード）を通じて、ハンド１０１０Ａｈの開閉駆動も行うモータドライバ１０８に与えられ、モータドライバ１０８から送られた各制御指令値に従って、モータ１６４の回転を駆動制御して、ハンド駆動用のモータ１６４の回転軸を正逆回転させることにより、ハンド１０１０Ａｈを開閉させて、対象物（例えば、フレキシブル基板）２５２０の把持及び把持解除などの所望の動作を行なう。なお、入出力ＩＦ１０７とモータドライバ１０８とで周辺装置１０６を構成している。この周辺装置１０６は、制御部１０９０とマニピュレータの駆動部との間に配置されているが、図１Ａなどでは、簡略化するため、この周辺装置１０６を省略して制御部１０９０のみを図示している。
【００５３】
また、１６２は台部１５５の下側固定部１５５ｂに対して相対的な位置関係が固定された絶対座標系であり、１６３はハンド１０１０Ａｈに対して相対的な位置関係が固定された手先座標系である。絶対座標系１６２から見た手先座標系１６３の原点位置Ｏｅ（ｘ，ｙ，ｚ）をマニピュレータの手先位置、絶対座標系１６２から見た手先座標系１６３の姿勢をロール角とピッチ角とヨー角で表現した（φ，θ，ψ）をマニピュレータの手先姿勢とし、手先位置及び姿勢ベクトルをベクトルｒ＝［ｘ，ｙ，ｚ，φ，θ，ψ］Ｔと定義する。よって、一例として、絶対座標系１６２のｚ軸に対して第１関節部１５６の縦軸が平行であり、ｘ軸に対して第２関節部１５７の横軸が平行に位置可能とするのが好ましい。また、手先座標系１６３のｘ軸に対して第６関節部１６１の横軸が平行に位置可能であり、ｙ軸に対して第４関節部１５９の横軸が平行に位置可能であり、ｚ軸に対して第５関節部１６０の縦軸が平行に位置可能とするのが好ましい。なお、手先座標系１６３のｘ軸に対しての回転角をヨー角ψとし、ｙ軸に対しての回転角をピッチ角θとし、ｚ軸に対しての回転角をロール角φとする。マニピュレータの手先位置と姿勢を制御する場合には、手先位置及び姿勢ベクトルｒを、ＷＯ  ２００９／１０７３５８号の国際出願公開公報などに開示された目標軌道生成部で生成された手先位置及び姿勢目標ベクトルｒｄに追従させることにより、駆動制御を行うことができる。
【００５４】
操作部１０２０は、ロボットアーム１０１０Ａの先端部のハンド１０１０Ａｈが取り付けられた手首部に、ロボット１０１０の初期位置では大略鉛直方向沿いに長手方向が位置するように取り付けられている。操作部１０２０は、手で握れる程度の直径を有する円柱体で構成されており、その側面の長手方向沿いに、操作部１０２０との接触領域を検出可能な後述するセンシング領域（検出領域）１０６０Ｓが配置されている。
【００５５】
ロボット制御パラメータ決定装置１０３０は、人（人の手）１０４０が操作部１０２０との接触領域によって、ロボット１０１０を制御する制御パラメータの値を決定する。ロボット制御パラメータ決定装置１０３０は、特徴量取得部１０６０と、制御パラメータ決定部１０８０とを有する。
【００５６】
特徴量取得部１０６０は、操作部１０２０及び人１０４０とが接触する接触領域の特徴量を取得する手段である。
【００５７】
ここで、特徴量の例としての接触領域と非接触領域との境界情報の特徴量とは、例えば、（ｉ）人１０４０が操作部１０２０を握る握り幅の長さ（寸法）、（ｉｉ）握る際の指の本数、（ｉｉｉ）握っている領域の面積、（ｉｖ）領域の外周の長さ、又は、（ｖ）領域の外接円の半径、内接円の半径である。また、特徴量とは、（ｖｉ）両手で操作部１０２０を握る場合における、２つの手の間の距離である。
【００５８】
具体的には、例えば、特徴量取得部１０６０は、操作部１０２０及び人１０４０とが接触する接触領域と、操作部１０２０及び人１０４０とが接触しない非接触領域との境界における境界情報、例えば、複数の点同士の位置関係の情報である境界情報に基づき、接触領域と非接触領域との境界情報の特徴量を取得している。
【００５９】
特徴量取得部１０６０は、センサデバイスの検出部で構成されたセンシング領域（検出領域）１０６０Ｓを有し、センシング領域（検出領域）１０６０Ｓにおいて、操作部１０２０と人１０４０とが接触する領域と接触しない領域との境界情報（一例として接触領域と非接触領域との境界における複数の点の位置）を、センサデバイスを用いて取得し、取得した境界情報（例えば、複数の点の位置）からこれらの特徴量を算出する。又は、センサデバイスを用いて境界情報（例えば、位置）同士の関係（例えば、握り幅の長さ）の特徴量を直接取得する。なお、図１Ａでは、理解しやすくするため、特徴量取得部１０６０を操作部１０２０とは別の位置に記載しているが、特徴量取得部１０６０は、操作部１０２０に取り付けられている。
【００６０】
第１実施形態では、特に、人１０４０が操作部１０２０を握るときの握り幅の長さを特徴量取得部１０６０で取得し、特徴量取得部１０６０で取得した握り幅の長さそのものを特徴量とする場合を説明する。
【００６１】
図２Ａ〜図２Ｃは、第１実施形態における特徴量取得部１０６０が取得する握り幅１２１０を示す図である。図２Ａは、人１０４０が円柱状の操作部１０２０を親指と他の４本の指で握って特徴量取得部１０６０のセンシング領域１０６０Ｓに親指と他の４本の指が接触している場合を示す。図２Ｂは、操作部１０２０を親指と他の１本の指で握って特徴量取得部１０６０のセンシング領域１０６０Ｓに親指と他の１本の指が接触している場合を示す。図２Ｃは、まだ操作部１０２０を握る途中の段階で、人差し指の先端だけが操作部１０２０の特徴量取得部１０６０のセンシング領域１０６０Ｓに接触している場合を示す。特徴量取得部１０６０は、操作部１０２０に取り付けられた特徴量取得部１０６０のセンシング領域１０６０Ｓに指が接触している幅を用いて握り幅１２１０を取得する。センシング領域１０６０Ｓに１本の指が接触している場合には、その指の幅寸法を握り幅１２１０として取得する。センシング領域１０６０Ｓに複数本の指が接触している場合には、複数本の指のうち、最も下端の指の下端位置から最も上端の指の上端位置までの幅寸法を握り幅１２１０として取得する。具体的には、例えば図２Ａ、図２Ｂ、図２Ｃの場合、握り幅１２１０は、それぞれ、センシング領域１０６０Ｓに接触している人差し指の下端から小指の上端までの寸法、センシング領域１０６０Ｓに接触している人差し指の幅寸法、人差し指の先端でかつセンシング領域１０６０Ｓに接触している部分の幅寸法を、特徴量取得部１０６０で、握り幅１２１０の値として取得する。より具体的には、図２Ａ、図２Ｂ、図２Ｃの場合、特徴量取得部１０６０は、握り幅１２１０の値である「７０」、「７」、「３」をそれぞれ取得し、取得した値そのものをそれぞれ特徴量とする。なお、これらの値は、ミリメートル単位の長さを示す。
【００６２】
制御パラメータ決定部１０８０は、特徴量取得部１０６０が取得した特徴量に基づき、ロボット１０１０の動きを制御する制御パラメータを決定する手段である。制御パラメータの値によって、早く動かしやすい操作感になるか、又は、ゆっくり（又は正確に、又は安全に）動かしやすい操作感になるかが変わる。制御パラメータ決定部１０８０は、特徴量取得部１０６０が取得した特徴量の値の大小に応じて、制御パラメータの値を決定する。
【００６３】
すなわち、制御パラメータ決定部１０８０は、特徴量取得部１０６０は特徴量の値の大小に応じて、どのような操作感にするかを決定する。
【００６４】
ロボット１０１０の制御パラメータは、例えば、ロボット１０１０のロボット本体がロボットアーム１０１０Ａである場合、そのハンド１０１０Ａｈの位置、移動速度、加速度、又は、それらの値の上限を制限する上限値であり、インピーダンス制御における機械インピーダンスの値である。また、例えば、ロボット１０１０のモータが複数のギアを有する場合において、ギアの選択を決定する値である。
【００６５】
第１実施形態では、ロボットアーム１０１０Ａのハンド１０１０Ａｈの移動速度の上限値を制御パラメータとする場合を説明する。この移動速度の上限値は予め決められた所定値（閾値）として機能し、その上限値が高ければロボット１０１０を広い範囲で移動させやすくなるが、その上限値が低くければロボット１０１０を狭い範囲で移動させやすくなる。すなわち、移動速度の上限値の値によって、ロボット１０１０の操作感が変わる。
【００６６】
制御パラメータ決定部１０８０は、一例として、特徴量の値に第一の所定の値を掛けた値を、ロボット１０１０の移動速度の上限値、すなわち、前記予め決められた所定値（閾値）とする。例えば、第一の所定の値を「２」とし、毎秒の移動速度の上限値をミリメートルで表す式を「（上限値）＝２×（特徴量）」とする。ここで「×」は掛け算を示す演算子である。このとき、図２Ａ、図２Ｂ、図２Ｃでの移動速度の上限値は、それぞれ、「２×７０」、「２×７」、「２×３」となる。すなわち、移動速度の上限値は、それぞれ、「１４０」、「１４」、「６」となる。
【００６７】
ロボット１０１０の制御部１０９０は、人１０４０が操作部１０２０に加えた力、及び、制御パラメータ決定部１０８０が決定した制御パラメータによって、モータ１６４を駆動制御して、ロボット１０１０、具体的には、ロボットアーム１０１０Ａ及びハンド１０１０Ａｈの移動を制御する。第１実施形態では、人１０４０が操作部１０２０に加えた力の方向に、ロボットアーム１０１０Ａのハンド１０１０Ａｈを移動させる。移動させる速度は、人１０４０が加えた力の大きさと、制御パラメータ決定部１０８０が決定した上限値とに基づき、決定する。
【００６８】
具体的には、まず、制御パラメータ決定部１０８０は、力検出部１０５０が取得したニュートン単位の力の大きさに第二の所定の値を掛けた値を、仮の移動速度とする。すなわち、「（仮の移動速度）＝（第二の所定の値）×（力の大きさ）」となる。
【００６９】
次に、仮の移動速度と移動速度の上限値とを制御パラメータ決定部１０８０で比較し、もし、仮の移動速度が上限値を超えていると制御パラメータ決定部１０８０で判断した場合には、制御パラメータ決定部１０８０で上限値を移動速度にする。仮の移動速度が上限値を超えていないと制御パラメータ決定部１０８０で判断すれば、制御パラメータ決定部１０８０で仮の移動速度を移動速度とする。例えば、第二の所定の値を５０とし、力検出部１０５０が検出した力の大きさが１ニュートンであった場合、仮の移動速度は「５０×１」により「５０」となる。握り幅１１００が図２Ａの幅「７０」であった場合、仮の移動速度である「５０」は上限値「１４０」を超えていないので、仮の移動速度「５０」を移動速度とする。握り幅１１００が図２Ｂの幅「７」であった場合、仮の移動速度である「５０」は上限値「１４」を超えているので、上限値「１４」を移動速度とする。
【００７０】
次に、特徴量取得部１０６０が握り幅を取得する詳細を説明する。図３Ａ及び図３Ｂは、操作部１０２０、及び、操作部１０２０に取り付けられた特徴量取得部１０６０の断面図である。図３Ａは、操作部１０２０を人１０４０が握っておらず、特徴量取得部１０６０のセンシング領域１０６０Ｓに人１０４０が接触していない状態、図３Ｂは、操作部１０２０を人１０４０が握って特徴量取得部１０６０のセンシング領域１０６０Ｓに人１０４０が接触している状態を示す。１４５０は、人１０４０の指を示す。すなわち、図３Ｂは人１０４０によって握られている操作部１０２０の断面図であり、この断面には、特徴量取得部１０６０を含む。
【００７１】
特徴量取得部１０６０は、図示しないスイッチと、導線１４１０と、導線１４１０に接続された電源１４２０と、導線１４１０に接続された電流計１４３０と、操作部１０２０の一端（例えば図２Ａの上端）と他端（例えば図２Ａの下端）にそれぞれ配置されて導線１４１０同士の短絡を防止する絶縁体１４４０とを有する。特徴量取得部１０６０で特徴量を取得するときに人が前記スイッチをオンにする。導線１４４０は、センシング領域１０６０Ｓの長さをＬとし、単位長さ当たりの抵抗をＡとすると、図２Ａの場合の導線１４４０の抵抗は、２×Ｌ×Ａである。なお、ここでは説明を簡単にするため、導線１４４０の横方向の長さについては無視するものとする。電源１４２０の電圧をＶとした場合、オームの法則「（電流）＝（電圧）／（抵抗）」より、電流計１４３０に流れる電流は「Ｖ／（２×Ｌ×Ａ）」となる。一方、図２Ｂの場合、指１４５０の下側のループ１４４０Ａで電流が流れることとなる。図２Ｂの指１４５０の下側の抵抗は、２×Ｌ１×Ａとなる。ここで、Ｌ１は、センシング領域１０６０Ｓの下端から指１４５０の下側までの寸法であり、人１０４０が握った位置の下側で導線１４４０がある範囲の長さである。また、このとき、電流計１４３０に流れる電流は、オームの法則により「Ｖ／（２×Ｌ１×Ａ）」となる。測定した電流計１４３０値がＩ１とした場合、「Ｉ１＝Ｖ／（２×Ｌ１×Ａ）」となる。よって、Ｌ１の長さは「Ｌ１＝Ｖ／（２×Ｉ１×Ａ）」となる。つまり「（Ｌ１の長さ）＝（電圧）／（２×電流×単位長さ当たりの抵抗）」となる。以上により、人１０４０が握った位置の下側の導線１４４０のある範囲の長さＬ１を測定することが出来る。
【００７２】
同様の回路を用いて、人１０４０が握った位置の上側の導線１４４０の長さＬ２を測定する。ここで、Ｌ２は、センシング領域１０６０Ｓの上端から指１４５０の上側までの寸法であり、人１０４０が握った位置の上側で導線１４４０がある範囲の長さである。測定したＬ１、Ｌ２の長さを初期の導線１４４０の長さＬから引くことで、握り幅１１００を算出することが出来る。すなわち、特徴量取得部１０６０は「Ｌ−（Ｌ１＋Ｌ２）」として握り幅１１００を算出する。
【００７３】
次に、ロボットシステム１０００が行う処理の流れを説明する。図４は、第１実施形態におけるロボットシステム１０００の前記処理の流れを示す図ある。
【００７４】
ロボットシステム１０００は、ステップＳ４０１で前記処理を開始する。
【００７５】
次に、ステップＳ４０２で、特徴量取得部１０６０は、特徴量を取得する。図２Ａの場合、握り幅１２１０の値である特徴量「７０」を特徴量取得部１０６０で取得する。
【００７６】
次に、ステップＳ４０３で、制御パラメータ決定部１０８０は、制御パラメータを決定する。図２Ａの場合は、特徴量「７０」に第一の所定の値「２」を掛けた値として「１４０」を、制御パラメータ決定部１０８０で上限値に決定する。
【００７７】
次に、ステップＳ４０４で、力検出部１０５０は、人１０４０が操作部１０２０に加えた力を検出する。例えば、力の大きさ「１」と力の方向を取得する。
【００７８】
次に、ステップＳ４０５で、制御パラメータ決定部１０８０は、仮の移動速度を決定する。例えば、力検出部１０５０が取得した力の大きさが「１」の場合、取得した力の大きさ「１」に第二の所定の値「５０」を掛けた値（１×５０）を仮の移動速度とする。すなわち、この場合、仮の移動速度を「５０」とする。
【００７９】
次に、ステップＳ４０６で、制御パラメータ決定部１０８０は、仮の移動速度が上限値より大きいか否かを判定する。仮の移動速度が上限値より大きい｛（「仮の移動速度」−「上限値」）で算出した値が真である｝と制御パラメータ決定部１０８０で判断する場合は、制御パラメータ決定部１０８０により、前記処理をステップＳ４０７に進める。仮の移動速度が上限値以下である｛（「仮の移動速度」−「上限値」）で算出した値が偽である｝と制御パラメータ決定部１０８０で判断する場合は、制御パラメータ決定部１０８０により、前記処理をステップＳ４０８に進める。例えば、仮の移動速度が「５０」と、上限値が「１４０」とである場合、「５０−１４０＝―９０」となり、偽となるためステップＳ４０８に前記処理を進める。
【００８０】
ステップＳ４０７に分岐した場合、制御パラメータ決定部１０８０により、移動速度を上限値の値に設定する。その後、ステップＳ４０９に進む。
【００８１】
ステップＳ４０８に分岐した場合、制御パラメータ決定部１０８０により、移動速度を仮の移動速度の値に設定する。例えば、仮の移動速度の値が「５０」であれば、移動速度を「５０」とする。その後、ステップＳ４０９に進む。
【００８２】
次に、ステップＳ４０９では、制御部１０９０は、力検出部１０５０が検出した方向に、ステップＳ４０７又はＳ４０８で決定した移動速度で、ロボット１０１０Ａアームのハンド１０１０Ａｈを移動するように、モータ１６４を駆動制御する。例えば、移動速度が「５０」の場合、５０ミリメートル毎秒でハンド１０１０Ａｈを移動するように、モータ１６４を駆動制御する。
【００８３】
次に、ステップＳ４１０で制御部１０９０が終了判定を行う。終了判定は、例えば、図示しない緊急停止ボタンが押されているか否かによって制御部１０９０が判断する。終了判定が真であると制御部１０９０で判断する場合は、制御部１０９０が前記処理をステップＳ４１１に進める。偽であると制御部１０９０で判断する場合は、制御部１０９０が前記処理をステップＳ４０２に進める。
【００８４】
次に、ステップＳ４１１に分岐した場合、前記処理を終了する。
【００８５】
以上がロボットシステム１０００の処理の流れである。
【００８６】
次に、ロボット制御パラメータ決定装置１０３０のハードウェア構成について説明する。図５は、第１実施形態におけるロボット制御パラメータ決定装置１０３０のハードウェア構成を示す図である。図５には、図３Ａに示した特徴量取得部１０６０の構成については省略して、ロボット制御パラメータ決定装置１０３０の構成について記載している。
【００８７】
ロボット制御パラメータ決定装置１０３０は、図３Ａに記載した構成部品以外は汎用のコンピュータによって実現される。ロボット制御パラメータ決定装置１０３０は、計算部１６１０と、記憶部１６２０と、通信部１６３０と、それらの間で情報を送受信するためのバス１６４０とで構成されている。通信部１６３０は、コンピュータ外部と情報を送受信するための装置である。具体的には、図３Ａの電流計１４３０の値を受信したり、ロボット制御パラメータ決定装置１０３０で算出した制御パラメータの値をロボット１０１０の制御部１０９０に送信したりする。記憶部１６２０は、通信部１６２０が受信した情報及び、計算結果、及び、計算の途中結果の情報を記憶する手段であり、ＲＡＭ、ＲＯＭ、レジスタ、又は、ＨＤＤなどで構成されている。計算部１６１０は、各種の演算を行う装置であり、ＬＳＩ、又は、ＣＰＵなどの半導体装置等で実現される。具体的には、計算部１６１０は、電流計１４３０が計測した電流値から、上限値を算出する処理を行う。
【００８８】
次に、人１０４０がロボット１０１０を用いて物体を移動する際の、操作部１０２０の握り方を説明する。図６は、ロボット１０１０を用いて物体２５１０を移動する際の作業空間を示す図である。人１０４０は、ロボット１０１０を用いて初期位置Ｐ＿０にある物体２５１０を、第１位置Ｐ＿１、第２位置Ｐ＿２、第３位置Ｐ＿３、第４位置Ｐ＿４を順に通る軌跡で移動する作業を行う。すなわち、物体２５１０は、地面２５３０Ａ上の初期位置Ｐ＿０から真上に上昇させられて第１位置Ｐ＿１に到達したのち、横方向に第２位置Ｐ＿２を通り、第３位置Ｐ＿３まで直線的に移動させられる。第３位置Ｐ＿３からは、湾曲した軌跡をたどるように物体２５１０が、地面２５３０Ａ上の台２５３０の第４位置Ｐ＿４まで降下させられる。第４位置Ｐ＿４での物体２５２０は、移動が完了した状態での物体を図示したものである。移動完了状態にある物体２５２０は、地面２５３０Ａ上の台２５３０の上に載せられている。一例として、台２５３０は、パーソナルコンピュータのマザーボードであり、物体２５１０はＣＰＵ等のマザーボード上に取り付けられる部品であり、作業はロボット１０１０を用いた組み立て作業である。また、別の例としては、台はトラックであり、物体２５１０は箱詰めされたテレビであり、作業はロボット１０１０を用いた荷積み作業である。
【００８９】
ここでは、初期位置Ｐ＿０でロボットアーム１０１０Ａのハンド１０１０Ａｈが物体２５１０の把持を完了したものとして、把持が完了したところからの物体２５１０の説明を行う。
【００９０】
移動の第一段階は、ロボットアーム１０１０Ａのハンド１０１０Ａｈが物体を初期位置Ｐ＿０から第１位置Ｐ＿１へ物体２５１０をゆっくり上昇移動する段階である。人１０４０は、物体２５１０が初期位置Ｐ＿０にある状態で、操作部１０６０を図２Ｃから図２Ｂへの握り方の順番で握り、操作部１０２０に、その上向きの方向に力をかけて、物体２５１０を第１位置Ｐ＿１まで移動する。すなわち、親指と１本の指で操作部１０６０を挟み、ロボットアーム１０１０Ａのハンド１０１０Ａｈで把持された物体２５１０を、地面からゆっくり持ち上げる。その際、物体２５１０の移動速度は、上限値「１４」以下になるため、物体２５１０の角などが地面２５３０Ａに勢いよくぶつからないように慎重に操作することができる。
【００９１】
次に、移動の第二段階は、ロボット１０１０が、物体２５１０を第１位置Ｐ＿１から第２位置Ｐ＿２まで加速させながら移動する段階である。人１０４０は、操作部１０６０を握る幅を図２Ｂから図２Ａの状態に徐々に握り幅を増やしつつ、操作部１０６０に右側に力をかけて、物体２５１０を第２位置Ｐ＿２まで移動する。すなわち、操作部１０６０を握る指の本数を徐々に増やして、徐々に移動速度を上げながら物体２５１０を移動する。この際、物体２５１０の移動速度の上限値が「７」から「１４０」に上がるため、徐々に早く移動できるようになる。
【００９２】
次に、移動の第三段階は、ロボット１０１０が、物体２５１０を第２位置Ｐ＿２から第３位置Ｐ＿３まで速い速度で移動する段階である。人１０４０は、操作部１０６０を握る幅を図２Ａの状態で移動する。
【００９３】
次に、移動の第四段階は、ロボット１０１０が、物体２５１０を第３位置Ｐ＿３から第４位置Ｐ＿４まで減速しながら移動する段階である。人１０４０は、操作部１０６０を握る幅を図２Ａの状態から図２Ｂの状態ー握り方を変更しながら、操作部１０６０に右下側方向の力をかけて、物体２５１０を第４位置Ｐ＿４まで移動する。すなわち、操作部１０６０を握る指の本数を減らしながら、物体２５１０を移動する。この際、物体２５１０の移動速度の上限値が「１４０」から「７」に下がるため、物体２５１０は徐々にゆっくり移動できるようになる。よって、物体２５１０の角などが地面２５３０Ａに勢いよくぶつからないように正確かつ安全に操作することができる。
【００９４】
移動の最終段階では、人１０４０は、操作部１０６０から手を離す。
【００９５】
本発明の第１実施形態の構成によると、人１０４０と操作部１０２０との接触領域と非接触領域との境界情報の特徴量に応じて、早く動かしやすい操作感と、ゆっくり（又は正確に、又は安全に）動かしやすい操作感とを変えることができる。
【００９６】
具体的には、例えば、人１０４０は、操作部１０２０を手でしっかり握って、図２Ａのように、特徴量取得部１０６０のセンシング領域１０６０Ｓと指との接触の範囲を広くし、１ニュートン以上の力を加えた場合、ロボット１０１０を移動速度「５０」ミリメートル毎秒以上移動させることができ、早く動かす操作感が良くなる。一方、図２Ｂのように、特徴量取得部１０６０のセンシング領域１０６０Ｓと指との接触の範囲を狭くした場合、１ニュートン以上の力を加えた場合でも、ロボット１０１０は移動速度「１４」ミリメートル毎秒までしか移動しない。よって、精度を要する作業の途中で操作部１０２０に対して力が誤って入ってしまっても、ロボット１０１０が大きく移動してしまうことはなく、ゆっくり（又は正確に）動かす操作感が良くなる。
【００９７】
ところで、人が字又は絵を描くような細かい精度を要する狭い範囲での作業で、筆を握る際は、図２Ａのような操作部１０２０に対して接触範囲の広い持ち方はせず、図２Ｂのように操作部１０２０に対して接触範囲の狭い持ち方をする。しかし、筆を棚から机まで運ぶような場合は、図２Ａのような操作部１０２０（の特徴量取得部１０６０のセンシング領域１０６０Ｓ）に対して接触範囲の広い持ち方をする場合が多い。筆を使う際、人は意識せずに、作業内容によって筆の持ち方を変えていると考えられる。ロボット１０１０を操作し、把持対象物を所定の場所に動かす場合にも、同様に人は意識せずに、操作部１０２０の持ち方を変えることが観察されている。
【００９８】
本発明の第１実施形態では、人１０４０が作業を変える際に、意識せずに生じる持ち方の変更に応じて、ロボット１０１０の操作感を切り替えることが出来る。そのため、人１０４０がロボット１０１０の操作感を切り替えるための作業負担、又は、切り替える方法を習得するための学習負担は、共に少ない。
【００９９】
また、本発明の第１実施形態によると、ロボット１０１０を目標の位置に移動する際、最初に素早く大まかに動かして、最後にゆっくり微調整する一連の作業をスムーズに切り替えやすい。すなわち、最初、図２Ａのように操作部１０２０に対して接触範囲の広い持ち方をして大まかに動かしつつ、操作部１０２０から指を徐々に離していけば、徐々にゆっくり（又は正確に）動かしやすい操作感へと切り替わっていく。その際、指を徐々に離してゆくだけの動きの少ない動作で、操作感を切り替えることが出来る。よって、力検出部１０５０に余計な力をかけずに操作感を切り替えることができ、意図せずに力検出部１０５０に余計な力をかけてしまうことにより、意図しない方向に力が発生して、ロボット１０１０が意図しない方向に移動する危険が少なくなる。
【０１００】
また、本第１実施形態によると、操作部１０２０がどのような姿勢を向いていても、人１０４０は操作部１０２０を持ち直すことが容易に出来る。図７Ａ〜図７Ｃを用いてこれを説明する。図７Ａ〜図７Ｃは、図２の操作部１０２０が横向きになった際に、特徴量取得部１０６０に加わる力を示す図である。図７Ａにおいて、操作部１０２０には質量があるため、その質量により重力が発生し、力検出部１０５０には、操作部１０２０の重力による力がかかる。人１０４０は、ロボット１０１０を停止させておきたい場合、操作部１０２０の重力を打ち消す力（例えば、重力とは反対方向の上向きの力）を操作部１０２０に加え、力検出部１０５０に加わる力を「０」にする。この状態から、人（操作者）が操作部１０２０の持ち直しをするために、図７Ｂの握り方を経由して、図７Ｃの握り方に達した場合、人１０４０は重力を打ち消す力を操作部１０２０に加えられなくなる。そのため、力検出部１０５０は下方向に力を検知し、ロボット１０１０のハンド１０１０Ａｈは下方向に移動してしまう。しかし、第１実施形態では、特徴量が低下するに従って、ロボット１０１０の上限速度が低下するため、ハンド１０１０Ａｈが下方向に移動する量を少なく、持ちかえを行うことができる。
【０１０１】
なお、力検出部１０５０に加わる操作部１０２０の重力による力を予想して打ち消す方法も考えられるが、計算誤差又は時間誤差があり、この力を完全に打ち消すことは困難である。よって、予想を用いる場合にも、本第１実施形態を併用することは有効となる。
【０１０２】
また、（特許文献２の場合）操作部１０２０に加わる力は直接見ることはできないため、ロボット１０１０の動作の予測は困難である場合がある。一方で、本発明の第１実施形態によると、操作部１０２０がどのように握られているかを人１０４０は直接見ることができる。よって、本発明の第１実施形態の場合、人１０４０は、操作部１０２０がどのような動きをするかが予想しやすく、操作が容易である。
【０１０３】
＜第１変形例＞
第１実施形態では、特徴量は、握り幅の長さである場合を述べている。この場合、特徴量は多段階になる。しかしながら、本発明はこれに限定されるものではなく、第１実施形態の第１変形例として、測定した握り幅の長さを、閾値との大小比較によって特徴量を２つの段階で設定する構成としても構わない。例えば、制御パラメータ決定部１０８０は、前記特徴量が閾値よりも高い場合に、前記ロボット１０１０が、所定の移動速度よりも早く移動しやすい制御パラメータの値を決定し、前記特徴量が前記閾値よりも低い場合に、前記ロボット１０１０が、前記所定の移動速度よりもゆっくり移動しやすい制御パラメータの値を設定する。この結果、広く握れば（握り幅の長さが大きくなれば）、ロボット１０１０が移動しやすくなる。その場合、例えば、握り幅の長さが閾値「３０」ミリメートル以下の場合には、移動速度の上限値の制御パラメータの値を「１４」とし、握り幅の長さが閾値「３０」ミリメートルを超える場合には、制御パラメータの値を「１４０」とする。このような構成においても、第１実施形態の効果で説明した効果が得られる。
【０１０４】
＜第２変形例＞
第１実施形態では、特徴量に応じて、移動速度の上限値を決定する場合を説明したが、第１実施形態の第２変形例として、加速度の上限値を決定する構成であっても構わない。例えば、図２Ａ、図２Ｂ、図２Ｃでの移動速度の上限値を、それぞれ、「１４０」、「１４」、「６」とする替わりに、加速度の上限値を、それぞれ「１４０」、「１４」、「６」とする。単位はそれぞれ、ミリメートル毎秒毎秒である。ロボット１０１０が「１４０」ミリメートル毎秒で移動していて、図２Ａの握り方をした場合、移動方向と逆の方向に力を加えることで、最短１秒でロボット１０１０を停止させることができる。すなわち、素早い減速が可能である。一方、図２Ｂの握り方をした場合、「１４」ミリメートル毎秒毎秒ずつ減速していくことができる。よって、ゆっくり正確に目標の速度に調整していくことができる。ロボット１０１０が停止していて、図２Ａの握り方をした場合、最短１秒でロボット１０１０を「１４０」ミリメートル毎秒毎秒まで加速することができる。すなわち、素早い加速が可能である。一方、図２Ｂの握り方をした場合、「１４」ミリメートル毎秒毎秒ずつ加速していくことができる。よって、ゆっくり正確に目標の速度に調整していくことができる。
【０１０５】
第３変形例  第１実施形態では、人１０４０が操作部１０２０を握る際の握り幅によって、制御パラメータの一例である移動速度の上限値が変わる構成を説明している。しかし、握り幅には個人差があり、手の小さい人は握り幅を大きくすることが出来ない。そのため、移動速度の上限値を大きく出来ないという問題がある。ところで、第１実施形態では、移動速度の上限値は「（上限値）＝（第一の所定の値）×（特徴量）」となる。そこで、第１実施形態の第３変形例として、個人差を吸収するために、（第一の所定の値）を、人（操作者など）が指定可能にする構成としても構わない。
【０１０６】
図８は、第一の所定の値を登録する手段を有するロボットシステム（ロボット装置）１０００Ｊの構成を示す図である。ロボットシステム１０００Ｊは、ロボット１０１０と、ロボット制御パラメータ決定装置１０３０Ｊと、第一の所定の値を登録する登録装置３５１０とで構成されている。登録装置３５１０は、人が操作部１０２０を握る際の握り幅に基づき、第一の所定の値を決定する手段である。ロボット制御パラメータ決定装置１０３０Ｊは、第一の所定値を保持する第一所定値保持部３５４０を有し、第一所定値保持部３５４０で保持された第一の所定の値に基づき、上限値を決定する以外は、第１実施形態におけるロボット制御パラメータ決定装置１０３０と同様の処理を行う。ロボット１０１０は、第１実施形態の場合と同様の処理を行う。
【０１０７】
登録装置３５１０は、登録開始指示部３５２０と、登録部３５３０とで構成されている。登録開始指示部３５２０は、具体的には、人の握り幅の登録を開始するタイミングを指示するボタンである。登録部３５３０は、登録開始指示部３５２０が押された際に実行される処理であって、特徴量取得部１０６０を用いて、登録開始指示部３５２０が押されたときの（又は、登録開始指示部３５２０が押されてから所定時間後の）握り幅を取得し、特徴量取得部１０６０において、取得した握り幅の逆数に第十四の所定の値を掛けた値を第一の所定の値とする。すなわち「（第一の所定の値）＝（第十四の所定の値）／（取得した握り幅）」とする。そして、登録部３５３０は、特徴量取得部１０６０で算出した値を、ロボット制御パラメータ決定装置１０３０Ｊの第一所定値保持部３５４０に第一の所定の値として格納する。（又は、格納する旨の指示と、格納する値を通知する。）
ロボットシステム１０００Ｊは、人が始めて使用する際、又は、使用する人（操作者）が変わる際には、登録装置３５１０を用いて、登録作業を行う。登録作業を行う際は、人１０４０は操作部１０２０を５本の指でしっかり握り、登録装置３５１０の登録開始部３５２０を用いて登録開始をする。登録が行われた際の登録処理の流れを図９に示す。
【０１０８】
ステップＳ３６０１で、登録装置３５１０は登録処理を開始する。
【０１０９】
ステップＳ３６０２で、人１０４０は操作部１０２０を５本の指でしっかり握る。
【０１１０】
ステップＳ３６０３で、登録開始指示部３５２０は、人１０４０によってボタンが押されたかを判定する。登録開始指示部３５２０での判定結果が真の場合（ボタンが押されたと登録開始指示部３５２０で判断された場合）にはステップＳ３６０４に進む。登録開始指示部３５２０での判定結果が偽の場合（ボタンが押されていないと登録開始指示部３５２０で判断された場合）にはこのステップＳ３６０３を繰り返し行う。
【０１１１】
ステップＳ３６０４では、登録部３５３０は、特徴量取得部１０６０に対して、特徴量取得部１０６０により、握り幅を取得するように指示して、特徴量取得部１０６０で、握り幅を取得する。
【０１１２】
ステップＳ３６０５で、登録部３５３０は、特徴量取得部１０６０での「（第一の所定の値）＝（第十四の所定の値）／（取得した握り幅）」の演算により、第一の所定の値を算出する。ここでは、一例として、第十四の所定の値は、予め決められた値「１４０」であるとする。
【０１１３】
次いで、ステップＳ３６０６で、登録部３５３０は、算出した第一の所定の値を第一所定値保持部３５４０に格納するように指示して、第一の所定の値を第一所定値保持部３５４０に格納する。
【０１１４】
ステップＳ３６０７では、登録装置３５１０は前記登録処理を終了する。
【０１１５】
このような構成を用いて登録作業を行えば、特徴量取得部１０６０が特徴量を算出する際、個人差を吸収することができる。
【０１１６】
例えば、操作部１０２０を５本の指でしっかり握った時の握り幅が「７０ｍｍ」のＡさんの場合、第一の所定の値は、「１４０／７０」により算出され、「２」となる。そのＡさんが５本の指でしっかり握った際の上限値は、「（上限値）＝（第一の所定の値）×（特徴量）」より、「２×７０」となる。すなわち、上限値は「１４０」となる。一方、操作部１０２０を５本の指でしっかり握った時の握り幅が「１００ｍｍ」のＢさんの場合、第一の所定の値は、「１４０／１００」により算出され、「１．４」となる。そのＡさんが５本の指でしっかり握った際の上限値は、「（上限値）＝（第一の所定の値）×（特徴量）」より、「１．４×１００」となる。すなわち、上限値は「１４０」となる。よって、Ａさんの場合も、Ｂさんの場合も５本指でしっかり握った場合の上限値が同じ値となる。
【０１１７】
なお、ここでは、第一の所定の値を実際の握り幅に基づき算出する構成を示したが、キーボードなどの入力部から数値を入力して第一所定値保持部３５４０で記憶する構成であっても構わない。また、５本指で握った場合のみを登録する方法を説明したが、２から５本までの全ての場合を別々に登録する構成であっても構わない。
【０１１８】
＜第４変形例＞
第１実施形態における操作部１０２０は、ロボット１０１０の外部にある構成を説明したが、第１実施形態の第４変形例として、操作部１０２０は、ロボット１０１０の一部であっても構わない。図１０は、操作部１０２０が、ロボットアーム１０１０Ａの手首部１０１０Ａｎの一部である場合の構成を示した図である。手首部１０１０Ａｎのさらに先端側には、力検出部１０５０を配置するとともに、ハンド１０１０Ａｈが取り付けられている。
【０１１９】
＜第５変形例＞
第１実施形態では、制御パラメータ決定部１０８０が、ロボット１０１０の移動速度の上限値を「（上限値）＝（第一の所定の値）×（特徴量）」により算出する場合を説明している。そのため、例えば、操作部１０２０を２本の指で握った際の握り幅が７ミリメートルであるとともに、操作部１０２０を５本の指で握った際の握り幅が７０ミリメートルであるとすると、操作部１０２０を５本で握った際の移動速度の上限値は、操作部１０２０を２本で握った際の移動速度の上限値の１０倍となる。実際の使用場面では、早く動かしたい際の速度の上限値が、ゆっくり動かしたい際の速度の上限値の１００倍となったり３倍となったりすることが必要となる。何倍になるかは、作業内容によって異なる。そこで、第１実施形態の第５変形例として、制御パラメータ決定部１０８０は、特徴量と制御パラメータの値との対応を示す対応表又は関数を予め保持するような構成であっても構わない。このような対応表又は関数を用いれば、狭い握り幅で握った際の移動速度の上限値と、広い握り幅で握った際の移動速度の上限値を、ロボット１０１０が行う作業に応じて決定することが出来る。
【０１２０】
また、特徴量と制御パラメータの値との対応を示す対応表又は関数を制御パラメータ決定部１０８０の記憶部に予め複数保持しておき、操作者は操作を行う際に、入力部を用いて前記記憶部からその一つを選択する構成であっても構わない。このような構成を用いれば、複数の作業を行うロボット１０１０においても、作業毎に、狭い握り幅で握った際の移動速度の上限値と、広い握り幅で握った際の移動速度の上限値を作業しやすい値に設定することが出来る。
【０１２１】
＜第６変形例＞
第１実施形態における図１Ａのロボット１０１０のロボット本体としては、アーム型のロボットを示したが、第１実施形態の第６変形例として、車輪型のロボット又は２足歩行型のロボットなどの他の型のロボットであっても構わない。図１１は車輪型のロボット１０１０Ｋの場合を示す図である。図１１における車輪型のロボット１０１０Ｋは、胴体３７２０と、胴体３７２０の下部に回転可能に配置された３個又は４個の車輪３７１０と、３個又は４個の車輪３７１０を正逆回転駆動するモータなどの駆動部３７１０Ｍとを備えている。胴体３７２０には、１本又は一対の腕部３７３０が動作可能に接続されており、一対の腕部３７３０の先端にはお盆３７４０が接続されている。操作部１０２０は、胴体３７２０の上部に取り付けられている。ロボット１０１０Ｋは、お盆３７４０に載せられた重量物の運搬を行う。
【０１２２】
第１実施形態では、操作部１０２０に加えられて力検出部１０５０で検出された力に基づいて、駆動部の一例であるモータ１６４が制御部１０９０により駆動制御されて、ロボット１０１０のハンド１０１０Ａｈの先端が前後左右に移動したが、本第６変形例のロボット１０１０Ｋでは、操作部１０２０に加えられて力検出部１０５０で検出された力に基づいて、駆動部３７１０Ｍが制御部１０９０により駆動制御されて、ロボット１０１０Ｋの位置が前後左右に移動する。また、第１実施形態では、力検出部１０５０に加えられた力に基づいて、駆動部の一例であるモータ１６４が制御部１０９０により駆動制御されて、ロボット１０１０のハンド１０１０Ａｈの先端が上下に移動している。これに対して、本第６変形例のロボット１０１０Ｋでは、ロボット１０１０Ｋのお盆３７４０の位置が上下に移動する。他の構成及び動作については、第１実施形態の場合と同様である。
【０１２３】
（第２実施形態）
第２実施形態は、接触センサを用いて特徴量を取得する場合の実施形態である。本第２実施形態における接触センサは、２次元上の複数の点において、物体が接触しているか、物体が接触していないかを判定できるものである。
【０１２４】
図１２は、本発明の第２実施形態のロボット制御パラメータ決定装置１０３０Ａを示す図である。図１２において、図１Ａと同じ構成要素については、同じ符号を用い、説明を省略する。
【０１２５】
図１２において、ロボット制御パラメータ決定装置１０３０Ａは、シート状の接触センサ１７１０と、第１実施形態における特徴量取得部１０６０の代わりの特徴量取得部１０６０Ａと、制御パラメータ決定部１０８０とで構成されている。シート状の接触センサ１７１０は、接触センサ１７１０の表面上の複数の点に対して、物体が接触しているか接触していないかを判定する装置である。具体的には、例えば、複数の点での物体の接触を感知できるタッチパネルである。
【０１２６】
図１３Ａ〜図１３Ｃは、操作部１０２０と、接触センサ１７１０との位置関係を示す図である。シート状の接触センサ１７１０は、円柱状の操作部１０２０の外周面のほぼ全周に取り付けられている。図１３Ａは、人１０４０が操作部１０２０を親指と他の４本の指で握っており、親指と他の４本の指が接触センサ１７１０に接触している場合を示す。図１３Ｂは、親指と他の１本の指で握っており、親指と他の１本の指が接触センサ１７１０に接触している場合を示す。図１３Ｃは、まだ、操作部１０２０を握る途中の段階で、人差し指の先端及びその付近の部分だけが操作部１０２０の接触センサ１７１０に接触している場合を示す。図１４Ａ、図１４Ｂ、図１４Ｃは、図１３Ａ、図１３Ｂ、図１３Ｃのそれぞれに対して、接触センサ１７１０が接触を判定した範囲と、接触センサ１７１０が接触をしない範囲とを示す図である。図１４Ａ、図１４Ｂ、図１４Ｃにおける四角形は、円柱状の操作部１０２０の表面に配置されたシート状の接触センサ１７１０を、平面上に開いた状態を示す。四角形の接触センサ１７１０のＹ方向の幅は、例えば、２０ｃｍである。これは、人が手を広げた際の親指から小指までの大まかな距離である。四角形の接触センサ１７１０のＸ方向の幅は例えば、１８．８４ｃｍである。これは、操作部１０２０の底面の半径が３ｃｍとしたときの操作部１０２０の底面の周囲の長さ２×（半径）×（円周率）より求まる長さである。四角形の接触センサ１７１０の中の曲線などで囲まれた範囲１７１０ａは、接触センサ１７１０が接触を判定した範囲であり、それ以外の範囲１７１０ｂは、接触を判定しなかった範囲である。以降の説明では、四角形の左下の角を原点、右方向をＸ軸方向、上方向をＹ軸方向として説明を行う。また、接触センサ１７１０の表面には、二次元格子状に配置されて接触を判定する点が並べられているものとし、（Ｘ１、Ｙ１）を満たす各点に、接触を判定する点があるものとする。ただし、接触を判定する点のＸ座標であるＸ１＝０、１、・・・、Ｘ＿ＭＡＸとし、接触を判定する点のＹ座標であるＹ１＝０、１、・・・、Ｙ＿ＭＡＸとする。例えば、１ｃｍあたり１０個の点がある接触センサ１７１０を用い、Ｙ方向の幅が２０ｃｍ、Ｘ方向の幅が１８．８４ｃｍの場合、Ｙ＿ＭＡＸは「２００」であり、Ｘ＿ＭＡＸは「１８８」である。この場合、平面状の点（接触を判定する点）の数は「２００×１８８＝３７６００」個となる。
【０１２７】
以下、特徴量取得部１０６０と接触センサ１７１０とを用いて、２次元上の複数の点において、物体が接触しているか、物体が接触していないかを判定しながら、特徴量を取得する場合について説明する。
【０１２８】
まず、特徴量取得部１０６０Ａは、Ｘ１が０、１、・・・、Ｘ＿ＭＡＸのそれぞれのとき、次の条件を満たす点の数を算出する。条件を満たす点とは、直線「Ｘ＝Ｘ１」上の点であって接触センサ１７１０が接触を判定した点である。
【０１２９】
次に、特徴量取得部１０６０Ａは、前記算出した点の数のうち、最大の数を特徴量とする。例えば、直線「Ｘ＝Ｘ１」上の点であって接触センサ１７１０が接触を判定した点が１個、直線「Ｘ＝Ｘ５」上の点であって接触センサ１７１０が接触を判定した点が５個ある場合には、５個を特徴量とする。つまり、第１実施形態では握り幅を一つだけ測定したのに対し、第２実施形態では、Ｘ軸の値を変えながら複数の握り幅を測定し、その最大値を最終的な特徴量とする。
【０１３０】
以下、この処理について、詳細に説明する。図１５は、特徴量取得部１０６０Ａが行う特徴量取得処理の流れを示す図である。
【０１３１】
特徴量取得部１０６０Ａは、ステップＳ９０１で処理を開始する。
【０１３２】
次に、ステップＳ９０２で、特徴量取得部１０６０Ａは、初期化のため、Ｘ１＝０、Ｃ＿ＭＡＸ＝０とする。ここで、Ｘ１、Ｃ＿ＭＡＸはそれぞれ変数であり、ＲＯＭ、ＲＡＭ、ＨＤＤ、又は、レジスタ等の記憶部１６３０によって実現する。以下の説明においても、変数を用いる場合は同様である。
【０１３３】
次に、ステップＳ９０３で、特徴量取得部１０６０Ａは、直線「Ｘ＝Ｘ１」上の接触点をカウントする。すなわち、例えば、Ｘ１＝０である場合、（０，０）、（０、１）、・・・、（０、Ｙ＿ＭＡＸ）のうち、接触センサ１７１０が接触を判定した点の数を算出する。図１６Ａ〜図１６Ｃは、それぞれ握り方が異なる場合を示しており、Ｘ１が０からＸ＿ＭＡＸのそれぞれの場合（横軸参照）に、特徴量取得部１０６０Ａがカウントする点の数（縦軸参照）を示す図である。
【０１３４】
次に、ステップＳ９０４で、特徴量取得部１０６０Ａは、ステップＳ９０３で算出した点の数がＣ＿ＭＡＸよりも大きいかを判定する。判定が真の場合（ステップＳ９０３で算出した点の数がＣ＿ＭＡＸよりも大きいと特徴量取得部１０６０Ａで判定した場合）はステップＳ９０５に処理を進める。判定が偽の場合（ステップＳ９０３で算出した点の数がＣ＿ＭＡＸ以下であると特徴量取得部１０６０Ａで判定した場合）はステップＳ９０６に処理を進める。
【０１３５】
ステップＳ９０５に進む場合、特徴量取得部１０６０Ａは、Ｃ＿ＭＡＸをステップＳ９０３で算出した点の数に更新する。その後、ステップＳ９０６に進む。
【０１３６】
次に、ステップＳ９０６では、特徴量取得部１０６０Ａは、Ｘ１の値に「１」を加える。
【０１３７】
次に、ステップＳ９０７で、特徴量取得部１０６０ＡはＸ１の値がＸ＿ＭＡＸより大きいかを判定する。判定が真の場合（Ｘ１の値がＸ＿ＭＡＸより大きいと特徴量取得部１０６０Ａで判定した場合）は処理をステップＳ９０８に進める。判定が偽の場合（Ｘ１の値がＸ＿ＭＡＸ以下であると特徴量取得部１０６０Ａで判定した場合）はステップＳ９０２に処理を戻す。
【０１３８】
次に、ステップＳ９０８に進む場合、特徴量取得部１０６０Ａは、Ｃ＿ＭＡＸの値を特徴量とし、前記処理を終了する。
【０１３９】
具体的には、図１６Ａ、図１６Ｂ、図１６Ｃの場合、最大の接触点の数を仮に、「８０」、「１３」、「５」となる。その値、「８０」、「１３」、「５」を特徴量とする。
例えば、図１６Ａの「８０」はＸ＝１０００の場合の特徴点の数であり、図１６Ｂの「１３」はＸ＝１２０の場合の特徴点の数であり、図１６Ｃの「５」はＸ＝１００の場合の特徴点の数である。
【０１４０】
第１実施形態では接触センサは１次元で握り幅を測定している。これに対して、この第２実施形態では、Ｘ軸の値を変えて握り幅を測定し、その最大値を最終的な握り幅とするものである。
【０１４１】
制御パラメータ設定部１０８０は、第１実施形態と同様に、特徴量に第一の所定の値を掛けた値をロボット１０１０の移動速度の上限値とする。ここでは、第一の所定の値を「１」とし、特徴量そのものを上限値とする。すなわち、図１６Ａ、図１６Ｂ、図１６Ｃの場合、それぞれ、ロボット１０１０の移動速度の上限値を「８０」、「１３」、「５」とする。
【０１４２】
本発明の第２実施形態の構成によると、人１０４０と操作部１０２０との接触領域の特徴量に応じて、早く動かしやすい操作感と、ゆっくり（又は正確に、又は安全に）動かしやすい操作感とを変えることができる。
【０１４３】
具体的には、例えば、人１０４０は、操作部１０２０をしっかり握って、図２Ａのように接触の範囲を広くし、１ニュートン以上の力を加えた場合、ロボット１０１０を移動速度「８０」ミリメートル毎秒以上移動させることができ、早く動かす操作感が良くなる。一方、図２Ｂのように接触の範囲を狭くし、１ニュートン以上の力を加えた場合でも、ロボット１０１０は移動速度「１３」ミリメートル毎秒までしか移動しない。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット１０１０が大きく移動してしまうことはなく、ゆっくり（又は正確に、又は安全に）動かす操作感が良くなる。
【０１４４】
＜第１変形例＞
第２実施形態では、接触センサ１７１０を用いて、握り幅の最大値を特徴量として算出する場合を説明している。しかしながら、本発明はこれに限定されるものではなく、第２実施形態の第１変形例として、特徴量は、接触センサ１７１０の表面うち、人１０４０と接触している領域１７１０ａの面積であっても構わない。人１０４０と接触している領域１７１０ａの面積が大きい場合には、ロボット１０１０を早く動かしやすい操作感が得られるように制御パラメータの設定を行い、人１０４０と接触している領域１７１０ａの面積が小さい場合には、ロボット１０１０をゆっくり動かしやすい操作感を得られる制御パラメータの設定を行う。より具体的には、例えば、人１０４０と接触している領域１７１０ａの面積が大きい場合には、移動速度の上限値を大きくし、人１０４０と接触している領域１７１０ａの面積が小さい場合には、移動速度の上限値を大きくする。
【０１４５】
また、特徴量は、人１０４０と接触している領域１７１０ａの外周の長さ又は、人１０４０と接触している領域１７１０ａの外接円の半径の長さ、又は、人１０４０と接触している領域１７１０ａの内接円の半径の長さ、又は、両手で操作部１０２０を握る場合における、２つの手の間の距離の長さであっても構わない。半径又は距離の長さが長い場合には、ロボット１０１０を早く動かしやすい操作感が得られるように制御パラメータの設定を行い、半径又は距離の長さが短い場合には、ロボット１０１０をゆっくり動かしやすい操作感を得られる制御パラメータの設定を行う。より具体的には、例えば、人１０４０と接触している領域１７１０ａの外周の長さが長い場合には、移動速度の上限値を大きくし、人１０４０と接触している領域１７１０ａの外周の長さが短い場合には、移動速度の上限値を大きくする。
【０１４６】
＜第２変形例＞
なお、第１実施形態では、特徴量取得部１０６０は、操作部１０２０の表面にある場合を示している。しかしながら、本発明はこれに限定されるものではなく、第２実施形態の第２変形例として、特徴量取得部１０６０は、操作部１０２０の表面にある構成であっても、それ以外の外部にある構成であっても構わない。
【０１４７】
また、なお、接触センサ１７１０で人１０４０と操作部１０２０との接触領域を取得する替わりに、図示しない撮像カメラで操作部１０２０を撮影し、操作部１０２０と人１０４０とが重なって撮影された領域を取得しても構わない。この場合は、撮像カメラは、操作部１０２０の表面に設置されていない構成として構わない。
【０１４８】
（第３実施形態）
本発明の第３実施形態は、第２実施形態と同様の接触センサ１７１０を用い、操作部１０２０に接触している指１４５０の本数を取得して、指１４５０の本数を特徴量とする場合の実施形態である。
【０１４９】
第３実施形態では、第２実施形態における特徴量取得部１０６０Ａの替わりに、特徴量取得部１０６０Ｂを用いる。第３実施形態におけるロボット制御パラメータ決定装置１０３０Ａは、接触センサ１７１０と、特徴量取得部１０６０Ｂと、制御パラメータ決定部１０８０とで構成されており、図１７に示す。以下、特徴量取得部１０６０Ｂが行う処理を説明する。
【０１５０】
まず、特徴量取得部１０６０Ｂは、接触センサ１７１０の表面の、接触を判定する点のＸ座標であるＸ１が０、１、・・・、Ｘ＿ＭＡＸそれぞれのとき、直線「Ｘ＝Ｘ１」上で操作部１０２０と、人１０４０の指１４５０が接触する領域と接触しない領域とが切り替わる点の数を特徴量取得部１０６０Ｂで算出する。すなわち、次の条件を両方とも満たす点の数を特徴量取得部１０６０Ｂで算出する。第一の条件は、直線「Ｘ＝Ｘ１」上の点であることである。すなわち、接触を判定する点の座標が（Ｘ１，Ｙ１）であり、ただし、Ｙ１＝０、１、２、・・・、Ｙ＿ＭＡＸであることである。つまり、接触を判定する点が（Ｘ１、０）、（Ｘ１、１）、・・・、（Ｘ１、Ｙ＿ＭＡＸ）のいずれかの点であることである。具体的には、Ｘ１＝０の場合は、（０、０）、（０、１）、・・・、（０、Ｙ＿ＭＡＸ）のいずれかの点である。
【０１５１】
第二の条件は、その点自体に物体が接触しているかの真偽値と、（＋Ｙ方向に）一つ上の点の真偽値とが異なることである。すなわち、点（Ｘ１、Ｙ１）と点（Ｘ１、Ｙ１＋１）における、接触の真偽値の排他論理輪が「１」である点であることである。より具体的には、Ｘ１＝０、Ｙ１＝０のとき、点（０、０）と点（０、１）における接触と非接触とが逆であれば、（０、０）は条件を満たす点である。同様に、点（０、１）と点（０、２）における接触と非接触とが逆であれば、点（０、１）は条件を満たす点である。
【０１５２】
図１４Ａにおける黒丸で示した８つの点は、Ｘ＝Ｘ＿Ｓにおいて、人１０４０の指１４５０が接触する領域と接触しない領域とが切り替わる点を示す。
【０１５３】
図１８Ａ、図１８Ｂ、図１８Ｃは、それぞれ、図１３Ａ、図１３Ｂ、図１３Ｃの場合について、人１０４０の指１４５０が接触する領域と接触しない領域とが切り替わる点の数を、特徴量取得部１０６０Ｂが判定した結果を示す。図１８Ａ〜図１８Ｃで横軸は、Ｘ１の値を示す。縦軸は、人１０４０の指１４５０が接触する領域と接触しない領域とが切り替わる点の数を示す。縦軸の値、すなわち、人１０４０の指１４５０が接触する領域と接触しない領域とが切り替わる点の数を２で割った値が「Ｘ＝Ｘ１」における指（及び手のひら）の数である。
【０１５４】
次に、特徴量取得部１０６０Ｂは、操作部１０２０と人１０４０とが接触する領域と接触しない領域とが切り替わる点の数のうち、最大値を特徴量とする。
【０１５５】
又は、特徴量取得部１０６０Ｂは、その最大値を２で割った指の数を特徴量とする。ここでは、前者を用いるものとする。図１８Ａ、図１８Ｂ、図１８Ｃの場合、特徴量はそれぞれ、「８」、「２」、「２」となる。
【０１５６】
図１９は、特徴量取得部１０６０Ｂが行う処理の流れを示す図である。図１５と同じ符号のステップは、特徴量取得部１０６０Ａを特徴量取得部１０６０Ｂに置き換えれば第２実施形態の場合と同じなので、説明を省略する。ただし、そのステップの前後に実行するステップが第２実施形態の場合と異なる場合がある。
【０１５７】
特徴量取得部１０６０Ｂは、ステップＳ９０１、Ｓ９０２を実行する。これらのステップＳ９０１、Ｓ９０２の処理は、それぞれ、第２実施形態と同様の処理である。
【０１５８】
次に、ステップＳ１２０３で、特徴量取得部１０６０Ｂは、初期化のため、Ｙ１に「０」を代入し、カウント数に「０」を代入する。Ｙ１、カウント数はそれぞれ変数である。
【０１５９】
次に、ステップＳ１２０４で、特徴量取得部１０６０Ｂは、判定処理を行う。すなわち、点（Ｘ１、Ｙ１）と点（Ｘ１、Ｙ１＋１）とにおける接触の真偽値の排他論理輪が「１」であるか否かを特徴量取得部１０６０Ｂで判定する。判定が真である場合（前記２つの点における接触の真偽値の排他論理輪が「１」であると特徴量取得部１０６０Ｂで判定した場合）は、ステップＳ１２０５に処理を進める。判定が偽である場合（前記２つの点における接触の真偽値の排他論理輪が「１」ではないと特徴量取得部１０６０Ｂで判定した場合）はステップＳ１２０６に処理を進める
ステップＳ１２０５では、特徴量取得部１０６０Ｂは、カウント数に「１」を加える。その後、ステップＳ１２０６に処理を進める。
【０１６０】
ステップＳ１２０６では、特徴量取得部１０６０Ｂは、Ｙ１に「１」を加える。
【０１６１】
次に、ステップＳ１２０７で、特徴量取得部１０６０Ｂは、Ｙ１がＹ＿ＭＡＸ以上であるかを判定する。判定が真である場合（Ｙ１がＹ＿ＭＡＸ以上であると特徴量取得部１０６０Ｂで判定する場合）は、処理をステップＳ９０４に進める。判定が偽の場合（Ｙ１がＹ＿ＭＡＸ未満であると特徴量取得部１０６０Ｂで判定する場合）は、処理をステップＳ１２０４に戻す。
【０１６２】
ステップＳ９０４に進む場合、それ以降の処理は第２実施形態の場合と同様である。なお、ステップＳ９０７では、特徴量取得部１０６０ＡはＸ１の値がＸ＿ＭＡＸより大きいかを判定するとき、判定が偽の場合（Ｘ１の値がＸ＿ＭＡＸ以下であると特徴量取得部１０６０Ａで判定した場合）はステップＳ１２０３に処理を戻す。
【０１６３】
以上が、特徴量取得部１０６０Ｂの処理の流れである。
【０１６４】
制御パラメータ設定部１０８０は、第１実施形態と同様に、特徴量に第一の所定の値を掛けた値をロボット１０１０の移動速度の上限値とする。ここでは、第一の所定の値を「５」とする。すなわち、図１８Ａ、図１８Ｂ、図１８Ｃの場合、それぞれの特徴量「８」、「２」、「２」に「５」を掛けた値を、ロボット１０１０の移動速度の上限値とする。つまり、図１８Ａ、図１８Ｂ、図１８Ｃの場合の移動速度の上限値は、それぞれ「４０」、「１０」、「１０」とする。
【０１６５】
本発明の第３実施形態によると、人１０４０と操作部１０２０との接触領域の特徴量に応じて、早く動かしやすい操作感と、ゆっくり（又は正確に、又は安全に）動かしやすい操作感とを変えることができる。
【０１６６】
具体的には、例えば、人１０４０は、操作部１０２０をしっかり親指と４本の指で握って、１ニュートン以上の力を加えた場合、ロボット１０１０を移動速度「４０」ミリメートル毎秒で移動でき、早く動かす操作感が良くなる。一方、図２Ｂのように親指と１本の指で握った場合、１ニュートン以上の力を加えた場合でも、ロボット１０１０は移動速度「１０」ミリメートル毎秒までしか移動しない。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット１０１０が大きく移動してしまうことはなく、ゆっくり（又は正確に、又は安全に）動かす操作感が良くなる。
【０１６７】
また、子供と大人のように手のサイズが異なる場合であっても、指の本数が同じであればだれでも操作感を切り替えることができる。
【０１６８】
また、操作部１０２０に、人１０４０以外の物体が一つ誤って接触していた場合、特徴量取得部１０６０Ａが取得する特徴量は「２」となる。よって、操作部１０２０に人１０４０以外の物体が接触してしまうような事態が生じても、ロボット１０１０の上限速度は「１３」とゆっくりである。よって、人１０４０が、接触した物体を取り除いたり、ロボット１０１０を緊急停止するなどの対策が取りやすい。
【０１６９】
（第４実施形態）
本発明の第４実施形態は、移動速度の上限値の制御パラメータの替わりに、機械インピーダンス制御における粘性パラメータの値を決定する実施形態である。第４実施形態では、図２０に示すように、第２実施形態における制御パラメータ決定部１０８０の替わりに、制御パラメータ決定部１０８０Ｃを用いる。また、制御部１０９０の替わりに、制御部１０９０Ｃを用いる。他の構成及び動作は、第２実施形態の場合と同様である。
【０１７０】
制御部１０９０Ｃが行うロボット１０１０のインピーダンス制御は、ロボット１０１０が外力を受けた場合に生じる機械的なインピーダンスを、目的とする作業に都合の良い値に設定するための位置と力の制御手法である（詳細については、特許文献２（特許３８６５１５８号）、特許文献３（特許４０５６０８０号）を参照のこと）。
【０１７１】
機械インピーダンス制御は、３つのインピーダンス特性である慣性パラメータ、剛性パラメータ、粘性パラメータ（減衰係数）の値に基づき、外力Ｆに対して移動対象物の位置を制御部１０９０Ｃにより動的に決定する制御方式である。具体的には、運動方程式
【０１７２】
【数３】
2012055985.tif 000005
に基づき、制御目標位置（すなわち移動対象物の位置）を制御部１０９０Ｃにより決定する。運動方程式において、Ｆは外力、Ｍは慣性パラメータ、Ｋは剛性パラメータ、Ｃは粘性パラメータ（減衰係数）、Ｘは（例えば重心の）目標位置、
【０１７３】
【数４】
2012055985.tif 000006
は（例えば重心の）速度、
【０１７４】
【数５】
2012055985.tif 000007
は（例えば重心の）加速度、Ｘ０は（例えば重心の）初期位置を示す。
【０１７５】
機械インピーダンス制御では、機械インピーダンスの粘性パラメータの値の設定によって、ロボット１０１０の動きが変わる。粘性パラメータを大きくすると、ロボット１０１０の動きに抵抗感が生じ、動きにくくなる。逆に、粘性パラメータを小さくすると、ロボット１０１０の動きに抵抗感が少なくなり、動きやすくなる。
【０１７６】
制御パラメータ決定部１０８０Ｃは、特徴量取得部１０６０Ａが取得した特徴量の逆数に第三の所定の値を掛けた値を粘性パラメータとする。例えば、特徴量取得部１０６０が、図２Ａ、図２Ｂ、図２Ｃの握り幅１２１０の値である特徴量「７０」、「７」、「３」を取得し、第三の所定の値が「２１」のとき、粘性パラメータは、それぞれ「２１×１／７０」、「２１×１／７」、「２１×１／３」となる。ここで、演算子「／」は割り算を示す。すなわち、「０．３」、「３」、「７」となる。
【０１７７】
本発明の第４実施形態によると、人１０４０と操作部１０２０との接触領域の特徴量に応じて粘性により抵抗感が変化するため、早く動かしやすい操作感と、ゆっくり（又は正確に、又は安全に）動かしやすい操作感とを変えることができる。
【０１７８】
具体的には、例えば、人１０４０は、操作部１０２０をしっかり握って、図２Ａのように接触の範囲を広くして操作部１０２０に力を加えた場合、ロボット１０１０の粘性パラメータは「０．３」となり、ほぼ粘性による抵抗感がない操作感でロボット１０１０を動かすことができ、早く動かす操作感が良くなる。一方、図２Ｂのように接触の範囲を狭くした場合、ロボット１０１０の粘性パラメータは「３」となり、粘性による抵抗感がある操作感でロボット１０１０を動かすことができる。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット１０１０が大きく移動してしまうことはなく、ゆっくり（又は正確に、又は安全に）動かす操作感が良くなる。
【０１７９】
（第５実施形態）
本発明の第５実施形態は、機械インピーダンスの粘性の制御パラメータの替わりに、機械インピーダンス制御における慣性パラメータの値を決定する実施形態である。第５実施形態では、図２１に示すように、第４実施形態における制御パラメータ決定部１０８０Ｃの替わりに制御パラメータ決定部１０８０Ｄを用いる。また、制御部１０９０Ｃの替わりに制御部１０９０Ｄを用いる。他は、第４実施形態の場合と同様である。
【０１８０】
制御部１０９０Ｄが行うロボット１０１０のインピーダンス制御は、第４実施形態の場合と同様である。
【０１８１】
機械インピーダンス制御では、機械インピーダンスの慣性パラメータの値の設定によって、ロボット１０１０の動きが変わる。慣性パラメータが大きくすると、ロボット１０１０の動きに重量感が生じ、動きにくくなる（発生する加速度が小さい）。逆に慣性パラメータを小さくすると、ロボット１０１０の動きに重量感が少なくなり、動きやすくなる（発生する加速度が大きい）。
【０１８２】
制御パラメータ決定部１０８０Ｃは、特徴量取得部１０６０Ａが取得した特徴量の逆数に第四の所定の値を掛けた値を粘性パラメータとする。例えば、特徴量取得部１０６０が、図２Ａ、図２Ｂ、図２Ｃの握り幅１２１０の値である特徴量「７０」、「７」、「３」を取得し、第四の所定の値が「２１」のとき、粘性パラメータは、それぞれ「２１×１／７０」、「２１×１／７」、「２１×１／３」となる。すなわち、「０．３」、「３」、「７」となる。
【０１８３】
本発明の第５実施形態によると、人１０４０と操作部１０２０との接触領域の特徴量に応じて慣性により重量感が変化するため、早く動かしやすい操作感と、ゆっくり（又は正確に、又は安全に）動かしやすい操作感とを変えることができる。
【０１８４】
具体的には、例えば、人１０４０は、操作部１０２０をしっかり握って、図２Ａのように接触の範囲を広くし力を加えた場合、ロボット１０１０の粘性パラメータは「０．３」となり、ほぼ慣性による重量感がない操作感でロボット１０１０を動かすことができ、早く動かす操作感が良くなる。一方、図２Ｂのように接触の範囲を狭くした場合、ロボット１０１０の慣性パラメータは「３」となり、慣性による重量感がある操作感でロボット１０１０を動かすことができる。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット１０１０が大きく加速してしまうことはなく、ゆっくり（又は正確に）動かす操作感が良くなる。
【０１８５】
（第６実施形態）
本発明の第６実施形態は、機械インピーダンスの慣性の制御パラメータの替わりに、機械インピーダンス制御における剛性パラメータの値を決定する実施形態である。第６実施形態では、図２２に示すように、第５実施形態における制御パラメータ決定部１０８０Ｄの替わりに制御パラメータ決定部１０８０Ｅを用いる。また、制御部１０９０Ｄの替わりに制御部１０９０Ｅを用いる。他は、第５実施形態の場合と同様である。
【０１８６】
制御部１０９０Ｅが行うロボット１０１０のインピーダンス制御は、第４実施形態の場合と同様である。
【０１８７】
機械インピーダンス制御では、機械インピーダンスの剛性パラメータの値の設定によって、ロボットの動きが変わる。剛性パラメータが大きくすると、ロボットの動きに硬さが生じ、動きにくくなる。逆に剛性パラメータを小さくすると、ロボットの動きに硬さが少なくなり、動きやすくなる。
【０１８８】
制御パラメータ決定部１０８０Ｅは、特徴量取得部１０６０Ａが取得した特徴量の逆数に第五の所定の値を掛けた値を剛性パラメータとする。例えば、特徴量取得部１０６０Ａが、図２Ａ、図２Ｂ、図２Ｃの握り幅１２１０の値である特徴量「７０」、「７」、「３」を取得し、第五の所定の値が「２１」のとき、粘性パラメータは、それぞれ「２１×１／７０」、「２１×１／７」、「２１×１／３」となる。すなわち、「０．３」、「３」、「７」となる。
【０１８９】
本発明の第６実施形態によると、人１０４０と操作部１０２０との接触領域の特徴量に応じて硬さにより操作感が変化するので、早く動かしやすい操作感と、ゆっくり（又は正確に）動かしやすい操作感とを変えることができる。
【０１９０】
具体的には、例えば、人１０４０は、操作部１０２０をしっかり握って、図２Ａのように接触の範囲を広くし力を加えた場合、ロボット１０１０の剛性パラメータは「０．３」となり、ほぼ硬さがない操作感でロボット１０１０を動かすことができ、早く動かす操作感が良くなる。一方、図２Ｂのように接触の範囲を狭くした場合、ロボット１０１０の剛性パラメータは「３」となり、剛性による硬さがある操作感でロボット１０１０を動かすことができる。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット１０１０が大きく移動してしまうことはなく、ゆっくり（又は正確に）動かす操作感が良くなる。
【０１９１】
（第７実施形態）
本発明の第７実施形態では、ダミーロボット（マスターロボット）を用いて作業用ロボット（スレーブロボット）の遠隔教示を行う場合について説明する。第７実施形態のロボットシステム（ロボット装置）１０００Ｆのブロック図を図２３に示す。ロボットシステム１０００Ｆは、人１０４０が加えた力を動力として動作するダミーロボット２６１０と、ダミーロボット２６１０に取り付けられた操作部１０２０Ｆと、ダミーロボット２６１０を制御する制御パラメータの値を決定するロボット制御パラメータ決定装置１０３０Ｆと、ダミーロボット２６１０の動作に追従して、ダミーロボット２６１０と同じ動作を行う作業用ロボット１０１０Ｆとで構成されている。
【０１９２】
作業用ロボット１０１０Ｆは、一例として、先の実施形態のロボットアームと同様な構造であってハンド１０１０Ｆｈを先端部に有するロボットアーム１０１０ＦＡと、ロボットアーム１０１０ＦＡを動作制御する制御部１０９０Ｆとを備えて構成されている。ロボットアーム１０１０ＦＡは、操作部１０２０と力検出部１０５０とが備えられていない点が、先の実施形態のロボットアームと異なる。
【０１９３】
ダミーロボット２６１０は、ロボット１０１０Ｆを遠隔操作するための装置であり、ロボットアーム２６１０Ａと、ロボットアーム２６１０Ａの関節を調節するモータ２６６０と、モータ２６６０を駆動制御する制御部２６２０と、位置取得部２６３０とを備えている。ダミーロボット２６１０は関節を曲げるためのモータを積んでおらず、ダミーロボット２６１０は人１０４０が操作部１０２０Ｆに加えた力を直接動力として移動する。また、操作部１０２０Ｆには、力検出部は取り付けられていない。
【０１９４】
ダミーロボット２６１０のロボットアーム２６１０Ａは、複数のリンク２６４０（２６４０Ａ，２６４０Ｂ）を有し、各リンク２６４０同士、及び、リンク２６４０と他の部材との間でかつ回動可能とする部分は、それぞれ、関節２６５０によってつながれている。各関節２６５０は、例えばリンク２６４０同士、又は、リンク２６４０と他の部材とを結合するねじとねじ受けとで構成されている。関節２６５０のねじをねじ受けに対して締める硬さによって、リンク２６４０同士の結合の力、又は、リンク２６４０と他の部材との間の結合の力が変わり、リンク２６４０の動きやすさが変わる。リンク２６４０間、又は、リンク２６４０と他の部材との間の結合の力が小さい場合には、人１０４０が操作部１０２０Ｆに加えた力によって、リンク２６４０は移動しやすい。リンク２６４０間、又は、リンク２６４０と他の部材との間の結合の力が大きい場合には、人１０４０が操作部１０２０Ｆに加えた力によって、リンク２６４０は移動しにくい。モータ２６６０は、リンク２６４０の結合の力を変える装置である。具体的には、例えば、それぞれの関節２６５０のねじを、モータ２６６０により、独立して正逆回転することで、それぞれのねじの硬さを変えることができる。ねじの硬さが変わると、リンク２６４０間、又は、リンク２６４０と他の部材との間の結合の力が変わる。モータ２６６０の正逆回転駆動は、制御部２６２０で制御される。
【０１９５】
図２３では、代表例として１つのモータ２６６０を複数の関節２６５０の外部に記載しているが、実際には、それぞれの関節にそれぞれ１つのモータ２６６０が取り付けられている。図２４Ａ及び図２４Ｂは、関節２６５０の構造を示す図である。図２４Ａは、ダミーロボット２６１０のロボットアーム２６１０Ａにおいて一例として着目する、リンク２６４０Ａとリンク２６４０Ｂとの間の関節２６５０Ａの位置を示す図である。関節２６５０Ａは、リンク２６４０Ａとリンク２６４０Ｂとを接続する関節である。図２４Ｂは、図２４Ａの平面Ｐにおけるダミーロボット２６１０のロボットアーム２６１０Ａの断面を示す図である。この断面図においては、リンク２６４０Ａの両側には、リンク２６４０Ｂがある。更に、それらは、ねじ３３１０とねじ受けの一例であるナット３３３０とによって挟まれている。モータ２６６０の回転軸３３２０は、ねじ３３１０の一端に固定され、モータ２６６０が正逆回転することによってねじ３３１０はナット３３３０に対して正逆回転する。ねじ３３１０がナット３３３０に対して締まると、リンク２６４０Ａとリンク２６４０Ｂとの間に発生する摩擦力が増えて関節２６５０Ａは回転移動しにくくなる。一方、ねじ３３１０がナット３３３０に対して緩むと、リンク２６４０Ａ，２６４０Ｂとの間に発生する摩擦力は減って関節２６５０Ａは回転移動しやすくなる。他の関節２６５０も、関節２６５０Ａと同様な構造となっている。
【０１９６】
制御部２６２０は、モータ２６６０を制御する手段である。位置取得部２６３０は、ダミーロボット２６１０Ａのロボットアーム２６１０Ａのハンド２６１０Ａｈの位置を取得する手段である。具体的には、例えば、ダミーロボット２６１０Ａのロボットアーム２６１０Ａの各関節２６５０にモータ２６６０と共に設置した（図示しない）エンコーダによって、モータ２６６０の回転軸３３２０の回転角度を検出して、ハンド２６１０Ａｈの位置を取得する。なお、ここでは、図２３に示すように、ダミーロボット２６１０のロボットアーム２６１０Ａと地面との接触面の中心をダミーロボット原点２６７０とし、ダミーロボット原点２６７０からの位置をハンド２６１０Ａｈの位置とする。
【０１９７】
ロボット１０１０Ｆのロボットアーム１０１０ＦＡは、ダミーロボット２６１０のロボットアーム２６１０Ａの動作に追従して動作するロボットである。ロボット１０１０Ｆの制御部１０９０Ｆは、ダミーロボット２６１０の位置取得部２６３０からダミーロボット２６１０のロボットアーム２６１０Ａのロボットハンド１０１０Ａｈの位置を取得し、取得した位置にロボット１０１０Ｆのハンドを移動する。なお、ここでは、ロボット１０１０Ｆのロボットアーム１０１０ＦＡと地面との接触面の中心をロボット原点２６８０とし、ロボット原点２６８０からの位置をハンド１０１０Ｆｈの位置とする。
【０１９８】
ロボット制御パラメータ決定装置１０３０Ｆは、特徴量取得部１０６０と制御パラメータ決定部１０８０Ｆとで構成されている。特徴量取得部１０６０は、第１実施形態の場合と同様である。制御パラメータ決定部１０８０Ｆは、特徴量取得部１０６０が取得した特徴量の逆数に第六の所定の値を掛けた値を、リンク２６４０同士の結合の力、又は、リンク２６４０と他の部材との間の結合の力とする。例えば、特徴量取得部１０６０が、図２Ａ、図２Ｂ、図２Ｃの握り幅１２１０の値である特徴量「７０」、「７」、「３」を取得し、第六の所定の値が「２１」のとき、リンク２６４０の結合の力は、それぞれ「２１×１／７０」、「２１×１／７」、「２１×１／３」となる。すなわち、「０．３」、「３」、「７」となる。
【０１９９】
本発明の第７実施形態によると、人１０４０と操作部１０２０との接触領域の特徴量に応じて、ダミーロボット２６１０を早く動かしやすい操作感と、ゆっくり（又は正確に）動かしやすい操作感とを変えることができる。
【０２００】
具体的には、例えば、人１０４０は、操作部１０２０をしっかり握って、図２Ａのように接触の範囲を広くして力を加えた場合、ダミーロボット２６１０のリンク２６４０の結合の力は「０．３」となり、ほぼ硬さがない操作感でロボット１０１０を動かすことができ、早く動かす操作感が良くなる。一方、図２Ｂのように接触の範囲を狭くした場合、ダミーロボット２６１０のリンク２６４０の結合の力は「３」となり、結合による硬さがある操作感でロボット１０１０を動かすことができる。よって、精度を要する作業の途中で誤って力が入ってしまっても、ダミーロボット２６１０が大きく移動してしまうことはなく、ゆっくり（又は正確に）動かす操作感が良くなる。
【０２０１】
＜第１変形例＞  なお、第７実施形態では、人１０４０は、ダミーロボット２６１０とは別に設けられた操作部１０２０Ｆを操作する場合を説明している。しかしながら、本発明はこれに限定されるものではなく、第７実施形態の第１変形例として、ダミーロボット２６１０に特徴量取得部１０６０を配置して、特徴量取得部１０６０が配置された部分においてダミーロボット２６１０を握って操作を行う構成としても構わない。この場合、ダミーロボット２６１０自体が、操作部１０２０Ｆを兼ねる構成であるといえる。
【０２０２】
＜第２変形例＞  なお、第７実施形態では、ダミーロボット２６１０の動作によって、ロボット１０１０Ｆが動作する構成を説明している。しかしながら、本発明はこれに限定されるものではなく、第７実施形態の第２変形例として、実際に動作するロボット１０１０Ｆがない構成であっても構わない。例えば、ダミーロボット２６１０がポーズ人形であって、コンピュータグラフィック上で表現される人の各関節の位置データを生成する構成であっても構わない。人１０４０はポーズ人形を動かしてポーズをとらせることで、コンピュータグラフィック上で動く人の位置データを取得する。
【０２０３】
なお、第７実施形態では、ダミーロボット２６１０の特徴量に応じて、リンクの結合力を変える構成を示したが、ダミーロボット２６１０を動かしやすさを変更する他の制御パラメータを変える構成であっても構わない。例えば、油圧式ロボットにおける油圧、又は、油量などであっても構わない。
【０２０４】
（第８実施形態）
本発明の第８実施形態は、予め定められた動作を自律的に行うロボットに対し、人１０４０が操作部１０２０に加えた力に基づいて動作を補正する場合の実施形態である。
【０２０５】
図２５は、第８実施形態におけるロボットシステム（ロボット装置）１０００Ｇのブロック構成を示す図である。ロボットシステム１０００Ｇは、人１０４０が加えた力に基づいて動作するロボット１０１０Ｇと、ロボット１０１０Ｇを制御する制御パラメータの値を決定するロボット制御パラメータ決定装置１０３０Ｇとを有する。他は、第１実施形態と同様である。
【０２０６】
ロボット１０１０Ｇは、鍋のかき混ぜ動作を行うロボットである。ロボット１０１０Ｇは、一例として、先の実施形態のロボットアームと同様な構造であってハンド１０１０Ｇｈを先端部に有するロボットアーム１０１０ＧＡと、ロボットアーム１０１０ＧＡを動作制御する制御部１０９０Ｇと、目標位置取得部２７３０とを備えて構成されている。
【０２０７】
ロボット１０１０Ｇのロボットアーム１０１０ＧＡのハンド１０１０Ｇｈは、お玉（レードル）２７１０を把持し、予め定められた半径Ｒでお玉２７１０をかき混ぜ続ける。その際、ロボット１０１０Ｇのロボットアーム１０１０ＧＡのハンド１０１０Ｇｈが地面（ＸＹ平面とする）に平行な平面上で回転運動を行うことで、お玉２７１０は、シチュー等が入った鍋２７４０をかき混ぜる。鍋２７４０には、図示しない多数の食材が入っており、お玉２７１０が食材にぶつかることで、ロボット１０１０Ｇのロボットアーム１０１０ＧＡには予想困難な外力が加わる。
【０２０８】
また、人１０４０が操作部１０２０に加えた力に基づいて、お玉２７１０の回転動作の中心である回転中心２７２０の位置を変更する。具体的には、例えば、人１０４０が操作部１０２０に下側に力が加えられた場合、回転中心２７２０の座標を上下方向の下側に移動する。
【０２０９】
本第８実施形態では、前記したようにロボット１０１０Ｇのロボットアーム１０１０ＧＡには予想困難な外力が加わる。予想困難な外力のような外乱がロボットアーム１０１０ＧＡに加わる環境では、ロボット１０１０Ｇのロボットアーム１０１０ＧＡのハンド１０１０Ｇｈの位置が振動する場合がある。振動が発生しやすいか、振動が発生しにくいかは、ロボットアーム１０１０ＧＡの制御のパラメータの値によって替わる。制御のパラメータ、例えば、機械インピーダンス制御の粘性パラメータの値を大きくすると、ハンド１０１０Ｇｈの位置の振動は起こりにくくなる。しかし、粘性パラメータの値を大きくすると、ロボットアーム１０１０ＧＡのハンド１０１０Ｇｈを早く移動することが困難となる。逆に、粘性パラメータの値が小さい場合には、ロボットアーム１０１０ＧＡのハンド１０１０Ｇｈを早く動かしやすいが、ハンド１０１０Ｇｈの位置の振動は起りやすい。
【０２１０】
ここでは、操作部１０２０を人１０４０がしっかり握ると、ハンド１０１０Ｇｈの位置の振動が起こりにくくなるように制御パラメータの値を決定する一方、操作部１０２０を人１０４０が軽く握ると、ロボットアーム１０１０ＧＡのハンド１０１０Ｇｈを早く動かしやすい操作感が得られるように制御パラメータを決定する、ロボット制御パラメータ決定装置１０３０Ｇについては、後述する。
【０２１１】
まず、ロボット１０１０Ｇについて説明する。
【０２１２】
ロボット１０１０Ｇの目標位置取得部２７３０は、ロボットアーム１０１０ＧＡのハンド１０１０Ｇｈの目標位置を取得する手段である。目標位置取得部２７３０の構成を図２６に示す。また、目標位置と、目標位置算出に関係する位置の関係を図２７に示す。
【０２１３】
目標位置取得部２７３０は、回転半径記憶部２８１０と、中心位置記憶部２８２０と、力取得部２８３０と、中心位置更新部２８４０と、回転角記憶部２８５０と、回転角更新部２８６０と、目標位置算出部２８７０とを備えて構成している。
【０２１４】
以下、目標位置取得部２７３０を構成する各部を説明する。ロボット１０１０Ｇは、ロボットアーム１０１０ＧＡのハンド１０１０Ｇｈの位置を回転中心２７２０から一定の距離で回転させることで、鍋２７４０をお玉２７１０でかき混ぜる。その際、回転中心２７２０の回りのお玉２７１０の回転角２０７０は時々刻々と変化する。
【０２１５】
回転半径記憶部２８１０は、ロボットアーム１０１０ＧＡのハンド１０１０Ｇｈを回転させる際の回転半径を記憶する手段である。ここでは、予め値が記憶されているものとする。例えば「１００」ミリメートルとする。
【０２１６】
中心位置記憶部２８２０は、ロボットアーム１０１０ＧＡのハンド１０１０Ｇｈを回転させる際の、回転中心２７２０の位置座標を記憶する手段である。ここでは、回転中心２７２０の位置座標の初期値として「（０，２０００，５０）」が記憶されているものとする。図２７において、２０００は、ロボットアーム１０１０ＧＡと地面との接触面の中心であり、以降の説明では、これを原点とする。２７２０は、回転中心を表す。２０２０は、原点２０００を始点とし、回転中心２７２０を終点とする回転中心２７２０の位置ベクトルである。回転中心２７２０の位置座標の初期値「（０，２０００，５０）」は、回転中心２７２０の位置ベクトル２０２０の初期位置を示すベクトルである。
【０２１７】
力取得部２８３０は、力検出部１０５０が検出した力の向きを取得する手段である。
【０２１８】
すなわち、力取得部２８３０は、力検出部１０５０を用いて力検出部１０５０が取得した力の向きを取得する。具体的には、パーソナルコンピュータで力検出部１０５０を管理する場合には、力検出部１０５０を管理するデバイスドライバに力の向きを取得するコマンドを送信（すなわち、デバイスドライバの関数の呼び出しを実行）し、力の向きを取得する。
【０２１９】
中心位置更新部２８４０は、力取得部２８３０が取得した力の向きに基づいて、中心位置記憶部２８２０が記憶する回転中心２７２０の位置座標を更新する。例えば、力取得部２８３０に対して右向きに力が入れば、回転中心２７２０の位置座標を右にずらした位置座標を、回転中心２７２０の位置座標として更新して記憶する。ここでは、力取得部２８３０が取得した力の向きが（Ｆ＿Ｘ、Ｆ＿Ｙ、Ｆ＿Ｚ）、中心位置記憶部２８４０が記憶している回転中心２７２０の位置ベクトルが（Ｃ＿Ｘ、Ｃ＿Ｙ、Ｃ＿Ｚ）のとき、更新後の回転中心２７２０の位置ベクトル（Ｃ＿Ｘ＿ＮＥＷ、Ｃ＿Ｙ＿ＮＥＷ、Ｃ＿Ｚ＿ＮＥＷ）を「（Ｃ＿Ｘ＿ＮＥＷ、Ｃ＿Ｙ＿ＮＥＷ、Ｃ＿Ｚ＿ＮＥＷ）＝（Ｃ＿Ｘ、Ｃ＿Ｙ、Ｃ＿Ｚ）＋（第七の所定の値）×（Ｆ＿Ｘ、Ｆ＿Ｙ、Ｆ＿Ｚ）」とする。具体的には、回転中心２７２０の位置ベクトルが「（０、２０００、５０）」、第七の所定の値が「１０」、力の向きが「０、１、０」のとき、更新後の回転中心２７２０の位置ベクトルは「（０、２０００、５０）＋１０×（０、１、０）」より、「（０、２７２０、５０）」となる。
【０２２０】
回転角記憶部２８５０は、回転中心２７２０に対する、目標位置の回転角２０７０を記憶する手段である。初期値として「０」が格納されているものとする。回転角２０７０は、回転中心２７２０の位置を始点とし、目標位置を終点とする回転中心２７２０と目標位置を結ぶベクトルと、Ｘ軸＋方向とが（反時計回りに）なす角度である。２０３０は、回転角２０７０が「０」の時の目標位置を示す。また、２０４０は、回転角２０７０が「０」のときの回転中心２７２０と目標位置２０３０を結ぶベクトル（（回転半径）、０、０）を示す。また、２０５０は、回転角２０７０が「９０」の時の目標位置を示す。また、２０６０は、回転角２０７０が「９０」のときの回転中心２７２０と目標位置２０５０を結ぶベクトル（０、（回転半径）、０）を示す。また、２０７０は、回転角が「９０」のときの回転角を示す。
【０２２１】
回転角更新部２８６０は、回転角記憶部２８５０が記憶する回転角２０７０を更新する手段である。ここでは、「（更新後の回転角）＝（（更新前の回転角）＋（第八の所定の値））％３６０」とする。ここで、演算子「％」は剰余を表す。すなわち、「Ａ％Ｂ」は、ＡをＢで割った余りを表す。ここでは、第八の所定の値を「１０」とする。
【０２２２】
目標位置算出部２８７０は、ハンド１０１０Ｇｈの目標位置を算出する手段である。原点２０００と目標位置を結ぶ目標位置ベクトルは、「（回転中心の位置ベクトル）＋（回転中心と目標位置を結ぶベクトル）」である。また、回転半径をＲ、回転角をθとするとき、回転中心２７２０と目標位置を結ぶベクトルは、「Ｒ×（ｃｏｓθ、ｓｉｎθ、０）」となる。回転中心２７２０の位置ベクトルを（Ｃ＿Ｘ、Ｃ＿Ｙ、Ｃ＿Ｚ）とするとき、目標位置ベクトルは、「（Ｃ＿Ｘ＋Ｒ×ｃｏｓθ、Ｃ＿Ｙ＋Ｒ×ｓｉｎθ、Ｃ＿＿Ｚ）」となる。
【０２２３】
以下、目標位置算出部２８７０で目標位置を算出する処理を説明する。図２８は、目標位置算出部２８７０の処理の流れを示す図である。
【０２２４】
目標位置算出部２８７０は、ステップＳ１９０１で処理を開始する。
【０２２５】
次に、ステップＳ１９０２で、目標位置算出部２８７０は、回転半径記憶部２８１０より回転半径Ｒを取得する。具体的には例えば「１００」を取得する。
【０２２６】
次に、ステップＳ１９０３で、目標位置算出部２８７０は、中心位置更新部２８４０に中心位置更新の開始を指示する。指示を受けた中心位置更新部２８４０は、力取得部２８３０より力の大きさ及び向きを取得する。具体的には例えば、力の大きさ「２」と、力の向き「（０、１、０）」とを取得する。
【０２２７】
次に、ステップＳ１９０４で、中心位置更新部２８４０は、取得した力の大きさが閾値以上であるかを判定する。判定結果が真の場合（取得した力の大きさが閾値以上であると中心位置更新部２８４０で判定する場合）は、ステップＳ１９０６に処理を進める。偽の場合（取得した力の大きさが閾値未満であると中心位置更新部２８４０で判定する場合）は、ステップＳ１９０５に処理を進める。ここでは、閾値を「１」とする。
【０２２８】
ステップＳ１９０５に進む場合、中心位置更新部２８４０は、中心位置記憶部２８２０より、中心位置２７２０の座標を取得する。中心位置更新部２８４０は、取得した中心位置２７２０の座標と、力の向きより、更新後の中心位置を算出する。ここでは、力取得部２８３０が取得した力の向きが（Ｆ＿Ｘ、Ｆ＿Ｙ、Ｆ＿Ｚ）、中心位置記憶部２８４０が記憶している中心位置が（Ｃ＿Ｘ、Ｃ＿Ｙ、Ｃ＿Ｚ）のとき、更新後の中心位置（Ｃ＿Ｘ＿ＮＥＷ、Ｃ＿Ｙ＿ＮＥＷ、Ｃ＿Ｚ＿ＮＥＷ）を「（Ｃ＿Ｘ＿ＮＥＷ、Ｃ＿Ｙ＿ＮＥＷ、Ｃ＿Ｚ＿ＮＥＷ）＝（Ｃ＿Ｘ、Ｃ＿Ｙ、Ｃ＿Ｚ）＋（第七の所定の値）×（Ｆ＿Ｘ、Ｆ＿Ｙ、Ｆ＿Ｚ）」とする。ここでは、第七の所定の値を「１０」とする。（Ｆ＿Ｘ、Ｆ＿Ｙ、Ｆ＿Ｚ）が（０、１、０）で、回転の中心が（０，２０００，５０）の時、「（０、２０００、５０）＋１０×（０、１、０）」より、更新後の中心位置（０、２０１０、５０）となる。その後、ステップＳ１９０６に進む。
【０２２９】
ステップＳ１９０６では、目標位置算出部２８７０は、中心位置記憶部２８２０が記憶する中心位置２７２０の座標を取得する。ここでは、例えば、（０、２０１０、５０）を取得する。
【０２３０】
次に、ステップＳ１９０７で、目標位置算出部２８７０は、回転角記憶部２８５０が記憶する回転角２０７０を取得する。ここでは、例えば「０」を取得する
次に、ステップＳ１９０８で、目標位置算出部２８７０は、目標位置の算出を行う。目標位置算出部２８７０は、式「（Ｃ＿Ｘ＋Ｒ×ｃｏｓθ、Ｃ＿Ｙ＋Ｒ×ｓｉｎθ、Ｃ＿＿Ｚ）」に、ステップＳ１９０２で取得した回転半径Ｒ、ステップＳ１９０４又はステップＳ１９０５で取得した回転中心２７２０の位置ベクトル（Ｃ＿Ｘ、Ｃ＿Ｙ、Ｃ＿Ｚ）、ステップＳ１９０７で取得した回転角θを代入して、目標位置を算出する。具体的には、例えば、回転半径Ｒが「１０００」、回転中心２７２０の位置ベクトル（Ｃ＿Ｘ、Ｃ＿Ｙ、Ｃ＿Ｚ）が「（０、２０１０、５０）」、回転角θが「０」のとき、「（０＋１０００×ｃｏｓ０、２０１０＋１０００×ｓｉｎ０、５０）」より、「（１０００、２０１０、５０）」を取得する。
【０２３１】
次に、ステップＳ１９０９で、目標位置算出部２８７０は、算出した目標位置を制御部１０９０Ｇに送信する。目標位置を取得した制御部１０９０Ｇはロボットアーム１０１０ＧＡのハンド１０１０Ｇｈを目標位置に移動する。
【０２３２】
次に、ステップＳ１９１０で、目標位置算出部２８７０は、回転角更新部２８６０を用いて、回転角記憶部２８５０が記憶する回転角の更新を行う。例えば、更新前の回転角が「０」のとき、「１０」に更新する。
【０２３３】
次に、ステップＳ１９１１で、目標位置算出部２８７０は、終了判定を行う。終了判定は、例えば、図示しない緊急停止ボタンが押されているか否かによって判断する。終了判定が真の場合（図示しない緊急停止ボタンが押されていると目標位置算出部２８７０で判断する場合）は処理をステップＳ１９１２に進める。偽の場合（図示しない緊急停止ボタンが押されていないと目標位置算出部２８７０で判断する場合）は処理をステップＳ１９０３に戻す。
【０２３４】
次に、ステップＳ１９１２に進む場合、処理を終了する。
【０２３５】
以上が、目標位置算出部２８７０が行う処理の流れである。
【０２３６】
ロボット１０１０Ｇの制御部１０９０Ｇは、第４実施形態と同様に、機械インピーダンス制御を行う。制御パラメータ決定部１０３０Ｇによって決定された粘性パラメータを用いて、目標位置算出部２８７０から受信した目標位置に対し、ロボットアーム１０１０ＧＡのハンド１０１０Ｇｈを移動する。
【０２３７】
一方、ロボット制御パラメータ決定装置１０３０Ｇは、特徴量取得部１０６０と制御パラメータ決定部１０８０Ｇとを備えて構成している。
【０２３８】
制御パラメータ決定部１０８０Ｇは、機械インピーダンスの粘性パラメータの値を決定する。操作部１０２０が図２Ａのようにしっかり握られている場合には、機械インピーダンス制御の粘性パラメータの値を、ハンド１０１０Ｇｈの位置の振動が起こりにくくなるような値、すなわち、大きな値に決定する。逆に、図２Ｂのように狭い範囲で握られている場合には、機械インピーダンス制御の粘性パラメータの値を、ハンド１０１０Ｇｈの位置の振動が起こりやすいが素早く動かせる値、すなわち、小さな値に決定する。具体的には、制御パラメータ決定部１０８０Ｇは、特徴量取得部１０６０が取得した特徴量に第九の所定の値を掛けた値を粘性パラメータとする。
【０２３９】
例えば、特徴量取得部１０６０が、図２Ａ、図２Ｂ、図２Ｃの握り幅１２１０の値である特徴量「７０」、「７」、「３」を取得し、第九の所定の値が「０．１」のとき、粘性パラメータは、それぞれ「７０×０．１」、「７×０．１」、「３×０．１」となる。すなわち、「７」、「０．７」、「０．３」となる。
【０２４０】
本発明の第８実施形態によると、人１０４０と操作部１０２０との接触領域の特徴量に応じて、早く動かしやすい操作感と、ゆっくり（又は正確に）動かしやすい操作感とを変えることができる。
【０２４１】
具体的には、例えば、人１０４０は、操作部１０２０をしっかり握って、図２Ａのように接触の範囲を広くし力を加えた場合、ロボットアーム１０１０ＧＡの粘性パラメータは「７」となり、粘性による抵抗感が発生する。そのため、ハンド１０１０Ｇｈが把持するお玉２７１０が、鍋２７４０の内部の食材に頻繁に衝突し、ロボットアーム１０１０ＧＡに外力が加わるような場合にも、粘性による抵抗感が発生し、ハンド１０１０Ｇｈの位置の振動が起こりにくくなる。また、粘性による抵抗感がある操作感でロボットアーム１０１０ＧＡを動かすことができるので、精度を要する作業の途中で誤って力が入ってしまっても、ロボットハンド１０１０Ｇｈが大きく移動してしまうことはなく、ゆっくり（又は正確に、又は安全に）動かす操作感が良くなる。
【０２４２】
一方、図２Ｂのように接触の範囲を狭くした場合、ロボットアーム１０１０ＧＡの粘性パラメータは「０．７」となり、粘性による抵抗感がほとんど発生しない。そのため、ロボットハンド１０１０Ｇｈが把持するお玉２７１０が、鍋２７４０の内部の食材に頻繁に衝突し、ロボットアーム１０１０ＧＡに外力が加わる場合にも、粘性による抵抗感が発生しないので、ハンド１０１０Ｇｈの位置の振動が起りやすくなる。また、粘性による抵抗感がない操作感でロボットアーム１０１０ＧＡを動かすことができ、早く動かす操作感が良くなる。よって、お玉２７１０を鍋２７４０の食材のある位置まで下す際に、図２Ｂの握り方で操作を行えば、早く、お玉２７１０を下すことが出来る。
【０２４３】
一般に、直接教示を行うロボットハンド１０１０Ｇｈが振動している場合、人は、ロボットアーム１０１０ＧＡをしっかり握って止めようとすることが観察されている。本発明の第８実施形態では、人１０４０が作業を変える際に意識せずに生じる持ち方の変更に応じて、ロボットアーム１０１０ＧＡの操作感を切り替えることが出来る。そのため、人１０４０がロボットアーム１０１０ＧＡの操作感を切り替えるための作業負担、切り替える方法を習得するための学習負担は共に少ない。
【０２４４】
＜第１変形例＞
第８実施形態では、特徴量は、握り幅の長さである場合を述べている。この場合、特徴量は多段階になる。しかしながら、本発明はこれに限定されるものではなく、第８実施形態の第１変形例として、測定した握り幅の長さを、閾値との大小比較によって特徴量を２つの段階で設定する構成としても構わない。例えば、制御パラメータ決定部１０８０は、前記特徴量が閾値よりも高い場合に、前記ロボット１０１０が、所定の粘性パラメータの値よりも早く移動しやすい粘性パラメータの値を決定し、前記特徴量が前記閾値よりも低い場合に、前記ロボット１０１０が、前記所定の粘性パラメータの値よりもゆっくり移動しやすい粘性パラメータの値を設定する。この結果、広く握れば（握り幅の長さが大きくなれば）、ロボット１０１０がゆっくり移動しやすくなる。その場合、例えば、握り幅の長さが閾値「３０」ミリメートル以下の場合には、粘性パラメータの値を「０．７」とし、握り幅の長さが閾値「３０」ミリメートルを超える場合には、粘性パラメータの値を「７」とする。このような構成においても、第８実施形態の効果で説明した効果が得られる。
【０２４５】
また、ここで決定する制御パラメータは、粘性パラメータに限らず、移動速度であっても構わない。例えば、制御パラメータ決定部１０８０は、前記特徴量が閾値よりも低い場合に、前記ロボット１０１０が、所定の移動速度よりも早く移動しやすい制御パラメータの値を決定し、前記特徴量が前記閾値よりも高い場合に、前記ロボット１０１０が、前記所定の移動速度よりもゆっくり移動しやすい制御パラメータの値を設定する。この結果、狭く握れば（握り幅の長さが小さくなれば）、ロボット１０１０が移動しやすくなる。その場合、例えば、握り幅の長さが閾値「３０」ミリメートル以下の場合には、移動速度の上限値の制御パラメータの値を「１４０」とし、握り幅の長さが閾値「３０」ミリメートルを超える場合には、制御パラメータの値を「１４」とする。このような構成においても、第８実施形態の効果で説明した効果が得られる。
【０２４６】
（第９実施形態）
本発明の第９実施形態は第２実施形態と同様の接触センサ１７１０を用い、操作部１０２０がしっかり安定した握り方をされているかを特徴量とする実施形態である。操作部１０２０がしっかり握られていない場合は、力検出部１０５０に人１０４０が意図しない力が加わっている可能性がある。よって、しっかり握られていない場合には、力検出部１０５０が取得した力をロボット１０１０の移動に反映させるのを控えるか、又は、控えめにする。
【０２４７】
ここでは、いくつかの握り方を例示して、その安定性を述べる。
【０２４８】
図２９Ａ〜図２９Ｆは、それぞれ、図１３の操作部１０２０を上から見た図である。
【０２４９】
図２９Ａは、人１０４０の手が円柱状の操作部１０２０の周りを包み込んで握っている状態を示す。人１０４０の手と操作部１０２０との接触点では、人１０４０の手が操作部１０２０を押さえつける力が発生している。これを図２９Ａ中の矢印で示す。人１０４０の手が操作部１０２０を押さえつける力は、操作部１０２０の表面の法線の逆方向を向いていると近似することが出来る。図２９Ａでは、人１０４０の手が、操作部１０２０を押さえつける力を調整することで、操作部１０２０に加わる合力を０とすることが出来る。すなわち、操作部１０２０を手で安定して握ることが出来る。なお、図２９Ａでは、人１０４０の手が操作部１０２０の外周に接触している領域すなわち接触領域３１３０は、操作部１０２０の全外周となっている。
【０２５０】
図２９Ｂは、人１０４０の手で円柱状の操作部１０２０を握る途中の段階であって、手の人差し指、中指、薬指、小指が操作部１０２０にかかった状態を示す。操作部１０２０を上から見た外周上には、人１０４０の手が接触している領域と、人１０４０の手が接触していない領域とがある。それぞれを、接触領域３１３０、非接触領域３１２０とする。図２９Ｂでは、おおよそ、接触領域３１３０は操作部１０２０の外周の３分の１程度であり、非接触領域３１２は操作部１０２０の外周の３分の２程度である。接触領域３１３０では、人１０４０の手が操作部１０２０を押さえつける力が発生している。人１０４０の手が操作部１０２０を押さえつける力は、操作部１０２０の表面の法線の逆方向を向いていると考えることができる。これを図２９Ｂ中の矢印で示す。
【０２５１】
図２９Ｂでは、人１０４０の手が、操作部１０２０を押さえつける力を調整しても、操作部１０２０に加わる合力を０とすることは出来ない。この状態では、操作部１０２０に人１０４０が意図しない力が加わっている場合がある。例えば、人１０４０が慌てて、手で操作部１０２０を握ろうとした場合、握る途中、指が勢いよく操作部１０２０にぶつかってしまい、図２９Ｂ中の左上方向に力が発生する。この場合、操作部１０２０に人１０４０が意図しない力が加わり、ロボット１０１０は、人１０４０の意図しない方向に移動してしまう危険性がある。このような握り方は、「安定しない握り方」と考えられる。
【０２５２】
一方、図２９Ｃは、図１３Ａの握り方をしたときの状態を示す。図２９Ｃでは、おおよそ、接触領域３１３０は操作部１０２０の外周の４分の３程度であり、非接触領域３１２は操作部１０２０の外周の４分の１程度である。
操作部１０２０は人１０４０の手にしっかり囲まれている。図２９Ａ、図２９Ｂと同様に押さえつける力を矢印で図示する。図２９Ｃでは、人１０４０の手が、操作部１０２０を押さえつける力を調整することで、操作部１０２０に加わる合力を０とすることが出来る。
【０２５３】
以上のように、図２９Ｂの握り方は「安定しない握り方」であり、図２９Ｃは「安定した握り方」である。この差は、非接触領域３１２０の大きさによる。すなわち、非接触領域３１２０が広いほど、不安定な握り方であり、非接触領域３１２０が狭いほど、安定した握り方である。非接触領域３１２０がない図２９Ａの場合、最も安定した握り方である。
【０２５４】
ここでは、操作部１０２０を上から見たときの形状が円形状となる場合を示したが、それ以外の場合を考慮すると、図２９Ｃにおいて、操作部１０２０の外周上での非接触領域３１２０の両端の２点における、表面の法線の方向の差の角度３１５０が大きければ大きいほど、不安定な握り方である。すなわち、非接触領域３１２０の両端の２点における表面の法線の方向のベクトル３１７０とベクトル３１７１のなす角度３１５０（算出方向は後述する）が大きいほど、不安定な握り方であるといえる。すなわち、角度３１５０が大きいほど、不安定な握り方であり（例えば、図２９Ｂ）、角度３１５０が小さいほど、安定した握り方である（例えば図２９Ｃ）。
【０２５５】
また、例えば、図２９Ｆのように直方体形状の操作部１０２０を２本の指でつまむような握り方では、非接触領域３１２０の長さは、図２９Ｂの場合よりも長いが、操作部１０２０を両側からしっかり挟んでいるので、安定した握り方であるといえる（図２９Ｆでは、図２９Ｂの場合より、角度３１５０は小さいため）。
【０２５６】
以上より、非接触領域３１２０の両端の２点における表面を押さえつける方向の差の角度３１５０が大きければ大きいほど、不安定な握り方であると言える。すなわち、非接触領域３１２０の両端の２点における表面を押さえつける方向のベクトル３１６０とベクトル３１６１のなす角度が大きいほど、不安定な握り方であるといえる。
【０２５７】
特に、角度３１５０が１８０度よりも大きくなると、人１０４０の手が、操作部１０２０を押さえつける力を調整しても、操作部１０２０に加わる合力を０とすることは出来ないので、不安定である。（厳密には、０とすることが出来る場合もある。ここでは、人１０４０の手が操作部１０２０を押さえつける力は、操作部１０２０の表面の法線の逆方向と近似したが、それ以外の方向に力を加えることで合力を０にすることは可能である。ただ、角度３１５０が１８０度よりも大きくなるに従って、より不安定になることは言える。）
なお、前記角度３１５０は、以下の考え方で算出することができる。、ベクトルＡとベクトルＢがなす角度（すなわち、前記角度３１５０）を「θ」、ベクトルＡの大きさを「｜Ａ｜」、ベクトルＢの大きさを「｜Ｂ｜」、ベクトルＡの大きさとベクトルＢの大きさの積を「｜Ａ｜｜Ｂ｜」、ベクトルＡとベクトルＢの内積をＡ・Ｂとしたとき、以下の式が成り立ち、この式からθを算出することができる。
【０２５８】
ＣＯＳθ＝Ａ・Ｂ／（｜Ａ｜｜Ｂ｜）
図２９Ｄ、図２９Ｅでは、非接触領域が複数の場合の握り方の例を示すものである。すなわち、手の外側の非接触領域３１２０と手の内側の非接触領域３１２１とがある。この場合には、非接触領域３１２０の両端の２点における表面の法線がなす角も複数存在する。すなわち、角３１５０と角３１５１とがある。このうち角度の値が大きい方の角の値が小さいほど、安定した握り方である。
【０２５９】
次に、上記の特徴量を用いるロボットシステム（ロボット装置）１０００Ｈを、図３０に基づいて、説明する。
【０２６０】
第９実施形態におけるロボットシステム１０００Ｈは、図３０に示すように、ロボット１０１０と、第１実施形態におけるロボット制御パラメータ決定部１０３０の替わりに、ロボット制御パラメータ決定部１０３０Ｈを有する。また、ロボット１０１０において、制御部１０９０の替わりに制御部１０９０Ｈを有する。
【０２６１】
図３１Ａは、ロボット制御パラメータ決定装置１０３０の構成を示すブロック図である。ロボット制御パラメータ決定装置１０３０Ｈは、接触センサ１７１０と、特徴量取得部１０６０Ｈと、力検出部１０５０が検出した力の値を受信する力受信部２３９０と、制御パラメータ決定部１０８０Ｈとで構成されている。また、特徴量取得部１０６０Ｈは、接触判定部２３１０と、境界取得部２３２０と、境界記憶部２３３０と、方向情報記憶部２３４０と、方向情報取得部２３５０と、非接触領域評価部２３６０と、非接触領域評価記憶部２３７０と、特徴量抽出部２３８０とを備えて構成している。図３１Ａにおいて、既に述べた実施形態の同じ構成要素については同じ符号を用い、説明を省略する。図３１Ａに示す特徴量取得部１０６０Ｈを構成する各部を説明する。
【０２６２】
接触判定部２３１０は、操作部１０２０を上から見た図（例えば図２９Ｂ）における操作部１０２０の外周上の各点が、人１０４０の手と接触している範囲の点であるか、接触していない範囲の点であるかを判定する。前述した通り、図１４Ａは、接触センサ１７１０が接触を判定した範囲と、接触を判定しない範囲とを示す図である。図１４ＡでＹ軸に平行な直線「Ｘ＝Ｘ１」（ただし、Ｘ１＝０）上の点の集合（以下、点の集合を「点集合」とする。）は、操作部１０２０を上から見た図においては操作部１０２０の外周上の一つの点に射影される。接触判定部２３１０は、直線「Ｘ＝Ｘ１」（ただし、Ｘ１＝０）上の点集合が、物体と接触しているかを判定する。ある点集合が、物体と接触しているかの判定は、その点集合を構成する点のなかで、物体と接触している点の数が第十の所定の値以上あるか否かで接触判定部２３１０により判定する。もし、第十の所定の値以上であると接触判定部２３１０で判定する場合は、その点集合は物体と接触していると接触判定部２３１０で判定し、そうでない場合は接触していないと接触判定部２３１０で判定する。ここでは、第十の所定の値を「１」とする。具体的には、図１４の直線「Ｘ＝０」上の点集合は、点（０，０）、（０、１）、・・・、（０、Ｙ＿ＭＡＸ）の集合ある。それらのうちに、物体と接触している点が１つ以上あるかを接触判定部２３１０で判定する。接触判定部２３１０は、Ｘ１＝１、２、・・・、Ｘ＿ＭＡＸの場合も同様に直線「Ｘ＝Ｘ１」上の点集合が、物体と接触しているかを判定する。以降の説明では、Ｆ（Ｘ１）は、直線「Ｘ＝Ｘ１」が、物体と接触している場合は「１」を、接触していない場合は「０」を示す関数とする。図３２Ａ〜図３２Ｃは、接触判定部２３１０が行う判定結果（すなわちＦ（Ｘ））を示す図である。
【０２６３】
境界取得部２３２０は、図３２Ａ〜図３２Ｃにおいて、Ｆ（Ｘ）の値が「０」（例えば、非接触を意味する。）から「１」（例えば、接触を意味する。）に変わる位置と、Ｆ（Ｘ）の値が「１」から「０」に変わる位置とを見つける。すなわち、境界取得部２３２０は、物体と接触していると判定された範囲と、接触していないと判定された範囲との境界を抽出する部である。具体的には、図１３Ａの握り方の場合は、図３２ＡにおけるＸ＿Ａの値からＸ＿Ｂの値を抽出する。また、図１３Ｂの握り方の場合は、図３２ＢにおけるＸ＿Ａの値からＸ＿Ｄの値をそれぞれ抽出する。
【０２６４】
境界記憶部２３３０は、境界取得部２３３０が抽出した境界を記憶する部である。具体的には、図１３Ａの握り方の場合は、Ｘ＿Ａの値からＸ＿Ｂの値を順に記憶するとともに、図１３Ｂの握り方の場合は、Ｘ＿Ａ、Ｘ＿Ｂ、Ｘ＿Ｃ、Ｘ＿Ｄの値が順に記憶される。図３３Ａ，図３３Ｂは、それぞれ図１３Ａの握り方の場合及び図１３Ｂの握り方の場合に、境界記憶部２３３０が保持する境界の値を示す図である。
【０２６５】
方向情報記憶部２３４０は、各点集合がどの方向を向いているかの方向情報を記憶する部である。本第９実施形態では、各点集合と、その点集合の表面の法線方向との対応を予め保持するものとする。図３４は、Ｘ＿ＭＡＸを「３６０」、Ｘ＝０の時の法線の方向を「０」とした場合の方向情報を示す。第一列はＸ１の値であり、第二列はＸ１の値に対応する方向情報の値である。例えば、第一行は「０，０」である。これは「Ｘ＝０」上の点集合では、表面の法線方向が「０」度であることを示す。
【０２６６】
方向情報取得部２３５０は、指定した各点集合がどの方向を向いているかの方向情報を取得する部である。具体的には、指定された点集合の方向を方向情報記憶部２３４０より取得する。例えば、図３２Ａで、Ｘ＿Ａの値が「４５」であり、この点集合が指定されたとき、方向情報「４５」を取得する。また、例えば図３２Ａで、Ｘ＿Ｂの値が「３００」であり、この点集合が指定されたとき、方向情報「４５」を取得する。なお、ここでは方向情報を方向情報記憶部２３４０より取得する構成としたが、予め与えられた算出式に基づいて、方向情報を取得する構成としても構わない。例えば、ここでは、Ｘ１の値と方向情報は等しいので、Ｘ１の値そのものを方向情報としても構わない。
【０２６７】
非接触領域評価部２３６０は、非接触領域３１２０の両端の２点における表面の法線がなす角３１５０を算出する部である。例えば図３２Ａでは、「０」から「Ｘ＿Ａ」までと、「Ｘ＿Ｂ」から「Ｘ＿ＭＡＸ」までが非接触領域３１２０である。よって、「０」から「Ｘ＿Ａ」までで表面の法線がなす角と、「Ｘ＿Ｂ」から「Ｘ＿ＭＡＸ」までで表面の法線がなす角の和が、非接触領域３１２０の両端の２点における表面の法線がなす角３１５０である。具体的には、Ｘ＿Ａの値が「４５」で、Ｘ＿Ｂの値が「３００」とすると、「（４５−０）＋（３６０−３００）」により角３１５０を算出する。すなわち角３１５０は「１０５」となる。
【０２６８】
また、例えば図３２Ｂでは、「０」から「Ｘ＿Ａ」までと、「Ｘ＿Ｄ」から「Ｘ＿ＭＡＸ」までが非接触領域３１２０である。よって、「０」から「Ｘ＿Ａ」までで表面の法線がなす角と、「Ｘ＿Ｄ」から「Ｘ＿ＭＡＸ」までで表面の法線がなす角の和が、非接触領域３１２０の両端の２点における表面の法線がなす角３１５０である。具体的には、Ｘ＿Ａの値が「５」で、Ｘ＿Ｄの値が「２１０」とすると、「（５−０）＋（３６０−２１０）」により角３１５０を算出する。すなわち、角３１５０は「１５５」となる。また、「Ｘ＿Ｂ」から「Ｘ＿Ｃ」までが非接触領域３１２１である。よって、「Ｘ＿Ｂ」から「Ｘ＿Ｃ」までで表面の法線がなす角が、非接触領域３１２０の両端の２点における表面の法線がなす角３１５１である。具体的には、Ｘ＿Ｂの値が「２０」で、Ｘ＿Ｃの値が「１８５」とすると、「１８５−２０」により角３１５１を算出する。すなわち角３１５１は「１６５」となる。
【０２６９】
非接触領域評価記憶部２３７０は、非接触領域評価部２３６０が算出した非接触領域の両端の２点における表面の法線がなす角の値を記憶する部である。例えば図３２Ａでは非接触領域評価部２３６０が算出した「１０５」を記憶する。図３２Ｂでは、非接触領域評価部２３６０が算出した「１５５」と「１６５」とを記憶する。
【０２７０】
特徴量抽出部２３８０は、非接触領域評価記憶部２３７０が保持する非接触領域の両端の２点における表面の法線がなす角の値のうち最大のものを特徴量として抽出する部である。例えば、非接触領域評価記憶部２３７０が「１０５」のみを記憶する場合は、「１０５」を抽出する。非接触領域評価記憶部２３７０が「１５５」と「１６５」とを記憶する場合には、「１６５」を抽出する。
【０２７１】
なお、非接触領域評価記憶部２３７０が値を記憶しない場合、すなわち、操作部１０２０が握られていない場合には「３６０」を抽出する。
【０２７２】
次に、特徴量取得部１０６０Ｈが行う処理の流れを説明する。図３１Ｂは、特徴量取得部１０６０Ｈの処理の流れを示す図である。
【０２７３】
まず、特徴量抽出部２３８０は、ステップＳ２３０１で処理を開始する。
【０２７４】
次に、ステップＳ２３０２で、接触判定部２３１０は、直線「Ｘ＝０」上の接触判定を行う。すなわち、直線「Ｘ＝０」上の点集合点（０，０）、（０、１）、・・・、（０、Ｙ＿ＭＡＸ）のうちに、物体と接触している点が１つ以上あるかを接触判定部２３１０で判定する。この判定結果を、Ｆ（０）とする。
【０２７５】
次に、ステップＳ２３０３で、特徴量抽出部２３８０は、変数Ｘ１に「１」を代入し、変数Ｃに「１」を代入する。
【０２７６】
次に、ステップＳ２３０４で、接触判定部２３１０は、直線「Ｘ＝Ｘ１」上の接触判定を行う。すなわち、直線「Ｘ＝Ｘ１」上の点集合点（Ｘ１，０）、（Ｘ１、１）、・・・、（Ｘ１、Ｙ＿ＭＡＸ）のうちに、物体と接触している点が１つ以上あるかを接触判定部２３１０で判定する。この判定結果を、Ｆ（Ｘ１）とする。図３２Ａ〜図３２Ｃは、接触判定部２３１０が行う判定結果（すなわち、Ｆ（Ｘ１））を示す図である。
【０２７７】
次に、ステップＳ２３０５で、境界取得部２３２０は、境界判定を行う。すなわち、Ｆ（Ｘ１）の値と、Ｆ（Ｘ１−１）の値が異なるかを境界取得部２３２０で判定する。判定結果が真の場合（Ｆ（Ｘ１）の値とＦ（Ｘ１−１）との値が異なると境界取得部２３２０で判定する場合）、ステップＳ２３０６に処理を進める。判定結果が偽の場合（Ｆ（Ｘ１）の値とＦ（Ｘ１−１）との値が異ならないと境界取得部２３２０で判定する場合）、ステップＳ２３０７に処理を進める。具体的には、図１３Ｂの握り方の場合は、Ｘ１の値がＸ＿Ａ又はＸ＿Ｂ又はＸ＿Ｃ又はＸ＿ＤのときステップＳ２３０６に進める。他の場合は、ステップＳ２３０７に進める。
【０２７８】
ステップＳ２３０６に進む場合、境界記憶部２３３０は、Ｘ１の値を記憶する。具体的には、図１３Ｂの握り方の場合は、Ｘ＿Ａ、Ｘ＿Ｂ、Ｘ＿Ｃ、Ｘ＿Ｄの値が順に境界記憶部２３３０に記憶される。その後、ステップＳ２３０７に進む。
【０２７９】
ステップＳ２３０７では、特徴量抽出部２３８０は、変数Ｘ１に「１」を加える。
【０２８０】
次に、ステップＳ２３０８で、特徴量抽出部２３８０は、変数Ｘ１がＸ＿ＭＡＸより大きいか否かを判定する。判定結果が真の場合（変数Ｘ１がＸ＿ＭＡＸより大きいと特徴量抽出部２３８０で判定する場合）は処理をステップＳ２３１３に進める。判定結果が偽の場合（変数Ｘ１がＸ＿ＭＡＸ以下であると特徴量抽出部２３８０で判定する場合）は、ステップＳ２３０４に処理を戻す。
【０２８１】
次に、ステップＳ２３１３で、方向情報取得部２３５０は、境界記憶部２３３０が記憶する各境界に対する方向情報を方向情報記憶部２３４０より取得する。例えば図３２Ａの場合では、境界情報記憶部２３３０は、Ｘ＿Ａの値「４５」、Ｘ＿Ｂの値「３６０」を記憶している。そのとき、方向情報取得部２３５０は、それぞれに対応する方向情報「４５」、「３６０」を取得する。また例えば図３２Ｂの場合、境界情報記憶部２３３０は、Ｘ＿Ａの値「５」、Ｘ＿Ｂの値「２０」、Ｘ＿Ｃの値「１８０」、Ｘ＿Ｄの値「２０５」を記憶している。そのとき、方向情報取得部２３５０は、それぞれに対応する方向情報「５」、「２０」、「１８０」、「２０５」を取得する。
【０２８２】
次に、ステップＳ２３１４で、非接触領域評価部２３６０は、非接触領域３１２０の両端の２点における表面の法線がなす角３１５０を算出する。具体的には、例えば図３２Ａでは、「０」から「Ｘ＿Ａ」までと、「Ｘ＿Ｂ」から「Ｘ＿ＭＡＸ」までの非接触領域３１２０の両端の２点における表面の法線がなす角３１５０を算出する。すなわち、前述の「（４５−０）＋（３６０−３００）」により角３１５０の値「１０５」を算出する。また、また、例えば図３２Ｂでは、「０」から「Ｘ＿Ａ」までと、「Ｘ＿Ｄ」から「Ｘ＿ＭＡＸ」までの非接触領域３１２０と、「Ｘ＿Ｂ」から「Ｘ＿Ｃ」までの非接触領域３１２１とについて、非接触領域の両端の２点における表面の法線がなす角を算出する。すなわち、「（５−０）＋（３６０−２１０）」より角３１５０の値「１５５」を算出し、「１８５−２０」により角３１５１の値「１６５」を算出する。
【０２８３】
次に、ステップＳ２３１５で、非接触領域評価記憶部２３７０は、非接触領域評価部２３６０が算出した、非接触領域の両端の２点における表面の法線がなす角を記憶する。すなわち、例えば図３２Ａでは、角３１５０の値「１０５」を格納し、図３２Ｂでは、角３１５０の値「１５５」及び角３１５１の値「１６５」を格納する。
【０２８４】
次に、ステップＳ２３１６は、非接触領域評価記憶部２３７０が記憶する値のうちの最大値を特徴量とする。もし、非接触領域評価記憶部２３７０が値を記録していない場合は、特徴量を３６０とする。例えば図３２Ａでは非接触領域評価記憶部２３７０が記憶する「１０５」を特徴量とする。図３２Ｂでは、非接触領域評価記憶部２３７０が記憶する「１５５」と「１６５」のうち、最大の値「１６５」を特徴量とする。この特徴量の値は、操作部１０２０が安定して握られている時ほど小さい値となり、不安定に握られている時ほど、大きな値となる。
【０２８５】
次に、制御パラメータ決定部１０８０Ｈが行う処理を説明する。
【０２８６】
制御パラメータ決定部１０８０Ｈは、力受信部２３９０が受信した力の値を補正する。すなわち、特徴量取得部１０６０Ｈが取得した特徴量が大きいほど、力の値が小さくなるように補正する。つまり、操作部１０２０の握られ方が不安定なほど、力の値が小さくなるように補正を行う。ここでは、力受信部２３９０が受信した力の値に、特徴量の値に応じた数値を掛け、補正後の力の値を算出する。図３５は、特徴量の値（横軸）と、力受信部２３９０が受信した力に掛ける数値（縦軸）との関係を示す図である。特徴量が「０」から「１９０」までの値の場合、力に掛ける数値は「１」であるため、補正後の力の値は、力受信部２３９０が受信した力の値そのものである。特徴量が「１９０」から「２２０」までの値の場合、力に掛ける数値は１未満の数値であるため、補正後の力の値は、力受信部２３９０が受信した力の値より小さい値である。特徴量が「２２０」から「３６０」までの値の場合、力に掛ける数値は「０」であるため、補正後の力の値は力受信部２３９０が受信した力の値を「０」倍した値となる。例えば、力受信部２３９０が受信した力が（１，０，０）である場合、特徴量が「０」から「１９０」までの値の場合、補正後の力の値は、（１，０，０）となる。特徴量が「２２０」から「３６０」までの値の場合、補正後の力の値は、（０，０，０）となる。
【０２８７】
制御部１０９０Ｈは、制御パラメータ決定部１０８０Ｈより取得した補正後の力の値に基づき、ロボット１０１０の移動速度を決定し、ロボット１０１０の移動を制御する。ここでは、補正後の力の値に第十一の所定の値を掛けた値を移動速度とする。ここでは、第十一の値は、「１００」とする。例えば、力受信部２３９０が受信した力が（１，０，０）である場合、特徴量が「０」から「１９０」までの値の場合、補正後の力の値は、（１，０，０）となり、移動速度は（１００，０，０）となる。すなわち、ロボット１０１０を移動速度「１００」ミリメートル毎秒で移動させる制御を行う。
【０２８８】
特徴量が「２２０」から「３６０」までの値の場合、補正後の力の値は、（０，０，０）となり、移動速度は（０，０，０）となる。すなわち、ロボット１０１０は移動しない。
【０２８９】
本発明の第９実施形態によると、人１０４０の手と操作部１０２０との接触領域の特徴量に応じて、早く動かしやすい操作感と、安全な操作感とを変えることができる。
【０２９０】
具体的には、例えば、人１０４０は、操作部１０２０をしっかり握って、図２Ａのように接触の範囲を広くし、（１，０，０）の力、すなわち、１ニュートンの力を加えた場合、ロボット１０１０を移動速度「１００」ミリメートル毎秒で移動させることができ、早く動かす操作感が良くなる。一方、図２９Ｅのような不安定な握り方をした場合、１ニュートン以上の力を加えた場合でも、ロボット１０１０は移動せず、安全である。また、操作部１０２０に人１０４０以外の物体が衝突し、力検出部１０５０に力がかかったとしても、大抵の場合、安定度が低いため、ロボット１０１０は移動することはなく、安全である。
【０２９１】
また、図２９Ｄのようにしっかり握っている状態から、徐々に図２９Ｅのような握り方に移行する場合に、急停止するのではなく、徐々に補正後の力が「０」に近付くため、徐々に減速して停止し、安全である。なお、図２９Ｄから図２９Ｅのような握り方の変化は、例えば、ロボット１０１０及び操作部１０２０が移動している速度に、人１０４０がついていけない場合に生じる。また、例えば、汗で手が滑った場合、操作部１０２０が徐々に持ちにくい方向に移動した場合に生じる。
【０２９２】
なお、ここでは、各実施形態のロボット制御パラメータ決定装置を力検出部１０５０とは別の構成要素として説明したが、ロボット制御パラメータ決定装置と力検出部１０５０とで構成されており、補正後の力の値を出力する力検出部と考えてもよい。
【０２９３】
また、なお、ここでは、各実施形態のロボット制御パラメータ決定装置を操作部１０２０とは別の構成要素として説明したが、ロボット制御パラメータ決定装置１０３０Ｈと操作部１０２０（力検出部１０５０を含む）とで構成されており、補正後の力の値を出力する操作部１０２０と考えてもよい。
【０２９４】
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０２９５】
本発明は、家庭用ロボットなど、人が操作部に力を加えて操作可能なロボットにおいて、早く動かしやすいロボットの制御と、ゆっくり（又は正確に）動かしやすいロボットの制御とを容易にかつ確実に切り替え可能な、ロボットの動作を生成又は教示するためのロボットの制御パラメータの値を決定するロボット制御パラメータ決定装置及び方法、ロボットの制御装置、ロボット装置、ロボット制御パラメータ決定プログラム、ロボット制御パラメータ決定用集積電子回路として有用である。また、ロボットに限らず、人が操作部に加えた力で操作可能な生産設備、被移動装置、パワーアシスト装置、自動車、バイクでも適用される可能性がある。
【符号の説明】
【０２９６】
９００    ロボットの制御装置
１０００  ロボットシステム（ロボット装置）
１０１０  ロボット
１０１０Ａ  ロボットアーム
１０１０Ａｈ  ハンド
１０２０  操作部
１０３０  ロボット制御パラメータ決定装置
１０４０  人
１０６０  特徴量取得部
１０６０Ｓ  センシング領域（検出領域）
１０８０  制御パラメータ決定部
１０９０  制御部
１２１０  握り幅
１４１０  導線
１４２０  電源
１４３０  電流計
１４４０  絶縁体
１４５０  指
１６１０  計算部
１６２０  通信部
１６３０  記憶部
１６４０  バス
１０３０Ａ  ロボット制御パラメータ決定装置
１７１０  接触センサ
１０６０Ａ  特徴量取得部
２５１０  物体
２５２０  物体
２５３０  台
２６１０  ダミーロボット
２６２０  制御部
２６３０  位置取得部
２６４０  リンク
２６５０  関節
２６６０  モータ
２６７０  ダミーロボット原点
２６８０  ロボット原点
２７１０  お玉
２７２０  回転中心
２７３０  目標位置取得部
２７４０  鍋
２８１０  回転半径記憶部
２８２０  中心位置記憶部
２８３０  力取得部
２８４０  中心位置更新部
２８５０  回転角記憶部
２８６０  回転角更新部
２８７０  目標位置算出部
３１３０  接触領域
３２３１〜３２３６  接触領域と非接触領域の境界上の点
３２４０  非接触領域
３２２０  操作部を上から見たときの中心点
【図１Ａ】
2012055985.tif 000008
【図１Ｂ】
2012055985.tif 000009
【図２Ａ】
2012055985.tif 000010
【図２Ｂ】
2012055985.tif 000011
【図２Ｃ】
2012055985.tif 000012
【図３Ａ】
2012055985.tif 000013
【図３Ｂ】
2012055985.tif 000014
【図４】
2012055985.tif 000015
【図５】
2012055985.tif 000016
【図６】
2012055985.tif 000017
【図７Ａ】
2012055985.tif 000018
【図７Ｂ】
2012055985.tif 000019
【図７Ｃ】
2012055985.tif 000020
【図８】
2012055985.tif 000021
【図９】
2012055985.tif 000022
【図１０】
2012055985.tif 000023
【図１１】
2012055985.tif 000024
【図１２】
2012055985.tif 000025
【図１３Ａ】
2012055985.tif 000026
【図１３Ｂ】
2012055985.tif 000027
【図１３Ｃ】
2012055985.tif 000028
【図１４Ａ】
2012055985.tif 000029
【図１４Ｂ】
2012055985.tif 000030
【図１４Ｃ】
2012055985.tif 000031
【図１５】
2012055985.tif 000032
【図１６Ａ】
2012055985.tif 000033
【図１６Ｂ】
2012055985.tif 000034
【図１６Ｃ】
2012055985.tif 000035
【図１７】
2012055985.tif 000036
【図１８Ａ】
2012055985.tif 000037
【図１８Ｂ】
2012055985.tif 000038
【図１８Ｃ】
2012055985.tif 000039
【図１９】
2012055985.tif 000040
【図２０】
2012055985.tif 000041
【図２１】
2012055985.tif 000042
【図２２】
2012055985.tif 000043
【図２３】
2012055985.tif 000044
【図２４Ａ】
2012055985.tif 000045
【図２４Ｂ】
2012055985.tif 000046
【図２５】
2012055985.tif 000047
【図２６】
2012055985.tif 000048
【図２７】
2012055985.tif 000049
【図２８】
2012055985.tif 000050
【図２９Ａ】
2012055985.tif 000051
【図２９Ｂ】
2012055985.tif 000052
【図２９Ｃ】
2012055985.tif 000053
【図２９Ｄ】
2012055985.tif 000054
【図２９Ｅ】
2012055985.tif 000055
【図２９Ｆ】
2012055985.tif 000056
【図３０】
2012055985.tif 000057
【図３１Ａ】
2012055985.tif 000058
【図３１Ｂ】
2012055985.tif 000059
【図３２Ａ】
2012055985.tif 000060
【図３２Ｂ】
2012055985.tif 000061
【図３２Ｃ】
2012055985.tif 000062
【図３３Ａ】
2012055985.tif 000063
【図３３Ｂ】
2012055985.tif 000064
【図３４】
2012055985.tif 000065
【図３５】
2012055985.tif 000066