説明

ロボット装置及びその制御方法、並びにコンピューター・プログラム

【課題】ユーザーに過度の負担を掛けることなくユーザーと物体授受インタラクションを行なうロボット装置を提供する。
【解決手段】ロボット装置100は、ユーザーの利き腕、片麻痺、骨折などで、ユーザーが右半身又は左半身のどちらの動作し易いか(若しくは得意か)を判定し、さらにユーザーの身長などの身体特性並びにユーザーの現在の姿勢(ソファに座っている、ベッドに寝ている、など)に基づいて、ユーザーが物体を取り易い方向、ユーザーの手の届く、物体を取り易い高さを考慮した物体の受け渡しを行なう。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示する技術は、例えばユーザーの身の回りで活動して、家事や福祉、介護、介助などの生活支援を行なうロボット装置及びその制御方法、並びにコンピューター・プログラムに係り、特に、ユーザーと物体授受インタラクションを行なうロボット装置及びその制御方法、並びにコンピューター・プログラムに関する。
【背景技術】
【0002】
固定的なタスクを遂行するように設計され、工場などに設置されるロボット装置は従来から知られている。近年では、さまざまな作業を行えるロボット装置が実現しつつある。後者のロボット装置は、例えば福祉や介護、介助の分野に適用され、身体の不自由な人などに対して所望の物体を取ってきて手渡してくれる。
【0003】
しかしながら、ロボット装置がユーザーの身体特性をほとんど考慮せずにユーザーに物体を手渡す動作を行なうと、物体を受け取るユーザーにかなりの負担を強いることになる。例えば、左半身が不自由なユーザーに対して、ユーザーの右半身側以外から物体の受け渡しを行おうとすると、ユーザーに負担を掛ける。最悪の場合、ユーザーは物体を受け取ることができない。
【0004】
また、ユーザーが健常者であっても、利き腕ではない腕の側から、ロボット装置が物体の受け渡しを行おうとすると、ユーザーにストレスを与える。ユーザーが物体を受け取り損ね、物体を落として破損するおそれもある。
【0005】
さらに付言すれば、ロボット装置が、物体を受け取るユーザーの手の位置や高さを考慮しないで受け渡しを行おうとすると、背の高いユーザーは屈まないと受け取れず、ユーザーに身体的な苦痛を与えてしまう。
【0006】
例えば、ユーザーとの距離やユーザーと視線が合った時間などに基づいてユーザーとの親密度を検出して、インタラクションを最適化するようにインタラクションパラメーターを更新するコミュニケーション・ロボットについて提案がなされている(例えば、特許文献1を参照のこと)。しかしながら、このコミュニケーション・ロボットは、ユーザーが立っているか座っているかなどの姿勢や、ユーザーの利き腕など、ユーザーの身体特性を考慮してコミュニケーションパラメーターを更新するものではない。したがって、コミュニケーション・ロボットがユーザーとの信頼関係を確立していく過程では有効であっても、信頼関係が確立した以降によりユーザーの負担のかからない快適なインタラクションを行なうものではない。
【0007】
また、ユーザーの動作と同調するとともに、さらに同調関係を変化させるロボット装置について提案がなされている(例えば、特許文献2を参照のこと)。しかしながら、同調とは引き込み合うことを意味するものであって、ユーザーの身体特性を考慮することや、ユーザーに負担を与えないようにインタラクションを行なうこととは本質的に相違するものである。
【0008】
また、無線タグや赤外線タグを用いてユーザー及びユーザーの方向を認識して、そのユーザーに適したサービス、コンテンツを提供する対話ロボットについて提案がなされている(例えば、特許文献3を参照のこと)。しかしながら、この対話ロボットは、ユーザーがロボットの正面にいないがロボットの方向を向いて興味を示している場合やユーザーがロボットの方を向いてない場合でも、ユーザーに適したサービス、コンテンツを提供するものであって、ユーザーの方を向くなどユーザーの身体特性を考慮してインタラクションを行なうこととは本質的に相違するものである。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2006−247780号公報
【特許文献2】特開2005−342873号公報
【特許文献3】特開2007−268696号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
本明細書で開示する技術の目的は、ユーザーに過度の負担を掛けることなく、ユーザーと物体授受インタラクションを行なうことができる、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することにある。
【課題を解決するための手段】
【0011】
本願は、上記課題を参酌してなされたものであり、請求項1に記載の技術は、
ユーザーの右腕又は左腕のうち前記物体の受け渡しに用いる受取腕を判定する受取腕判定部と、
前記受取腕の現在の手の位置を算出する手の位置算出部と、
前記手の位置算出部が算出した前記受取腕の手の位置に前記物体の受け渡し動作を行なう受け渡し動作部と、
を具備するロボット装置である。
【0012】
本願の請求項2に記載の技術によれば、請求項1に記載のロボット装置の受取腕判定部は、ユーザーの利き腕、腕の障害の有無、又は、物体を受け取る動作をし易い方の腕に関する身体特性情報に基づいて、ユーザーの前記受取腕を判定するように構成されている。
【0013】
本願の請求項3に記載の技術によれば、請求項2に記載のロボット装置は、ユーザー毎の利き腕、腕の障害の有無、又は、物体を受け取る動作をし易い方の腕に関する身体特性情報を、事前知識としてユーザー身体特性データベース内に有している。そして、前記受取腕判定部は、前記ユーザー身体特性データベースを参照して、物体の受け渡しを行なうユーザーの利き腕、腕の障害の有無、又は、物体を受け取る動作をし易い方の腕に関する身体特性情報を取得するように構成されている。
【0014】
本願の請求項4に記載の技術によれば、請求項1に記載のロボット装置は、ユーザーの身長に関する情報を取得するユーザー身長情報取得部と、ユーザーの現在の姿勢を判定するユーザー姿勢判定部をさらに備えている。そして、前記手の位置算出部は、ユーザーの身長とユーザーの現在の姿勢に基づいて、前記受取腕の現在の手の位置を算出するように構成されている。
【0015】
本願の請求項5に記載の技術によれば、請求項4に記載のロボット装置は、ユーザー毎の身長に関する身体特性情報を、事前知識としてユーザー身体特性データベース内に有している。そして、前記手の位置算出部は、前記ユーザー身体特性データベースを参照して、物体の受け渡しを行なうユーザーの身長に関する身体特性情報を取得するように構成されている。
【0016】
本願の請求項6に記載の技術によれば、請求項4に記載のロボット装置は、直立、仰臥、着座の各姿勢の身体モデルを有している。そして、前記手の位置算出部は、前記ユーザー姿勢判定部が判定したユーザーの現在の姿勢に対応する身体モデルに、前記ユーザー身長情報取得部が取得したユーザーの身長を当て嵌めて、前記受取腕の現在の手の位置を算出するように構成されている。
【0017】
本願の請求項7に記載の技術によれば、請求項4に記載のロボット装置は、ユーザーの顔の位置を算出する顔位置算出部をさらに備えている。そして、前記ユーザー姿勢判定部は、前記ユーザー身長情報取得部が取得したユーザーの身長とユーザーの顔の位置を比較して、ユーザーが直立した姿勢か否かを判定するように構成されている。
【0018】
本願の請求項8に記載の技術によれば、請求項7に記載のロボット装置は、ユーザーの顔の姿勢を検出する顔姿勢検出部をさらに備えている。そして、前記ユーザー姿勢判定部は、ユーザーが直立姿勢でないときには、前記顔姿勢検出部が検出したユーザーの顔の姿勢に基づいて、ユーザーが仰臥又は着座のいずれの姿勢であるかを判定するように構成されている。
【0019】
本願の請求項9に記載の技術によれば、請求項1に記載のロボット装置は、前記ロボット装置の居場所を移動させる移動部と、前記物体を把持することができる腕部をさらに備えている。そして、前記受け渡し動作部は、前記移動部によりユーザーの前記受取腕の方に移動する動作を行なうとともに、前記腕部を用いて把持した前記物体を前記受取腕の手の位置に差し出す動作を行なうように構成されている。
【0020】
本願の請求項10に記載の技術によれば、請求項4に記載のロボット装置は、前記ロボット装置の周囲の環境に関する環境マップをさらに備えている。そして、前記ユーザー姿勢判定部は、ユーザーのいる場所の環境を前記環境マップで参照して、ユーザーの現在の姿勢を判定するように構成されている。
【0021】
また、本願の請求項11に記載の技術は、
ユーザーの右腕又は左腕のうち前記物体の受け渡しに用いる受取腕を判定する受取腕判定ステップと、
前記受取腕の現在の手の位置を算出する手の位置算出ステップと、
前記手の位置算出ステップで算出した前記受取腕の手の位置に前記物体の受け渡し動作を行なう受け渡し動作ステップと、
を有するロボット装置の制御方法である。
【0022】
また、本願の請求項12に記載の技術は、
ユーザーの右腕又は左腕のうち前記物体の受け渡しに用いる受取腕を判定する受取腕判定部、
前記受取腕の現在の手の位置を算出する手の位置算出部、
前記手の位置算出部が算出した前記受取腕の手の位置に前記物体の受け渡し動作を行なう受け渡し動作部、
としてコンピューターを機能させて、ロボット装置を制御するようにコンピューター可読形式で記述されたコンピューター・プログラムである。
【0023】
本願の請求項12に係るコンピューター・プログラムは、コンピューター上で所定の処理を実現するようにコンピューター可読形式で記述されたコンピューター・プログラムを定義したものである。換言すれば、本願の請求項12に係るコンピューター・プログラムをコンピューターにインストールすることによって、コンピューター上では協働的作用が発揮され、本願の請求項1に係るロボット装置と同様の作用効果を得ることができる。
【発明の効果】
【0024】
本明細書で開示する技術によれば、ユーザーの身体特性を考慮することによって、ユーザーに過度の負担を掛けることなくユーザーと物体授受インタラクションを行なうことができる、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することができる。
【0025】
本明細書で開示する技術によれば、ロボット装置は、ユーザーの利き腕、片麻痺、骨折などで、ユーザーが右半身又は左半身のどちらの動作し易いか(若しくは得意か)を判定し、さらにユーザーの身長などの身体特性並びにユーザーの現在の姿勢(ソファに座っている、ベッドに寝ている、など)に基づいて、ユーザーが物体を取り易い方向、ユーザーの手の届く、物体を取り易い高さを考慮した物体の受け渡しが可能となる。
【0026】
本明細書で開示する技術によれば、ユーザーは、無理のない姿勢で(疲れずに)物体を受け取ることができる。すなわち、ユーザーは、ロボット装置から物体を受け取る際の負担が軽減されるとともに、ロボット装置との間で自然なインタラクションが可能となる。
【0027】
本明細書で開示する技術のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【図面の簡単な説明】
【0028】
【図1】図1は、本明細書で開示する技術を適用可能なロボット装置100の外観を示した図である。
【図2】図2は、本明細書で開示する技術を適用可能なロボット装置100の関節自由度構成を模式的に示した図である。
【図3】図3は、図1に示したロボット装置100の制御システムの構成を模式的に示した図である。
【図4】図4は、ロボット装置100が物体授受インタラクションを実現するための機能的構成を模式的に示した図である。
【図5】図5は、ロボット装置100が物体授受インタラクションを実現するための処理手順(ユーザーから物体授受の指示を受け付けてからユーザーに近づくまで)を示したフローチャートである。
【図6】図6は、ロボット装置100が物体授受インタラクションを実現するための処理手順(ユーザーの姿勢推定)を示したフローチャートである。
【図7】図7は、ロボット装置100が物体授受インタラクションを実現するための処理手順(ユーザーの手の位置を推定してから物体の受け渡しを行なうまで)を示したフローチャートである。
【図8】図8は、ユーザー身体特性データベース404の構成例を示した図である。
【図9A】図9Aは、ユーザーが仰臥しているときのユーザーの顔の姿勢を示した図である。
【図9B】図9Bは、ユーザーが直立又は着座しているときのユーザーの顔の姿勢を示した図である。
【図10A】図10Aは、人の直立身体モデルを示した図である。
【図10B】図10Bは、人の仰臥身体モデルを示した図である。
【図10C】図10Cは、人の着座身体モデルを示した図である。
【図11】図11は、ロボット装置100が立っているユーザーの利き腕の手の位置に物体を差し出す様子、並びに、ロボット装置100が着座しているユーザーの利き腕の手の位置に物体を差し出す様子を示した図である。
【図12】図12は、ロボット装置100が立っているユーザーの怪我をしていない方(受け取り易い方)の手の位置に物体を差し出す様子を示した図である。
【発明を実施するための形態】
【0029】
以下、図面を参照しながら本明細書で開示する技術の実施形態について詳細に説明する。
【0030】
図1には、本明細書で開示する技術を適用可能なロボット装置100の外観を示している。ロボット装置100は、複数のリンクを関節で接続されたリンク構造体であり、各関節はアクチュエーターによって動作する。また、図2には、このロボット装置100の関節自由度構成を模式的に示している。図示のロボット装置100は、家庭内など時々刻々、動的に変化する周囲環境に設置され、家事や介護などの生活支援を行なうが、工場などに設置されて固定的なタスクを遂行することも可能である。
【0031】
図示のロボット装置100は、双腕型であり、また、移動手段として、ベース部に対向する2輪の駆動輪101R及び101Lを備えている。各駆動輪101R及び101Lは、それぞれピッチ回りに回転する駆動輪用アクチュエーター102R及び102Lによって駆動する。なお、図2中において、参照番号151、152、153は、実在しない劣駆動関節であり、ロボット装置100の床面に対するX方向(前後方向)の並進自由度、Y方向(左右方向)の並進自由度、並びに、ヨー回りの回転自由度にそれぞれ相当し、ロボット装置100が仮想世界を動き回ることを表現したものである。
【0032】
移動手段は、腰関節を介して上体に接続される。腰関節は、ピッチ回りに回転する腰関節ピッチ軸アクチュエーター103によって駆動する。上体は、左右2肢の腕部と、首関節を介して接続される頭部で構成される。左右の腕部は、それぞれ肩関節3自由度、肘関節2自由度、手首関節2自由度の、計7自由度とする。肩関節3自由度は、肩関節ピッチ軸アクチュエーター104R/L、肩関節ロール軸アクチュエーター105R/L、肩関節ヨー軸アクチュエーター106R/Lによって駆動する。肘関節2自由度は、肘関節ピッチ軸アクチュエーター107R/L、肘関節ヨー軸アクチュエーター108R/Lによって駆動する。手首関節2自由度は、手首関節ロール軸アクチュエーター109R/L、手首関節ピッチ軸アクチュエーター110R/Lによって駆動する。また、首関節2自由度は、首関節ピッチ軸アクチュエーター111、首関節ヨー軸アクチュエーター112によって駆動する。また、左右の腕部の先端の手関節1自由度は、手関節ロール軸アクチュエーター113R/Lによって駆動する。本実施形態では、手関節ロール軸アクチュエーター113R/Lを駆動することによって、手先による物体の把持動作を実現することができるものとする。
【0033】
なお、図示のロボット装置100は、対向2輪式の移動手段を備えているが、本明細書で開示する技術の要旨は、対向2輪式の移動手段に限定されるものではない。例えば、脚式の移動手段を備えたロボット装置100であっても、同様に本明細書で開示する技術を適用することができる。
【0034】
各軸のアクチュエーターには、関節角を計測するためのエンコーダー、トルクを発生するためのモーター、モーターを駆動するための電流制御型モーター・ドライバーの他、十分な発生力を得るための減速機が取り付けられている。また、アクチュエーターには、アクチュエーターの駆動制御を行なうマイクロコンピューターが併設されている(いずれも図2には図示しない)。
【0035】
ロボット装置100のダイナミクス演算は、ホスト・コンピューター上で実行され、各関節アクチュエーターのトルク又は関節角度の制御目標値を生成する。制御目標値は、アクチュエーターに併設された制御用マイコンに送信され、制御用マイコン上で実行されるアクチュエーターの制御に用いられる。また、各関節アクチュエーターは、力制御方式又は位置制御方式により制御される。
【0036】
図3には、図1に示したロボット装置100の制御システムの構成を模式的に示している。ロボット装置100は、全体の動作の統括的制御やその他のデータ処理を行なう制御ユニット310と、入出力部320と、駆動部330とを備えている。以下、各部について説明する。
【0037】
入出力部320は、入力部として、ロボット装置100の目に相当するカメラ321、距離センサー322、ロボット装置100の耳に相当するマイクロフォン323などを備えている。また、入出力部320は、出力部として、ロボット装置100の口に相当するスピーカー324などを備えている。ここで、カメラ321は、ステレオカメラであり、測位が可能であるとする。また、距離センサー322は、例えば、レーザー・レンジ・ファインダーなどの空間センサーで構成される。また、ロボット装置100は、例えばマイクロフォン323からのユーザーの音声入力により、タスクの指示を受けることができる。但し、ロボット装置100は、有線、無線、あるいは記録メディアなどを介した他のタスクの指示の入力手段(図示しない)を備えていてもよい。
【0038】
また、入出力部320は、無線通信部325を備えている。ロボット装置100は、無線通信部325により、Wi−Fiなどの通信路を介してユーザーのタブレット端末(図示しない)などとデータ通信を行なうことができる。
【0039】
駆動部330は、ロボット装置100の各関節における自由度を実現するための機能モジュールであり、それぞれの関節におけるロール、ピッチ、ヨーなど軸毎に設けられた複数の駆動ユニットで構成される。各駆動ユニットは、所定軸回りの回転動作を行なうモーター331と、モーター331の回転位置を検出するエンコーダー332と、エンコーダー332の出力に基づいてモーター331の回転位置や回転速度を適応的に制御するドライバー333の組み合わせで構成される。
【0040】
制御ユニット310は、認識部311と、駆動制御部312と、環境マップ313を備えている。
【0041】
認識部311は、入出力部320のうちカメラ321や距離センサー322といった入力部から得られる情報に基づいて、周囲の環境の認識を行なう。例えば、認識部311は、カメラ321の位置を推定する自己位置推定処理により得られる、カメラ321の位置姿勢情報と、カメラ321の撮像画像から物体を検出する画像認識処理により得られる物体情報から、環境マップ313を事前に構築したり更新したりする。
【0042】
駆動制御部312は、入出力部320のうち出力部や、駆動部330の駆動を制御する。例えば、駆動制御部312は、ロボット装置100がタスクを実現するための、駆動部330の制御を行なう。ここで言う、ロボット装置100が実現するタスクには、ユーザーが指示した物体の受け渡しなどのユーザーとの物理的なインタラクションが含まれ、インタラクションを実現するために、駆動輪用アクチュエーター102R及び102Lや腕部の各関節アクチュエーターを駆動させる。
【0043】
ロボット装置100がユーザーの身体特性をほとんど考慮せずに物体授受のインタラクションを行なうと、物体を受け取るユーザーにかなりの負担を強いることになる。最悪の場合、ユーザーに物体を受け渡すことができなくなる。そこで、本実施形態では、ロボット装置100は、物体授受インタラクションの際に、ユーザーの身体特性を考慮することによって、ユーザーに過度の負担を掛けないようにしている。
【0044】
図4には、ロボット装置100が物体授受インタラクションを実現するための機能的構成を模式的に示している。図示の各機能ブロックは、基本的には、上述した認識部311並びに駆動制御部312が実行する処理として実現される。
【0045】
ユーザー認識部401は、カメラ321の撮影画像を顔認識することによりユーザーを認識して、ユーザーの識別情報(ユーザーID)を、ユーザー身長情報取得部402と利き腕判定部403に出力する。変形例として、ユーザーがRFIDタグを身に付けており、ユーザー認識部401がタグ・リーダーを装備して、RFIDタグからユーザーIDを読み取るようにしてもよい。
【0046】
ユーザー身体特性データベース404は、各ユーザーの身体特性をユーザーIDで管理している。ユーザー身体特性データベース404で管理している身体特性の詳細については後述に譲る。ユーザー身長情報取得部402は、ユーザー認識部401から受け取ったユーザーIDをユーザー身体特性データベース404に問い合わせて、ユーザーの身長情報を取得する。また、利き腕判定部403は、ユーザー認識部401から受け取ったユーザーIDをユーザー身体特性データベース404に問い合わせて、ユーザーの利き腕を判定する。なお、ユーザー身体特性データベース404は、ロボット装置100内部に装備する他、通信路を介して外部に設置されていてもよい。
【0047】
移動経路計画部405は、利き腕判定部403で判定したユーザーの利き腕まで近づくための移動経路を計画する。そして、移動制御部406は、移動経路計画部405が計画した移動経路に従って移動するよう、駆動輪用アクチュエーター102R及び102Lの駆動を制御する。
【0048】
顔姿勢検出部407は、カメラ321の撮影画像を顔検出処理して、ユーザーの顔の姿勢を検出する。また、顔位置算出部408は、カメラ321の撮影画像を顔検出処理して、ユーザーの顔の位置(高さ)を算出する。
【0049】
ユーザー姿勢判定部409は、ユーザー身長情報取得部402で取得したユーザーの身長情報と、顔姿勢検出部407が検出した顔の姿勢と、顔位置算出部408が算出した顔位置とから、現在のユーザーの姿勢を判定する。ユーザーの身長に対する現在の顔の位置(高さ)により、ユーザーが立っているかいないかを判定することができる。また、ユーザーが立っていないときには、仰臥している場合と着座している場合が考えられるが、顔の姿勢に基づいてこれらのうちいずれであるかを判定することができる。
【0050】
なお、ロボット装置100は、自己位置推定を行なうと同時に、環境マップ313の生成及び更新を行なっている(前述)。ユーザー姿勢判定部409は、この環境マップ313の情報を用いて、ユーザーの姿勢を推定するように構成することもできる。例えば、ユーザーの顔がベッドの上にあるときには、ユーザーは寝ている可能性が高いと判断することができる。
【0051】
ユーザーの手の位置算出部410は、ユーザー姿勢判定部409が判定したユーザーの姿勢から、ユーザーの利き腕の現在の手の位置を算出する。後述するように、直立、仰臥、着座の各姿勢についての身体モデルに、ユーザー身長情報取得部402で取得したユーザーの身長情報を当て嵌めることによって、ユーザーの手の位置を算出することができる。
【0052】
腕部軌道計画部411は、ユーザーの手の位置算出部410が算出したユーザーの手の位置で物体の授受を行なうための、左右いずれかの腕部の軌道を計画する。そして、腕部制御部412は、腕部軌道計画部411が計画した腕部の軌道に従って腕部が移動するよう、腕部の各関節アクチュエーターの駆動を制御する。
【0053】
図5〜図7には、ロボット装置100が物体授受インタラクションを実現するための処理手順をフローチャートの形式で示している。このうち、図5は、ユーザーから物体授受の指示を受け付けてからユーザーに近づくまでの処理手順を示し、図6は、ユーザーの姿勢を推定する処理手順を示し、図7は、ユーザーの手の位置を推定してから物体の受け渡しを行なうまでの処理手順を示している。
【0054】
まず、図5を参照しながら、ロボット装置100がユーザーから物体授受の指示を受け付けてからユーザーに近づくまでの処理手順について説明する。
【0055】
まず、ロボット装置100は、ユーザーから物体を持ってくるよう指示を受ける(ステップS501)。ユーザーからの指示方法に関しては、図示していないが、音声によるもの、タブレット端末などからの通信によるものなどを挙げることができる。また、ユーザーから指示を受けた時点で、ロボット装置100は、ユーザーの大まかな位置は取得できているものとする(指示が音声による場合は、音源方位推定技術などで位置情報を取得できる。また、ユーザーがタブレット端末から指示する場合は、通信により位置情報を取得できる)。
【0056】
次いで、ユーザー認識部401が、指示したユーザーが既知のユーザーであるかどうかを判別する(ステップS502)。
【0057】
ここで、指示したユーザーが未知の場合には(ステップS502のNo)、ロボット装置100は、ユーザーの近くに移動する(ステップS503)。そして、ユーザー認識部401は、カメラ321の撮影画像を用いた顔認識や、無線タグによる個人認識を行ない、ユーザーIDを特定する(ステップS504)。
【0058】
次いで、利き腕判定部403は、ユーザー認識部401から渡されたユーザーIDをユーザー身体特性データベース404に問い合わせて、ユーザーの利き腕情報を取得して(ステップS505)、利き腕を判定する(ステップS506)。なお、ここで言う「利き腕」は、本来の意味での利き腕に限定されない(後述)。
【0059】
そして、ユーザーが右利きであれば(ステップS506のYes)、移動経路計画部405は、ユーザーの右腕に近づくための移動経路を計画し、移動制御部406は、この移動経路に従ってロボット装置100をユーザーの右腕側に移動させる(ステップS507)。また、ユーザーが左利きであれば(ステップS506のNo)、移動経路計画部405は、ユーザーの左腕に近づくための移動経路を計画し、移動制御部406は、この移動経路に従ってロボット装置100をユーザーの右腕側に移動させる(ステップS508)
【0060】
図8には、ユーザー身体特性データベース404の構成例を示している。図示のユーザー身体特性データベース404は、ユーザーを識別するためのユーザーIDと、そのユーザーに関する身体特性データへのポインターを対応付けたユーザー・データ801と、ユーザー毎の身体特性データ802で構成される。
【0061】
ユーザー毎の身体特性データ802は、ユーザーの利き腕に関する利き腕情報と、そのユーザーの身長に関する身長情報から構成される。
【0062】
利き腕情報は、本来の意味での利き腕に限定されない。例えば、障害や麻痺などにより身体動作に制限があるユーザーにとって自由に動かせる側の腕と解釈してもよい。また、骨折やけがなどのために一時的に身体動作に制限があるユーザーにとって自由に動かせる側の腕、物体を受け取るのに適した側の腕、物体を受け取り易い方の腕、と解釈してもよい。図8中では利き腕情報を「右 or 左」と簡素化して描いているが、「右利きだが左手でも持てる」、あるいは「左手に障害があるので右手でしか持てない」、などのように、利き腕と反対側の腕が使えるかどうかの情報を、利き腕情報に付加する構成にしてもよい。例えば、環境内の障害物などにより、ユーザーの右半身側からの手渡しが困難な場合などに、この情報を基にユーザーの左半身側からアプローチしてもよいかどうか判断する、などの応用が可能であろう。
【0063】
身長情報は、ユーザーの身長そのものの情報に限定されない。すなわち、ユーザーの手の位置を推定するのに有用な、ユーザーの身体の大きさ、特に高さに関連した情報であればよい。例えば、大人、子供の2種類のカテゴリーに分類して管理するという簡素な構成にしてもよい。
【0064】
図5〜図7に示した処理手順を実行する上では、利き腕情報並びに身長情報は、事前にユーザー身体特性データベース404に登録しておくものとする。但し、本明細書で開示する技術の要旨はこれに限定されるものではなく、例えば、ユーザーとの音声インタラクションなどと組み合わせることにより、ユーザーが利き腕情報、身長情報に相当する情報を教示し、ロボットが情報を獲得してユーザー身体特性データベース404を更新するようにしてもよい。
【0065】
なお、ステップS501において指示を入力したユーザーが新規のため、顔認識や無線タグによりユーザー認識部401がユーザーを特定できない場合がある。このような場合、ユーザー身体特性データベース404上に、例えば「右利き、170cm」などのデフォルト・ユーザーの設定を用意しておき、それに基づいてユーザーに移動するように構成してもよい。
【0066】
続いて、図6を参照しながら、ロボット装置100がユーザーの姿勢を推定する処理手順について説明する。
【0067】
顔姿勢検出部407は、カメラ321の撮影画像を顔認識し、この認識処理の過程において、顔の姿勢を同時に算出する(ステップSS601)。例えば、本出願人に既に譲渡されている特開2005−284487号公報には、顔認識処理と同時に顔の姿勢を算出する方法について開示している。
【0068】
また、顔位置算出部408は、世界座標でのユーザーの顔の位置を、ステレオカメラなどにより算出する(ステップS602)。
【0069】
さらに、ユーザー身体情報取得部402は、ユーザー認識部401から渡されたユーザーIDをユーザー身体特性データベース404に問い合わせて、ユーザーの身体情報を取得する(ステップS603)。
【0070】
続いて、ユーザー姿勢判定部409は、ユーザー身体情報取得部402が取得したユーザーの身体情報を基に、ユーザーの現在の姿勢が、立っている、寝ている、座っている、の3状態のいずれに相当するかを判断する。このため、まず、ステップS602で取得した顔の位置(高さ)がユーザーの身長とほぼ一致するかどうかをチェックする(ステップS604)。
【0071】
顔の位置(高さ)がユーザーの身長とほぼ一致するときには(ステップS604のYes)、ユーザー姿勢判定部409は、ユーザーが現在立っている姿勢であると判定する。
【0072】
他方、顔の位置(高さ)がユーザーの身長と一致しないときには(ステップS604のNo)、ユーザー姿勢判定部409は、ユーザーが現在寝ている、座っている、の2状態のいずれであるかを判定するために、ステップS601で取得した顔の姿勢を所定の閾値と大小比較する(ステップS605)。
【0073】
顔の姿勢に関して、ロール、ピッチ、ヨーの3自由度があるが、ここではカメラ画像中の回転角θ(ロール角)の絶対値を用いる。回転角θの絶対値|θ|がある閾値θthを超えるときには(ステップS605のYes)、ユーザー姿勢判定部409は、図9Aに示すように、ユーザーが仰臥していると判定することができる。あるいは、ユーザー姿勢判定部409は、環境マップ313を参照して、ユーザーがベッドにいることからユーザーが仰臥していると判定することができる。ユーザーの顔がベッドの上にあるときには、ユーザーは寝ている可能性が高いと判断することができるからである。
【0074】
また、回転角θの絶対値|θ|がある閾値θth以下であるときには(ステップS605のNo)、ユーザー姿勢判定部409は、図9Bに示すように、ユーザーが直立又は着座しているときである。顔の位置(高さ)が身長と一致せず(ステップS604のNo)、直立でないことが既に判明しているので、ここでは着座していると判定する。あるいは、ユーザー姿勢判定部409は、環境マップ313を参照して、ユーザーがソファにいることからユーザーが着座していると判定することができる。
【0075】
続いて、図7を参照しながら、ロボット装置100がユーザーの手の位置を推定してから物体の受け渡しを行なうまでの処理手順について説明する。
【0076】
図6に示した処理手順を経て、ユーザーが立っていることが分かったときには(ステップS701)、ユーザーの手の位置算出部410は、図10Aに示すような人の直立身体モデルと、ステップS603で取得したユーザーの身長情報から、ステップS506で判定したユーザーの利き腕の現在の手の位置、すなわち、直立しているユーザーが物体を取り易い方向、ユーザーの手の届く、物体を取り易い高さを算出する(ステップS702)。
【0077】
また、図6に示した処理手順を経て、ユーザーが仰臥していることが分かったときには(ステップS703)、ユーザーの手の位置算出部410は、図10Bに示すような人の仰臥身体モデルと、ステップS603で取得したユーザーの身長情報から、ステップS506で判定したユーザーの利き腕の現在の手の位置、すなわち、仰臥しているユーザーが物体を取り易い方向、ユーザーの手の届く、物体を取り易い高さを算出する(ステップS704)。
【0078】
また、図6に示した処理手順を経て、ユーザーが着座していることが分かったときには(ステップS705)、ユーザーの手の位置算出部410は、図10Cに示すような人の着座身体モデルと、ステップS603で取得したユーザーの身長情報から、ステップS506で判定したユーザーの利き腕の現在の手の位置、すなわち、着座しているユーザーが物体を取り易い方向、ユーザーの手の届く、物体を取り易い高さを算出する(ステップS706)。
【0079】
ユーザーの手の位置算出部410が算出したユーザーの利き腕の手の位置を、ステップS602で算出した、世界座標におけるユーザーの顔の位置姿勢を用いて座標変換する。腕部軌道計画部411は、この手の位置でユーザーと物体の授受を行なうための、左右いずれかの腕部の軌道を計画する。そして、腕部制御部412は、腕部軌道計画部411によって計画した腕部の軌道に従って腕部が移動するように利き腕部の各関節アクチュエーターの駆動を制御して、物体を差し出す(ステップS707)。
【0080】
ここで、ステップS702、S704、S706で行なわれる、ユーザーの手の位置の算出方法について説明する。
【0081】
ロボット装置100と物体授受インタラクションを行なうときのユーザーの基本的な姿勢を、立っている、寝ている、座っている、の3状態に分類し、これらに相当する人の身体モデルをそれぞれ図10A、図10B、図10Cのように考える。そして、各々のモデルに対し、ユーザーから見て、前方向x、左方向y、上方向zとなるような座標系を設定する。
【0082】
図10Aに示した人の直立身体モデルにおける、顔の位置を基準としたときの手の位置(Δx,Δy,Δz)standingは、下式(1)として定義できる。
【0083】
【数1】

【0084】
但し、上式(1)において、Lは人の身長である。また、α、βは、人体の寸法を計測して得られるパラメーターである。身長に依存するパラメーターαと身長に依存しないパラメーターβから、利き腕の手の位置を算出している。
【0085】
同様にして、図10Bに示した人の仰臥身体モデルにおける、顔の位置を基準としたときの手の位置(Δx,Δy,Δz)lyingは、下式(2)として定義できる。
【0086】
【数2】

【0087】
また、図10Cに示した人の着座身体モデルにおける、顔の位置を基準としたときの手の位置(Δx,Δy,Δz)sitingは、下式(3)として定義できる。
【0088】
【数3】

【0089】
図11(A)には、ロボット装置100が、ユーザーが立っていると判定されたときに、人の直立身体モデルとユーザーの身長情報から、利き腕と判定されたユーザーの手の位置に物体を差し出す様子を示している。
【0090】
上述したように、ユーザーの本来の利き腕が骨折や怪我などにより一時的に身体動作に制限がある場合には、その反対側の腕が利き腕として判定される。図12には、ロボット装置100が、立っているユーザーの怪我をしていない方(受け取り易い方)の手の位置に物体を差し出す様子を示している。
【0091】
また、図11(B)には、ロボット装置100が、ユーザーが着座していると判定されたときに、人の着座身体モデルとユーザーの身長情報から、利き腕と判定されたユーザーの手の位置に物体を差し出す様子を示している。図11(A)に示した、立っているユーザーに物体を差し出す場合と比較して、着座しているユーザーに物体を差し出すときにはロボット装置100が上げる高さの位置が低くなることが分かる。
【0092】
このように、ロボット装置100は、ユーザーの利き腕、片麻痺、骨折などで、ユーザーが右半身又は左半身のどちらの動作し易いか(若しくは得意か)を判定し、さらにユーザーの身長などの身体特性並びにユーザーの現在の姿勢(ソファに座っている、ベッドに寝ている、など)に基づいて、ユーザーが物体を取り易い方向、ユーザーの手の届く、物体を取り易い高さを考慮した物体の受け渡しが可能となる。したがって、本明細書で開示する技術によれば、ユーザーは、無理のない姿勢で(疲れずに)物体を受け取ることができる。ユーザーは、ロボット装置から物体を受け取る際の負担が軽減されるとともに、ロボット装置との間で自然なインタラクションが可能となる。
【0093】
なお、本明細書の開示の技術は、以下のような構成をとることも可能である。
(1)ユーザーの右腕又は左腕のうち前記物体の受け渡しに用いる受取腕を判定する受取腕判定部と、前記受取腕の現在の手の位置を算出する手の位置算出部と、前記手の位置算出部が算出した前記受取腕の手の位置に前記物体の受け渡し動作を行なう受け渡し動作部と、を具備するロボット装置。
(2)前記受取腕判定部は、ユーザーの利き腕、腕の障害の有無、又は、物体を受け取る動作をし易い方の腕に関する身体特性情報に基づいて、ユーザーの前記受取腕を判定する、上記(1)に記載のロボット装置。
(3)ユーザー毎の利き腕、腕の障害の有無、又は、物体を受け取る動作をし易い方の腕に関する身体特性情報を、事前知識としてユーザー身体特性データベース内に有し、前記受取腕判定部は、前記ユーザー身体特性データベースを参照して、物体の受け渡しを行なうユーザーの利き腕、腕の障害の有無、又は、物体を受け取る動作をし易い方の腕に関する身体特性情報を取得する、上記(2)に記載のロボット装置。
(4)ユーザーの身長に関する情報を取得するユーザー身長情報取得部と、ユーザーの現在の姿勢を判定するユーザー姿勢判定部をさらに備え、前記手の位置算出部は、ユーザーの身長とユーザーの現在の姿勢に基づいて、前記受取腕の現在の手の位置を算出する、上記(1)に記載のロボット装置。
(5)ユーザー毎の身長に関する身体特性情報を、事前知識としてユーザー身体特性データベース内に有し、前記手の位置算出部は、前記ユーザー身体特性データベースを参照して、物体の受け渡しを行なうユーザーの身長に関する身体特性情報を取得する、上記(4)に記載のロボット装置。
(6)直立、仰臥、着座の各姿勢の身体モデルを有し、前記手の位置算出部は、前記ユーザー姿勢判定部が判定したユーザーの現在の姿勢に対応する身体モデルに、前記ユーザー身長情報取得部が取得したユーザーの身長を当て嵌めて、前記受取腕の現在の手の位置を算出する、上記(4)に記載のロボット装置。
(7)ユーザーの顔の位置を算出する顔位置算出部をさらに備え、前記ユーザー姿勢判定部は、前記ユーザー身長情報取得部が取得したユーザーの身長とユーザーの顔の位置を比較して、ユーザーが直立した姿勢か否かを判定する、上記(4)に記載のロボット装置。
(8)ユーザーの顔の姿勢を検出する顔姿勢検出部をさらに備え、前記ユーザー姿勢判定部は、ユーザーが直立姿勢でないときには、前記顔姿勢検出部が検出したユーザーの顔の姿勢に基づいて、ユーザーが仰臥又は着座のいずれの姿勢であるかを判定する、上記(7)に記載のロボット装置。
(9)前記ロボット装置の居場所を移動させる移動部と、前記物体を把持することができる腕部をさらに備え、前記受け渡し動作部は、前記移動部によりユーザーの前記受取腕の方に移動する動作を行なうとともに、前記腕部を用いて把持した前記物体を前記受取腕の手の位置に差し出す動作を行なう、上記(1)に記載のロボット装置。
(10)前記ロボット装置の周囲の環境に関する環境マップをさらに備え、前記ユーザー姿勢判定部は、ユーザーのいる場所の環境を前記環境マップで参照して、ユーザーの現在の姿勢を判定する、上記(4)に記載のロボット装置。
(11)ユーザーの右腕又は左腕のうち前記物体の受け渡しに用いる受取腕を判定する受取腕判定ステップと、前記受取腕の現在の手の位置を算出する手の位置算出ステップと、前記手の位置算出ステップで算出した前記受取腕の手の位置に前記物体の受け渡し動作を行なう受け渡し動作ステップと、を有するロボット装置の制御方法。
(12)ユーザーの右腕又は左腕のうち前記物体の受け渡しに用いる受取腕を判定する受取腕判定部、前記受取腕の現在の手の位置を算出する手の位置算出部、前記手の位置算出部が算出した前記受取腕の手の位置に前記物体の受け渡し動作を行なう受け渡し動作部、としてコンピューターを機能させて、ロボット装置を制御するようにコンピューター可読形式で記述されたコンピューター・プログラム。
【産業上の利用可能性】
【0094】
以上、特定の実施形態を参照しながら、本明細書で開示する技術について詳細に説明してきた。しかしながら、本明細書で開示する技術の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0095】
本明細書では、時々刻々、動的に変化する生活環境下において活動する生活支援ロボットに適用することを想定した実施形態を中心に説明してきたが、本明細書で開示する技術の要旨はこれに限定されるものではない。勿論、工場内に配置され、なすべきタスクが事前に分かっているような産業用ロボットにも、同様に本明細書で開示する技術を適用することができる。
【0096】
要するに、例示という形態により本明細書で開示する技術について説明してきたが、本明細書の記載内容を限定的に解釈するべきではない。本明細書で開示する技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【符号の説明】
【0097】
100…ロボット装置
101…駆動輪
102…駆動輪用アクチュエーター
103…腰関節ピッチ軸アクチュエーター
104…肩関節ピッチ軸アクチュエーター
105…肩関節ロール軸アクチュエーター
106…肩関節ヨー軸アクチュエーター
107…肘関節ピッチ軸アクチュエーター
108…肘関節ヨー軸アクチュエーター
109…手首関節ロール軸アクチュエーター
110…手首関節ピッチ軸アクチュエーター
111…首関節ピッチ軸アクチュエーター
112…首関節ヨー軸アクチュエーター
113…手関節ロール軸アクチュエーター
151、152、153…劣駆動関節
310…制御ユニット
311…認識部
312…駆動制御部
313…環境マップ
320…入出力部
321…カメラ
322…距離センサー
323…マイクロフォン
324…スピーカー
325…無線通信部
330…駆動部
331…モーター
332…エンコーダー
333…ドライバー
401…ユーザー認識部
402…ユーザー身長情報取得部
403…利き腕判定部
404…ユーザー身体特性データベース
405…移動経路計画部
406…移動制御部
407…顔姿勢検出部
408…顔位置算出部
409…ユーザー姿勢判定部
410…ユーザーの手の位置算出部
411…腕部軌道計画部
421…腕部制御部


【特許請求の範囲】
【請求項1】
ユーザーの右腕又は左腕のうち前記物体の受け渡しに用いる受取腕を判定する受取腕判定部と、
前記受取腕の現在の手の位置を算出する手の位置算出部と、
前記手の位置算出部が算出した前記受取腕の手の位置に前記物体の受け渡し動作を行なう受け渡し動作部と、
を具備するロボット装置。
【請求項2】
前記受取腕判定部は、ユーザーの利き腕、腕の障害の有無、又は、物体を受け取る動作をし易い方の腕に関する身体特性情報に基づいて、ユーザーの前記受取腕を判定する、
請求項1に記載のロボット装置。
【請求項3】
ユーザー毎の利き腕、腕の障害の有無、又は、物体を受け取る動作をし易い方の腕に関する身体特性情報を、事前知識としてユーザー身体特性データベース内に有し、
前記受取腕判定部は、前記ユーザー身体特性データベースを参照して、物体の受け渡しを行なうユーザーの利き腕、腕の障害の有無、又は、物体を受け取る動作をし易い方の腕に関する身体特性情報を取得する、
請求項2に記載のロボット装置。
【請求項4】
ユーザーの身長に関する情報を取得するユーザー身長情報取得部と、
ユーザーの現在の姿勢を判定するユーザー姿勢判定部と、
をさらに備え、
前記手の位置算出部は、ユーザーの身長とユーザーの現在の姿勢に基づいて、前記受取腕の現在の手の位置を算出する、
請求項1に記載のロボット装置。
【請求項5】
ユーザー毎の身長に関する身体特性情報を、事前知識としてユーザー身体特性データベース内に有し、
前記手の位置算出部は、前記ユーザー身体特性データベースを参照して、物体の受け渡しを行なうユーザーの身長に関する身体特性情報を取得する、
請求項4に記載のロボット装置。
【請求項6】
直立、仰臥、着座の各姿勢の身体モデルを有し、
前記手の位置算出部は、前記ユーザー姿勢判定部が判定したユーザーの現在の姿勢に対応する身体モデルに、前記ユーザー身長情報取得部が取得したユーザーの身長を当て嵌めて、前記受取腕の現在の手の位置を算出する、
請求項4に記載のロボット装置。
【請求項7】
ユーザーの顔の位置を算出する顔位置算出部をさらに備え、
前記ユーザー姿勢判定部は、前記ユーザー身長情報取得部が取得したユーザーの身長とユーザーの顔の位置を比較して、ユーザーが直立した姿勢か否かを判定する、
請求項4に記載のロボット装置。
【請求項8】
ユーザーの顔の姿勢を検出する顔姿勢検出部をさらに備え、
前記ユーザー姿勢判定部は、ユーザーが直立姿勢でないときには、前記顔姿勢検出部が検出したユーザーの顔の姿勢に基づいて、ユーザーが仰臥又は着座のいずれの姿勢であるかを判定する、
請求項7に記載のロボット装置。
【請求項9】
前記ロボット装置の居場所を移動させる移動部と、
前記物体を把持することができる腕部と、
をさらに備え、
前記受け渡し動作部は、前記移動部によりユーザーの前記受取腕の方に移動する動作を行なうとともに、前記腕部を用いて把持した前記物体を前記受取腕の手の位置に差し出す動作を行なう、
請求項1に記載のロボット装置。
【請求項10】
前記ロボット装置の周囲の環境に関する環境マップをさらに備え、
前記ユーザー姿勢判定部は、ユーザーのいる場所の環境を前記環境マップで参照して、ユーザーの現在の姿勢を判定する、
請求項4に記載のロボット装置。
【請求項11】
ユーザーの右腕又は左腕のうち前記物体の受け渡しに用いる受取腕を判定する受取腕判定ステップと、
前記受取腕の現在の手の位置を算出する手の位置算出ステップと、
前記手の位置算出ステップで算出した前記受取腕の手の位置に前記物体の受け渡し動作を行なう受け渡し動作ステップと、
を有するロボット装置の制御方法。
【請求項12】
ユーザーの右腕又は左腕のうち前記物体の受け渡しに用いる受取腕を判定する受取腕判定部、
前記受取腕の現在の手の位置を算出する手の位置算出部、
前記手の位置算出部が算出した前記受取腕の手の位置に前記物体の受け渡し動作を行なう受け渡し動作部、
としてコンピューターを機能させて、ロボット装置を制御するようにコンピューター可読形式で記述されたコンピューター・プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図10C】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2013−111737(P2013−111737A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−263264(P2011−263264)
【出願日】平成23年12月1日(2011.12.1)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】