JP6065077B2 - ロボットによる物体手渡しシステム - Google Patents

ロボットによる物体手渡しシステム Download PDF

Info

Publication number
JP6065077B2
JP6065077B2 JP2015183252A JP2015183252A JP6065077B2 JP 6065077 B2 JP6065077 B2 JP 6065077B2 JP 2015183252 A JP2015183252 A JP 2015183252A JP 2015183252 A JP2015183252 A JP 2015183252A JP 6065077 B2 JP6065077 B2 JP 6065077B2
Authority
JP
Japan
Prior art keywords
user
data
robot
candidate
zone
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.)
Expired - Fee Related
Application number
JP2015183252A
Other languages
English (en)
Other versions
JP2016068253A (ja
Inventor
エムラ アクン シシュボット,
エムラ アクン シシュボット,
ベネル スアイ,ハリット
ベネル スアイ,ハリット
豊 高岡
豊 高岡
中野 雄介
雄介 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Publication of JP2016068253A publication Critical patent/JP2016068253A/ja
Application granted granted Critical
Publication of JP6065077B2 publication Critical patent/JP6065077B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40409Robot brings object near operator, operator places object in correct position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40413Robot has multisensors surrounding operator, to understand intention of operator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Accommodation For Nursing Or Treatment Tables (AREA)

Description

本発明は、ユーザに物体を手渡すために用いられるロボットに関する。
(関連出願への相互参照)
本出願は、"ANTICIPATORY ROBOT NAVIGATION"と題され、2014年9月12日に出願
された、米国特許出願第14/485,526号の記載内容を援用する。
また、本出願は、"ROBOTIC HANDOVER SYSTEM NATURAL FOR HUMANS"と題され、2014年9月30日に出願された、米国特許出願第14/502,951号の優先権を主張する。当該出願は、その全体が本明細書中に参照として組み込まれる。
近年、サービスロボットが普及し始めている。サービスロボットとは、老人や病人などに対してアシスタンスを行うロボットである。サービスロボットは様々なタスクを行うことができる。例えば、ある物体をユーザに手渡すことができるサービスロボットがある。
しかし、静的な環境において、ロボットが物体を持ちあげ、置くための処理は緩慢であり、当該処理を、ロボットとユーザとの間で行われる物体の手渡しに利用しようとすると、効率が悪い。
本発明は、上記の問題点を考慮してなされたものであり、ロボットによって物体を手渡すシステムにおいて、安全性や快適性を向上させることを目的とする。
上記課題を解決するための、本発明の革新的な一形態に係る方法は、物体をユーザに手渡すロボットが、前記ユーザに物体を手渡す領域の候補である候補ゾーンを決定するための方法である。
具体的には、ロボットを用いて、ユーザ環境内に位置するユーザに物体を手渡すシステムが実行する方法であって、前記ユーザ環境内にある地点にユーザが手を伸ばした場合における、当該ユーザの関節にかかるモーメントを表したデータであるシミュレーションデータを取得するシミュレーションデータ取得ステップと、前記シミュレーションデータを分析し、前記ユーザが、前記ユーザ環境内の三次元座標に手を伸ばした場合における、当該ユーザの関節にかかるモーメントを表す値を、前記三次元座標と関連付ける評価ステップと、前記三次元座標に関連付いた値に基づいて、前記ユーザ環境内において前記ロボットが前記ユーザに物体を手渡す領域の候補である候補ゾーンを生成する、候補ゾーン生成ステップと、を含むことを特徴とする。
また、本発明の革新的な一形態に係る方法は、物体をユーザに手渡すための物体移動ポーズを決定するための方法である。
具体的には、ロボットを用いて、ユーザ環境内に位置するユーザに物体を手渡すシステムが実行する方法であって、前記ユーザ環境内において前記ロボットが前記ユーザに物体を手渡す領域の候補である複数の候補ゾーンを生成する、候補ゾーン生成ステップと、前記候補ゾーンにて物体を手渡した場合におけるリスクまたは快適性を評価し、当該評価の結果に基づいて、前記候補ゾーンをフィルタリングするフィルタリングステップと、フィルタリング後の候補ゾーンに基づいて、前記ロボットが前記物体を前記ユーザに手渡しする際にとる姿勢である物体移動ポーズを決定する決定ステップと、前記物体移動ポーズに基づいて、ロボットの駆動を行う駆動ステップと、を含むことを特徴とする。
また、これらの形態の一つ以上の他の実装として、方法、システム、装置、これらのためのコンピュータプログラム、その他の実装などが含まれる。
本明細書において、「データ」という語は、本明細書に記載された関数や操作を受ける任意のデジタルデータを指す語として用いる。
デジタルデータとは、例えば、ネットワークサービスデータ、連結性マップデータ、移動(journey)データ、ユーザプロファイルデータ、時刻同期データ、移動履歴データ、
嗜好階層データ、デッドゾーンデータ、ナビゲーション地図データ、メッシュネットワークデータ、速度データ、二つ以上の構成要素(サーバ、車両システム、モバイルデバイス、クライアントデバイス等)によって共有されるデータ、当該二つ以上の構成要素間で転送されるデータなどであるが、これらに限られない。
本明細書によって開示される発明は、特にいくつかの面において有利である。
例えば、ロボットは、ユーザ情報や、医学的な事情を考慮して、物体をユーザに手渡すことができる。
ユーザに対する物体の手渡しは、ユーザに固有な一つ以上のユーザモデルに基づいて行うことができる。例えば、ユーザモデルは、3次元、非対称モーメント、ユーザがロボットから物体を受け取ろうとした際のユーザの関節における力の分散をシミュレーションするためのモデルであって、ユーザの身長や体重に基づくものであってもよい。
なお、本明細書にて述べるシステムの利点はあくまで例であり、他の多数の利点および利益を有し得る。
本発明によると、ロボットによって物体を手渡すシステムにおいて、安全性や快適性を向上させることができる。
ユーザに物体を手渡すロボットを用いたシステムを例示するブロック図である。 ゾーンシステムを例示するブロック図である。 ポーズシステムを例示するブロック図である。 物体移動ポーズを決定する処理の一例を示すフローチャートである。 候補ゾーンを決定する処理の一例を示すフローチャートである。 物体移動ポーズを決定する処理の一例を示すフローチャートである。 ユーザモデルの例を示すグラフィック表現である。 ユーザモデルの例を示すグラフィック表現である。 ユーザリーチシナリオの例を示すブロック図である。 ユーザリーチシミュレーションマップの二次元の例を示す図である。 ユーザリーチシミュレーションマップの二次元の例を示す図である。 ユーザリーチシミュレーションマップの二次元の例を示す図である。 ユーザリーチシミュレーションマップの二次元の例を示す図である。 後続アクションシミュレーションの三次元の例を示す図である。
以下の説明および添付の図面は本発明を説明するための例示であり、本発明を限定するものではない。図面においては、同様の要素には同一の参照符号を付してある。
手渡しを確実に行うために、ロボットは、ユーザに特有な情報、体形、体に関する制限
などを正確に考慮できるようプログラムされていてもよい。
例えば、ロボットがユーザに対して、一本のボトルに入った水を渡すものとする。
ロボットは、ユーザがロボットから水のボトルを取るために、どの程度の労力を要するかを判定および考慮するようにプログラムされてもよい。
このようなシナリオでは、ロボットは、ユーザがかける労力の最小化と、手渡しに要する時間とのバランスを取れる最適なポジションを決定するようにプログラムされる。
また、ユーザが、関節における動きの制限(例えば、怪我、筋肉の凝り、関節における筋力喪失、四肢の震え等)といった、特定の健康状態を有する場合、ロボットは、(1)これらの健康状態を判定し、(2)当該健康状態を考慮して、ユーザが物体を握れる最適な位置を決定するようプログラムされていてもよい。
また、ロボットは、ユーザの病状、現在の観察状況や、物理的な状況に基づいて、手渡しを直接行うべきか否かを決定するようにプログラムすることができる。もし、手渡しのリスクが高い場合や、手渡しが不可能である場合、ロボットは、ユーザが届く範囲に水のボトルを置くようにしてもよい。
本明細書では、ユーザに物体を手渡すロボットがとる、物体を手渡す際のポーズ(以下、物体移動ポーズ)を決定するシステムまたは方法が開示される。
一実施形態において、ロボットは、以下の情報に部分的に基づいて、物体移動ポーズを決定するようプログラムされる。
(1)ユーザの生体力学的な特性(例えば、ユーザの物理的・医学的なコンディション)(2)ユーザの周辺環境
(3)物体を受け取った後のユーザの動き
ロボットは、物体を受け取った、または掴んだ後のユーザの動きを推定するようにプログラムされてもよい。また、一実施形態において、ロボットは、物体を受け取った、または掴んだ後のユーザの動きを表す明示的な情報を取得してもよい。
ユーザに関する情報は、ユーザの明示的な入力に基づいて決定されてもよいし、センサまたは医師、看護師、介助者など(以下、医療プロバイダ)によって収集されたデータに基づいて推定されてもよい。一実施形態において、ユーザへの物体の手渡しは、医療プロバイダからデータを取得し、考慮することでよりよいものとなる。
(システム概要)
図1は、ユーザ101に物体188を手渡すためのロボット190を用いたシステム100の、一実施形態におけるブロック図を例示したものである。
システム100は、信号線104を介してネットワーク105に接続されたサーバ107と、信号線188を介してネットワーク105に接続されたロボット190と、ユーザ101と、医療プロバイダ170を含む。
なお、図1には一人のユーザ101、一つのサーバ107、一つのロボット190、一つの物体188、一つの医療プロバイダ170が示されているが、本発明を適用可能なシステムのアーキテクチャは、一人以上のユーザ101、一つ以上のサーバ107、一つ以上のロボット190、一つ以上の物体188、一つの以上医療プロバイダ170を含むことができる。
さらに、図1には、システム100の構成要素に接続された一つのネットワーク105が示されているが、実際には、様々なタイプの一つ以上のネットワーク105が、これらの構成要素に接続されていてもよい。
ネットワーク105は、有線ネットワークであっても無線ネットワークであってもよく、また、スター型、トークンリング型や当業者に知られているその他の構成を取ることができる。さらにまた、ネットワーク105は、ローカルエリアネットワーク(LAN)、
ワイドエリアネットワーク(WAN)(例えばインターネット)、または、複数の装置が通信に用いる相互接続されたその他の任意のデータパスであってもよい。さらに別の形態では、ネットワーク105はピアツーピアネットワークであってもよい。ネットワーク105は、複数の異なる通信プロトコルでデータ送信するための通信ネットワークと接続されたり、このような通信ネットワークを含んだりしてもよい。
ある実施形態では、ネットワーク105は、Bluetooth(登録商標)通信ネットワークや、携帯電話通信ネットワークを含み、SMS(ショートメッセージサービス)、MMS(マルチメディアメッセージサービス)、HTTP(ハイパーテキスト転送プロトコル)、直接データ接続、WAP、電子メールなどのデータを送受信する。
ある実施形態では、ネットワーク105は、ロボット190に対してGPSナビゲーションを提供するためのGPS衛星を含んでいてもよい。
また、ネットワーク105は、例えば、3G、4G、LTE、ボイスオーバーLTE(VoLTE)といったモバイルデータネットワーク、他のモバイルデータネットワーク、または、モバイルデータネットワークの組合せであってもよい。
一実施形態において、ネットワーク105は、異なるネットワークの組合せであってもよい。
ユーザ101は、ロボットのユーザであり、人間である。
一実施形態において、ユーザ101は、ロボット190のアシストを受ける高齢者または病人である。また、物体188は、任意の有形の物体である。ロボット190は、物体188をユーザ101に手渡すことで、ユーザ101に対するアシストを行うロボットである。
ロボット190は、ユーザ環境198内において、ユーザ101に物体188を手渡す。また、ユーザ環境198は、ユーザ101の周囲にあるエリア、または、当該エリアに存在する物体である。例えば、ユーザ環境198は、部屋と、当該部屋にあってユーザ環境198を構成する、テーブル、椅子、雑誌、他の有形のオブジェクトといった全ての物体である。
ロボット190は、以下に説明する方法の一つ以上を実行するようにプログラムされた、プロセッサベースのデバイスである。例えば、ロボットは、図3または図5を参照して説明する、以下に記す方法の一部もしくは全部を実行するようにプログラムされる。
ロボット190は、実メモリに記憶され、プロセッサで実行されるプログラムによって可動部を動かすモータおよびコントローラを含んでいてもよい。
ロボット190は、ユーザ101に物体188を手渡すようにプログラムされる。
一実施形態において、ロボット190は、図3,図4,図5を参照して説明する、以下に記す方法300,方法400,方法500のいずれかのステップを実行するようにプログラムされた、専用のプロセッサベースのデバイスであってもよい。
一実施形態において、ロボット190は、実メモリまたは非一時的記憶媒体と、プロセッサとを含むコンピュータである。
例えば、ロボット190は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、個人情報端末(PDA)、モバイル電子メール装置、
携帯ゲームプレーヤ、携帯音楽プレーヤ、コネクテッドデバイスやウェアラブルコンピュータ(スマートウォッチ、スマートグラス、フィットネストラッカー等)、一つまたは複数のプロセッサを備えるテレビ受信機、自動車、ネットワーク105へアクセス可能なその他の電子機器などである。
一実施形態において、ロボット190は、自律走行車両または半自律走行車両であってもよい。
ロボット190は、ユーザに対してネットワークサービスを提供するための機能を有していてもよい。ネットワークサービスとは、ネットワーク105を通してアクセスできる任意のサービスである。例えば、ネットワークサービスは、ナビゲーション指示、オーディオストリーミングやビデオストリーミング(例えば、Pandora(登録商標)、Spotify(登録商標)、iTunes(登録商標)、Google Play(登録商標)、Youtube(登録商標)等)、ソーシャルネットワーキング(例えば、Facebook(登録商標)、Google+(登録商標)
、LinkedIn(登録商標)、Tinder(登録商標)、QQ(登録商標)等)、マイクロブログ(例えばTwitter(登録商標)、Tumblr(登録商標)等)、オンラインチャット(例えばSnapChat(登録商標)、WhatsApp(登録商標)等)、オンラインコンテンツシェアリング(
例えばInstagram(登録商標)、Pinterest(登録商標)等)、Eメール(例えばGmail(
登録商標)、Outlook(登録商標)、Yahooメール(登録商標)等)、ファイル共有(例えばDropBox(登録商標)、GoogleDrive(登録商標)、MS One Drive(登録商標)、Evernote(登録商標)等)、カレンダとスケジュールサービス(例えばGoogle Calendar(登録
商標)、MS Outlook(登録商標)等)などである。
一実施形態において、ロボット190は、ポーズシステム199を含んでいる。
ポーズシステム199は、物体188をユーザ101に手渡す際のポーズである「物体移動ポーズ」を決定するためのコードおよびルーチンである。ポーズシステム199については、図2A〜図8を参照して後ほど詳しく説明する。
一実施形態において、ポーズシステム199は、サーバ107にも格納される。図1中の点線は、ポーズシステム199がサーバ107に任意に格納されうることを示す。
一実施形態において、ポーズシステム199は、その一部がロボット190に、その一部がサーバ107に格納されてもよい。
ロボット190は、一つ以上のセンサ196を有している。
なお、図1には一つのセンサ196だけが示されているが、実際には、ロボット190は、複数のセンサ196を有していてもよい。
センサ196は、物理的な変化を感知する任意の装置である。例えば、センサ196は、ユーザ環境198内で発生している物理的な変化を検出する。センサ196は、ユーザ101を監視するのに用いられてもよい。また、ユーザ101の監視結果を表すセンサデータを、ネットワーク105を介して、ロボット190からゾーンシステム197に送信してもよい。また、ゾーンシステム197は、当該センサデータを解析し、ユーザ101に関する情報(以下、「ユーザ情報」または「ユーザの情報」と称する)を推定する機能を有していてもよい。
センサデータは、物体188をユーザ101に手渡す際の物体移動ポーズを決定するために、ロボット190によって、リアルタイムまたは近リアルタイムで使用される。
物体移動ポーズとは、物体188をユーザ101に手渡す際のロボット190の姿勢である。例えば、物体移動ポーズは、ロボットに、ユーザ環境198内の3次元または6次元空間上の地点(物体188をユーザ101に渡すのに最適または適した地点)に物体188を配置するための姿勢である。
物体をユーザに渡すのに最適または適した地点とは、ユーザ情報に適合した地点、および/または、ユーザ101の関節にかかるモーメントや力を最小限にする地点である。
ユーザ情報とは、以下のような、当該ユーザに関する情報などである。
・ユーザが物体188を受け取る際の姿勢
・ユーザが物体188を受け取りたいと考える、空間上の位置
・ユーザ101や医療プロバイダ170が考える、かかるモーメントや力をより小さくすべき、特定の関節または関節の組み合わせ
すなわち、ユーザ情報とは、ユーザにかかる負荷や、ユーザの快適性に影響を与える要
素に関する情報であるとも言える。
センサ196については、図2Aおよび図2Bを参照して、のちほど詳しく説明する。
サーバ107は、実メモリまたは非一時的記憶媒体と、プロセッサとを含むコンピュータである。例えば、サーバ107は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、個人情報端末(PDA)、モバイル電子メール
装置、携帯ゲームプレーヤ、携帯音楽プレーヤ、コネクテッドデバイスやウェアラブルコンピュータ(スマートウォッチ、スマートグラス、フィットネストラッカー等)、一つまたは複数のプロセッサを備えるテレビ受信機、車両、ネットワーク105へアクセス可能なその他の電子機器などである。
サーバ107は、ユーザデータ192、物体データ194、ゾーンシステム197を有している。ユーザデータ192または物体データ194は、サーバ107またはロボット190が有している、実メモリまたは非一時的記憶媒体に格納される。
ユーザデータ192は、ユーザ101についての情報を表す任意のデータである。
一実施形態において、ユーザデータ192は、一般的なユーザではなく、ロボット190の支援を受ける特定のユーザ101についての情報を表すデータである。
一実施形態において、ユーザデータ192は、以下のうちの一つ以上を表すデータである。
・ユーザ101の体重
・ユーザ101の身長
・ユーザ101が有する一つ以上の関節(例えば、肩、肘、手首、椎など)の可動範囲
・ユーザ101が有する関節の可動制限(例えば、図7B〜図7Eに示すような動き)
・ユーザ101についての一般的かつ明示的な情報
・ロボット190から物体188を受け取る際のユーザ101についての明示的な情報
・センサ196によるユーザ101の監視結果に基づいて推定されたユーザ101の情報・医療プロバイダ170から提供された情報に基づいて推定されたユーザ101の情報
・明示的な、または、ゾーンシステム197が推定した、ユーザ101に関する他の生体力学的なデータ
一実施形態において、ユーザデータ192は、図2Aを参照して以下に説明するデータ271〜276を含んでいる。
物体データ194は、物体188に関する任意のデータである。
例えば、物体データ194は、物体188の物理的な寸法、物体188の密度、物体188の重心、物体188上のホットスポット(例えば、温度が90度以上、あるいは、明示的または推定されたユーザ101の情報によって特定された温度以上である物体上の領域やエリア等)、物体188上のコールドスポット(例えば、温度が10度、あるいは、明示的または推定されたユーザ101の情報によって特定された温度以下である物体上の領域やエリア等)、物体188の物理モデルや物体188上にある関心地点の位置(例えば、物体188が有する取手、物体188が容器である場合は開け口や取り出し口、鋭い場所、鋭いエッジ、柔らかい場所、柔らかいエッジの位置等)などを含む。
ゾーンシステム197は、物体188をユーザ101に手渡す場所についての候補(以下、候補ゾーン)を決定するためのコードおよびルーチンである。候補ゾーンは、ユーザ環境198内の三次元空間上の地点によって表され、物体188をユーザ101に渡すのに最適な、または、適した場所を表したものである。ゾーンシステム197については、図2A〜図8を参照しながら、のちほど詳しく説明する。
一実施形態において、ゾーンシステム197は、ロボット190にも格納される。図1中の点線は、ゾーンシステム197がロボット190に任意に格納されうることを示す。
一実施形態において、ゾーンシステム197は、その一部がロボット190に、その一部がサーバ107に格納されてもよい。
一実施形態において、ポーズシステム199やゾーンシステム197は、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などのハードウェアを用いて実装される。一実施形態において、ポーズシステム199やゾーンシステム197は、ハードウェアとソフトウェアの組み合わせを用いて実装される。
ある実施形態では、ポーズシステム199やゾーンシステム197は、装置とサーバの両方に分散して格納されてもよいし、装置とサーバのいずれかのみに格納されてもよい。
(ゾーンシステムの例)
次に、図2を参照して、ゾーンシステム197の例についてより詳しく説明する。
図2Aは、システム200のブロック図である。システム200は、図1に示したシステム100における、ロボット190およびサーバ107のいずれかである。また、システム200は、例として、ゾーンシステム197、第一のプロセッサ225、第一のメモリ227、第一の通信ユニット245を含んでいる。システム200が有する構成要素は、バス220によって通信可能に接続される。
なお、図2には、一つのゾーンシステム197、一つの第一のプロセッサ225、一つの第一のメモリ227、一つの第一の通信ユニット245が示されているが、実際は、システム200は、二つ以上のゾーンシステム197、二つ以上の第一のプロセッサ225、二つ以上の第一のメモリ227、二つ以上の第一の通信ユニット245を含んでいてもよい。
プロセッサ225は、算術論理ユニット、マイクロプロセッサ、汎用コントローラ、または、計算を実行して表示装置に表示信号を提供する他のプロセッサアレイ等を含む。
プロセッサ225は、バス220に接続され、信号線226を介して他の構成要素と通信する。
プロセッサ225は、データ信号を処理し、そのアーキテクチャは、CISC(Complex Instruction Set Computer)、RISC(Reduced Instruction Set Computer)、これら両方の命令セットの組合せとして実装されたアーキテクチャなど様々なアーキテクチャでありうる。なお、図2には一つのプロセッサ225だけが示されているが、複数のプロセッサ225が含まれていてもよい。上記以外のプロセッサ、オペレーティングシステム、センサ、表示装置、あるいは物理的構成も採用可能である。
一実施形態において、第一のプロセッサ225は、以下に記載する方法の一つ以上のステップを実行するようにプログラムされる。例えば、第一のプロセッサ225は、図3,4,5に示す、方法300,400,500の一つ以上のステップを実行するようにプログラムされる。なお、第一のプロセッサ225やシステム200は、方法300,400,500の一つ以上のステップを実行されるよう構成されたハードウェア回路を含んでいてもよい。
第一のメモリ227は、実メモリまたは非一時的な、コンピュータで読み取り可能なメモリである。第一のメモリ227は、第一のプロセッサ225が実行可能な命令やデータを格納する。第一のメモリ227は、バス220に接続され、信号線228を介して他の構成要素と通信する。格納される命令やデータは、本明細書に示す技術を実行するためのコードを含んでもよい。
第一のメモリ227は、DRAM、SRAM、フラッシュメモリやその他の既存のメモ
リ装置であってもよい。一実施形態において、第一のメモリ227は、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置や情報記憶の分野において既知のその他の大容量記憶装置などの、非一時的(non-volatile)メモリや永久記憶装置を含んでもよい。
図2Aに示したように、第一のメモリ227は、姿勢データ271、ユーザ情報データ272、医療データ273、ユーザモデルデータ274、リーチシミュレーションデータ275、ゾーンデータ276を格納する。第一のメモリ227は、本明細書において説明される機能を提供するための他のデータを格納してもよい。
姿勢データ271は、ユーザ101が左右の手を様々な場所に伸ばした際の姿勢を表すデータである。姿勢データ271は、センサ196が行った監視結果、または、医療プロバイダ170から得られた情報に基づいたデータであってもよい。また、姿勢データ271は、特定のユーザ101に対応するものであってもよい。
ユーザ情報データ272は、ユーザ101に関する情報を表すデータである。ユーザ情報データ272は、ユーザ101によって明示的に入力された情報に基づくものであってもよい。例えば、ユーザ101が、ロボット190から物体188を受け取る際の好みに関する質問に対して答えを入力し、当該答えをユーザ情報データ272に記録してもよい。
また、ユーザ情報データ272は、医療プロバイダ170から提供された、ユーザ101に関する情報に基づくものであってもよい。また、ユーザ情報データ272は、ユーザ101を監視する一つ以上のセンサ196によって得られたセンサデータに基づくものであってもよい。また、ユーザ情報モジュール206は、ユーザ101についての情報を推定するため、当該センサデータを受信し、解析してもよい。
一実施形態において、ユーザ情報データ272は、ユーザ101についての、明示的あるいは推定された情報の組み合わせに基づいたものであってもよい。
医療データ273は、医療プロバイダ170によって提供された入力に基づいた任意のデータである。
ユーザモデルデータ274は、ユーザの身体的なモデル(以下、ユーザモデル)をひとつ以上含んだデータである。ユーザモデルデータ274は、特定のユーザ101に対応したものであってもよい。
ユーザモデルデータ274は、ユーザデータ192、物体データ194、センサ196が取得したセンサデータ等に基づいて、ゾーンシステム197が有するモデルモジュール208によって生成される。
ユーザモデルデータ274は、ユーザ101に対応する一つ以上のユーザモデルを表したものである。ユーザモデルデータ274によって表されたユーザモデルとは、ユーザ101を表した運動モデル(Kinematic model)、ユーザ101を表した生体力学モデル(Biomechanical model)、ユーザ101を表したリンクモデル(Link model)のうちの一つ以上である。
一実施形態において、モデルモジュール208は、ユーザデータ192、物体データ194、センサデータや、これらの組み合わせを解析し、ユーザ101の一つ以上の関節におけるモーメントの静的な分布または力ベクトルを取得して、ユーザ101に対応する生体力学モデルを表したユーザモデルデータ274を生成する。例えば、ユーザモデルデータ274は、図6Aに示したような、生体力学モデルを表したデータを含んでいてもよい。
一実施形態において、モデルモジュール208は、ユーザ101の生体力学モデル、ユーザデータ192、物体データ194、センサデータや、これらの組み合わせを解析し、リンク表現を生成することで、ユーザ101に対応するリンクモデルを表したユーザモデルデータ274を生成する。例えば、ユーザモデルデータ274は、図6Bに示したような、リンクモデルを表したデータを含んでいてもよい。
リーチシミュレーションデータ275は、ユーザ101に対応する一つ以上のリーチシミュレーション結果を含んだデータである。リーチシミュレーションとは、ユーザが特定の場所に手を伸ばした場合の状況をシミュレーションしたものである。リーチシミュレーションデータ275は、特定のユーザ101に対応したものであってもよい。
リーチシミュレーションデータ275は、センサ196が取得したセンサデータや、前述したデータ271〜274、これらの組み合わせに基づいて、シミュレーションモジュール210によって生成される。
例えば、リーチシミュレーションデータは、(1)一つ以上のセンサ196が行った監視結果や、医療プロバイダ170によって提供された情報から推定された、ユーザ101についての情報、(2)ユーザ101に対応する生体力学モデル、などに基づいて生成される。一実施形態において、リーチシミュレーションとは、リーチシミュレーションマップである。
ゾーンデータ276は、物体188をユーザ101に手渡す際の候補となるゾーン(候補ゾーン)を表したデータを一つ以上含んだデータである。
第一の通信ユニット245は、システム100に含まれるサーバ107とロボット190の少なくとも一つに対してデータを送受信する手段である。第一の通信ユニット245は、信号線230を通してバス220に接続される。ある実施形態では、第一の通信ユニット245は、ネットワーク105や他の通信チャネルへの直接的な物理的接続のためのポートを含む。
例えば、第一の通信ユニット245は、システム100の他の構成要素と有線通信を行うためのUSB、SD、CAT−5または類似のポートを含む。
一実施形態において、や、これらの組み合わせを通信ユニット245は、IEEE802.11、IEEE802.16、BlueTooth(登録商標)、または他の適切な無線通信方式を含む、一つまたは複数の無線通信方式を用いて、システム100の他の構成要素や他の通信チャネルとデータを交換するための無線送受信部を含むことができる。
ある実施形態では、通信ユニット245は、携帯電話ネットワークを介して、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接的データ接続、WAP、電子メールやその他の適切な種類の電子的通信を含むデータを送信するための携帯無線送受信機を含む。
一実施形態において、通信ユニット245は有線ポートとワイヤレストランシーバを含む。
通信ユニット245は、TCP/IP、HTTP、HTTPS、SMTPなどを含む標準ネットワークプロトコルを用いて、ファイルやメディアオブジェクトを配布するために、ネットワーク105への従来型の接続を提供することもできる。
図2Aに図示した実装例では、ゾーンシステム197は、第一の通信モジュール202、姿勢モジュール204、ユーザ情報モジュール206、モデルモジュール208、シミュレーション210と候補ゾーンモジュール212を含む。ゾーンシステム197のこれらのモジュールは、バス220によって互いに通信可能に接続される。
一実施形態において、ゾーンシステム197のモジュールは、装置とサーバのいずれかのみに格納されてもよいし、複数の装置やサーバに分散して格納および配信されてもよい。
さらに、本実施形態で述べるコンポーネント、モジュール、サーバの分離は、全ての実施形態において必要とは限らないことを理解されるべきである。
一実施形態において、記載された構成要素、モジュール、装置またはサーバは、通常、一つの構成要素、モジュール、装置またはサーバに集積されることができる。
一実施形態において、ゾーンシステム197のモジュール202,204,206,208,210,212のそれぞれは、以下に記す機能を提供する、第一のプロセッサ225で実行可能な一組の命令である。
他の実施形態において、モジュール202,204,206,208,210,212のそれぞれは、第一のメモリ227に格納され、システムの第一のプロセッサ225によってアクセスされ、実行されてもよい。
モジュール202,204,206,208,210,212のそれぞれは、第一のプロセッサ225や、コンピュータ200の他の構成要素と協調や通信を行うように構成される。
一実施形態において、モジュール202,204,206,208,210,212のそれぞれは、格納され、システム200のプロセッサによって実行される一つ以上のシンクライアントとして機能してもよい。
第一の通信モジュール202は、ゾーンシステム197とシステム200の他の構成要素との間の通信を処理するためのルーチンを含むソフトウェアである。
一実施形態において、第一の通信モジュール202は、プロセッサ225で実行可能な一組の命令であり、通信を取り扱うために下記の機能を提供する。第一の通信モジュール202は、信号線222を介してバス220に通信可能に接続される。
第一の通信モジュール202は、通信ユニット245を介して、サーバ107とロボット190との間でデータを送受信する。
例えば、第一の通信モジュール202は、ユーザ101についての明示的または推定された情報を表すセンサデータを、ロボット190から、通信ユニット245を介して受信する。
一実施形態において、第一の通信モジュール202は、ゾーンシステム197の構成要素からデータを受信し、第一のメモリ227に保存する。一実施形態において、第一の通信モジュール202は第一のメモリ227からデータを取得し、ゾーンシステム197の一つ以上の構成要素に送信する。
一実施形態において、第一の通信モジュール202は、ゾーンシステム197の構成要素間の通信を処理してもよい。例えば、第一の通信モジュール202は、ゾーンシステム197の一つのモジュールからデータを取得し、ゾーンシステム197の別のモジュールに送信する。
一実施形態において、第一の通信モジュール202は、センサデータ、ユーザデータ192、物体データ194や、これらの組み合わせを受信する。
ユーザデータ192は、特に、医療データ273や、ユーザ101の明示的な入力を表すデータである。一実施形態において、医療データ273は、医療プロバイダ170が行った記録を分析することで生成される。また、医療データ273は、医療プロバイダ170から電子的またはハードコピーで寄せられた、アンケートに対する回答をゾーンシステム197が分析することで生成してもよい。
姿勢モジュール204は、センサデータ、ユーザデータ192、物体データ194や、
これらの組み合わせに基づいて、ユーザの姿勢を表すデータである姿勢データ271を生成するためのルーチンを含むソフトウェアである。
例えば、姿勢モジュール204は、センサによって観察されたユーザ101の姿勢を表すセンサデータと、医療プロバイダ170によって観察されたユーザ101の姿勢を表す医療データ273を分析する。そして、姿勢モジュール204は、当該分析結果に基づいて、ユーザ101の姿勢を表すデータを生成する。
姿勢モジュール204はまた、ユーザ101に対応する生体力学データを生成する。例えば、姿勢モジュール204は、センサデータ、ユーザデータ192、医療データ273、ユーザ101の明示的な入力や、これらの組み合わせに基づいて、特定のユーザ101に対応する生体力学データを生成する。
一実施形態において、姿勢モジュール204は、センサデータ、ユーザデータ192、医療データ273、ユーザ101の明示的な入力のうちの一つ以上を分析し、次のうちの一つ以上を決定する。
・ユーザ101の体重
・ユーザ101の身長
・ユーザ101の一つ以上の関節(例えば、ユーザ101の肩、肘、手首、椎などのうちの一つ以上)の可動範囲
・ユーザ101の関節の可動制限(例えば、図7B〜7Eに示すような動き)
・明示的な、あるいは、ゾーンシステム197によって推定された、ユーザ101に関する他の生体力学データ
姿勢モジュール204は、信号線224を介してバス220に通信可能に接続される。
ユーザ情報モジュール206は、ユーザ情報データ272を生成するためのルーチンを含むソフトウェアである。例えば、ユーザ情報モジュール206は、センサデータ、ユーザデータ192、物体データ194、医療データ273、ユーザ101の明示的な入力や、これらの組み合わせに基づいて、ユーザ情報データを生成する。
一実施形態において、ユーザ情報モジュール206は、センサデータ、ユーザデータ192、物体データ194、医療データ273、ユーザ101の明示的な入力のうちの一つ以上を分析し、次のうちの一つ以上を決定する。
・ユーザ101の一般的かつ明示的な情報
・ロボット190から物体188を受け取る際のユーザ101についての明示的な情報
・センサ196が取得したユーザ101の監視結果に基づく、推定されたユーザ101の情報
・医療プロバイダ170から提供された情報に基づいて推定された、ユーザ101の情報
ユーザ情報モジュール206は、信号線226を介してバス220に通信可能に接続される。
モデルモジュール208は、ユーザモデルデータ274を生成するためのルーチンを含むソフトウェアである。
例えば、モデルモジュール208は、センサデータ、ユーザデータ192、(物体データ194によって示された)物体を扱う上での制約、医療データ273、ユーザ101の明示的な入力、姿勢データ271、ユーザ101の生物力学データ、ユーザ情報データ272や、これらの組み合わせに基づいて、ユーザモデルデータ274を生成する。
一実施形態において、モデルモジュール208は、センサデータ、ユーザデータ192、物体データ194、医療データ273、ユーザ101の明示的な入力のうちの一つ以上を分析して、以下のうちの一つ以上を生成する。
・ユーザ101の運動モデル
・ユーザ101の生体力学モデル
・ユーザ101のリンクモデル
一実施形態において、モデルモジュール208は、ユーザデータ192、物体データ194、センサデータや、これらの組み合わせを分析することで、ユーザ101の一つ以上の関節における、モーメントの静的な分布や力ベクトルを取得し、ユーザ101に対応する生体力学モデルを表すユーザモデルデータ274を生成する。
例えば、ユーザモデルデータ274は、図6Aを参照して以下に説明する生体力学モデルを表すデータを含む。
一実施形態において、モデルモジュール208は、ユーザ101の生体力学モデル、ユーザデータ192、物体データ194、センサデータや、これらの組み合わせを分析することで、リンク表現を取得し、ユーザ101に対応するリンクモデルを表すユーザモデルデータ274を生成する。
例えば、ユーザモデルデータ274は、図6Bを参照して以下に説明するリンクモデルを表すデータを含む。
モデルモジュール208は、信号線233を介してバス220に通信可能に接続される。
シミュレーションモジュール210は、リーチシミュレーションデータ275を生成するためのルーチンを含むソフトウェアである。
例えば、シミュレーションモジュール210は、センサデータ、ユーザデータ192、物体データ194、医療データ273、ユーザ101の明示的な入力、姿勢データ271、ユーザ情報データ272、ユーザモデルデータ274や、これらの組み合わせに基づいてユーザモデルデータ274を生成する。
一実施形態において、シミュレーションモジュール208は、センサデータ、ユーザデータ192、物体データ194、医療データ273、ユーザ101の明示的な入力、姿勢データ271、ユーザ情報データ272、ユーザモデルデータ274のうち一つ以上を分析することで、ユーザ101に対する一つ以上のリーチシミュレーション結果を生成する。
ユーザ101に対するリーチシミュレーション結果の例については、図7B〜図7Eを参照して後ほど説明する。
シミュレーションモジュール210は、信号線229を介してバス220に通信可能に接続される。
候補ゾーンモジュール212は、一つ以上の候補ゾーンを決定するためのルーチンを含むソフトウェアである。例えば、候補ゾーンモジュール212は、一つ以上の候補ゾーンを、リーチシミュレーションデータ275によって表されるリーチシミュレーション結果に基づいて生成する。
一実施形態において、候補ゾーンモジュール212は、リーチシミュレーションデータ275によって表されるリーチシミュレーション結果に対して反復的な機械学習アプローチを適用することで、一つ以上の候補ゾーンを決定する。
一実施形態において、候補ゾーンモジュール212は、一つ以上の候補ゾーンを決定する。
例えば、候補ゾーンモジュール212は、反復的な分析によって、候補ゾーンを、類似する候補ゾーンのグループに置くことで、一つ以上の候補ゾーンを決定する。一実施形態
において、反復的な分析は、クラスタ分析であってもよい。
例えば、候補ゾーンモジュール212は、リーチシミュレーションデータ275によって表されたリーチシミュレーション結果を、類似する地点のクラスタに分割する。
一実施形態において、地点とは、空間内の直交座標系(X,Y,Z)における地点であって、与えられたリーチシミュレーション結果によって、ユーザ101が体を動かした際に届く(あるいは、ほぼ届く)とされた地点であってもよい。
候補ゾーンモジュール212は、異なるリーチシミュレーション結果によって表された複数の座標(X,Y,Z)を決定し、当該リーチシミュレーション結果を、類似した地点にクラスタ分類してもよい。
例えば、候補ゾーンモジュール212は、複数の地点にユーザが手を伸ばした場合において、ユーザの特定の関節にかかるトルク量や力が類似する場合に、当該二つ以上の地点が類似していると判定してもよい。
他の例では、候補ゾーンモジュール212が、ユーザ環境198における三次元空間を、クラスタ分析によって三次元の領域に分割し、二つ以上の地点が同一の領域に含まれる場合に、当該二つ以上の地点が類似すると判定してもよい。
一実施形態において、地点とは、空間内の六次元の地点であって、与えられたリーチシミュレーション結果によって、ユーザ101が体を動かした際に届く(あるいは、ほぼ届く)とされた地点であってもよい。
また、候補ゾーンモジュール212は、三つの方向(ピッチ、ヨー、ロール等)と同様に、異なるリーチシミュレーション結果によって表された複数の座標(X,Y,Z)を決定し、リーチシミュレーション結果を類似した地点にクラスタ化してもよい。
一実施形態において、ユーザリーチシミュレーション結果は、ユーザ環境198における一つ以上の地点に対応する値を含む。また、一実施形態において、ユーザリーチシミュレーション結果は、ユーザ環境198における、三次元または六次元の各地点に対応する値を含む。
例えば、ユーザリーチシミュレーション結果は、ユーザリーチシナリオ(例えば、図7Aにおける符号700を参照)において、ユーザ101の一つ以上の関節にかかる一つ以上のモーメントまたは力を表す。
ユーザリーチシミュレーション結果は、ユーザ環境198内のある地点に手を伸ばすユーザ101に対応する。また、ユーザリーチシミュレーション結果は、ユーザ環境198内の一つ以上の地点に手を伸ばすユーザ101に対するシミュレーションに基づいてもよい。例えば、ユーザリーチシミュレーションは、ユーザ環境198内の三次元の各地点に手を伸ばすユーザ101に対するシミュレーションに基づく。
なお、ユーザリーチシミュレーション結果や候補ゾーンの生成においては、リーチシミュレーション結果の分析をさらに行い、ユーザ環境198内の各三次元地点(または六次元地点)に値を割り当ててもよい。
割り当てる値は、例えば、以下のうちの一つ以上に基づいたものである。
(1)ユーザ環境198内のある地点に手を伸ばしたユーザ101の、一つ以上の関節にかかるモーメントや力
(2)ロボット190から物体188を受け取る際の地点、モーメント、力が、ユーザ情報と適合しているか否か
各々の値は、シミュレーションモジュール210や候補ゾーンモジュール212によって、ユーザ情報データ272およびリーチシミュレーションデータ275に少なくとも部分的に基づいて決定されてもよい。これらのデータは、ユーザリーチシミュレーションに対応する空間内の三次元または六次元の地点に手を伸ばす際の、ユーザの一つ以上の関節にかかるモーメントや力を表すデータを含む。
このように、ゾーンシステム197は、ユーザ環境における各地点を考慮し、ユーザ101の関節にかかるモーメントや力を最小化し、かつ、ユーザ101の情報に適合する地点のゾーンを決定する。
候補ゾーンや物体移動ポーズを決定する際に、ユーザの情報を考慮することは、本発明における利点の一つである。
一実施形態において、クラスタは類似した値を持つ地点の集合からなる。例えば、クラスタは、ユーザ情報と、ユーザの関節にかかるモーメントや力に基づいて決定される。
クラスタは、ゾーンデータ276として、第一のメモリ227に格納されてもよい。また、クラスタは、順序つきクラスタのリストとして格納されてもよい。
候補ゾーンモジュール212は、接続性に基づく(階層型)クラスタリング、分布(密度)に基づくクラスタリング、またはこれに類似する方法によってクラスタを生成してもよい。
一実施形態において、シミュレーションにおけるクラスタは、ロボット190が掴んでいる物体に188にユーザ101が手を伸ばす際に予想されるリスクまたは危害を最小化するように順序付けされる。
例えば、シミュレーションにおけるクラスタは、ユーザ101の特定の状態に基づいて、ユーザ101にかかるモーメント(例えばトルク)や力が少なくなるように順序付けされる。
例えば、もしユーザ101が左肩を負傷している場合、リーチシミュレーションのクラスタは、物体188を受け取る際に、ユーザの左肩にかかるモーメントを最小化するように順序付けされる。
順序付けされたクラスタのリストは、物体188をユーザ101に手渡す際のロボット190の物体移動ポーズを示すため、ロボットの候補ゾーンモジュール212やポーズシステム199によって分析される。
このように、物体移動ポーズは、ユーザ101に対するリスクや危害を制限するように最適化される。
候補ゾーンモジュール212は、信号線231を介してバス220に通信可能に接続される。
(ポーズシステムの例)
次に、図2Bを参照しながら、ポーズシステム199の例について、より詳しく説明する。
図2Bは、システム298のブロック図である。システム298は、図1のシステム100におけるサーバ107またはロボット190であってもよい。
いくつかの例において、システム298は、ポーズシステム199,第二のプロセッサ285、第二のメモリ281、第二の通信ユニット283、スピーカ287、センサ196、モータ251、モバイルハードウェア243、アクチュエータ241を含んでいてもよい。
システム298の構成要素は、バス250を介して通信可能に接続される。
なお、図2Bには、一つのポーズシステム199,一つの第二のプロセッサ284、一つの第二のメモリ281、一つの第二の通信ユニット283、一つのスピーカ287、一つのセンサ196、一つのモータ251、一つのモバイルハードウェア243、一つのアクチュエータ241が図示されているが、実際は、システム298は、二つ以上のポーズシステム199、二つ以上の第二のプロセッサ285、二つ以上の第二のメモリ281、二つ以上の第二の通信ユニット283、二つ以上のスピーカ287、二つ以上のセンサ196、二つ以上のモータ251、二つ以上のモバイルハードウェア243、二つ以上のア
クチュエータ241を含んでいてもよい。
第二のプロセッサ285、第二の通信ユニット283、第二のメモリ281は、第一のプロセッサ225、第一の通信ユニット245、第一のメモリ227と類似した機能を含むため、これらの構成要素の説明は省略する。
図2Bに示したように、第二のメモリ281は、ゾーンデータ276、評価基準データ261、後続アクションデータ263、センサデータ249を格納する。第二のメモリ281は、本明細書において説明される機能を提供するための他のデータを格納してもよい。
ゾーンデータ276については、図2Aを参照しながら説明したため、説明は省略する。
第一の通信ユニット245は、ゾーンデータ276を、ネットワーク105を介して第二の通信ユニット283に送信してもよい。また、第二の通信ユニット283は、ゾーンデータ276を第二のメモリ281に格納してもよいし、ゾーンデータ276を、ポーズシステム199の他の構成要素に送信するため、第二の通信モジュール262に送信してもよい。
センサデータ249は、一つ以上のセンサ196のセンシング結果を表すものであれば、どのようなデータを含んでいてもよい。
評価基準データは、ゾーンデータ276によって表された候補ゾーンを評価するための評価基準を表すデータである。
候補ゾーンは、評価モジュール268によって、一つ以上のセンサ196のセンシング結果ないし監視結果を用いて得られた、ユーザ環境198における現在の状況に基づいて評価される。
評価基準データ261は、センサデータ249に基づいて、判定モジュール264によって生成される。
例えば、評価基準データ261は、「一つ以上のセンサ196による、ユーザ101、物体188やユーザ環境198の現在の監視結果」、「ロボット190が物体移動ポーズをとり始めてから、ユーザ101が物体188に手を伸ばすのにかかる推定時間」、「ユーザ101の現在の快適レベルまたはストレスレベル」、「一つ以上のセンサ196によって得られた、最も高いランクの候補ゾーンに対する視界(見通し)」などを表したデータである。
一実施形態において、物体188は、ナイフのような鋭い物体であり、ロボット190または物体188と、ユーザ101の頭または体との距離が、判定モジュール264によって決定された評価基準に含まれる。
他の実施形態において、判定モジュール264は、「ユーザ101の手が他の物体によって塞がっているか否か」を表す評価基準を生成する。
評価モジュール268は、この基準を分析し、もしユーザ101の右手が塞がっている場合に、物体188をユーザ101の左手側に配置するという物体移動ポーズを決定する。
後続アクションデータ263は、ロボット190から物体188を受け取った後にユーザが取る見込みのアクションを表すデータである。後続アクションデータ263は、明示的な入力に基づくものであってもよい。例えば、後続アクションデータ263は、ユーザ101や医療プロバイダ170から得られた明示的な入力に基づいたものである。
一実施形態において、システム298のセンサ196は、マイクと、ユーザ101の発話をテキストに変換する機能を有していてもよい。
例えば、ユーザ101が、物体188を受け取った後の次のアクションを発話し、システム298が、当該入力を後続アクションデータ263に変換してもよい。
他の実施形態において、コンピュータ、スマートフォン、ウェアラブルデバイス、あるいはユーザ101が有するプロセッサベースの類似するデバイスが、ユーザ101の発話をテキストに変換する機能と、当該テキストをシステム298の第二の通信ユニット283に送信する機能を有していてもよい。例えば、ユーザ101が、発話によるロボット190への明示的な指示をスマートフォンに向けて行い、スマートフォンが、発話をテキストに変換し、当該ユーザの明示的な指示を表すデータを、Bluetooth(登録商標)、WiFi、USB、または、スマートフォンとシステム298とを接続する他の手段によって、システム298に送信するようにしてもよい。
また、医療プロバイダ170は、同様の方法で指示をロボット190に行ってもよい。
一実施形態において、システム298は、キーボードあるいは他の入力周辺機器を含んでおり、ユーザ101や医療プロバイダ170は、テキストや他の明示的な入力によって、後続アクションデータ263を提供してもよい。
テキストベースの入力は、コンピュータ、スマートフォン、ウェアラブルデバイス、または、ユーザ101が有するプロセッサベースの類似するデバイスによって提供されてもよく、システム298の第二の通信ユニット283に送信されてもよい。
一実施形態において、判定モジュール264は、センサデータ249、医療データ273、ユーザ情報データ272、またはこれらの組み合わせを、ユーザ101の習慣やパターンを決定するために分析する機能を有していてもよい。
また、センサデータ249、医療データ273、ユーザ情報データ272、またはこれらの組み合わせによって表された、類似した状況における、ユーザ101の習慣やパターンに基づいて、推定されたユーザ101の次のアクションを決定する機能を有していてもよい。
図2Bに図示された実装例では、ポーズシステム199は、第二の通信モジュール262、センサモジュール248、判定モジュール264、後続アクションモジュール266,評価モジュール268、コントローラ289を含んでいる。これらのポーズシステム199の構成要素は、バス250を介して互いに通信可能に接続される。
一実施形態において、ポーズシステム199のモジュールは、一つの装置またはサーバに格納されてもよいし、複数の装置やサーバに分散して格納および配信されてもよい。
さらに、本実施形態で述べるコンポーネント、モジュール、サーバの分離は、全ての実施形態において必要とは限らないことを理解されるべきである。
一実施形態において、記載された構成要素、モジュール、装置またはサーバは、通常、一つの構成要素、モジュール、装置またはサーバに集積されることができる。
センサ196は、物理的な変化を感知する任意の装置である。センサ196は、信号線257を介してバス250に接続されている。
一実施形態において、センサ196はモーションディテクタである。例えば、センサ196は、ロボット190、ユーザ101、物体188、または、ユーザ環境内にある他の要素の姿勢を検出するジャイロスコープである。
また、他の実施形態において、センサ196は、ロボット190、ユーザ101、物体188、または、ユーザ環境198内にある他の要素の加速度を測るのに用いられる加速度計である。さらに別の例では、センサ196は、GPSや、無線ネットワークを通じた
三角測量等によって位置検出を行う。
一実施形態において、センサ196は、第二の通信モジュール262を介して位置情報をセンサモジュール248に送る。
他の実施形態において、センサ196は、第二のメモリ281に、センサデータ249あるいは評価基準データ261の一部として位置情報を保存する。
一実施形態において、センサ196は深さセンサを含む。
一実施形態において、深さセンサは、例えば赤外線レーザ光のスペックルパターンのような構造化光(structured light)を用いて深さを決定する。
他の実施形態において、深さセンサは、カメラから対象物まで光信号が進むのにかかる時間に基づいて深さを決定する、飛行時間計測式(time-of-flight)の技術を用いて深さを決定する。
例えば、深さセンサはレーザ測距器である。
深さセンサは、ユーザ環境198内にある要素を、深さとともに検出するのに用いられてもよい。
一実施形態において、センサ196は、ロボット190、ユーザ101、物体188、またはユーザ環境198にある他の要素を識別するために、深さ情報をセンサモジュール248に送信する。
他の実施形態において、センサ196は、深さデータを、センサデータ249あるいは評価基準データ261の一部としてメモリ227に格納する。
一実施形態において、センサ196は、音を電気信号に変換するためのマイクを含む。マイクは、ユーザ101や医療プロバイダ170から、ロボット190に対する明示的な命令あるいは入力といったような、要求を満たすための命令を取得してもよい。マイクは、命令を処理するために、電気信号をセンサモジュール248に送信する。
センサ196は、カメラであってもよい。カメラは、画像を取得するための物理デバイスである。一実施形態において、カメラは電気的な画像を取り込む。カメラは、CCD(charge-coupled device)やCMOS(complementary metal-oxide semiconductor)といった、視覚的イメージを電気信号に変換するイメージセンサを含む。
一実施形態において、カメラは、電気信号を、ユーザ101、物体188、ロボット190の位置を識別するためにセンサモジュール248に送信し、また、選択された物体移動ポーズを評価し、ユーザ101のリスクを表す新しいデータに基づいて新しい物体移動ポーズを決定するため、評価モジュール268に送信する。
他の実施形態において、カメラは、位置データ292の一部として電気信号をメモリ227に格納する。
システム298がロボット190である場合において、システム298は、モータ251、モバイルハードウェア243と、アクチュエータ241を含む。
モータ251は、信号線267を通してバス250に接続される。また、モバイルハードウェア243は、信号線244を通してバス250に接続される。アクチュエータ241は、信号線246を通してバス250に接続される。
モータ251は、モバイルハードウェア243を駆動するためのハードウェアを含む。
モバイルハードウェア243は、ロボット190を動かすためのハードウェア(例えば車輪)である。モータ251とモバイルハードウェア243は、ロボット190を動かすために用いられる。例えば、コントローラ289が、モータ251に、モバイルハードウェア243を駆動させ、例えば、ポーズシステム199によって選択された物体移動ポーズに基づいて、ロボット190を再配置するよう命令を行う。
アクチュエータ241は、ポーズシステム199によって選択された物体移動ポーズに基づいて、物体188を握り、ユーザ101への手渡しを行うための、物体188のポジショニングを行うためのハードウェアである。
アクチュエータ241は、モータを内蔵していてもよいし、ロボット190が有する一つ以上のモータ251によって駆動されてもよい。例えば、アクチュエータ241のモータはサーボモータであってもよい。
アクチュエータ241が、モータを内蔵している実施形態において、コントローラ289は、物体移動ポーズに基づいて、アクチュエータ241にポジショニングを行う命令を発行し、ユーザ101に物体188を手渡ししてもよい。
また、アクチュエータ241が、ロボット190のモータ251によって駆動される実施形態において、コントローラ289は、物体移動ポーズに基づいて、アクチュエータ241のポジショニングを行うためにモータ251に命令を発行し、ユーザ101に物体188を手渡ししてもよい。
スピーカ267は、信号線255を通してバス250に接続された、音声による通知を発するためのオプションのハードウェアである。
例えば、システム298がロボット190である場合、スピーカは、評価モジュール268から命令を受信し、ユーザ101に対して、「もたらされるリスクが所定の値よりも高い状況にあると評価モジュール268が判断したため、物体188の手渡しが行えない」という通知を行う。
一実施形態において、ポーズシステム199の各モジュール262,248,264,266,268,289のそれぞれは、以下に記す機能を提供する、第二のプロセッサ285で実行可能な一組の命令である。
他の実施形態において、モジュール262,248,264,266,268,289のそれぞれは、第二のメモリ281に格納され、システム298の第二のプロセッサ285によってアクセスされ、実行されてもよい。
モジュール262,248,264,266,268,289のそれぞれは、第二のプロセッサ285や、システム298の他の構成要素と協調や通信を行うように構成される。
一実施形態において、モジュール262,248,264,266,268,289のそれぞれは、格納され、システム298の第二のプロセッサ285によって実行される一つ以上のシンクライアントとして機能してもよい。
第二の通信モジュール262は、第一の通信モジュール202等と類似した機能を提供するものであるため、詳細な説明は省略する。第二の通信モジュール262は、信号線252を介して、バス250に通信可能に接続される。
センサモジュール248は、ユーザ101を検出し、ユーザ101の位置、向き、評価基準を推定し、ロボット190の現在位置を判定し、物体188の位置、向き、評価基準を判定し、ユーザ環境198にある他の要素を検出し、当該ユーザ環境198にある要素の位置、向き、評価基準を推定するためのルーチンを含むソフトウェアである。
一実施形態において、センサモジュール248は、以下に記すような、ユーザ101、ロボット190、物体188、ユーザ環境198にある他の要素をセンシングするための機能を提供する、第二のプロセッサ285で実行可能な一組の命令である。
センサモジュール248は、信号線247を通してバス250に通信可能に接続される。
一実施形態において、センサモジュール248は、カメラであるセンサ196から、第二の通信モジュール262を介して画像を受信する。
そしてセンサモジュール248は、画像から、ユーザ101、ロボット190、物体188、またはユーザ環境198にある他の要素の位置および向きを識別する。
位置は、直交座標系における緯度と経度等によって表されてもよい。
例えば、センサモジュール248は、物体188と、物体188の端に存在する鋭いエッジを識別する。また、センサモジュール248は、ユーザ101の右手が空いており、左手が塞がっていることを識別する。センサモジュール248は、評価モジュール268およびコントローラ289と協働し、物体188が有する鋭いエッジに関連付いたリスクと、ユーザ101の左手が塞がっていることを識別し、ロボット190が、ユーザ101の右手側に物体188を配置し、かつ、鋭いエッジがユーザ101の手指から離れるような向きで物体188を配置するように処理を行う。
センサモジュール248は、ユーザ101、ロボット190、物体188、ユーザ環境198にある他の要素の現在位置を判定する。
例えば、センサモジュール248は、GPS装置、WiFiを用いた三角測量装置など、ロボット190に含まれるセンサ196を、ロボット190の位置を識別するために用いる。
他の例において、センサモジュール248は、カメラ249から画像を受信し、画像に含まれる既知の物体の位置と、ロボット190の既知の位置(例えばロボット190のGPS座標)とを比較することで、ユーザ101の現在位置を識別する。
センサモジュール248は、信号線247を介して、バス250に通信可能に接続される。
判定モジュール264は、センサデータ249や他のデータを分析し、評価基準データ261を生成するためのルーチンを含むソフトウェアである。
例えば、判定モジュール261は、「表情がストレスを感じているか」「右手や左手が塞がっているか」等を判定するために、センサデータ249に含まれるユーザ101の画像を分析する。
ユーザ101のこれらのステータスは、ポーズシステム199が、どのような物体移動ポーズを選択するかに影響を及ぼす、評価基準となる。
判定モジュール264は、センサデータ249を分析し、評価基準として、「ユーザ101、物体188、ユーザ環境198の現在の監視結果」、「ロボット190が物体移動ポーズをとり始めてから、ユーザ101が物体188に手を伸ばすのにかかる推定時間」、「ユーザ101の現在の快適レベルまたはストレスレベル」、「一つ以上のセンサ196によって得られた、最も高いランクの候補ゾーンに対する視界(見通し)」等を決定する。
判定モジュール264は、センサデータ249に基づいて、他の評価基準データ261を生成してもよい。
判定モジュール264は、信号線254を介してバス250に通信可能に接続される。
後続アクションモジュール266は、ユーザ101がロボット190から物体188を受け取った後のアクション(後続アクション)を決定するためのルーチンを含むソフトウェアである。例えば、後続アクションモジュール266は、後続アクションデータ263に基づいて、ユーザ101が物体188を受け取った後の後続アクションを決定する。
後続アクションモジュール266は、信号線266を介してバス250に通信可能に接続される。
評価モジュール268は、ロボット190が物体188をユーザ101に手渡しする際の物体移動ポーズを選択するためのルーチンを含むソフトウェアである。
例えば、評価モジュール268は、ゾーンデータ276、評価基準データ261、またはこれらの組み合わせに基づいて、物体移動ポーズを選択する。
ゾーンデータ276は、ユーザ101に物体188を手渡しする候補ゾーンを表すデータである。候補ゾーンは、「物体移動ポーズにおいて、ロボット190のアクチュエータ241から物体を受け取る際に、どの候補ゾーンを用いれば、最も少ないモーメント(例えばトルク)や力で手渡しができるか」に基づいてランク付けされてもよい。
また、評価基準データ261は、センサ196の現在の監視結果に基づいて、候補ゾーンのランクを更新するために用いられてもよい。
例えば、センサ196は、評価モジュール268に、候補ゾーンのランクを更新させるため、ロボット190、ユーザ101、物体188、ユーザ環境198の他の要素についての状態を示してもよい。
このように、評価モジュール268は、候補ゾーンをフィルタし、ユーザ101が物体188を受け取る際のリスクを最小にする物体移動ポーズを決定するために、評価基準データ261を用いてもよい。
例えば、ユーザ101のリスクを最小にする物体移動ポーズとは、ユーザ101が物体188に手を伸ばす際にかかるトルクや力を最小にするものであってもよい。
他の例では、評価基準は、ユーザ環境198にある他の要素であって、ユーザ101が物体188に手を伸ばす際に脅威(例えば、つまずき、よろめき等)となるものを表してもよく、ユーザ101のリスクを最小にする物体移動ポーズとは、ユーザ101が物体188に手を伸ばす際の事故発生率を最小にするものであってもよい。
評価モジュール268は、このようなフィルタリングによって一つ以上の候補ゾーンを選択し、当該候補ゾーンに基づいて物体移動ポーズを決定する。
評価モジュール268は、信号線258を介して、バス250に通信可能に接続される。
コントローラ210は、モータ251、モバイルハードウェア243、アクチュエータ241を動作させるためのルーチンを含むソフトウェアである。
例えば、コントローラ210は、評価モジュール261から物体移動ポーズを表すデータを受信し、物体188をユーザ101に手渡しするために、当該物体移動ポーズに従ってアクチュエータ241を動かす。
コントローラ210は、物体188をユーザ101に手渡しする際の、モータ251、モバイルハードウェア243、アクチュエータ241が従うべき速度制約を生成してもよい。例えば、コントローラ210は、物体移動ポーズに従ってパスに沿った動作をする際の速度と方向を決定する。
コントローラ210が速度制約を生成すると、コントローラ210は、アクチュエータ241やモータ251に対して、物体移動ポーズに従って動くように指示する。
センサ196が、ユーザ101に対する衝突可能性を検知したような場合、コントローラ210は、衝突を避けるための新しい速度制約を生成するか、アクチュエータ241やモータ251に対して、動作を止める指示を行う。
(方法例)
次に、図3〜図5を参照して、システムが実行する方法のフローチャートについて説明する。図3に示した処理は、候補ゾーンを生成せず、評価基準のみに基づいて手渡しを行う場合の例である。また、図4および図5に示した処理は、リーチシミュレーションに基づいて候補ゾーンを生成し、評価基準を用いて候補ゾーンをフィルタリングしたうえで物体移動ポーズを決定し、手渡しを行う場合の例である。
まず、図3を参照して、物体188をユーザ101に手渡すための物体移動ポーズ308を生成する方法300の例を示す。
一実施形態において、ゾーンシステム197、ポーズシステム199、またはこれらの組み合わせは、方法300の一つ以上を実行されるようにプログラムされた、プロセッサベースのコンピュータであってもよい。
まず、ステップ302で、ユーザデータ192を受信する。
次に、ステップ306で、物体データ194を受信する。
次に、ステップ306で、センサデータ249を受信する。
次に、ステップ308で、物体188をユーザ101に手渡しするための物体移動ポーズを決定する。
次に、ステップ310で、物体188を受け取った後のユーザアクションを決定する。
次に、ステップ311で、物体188をユーザ101に手渡すか否かを決定する。例えば、一つ以上の評価基準を生成し、当該評価基準がユーザ101に対するリスクを示している場合、物体188をユーザ101に手渡さないという決定を行う。
もし、ステップ311で、物体188をユーザ101に手渡さないという決定が行われた場合、方法300は終了するか、他のステップへ遷移する。例えば、方法300はステップ306へ遷移する。
もし、ステップ311で、物体188をユーザ101に手渡すという決定が行われた場合、方法300はステップ312へ進む。
ロボット190は、物体移動ポーズに基づいて、どのように動くかを決定し、ステップ312にて、物体移動ポーズを形成するための駆動を開始する。そして、ユーザ101は、ロボット190から物体188を受け取る。
また、ロボット190は、ユーザ101のリスク評価を継続し、ユーザ101のリスクを減らすような駆動方法を決定し、ユーザ101のリスクを減らすための応答を行う。
次に、図4を参照して、ゾーンデータ276を生成する方法400の例を示す。
一実施形態において、ゾーンシステム197、ポーズシステム199、またはこれらの組み合わせは、方法400の一つ以上を実行されるようにプログラムされた、プロセッサベースのコンピュータであってもよい。
例えば、ゾーンシステム197は、方法400の一つ以上を実行されるようにプログラムされる。また、ゾーンシステム197は、方法400の一つ以上を実行されるようにプログラムされた、特別な目的を持つコンピュータであってもよい。
まず、ステップ402で、センサデータ249を受信する。
次に、ステップ404で、ユーザデータ194を受信する。ユーザデータ194は、例えば、医療データ273や、ユーザ101から明示的に入力されたデータを含む。ユーザ101から明示的に入力されたデータとは、ユーザ101に関する一つ以上の情報を明示的に表したものであってもよい。
次に、ステップ405で、物体データ196を受信する。
次に、ステップ408で、姿勢データ271を生成する。ステップ408では、ユーザ101に対応する生体力学データを生成してもよい。また、ユーザに対応する生体力学データは、姿勢データ271を構成する要素であってもよい。
次に、ステップ410で、ユーザ情報データ272を生成する。
次に、ステップ412で、一つ以上のユーザモデルを表すユーザモデルデータ274を生成する。
次に、ステップ414で、一つ以上のユーザリーチシミュレーションマップを生成する。ユーザリーチシミュレーションマップは、リーチシミュレーションデータ275によっ
て表されてもよい。
次に、ステップ416で、一つ以上のユーザリーチシミュレーションマップを分析し、類似する地点のクラスタを生成する。ステップ416で行われる分析は、反復的な分析であってもよい。
次に、ステップ418で、物体を手渡しする候補ゾーンを表すゾーンデータ276を生成する。ゾーンデータ276によって表される候補ゾーンは、ランク付けされていてもよい。例えば、ゾーンデータ276は、一つ以上の候補ゾーンをランク付けしたリストであってもよい。
次に、図5を参照して、物体移動ポーズを決定する方法500の例を示す。
まず、ステップ502で、センサデータ249を受信する。
次に、ステップ504で、評価基準データ261を生成する。評価基準は、センサデータ249に基づいて生成されてもよい。
次に、ステップ506で、ゾーンデータ276を受信する。
次に、ステップ508で、物体移動ポーズを生成する。物体移動ポーズは、例えば、ゾーンデータ276によって表された候補ゾーンを、評価基準データ261を用いてフィルタリングすることで生成される。このように、候補ゾーンのリストを、現在の監視状態に基づいて更新してもよい。
ステップ510では、物体188を受け取った後のユーザ101のアクションを決定する。
次に、ステップ512で、物体188をユーザ101に手渡すか否かを決定する。例えば、評価基準データ261が、ユーザ101に対する物体の手渡しが、安全ではないか、リスクがあるという状況を示している場合がある。
一実施形態において、ポーズシステム199は、リスクに関する閾値を有している。そして、評価モジュール268は、評価基準データ261を分析し、閾値を超えているか否かを判定する。もし、閾値を超えている場合、方法500はステップ508へ遷移し、評価モジュール268は、リスクを減らせる他の物体移動ポーズを選択する。
このように、方法は、許容できる物体移動ポーズを識別できるまで、所定の回数だけ繰り返されてもよい。もし、許容できる物体移動ポーズが見つからなかった場合、方法500は終了してもよいし、第二の通信ユニット283が、ユーザ101や医療プロバイダ170から新たな指示を仰ぐようにしてもよい。
または、所定の回数だけ繰り返しても、許容できる物体移動ポーズが見つからなかった場合、ポーズシステム199は、センサデータ249を分析し、ユーザ環境198にある平らな面を識別したうえで、ロボット190が、物体を当該平面に移動させ、配置するための駆動と移動ベクトルを決定するようにしてもよい。このようにすることで、ユーザ101が物体を受け取ることができるようになる。
もし、ステップ512において、物体188をユーザ101に手渡しするという決定がされた場合、方法500はステップ516へ遷移し、ロボット190が、物体移動ポーズに従った駆動や動作を開始する。
(ユーザモデルの例)
次に、図6Aを参照して、ユーザ101に対応する生体力学モデル610の例を示す。
符号600は、生体力学モデル610に対応する座標系(X,Y,Z)を表す。
生体力学モデル610は、ユーザ101の各関節における、モーメントおよび力ベクトルの静的な分布を表すものである。生体力学モデル610は、当該生体力学モデルに対応するユーザ101についてのユーザ情報192を含んでいてもよい。例えば、生体力学モデルは、対応するユーザ101の身長および体重を含んでいてもよい。
次に、図6Bを参照して、ユーザ101に対応するリンクモデル620の例を示す。
符号690は、リンクモデル620に対応する座標系(X,Y,Z)を表す。また、符号699は、リンクモデル620に含まれる各リンクの重心を表す。
一実施形態において、リンクモデル620の各リンクは、ユーザ101の関節間にある領域に対応する。例えば、ユーザ101の大腿骨は、ユーザ101の膝と尻の間にあるため、モデル620のリンクによって表すことができる。
一実施形態において、リンクモデル620は、ゾーンシステム197のモデルモジュール208によって、ユーザ情報192や、ユーザ101に対応する生体力学データに少なくとも部分的に基づいて生成される。例えば、リンクモデル620は、以下のうちの一つ以上に基づいて、モデルモジュール208によって生成される。
(1)ユーザ101の身長および体重に関連する、各リンクにおける重さや長さの割合
(2)ユーザ101の身長に関連する、各リンクの重心のオフセット
(3)ユーザ101の各関節における、各軸に沿った可動範囲
一実施形態において、リンクモデル620を表したユーザモデルデータ274は、以下を決定するために、シミュレーションモジュール210によって利用される。
(1)ユーザ101の手にある物体188の重心からスタートする、X,Y,Z軸周りのモーメントを表したリーチシミュレーションデータ275(もしあれば)
(2)ユーザ101の手首から、L5/S1脊椎骨までの、ユーザ101の関節にかかる負荷
(3)ユーザ101の足首から、L5/S1脊椎骨までの、ユーザ101の関節にかかる負荷
一実施形態において、ユーザ101の手にかかる負荷の分布は、モデルモジュール208によって、「ユーザ101が物体188をどのように持つか」に基づいて生成される。また、ユーザ101の足にかかる荷重の分布は、モデルモジュール208によって、「ユーザ101が両足で立っているか否か」を考慮して生成される。
このように、ユーザ情報192、姿勢データ271、ユーザ情報データ272によって表された要素を用いてリンクモデル620を生成するようにしてもよい。
(リーチシミュレーションの例)
次に、図7Aを参照して、図7B〜7Eに表したリーチシミュレーション790,791,791,793を生成するために用いられるユーザリーチシナリオ700の例を示す。
本シナリオ700では、ユーザ720が、テーブル710の上にある物体730に手を伸ばしている。図7B〜7Eは、テーブル710に着席し、物体730に手を伸ばすことで、異なるユーザ720が本シナリオを試みた場合の例である。
図7B〜7Eに示すように、右手を用いて同じ位置に手を伸ばす場合であっても、異なるユーザにそれぞれかかるモーメントには差がある。
異なるユーザ720にかかるモーメントの差は、ユーザ情報192によって表される、ユーザ720の身長、体重、他の生体力学データの違いなどに起因して発生する。
図7B〜7Eに、互いに異なる第一のユーザ720Aおよび第二のユーザ720Bに対応するユーザリーチシミュレーション790,791,792,793の例を示す。
これらのユーザリーチシミュレーション790,791,792,793は、図7Aに示した同じユーザリーチシナリオ700によって手を伸ばす場合に、異なるユーザ720Aおよび720Bの関節に異なるモーメントがかかることを表している。
ユーザリーチシミュレーション790,791,792,793は、ユーザ環境において、ある地点に手を伸ばすユーザ720Aおよび720Bに対応する。
また、ユーザリーチシミュレーション790,791,792,793は、ユーザ環境
において、一つ以上の地点に手を伸ばすユーザ720Aおよび720Bをシミュレーションした結果に基づく。例えば、ユーザリーチシミュレーション790,791,792,793は、ユーザ環境の各地点に手を伸ばすユーザ720Aおよび720Bをシミュレーションした結果に基づく。
なお、ユーザリーチシミュレーション790,791,792,793や候補ゾーンの生成においては、リーチシミュレーション結果の分析をさらに行い、ユーザ環境内の各三次元地点(または六次元地点)に値を割り当ててもよい。
前述した値は、以下のうちの一つ以上に基づいてもよい。
(1)ユーザ環境内のある地点に手を伸ばしたユーザ720A,720Bの関節にかかるモーメントや力
(2)ロボットから物体を受け取る際の地点、モーメント、力が、ユーザ情報と適合しているか否か
一実施形態において、値は、シミュレーションモジュール210または候補ゾーンモジュール212によって、ユーザ情報データ272、リーチシミュレーションデータ275の少なくともいずれかに部分的に基づいて決定される。これらのデータは、ユーザリーチシミュレーション790,791,792,793に対応する空間内の三次元または六次元座標に手を伸ばした際にユーザの一つ以上の関節にかかるモーメントや力を表すデータを含む。
このように、ゾーンシステム197は、ユーザ環境における各地点を考慮して、ユーザの関節にかかるモーメントや力を最小化し、かつ、ユーザ情報に適合する地点のゾーンを決定してもよい。
次に、図8を参照して、ユーザの後続アクションのシミュレーション結果である、シミュレーション890,891,893の三次元空間における例800を示す。
シミュレーション890,891,893は、ユーザがロボットから物体を受け取った後の異なるポーズの例を示したものである。
シミュレーション890は、運動モデルに基づいた物体移動ポーズを用いた場合における、ロボットから物体を受け取った後のユーザのポーズの例を表す。当該物体移動ポーズは、モーメントのユーザの関節への影響があるため、医療プロバイダによって、望ましくないものとならないように考慮される。
シミュレーション891は、前述した方法300,400,500と、前述した技術によって決定された物体移動ポーズを用いた場合における、ロボットから物体を受け取った後のユーザのポーズの例を表す。例えば、ロボットのポーズは、あるユーザに対応した生体力学モデルであって、ユーザ情報を表す入力や、医療プロバイダによって提供された入力を含む生体力学モデルに部分的に基づいたものである。
シミュレーション891に示した姿勢は、より快適で、便利な手渡しポーズをもたらすように、医療プロバイダによって望ましいと考えられたものである。例えば、ロボットのポーズシステムは、手渡しイベントの後、ユーザがカップの中身を飲むということを知っている。シミュレーション893は、姿勢891をとった後において、カップの飲み物を飲んでいるユーザを表したものである。
以上の説明では、本発明を十分に理解できるように、多くの詳細について説明した。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。例えば、実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
本明細書における「一実施形態」または「他の実施形態」等という用語は、その実施形
態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「1つの実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
本明細書の詳細な説明の一部は、非一時的(non-transitory)なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において(また一般に)アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算(処理)」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的(電子的)量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー(登録商標)ディスク・光ディスク・CD−ROM・MOディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などのコンピュータ可読記憶媒体に記憶される。
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも1つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容
量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
入力/出力(I/O)装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはI/Oコントローラを介して直接あるいは間接的にシステムに接続される。
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット(登録商標)は、現在利用可能なネットワークアダプタのほんの一例である。
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
101 ユーザ
105 ネットワーク
107 サーバ
170 医療プロバイダ
188 物体
190 ロボット
192 ユーザデータ
194 物体データ
196 センサ
197 ゾーンシステム
199 ポーズシステム
202 第一の通信モジュール
204 姿勢モジュール
206 ユーザ情報モジュール
208 モデルモジュール
210 シミュレーションモジュール
212 候補ゾーンモジュール
225 第一のプロセッサ
227 第一のメモリ
241 アクチュエータ
243 モバイルハードウェア
245 第一の通信ユニット
248 センサモジュール
251 モータ
262 第二の通信モジュール
264 判定モジュール
266 後続アクションモジュール
268 評価モジュール
281 第二のメモリ
283 第二の通信ユニット
285 第二のプロセッサ
287 スピーカ
289 コントローラ

Claims (13)

  1. ロボットを用いて、ユーザ環境内に位置するユーザに物体を手渡すシステムが実行する方法であって、
    前記ユーザ環境内にある地点にユーザが手を伸ばした場合における、当該ユーザの関節にかかるモーメントを表したデータであるシミュレーションデータを取得するシミュレーションデータ取得ステップと、
    前記シミュレーションデータを分析し、前記ユーザが、前記ユーザ環境内の三次元座標に手を伸ばした場合における、当該ユーザの関節にかかるモーメントを表す値を、前記三次元座標と関連付ける評価ステップと、
    前記三次元座標に関連付いた値に基づいて、前記ユーザ環境内において前記ロボットが前記ユーザに物体を手渡す領域の候補である候補ゾーンを生成する、候補ゾーン生成ステップと、
    を含む方法。
  2. 前記物体を受け取るユーザにかかる負荷、または、ユーザの快適性に影響を与える要素に関するデータであるユーザ情報データを取得するユーザ情報データ取得ステップをさらに含み、
    前記評価ステップでは、前記ユーザ情報データに基づいた適合度を表す値を、前記三次元座標にさらに関連付ける、
    請求項1に記載の方法。
  3. 前記ユーザ情報データは、前記ユーザに対する医学的情報に基づいて生成されたデータ、または、前記ユーザをセンシングした結果に基づいて生成されたデータである、
    請求項2に記載の方法。
  4. 前記評価ステップでは、前記モーメントを表す値、および、前記適合度を表す値を複数の前記三次元座標に関連付け、
    前記候補ゾーン生成ステップでは、前記三次元座標を、当該三次元座標に関連付けられた値、または、ユーザ環境内における位置に基づいてクラスタリングすることで、候補ゾーンを生成する、
    請求項2または3に記載の方法。
  5. 前記候補ゾーン生成ステップで生成されたクラスタが複数ある場合に、当該クラスタにて物体を手渡した場合におけるリスクまたは快適性を評価し、当該評価の結果に基づいて、各クラスタにスコアを付与するスコア付与ステップをさらに含む、
    請求項4に記載の方法。
  6. 前記スコア付与ステップでは、評価対象のクラスタにおいて物体を手渡した場合に、ユーザの関節にかかる負荷が少ないほど、より高いスコアを当該クラスタに付与する、
    請求項5に記載の方法。
  7. 前記シミュレーションデータ取得ステップは、
    前記ユーザの姿勢を表す第一の身体データを取得するステップと、
    前記ユーザの身体的特徴を表す第二の身体データを取得するステップと、
    前記第一および第二の身体データに基づいて、前記ユーザの身体をモデルで表したデータであるユーザモデルを生成するステップと、
    前記ユーザモデルを用いてシミュレーションを行うことで、前記シミュレーションデータを生成するステップと、
    からなる、請求項1から6のいずれかに記載の方法。
  8. 前記ユーザモデルは、生体力学モデルまたはリンクモデルのいずれかである、
    請求項7に記載の方法。
  9. 生成した前記候補ゾーンに基づいて、前記ロボットが前記物体を前記ユーザに手渡しする際にとる姿勢である物体移動ポーズを決定する決定ステップと、
    前記物体移動ポーズに基づいて、ロボットの駆動を行う駆動ステップと、をさらに含む、
    請求項1から8のいずれかに記載の方法。
  10. ロボットを用いて、ユーザ環境内に位置するユーザに物体を手渡すシステムが実行する方法であって、
    前記ユーザ環境内において前記ロボットが前記ユーザに物体を手渡す領域の候補である複数の候補ゾーンを生成する、候補ゾーン生成ステップと、
    前記候補ゾーンにて物体を手渡した場合におけるリスクまたは快適性を評価し、当該評価の結果に基づいて、前記候補ゾーンをフィルタリングするフィルタリングステップと、
    フィルタリング後の候補ゾーンに基づいて、前記ロボットが前記物体を前記ユーザに手渡しする際にとる姿勢である物体移動ポーズを決定する決定ステップと、
    前記物体移動ポーズに基づいて、ロボットの駆動を行う駆動ステップと、
    を含み、
    前記フィルタリングステップでは、前記物体を受け取ったユーザが次に取る行動を推定し、当該推定の結果をさらに用いて、前記候補ゾーンをフィルタリングする、
    方法。
  11. 前記フィルタリングステップでは、前記ユーザ、前記ロボット、前記物体、前記ユーザ環境のうちの一つ以上の状況に基づいて、リスクまたは快適性を評価する、
    請求項10に記載の方法。
  12. ロボットを用いて、ユーザ環境内に位置するユーザに物体を手渡すシステムであって、
    前記ユーザ環境内にある地点にユーザが手を伸ばした場合における、当該ユーザの関節にかかるモーメントを表したデータであるシミュレーションデータを取得するシミュレーションデータ取得手段と、
    前記シミュレーションデータを分析し、前記ユーザが、前記ユーザ環境内の三次元座標に手を伸ばした場合における、当該ユーザの関節にかかるモーメントを表す値を、前記三次元座標と関連付ける評価手段と、
    前記三次元座標に関連付いた値に基づいて、前記ユーザ環境内において前記ロボットが前記ユーザに物体を手渡す領域の候補である候補ゾーンを生成する、候補ゾーン生成手段と、
    を有するシステム。
  13. ロボットを用いて、ユーザ環境内に位置するユーザに物体を手渡すシステムであって、
    前記ユーザ環境内において前記ロボットが前記ユーザに物体を手渡す領域の候補である複数の候補ゾーンを生成する、候補ゾーン生成手段と、
    前記候補ゾーンにて物体を手渡した場合におけるリスクまたは快適性を評価し、当該評価の結果に基づいて、前記候補ゾーンをフィルタリングするフィルタリング手段と、
    フィルタリング後の候補ゾーンに基づいて、前記ロボットが前記物体を前記ユーザに手渡しする際にとる姿勢である物体移動ポーズを決定する決定手段と、
    前記物体移動ポーズに基づいて、ロボットの駆動を行う駆動手段と、
    を有し、
    前記フィルタリング手段は、前記物体を受け取ったユーザが次に取る行動を推定し、当該推定の結果をさらに用いて、前記候補ゾーンをフィルタリングする、
    システム。
JP2015183252A 2014-09-30 2015-09-16 ロボットによる物体手渡しシステム Expired - Fee Related JP6065077B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/502,951 US9469028B2 (en) 2014-09-30 2014-09-30 Robotic handover system natural for humans
US14/502,951 2014-09-30

Publications (2)

Publication Number Publication Date
JP2016068253A JP2016068253A (ja) 2016-05-09
JP6065077B2 true JP6065077B2 (ja) 2017-01-25

Family

ID=55583502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015183252A Expired - Fee Related JP6065077B2 (ja) 2014-09-30 2015-09-16 ロボットによる物体手渡しシステム

Country Status (2)

Country Link
US (1) US9469028B2 (ja)
JP (1) JP6065077B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016080971A1 (en) * 2014-11-18 2016-05-26 Empire Technology Development Llc Relay attack defense support system
US10668623B2 (en) * 2015-05-29 2020-06-02 Abb Schweiz Ag Method and system for robotic adaptive production
US10029698B2 (en) * 2016-07-19 2018-07-24 Futurewei Technologies, Inc. Adaptive passenger comfort enhancement in autonomous vehicles
JP6662746B2 (ja) * 2016-10-07 2020-03-11 ファナック株式会社 機械学習部を備えた作業補助システム
US10740863B2 (en) * 2017-01-09 2020-08-11 nuTonomy Inc. Location signaling with respect to an autonomous vehicle and a rider
US11024289B2 (en) 2017-03-29 2021-06-01 International Business Machines Corporation Cognitive recommendation engine facilitating interaction between entities
EP3626401B1 (en) * 2017-05-17 2024-09-18 Telexistence Inc. Control device, robot control method, and robot control system
US10365653B2 (en) * 2017-06-12 2019-07-30 GM Global Technology Operations LLC Personalized autonomous vehicle ride characteristics
US11365068B2 (en) 2017-09-05 2022-06-21 Abb Schweiz Ag Robotic systems and methods for operating a robot
US10471591B1 (en) 2018-06-01 2019-11-12 X Development Llc Object hand-over between robot and actor
JP7225659B2 (ja) * 2018-10-11 2023-02-21 ソニーグループ株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN112512755A (zh) * 2019-03-01 2021-03-16 谷歌有限责任公司 使用从2.5d视觉数据预测的域不变3d表示的机器人操纵
US11345030B2 (en) * 2019-05-28 2022-05-31 Intel Corporation Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives
CN114770504B (zh) * 2022-04-26 2024-01-30 深圳优地科技有限公司 机器人控制方法、装置、机器人及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337846A (ja) * 2002-05-21 2003-11-28 Sekisui Chem Co Ltd 負担評価システム及び設計支援方法
JP4055477B2 (ja) * 2002-05-31 2008-03-05 マツダ株式会社 ドア操作性評価のためのシミュレーション装置
JP2006123854A (ja) * 2004-11-01 2006-05-18 Matsushita Electric Ind Co Ltd 荷物運搬ロボット
JP2007334446A (ja) * 2006-06-12 2007-12-27 Matsushita Electric Works Ltd 筋負荷評価システム、製品設計支援システム
JP2013022705A (ja) * 2011-07-25 2013-02-04 Sony Corp ロボット装置及びロボット装置の制御方法、コンピューター・プログラム、並びにロボット・システム
JP2013111737A (ja) * 2011-12-01 2013-06-10 Sony Corp ロボット装置及びその制御方法、並びにコンピューター・プログラム
JP2013184273A (ja) * 2012-03-09 2013-09-19 Sony Corp ロボット装置及びロボット装置の制御方法、並びにコンピューター・プログラム
WO2014048444A1 (en) 2012-09-25 2014-04-03 Abb Technology Ag Robot system for human-robot collaboration

Also Published As

Publication number Publication date
US20160089782A1 (en) 2016-03-31
US9469028B2 (en) 2016-10-18
JP2016068253A (ja) 2016-05-09

Similar Documents

Publication Publication Date Title
JP6065077B2 (ja) ロボットによる物体手渡しシステム
JP6657580B2 (ja) ロボットの経路決定方法、システム、およびプログラム
US10507577B2 (en) Methods and systems for generating instructions for a robotic system to carry out a task
US9694496B2 (en) Providing personalized patient care based on electronic health record associated with a user
US10452982B2 (en) Emotion estimating system
JP6439817B2 (ja) 認識的アフォーダンスに基づくロボットから人間への物体ハンドオーバの適合
Koppula et al. Anticipating human activities for reactive robotic response.
JP6927938B2 (ja) クラウドサービスシステムを組み込んだロボットシステム
Arkenbout et al. Robust hand motion tracking through data fusion of 5DT data glove and nimble VR Kinect camera measurements
JP2019032843A (ja) 自動車又は携帯電子装置を使用した能動的且つ自動的なパーソナルアシスタンスを提供するコンピュータベースの方法及びシステム
WO2019136449A2 (en) Error correction in convolutional neural networks
JP5555207B2 (ja) 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
JP2016006611A5 (ja)
US20160279793A1 (en) Robot communication of intent and functioning
JP2020018889A (ja) ロボットによるユーザアシスタンス
Ryumin et al. A multimodal user interface for an assistive robotic shopping cart
JP6015743B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN106575162A (zh) 促成计算设备上基于动态眼睛扭转的眼睛跟踪
KR20170096104A (ko) 다중 사용자 센서 기반 상호작용들
Grewal et al. Autonomous wheelchair navigation in unmapped indoor environments
US20220288781A1 (en) Anticipating User and Object Poses through Task-Based Extrapolation for Robot-Human Collision Avoidance
WO2019102676A1 (ja) 情報処理装置、情報処理方法、およびプログラム
KR101631025B1 (ko) 깊이 카메라를 이용한 손 관절 데이터 추출 방법 및 이를 기록한 기록매체
Alarcón-Aldana et al. A Kinematic Information Acquisition Model That Uses Digital Signals from an Inertial and Magnetic Motion Capture System
US12020193B1 (en) Vision-based hand grip recognition method and system for industrial ergonomics risk identification

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161205

R151 Written notification of patent or utility model registration

Ref document number: 6065077

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees