(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024076514
(43)【公開日】2024-06-06
(54)【発明の名称】自律走行ロボット、運行管理システム
(51)【国際特許分類】
G05D 1/43 20240101AFI20240530BHJP
G08G 1/00 20060101ALI20240530BHJP
G08G 1/09 20060101ALI20240530BHJP
【FI】
G05D1/02 P
G08G1/00 X
G08G1/09 V
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022188081
(22)【出願日】2022-11-25
(71)【出願人】
【識別番号】000002059
【氏名又は名称】シンフォニアテクノロジー株式会社
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(72)【発明者】
【氏名】山中 悠司
(72)【発明者】
【氏名】孫田 康雄
(72)【発明者】
【氏名】中口 和馬
(72)【発明者】
【氏名】小▲崎▼守
【テーマコード(参考)】
5H181
5H301
【Fターム(参考)】
5H181AA27
5H181BB04
5H181BB05
5H181CC02
5H181CC03
5H181CC04
5H181CC14
5H181FF13
5H181FF14
5H301BB05
5H301CC10
5H301GG08
5H301GG09
5H301GG12
5H301KK02
5H301KK04
5H301MM01
5H301MM09
(57)【要約】
【課題】自律走行ロボットの運行管理において、通信の遮断に起因するサービスへの支障を緩和することを目的とする。
【解決手段】自律走行ロボット80は、通信IF14を介した通信が可能であると判断された期間では、運行管理サーバ90からタスクの実行指令を受信し、受信されたタスクの実行指令に基づいて、タスクを逐次実行する。自律走行ロボット80は、通信IF14を介した通信が遮断されていると判断された期間では、メモリに記憶された運行計画情報D1に含まれる複数のタスクのうち、タスクの進捗状況に基づいて実行対象と判断されたタスクを逐次実行していく。
【選択図】
図1
【特許請求の範囲】
【請求項1】
通信インタフェースと、
メモリと、を備え、
前記通信インタフェースを介して、複数のタスクを所定順序で送信する運行管理サーバと通信可能な自律走行ロボットであって、
前記メモリには、複数の前記タスクを含み、前記タスク間の実行順序が定められた運行計画情報が記憶されており、
前記運行計画情報に含まれるタスクを実行するタスク実行制御部と、
前記タスク実行制御部による前記タスクの進捗状況や、前記運行管理サーバとの間の前記通信インタフェースを介した通信状態を監視する状態監視部と、
を備え、
前記タスク実行制御部は、
前記状態監視部により、前記通信インタフェースを介した通信が可能であると判断された期間では、前記運行管理サーバからタスクの実行指令を受信し、受信された前記タスクの実行指令に基づいて、前記タスクを逐次実行し、
前記状態監視部により、前記通信インタフェースを介した通信が遮断されていると判断された期間では、前記運行計画情報で示される複数の前記タスクのうち、前記タスクの進捗状況に基づいて実行対象と判断されたタスクを逐次実行していく、
自律走行ロボット。
【請求項2】
前記状態監視部により、前記通信インタフェースを介した通信が可能であると判断された期間では、前記タスク実行制御部が前記タスクの実行を完了させると、タスク完了通知を前記運行管理サーバに送信する情報送信部を備え、
前記タスク完了通知は、前記運行管理サーバに、前記運行計画情報で示される実行順序に従った次のタスクを前記自律走行ロボットに送信させる情報である、請求項1に記載の自律走行ロボット。
【請求項3】
前記情報送信部は、
前記タスク完了通知とともに、前記タスクの進捗状況を、前記通信インタフェースを介して前記運行管理サーバに送信し、
前記状態監視部により、前記通信インタフェースを介した通信が復旧したことが判断された場合に、前記状態監視部により前記通信インタフェースを介した通信が遮断されていると判断された期間で監視された前記タスクの進捗状況を、前記タスク完了通知とともに、前記運行管理サーバに送信する、請求項2に記載の自律走行ロボット。
【請求項4】
前記タスク実行制御部は、
前記状態監視部により、前記通信が復旧したことが判断された場合に、現在実行中の前記タスクがあれば、当該タスクの実行を完了させ、
その後、前記状態監視部により前記通信インタフェースを介した通信が遮断されていると判断された期間で監視された前記タスクの進捗状況と、前記通信インタフェースを介した通信が復旧したことが判断された後に実行された前記タスクの進捗状況とを、前記タスク完了通知とともに、前記運行管理サーバに送信する、請求項3に記載の自律走行ロボット。
【請求項5】
指示に応じて、前記通信インタフェースを介した通信が遮断されていると判断された期間での、前記タスクの実行の許可又は不許可を設定するモード切替部を備え、
前記タスク実行制御部は、前記状態監視部により前記通信インタフェースを介した通信が遮断されていると判断された期間において、前記モード切替部により前記タスクの実行が不許可に設定されていれば、前記運行計画情報で指示された前記タスクを実行しない、請求項1~4のいずれか一項に記載の自律走行ロボット。
【請求項6】
通信インタフェースと、メモリとを備える自律走行ロボットと、運行管理サーバとを備える運行管理システムであって、
前記運行管理サーバは、
複数のタスクを含み、前記タスク間の実行順序が定められた運行計画情報を、前自律走行ロボットに送信し、
前記自律走行ロボットは、
前記運行計画情報に含まれるタスクを実行するタスク実行制御部と、
前記タスク実行制御部による前記タスクの進捗状況や、前記運行管理サーバとの間の前記通信インタフェースを介した通信状態を監視する状態監視部と、
を備え、
前記タスク実行制御部は、
前記状態監視部により前記通信インタフェースを介した通信が可能であると判断された期間では、前記運行管理サーバからタスクの実行指令を受信し、受信された前記タスクの実行指令に基づいて、前記タスクを逐次実行し、
前記状態監視部により前記通信インタフェースを介した通信が遮断されていると判断された期間では、前記運行管理サーバから受信した前記運行計画情報で示される複数の前記タスクのうち、前記タスクの進捗状況に基づいて判断された前記タスクを逐次実行していく、
運行管理システム。
【請求項7】
前記運行管理サーバは、
前記通信インタフェースを介した通信が遮断されており、かつ前記自律走行ロボットによるタスクの実行中である場合に、表示装置に、前記自律走行ロボットが、前記通信インタフェースを介した通信が遮断されている状態で前記タスクを実行中であることを表示させる、請求項6に記載の運行管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、運行管理システムにより、自律走行ロボットを走行させる技術に関する。
【背景技術】
【0002】
地図情報や外界センサを用いて自律走行を行うことが可能な自律走行ロボットが知られている。また、自律走行ロボットの運行を管理する運行管理システムも知られている。運行管理システムでは、ネットワークを介して自律走行ロボットに接続された装置を備えており、この装置からの指示に従って、自律走行ロボットの運行を管理している。例えば、非特許文献1には、複数台の自律走行ロボットの運行を管理可能な装置を備える運行管理システムが開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】協働ロボット・システム.com <https://cobot-system.com/maker/omron/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
自律走行システムの運行管理システムにおいて、自律走行ロボットとネットワークに接続された装置との間の通信が遮断された状況下では、自律走行ロボットへの指示を送信することができなくなる。例えば、自律走行システムの運行管理システムには、自律走行ロボットに対して、自律走行ロボットの目的地や、自律走行ロボットが実行すべき動作等を示すタスクを送信するものもある。そのため、運行管理システムにおいて、通信が遮断された場合、通信が復旧するまで自律走行ロボットの運行を停止させなければならず、サービスに支障が生じることが懸念される。
【0005】
本発明は、上記課題に鑑みたものであり、自律走行ロボットの運行管理において、通信の遮断に起因するサービスへの支障を緩和することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための本実施形態で開示された自律走行ロボットでは、通信インタフェースと、メモリと、を備え、通信インタフェースを介して、複数のタスクを所定順序で送信する運行管理サーバと通信可能な自律走行ロボットである。メモリには、複数のタスクを含み、タスク間の実行順序が定められた運行計画情報が記憶されており、運行計画情報に含まれるタスクを実行するタスク実行制御部と、タスク実行制御部によるタスクの進捗状況や、運行管理サーバとの間の通信インタフェースを介した通信状態を監視する状態監視部と、を備えている。タスク実行制御部は、状態監視部により、通信インタフェースを介した通信が可能であると判断された期間では、運行管理サーバからタスクの実行指令を受信し、受信されたタスクの実行指令に基づいて、タスクを逐次実行する。状態監視部により、通信インタフェースを介した通信が遮断されていると判断された期間では、運行計画情報で示される複数のタスクのうち、タスクの進捗状況に基づいて実行対象と判断されたタスクを逐次実行していく。
【0007】
上記構成では、運行管理サーバとの間で通信インタフェースを介した通信が可能な期間では、運行管理サーバからのタスクの実行指令に基づいて、タスクを逐次実行する。一方、運行管理サーバとの間の通信インタフェースを介した通信が遮断されている期間では、メモリに記憶済みの運行計画情報で示される複数のタスクのうち、タスクの進捗状況に基づいて実行対象と判断されたタスクを逐次実行する。これにより、通信が遮断されている期間においても、タスクの実行を継続することが可能になり、通信の遮断によりサービスに支障が生じるのを緩和することができる。
【0008】
状態監視部により、通信インタフェースを介した通信が可能であると判断された期間では、タスク実行制御部がタスクの実行を完了させると、タスク完了通知を運行管理サーバに送信する情報送信部を備えている。タスク完了通知は、運行管理サーバに、運行計画情報で示される実行順序に従った次のタスクを自律走行ロボットに送信させる情報である。上記構成では、自律走行ロボットが、タスクの実行完了後に運行管理サーバに完了通知を送信する構成においても、通信遮断によりサービスに支障が生じるのを防止することができる。
【0009】
情報送信部は、タスク完了通知とともに、タスクの進捗状況を、通信インタフェースを介して運行管理サーバに送信し、状態監視部により、通信インタフェースを介した通信が復旧したことが判断された場合に、状態監視部により通信が遮断されていると判断された期間で監視されたタスクの進捗状況を、タスク完了通知とともに、運行管理サーバに送信する。上記構成では、運行管理サーバは、通信が遮断されている期間で実行されたタスクの進捗状況を、通信が復旧した後に把握することが可能になる。
【0010】
タスク実行制御部は、状態監視部により、通信インタフェースを介した通信が復旧したことが判断された場合に、実行中のタスクがあれば、当該タスクの実行を完了させ、その後、状態監視部により通信インタフェースを介した通信が遮断されていると判断された期間で監視されたタスクの進捗状況と、通信インタフェースを介した通信が復旧したことが判断された後に実行されたタスクの進捗状況とを、タスク完了通知とともに、運行管理サーバに送信する。上記構成では、通信が復旧したときに実行中のタスクに対してはそのまま実行を継続することで、効率的にタスクを処理することができる。
【0011】
指示に応じて、通信インタフェースを介した通信が遮断されていると判断された期間での、タスクの実行の許可又は不許可を設定するモード切替部を備え、タスク実行制御部は、状態監視部により通信インタフェースを介した通信が遮断されていると判断された期間において、モード切替部によりタスクの実行が不許可に設定されていれば、運行計画情報で指示されたタスクを実行しない。上記構成では、通信が遮断されている期間で、タスクを実行するか否かを設定することができるため、サービスの内容に応じて、柔軟に運行管理を行うことができる。
【0012】
本実施形態には、自律走行ロボットと、運行管理サーバとを備える運行管理システムも開示されている。このような構成の運行管理システムにおいて、運行管理サーバは、通信インタフェースを介した通信が遮断されており、かつ自律走行ロボットによるタスクの実行中である場合に、表示装置に、自律走行ロボットが、通信が遮断されている状態でタスクを実行中であることを表示させる。これにより、オペレータに、通信が遮断されている状況下で、タスクの実行が継続されていることを認識させることができる。
【発明の効果】
【0013】
本発明によれば、運行管理サーバにより運行が管理される自律走行ロボットにおいて、通信の遮断に起因するサービスへの支障を緩和することができる。
【図面の簡単な説明】
【0014】
【
図3】運行管理サーバとPCとのブロック図である。
【
図5】自律走行ロボットの運航経路を説明する図である。
【
図6】運行管理を説明するタイミングチャートである。
【
図7】運行管理を説明するタイミングチャートである。
【
図8】運行管理を説明するタイミングチャートである。
【発明を実施するための形態】
【0015】
(第1実施形態)
本実施形態に係る運行管理システムを、図面を参照しつつ説明する。
図1に示す運行管理システム100は、複数台の自律走行ロボット80の運行を管理することで、所定のサービスを提供するシステムである。運行管理システム100で提供可能なサービスの一例として、荷物配送サービス、出前サービス、ごみ収集サービス等の配送サービスがある。
【0016】
運行管理システム100は、運行管理サーバ90と、PC93と、複数の自律走行ロボット80と、を主に備え、各装置は通信インタフェースを介して接続されている。なお、運行管理サーバ90、PC93、及び自律走行ロボット80は、ネットワーク(インターネット等を含む)を介して通信可能に接続されている。ネットワークは、有線ネットワーク91、及び無線AP92により構成されており、全体として、4G,5G等の無線通信ネットワークを構成している。なお、
図1では、3台の自律走行ロボット80が図示されているが、運行管理システム100により運行が管理される自律走行ロボット80の数は、3台に限らなない。また、PC93は、デスクトップ型、ラップトップ型の装置や、タブレット端末、スマートフォン等の携帯可能な装置であってもよい。また、PC93の数は、1台に限らず、複数台がネットワークに接続されていてもよい。
【0017】
まずは、自律走行ロボット80の構成を説明する。
図2に示されるように、自律走行ロボット80は、コントローラ10と、外界センサ11と、内界センサ16と、走行部12と、ユーザIF13と、通信IF14と、メモリ15と、を主に備えている。自律走行ロボット80を構成する各部は、不図示の筐体内部に収容されている。なお、IFは、インタフェースの略称である。
【0018】
外界センサ11は、例えば、LiDAR(Light Detection and Ranging/Laser Imaging Detection and Ranging)であり、周囲に近赤外光や可視光を出射し、反射光を光センサで捉えることで、自装置周囲の物体の相対座標を含むスキャンデータを取得する。スキャンデータは、周囲の物体における計測点の2次元座標と、外界センサ11の出射方向を示す情報とが関連付けられた状態で含まれるデータである。これ以外にも、外界センサ11が、3次元方向に光を出射する構成であれば、スキャンデータには、計測点の3次元座標が含まれていてもよい。コントローラ10は、スキャンデータに含まれる各計測情報により自装置から周囲の物体までの相対距離や、複数の計測点の位置関係により物体の形状を判断することが可能である。外界センサ11は、LiDAR以外にも、レーダーセンサ、カメラ、更にはこれらを組み合わせて使用するものであってもよい。
【0019】
走行部12は、自律走行ロボット80の走行を可能にする部位であり、一組の車輪と、モータと、モータドライバとを備えている。走行部12による駆動方式として、差動二輪駆動を用いる。差動二輪駆動では、コントローラから入力された指令速度により、モータドライバを駆動し、モータに駆動力を配分することで,車輪による直進動作や旋回動作を行うことが可能である。なお、走行部12は、2つの車輪を有することに限定されず、2つ以上の車輪を有していてもよい。更には、走行部12は、クローラ等を備えていてもよい。
【0020】
内界センサ16は、走行部12の車輪の回転角から、自律走行ロボット80の速度及び角速度を検出し、検出された速度及び角速度からオドメトリ情報を算出するセンサである。オドメドリ情報には、所定周期での走行部12の移動量や向きが含まれている。
【0021】
ユーザIF13は、コントローラ10とオペレータとの間のインタフェースとして機能する。ユーザIF13は、例えば、操作キーや、タッチパネルを含んでおり、オペレータによる操作に応じたコントローラ10への指示や、コントローラ10からの指示に応じた、テキストや、アイコンを表示させることができる。本実施形態では、ユーザIF13は、筐体の上部前側において、表示面が前方に向くように取り付けられている。
【0022】
通信IF14は、自律走行ロボット80をネットワークに接続することで、運行管理サーバ90や、PC93との無線通信を可能にする。
【0023】
コントローラ10は、不図示のCPUや、揮発性メモリ等の内部メモリを含んでいる。コントローラ10は、CPUが、メモリ15に記憶されたプログラムを実行することにより、指令受信部20、情報送信部21、モード切替部22、タスク実行制御部23、一時管理部24、状態監視部25としても機能する。なお、上述する各機能ブロックの一部が、コントローラ10が備えるハードウェアにより実現されていてもよい。なお、各部20~25の詳細は後述する。
【0024】
メモリ15には、地図情報MPが記憶される。地図情報MPは、2次元データであり、走路、壁、階段、その他の物体を示す点群と、この点群の絶対座標とが対応づけて記憶されている。地図情報MPには、各点群に関連付けて、物体の種別を識別するためのタグ情報や、自律走行ロボット80が守るべき走行速度が記憶されていてもよい。
【0025】
また、メモリ15には、運行計画情報D1、進捗情報D2、AMR情報D3も記憶される。運行計画情報D1は、サービスを提供するために、自律走行ロボット80が実行する具体的な運行計画を示す情報である。後述するように、運行計画情報D1には、複数のタスクTskが実行順序に応じて登録されている。各タスクTskは、自律走行ロボット80の目的地を指定する情報や、目的地での動作を指定する情報により構成されている。目的地を指定する情報は、例えば、自律走行ロボットの走行速度や走行経路に関する情報である。目的地での動作を指定する情報は、例えば、目的地で待機、集荷や荷下ろし時に荷室の開閉等の作業、受取人や配送先への荷物引き渡し作業等を示す情報である。
【0026】
なお、本実施形態では、運行管理システム100は配送サービスを提供するため、運行計画情報D1には、物品を、配送先として指定された目的地まで走行させるタスクTskと、この目的地で物品を配送するためのタスクTskとが登録されている。例えば、タスクTskが、目的地までの走行である場合、タスク実行制御部23は、地図情報MPを参照しつつ、走行部12の駆動を制御して、自律走行ロボット80を目的地まで自律走行させる。
【0027】
進捗情報D2は、運行計画情報D1に含まれる各タスクTskの進捗状況を示す情報である。進捗情報D2は、例えば、タスクTsk毎に、「未実行」、「継続中」、「実行完了」のいずれかを示す値が設定される。
【0028】
AMR情報D3は、サービスが提供されている期間での自律走行ロボット80の状態を示す情報であり、後述するように、状態監視部25による監視結果に応じて、所定周期で蓄積記憶されていく。AMR情報D3には、例えば、自律走行ロボット80の現在位置(絶対座標)、姿勢、タスクの進捗状況、状態情報(正常、異常)を示す情報が含まれている。「タスクの進捗状況」は、進捗情報D2と同様の情報である。また、「状態情報」には、後述する通信IF14を介した通信の通信状態(通信可、遮断)を示す情報も含まれている。
【0029】
次に、運行管理サーバ90の構成を説明する。
図3に示すように、運行管理サーバ90は、サーバ装置であり、メモリ70、コントローラ72、通信IF73を備えている。本実施形態では、運行管理サーバ90は、一つのサーバ装置として説明を行うが、これに限らず、複数のサーバ装置が、個別の機能を実行することで、全体として、運行管理サーバ90を構成するものであってもよい。また、運行管理サーバ90は、クラウドサーバー等で構成するものであってもよい。
【0030】
通信IF73は、自律走行ロボット80の通信IF14と同様、運行管理サーバ90をネットワークに接続する。
【0031】
コントローラ72は、不図示のCPUや、RAM、ROM等のメモリを有している。コントローラ72は、CPUが、ROMに記憶されたプログラムを実行することにより、運行計画管理部74、指令値生成部75、進捗管理部76として機能する。なお、各部74~76の詳細は後述する。
【0032】
メモリ70には、運行計画情報D1や、運行管理情報D4が記憶される。運行管理情報D4は、サービス提供中における、各自律走行ロボット80の運行状況を管理するための情報である。本実施形態では、運行管理情報D4は、各自律走行ロボット80から所定周期で送信されるAMR情報D3を蓄積したデータベースとして構成されている。なお、メモリ70に記憶される運行計画情報D1は、自律走行ロボット80のメモリ15に記憶された運行計画情報D1と同じ情報である。例えば、運行管理システム100が3台の自律走行ロボット80の運行を管理する場合は、メモリ70には、各自律走行ロボット80に対応する運行計画情報D1が記憶される。
【0033】
次に、PC93の構成を説明する。
図3に示すように、PC93は、コントローラ60、操作部61、表示部62、通信IF63を備えている。コントローラ60は、不図示のCPUや、メモリを備えている。コントローラ60のメモリには、運行管理アプリケーションプログラム64が記憶されている。以下では、運行管理アプリケーションプログラムを、運行管理アプリケーションとも記載する。
【0034】
コントローラ60は、運行管理アプリケーション64を実行することにより、運行計画作成処理や、運行状況表示処理を行うことができる。運行計画作成処理では、自律走行ロボット80が実行する具体的なタスクを含んだ運行計画情報D1を作成する。運行状況表示処理では、サービスの実行中に、様々な情報を表示装置である表示部62に表示させる。具体的には、運行状況表示処理では、運行管理サーバ90により保存された運行管理情報D4を用いて、各自律走行ロボット80の現在の位置、タスクの実行状況、更には自律走行ロボット80の状態を、表示部62に表示させることができる。オペレータは、表示部62に表示された情報により、運行計画の進捗度合いや、各自律走行ロボット80の運行状況を確認することが可能となる。
【0035】
次に、PC93のコントローラ60が実行する運行計画作成処理の詳細を説明する。以下では、プログラムを実行するコントローラ60のことを、単にプログラム名でも記載する場合がある。例えば、「運行管理アプリケーション64が」という記載は、「運行管理アプリケーション64を実行するコントローラ60が」ということを意味する場合がある。ここでは、運行計画作成処理により、
図4に示す運行計画情報D1を作成する場合を例に説明を行う。
図5は、
図4で示される運行計画情報D1により実行されるタスクの例示であり、地図情報MPに含まれる運行管理エリアを示している。地図情報MPにおいて、ハッチングを示した領域以外が、自律走行ロボット80の運行管理エリアである。また、初期位置Psは、自律走行ロボット80の充電スポットである。
【0036】
まず、オペレータは、PC93を操作することで、運行管理アプリケーション64を起動させる。運行管理アプリケーション64は、表示部62に、操作画面を表示させる。操作画面は、オペレータによる操作部61の操作に応じて、運行計画情報D1に含ませることができるタスクの入力を受付ける画面である。なお、本実施形態では、オペレータがPC93を操作することで、運行計画情報D1に含まれる全てのタスクを登録する場合を例に説明を行う。これに代えて、PC93により、全てのタスクを登録するのではなく、例えば、目的地での動作を指定する情報に関するタスクを、PC93とは異なり、運行管理システム100に関連する別システムの指示に基づいて登録してもよい。
【0037】
本実施形態では、運行管理アプリケーション64は、オペレータによる各タスクTskの入力を受付けることで、
図4で示す運行計画情報D1を作成する。運行計画情報D1には、複数のタスクTskが、実行順序に応じて登録されている。具体的には、運行計画情報D1において、タスクTsk1は、自律走行ロボット80の配送先として、目的地Aを指示する情報である。タスクTsk2は、自律走行ロボット80の目的地Aでの動作として、配送動作を指示する情報である。タスクTsk3は、自律走行ロボット80が目的地Aから移動する配送先として目的地Bを指示する情報である。タスクTsk4は、自律走行ロボット80の目的地Bでの動作として、配送動作を指示する情報である。タスクTsk5は、自律走行ロボット80が目的地Bから移動する配送先として目的地Cを指示する情報である。タスクTsk6は、自律走行ロボット80の目的地Cでの動作として、配送動作を指示する情報である。タスクTsk7は、自律走行ロボット80が目的地Cから移動する配送先として、初期位置Psを指定する情報である。
【0038】
自律走行ロボット80は、
図4で例示した運行計画情報D1に含まれる各タスクTskの順序に従って、各タスクを実行することになる。まず、自律走行ロボット80は、Tsk1により、初期位置Psから目的地Aまで自律走行し、Tsk2により、目的地Aでの配送動作を行う。自律走行ロボット80は、Tsk3により、目的地Aから目的地Bまで自律走行し、Tsk4により、目的地Bでの配送動作を行う。自律走行ロボット80は、Tsk5により、目的地Bから目的地Cまで自律走行し、Tsk6により、目的地Cでの配送動作を行う。自律走行ロボット80は、Tsk7により、目的地Cから初期位置Psまで自律走行する。
【0039】
運行管理アプリケーション64は、オペレータによる操作に応じて、全てのタスクTskの入力完了を判断すると、各タスクTsk1~Tsk7を含む、運行計画情報D1を作成し保存する。また、PC93のコントローラ60は、作成された運行計画情報D1を、通信IF63を介して運行管理サーバ90に送信する。運行管理サーバ90の、運行計画管理部74は、運行計画情報D1を受信すると、この運行計画情報D1をメモリ70に保存する。
【0040】
次に、運行管理システム100により実行される自律走行ロボット80の運行管理を、
図6、
図7、
図8を用いて説明する。なお、説明の便宜のため、1台の自律走行ロボット80に対する運行管理のみを説明するが、実際には、他の自律走行ロボット80に対しても運行管理を行っているものとする。また、
図6で示す処理よりも前には、自律走行ロボット80のメモリ15には、運行計画情報D1が記憶されていないものとする。
【0041】
まず、
図6を用いて、運行管理サーバ90と自律走行ロボット80との間の通信状態が良好である状態での運行管理を説明する。オペレータが、PC93の運行管理アプリケーション64に対して登録された運行計画情報D1の実行を開始するための操作を行った場合、運行管理アプリケーション64は、時刻10(以下、「時刻」を「T」とも記載する。)で、運行管理サーバ93に対して、登録済みの運行計画情報D1の実行指示を送信する。運行管理サーバ90では、運行計画情報D1の実行指示を受信すると、T11で、運行計画管理部74は、メモリ70に記憶された運行計画情報D1を読み出し、読み出された運行計画情報D1を、通信IF73を介して自律走行ロボット80に送信する。
【0042】
自律走行ロボット80では、運行計画情報D1を受信すると、T12で、コントローラ10は、運行計画情報D1をメモリ15に保存する。T13で、情報送信部21は、運行計画情報D1の保存が完了したことを示す完了通知を、通信IF14を介して運行管理サーバ90に送信する。
【0043】
運行管理サーバ90では、運行計画情報D1の保存が完了したことを示す完了通知を受信すると、T14で、指令値生成部75は、メモリ70に保存された運行計画情報D1と、運行管理情報D4とを参照して、実行すべきタスクTskを判断し、このタスクTskを自律走行ロボット80に実行させるためのタスク実行指令を作成する。タスク実行指令には、自律走行ロボット80に実行を指示するタスクTskの内容を示す情報や、実行を指示するタスクTskを識別する情報を含んでいる。ここでは、
図4に示す運行計画情報D1において、タスクTsk1を実行させるためのタスク実行指令を作成するものとする。
【0044】
T15では、指令値生成部75は、T14で作成されたタスク実行指令を、通信IF73を介して自律走行ロボット80に送信する。自律走行ロボット80の指令受信部20は、タスク実行指令を受信すると、タスク実行指令をタスク実行制御部23に送信する。T16では、タスク実行制御部23は、タスク実行指令を解釈し、このタスク実行指令により指定されるタスクTskの内容(ここでは、タスクTsk1の内容)に従って、走行部12の駆動を制御する。これにより、自律走行ロボット80は、初期位置Psから、目的地Aに向けて自律走行を開始する。なお、タスク実行指令には、実行を指示するタスクTskを識別する情報のみが含まれていてもよい。この場合、T16で、タスク実行制御部23は、タスク実行指令に含まれるタスクTskを識別する情報を用いて、メモリ15に記憶された運行計画情報D1から実行すべきタスクTskを判断すればよい。
【0045】
T17で、状態監視部25は、自装置の状態を監視しており、監視結果であるAMR情報D3のメモリ15への記憶や、進捗情報D2の更新を実行する。T18で、情報送信部21は、メモリ15に記憶されたAMR情報D3を、通信IF14を介して、運行管理サーバ90に送信する。運行管理サーバ90では、AMR情報D3を受信すると、T19で、進捗管理部76は、受信したAMR情報D3を用いて、運行管理情報D4を更新する。T20で、運行管理サーバ90の進捗管理部76は、更新された運行管理情報D4を、PC93に送信する。PC93の運行管理アプリケーション64は、運行管理情報D4を用いた運行状況表示処理により、自律走行ロボット80の運行状態を表示部62に表示していく。なお、T17~T20までの一連の処理は、自律走行ロボット80が運行管理システム100とネットワークを介して通信可能になった時点から、定期通信により所定周期で繰返し実行されるが、本実施形態では、説明の便宜のため、以後の記載を省略している。
【0046】
T21で、状態監視部25は、T16で実行を開始したタスクTsk1の実行完了を判断すると、T22で、状態監視として、AMR情報D3の記憶と、進捗情報D2の更新とを実行する。ここでは、進捗情報D2のうち、タスクTsk1に対応する値を、「実行中」から、「実行完了」を示す値に変更する。また、T21で記憶されるAMR情報D3には、タスクTsk1の実行が完了したことを示す進捗情報D2と、自律走行ロボット80の現在位置「目的地A」と、通信状態「通信可」を示す状態情報とを含んでいる。
【0047】
T23では、情報送信部21は、T22での状態監視により作成されたAMR情報D3を、タスクTsk1が完了したことを示す完了通知を含ませることで、運行管理サーバ90に送信する。T23で送信されるAMR情報D3に含まれるタスク完了通知は、運行管理サーバ90に、運行計画情報D1で示される実行順序に従った次のタスクを自律走行ロボット80に送信させるための情報である。運行管理サーバ90では、タスク完了通知を含むAMR情報D3を受信すると、T24で、進捗管理部76は、メモリ70に記憶された運行管理情報D4を更新する。
【0048】
T25では、指令値生成部75は、運行計画情報D1に含まれるタスクTskのうち、次に実行されるべきタスクTsk2のタスク実行指令を作成する。T26では、指令値生成部75は、タスクTsk2のタスク実行指令を、自律走行ロボット80に送信する。
【0049】
次に、自律走行ロボット80によるタスクTsk2の実行中に、通信障害が発生した場合の、運行管理を、
図7を用いて説明する。運行管理サーバ90のコントローラ72は、T30で、通信障害の発生により通信IF73を介した通信が遮断されたことを検出する。これにより、T31で、進捗管理部76は、現在、運行計画情報D1に従って実行中の運行計画に対して進捗管理を一時的に停止する。
【0050】
一方、自律走行ロボット80側でも、T32で、状態監視部25は、通信IF14を介した通信が遮断されたことを検出し、検出結果をモード切替部22に送信する。モード切替部22は、通信IF14を介した通信が遮断された場合に、運行管理のモードを通常モードから自己管理モードへと切替えるか否かを判断する。ここで、「通常モード」は、運行管理サーバ90からの指示に従って、タスクTskを実行していくモードである。「自己管理モード」は、メモリ15に記憶された運行計画情報D1を参照して、タスクTskを実行していくモードである。
【0051】
具体的には、自律走行ロボット80のメモリ15には、通常モードから自己管理モードへの切替えの許可、不許可を指定する内部フラグが記憶されている。モード切替部22は、内部フラグが許可に設定されていれば、通信IF14を介した通信が遮断された場合に、運行管理のモードを、通常モードから自己管理モードへと切替える。モード切替部22は、内部フラグが不許可に設定されていれば、通信IF14を介した通信が遮断された場合に、運行管理のモードを、通常モードから自己管理モードへと切替えない。これにより、自律走行ロボット80には、運行管理サーバ90からタスク実行指令が送信されないため、通信が復旧するまで、タスクTskの実行は一時的に停止されることとなる。
【0052】
運行管理のモード切替の可否は、運行管理アプリケーション64がPC93に表示する操作画面の操作により、内部フラグの値を設定することで行うことができる。これ以外にも、運行管理システム100で提供可能なサービスの種別に応じて、通信IF14を介した通信が遮断された場合での通常モードから自己管理モードへの許可、不許可が設定されるものであってもよい。本実施形態では、運行管理サーバ90のメモリ70にもPC93から送信された内部フラグが保存されている。
【0053】
ここでは、T33で、モード切替部22は、運行管理を、通常モードから自己管理モードへと切替えるものとする。また、通信遮断が生じている直前では、タスクTsk2を実行中であるため、タスク実行制御部23は、タスクTsk2の実行を継続する。
【0054】
運行管理サーバ90では、T31での進捗管理の一時停止後、内部フラグの値を参照することで、自己管理モードに切替られたことを判断する。T34で、進捗管理部76は、PC93に、モード切替済みであることを示す実行指令を送信する。PC93は、実行指令を受信すると、自律走行ロボット80が、通信が遮断されている状態でタスクTskを実行中であることを操作画面上に表示させる。
【0055】
自律走行ロボット80では、T35で、状態監視部25は、タスクTsk2の実行完了を判断すると、T36で、状態監視として、メモリ15に記憶された進捗情報D2の更新と、AMR情報D3の記憶とを行う。ここでは、進捗情報D2のうち、タスクTsk2に対応する値を、「実行中」から、「実行完了」を示す値に変更する。メモリ15に記憶されるAMR情報D3として、タスクTsk2が完了したことを示す進捗情報D2と、現在位置(目的地A)と、通信状態「遮断」であることを示す状態情報とをメモリ15に記憶する。
【0056】
T37では、一時管理部24は、メモリ15に記憶された運行計画情報D1、及び進捗情報D2を参照して、次に、実行対象となるタスクTskの実行指令を作成する。この例では、進捗情報D2には、タスクTsk2の実行完了が示されているため、一時管理部24は、タスクTsk3の実行指令を作成し、タスク実行制御部23に送信する。なお、本実施形態では、T37で一時管理部24により作成されるタスクTskの実行指令は、T14で、運行管理サーバ90の指令値生成部75が作成するタスク実行指令と同様の情報である。
【0057】
T38では、タスク実行制御部23は、一時管理部24によって作成されたタスク実行指令により、タスクTsk3を実行する。状態監視部25は、自律走行ロボット80の状態を監視しており、T35と同様、タスクTsk3の実行完了を判断すると、T36と同様の処理により、タスクTsk3に関する進捗情報D2の更新と、AMR情報D3の記憶とを実行していく。
【0058】
以下、自律走行ロボット80は、通信IF14を介した通信遮断の継続中に、タスクTsk5までを実行するものとして説明を継続する。その後、自律走行ロボット80がタスクTsk5を実行中に、通信障害が解消し、通信が復旧したものとする。
【0059】
図8のT40で、運行管理サーバ90のコントローラ72は、通信の復旧を検出すると、T41で、進捗管理部76は、中断した運行計画情報D1に従った運行計画に対する進捗管理を再開する。
【0060】
自律走行ロボット80では、T42で、状態監視部25は、通信の復旧を検出すると、T43で、一時管理部24は、通信の復旧前から実行を継続しているタスクTskの有無を判断する。ここでは、タスク実行制御部23は、通信の復旧前にタスクTsk5の実行を開始し、このタスクTsk5の実行を継続している。T44で、状態監視部25は、タスク実行制御部23によるタスクTsk5の実行完了を判断すると、T45で状態監視を行う。T45での状態監視では、進捗情報D2に対してタスクTsk5に対応する値が「実行完了」に変更され、AMR情報D3として、タスクTsk5が完了したことを示す進捗情報D2と、自律走行ロボット80の現在位置(「目的地C」)と、通信状態「通信可」であることを示す状態情報とをメモリ15に記憶する。
【0061】
T46では、情報送信部21は、通信遮断中の状態監視により記憶されたAMR情報D3を、運行管理サーバ90に送信する。この例では、通信遮断中に実行が完了した、タスクTsk2,Tsk3,Tsk4に加えて、通信遮断中に実行が開始され、復旧後に実行が完了されたタスクTsk5に関するAMR情報D3を、運行管理サーバ90に送信する。
【0062】
運行管理サーバ90では、T47で、進捗管理部76は、T46で送信されたAMR情報D3を用いて運行管理情報D4を更新する。これにより、運行管理情報D4に、通信遮断中の自律走行ロボット80の運行状態が反映される。
【0063】
T48では、指令値生成部75は、通信遮断中の自律走行ロボット80の運行状態が、運行管理情報D4に記憶されたことを示す完了通知を、自律走行ロボット80に送信する。自律走行ロボット80では、完了通知を受信すると、T49で、モード切替部22は、運行モードを、「自己管理モード」から「通常モード」へと切替える。これにより、自律走行ロボット80は、運行管理サーバ90から送信されるタスク実行指令に応じて、指定されたタスクTskを順次実行していく。
【0064】
運行管理サーバ90では、T50で、指令値生成部75は、タスクTsk6のタスク実行指令を作成し、T51で、作成されたタスク実行指令を、自律走行ロボット80に送信する。自律走行ロボット80は、タスク実行指令を受信すると、T52で、タスク実行制御部は、タスクTsk6を実行する。
【0065】
以下、運行計画情報D1に含まれるタスクTsk7の実行が完了されるまで、上述した通信状態が良好である場合での一連の処理が繰り返される。なお、自律走行ロボット80からタスクTsk7の完了通知が送信されると、運行管理サーバ90は、運行管理情報D4に対して運行計画情報D1の実行完了を示す情報を設定し、運行管理を終了する。
【0066】
以上説明した本実施形態では、以下の効果を奏することができる。
自律走行ロボット80は、運行管理サーバ90との間の通信IF14を介した通信が可能な期間では、運行管理サーバ90からのタスク実行指令に基づいて、タスクを逐次実行する。一方、自律走行ロボット80は、運行管理サーバ90との間の通信IF14を介した通信が遮断されている期間では、メモリ15に記憶済みの運行計画情報D1で示される複数のタスクのうち、実行済みのタスクの進捗状況に基づいて実行対象と判断されたタスクを逐次実行する。これにより、通信が遮断されている期間においても、タスクの実行を継続することが可能になり、通信遮断によりサービスに支障が生じるのを緩和したり、運行管理システムの稼働率の低下を抑制することができる。
【0067】
情報送信部21は、通信IF14を介した通信が可能である期間では、タスク実行制御部23がタスクの実行を完了させると、タスク完了通知を運行管理サーバ90に送信する。これにより、自律走行ロボット80が、タスクの実行完了後に運行管理サーバ90に完了通知を送信する構成においても、通信遮断によりサービスに支障が生じるのを防止することができる。
【0068】
情報送信部21は、通信IF14を介した通信が復旧した場合に、通信が遮断されている期間で監視されたタスクTskの進捗状況を、タスク完了通知とともに、運行管理サーバ90に送信する。これにより、運行管理サーバ90は、通信が遮断されている期間で、実行されたタスクの進捗状況を、把握することが可能になる。
【0069】
タスク実行制御部23は、通信IF14を介した通信が復旧した場合に、実行中のタスクがあれば、当該タスクの実行を完了させるまで、当該タスクの実行を継続する。その後、通信IF14を介した通信が遮断された期間で監視されたタスクの進捗状況と、通信が復旧したことが判断された後に実行されたタスクの進捗状況とを、タスク完了通知とともに、運行管理サーバ90に送信する。これにより、通信が復旧したときに実行中のタスクに対してはそのまま実行を継続することで、効率的にタスクを処理することができる。
【0070】
タスク実行制御部23は、通信IF14を介した通信が遮断されていると判断された期間でのタスクの実行が不許可に設定されている場合は、通信IF14を介した通信が遮断された期間では、運行計画情報D1で指示されたタスクを実行しない。これにより、サービスの内容に応じて、柔軟な運行管理を行うことができる。
【0071】
運行管理サーバ90は、通信IF73を介した通信が遮断された場合に、内部フラグが自己管理モードへの切替を許可する値に設定されていれば、PC93に、通信が遮断されている状態で自律走行ロボット80がタスクを実行中であることを表示させる。これにより、通信が遮断されている状況下で、PC93を操作するオペレータに運行計画情報D1の実行が継続されていることを認識させることができる。
【0072】
(その他の実施形態)
本明細書で開示される技術は、上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
上述の実施形態では、自律走行ロボット80は、運行管理サーバ90から送信された運行計画情報D1を受信し、メモリ15に保存した。これに代えて、自律走行ロボット80のサービス内容に変更がない場合に、工場出荷時から、自律走行ロボット80のメモリ15に運行計画情報D1が保存されていてもよい。
【0073】
上述の実施形態では、自律走行ロボット80は、通信IF14を介した通信が可能な期間では、タスクの実行を完了させると、タスク完了通知を運行管理サーバ90に送信した。これに代えて、自律走行ロボット80は、通信IF14を介した通信が可能である期間では、タスクの実行を完了させても、タスク完了通知を運行管理サーバ90に送信しなくともよい。
【0074】
上述の実施形態では、自律走行ロボット80は、自己管理モードの実行の許可と不許可とを切替可能であった。これに代えて、自律走行ロボット80は、通信が遮断された場合に、必ず、自己管理モードに切替る構成であってもよい。
【0075】
上述の実施形態では、運行管理アプリケーションプログラム64は、PC93のメモリに記憶されていたが、運行管理サーバ90のメモリ(不図示)に記憶されていてもよい。この場合において、運行管理サーバ90のコントローラ72は、運行管理アプリケーションプログラム64を実行することにより、運行計画作成処理による運行計画情報D1の作成や、運行状況表示処理による表示をネットワークを介して行うことができる。
【0076】
上述の実施形態では、PC93のコントローラ60が実行する運行計画作成処理において、1つの地図情報MPに対する運行計画情報D1を作成していたが、複数の地図情報に対して運行計画情報D1を作成してもよい。例えば、階数が複数ある環境においてスタート地点が1階であり配送先が2階である場合、階毎の地図情報(1階及び2階の地図情報)に対する運行計画情報D1を作成して、階毎に地図情報を切替えてもよい。
【0077】
上述の実施形態では、自律走行ロボットに適用していたが、自律走行車両や無人搬送車両などにも適用可能である。
【符号の説明】
【0078】
10…コントローラ、14…通信IF、20…指令受信部、21…情報送信部、22…モード切替部、23…タスク実行制御部、24…一時管理部、25…状態監視部、80…自律走行ロボット、90…運行管理サーバ