説明

ロボット制御パラメータ決定装置及び方法、ロボットの制御装置、ロボット装置、ロボット制御パラメータ決定プログラム、ロボット制御パラメータ決定用集積電子回路

【課題】人とロボットの操作部との接触領域の特徴量に応じてロボットの制御パラメータ値を変える。これにより、早く動かしやすいロボットの制御と、ゆっくり(又は正確に)動かしやすいロボットの制御とを操作部の握り方の変更により切り替え可能にする。
【解決手段】ロボットの操作部と人との接触領域の特徴量を取得する特徴量取得部と、ロボットの制御パラメータの値を、特徴量取得部が取得した特徴量に基づき決定する制御パラメータ決定部とを有し、制御パラメータ決定部は、特徴量に応じて、異なる移動範囲で操作感が良くなる制御パラメータの値を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット(例えば、ロボットアーム、車輪型のロボットなど)の動作を生成又は教示するための制御パラメータを決定するロボット制御パラメータ決定装置及び方法、そのロボット制御パラメータ決定装置を有するロボットの制御装置、その制御装置を有するロボット装置、ロボット制御パラメータ決定プログラム、ロボット制御パラメータ決定用集積電子回路に関する。
【背景技術】
【0002】
近年、介護ロボット又は家事支援ロボットなどの家庭用ロボットが盛んに開発されるようになってきている。家庭ロボットは産業用ロボットと異なり、家庭の素人が操作するため、簡単に動作を教示できる必要がある。さらに、ロボットが作業する際の動作環境も、家庭に応じてさまざまであるため、多種多様な家庭環境に柔軟に対応する必要がある。
【0003】
また、少量多品種製品の生産をセル生産方式で行ってきた工場でも、人手の作業をロボット作業に置き換える取組みが行われている。また、生産を行う工場のみならず、リサイクル工場でも、人手による作業をロボット作業に置き換える取り組みが行われている。
【0004】
家庭又は工場で動作するロボットに、現在、共通して求められることは、多種多様な動作を行うことである。そのため、ロボットに動作を簡単に教示する技術が求められている。
【0005】
ロボットに簡単に動作を教示する方法の一例として、ロボットの手首などに力センサを装着し、力センサの先に装着された操作部を教示者が直接把持してロボットを教示点に誘導し、ロボットの位置の教示を行っている(特許文献1を参照)。セル生産で行うような高精度な作業をロボットに教示する際には、ロボットを高精度に移動する教示を行う必要がある。
【0006】
更に、ロボットアームの表面に圧覚センサを装着し、圧覚センサの出力(すなわち表面に加わった力の大きさ)を基に、機械インピーダンス制御の弾性パラメータの値を変えることが行われている(特許文献2を参照)。この場合、ロボットアームが人と接触し、小さな接触力がある場合、できるだけ高精度を保ちつつ作業を行うことができる。逆に、大きな接触力がある場合、人がロボットから大きな力を受ける危険性が小さい状態で作業を行うことができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開昭59−157715号公報
【特許文献2】特許第3865158号書
【発明の概要】
【発明が解決しようとする課題】
【0008】
人がロボット等の移動装置の操作部に加えた力に基づいてロボットを動かす場合、加えた力に対して、ロボットをどのように動作させるかを決める必要がある。ロボットの制御パラメータ(移動装置を動作させる距離、速度、加速度、後述する機械インピーダンス設定値など)は、ロボットがどのように動作するかに影響を与えるパラメータである。制御パラメータをどのように設定するかによって、移動装置を動作させる際の動作しやすさに関する操作感が変わってくる。
【0009】
しかし、早く動かしやすい操作感を得る制御パラメータの値と、ゆっくり(又は正確に、又は安全に)動かしやすい操作感

を得る制御パラメータの値とが異なり、両方の操作感の両立が困難な場合がある。言い換えれば、ロボットの動きが安全であれば正確でなくても良い場合がある。また、ロボットの動きが正確であれば安全でなくても良い場合がある。どちらの場合にも、すなわち、動きに安全が求められる場合にも、正確な動きが求められる場合にも、ロボットの動作としては低速になる。
【0010】
例えば、若干の力を加えるだけでロボットが広範囲を移動できるように制御パラメータの値を設定した場合、又は、若干の力を加えるだけでロボットが急加速して移動できるように設定した場合、広い範囲を移動させる制御はしやすくなるが、細かい作業はしにくくなる。より具体的には、このような設定をした場合、細かい位置合わせの作業をしている途中で、若干力を入れすぎてしまうと、ロボットが大幅に動いてしまい、位置合わせのやり直しが必要となる。
【0011】
逆に、例えば、若干の力を加えた際の移動量を微小にした場合、又は、若干の力を加えた際の加速を微小になるようにした場合、細かい作業はしやすくなるが、すばやく広い範囲を移動させるには時間がかかるようになり、作業がしにくくなる。
【0012】
以上より、従来のように、操作者がロボットアームに加える力に基づく制御では、早く動かしやすい操作感と、ゆっくり(又は正確に)動かしやすい操作感とを容易に変更しながら作業することは困難である。そして、早く動かしやすい操作感と、ゆっくり(又は正確に)動かしやすい操作感とを容易に変更しながら作業できる制御装置及び、それを実現するための制御パラメータの値の決定装置が求められている。
【0013】
特許文献1の方法では、ロボットアームが人と接触して小さな接触力がある場合、弾性パラメータを小さくして、高精度を保ちつつ作業を行うことができる。逆に、ロボットアームが人と接触して大きな接触力がある場合、弾性パラメータを大きくして、人がロボットから大きな力を受ける危険性を小さくして作業を行うことができる。
【0014】
しかし、この方法で、高精度で作業を行う場合には、その高精度の作業を行う期間は、人は小さな接触力でロボットに接触し続ける必要がある。その際、高精度の作業を行う期間にロボットは移動するので、小さな接触力で圧覚センサに接触し続けるのは困難な場合がある。逆に、危険性を小さくする作業を行う場合には、その危険性を小さくする作業を行う期間、人は大きな接触力でロボットに接触し続けなければならない。その際にも、危険性を小さくする作業を行う期間にロボットは移動するので、大きな接触力で圧覚センサに接触しつづけるのは困難な場合がある。
【0015】
従って、本発明の目的は、前記課題を解消することにあって、早く動かしやすいロボットの制御と、ゆっくり(又は正確に)動かしやすいロボットの制御とを容易にかつ確実に切り替え可能な、ロボットの動作を生成又は教示するための制御パラメータを決定するロボット制御パラメータ決定装置及び方法、ロボットの制御装置、ロボット装置、ロボット制御パラメータ決定プログラム、ロボット制御パラメータ決定用集積電子回路を提供することにある。
【課題を解決するための手段】
【0016】
上記目的を達成するために、本発明は以下のように構成する。
【0017】
本発明の第1態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置を提供する。
【0018】
本発明の第8態様によれば、前記ロボットの制御パラメータ決定装置と、
前記制御パラメータ決定装置で決定された前記制御パラメータに基づいて、前記ロボットの制御を行なう制御部とを備える、ロボットの制御装置を提供する。
【0019】
本発明の第9態様によれば、前記ロボットの制御装置と、
前記ロボットの制御装置により制御される前記ロボットとを備える、ロボット装置を提供する。
【0020】
本発明の第10態様によれば、マスターロボットの操作部に人から加えられた力に基づいて、前記マスターロボットに追随するように動作して作業を行わせるスレーブロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記スレーブロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置を提供する。
【0021】
本発明の第11態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定方法であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を特徴量取得部で取得し、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき制御パラメータ決定部で決定し、
前記制御パラメータ決定部で前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定方法を提供する。
【0022】
本発明の第12態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定プログラムであって、
コンピュータを、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得機能と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定機能とを実現させるとともに、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定プログラムを提供する。
【0023】
本発明の第13態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定用集積電子回路であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部とを備え、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定用集積電子回路を提供する。
【発明の効果】
【0024】
本発明のロボットの制御装置及びロボット装置によれば、操作部と人との接触領域を、人が調整しながら作業することで、早く動かしやすい操作感と、ゆっくり(又は正確に、又は安全に)動かしやすい範囲で動作しやすい操作感とを容易に変更しながら作業をすることができる。また、本発明のロボットの制御パラメータ決定装置及び方法、ロボット制御パラメータ決定プログラム、ロボット制御パラメータ決定用集積電子回路を用いれば、前記作業をするための制御パラメータを生成することができる。
【図面の簡単な説明】
【0025】
【図1A】本発明の第1実施形態におけるロボットシステム(ロボット装置)の図
【図1B】本発明の第1実施形態におけるロボットシステムの詳細な図
【図2A】本発明の第1実施形態における特徴量取得部が取得する握り幅を示す図
【図2B】本発明の第1実施形態における特徴量取得部が取得する握り幅を示す図
【図2C】本発明の第1実施形態における特徴量取得部が取得する握り幅を示す図
【図3A】本発明の第1実施形態における特徴量取得部の断面図
【図3B】本発明の第1実施形態における特徴量取得部の断面図
【図4】本発明の第1実施形態におけるロボットシステムの処理の流れを示す図
【図5】本発明の第1実施形態におけるロボット制御パラメータ決定装置のハードウェア構成を示す図
【図6】本発明の第1実施形態のロボットを用いて物体を移動する際の作業空間を示す図
【図7A】本発明の第1実施形態における特徴量取得部に加わる力を示す図
【図7B】本発明の第1実施形態における特徴量取得部に加わる力を示す図
【図7C】本発明の第1実施形態における特徴量取得部に加わる力を示す図
【図8】本発明の第1実施形態の第3変形例の構成を示す図
【図9】本発明の第1実施形態の第3変形例の処理の流れを示す図
【図10】本発明の第1実施形態の第4変形例におけるロボットシステム(ロボット装置)の図
【図11】本発明の第1実施形態の第3変形例の処理の流れを示す図
【図12】本発明の第2実施形態におけるロボット制御パラメータ決定装置の構成を示す図
【図13A】本発明の第2実施形態における操作部と、接触センサの位置関係を示す図
【図13B】本発明の第2実施形態における操作部と、接触センサの位置関係を示す図
【図13C】本発明の第2実施形態における操作部と、接触センサの位置関係を示す図
【図14A】本発明の第2実施形態における接触センサが接触を判定した範囲を示す図。
【図14B】本発明の第2実施形態における接触センサが接触を判定した範囲を示す図。
【図14C】本発明の第2実施形態における接触センサが接触を判定した範囲を示す図。
【図15】本発明の第2実施形態における特徴量取得部が行う処理の流れを示す図
【図16A】本発明の第2実施形態における特徴量取得部がカウントする点の数を示す図
【図16B】本発明の第2実施形態における特徴量取得部がカウントする点の数を示す図
【図16C】本発明の第2実施形態における特徴量取得部がカウントする点の数を示す図
【図17】本発明の第2実施形態におけるロボット制御パラメータ決定装置の構成を示す図
【図18A】本発明の第2実施形態における特徴量取得部がカウントする操作部と人とが接触する領域と接触しない領域とが切り替わる点の数を示す図
【図18B】本発明の第2実施形態における特徴量取得部がカウントする操作部と人とが接触する領域と接触しない領域とが切り替わる点の数を示す図
【図18C】本発明の第2実施形態における特徴量取得部がカウントする操作部と人とが接触する領域と接触しない領域とが切り替わる点の数を示す図
【図19】本発明の第3実施形態における特徴量取得部が行う処理の流れを示す図
【図20】本発明の第4実施形態におけるロボットシステム(ロボット装置)の図
【図21】本発明の第5実施形態におけるロボットシステム(ロボット装置)の図
【図22】本発明の第6実施形態におけるロボットシステム(ロボット装置)の図
【図23】本発明の第7実施形態のロボットシステム(ロボット装置)のブロック図
【図24A】本発明の第7実施形態における関節のリンク構造を示す図
【図24B】本発明の第7実施形態における関節のリンク構造を示す図
【図25】本発明の第8実施形態のロボットシステム(ロボット装置)のブロック図
【図26】本発明の第8実施形態の目標位置取得部のブロック図
【図27】本発明の第8実施形態の目標位置と、目標位置算出に関係する位置の関係を示す図
【図28】本発明の第8実施形態の目標位置取得部の処理の流れを示す図
【図29A】本発明の第9実施形態の操作部と、接触センサとの上から見た図
【図29B】本発明の第9実施形態の操作部と、接触センサとの上から見た図
【図29C】本発明の第9実施形態の操作部と、接触センサとの上から見た図
【図29D】本発明の第9実施形態の操作部と、接触センサとの上から見た図
【図29E】本発明の第9実施形態の操作部と、接触センサとの上から見た図
【図29F】本発明の第9実施形態の操作部と、接触センサとの上から見た図
【図30】本発明の第9実施形態におけるロボットシステム(ロボット装置)の図
【図31A】本発明の第9実施形態のロボット制御パラメータ決定装置の構成を示すブロック図
【図31B】本発明の第9実施形態の特徴量取得部の処理の流れを示す図
【図32A】本発明の第9実施形態における接触判定部が行う判定結果を示す図
【図32B】本発明の第9実施形態における接触判定部が行う判定結果を示す図
【図32C】本発明の第9実施形態における接触判定部が行う判定結果を示す図
【図33A】本発明の第9実施形態の境界記憶部が保持する境界の値を示す図
【図33B】本発明の第9実施形態の境界記憶部が保持する境界の値を示す図
【図34】本発明の第9実施形態の方向情報記憶部が保持する方向情報を示す図
【図35】本発明の第9実施形態の特徴量の値と、力受信部が受信した力掛ける数値との関係を示す図
【発明を実施するための形態】
【0026】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【0027】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【0028】
本発明の第1態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置を提供する。
【0029】
本発明の第2態様によれば、前記ロボットはロボットアームであり、
前記制御パラメータ決定部は、前記ロボットの位置、速度、加速度、力、機械インピーダンス制御パラメータ、及び、ロボットアームのリンクの結合力の少なくとも1つを決定付ける制御パラメータを決定する、
第1の態様に記載のロボット制御パラメータ決定装置を提供する。
【0030】
本発明の第3態様によれば、記特徴量は、前記操作部と前記人との接触の程度が高いほど高くなる量であって、
前記制御パラメータ決定部は、前記特徴量が閾値よりも高い場合に、前記ロボットが、所定の移動速度よりも早く移動しやすい前記制御パラメータの値を決定し、前記特徴量が前記閾値よりも低い場合に、前記ロボットが、所定の移動速度よりもゆっくり移動しやすい前記制御パラメータの値を設定する、
ことを特徴とする第1又は2の態様に記載のロボット制御パラメータ決定装置を提供する。
【0031】
本発明の第4態様によれば、前記特徴量は、前記操作部と前記人との接触の程度が高いほど高くなる量であって、
前記制御パラメータ決定部は、前記特徴量が閾値よりも低い場合に、前記ロボットが、所定の移動速度よりも早く移動しやすい前記制御パラメータの値を決定し、前記特徴量が前記閾値よりも高い場合に、前記ロボットが、前記所定の移動速度よりもゆっくり移動しやすい前記制御パラメータの値を設定する
ことを特徴とする第1の態様に記載のロボット制御パラメータ決定装置を提供する。
【0032】
本発明の第5態様によれば、前記特徴量取得部は、前記人が前記操作部を握る握り幅を取得し、前記特徴量は、前記特徴量取得部で取得した前記握り幅に基づき取得されることを特徴とする第1〜4のいずれか1つの態様に記載のロボット制御パラメータ決定装置を提供する。
【0033】
本発明の第6態様によれば、前記特徴量取得部は前記人が前記操作部を握る指の本数を取得し、前記特徴量は、前記指本数取得部で取得した前記指の本数に基づき取得されることを特徴とする第1〜4のいずれか1つの態様に記載のロボット制御パラメータ決定装置を提供する。
【0034】
本発明の第7態様によれば、前記特徴量取得部は、前記人が前記操作部を握る面積を取得し、前記特徴量は、前記握り面積取得部で取得した前記面積に基づき取得されることを特徴とする第1〜4のいずれか1つの態様に記載のロボット制御パラメータ決定装置を提供する。
【0035】
本発明の第8態様によれば、第1〜7いずれか1つの態様に記載のロボットの制御パラメータ決定装置と、
前記制御パラメータ決定装置で決定された前記制御パラメータに基づいて、前記ロボットの制御を行なう制御部とを備える、ロボットの制御装置を提供する。
【0036】
本発明の第9態様によれば、第8の態様に記載のロボットの制御装置と、
前記ロボットの制御装置により制御される前記ロボットとを備える、ロボット装置を提供する。
【0037】
本発明の第10態様によれば、マスターロボットの操作部に人から加えられた力に基づいて、前記マスターロボットに追随するように動作して作業を行わせるスレーブロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記スレーブロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置を提供する。
【0038】
本発明の第11態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定方法であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を特徴量取得部で取得し、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき制御パラメータ決定部で決定し、
前記制御パラメータ決定部で前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定方法を提供する。
【0039】
本発明の第12態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定プログラムであって、
コンピュータを、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得機能と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定機能とを実現させるとともに、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定プログラムを提供する。
【0040】
本発明の第13態様によれば、ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定用集積電子回路であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部とを備え、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定用集積電子回路を提供する。
【0041】
以下本発明の実施の形態について、図面を参照しながら説明する。
(第1実施形態)
図1Aは、本発明の第1実施形態におけるロボットシステム(ロボット装置)1000を示すブロック図である。図1Aにおいて、ロボットシステム(ロボット装置)1000は、人1040が加えた力に基づいて動作するロボット1010と、ロボット1010に、ロボット1010の初期位置では大略鉛直方向沿いに長手方向が位置するように取り付けられた円柱状の操作部1020と、ロボット1010を制御する制御パラメータの値を決定するロボット制御パラメータ決定装置1030とを備える。操作部1020のロボット側には力検出部1050が取り付けられており、力検出部1050は、人1040が操作部1020に加えた力を検出する。ロボット1010は、ロボット本体(ロボットアーム1010A)と、ロボット本体を動作制御する制御部1090とで構成されている。なお、ロボット制御パラメータ決定装置1030と、ロボット1010の制御部1090とで、ロボットの制御装置900を構成している。以下の実施形態又は変形例でも、ロボット制御パラメータ決定装置と、ロボットの制御部とで、ロボットの制御装置を構成しているが、図示は省略している。
【0042】
力検出部1050は、操作部1020とロボット1010との間に配置されて、操作部1020に加えられた力を計測するセンサ(力センサ)である。力センサでは、力によって物体に発生した変形量を何らかの形で計測し、その変形量に基づきセンサにかかった力に換算する。たとえば、ばね、真ちゅう、アルミニウム板、又は、棒などの物体が力によって伸び縮みした際の長さの変化が変化量である。特に、3以上の方向に対して物体の伸び縮みを測定する力センサを用いることで、3次元空間内で力が加わった方向と大きさとを取得することが出来る。例えば、3つの方向をそれぞれ、X方向、Y方向、Z方向とし、それぞれの方向の力がF、F、Fである場合、力のベクトルは(F,F,F)となる。そのときの、力の大きさは、
【0043】
【数1】

となる。また、力の向きは、
【0044】
【数2】

となる。
【0045】
この第1実施形態における力検出部1050では、3次元空間内での力の方向と大きさとを取得できる力センサを用いる。
【0046】
ロボット1010のロボット本体としては、第1実施形態では、一例として、先端にハンド1010Ahを有するロボットアーム1010Aで説明する。
【0047】
ロボットアーム1010Aは、関節と複数のリンク(腕)とが組み合わさった構造を有するマニュピュレータである。マニュピュレータは、工場内での組立て作業、又は、溶接作業などに用いられてる最も一般的なロボットの形態の一つである。
【0048】
より詳しくは、一例として、図1Bに示すように、ロボットアーム1010Aは、多関節のロボットアームであり、具体的には6自由度の多リンクのマニピュレータである。その多リンクのマニピュレータは、ハンド1010Ahと、ハンド1010Ahが取り付けられている手首部152を先端153aに有する前腕リンク153と、前腕リンク153の基端153bに回転可能に先端154aが連結される上腕リンク154と、上腕リンク154の基端154bが回転可能に連結支持される台部155とを備えている。台部155は、一定位置に固定されているが、図示しないレールに移動可能に連結されていても良い。手首部152は、第4関節部159と、第5関節部160と、第6関節部161との3つの互いに直交する回転軸を有しており、前腕リンク153に対するハンド1010Ahの相対的な姿勢(向き)を変化させることができる。すなわち、図1Bにおいて、第4関節部159は、手首部152に対するハンド1010Ahの横軸周りの相対的な姿勢を変化させることができる。第5関節部160は、手首部152に対するハンド1010Ahの、第4関節部159の横軸とは直交する縦軸周りの相対的な姿勢を変化させることができる。第6関節部161は、手首部152に対するハンド1010Ahの、第4関節部159の横軸及び第5関節部160の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク153の基端153bは、上腕リンク154の先端154aに対して第3関節部158周りに、すなわち、第4関節部159の横軸と平行な横軸周りに回転可能とする。上腕リンク154の基端154bは、台部155に対して第2関節部157周りに、すなわち、第4関節部159の横軸と平行な横軸周りに回転可能とする。さらに、台部155の上側可動部155aは、台部155の下側固定部155bに対して第1関節部156周りに、すなわち、第5関節部160の縦軸と平行な縦軸周りに回転可能としている。
【0049】
この結果、マニピュレータは、合計6個の軸周りに回転可能として前記6自由度の多リンクマニピュレータを構成している。
【0050】
すなわち、第1関節部155、第4関節159、第6関節161は回転関節であり、第2関節157、第3関節158、第5関節は旋回関節である一般の6自由度の多リンクマニュピュレータを構成している。
【0051】
各軸の回転部分を構成する各関節部には、関節部駆動用のモータ164のような回転駆動部と、モータ164の回転軸の回転位相角(すなわち関節角)を検出して位置情報を出力するエンコーダ165(実際には、マニピュレータの各関節部の内部に配設されている)とを備えている。モータ164(実際には、マニピュレータの各関節部の内部に配設されている)は、各関節部を構成する一対の部材(例えば、回動側部材と、該回動側部材を支持する支持側部材)のうちの一方の部材に備えられる、モータドライバ108により駆動制御される。各関節部の一方の部材に備えられたモータ164の回転軸が、各関節部の他方の部材に連結されて、前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【0052】
また、モータドライバ108により駆動制御されるハンド駆動装置の一例としてハンド駆動用のモータ164と、ハンド駆動用のモータ164の回転軸の回転位相角を検出するエンコーダ165とを、さらに、ハンド1010Ahに備えている。エンコーダ165で検出された回転角度情報が、入出力IF107(例えばカウンタボード)を通じて制御部1090に取り込まれ、制御部1090に取り込まれた回転角度情報を基に、制御部1090によってハンド1010Ahの開閉動作での制御指令値(制御信号)が算出される。制御部1090で算出された制御指令値は、入出力IF107(例えばD/Aボード)を通じて、ハンド1010Ahの開閉駆動も行うモータドライバ108に与えられ、モータドライバ108から送られた各制御指令値に従って、モータ164の回転を駆動制御して、ハンド駆動用のモータ164の回転軸を正逆回転させることにより、ハンド1010Ahを開閉させて、対象物(例えば、フレキシブル基板)2520の把持及び把持解除などの所望の動作を行なう。なお、入出力IF107とモータドライバ108とで周辺装置106を構成している。この周辺装置106は、制御部1090とマニピュレータの駆動部との間に配置されているが、図1Aなどでは、簡略化するため、この周辺装置106を省略して制御部1090のみを図示している。
【0053】
また、162は台部155の下側固定部155bに対して相対的な位置関係が固定された絶対座標系であり、163はハンド1010Ahに対して相対的な位置関係が固定された手先座標系である。絶対座標系162から見た手先座標系163の原点位置O(x,y,z)をマニピュレータの手先位置、絶対座標系162から見た手先座標系163の姿勢をロール角とピッチ角とヨー角で表現した(φ,θ,ψ)をマニピュレータの手先姿勢とし、手先位置及び姿勢ベクトルをベクトルr=[x,y,z,φ,θ,ψ]と定義する。よって、一例として、絶対座標系162のz軸に対して第1関節部156の縦軸が平行であり、x軸に対して第2関節部157の横軸が平行に位置可能とするのが好ましい。また、手先座標系163のx軸に対して第6関節部161の横軸が平行に位置可能であり、y軸に対して第4関節部159の横軸が平行に位置可能であり、z軸に対して第5関節部160の縦軸が平行に位置可能とするのが好ましい。なお、手先座標系163のx軸に対しての回転角をヨー角ψとし、y軸に対しての回転角をピッチ角θとし、z軸に対しての回転角をロール角φとする。マニピュレータの手先位置と姿勢を制御する場合には、手先位置及び姿勢ベクトルrを、WO 2009/107358号の国際出願公開公報などに開示された目標軌道生成部で生成された手先位置及び姿勢目標ベクトルrに追従させることにより、駆動制御を行うことができる。
【0054】
操作部1020は、ロボットアーム1010Aの先端部のハンド1010Ahが取り付けられた手首部に、ロボット1010の初期位置では大略鉛直方向沿いに長手方向が位置するように取り付けられている。操作部1020は、手で握れる程度の直径を有する円柱体で構成されており、その側面の長手方向沿いに、操作部1020との接触領域を検出可能な後述するセンシング領域(検出領域)1060Sが配置されている。
【0055】
ロボット制御パラメータ決定装置1030は、人(人の手)1040が操作部1020との接触領域によって、ロボット1010を制御する制御パラメータの値を決定する。ロボット制御パラメータ決定装置1030は、特徴量取得部1060と、制御パラメータ決定部1080とを有する。
【0056】
特徴量取得部1060は、操作部1020及び人1040とが接触する接触領域の特徴量を取得する手段である。
【0057】
ここで、特徴量の例としての接触領域と非接触領域との境界情報の特徴量とは、例えば、(i)人1040が操作部1020を握る握り幅の長さ(寸法)、(ii)握る際の指の本数、(iii)握っている領域の面積、(iv)領域の外周の長さ、又は、(v)領域の外接円の半径、内接円の半径である。また、特徴量とは、(vi)両手で操作部1020を握る場合における、2つの手の間の距離である。
【0058】
具体的には、例えば、特徴量取得部1060は、操作部1020及び人1040とが接触する接触領域と、操作部1020及び人1040とが接触しない非接触領域との境界における境界情報、例えば、複数の点同士の位置関係の情報である境界情報に基づき、接触領域と非接触領域との境界情報の特徴量を取得している。
【0059】
特徴量取得部1060は、センサデバイスの検出部で構成されたセンシング領域(検出領域)1060Sを有し、センシング領域(検出領域)1060Sにおいて、操作部1020と人1040とが接触する領域と接触しない領域との境界情報(一例として接触領域と非接触領域との境界における複数の点の位置)を、センサデバイスを用いて取得し、取得した境界情報(例えば、複数の点の位置)からこれらの特徴量を算出する。又は、センサデバイスを用いて境界情報(例えば、位置)同士の関係(例えば、握り幅の長さ)の特徴量を直接取得する。なお、図1Aでは、理解しやすくするため、特徴量取得部1060を操作部1020とは別の位置に記載しているが、特徴量取得部1060は、操作部1020に取り付けられている。
【0060】
第1実施形態では、特に、人1040が操作部1020を握るときの握り幅の長さを特徴量取得部1060で取得し、特徴量取得部1060で取得した握り幅の長さそのものを特徴量とする場合を説明する。
【0061】
図2A〜図2Cは、第1実施形態における特徴量取得部1060が取得する握り幅1210を示す図である。図2Aは、人1040が円柱状の操作部1020を親指と他の4本の指で握って特徴量取得部1060のセンシング領域1060Sに親指と他の4本の指が接触している場合を示す。図2Bは、操作部1020を親指と他の1本の指で握って特徴量取得部1060のセンシング領域1060Sに親指と他の1本の指が接触している場合を示す。図2Cは、まだ操作部1020を握る途中の段階で、人差し指の先端だけが操作部1020の特徴量取得部1060のセンシング領域1060Sに接触している場合を示す。特徴量取得部1060は、操作部1020に取り付けられた特徴量取得部1060のセンシング領域1060Sに指が接触している幅を用いて握り幅1210を取得する。センシング領域1060Sに1本の指が接触している場合には、その指の幅寸法を握り幅1210として取得する。センシング領域1060Sに複数本の指が接触している場合には、複数本の指のうち、最も下端の指の下端位置から最も上端の指の上端位置までの幅寸法を握り幅1210として取得する。具体的には、例えば図2A、図2B、図2Cの場合、握り幅1210は、それぞれ、センシング領域1060Sに接触している人差し指の下端から小指の上端までの寸法、センシング領域1060Sに接触している人差し指の幅寸法、人差し指の先端でかつセンシング領域1060Sに接触している部分の幅寸法を、特徴量取得部1060で、握り幅1210の値として取得する。より具体的には、図2A、図2B、図2Cの場合、特徴量取得部1060は、握り幅1210の値である「70」、「7」、「3」をそれぞれ取得し、取得した値そのものをそれぞれ特徴量とする。なお、これらの値は、ミリメートル単位の長さを示す。
【0062】
制御パラメータ決定部1080は、特徴量取得部1060が取得した特徴量に基づき、ロボット1010の動きを制御する制御パラメータを決定する手段である。制御パラメータの値によって、早く動かしやすい操作感になるか、又は、ゆっくり(又は正確に、又は安全に)動かしやすい操作感になるかが変わる。制御パラメータ決定部1080は、特徴量取得部1060が取得した特徴量の値の大小に応じて、制御パラメータの値を決定する。
【0063】
すなわち、制御パラメータ決定部1080は、特徴量取得部1060は特徴量の値の大小に応じて、どのような操作感にするかを決定する。
【0064】
ロボット1010の制御パラメータは、例えば、ロボット1010のロボット本体がロボットアーム1010Aである場合、そのハンド1010Ahの位置、移動速度、加速度、又は、それらの値の上限を制限する上限値であり、インピーダンス制御における機械インピーダンスの値である。また、例えば、ロボット1010のモータが複数のギアを有する場合において、ギアの選択を決定する値である。
【0065】
第1実施形態では、ロボットアーム1010Aのハンド1010Ahの移動速度の上限値を制御パラメータとする場合を説明する。この移動速度の上限値は予め決められた所定値(閾値)として機能し、その上限値が高ければロボット1010を広い範囲で移動させやすくなるが、その上限値が低くければロボット1010を狭い範囲で移動させやすくなる。すなわち、移動速度の上限値の値によって、ロボット1010の操作感が変わる。
【0066】
制御パラメータ決定部1080は、一例として、特徴量の値に第一の所定の値を掛けた値を、ロボット1010の移動速度の上限値、すなわち、前記予め決められた所定値(閾値)とする。例えば、第一の所定の値を「2」とし、毎秒の移動速度の上限値をミリメートルで表す式を「(上限値)=2×(特徴量)」とする。ここで「×」は掛け算を示す演算子である。このとき、図2A、図2B、図2Cでの移動速度の上限値は、それぞれ、「2×70」、「2×7」、「2×3」となる。すなわち、移動速度の上限値は、それぞれ、「140」、「14」、「6」となる。
【0067】
ロボット1010の制御部1090は、人1040が操作部1020に加えた力、及び、制御パラメータ決定部1080が決定した制御パラメータによって、モータ164を駆動制御して、ロボット1010、具体的には、ロボットアーム1010A及びハンド1010Ahの移動を制御する。第1実施形態では、人1040が操作部1020に加えた力の方向に、ロボットアーム1010Aのハンド1010Ahを移動させる。移動させる速度は、人1040が加えた力の大きさと、制御パラメータ決定部1080が決定した上限値とに基づき、決定する。
【0068】
具体的には、まず、制御パラメータ決定部1080は、力検出部1050が取得したニュートン単位の力の大きさに第二の所定の値を掛けた値を、仮の移動速度とする。すなわち、「(仮の移動速度)=(第二の所定の値)×(力の大きさ)」となる。
【0069】
次に、仮の移動速度と移動速度の上限値とを制御パラメータ決定部1080で比較し、もし、仮の移動速度が上限値を超えていると制御パラメータ決定部1080で判断した場合には、制御パラメータ決定部1080で上限値を移動速度にする。仮の移動速度が上限値を超えていないと制御パラメータ決定部1080で判断すれば、制御パラメータ決定部1080で仮の移動速度を移動速度とする。例えば、第二の所定の値を50とし、力検出部1050が検出した力の大きさが1ニュートンであった場合、仮の移動速度は「50×1」により「50」となる。握り幅1100が図2Aの幅「70」であった場合、仮の移動速度である「50」は上限値「140」を超えていないので、仮の移動速度「50」を移動速度とする。握り幅1100が図2Bの幅「7」であった場合、仮の移動速度である「50」は上限値「14」を超えているので、上限値「14」を移動速度とする。
【0070】
次に、特徴量取得部1060が握り幅を取得する詳細を説明する。図3A及び図3Bは、操作部1020、及び、操作部1020に取り付けられた特徴量取得部1060の断面図である。図3Aは、操作部1020を人1040が握っておらず、特徴量取得部1060のセンシング領域1060Sに人1040が接触していない状態、図3Bは、操作部1020を人1040が握って特徴量取得部1060のセンシング領域1060Sに人1040が接触している状態を示す。1450は、人1040の指を示す。すなわち、図3Bは人1040によって握られている操作部1020の断面図であり、この断面には、特徴量取得部1060を含む。
【0071】
特徴量取得部1060は、図示しないスイッチと、導線1410と、導線1410に接続された電源1420と、導線1410に接続された電流計1430と、操作部1020の一端(例えば図2Aの上端)と他端(例えば図2Aの下端)にそれぞれ配置されて導線1410同士の短絡を防止する絶縁体1440とを有する。特徴量取得部1060で特徴量を取得するときに人が前記スイッチをオンにする。導線1440は、センシング領域1060Sの長さをLとし、単位長さ当たりの抵抗をAとすると、図2Aの場合の導線1440の抵抗は、2×L×Aである。なお、ここでは説明を簡単にするため、導線1440の横方向の長さについては無視するものとする。電源1420の電圧をVとした場合、オームの法則「(電流)=(電圧)/(抵抗)」より、電流計1430に流れる電流は「V/(2×L×A)」となる。一方、図2Bの場合、指1450の下側のループ1440Aで電流が流れることとなる。図2Bの指1450の下側の抵抗は、2×L1×Aとなる。ここで、L1は、センシング領域1060Sの下端から指1450の下側までの寸法であり、人1040が握った位置の下側で導線1440がある範囲の長さである。また、このとき、電流計1430に流れる電流は、オームの法則により「V/(2×L1×A)」となる。測定した電流計1430値がI1とした場合、「I1=V/(2×L1×A)」となる。よって、L1の長さは「L1=V/(2×I1×A)」となる。つまり「(L1の長さ)=(電圧)/(2×電流×単位長さ当たりの抵抗)」となる。以上により、人1040が握った位置の下側の導線1440のある範囲の長さL1を測定することが出来る。
【0072】
同様の回路を用いて、人1040が握った位置の上側の導線1440の長さL2を測定する。ここで、L2は、センシング領域1060Sの上端から指1450の上側までの寸法であり、人1040が握った位置の上側で導線1440がある範囲の長さである。測定したL1、L2の長さを初期の導線1440の長さLから引くことで、握り幅1100を算出することが出来る。すなわち、特徴量取得部1060は「L−(L1+L2)」として握り幅1100を算出する。
【0073】
次に、ロボットシステム1000が行う処理の流れを説明する。図4は、第1実施形態におけるロボットシステム1000の前記処理の流れを示す図ある。
【0074】
ロボットシステム1000は、ステップS401で前記処理を開始する。
【0075】
次に、ステップS402で、特徴量取得部1060は、特徴量を取得する。図2Aの場合、握り幅1210の値である特徴量「70」を特徴量取得部1060で取得する。
【0076】
次に、ステップS403で、制御パラメータ決定部1080は、制御パラメータを決定する。図2Aの場合は、特徴量「70」に第一の所定の値「2」を掛けた値として「140」を、制御パラメータ決定部1080で上限値に決定する。
【0077】
次に、ステップS404で、力検出部1050は、人1040が操作部1020に加えた力を検出する。例えば、力の大きさ「1」と力の方向を取得する。
【0078】
次に、ステップS405で、制御パラメータ決定部1080は、仮の移動速度を決定する。例えば、力検出部1050が取得した力の大きさが「1」の場合、取得した力の大きさ「1」に第二の所定の値「50」を掛けた値(1×50)を仮の移動速度とする。すなわち、この場合、仮の移動速度を「50」とする。
【0079】
次に、ステップS406で、制御パラメータ決定部1080は、仮の移動速度が上限値より大きいか否かを判定する。仮の移動速度が上限値より大きい{(「仮の移動速度」−「上限値」)で算出した値が真である}と制御パラメータ決定部1080で判断する場合は、制御パラメータ決定部1080により、前記処理をステップS407に進める。仮の移動速度が上限値以下である{(「仮の移動速度」−「上限値」)で算出した値が偽である}と制御パラメータ決定部1080で判断する場合は、制御パラメータ決定部1080により、前記処理をステップS408に進める。例えば、仮の移動速度が「50」と、上限値が「140」とである場合、「50−140=―90」となり、偽となるためステップS408に前記処理を進める。
【0080】
ステップS407に分岐した場合、制御パラメータ決定部1080により、移動速度を上限値の値に設定する。その後、ステップS409に進む。
【0081】
ステップS408に分岐した場合、制御パラメータ決定部1080により、移動速度を仮の移動速度の値に設定する。例えば、仮の移動速度の値が「50」であれば、移動速度を「50」とする。その後、ステップS409に進む。
【0082】
次に、ステップS409では、制御部1090は、力検出部1050が検出した方向に、ステップS407又はS408で決定した移動速度で、ロボット1010Aアームのハンド1010Ahを移動するように、モータ164を駆動制御する。例えば、移動速度が「50」の場合、50ミリメートル毎秒でハンド1010Ahを移動するように、モータ164を駆動制御する。
【0083】
次に、ステップS410で制御部1090が終了判定を行う。終了判定は、例えば、図示しない緊急停止ボタンが押されているか否かによって制御部1090が判断する。終了判定が真であると制御部1090で判断する場合は、制御部1090が前記処理をステップS411に進める。偽であると制御部1090で判断する場合は、制御部1090が前記処理をステップS402に進める。
【0084】
次に、ステップS411に分岐した場合、前記処理を終了する。
【0085】
以上がロボットシステム1000の処理の流れである。
【0086】
次に、ロボット制御パラメータ決定装置1030のハードウェア構成について説明する。図5は、第1実施形態におけるロボット制御パラメータ決定装置1030のハードウェア構成を示す図である。図5には、図3Aに示した特徴量取得部1060の構成については省略して、ロボット制御パラメータ決定装置1030の構成について記載している。
【0087】
ロボット制御パラメータ決定装置1030は、図3Aに記載した構成部品以外は汎用のコンピュータによって実現される。ロボット制御パラメータ決定装置1030は、計算部1610と、記憶部1620と、通信部1630と、それらの間で情報を送受信するためのバス1640とで構成されている。通信部1630は、コンピュータ外部と情報を送受信するための装置である。具体的には、図3Aの電流計1430の値を受信したり、ロボット制御パラメータ決定装置1030で算出した制御パラメータの値をロボット1010の制御部1090に送信したりする。記憶部1620は、通信部1620が受信した情報及び、計算結果、及び、計算の途中結果の情報を記憶する手段であり、RAM、ROM、レジスタ、又は、HDDなどで構成されている。計算部1610は、各種の演算を行う装置であり、LSI、又は、CPUなどの半導体装置等で実現される。具体的には、計算部1610は、電流計1430が計測した電流値から、上限値を算出する処理を行う。
【0088】
次に、人1040がロボット1010を用いて物体を移動する際の、操作部1020の握り方を説明する。図6は、ロボット1010を用いて物体2510を移動する際の作業空間を示す図である。人1040は、ロボット1010を用いて初期位置P_0にある物体2510を、第1位置P_1、第2位置P_2、第3位置P_3、第4位置P_4を順に通る軌跡で移動する作業を行う。すなわち、物体2510は、地面2530A上の初期位置P_0から真上に上昇させられて第1位置P_1に到達したのち、横方向に第2位置P_2を通り、第3位置P_3まで直線的に移動させられる。第3位置P_3からは、湾曲した軌跡をたどるように物体2510が、地面2530A上の台2530の第4位置P_4まで降下させられる。第4位置P_4での物体2520は、移動が完了した状態での物体を図示したものである。移動完了状態にある物体2520は、地面2530A上の台2530の上に載せられている。一例として、台2530は、パーソナルコンピュータのマザーボードであり、物体2510はCPU等のマザーボード上に取り付けられる部品であり、作業はロボット1010を用いた組み立て作業である。また、別の例としては、台はトラックであり、物体2510は箱詰めされたテレビであり、作業はロボット1010を用いた荷積み作業である。
【0089】
ここでは、初期位置P_0でロボットアーム1010Aのハンド1010Ahが物体2510の把持を完了したものとして、把持が完了したところからの物体2510の説明を行う。
【0090】
移動の第一段階は、ロボットアーム1010Aのハンド1010Ahが物体を初期位置P_0から第1位置P_1へ物体2510をゆっくり上昇移動する段階である。人1040は、物体2510が初期位置P_0にある状態で、操作部1060を図2Cから図2Bへの握り方の順番で握り、操作部1020に、その上向きの方向に力をかけて、物体2510を第1位置P_1まで移動する。すなわち、親指と1本の指で操作部1060を挟み、ロボットアーム1010Aのハンド1010Ahで把持された物体2510を、地面からゆっくり持ち上げる。その際、物体2510の移動速度は、上限値「14」以下になるため、物体2510の角などが地面2530Aに勢いよくぶつからないように慎重に操作することができる。
【0091】
次に、移動の第二段階は、ロボット1010が、物体2510を第1位置P_1から第2位置P_2まで加速させながら移動する段階である。人1040は、操作部1060を握る幅を図2Bから図2Aの状態に徐々に握り幅を増やしつつ、操作部1060に右側に力をかけて、物体2510を第2位置P_2まで移動する。すなわち、操作部1060を握る指の本数を徐々に増やして、徐々に移動速度を上げながら物体2510を移動する。この際、物体2510の移動速度の上限値が「7」から「140」に上がるため、徐々に早く移動できるようになる。
【0092】
次に、移動の第三段階は、ロボット1010が、物体2510を第2位置P_2から第3位置P_3まで速い速度で移動する段階である。人1040は、操作部1060を握る幅を図2Aの状態で移動する。
【0093】
次に、移動の第四段階は、ロボット1010が、物体2510を第3位置P_3から第4位置P_4まで減速しながら移動する段階である。人1040は、操作部1060を握る幅を図2Aの状態から図2Bの状態ー握り方を変更しながら、操作部1060に右下側方向の力をかけて、物体2510を第4位置P_4まで移動する。すなわち、操作部1060を握る指の本数を減らしながら、物体2510を移動する。この際、物体2510の移動速度の上限値が「140」から「7」に下がるため、物体2510は徐々にゆっくり移動できるようになる。よって、物体2510の角などが地面2530Aに勢いよくぶつからないように正確かつ安全に操作することができる。
【0094】
移動の最終段階では、人1040は、操作部1060から手を離す。
【0095】
本発明の第1実施形態の構成によると、人1040と操作部1020との接触領域と非接触領域との境界情報の特徴量に応じて、早く動かしやすい操作感と、ゆっくり(又は正確に、又は安全に)動かしやすい操作感とを変えることができる。
【0096】
具体的には、例えば、人1040は、操作部1020を手でしっかり握って、図2Aのように、特徴量取得部1060のセンシング領域1060Sと指との接触の範囲を広くし、1ニュートン以上の力を加えた場合、ロボット1010を移動速度「50」ミリメートル毎秒以上移動させることができ、早く動かす操作感が良くなる。一方、図2Bのように、特徴量取得部1060のセンシング領域1060Sと指との接触の範囲を狭くした場合、1ニュートン以上の力を加えた場合でも、ロボット1010は移動速度「14」ミリメートル毎秒までしか移動しない。よって、精度を要する作業の途中で操作部1020に対して力が誤って入ってしまっても、ロボット1010が大きく移動してしまうことはなく、ゆっくり(又は正確に)動かす操作感が良くなる。
【0097】
ところで、人が字又は絵を描くような細かい精度を要する狭い範囲での作業で、筆を握る際は、図2Aのような操作部1020に対して接触範囲の広い持ち方はせず、図2Bのように操作部1020に対して接触範囲の狭い持ち方をする。しかし、筆を棚から机まで運ぶような場合は、図2Aのような操作部1020(の特徴量取得部1060のセンシング領域1060S)に対して接触範囲の広い持ち方をする場合が多い。筆を使う際、人は意識せずに、作業内容によって筆の持ち方を変えていると考えられる。ロボット1010を操作し、把持対象物を所定の場所に動かす場合にも、同様に人は意識せずに、操作部1020の持ち方を変えることが観察されている。
【0098】
本発明の第1実施形態では、人1040が作業を変える際に、意識せずに生じる持ち方の変更に応じて、ロボット1010の操作感を切り替えることが出来る。そのため、人1040がロボット1010の操作感を切り替えるための作業負担、又は、切り替える方法を習得するための学習負担は、共に少ない。
【0099】
また、本発明の第1実施形態によると、ロボット1010を目標の位置に移動する際、最初に素早く大まかに動かして、最後にゆっくり微調整する一連の作業をスムーズに切り替えやすい。すなわち、最初、図2Aのように操作部1020に対して接触範囲の広い持ち方をして大まかに動かしつつ、操作部1020から指を徐々に離していけば、徐々にゆっくり(又は正確に)動かしやすい操作感へと切り替わっていく。その際、指を徐々に離してゆくだけの動きの少ない動作で、操作感を切り替えることが出来る。よって、力検出部1050に余計な力をかけずに操作感を切り替えることができ、意図せずに力検出部1050に余計な力をかけてしまうことにより、意図しない方向に力が発生して、ロボット1010が意図しない方向に移動する危険が少なくなる。
【0100】
また、本第1実施形態によると、操作部1020がどのような姿勢を向いていても、人1040は操作部1020を持ち直すことが容易に出来る。図7A〜図7Cを用いてこれを説明する。図7A〜図7Cは、図2の操作部1020が横向きになった際に、特徴量取得部1060に加わる力を示す図である。図7Aにおいて、操作部1020には質量があるため、その質量により重力が発生し、力検出部1050には、操作部1020の重力による力がかかる。人1040は、ロボット1010を停止させておきたい場合、操作部1020の重力を打ち消す力(例えば、重力とは反対方向の上向きの力)を操作部1020に加え、力検出部1050に加わる力を「0」にする。この状態から、人(操作者)が操作部1020の持ち直しをするために、図7Bの握り方を経由して、図7Cの握り方に達した場合、人1040は重力を打ち消す力を操作部1020に加えられなくなる。そのため、力検出部1050は下方向に力を検知し、ロボット1010のハンド1010Ahは下方向に移動してしまう。しかし、第1実施形態では、特徴量が低下するに従って、ロボット1010の上限速度が低下するため、ハンド1010Ahが下方向に移動する量を少なく、持ちかえを行うことができる。
【0101】
なお、力検出部1050に加わる操作部1020の重力による力を予想して打ち消す方法も考えられるが、計算誤差又は時間誤差があり、この力を完全に打ち消すことは困難である。よって、予想を用いる場合にも、本第1実施形態を併用することは有効となる。
【0102】
また、(特許文献2の場合)操作部1020に加わる力は直接見ることはできないため、ロボット1010の動作の予測は困難である場合がある。一方で、本発明の第1実施形態によると、操作部1020がどのように握られているかを人1040は直接見ることができる。よって、本発明の第1実施形態の場合、人1040は、操作部1020がどのような動きをするかが予想しやすく、操作が容易である。
【0103】
<第1変形例>
第1実施形態では、特徴量は、握り幅の長さである場合を述べている。この場合、特徴量は多段階になる。しかしながら、本発明はこれに限定されるものではなく、第1実施形態の第1変形例として、測定した握り幅の長さを、閾値との大小比較によって特徴量を2つの段階で設定する構成としても構わない。例えば、制御パラメータ決定部1080は、前記特徴量が閾値よりも高い場合に、前記ロボット1010が、所定の移動速度よりも早く移動しやすい制御パラメータの値を決定し、前記特徴量が前記閾値よりも低い場合に、前記ロボット1010が、前記所定の移動速度よりもゆっくり移動しやすい制御パラメータの値を設定する。この結果、広く握れば(握り幅の長さが大きくなれば)、ロボット1010が移動しやすくなる。その場合、例えば、握り幅の長さが閾値「30」ミリメートル以下の場合には、移動速度の上限値の制御パラメータの値を「14」とし、握り幅の長さが閾値「30」ミリメートルを超える場合には、制御パラメータの値を「140」とする。このような構成においても、第1実施形態の効果で説明した効果が得られる。
【0104】
<第2変形例>
第1実施形態では、特徴量に応じて、移動速度の上限値を決定する場合を説明したが、第1実施形態の第2変形例として、加速度の上限値を決定する構成であっても構わない。例えば、図2A、図2B、図2Cでの移動速度の上限値を、それぞれ、「140」、「14」、「6」とする替わりに、加速度の上限値を、それぞれ「140」、「14」、「6」とする。単位はそれぞれ、ミリメートル毎秒毎秒である。ロボット1010が「140」ミリメートル毎秒で移動していて、図2Aの握り方をした場合、移動方向と逆の方向に力を加えることで、最短1秒でロボット1010を停止させることができる。すなわち、素早い減速が可能である。一方、図2Bの握り方をした場合、「14」ミリメートル毎秒毎秒ずつ減速していくことができる。よって、ゆっくり正確に目標の速度に調整していくことができる。ロボット1010が停止していて、図2Aの握り方をした場合、最短1秒でロボット1010を「140」ミリメートル毎秒毎秒まで加速することができる。すなわち、素早い加速が可能である。一方、図2Bの握り方をした場合、「14」ミリメートル毎秒毎秒ずつ加速していくことができる。よって、ゆっくり正確に目標の速度に調整していくことができる。
【0105】
第3変形例 第1実施形態では、人1040が操作部1020を握る際の握り幅によって、制御パラメータの一例である移動速度の上限値が変わる構成を説明している。しかし、握り幅には個人差があり、手の小さい人は握り幅を大きくすることが出来ない。そのため、移動速度の上限値を大きく出来ないという問題がある。ところで、第1実施形態では、移動速度の上限値は「(上限値)=(第一の所定の値)×(特徴量)」となる。そこで、第1実施形態の第3変形例として、個人差を吸収するために、(第一の所定の値)を、人(操作者など)が指定可能にする構成としても構わない。
【0106】
図8は、第一の所定の値を登録する手段を有するロボットシステム(ロボット装置)1000Jの構成を示す図である。ロボットシステム1000Jは、ロボット1010と、ロボット制御パラメータ決定装置1030Jと、第一の所定の値を登録する登録装置3510とで構成されている。登録装置3510は、人が操作部1020を握る際の握り幅に基づき、第一の所定の値を決定する手段である。ロボット制御パラメータ決定装置1030Jは、第一の所定値を保持する第一所定値保持部3540を有し、第一所定値保持部3540で保持された第一の所定の値に基づき、上限値を決定する以外は、第1実施形態におけるロボット制御パラメータ決定装置1030と同様の処理を行う。ロボット1010は、第1実施形態の場合と同様の処理を行う。
【0107】
登録装置3510は、登録開始指示部3520と、登録部3530とで構成されている。登録開始指示部3520は、具体的には、人の握り幅の登録を開始するタイミングを指示するボタンである。登録部3530は、登録開始指示部3520が押された際に実行される処理であって、特徴量取得部1060を用いて、登録開始指示部3520が押されたときの(又は、登録開始指示部3520が押されてから所定時間後の)握り幅を取得し、特徴量取得部1060において、取得した握り幅の逆数に第十四の所定の値を掛けた値を第一の所定の値とする。すなわち「(第一の所定の値)=(第十四の所定の値)/(取得した握り幅)」とする。そして、登録部3530は、特徴量取得部1060で算出した値を、ロボット制御パラメータ決定装置1030Jの第一所定値保持部3540に第一の所定の値として格納する。(又は、格納する旨の指示と、格納する値を通知する。)
ロボットシステム1000Jは、人が始めて使用する際、又は、使用する人(操作者)が変わる際には、登録装置3510を用いて、登録作業を行う。登録作業を行う際は、人1040は操作部1020を5本の指でしっかり握り、登録装置3510の登録開始部3520を用いて登録開始をする。登録が行われた際の登録処理の流れを図9に示す。
【0108】
ステップS3601で、登録装置3510は登録処理を開始する。
【0109】
ステップS3602で、人1040は操作部1020を5本の指でしっかり握る。
【0110】
ステップS3603で、登録開始指示部3520は、人1040によってボタンが押されたかを判定する。登録開始指示部3520での判定結果が真の場合(ボタンが押されたと登録開始指示部3520で判断された場合)にはステップS3604に進む。登録開始指示部3520での判定結果が偽の場合(ボタンが押されていないと登録開始指示部3520で判断された場合)にはこのステップS3603を繰り返し行う。
【0111】
ステップS3604では、登録部3530は、特徴量取得部1060に対して、特徴量取得部1060により、握り幅を取得するように指示して、特徴量取得部1060で、握り幅を取得する。
【0112】
ステップS3605で、登録部3530は、特徴量取得部1060での「(第一の所定の値)=(第十四の所定の値)/(取得した握り幅)」の演算により、第一の所定の値を算出する。ここでは、一例として、第十四の所定の値は、予め決められた値「140」であるとする。
【0113】
次いで、ステップS3606で、登録部3530は、算出した第一の所定の値を第一所定値保持部3540に格納するように指示して、第一の所定の値を第一所定値保持部3540に格納する。
【0114】
ステップS3607では、登録装置3510は前記登録処理を終了する。
【0115】
このような構成を用いて登録作業を行えば、特徴量取得部1060が特徴量を算出する際、個人差を吸収することができる。
【0116】
例えば、操作部1020を5本の指でしっかり握った時の握り幅が「70mm」のAさんの場合、第一の所定の値は、「140/70」により算出され、「2」となる。そのAさんが5本の指でしっかり握った際の上限値は、「(上限値)=(第一の所定の値)×(特徴量)」より、「2×70」となる。すなわち、上限値は「140」となる。一方、操作部1020を5本の指でしっかり握った時の握り幅が「100mm」のBさんの場合、第一の所定の値は、「140/100」により算出され、「1.4」となる。そのAさんが5本の指でしっかり握った際の上限値は、「(上限値)=(第一の所定の値)×(特徴量)」より、「1.4×100」となる。すなわち、上限値は「140」となる。よって、Aさんの場合も、Bさんの場合も5本指でしっかり握った場合の上限値が同じ値となる。
【0117】
なお、ここでは、第一の所定の値を実際の握り幅に基づき算出する構成を示したが、キーボードなどの入力部から数値を入力して第一所定値保持部3540で記憶する構成であっても構わない。また、5本指で握った場合のみを登録する方法を説明したが、2から5本までの全ての場合を別々に登録する構成であっても構わない。
【0118】
<第4変形例>
第1実施形態における操作部1020は、ロボット1010の外部にある構成を説明したが、第1実施形態の第4変形例として、操作部1020は、ロボット1010の一部であっても構わない。図10は、操作部1020が、ロボットアーム1010Aの手首部1010Anの一部である場合の構成を示した図である。手首部1010Anのさらに先端側には、力検出部1050を配置するとともに、ハンド1010Ahが取り付けられている。
【0119】
<第5変形例>
第1実施形態では、制御パラメータ決定部1080が、ロボット1010の移動速度の上限値を「(上限値)=(第一の所定の値)×(特徴量)」により算出する場合を説明している。そのため、例えば、操作部1020を2本の指で握った際の握り幅が7ミリメートルであるとともに、操作部1020を5本の指で握った際の握り幅が70ミリメートルであるとすると、操作部1020を5本で握った際の移動速度の上限値は、操作部1020を2本で握った際の移動速度の上限値の10倍となる。実際の使用場面では、早く動かしたい際の速度の上限値が、ゆっくり動かしたい際の速度の上限値の100倍となったり3倍となったりすることが必要となる。何倍になるかは、作業内容によって異なる。そこで、第1実施形態の第5変形例として、制御パラメータ決定部1080は、特徴量と制御パラメータの値との対応を示す対応表又は関数を予め保持するような構成であっても構わない。このような対応表又は関数を用いれば、狭い握り幅で握った際の移動速度の上限値と、広い握り幅で握った際の移動速度の上限値を、ロボット1010が行う作業に応じて決定することが出来る。
【0120】
また、特徴量と制御パラメータの値との対応を示す対応表又は関数を制御パラメータ決定部1080の記憶部に予め複数保持しておき、操作者は操作を行う際に、入力部を用いて前記記憶部からその一つを選択する構成であっても構わない。このような構成を用いれば、複数の作業を行うロボット1010においても、作業毎に、狭い握り幅で握った際の移動速度の上限値と、広い握り幅で握った際の移動速度の上限値を作業しやすい値に設定することが出来る。
【0121】
<第6変形例>
第1実施形態における図1Aのロボット1010のロボット本体としては、アーム型のロボットを示したが、第1実施形態の第6変形例として、車輪型のロボット又は2足歩行型のロボットなどの他の型のロボットであっても構わない。図11は車輪型のロボット1010Kの場合を示す図である。図11における車輪型のロボット1010Kは、胴体3720と、胴体3720の下部に回転可能に配置された3個又は4個の車輪3710と、3個又は4個の車輪3710を正逆回転駆動するモータなどの駆動部3710Mとを備えている。胴体3720には、1本又は一対の腕部3730が動作可能に接続されており、一対の腕部3730の先端にはお盆3740が接続されている。操作部1020は、胴体3720の上部に取り付けられている。ロボット1010Kは、お盆3740に載せられた重量物の運搬を行う。
【0122】
第1実施形態では、操作部1020に加えられて力検出部1050で検出された力に基づいて、駆動部の一例であるモータ164が制御部1090により駆動制御されて、ロボット1010のハンド1010Ahの先端が前後左右に移動したが、本第6変形例のロボット1010Kでは、操作部1020に加えられて力検出部1050で検出された力に基づいて、駆動部3710Mが制御部1090により駆動制御されて、ロボット1010Kの位置が前後左右に移動する。また、第1実施形態では、力検出部1050に加えられた力に基づいて、駆動部の一例であるモータ164が制御部1090により駆動制御されて、ロボット1010のハンド1010Ahの先端が上下に移動している。これに対して、本第6変形例のロボット1010Kでは、ロボット1010Kのお盆3740の位置が上下に移動する。他の構成及び動作については、第1実施形態の場合と同様である。
【0123】
(第2実施形態)
第2実施形態は、接触センサを用いて特徴量を取得する場合の実施形態である。本第2実施形態における接触センサは、2次元上の複数の点において、物体が接触しているか、物体が接触していないかを判定できるものである。
【0124】
図12は、本発明の第2実施形態のロボット制御パラメータ決定装置1030Aを示す図である。図12において、図1Aと同じ構成要素については、同じ符号を用い、説明を省略する。
【0125】
図12において、ロボット制御パラメータ決定装置1030Aは、シート状の接触センサ1710と、第1実施形態における特徴量取得部1060の代わりの特徴量取得部1060Aと、制御パラメータ決定部1080とで構成されている。シート状の接触センサ1710は、接触センサ1710の表面上の複数の点に対して、物体が接触しているか接触していないかを判定する装置である。具体的には、例えば、複数の点での物体の接触を感知できるタッチパネルである。
【0126】
図13A〜図13Cは、操作部1020と、接触センサ1710との位置関係を示す図である。シート状の接触センサ1710は、円柱状の操作部1020の外周面のほぼ全周に取り付けられている。図13Aは、人1040が操作部1020を親指と他の4本の指で握っており、親指と他の4本の指が接触センサ1710に接触している場合を示す。図13Bは、親指と他の1本の指で握っており、親指と他の1本の指が接触センサ1710に接触している場合を示す。図13Cは、まだ、操作部1020を握る途中の段階で、人差し指の先端及びその付近の部分だけが操作部1020の接触センサ1710に接触している場合を示す。図14A、図14B、図14Cは、図13A、図13B、図13Cのそれぞれに対して、接触センサ1710が接触を判定した範囲と、接触センサ1710が接触をしない範囲とを示す図である。図14A、図14B、図14Cにおける四角形は、円柱状の操作部1020の表面に配置されたシート状の接触センサ1710を、平面上に開いた状態を示す。四角形の接触センサ1710のY方向の幅は、例えば、20cmである。これは、人が手を広げた際の親指から小指までの大まかな距離である。四角形の接触センサ1710のX方向の幅は例えば、18.84cmである。これは、操作部1020の底面の半径が3cmとしたときの操作部1020の底面の周囲の長さ2×(半径)×(円周率)より求まる長さである。四角形の接触センサ1710の中の曲線などで囲まれた範囲1710aは、接触センサ1710が接触を判定した範囲であり、それ以外の範囲1710bは、接触を判定しなかった範囲である。以降の説明では、四角形の左下の角を原点、右方向をX軸方向、上方向をY軸方向として説明を行う。また、接触センサ1710の表面には、二次元格子状に配置されて接触を判定する点が並べられているものとし、(X1、Y1)を満たす各点に、接触を判定する点があるものとする。ただし、接触を判定する点のX座標であるX1=0、1、・・・、X_MAXとし、接触を判定する点のY座標であるY1=0、1、・・・、Y_MAXとする。例えば、1cmあたり10個の点がある接触センサ1710を用い、Y方向の幅が20cm、X方向の幅が18.84cmの場合、Y_MAXは「200」であり、X_MAXは「188」である。この場合、平面状の点(接触を判定する点)の数は「200×188=37600」個となる。
【0127】
以下、特徴量取得部1060と接触センサ1710とを用いて、2次元上の複数の点において、物体が接触しているか、物体が接触していないかを判定しながら、特徴量を取得する場合について説明する。
【0128】
まず、特徴量取得部1060Aは、X1が0、1、・・・、X_MAXのそれぞれのとき、次の条件を満たす点の数を算出する。条件を満たす点とは、直線「X=X1」上の点であって接触センサ1710が接触を判定した点である。
【0129】
次に、特徴量取得部1060Aは、前記算出した点の数のうち、最大の数を特徴量とする。例えば、直線「X=X1」上の点であって接触センサ1710が接触を判定した点が1個、直線「X=X5」上の点であって接触センサ1710が接触を判定した点が5個ある場合には、5個を特徴量とする。つまり、第1実施形態では握り幅を一つだけ測定したのに対し、第2実施形態では、X軸の値を変えながら複数の握り幅を測定し、その最大値を最終的な特徴量とする。
【0130】
以下、この処理について、詳細に説明する。図15は、特徴量取得部1060Aが行う特徴量取得処理の流れを示す図である。
【0131】
特徴量取得部1060Aは、ステップS901で処理を開始する。
【0132】
次に、ステップS902で、特徴量取得部1060Aは、初期化のため、X1=0、C_MAX=0とする。ここで、X1、C_MAXはそれぞれ変数であり、ROM、RAM、HDD、又は、レジスタ等の記憶部1630によって実現する。以下の説明においても、変数を用いる場合は同様である。
【0133】
次に、ステップS903で、特徴量取得部1060Aは、直線「X=X1」上の接触点をカウントする。すなわち、例えば、X1=0である場合、(0,0)、(0、1)、・・・、(0、Y_MAX)のうち、接触センサ1710が接触を判定した点の数を算出する。図16A〜図16Cは、それぞれ握り方が異なる場合を示しており、X1が0からX_MAXのそれぞれの場合(横軸参照)に、特徴量取得部1060Aがカウントする点の数(縦軸参照)を示す図である。
【0134】
次に、ステップS904で、特徴量取得部1060Aは、ステップS903で算出した点の数がC_MAXよりも大きいかを判定する。判定が真の場合(ステップS903で算出した点の数がC_MAXよりも大きいと特徴量取得部1060Aで判定した場合)はステップS905に処理を進める。判定が偽の場合(ステップS903で算出した点の数がC_MAX以下であると特徴量取得部1060Aで判定した場合)はステップS906に処理を進める。
【0135】
ステップS905に進む場合、特徴量取得部1060Aは、C_MAXをステップS903で算出した点の数に更新する。その後、ステップS906に進む。
【0136】
次に、ステップS906では、特徴量取得部1060Aは、X1の値に「1」を加える。
【0137】
次に、ステップS907で、特徴量取得部1060AはX1の値がX_MAXより大きいかを判定する。判定が真の場合(X1の値がX_MAXより大きいと特徴量取得部1060Aで判定した場合)は処理をステップS908に進める。判定が偽の場合(X1の値がX_MAX以下であると特徴量取得部1060Aで判定した場合)はステップS902に処理を戻す。
【0138】
次に、ステップS908に進む場合、特徴量取得部1060Aは、C_MAXの値を特徴量とし、前記処理を終了する。
【0139】
具体的には、図16A、図16B、図16Cの場合、最大の接触点の数を仮に、「80」、「13」、「5」となる。その値、「80」、「13」、「5」を特徴量とする。
例えば、図16Aの「80」はX=1000の場合の特徴点の数であり、図16Bの「13」はX=120の場合の特徴点の数であり、図16Cの「5」はX=100の場合の特徴点の数である。
【0140】
第1実施形態では接触センサは1次元で握り幅を測定している。これに対して、この第2実施形態では、X軸の値を変えて握り幅を測定し、その最大値を最終的な握り幅とするものである。
【0141】
制御パラメータ設定部1080は、第1実施形態と同様に、特徴量に第一の所定の値を掛けた値をロボット1010の移動速度の上限値とする。ここでは、第一の所定の値を「1」とし、特徴量そのものを上限値とする。すなわち、図16A、図16B、図16Cの場合、それぞれ、ロボット1010の移動速度の上限値を「80」、「13」、「5」とする。
【0142】
本発明の第2実施形態の構成によると、人1040と操作部1020との接触領域の特徴量に応じて、早く動かしやすい操作感と、ゆっくり(又は正確に、又は安全に)動かしやすい操作感とを変えることができる。
【0143】
具体的には、例えば、人1040は、操作部1020をしっかり握って、図2Aのように接触の範囲を広くし、1ニュートン以上の力を加えた場合、ロボット1010を移動速度「80」ミリメートル毎秒以上移動させることができ、早く動かす操作感が良くなる。一方、図2Bのように接触の範囲を狭くし、1ニュートン以上の力を加えた場合でも、ロボット1010は移動速度「13」ミリメートル毎秒までしか移動しない。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット1010が大きく移動してしまうことはなく、ゆっくり(又は正確に、又は安全に)動かす操作感が良くなる。
【0144】
<第1変形例>
第2実施形態では、接触センサ1710を用いて、握り幅の最大値を特徴量として算出する場合を説明している。しかしながら、本発明はこれに限定されるものではなく、第2実施形態の第1変形例として、特徴量は、接触センサ1710の表面うち、人1040と接触している領域1710aの面積であっても構わない。人1040と接触している領域1710aの面積が大きい場合には、ロボット1010を早く動かしやすい操作感が得られるように制御パラメータの設定を行い、人1040と接触している領域1710aの面積が小さい場合には、ロボット1010をゆっくり動かしやすい操作感を得られる制御パラメータの設定を行う。より具体的には、例えば、人1040と接触している領域1710aの面積が大きい場合には、移動速度の上限値を大きくし、人1040と接触している領域1710aの面積が小さい場合には、移動速度の上限値を大きくする。
【0145】
また、特徴量は、人1040と接触している領域1710aの外周の長さ又は、人1040と接触している領域1710aの外接円の半径の長さ、又は、人1040と接触している領域1710aの内接円の半径の長さ、又は、両手で操作部1020を握る場合における、2つの手の間の距離の長さであっても構わない。半径又は距離の長さが長い場合には、ロボット1010を早く動かしやすい操作感が得られるように制御パラメータの設定を行い、半径又は距離の長さが短い場合には、ロボット1010をゆっくり動かしやすい操作感を得られる制御パラメータの設定を行う。より具体的には、例えば、人1040と接触している領域1710aの外周の長さが長い場合には、移動速度の上限値を大きくし、人1040と接触している領域1710aの外周の長さが短い場合には、移動速度の上限値を大きくする。
【0146】
<第2変形例>
なお、第1実施形態では、特徴量取得部1060は、操作部1020の表面にある場合を示している。しかしながら、本発明はこれに限定されるものではなく、第2実施形態の第2変形例として、特徴量取得部1060は、操作部1020の表面にある構成であっても、それ以外の外部にある構成であっても構わない。
【0147】
また、なお、接触センサ1710で人1040と操作部1020との接触領域を取得する替わりに、図示しない撮像カメラで操作部1020を撮影し、操作部1020と人1040とが重なって撮影された領域を取得しても構わない。この場合は、撮像カメラは、操作部1020の表面に設置されていない構成として構わない。
【0148】
(第3実施形態)
本発明の第3実施形態は、第2実施形態と同様の接触センサ1710を用い、操作部1020に接触している指1450の本数を取得して、指1450の本数を特徴量とする場合の実施形態である。
【0149】
第3実施形態では、第2実施形態における特徴量取得部1060Aの替わりに、特徴量取得部1060Bを用いる。第3実施形態におけるロボット制御パラメータ決定装置1030Aは、接触センサ1710と、特徴量取得部1060Bと、制御パラメータ決定部1080とで構成されており、図17に示す。以下、特徴量取得部1060Bが行う処理を説明する。
【0150】
まず、特徴量取得部1060Bは、接触センサ1710の表面の、接触を判定する点のX座標であるX1が0、1、・・・、X_MAXそれぞれのとき、直線「X=X1」上で操作部1020と、人1040の指1450が接触する領域と接触しない領域とが切り替わる点の数を特徴量取得部1060Bで算出する。すなわち、次の条件を両方とも満たす点の数を特徴量取得部1060Bで算出する。第一の条件は、直線「X=X1」上の点であることである。すなわち、接触を判定する点の座標が(X1,Y1)であり、ただし、Y1=0、1、2、・・・、Y_MAXであることである。つまり、接触を判定する点が(X1、0)、(X1、1)、・・・、(X1、Y_MAX)のいずれかの点であることである。具体的には、X1=0の場合は、(0、0)、(0、1)、・・・、(0、Y_MAX)のいずれかの点である。
【0151】
第二の条件は、その点自体に物体が接触しているかの真偽値と、(+Y方向に)一つ上の点の真偽値とが異なることである。すなわち、点(X1、Y1)と点(X1、Y1+1)における、接触の真偽値の排他論理輪が「1」である点であることである。より具体的には、X1=0、Y1=0のとき、点(0、0)と点(0、1)における接触と非接触とが逆であれば、(0、0)は条件を満たす点である。同様に、点(0、1)と点(0、2)における接触と非接触とが逆であれば、点(0、1)は条件を満たす点である。
【0152】
図14Aにおける黒丸で示した8つの点は、X=X_Sにおいて、人1040の指1450が接触する領域と接触しない領域とが切り替わる点を示す。
【0153】
図18A、図18B、図18Cは、それぞれ、図13A、図13B、図13Cの場合について、人1040の指1450が接触する領域と接触しない領域とが切り替わる点の数を、特徴量取得部1060Bが判定した結果を示す。図18A〜図18Cで横軸は、X1の値を示す。縦軸は、人1040の指1450が接触する領域と接触しない領域とが切り替わる点の数を示す。縦軸の値、すなわち、人1040の指1450が接触する領域と接触しない領域とが切り替わる点の数を2で割った値が「X=X1」における指(及び手のひら)の数である。
【0154】
次に、特徴量取得部1060Bは、操作部1020と人1040とが接触する領域と接触しない領域とが切り替わる点の数のうち、最大値を特徴量とする。
【0155】
又は、特徴量取得部1060Bは、その最大値を2で割った指の数を特徴量とする。ここでは、前者を用いるものとする。図18A、図18B、図18Cの場合、特徴量はそれぞれ、「8」、「2」、「2」となる。
【0156】
図19は、特徴量取得部1060Bが行う処理の流れを示す図である。図15と同じ符号のステップは、特徴量取得部1060Aを特徴量取得部1060Bに置き換えれば第2実施形態の場合と同じなので、説明を省略する。ただし、そのステップの前後に実行するステップが第2実施形態の場合と異なる場合がある。
【0157】
特徴量取得部1060Bは、ステップS901、S902を実行する。これらのステップS901、S902の処理は、それぞれ、第2実施形態と同様の処理である。
【0158】
次に、ステップS1203で、特徴量取得部1060Bは、初期化のため、Y1に「0」を代入し、カウント数に「0」を代入する。Y1、カウント数はそれぞれ変数である。
【0159】
次に、ステップS1204で、特徴量取得部1060Bは、判定処理を行う。すなわち、点(X1、Y1)と点(X1、Y1+1)とにおける接触の真偽値の排他論理輪が「1」であるか否かを特徴量取得部1060Bで判定する。判定が真である場合(前記2つの点における接触の真偽値の排他論理輪が「1」であると特徴量取得部1060Bで判定した場合)は、ステップS1205に処理を進める。判定が偽である場合(前記2つの点における接触の真偽値の排他論理輪が「1」ではないと特徴量取得部1060Bで判定した場合)はステップS1206に処理を進める
ステップS1205では、特徴量取得部1060Bは、カウント数に「1」を加える。その後、ステップS1206に処理を進める。
【0160】
ステップS1206では、特徴量取得部1060Bは、Y1に「1」を加える。
【0161】
次に、ステップS1207で、特徴量取得部1060Bは、Y1がY_MAX以上であるかを判定する。判定が真である場合(Y1がY_MAX以上であると特徴量取得部1060Bで判定する場合)は、処理をステップS904に進める。判定が偽の場合(Y1がY_MAX未満であると特徴量取得部1060Bで判定する場合)は、処理をステップS1204に戻す。
【0162】
ステップS904に進む場合、それ以降の処理は第2実施形態の場合と同様である。なお、ステップS907では、特徴量取得部1060AはX1の値がX_MAXより大きいかを判定するとき、判定が偽の場合(X1の値がX_MAX以下であると特徴量取得部1060Aで判定した場合)はステップS1203に処理を戻す。
【0163】
以上が、特徴量取得部1060Bの処理の流れである。
【0164】
制御パラメータ設定部1080は、第1実施形態と同様に、特徴量に第一の所定の値を掛けた値をロボット1010の移動速度の上限値とする。ここでは、第一の所定の値を「5」とする。すなわち、図18A、図18B、図18Cの場合、それぞれの特徴量「8」、「2」、「2」に「5」を掛けた値を、ロボット1010の移動速度の上限値とする。つまり、図18A、図18B、図18Cの場合の移動速度の上限値は、それぞれ「40」、「10」、「10」とする。
【0165】
本発明の第3実施形態によると、人1040と操作部1020との接触領域の特徴量に応じて、早く動かしやすい操作感と、ゆっくり(又は正確に、又は安全に)動かしやすい操作感とを変えることができる。
【0166】
具体的には、例えば、人1040は、操作部1020をしっかり親指と4本の指で握って、1ニュートン以上の力を加えた場合、ロボット1010を移動速度「40」ミリメートル毎秒で移動でき、早く動かす操作感が良くなる。一方、図2Bのように親指と1本の指で握った場合、1ニュートン以上の力を加えた場合でも、ロボット1010は移動速度「10」ミリメートル毎秒までしか移動しない。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット1010が大きく移動してしまうことはなく、ゆっくり(又は正確に、又は安全に)動かす操作感が良くなる。
【0167】
また、子供と大人のように手のサイズが異なる場合であっても、指の本数が同じであればだれでも操作感を切り替えることができる。
【0168】
また、操作部1020に、人1040以外の物体が一つ誤って接触していた場合、特徴量取得部1060Aが取得する特徴量は「2」となる。よって、操作部1020に人1040以外の物体が接触してしまうような事態が生じても、ロボット1010の上限速度は「13」とゆっくりである。よって、人1040が、接触した物体を取り除いたり、ロボット1010を緊急停止するなどの対策が取りやすい。
【0169】
(第4実施形態)
本発明の第4実施形態は、移動速度の上限値の制御パラメータの替わりに、機械インピーダンス制御における粘性パラメータの値を決定する実施形態である。第4実施形態では、図20に示すように、第2実施形態における制御パラメータ決定部1080の替わりに、制御パラメータ決定部1080Cを用いる。また、制御部1090の替わりに、制御部1090Cを用いる。他の構成及び動作は、第2実施形態の場合と同様である。
【0170】
制御部1090Cが行うロボット1010のインピーダンス制御は、ロボット1010が外力を受けた場合に生じる機械的なインピーダンスを、目的とする作業に都合の良い値に設定するための位置と力の制御手法である(詳細については、特許文献2(特許3865158号)、特許文献3(特許4056080号)を参照のこと)。
【0171】
機械インピーダンス制御は、3つのインピーダンス特性である慣性パラメータ、剛性パラメータ、粘性パラメータ(減衰係数)の値に基づき、外力Fに対して移動対象物の位置を制御部1090Cにより動的に決定する制御方式である。具体的には、運動方程式
【0172】
【数3】

に基づき、制御目標位置(すなわち移動対象物の位置)を制御部1090Cにより決定する。運動方程式において、Fは外力、Mは慣性パラメータ、Kは剛性パラメータ、Cは粘性パラメータ(減衰係数)、Xは(例えば重心の)目標位置、
【0173】
【数4】

は(例えば重心の)速度、
【0174】
【数5】

は(例えば重心の)加速度、Xは(例えば重心の)初期位置を示す。
【0175】
機械インピーダンス制御では、機械インピーダンスの粘性パラメータの値の設定によって、ロボット1010の動きが変わる。粘性パラメータを大きくすると、ロボット1010の動きに抵抗感が生じ、動きにくくなる。逆に、粘性パラメータを小さくすると、ロボット1010の動きに抵抗感が少なくなり、動きやすくなる。
【0176】
制御パラメータ決定部1080Cは、特徴量取得部1060Aが取得した特徴量の逆数に第三の所定の値を掛けた値を粘性パラメータとする。例えば、特徴量取得部1060が、図2A、図2B、図2Cの握り幅1210の値である特徴量「70」、「7」、「3」を取得し、第三の所定の値が「21」のとき、粘性パラメータは、それぞれ「21×1/70」、「21×1/7」、「21×1/3」となる。ここで、演算子「/」は割り算を示す。すなわち、「0.3」、「3」、「7」となる。
【0177】
本発明の第4実施形態によると、人1040と操作部1020との接触領域の特徴量に応じて粘性により抵抗感が変化するため、早く動かしやすい操作感と、ゆっくり(又は正確に、又は安全に)動かしやすい操作感とを変えることができる。
【0178】
具体的には、例えば、人1040は、操作部1020をしっかり握って、図2Aのように接触の範囲を広くして操作部1020に力を加えた場合、ロボット1010の粘性パラメータは「0.3」となり、ほぼ粘性による抵抗感がない操作感でロボット1010を動かすことができ、早く動かす操作感が良くなる。一方、図2Bのように接触の範囲を狭くした場合、ロボット1010の粘性パラメータは「3」となり、粘性による抵抗感がある操作感でロボット1010を動かすことができる。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット1010が大きく移動してしまうことはなく、ゆっくり(又は正確に、又は安全に)動かす操作感が良くなる。
【0179】
(第5実施形態)
本発明の第5実施形態は、機械インピーダンスの粘性の制御パラメータの替わりに、機械インピーダンス制御における慣性パラメータの値を決定する実施形態である。第5実施形態では、図21に示すように、第4実施形態における制御パラメータ決定部1080Cの替わりに制御パラメータ決定部1080Dを用いる。また、制御部1090Cの替わりに制御部1090Dを用いる。他は、第4実施形態の場合と同様である。
【0180】
制御部1090Dが行うロボット1010のインピーダンス制御は、第4実施形態の場合と同様である。
【0181】
機械インピーダンス制御では、機械インピーダンスの慣性パラメータの値の設定によって、ロボット1010の動きが変わる。慣性パラメータが大きくすると、ロボット1010の動きに重量感が生じ、動きにくくなる(発生する加速度が小さい)。逆に慣性パラメータを小さくすると、ロボット1010の動きに重量感が少なくなり、動きやすくなる(発生する加速度が大きい)。
【0182】
制御パラメータ決定部1080Cは、特徴量取得部1060Aが取得した特徴量の逆数に第四の所定の値を掛けた値を粘性パラメータとする。例えば、特徴量取得部1060が、図2A、図2B、図2Cの握り幅1210の値である特徴量「70」、「7」、「3」を取得し、第四の所定の値が「21」のとき、粘性パラメータは、それぞれ「21×1/70」、「21×1/7」、「21×1/3」となる。すなわち、「0.3」、「3」、「7」となる。
【0183】
本発明の第5実施形態によると、人1040と操作部1020との接触領域の特徴量に応じて慣性により重量感が変化するため、早く動かしやすい操作感と、ゆっくり(又は正確に、又は安全に)動かしやすい操作感とを変えることができる。
【0184】
具体的には、例えば、人1040は、操作部1020をしっかり握って、図2Aのように接触の範囲を広くし力を加えた場合、ロボット1010の粘性パラメータは「0.3」となり、ほぼ慣性による重量感がない操作感でロボット1010を動かすことができ、早く動かす操作感が良くなる。一方、図2Bのように接触の範囲を狭くした場合、ロボット1010の慣性パラメータは「3」となり、慣性による重量感がある操作感でロボット1010を動かすことができる。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット1010が大きく加速してしまうことはなく、ゆっくり(又は正確に)動かす操作感が良くなる。
【0185】
(第6実施形態)
本発明の第6実施形態は、機械インピーダンスの慣性の制御パラメータの替わりに、機械インピーダンス制御における剛性パラメータの値を決定する実施形態である。第6実施形態では、図22に示すように、第5実施形態における制御パラメータ決定部1080Dの替わりに制御パラメータ決定部1080Eを用いる。また、制御部1090Dの替わりに制御部1090Eを用いる。他は、第5実施形態の場合と同様である。
【0186】
制御部1090Eが行うロボット1010のインピーダンス制御は、第4実施形態の場合と同様である。
【0187】
機械インピーダンス制御では、機械インピーダンスの剛性パラメータの値の設定によって、ロボットの動きが変わる。剛性パラメータが大きくすると、ロボットの動きに硬さが生じ、動きにくくなる。逆に剛性パラメータを小さくすると、ロボットの動きに硬さが少なくなり、動きやすくなる。
【0188】
制御パラメータ決定部1080Eは、特徴量取得部1060Aが取得した特徴量の逆数に第五の所定の値を掛けた値を剛性パラメータとする。例えば、特徴量取得部1060Aが、図2A、図2B、図2Cの握り幅1210の値である特徴量「70」、「7」、「3」を取得し、第五の所定の値が「21」のとき、粘性パラメータは、それぞれ「21×1/70」、「21×1/7」、「21×1/3」となる。すなわち、「0.3」、「3」、「7」となる。
【0189】
本発明の第6実施形態によると、人1040と操作部1020との接触領域の特徴量に応じて硬さにより操作感が変化するので、早く動かしやすい操作感と、ゆっくり(又は正確に)動かしやすい操作感とを変えることができる。
【0190】
具体的には、例えば、人1040は、操作部1020をしっかり握って、図2Aのように接触の範囲を広くし力を加えた場合、ロボット1010の剛性パラメータは「0.3」となり、ほぼ硬さがない操作感でロボット1010を動かすことができ、早く動かす操作感が良くなる。一方、図2Bのように接触の範囲を狭くした場合、ロボット1010の剛性パラメータは「3」となり、剛性による硬さがある操作感でロボット1010を動かすことができる。よって、精度を要する作業の途中で誤って力が入ってしまっても、ロボット1010が大きく移動してしまうことはなく、ゆっくり(又は正確に)動かす操作感が良くなる。
【0191】
(第7実施形態)
本発明の第7実施形態では、ダミーロボット(マスターロボット)を用いて作業用ロボット(スレーブロボット)の遠隔教示を行う場合について説明する。第7実施形態のロボットシステム(ロボット装置)1000Fのブロック図を図23に示す。ロボットシステム1000Fは、人1040が加えた力を動力として動作するダミーロボット2610と、ダミーロボット2610に取り付けられた操作部1020Fと、ダミーロボット2610を制御する制御パラメータの値を決定するロボット制御パラメータ決定装置1030Fと、ダミーロボット2610の動作に追従して、ダミーロボット2610と同じ動作を行う作業用ロボット1010Fとで構成されている。
【0192】
作業用ロボット1010Fは、一例として、先の実施形態のロボットアームと同様な構造であってハンド1010Fhを先端部に有するロボットアーム1010FAと、ロボットアーム1010FAを動作制御する制御部1090Fとを備えて構成されている。ロボットアーム1010FAは、操作部1020と力検出部1050とが備えられていない点が、先の実施形態のロボットアームと異なる。
【0193】
ダミーロボット2610は、ロボット1010Fを遠隔操作するための装置であり、ロボットアーム2610Aと、ロボットアーム2610Aの関節を調節するモータ2660と、モータ2660を駆動制御する制御部2620と、位置取得部2630とを備えている。ダミーロボット2610は関節を曲げるためのモータを積んでおらず、ダミーロボット2610は人1040が操作部1020Fに加えた力を直接動力として移動する。また、操作部1020Fには、力検出部は取り付けられていない。
【0194】
ダミーロボット2610のロボットアーム2610Aは、複数のリンク2640(2640A,2640B)を有し、各リンク2640同士、及び、リンク2640と他の部材との間でかつ回動可能とする部分は、それぞれ、関節2650によってつながれている。各関節2650は、例えばリンク2640同士、又は、リンク2640と他の部材とを結合するねじとねじ受けとで構成されている。関節2650のねじをねじ受けに対して締める硬さによって、リンク2640同士の結合の力、又は、リンク2640と他の部材との間の結合の力が変わり、リンク2640の動きやすさが変わる。リンク2640間、又は、リンク2640と他の部材との間の結合の力が小さい場合には、人1040が操作部1020Fに加えた力によって、リンク2640は移動しやすい。リンク2640間、又は、リンク2640と他の部材との間の結合の力が大きい場合には、人1040が操作部1020Fに加えた力によって、リンク2640は移動しにくい。モータ2660は、リンク2640の結合の力を変える装置である。具体的には、例えば、それぞれの関節2650のねじを、モータ2660により、独立して正逆回転することで、それぞれのねじの硬さを変えることができる。ねじの硬さが変わると、リンク2640間、又は、リンク2640と他の部材との間の結合の力が変わる。モータ2660の正逆回転駆動は、制御部2620で制御される。
【0195】
図23では、代表例として1つのモータ2660を複数の関節2650の外部に記載しているが、実際には、それぞれの関節にそれぞれ1つのモータ2660が取り付けられている。図24A及び図24Bは、関節2650の構造を示す図である。図24Aは、ダミーロボット2610のロボットアーム2610Aにおいて一例として着目する、リンク2640Aとリンク2640Bとの間の関節2650Aの位置を示す図である。関節2650Aは、リンク2640Aとリンク2640Bとを接続する関節である。図24Bは、図24Aの平面Pにおけるダミーロボット2610のロボットアーム2610Aの断面を示す図である。この断面図においては、リンク2640Aの両側には、リンク2640Bがある。更に、それらは、ねじ3310とねじ受けの一例であるナット3330とによって挟まれている。モータ2660の回転軸3320は、ねじ3310の一端に固定され、モータ2660が正逆回転することによってねじ3310はナット3330に対して正逆回転する。ねじ3310がナット3330に対して締まると、リンク2640Aとリンク2640Bとの間に発生する摩擦力が増えて関節2650Aは回転移動しにくくなる。一方、ねじ3310がナット3330に対して緩むと、リンク2640A,2640Bとの間に発生する摩擦力は減って関節2650Aは回転移動しやすくなる。他の関節2650も、関節2650Aと同様な構造となっている。
【0196】
制御部2620は、モータ2660を制御する手段である。位置取得部2630は、ダミーロボット2610Aのロボットアーム2610Aのハンド2610Ahの位置を取得する手段である。具体的には、例えば、ダミーロボット2610Aのロボットアーム2610Aの各関節2650にモータ2660と共に設置した(図示しない)エンコーダによって、モータ2660の回転軸3320の回転角度を検出して、ハンド2610Ahの位置を取得する。なお、ここでは、図23に示すように、ダミーロボット2610のロボットアーム2610Aと地面との接触面の中心をダミーロボット原点2670とし、ダミーロボット原点2670からの位置をハンド2610Ahの位置とする。
【0197】
ロボット1010Fのロボットアーム1010FAは、ダミーロボット2610のロボットアーム2610Aの動作に追従して動作するロボットである。ロボット1010Fの制御部1090Fは、ダミーロボット2610の位置取得部2630からダミーロボット2610のロボットアーム2610Aのロボットハンド1010Ahの位置を取得し、取得した位置にロボット1010Fのハンドを移動する。なお、ここでは、ロボット1010Fのロボットアーム1010FAと地面との接触面の中心をロボット原点2680とし、ロボット原点2680からの位置をハンド1010Fhの位置とする。
【0198】
ロボット制御パラメータ決定装置1030Fは、特徴量取得部1060と制御パラメータ決定部1080Fとで構成されている。特徴量取得部1060は、第1実施形態の場合と同様である。制御パラメータ決定部1080Fは、特徴量取得部1060が取得した特徴量の逆数に第六の所定の値を掛けた値を、リンク2640同士の結合の力、又は、リンク2640と他の部材との間の結合の力とする。例えば、特徴量取得部1060が、図2A、図2B、図2Cの握り幅1210の値である特徴量「70」、「7」、「3」を取得し、第六の所定の値が「21」のとき、リンク2640の結合の力は、それぞれ「21×1/70」、「21×1/7」、「21×1/3」となる。すなわち、「0.3」、「3」、「7」となる。
【0199】
本発明の第7実施形態によると、人1040と操作部1020との接触領域の特徴量に応じて、ダミーロボット2610を早く動かしやすい操作感と、ゆっくり(又は正確に)動かしやすい操作感とを変えることができる。
【0200】
具体的には、例えば、人1040は、操作部1020をしっかり握って、図2Aのように接触の範囲を広くして力を加えた場合、ダミーロボット2610のリンク2640の結合の力は「0.3」となり、ほぼ硬さがない操作感でロボット1010を動かすことができ、早く動かす操作感が良くなる。一方、図2Bのように接触の範囲を狭くした場合、ダミーロボット2610のリンク2640の結合の力は「3」となり、結合による硬さがある操作感でロボット1010を動かすことができる。よって、精度を要する作業の途中で誤って力が入ってしまっても、ダミーロボット2610が大きく移動してしまうことはなく、ゆっくり(又は正確に)動かす操作感が良くなる。
【0201】
<第1変形例> なお、第7実施形態では、人1040は、ダミーロボット2610とは別に設けられた操作部1020Fを操作する場合を説明している。しかしながら、本発明はこれに限定されるものではなく、第7実施形態の第1変形例として、ダミーロボット2610に特徴量取得部1060を配置して、特徴量取得部1060が配置された部分においてダミーロボット2610を握って操作を行う構成としても構わない。この場合、ダミーロボット2610自体が、操作部1020Fを兼ねる構成であるといえる。
【0202】
<第2変形例> なお、第7実施形態では、ダミーロボット2610の動作によって、ロボット1010Fが動作する構成を説明している。しかしながら、本発明はこれに限定されるものではなく、第7実施形態の第2変形例として、実際に動作するロボット1010Fがない構成であっても構わない。例えば、ダミーロボット2610がポーズ人形であって、コンピュータグラフィック上で表現される人の各関節の位置データを生成する構成であっても構わない。人1040はポーズ人形を動かしてポーズをとらせることで、コンピュータグラフィック上で動く人の位置データを取得する。
【0203】
なお、第7実施形態では、ダミーロボット2610の特徴量に応じて、リンクの結合力を変える構成を示したが、ダミーロボット2610を動かしやすさを変更する他の制御パラメータを変える構成であっても構わない。例えば、油圧式ロボットにおける油圧、又は、油量などであっても構わない。
【0204】
(第8実施形態)
本発明の第8実施形態は、予め定められた動作を自律的に行うロボットに対し、人1040が操作部1020に加えた力に基づいて動作を補正する場合の実施形態である。
【0205】
図25は、第8実施形態におけるロボットシステム(ロボット装置)1000Gのブロック構成を示す図である。ロボットシステム1000Gは、人1040が加えた力に基づいて動作するロボット1010Gと、ロボット1010Gを制御する制御パラメータの値を決定するロボット制御パラメータ決定装置1030Gとを有する。他は、第1実施形態と同様である。
【0206】
ロボット1010Gは、鍋のかき混ぜ動作を行うロボットである。ロボット1010Gは、一例として、先の実施形態のロボットアームと同様な構造であってハンド1010Ghを先端部に有するロボットアーム1010GAと、ロボットアーム1010GAを動作制御する制御部1090Gと、目標位置取得部2730とを備えて構成されている。
【0207】
ロボット1010Gのロボットアーム1010GAのハンド1010Ghは、お玉(レードル)2710を把持し、予め定められた半径Rでお玉2710をかき混ぜ続ける。その際、ロボット1010Gのロボットアーム1010GAのハンド1010Ghが地面(XY平面とする)に平行な平面上で回転運動を行うことで、お玉2710は、シチュー等が入った鍋2740をかき混ぜる。鍋2740には、図示しない多数の食材が入っており、お玉2710が食材にぶつかることで、ロボット1010Gのロボットアーム1010GAには予想困難な外力が加わる。
【0208】
また、人1040が操作部1020に加えた力に基づいて、お玉2710の回転動作の中心である回転中心2720の位置を変更する。具体的には、例えば、人1040が操作部1020に下側に力が加えられた場合、回転中心2720の座標を上下方向の下側に移動する。
【0209】
本第8実施形態では、前記したようにロボット1010Gのロボットアーム1010GAには予想困難な外力が加わる。予想困難な外力のような外乱がロボットアーム1010GAに加わる環境では、ロボット1010Gのロボットアーム1010GAのハンド1010Ghの位置が振動する場合がある。振動が発生しやすいか、振動が発生しにくいかは、ロボットアーム1010GAの制御のパラメータの値によって替わる。制御のパラメータ、例えば、機械インピーダンス制御の粘性パラメータの値を大きくすると、ハンド1010Ghの位置の振動は起こりにくくなる。しかし、粘性パラメータの値を大きくすると、ロボットアーム1010GAのハンド1010Ghを早く移動することが困難となる。逆に、粘性パラメータの値が小さい場合には、ロボットアーム1010GAのハンド1010Ghを早く動かしやすいが、ハンド1010Ghの位置の振動は起りやすい。
【0210】
ここでは、操作部1020を人1040がしっかり握ると、ハンド1010Ghの位置の振動が起こりにくくなるように制御パラメータの値を決定する一方、操作部1020を人1040が軽く握ると、ロボットアーム1010GAのハンド1010Ghを早く動かしやすい操作感が得られるように制御パラメータを決定する、ロボット制御パラメータ決定装置1030Gについては、後述する。
【0211】
まず、ロボット1010Gについて説明する。
【0212】
ロボット1010Gの目標位置取得部2730は、ロボットアーム1010GAのハンド1010Ghの目標位置を取得する手段である。目標位置取得部2730の構成を図26に示す。また、目標位置と、目標位置算出に関係する位置の関係を図27に示す。
【0213】
目標位置取得部2730は、回転半径記憶部2810と、中心位置記憶部2820と、力取得部2830と、中心位置更新部2840と、回転角記憶部2850と、回転角更新部2860と、目標位置算出部2870とを備えて構成している。
【0214】
以下、目標位置取得部2730を構成する各部を説明する。ロボット1010Gは、ロボットアーム1010GAのハンド1010Ghの位置を回転中心2720から一定の距離で回転させることで、鍋2740をお玉2710でかき混ぜる。その際、回転中心2720の回りのお玉2710の回転角2070は時々刻々と変化する。
【0215】
回転半径記憶部2810は、ロボットアーム1010GAのハンド1010Ghを回転させる際の回転半径を記憶する手段である。ここでは、予め値が記憶されているものとする。例えば「100」ミリメートルとする。
【0216】
中心位置記憶部2820は、ロボットアーム1010GAのハンド1010Ghを回転させる際の、回転中心2720の位置座標を記憶する手段である。ここでは、回転中心2720の位置座標の初期値として「(0,2000,50)」が記憶されているものとする。図27において、2000は、ロボットアーム1010GAと地面との接触面の中心であり、以降の説明では、これを原点とする。2720は、回転中心を表す。2020は、原点2000を始点とし、回転中心2720を終点とする回転中心2720の位置ベクトルである。回転中心2720の位置座標の初期値「(0,2000,50)」は、回転中心2720の位置ベクトル2020の初期位置を示すベクトルである。
【0217】
力取得部2830は、力検出部1050が検出した力の向きを取得する手段である。
【0218】
すなわち、力取得部2830は、力検出部1050を用いて力検出部1050が取得した力の向きを取得する。具体的には、パーソナルコンピュータで力検出部1050を管理する場合には、力検出部1050を管理するデバイスドライバに力の向きを取得するコマンドを送信(すなわち、デバイスドライバの関数の呼び出しを実行)し、力の向きを取得する。
【0219】
中心位置更新部2840は、力取得部2830が取得した力の向きに基づいて、中心位置記憶部2820が記憶する回転中心2720の位置座標を更新する。例えば、力取得部2830に対して右向きに力が入れば、回転中心2720の位置座標を右にずらした位置座標を、回転中心2720の位置座標として更新して記憶する。ここでは、力取得部2830が取得した力の向きが(F_X、F_Y、F_Z)、中心位置記憶部2840が記憶している回転中心2720の位置ベクトルが(C_X、C_Y、C_Z)のとき、更新後の回転中心2720の位置ベクトル(C_X_NEW、C_Y_NEW、C_Z_NEW)を「(C_X_NEW、C_Y_NEW、C_Z_NEW)=(C_X、C_Y、C_Z)+(第七の所定の値)×(F_X、F_Y、F_Z)」とする。具体的には、回転中心2720の位置ベクトルが「(0、2000、50)」、第七の所定の値が「10」、力の向きが「0、1、0」のとき、更新後の回転中心2720の位置ベクトルは「(0、2000、50)+10×(0、1、0)」より、「(0、2720、50)」となる。
【0220】
回転角記憶部2850は、回転中心2720に対する、目標位置の回転角2070を記憶する手段である。初期値として「0」が格納されているものとする。回転角2070は、回転中心2720の位置を始点とし、目標位置を終点とする回転中心2720と目標位置を結ぶベクトルと、X軸+方向とが(反時計回りに)なす角度である。2030は、回転角2070が「0」の時の目標位置を示す。また、2040は、回転角2070が「0」のときの回転中心2720と目標位置2030を結ぶベクトル((回転半径)、0、0)を示す。また、2050は、回転角2070が「90」の時の目標位置を示す。また、2060は、回転角2070が「90」のときの回転中心2720と目標位置2050を結ぶベクトル(0、(回転半径)、0)を示す。また、2070は、回転角が「90」のときの回転角を示す。
【0221】
回転角更新部2860は、回転角記憶部2850が記憶する回転角2070を更新する手段である。ここでは、「(更新後の回転角)=((更新前の回転角)+(第八の所定の値))%360」とする。ここで、演算子「%」は剰余を表す。すなわち、「A%B」は、AをBで割った余りを表す。ここでは、第八の所定の値を「10」とする。
【0222】
目標位置算出部2870は、ハンド1010Ghの目標位置を算出する手段である。原点2000と目標位置を結ぶ目標位置ベクトルは、「(回転中心の位置ベクトル)+(回転中心と目標位置を結ぶベクトル)」である。また、回転半径をR、回転角をθとするとき、回転中心2720と目標位置を結ぶベクトルは、「R×(cosθ、sinθ、0)」となる。回転中心2720の位置ベクトルを(C_X、C_Y、C_Z)とするとき、目標位置ベクトルは、「(C_X+R×cosθ、C_Y+R×sinθ、C__Z)」となる。
【0223】
以下、目標位置算出部2870で目標位置を算出する処理を説明する。図28は、目標位置算出部2870の処理の流れを示す図である。
【0224】
目標位置算出部2870は、ステップS1901で処理を開始する。
【0225】
次に、ステップS1902で、目標位置算出部2870は、回転半径記憶部2810より回転半径Rを取得する。具体的には例えば「100」を取得する。
【0226】
次に、ステップS1903で、目標位置算出部2870は、中心位置更新部2840に中心位置更新の開始を指示する。指示を受けた中心位置更新部2840は、力取得部2830より力の大きさ及び向きを取得する。具体的には例えば、力の大きさ「2」と、力の向き「(0、1、0)」とを取得する。
【0227】
次に、ステップS1904で、中心位置更新部2840は、取得した力の大きさが閾値以上であるかを判定する。判定結果が真の場合(取得した力の大きさが閾値以上であると中心位置更新部2840で判定する場合)は、ステップS1906に処理を進める。偽の場合(取得した力の大きさが閾値未満であると中心位置更新部2840で判定する場合)は、ステップS1905に処理を進める。ここでは、閾値を「1」とする。
【0228】
ステップS1905に進む場合、中心位置更新部2840は、中心位置記憶部2820より、中心位置2720の座標を取得する。中心位置更新部2840は、取得した中心位置2720の座標と、力の向きより、更新後の中心位置を算出する。ここでは、力取得部2830が取得した力の向きが(F_X、F_Y、F_Z)、中心位置記憶部2840が記憶している中心位置が(C_X、C_Y、C_Z)のとき、更新後の中心位置(C_X_NEW、C_Y_NEW、C_Z_NEW)を「(C_X_NEW、C_Y_NEW、C_Z_NEW)=(C_X、C_Y、C_Z)+(第七の所定の値)×(F_X、F_Y、F_Z)」とする。ここでは、第七の所定の値を「10」とする。(F_X、F_Y、F_Z)が(0、1、0)で、回転の中心が(0,2000,50)の時、「(0、2000、50)+10×(0、1、0)」より、更新後の中心位置(0、2010、50)となる。その後、ステップS1906に進む。
【0229】
ステップS1906では、目標位置算出部2870は、中心位置記憶部2820が記憶する中心位置2720の座標を取得する。ここでは、例えば、(0、2010、50)を取得する。
【0230】
次に、ステップS1907で、目標位置算出部2870は、回転角記憶部2850が記憶する回転角2070を取得する。ここでは、例えば「0」を取得する
次に、ステップS1908で、目標位置算出部2870は、目標位置の算出を行う。目標位置算出部2870は、式「(C_X+R×cosθ、C_Y+R×sinθ、C__Z)」に、ステップS1902で取得した回転半径R、ステップS1904又はステップS1905で取得した回転中心2720の位置ベクトル(C_X、C_Y、C_Z)、ステップS1907で取得した回転角θを代入して、目標位置を算出する。具体的には、例えば、回転半径Rが「1000」、回転中心2720の位置ベクトル(C_X、C_Y、C_Z)が「(0、2010、50)」、回転角θが「0」のとき、「(0+1000×cos0、2010+1000×sin0、50)」より、「(1000、2010、50)」を取得する。
【0231】
次に、ステップS1909で、目標位置算出部2870は、算出した目標位置を制御部1090Gに送信する。目標位置を取得した制御部1090Gはロボットアーム1010GAのハンド1010Ghを目標位置に移動する。
【0232】
次に、ステップS1910で、目標位置算出部2870は、回転角更新部2860を用いて、回転角記憶部2850が記憶する回転角の更新を行う。例えば、更新前の回転角が「0」のとき、「10」に更新する。
【0233】
次に、ステップS1911で、目標位置算出部2870は、終了判定を行う。終了判定は、例えば、図示しない緊急停止ボタンが押されているか否かによって判断する。終了判定が真の場合(図示しない緊急停止ボタンが押されていると目標位置算出部2870で判断する場合)は処理をステップS1912に進める。偽の場合(図示しない緊急停止ボタンが押されていないと目標位置算出部2870で判断する場合)は処理をステップS1903に戻す。
【0234】
次に、ステップS1912に進む場合、処理を終了する。
【0235】
以上が、目標位置算出部2870が行う処理の流れである。
【0236】
ロボット1010Gの制御部1090Gは、第4実施形態と同様に、機械インピーダンス制御を行う。制御パラメータ決定部1030Gによって決定された粘性パラメータを用いて、目標位置算出部2870から受信した目標位置に対し、ロボットアーム1010GAのハンド1010Ghを移動する。
【0237】
一方、ロボット制御パラメータ決定装置1030Gは、特徴量取得部1060と制御パラメータ決定部1080Gとを備えて構成している。
【0238】
制御パラメータ決定部1080Gは、機械インピーダンスの粘性パラメータの値を決定する。操作部1020が図2Aのようにしっかり握られている場合には、機械インピーダンス制御の粘性パラメータの値を、ハンド1010Ghの位置の振動が起こりにくくなるような値、すなわち、大きな値に決定する。逆に、図2Bのように狭い範囲で握られている場合には、機械インピーダンス制御の粘性パラメータの値を、ハンド1010Ghの位置の振動が起こりやすいが素早く動かせる値、すなわち、小さな値に決定する。具体的には、制御パラメータ決定部1080Gは、特徴量取得部1060が取得した特徴量に第九の所定の値を掛けた値を粘性パラメータとする。
【0239】
例えば、特徴量取得部1060が、図2A、図2B、図2Cの握り幅1210の値である特徴量「70」、「7」、「3」を取得し、第九の所定の値が「0.1」のとき、粘性パラメータは、それぞれ「70×0.1」、「7×0.1」、「3×0.1」となる。すなわち、「7」、「0.7」、「0.3」となる。
【0240】
本発明の第8実施形態によると、人1040と操作部1020との接触領域の特徴量に応じて、早く動かしやすい操作感と、ゆっくり(又は正確に)動かしやすい操作感とを変えることができる。
【0241】
具体的には、例えば、人1040は、操作部1020をしっかり握って、図2Aのように接触の範囲を広くし力を加えた場合、ロボットアーム1010GAの粘性パラメータは「7」となり、粘性による抵抗感が発生する。そのため、ハンド1010Ghが把持するお玉2710が、鍋2740の内部の食材に頻繁に衝突し、ロボットアーム1010GAに外力が加わるような場合にも、粘性による抵抗感が発生し、ハンド1010Ghの位置の振動が起こりにくくなる。また、粘性による抵抗感がある操作感でロボットアーム1010GAを動かすことができるので、精度を要する作業の途中で誤って力が入ってしまっても、ロボットハンド1010Ghが大きく移動してしまうことはなく、ゆっくり(又は正確に、又は安全に)動かす操作感が良くなる。
【0242】
一方、図2Bのように接触の範囲を狭くした場合、ロボットアーム1010GAの粘性パラメータは「0.7」となり、粘性による抵抗感がほとんど発生しない。そのため、ロボットハンド1010Ghが把持するお玉2710が、鍋2740の内部の食材に頻繁に衝突し、ロボットアーム1010GAに外力が加わる場合にも、粘性による抵抗感が発生しないので、ハンド1010Ghの位置の振動が起りやすくなる。また、粘性による抵抗感がない操作感でロボットアーム1010GAを動かすことができ、早く動かす操作感が良くなる。よって、お玉2710を鍋2740の食材のある位置まで下す際に、図2Bの握り方で操作を行えば、早く、お玉2710を下すことが出来る。
【0243】
一般に、直接教示を行うロボットハンド1010Ghが振動している場合、人は、ロボットアーム1010GAをしっかり握って止めようとすることが観察されている。本発明の第8実施形態では、人1040が作業を変える際に意識せずに生じる持ち方の変更に応じて、ロボットアーム1010GAの操作感を切り替えることが出来る。そのため、人1040がロボットアーム1010GAの操作感を切り替えるための作業負担、切り替える方法を習得するための学習負担は共に少ない。
【0244】
<第1変形例>
第8実施形態では、特徴量は、握り幅の長さである場合を述べている。この場合、特徴量は多段階になる。しかしながら、本発明はこれに限定されるものではなく、第8実施形態の第1変形例として、測定した握り幅の長さを、閾値との大小比較によって特徴量を2つの段階で設定する構成としても構わない。例えば、制御パラメータ決定部1080は、前記特徴量が閾値よりも高い場合に、前記ロボット1010が、所定の粘性パラメータの値よりも早く移動しやすい粘性パラメータの値を決定し、前記特徴量が前記閾値よりも低い場合に、前記ロボット1010が、前記所定の粘性パラメータの値よりもゆっくり移動しやすい粘性パラメータの値を設定する。この結果、広く握れば(握り幅の長さが大きくなれば)、ロボット1010がゆっくり移動しやすくなる。その場合、例えば、握り幅の長さが閾値「30」ミリメートル以下の場合には、粘性パラメータの値を「0.7」とし、握り幅の長さが閾値「30」ミリメートルを超える場合には、粘性パラメータの値を「7」とする。このような構成においても、第8実施形態の効果で説明した効果が得られる。
【0245】
また、ここで決定する制御パラメータは、粘性パラメータに限らず、移動速度であっても構わない。例えば、制御パラメータ決定部1080は、前記特徴量が閾値よりも低い場合に、前記ロボット1010が、所定の移動速度よりも早く移動しやすい制御パラメータの値を決定し、前記特徴量が前記閾値よりも高い場合に、前記ロボット1010が、前記所定の移動速度よりもゆっくり移動しやすい制御パラメータの値を設定する。この結果、狭く握れば(握り幅の長さが小さくなれば)、ロボット1010が移動しやすくなる。その場合、例えば、握り幅の長さが閾値「30」ミリメートル以下の場合には、移動速度の上限値の制御パラメータの値を「140」とし、握り幅の長さが閾値「30」ミリメートルを超える場合には、制御パラメータの値を「14」とする。このような構成においても、第8実施形態の効果で説明した効果が得られる。
【0246】
(第9実施形態)
本発明の第9実施形態は第2実施形態と同様の接触センサ1710を用い、操作部1020がしっかり安定した握り方をされているかを特徴量とする実施形態である。操作部1020がしっかり握られていない場合は、力検出部1050に人1040が意図しない力が加わっている可能性がある。よって、しっかり握られていない場合には、力検出部1050が取得した力をロボット1010の移動に反映させるのを控えるか、又は、控えめにする。
【0247】
ここでは、いくつかの握り方を例示して、その安定性を述べる。
【0248】
図29A〜図29Fは、それぞれ、図13の操作部1020を上から見た図である。
【0249】
図29Aは、人1040の手が円柱状の操作部1020の周りを包み込んで握っている状態を示す。人1040の手と操作部1020との接触点では、人1040の手が操作部1020を押さえつける力が発生している。これを図29A中の矢印で示す。人1040の手が操作部1020を押さえつける力は、操作部1020の表面の法線の逆方向を向いていると近似することが出来る。図29Aでは、人1040の手が、操作部1020を押さえつける力を調整することで、操作部1020に加わる合力を0とすることが出来る。すなわち、操作部1020を手で安定して握ることが出来る。なお、図29Aでは、人1040の手が操作部1020の外周に接触している領域すなわち接触領域3130は、操作部1020の全外周となっている。
【0250】
図29Bは、人1040の手で円柱状の操作部1020を握る途中の段階であって、手の人差し指、中指、薬指、小指が操作部1020にかかった状態を示す。操作部1020を上から見た外周上には、人1040の手が接触している領域と、人1040の手が接触していない領域とがある。それぞれを、接触領域3130、非接触領域3120とする。図29Bでは、おおよそ、接触領域3130は操作部1020の外周の3分の1程度であり、非接触領域312は操作部1020の外周の3分の2程度である。接触領域3130では、人1040の手が操作部1020を押さえつける力が発生している。人1040の手が操作部1020を押さえつける力は、操作部1020の表面の法線の逆方向を向いていると考えることができる。これを図29B中の矢印で示す。
【0251】
図29Bでは、人1040の手が、操作部1020を押さえつける力を調整しても、操作部1020に加わる合力を0とすることは出来ない。この状態では、操作部1020に人1040が意図しない力が加わっている場合がある。例えば、人1040が慌てて、手で操作部1020を握ろうとした場合、握る途中、指が勢いよく操作部1020にぶつかってしまい、図29B中の左上方向に力が発生する。この場合、操作部1020に人1040が意図しない力が加わり、ロボット1010は、人1040の意図しない方向に移動してしまう危険性がある。このような握り方は、「安定しない握り方」と考えられる。
【0252】
一方、図29Cは、図13Aの握り方をしたときの状態を示す。図29Cでは、おおよそ、接触領域3130は操作部1020の外周の4分の3程度であり、非接触領域312は操作部1020の外周の4分の1程度である。
操作部1020は人1040の手にしっかり囲まれている。図29A、図29Bと同様に押さえつける力を矢印で図示する。図29Cでは、人1040の手が、操作部1020を押さえつける力を調整することで、操作部1020に加わる合力を0とすることが出来る。
【0253】
以上のように、図29Bの握り方は「安定しない握り方」であり、図29Cは「安定した握り方」である。この差は、非接触領域3120の大きさによる。すなわち、非接触領域3120が広いほど、不安定な握り方であり、非接触領域3120が狭いほど、安定した握り方である。非接触領域3120がない図29Aの場合、最も安定した握り方である。
【0254】
ここでは、操作部1020を上から見たときの形状が円形状となる場合を示したが、それ以外の場合を考慮すると、図29Cにおいて、操作部1020の外周上での非接触領域3120の両端の2点における、表面の法線の方向の差の角度3150が大きければ大きいほど、不安定な握り方である。すなわち、非接触領域3120の両端の2点における表面の法線の方向のベクトル3170とベクトル3171のなす角度3150(算出方向は後述する)が大きいほど、不安定な握り方であるといえる。すなわち、角度3150が大きいほど、不安定な握り方であり(例えば、図29B)、角度3150が小さいほど、安定した握り方である(例えば図29C)。
【0255】
また、例えば、図29Fのように直方体形状の操作部1020を2本の指でつまむような握り方では、非接触領域3120の長さは、図29Bの場合よりも長いが、操作部1020を両側からしっかり挟んでいるので、安定した握り方であるといえる(図29Fでは、図29Bの場合より、角度3150は小さいため)。
【0256】
以上より、非接触領域3120の両端の2点における表面を押さえつける方向の差の角度3150が大きければ大きいほど、不安定な握り方であると言える。すなわち、非接触領域3120の両端の2点における表面を押さえつける方向のベクトル3160とベクトル3161のなす角度が大きいほど、不安定な握り方であるといえる。
【0257】
特に、角度3150が180度よりも大きくなると、人1040の手が、操作部1020を押さえつける力を調整しても、操作部1020に加わる合力を0とすることは出来ないので、不安定である。(厳密には、0とすることが出来る場合もある。ここでは、人1040の手が操作部1020を押さえつける力は、操作部1020の表面の法線の逆方向と近似したが、それ以外の方向に力を加えることで合力を0にすることは可能である。ただ、角度3150が180度よりも大きくなるに従って、より不安定になることは言える。)
なお、前記角度3150は、以下の考え方で算出することができる。、ベクトルAとベクトルBがなす角度(すなわち、前記角度3150)を「θ」、ベクトルAの大きさを「|A|」、ベクトルBの大きさを「|B|」、ベクトルAの大きさとベクトルBの大きさの積を「|A||B|」、ベクトルAとベクトルBの内積をA・Bとしたとき、以下の式が成り立ち、この式からθを算出することができる。
【0258】
COSθ=A・B/(|A||B|)
図29D、図29Eでは、非接触領域が複数の場合の握り方の例を示すものである。すなわち、手の外側の非接触領域3120と手の内側の非接触領域3121とがある。この場合には、非接触領域3120の両端の2点における表面の法線がなす角も複数存在する。すなわち、角3150と角3151とがある。このうち角度の値が大きい方の角の値が小さいほど、安定した握り方である。
【0259】
次に、上記の特徴量を用いるロボットシステム(ロボット装置)1000Hを、図30に基づいて、説明する。
【0260】
第9実施形態におけるロボットシステム1000Hは、図30に示すように、ロボット1010と、第1実施形態におけるロボット制御パラメータ決定部1030の替わりに、ロボット制御パラメータ決定部1030Hを有する。また、ロボット1010において、制御部1090の替わりに制御部1090Hを有する。
【0261】
図31Aは、ロボット制御パラメータ決定装置1030の構成を示すブロック図である。ロボット制御パラメータ決定装置1030Hは、接触センサ1710と、特徴量取得部1060Hと、力検出部1050が検出した力の値を受信する力受信部2390と、制御パラメータ決定部1080Hとで構成されている。また、特徴量取得部1060Hは、接触判定部2310と、境界取得部2320と、境界記憶部2330と、方向情報記憶部2340と、方向情報取得部2350と、非接触領域評価部2360と、非接触領域評価記憶部2370と、特徴量抽出部2380とを備えて構成している。図31Aにおいて、既に述べた実施形態の同じ構成要素については同じ符号を用い、説明を省略する。図31Aに示す特徴量取得部1060Hを構成する各部を説明する。
【0262】
接触判定部2310は、操作部1020を上から見た図(例えば図29B)における操作部1020の外周上の各点が、人1040の手と接触している範囲の点であるか、接触していない範囲の点であるかを判定する。前述した通り、図14Aは、接触センサ1710が接触を判定した範囲と、接触を判定しない範囲とを示す図である。図14AでY軸に平行な直線「X=X1」(ただし、X1=0)上の点の集合(以下、点の集合を「点集合」とする。)は、操作部1020を上から見た図においては操作部1020の外周上の一つの点に射影される。接触判定部2310は、直線「X=X1」(ただし、X1=0)上の点集合が、物体と接触しているかを判定する。ある点集合が、物体と接触しているかの判定は、その点集合を構成する点のなかで、物体と接触している点の数が第十の所定の値以上あるか否かで接触判定部2310により判定する。もし、第十の所定の値以上であると接触判定部2310で判定する場合は、その点集合は物体と接触していると接触判定部2310で判定し、そうでない場合は接触していないと接触判定部2310で判定する。ここでは、第十の所定の値を「1」とする。具体的には、図14の直線「X=0」上の点集合は、点(0,0)、(0、1)、・・・、(0、Y_MAX)の集合ある。それらのうちに、物体と接触している点が1つ以上あるかを接触判定部2310で判定する。接触判定部2310は、X1=1、2、・・・、X_MAXの場合も同様に直線「X=X1」上の点集合が、物体と接触しているかを判定する。以降の説明では、F(X1)は、直線「X=X1」が、物体と接触している場合は「1」を、接触していない場合は「0」を示す関数とする。図32A〜図32Cは、接触判定部2310が行う判定結果(すなわちF(X))を示す図である。
【0263】
境界取得部2320は、図32A〜図32Cにおいて、F(X)の値が「0」(例えば、非接触を意味する。)から「1」(例えば、接触を意味する。)に変わる位置と、F(X)の値が「1」から「0」に変わる位置とを見つける。すなわち、境界取得部2320は、物体と接触していると判定された範囲と、接触していないと判定された範囲との境界を抽出する部である。具体的には、図13Aの握り方の場合は、図32AにおけるX_Aの値からX_Bの値を抽出する。また、図13Bの握り方の場合は、図32BにおけるX_Aの値からX_Dの値をそれぞれ抽出する。
【0264】
境界記憶部2330は、境界取得部2330が抽出した境界を記憶する部である。具体的には、図13Aの握り方の場合は、X_Aの値からX_Bの値を順に記憶するとともに、図13Bの握り方の場合は、X_A、X_B、X_C、X_Dの値が順に記憶される。図33A,図33Bは、それぞれ図13Aの握り方の場合及び図13Bの握り方の場合に、境界記憶部2330が保持する境界の値を示す図である。
【0265】
方向情報記憶部2340は、各点集合がどの方向を向いているかの方向情報を記憶する部である。本第9実施形態では、各点集合と、その点集合の表面の法線方向との対応を予め保持するものとする。図34は、X_MAXを「360」、X=0の時の法線の方向を「0」とした場合の方向情報を示す。第一列はX1の値であり、第二列はX1の値に対応する方向情報の値である。例えば、第一行は「0,0」である。これは「X=0」上の点集合では、表面の法線方向が「0」度であることを示す。
【0266】
方向情報取得部2350は、指定した各点集合がどの方向を向いているかの方向情報を取得する部である。具体的には、指定された点集合の方向を方向情報記憶部2340より取得する。例えば、図32Aで、X_Aの値が「45」であり、この点集合が指定されたとき、方向情報「45」を取得する。また、例えば図32Aで、X_Bの値が「300」であり、この点集合が指定されたとき、方向情報「45」を取得する。なお、ここでは方向情報を方向情報記憶部2340より取得する構成としたが、予め与えられた算出式に基づいて、方向情報を取得する構成としても構わない。例えば、ここでは、X1の値と方向情報は等しいので、X1の値そのものを方向情報としても構わない。
【0267】
非接触領域評価部2360は、非接触領域3120の両端の2点における表面の法線がなす角3150を算出する部である。例えば図32Aでは、「0」から「X_A」までと、「X_B」から「X_MAX」までが非接触領域3120である。よって、「0」から「X_A」までで表面の法線がなす角と、「X_B」から「X_MAX」までで表面の法線がなす角の和が、非接触領域3120の両端の2点における表面の法線がなす角3150である。具体的には、X_Aの値が「45」で、X_Bの値が「300」とすると、「(45−0)+(360−300)」により角3150を算出する。すなわち角3150は「105」となる。
【0268】
また、例えば図32Bでは、「0」から「X_A」までと、「X_D」から「X_MAX」までが非接触領域3120である。よって、「0」から「X_A」までで表面の法線がなす角と、「X_D」から「X_MAX」までで表面の法線がなす角の和が、非接触領域3120の両端の2点における表面の法線がなす角3150である。具体的には、X_Aの値が「5」で、X_Dの値が「210」とすると、「(5−0)+(360−210)」により角3150を算出する。すなわち、角3150は「155」となる。また、「X_B」から「X_C」までが非接触領域3121である。よって、「X_B」から「X_C」までで表面の法線がなす角が、非接触領域3120の両端の2点における表面の法線がなす角3151である。具体的には、X_Bの値が「20」で、X_Cの値が「185」とすると、「185−20」により角3151を算出する。すなわち角3151は「165」となる。
【0269】
非接触領域評価記憶部2370は、非接触領域評価部2360が算出した非接触領域の両端の2点における表面の法線がなす角の値を記憶する部である。例えば図32Aでは非接触領域評価部2360が算出した「105」を記憶する。図32Bでは、非接触領域評価部2360が算出した「155」と「165」とを記憶する。
【0270】
特徴量抽出部2380は、非接触領域評価記憶部2370が保持する非接触領域の両端の2点における表面の法線がなす角の値のうち最大のものを特徴量として抽出する部である。例えば、非接触領域評価記憶部2370が「105」のみを記憶する場合は、「105」を抽出する。非接触領域評価記憶部2370が「155」と「165」とを記憶する場合には、「165」を抽出する。
【0271】
なお、非接触領域評価記憶部2370が値を記憶しない場合、すなわち、操作部1020が握られていない場合には「360」を抽出する。
【0272】
次に、特徴量取得部1060Hが行う処理の流れを説明する。図31Bは、特徴量取得部1060Hの処理の流れを示す図である。
【0273】
まず、特徴量抽出部2380は、ステップS2301で処理を開始する。
【0274】
次に、ステップS2302で、接触判定部2310は、直線「X=0」上の接触判定を行う。すなわち、直線「X=0」上の点集合点(0,0)、(0、1)、・・・、(0、Y_MAX)のうちに、物体と接触している点が1つ以上あるかを接触判定部2310で判定する。この判定結果を、F(0)とする。
【0275】
次に、ステップS2303で、特徴量抽出部2380は、変数X1に「1」を代入し、変数Cに「1」を代入する。
【0276】
次に、ステップS2304で、接触判定部2310は、直線「X=X1」上の接触判定を行う。すなわち、直線「X=X1」上の点集合点(X1,0)、(X1、1)、・・・、(X1、Y_MAX)のうちに、物体と接触している点が1つ以上あるかを接触判定部2310で判定する。この判定結果を、F(X1)とする。図32A〜図32Cは、接触判定部2310が行う判定結果(すなわち、F(X1))を示す図である。
【0277】
次に、ステップS2305で、境界取得部2320は、境界判定を行う。すなわち、F(X1)の値と、F(X1−1)の値が異なるかを境界取得部2320で判定する。判定結果が真の場合(F(X1)の値とF(X1−1)との値が異なると境界取得部2320で判定する場合)、ステップS2306に処理を進める。判定結果が偽の場合(F(X1)の値とF(X1−1)との値が異ならないと境界取得部2320で判定する場合)、ステップS2307に処理を進める。具体的には、図13Bの握り方の場合は、X1の値がX_A又はX_B又はX_C又はX_DのときステップS2306に進める。他の場合は、ステップS2307に進める。
【0278】
ステップS2306に進む場合、境界記憶部2330は、X1の値を記憶する。具体的には、図13Bの握り方の場合は、X_A、X_B、X_C、X_Dの値が順に境界記憶部2330に記憶される。その後、ステップS2307に進む。
【0279】
ステップS2307では、特徴量抽出部2380は、変数X1に「1」を加える。
【0280】
次に、ステップS2308で、特徴量抽出部2380は、変数X1がX_MAXより大きいか否かを判定する。判定結果が真の場合(変数X1がX_MAXより大きいと特徴量抽出部2380で判定する場合)は処理をステップS2313に進める。判定結果が偽の場合(変数X1がX_MAX以下であると特徴量抽出部2380で判定する場合)は、ステップS2304に処理を戻す。
【0281】
次に、ステップS2313で、方向情報取得部2350は、境界記憶部2330が記憶する各境界に対する方向情報を方向情報記憶部2340より取得する。例えば図32Aの場合では、境界情報記憶部2330は、X_Aの値「45」、X_Bの値「360」を記憶している。そのとき、方向情報取得部2350は、それぞれに対応する方向情報「45」、「360」を取得する。また例えば図32Bの場合、境界情報記憶部2330は、X_Aの値「5」、X_Bの値「20」、X_Cの値「180」、X_Dの値「205」を記憶している。そのとき、方向情報取得部2350は、それぞれに対応する方向情報「5」、「20」、「180」、「205」を取得する。
【0282】
次に、ステップS2314で、非接触領域評価部2360は、非接触領域3120の両端の2点における表面の法線がなす角3150を算出する。具体的には、例えば図32Aでは、「0」から「X_A」までと、「X_B」から「X_MAX」までの非接触領域3120の両端の2点における表面の法線がなす角3150を算出する。すなわち、前述の「(45−0)+(360−300)」により角3150の値「105」を算出する。また、また、例えば図32Bでは、「0」から「X_A」までと、「X_D」から「X_MAX」までの非接触領域3120と、「X_B」から「X_C」までの非接触領域3121とについて、非接触領域の両端の2点における表面の法線がなす角を算出する。すなわち、「(5−0)+(360−210)」より角3150の値「155」を算出し、「185−20」により角3151の値「165」を算出する。
【0283】
次に、ステップS2315で、非接触領域評価記憶部2370は、非接触領域評価部2360が算出した、非接触領域の両端の2点における表面の法線がなす角を記憶する。すなわち、例えば図32Aでは、角3150の値「105」を格納し、図32Bでは、角3150の値「155」及び角3151の値「165」を格納する。
【0284】
次に、ステップS2316は、非接触領域評価記憶部2370が記憶する値のうちの最大値を特徴量とする。もし、非接触領域評価記憶部2370が値を記録していない場合は、特徴量を360とする。例えば図32Aでは非接触領域評価記憶部2370が記憶する「105」を特徴量とする。図32Bでは、非接触領域評価記憶部2370が記憶する「155」と「165」のうち、最大の値「165」を特徴量とする。この特徴量の値は、操作部1020が安定して握られている時ほど小さい値となり、不安定に握られている時ほど、大きな値となる。
【0285】
次に、制御パラメータ決定部1080Hが行う処理を説明する。
【0286】
制御パラメータ決定部1080Hは、力受信部2390が受信した力の値を補正する。すなわち、特徴量取得部1060Hが取得した特徴量が大きいほど、力の値が小さくなるように補正する。つまり、操作部1020の握られ方が不安定なほど、力の値が小さくなるように補正を行う。ここでは、力受信部2390が受信した力の値に、特徴量の値に応じた数値を掛け、補正後の力の値を算出する。図35は、特徴量の値(横軸)と、力受信部2390が受信した力に掛ける数値(縦軸)との関係を示す図である。特徴量が「0」から「190」までの値の場合、力に掛ける数値は「1」であるため、補正後の力の値は、力受信部2390が受信した力の値そのものである。特徴量が「190」から「220」までの値の場合、力に掛ける数値は1未満の数値であるため、補正後の力の値は、力受信部2390が受信した力の値より小さい値である。特徴量が「220」から「360」までの値の場合、力に掛ける数値は「0」であるため、補正後の力の値は力受信部2390が受信した力の値を「0」倍した値となる。例えば、力受信部2390が受信した力が(1,0,0)である場合、特徴量が「0」から「190」までの値の場合、補正後の力の値は、(1,0,0)となる。特徴量が「220」から「360」までの値の場合、補正後の力の値は、(0,0,0)となる。
【0287】
制御部1090Hは、制御パラメータ決定部1080Hより取得した補正後の力の値に基づき、ロボット1010の移動速度を決定し、ロボット1010の移動を制御する。ここでは、補正後の力の値に第十一の所定の値を掛けた値を移動速度とする。ここでは、第十一の値は、「100」とする。例えば、力受信部2390が受信した力が(1,0,0)である場合、特徴量が「0」から「190」までの値の場合、補正後の力の値は、(1,0,0)となり、移動速度は(100,0,0)となる。すなわち、ロボット1010を移動速度「100」ミリメートル毎秒で移動させる制御を行う。
【0288】
特徴量が「220」から「360」までの値の場合、補正後の力の値は、(0,0,0)となり、移動速度は(0,0,0)となる。すなわち、ロボット1010は移動しない。
【0289】
本発明の第9実施形態によると、人1040の手と操作部1020との接触領域の特徴量に応じて、早く動かしやすい操作感と、安全な操作感とを変えることができる。
【0290】
具体的には、例えば、人1040は、操作部1020をしっかり握って、図2Aのように接触の範囲を広くし、(1,0,0)の力、すなわち、1ニュートンの力を加えた場合、ロボット1010を移動速度「100」ミリメートル毎秒で移動させることができ、早く動かす操作感が良くなる。一方、図29Eのような不安定な握り方をした場合、1ニュートン以上の力を加えた場合でも、ロボット1010は移動せず、安全である。また、操作部1020に人1040以外の物体が衝突し、力検出部1050に力がかかったとしても、大抵の場合、安定度が低いため、ロボット1010は移動することはなく、安全である。
【0291】
また、図29Dのようにしっかり握っている状態から、徐々に図29Eのような握り方に移行する場合に、急停止するのではなく、徐々に補正後の力が「0」に近付くため、徐々に減速して停止し、安全である。なお、図29Dから図29Eのような握り方の変化は、例えば、ロボット1010及び操作部1020が移動している速度に、人1040がついていけない場合に生じる。また、例えば、汗で手が滑った場合、操作部1020が徐々に持ちにくい方向に移動した場合に生じる。
【0292】
なお、ここでは、各実施形態のロボット制御パラメータ決定装置を力検出部1050とは別の構成要素として説明したが、ロボット制御パラメータ決定装置と力検出部1050とで構成されており、補正後の力の値を出力する力検出部と考えてもよい。
【0293】
また、なお、ここでは、各実施形態のロボット制御パラメータ決定装置を操作部1020とは別の構成要素として説明したが、ロボット制御パラメータ決定装置1030Hと操作部1020(力検出部1050を含む)とで構成されており、補正後の力の値を出力する操作部1020と考えてもよい。
【0294】
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【0295】
本発明は、家庭用ロボットなど、人が操作部に力を加えて操作可能なロボットにおいて、早く動かしやすいロボットの制御と、ゆっくり(又は正確に)動かしやすいロボットの制御とを容易にかつ確実に切り替え可能な、ロボットの動作を生成又は教示するためのロボットの制御パラメータの値を決定するロボット制御パラメータ決定装置及び方法、ロボットの制御装置、ロボット装置、ロボット制御パラメータ決定プログラム、ロボット制御パラメータ決定用集積電子回路として有用である。また、ロボットに限らず、人が操作部に加えた力で操作可能な生産設備、被移動装置、パワーアシスト装置、自動車、バイクでも適用される可能性がある。
【符号の説明】
【0296】
900 ロボットの制御装置
1000 ロボットシステム(ロボット装置)
1010 ロボット
1010A ロボットアーム
1010Ah ハンド
1020 操作部
1030 ロボット制御パラメータ決定装置
1040 人
1060 特徴量取得部
1060S センシング領域(検出領域)
1080 制御パラメータ決定部
1090 制御部
1210 握り幅
1410 導線
1420 電源
1430 電流計
1440 絶縁体
1450 指
1610 計算部
1620 通信部
1630 記憶部
1640 バス
1030A ロボット制御パラメータ決定装置
1710 接触センサ
1060A 特徴量取得部
2510 物体
2520 物体
2530 台
2610 ダミーロボット
2620 制御部
2630 位置取得部
2640 リンク
2650 関節
2660 モータ
2670 ダミーロボット原点
2680 ロボット原点
2710 お玉
2720 回転中心
2730 目標位置取得部
2740 鍋
2810 回転半径記憶部
2820 中心位置記憶部
2830 力取得部
2840 中心位置更新部
2850 回転角記憶部
2860 回転角更新部
2870 目標位置算出部
3130 接触領域
3231〜3236 接触領域と非接触領域の境界上の点
3240 非接触領域
3220 操作部を上から見たときの中心点

【特許請求の範囲】
【請求項1】
ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置。
【請求項2】
前記ロボットはロボットアームであり、
前記制御パラメータ決定部は、前記ロボットの位置、速度、加速度、力、機械インピーダンス制御パラメータ、及び、ロボットアームのリンクの結合力の少なくとも1つを決定付ける制御パラメータを決定する、
請求項1に記載のロボット制御パラメータ決定装置。
【請求項3】
前記特徴量は、前記操作部と前記人との接触の程度が高いほど高くなる量であって、
前記制御パラメータ決定部は、前記特徴量が閾値よりも高い場合に、前記ロボットが、所定の移動速度よりも早く移動しやすい前記制御パラメータの値を決定し、前記特徴量が前記閾値よりも低い場合に、前記ロボットが、所定の移動速度よりもゆっくり移動しやすい前記制御パラメータの値を設定する、
ことを特徴とする請求項1又は2に記載のロボット制御パラメータ決定装置。
【請求項4】
前記特徴量は、前記操作部と前記人との接触の程度が高いほど高くなる量であって、
前記制御パラメータ決定部は、前記特徴量が閾値よりも低い場合に、前記ロボットが、所定の移動速度よりも早く移動しやすい前記制御パラメータの値を決定し、前記特徴量が前記閾値よりも高い場合に、前記ロボットが、前記所定の移動速度よりもゆっくり移動しやすい前記制御パラメータの値を設定する
ことを特徴とする請求項1に記載のロボット制御パラメータ決定装置。
【請求項5】
前記特徴量取得部は、前記人が前記操作部を握る握り幅を取得し、前記特徴量は、前記特徴量取得部で取得した前記握り幅に基づき取得される
ことを特徴とする請求項1〜4のいずれか1つに記載のロボット制御パラメータ決定装置。
【請求項6】
前記特徴量取得部は前記人が前記操作部を握る指の本数を取得し、前記特徴量は、前記指本数取得部で取得した前記指の本数に基づき取得される
ことを特徴とする請求項1〜4のいずれか1つに記載のロボット制御パラメータ決定装置。
【請求項7】
前記特徴量取得部は、前記人が前記操作部を握る面積を取得し、前記特徴量は、前記握り面積取得部で取得した前記面積に基づき取得される
ことを特徴とする請求項1〜4のいずれか1つに記載のロボット制御パラメータ決定装置。
【請求項8】
請求項1〜7いずれか1つに記載のロボットの制御パラメータ決定装置と、
前記制御パラメータ決定装置で決定された前記制御パラメータに基づいて、前記ロボットの制御を行なう制御部とを備える、ロボットの制御装置。
【請求項9】
請求項8に記載のロボットの制御装置と、
前記ロボットの制御装置により制御される前記ロボットとを備える、ロボット装置。
【請求項10】
マスターロボットの操作部に人から加えられた力に基づいて、前記マスターロボットに追随するように動作して作業を行わせるスレーブロボットの制御パラメータを決定するロボット制御パラメータ決定装置であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部と、
を備え、
前記制御パラメータ決定部は、前記スレーブロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定装置。
【請求項11】
ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定方法であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を特徴量取得部で取得し、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき制御パラメータ決定部で決定し、
前記制御パラメータ決定部で前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定方法。
【請求項12】
ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定プログラムであって、
コンピュータを、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得機能と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定機能とを実現させるとともに、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定プログラム。
【請求項13】
ロボットの操作部に人から加えられた力に基づいて動かされる前記ロボットの制御パラメータを決定するロボット制御パラメータ決定用集積電子回路であって、
前記操作部の検出領域における、前記操作部と前記人とが接触する接触領域と、前記操作部と前記人とが接触しない非接触領域との境界情報に基づき、前記接触領域の特徴量を取得する特徴量取得部と、
前記ロボットの前記制御パラメータを、前記特徴量取得部が取得した前記特徴量に基づき決定する制御パラメータ決定部とを備え、
前記制御パラメータを決定するとき、前記ロボットの位置、速度、及び、加速度の少なくとも1つを決定付ける制御パラメータを決定する、
ロボット制御パラメータ決定用集積電子回路。

【図1A】
image rotate

【図1B】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13A】
image rotate

【図13B】
image rotate

【図13C】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図14C】
image rotate

【図15】
image rotate

【図16A】
image rotate

【図16B】
image rotate

【図16C】
image rotate

【図17】
image rotate

【図18A】
image rotate

【図18B】
image rotate

【図18C】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24A】
image rotate

【図24B】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29A】
image rotate

【図29B】
image rotate

【図29C】
image rotate

【図29D】
image rotate

【図29E】
image rotate

【図29F】
image rotate

【図30】
image rotate

【図31A】
image rotate

【図31B】
image rotate

【図32A】
image rotate

【図32B】
image rotate

【図32C】
image rotate

【図33A】
image rotate

【図33B】
image rotate

【図34】
image rotate

【図35】
image rotate


【公開番号】特開2012−55985(P2012−55985A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−199443(P2010−199443)
【出願日】平成22年9月7日(2010.9.7)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】