(58)【調査した分野】(Int.Cl.,DB名)
前記検索手段により前記目的領域へ向かう複数の経路が検出された場合、前記移動手段は、前記複数の経路のうち当該目的領域の外周までの距離が最短の経路に沿って移動する
ことを特徴とする請求項12に記載の移動ロボット。
【発明の概要】
【発明が解決しようとする課題】
【0004】
移動ロボットが使用される環境によっては、サービスの依頼後に目的地が移動してしまう場合や、目的地の詳細な位置を取得することが困難な場合がある。
これに対し本発明は、サービスの依頼後に目的地が移動してしまう場合、または目的地の詳細な位置を取得することが困難な場合であっても、依頼者に向かって移動する技術を提供する。
【課題を解決するための手段】
【0005】
本発明は、
ユーザ端末に表示される地図に入力された目的地を含む目的領域の指定を受け付ける受付手段と、前記目的領域に向けて移動する移動手段と、前記目的領域への移動開始後に、依頼者を探索する探索手段とを有し、前記移動手段は、前記探索された依頼者に向かって移動する移動ロボットを提供する。
【0006】
前記探索手段は、予め定められた合図を行っている人間を、前記依頼者として特定してもよい。
【0007】
前記合図は、前記人間が行うジェスチャーまたは当該人間が発する声であってもよい。
【0008】
この移動ロボットは、前記合図を行っている人間が正当な依頼者であるか認証する認証手段をさらに有し、前記合図を行っている人間が正当な依頼者であると認証された場合、前記探索手段は、当該人間を前記依頼者として特定してもよい。
【0009】
前記探索手段は、前記目的領域内に移動した後、前記依頼者を探索してもよい。
【0010】
前記探索手段は、前記目的領域内への移動後、当該移動を停止した状態で前記依頼者を探索してもよい。
【0011】
前記探索手段は、前記目的領域に向かって移動しながら前記依頼者を探索してもよい。
【0012】
前記探索手段は、前記合図を検知可能な限界距離を有し、前記目的領域までの距離が当該限界距離を下回った後で、前記依頼者を探索してもよい。
【0013】
前記受付手段は、ユーザ端末により受け付けられた前記目的領域の指定を受け付けてもよい。
【0014】
前記受付手段は、予め定められた地図に対して前記目的領域の指定を受け付けてもよい。
【0015】
前記目的領域は、前記地図において指定された地点を中心とし、予め定められた大きさを有してもよい。
【0016】
この移動ロボットは、前記目的領域へ向かう経路を検索する検索手段をさらに有し、前記移動手段は、前記検索手段により検索された経路に沿って移動してもよい。
【0017】
前記検索手段により前記目的領域へ向かう複数の経路が検出された場合、前記移動手段は、前記複数の経路のうち当該目的領域の外周までの距離が最短の経路に沿って移動してもよい。
【0018】
この移動ロボットは、前記移動手段による移動が可能な領域が記録された地図を記憶する記憶手段をさらに有し、前記目的領域が複数の前記移動可能な領域を含む場合、前記移動手段は、当該複数の移動可能な領域のうち前記目的領域の中心に近い領域と重なる領域に向けて移動してもよい。
【0019】
この移動ロボットは、前記依頼者に対応する位置に移動した後に、予め定められたサービスを提供する提供手段をさらに有してもよい。
【0020】
また、本発明は、
ユーザ端末に表示される地図に入力された目的地を含む目的領域の指定を受け付ける受付手段と、前記目的領域に向けて移動する移動手段と、前記目的領域への移動開始後に、依頼者を探索する探索手段とを有し、前記移動手段は、前記探索された依頼者に向かって移動する移動制御システムを提供する。
【発明の効果】
【0021】
請求項1に係る移動ロボットによれば、サービスの依頼後に目的地が移動してしまう場合、または目的地の詳細な位置を取得することが困難な場合であっても、依頼者に向かって移動することができる。
請求項2に係る移動ロボットによれば、ユーザ端末を介する例と比較して依頼者を容易に特定することができる。
請求項3に係る移動ロボットによれば、移動ロボットに直接触れて合図を行う例と比較してより離れた位置から行われた合図を認識することができる。
請求項4に係る移動ロボットによれば、正当な依頼者に対してサービスを提供することができる。
請求項5に係る移動ロボットによれば、常に依頼者を探索し続ける例と比較して移動ロボットの処理負荷を低減することができる。
請求項6に係る移動ロボットによれば、依頼者を探索していることを周囲に報知することができる。
請求項7に係る移動ロボットによれば、依頼者の探索の際に停止する例と比較してより早く目的領域に移動することができる。
請求項8に係る移動ロボットによれば、目的領域までの距離と限界距離との関係によらずに依頼者の探索を開始する例と比較して、依頼者を発見する確率を高めることができる。
請求項9に係る移動ロボットによれば、移動ロボット10に対し直接目的領域の指定を入力する例と比較してより遠隔から目的領域を指定することができる。
請求項10に係る移動ロボットによれば、地図を用いない例と比較してより直感的に目的領域を指定することができる。
請求項11に係る移動ロボットによれば、ユーザが目的領域の大きさを指定する例と比較して目的領域を容易に指定することができる。
請求項12に係る移動ロボットによれば、移動ロボット以外の装置が経路を検索する例と比較して、通信障害等への耐性を向上させることができる。
請求項13に係る移動ロボットによれば、より容易に経路を設定する可能性を高めることができる。
請求項14に係る移動ロボットによれば、ユーザの意図に沿った経路を設定する可能性を高めることができる。
請求項15に係る移動ロボットによれば、ユーザにサービスを提供することができる。
請求項16に係る移動制御システムによれば、サービスの依頼後に目的地が移動してしまう場合、または目的地の詳細な位置を取得することが困難な場合であっても、依頼者に向かって移動することができる。
【発明を実施するための形態】
【0023】
1.構成
図1は、一実施形態に係る移動制御システム1の機能構成を例示する図である。移動制御システム1は、移動ロボット10を含む。移動ロボットは、自律して移動(自律移動)する装置をいい、移動ロボット10は、例えば、サービスを提供するために依頼者のところに自ら経路を特定するなどして移動する装置などである。自律移動するものであればその形状はどのようなものであってもよく、例えば人間型であってもよいし、人間とは異なる形状を有していてもよい。提供されるサービスは、例えば飲料(コーヒーまたは紅茶など)の提供または軽食(菓子等)の提供である。移動ロボット10の目的地を指定する方法には種々のものが考えられるが、それぞれ以下のような問題がある。
【0024】
(1)ユーザ端末(例えばスマートフォン)に表示される地図を用いて目的地を指定する場合。この場合、ユーザ端末のディスプレイの画面が小さいため詳細な地図を表示することが困難であり、そのため地図上で詳細な目的地を特定することができない。地図を拡大すれば詳細な目的地を指定することも可能であるが、地図を拡大するための操作が必要になり煩雑である。
【0025】
(2)移動ロボット10を自分のところに呼び寄せる指示をしたものの、移動ロボット10が来る前に自分の位置が変わってしまった場合。移動ロボット10に移動を開始させる時点では最終的な目的地が確定していないため、詳細な目的地を特定することができない。
【0026】
(3)移動ロボット10に移動を指示したユーザと、実際にサービスを受けるユーザとが異なる場合(例えば自分の上司にコーヒーの提供を依頼する場合)。そもそも移動の指示をするユーザが、サービスを受けるユーザの位置を正確に把握していないこともあり、詳細な目的地を特定することができない。
【0027】
上記(1)〜(3)のような問題に対処するため、本実施形態に係る移動ロボット10は、まず、予め定められたしきい値より大きい面積を有する領域を目的領域(一次ゴールの一例)として定め、目的領域への移動を開始した後で、サービスの提供を受ける者(以下単に「依頼者」という)の詳細な位置を目的地(二次ゴールの一例)として定める。
【0028】
この例で、移動制御システム1は、ユーザ端末20をさらに含む。ユーザ端末20は、ユーザによる目的領域の指定を受け付け、受け付けられた目的位置を移動ロボット10に送信する装置である。
【0029】
移動制御システム1は、記憶手段11、受付手段12、検索手段13、移動手段14、自律移動制御手段15、探索手段16、認証手段17、提供手段18、通信手段19、記憶手段21、受付手段22、通信手段23、および表示手段24を有する。この例で、記憶手段11、受付手段12、検索手段13、移動手段14、自律移動制御手段15、探索手段16、認証手段17、提供手段18、および通信手段19は移動ロボット10に実装されており、記憶手段21、受付手段22、通信手段23、および表示手段24はユーザ端末20に実装されている。
【0030】
ユーザ端末20の記憶手段21は、地図データを記憶する。地図データは、移動ロボット10が移動可能な範囲の地図を示すデータである。受付手段22は、目的領域の指定を受け付ける。目的領域とは目的地を含む領域である。通信手段23は、移動ロボット10と通信する。この例で、通信手段23は、受付手段22により受け付けられた目的領域を特定する情報を移動ロボット10に送信する。表示手段24は、地図等の情報を表示する。
【0031】
移動ロボット10の通信手段19は、ユーザ端末20と通信する。記憶手段11は、地図データを記憶する。地図データは、移動ロボット10が移動可能な範囲の地図を示すデータである。この例で、記憶手段11が記憶する地図データと記憶手段21が記憶する地図データとは同期されている。受付手段12は、目的地を含む領域である目的領域の指定を受け付ける。この例で、受付手段12は、ユーザ端末20から送信された情報(受付手段22により受け付けられた目的領域を特定する情報)を受信することが、目的領域の指定の受け付けに相当する。検索手段13は、目的領域へ向かう経路を検索する。この例で、検索手段13は、記憶手段11に記憶されている地図データを参照して経路を検索する。
【0032】
移動手段14は、移動ロボット10を移動させる。自律移動制御手段15は、移動ロボット10の自律移動のため、移動手段14を制御する。自律移動とは、人間からの詳細な命令無しにロボット自身が判断をして移動することをいう。この例で、自律移動制御手段15は、目的領域に向けて移動するように、移動手段14を制御する。探索手段16は、目的領域の移動開始後に、依頼者を探索する。この例で、探索手段16は、予め定められた合図を行っている人間を依頼者の候補として特定する。認証手段17は、依頼者の候補が正当な依頼者であるか認証する。依頼者の候補が認証された場合、探索手段16は、この依頼者の候補を依頼者として特定する。
【0033】
提供手段18は、予め定められたサービスを提供する。提供手段18は、自動的にサービスを提供するもの(例えば、カップにコーヒーを自動的に注ぎ、コーヒーが注がれたカップを依頼者に自動的に渡すロボット)であってもよいし、単にサービスの提供に係る物品を保持するだけのもの(例えば、コーヒーポットおよびカップが収容された台)であってもよい。
【0034】
図2は、移動ロボット10のハードウェア構成を例示する図である。移動ロボット10は、CPU(Central Processing Unit)101、メモリ102、ストレージ103、通信IF104、駆動系105、センサー群106、表示装置107、電池108、および筐体109を有する。
【0035】
CPU101は、移動ロボット10の他の要素を制御するプロセッサである。メモリ102は、CPU101がプログラムを実行するためのワークエリアとして機能する記憶装置であり、例えばRAM(Random Access Memory)を含む。ストレージ103は、各種のプログラムおよびデータを記憶する記憶装置であり、例えば、SSD(Solid State Drive)またはHDD(Hard Disk Drive)を含む。通信IF104は、予め定められた無線または有線の通信規格(例えば、Wi−Fi(登録商標)、Bluetooth(登録商標)、またはイーサネット(登録商標))に従って他の装置と通信を行う。
【0036】
駆動系105は、移動ロボット10を移動させるための機構であり、例えば、複数のホイール、これらのホイールに取り付けられたタイヤ、これらのホイールを駆動するためのモーター、これらのホイールの向きを変える機構を含む。センサー群106は、自律移動、依頼者の探索、または指示の受け付けに用いられる各種情報を検知するセンサーであり、例えば、TOF(Time of Flight)センサー、ステレオカメラ、熱画像カメラ、マイクロフォン、移動量センサー、および赤外線センサーの少なくとも1つを含む。表示装置107は、各種の情報を表示する装置であり、例えばLCD(Liquid Crystal Display)を含む。電池108は、CPU101および駆動系105等の他の要素を駆動するための電力を供給するものであり、例えばリチウムイオン電池である。筐体109は、CPU101〜電池108等の他の要素を収容および保持するものである。
【0037】
この例で、移動ロボット10はさらに、サービスユニット150を有する。サービスユニット150は依頼者にサービスを提供するためのものであり、例えばコーヒーサーバまたは菓子の保存箱を含む。サービスユニット150は、筐体109に接続される。
【0038】
また、この例で、ストレージ103は、駆動系105を制御して移動ロボット10を自律移動させるためのプログラム(以下「自律移動プログラム」という)およびユーザまたはユーザ端末20の指示に応じて目的地を設定するためのプログラム(以下「移動制御プログラム」という)を記憶する。CPU101がこれらのプログラムを実行することにより、
図1に示した機能が移動ロボット10に実装される。ストレージ103は記憶手段11の一例である。移動制御プログラムを実行しているCPU101は、受付手段12、検索手段13、探索手段16、および認証手段17の一例である。駆動系105は、移動手段14の一例である。自律移動プログラムを実行しているCPU101は、自律移動制御手段15の一例である。サービスユニット150は提供手段18の一例である。通信IF104は通信手段19の一例である。
【0039】
さらに、この例で、ストレージ103は、移動ロボット10が移動可能な領域を示す地図データを記憶する。自律移動プログラムおよび移動制御プログラムは、この地図データを参照して自律移動および目的の設定を行う。
【0040】
図3は、ユーザ端末20のハードウェア構成を例示する図である。ユーザ端末20は、CPU201、メモリ202、ストレージ203、通信IF204、入力装置205、および表示装置206を有するコンピュータ装置、一例としては、携帯端末またはPC(Personal Computer)である。CPU201は、ユーザ端末20の他の要素を制御するプロセッサである。メモリ202は、CPU201がプログラムを実行するためのワークエリアとして機能する記憶装置であり、例えばRAMを含む。ストレージ203は、各種のプログラムおよびデータを記憶する記憶装置であり、例えば、SSDを含む。通信IF204は、予め定められた無線または有線の通信規格に従って他の装置(この例では移動ロボット10)と通信を行う。入力装置205は、ユーザ端末20に対しユーザが指示または情報を入力するための装置であり、例えば、タッチスクリーン、キーパッド、およびマイクロフォンの少なくとも1つを含む。表示装置206は、各種の情報を表示する装置であり、例えばLCDを含む。
【0041】
この例で、ストレージ203は、コンピュータ装置を移動制御システム1におけるユーザ端末として機能させるためのプログラム(以下「クライアントプログラム」という)を記憶する。CPU201がこのプログラムを実行することにより、
図1に示した機能がユーザ端末20に実装される。ストレージ203は記憶手段21の一例である。クライアントプログラムを実行しているCPU201は受付手段22の一例である。通信IF204は通信手段23の一例である。表示装置206は表示手段24の一例である。
【0042】
また、この例で、ストレージ203は、移動ロボット10が移動可能な領域を示す地図データを記憶する。クライアントプログラムは、この地図データを参照して目的領域の指定を受け付ける。なお、ストレージ203に記憶されている地図データとストレージ103に記憶されている地図データとは、予め定められたタイミングで同期される。予め定められたタイミングは、例えば、ユーザ端末20と移動ロボット10との通信接続が確立されたとき、または、前回の同期から予め定められた周期が経過したときである。
【0043】
2.動作
図4は、移動制御システム1の動作の概要を示すシーケンスチャートである。
図4のフローは、例えば、ユーザ端末20においてクライアントプログラムが起動され、ユーザ端末20との通信接続が確立されたことを契機として開始される。なお以下においては、受付手段22等の機能要素を処理の主体として説明するが、これは、その機能要素に対応するハードウェア要素およびソフトウェアが協働してその処理を実行することを意味する。
【0044】
ステップS1において、ユーザ端末20の受付手段22は、ユーザによる目的領域の指定を受け付ける。ステップS2において、受付手段22は、呼び出し命令を移動ロボット10に対して送信する。ステップS3において、移動ロボット10の受付手段12は、ユーザ端末20から呼び出し命令を受け付ける(すなわち呼び出し命令を受信する)。ステップS4において、検索手段13は、目的領域までの経路を検索する。ステップS5において、自律移動制御手段15は、目的領域まで移動するよう移動手段14を制御する。ステップS6において、探索手段16は、依頼者を探索する。ステップS7において、認証手段17は、依頼者を認証する。ステップS8において、探索手段16は、詳細な目的地を決定する。ステップS9において、自律移動制御手段15は、目的地まで移動するよう移動手段14を制御する。ステップS10において、受付手段12は、サービス提供に関する情報の入力を受け付ける。目的地への到達後、提供手段18は、サービスを提供する。以下、各ステップの詳細を説明する。
【0045】
図5は、ステップS1の詳細を例示するフローチャートである。ステップS11において、受付手段22は、呼び出し命令に関する目的領域の指定を受け付けるUI画面を表示する。
【0046】
図6は、目的領域の指定を受け付けるUI画面を例示する図である。このUI画面は、領域91およびボタン92を含む。領域91には、地図が表示される。この地図は、記憶手段21に記憶されている地図データに従って表示されるものであり、移動ロボット10が移動可能な空間的な領域を示すものである。例えば、移動ロボット10が特定の建物の特定のフロアでしか使用されない場合、地図データは、この特定のフロアの情報のみを含んでいれば十分である。地図データは、移動ロボット10が実際に移動可能な領域の位置および大きさを特定する情報を含んでいる。移動可能な領域とは、例えば、通路として設定された領域であり、例えば屋内であれば、家具(例えば、机または本棚等)が配置されていない領域、または移動困難な構造(例えば階段または段差等)を有していない領域である。地図データは、さらに、通路上に置かれる障害物(例えば、植木鉢または一時的に置かれた荷物等)を特定する情報を含んでいてもよい。ボタン92は、移動ロボット10の呼び出しを開始する指示を入力するためのUI要素、すなわち、目的領域を移動ロボット10に送信する指示を入力するためのUI要素である。
【0047】
領域91においては、地図に重ねて、オブジェクト93が表示される。オブジェクト93は、移動ロボット10の位置を示す画像オブジェクトである。移動ロボット10は、センサー群106により検知された情報を用いて、地図における自身の位置を計算している。ユーザ端末20は、移動ロボット10との通信接続を介して移動ロボット10の位置を示す情報(以下単に「位置情報」という)を取得する。表示手段24は、記憶手段21に記憶されている地図データおよび移動ロボット10から取得した位置情報を用いて、
図5のUI画面を表示する。
【0048】
なお、移動制御システム1に含まれる移動ロボットが複数あった場合、表示手段24は、複数の移動ロボットの位置を示す複数の画像オブジェクトを、地図に重ねて表示する。ユーザは、これら複数の画像オブジェクトのうち1つの画像オブジェクトをタッチする等の方法により、呼び出し命令の対象となる移動ロボットを選択する。
【0049】
図7は、ロボット選択のUI画面を例示する図である。この例では、移動制御システム1は、3つの移動ロボットを含む。これら3つの移動ロボットの位置は、地図上において、画像オブジェクト93A、93B、および93Cで表されている。これら3つの移動ロボットは、それぞれ、提供するサービスが異なっている。例えば、画像オブジェクト93Aはコーヒーを提供する移動ロボットを、画像オブジェクト93Bは菓子を提供する移動ロボットを、画像オブジェクト93Cは掃除をする移動ロボットを、それぞれ表している。画像オブジェクト93A〜Cは、それぞれ、提供するサービスを視認できる外観を有している。例えば、画像オブジェクト93A〜Cは、それぞれ、予め定められた色(一例として、コーヒーの提供は黒、菓子の提供は赤、掃除は青)で着色されている。利用できるサービスがユーザ毎に制限されている場合、あるユーザのユーザ端末20に表示されるUI画面は、そのユーザが利用できる移動ロボット10の位置を示す画像オブジェクトだけが表示される。例えば、コーヒーの提供の利用のみが認められ、菓子の提供および掃除の利用が認められていないユーザのユーザ端末20に表示されるUI画面においては、画像オブジェクト93Aのみが表示され、画像オブジェクト93BおよびCは表示されない。なお、この例では、各サービスの利用可否は、ユーザ端末20または各移動ロボット10において判断される。いずれの場合も、ユーザ端末20においてログイン処理等のユーザ認証が行われる。なお、このUI画面において、各移動ロボットに関する情報を地図上に表示してもよい。移動ロボットに関する情報とは、例えば、サービス提供までの待ち時間、移動ロボットの稼働状況(稼働中またはメンテナンス中)、使用料(有料の場合)などである。
【0050】
再び
図5を参照する。ステップS12において、受付手段22は、目的領域を示す画像オブジェクトをユーザの指示に応じて生成する。ステップS13において、表示手段24は、生成した画像オブジェクトを地図上に表示する。ステップS14において、受付手段22は、目的領域の指定を受け付ける。
【0051】
図8は、目的領域を示す画像オブジェクトを例示する図である。この例で、ユーザ端末20は入力装置205および表示装置206としてタッチスクリーンを有している。受付手段22は、ユーザが画面上をタッチした位置に応じて目的領域の指定を受け付ける。具体的には以下のとおりである。
【0052】
受付手段22は、タッチスクリーンにおいてユーザによりタッチされた位置(以下「指定位置」という)の座標を取得する。受付手段22は、指定位置を中心とし、かつ予め定められた半径を有する円の画像オブジェクトを生成する。この半径は、タッチスクリーンの物理的なサイズに応じて定められていてもよい(例えば、座標値で半径100等)し、表示されている地図の縮尺に応じて定められていてもよい(例えば、地図上の大きさとして半径5m等)。この画像オブジェクトが目的領域を表している。表示手段24は、受付手段22により生成された画像オブジェクトを表示する(
図8のオブジェクト94)。
【0053】
再び
図5を参照する。ユーザがボタン92に相当する位置をタッチすると、受付手段22は、呼び出し命令を移動ロボット10に対して送信する(ステップS2)。この呼び出し命令は、目的領域を特定する情報およびユーザを特定する情報を含む。目的領域を特定する情報は、例えば、目標領域の代表点の地図上の座標および半径を含む。代表点は、例えば円の中心である。別の例で、目標領域が矩形である場合、代表点は対角線上の2頂点の座標である。この例で、ユーザは自身の情報を事前にユーザ登録しており、ユーザまたはユーザ端末20にユーザIDが付与される。受付手段22は、このユーザIDを、ユーザを特定する情報として送信する。
【0054】
移動ロボット10の受付手段12は、ユーザ端末20から呼び出し命令を受信する(ステップS3)。受付手段12は、呼び出し命令に含まれる目標領域の座標およびユーザIDを記憶手段11に記憶する。目標領域の座標およびユーザIDの記憶に関し、記憶手段11はFIFO(First In First Out)式の処理を行う。
【0055】
図9は、ステップS4の詳細を例示するフローチャートである。ステップS41において、検索手段13は、記憶手段11から目標領域の座標およびユーザIDを読み出す。ステップS42において、検索手段13は、目標領域までの経路候補を特定する。ステップS43において、検索手段13は、経路候補の中から1つの経路を選択する。
【0056】
図10は、ステップS4における経路検索を例示する図である。この例で、検索手段13は、移動ロボット10の現在位置から目的領域までの最短経路を検索する。ここでいう最短経路とは、移動ロボット10の現在位置から目的領域の外周までの距離が最短の経路をいう。この例では、検索手段13は、まず経路候補として経路1および経路2の2つの経路を経路候補として特定する。出発地から目的値までの経路候補の特定には、周知のアルゴリズムが用いられる。次に、検索手段13は、特定された複数の経路候補の各々について、移動ロボット10の現在位置から目的領域の外周までの距離を計算する。検索手段13は、複数の経路候補の中から距離が最短のものを選択する。検索手段13は、選択された経路を特定する情報およびユーザIDを記憶手段11に記憶する。このユーザIDは、この経路に対応する呼び出し命令を送信したユーザ端末またはそのユーザを特定するものである。なお、ここでは説明のため地図上に経路を図示したが、ユーザ端末20の表示手段24において表示される地図上に経路は表示されない。なお、ユーザ端末20が移動ロボット10から経路を特定する情報を受信し、表示手段24がこれを表示してもよい。
【0057】
図11は、ステップS4における経路検索の別の例を示す図である。この例は、目的領域が複数の移動可能な領域(例えば複数の通路)を含む場合の経路検索を示す。具体的には、目的領域が複数の移動可能な領域を含む場合、検索手段13は、複数の移動可能な領域のうち目的領域の中心に近い領域を含む経路を選択する。より詳細には以下のとおりである。この例で、検索手段13が検索する経路は、
図10で説明した外周までの距離が最短の経路では必ずしもなく、外周までの距離は最短ではなくても、複数の移動可能な領域のうち目的領域94の中心に近い領域と重なる領域を通る経路が少なくとも選択される。さらにそのような経路が複数ある場合は、その経路のうち、移動ロボット10の現在の位置から外周までの距離が最短の経路がさらに選択される。例えば、目的領域が2つの通路にまたがっている場合、
図9の例のように経路を決定したのでは、ユーザの意図とは異なる場所に移動ロボット10が移動する可能性がある。例えば、ユーザが机95の下側の位置を目的地とする意図で目的領域を指定した場合において、地図の縮尺と目的領域の大きさとの関係により目的領域94が机95の上側の通路および下側の通路の双方を含んでしまったときは、移動ロボット10の現在位置(画像オブジェクト93)により近い、机95の上側の通路に移動したのでは、ユーザの意図とは異なる位置に移動ロボット10が移動してしまう。そこでこの例では、複数の移動可能な領域のうち目的領域94の中心に近い領域と重なる領域を通る経路が少なくとも選択される。具体的には、検索手段13は、目的領域94の外周までの経路の候補(
図11の経路1〜4)をまず特定する。検索手段13は、これら経路の候補のうち、目的領域94の中心から遠い通路(上側の通路)を通る経路(この例では経路1および2)を候補から除外する。最後に、検索手段13は、経路の候補(ここでは経路3および4)のうち、移動ロボット10の現在位置からの移動距離が最短のもの(この例では経路3)を選択する。この例によれば、目的領域94が複数の移動可能な領域を含む場合、移動手段14は、複数の移動可能な領域のうち目的領域94の中心に近い領域と重なる領域に向けて移動する。
【0058】
図12は、ステップS5の詳細を示すフローチャートである。ステップS51において、自律移動制御手段15は、記憶手段11から経路を特定する情報およびユーザIDを読み出す。ステップS52において、自律移動制御手段15は、読み出した経路に沿って移動するよう移動手段14を制御する。ステップS53において、自律移動制御手段15は、設定された経路の終点に達したか判断する。終点に達していないと判断された場合(S53:NO)、自律移動制御手段15は、処理をステップS52に移行する。終点に達したと判断された場合(S53:YES)、自律移動制御手段15は、処理をステップS54に移行する。
【0059】
ステップS54において、自律移動制御手段15は、移動を停止するよう移動手段14を制御する。この例で、以下のステップS6の処理(依頼者の探索)は、移動を停止した状態で行われる。ステップS55において、自律移動制御手段15は、依頼者の探索を探索手段16に指示する。
【0060】
図13は、ステップS6の詳細を例示する図である。ステップS61において、探索手段16は、予め定められた合図を行っている人間(以下、「依頼者の候補者」という)の検知を開始する。この合図は、人間が行うジェスチャーまたは人間が発する音声である。探索手段16は、センサー群106により検知された情報を用いて、依頼者の候補者を検知する。このとき、探索手段16は、移動ロボット10が依頼者の探索を行っていることを周囲に報知する動作を行ってもよい。この動作は、例えば、移動ロボット10が動物または人間を模した形状を有している場合には首を振って周囲を見回す動作であったり、あるいは、ランプを点滅させたり、カメラを回転させたりする等の動作である。
【0061】
ステップS62において、探索手段16は、依頼者の候補者が検知されたか判断する。依頼者の候補者が検知された場合(S62:YES)、探索手段16は、処理をステップS7に移行する。依頼者の候補者が検知されない場合(S62:NO)、探索手段16は、処理をステップS63に移行する。
【0062】
ステップS63において、探索手段16は、依頼者の探索が指示されてから予め定められた待ち時間が経過したか判断する。待ち時間が経過していないと判断された場合(S63:NO)、探索手段16は、処理をステップS62に移行する。待ち時間が経過した判断された場合(S63:YES)、探索手段16は、処理をステップS64に移行する。
【0063】
ステップS64において、探索手段16は、ユーザ端末20に対して、目的領域に到達した旨の通知を行う。この通知を受けると、ユーザ端末20は、移動ロボット10が目的領域に到達した旨をユーザに通知する。具体的には、表示手段24が、移動ロボット10が目的領域に到達した旨のメッセージを表示する。あるいは、スピーカ(図示略)が、予め定められた音を出力する。通知を受信すると、ユーザ端末20は、ユーザからの応答を待つ状態になる。例えば、表示手段24がボタンを表示し、ユーザがこのボタンにタッチすると、ユーザから応答があった旨を受付手段22が移動ロボット10に通知する。
【0064】
ステップS65において、探索手段16は、ユーザから応答があったか、すなわち、ユーザ端末20から応答があった旨の通知を受信したか判断する。ユーザから応答があったと判断された場合(S65:YES)、探索手段16は、処理をステップS62に移行する。ユーザから応答が無いと判断された場合(S65:NO)、探索手段16は、処理をステップS66に移行する。
【0065】
ステップS66において、探索手段16は、記憶手段11から、処理中の呼び出し要求に関する情報を削除する。処理中の呼び出し要求に関する情報を削除すると、探索手段16は、処理をステップS51に移行する。こうして、次の呼び出し要求に対応する目的領域への移動が開始される。
【0066】
図14は、ステップS7の詳細を例示する図である。ステップS71において、認証手段17は、依頼者の候補者が正当な依頼者であるか認証する。正当な依頼者とは、その呼び出し要求を行ったユーザによりサービスを受ける者として指定されたユーザをいい、一例として呼び出し要求を行ったユーザ自身である。呼び出し要求を行ったユーザは、記憶手段11に記憶されているユーザIDにより特定される。依頼者は、例えば、顔認証または声紋認証により認証される。認証に用いられる情報は、事前に移動ロボット10に登録されている。この認証は、例えば、センサー群106により検知された情報を用いて行われる。
【0067】
ステップS72において、認証手段17は、依頼者の候補者が正当な依頼者であると認証されたか判断する。依頼者の候補者が正当な依頼者であると認証されなかった場合(S72:NO)、認証手段17は、処理をステップS73に移行する。依頼者の候補者が正当な依頼者であると認証された場合(S72:YES)、認証手段17は、処理をステップS8に移行する。
【0068】
ステップS73において、認証手段17は、合図を行っていると検知された人間が1人だけであるか判断する。合図を行っていると検知された人間が1人だけであると判断された場合(S73:YES)、認証手段17は、処理をステップS8に移行する。合図を行っていると検知された人間が1人だけでないと判断された場合(S73:NO)、認証手段17は、処理をステップS61に移行する。
【0069】
図15は、ステップS8の詳細を例示する図である。ステップS81において、探索手段16は、依頼者の位置を特定する。依頼者の位置は、例えばセンサー群106により検知された情報を用いて特定される。ステップS82において、探索手段16は、目的地を設定する。目的地は、ステップS81において特定された依頼者の位置に応じて設定される。具体的には、探索手段16は、例えば、移動ロボット10の現在位置から依頼者の位置までの経路において、依頼者まで予め定められた距離にある位置を目的地として設定する。探索手段16は、設定された目的地を特定する情報を記憶手段11に記憶する。
【0070】
図16は、ステップS9の詳細を示すフローチャートである。ステップS91において、自律移動制御手段15は、記憶手段11から目的地を特定する情報を読み出す。ステップS92において、自律移動制御手段15は、読み出した目的地に向かって移動するよう移動手段14を制御する。すなわち、この例では、ステップS6において依頼者の探索を行っている間、移動手段14は移動を停止している。ステップS93において、自律移動制御手段15は、設定された目的地に達したか判断する。目的地に達していないと判断された場合(S93:NO)、自律移動制御手段15は、処理をステップS92に移行する。目的地に達したと判断された場合(S93:YES)、自律移動制御手段15は、処理をステップS94に移行する。
【0071】
ステップS94において、自律移動制御手段15は、依頼者に対するサービスユニット150の向きが予め定められた向きになるよう、移動手段14を制御する。ここでいう予め定められた向きとは、サービスユニット150によるサービスの提供に適した向き、例えば、コーヒーカップを取り出す開口が空いている向きである。
【0072】
図17は、ステップS10の詳細を示すフローチャートである。ステップS101において、受付手段22は、呼び出し履歴を記憶手段11に記憶する。呼び出し履歴は、呼び出しの履歴に関する情報であり、例えば、ユーザID、目的地の座標、および提供されたサービスを示す情報を含む。ステップS102において、受付手段22は、依頼者が未登録ユーザであるか判断する。依頼者が未登録ユーザであると判断された場合(S102:YES)、受付手段22は、認証において用いられる情報(例えば顔認証であれば、依頼者の顔の画像)の登録を促すUI画面を表示手段24に表示する(ステップS103)。受付手段22は、このUI画面に対するユーザの操作に応じて、認証において用いられる情報を記憶手段11に記憶する。依頼者が登録済ユーザであると判断された場合(S102:NO)、受付手段22は、処理をステップS104に移行する。
【0073】
ステップS104において、受付手段22は、ユーザからロボット解放(サービスの提供が完了された旨)の指示を受け付ける。ロボット解放の指示が受け付けられると、受付手段22は、処理をステップS1に移行する。
【0074】
本実施形態によれば、目的地の詳細な位置を取得することが困難な場合や、サービスの依頼後に目的地が移動してしまう場合においても、移動ロボット10は依頼者に向かって移動する。
【0075】
3.変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
【0076】
3−1.変形例1
受付手段22が目的領域の指定を受け付ける方法は、実施形態で例示したものに限定されない。例えば、
図6のUI画面において、ユーザがオブジェクト93に対していわゆるドラッグ&ドロップの操作を行うことにより、目的領域の指定を受け付けてもよい。あるいは、受付手段22は、目的領域を特定する情報(例:「2階の201号室」等)の文字入力または音声入力により目的領域の指定を受け付けてもよい。あるいは、受付手段22は、目的領域の代表点の座標に加えて、目的領域の大きさの指定を受け付けてもよい。
【0077】
3−2.変形例2
受付手段12が目的領域の指定を受け付ける方法は、実施形態で例示したものに限定されない。受付手段12は、ユーザ端末20を介さず、センサー群106により検知された情報を用いて、目的領域の指定を受け付けてもよい。例えば、予め定められた合図がセンサー群106を介して検知された場合、受付手段12は、その合図を目的領域の指定として受け付けてもよい。この合図は、例えば、人間が行うジェスチャーまたは人間が発する音声である。センサー群106により検知した人の動作または言葉が、予め記憶手段11に記憶されている動作または言葉と一致する場合、受付手段12は、その動作をしている人または声を発した人の方向と距離を特定する。受付手段12は、移動ロボット10の位置(またはセンサー群106の位置)、並びに特定した方向および距離を、記憶手段11に記憶されている地図データ上に重ねることにより、目的領域を特定する。
【0078】
3−3.変形例3
探索手段16が依頼者の探索を開始するタイミングは、実施形態で例示したものに限定されない。探索手段16は、移動ロボット10が目的領域に到達する前に、依頼者の探索を開始してもよい。例えば、探索手段16は、センサー群106の特性により人間の合図を検知可能な限界距離を有する。探索手段16は、移動ロボット10から目的領域の外周までの距離がこの限界距離を下回ったことを契機として(すなわち下回った後で)、依頼者の探索を開始してもよい。
【0079】
3−4.変形例4
探索手段16が依頼者を探索している間、移動手段14は移動を停止していなくてもよい。探索手段16は、移動しながら(移動手段14が移動を継続した状態で)依頼者の探索を行ってもよい。
【0080】
3−5.変形例5
移動制御システム1に含まれる複数の装置間の機能の分担は、
図1で例示したものに限定されない。例えば、移動ロボット10ではなくユーザ端末20が、記憶手段11、検索手段13、自律移動制御手段15、および探索手段16のうち少なくとも一部の機能を有していてもよい。より詳細には、ユーザ端末20が、目的領域の設定に加え、経路の検索を行ってもよい。
【0081】
図18は、変形例5に係る移動制御システム1の装置構成を例示する図である。この例で、移動制御システム1はサーバ30を有する。サーバ30は、プロセッサ、メモリ、ストレージ、および通信IF(いずれも図示略)を有するコンピュータ(いわゆるクラウド)である。サーバ30は、ネットワークを介して移動ロボット10およびユーザ端末20に接続される。この例で、移動制御システム1の機能の一部を、サーバ30に実装してもよい。例えば、サーバ30が、記憶手段11、受付手段12、検索手段13、自律移動制御手段15、探索手段16、および認証手段17の少なくとも一部の機能を有していてもよい。
【0082】
図18の例において、移動ロボット10とユーザ端末20との間の通信接続は、BluetoothまたはWiFiで両者を直接接続するものではなく、ネットワークおよびサーバ30を介したものであってもよい。
【0083】
変形例5のように移動制御システム1がサーバ30を有する場合において、
図7のように複数の移動ロボットを含むときは、サーバ30が各移動ロボットの位置を管理してもよい。具体的には、サーバ30は定期的に各移動ロボットと通信し、各移動ロボットの現在位置を取得する。サーバ30は、取得した移動ロボットの現在位置を、その移動ロボットの識別子とともに記憶手段に記憶する。ユーザ端末20から問い合わせを受けると、サーバ30は、
図7に例示したUI画面を表示させるためのデータをユーザ端末20に送信する。サーバ30は、各ユーザが利用可能なサービスを特定する情報を記憶しており、UI画面を表示させるためのデータを生成する際は、そのユーザが利用可能なサービスを提供する移動ロボットに対応する画像オブジェクトを含むUI画面のデータを生成する。なお、移動制御システム1がサーバ30を有する場合であっても、利用可能なサービスの管理は各ユーザ端末20で行ってもよい。
【0084】
3−6.変形例6
実施形態では呼び出し命令を行った者とサービスを受ける者(依頼者)とが同一である例を説明したが、両者は同一でなくてもよい。例えば、部下(呼び出し命令を行う者)が自分の上司(サービスを受ける者)に対しコーヒーを提供するよう移動ロボット10に命令をしてもよい。この場合、ユーザ端末20からロボット10に送信される異呼び出し命令は、サービスを受ける者のユーザIDを含んでもよい。
【0085】
3−7.変形例7
移動ロボット10は、予め定められた経路を予め定められて速度で移動する動作モード(以下「巡回モード」という)を有していてもよい。移動ロボット10は、予め定められた経路を移動しながら依頼者の探索を行う。この場合、移動ロボット10から予め定められた距離(例えば8m)内の依頼者の探索が行われる。探索により特定された依頼者の位置が巡回経路上にない場合、移動ロボット10は、一時的に巡回経路を逸脱して、その依頼者の元へ移動する。仮にこの予め定められた距離よりも遠い位置から呼び出し命令を受け付けた場合であっても、移動ロボット10は、巡回経路を逸脱しないし、または予め定められた速度を速めることは行わない。移動ロボット10は、予め定められた距離内で再度呼び出し命令を受け付ける。あるいは、移動ロボット10は、遠い位置から呼び出し命令を出した依頼者の大まかな位置や姿又は顔を記憶しておき、その依頼者が予め定められた距離内に入った場合において、その依頼者が経路上にいないときは、その依頼者の元に経路を予め定められた距離の範囲内で逸脱して移動する。なお、依頼者や依頼者の位置が経路上にないとは、巡回の経路となっている通路上にその依頼者や依頼者の位置がないことをいう。移動ロボット10は、予め定められた経路を、依頼者となる可能性のあるユーザに電子メール等で通知してもよいし、または図示しないデジタルサイネージなどに表示してもよい。
【0086】
移動ロボット10が巡回モードで動作している場合、依頼者は、自分がいる位置から予め定められた距離内に移動ロボットが入った場合に、呼び出し命令としての合図を出すことになる。なお、巡回する経路を知らされたユーザは、その経路で移動ロボット10が巡回すると期待している。予め定められた距離よりも遠い位置から呼び出し命令を受け付けることにより、巡回経路が予め定められた距離を越えて大きく変更されてしまうと、他の依頼者の期待を裏切ることにもなる。そのため、移動ロボット10は予め定められた距離を越えて巡回経路を変更しないほうが好ましい。ただし、予め定められた距離を越えて巡回経路を変更することを移動ロボット10の周囲に知らせる場合、移動ロボット10は、巡回経路を変更してもよい。例えば、巡回モードで動作している場合であっても、受付手段12が予め定められた距離よりも遠い位置から呼び出し命令を受け付け、その命令に従って巡回経路を逸脱する場合に、移動ロボット10は、巡回経路を逸脱することを移動ロボット10に備え付けられているライト、表示部、または音声を用いて移動ロボット10の周囲に知らせる。
【0087】
3−8.変形例8
移動中に経路上の段差や凹凸により予め定めた以上の振動を検知した場合、自律移動制御手段15はその情報を記憶手段11において地図データと対応付けて記憶し、次回からはその経路を避けるように移動してもよい。
【0088】
3−9.変形例9
移動ロボット10は、自機の状態を周囲に示すようにしても良い。具体的には、移動ロボット10の状態を移動ロボット10に備えられている表示部で表示したり、ライトで表現したり、音声で知らせたりする。移動ロボット10の状態には、例えば、呼び出し命令を受付可能な状態、呼び出し命令を受け付けて移動している状態、巡回モードの状態、サービスを提供している状態などがある。また、移動ロボット10の状態に、具体的に移動先や依頼者の名前を含めてもよい。
【0089】
3−10.変形例10
目的領域に到達した後、移動ロボット10は、合図を待っていることを周囲に知らせるための予め定められた動作を行ってもよい。予め定められた動作は、例えば、首を振る、「(依頼者名)さんはどこですか?」のように依頼者の名前と位置を問い合わせる、そのような問い合わせを移動ロボットに備えられている表示部に表示させる、依頼者のユーザ端末(携帯端末やPC)へ問い合わせを送る、または予め定められた問い合わせを意味する色やパターンのライトを点灯させるなどである。合図を待っていることを知らせための動作は、移動ロボット10が目的領域に到達する前であって、目的領域の中心又は外周から予め定められた距離離れた位置から行われてもよい。
【0090】
3−11.変形例11
目的地に移動した後において、依頼者が予め定められた距離内にいない場合、または依頼者の候補が複数いる場合、探索手段16は、再度、依頼者の探索を行ってもよい。
【0091】
3−12.他の変形例
図1の各機能を実現するためのハードウェア構成は実施形態で例示したものに限定されない。例えば、駆動系105は、ホイールおよびタイヤに代えて、または加えて、無限軌道、若しくは動物または人間の四肢を模した部品を有してもよい。別の例で、駆動系105は、空中を移動するためのプロペラ等の機構を有していてもよい。また、実施形態では単一のCPU101が、受付手段12、検索手段13、自律移動制御手段15、探索手段16、および認証手段17の機能を有する例を説明したが、このうち少なくとも一部の機能は専用のプロセッサに実装されてもよい。
【0092】
図1に例示した機能構成の少なくとも一部は省略されてもよい。例えば、認証手段17は省略されてもよい。また、
図4、5、8、および11〜16で例示したフローの順序は一部が入れ替えられてもよいし、一部が省略されてもよい。
【0093】
実施形態においてCPU101またはCPU201により実行されるプログラムは、光ディスク、磁気ディスク、半導体メモリなどの記憶媒体により提供されてもよいし、インターネット等の通信回線を介してダウンロードされてもよい。