以下、図面を参照し、本発明の実施形態について説明する。本実施形態では、移動体として自律的に移動するロボット(以下、移動ロボットと称する)を使用して実現できる用途の一例として、配送を行う配送サービスシステムにおけるナビゲーションシステムを例に挙げて説明する。
図1は、第1実施形態に係るナビゲーションシステムの構成例を示す図である。ナビゲーションシステム100は、利用者端末1と、屋内及び/又は屋外のフィールドFを移動可能な移動ロボット2と、ナビゲーション装置3と、を備える。これら各構成1,2,3は、インターネット及び/又はLAN(ローカルエリアネットワーク)等で構成されるネットワークNWを介して相互に通信可能である。
なお、利用者端末1と移動ロボット2に関して、図1では1台のみを示すが、これらはそれぞれ任意の台数が存在してよく、そのうちの任意の1台として図1では利用者端末1と移動ロボット2を示している。また、ナビゲーション装置3についても、2台以上のサーバ装置が連携して処理を行うことで、ナビゲーション装置3が実現されるものであってもよい。
図2は、第1実施形態に係るナビゲーションシステム100の各構成1,2,3の機能ブロック図である。移動ロボット2は、ナビゲーション装置3との間で無線通信回線を介して通信を行うことができる。
第1実施形態でのナビゲーションシステム100の全体的な動作は次の通りである。ナビゲーション装置3は、移動ロボット2に対して出発地(現在地)から目的地に到達する経路を示す経路情報を提供する。ここで、雨が降り出す、人の混雑、エレベータの故障といった何らかの事象によって、移動中に移動ロボット2の経路が適切でなくなることがあり得る。そこで、本実施形態では、ナビゲーション装置4が、他ロボット・システムによるこれからロボットが向かう経路での事象の観測により、別経路に切り替えるための更新経路情報を移動ロボット2に対して提供する。
以下、第1実施形態における上記の全体的な動作を実現するための、図2の各機能部(機能部307~311を除く)の個別処理に関して説明してから、さらに、後述する図3及び図4のフローチャートにおいて、図2の各機能部(機能部307~311も含む)が実施する処理フローについて説明する。
[利用者端末1]
利用者端末1は、本実施形態に係る配送サービスシステムの利用者(以下、配送サービス利用者と称する)が利用する端末である。配送サービス利用者は、荷物を配送する宛先である目的地を指定して配送を依頼する。利用者端末1は、スマートフォンやタブレット型のコンピュータ(タブレット型PC(パーソナルコンピュータ))等の携帯通信端末装置であってもよく、あるいは、据置き型の通信端末装置(例えば据置き型のパーソナルコンピュータ等)であってもよい。
利用者端末1は、商品発注部101と、目的地情報入力部102とを備える。商品発注部101は、配送サービス利用者による操作に応じて、商品の選択及び選択した商品の発注を行う。
なお、商品発注部101は、配送サービス利用者が所有する物品の残量をリアルタイムに管理し、物品の残量が予め設定された閾値以下になったときに、補充用の商品を自動的に発注してもよい。
目的地情報入力部102は、商品発注部101が商品を発注する際に、住所等の目的地を示す目的地情報を入力する。目的地情報は、配送サービス利用者が毎回指定してもよく、又は目的地情報入力部102が過去に配送サービス利用者から指定された目的地情報を記録しておき当該記録の目的地情報を自動的に再利用してもよい。
また、目的地情報入力部102は、利用者端末1が備えるGPS(全地球測位システム、Global Positioning System)による測位機能を用いて、GPSで取得した現在位置を目的地としてもよい。また、目的地情報入力部102は、利用者端末1のカメラで撮影した利用者端末1の周囲の景色の画像を目的地の参考情報として目的地情報に付加してもよい。
[移動ロボット2]
移動ロボット2は、移動体として自律走行可能なロボットである。移動ロボット2は、例えば、街中等のフィールドFを走行し、配送サービス利用者が指定した目的地まで荷物を配送する。
移動ロボット2は、無線通信部201と、現在位置取得部202と、状態取得部203と、撮像部204と、経路情報格納部205と、動作計画部206と、動作制御部207と、荷室開閉部208と、を備える。
無線通信部201は、ナビゲーション装置4との間で無線通信を行う。無線通信部201は、例えば4G(第4世代移動通信システム)や5G(第5世代移動通信システム)等の無線通信方式に対応し、自己が対応する無線通信方式の基地局を介して無線通信を行う。また、無線通信部201は、Wi-Fi(登録商標)等のアンライセンス系の無線通信方式に対応し、当該アンライセンス系の無線通信方式により無線通信を行ってもよい。
現在位置取得部202は、GPS等の測位システムによって、現在位置(位置情報)を取得する。状態取得部203は、移動ロボット2に備わっている各種センサから、バッテリー残量や温度や移動速度、加速度等の状態データ(移動ロボット2の状態情報)や無線通信品質情報を取得する。撮像部204は、ハードウェアとして移動ロボット2の進行方向を向くカメラで構成することができ、当該進行方向を撮像する。
経路情報格納部205は、目的地までの経路情報を格納し、移動ロボット2の動作判断に活用する。動作計画部206は、経路情報格納部205に格納されている経路情報に示される経路を移動する際に、現在位置取得部202で取得した現在位置や撮像部204で撮像した撮像画像等を用いて、移動ロボット2の周囲の環境に合わせた動作を判断する。
動作制御部207は、動作計画部206で判断した動作を移動ロボット2に実行させる。動作制御部207は、移動ロボット2の前進や後退や右左折等の走行種別及び走行速度、並びに撮像部204の撮像方向の変更等の走行以外の動作種別を制御する。
荷室開閉部208は、配送サービス利用者が商品を取り出せるように、移動ロボット2に備わる荷室を開閉する。荷室開閉部208は、顔認証やパスコード入力等の手段で利用者を認証してから、荷室を開閉することも望ましい。
[ナビゲーション装置3]
ナビゲーション装置3は、複数の移動ロボット2の各々に対してフィールドF上における出発地から目的地までのナビゲーションを行う。また、ナビゲーション装置3は、複数の移動ロボット2に対して運用監視を行う。ナビゲーション装置3は、運用監視部301、オーダー情報格納部302、目的地取得部303、ロボット割当部304、地図情報格納部305、経路探索・更新部306、経路配信部307、ロボット情報管理部308、施設情報格納部309、人口密度情報格納部310及び天候・気候情報格納部311を備える。
ナビゲーション装置3の各機能は、ナビゲーション装置3がCPU(Central Processing Unit:中央演算処理装置)及びメモリ等のコンピュータハードウェアを備え、CPUがメモリに格納されたコンピュータプログラムを実行することにより実現される。なお、ナビゲーション装置3として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。例えば、ナビゲーション装置3は、インターネット等の通信ネットワークに接続されるサーバコンピュータを使用して構成されてもよい。また、ナビゲーション装置3の各機能はクラウドコンピューティングにより実現されてもよい。また、ナビゲーション装置3は、単独のコンピュータにより実現するものであってもよく、又はナビゲーション装置3の機能を複数のコンピュータに分散させて実現するものであってもよい。また、ナビゲーション装置3として、例えばWWWシステム等を利用してウェブサイトを開設するように構成してもよい。
運用監視部301は、複数の移動ロボット2に対して運用監視を行う。運用監視部301は、移動ロボット2からリアルタイムに受信した、現在位置取得部202で取得される位置情報や状態取得部203で取得される無線通信品質情報や状態情報を、当該移動ロボット2の個体を識別する情報(移動ロボットID)と関連付けて、運用監視を行う。運用監視部301は、定期的に、例えば1秒間隔で更新される情報(位置情報や状態情報)や移動ロボット2から受信した映像に基づいてリアルタイムに運用監視する。運用監視部301は、移動ロボット2から受信した位置情報や状態情報、映像を解析し、移動ロボット2の障害を検出した場合には、例えば、監視者に対して警報を発出する。
なお、移動ロボット2から受信した位置情報や状態情報、映像は、経路探索・更新部306で移動中に取得を行った移動ロボット2の経路更新に活用してもよく、他の移動ロボット2の経路更新に活用してもよい。
オーダー情報格納部302は、利用者端末1から商品発注のオーダー情報を受信し、受信したオーダー情報を格納する。このオーダー情報は、商品発注部101で指定される商品の情報と、目的地情報入力部102で取得される目的地の情報と、を含む。オーダー情報格納部302は、購買システム(図示を省略)と連携して購買処理を行い、商品配送計画を策定する。オーダー情報格納部302は、策定した商品配送計画により、移動ロボット2が商品を配送する出発地や目的地や時間帯等の予定配送情報を格納する。
目的地取得部303は、オーダー情報格納部302に格納されたオーダー情報又は予定配送情報から目的地情報を取得する。
ロボット割当部304は、オーダー情報格納部302で策定する商品配送計画で適切な移動ロボット2を選定して配送に割当てを行う。ロボット割当部304は、例えば、小型、少量の商品配送を行う場合、バッテリー効率の良い小型ロボットを配送に割り当てる。
地図情報格納部305は、全国の道路地図データや、それに付随する各種施設や店舗等の施設データ等を格納する。道路地図データは、例えば、交差点等をノードとして地図上の道路を複数の部分に分割し、各ノード間の部分をリンクとして規定したリンクデータとして与えられる。このリンクデータは、リンク固有の識別子(リンクID)、リンク長、リンクの始点・終点(ノード)の位置情報(経度、緯度)、角度(方向)データ、道路幅、道路種別などのデータを含んで構成される。道路地図データは、移動ロボット2が通行可能なレーンを示すレーン情報を含んでもよい。また、地図情報格納部305は、さらに屋内地図データを格納することが望ましい。
経路探索・更新部306は、移動ロボット2が走行する予定の経路として、移動ロボット2の出発地から目的地に到達する経路を探索すると共に、移動中に移動ロボット2の経路が適切でなくなった際に経路情報を更新する。経路探索・更新部306が利用する経路探索方法として、例えば、ノード及びノード間を結ぶエッジ(リンク)によるグラフ構造と、各リンクに定義されるコストで与えられている地図データに対して、ダイクストラ法やA*アルゴリズムや遺伝的アルゴリズム等の、任意の既存手法が利用可能である。経路探索・更新部306では、出発地から目的地へ向けて、次に到達できる交差点(ノード)までの道路(リンク)のコストの計算(積算)を順次行なっていき、出発地から目的地までが最小コストとなる経路を選択する。
経路探索・更新部306は、雨が降り出す、人の混雑、エレベータの故障といった何らかの事象によって、移動中に移動ロボット2の経路が適切でなくなった際に経路を更新する。なお、経路更新時については後述するように、リンクコストが更新され、且つ、出発地が現在地に更新されたうえで、当初の探索時と同様に、グラフ構造に対するダイクストラ法等の任意の既存手法で最小コスト経路を探索することで、更新された経路を得ることができる。
図3は、第1実施形態に係るナビゲーションシステム100における商品配送のフローチャートである。ステップS11では、現在時刻tにおいて、利用者端末1からオーダー情報のリクエスト送信があり、オーダー情報格納部302に当該オーダー情報が新規受信されたか否かをナビゲーション装置3が判断し、新規受信があればステップS12へ進む。新規受信がない場合はステップS11からステップS15へ進み、現在時刻tを次の現在時刻t+1に更新してから、ステップS11へ戻ることにより、ステップS11では新規のオーダー情報の受信があるまでリアルタイムで待機する処理が継続される。(なお、当該ステップS15及び同様の後述するステップS16は、リアルタイムで繰り返し処理を行うための処理タイミング(例えば1秒ごとの処理タイミング)を管理するステップである。)
ステップS12では、オーダー情報に従い、ロボット割当部304が商品配送に適した移動ロボット2を決定し、この移動ロボット2が該当商品を配送するための現在地から目的地までの経路を経路探索・更新部306において探索して決定し、経路配信部307から移動ロボット2へと当該探索された経路を配信し、移動ロボット2は当該配信された経路に従って、動作計画部206が動作計画を立てて移動を開始してから、ステップS13へと進む。
ステップS13では、ナビゲーション装置3が、商品配送中で現在時刻tにおいて移動中である移動ロボット2に関して、その現在位置から目的地に至るまでの、予め配信された(または直近で再配信された)経路上において移動ロボット2の移動に影響のある事象が発生したか否かを判定し、影響がある事象が発生している判定の場合には経路再探索を行って移動ロボット2に対して当該再探索された経路を配信してから、ステップS14へ進む。一方で、ステップS13にて、影響がある事象が発生していない判定の場合には、経路再探索と配信を行うことなく、ステップS14へ進む。
なお、移動ロボット2は、ステップS13において再探索された経路を受信した場合は、当該受信した現在時刻tまでの間に参照していた経路は破棄し、新たに配信されて受信した再探索された経路上を目的地まで移動するように、移動制御処理を切り替える。
ステップS14では、商品配送を担当中の移動ロボット2の現在位置が目的地に到達しており、且つ、荷室開閉部208による荷室開放が行われることで、配送サービス利用者への商品への配送が完了したことを運用監視部301が確認し、完了していれば図3のフローを終了し、完了していなければ、ステップS16へ進む。
ステップS16では現在時刻tを次の現在時刻t+1へと更新してステップS13に戻ることで、ステップS13ではリアルタイムに、移動ロボット2の移動予定経路上で移動に影響する事象の有無の確認と、影響事象があった場合の経路再探索及び再配信が、配送完了まで繰り返されることとなる。
図4は、第1実施形態に係る移動ロボット2の経路更新手順を示すフローチャートであり、図3のステップS13の詳細例を示すものである。
ステップS101では、ナビゲーション装置3の運用監視部301が、移動ロボット2の現在位置取得部202から、現在時刻tでの現在位置情報を取得し、ステップS102へ進む。
ステップS102では、ナビゲーション装置3が、ステップS101で取得した移動ロボット2の現在位置から目的地までの移動予定経路上における、現在時刻tでの各種事象(天候、施設状態、人口密度等)を、後述する天候・気温情報格納部311、施設状態情報格納部309、人口密度情報格納部310で取得してから、ステップS103へ進む。この際、各種事象は、他の移動ロボット2(現在、商品配送を担当している移動ロボット2とは別の移動ロボット2)で取得したり、他システムで保持している情報を取得するようにしてもよい。
ステップS103では、ナビゲーション装置3は、ロボット情報管理部308に格納されている移動ロボット2の特徴(後述する各種の性能)から、ステップS102で取得した事象が移動ロボット2に影響し得るか否かを判定する。この影響は、移動予定経路上を移動ロボット2が移動する際の移動可能性に関する影響について、判定する。
例えば、雨が降り出した際には、ロボットの移動機構に関する特徴を参照し、防水性能が低い等により、移動機構が雨天対応でないと判定される移動ロボット2に関して、屋外での雨を避けるべく、屋根付き通路等に経路を切り替える必要が生じる。また、人の混雑度が顕著に増大した際には、ロボットのサイズに関する特徴を参照し、通行の邪魔となる一定以上の大きさのロボットのみ経路を切り替える必要が生じる。また、道路に水たまりがあった場合に、ロボットの移動機構に関する特徴を参照し、車輪で移動するロボットに関して、ホイールサイズが小さい小型のロボット等の水たまり通過性能を有さないと判定されるロボットのみ経路を切り替える必要が生じる。また、2つある人荷用エレベータの片方に故障が発生することで、残りの1つの人荷用エレベータに利用の集中が予想される場合、ロボットのサイズに関する特徴を参照し、サイズが大きい移動ロボット2は、人荷用エレベータとは別途の貨物用エレベータへの経路に切り替える必要が生じる。
ステップS103で移動ロボット2に事象の影響があるとナビゲーション装置3が判定した場合、処理をステップS104に進める。一方で、移動ロボット2に事象の影響がないと判定した場合、経路を変更する必要がないため、処理を終了する。
ステップS104では、ナビゲーション装置3は、経路探索で用いているリンクコストを更新する。経路探索・更新部306では、目的地までのリンクコストの積算値が最小コストとなる経路を選択するため、一例として、事象が発生しているリンクのコストを、当初定義されているコストと比べて膨大であると判定される所定値に変更することで、経路を再探索する際にそのリンクを通る経路が選ばれなくするようにしてよい。
なお、上記のように、事象発生のリンクコストを膨大な値に変更するのは、ルールベースによるリンクコスト設定の一例である。変更前及び変更後のリンクコストの値を設定するその他の手法に関しては後述するが、以下の説明ではまず、事象発生の場合に、リンクコストが膨大な値に変更される場合を例として説明する。
ステップS105では、ナビゲーション装置3の経路探索・更新部306は、移動ロボット2の現在位置から目的地までの経路を再探索して、ステップS106へ進む。ステップS104の処理により、事象が発生しているリンクはコストが膨大な値に変更されることで経路を構成するリンクから避けられるようにした上で、最適な経路が探索される。
ステップS106では、ナビゲーション装置3の経路配信部307は、移動ロボット2に対して、ステップS105で再探索した経路を再配信し、図4のフローを終了する。これにより、移動ロボット2は、再探索した経路に切り替えて目的地まで移動することになる。なお、図3のフローチャートでも説明される通り、移動ロボット2が商品配送を行う途中で予定経路上に影響事象が発生しなければ、経路の再探索及び再配信は行われない。一方で、移動ロボット2が商品配送を行う途中で、予定経路上に影響事象が複数回に渡って発生した場合、1回に限らず、2回以上の経路の再探索及び再配信が行われることもありうる。
以下、図4のフローに関連する機能部である機能部307~311を説明する。
経路配信部307は、経路探索部306が探索した結果の経路を示す経路情報を移動ロボット2へ送信する。前述の通り、この経路の探索及び配信は、図3のステップS12で初回の探索及び配信が行われ、配送の途中で影響事象が発生した場合にはさらに、ステップS13(及びこの詳細である図4のフロー)において、1回以上の再探索及び再配信が行われうる。なお、再探索の場合は影響事象が発生しているリンクについてコストが更新されることを除き、初回の探索と同様の、グラフ構造上での最短経路を探索する既存手法で探索を行うことができる。
ロボット情報管理部308は、各移動ロボット2の性能を示す情報を格納する。ロボット情報管理部308は、例えば、各移動ロボット2の全長・全幅・全高、重量、ホイールサイズ(車輪サイズ)、最高速度、登坂能力、駆動時間、通信方式、荷室サイズ、防水・防塵性能、スリップ耐性等の性能(種々の所定項目に関する仕様(スペック)、機能諸元)を格納する。こうした性能の情報は、管理者等による入力を受け付けることで、ロボット情報管理部308に格納されるようにしてもよいし、予めこうした性能の情報を保持しているサーバ等にアクセスすることで、ロボット情報管理部308に格納するようにしてもよい。
施設状態情報格納部309は、移動ロボット2が商品を配送する場所における施設状態情報を格納する。施設状態情報格納部309は、例えば、マンション内におけるエレベータの稼働状態や設置場所を格納する。このエレベータは、配送経路の途中で移動ロボット2が通過しうる施設であり、エレベータが稼働していれば通過可能(当該エレベータが含まれるリンクが通過可能)であり、稼働していなければ通過不能(当該エレベータが含まれるリンクが通過不能)であるものとして、施設情報を格納することができる。エレベータに限らず、道路(リンク)自体について例えば工事中であって一時的に通行止めとなっているか、工事されておらず通行可能であるかといった情報を、工事設備の存在有無といった形で施設情報に含めてもよい。リアルタイムでの施設情報(稼働状態にあるか否か等)は、例えば当該施設を管理している装置やサーバ等にアクセスすることで、施設状態情報格納部309において取得するようにしてよい。
人口密度情報格納部310は、移動ロボット2の移動経路における人口密度情報を格納する。人口密度情報格納部310は、例えば、携帯キャリアに加入しているスマートフォンの位置情報を集計したり、他の移動ロボット2が撮像している映像の人物抽出等の手段で取得するようにしてもよいし、地図上の様々な位置における人口密度情報をリアルタイムで管理しているサーバ等にアクセスすることで、人口密度情報を取得するようにしてもよい。
天候・気温情報格納部311は、天気予報や過去履歴、リアルタイムの天候・気温情報を格納する。天候・気温情報格納部311は、例えば、ネットワークNW上の天気情報サーバに定期的にアクセスして、最新の天候・気温情報を更新して保存するようにしてよい。
なお、以上の各情報の格納部309~311では、地図情報格納部305に格納されるグラフ構造状の地図情報のリンク(当該リンクが表すフィールドF内の所定範囲)のそれぞれに対応するものとして、各情報を格納すればよい。また、各情報の格納部309~311に格納される情報の値が、ステップS103で判断する、ロボット情報管理部308で管理される移動ロボット2の各種の特徴との関係で影響があるか否かの判断についても、ルールベースで判断が可能なように、当該ルールを設定しておけばよい。当該ルールの具体例は、ステップS103において説明した通りであり、あるリンクが雨天に該当する場合に、防水機能がないという特徴を有する移動ロボット2は、当該リンクコストを膨大な値にする等の、種々のルールを予め設定しておけばよい。
[第2実施形態]
続いて、第2実施形態に係るナビゲーションシステム100の処理内容について、第1実施形態との相違点を中心に説明する。
第1実施形態では、ある1台の移動ロボット2が単独で、現在地から目的地まで商品配送を行う場合を例とした。これに対し、第2実施形態では、複数の移動ロボット2-1、2-2、…、2-n(nは2以上の整数)が連携するユースケースを想定する。ここでは、配送サービスにおいてn=2の例として、移動ロボット2-1が保持する荷物を移動ロボット2-2に受け渡す例を、図5を参照して説明する。
図5は、第2実施形態に係るナビゲーションシステム100内での2台の移動ロボット2-1,2-2の移動可能な範囲の例を示す図である。なお、この第2実施形態の説明において、それまでに使用した符号と同一番号の符号を有する要素は、特に言及する場合を除き、第1実施形態における同一符号の要素と同一である。また、構成の一部のみを説明している場合、構成の他の部分については先に説明した実施形態を適用できる。
図5に示されるように、移動ロボット2-1は、フィールドFの全体のうち、マンション外部の第1範囲R1のみを移動可能であり、移動ロボット2-2は、マンション内部の第2範囲R2のみを移動可能なものとして、配置されている。マンション外部からマンション内部へ商品の配送を行う場合、2つのエントランスET1,ET2のいずれかにおいて、移動ロボット2-1から移動ロボット2-2に商品を受け渡す必要がある。このように、第1領域R1及び第2領域R2はフィールドF内で相互に重複しないものとして構成され、第1領域R1及び第2領域R2の境界に、2つのエントランスET1,ET2が設けられている。
例えば、マンション外部の店舗等の出発地からマンションの部屋の前の目的地まで荷物を配送する場合、街中を移動して荷物を配送してきた移動ロボット2-1は、エントランスET1,ET2のオートロックを超えることができず、エントランスET1,ET2前で移動ロボット2-1が保持する荷物を、マンション内専用の移動ロボット2-2に受け渡し、移動ロボット2-2が部屋の前まで荷物を配送することが考えられる。この際、マンション内に複数のエントランスET1,ET2が設置されている場合、移動ロボット2-1の配送中にエレベータの故障や人の混雑等の何らかの事象が発生すると、別のエントランスに受け渡しポイントを切り替える必要が生じる。
第2実施形態によれば、例えば、図5に示すように、事象発生前は、移動ロボット2-1は経路1Aを通りエントランスET1に移動、移動ロボット2-2は経路2Aを通りエントランスET1に移動するよう経路が設定されていたのに対し、事象発生後は、移動ロボット2-1は別の経路1Bを通りエントランスET2に移動、移動ロボット2-2も別の経路2Bを通りエントランスET2に移動するように、経路を更新して変更することができる。
図6は、第2実施形態に係る移動ロボット2の機能ブロック図であり、図2で示した第1実施形態の構成に対して、図4のエントランスET1,ET2等において商品の受け渡しを可能にするための構成として、荷物受け渡し部209が追加されている点を除いて、第1実施形態と共通の構成である。
荷物受け渡し部209は、移動ロボット2-1が保持する荷物を移動ロボット2-2に受け渡しを行う。荷物受け渡し部209は、荷室開閉部208で荷室を開放した後、ロボットアームやコンベア等の機構(図不示)で荷物の受け渡しを行う。
図7は、第2実施形態に係るナビゲーション装置3の機能ブロック図であり、図2で示した第1実施形態の構成に対して、図4のエントランスET1,ET2等において商品の受け渡しを行うことも含めて経路を設定するための構成として、受け渡し場所算出・更新部312が追加されている点を除いて、第1実施形態と共通の構成である。
受け渡し場所算出・更新部312は、移動ロボット2―1と移動ロボット2-2との荷物の受け渡し場所を算出すると共に、雨が降り出す、人の混雑、エレベータの故障といった何らかの事象によって、移動中に荷物の受け渡し場所が適切でなくなった際に受け渡し場所を更新する。
図8は、第2実施形態に係るナビゲーションシステム100の各構成1,2-1,2-2,3の機能ブロック図である。移動ロボット2-1,2-2の機能ブロック構成はそれぞれ、図6で示したのと同一であるが、移動ロボット2-1,2-2の区別のため、符号末尾に-1又は-2を追加付与している。例えば図6の移動ロボット2に備わる撮像部204に関して、移動ロボット2-1では撮像部204-1、移動ロボット2-2では撮像部204-2と表している。
また、図8ではナビゲーション装置3に関して、紙面の都合上、運用監視部301、経路配信部307及び受け渡し場所算出・更新部312のみを示し、その他の機能部を描くのを省略している。図7で説明した通り、第2実施形態のナビゲーション装置3は、図2に示す全構成に、受け渡し場所算出・更新部312が追加された構成を取るものである。
第2実施形態における経路探索・更新部306は、経路だけでなく中継地(受け渡し場所)も変更になることを踏まえて、経路の更新を行う。ここで、図9のフローチャートを参照して、第2実施形態に係る移動ロボット2の経路・経由地更新の手順を説明する。
図9は、第1実施形態に係る図4のフローチャートの変形例として、第2実施形態に係る移動ロボット2の経路・経由地更新の手順を示す図である。なお、前提となる全体的なフローとしての図3のフローチャートは、第1実施形態と第2実施形態とで、ステップS12が次のように変更される点を除いて、同一である。
すなわち、第2実施形態は、ステップS11で受信したオーダー情報の出発地が、図5に例示するマンションの外部である第1領域R1にあり、目的地が、マンションの内部である第2領域R2であったものとし、これに対処するための経路をステップS12において決定すべく、以下の2つの最短経路P1,P2を算出する。
経路P1…移動ロボット2-1の現在地→中継地のエントランスET1 及び
移動ロボット2-2の現在地→中継地のエントランスET1
経路P2…移動ロボット2-1の現在地→中継地のエントランスET2 及び
移動ロボット2-2の現在地→中継地のエントランスET2
経路P1,P2のいずれも、移動ロボット2-1,2-2の各経路のコストの和を経路P1,P2全体でのコストとし、経路P1,P2のうちこの全体コストが小さい側を、ステップS12では経路探索・更新部306が経路として決定し、各移動ロボット2-1,2-2に配信する。
第2実施形態では経路全体を移動ロボット2-1,2-2で分担して配送することから、図3のステップS13の経路再配信の判断も、2台の移動ロボット2-1,2-2の経路を考慮して行うこととなり、ステップS14の完了の判断も、2台の移動ロボット2-1,2-2の両方が目的地としての中継地に到達したことで判断することとなる。
なお、以下では第2実施形態に関して、中間的な目的地としての中継地で商品を受け渡す時点までの説明を行うものとする。すなわち、移動ロボット2-1が現在地から目的地であるエントランスET1,ET2のいずれかに到達し、且つ、移動ロボット2-2が現在地から目的地であるエントランスET1,ET2のいずれかに到達するまでの説明を行うものとする。ここで、移動ロボット2-1,2-2の両方が、中間的な目的地であるエントランスET1,ET2のいずれかに到達した後は、商品の受け渡しを行ったうえで、移動ロボット2-2が現在地としてのエントランスET1,ET2のいずれかから最終的な目的地であるマンション内の部屋の前まで、第1実施形態と同様にして配送を行うことができるため、その説明は省略する。
前提となる図3のフローが第2実施形態では上記の通り変更されるものとして、以下、図9の各ステップを説明する。
ステップS201では、ナビゲーション装置3の運用監視部301は、目的地としての中継地に向かって移動中である各移動ロボット2-1,2-2の現在位置取得部202-1,202-2から各々の現在位置情報を取得して、ステップS202へ進む。
ステップS202では、ナビゲーション装置3は、ステップS201で取得した各移動ロボット2-1,2-2の現在位置から目的地までの移動予定経路における各種事象(天候、施設状態、人口密度等)を天候・気温情報格納部311、施設状態情報格納部309、人口密度情報格納部310で取得してから、ステップS203へ進む。
ステップS203では、ナビゲーション装置3は、ロボット情報管理部308に格納されている各移動ロボット2-1,2-2の特徴から、ステップS202で取得した事象が各移動ロボット2-1,2-2に影響し得るか否かを判定する。ステップS203で少なくともいずれかの移動ロボット2-1,2-2に事象の影響があると判定した場合、処理をステップS204に進める。一方で、両方の移動ロボット2-1,2-2に事象の影響がないと判定した場合、経路や目的地を変更する必要がないため、処理を終了する。
ステップS204では、ナビゲーション装置4は、事象の影響があると判定された移動ロボット2-1,2-2(いずれか、または両方)のリンクコストを更新する。
ステップS205では、ナビゲーション装置3は、目的地変更の有無それぞれで現在地から目的地までの経路を再探索してからステップS206へ進む。(すなわち、前述の経路P1,P2の算出を、移動ロボット2-1,2-2のぞれぞれの現在位置に対して、更新されたリンクコストのもとで行う。)
ステップS206では、ナビゲーション装置3は、目的地変更有りの場合と変更無しの場合とで合計リンクコストを比較する。(すなわち、例えばこれまでの目的地がエントランスET1である場合は、変更なしの場合はエントランスET1が目的地であり、変更有りの場合はエントランスET2が目的地となり、これらの合計リンクコストを比較する。)目的地変更無しの合計リンクコストの方が小さい場合、処理をステップS207に進める。目的地変更有りの合計リンクコストの方が小さい場合、処理をステップS208に進める。
ステップS207では、ナビゲーション装置3は、移動ロボット2-1,2-2に目的地を変更しない再探索経路を配信し、フローを終了する。ステップS208では、ナビゲーション装置3は、移動ロボット2-1,2-2に目的地を変更した再探索経路を配信する。
次に、第2施形態に係る経路更新の例を説明する。図10から図12は、第2実施形態での経路更新の一例を説明するための図である。図10から図12において、丸印がノードを示し、ノード間を結ぶ線がリンクを示す。また、リンク上に記された数字がリンクコストを示す。移動ロボット2-1は、現在地のノードがS1であり、目的地のノードがfである。移動ロボット2-2は、現在地のノードがS2であり、目的地のノードがfである。ノードやリンクは各移動ロボットで共通的に管理する一方で、リンクコストは移動ロボット毎に異なる値となる。また、移動ロボットが移動困難なリンクのコストを経路として選択されないように∞としている。
なお、図10から図12において、ノードeは図5の第1エントランスET1であり、ノードfは第2エントランスET2であるものとし、ノードe,fより左側に描かれているノードS1,a,b,c,dは移動ロボット2-1が移動可能なマンション外の第1領域R1であり、ノードe,f及びこれらより右側に描かれているノードe,f,g,S2は移動ロボット2-2が移動可能なマンション内の第2領域R2であるものとする。
図10は事象発生前の経路探索の例である。経路探索の結果、移動ロボット2-1
の例[1]では、第1領域R1内で出発地「ノードS1」から目的地「ノードf」に到達する経路として、リンクコストの合計が最小になる経路である「S1→a→f」が選択され、その合計リンクコストは15である。また、移動ロボット2-2の例[2]では、第2領域R2内で出発地「ノードS2」から目的地「ノードf」に到達する経路として、リンクコストの合計が最小になる経路である「S2→g→f」が選択され、その合計リンクコストは11である。そして、移動ロボット2-1と移動ロボット2-2とのリンクコストを合算すると、26である。
図11は、事象発生後に目的地を変更しない場合の経路探索の例である。ここでは、「f-g」間のリンクで移動ロボット2-2の通過が困難となる事象が発生し、移動ロボット2-2に対する「f-g」間のリンクコストが8から「∞」(通常の1~10程度のオーダーのリンクコストとの比較で膨大な値として「∞」は例えば1000)に更新されたとする。移動ロボット2-1の例[1]では、事象への影響がないため、図10の例[1]の経路探索結果に変更は生じない。一方で、移動ロボット2-2では、出発地「ノードS2」から目的地「ノードf」に到達する経路として、リンクコストの合計が最小になる経路である「S2→g→e→f」が選択され、その合計リンクコストは38である。この結果、移動ロボット2-1と移動ロボット2-2とのリンクコストを合算すると、53である。
図12は、事象発生後に目的地を変更した場合の経路探索の例である。目的地として
「ノードf」から「ノードe」に変更する。その結果、移動ロボット2-1の例[1]では、出発地「ノードS1」から目的地「ノードe」に到達する経路として、リンクコストの合計が最小になる経路である「S1→a→e」が選択され、その合計リンクコストは22である。また、移動ロボット2-2の例[2]では、出発地「ノードS2」から目的地「ノードe」に到達する経路として、リンクコストの合計が最小になる経路である「S2→g→e」が選択され、その合計リンクコストは23である。この結果、移動ロボット2-1と移動ロボット2-2とのリンクコストを合算すると、45である。
以上の通り、図11に示した目的地をノードfのままで変更しない場合の合計リンクコスト53と、図12に示した目的地をノードfからノードeに変更した場合の合計リンクコスト45とを比較すると、目的地を変更した場合の合計リンクコストが小さい。したがって、この図10から図12までの例の場合、目的地を変更した方が望ましく、移動ロボット2―1、移動ロボット2-2に目的地を変更した再探索経路を配信する。
以上、本発明の各実施形態によれば、移動ロボット2の移動中に突然の事象が発生しても、最適な経路で移動することができる。以下、種々の補足例、代替例、追加例などに関して説明する。
(1) 本発明の実施形態の応用例として、何らかの作業現場等であるフィールドFにおいて移動ロボット2を活用した移動を伴う遠隔作業等を遠隔制御によってより円滑に行うことが可能となる。すなわち、本実施形態によれば、フィールドF内を移動ロボット2が移動する際、移動予定の経路上において雨天発生等があった場合に経路を再探索するため、移動ロボット2が例えば防水機能が弱い場合に雨にまきこまれて移動が停止してしまう等のトラブルを防ぐことが可能となり、遠隔作業等をより円滑に行うことが可能となる。
これにより、当該作業現場等に業務担当者等が実際に赴くことを必須とせず、人物移動に必要となるエネルギー資源を節約することで二酸化炭素排出量を抑制できることから、国連が主導する持続可能な開発目標(SDGs)の目標13「気候変動とその影響に立ち向かうため、緊急対策を取る」に貢献することが可能となる。
(2) 以上の各実施形態では、影響のある事象が移動予定経路上で発生した場合に、経路探索・更新部306において該当箇所のリンクコストを、当初与えられている所定値から、膨大と判定される値に変更したうえで、経路を再探索するものとした。このリンクコストを変更する(及び図3のステップS12での、初回の経路探索時の各リンクのコストを所与の値としてではなく、リンクの事象の状態に応じて自動算出する)別の実施形態として、以下も可能である。
すなわち、経路探索・更新部306では、リンクコストを変更する際に、人口密度、道路幅、路面状態、移動ロボット2の機種(登坂能力、駆動時間、スリップ耐性等)、天候(降雨量、風速等)、気温、移動ロボット2が配送する物品、通信品質といった各パラメータに対して重み付けを学習していき、1次元の値であるリンクコストとの紐づけを行うことで、事象発生時に必ずしもそのリンクを通る経路を選ばないようにするのでなく、他のパラメータもふまえて、適切なリンクコストに変更するようにしてもよい。
経路探索・更新部306は、例えば、誤差逆伝播法(Backpropagation)を用いて、出力値をリンクコスト、入力値を前記の各パラメータとすることで、各パラメータの重み付けを算出してもよい。ここで、リンクコストは、移動時間と安全性(様々な事故の発生確率)を勘案して状況(事象)に応じた可変的な値として定めてもよい。経路探索・更新部306では、図13に示すフローによりリンクコストを可変的な値として算出することができる。
図13のフローでは、多数の学習データを用いてリンクコストに対する各パラメータの重みづけ(モデル)を算出する学習フェーズとしてステップS301を実施した後に、ステップS302において、学習フェーズの結果のモデルに基づき事象発生時にその事象に関連するパラメータを変更することによりリンクコストを更新し、この更新されたリンクコストによって経路再探索を可能とする実行フェーズを実施することができる。
なお、ステップS301の学習フェーズは、実際に物品配送を行う前に多数の学習データを用いて実施しておき、ステップS302の実行フェーズは、図4のステップS104や図9のステップS204でリンクコストを更新する際(及び図3のステップS12で、最初の最適経路を探索するために当初のリンクコストを算出する際も同様)に、その都度、当該実行フェーズを実施することができる。
例えば、人口密度の度合いにより移動時間が長くなった場合に学習フェーズで人口密度の重みを算出し、実行フェーズで事象発生時の人口密度の変化に基づき、リンクコストを更新する。例えば、雨天対応の移動ロボット2でも降雨による見通しの悪化により移動時間が長くなった場合に、学習フェーズで降雨量の重みを算出し、実行フェーズで事象発生時の降雨量変化に基づき、リンクコストを更新する。例えば、強風により移動時間が長くなった場合に、学習フェーズで風速の重みを算出し、実行フェーズで事象発生時の風速変化に基づき、リンクコストを更新する。例えば、割れ物を配送する際に道路の窪みで物品が割れてしまった場合に学習フェーズで配送する物品の重みを算出し、実行フェーズで事象発生時の道路の窪み観測に基づき、リンクコストを更新する。例えば、アイスを配送する際に日光が当たる経路を移動した場合にアイスが溶けてしまった場合に、学習フェーズで配送する物品の重みを算出し、実行フェーズで事象発生時の温度観測に基づき、リンクコストを更新する。
ここで、図14を用いて各パラメータからリンクコストを算出する処理を説明する。図14は、リンクコストを算出するニューラルネットワークモデルの例である。
図14におけるn個の入力データx1、x2、…xi、xn等は、例えば、道幅x1=4.0m、気温x2=35℃、一時間あたりでの降雨量xi=3mmといった、それぞれ観測可能なデータであり、施設状態情報格納部309、人口密度情報格納部310及び天候・気温情報格納部311でリアルタイムの値を格納しておくデータの例である。k個の出力データy1,y2,…,yj,…,ykは、それぞれ、図14のネットワークに入力データを入力して出力される、道路A、道路Bといった各道路のリンクコストであり、このk個は、地図情報全体のリンクの総数である。このような構成の図14のネットワークについて、後述するステップS302の推測フェーズでは、例えば次のような利用が可能である。例えば入力が気温のみとし、リンク全体(地図情報全体)がA町及びB町であり、A町の気温が20度でB町の気温が15度の場合、20度を入力してA町とB町の全リンクについて20度でのコストが算出されるので、これらのうちA町のリンクコストを取得し、15度を入力してA町とB町の全リンクについて15度でのコストが算出されるので、これらのうちB町のリンクコストを取得する。
正解データt1,t2、,…tj,…,tkは、それぞれ、道路A、道路Bといった全k個の各道路のリンクコストにおける正解データとなる。ここで、正解データは、各道路の移動時間(移動ロボット2による移動所要時間)Tとしてもよい。また、正解データは、移動時間と安全性を勘案することで算出しても良い。ここで、安全性は、インシデントにより安全性が脅かされうる程度から算出し、当該脅かされうる程度を数値化するものとして例えば、インシデントを構成する個別の事故やヒヤリハット等の発生確率及び/又は事故やヒヤリハット等におけるクリティカル度C(例えば、事故やヒヤリハットの問題の大きさによって3段階のクリティカル度Cを設ける)から算出してもよい。
移動時間Tとクリティカル度Cの重み付け和を正解データとしてもよく、この際、移動時間Tと安全性(クリティカル度C)のバランスについては、調整できるようにしてもよい。具体的に、ステップS301の学習時は、様々な移動ロボット2が経路を通るごとに移動時間およびその際に発生したクリティカル度毎のヒヤリハットの回数を取得し、入力データとして移動ロボット2の機種、天候、路面などの条件、正解データとして移動時間Tおよびクリティカル度ごとのヒヤリハットの発生回数を学習する。
ステップS302の推測フェーズでは、移動ロボット2の機種、天候、路面などを入力することで、移動時間Tおよびそれぞれのヒヤリハットの発生確率Cが求められる。例えば、移動時間Tが1分増加する毎にリンクコストを1増加させ、クリティカル大のヒヤリハットの発生確率が1%増加する毎にリンクコストを1000増加させ、クリティカル中のヒヤリハットの発生確率が1%増加する毎にリンクコストを100増加させ、クリティカル小のヒヤリハットの発生確率が1%増加する毎にリンクコストが10増加するといった形で、モデルが学習済みとなっており、当該モデルに即したリンクコストの算出が行われる。
ある移動ロボット2があるリンク(道路)の移動時間に10分を要し、当該リンクにおけるクリティカル大の発生確率が0.001%、クリティカル中の発生確率が0.01%、クリティカル小の発生確率が0.1%の道路におけるリンクコストは、以下の通りとなる。
10+1000×0.001+100×0.01+10×0.1=13
図14のニューラルネットワークにおいて、図示されるような重みw1~w18やm個の中間層f(u1)、…、f(um)は、入力データ、出力データ、正解データをもとに誤差逆伝播法により算出すればよい。同様の入力データから出力データを得る構成であれば、図14のようなニューラルネットワークに限定されず、より多層で構成される既存の深層学習ネットワークモデルや、機械学習モデル等を用いて学習を行うようにしてもよい。
(3) 図15は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。ナビゲーションシステム100を構成する利用者端末1、移動ロボット2、ナビゲーション装置3の各々は、このような構成を有する1台以上のコンピュータ装置70として実現可能である。なお、2台以上のコンピュータ装置70でナビゲーションシステム100の部分構成を実現する場合、ネットワーク経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77、移動ロボット2の撮像部204、現在位置取得部202及び状態取得部203を実現するハードウェアとして利用可能なカメラ81及びセンサ82、移動ロボット2としての自律移動機能を提供する、モータ等のアクチュエータ83及びこのアクチュエータ83によって駆動される車輪等の移動機構84(車軸やギヤ等の変速機構も含む)と、これらの間でデータを授受するためのバスBSと、を備える。
ナビゲーションシステム100の各機能部(図14のネットワークを学習する構成も含む)は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、液晶等のモニタあるいはLED等の点灯装置として構成されるディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。
移動ロボット4において、動作制御部44からの制御出力によってモータ等のアクチュエータ83が駆動され、車輪等の移動機構84が動作することにより、移動ロボット4は移動することが可能となる。アクチュエータ83及び移動機構84は、このように移動ロボット4が移動する処理を実現するものの他にも、荷室開閉部208や荷物受け渡し部209を実現するものを設けることができる。