JP6657580B2 - ロボットの経路決定方法、システム、およびプログラム - Google Patents

ロボットの経路決定方法、システム、およびプログラム Download PDF

Info

Publication number
JP6657580B2
JP6657580B2 JP2015066530A JP2015066530A JP6657580B2 JP 6657580 B2 JP6657580 B2 JP 6657580B2 JP 2015066530 A JP2015066530 A JP 2015066530A JP 2015066530 A JP2015066530 A JP 2015066530A JP 6657580 B2 JP6657580 B2 JP 6657580B2
Authority
JP
Japan
Prior art keywords
user
robot
visually impaired
collision
route
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.)
Active
Application number
JP2015066530A
Other languages
English (en)
Other versions
JP2016062587A (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 JP2016062587A publication Critical patent/JP2016062587A/ja
Application granted granted Critical
Publication of JP6657580B2 publication Critical patent/JP6657580B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0072Transmission between mobile stations, e.g. anti-collision systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/14Receivers specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0294Trajectory determination or predictive filtering, e.g. target tracking or Kalman filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • G06V40/25Recognition of walking or running movements, e.g. gait recognition
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/393Trajectory determination or predictive tracking, e.g. Kalman filtering
    • 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/40476Collision, planning for collision free path

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、人の動きに基づいてロボットの経路を決定する技術に関する。
(関連出願への相互参照)
本出願は、"ROBOT MOTION REPLANNING BASED ON USER MOTION"と題され、2014年9月12日に出願された、米国特許出願第14/485,491号の優先権を主張する。当該出願は、その全体が本明細書中に参照として組み込まれる。
視覚障害を持った人々は、ショッピングセンターや歩道など、公共の場所での行動において、ハンディキャップを有している。例えば、視力がある人は、他の歩行者の歩く方向や速度を知ることができるため、衝突を回避することができるが、視力障害がある人は、これらの情報を得ることができないためである。
既存の技術として、障害物を回避するためのシステムが存在する。しかし、これらのシステムは、障害物が同じ速さで進行するものと仮定しているため、精度に問題があり、時として衝突を発生させることがある。
特許第4576445号公報
本発明は、上記の問題点を考慮してなされたものであり、視覚障害者を誘導する、安全性の高い方法を提供することを目的とする。
上記課題を解決するための、本発明の革新的な一形態に係るシステムは、
視覚障害者と他のユーザとの衝突を避けるため、前記視覚障害者をロボットによって誘導するシステムであって、前記ロボットの現在位置を判定する手段と、視覚障害者および他のユーザの、位置、進行方向、進行速度を表すセンサ情報を取得する手段と、前記視覚障害者および他のユーザの動きを表すモデルであって、前記視覚障害者の経路であるユーザ経路と、前記ロボットの経路であるロボット経路を含むモデルを生成する手段と、前記他のユーザと、前記視覚障害者およびロボットのうちの少なくともいずれかとの衝突を予測するためのマップである安全マップを生成する手段と、前記視覚障害者およびロボットのどちらかに衝突の危険があることを判定する手段と、前記衝突の危険に応じて、前記ユーザ経路またはロボット経路の少なくともいずれかを更新する手段と、を含むことを特徴とする。
また、本発明の革新的な一形態に係る方法は、
視覚障害者と他のユーザとの衝突を避けるため、前記視覚障害者をロボットによって誘導するシステムが実行する方法であって、プロセッサを有するコンピュータを搭載したロボットの現在位置を判定するステップと、視覚障害者および他のユーザの、位置、進行方向、進行速度を表すセンサ情報を取得するステップと、前記視覚障害者および他のユーザの動きを表すモデルであって、前記視覚障害者の経路であるユーザ経路と、前記ロボットの経路であるロボット経路を含むモデルを生成するステップと、前記他のユーザと、前記
視覚障害者およびロボットのうちの少なくともいずれかとの衝突を予測するためのマップである安全マップを生成するステップと、前記視覚障害者およびロボットのどちらかに衝突の危険があることを判定するステップと、前記衝突の危険に応じて、前記ユーザ経路またはロボット経路の少なくともいずれかを更新するステップと、を含むことを特徴とする。
また、これらの形態の一つ以上の他の実装として、方法、システム、装置、これらのためのコンピュータプログラム、その他の実装などが含まれる。
これらの実装例は、以下の特徴のうち一つ以上を任意に含んでいてもよい。
例えば、衝突の危険の有無に応じて、前記ユーザ経路に基づき、前記視覚障害者に指示を行ってもよい。
また、前記ロボットに対して、前記ロボット経路を辿るように指示を行い、前記視覚障害者に対して、前記ユーザ経路に基づいて指示を行ってもよい。
例えば、モデルの生成においては、各ユーザの胴体の向きを時刻の関数として表したデータである胴体ムーブメントデータを取得し、各ユーザの歩行方向を判定し、前記胴体ムーブメントデータに含まれる胴体の向きと、前記歩行方向に基づいて、各ユーザの運動一貫性の大小を判定し、前記運動一貫性に基づいて、人の運動の不確実性を判定してもよい。
また、確率的手法を使用して、前記胴体ムーブメントデータに含まれる胴体の向きと、前記歩行方向との間における分散スケールパラメータを取得し、人の挙動を推定してもよい。
また、前記安全マップの生成においては、前記視覚障害者と、他の各ユーザとの間のペアを生成し、前記ペアを構成するメンバ間の、所定の場所に対する到達時間の差を判定し、前記到達時間の差が、境界パラメータよりも小さいかを判定してもよい。
また、前記到達時間の差が、前記境界パラメータよりも小さい場合に、衝突可能性を増加させ、各ペアに対応する衝突可能性に基づいて、安全マップを生成してもよい。
また、前記到達時間の差が、前記境界パラメータよりも大きい場合に、衝突可能性をゼロに設定し、各ペアに対応する衝突可能性に基づいて、安全マップを生成してもよい。
本明細書において、「データ」という語は、本明細書に記載された関数や操作を受ける任意のデジタルデータを指す語として用いる。
デジタルデータとは、例えば、ネットワークサービスデータ、連結性マップデータ、移動(journey)データ、ユーザプロファイルデータ、時刻同期データ、移動履歴データ、
嗜好階層データ、デッドゾーンデータ、ナビゲーション地図データ、メッシュネットワークデータ、速度データ、二つ以上の構成要素(サーバ、車両システム、モバイルデバイス、クライアントデバイス等)によって共有されるデータ、当該二つ以上の構成要素間で転送されるデータなどであるが、これらに限られない。
本明細書によって開示される発明は、特にいくつかの面において有利である。
例えば、本発明に係るシステムは、より正確で、より少ない衝突をもたらすことができる。更に、本発明に係るロボットは、信頼に値し、人々をより快適にさせることができる。
更に、本発明に係るシステムは、視覚障害者をより多くの場所に出入り可能にするという利点を有している。
なお、本明細書にて述べるシステムの利点はあくまで例であり、他の多数の利点および利益を有し得る。
本発明によると、視覚障害者を誘導する、安全性の高い方法を提供することができる。
ユーザの動きに基づいてロボットの経路を決定するシステムを例示するブロック図である。 ムーブメントシステムを例示するブロック図である。 運動一貫性に基づいてユーザの移動方向を予測する例を示す図である。 ユーザの動きに基づいて経路が変更されるシナリオの例を示す図である。 ユーザの動きに基づいてロボット経路を決定する処理の一例を示すフローチャートである。 モーションのモデルを生成する処理の一例を示すフローチャートである。 安全マップを生成する処理の一例を示すフローチャートである。
(システム概要)
図1は、ある実施形態において、ユーザの動きに基づいて、視覚障害者を誘導するロボットの経路(以下、ロボット経路)を決定するシステム100のブロック図を例示したものである。
システム100は、信号線104を介してネットワーク105に接続されたサーバ107、信号線118を介してネットワーク105に接続されたロボット190からなる。また、符号101は視覚障害者であり、符号103aおよび103bは他のユーザである。
なお、本明細書において、「ユーザ」とは、視覚障害者および一般の歩行者を指す語として用いる。ユーザとは、必ずしも本システムの利用者である必要はない。また、「他のユーザ」とは、視覚障害者またはロボットと衝突する可能性がある一般の歩行者を指す語として用いる。
なお、図1には一人の視覚障害者101、一つのサーバ107、一つのロボット190が示されているが、本発明を適用可能なシステムアーキテクチャは、一人以上の視覚障害者101、一つ以上のサーバ107、一つ以上のロボット190を含むことができる。
さらに、図1には、システム100の構成要素に接続された一つのネットワーク105が示されているが、実際には、様々なタイプの一つ以上のネットワーク105が、これらの構成要素に接続されていてもよい。また、図1には、他のユーザ103aおよび103bの二人が示されているが、ユーザ103は二人以上であってもよい。
ネットワーク105は、有線ネットワークであっても無線ネットワークであってもよく、また、スター型、トークンリング型や当業者に知られているその他の構成を取ることができる。さらにまた、ネットワーク105は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えばインターネット)、または、複数の装置が通信に用いる相互接続されたその他の任意のデータパスであってもよい。さらに別の形態では、ネットワーク105はピアツーピアネットワークであってもよい。ネットワーク105は、複数の異なる通信プロトコルでデータ送信するための通信ネットワークと接続されたり、このような通信ネットワークを含んだりしてもよい。
ある実施形態では、ネットワーク105は、Bluetooth(登録商標)通信ネットワークや、携帯電話通信ネットワークを含み、SMS(ショートメッセージサービス)、MMS(マルチメディアメッセージサービス)、HTTP(ハイパーテキスト転送プロトコル)、直接データ接続、WAP、電子メールなどのデータを送受信する。
ある実施形態では、ネットワーク105は、ロボット190に対してGPSナビゲーションを提供するためのGPS衛星を含んでいてもよい。
また、ネットワーク105は、例えば、3G、4G、LTE、ボイスオーバーLTE(VoLTE)といったモバイルデータネットワーク、他のモバイルデータネットワーク、
または、モバイルデータネットワークの組合せであってもよい。
一実施形態において、ネットワーク105は、異なるネットワークの組合せであってもよい。
ロボット190は、メモリとプロセッサを含むコンピュータであり、例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、個人情報端末(PDA)、モバイル電子メール装置、携帯ゲーム装置、携帯音楽プレーヤ、コネクテッドデバイスやウェアラブルコンピュータ(スマートウォッチ、スマートグラス、フィットネストラッカー等)、一つ以上のプロセッサが内蔵または接続されたテレビ、車両、ネットワーク105へのアクセスが可能なその他の電子機器などである。ロボット190は、必ずしも自律移動体である必要はない。
ロボット190は、ユーザの動きに基づいてロボット経路を決定するためのシステムである、ムーブメントシステム199を備える。
ロボット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(登録商標)等)などである。
一実施形態において、ムーブメントシステム199は、サーバ107にも格納される。図1中の点線は、ムーブメントシステム199がサーバ107に任意に格納されうることを示す。
サーバ107は、メモリとプロセッサを含む。
一実施形態において、ムーブメントシステム199は、その一部がロボット190に、その一部がサーバ107に格納されてもよい。例えば、ロボット190は、自分の位置についての情報をサーバ107に送信し、サーバ107が、ロボット経路を演算および修正し、経路についての指示をロボット190に戻すようにしてもよい。
ムーブメントシステム199は、視覚障害者101および他のユーザ103の動きに基づいてロボット経路を決定するためのコードおよびルーチンを含む。なお、視覚障害者101は、盲目であってもよいし、一時的な視力喪失状態であってもよい。また、視覚障害をもたらす何らかの状態であってもよい。
ムーブメントシステム199は、ロボットの現在位置を取得し、また、視覚障害者および他のユーザの位置、方向、速度を表すセンサ情報を取得する。
また、ムーブメントシステム199は、視覚障害者および他のユーザの動きを表すモデルを生成する。当該モデルは、視覚障害者に対応するユーザ経路と、ロボットに対応するロボット経路を含む。
また、当該モデルは、「他のユーザの動きは、その歩き方によってある程度推定できる」という事実を考慮したものである。例えば、尻を大きく振りながら歩いているユーザは、より予測できない方向に動くことがある。
ムーブメントシステム199は、ロボット、視覚障害者、他のユーザのいずれか同士の衝突を予測するためのマップである安全マップを生成する。例えば、安全マップは、ロボットまたは視覚障害者が、他のユーザと接触する可能性がある位置を表すマップである。安全マップは、視覚障害者の動きを表すモデルに基づいて生成される。
例えば、尻を大きく振りながら歩いているなど、動きに一貫性を示さないユーザは、より不安定な動きをしているとみなされる。結果として、ムーブメントシステム199は、彼らの動きは予測が難しいものであるとして、高い衝突危険性が存在するものと判定する。
ムーブメントシステム199は、視覚障害者やロボットのどちらかに衝突の危険性があることを判定し、衝突の危険性がある場合に、ユーザ経路またはロボット経路の少なくともいずれかを更新する。
一実施形態において、ムーブメントシステム199は、FPGA(Field Programmable
Gate Array)やASIC(Application Specific Integrated Circuit)などのハードウェア、コンピュータのプロセッサで実行可能なソフトウェア、または、それらの組み合わせを用いて実装される。
ある実施形態では、ムーブメントシステム199は、装置とサーバの両方に分散して格納されてもよいし、装置とサーバのいずれかのみに格納されてもよい。
(ムーブメントシステムの例)
図2を参照して、ムーブメントシステム199の例についてより詳しく説明する。
図2は、システム200のブロック図である。システム200は、図1に示したシステム100における、ロボット190およびサーバ107のいずれかである。また、システム200は、例として、ムーブメントシステム199、プロセッサ225、メモリ、通信ユニット245、センサ247、カメラ249、モータ251、モバイルハードウェア253、スピーカ267などを含んでいてもよい。システム200が有する構成要素は、バス220によって通信可能に接続される。
プロセッサ225は、算術論理ユニット、マイクロプロセッサ、汎用コントローラ、または、計算を実行して表示装置に表示信号を提供する他のプロセッサアレイ等を含む。
プロセッサ225は、バス220に結合され、信号線226を介して他の構成要素と通信する。
プロセッサ225は、データ信号を処理し、そのアーキテクチャは、CISC(Complex Instruction Set Computer)、RISC(Reduced Instruction Set Computer)、これら両方の命令セットの組合せとして実装されたアーキテクチャなど様々なアーキテクチャでありうる。なお、図2には一つのプロセッサ225だけが示されているが、複数のプロセッサ225が含まれていてもよい。上記以外のプロセッサ、オペレーティングシステム、センサ、表示装置、あるいは物理的構成も採用可能である。
メモリ227は、プロセッサ225が実行可能な命令やデータを格納する手段である。
メモリ227は、バス220に結合され、信号線228を介して他の構成要素と通信する。格納される命令やデータは、本明細書に示す技術を実行するためのコードを含んでもよい。
メモリ227は、DRAM、SRAM、フラッシュメモリやその他の既存のメモリ装置であってもよい。一実施形態において、メモリ227は、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置や情報記憶の分野において既知のその他の大容量記憶装置などの、非一時的(non-volatile)メモリや永久記憶装置を含んでもよい。
図2に示したように、メモリ227は、モーションデータ292と経路データ297を格納する。メモリ227は、本明細書において説明される機能を提供するための他のデータを格納してもよい。
モーションデータ292は、視覚障害者101、他のユーザ103、ロボット190の位置、方向、速さを表すデータを含むが、これに限定されるものではない。
例えば、モーションデータ292は、センサモジュール204によって決定された位置情報や、胴体ムーブメントデータ(後述)を含む。
モーションデータ292は、モーションエンジン206で生成された、視覚障害者と他のユーザの動きを表すモデルを含んでいてもよい。
また、モーションデータ292は、衝突予測エンジン208で生成された安全マップを含んでいてもよい。
経路データ297は、視覚障害者101に対応するユーザ経路と、ロボット190に対応するロボット経路を含む。
経路データ297は、安全マップを生成し、潜在的衝突を識別する衝突予測エンジン208によって生成される、ユーザ経路とロボット経路のレビジョンを含んでいてもよい。
通信ユニット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への従来型の接続を提供することもできる。
図2に図示された実装例では、ムーブメントシステム199は、通信モジュール202、センサモジュール204、モーションエンジン206、衝突予測エンジン208、コントローラ210と通知モジュール212を含む。
ムーブメントシステム199のこれらのモジュールは、バス220によって互いに通信可能に結合する。
ある実施形態では、ムーブメントシステム199のモジュールは、装置とサーバのいずれかのみに格納されてもよいし、複数の装置やサーバに分散して格納および配信されてもよい。
さらに、本実施形態で述べるコンポーネント、モジュール、サーバの分離は、全ての実
施形態において必要とは限らないことを理解されるべきである。
一実施形態において、記載された構成要素、モジュール、装置またはサーバは、通常、一つの構成要素、モジュール、装置またはサーバに集積されることができる。
センサ247は、物理的な変化を感知する任意の装置である。センサ247は、信号線232を介してバス220に結合されている。
一実施形態において、センサ247はモーションディテクタである。例えば、センサ247は、ロボット190の方向を検出するジャイロスコープである。別の例では、センサ247は、ロボット190の加速度を測るのに用いられる加速度計である。
さらに別の例では、センサ247は、GPSや、無線ネットワークを通じた三角測量等によって位置検出を行う。
一実施形態において、センサ247は、通信モジュール202を介して位置情報をセンサモジュール204に送る。一実施形態において、センサ247は、通信モジュール202を介して位置情報をモーションエンジン206、衝突予測エンジン208、またはコントローラ210に送る。
他の実施形態において、センサ247は、メモリ227の中にモーションデータ292の一部として位置情報を保存する。
一実施形態において、センサ247は深さセンサを含む。
一実施形態において、深さセンサは、例えば赤外線レーザ光のスペックルパターンのような構造化光(structured light)を用いて深さを決定する。
他の実施形態において、深さセンサは、カメラから対象物まで光信号が進むのにかかる時間に基づいて深さを決定する、飛行時間計測式(time-of-flight)の技術を用いて深さを決定する。例えば、深さセンサは、レーザ測距器である。
深さセンサは、段差や、当該段差の範囲を深さとともに検出するのに用いられてもよい。
一実施形態において、センサ247は、深さ情報を、視覚障害者101、他のユーザ103、ロボット190の位置を識別するためにセンサモジュール204に送信し、また、視覚障害者101および他のユーザ103がどの程度の運動一貫性を持っているかを決定するためにモーションエンジン206に送信し、また、ユーザ間の衝突可能性を識別するために衝突予測エンジン208に送信し、あるいは、ロボットに、ロボット経路を辿るように指示する命令を生成するためにコントローラ210に送信する。
他の実施形態において、センサ247は、モーションデータ292の一部として深さデータをメモリ227に格納する。
一実施形態において、センサ247は、音を電気信号に変えるためのマイクを含む。マイクは、視覚障害者101から、「視覚障害者101に指示を提供する」といったリクエストを要求する命令の入力を受け取ってもよい。マイクは、命令を処理するために、電気信号をムーブメントシステム199に送信する。
カメラ249は、信号線234を通してバス220に結合された、画像を取得するための物理デバイスである。一実施形態において、カメラ249は電気的な画像を取り込む。カメラ249は、CCDやCMOSといった、視覚的イメージを電気信号に変換するイメージセンサを含む。
一実施形態において、カメラ249は、電気信号を、視覚障害者101、他のユーザ103、ロボット190の位置を識別するためにセンサモジュール204に送信し、また、視覚障害者101および他のユーザ103がどの程度の運動一貫性を持っているかを決定するためにモーションエンジン206に送信し、また、ユーザ間の衝突可能性を識別するために衝突予測エンジン208に送信し、あるいは、ロボットに、ロボット経路を辿るように指示する命令を生成するためにコントローラ210に送信する。
他の実施形態において、カメラ249は、モーションデータ292の一部として電気信号をメモリ227に格納する。
システム200がロボット190である場合、システム200は、モータ251とモバイルハードウェア253を含む。
モータ251は、モータ251は、信号線236を通してバス220に結合する。また、モバイルハードウェア253は、信号線238を通してバス220に結合する。
モータ251は、モバイルハードウェア253を駆動するためのハードウェアである。また、モバイルハードウェア253は、ロボット190を動かすためのハードウェア(例えば車輪)である。
モータ251とモバイルハードウェア253は、ロボット190を動かすために用いられる。例えば、衝突予測エンジン208が、モータ251に、モバイルハードウェア253を駆動させ、ユーザと危険物との間に位置するロボット190を再配置するよう命令を行う。
スピーカ267は、信号線254を通してバス220に結合された、音声指示を発行するためのオプションのハードウェアである。例えば、システム200がロボット190である場合、スピーカ267は、通知モジュール212から、視覚障害者101に指示を提供するための命令を受信する。
一実施形態において、ムーブメントシステム199のモジュール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は、ムーブメントシステム199とシステム200の他の構成要素との間の通信を処理するためのルーチンを含むソフトウェアである。
一実施形態において、通信モジュール202は、プロセッサ225で実行可能な一組の命令であり、通信を取り扱うために下記の機能を提供する。
通信モジュール202は、信号線222を通してバス220に通信可能に結合してもよい。
通信モジュール202は、通信ユニット245を介して、サーバ107とロボット190との間でデータを送受信する。
例えば、通信モジュール202は、「ユーザ経路が修正されなければ、視覚障害者101が他のユーザ103と衝突する」という情報を、通信ユニット245を介して受信する。
一実施形態において、通信モジュール202は、ムーブメントシステム199の構成要素からデータを受信し、メモリ227に保存する。
一実施形態において、通信モジュール202はメモリ227からデータを取得し、ムーブメントシステム199の一つ以上の構成要素に送信する。
一実施形態において、通信モジュール202は、ムーブメントシステム199の構成要
素間の通信を処理してもよい。例えば、通信モジュール202は、一つのモジュールからデータを取得し、別のモジュールに送信する。
センサモジュール204は、ロボット190の現在の位置を決定し、視覚障害者101と他のユーザ103の位置、方向、速度を表すセンサ情報を取得するためのルーチンを含むソフトウェアである。
一実施形態において、センサモジュール204は、ユーザとロボット190をセンシングするために以下に記す機能を提供する、プロセッサ225で実行可能な一組の命令である。
センサモジュール204は、信号線224を通してバス220に通信可能に結合する。
一実施形態において、センサモジュール204は通信モジュール202を介してカメラ249から画像を取得する。
センサモジュール204は、画像から、ユーザの位置と方向を判定する。
位置は、直交座標系による緯度と経度等によって表されてもよい。また、センサモジュール204は、ユーザの胴の向きを判定し、当該向きからユーザの顔の向きを決定してもよい。
また、センサモジュール204は、カメラ249が取得した画像を用い、ユーザの胴体の方向を連続した画像で比較することで、ユーザの胴体の方向を時刻の関数として表したデータである胴体ムーブメントデータを識別する。モーションエンジン206は、各時刻におけるユーザの胴体の方向を、胴体ムーブメントのタイプを分類するために用いる。
センサモジュール204は、ロボット190の現在の位置を決定する。
例えば、センサモジュール204は、GPSや、WiFi(登録商標)による三角測量信号などによって、ロボット190の位置を決定するために、ロボット190の一部であるセンサ247を用いる。他の例では、センサモジュール204は、カメラ249から画像を取得し、画像中の、ロボット190に対する既知のオブジェクトと比較することでロボット190の現在位置を決定する。
モーションエンジン206は、ユーザのモーションのモデルを生成するためのルーチンを含むソフトウェアである。
一実施形態において、モーションエンジン206は、モーションのモデルを生成するために、以下に記す機能を提供する、プロセッサ225で実行可能な一組の命令である。
モーションエンジン206は、信号線226を通してバス220に通信可能に結合する。
一実施形態において、モーションエンジン206は、視覚障害者101に対応するユーザ経路と、ロボット190に対応するロボット経路を生成する。
一実施形態において、ユーザ経路とロボット経路は同一であるが、視覚障害者101とロボット190との間の距離に基づいて調整されたものである。例えば、ロボット190は、視覚障害者101を危険から保護するために、5フィートだけ先行する経路を辿る。
ユーザ経路は、視覚障害者101から得た情報によって決定されてもよい。
例えば、視覚障害者がロボット190に対して、目的地へ到達するための指示を得るため、マイクとして機能するセンサ247にリクエストを発話するようにしてもよい。
モーションエンジン206は、ユーザリクエストを機械が理解できる言語に翻訳して、それに応じて指示を生成するための、発話をテキストに変換するサブコンポーネントを含んでいてもよい。
他の実施形態において、モーションエンジン206は、視覚障害者101の行動に基づいてユーザ経路を決定する。例えば、視覚障害者101が、月曜日から金曜日までの間、
毎日午前8時に同じ経路をとっている場合、モーションエンジン206は、当該時間に同様の経路を生成する。
モーションエンジン206は、視覚障害者101と他のユーザ103のモーションのモデルを生成する。一実施形態において、モーションエンジン206は、各ユーザに対応する胴体ムーブメントデータを取得してモデルを生成する。
胴体ムーブメントデータは、センサモジュール204から通信モジュール202を介して取得してもよいし、モーションエンジン206が、モーションデータ292の一部としてメモリ227に記憶されたものを取得してもよい。
モーションエンジン206は、胴体ムーブメントデータに基づいて、各ユーザの顔の方向を決定する。そして、顔の方向から、モーションエンジン206は、各ユーザの歩行方向を決定する。
モーションエンジン206は、胴体の方向と歩行方向に基づいて、各ユーザが、高い運動一貫性を持っているか、低い運動一貫性を持っているかを判定する。
低い運動一貫性を持っている人は、尻を大きく振りながら歩いているような人である。すなわち、胴体の方向と歩行方向との間の一貫性が少ない。低い運動一貫性は、運動の不確実性がより高いことを意味する。ユーザが向かっている方向が明確でないためである。
反対に、高い運動一貫性を示す人は、軍隊行進のような歩き方をしている人である。すなわち、胴体の方向と歩行方向との間の一貫性が高い。高い運動一貫性は、運動の不確実性がより低いことを意味する。ユーザは尻に対して垂直な方向に歩いている可能性が高いためである。
一実施形態において、モーションエンジン206は、確率的手法を使用して、胴体ムーブメントデータに含まれる胴体の向きと、現在の動き(歩行方向)との間における分散スケールパラメータを取得ないし更新することにより、人の挙動を推定する。例えば、モーションエンジン206は、確率的手法としてベイジアンフィルタを用いる。
図3Aは、側面図および上面図であり、グラフィック300は、低い運動一貫性305を持つ人と、高い運動一貫性310を持つ人における重みを、ユーザの胴体に対する角度の関数として図示したものである。グラフィック300は、低い運動一貫性を持つユーザが、高い運動一貫性を持つユーザと比べて、より予想できない方向に動くことを示している。
衝突予測エンジン208は安全マップを生成し、衝突の危険性があるかどうかを判定し、衝突の危険性に応じて、経路を更新するためのルーチンを含むソフトウェアである。
一実施形態において、衝突予測エンジン208は、新しい経路を生成するために以下に記す機能を提供する、プロセッサ225で実行可能な一組の命令である。衝突予測エンジン208は、信号線229を通してバス220に通信可能に結合する。
一実施形態において、衝突予測エンジン208は、視覚障害者101および他のユーザ103からなるペアにおける衝突の危険度合いを判定し、当該ペアにおける衝突可能性を判定することによって、安全マップを生成する。
一実施形態において、衝突予測エンジン208は、同様に、ロボット190および他のユーザ103からなるペアを用いて安全マップを生成する。
一実施形態において、衝突予測エンジン208は、視覚障害者と他のユーザとの間でペアを生成する。衝突予測エンジン208は、各ペアのメンバ同士の、所定の地点に対する到達時間の差を判定し、当該到達時間が境界パラメータよりも少ないかを判定する。
例えば、衝突予測エンジン208は、地点X1にいる視覚障害者の移動先を地点X0とする。他のユーザ103は地点X2にいる。このとき、衝突予測エンジン208は、視覚
障害者101の到達時間、すなわち、X1からX0に移動するのにかかる時間(例えば5.5秒とする)を判定する。また、衝突予測エンジン208は、他のユーザ103がX2からX0まで移動するのにかかる到達時間(例えば5.25秒とする)を判定する。
衝突予測エンジン208は、当該到達時間の差が、境界パラメータよりも小さいか否かを判定する。例えば、境界パラメータが0.5秒であって、到達時間の差が0.25秒である場合、0.25秒は0.5という境界パラメータよりも小さい。この場合、衝突予測エンジン208は、衝突可能性を増加させる。
到達時間の差が、境界パラメータよりも大きい場合(例えば1秒である場合)、衝突予測エンジン208は、衝突可能性を0まで減少させる。例えば、境界パラメータが0.75秒であって、到達時間の差が1.5秒である場合、衝突予測エンジン208は、衝突可能性を0に設定する。時間の差が境界パラメータよりも大きいためである。
衝突予測エンジン208が、衝突可能性を生成するために、各ペア(X2…Xn)に対応する到達時間の差の算出をそれぞれ行ったのち、衝突予測エンジン208は、各ペアに対応する衝突可能性に基づいて、安全マップを生成する。
ここで、図3Bを参照し、ユーザの動きに基づいて経路が修正された場合のシナリオを例示する。
環境マップ320は、視覚障害者301a、二人のユーザ301bおよび301c、ロボット190を含んでいる。ユーザ経路321は直線である。本例では、ロボット190の経路は、ユーザ経路321の数秒前方を進むという点を除いて、ユーザ経路321と同一である。
モーションエンジン206は、視覚障害者301a、他のユーザ301bおよび301cのモーションのモデルを生成する。本例では、第一のユーザ301bは、高い運動一貫性が関連付けられた、予測されたモーションベクタ323を有している。また、第二のユーザ301cは、低い運動一貫性が関連付けられた、予測されたモーションベクタ323を有している。
衝突予測エンジン208は、第一のユーザ301bとの衝突可能性が0であって、第二のユーザ301cとの衝突可能性が高いことを予測する安全マップを生成する。
高い衝突可能性は、第二のユーザ301cの位置と、第二のユーザ301cに関連付いた運動の不確実性に基づいて得られたものである。
結果として、衝突予測エンジン208は、第二のユーザ301cとの衝突を避けるため、ユーザ経路を、符号324で示された経路(破線)に変更する。
コントローラ210は、ロボット190にロボット経路を辿るように指示するためのルーチンを含むソフトウェアである。コントローラ210は、信号線229を通してバス220に通信可能に結合する。
一実施形態において、コントローラ210は、可能な限りロボット経路の近傍を辿るように、速さについての制約を生成してもよい。例えば、コントローラ210は、ロボット経路に沿って移動するための方向と速さを決定する。
コントローラ210が速さについての制約を生成したのち、コントローラ210は、モータ251に対して、モバイルハードウェア253を駆動し、ロボット190をロボット経路に沿って動かすための指示を行う。
通知モジュール212は、ユーザ経路に基づいて、指示を視覚障害者に通知するためのルーチンを含むソフトウェアである。
一実施形態において、通知モジュール212は、指示を提供するために以下に記す機能を提供する、プロセッサ225で実行可能な一組の命令である。
また、通知モジュール212は、信号線231を介して、プロセッサ225や、コンピ
ュータ200の他の構成要素と協調や通信を行うように構成される。
通知モジュール212は、衝突予測エンジン208からユーザ経路を受信し、あるいは、メモリ227から経路データ297の一部としてユーザ経路を取得する。
通知モジュール212は、コードを人間が理解できる音声に変換し、通信モジュール202を経由して、通知をスピーカ267に送る。また、一実施形態において、通知モジュール212は、視覚障害者101と、他のユーザ103や障害物とが衝突する可能性がある場合における警告といった、追加の通知を提供する。
(方法)
次に、図4を参照して、ユーザの動きに基づいてロボット経路を決定する方法400の例を示す。
一実施形態において、方法400は、サーバ107またはロボット190に格納されたムーブメントシステム199のモジュールによって実行されてもよい。例えば、ムーブメントシステム199は、センサモジュール204、モーションエンジン206、衝突予測エンジン208、コントローラ210と通知モジュール212を含んでいてもよい。
まず、センサモジュール204が、ロボット190の現在の位置を決定する(ステップ402)。例えば、センサモジュール204は、ロボットの現在の位置を決定するために、センサ247が決定したGPS座標を用いる。
次に、センサモジュール204が、視覚障害者101と他のユーザ103の位置、方向、速さを表すセンサ情報を取得する。(ステップ404)。例えば、センサモジュール204は、センサ247から座標情報を取得、あるいは、センサモジュール204がユーザの位置、方向、速さを取得するために用いるカメラ249から画像を取得する。
次に、モーションエンジン206が、視覚障害者101および他のユーザ103のモーションのモデルであって、視覚障害者に対応するユーザ経路と、ロボット190に対応するロボット経路を含んでいるモデルを生成する(ステップ406)。
当該モデルは、ユーザが有している運動一貫性によって決定される不確実性モデル(uncertainty model)であってもよい。
次に、衝突予測エンジン208が、ロボット、視覚障害者、他のユーザのいずれかの間における衝突を予測するための安全マップを生成する(ステップ408)。
例えば、衝突予測エンジン208は、視覚障害者101および他のユーザ103のペアと、当該ペアにおける到達時間の差に基づいて安全マップを生成する。
次に、衝突予測エンジン208が、視覚障害者およびロボットのどちらかについて、衝突の危険性があるか否かを判定する(ステップ410)。
もし、衝突の危険性がある場合、衝突予測エンジン208が、ユーザ経路とロボット経路の少なくとも片方を更新し(ステップ414)、コントローラ210が、ロボット190に対して、ロボット経路を辿るように指示を行う(ステップ416)。
もし、衝突の危険性が無い場合、コントローラ210は、ロボット190に対して、ロボット経路を辿るように指示を行う(ステップ416)。
次に、通知モジュール212が、ユーザ経路に基づいて視覚障害者に指示を行う(ステップ418)。
そして、ロボットの現在位置を決定し、再度前述した方法が実行される。
図5は、視覚障害者と他のユーザのモーションのモデルを生成する方法500を例示したフローチャートである。
まず、モーションエンジン206が、各ユーザに対応する胴体ムーブメントデータを取得する(ステップ502)。例えば、モーションエンジン206は、ユーザが尻を振って歩いているか、軍隊行進のような歩き方をしているか表すデータを取得する。
次に、モーションエンジン206が、各ユーザの顔の方向を判定する(ステップ504)。
次に、モーションエンジン206が、顔の方向に基づいて、各ユーザの歩行方向を判定する(ステップ506)。
次に、モーションエンジン206が、胴体の方向と歩行方向に基づいて、各ユーザが、低い運動一貫性を示しているか、高い運動一貫性を示しているかを判定する(ステップ508)。
次に、モーションエンジン206が、当該運動一貫性に基づいて、人の動きの不確実性を判定する(ステップ510)。
図6は、安全マップを生成する方法600を例示したフローチャートである。
まず、衝突予測エンジン208が、視覚障害者と他の各ユーザとの間でペアを生成する(ステップ602)。
次に、衝突予測エンジン208が、各ペアのメンバ間における到達時間の差を判定する(ステップ604)。例えば、視覚障害者101が、所定の場所に、他のユーザ103の2秒後に到達する。
次に、衝突予測エンジン208が、到達時間の差が境界パラメータよりも小さいか否かを判定する(ステップ606)。
もし、差が境界パラメータよりも小さい場合、衝突予測エンジン208は、衝突可能性を増加させる(ステップ608)。また、差が境界パラメータよりも大きい場合、衝突予測エンジン208は、衝突可能性を0に設定する(ステップ610)。
次に、衝突予測エンジン208が、各ペアにおける衝突可能性に基づいて、安全マップを生成する(ステップ612)。
以上の説明では、本発明を十分に理解できるように、多くの詳細について説明した。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。例えば、実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
本明細書における「一実施形態」または「他の実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「1つの実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
本明細書の詳細な説明の一部は、非一時的(non-transitory)なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において(また一般に)アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」
「計算」「コンピュータ計算(処理)」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的(電子的)量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー(登録商標)ディスク・光ディスク・CD−ROM・MOディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも1つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
入力/出力(I/O)装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはI/Oコントローラを介して直接あるいは間接的にシステムに接続される。
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット(登録商標)は、現在利用可能なネットワークアダプタのほんの一例である。
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容
を実装するために種々のプログラミング言語を利用できることは明らかであろう。
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
101 視覚障害者
103 ユーザ
105 ネットワーク
107 サーバ
190 ロボット
199 ムーブメントシステム
202 通信モジュール
204 センサモジュール
206 モーションエンジン
208 衝突予測エンジン
210 コントローラ
212 通知モジュール
225 プロセッサ
227 メモリ
245 通信ユニット
247 センサ
249 カメラ
251 モータ
253 モバイルハードウェア
267 スピーカ
292 モーションデータ
297 経路データ

Claims (13)

  1. 視覚障害ユーザと他のユーザとの衝突を避けるため、前記視覚障害ユーザをロボットによって誘導するシステムが実行する方法であって、
    プロセッサを有するコンピュータを搭載したロボットの現在位置を判定するステップと、
    視覚障害ユーザおよび他のユーザの、位置、進行方向、進行速度を表すセンサ情報を取得するステップと、
    前記視覚障害ユーザおよび他のユーザの動きを表すモデルであって、各ユーザの運動一貫性の大小に関する情報を含んだモデルを生成するステップと、
    前記モデルに基づいて、前記他のユーザと、前記視覚障害ユーザおよびロボットのうちの少なくともいずれかとの衝突を予測するためのマップである安全マップを生成するステップと、
    前記視覚障害ユーザおよびロボットのどちらかに衝突の危険があることを判定するステップと、
    前記衝突の危険に応じて、前記視覚障害ユーザの経路であるユーザ経路または前記ロボットの経路であるロボット経路の少なくともいずれかを更新するステップと、
    を含み、
    前記モデルを生成するステップは、
    各ユーザの胴体の向きを時刻の関数として表したデータである胴体ムーブメントデータを取得するステップと、
    各ユーザの歩行方向を判定するステップと、
    前記胴体ムーブメントデータに含まれる胴体の向きと、前記歩行方向に基づいて、各ユーザの運動一貫性の大小を判定するステップと、
    を含む、方法。
  2. 前記衝突の危険の有無に応じて、前記ユーザ経路に基づき、前記視覚障害ユーザに指示を行うステップと、
    をさらに含む、請求項1に記載の方法。
  3. 前記ロボットに対して、前記ロボット経路を辿るように指示を行うステップと、
    前記視覚障害ユーザに対して、前記ユーザ経路に基づいて指示を行うステップと、
    をさらに含む、請求項1に記載の方法。
  4. 確率的手法を使用して、前記胴体ムーブメントデータに含まれる胴体の向きと、前記歩行方向との間における分散スケールパラメータに基づいて、前記運動一貫性の大小を判定する、
    請求項1から3のいずれかに記載の方法。
  5. 前記安全マップを生成するステップは、
    前記視覚障害ユーザと、他の各ユーザとの間のペアを生成するステップと、
    前記ペアを構成するメンバ間の、所定の場所に対する到達時間の差を判定するステップと、
    前記到達時間の差が、境界パラメータよりも小さいかを判定するステップと、
    をさらに含む、請求項1からのいずれかに記載の方法。
  6. 前記到達時間の差が、前記境界パラメータよりも小さい場合に、衝突可能性を増加させ、
    各ペアに対応する衝突可能性に基づいて、安全マップを生成する、
    請求項に記載の方法。
  7. 前記到達時間の差が、前記境界パラメータよりも大きい場合に、衝突可能性をゼロに設定し、
    各ペアに対応する衝突可能性に基づいて、安全マップを生成する、
    請求項5または6に記載の方法。
  8. 請求項1からのいずれかに記載の方法の各ステップをコンピュータに実行させるためのプログラム。
  9. 視覚障害ユーザと他のユーザとの衝突を避けるため、前記視覚障害ユーザをロボットによって誘導するシステムであって、
    前記ロボットの現在位置を判定する手段と、
    視覚障害ユーザおよび他のユーザの、位置、進行方向、進行速度を表すセンサ情報を取得する手段と、
    前記視覚障害ユーザおよび他のユーザの動きを表すモデルであって、各ユーザの運動一貫性の大小に関する情報を含んだモデルを生成する手段と、
    前記モデルに基づいて、前記他のユーザと、前記視覚障害ユーザおよびロボットのうちの少なくともいずれかとの衝突を予測するマップである安全マップを生成する手段と、
    前記視覚障害ユーザおよびロボットのどちらかに衝突の危険があることを判定する手段と、
    前記衝突の危険に応じて、前記視覚障害ユーザの経路であるユーザ経路または前記ロボットの経路であるロボット経路の少なくともいずれかを更新する手段と、
    を含み、
    前記モデルを生成する手段は、
    各ユーザの胴体の向きを時刻の関数として表したデータである胴体ムーブメントデータを取得する手段と、
    各ユーザの歩行方向を判定する手段と、
    前記胴体ムーブメントデータに含まれる胴体の向きと、前記歩行方向に基づいて、各ユーザの運動一貫性の大小を判定する手段と、
    を含む、システム。
  10. 前記衝突の危険の有無に応じて、前記ユーザ経路に基づき、前記視覚障害ユーザに指示
    を行う手段と、
    をさらに含む、請求項に記載のシステム。
  11. 前記ロボットに対して、前記ロボット経路を辿るように指示を行う手段と、
    前記視覚障害ユーザに対して、前記ユーザ経路に基づいて指示を行う手段と、
    をさらに含む、請求項に記載のシステム。
  12. 確率的手法を使用して、前記胴体ムーブメントデータに含まれる胴体の向きと、前記歩行方向との間における分散スケールパラメータに基づいて、前記運動一貫性の大小を判定する、
    請求項9から11のいずれかに記載のシステム。
  13. 前記安全マップを生成する手段は、
    前記視覚障害ユーザと、他の各ユーザとの間のペアを生成する手段と、
    前記ペアを構成するメンバ間の、所定の場所に対する到達時間の差を判定する手段と、
    前記到達時間の差が、境界パラメータよりも小さいかを判定する手段と、
    をさらに含む、請求項9から12のいずれかに記載のシステム。
JP2015066530A 2014-09-12 2015-03-27 ロボットの経路決定方法、システム、およびプログラム Active JP6657580B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/485,491 2014-09-12
US14/485,491 US9452530B2 (en) 2014-09-12 2014-09-12 Robot motion replanning based on user motion

Publications (2)

Publication Number Publication Date
JP2016062587A JP2016062587A (ja) 2016-04-25
JP6657580B2 true JP6657580B2 (ja) 2020-03-04

Family

ID=55453910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015066530A Active JP6657580B2 (ja) 2014-09-12 2015-03-27 ロボットの経路決定方法、システム、およびプログラム

Country Status (2)

Country Link
US (1) US9452530B2 (ja)
JP (1) JP6657580B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10414047B2 (en) * 2015-09-28 2019-09-17 Siemens Product Lifecycle Management Software Inc. Method and a data processing system for simulating and handling of anti-collision management for an area of a production plant
JP6481635B2 (ja) * 2016-02-15 2019-03-13 オムロン株式会社 接触判定装置、制御装置、接触判定システム、接触判定方法及び接触判定プログラム
US10188580B2 (en) * 2016-05-09 2019-01-29 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for providing environment information using an unmanned vehicle
JP6570742B2 (ja) 2016-05-16 2019-09-04 三菱電機株式会社 ロボット動作評価装置、ロボット動作評価方法及びロボットシステム
CN107976199A (zh) * 2016-10-25 2018-05-01 中兴通讯股份有限公司 无人机导航方法、系统及无人机
KR101907548B1 (ko) * 2016-12-23 2018-10-12 한국과학기술연구원 휴먼 추종을 위한 이동로봇의 주행 및 탐색방법
CN107263473A (zh) * 2017-06-19 2017-10-20 中国人民解放军国防科学技术大学 一种基于虚拟现实的人机交互方法
CN107272454A (zh) * 2017-06-19 2017-10-20 中国人民解放军国防科学技术大学 一种基于虚拟现实的实时人机交互方法
CN107291879B (zh) * 2017-06-19 2020-04-28 中国人民解放军国防科学技术大学 一种虚拟现实系统中三维环境地图的可视化方法
CN111491766A (zh) * 2017-12-21 2020-08-04 麦格纳国际公司 用于机器人组件的安全控制模块及其方法
US10612934B2 (en) 2018-01-12 2020-04-07 General Electric Company System and methods for robotic autonomous motion planning and navigation
CN108519779A (zh) * 2018-05-09 2018-09-11 深圳市雅士长华智能科技有限公司 一种用于盲人导航的智能飞行跟随器
CN110850859B (zh) * 2018-08-01 2023-03-07 深圳市优必选科技有限公司 一种机器人及其避障方法和避障系统
DE102018215560A1 (de) * 2018-08-28 2020-03-05 Robert Bosch Gmbh Verfahren zum Koordinieren und Überwachen von Objekten
US11597084B2 (en) 2018-09-13 2023-03-07 The Charles Stark Draper Laboratory, Inc. Controlling robot torque and velocity based on context
US10713744B2 (en) * 2018-10-29 2020-07-14 Toyota Research Institute, Inc. Selective arrival notification system
CN111457931B (zh) * 2019-01-21 2021-09-24 广州汽车集团股份有限公司 自动驾驶车辆的局部路径重规划控制方法、装置、系统及存储介质
CN113812902B (zh) * 2021-11-22 2022-02-18 极限人工智能有限公司 柔性器械末端的控制方法、装置、电子设备及存储介质
WO2023153158A1 (ja) * 2022-02-08 2023-08-17 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム
CN116059424B (zh) * 2023-03-06 2023-06-16 合肥泷睿机器人有限责任公司 一种移动式病毒消杀机器人用导航定位消杀系统
CN117863178B (zh) * 2023-12-29 2024-09-10 睿尔曼智能科技(北京)有限公司 一种多机械臂级联系统控制方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5006988A (en) * 1989-04-28 1991-04-09 University Of Michigan Obstacle-avoiding navigation system
US5687136A (en) * 1996-04-04 1997-11-11 The Regents Of The University Of Michigan User-driven active guidance system
US6671226B1 (en) * 2001-06-01 2003-12-30 Arizona Board Of Regents Ultrasonic path guidance for visually impaired
JP4455417B2 (ja) * 2005-06-13 2010-04-21 株式会社東芝 移動ロボット、プログラム及びロボット制御方法
JP4830438B2 (ja) * 2005-10-04 2011-12-07 トヨタ自動車株式会社 自律移動装置
JP4579191B2 (ja) * 2006-06-05 2010-11-10 本田技研工業株式会社 移動体の衝突回避システム、プログラムおよび方法
JP4576445B2 (ja) * 2007-04-12 2010-11-10 パナソニック株式会社 自律移動型装置および自律移動型装置用プログラム
KR100759056B1 (ko) * 2007-05-03 2007-09-14 인하대학교 산학협력단 초음파 센서를 포함하는 장애물 회피 방향 안내 시스템
JP4413957B2 (ja) * 2007-08-24 2010-02-10 株式会社東芝 移動物体検出装置および自律移動物体
JP4978494B2 (ja) * 2008-02-07 2012-07-18 トヨタ自動車株式会社 自律移動体、及びその制御方法
JP4658155B2 (ja) * 2008-03-17 2011-03-23 株式会社日立製作所 自律移動ロボット装置及び自律移動ロボット装置の回避方法
JP5215740B2 (ja) * 2008-06-09 2013-06-19 株式会社日立製作所 移動ロボットシステム
CN102227749B (zh) * 2009-07-29 2014-07-09 松下电器产业株式会社 移动体检测方法及移动体检测装置
JP2011059905A (ja) * 2009-09-08 2011-03-24 Hiroshima Univ ロボット、制御プログラム、及び記録媒体
CA2720886A1 (en) * 2010-11-12 2012-05-12 Crosswing Inc. Customizable virtual presence system
JP5394597B2 (ja) * 2011-11-09 2014-01-22 パナソニック株式会社 自律移動装置、自律移動方法、及び自律移動装置用のプログラム
JP2013225253A (ja) * 2012-04-23 2013-10-31 Panasonic Corp 自律移動装置、自律移動方法及び自律移動装置用のプログラム

Also Published As

Publication number Publication date
US9452530B2 (en) 2016-09-27
JP2016062587A (ja) 2016-04-25
US20160075023A1 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
JP6657580B2 (ja) ロボットの経路決定方法、システム、およびプログラム
JP6780759B2 (ja) ロボットによるユーザアシスタンス
US9475195B2 (en) Anticipatory robot navigation
JP6642744B2 (ja) 複数のコネクティッド車両による観測値を関連付ける方法
KR102212271B1 (ko) 리턴 여정 지연에 기초하여 사용자에게 교통 경고 제공
US9469028B2 (en) Robotic handover system natural for humans
US9707961B1 (en) Tracking objects within a dynamic environment for improved localization
US20180261012A1 (en) Remote Object Detection and Local Tracking using Visual Odometry
JP6336992B2 (ja) モバイルデバイスのマップ支援センサーベース測位
JP6710525B2 (ja) 端末、表示方法及びプログラム
US20180143649A1 (en) Method and system to manage vehicle groups for autonomous vehicles
US20170155725A1 (en) Platform for enabling remote services
JP2014123348A (ja) 自律的ナビゲーション方法
US8947522B1 (en) Systems and methods to adjust actions based on latency levels
JP2020504872A (ja) 車両の運動を制御するシステム及び方法
US10506381B2 (en) Systems and methods for sensing and locating passive electronic devices
EP3014906B1 (en) Human-like global positioning system (gps) directions
US10694331B1 (en) Mobile device navigation with counterpart device identification
US20210116261A1 (en) Systems and methods for vehicle-occupancy-based and user-preference-based smart routing and autonomous volumetric-occupancy measurement
US11644320B2 (en) Intersection-based routing
US10410416B2 (en) Collective navigation for virtual reality devices
US20210190529A1 (en) Adaptive, imitative navigational assistance
CN114111776A (zh) 定位方法及相关装置
JP2016224302A (ja) 視線誘導装置、視線誘導方法、および視線誘導プログラム
US20230267718A1 (en) Systems and methods for training event prediction models for camera-based warning systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190816

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: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200120

R151 Written notification of patent or utility model registration

Ref document number: 6657580

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151