(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-27
(45)【発行日】2024-01-11
(54)【発明の名称】通行人追従型の移動ロボットの誘導
(51)【国際特許分類】
G05D 1/43 20240101AFI20231228BHJP
【FI】
G05D1/02 H
【外国語出願】
(21)【出願番号】P 2018061282
(22)【出願日】2018-03-28
【審査請求日】2020-03-30
【審判番号】
【審判請求日】2022-01-11
(73)【特許権者】
【識別番号】000221616
【氏名又は名称】東日本旅客鉄道株式会社
(73)【特許権者】
【識別番号】517290707
【氏名又は名称】ボストン インキュベーション センター エルエルシー
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】アサダ, ハルヒコ ハリー
【合議体】
【審判長】刈間 宏信
【審判官】田々井 正吾
【審判官】大山 健
(56)【参考文献】
【文献】特開2011-054082(JP,A)
【文献】国際公開第2016/170635(WO,A1)
【文献】特開2006-146551(JP,A)
【文献】特開2006-059015(JP,A)
【文献】特開2011-224679(JP,A)
【文献】特開平05-297944(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - G05D 1/12
(57)【特許請求の範囲】
【請求項1】
移動ロボットを当該移動ロボットの前方、後方、側方のそれぞれを歩行者で囲まれ混雑した環境内で移動させる一以上のアクチュエーターを備える当該移動ロボットと、
前記移動ロボット上に設けられ、当該移動ロボットから距離Rの円内の複数の歩行者の存在を示す第1の信号群を生成する一以上のセンサーシステムと、
前記第1の信号群に基づいて、前記複数の歩行者各々の前記歩行者で混雑した環境に対する位置及び速度を推定するように構成された移動センサーベースの群集分析モジュールと、
前記複数の歩行者の中から追従する第1の歩行者を、前記歩行者で混雑した環境内の前記移動ロボットの位置と、前記複数の歩行者各々の前記位置及び速度と、前記歩行者で混雑した環境内の前記移動ロボットの所望の目的位置と、を考慮した費用関数であって、当該複数の歩行者各々に関連付けられた前記移動ロボットが候補歩行者の軌道を横切るまでに必要な時間
、候補歩行者の軌道の方向と、交差位置から前記所望の目的位置への方向と、の差、並びに、前記移動ロボットの速度と候補歩行者の速度の差を含み、当該交差位置は、前記候補歩行者の前記軌道と、前記移動ロボットの対応する軌道と、が交差する位置である費用関数の値に基づいて選択し、前記移動ロボットを、前記第1の歩行者の任意の距離後ろで当該第1の歩行者の移動軌道と交差する直線的な第1の移動軌道に沿って移動させ、その後、前記第1の歩行者の前記軌道に沿った第2の移動軌道に沿って移動させる制御指令を、前記移動ロボットの前記一以上のアクチュエーターに通信するように構成されたナビゲーションモジュールと、
を備え、
前記ナビゲーションモジュールは、前記制御指令を生成する際、前記移動ロボットの現在位置と、所望の目的位置と、前記移動ロボットから距離Rの円内の複数の歩行者の位置及び速度と、に基づいて、前記第1の歩行者の後ろを移動して追従するための前記移動ロボットの所望の速度の判定を行い、当該移動ロボットの現在位置と、当該移動ロボットから距離Rの円内の複数の歩行者の位置及び速度と、のそれぞれが繰り返しサンプリングされるごとに、前記所望の速度を更新する、
ことを特徴とするシステム。
【請求項2】
前記ナビゲーションモジュールは、
更に、前記第1の移動軌道に沿って移動する前記移動ロボットが、第2の移動軌道に沿って移動する第2の歩行者と衝突するか否かを判定するように構成され、
前記第2の歩行者との衝突時間が前記第1の歩行者の移動軌道と交差する交差時間以前であると判定した場合、前記第2の歩行者と衝突すると判定し、前記第1の歩行者に追従しないと決定する、
ことを特徴とする請求項1に記載のシステム。
【請求項3】
前記ナビゲーションモジュールは、更に、前記第1の歩行者の後に追従する第2の歩行者を選択するように構成されていることを特徴とする請求項1に記載のシステム。
【請求項4】
前記歩行者で混雑した環境内の一以上の位置に固定された一以上のセンサーシステムを更に備え、
前記複数の歩行者各々の前記歩行者で混雑した環境に対する前記位置及び速度は、前記一以上の位置に固定された前記一以上のセンサーシステムによって周期的に測定されることを特徴とする請求項1に記載のシステム。
【請求項5】
前記一以上のセンサーシステムは、画像撮影システム、距離測定センサーシステム及びライダーセンサーシステムのいずれかを含むことを特徴とする請求項1に記載のシステム。
【請求項6】
移動ロボットを当該移動ロボットの前方、後方、側方のそれぞれを歩行者で囲まれ混雑した環境内で移動させる一以上のアクチュエーターを備える当該移動ロボットと、
前記移動ロボット上に設けられ、当該移動ロボットから距離Rの円内の複数の歩行者の存在を示す第1の信号群を生成する一以上のセンサーシステムと、
前記第1の信号群に基づいて、前記複数の歩行者各々の前記歩行者で混雑した環境に対する位置及び速度を推定するように構成されたモバイルセンサーベースの群集分析モジュールと、
指示を備える非一時的コンピューター読取可能媒体と、を備え、
コンピューティングシステムが前記指示を実行することにより、当該コンピューティングシステムは、
前記複数の歩行者の中から追従する第1の歩行者を、前記歩行者で混雑した環境内の前記移動ロボットの位置と、前記複数の歩行者各々の前記位置及び速度と、前記歩行者で混雑した環境内の前記移動ロボットの所望の目的位置と、を考慮した費用関数であって、当該複数の歩行者各々に関連付けられた前記移動ロボットが候補歩行者の軌道を横切るまでに必要な時間
、候補歩行者の軌道の方向と、交差位置から前記所望の目的位置への方向と、の差、並びに、前記移動ロボットの速度と候補歩行者の速度の差を含み、当該交差位置は、前記候補歩行者の前記軌道と、前記移動ロボットの対応する軌道と、が交差する位置である費用関数の値に基づいて選択し、
前記移動ロボットを、前記第1の歩行者の任意の距離後ろで当該第1の歩行者の移動軌道と交差する直線的な第1の移動軌道に沿って移動させ、その後、前記第1の歩行者の前記軌道に沿った第2の移動軌道に沿って移動させる制御指令を、前記移動ロボットの前記一以上のアクチュエーターに通信し、
前記制御指令を生成する際、前記移動ロボットの現在位置と、所望の目的位置と、前記移動ロボットから距離Rの円内の複数の歩行者の位置及び速度と、に基づいて、前記第1の歩行者の後ろを移動して追従するための前記移動ロボットの所望の速度の判定を行い、当該移動ロボットの現在位置と、当該移動ロボットから距離Rの円内の複数の歩行者の位置及び速度と、のそれぞれが繰り返しサンプリングされるごとに、前記所望の速度を更新する、
ことを特徴とするシステム。
【請求項7】
前記非一時的コンピューター読取可能媒体は更なる指示を備え、
前記コンピューティングシステムが前記指示を実行することにより、当該コンピューティングシステムは、前記第1の移動軌道に沿って移動する前記移動ロボットが、第2の移動軌道に沿って移動する第2の歩行者と衝突するか否かを判定し、前記第2の歩行者との衝突時間が前記第1の歩行者の移動軌道と交差する交差時間以前であると判定した場合、前記第2の歩行者と衝突すると判定し、前記第1の歩行者に追従しないと決定することを特徴とする請求項
6に記載のシステム。
【請求項8】
前記非一時的コンピューター読取可能媒体は更なる指示を備え、
前記コンピューティングシステムが前記指示を実行することにより、当該コンピューティングシステムは、前記第1の歩行者の後に追従する第2の歩行者を選択することを特徴とする請求項
6に記載のシステム。
【請求項9】
移動ロボットの前方、後方、側方のそれぞれを歩行者で囲まれ混雑した環境内の当該移動ロボットから距離Rの円内の複数の歩行者の存在を示す第1の信号群を生成する工程と、
前記第1の信号群に基づいて、前記複数の歩行者各々の前記歩行者で混雑した環境に対する位置及び速度を推定する工程と、
前記複数の歩行者の中から追従する第1の歩行者を、前記歩行者で混雑した環境内の前記移動ロボットの位置と、前記複数の歩行者各々の前記位置及び速度と、前記歩行者で混雑した環境内の前記移動ロボットの所望の目的位置と、を考慮した費用関数であって、当該複数の歩行者各々に関連付けられた前記移動ロボットが候補歩行者の軌道を横切るまでに必要な時間
、候補歩行者の軌道の方向と、交差位置から前記所望の目的位置への方向と、の差、並びに、前記移動ロボットの速度と候補歩行者の速度の差を含み、当該交差位置は、前記候補歩行者の前記軌道と、前記移動ロボットの対応する軌道と、が交差する位置である費用関数の値に基づいて選択する工程と、
前記移動ロボットを、前記第1の歩行者の任意の距離後ろで当該第1の歩行者の移動軌道と交差する直線的な第1の移動軌道に沿って移動させ、その後、前記第1の歩行者の前記軌道に沿った第2の移動軌道に沿って移動させる制御指令を、前記移動ロボットの一以上のアクチュエーターに通信する工程と、
を含み、
前記制御指令を前記アクチュエーターに通信する工程では、前記制御指令を生成する際、前記移動ロボットの現在位置と、所望の目的位置と、前記移動ロボットから距離Rの円内の複数の歩行者の位置及び速度と、に基づいて、前記第1の歩行者の後ろを移動して追従するための前記移動ロボットの所望の速度の判定を行い、当該移動ロボットの現在位置と、当該移動ロボットから距離Rの円内の複数の歩行者の位置及び速度と、のそれぞれが繰り返しサンプリングされるごとに、前記所望の速度を更新する、
ことを特徴とする方法。
【請求項10】
前記第1の移動軌道に沿って移動する前記移動ロボットが、第2の移動軌道に沿って移動する第2の歩行者と衝突するか否かを判定する工程を更に含み、
前記工程において、前記第2の歩行者との衝突時間が前記第1の歩行者の移動軌道と交差する交差時間以前であると判定した場合、前記第2の歩行者と衝突すると判定し、前記第1の歩行者に追従しないと決定する、
ことを特徴とする請求項
9に記載の方法。
【請求項11】
前記第1の歩行者の後に追従する第2の歩行者を選択する工程を更に含むことを特徴とする請求項
9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本特許出願は、米国特許法第119条の下、2016年11月7日に出願された“NavigationOF Mobile Robots Based OnPassenger Following”と題する米国仮特許出願第62/418,662号に基づく優先権を主張し、その内容全体は、参照により本願に組み込まれる。
【0002】
説明する実施形態は、歩行者で混雑した環境において移動ロボットを誘導するシステム及び方法に関する。
【背景技術】
【0003】
病院や公共交通機関のステーションなどのサービス環境において作動するロボット車両は、頻繁に、混雑した空間で歩行者と衝突することなく自律的に作動することが求められる。歩行者で混雑した環境内を所定経路に沿って進む移動ロボットは、歩行者の通行の流れを著しく阻害し、歩行者と衝突する場合がある。逆に、周囲の歩行者を避けて歩行者で混雑した環境内を進む移動ロボットは、所望の目的位置まで進むことが、仮に不可能でないとしても、困難である。例えば、歩行者間の相互作用は極めて動的な歩行環境につながるため、従来の衝突回避アルゴリズムを採用した移動ロボットでは、衝突のない経路を特定できない場合がある。いくつかの例では、従来の衝突回避アルゴリズムは、各歩行者は一定の速度で移動する、と不正確な推定を行う。歩行者で混雑した環境における移動ロボットの不適切な誘導は、移動ロボットが人のすぐ近くで作動するなど、危険な状況を引き起こす。このような移動ロボットが重量物を運んでいたり、急加速行動可能であったりする場合、特に懸念される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
すなわち、歩行者で混雑した環境における動作の安全性を向上させるため、車輪付きロボット車両の設計及び制御の向上が望まれる。具体的には、歩行者の通行の流れの著しい阻害の回避と所望の目的位置への誘導という相容れない目的の解決策が望まれる。
【課題を解決するための手段】
【0005】
本願では、特定の歩行者を選択し追従することによって、歩行者で混雑した環境において移動ロボットを誘導する方法及びシステムを説明する。特定の歩行者を選択し追従することによって、移動ロボットは効果的に歩行者の流れに加わる。
【0006】
一側面において、ナビゲーションモデルは、付近の歩行者の位置及び速度を特定する測定データを受信する。歩行者の位置及び速度情報と、サービス環境内の移動ロボットの現在位置及び所望位置と、に基づいて、ナビゲーションモデルは、移動ロボットを複数の歩行者のうち一の歩行者に追従させる指令信号を生成する。これにより、移動ロボットは、所望の目的地に自身を進める歩行者の流れに加わる。ナビゲーションモデルは、付近の歩行者の位置及び速度と移動ロボットの現在位置を繰り返しサンプリングすることにより、サービス環境内の歩行者の通行の流れの途絶を最小限に留めて、移動ロボットをサービス環境内の目的位置に導く。いくつかの例では、移動ロボットは、一連の異なる歩行者を選択し追従して、所望の目的位置まで進む。
【0007】
更なる側面において、ナビゲーションモジュールは、一以上の基準(尺度)に基づいて、追従する候補歩行者を選択する。基準の例としては、候補歩行者はロボットの目的地と同じ又は同様の方向に移動しているか、候補歩行者に移動ロボットが「追いつく」のにどのくらいの時間がかかるか、候補歩行者は移動ロボットの所望の速さと比較してどのくらいの速さで移動しているか、が挙げられる。
【0008】
他の更なる側面において、ナビゲーションモデルは、特定の歩行者に追従すると、他の歩行者との衝突を引き起こすか否かを判定する。他の歩行者との衝突を引き起こすと判定した場合、ナビゲーションモデルは、他の追従する候補歩行者を選択する。その結果、このナビゲーションモデルを採用した移動ロボットは、逆又は異なる方向に移動している歩行者との衝突を回避しつつ、同じ又は同様の方向に歩いている歩行者の流れに追従することができる。
【0009】
上記は概要であり、よって必然的に、単純化及び一般化され、詳細は省略されている。当業者であれば、概要は例示的なものであって、いかなる点においても限定するものではないことを理解するであろう。本願で説明する装置及び/又はプロセスのその他の側面、発明的特徴及び効果は、本願に記載の非限定的な詳細な説明により明らかになるであろう。
【図面の簡単な説明】
【0010】
【
図1】少なくとも一の新たな側面における移動ロボット100の実施形態を示す図である。
【
図2】一実施形態における移動ロボット100の上面図である。
【
図3】移動ロボット100の構成要素を示す概略図である。
【
図4】一実施形態におけるナビゲーションエンジン170の例を示す図である。
【
図5】本願で説明する目的地まで進む移動ロボット100を含む歩行者で混雑した環境210を示す図である。
【
図6】候補歩行者iの軌道と、当該第iの歩行者に追従するように制御された移動ロボット100の対応する候補軌道と、を示す
図250である。
【
図7】移動ロボット100が
図6に示す第iの歩行者と交差するための軌道をたどった場合に衝突する、他の歩行者jの軌道を示す
図260である。
【
図8】本願で説明する、歩行者に追従することによって、歩行者で混雑した環境において移動ロボットを誘導する方法300のフローチャートである。
【発明を実施するための形態】
【0011】
本発明の背景例及びいくつかの実施形態について詳細に説明する。実施形態の例を添付の図面に示す。
【0012】
本願では、特定の歩行者を選択し追従することによって、歩行者で混雑した環境において移動ロボットを誘導する方法及びシステムを説明する。歩行者で混雑した環境には、移動する人々の激しい流れが含まれる(例えば、鉄道駅、病院、空港など)。混雑した環境内で同様の方向に移動する歩行者は、集団で移動して歩行者の流れを形成する傾向がある。頻繁に、歩行者は、流れに参加している歩行者の後ろの空きスペースを占領して、当該歩行者にぴったり追従することで、全体的な歩行者の流れをできるだけ妨げずに、集団に加わったり集団から離脱したりすることができる。
【0013】
一側面において、移動ロボットは、特定の歩行者を選択し当該選択された歩行者に追従して効果的に歩行者の流れに加わることによって、歩行者で混雑した環境内を進む。ナビゲーションモデルは、付近の歩行者各々の位置及び速度を特定する測定データを受信する。移動ロボットの現在位置及び所望位置と、歩行者の位置及び速度情報と、に基づいて、ナビゲーションモデルは、移動ロボットを複数の歩行者のうち一の歩行者に追従させる指令信号を生成する。これにより、移動ロボットは、所望の目的地に自身を進める歩行者の流れに加わる。ナビゲーションモデルは、周囲の歩行者の位置及び速度と移動ロボットの現在位置を繰り返しサンプリングすることにより、サービス環境内の歩行者の通行の流れの途絶を最小限に留めて、移動ロボットを目的位置に導く。いくつかの例では、移動ロボットは、一連の異なる歩行者を選択し追従して、所望の目的位置まで進む。
【0014】
更なる側面において、ナビゲーションモデルは、特定の歩行者に追従すると、他の歩行者との衝突を引き起こすか否かを判定する。他の歩行者との衝突を引き起こすと判定した場合、ナビゲーションモデルは、他の追従する候補歩行者を選択する。その結果、このナビゲーションモデルを採用した移動ロボットは、逆又は異なる方向に移動している歩行者に対処するというよりも、同じ又は同様の方向に歩いている歩行者の流れに追従することができる。
【0015】
図1は、一実施形態におけるサービスロボットとして構成された移動ロボット100を示す。移動ロボット100は車輪付きロボット車両101を備える。車輪付きロボット車両101のフレーム105には、駆動輪及び操縦輪が取り付けられている。また、移動ロボット100は、荷物104の運搬のために構成された荷台102を備える。また、移動ロボット100は、荷物104を荷台102に固定し、移動ロボット100のユーザーと対話するように構成された上半身ロボット103を備える。一例として、移動ロボット100は、公共交通機関のステーション(例えば、鉄道駅)で作動し、構内で旅客の荷物運搬を手助けする。他の例として、移動ロボット100は、公共区域で作動し、一般の人々のゴミ処理を手助けする。この例では、荷物104はゴミ容器を含む。
【0016】
図2は、移動ロボット100の車輪付きロボット車両101と荷台102の上面図を示す。
図2に示すように、車輪付きロボット車両101は、駆動輪106A、106Bと、操縦輪106C、106Dを備える。いくつかの実施形態では、操縦輪106C、106Dは、複数の軸を中心に自由に回転する受動輪である。これらの実施形態では、操縦輪106C、106Dは、主に、積荷を地面に対して垂直に支持するように機能する。一方、駆動輪106A、
106Bの回転は、車輪付きロボット車両101の移動軌道を決定する。いくつかの他の実施形態では、操縦輪106C、106Dの地面に垂直な軸を中心とする向きは、能動的に制御される。また、これらの実施形態では、操縦輪106C、106Dは、車輪付きロボット車両101の移動軌道の方向を制御するように機能する。いくつかの他の実施形態では、操縦輪106C、106Dの回転と、操縦輪106C、106Dの地面に垂直な軸を中心とする向きの両方が、能動的に制御される。これらの実施形態では、操縦輪106C、106Dは、車輪付きロボット車両101の移動軌道の方向と、当該移動軌道に沿った速度の両方を制御するように機能する。
【0017】
図1に示すように、移動ロボット100は、画像撮影システム107、距離測定センサーシステム108及びライダー(LIDAR)センサーシステム109を備える。画像撮影システム107は、移動ロボット100近辺の人や物を撮影する一以上の画像撮影装置(例えば、カメラなど)を備える。距離測定センサーシステム108は、移動ロボット100と、移動ロボット100近辺の人や物との距離を推定する一以上の距離測定センサー(例えば、レーザーベース、ソナー、レーダーベースの距離測定センサー)を備える。ライダーセンサーシステム109は、移動ロボット100と、移動ロボット100近辺の人や物との距離を推定する一以上のライダー装置を備える。画像撮影システム107によって収集された画像データ、距離測定センサーシステム108によって収集された距離データ、ライダーセンサーシステム109によって収集された距離データ又は任意の組み合わせを用いて、移動ロボット100近辺の歩行者の存在及び当該歩行者の移動ロボット100に対する位置及び速度を推定する。
【0018】
画像撮影システム、距離測定センサーシステム及びライダーセンサーシステムは、適切な視野で構成される。いくつかの実施形態では、画像撮影システム、距離測定センサーシステム及びライダーセンサーシステムは、移動ロボット100を中心とする360度の視野内の人や物を検知するように構成されている。一方、いくつかの他の実施形態では、画像撮影システム、距離測定センサーシステム及びライダーセンサーシステムの視野は、移動ロボット100を中心とする特定の角度範囲又は角度範囲群に限定される。画像撮影システム、距離測定センサーシステム及びライダーセンサーシステムの視野は、完全に重なるように、部分的に重なるように、又は全く重ならないように構成される。好ましい実施形態では、少なくとも二のセンサーサブシステムの視野が重なり、収集されたセンサーデータに重複が生じる。いくつかの例では、重複データを収集することは、移動ロボット100付近の歩行者の位置及び速度の特定及び推定を向上させる。
【0019】
図1に示す移動ロボット100は、画像撮影システム、距離測定センサーシステム及びライダーセンサーシステムを備えるが、本願で説明するような移動ロボットは、これらのシステムのいずれの組み合わせを備えてもよい。同様に、本願で説明するような移動ロボットは、移動ロボット100付近の歩行者の位置及び速度の特定及び推定に適していれば、いかなるセンサー配置を有してもよい。
【0020】
いくつかの実施形態では、移動ロボット100は、移動ロボット100が収容され作動するサービス環境(例えば、鉄道駅)における移動ロボット100の位置検出に適切な電子機器(図示なし)を備える。一実施形態では、移動ロボット100は、サービス環境内に固定して配置される同様のビーコンと通信する無線(RF)ビーコンを、屋内測位システムの一部として備える。これらのビーコン間の通信に基づいて、移動ロボット100はサービス環境における自身の位置を検出することができる。
【0021】
いくつかの他の実施形態では、画像撮影システム107によって収集された画像データ、距離測定センサーシステム108によって収集された距離データ、ライダーセンサーシステム109によって収集された距離データ又は任意の組み合わせを用いて、サービス環境内の移動ロボットの現在位置を推定する。一例として、画像撮影システム107によって収集された画像データは、サービス環境(例えば、鉄道駅、病院など)内の至る所に固定して取り付けられている基準の画像を含む。基準画像に画像処理操作を行うことによって、コンピューティングシステム200は、サービス環境に係る移動ロボットの位置と向き(例えば、x位置、y位置、Rz方向)を判定する。一例として、基準及び画像処理ソフトウェアは、アメリカ合衆国ミシガン州アナーバー市のミシガン大学のエイプリル・ロボット・ラボラトリー(April Robotics Laboratory)から入手可能である。他の例として、コンピューティングシステム200は、ライダーセンサーシステム109によって収集された距離データから画像を組み立てる。また、サービス環境のイメージマップをメモリー搭載移動ロボット100に記憶させる。コンピューティングシステム200は、SLAM(Simultaneous Localization And Mapping)技術を用いて、組み立てられた画像とサービス環境のイメージマップを比較して、サービス環境内の移動ロボット100の位置を推定する。
【0022】
図3は、コンピューティングシステム200、画像撮影システム107、距離測定センサーシステム108、ライダーセンサーシステム109及び車両用アクチュエーター162を備える移動ロボット100の構成要素を示す図である。
図3に示す実施形態では、コンピューティングシステム200は、画像撮影システム107、距離測定センサーシステム108、ライダーセンサーシステム109及び車両用アクチュエーター162と、有線通信リンクで通信可能に接続されている。しかし、コンピューティングシステム200は、本願で説明するセンサー及び装置と、有線通信リンク、無線通信リンクのいずれで通信可能に接続されてもよい。通常、サービス環境における移動ロボット100の位置の検出や、付近の歩行者及び当該歩行者各々の移動ロボット100に対する位置及び速度の特定を行うセンサーの数がいくつであっても、これらのセンサーはコンピューティングシステム200と通信可能に接続される。
【0023】
図3に示すように、コンピューティングシステム200は、センサーインターフェース110、少なくとも一のプロセッサー120、メモリー130、バス140、無線通信トランシーバー150及び被制御装置インターフェース160を備える。センサーインターフェース110、プロセッサー120、メモリー130、無線通信トランシーバー150及び被制御装置インターフェース160は、バス140を介して通信可能に構成されている。
【0024】
図3に示すように、センサーインターフェース110は、デジタル入力/出力インターフェース112を備える。いくつかの他の実施形態では、センサーインターフェース110は、アナログ→デジタル変換(ADC)電子機器(図示なし)、無線通信トランシーバー(図示なし)又はこれらの組み合わせを備え、センサーシステムと通信して、一以上のセンサーから測定データを受信する。概して、本願で説明するセンサーはデジタル又はアナログセンサーであり、適切なインターフェースによってコンピューティングシステム200と通信可能に接続される。
【0025】
図3に示すように、デジタルインターフェース112は、画像撮影システム107からの信号113、距離測定センサーシステム108からの信号114及びライダーセンサーシステム109からの信号115を受信するように構成されている。この例では、画像撮影システム107は、検出画像を示すデジタル信号113を生成する内蔵電子機器を備える。同様に、距離測定センサーシステム108は、当該距離測定システム108によって得られた距離測定値を示すデジタル信号114を生成する内蔵電子機器を備え、ライダーセンサーシステム109は、当該ライダーセンサーシステム109によって得られた距離測定値を示すデジタル信号115を生成する内蔵電子機器を備える。
【0026】
被制御装置インターフェース160は、適切なデジタル→アナログ変換(DAC)電子機器を備える。また、いくつかの実施形態では、被制御装置インターフェース160は、デジタル入力/出力インターフェースを備える。いくつかの他の実施形態では、被制御装置インターフェース160は、装置と通信するように構成された無線通信トランシーバーを備える。上記通信には制御信号の送信が含まれる。
【0027】
図3に示すように、被制御装置インターフェース160は、制御指令161を車両用アクチュエーター162に送信するように構成されている。車両用アクチュエーター162は、車輪付きロボット車両101を所望の速度(すなわち、速さと進行方向の両方)で歩行者で混雑した環境内を移動させる。
【0028】
メモリー130は、センサー107~109から収集された測定データを記憶するメモリー量131を有する。また、メモリー130は、プログラムコードを記憶するメモリー量132を有する。プロセッサー120は、プログラムコードを実行することで、本願で説明するようなナビゲーション機能を実行する。
【0029】
いくつかの例では、プロセッサー120は、センサーインターフェース110によって生成されたデジタル信号をメモリー131に記憶させるように構成されている。また、プロセッサー120は、メモリー131に記憶されているデジタル信号を読み出して、無線通信トランシーバー150に送信するように構成されている。無線通信トランシーバー150は、コンピューティングシステム200から外部のコンピューティング装置(図示なし)に、無線通信リンクを介してデジタル信号を通信するように構成されている。
図3に示すように、無線通信トランシーバーは、アンテナ151を介して無線信号152を送信する。無線信号152には、コンピューティングシステム200から外部のコンピューティング装置に通信されるデジタル信号を示すデジタル情報が含まれる。一例として、画像撮影装置123によって収集された画像と、距離測定センサーシステム108及びライダーセンサーシステム109によって測定された距離は、移動ロボットの活動をモニタリングするために、外部のコンピューティングシステムに通信される。
【0030】
他の例として、無線通信トランシーバー150は、外部のコンピューティング装置(図示なし)からのデジタル信号を、無線通信リンクを介してコンピューティングシステム200に通信するように構成されている。
図3に示すように、無線通信トランシーバーは、アンテナ151を介して無線信号153を受信する。一例として、無線信号153には、サービス環境内の移動ロボット100の位置を示すデジタル情報が含まれる。
【0031】
一側面において、コンピューティングシステムはナビゲーションエンジンとして構成され、特定の歩行者を選択し追従することによって、歩行者で混雑した環境において移動ロボット100を所望の目的位置へ誘導する。いくつかの例では、コンピューティングシステム200がナビゲーションエンジンとして構成される。他のいくつかの例では、外部のコンピューティングシステムがナビゲーションエンジンとして構成される。
【0032】
図4は、一実施形態におけるナビゲーションエンジン170の例を示す図である。
図4に示すように、ナビゲーションエンジン170は、モバイルセンサーベースの群集分析モジュール171、固定センサーベースの群集分析モジュール172及びナビゲーションモジュール190を備える。モバイルセンサーベースの群集分析モジュール171は、移動ロボット100に取り付けられたセンサーによって生成された信号175を受信する。この例では、信号175には、画像撮影システム107によって収集された画像データ、距離測定センサーシステム108によって収集された距離データ及び
ライダーセンサーシステム109によって収集された距離データが含まれる。
【0033】
モバイルセンサーベースの群集分析モジュール171は信号175を処理し、移動ロボット100近辺の各歩行者の位置及び速度177を判定する。いくつかの例では、モバイルセンサーベースの群集分析モジュール171は、画像データ、距離測定データ、ライダーデータ又はこれらの組み合わせに基づいて、付近の歩行者の時間系列の画像を生成する。移動ロボットに対する付近の歩行者各々の位置及び速度は、各サンプリング時点における画像シーケンスデータから判定される。さらに、歩行者で混雑した環境に対する移動ロボット100の位置及び速度も測定される。モバイルセンサーベースの群集分析モジュール171は、移動ロボットに対する付近の歩行者各々の位置及び速度と、歩行者で混雑した環境に対する移動ロボット100の位置及び速度と、に基づいて、歩行者で混雑した環境に対する付近の歩行者各々の位置及び速度を判定する。いくつかの例では、移動ロボット100の位置及び速度は、搭載されたセンサーによって測定される。一例として、移動ロボット100に搭載された推測航法センサーを用いて、当該移動ロボット100の位置及び速度を常時推定する。他の例として、屋内測位システムを用いて、移動ロボットの位置及び速度を常時推定する。いくつかの他の例では、移動ロボットの位置及び速度は、環境に据え付けられたセンサーに基づいて測定される。
【0034】
図5は、一例としての歩行者で混雑した環境210を示す図である。歩行者で混雑した環境210には、多くの固定構造物239(例えば、建物外壁、回転式ゲートなど)と、環境内を進む多くの歩行者が含まれる。環境
210内の移動ロボット100は、付帯のベクトルが示す特定の速度で移動する。同様に、付近の歩行者213~216は、各々、図示したベクトルが示す速度で移動する。この例では、付近の歩行者213~216はいずれも、移動ロボット100から距離R内の歩行者として特定される。
【0035】
一例として、モバイルセンサーベースの群集分析モジュール171は信号175を処理し、
図5に示す例における移動ロボット100に対する歩行者213~216の各追加サンプリング時点における位置及び速度177を判定する。
【0036】
付近の歩行者は、ナビゲーションのため、任意の適切な方法で特定される。一例として、付近の歩行者は、最も近いN人の歩行者として特定される。ここで、Nは任意の正の整数である。他の例として、付近の歩行者は、移動ロボットの視界に入った全ての歩行者として特定される。
【0037】
固定センサーベースの群集分析モジュール172は、歩行者で混雑した環境内の固定構造物に取り付けられたセンサーによって生成された信号176を受信する。例えば、一以上のカメラ240が、
図5に示す歩行者で混雑した環境210の構造物239に取り付けられている。カメラ240は、固定センサーベースの群集分析モジュール172によって受信される画像データ176を生成する。
【0038】
一例として、信号176には、歩行者で混雑した環境210の時間系列の画像が含まれる。固定センサーベースの群集分析モジュール172は、信号176に基づいて、
図5に示す移動ロボット100と所望の目的地Gの間の歩行者の流れを特定する。他の例として、固定センサーベースの群集分析モジュール172は信号176を処理し、移動ロボット100付近の歩行者の位置及び速度178を判定する。一例として、固定センサーベースの群集分析モジュール172は、付近の歩行者213~216をいずれも、移動ロボット100から距離R内の歩行者として特定する。また、固定センサーベースの群集分析モジュール172は、各サンプリング時点における画像シーケンスデータに基づいて、歩行者で混雑した環境210に対する付近の歩行者213~216の位置及び速度を判定する。
【0039】
一又は複数の異なる種類のセンサーを歩行者で混雑した環境内の固定構造物に取り付けることで、固定センサーベースの群集分析モジュール172による歩行者の速度の推定に適したデータを取得してもよい。センサーとしては、例えば、カメラ、距離測定器、ライダー装置などが用いられる。
【0040】
図4に示すように、モバイルセンサーベースの群集分析モジュール171によって位置及び速度情報177が生成され、固定センサーベースの群集分析モジュール172によって位置及び速度情報178が生成される。これらの情報は、ナビゲーションのベースとなる。あるいは、モバイルセンサーベースの群集分析モジュール171と固定センサーベースの群集分析モジュール172のどちらか一方を、ナビゲーション用位置及び速度情報の生成専用としてもよい。
【0041】
図4に示すように、ナビゲーションモジュール190は、移動ロボットに、選択された歩行者に追従することによって、歩行者で混雑した環境を通って任意の位置から他の位置まで進むことを可能にさせる。ナビゲーションモジュール190は、追従する歩行者の選択と、選択された歩行者の後ろを移動して追従するための移動ロボットの所望の速度191の判定を行う。
ナビゲーションモジュール190は、移動ロボットの現在位置181と、所望の目的位置182と、移動ロボット近辺の歩行者の(例えば、位置及び速度情報177、178よって示される)位置及び速度と、に基づいて、歩行者の選択と移動ロボットの所望の速度(すなわち、速さと操縦角度)の判定を行う。所望の速度191は、指令信号161を生成する(例えば、コンピューティングシステム200に実装された)モーションコントローラー192に通信される。指令信号161は、移動ロボット100の車両用アクチュエーター162に通信され、移動ロボット100を所望の速度191で移動させる。モバイルセンサーベースの群集分析モジュール171からの速度情報177と(例えば、屋内測位システムなどからの)現在位置情報は繰り返しサンプリングされ、所望の速度は繰り返し更新される。このような方法で、ナビゲーションモジュール190は、通行の流れの途絶を最小限に留めて、歩行者で混雑した環境において移動ロボット100を誘導する。
【0042】
図6は、候補歩行者iの軌道と、当該第iの歩行者に追従するように制御された移動ロボット100の対応する候補軌道と、を示す
図250である。
図6に示すように、Rは、移動ロボット100の現在位置であり、座標はX
R
iである。Pは、第iの歩行者の現在位置であり、座標はX
P
iである。R´は、時間Δt
i経過後の移動ロボット100の位置であり、座標はX
R´
iである。同様に、P´は、時間Δt
i経過後の第iの歩行者の位置であり、座標はX
P´
iである。ベクトルb
iは、現時点から時間Δt
i経過するまでの第iの歩行者の軌道を示す。候補者は、速さv
P
iでベクトルb
iの方向に移動する。ベクトルe
iは、Δt
i経過時に第iの歩行者の軌道と交差する移動ロボット100の軌道を示す。移動ロボット100は、速さv
R
iでベクトルe
iの方向に移動する。Δt
i経過時、移動ロボット100の軌道は、候補歩行者の軌道と交差する。この時、移動ロボットは候補歩行者の距離D
Gap後ろに位置する。この時点で、移動ロボット100は候補歩行者の軌道b
iに沿うように軌道e
iを変化させ、距離D
Gap離れて候補歩行者に追従する。Gは、移動ロボット100の目的位置(すなわち、所望の目的地)である。ベクトルe
G
iは、位置R´から位置Gまで一直線の理想の軌道を示す。ΔΦ
Dev
iは、ベクトルb
iが示す候補歩行者の軌道と、ベクトルe
G
iが示す理想の軌道とが成す角度を示す。
【0043】
時間Δt
iの間に第iの歩行者が進む距離は式(1)で、移動ロボット100が進む距離は式(2)で表される。
【数1】
【0044】
図6に示すように、位置Hは、移動ロボット100の位置Rが
現在位置Pにいる第iの歩行者の軌道b
iと直角に交差する位置である。
図6に示すように、ベクトルn
iは、
現在位置Pにいる第iの歩行者の軌道b
iに垂直な方向を示す。距離lは、現時点の移動ロボット100と第iの歩行者のベクトルb
iに沿った方向の距離を示す。距離hは、現時点の移動ロボット100と第iの歩行者のベクトルn
iに沿った方向の距離を示す。時間Δt
iは、式(3)に示すように、
図6に示す直角三角形ΔRHR´にピタゴラスの定理を適用することで算出される。
【0045】
式(3)は、式(4)に示すように書き換え可能である。
【数3】
式(4)をΔt
iについて解くと、式(5)となる。
【数4】
ここで、a = v
P
i2- v
R
i2、b = 1 - D
gap、c = (1 - D
gap)
2 + h
2である。hの値はベクトルドット積の式(6)に基づいて、lの値はベクトルドット積の式(7)に基づいて、算出される。
【数5】
【0046】
交差位置R´の座標位置X
R´
iは、Δt
iの値に基づいて、式(8)で決定される。
【数6】
【0047】
式(1)~(8)で示すように、ナビゲーションモジュール190は、候補歩行者の軌道と交差するまでにかかる時間(すなわち、候補歩行者に「追いつく」のにかかる時間)と、歩行者で混雑した環境内での交差位置と、を推定する。ナビゲーションモジュール190は、数人の候補歩行者(例えば、
図5に示す歩行者213~216)について、この推定を繰り返す。
【0048】
更なる側面において、ナビゲーションモジュール190は、一以上の基準(尺度)に基づいて、追従する候補歩行者を選択する。基準の例としては、候補歩行者はロボットの目的地と同じ又は同様の方向に移動しているか、候補歩行者に移動ロボットが「追いつく」のにどのくらいの時間がかかるか、候補歩行者は移動ロボットの所望の速さと比較してどのくらいの速さで移動しているか、が挙げられる。
【0049】
一例としては、ナビゲーションモジュール190は、各候補歩行者について費用関数の数値を求め、費用関数の最小値と関連付けられた候補歩行者を選択する。一例としての費用関数Jは式(9)で示される。
【数7】
ここで、上付き文字iは、第iの歩行者について費用関数の数値が求められることを示し、Δt
iは、移動ロボットが第iの歩行者に「追いつく」のに必要な時間であり、Φ
dev
iは、第iの歩行者の軌道の、移動ロボットの目的位置Gの方向からのずれ(偏差)であり、V
dは、移動ロボットの所望の速さであり、c
1、c
2、c
3は、費用関数の各項に関連付けられた重み付け係数である。
【0050】
ΔΦ
Dev
iは、式(10)及び式(11)に示すように、既知の単位ベクトルb
i、e
G
iに基づいて、ナビゲーションモジュール190によって推定される。
【数8】
【0051】
他の更なる側面において、ナビゲーションモジュール190は、移動ロボット100が候補歩行者の軌道と交差するための軌道に沿って進んだ場合に、他の歩行者と衝突するか否かを推定する。特定の追従する候補歩行者を選択すると他の歩行者との衝突が起こると判定した場合、ナビゲーションモジュール190は、別の追従する候補歩行者を選択する。
【0052】
図7は、移動ロボット100が
図6に示す第iの歩行者と交差するための軌道をたどった場合に衝突する、他の歩行者jの軌道を示す
図260である。
図6に関して説明した参照ラベルと
図7における共通の参照ラベルは、同一のものを示す。
図7に示すように、Qは、第jの歩行者の現在位置であり、座標はX
Q
jである。Q´は、時間Δt
j経過後の第jの歩行者の位置であり、座標はX
Q´
jである。同様に、R´´は、時間Δt
j経過後の移動ロボット100の位置であり、座標は
X
R´´
i
である。ベクトルb
jは、現時点から時間Δt
j経
過するまでの歩行者jの軌道を示す。第jの歩行者は、速さv
Q
jでベクトルb
jの方向に移
動する。
【0053】
時間Δt
j後に衝突が起こると仮定すると、衝突時の移動ロボット100の位置は式(12)で推定される。
【数9】
【0054】
時間Δt
j経過後の歩行者jの位置は式(13)で推定される。
【数10】
【0055】
衝突の際、時間Δt
jにおいてX
R´´
i = X
Q´
jである。したがって、式(12)と式(
13)は組み合わせることが可能であり、衝突時間Δt
jは、式(14)と式(15)に表されるように特定される。
【数11】
【0056】
この例において、ナビゲーションモジュール190は、第jの歩行者との衝突時間が第iの歩行者との交差時間以前であるか(すなわち、0 ≦ Δtj ≦Δti)否かを判定する。第jの歩行者との衝突時間が第iの歩行者との交差時間以前であると判定した場合、第jの歩行者との衝突のリスクがあるため、ナビゲーションモジュール190は、第iの歩行者に追従しないと決定する。
【0057】
図8は、本願で説明する、移動ロボットによって実施されるにふさわしい方法300のフローチャートを示す。いくつかの実施形態では、移動ロボット100は
図8に示す方法300に応じて動作可能である。ただし、方法300の実施は、
図1~4を参照して説明した移動ロボット100の実施形態に限定されるものではない。これらの図及び対応する説明は例に過ぎず、他の多くの実施形態や動作例も考えられる。
【0058】
ブロック301において、歩行者で混雑した環境内の移動ロボット付近の複数の歩行者の存在を示す信号群を、例えば、移動ロボット100に搭載されたセンサー、周辺環境に据え付けられたセンサー又はこれらの組み合わせにより生成する。
【0059】
ブロック302において、前記第1の信号群に基づいて、複数の歩行者各々の歩行者で混雑した環境に対する位置及び速度を推定する。
【0060】
ブロック303において、複数の歩行者の中から追従する第1の歩行者を選択する。
【0061】
ブロック304において、移動ロボットを第1の移動軌道に沿って移動させる制御指令を移動ロボットの一以上のアクチュエーターに通信する。第1の移動軌道は、第1の歩行者の移動軌道と、第1の歩行者の任意の距離後ろで交差する。その後、制御指令は、移動ロボットを、第1の歩行者の軌道に沿った第2の移動軌道に沿って移動させる。
【0062】
コンピューティングシステム200や外部のコンピューティングシステムは特に限定されないが、パーソナルコンピューターシステム、メインフレームコンピューターシステム、ワークステーション、画像コンピューター、並列プロセッサー又は当技術分野において周知の他の装置を備える。一般に、「コンピューティングシステム」は、記憶媒体に格納された指示を実行する一以上のプロセッサーを有する装置を包含すると広義に定義される。
【0063】
本願で説明したような方法を実行するプログラム指示132は、有線又は無線送信リンクなどの送信媒体を介して送信されてもよい。例えば、
図2に示すように、メモリー130に記憶されたプログラム指示132は、バス140を介してプロセッサー120に送信される。プログラム指示132はコンピューター読取可能媒体(例えば、メモリー130)に記憶される。コンピューター読取可能媒体の例としては、ROM、RAM、磁気ディスク、光ディスク、磁気テープなどが挙げられる。
【0064】
一以上の好ましい実施形態では、上記機能は、ハードウェア、ソフトウェア、ファームウェア又はこれらの任意の組み合わせで実装される。ソフトウェアで実装される場合、上記機能は、一以上の指示又はコードとしてコンピューター読取可能媒体に記憶又は送信される。コンピューター読取可能媒体には、コンピューター記憶媒体と通信媒体が含まれる。通信媒体には、任意の場所から他の場所へコンピュータープログラムを容易に転送可能なあらゆる媒体が含まれる。記憶媒体は、汎用又は専用コンピューターによってアクセスできる入手可能ないずれの媒体であってもよい。このようなコンピューター読取可能媒体は特に限定されず、例えば、RAM、ROM、EEPROM、CD-ROM、その他の光ディスクストレージ、磁気ディスクストレージ、その他の磁気記憶装置、所望のプログラムコード手段の指示又はデータ構造の形態での送信又は記憶に用いることができ、汎用又は専用コンピューターあるいは汎用又は専用プロセッサーによってアクセス可能なその他の媒体などが挙げられる。また、あらゆる接続もコンピューター読取可能媒体と呼ぶにふさわしい。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、又は赤外線、無線通信、マイクロ波などの無線技術を用いて、ウェブサイト、サーバー又は他のリモートソースから送信される場合、この同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線通信、マイクロ波などの無線技術は、上記媒体の定義に含まれる。本発明で用いられる「ディスク」としては、コンパクトディスク(CD)、レーザーディスク、光ディスク、デジタル多目的ディスク(DVD)、フロッピーディスク、ブルーレイディスクなどが挙げられる。なお、英語で「disk」と表記されるディスクは、通常、磁気作用によってデータを再生し、「disc」と表記されるディスクは、レーザーを用いて光学的にデータを再生する。上記の組み合わせも、コンピューター読取可能媒体の範囲に含まれる。
【0065】
以上、教示目的でいくつかの具体的な実施形態を説明したが、本特許文献の教示は一般的適用性を有し、上記の具体的な実施形態に限定されるものではない。したがって、上記実施形態の様々な特徴は、請求項に記載の本発明の範囲から逸脱することなく、多様に変形、適応及び組み合わせることができる。