JP2004299006A - Robot device and face recognition state presenting method by robot - Google Patents
Robot device and face recognition state presenting method by robot Download PDFInfo
- Publication number
- JP2004299006A JP2004299006A JP2003096135A JP2003096135A JP2004299006A JP 2004299006 A JP2004299006 A JP 2004299006A JP 2003096135 A JP2003096135 A JP 2003096135A JP 2003096135 A JP2003096135 A JP 2003096135A JP 2004299006 A JP2004299006 A JP 2004299006A
- Authority
- JP
- Japan
- Prior art keywords
- face
- robot
- face recognition
- node
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、小型カメラを視覚センサとして有し、外部環境に存在する人間の顔を認識するロボット装置及びロボット装置による顔認識状況の提示方法に関する。
【0002】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の”ROBOTA(奴隷機械)”に由来すると言われている。わが国では、ロボットが普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット(industrial robot)であった。
【0003】
最近では、イヌやネコ、クマのように4足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトやサルなどの2足直立歩行を行う動物の身体メカニズムや動作を模した「人間形」若しくは「人間型」のロボット(humanoid robot)など、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。これら脚式移動ロボットは、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作を実現できるという点で優れている。
【0004】
アーム式ロボットのように、ある特定の場所に植設して用いるような据置きタイプのロボットは、部品の組立・選別作業など固定的・局所的な作業空間でのみ活動する。これに対し、移動式のロボットは、作業空間は非限定的であり、所定の経路上または無経路上を自在に移動して、所定の若しくは任意の人的作業を代行したり、ヒトやイヌあるいはその他の生命体に置き換わる種々のサービスを提供することができる。
【0005】
脚式移動ロボットの用途の1つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業の代行などである。
【0006】
また、脚式移動ロボットの他の用途として、上述の作業支援というよりも、生活密着型、すなわち人間との「共生」あるいは「エンターティンメント」という用途が挙げられる。この種のロボットは、ヒトあるいはイヌ(ペット)、クマなどの比較的知性の高い脚式歩行動物の動作メカニズムや四肢を利用した豊かな感情表現を忠実に再現する。また、あらかじめ入力された動作パターンを単に忠実に実行するだけではなく、ユーザ(あるいは他のロボット)から受ける言葉や態度(「褒める」とか「叱る」、「叩く」など)に対して動的に対応した、生き生きとした応答表現を実現することも要求される。
【0007】
従来の玩具機械は、ユーザ操作と応答動作との関係が固定的であり、玩具の動作をユーザの好みに合わせて変更することはできない。この結果、ユーザは同じ動作しか繰り返さない玩具をやがては飽きてしまうことになる。
【0008】
これに対し、自律動作を行うインテリジェントなロボットは、一般に、外界の情報を認識してそれに対して自身の行動を反映させる機能を持っている。すなわち、ロボットは、外部環境からの音声や画像、触覚などの入力情報に基づいて感情モデルや本能モデルを変化させて動作を決定することにより、自律的な思考及び動作制御を実現する。すなわち、ロボットが感情モデルや本能モデルを用意することにより、より高度な知的レベルで人間とのリアリスティックなコミュニケーションを実現することも可能となる。
【0009】
ロボットが環境変化に応じた自律動作を行うために、従来は、ある1つの観測結果に対してその情報を受けて行動を取るような単純な行動記述の組み合わせで行動を記述していた。これら入力に対する行動のマッピングにより、ランダム性、内部状態(感情・本能)、学習、成長などの機能を導入することで一意ではない複雑な行動の発現を可能にすることができる。この行動の発現を行うところを、行動生成部という。
【0010】
例えば、2台のCCDカメラからなるステレオカメラを両目として配した首部を胴体部に対して可動可能とし、さらも2足歩行を可能とする左右の脚部を有した自律型ロボット装置にあって、首部の動作を生成するような行動生成部を首部動作生成部という。
【0011】
前記首部動作生成部を用いてロボットが使用者の顔など、人間の目に近い部分の認識をする必要がある場合、先ずロボット装置自体が前記2台のCCDカメラからなるステレオカメラを両目として用い、人間の顔を撮影して得た画像を基に顔認識をする。
【0012】
ところで、カメラにあって、撮影者自身による自己撮影を簡易に行うのに好適なカメラが特開平14−072291号公報に開示されている。これは、カメラの前面に収納位置から露呈位置へと移動自在な反射部材を備え、その反射部材に撮影者が顔を写しだして自己撮影を簡易に行う技術である。
【0013】
【特許文献1】
特開平14−072291号
【0014】
【発明が解決しようとする課題】
前記ロボット装置にあっては、前記特許文献1に開示された反射部材を首部に設けるのは、ヒューマノイド型であることを考慮すると、外観上問題がある。また、顔認識のための画像をCCDカメラにて撮影するには精度の高い調整が必要であり、レンズの視野角との関係から前記反射部材の設置位置の設定が難しい。
【0015】
しかし、前記ロボットが顔を撮影して得た画像を基に顔認識をする場合、顔を検出して顔の方向にCCDカメラを向け、カメラの視野に顔を入れる必要がある。この際にロボットのカメラを動かすモータの動きが遅かったり、回転角範囲に限界があったりして顔を検出することに時間がかかってしまった場合、人間はもどかしさを感じたり、飽きてしまったりすることが考えられる。
【0016】
このような状態を防ぐために、人間自身がロボットの視野に自分が入っているかどうかを容易に認識することができる手段はやはり必要である。
【0017】
本発明は、前記実情に鑑みてなされたものであり、ロボット装置の視野に顔認識の対象となる顔が入っているか否かを容易に提示することができるロボット装置の提供を目的とする。
【0018】
また、本発明は、ロボット装置の視野に顔認識の対象となる顔が入っているか否かを容易に提示することができるロボット装置による顔認識状況の提示方法の提供を目的とする。
【0019】
【課題を解決するための手段】
本発明に係るロボット装置は、前記課題を解決するために、小型カメラを用いて外部環境に存在する人間の顔を認識するロボット装置において、前記小型カメラのレンズの視野角を塞ぐことのない孔部を囲むカバー部を有し、前記カバー部に鏡面仕上げを施して前記顔認識の提示に用いる。
【0020】
また、本発明に係るロボット装置による顔認識状況の提示方法は、小型カメラを用いて外部環境に存在する人間の顔を認識するロボット装置による顔認識状況の提示方法であって、前記小型カメラのレンズの視野角を塞ぐことのない孔部を囲み、かつ鏡面仕上げが施されたカバー部に、前記顔認識の対象となる人間の顔を反射する工程を備え、前記反射する工程によって前記カバー部に映しだされる顔、又は孔部に入って映しだされない顔を提示し、顔認識状況を提示する。
【0021】
また、本発明は、小型カメラを用いて画像を撮影する情報処理装置において、前記小型カメラのレンズの視野角を塞ぐことのない孔部を囲むカバー部を有し、前記カバー部に鏡面仕上げを施して前記画像を反射し、撮像の状況の提示に用いることを特徴とする情報処理装置であってもよい。
【0022】
【発明の実施の形態】
以下、本発明の一構成例として示す2足歩行タイプのロボット装置について、図面を参照して詳細に説明する。この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。つまり、音声や画像などの外的刺激の認識結果に基づいて自律的に行動制御を行うことができる。
【0023】
図1に示すように、ロボット装置1は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/4Lと、左右2つの脚部ユニット5R/5Lが連結されて構成されている(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下において同じ。)。
【0024】
このロボット装置1は、図1及び図2に示すように、頭部ユニット3にCCD(charge coupled device)/CMOS(complementary metal−oxide semiconductor)撮像素子を用いた小型カメラを視覚センサとして2個、人間の目に相当する位置に配置している。以下では、便宜上、目部400L、400Rと記す。これら目部400L、400Rは、人間の左右の目と同様接近しており、その視差は顔認識の画像撮影時にはあまり問題とならないものとする。
【0025】
ロボット装置1は、目部400L、400Rを構成する、小型カメラを用いて外部環境に存在する人間の顔を撮像し、撮影画像を基に、顔認識や色認識などの画像認識処理や特徴抽出を行う。
【0026】
目部400L、400Rは、図3及び図4に示すように、小型カメラ200L及び200Rのレンズ420L及び420Rの視野角を塞ぐことのない孔部412を囲むカバー部410を有している。カバー部410は、例えばプラスチックにより形成され、カメラのレンズ420L及び420Rの前面カバーを構成するものである。特に、カバー部410は、図5に示すように、カメラのレンズ420の視野角(破線426で図示)とほぼ同等の角度(一点鎖線425で示す)をなす角錘面或いは円錐面に近い曲面状にカットされた孔部412の周辺のカバー形状を球形に近い凸面の曲面とする。また、このカバー部410は、前記凸面部分を、アルミニウム、銀又はクロムを蒸着して、反射率の高い鏡面としている。
【0027】
このようにカバー部410を反射率の高い鏡面とすることにより、外部環境に存在する使用者は自らの姿を図6の(a)、(b)、(c)に示すように映しだして見ることができる。図6の(a)では、使用者の顔部450及び胴体部451は、カバー部410の鏡面上の向かって左側に映っている。図6の(b)では、使用者の顔部450及び胴体部451は、カバー部410の鏡面上の向かって右側に映っている。しかし、図6の(c)では、胴体部451は鏡面の中央下部に映っているが頭部は孔部412にかかって使用者の目から視認できない状態となっている。
【0028】
ロボット装置1が使用者の顔部450及び胴体部451を、カバー部410の鏡面の向かって左側に映しているときは、顔を認識していない(図6の(a))。使用者の顔部450及び胴体部451を、バー部410の鏡面の向かって右側に映しているときも、顔を認識していない(図6の(b))。しかし、胴体部451を鏡面の中央下部に映しているが、頭部を孔部412にかけて使用者の目から視認できない状態としたときは、顔を認識している(図6の(c))。つまり、図6の(c)状態は、顔部450がロボットのカメラのレンズの視野角内に入っていることを示す。もちろん、顔認識を可能とする程度に顔部450が孔部412に入っていれば十分な場合もある。
【0029】
このように、使用者は、カバー部410の鏡面に顔が映しだされる状態、又は孔部に入って映しだされない状態を確認することができ、それによってロボット装置における顔認識状況の提示を受ける。
【0030】
すなわち、ロボット装置は、顔認識状況の提示方法を実行することにより、小型カメラのレンズの視野角を塞ぐことのない孔部を囲み、かつ鏡面仕上げが施されたカバー部に、前記顔認識の対象となる人間の顔を反射する工程を備え、前記反射する工程によって顔が前記カバー部に映しだされる状態、又は孔部に入って映しだされない状態を提示し、顔認識状況を提示することができる。
【0031】
したがって、使用者は、カメラの方向、視野角を容易に確認できるので、ロボット装置の顔認識処理を速やかに行わせることができる。
【0032】
図7には、前述した目部400L、400Rを備える2足歩行のロボット装置の概略を示す。図7に示すように、ロボット装置1の頭部ユニット250には、2台のCCDカメラ200R,200Lが設けられ、このCCDカメラ200R,200Lの後段には、ステレオ画像処理装置210が設けられている。2台のCCDカメラ(以下、右目200R、左目200Lという。)により撮像された右目画像201R、左目画像201Lは、ステレオ画像処理装置210に入力される。ステレオ画像処理装置210は、各画像201R,201Lの視差情報(disparity data)(距離情報)を計算し、カラー画像(YUV:輝度Y、UV色差)202及び視差画像(YDR:輝度Y、視差D、信頼度R)203をフレーム毎に左右交互に算出する。ここで、視差とは、空間中のある点が左目及び右目に写像される点の違いを示し、そのカメラからの距離に応じて変化するものである。
【0033】
このカラー画像202及び視差画像203はロボット装置1の体幹部260に内蔵されたCPU(制御部)220に入力される。また、ロボット装置1の各関節にはアクチュエータ230が設けられており、CPU220からの指令となる制御信号231が供給されて、その指令値に応じてモータを駆動する。各関節(アクチュエータ)には、ポテンショメータが取り付けられ、その時のモータの回転角がCPU220に送られる。このアクチュエータに取り付けられたポテンショメータ、足底に取り付けられたタッチセンサ及び体幹部に取り付けられたジャイロ・センサ等の各センサ240は、現在の関節角度、設置情報、及び姿勢情報等の現在のロボット装置の状態を計測し、センサデータ241としてCPU220へ出力する。CPU220は、ステレオ画像処理装置210からのカラー画像202及び視差画像203と、アクチュエータの全ての関節角度等のセンサデータ241とが入力され、これらデータが後述するソフトウェアにより処理され、様々な動作を自律的に行うことが可能となる。
【0034】
図8は、本実施の形態におけるロボット装置を動作させるソフトウェアの構成を示す模式図である。本実施の形態におけるソフトウェアは、オブジェクト単位で構成され、ロボット装置の位置、移動量、周囲の障害物、ランドマーク、ランドマーク地図、行動可能領域等を認識し、ロボット装置が最終的に取るべき行動についての行動列を出力する各種認識処理等を行うものである。なお、ロボット装置の位置を示す座標として、例えば、ランドマーク等の特定の物体等を座標の原点としたワールド基準系のカメラ座標系(以下、絶対座標ともいう。)と、ロボット装置自身を中心(座標の原点)としたロボット中心座標系(以下、相対座標ともいう。)との2つの座標を使用する。
【0035】
オブジェクト同士は、非同期に通信し合うことで、システム全体が動作する。各オブジェクトはメッセージ通信と共有メモリを使用したオブジェクト間通信方法によりデータの受け渡し及びプログラムの起動(Invoke)を行っている。図8に示すように、本実施の形態におけるロボット装置のソフトウェア300は、ロボット装置の移動量を算出する移動量算出手段(キネマティックオドメトリ(Kinematics Odometry))KINE310、環境内の平面を抽出する平面抽出部(Plane Extractor)PLEX320、環境内の障害物を認識する障害物グリッド算出部(Occupancy Grid)OG330、人工的なランドマークを含む環境において、自身のセンサ情報及び移動量算出手段から供給される自身の動作情報によって、ロボット装置の自己位置(位置及び姿勢)や、後述のランドマークの位置情報を特定するランドマーク位置検出部(Landmark Sensor)CLS340、ロボット中心座標を絶対座標に変換する絶対座標算出部(Localization)LZ350及びロボット装置の取るべき行動を決定する行動決定部(Situated behavior Layer)SBL360から構成され、各オブジェクト単位にて処理がなされる。
【0036】
このロボット装置1が具備する関節自由度構成を図9に模式的に示す。頭部ユニット3を支持する首関節は、首関節ヨー軸101と、首関節ピッチ軸102と、首関節ロール軸103という3自由度を有している。
【0037】
また、上肢を構成する各々の腕部ユニット4R/Lは、肩関節ピッチ軸107と、肩関節ロール軸108と、上腕ヨー軸109と、肘関節ピッチ軸110と、前腕ヨー軸111と、手首関節ピッチ軸112と、手首関節ロール輪113と、手部114とで構成される。手部114は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部114の動作は、ロボット装置1の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は7自由度を有するとする。
【0038】
また、体幹部ユニット2は、体幹ピッチ軸104と、体幹ロール軸105と、体幹ヨー軸106という3自由度を有する。
【0039】
また、下肢を構成する各々の脚部ユニット5R/Lは、股関節ヨー軸115と、股関節ピッチ軸116と、股関節ロール軸117と、膝関節ピッチ軸118と、足首関節ピッチ軸119と、足首関節ロール軸120と、足部121とで構成される。本明細書中では、股関節ピッチ軸116と股関節ロール軸117の交点は、ロボット装置1の股関節位置を定義する。人体の足部121は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置1の足底は、ゼロ自由度とする。したがって、各脚部は、6自由度で構成される。
【0040】
以上を総括すれば、ロボット装置1全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、エンターテインメント向けのロボット装置1が必ずしも32自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度、即ち関節数を適宜増減することができることはいうまでもない。
【0041】
上述したようなロボット装置1がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【0042】
図10には、ロボット装置1の制御システム構成を模式的に示している。同図に示すように、ロボット装置1は、ヒトの四肢を表現した体幹部ユニット2,頭部ユニット3,腕部ユニット4R/L,脚部ユニット5R/Lと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット10とで構成される。
【0043】
ロボット装置1全体の動作は、制御ユニット10によって統括的に制御される。制御ユニット10は、CPU(Central Processing Unit)や、DRAM、フラッシュROM等の主要回路コンポーネント(図示しない)で構成される主制御部11と、電源回路やロボット装置1の各構成要素とのデータやコマンドの授受を行うインターフェイス(何れも図示しない)などを含んだ周辺回路12とで構成される。
【0044】
この制御ユニット10の設置場所は、特に限定されない。図10では体幹部ユニット2に搭載されているが、頭部ユニット3に搭載してもよい。あるいは、ロボット装置1外に制御ユニット10を配備して、ロボット装置1の機体とは有線又は無線で交信するようにしてもよい。
【0045】
図10に示したロボット装置1内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。即ち、頭部ユニット3には、首関節ヨー軸101、首関節ピッチ軸102、首関節ロール軸103の各々を表現する首関節ヨー軸アクチュエータA2、首関節ピッチ軸アクチュエータA3、首関節ロール軸アクチュエータA4が配設されている。
【0046】
また、頭部ユニット3には、外部の状況を撮像するためのCCD(Charge Coupled Device)カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイク、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【0047】
また、体幹部ユニット2には、体幹ピッチ軸104、体幹ロール軸105、体幹ヨー軸106の各々を表現する体幹ピッチ軸アクチュエータA5、体幹ロール軸アクチュエータA6、体幹ヨー軸アクチュエータA7が配設されている。また、体幹部ユニット2には、このロボット装置1の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【0048】
また、腕部ユニット4R/Lは、上腕ユニット41R/Lと、肘関節ユニット42R/Lと、前腕ユニット43R/Lに細分化されるが、肩関節ピッチ軸107、肩関節ロール軸108、上腕ヨー軸109、肘関節ピッチ軸110、前腕ヨー軸111、手首関節ピッチ軸112、手首関節ロール軸113の各々表現する肩関節ピッチ軸アクチュエータA8、肩関節ロール軸アクチュエータA9、上腕ヨー軸アクチュエータA10、肘関節ピッチ軸アクチュエータA11、肘関節ロール軸アクチュエータA12、手首関節ピッチ軸アクチュエータA13、手首関節ロール軸アクチュエータA14が配備されている。
【0049】
また、脚部ユニット5R/Lは、大腿部ユニット51R/Lと、膝ユニット52R/Lと、脛部ユニット53R/Lに細分化されるが、股関節ヨー軸115、股関節ピッチ軸116、股関節ロール軸117、膝関節ピッチ軸118、足首関節ピッチ軸119、足首関節ロール軸120の各々を表現する股関節ヨー軸アクチュエータA16、股関節ピッチ軸アクチュエータA17、股関節ロール軸アクチュエータA18、膝関節ピッチ軸アクチュエータA19、足首関節ピッチ軸アクチュエータA20、足首関節ロール軸アクチュエータA21が配備されている。各関節に用いられるアクチュエータA2,A3・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ACサーボ・アクチュエータで構成することができる。
【0050】
体幹部ユニット2、頭部ユニット3、各腕部ユニット4R/L、各脚部ユニット5R/Lなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部20,21,22R/L,23R/Lが配備されている。さらに、各脚部ユニット5R/Lの足底が着床したか否かを検出する接地確認センサ30R/Lを装着するとともに、体幹部ユニット2内には、姿勢を計測する姿勢センサ31を装備している。
【0051】
接地確認センサ30R/Lは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ31は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【0052】
接地確認センサ30R/Lの出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ31の出力により、体幹部分の傾きや姿勢を検出することができる。
【0053】
主制御部11は、各センサ30R/L,31の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部20,21,22R/L,23R/Lの各々に対して適応的な制御を行い、ロボット装置1の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現できる。
【0054】
ロボット装置1の機体上での全身運動は、足部運動、ZMP(Zero Moment Point)軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容にしたがった動作を指示するコマンドを各副制御部20,21,22R/L,23R/Lに転送する。そして、各々の副制御部20,21,・・・等では、主制御部11からの受信コマンドを解釈して、各アクチュエータA2,A3・・・等に対して駆動制御信号を出力する。ここでいう「ZMP」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ZMP軌道」とは、例えばロボット装置1の歩行動作期間中にZMPが動く軌跡を意味する。なお、ZMPの概念並びにZMPを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic著“LEGGED LOCOMOTION ROBOTS”(加藤一郎外著『歩行ロボットと人工の足』(日刊工業新聞社))に記載されている。
【0055】
以上のように、ロボット装置1は、各々の副制御部20,21,・・・等が、主制御部11からの受信コマンドを解釈して、各アクチュエータA2,A3・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置1は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【0056】
また、ロボット装置1における制御ユニット10では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ等の各種センサ、及びCCDカメラからの画像情報、マイクからの音声情報等を統括して処理している。制御ユニット10では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイク、スピーカなどの各種センサ、各アクチュエータ、CCDカメラ及びバッテリが各々対応するハブを介して主制御部11と接続されている。
【0057】
主制御部11は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してDRAM内の所定位置に順次格納する。また、主制御部11は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをDRAM内の所定位置に格納する。DRAMに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部11がこのロボット装置1の動作制御を行う際に利用される。
【0058】
主制御部11は、ロボット装置1の電源が投入された初期時、制御プログラムを読み出し、これをDRAMに格納する。また、主制御部11は、上述のように主制御部11よりDRAMに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【0059】
さらに、主制御部11は、この判断結果及びDRAMに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータを駆動させることによりロボット装置1に、いわゆる「身振り」、「手振り」といった行動をとらせる。
【0060】
このようにしてロボット装置1は、制御プログラムに基づいて自己及び周囲の状況を判断し、使用者からの指示及び働きかけに応じて自律的に行動できる。
【0061】
ところで、このロボット装置1は、内部状態に応じて自律的に行動することができる。そこで、ロボット装置1における制御プログラムのソフトウェア構成例について、図11乃至図16を用いて説明する。なお、この制御プログラムは、上述したように、予めフラッシュROM12に格納されており、ロボット装置1の電源投入初期時において読み出される。
【0062】
図11において、デバイス・ドライバ・レイヤ40は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット41から構成されている。この場合、各デバイス・ドライバは、CCDカメラやタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【0063】
また、ロボティック・サーバ・オブジェクト42は、デバイス・ドライバ・レイヤ40の最下位層に位置し、例えば上述の各種センサやアクチュエータ281〜28n等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット43と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ44と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ45と、ロボット装置1の機構を管理するソフトウェア群でなるデザインド・ロボット46とから構成されている。
【0064】
マネージャ・オブジェクト47は、オブジェクト・マネージャ48及びサービス・マネージャ49から構成されている。オブジェクト・マネージャ48は、ロボティック・サーバ・オブジェクト42、ミドル・ウェア・レイヤ50、及びアプリケーション・レイヤ51に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ49は、メモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【0065】
ミドル・ウェア・レイヤ50は、ロボティック・サーバ・オブジェクト42の上位層に位置し、画像処理や音声処理などのこのロボット装置1の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ51は、ミドル・ウェア・レイヤ50の上位層に位置し、当該ミドル・ウェア・レイヤ50を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置1の行動を決定するためのソフトウェア群から構成されている。
【0066】
なお、ミドル・ウェア・レイヤ50及びアプリケーション・レイヤ51の具体なソフトウェア構成をそれぞれ図12に示す。
【0067】
ミドル・ウェア・レイヤ50は、図12に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール60〜68並びに入力セマンティクスコンバータモジュール69などを有する認識系70と、出力セマンティクスコンバータモジュール78並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、LED点灯用及び音再生用の各信号処理モジュール71〜77などを有する出力系79とから構成されている。
【0068】
認識系70の各信号処理モジュール60〜68は、ロボティック・サーバ・オブジェクト42のバーチャル・ロボット43によりDRAMから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール69に与える。ここで、例えば、バーチャル・ロボット43は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【0069】
入力セマンティクスコンバータモジュール69は、これら各信号処理モジュール60〜68から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ41に出力する。
【0070】
アプリケーション・レイヤ51は、図13に示すように、行動モデルライブラリ80、行動切換モジュール81、学習モジュール82、感情モデル83及び本能モデル84の5つのモジュールから構成されている。
【0071】
行動モデルライブラリ80には、図14に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【0072】
そして、これら行動モデルは、それぞれ入力セマンティクスコンバータモジュール69から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル83に保持されている対応する情動のパラメータ値や、本能モデル84に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール81に出力する。
【0073】
なお、この実施の形態の場合、各行動モデルは、次の行動を決定する手法として、図15に示すような1つのノード(状態)NODE0〜NODEnから他のどのノードNODE0〜NODEnに遷移するかを各ノードNODE0〜NODEnに間を接続するアークARC1〜ARCn1に対してそれぞれ設定された遷移確率P1〜Pnに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【0074】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードNODE0〜NODEnにそれぞれ対応させて、これらノードNODE0〜NODEn毎に図16に示すような状態遷移表90を有している。
【0075】
この状態遷移表90では、そのノードNODE0〜NODEnにおいて遷移条件とする入力イベント(認識結果)が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【0076】
したがって、図16の状態遷移表90で表されるノードNODE100では、「ボールを検出(BALL)」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ(SIZE)」が「0から1000」の範囲であることや、「障害物を検出(OBSTACLE)」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離(DISTANCE)」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【0077】
また、このノードNODE100では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル83及び本能モデル84にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル83に保持された「喜び(Joy)」、「驚き(Surprise)」又は「悲しみ(Sadness)」の何れかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【0078】
また、状態遷移表90では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードNODE0〜NODEnから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードNODE0〜NODEnへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードNODE0〜NODEnに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は100[%]となっている。
【0079】
したがって、図16の状態遷移表90で表されるノードNODE100では、例えば「ボールを検出(BALL)」し、そのボールの「SIZE(大きさ)」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30[%]」の確率で「ノードNODE120(node 120)」に遷移でき、そのとき「ACTION1」の行動が出力されることとなる。
【0080】
各行動モデルは、それぞれこのような状態遷移表90として記述されたノードNODE0〜 NODEnが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール69から認識結果が与えられたときなどに、対応するノードNODE0〜NODEnの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール81に出力するようになされている。
【0081】
図14に示す行動切換モジュール81は、行動モデルライブラリ80の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド(以下、行動コマンドという。)をミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール78に送出する。なお、この実施の形態においては、図15において下側に表記された行動モデルほど優先順位が高く設定されている。
【0082】
また、行動切換モジュール81は、行動完了後に出力セマンティクスコンバータモジュール78から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール82、感情モデル83及び本能モデル84に通知する。
【0083】
一方、学習モジュール82は、入力セマンティクスコンバータモジュール69から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【0084】
そして、学習モジュール82は、この認識結果及び行動切換えモジュール71からの通知に基づいて、「叩かれた(叱られた)」ときにはその行動の発現確率を低下させ、「撫でられた(誉められた)」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ70における対応する行動モデルの対応する遷移確率を変更する。
【0085】
他方、感情モデル83は、「喜び(Joy)」、「悲しみ(Sadness)」、「怒り(Anger)」、「驚き(Surprise)」、「嫌悪(Disgust)」及び「恐れ(Fear)」の合計6つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル83は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール69から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果や、経過時間及び行動切換モジュール81からの通知などに基づいて周期的に更新する。
【0086】
具体的には、感情モデル83は、入力セマンティクスコンバータモジュール69から与えられる認識結果と、そのときのロボット装置1の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量を△E[t]、現在のその情動のパラメータ値をE[t]、その情動の感度を表す係数をkeとして、下記数式(11)によって次の周期におけるその情動のパラメータ値E[t+1]を算出し、これを現在のその情動のパラメータ値E[t]と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル83は、これと同様にして全ての情動のパラメータ値により更新する。
E=[t+1]=E=[t]+ke×ΔE
なお、各認識結果や出力セマンティクスコンバータモジュール78からの通知が各情動のパラメータ値の変動量△E[t]にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△E[t]に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△E[t]に大きな影響を与えるようになっている。
【0087】
ここで、出力セマンティクスコンバータモジュール78からの通知とは、いわゆる行動のフィードバック情報(行動完了情報)であり、行動の出現結果の情報であり、感情モデル83は、このような情報によっても感情を変化させる。これは、例えば、「叫ぶ」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール78からの通知は、上述した学習モジュール82にも入力されており、学習モジュール82は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【0088】
なお、行動結果のフィードバックは、行動切換モジュール81の出力(感情が付加された行動)によりなされるものであってもよい。
【0089】
一方、本能モデル84は、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity)」の互いに独立した4つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル84は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール69から与えられる認識結果や、経過時間及び行動切換モジュール81からの通知などに基づいて周期的に更新する。
【0090】
具体的には、本能モデル84は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール78からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔI[k]、現在のその欲求のパラメータ値をI[k]、その欲求の感度を表す係数kiとして、所定周期で下記数式(12)を用いて次の周期におけるその欲求のパラメータ値I[k+1]を算出し、この演算結果を現在のその欲求のパラメータ値I[k]と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル84は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
I[k+1]=I[k]+ki×ΔI[k]
なお、認識結果及び出力セマンティクスコンバータモジュール78からの通知などが各欲求のパラメータ値の変動量△I[k]にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール78からの通知は、「疲れ」のパラメータ値の変動量△I[k]に大きな影響を与えるようになっている。
【0091】
なお、この具体例においては、各情動及び各欲求(本能)のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ke、kiの値も各情動及び各欲求毎に個別に設定されている。
【0092】
一方、ミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール78は、図12に示すように、上述のようにしてアプリケーション・レイヤ51の行動切換モジュール81から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング(ボールを追いかける)」といった抽象的な行動コマンドを出力系79の対応する信号処理モジュール71〜77に与える。
【0093】
そしてこれら信号処理モジュール71〜77は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び又はLEDに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト42のバーチャル・ロボット43及び信号処理回路を順次介して対応するアクチュエータ又はスピーカ又はLEDに順次送出する。
【0094】
このようにしてロボット装置1は、上述した制御プログラムに基づいて、自己(内部)及び周囲(外部)の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。
【0095】
このような制御プログラムは、ロボット装置が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体(例えば、磁気テープ、フレキシブルディスク、磁気カード)、光学読取方式の記録媒体(例えば、CD−ROM、MO、CD−R、DVD)等が考えられる。記録媒体には、半導体メモリ(いわゆるメモリカード(矩形型、正方形型など形状は問わない。)、ICカード)等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【0096】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置1に伝送されて読み込まれる。また、ロボット装置1は、半導体メモリ、又はICカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。
【0097】
なお、顔認識処理について以下に説明しておく。ロボット装置は、顔検出器を備え、画像フレーム中から顔領域を検出する。小型カメラによって撮像した画像データを受け取り、それを9段階のスケール画像に縮小変換する。このすべての画像の中から顔に相当する矩形領域を探索する。重なりあった候補領域を削減して最終的に顔と判断された領域に関する位置や大きさ、特徴量などの顔情報(FaceInfo)を検出する。ここで検出された顔情報は短期記憶部へ送られる。
【0098】
短期記憶部は、ロボット装置1の外部環境に関する情報を比較的短い時間だけ保持するオブジェクトであり、音検出部から音(声)検出結果、色検出部から色検出結果、また顔検出部から顔検出結果、さらには関節角度検出部から関節角度のセンサ出力を受け取る。そして、これらの複数の検出情報を時間的及び空間的に整合性を保つように統合して、意味を持った統合情報として扱い、比較的短い時間、例えば15秒間保持する。これらの統合情報は、動作命令部及び首部動作生成部に渡される。
【0099】
動作命令部は、状況依存行動層等の上位モジュールである。首部動作生成部に対して首部の動作を指示するコマンドを発現する。短期記憶部にて保存されている統合情報に関するID(対象物ID)を指定することによって、すなわち、何に対してトラッキングするのかを指定するだけでロボット装置1にトラッキング動作を行わせることができる。
【0100】
首動作生成部は、動作命令部から首を動かすコマンドを受けたことに応答して、首の関節角を計算するモジュールである。「追跡」(本実施の形態では前記対象物ID)のコマンドを受けたときには、短期記憶部から受け取った情報を基に、その物体が存在する方向を向く首の関節角を計算して出力する。前記対象物IDを受け取り、最適な対象物情報を選択して、その選択した対象物情報が得られる方向を向くことになる。
【0101】
顔を認識する際には、顔を検出して顔の方向にCCDカメラを向け、カメラの視野に顔を入れる必要があり、ロボットのカメラを動かすモータの動きが遅かったり、回転角範囲に限界があったりして顔を検出することに時間がかかってしまうという問題が発生したが、本発明により、ロボット装置の視野に顔認識の対象となる顔が入っているか否かを容易に提示することができるので、ロボット装置は顔認識処理を迅速に行うことができる。
【0102】
また、ロボット装置は、顔認識の対象とする使用者と対話をしながら、本発明の顔認識状況提示方法を実行し、視野に顔認識の対象となる顔が入っているか否かを提示してもよい。
【0103】
なお、本発明は、前記実施の形態にのみ適用が限定されるものではない。以下の変形例を挙げることができる。例えば、鏡面は別の場所にロボット装置の視野と同等の範囲を映し出すように設置してもよい。また、より確実に確認できるよう鏡の表示範囲とカメラの視野角の間にマージンを持たせるようにしてもよい。また、カバー部の凸面鏡部分を球形以外の形状、例えば円錐形状、多角錘形状にしてもよい。
【0104】
さらに、本発明は、小型カメラを用いて画像を撮影する、携帯電話、携帯型情報処理端末(PDA)、携帯型パーソナルコンピュータ等の情報処理装置において、前記小型カメラのレンズの視野角を塞ぐことのない孔部を囲むカバー部を有し、前記カバー部に鏡面仕上げを施して前記画像を反射し、撮像の状況の提示に用いることを特徴とする情報処理装置に適用してもよい。
【0105】
【発明の効果】
本発明によれば、小型カメラを用いて外部環境に存在する人間の顔を認識するロボット装置において、小型カメラのレンズの視野角を塞ぐことのない孔部を囲むカバー部を有し、カバー部に鏡面仕上げを施して顔認識の提示に用いるので、ロボット装置の視野に顔認識の対象となる顔が入っているか否かを容易に提示することができる。
【図面の簡単な説明】
【図1】ロボット装置の外観構成を示す図であって、ヒューマノイド型の2足歩行のロボット装置を示す斜視図である。
【図2】頭部に設けた目部の配置を示す図である。
【図3】目部の拡大図である。
【図4】頭部の断面図である。
【図5】目部の断面図であり、視野角も示す図である。
【図6】顔認識状況の提示方法を説明するための図である。
【図7】ロボット装置の概略を示すブロック図である。
【図8】ロボット装置を動作するソフトウェアの構成を示す模式図である。
【図9】本発明の実施の形態におけるロボット装置の自由度構成モデルを模式的に示す図である。
【図10】同ロボット装置の回路構成を示すブロック図である。
【図11】同ロボット装置のソフトウェア構成を示すブロック図である。
【図12】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図13】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図14】アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図15】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図16】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
1 ロボット装置、3 頭部、400L,400R 目部、410 カバー部(鏡面)、412 孔部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a robot apparatus having a small camera as a visual sensor and recognizing a human face existing in an external environment, and a method of presenting a face recognition situation by the robot apparatus.
[0002]
[Prior art]
A mechanical device that performs a motion resembling a human motion using an electric or magnetic action is called a “robot”. It is said that the robot is derived from the Slavic word "ROBOTA (slave machine)". In Japan, robots began to spread from the late 1960's, but most of them were industrial robots (industrial robots) such as manipulators and transfer robots for the purpose of automation and unmanned production work in factories. Met.
[0003]
Recently, pet-type robots that mimic the body mechanism and behavior of four-legged animals such as dogs, cats, and bears, or the body mechanism and behavior of animals that perform bipedal walking, such as humans and monkeys, have been modeled. Research and development on the structure of a legged mobile robot such as the "humanoid" or "humanoid" robot and stable walking control thereof have been progressing, and expectations for its practical use have been increasing. These legged mobile robots are unstable compared to crawler type robots, making posture control and walking control difficult.However, they are excellent in that they can realize flexible walking and running operations such as climbing stairs and climbing over obstacles. I have.
[0004]
A stationary robot, such as an arm-type robot, which is implanted and used in a specific place, operates only in a fixed and local work space such as assembling and sorting parts. On the other hand, the mobile robot has a work space that is not limited, and can freely move on a predetermined route or on a non-route to perform a predetermined or arbitrary human work, or perform a human or dog operation. Alternatively, various services that replace other living things can be provided.
[0005]
One of the uses of the legged mobile robot is to represent various difficult tasks in industrial activities and production activities. For example, maintenance work in nuclear power plants, thermal power plants, petrochemical plants, transport and assembly of parts in manufacturing factories, cleaning in high-rise buildings, rescue in fire spots and other dangerous and difficult work, etc. .
[0006]
Another application of the legged mobile robot is not the work support described above, but a life-based type, that is, a "symbiosis" or "entertainment" with humans. This type of robot faithfully reproduces the motion mechanisms of relatively intelligent legged walking animals such as humans, dogs (pets), and bears and rich emotional expressions using limbs. In addition, the robot does not simply execute a pre-input motion pattern faithfully, but also dynamically responds to words and attitudes (eg, praise, scold, and hit) received from the user (or another robot). It is also required to realize a corresponding and lively response expression.
[0007]
In the conventional toy machine, the relationship between the user operation and the response operation is fixed, and the operation of the toy cannot be changed according to the user's preference. As a result, the user eventually gets tired of toys that repeat only the same operation.
[0008]
On the other hand, an intelligent robot that performs an autonomous operation generally has a function of recognizing information in the outside world and reflecting its own behavior on the information. That is, the robot realizes autonomous thinking and action control by changing an emotion model or an instinct model based on input information such as a voice, an image, and a tactile sensation from an external environment to determine an action. That is, if the robot prepares an emotion model or an instinct model, it is possible to realize realistic communication with a human at a higher intellectual level.
[0009]
Conventionally, in order for a robot to perform an autonomous operation according to an environmental change, an action is described by a combination of simple action descriptions such as receiving a piece of information for one observation result and taking an action. By mapping actions to these inputs, it is possible to express non-unique and complex actions by introducing functions such as randomness, internal state (emotional / instinct), learning, and growth. A place where this behavior is expressed is called a behavior generation unit.
[0010]
For example, there is an autonomous robot apparatus having left and right legs for enabling a neck portion having a stereo camera composed of two CCD cameras for both eyes to be movable with respect to a body portion and further allowing for bipedal walking. An action generation unit that generates a neck motion is referred to as a neck motion generation unit.
[0011]
When the robot needs to recognize a portion close to human eyes, such as a user's face, using the neck motion generation unit, first, the robot apparatus itself uses a stereo camera composed of the two CCD cameras as both eyes. Then, face recognition is performed based on an image obtained by photographing a human face.
[0012]
Japanese Patent Application Laid-Open No. 14-072291 discloses a camera suitable for easily performing self-photographing by a photographer himself. This is a technology in which a reflection member is provided on the front of the camera, which is movable from a storage position to an exposure position, and the photographer takes a picture of the face on the reflection member to easily perform self-photographing.
[0013]
[Patent Document 1]
JP-A-14-072291
[0014]
[Problems to be solved by the invention]
In the robot device, there is a problem in appearance in view of the fact that providing the reflecting member disclosed in
[0015]
However, when performing face recognition based on an image obtained by capturing the face of the robot, it is necessary to detect the face, point the CCD camera in the direction of the face, and put the face in the camera's field of view. At this time, if the movement of the motor that moves the robot camera is slow or the rotation angle range is limited and it takes time to detect the face, humans will feel frustrated or bored. It is thought that it rolls.
[0016]
In order to prevent such a situation, there is still a need for a means by which a person can easily recognize whether or not he or she is in the field of view of the robot.
[0017]
The present invention has been made in view of the above circumstances, and has as its object to provide a robot device capable of easily presenting whether or not a face to be subjected to face recognition is included in the visual field of the robot device.
[0018]
Another object of the present invention is to provide a method of presenting a face recognition situation by a robot device, which can easily present whether or not a face to be subjected to face recognition is in the visual field of the robot device.
[0019]
[Means for Solving the Problems]
In order to solve the above-mentioned problems, a robot apparatus according to the present invention is a robot apparatus that recognizes a human face present in an external environment using a small camera, and a hole that does not block a viewing angle of a lens of the small camera. A cover section surrounding the section, and the cover section is mirror-finished and used for presentation of the face recognition.
[0020]
Also, a method for presenting a face recognition situation by a robot apparatus according to the present invention is a method for presenting a face recognition situation by a robot apparatus for recognizing a human face present in an external environment using a small camera, wherein: A cover that surrounds a hole that does not block the viewing angle of the lens, and that has a mirror-finished cover, includes a step of reflecting a human face to be subjected to the face recognition; and Or a face that does not appear in the hole and is presented, and a face recognition situation is presented.
[0021]
Further, the present invention provides an information processing apparatus that captures an image using a small camera, comprising a cover that surrounds a hole that does not block the viewing angle of the lens of the small camera, and the cover has a mirror finish. The information processing apparatus may be configured to reflect the image and perform the reflection of the image and use the reflected image to present an imaging state.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a bipedal walking type robot apparatus shown as one configuration example of the present invention will be described in detail with reference to the drawings. This humanoid robot device is a practical robot that supports human activities in various situations in the living environment and other everyday life, and can act according to the internal state (anger, sadness, joy, enjoyment, etc.) It is an entertainment robot that can express basic actions performed by humans. That is, the behavior control can be autonomously performed based on the recognition result of the external stimulus such as the voice or the image.
[0023]
As shown in FIG. 1, in the
[0024]
As shown in FIGS. 1 and 2, the
[0025]
The
[0026]
As shown in FIGS. 3 and 4, the
[0027]
By making the cover portion 410 a mirror surface having a high reflectance, the user existing in the external environment reflects his / her own form as shown in FIGS. 6 (a), (b) and (c). You can see. In FIG. 6A, the user's
[0028]
When the
[0029]
In this way, the user can confirm the state where the face is projected on the mirror surface of the
[0030]
That is, the robot apparatus executes the method for presenting the face recognition status, and surrounds the hole that does not block the viewing angle of the lens of the small camera, and provides the face recognition A step of reflecting a target human face; presenting a state in which the face is projected on the cover portion by the reflecting step, or a state in which the face enters a hole and not projected, and presents a face recognition state. be able to.
[0031]
Therefore, since the user can easily confirm the direction and the viewing angle of the camera, the face recognition processing of the robot device can be promptly performed.
[0032]
FIG. 7 schematically shows a bipedal walking robot device including the
[0033]
The
[0034]
FIG. 8 is a schematic diagram illustrating a configuration of software for operating the robot device according to the present embodiment. The software according to the present embodiment is configured in units of objects, recognizes the position, movement amount, surrounding obstacles, landmarks, landmark maps, actionable areas, and the like of the robot device, and should finally take the robot device. It performs various kinds of recognition processing for outputting an action sequence of actions. Note that, as coordinates indicating the position of the robot apparatus, for example, a camera coordinate system of a world reference system (hereinafter, also referred to as absolute coordinates) having a specific object such as a landmark as the origin of the coordinates, and a center of the robot apparatus itself. Two coordinates are used: a robot center coordinate system (hereinafter, also referred to as relative coordinates), which is set as an origin of coordinates.
[0035]
Objects communicate with each other asynchronously to operate the entire system. Each object exchanges data and starts (Invoke) a program by message communication and an inter-object communication method using a shared memory. As shown in FIG. 8, the
[0036]
FIG. 9 schematically shows the configuration of the degrees of freedom of the joints provided in the
[0037]
Each
[0038]
The
[0039]
Each of the
[0040]
Summarizing the above, the
[0041]
Each degree of freedom of the
[0042]
FIG. 10 schematically shows a control system configuration of the
[0043]
The operation of the
[0044]
The installation location of the
[0045]
Each joint degree of freedom in the
[0046]
In addition, the
[0047]
Further, the
[0048]
The
[0049]
The
[0050]
For each mechanism unit such as the
[0051]
The ground
[0052]
Based on the output of the ground
[0053]
The main control unit 11 can dynamically correct the control target in response to the output of each of the
[0054]
The whole body motion of the
[0055]
As described above, in the
[0056]
The
[0057]
The main control unit 11 sequentially captures sensor data, image data, and audio data supplied from each of the above-described sensors, and sequentially stores these at predetermined positions in the DRAM via the respective internal interfaces. Further, the main control unit 11 sequentially takes in remaining battery power data indicating the remaining battery power supplied from the battery, and stores the data at a predetermined position in the DRAM. The sensor data, image data, audio data, and remaining battery data stored in the DRAM are used when the main control unit 11 controls the operation of the
[0058]
When the power of the
[0059]
Further, the main control unit 11 determines an action according to its own situation based on the determination result and the control program stored in the DRAM, and drives the necessary actuator based on the determination result to thereby control the
[0060]
In this way, the
[0061]
By the way, the
[0062]
In FIG. 11, the
[0063]
The
[0064]
The
[0065]
The
[0066]
FIG. 12 shows specific software configurations of the
[0067]
As shown in FIG. 12, the
[0068]
Each of the signal processing modules 60 to 68 of the
[0069]
The input
[0070]
As shown in FIG. 13, the
[0071]
As shown in FIG. 14, the
[0072]
Then, these behavior models are used as described later when the recognition result is given from the input
[0073]
In the case of this embodiment, each behavior model uses one node (state) NODE as shown in FIG. 0 ~ NODE n From any other node NODE 0 ~ NODE n To each node NODE 0 ~ NODE n Arc ARC connecting between 1 ~ ARC n1 Transition probability P set for 1 ~ P n An algorithm called a finite stochastic automaton that determines stochastically based on is used.
[0074]
Specifically, each behavior model is a node NODE that forms its own behavior model. 0 ~ NODE n Corresponding to each of these nodes NODE 0 ~ NODE n Each has a state transition table 90 as shown in FIG.
[0075]
In this state transition table 90, the node NODE 0 ~ NODE n , Input events (recognition results) as transition conditions are listed in order of priority in the column of “input event name”, and further conditions for the transition condition are described in corresponding rows in the columns of “data name” and “data range”. Have been.
[0076]
Therefore, the node NODE represented by the state transition table 90 of FIG. 100 In the case where the recognition result of “detection of ball (BALL)” is given, the “size” of the ball given together with the recognition result is in the range of “0 to 1000”, If a recognition result of “obstacle detected (OBSTACLE)” is given, the other node may indicate that the “distance” to the obstacle given together with the recognition result is in the range of “0 to 100”. This is the condition for transitioning to.
[0077]
Also, this node NODE 100 Then, even when there is no input of the recognition result, among the parameter values of each emotion and each desire held in the
[0078]
Further, in the state transition table 90, the node NODE is added to the row of “transition destination node” in the column of “transition probability to another node”. 0 ~ NODE n The node names that can be transitioned from are listed, and other nodes NODE that can transition when all the conditions described in the columns of “input event name”, “data name”, and “data range” are met 0 ~ NODE n To the corresponding node in the column “Transition probability to another node”, and the node NODE 0 ~ NODE n The action to be output when transitioning to is described in the row of “output action” in the column of “transition probability to another node”. Note that the sum of the probabilities of each row in the column of “transition probability to another node” is 100 [%].
[0079]
Therefore, the node NODE represented by the state transition table 90 of FIG. 100 Then, for example, when "the ball is detected (BALL)" and a recognition result indicating that the "SIZE (size)" of the ball is in the range of "0 to 1000" is given, "30 [%]" With the probability of "node NODE 120 (Node 120) ", and the action of" ACTION1 "is output at that time.
[0080]
Each behavior model has a node NODE described as such a state transition table 90. 0 ~ NODE n Are connected to each other, and when a recognition result is given from the input
[0081]
The
[0082]
Further, the
[0083]
On the other hand, the
[0084]
Then, based on the recognition result and the notification from the
[0085]
On the other hand, the
[0086]
Specifically, the
E = [t + 1] = E = [t] + ke × ΔE
It is determined in advance how much each recognition result and the notification from the output
[0087]
Here, the notification from the output
[0088]
The feedback of the action result may be made by the output of the action switching module 81 (the action to which the emotion is added).
[0089]
On the other hand, the
[0090]
Specifically, the
I [k + 1] = I [k] + ki × ΔI [k]
The degree to which the recognition result and the notification from the output
[0091]
In this specific example, the parameter value of each emotion and each desire (instinct) is regulated to fluctuate in the range from 0 to 100, and the values of the coefficients ke and ki are also adjusted for each emotion and each desire. Each is set individually.
[0092]
On the other hand, as shown in FIG. 12, the output
[0093]
When the action command is given, the
[0094]
In this way, the
[0095]
Such a control program is provided via a recording medium recorded in a format readable by the robot device. As a recording medium for recording the control program, a recording medium of a magnetic reading system (for example, a magnetic tape, a flexible disk, a magnetic card) and a recording medium of an optical reading system (for example, a CD-ROM, an MO, a CD-R, a DVD) And so on. The recording medium also includes a storage medium such as a semiconductor memory (a so-called memory card (regardless of shape such as a rectangular shape or a square shape, an IC card)). Further, the control program may be provided via the so-called Internet or the like.
[0096]
These control programs are reproduced via a dedicated read driver device, a personal computer, or the like, and transmitted to and read from the
[0097]
The face recognition processing will be described below. The robot apparatus includes a face detector and detects a face area from an image frame. Image data captured by a small camera is received, and it is reduced and converted into a nine-stage scale image. A rectangular area corresponding to a face is searched from all the images. Overlapping candidate areas are reduced, and face information (FaceInfo) such as a position, a size, and a feature amount regarding an area finally determined as a face is detected. The face information detected here is sent to the short-term storage unit.
[0098]
The short-term storage unit is an object that holds information on the external environment of the
[0099]
The operation command unit is a higher module such as a situation-dependent behavior layer. A command for instructing the neck operation to the neck operation generator is generated. By specifying an ID (object ID) related to the integrated information stored in the short-term storage unit, that is, the
[0100]
The neck motion generation unit is a module that calculates a joint angle of the neck in response to receiving a command to move the neck from the motion command unit. When a command of “tracking” (in the present embodiment, the target object ID) is received, a joint angle of a neck in a direction in which the object is present is calculated and output based on information received from the short-term storage unit. . The object ID is received, the optimum object information is selected, and the selected object information is turned in the direction in which it can be obtained.
[0101]
When recognizing a face, it is necessary to detect the face, point the CCD camera in the direction of the face, and put the face in the field of view of the camera. The movement of the motor that moves the robot camera is slow, or the rotation angle range is limited. There is a problem that it takes time to detect a face due to the presence of a face. However, according to the present invention, it is easy to indicate whether or not a face to be subjected to face recognition is included in the visual field of the robot apparatus. Therefore, the robot apparatus can quickly perform the face recognition processing.
[0102]
Further, the robot apparatus executes the face recognition situation presenting method of the present invention while interacting with the user to be subjected to face recognition, and presents whether or not the face to be subjected to face recognition is included in the visual field. You may.
[0103]
The application of the present invention is not limited only to the above embodiment. The following modifications can be given. For example, the mirror surface may be installed at another location so as to project a range equivalent to the field of view of the robot device. Further, a margin may be provided between the display range of the mirror and the viewing angle of the camera so that the confirmation can be made more reliably. Further, the convex mirror portion of the cover may have a shape other than a spherical shape, for example, a conical shape or a polygonal pyramid shape.
[0104]
Further, the present invention provides an information processing apparatus, such as a mobile phone, a portable information processing terminal (PDA), or a portable personal computer, which captures an image using a small camera, and closes a viewing angle of a lens of the small camera. The present invention may be applied to an information processing apparatus having a cover portion surrounding a hole having no hole, applying a mirror finish to the cover portion, reflecting the image, and using the image to present an imaging situation.
[0105]
【The invention's effect】
According to the present invention, in a robot apparatus for recognizing a human face present in an external environment using a small camera, the robot apparatus includes a cover section surrounding a hole that does not block a viewing angle of a lens of the small camera, Of the robot device is used to present face recognition, so that it can be easily presented whether or not a face to be subjected to face recognition is included in the visual field of the robot device.
[Brief description of the drawings]
FIG. 1 is a diagram showing an external configuration of a robot apparatus, and is a perspective view showing a humanoid biped walking robot apparatus.
FIG. 2 is a diagram showing an arrangement of eyes provided on a head.
FIG. 3 is an enlarged view of an eye part.
FIG. 4 is a sectional view of a head.
FIG. 5 is a cross-sectional view of an eye and also shows a viewing angle.
FIG. 6 is a diagram for explaining a method of presenting a face recognition situation.
FIG. 7 is a block diagram schematically illustrating a robot device.
FIG. 8 is a schematic diagram illustrating a configuration of software that operates the robot device.
FIG. 9 is a diagram schematically illustrating a degree of freedom configuration model of the robot device according to the embodiment of the present invention.
FIG. 10 is a block diagram showing a circuit configuration of the robot device.
FIG. 11 is a block diagram showing a software configuration of the robot device.
FIG. 12 is a block diagram showing a configuration of a middleware layer in a software configuration of the robot apparatus.
FIG. 13 is a block diagram showing a configuration of an application layer in the software configuration of the robot device.
FIG. 14 is a block diagram showing a configuration of a behavior model library of an application layer.
FIG. 15 is a diagram illustrating a finite probability automaton serving as information for determining an action of the robot apparatus.
FIG. 16 is a diagram showing a state transition table prepared for each node of the finite probability automaton.
[Explanation of symbols]
1 robot device, 3 heads, 400L, 400R eyes, 410 cover (mirror surface), 412 holes
Claims (3)
前記小型カメラのレンズの視野角を塞ぐことのない孔部を囲むカバー部を有し、
前記カバー部に鏡面仕上げを施して前記顔認識の提示に用いることを特徴とするロボット装置。In a robot device that recognizes a human face in the external environment using a small camera,
A cover that surrounds a hole that does not block the viewing angle of the lens of the small camera,
A robot apparatus, wherein the cover section is mirror-finished and used for presentation of the face recognition.
前記小型カメラのレンズの視野角を塞ぐことのない孔部を囲み、かつ鏡面仕上げが施されたカバー部に、前記顔認識の対象となる人間の顔を反射する工程を備え、
前記反射する工程によって顔が前記カバー部に映しだされる状態、又は孔部に入って映しだされない状態を提示し、よって顔認識状況を提示することを特徴とするロボット装置による顔認識状況の提示方法。A method of presenting a face recognition situation by a robot device that recognizes a human face present in an external environment using a small camera,
Surrounding a hole that does not block the viewing angle of the lens of the small camera, and a cover portion that has been subjected to mirror finishing, comprising a step of reflecting a human face to be subjected to the face recognition,
A state in which the face is projected on the cover portion by the reflecting step, or a state in which the face enters the hole and is not projected, thereby presenting a face recognition situation, whereby the face recognition situation by the robot apparatus is presented. Presentation method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003096135A JP2004299006A (en) | 2003-03-31 | 2003-03-31 | Robot device and face recognition state presenting method by robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003096135A JP2004299006A (en) | 2003-03-31 | 2003-03-31 | Robot device and face recognition state presenting method by robot |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004299006A true JP2004299006A (en) | 2004-10-28 |
Family
ID=33408291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003096135A Withdrawn JP2004299006A (en) | 2003-03-31 | 2003-03-31 | Robot device and face recognition state presenting method by robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004299006A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011527641A (en) * | 2008-05-09 | 2011-11-04 | ベイア | Humanoid robot with ball and socket joints |
JP2017164854A (en) * | 2016-03-17 | 2017-09-21 | カシオ計算機株式会社 | Robot and program |
-
2003
- 2003-03-31 JP JP2003096135A patent/JP2004299006A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011527641A (en) * | 2008-05-09 | 2011-11-04 | ベイア | Humanoid robot with ball and socket joints |
JP2017164854A (en) * | 2016-03-17 | 2017-09-21 | カシオ計算機株式会社 | Robot and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3714268B2 (en) | Robot device | |
JP2004298977A (en) | Action control device, action control method, action control program and mobile robot device | |
KR100898435B1 (en) | Robot apparatus and control method thereof | |
JP3855812B2 (en) | Distance measuring method, apparatus thereof, program thereof, recording medium thereof, and robot apparatus mounted with distance measuring apparatus | |
US6493606B2 (en) | Articulated robot and method of controlling the motion of the same | |
JP4239635B2 (en) | Robot device, operation control method thereof, and program | |
JP2004110802A (en) | Device, method for identifying environment, program, recording medium and robot device | |
JP2006082150A (en) | Robot device and its action controlling method | |
JP2003266345A (en) | Path planning device, path planning method, path planning program, and moving robot device | |
JP4179230B2 (en) | Robot apparatus and operation control method thereof | |
JP2003266349A (en) | Position recognition method, device thereof, program thereof, recording medium thereof, and robot device provided with position recognition device | |
JP2004298975A (en) | Robot device and obstacle searching method | |
JP2004302644A (en) | Face identification device, face identification method, recording medium and robot device | |
JP4281286B2 (en) | Robot apparatus and control method thereof | |
JP4449372B2 (en) | Robot apparatus and behavior control method thereof | |
JP2003271958A (en) | Method and processor for processing image, program therefor, recording medium therefor, and robot system of type mounted with image processor | |
JP2004130427A (en) | Robot device and method for controling operation of robot device | |
JP2004066381A (en) | Robot device | |
JP2004299006A (en) | Robot device and face recognition state presenting method by robot | |
JP2003266350A (en) | Robot device and internal condition expressing device | |
JP4539291B2 (en) | Robot apparatus and operation control method thereof | |
JP2003266352A (en) | Robot device and control method therefor | |
JP2004298976A (en) | Robot device and recognition control method for robot device | |
JP2002331481A (en) | Robot device, operation preparation device and method, control program and recording medium | |
JP2002205290A (en) | Device and method for controlling leg type mobile robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |