(57)【特許請求の範囲】
【請求項１】
撮像装置を搭載したロボットの動作設定方法であって、
当該ロボットの頭部が写るように、当該ロボットの前方に設置された平面鏡との間の位置関係が調節された、当該ロボットに搭載された当該撮像装置による撮像画像中の、当該ロボットの位置を記録する手順と、
当該撮像装置による撮像画像中において、当該平面鏡に写った当該ロボットの頭部の像が当該平面鏡で反射された当該ロボットの視線が、当該撮像装置の光軸と一致している状態となるように当該ロボットの駆動部を動作させる手順と、
当該動作に要した当該ロボットの駆動部の駆動量を記録する手順と、
を含む、撮像装置を搭載したロボットの動作設定方法。
【請求項２】
当該撮像装置は当該ロボットの頭部と異なる位置に設けられており、当該撮像装置による撮像画像中の当該ロボットの位置とともに、当該平面鏡と当該撮像装置との間の距離を記録する手順を含む、請求項１記載の撮像装置を搭載したロボットの動作設定方法。
【請求項３】
当該撮像装置は当該ロボットの頭部に設置されており、
当該ロボットの初期状態は、当該ロボットの頭部と胴体の向きが一致するとともに、当該ロボットの視線が水平方向となった状態を原点とした当該ロボットの首の向きであること、
を特徴とする、請求項１記載の撮像装置を搭載したロボットの動作設定方法。
【請求項４】
撮像装置を搭載したロボットの動作設定方法であって、
当該ロボットの顔が写るように、当該ロボットの前方に設置された平面鏡との間の位置関係が調節された、当該ロボットの頭部に設置された当該撮像装置による撮像画像中において、当該平面鏡を介して当該ロボットの視線が当該撮像装置の光軸と一致している状態となるように当該ロボットの駆動部を動作させる手順と、
当該撮像装置による撮像画像中の、当該ロボットの顔の位置を記録する手順と、
を含む、撮像装置を搭載したロボットの動作設定方法。
【請求項５】
動作部位と異なる位置に撮像装置を搭載したロボットの動作方法であって、
当該ロボットの動作部位が写るように、当該ロボットの前方に設置された平面鏡との間の位置関係が調節された、当該ロボットに搭載された当該撮像装置による撮像画像中の、当該ロボットの位置を記録する手順と、
当該撮像装置による撮像画像中において、当該平面鏡に写った当該ロボットの動作部位の像が予め定めた適切な状態となるように当該ロボットの駆動部を動作させる手順と、
当該動作に要した当該ロボットの駆動部の駆動量を記録する手順と、
当該平面鏡と当該ロボットとの間の位置関係を変更する手順と、
利用者の顔が当該撮像装置によって撮像可能であるとき、当該ロボットと当該利用者との距離及び、当該撮像装置による撮像画像中における当該利用者の顔の位置を計測する手順と、
計測された当該ロボットと当該利用者との距離及び、当該撮像装置による撮像画像中における当該利用者の顔の位置に最も近い、当該ロボットの初期状態を検索する手順と、
検索された当該ロボットの初期状態に対応する、当該ロボットの駆動部の駆動量を読み出す手順と、
読み出された当該ロボットの駆動部の駆動量に従って当該ロボットを動作させる手順と、
を含むことを特徴とする、撮像装置を搭載したロボットの動作方法。
【請求項６】
撮像装置を搭載したロボットの動作方法であって、
当該ロボットの頭部と胴体の向きが一致するとともに、当該ロボットの視線が水平方向となった状態を原点とした当該ロボットの首の向きと、当該ロボットの顔が平面鏡に写るよう当該平面鏡を調節したときの当該撮像装置による撮像画像中の当該ロボットの顔の位置を当該ロボットの初期状態として記録する手順と、
当該ロボットの顔が写るように、当該ロボットの前方に設置された当該平面鏡との間の位置関係が調節された、当該ロボットの頭部に設置された当該撮像装置による撮像画像中において、当該平面鏡を介して当該ロボットの視線が当該撮像装置の光軸と一致している状態となるように当該ロボットの頭部の駆動部を動作させる手順と、
当該ロボットの頭部の駆動部の当該ロボットの初期状態からの駆動量を記録する手順と、
利用者の顔が当該撮像装置によって撮像可能であるとき、当該撮像装置による撮像画像中における当該利用者の顔の位置及び、当該ロボットの首の向きを計測する手順と、
計測された当該撮像装置による撮像画像中における当該利用者の顔の位置及び、当該ロボットの首の向きに最も近い、当該ロボットの初期状態を検索する手順と、
検索された当該ロボットの初期状態に対応する、当該ロボットの頭部の駆動部の検索された当該ロボットの初期状態からの駆動量を読み出す手順と、
読み出された当該ロボットの初期状態からの駆動量に従って当該ロボットを動作させる手順と、
を含む、撮像装置を搭載したロボットの動作方法。
【請求項７】
撮像装置を搭載したロボットの動作方法であって、
当該ロボットの顔が写るように、当該ロボットの前方に設置された平面鏡との間の位置関係が調節された、当該ロボットの頭部に設置された当該撮像装置による撮像画像中において、当該平面鏡を介して当該ロボットの視線が当該撮像装置の光軸と一致している状態となるように当該ロボットの駆動部を動作させる手順と、
当該撮像装置による撮像画像中の、当該ロボットの顔の位置を記録する手順と、
利用者の顔が当該撮像装置によって撮像可能であるとき、当該撮像装置による撮像画像中の当該利用者の顔の位置が、記録された当該ロボットの顔の位置と等しくなるように当該ロボットの頭部を動作させる手順と、
を含む、撮像装置を搭載したロボットの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置を搭載したロボットの動作設定法に関する。
【背景技術】
【０００２】
人間とコミュニケーションをとることを目的とする、いわゆるコミュニケーションロボットと呼ばれるロボットがある。これらのコミュニケーションロボットは、人間等の利用者とアイコンタクトをとる、利用者に向かって手を振る等の、その場の状況に応じた適切なコミュニケーションをとることを目的として作られている。
【０００３】
また、特に高齢者において、他者とのコミュニケーションが認知症の防止および進行の緩徐化につながることが知られている。このことから、これらのコミュニケーションロボット（以下適宜単にロボットと呼ぶ）を高齢者のいる家庭に配備し、当該高齢者とコミュニケーションを取らせることで、前記効果を奏することが期待されている。
【０００４】
これらのロボットにおいては、ロボットに搭載されたカメラ等の撮像装置によって撮像された画像をもとに、当該ロボットが適切な動作を行う手法が知られている。
【０００５】
撮像画像をもとにロボットを適切に動作させる手法として、ロボットに搭載された撮像装置によって周囲を撮像し、その撮像画像に写った利用者の視線が当該カメラを向いた状態である等、予め定めた適切な状態となるように当該ロボットを駆動させる例がある。また、撮像画像に写った利用者の視線等の状態に応じて当該ロボットを駆動させる例がある。
【０００６】
しかし、搭載カメラに取り付け誤差が生じている場合や、ロボットを動作させるモータの劣化等の要因により、駆動部の制御パラメータが変化した場合は、当該ロボットが適切な動作を行うことができない。このため、当該ロボットの制御パラメータを修正し適切な動作設定を行う必要がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４‐４１２５１号公報
【特許文献２】特開２００９‐１０６３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ロボットの制御パラメータを設定する方法として、例えば外部のカメラによって当該ロボットを撮像し、その画像を利用する等の手段が考えられる。しかし、家庭等の環境で外部カメラ等特別な追加装置を用意することは困難である。
【０００９】
本発明は、上記の課題を解決するためになされたものであって、カメラ等の撮像装置が搭載され、当該撮像装置が取得した撮像画像をもとに動作を行うコミュニケーションロボット等のロボットにおいて、特別な追加装置を用いることのない動作設定方法を提供すること、及び当該動作設定方法を利用してロボットの動作設定を行うことを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明にかかるロボットの動作設定方法は、ロボットの動作部位が写るように、当該ロボットの前方に設置された平面鏡との間の位置関係が調節されたロボットに搭載された撮像装置による撮像画像中の、当該ロボットの位置を記録する手順と、
当該撮像装置による撮像画像中において、前記平面鏡に写った当該ロボットの動作部位の像が予め定めた適切な状態となるように当該ロボットの駆動部を動作させる手順と、
前記動作に要した当該ロボットの駆動部の初期状態からの駆動量を記録する手順と、
を有する。
【発明の効果】
【００１１】
本発明により、利用者との間に適切な動作を成立させられるようにロボットの動作設定を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態における、ロボット、カメラ、鏡の配置を例示した模式図。
【図２】第１の実施形態における、ロボットの制御部４の構成例を示すブロック図。
【図３】第１の実施形態における、ロボット１の動作設定に用いる記録テーブルの作成手順を表すフローチャート。
【図４】第１の実施形態において、ロボットの動作設定を行う範囲及び平面鏡１０の移動地点を説明するための平面図。
【図５】第１の実施形態において、ロボットの動作設定を行う範囲及び平面鏡１０の移動地点を説明するための側面図。
【図６】第１の実施形態において、平面鏡１０にロボット１の顔が写っているときのカメラ画像例。
【図７】第１の実施形態における、駆動量を格納する記録テーブル例。
【図８】第１の実施形態における、ロボット１運用時の動作手順を表すフローチャート。
【図９】第２の実施形態における、ロボットの制御部の一例を示すブロック図。
【図１０】第２の実施形態における、ロボット１の動作設定に用いる記録テーブルの作成手順を表すフローチャート。
【図１１】第２の実施形態において、平面鏡１０にロボットの全身が写っているときのカメラ画像の例
【図１２】第２の実施形態における、駆動量を格納する記録テーブル例。
【図１３】第２の実施形態における、ロボット１の運用時の動作手順を表すフローチャート。
【図１４】第３の実施形態における、ロボット、カメラ、平面鏡の配置を例示した模式図。
【図１５】第３の実施形態における、ロボット１の動作設定に用いる記録テーブルの作成手順を表すフローチャート。
【図１６】第３の実施形態において、平面鏡１０の中心にロボット１の顔が写っているときのカメラ画像例。
【図１７】第３の実施形態における記録テーブル例。
【図１８】第３の実施形態における、ロボット１の運用時の動作手順を表すフローチャート。
【図１９】第４の実施形態における、ロボット１の動作設定に用いる記録テーブルの作成手順を表すフローチャート。
【図２０】第４の実施形態でのロボット１の運用時における動作手順を表すフローチャート。
【図２１】第５の実施形態における、ロボット１の動作設定に用いる記録テーブルの作成手順を表すフローチャート。
【図２２】第５の実施形態において、同じ顔位置であるが、顔の傾きが異なる場合を例示したカメラ画像例。
【図２３】第５の実施形態における、駆動量を格納する記録テーブル例。
【図２４】第５の実施形態における、ロボット１の運用時の動作手順を表すフローチャート。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施形態を説明する。本発明にかかる実施形態では、鏡に写ったロボットを仮想的な利用者として扱い、疑似的にロボットと利用者との間にアイコンタクトが成立している状況を作り出すことで、ロボットの動作設定が行われる。具体的には、鏡に写ったロボットの視線が、当該ロボットに搭載されたカメラに向かうように（画像中の当該ロボットのアイコンタクトを感じられるように）当該ロボットを駆動させる。そして、撮像画像中のロボットの顔位置と、アイコンタクトをとる際に要した駆動量を対応付けて記録することで、ロボットの動作が設定される。
【００１４】
図１乃至図６をもとに、本発明における第１の実施形態について説明する。図１は、第１の実施形態における、ロボット、カメラ、鏡の配置を例示した模式図である。ロボット１は頭部２と胴体３および制御部４を含む。なお、制御部４は図１のようにロボットの外部にあってもよく、ロボットの内部に格納されていてもよい。
【００１５】
胴体３には左腕５Lと右腕５Rが設けられ、頭部２は眼球６及び鼻７を含む。また、図１の実施形態ではカメラ８は台座９に固定されて正面を撮像するように設定されている。なお、カメラ８の位置はこれに限らず、後述する第３の実施形態のようにロボット１のどこかに搭載あるいは内蔵されていても構わない。
【００１６】
頭部２は２自由度の動作（上下・左右の首ふり）が可能であり、胴体３によって支持されている。また、平面鏡１０は任意に位置及び角度を調節可能なものとなっている。調節可能に平面鏡を保持する方法として、角度調節可能な平面鏡を所定の支持台（図示せず）に載せる、あるいは、所定の支持柱（図示せず）にクランプ等で平面鏡を固定する、等の方法を用いることができる。
【００１７】
図２は第１の実施形態における、ロボットの制御部４の一例を示すハードウェア構成図である。ロボット１の制御部は、CPU（Central Processing Unit）１１、メモリ１２、補助記憶装置１３、センサ入力インタフェース１４、モータ制御インタフェース１５を含み、バス１６によって相互に接続されている。
【００１８】
さらに、モータ制御インタフェース１５はロボット首モータ１７を制御し、センサ入力インタフェース１４はカメラ８からの情報を受け取る。
【００１９】
なお、センサ入力インタフェース１４が受け取る情報はタッチセンサ１８等からのものであってもよく、カメラ８からの情報と同時に受け取ってもよい。タッチセンサ１８は利用者がロボット１を触ったことを検知するセンサであり、利用者がロボット１を触った行為に反応して、ロボット１がくすぐったいしぐさをする等のリアクションを発現させるために使用できる。
【００２０】
また、ロボット首モータ１７は、上下方向の移動を制御するモータ（図示せず）と、左右方向の移動を制御するモータ（図示せず）の２つのモータによって構成されている。
【００２１】
本実施形態において、ロボット１の動作設定を行う手順について説明する。図３はロボット１の動作設定に使用する記録テーブルを作成する手順を表すフローチャートである。本実施形態では、撮像画像中のロボットの顔位置、ロボットと平面鏡との距離（利用者との距離に対応）に応じたロボットの駆動量を記録した記録テーブルを作成する。運用時には前記記録テーブルを参照し、撮像画像中の利用者の顔位置と利用者との距離に応じてロボットを動作させる。
【００２２】
まず、平面鏡１０を初期位置に設置し（ステップS１）、ロボット１の顔が平面鏡１０で反射してカメラ８で撮像できるように平面鏡１０の位置及び角度を調節する（ステップS２）。
【００２３】
本実施形態では一例として、利用者が図４及び図５に示す範囲（ロボットの正面前方１ｍ、ロボットの目の高さを基準とし、その地点から上下、前後５０ｃｍ、左右１ｍの直方体）にいる場合にアイコンタクトをとれるよう、ロボットの動作設定を行うものとする。具体的には、前記範囲内で２０ｃｍ間隔の格子点でロボットを較正し、中間位置は内挿で対処する。つまり、図４及び図５において黒丸で示した計３９６か所（左右１１列、上下、前後６列）の格子点に順次平面鏡１０を移動させてロボットの動作設定を行う。なお、前記初期位置は、この３９６か所のうちのどれかであればよい。
【００２４】
鏡にロボット１の顔が写っているときのカメラ画像の例を図６に示す。このように、平面鏡１０に写ったロボット１の顔がカメラ８によって撮像される。
【００２５】
図３のフローに戻って、カメラ画像中のロボット１の顔位置を、例えば画像左上を原点とした座標（x'i,y'i）として記録する（ステップS３）。このとき、例えば両目の中間点あるいは鼻７等の特徴点をロボットの顔位置として用いることができる。
【００２６】
また、カメラ８と、平面鏡１０までの距離d'iを計測する（ステップS４）。距離d'iの求め方としては、メジャー等で直接計測する方法がある。そのほか、画像中のロボット１の顔の大きさと距離の対応式を導出し、その関係から概算することで、前記方法よりも簡便に距離d'iを求めることができる。これらの方法はあくまで一例であり、本発明の趣旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【００２７】
次に、カメラ８の撮像画像を利用し、ロボット１の視線がカメラ８に向かっている状態（鏡越しにアイコンタクトが取れている状態）になるように、頭部２を駆動させる。このときのロボット首モータ１７の駆動量（k1i,k2i）を記憶する（ステップS５）。
【００２８】
ここで、前記駆動量（k1i,k2i）におけるk1iは上下方向の移動を制御するモータの駆動量、k2iは左右方向の移動を制御するモータの駆動量を表す。
【００２９】
撮像画像中のロボット１の顔位置（x'i,y'i）と、距離d'iと、アイコンタクトを発生させるのに要した各モータの駆動量（k1i,k2i）を記録テーブルに格納する（ステップS６）。
【００３０】
図７は駆動量を格納する記録テーブルの例である。図７に示すように、記録テーブルには撮像画像中のロボットの顔位置（x',y'）と、カメラ８と平面鏡１０との距離d'と、それらに対応する駆動量（k1,k2）が格納されている。
【００３１】
なお、図７に記載した数値は一例として挙げたものであり、単位はそれぞれ以下のとおりである。記録テーブルに格納するロボットの位置は、撮像画像中の左上を原点としたピクセル数で表している。カメラ８と平面鏡１０との距離は、センチメートル単位で表している。さらに、ロボットの駆動量は、各モータの可動範囲を１２ビットデータで表した場合の変動量をビット単位で表したものである。これらの単位設定は本発明の本質的要素ではなく、本発明を限定するものではない。
【００３２】
図３のフローに戻って、全ての平面鏡位置においてデータの計測および格納が終了していると判断されれば（ステップS７）、処理を終了し、終了が指示されなければ、平面鏡１０の位置を変更し（ステップS８）、ステップS２からステップS６までの処理を繰り返す。
【００３３】
なお、平面鏡位置の設定・変更方法としては手動によるもので説明しているが、モータを用いたコンピュータ制御により、平面鏡の位置を設定変更するものであってもよい。コンピュータ制御により処理を行うことで、正確に位置の測定等を行うことが可能である。また、その他本発明の趣旨を逸脱しない範囲で種々変更可能である。これは以降の実施形態についても同様である。
【００３４】
ロボット１に搭載されたカメラ８の撮像画像を用いて、画像中におけるロボット１の顔位置と、鏡越しにロボット１からアイコンタクトを感じられるようにロボット１を駆動させるのに要した駆動量と、そのときのロボット１と平面鏡１０の位置関係を複数記録する。
【００３５】
これにより、撮像画像から導出された駆動量と、利用者とアイコンタクトをとれる必要な駆動量との間の誤差を修正し、種々の位置で利用者とロボットとのアイコンタクトを成立させることができる。以下、上記手順で動作設定を行ったロボットの、運用時における動作手順を説明する。
【００３６】
図８はロボット１の運用時における動作手順を表すフローチャートである。カメラ画像から利用者の顔が検出されなければ処理を終了し（ステップS１０１）、検出された場合はカメラ７画像中の利用者の顔位置を計測し、（x,y）として記憶する（ステップS１０２）。
【００３７】
次に、カメラ８と利用者の顔との距離dを計測する（ステップS１０３）。距離dの求め方としては、画像中の利用者の顔の大きさと距離の対応式を予め導出しておき、その関係から概算値を求めることができる。ただし、この計測方法はあくまで一例であり、本発明の技術範囲を限定するものではない。
【００３８】
計測された（x,y）及びdに最も近い、動作設定時に記録テーブルに格納された（x',y'）及びd'の組を検索し、検索されたこれらのパラメータの組に対応する駆動量（k1,k2）を記録テーブルから読み出す（ステップS１０４）。その値に従ってロボット１の頭部を駆動させ（ステップS１０５）、処理を終了する。
【００３９】
なお、このとき、予め動作設定時に内挿した値を記録テーブルに記録しておき、その値を用いて動作させることができる。また、計測された（x,y）及びdに近い、記録テーブルに格納された（x',y'）及びd'の組を複数検索し、検索結果を基に内挿した値を基に駆動量（k1,k2）を決定して動作させることができる。
【００４０】
そして、ロボット１の運用時における利用者との位置関係に応じて、記録された情報を参照し、その情報に従ってロボット１を駆動させることで、利用者との間にアイコンタクトを成立させることができる。
【００４１】
次に、図９〜図１３をもとに本発明の第２の実施形態について説明する。本実施形態は、ロボットの動作を腕などの体部に拡張させた例である。なお、ロボット、カメラ、平面鏡の配置及び構成は第１の実施形態と同様であり、図１のように表される。
【００４２】
図９は第２の実施形態における、ロボットの制御部の一例を示すブロック図である。ロボット１の制御部は、CPU（Central Processing Unit）１１、メモリ１２、補助記憶装置１３、センサ入力インタフェース１４、モータ制御インタフェース１５、によって構成され、バス１６によって相互に接続されている。
【００４３】
さらに、モータ制御インタフェース１５はロボット首モータ１７、ロボット体部モータ１９を制御し、センサ入力インタフェース１４はカメラ８からの情報を受け取る。ロボット体部モータ１９は、複数のモータ（駆動部位の種類・数や駆動の自由度によって異なる）によって構成されている。
【００４４】
本実施形態において、ロボット１の動作設定を行う手順について説明する。図１０はロボット１の動作設定に使用する記録テーブルを作成する手順を表すフローチャートである。説明を簡単にするため、ここでは体部の自由度は１（体部モータ数が１）と設定する。
【００４５】
しかし、実際には体部モータの数が２以上であってもよく、この設定は本発明の形態を制限するものではない。また、第１の実施形態と同じ手順については、独立した符号を付しているが、必要があれば説明を簡略化する旨を実施例中で言及するものとする。
【００４６】
本実施形態は、ロボットの「適切な動作」として、単に「利用者とアイコンタクトを成立させるだけでなく、「利用者に向かって右腕５R（または左腕５L）を差し出す動作（利用者との握手を想定）」を適切に行えるよう、ロボットの動作設定を行う場合について説明する。
【００４７】
まず、平面鏡１０をロボット１の前方（初期位置）に配置（ステップS２０１）したのち、ロボット１の全身あるいは動作させる部位全てが平面鏡１０に写り、カメラ８で撮像できるように平面鏡８の位置及び角度を調節する（ステップS２０２）。
【００４８】
ロボットの全身鏡像が写っているときのカメラ画像の例を図１１に示す。このように、平面鏡１０に写ったロボット１の像がカメラ８によって撮像される。平面鏡が固定されている場合は第１の実施形態における記載と同様、後述する第４の実施形態に記載の手法を用いることが望ましい。
【００４９】
次に、カメラ画像中のロボット１の顔位置座標（x'i,y'i）を計測、記憶（ステップS２０３）し、カメラ８と平面鏡１０までの距離d'iを計測、記憶する（ステップS２０４）。
【００５０】
その後、カメラ８の撮像画像を利用し、ロボット１の全身鏡像が希望する姿勢になるようにロボット１を駆動させる。具体的には、ロボット１の視線がカメラ８に向かっており、かつ、平面鏡の方向に右腕５R（または左腕５L）を差し出している状態になるようにロボット１を駆動させる。
【００５１】
このときの駆動部（ロボット首モータ１７及びロボット体部モータ１９）の駆動量（k1i,k2i,t1i）を記憶する（ステップS２０５）。ここで、駆動量（k1i,k2i,t1i）において、k1は上下方向の移動を制御するモータの駆動量、k2は左右方向の移動を制御するモータの駆動量、t1は体部モータ（本実施形態では右腕５Rまたは左腕５Lを制御するモータ）の駆動量を表す。
【００５２】
撮像画像中のロボット１の位置（x'i,y'i）と計測した距離d'iに応じた各モータの駆動量（k1i,k2i,t1i）を記録テーブルに格納する（ステップS２０６）。
【００５３】
図１２は駆動量を格納する記録テーブルの例である。図１２に示すように、記録テーブルには撮像画像中のロボット１の位置（x',y'）と、カメラ８と平面鏡１０との距離d'と、それらに対応する駆動量（k1,k2,t1）が格納されている。
【００５４】
なお、図１２において、記録テーブルに記載した数値は一例として挙げたものであり、ロボットの位置、カメラ８と平面鏡１０の距離、及びロボットの駆動量（t1も同様）の単位は実施形態１（図７）と同じである。これらの単位設定は本発明の本質的要素ではなく、本発明を限定するものではない。
【００５５】
全ての平面鏡位置においてデータの計測および格納が終了していると判断されれば（ステップS２０７）、処理を終了する。終了が指示されなければ、平面鏡１０の位置を変更し（ステップS２０８）、ステップS２０２からステップS２０６までの処理を繰り返す。第１の実施形態同様、すべての平面鏡位置とは、図４、図５に示した計３９６か所であってもよい。
【００５６】
撮像装置を搭載したロボット１の鏡像が、当該撮像装置に適切な形で写るようロボット１を駆動させる際に要した駆動量と、そのときのロボット１と平面鏡９の位置関係を複数記録する。これにより、撮像画像から導出された駆動量と、必要な駆動量との間の誤差を修正し、種々の位置で利用者とアイコンタクトを成立させながら右腕４R（または左腕５L）を差し出すことができる。以下、上記手順で動作設定を行ったロボットの、運用時における動作手順を説明する。
【００５７】
図１３はロボット１の運用時における動作手順を表すフローチャートである。ステップS３０１〜ステップS３０３までの手順は第一の実施形態において図８に記載されたステップS１０１〜ステップS１０３と共通である。
【００５８】
ステップS３０１〜S３０３までの手順によって計測された（x,y）及びdに最も近い、動作設定時に記録テーブルに格納された（x',y'）及びd'の組を検索し、検索されたこれらのパラメータの組に対応する駆動量（k1,k2,t1）を記録テーブルから読み出す（ステップS３０４）。その値に従ってロボット１の頭部および腕部を駆動させ（ステップS３０５）、処理を終了する。
【００５９】
そして、ロボット１の運用時における利用者との位置関係に応じて、記録された情報を検索し、検索された情報に従ってロボット１を駆動させることで、利用者とアイコンタクトをとり、さらに利用者の方向に手を差し出す等のコミュニケーションを成立させることができる。
【００６０】
次に、図１４〜図１８をもとに、本発明第３の実施形態について説明する。本実施形態は、撮像装置のレンズの位置とロボットの目の位置とを近づけて配置した例である。この条件では、利用者との距離を求めることなくアイコンタクトを成立させることが可能である。
【００６１】
図１４は、第３の実施形態における、ロボット、カメラ、平面鏡の配置を例示した模式図である。図１との相違点は、カメラ１０８の位置がロボット１０１の視線ポイント近くに位置していることである。したがって、台座はなくても構わないので、ここでは省略している。また、本実施形態におけるロボットの制御部の構造は第一の実施形態と共通であり、図２で表される。
【００６２】
本実施形態において、ロボット１０１の動作設定を行う手順について説明する。図１５はロボット１０１の動作設定に使用する記録テーブルの作成手順を表すフローチャートである。
【００６３】
まず、平面鏡１１０を撮像画像中の初期位置に設置し、このときの胴体の向き及び水平面に対する首の向き（相対位置）を、例えばロボットの頭部が水平正面を向いた状態を原点としたときの当該原点からの角度（θ'i,φ'i）として記録する（ステップS４０１）。ここで、θ'は垂直方向の首角度、φ'は水平方向の首角度を表す。なお、撮像画像中の初期位置とは、後述する１００ピクセル間隔の格子点のうちのどれかであればよい。
【００６４】
カメラ画像を確認し、ロボット１０１の顔が平面鏡１１０に写るように平面鏡１１０の角度を調節し、カメラ画像中のロボット１０１の顔位置を、例えば画像左上を原点とした座標（x'i,y'i）として記録する（ステップS４０２）。
【００６５】
平面鏡１１０にロボット１０１の顔が写っているときのカメラ画像の例を図１６に示す。このように、平面鏡１１０に写ったロボット１０１の顔がカメラ１０８によって撮像される。
【００６６】
次に、カメラ１０８の撮像画像を利用し、ロボットの視線がカメラに向かうように頭部１０２を駆動させ、そのときの首角度（θgi,φgi）を取得、記憶する（ステップS４０３）。なお、首角度の代わりにモータの駆動量をパラメータとして用いてもよい。次に、（θ'i,φ'i）、（x'i,y'i）、（θgi,φgi）を記録テーブルに格納する（ステップS４０４）。図１７は本実施形態における記録テーブルの例である。
【００６７】
ここで記載した数値は一例としてあげたものであり、記録テーブルに格納するロボットの位置は、撮像画像中の左上を原点としたピクセル数で表したものである。検出時首角度及び目標首角度は、首の可動範囲を１２ビットデータで表した場合の変動量をビット単位で表したものである。
【００６８】
カメラ画像中のすべての顔位置においてデータの計測および格納が終了していると判断されれば（ステップS４０５）処理を終了する。終了が指示されなければロボットの首角度を（θ'i,φ'i）に戻すとともに、カメラ画像中のロボット顔位置が変更されるように平面鏡１１０を移動し（ステップS４０６）、ステップS４０２からステップS４０４までの処理を繰り返す。
【００６９】
ステップS４０６において、カメラ画像中の顔位置は、例えば、画像全体において、前後左右おおよそ１００ピクセル間隔の格子点において計測を行い、中間点は内挿で対処するなど、任意に設定、変更可能である。
【００７０】
そして、すべてのロボット首の向きにおいて各データの計測および格納が終了していると判断されれば（ステップS４０７）処理を終了する。終了が指示されなければロボットの首の向きを次の向き（θ'i+1,φ'i+1）に変更し（ステップS４０８）、ステップS４０２からステップS４０５での処理を繰り返す。
【００７１】
なお、ステップS４０７において、ロボット１０１の首の向きは例えば、ロボットの首をθ'、φ'ともに１０度刻み−３０度〜＋３０度までの範囲で動かし、合計４９通りの首の向きで動作設定を行う。中間点は内挿で対処するなど、任意に設定、変更可能である。
【００７２】
以下、上記手順で動作設定を行ったロボットの、運用時における動作手順を説明する。図１８は本実施形態でのロボット１０１の運用時における動作手順を表すフローチャートである。
【００７３】
まず、ステップS５０１、ステップS５０２により、利用者の顔位置（x,y）を記憶する。なお、ステップS５０１、S５０２はそれぞれ第１の実施形態におけるステップS１０１、S１０２と共通である。
【００７４】
次に、ロボット１０１の胴体の向き及び水平面に対する首の向きを（θ,φ）として記憶する（ステップS５０３）。そして、計測された（x,y）及び（θ,φ）に最も近い、動作設定時に記録テーブルに格納された（x',y'）及び（θ',φ'）を検索し、検索されたこれらのパラメータの組に対応する首角度（θg,φg）を記録テーブルから読み出す（ステップS５０４）。その値に従ってロボット１０１を駆動させ（ステップS５０５）、処理を終了する。
【００７５】
この手順に従ってロボットの動作設定を行うことで、カメラ位置がロボットの視線ポイントに近い場合、利用者との距離を計測することなく利用者とアイコンタクトを成立させることができる。
【００７６】
次に、図１９、図２０をもとに、本発明第４の実施形態について説明する。本実施形態は、カメラ位置がロボットの視線ポイントに近い場合の例である。本実施形態はモータの駆動量ではなく、カメラで撮像した撮像画像をもとに動作設定を行う例である。また、本実施形態では動作設定時に鏡を動かす必要がないので、化粧鏡のように位置や角度が固定された鏡を使用しての動作設定に適している。
【００７７】
カメラに取り付け誤差がない場合には、一般には画像の中央に利用者の顔が位置するようにロボットの頭部を駆動させればよい。しかし、カメラに取り付け誤差がある場合には、画像の中央に利用者の顔があっても、必ずしもアイコンタクトが成立しているとは限らない。そこで、本発明第４の実施形態では、画像中のどこに利用者の顔を位置させればアイコンタクトが成立するかを、鏡を用いて計測する。本実施形態によれば、動作設定時に鏡の位置を逐次変更する必要がないので、化粧鏡等のように位置や角度が固定された鏡を使用しても、ロボットの動作設定を行うことができる。
【００７８】
第４の実施形態におけるロボット、カメラ、鏡の配置は第３の実施形態と共通であり、図１４で表される。また、本実施形態におけるロボットの制御部の構造は第１、第３の実施形態と同等であり、図２で表される。よって、ここでの説明は省略する。
【００７９】
本実施形態において、実際にロボット１０１の動作設定を行う手順について説明する。図１９はロボット１０１の動作設定に用いる記録テーブルの作成手順を表すフローチャートである。
【００８０】
まず、カメラ１０８にロボット１０１の顔が写るようにロボットと平面鏡との位置関係を調節する（ステップS６０１）。具体的には、平面鏡１１０の法線方向がカメラ１０８に向かうようにロボット１０１と平面鏡１１０との位置関係を調節する。これにより、ロボット１０１の首を動かすことで、ロボット１０１の視線をカメラ１０８に向かわせることができる。そして、ロボット１０１の視線がカメラ１０８に向かうように（アイコンタクトが成立するように）ロボット頭部１０２を駆動させる（ステップS６０２）。
【００８１】
アイコンタクトが成立したら、そのときの撮像画像中におけるロボット１０１の顔位置を（xg,yg）として記録する（ステップS６０３）。
【００８２】
図２０は本実施形態でのロボット１０１の運用時における動作手順を表すフローチャートである。ステップS７０１は第１の実施形態におけるステップS１０１と共通である。ステップS７０１の処理を行った後、カメラ画像中の利用者の顔位置を計測する（ステップS７０２）。
【００８３】
次に、画像中の利用者の顔位置が、アイコンタクト位置（xg,yg）になるようにロボット頭部１０２を駆動させ（ステップS７０３）、処理を終了する。
【００８４】
この手順に従ってロボットの動作設定を行うことで、カメラ位置がロボットの視線ポイントに近い場合、フィードバック制御を利用して利用者とアイコンタクトを成立させることができる。さらに、前述のように本手法では動作設定時に鏡を動かす必要がないので、化粧鏡のように位置や角度が固定された鏡を使用しての動作設定に適している。
【００８５】
次に、図２１〜図２４をもとに、本発明第５の実施形態について説明する。本実施形態は、首の自由度が３である（上下左右の首ふりに加え、首を傾げる動作が可能である）場合の例である。第１〜第４の実施形態では、ロボットの首の自由度は２として説明を行ってきたが、首の自由度が３である場合でも本発明による動作設定によって利用者とアイコンタクトを成立させることが可能である。ロボット、カメラ、平面鏡の配置及び構成は第１の実施形態と同様であり、図１のように表される。
【００８６】
ロボットの内部構成は第一の実施形態と同様、図２のブロック図で表されるが、ロボット首モータ１７は、上下、左右方向の移動を制御するモータ（図示せず）の２つに、首の回転を制御するモータ（図示せず）を加えた、３つのモータによって構成されている。
【００８７】
本実施形態において、ロボット１の動作設定を行う手順について説明する。図２１はロボット１の動作設定に用いる記録テーブルの作成手順を表すフローチャートである。
【００８８】
ステップS８０１〜S８０４は第１の実施形態におけるステップS１〜S４と共通であるが、本実施形態では図２２に示すように、画像中のロボット顔位置（x',y'）が同じであっても、顔の傾きの異なる複数のデータが存在する点は第一の実施形態と異なる。
【００８９】
ステップS８０１〜S８０４の処理を行ったのち、カメラ８の撮像画像を利用し、ロボット１の視線がカメラ８に向かっている状態（鏡越しにアイコンタクトが取れている状態）になるように、頭部２を駆動させる。このときのロボット首モータ１７の駆動量（k1i,k2i,k3i）を記憶する（ステップS８０５）。
【００９０】
なお、前記駆動量（k1i,k2i,k3i）において、k1iは上下方向の移動を制御するモータの駆動量、k2iは左右方向の移動を制御するモータの駆動量、k3iは顔の傾きを制御するモータの駆動量を表す。
【００９１】
撮像画像中のロボット１の位置（x'i,y'i）、距離d'i、ロボット顔の傾きαと、アイコンタクトを発生させるのに要した各モータの駆動量（k1i,k2i,k3i）を記録テーブルに格納する（ステップS８０６）。
【００９２】
図２３は駆動量を格納する記録テーブルの例である。図２３に示すように、記録テーブルには撮像画像中のロボット１の位置（x',y'）と、カメラ７と平面鏡１０との距離d'と、ロボットの顔の傾きαと、それらの組に対応する駆動量（k1,k2,k3）が格納されている。
【００９３】
なお、図２３に記載した数値は一例として挙げたものであり、単位はそれぞれ以下のとおりである。記録テーブルに格納するロボットの位置は、撮像画像中の左上を原点としたピクセル数で表し、カメラ８と平面鏡１０との距離は、センチメートル単位で表している。また、首角度は、首の可動範囲を１２ビットデータで表した場合の変動量をビット単位で表したものである。ロボットの駆動量は、各モータの可動範囲を１２ビットデータで表した場合の変動量をビット単位で表したものである。これらの単位設定は本発明の本質的要素ではなく、本発明を限定するものではない。
【００９４】
全ての平面鏡位置においてデータの計測および格納が終了していると判断されれば（ステップS８０７）後述するステップS８０９に進み、そうでなければ平面鏡１０の位置を変更し（ステップS８０８）、ステップS８０２からステップS８０６までの処理を繰り返す。
【００９５】
全ての顔の傾きαにおいてデータの計測および格納が終了していると判断されれば（ステップS８０９）処理を終了し、終了が指示されなければ顔の傾きαを変更し（ステップS８１０）、ステップS８０２からステップS８０７までの処理を繰り返す。
【００９６】
なお、すべての平面鏡位置とは、第１の実施形態同様、例えば図４、図５に示した計３９６か所であってもよい。また、すべての顔の傾きαとは、例えば「−１０°から＋１０°の範囲で（５°間隔）計５か所計測」など、予め任意に設定できるものとする。
【００９７】
以下、上記手順で動作設定を行ったロボットの、運用時における動作手順を説明する。図２４はロボット１の運用時における動作手順を表すフローチャートである。第１の実施形態におけるステップS１０１〜S１０３と共通である、ステップS９０１〜S９０３までの処理を行った後、表現上必要なロボットの顔の傾きαを指定する（ステップS９０４）。なお、この処理はステップS９０１〜９０３の前もしくは中間に行っても特に問題はない。
【００９８】
計測された（x,y）及びd、に最も近い、動作設定時に記録テーブルに格納された（x',y'）、d'を検索し、検索されたこれらのパラメータの組と、あらかじめ指定されたαの組み合わせに対応する駆動量（k1,k2,k3）を記録テーブルから読み出す（ステップS９０５）。その値に従ってロボット１を駆動させ（ステップS９０６）、処理を終了する。
【００９９】
この手順に従い、その頭部が３自由度で駆動可能なロボット１に搭載されたカメラ８の撮像画像を用いて、鏡越しにロボット１からアイコンタクトを感じられるようにロボット１を駆動させるのに要した駆動量と、そのときのロボット１と平面鏡１０の位置関係を記録することで、撮像画像から導出された駆動量と、利用者とアイコンタクトをとれる最適な駆動量との間の誤差を修正することができる。
【０１００】
そして、ロボット１の運用時における利用者との位置関係に応じて、記録された情報と、予め設定した首角度情報を参照し、その情報に従ってロボット１を駆動させることで、ロボットの首角度を考慮しつつ、利用者とアイコンタクトを成立させることができる。
【符号の説明】
【０１０１】
１      コミュニケーションロボット等のロボット
２      ロボット頭部
３      ロボット体部
４      ロボット制御部
５      ロボット腕部
６      ロボット眼部
７      ロボット鼻部
８      カメラ等の撮像装置
９      台座
１０    平面鏡
１１    CPU
１２    メモリ
１３    補助記憶装置
１４    センサ入力インタフェース
１５    モータ制御インタフェース
１６    バス
１７    ロボット首モータ
１８    タッチセンサ
１９    ロボット体部モータ
１０１  コミュニケーションロボット等のロボット
１０２  ロボット頭部
１０３  ロボット体部
１０４  ロボット制御部
１０５  ロボット腕部
１０６  ロボット眼部
１０７  ロボット鼻部
１０８  カメラ等の撮像装置
１１０  平面鏡
【図１】
0005857747.tif 000002
【図２】
0005857747.tif 000003
【図３】
0005857747.tif 000004
【図４】
0005857747.tif 000005
【図５】
0005857747.tif 000006
【図６】
0005857747.tif 000007
【図７】
0005857747.tif 000008
【図８】
0005857747.tif 000009
【図９】
0005857747.tif 000010
【図１０】
0005857747.tif 000011
【図１１】
0005857747.tif 000012
【図１２】
0005857747.tif 000013
【図１３】
0005857747.tif 000014
【図１４】
0005857747.tif 000015
【図１５】
0005857747.tif 000016
【図１６】
0005857747.tif 000017
【図１７】
0005857747.tif 000018
【図１８】
0005857747.tif 000019
【図１９】
0005857747.tif 000020
【図２０】
0005857747.tif 000021
【図２１】
0005857747.tif 000022
【図２２】
0005857747.tif 000023
【図２３】
0005857747.tif 000024
【図２４】
0005857747.tif 000025