(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-05
(45)【発行日】2024-08-14
(54)【発明の名称】ロボット制御システム、ロボット制御方法、及びプログラム
(51)【国際特許分類】
G05D 1/43 20240101AFI20240806BHJP
【FI】
G05D1/43
(21)【出願番号】P 2021018577
(22)【出願日】2021-02-08
【審査請求日】2023-08-22
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】小田 志朗
(72)【発明者】
【氏名】平 哲也
(72)【発明者】
【氏名】豊島 聡
(72)【発明者】
【氏名】渡邊 裕太
(72)【発明者】
【氏名】松井 毅
(72)【発明者】
【氏名】那須 敬義
(72)【発明者】
【氏名】吉川 恵
(72)【発明者】
【氏名】太田 雄介
(72)【発明者】
【氏名】石田 裕太郎
(72)【発明者】
【氏名】大沼 侑司
(72)【発明者】
【氏名】荒井 恭佑
【審査官】岩▲崎▼ 優
(56)【参考文献】
【文献】特開2018-163471(JP,A)
【文献】特開2003-029840(JP,A)
【文献】実開平05-042074(JP,U)
【文献】特開平07-265477(JP,A)
【文献】特開2002-073173(JP,A)
【文献】特開昭51-114959(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/87
(57)【特許請求の範囲】
【請求項1】
周辺物体までの距離が閾値距離以下にならないように、施設内を自律移動する複数の移動ロボットを制御するロボット制御システムであって、
前記施設の地図情報に設定された待機エリアに関する情報を取得し、
前記待機エリアにおける前記移動ロボットの待機台数に応じて、前記閾値距離を変更
し、
前記閾値距離が小さくなった場合に、前記待機エリアの一端側にいる移動ロボット側に他の移動ロボットが詰めていくロボット制御システム。
【請求項2】
前記待機エリアで停止している前記移動ロボットの台数が所定値を超えた場合に、前記閾値距離を小さくする請求項1に記載のロボット制御システム。
【請求項3】
前記待機エリアにいる前記移動ロボットの待機台数と、前記待機エリアに向かって移動している移動ロボットの到着予定台数とに応じて、前記閾値距離を小さくする請求項1、又は2に記載のロボット制御システム。
【請求項4】
前記移動ロボットが搬送物を搬送する搬送ロボットであり、
前記移動ロボットが搬送する搬送物に関する搬送物情報に応じて、前記閾値距離を変更する請求項
1~3のいずれか1項に記載のロボット制御システム。
【請求項5】
前記移動ロボットの移動中において、前記閾値距離が移動速度に応じて段階的に変化する請求項
1~4のいずれか1項に記載のロボット制御システム。
【請求項6】
前記待機エリアのサイズが固定されている請求項
1~5のいずれか1項に記載のロボット制御システム。
【請求項7】
周辺物体までの距離が閾値距離以下にならないように、施設内を自律移動する複数の移動ロボットを制御するロボット制御方法であって、
前記施設の地図情報に設定された待機エリアに関する情報を取得し、
前記待機エリアにおける前記移動ロボットの待機台数に応じて、前記閾値距離を変更
し、
前記閾値距離が小さくなった場合に、前記待機エリアの一端側にいる移動ロボット側に他の移動ロボットが詰めていくロボット制御方法。
【請求項8】
前記待機エリアで停止している前記移動ロボットの台数が所定値を超えた場合に、前記閾値距離を小さくする請求項
7に記載のロボット制御方法。
【請求項9】
前記待機エリアにいる前記移動ロボットの待機台数と、前記待機エリアに向かって移動している移動ロボットの到着予定台数とに応じて、前記閾値距離を小さくする請求項
7、又は8に記載のロボット制御方法。
【請求項10】
前記移動ロボットが搬送物を搬送する搬送ロボットであり、
前記移動ロボットが搬送する搬送物に関する搬送物情報に応じて、前記閾値距離を変更する請求項
7~9のいずれか1項に記載のロボット制御方法。
【請求項11】
前記移動ロボットの移動中において、前記閾値距離が移動速度に応じて段階的に変化する請求項
7~10のいずれか1項に記載のロボット制御方法。
【請求項12】
前記待機エリアのサイズが固定されている請求項
7~11のいずれか1項に記載のロボット制御方法。
【請求項13】
周辺物体までの距離が閾値距離以下にならないように、施設内を自律移動する複数の移動ロボットを制御するロボット制御方法をコンピュータに実行させるためのプログラムであって、
前記ロボット制御方法は、
前記施設の地図情報に設定された待機エリアに関する情報を取得し、
前記待機エリアにおける前記移動ロボットの待機台数に応じて、前記閾値距離を変更
し、
前記閾値距離が小さくなった場合に、前記待機エリアの一端側にいる移動ロボット側に他の移動ロボットが詰めていく、プログラム。
【請求項14】
前記待機エリアで停止している前記移動ロボットの台数が所定値を超えた場合に、前記閾値距離を小さくする請求項
13に記載のプログラム。
【請求項15】
前記待機エリアにいる前記移動ロボットの待機台数と、前記待機エリアに向かって移動している移動ロボットの到着予定台数とに応じて、前記閾値距離を小さくする請求項
13、又は14に記載のプログラム。
【請求項16】
前記移動ロボットが搬送物を搬送する搬送ロボットであり、
前記移動ロボットが搬送する搬送物に関する搬送物情報に応じて、前記閾値距離を変更する請求項
13~15のいずれか1項に記載のプログラム。
【請求項17】
前記移動ロボットの移動中において、前記閾値距離が移動速度に応じて段階的に変化する請求項
13~16のいずれか1項に記載のプログラム。
【請求項18】
前記待機エリアのサイズが固定されている請求項
13~17のいずれか1項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボット制御システム、ロボット制御方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、測距センサを用いて障害物検知を行う移動体が開示されている。移動制御部は、検知された障害物への衝突を防ぐように移動体を制御している。そして、障害物検知制御部は、予め定められた条件が満たされた場合、障害物の検知が弱くなる。例えば、障害物検知制御部は、予め定められた条件を満たす場合、障害物の検知範囲を狭くする、あるいは障害物検知を停止している。現在位置が予め決められた場所になったこと、標識が検知されたこと、又はエレベータのかごに乗ったことが、予め定められた条件となる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数の移動体(移動ロボットとも言う)を制御する場合、より効率良く移動体を移動させたいという要望がある。
【0005】
本開示は、このような問題を解決するためになされたものであり、より効率良く移動ロボットを制御することができる制御システム、ロボット制御方法、及びプログラムを提供するものである。
【課題を解決するための手段】
【0006】
本実施の形態にかかるロボット制御システムは、周辺物体までの距離が閾値距離以下にならないように、施設内を自律移動する複数の移動ロボットを制御するロボット制御システムであって、前記施設の地図情報に設定された待機エリアに関する情報を取得し、前記待機エリアにおける前記移動ロボットの待機台数に応じて、前記閾値距離を変更する。
【0007】
上記のロボット制御システムでは前記待機エリアで停止している前記移動ロボットの台数が所定値を超えた場合に、前記閾値距離を小さくするようにしてもよい。
【0008】
上記のロボット制御システムでは前記待機エリアにいる前記移動ロボットの待機台数と、前記待機エリアに向かって移動している移動ロボットの到着予定台数とに応じて、前記閾値距離を小さくするようにしてもよい。
【0009】
上記のロボット制御システムでは、前記閾値距離が小さくなった場合に、前記待機エリアの一端側にいる移動ロボット側に他の移動ロボットが詰めていくようにしてもよい。
【0010】
上記のロボット制御システムでは、前記移動ロボットが搬送物を搬送する搬送ロボットであり、前記移動ロボットが搬送する搬送物に関する搬送物情報に応じて、前記閾値距離を変更するようにしてもよい。
【0011】
上記のロボット制御システムでは、前記移動ロボットの移動中において、前記閾値距離が移動速度に応じて段階的に変化するようにしてもよい。
【0012】
上記のロボット制御システムでは、前記待機エリアのサイズが固定されていてもよい。
【0013】
本実施の形態にかかるロボット制御方法は、周辺物体までの距離が閾値距離以下にならないように、施設内を自律移動する複数の移動ロボットを制御するロボット制御方法であって、前記施設の地図情報に設定された待機エリアに関する情報を取得し、前記待機エリアにおける前記移動ロボットの待機台数に応じて、前記閾値距離を変更する。
【0014】
上記のロボット制御方法では前記待機エリアで停止している前記移動ロボットの台数が所定値を超えた場合に、前記閾値距離を小さくするようにしてもよい。
【0015】
上記のロボット制御方法では前記待機エリアにいる前記移動ロボットの待機台数と、前記待機エリアに向かって移動している移動ロボットの到着予定台数とに応じて、前記閾値距離を小さくするようにしてもよい。
【0016】
上記のロボット制御方法では、前記閾値距離が小さくなった場合に、前記待機エリアの一端側にいる移動ロボット側に他の移動ロボットが詰めていくようにしてもよい。
【0017】
上記のロボット制御方法では、前記移動ロボットが搬送物を搬送する搬送ロボットであり、前記移動ロボットが搬送する搬送物に関する搬送物情報に応じて、前記閾値距離を変更するようにしてもよい。
【0018】
上記のロボット制御方法では、前記移動ロボットの移動中において、前記閾値距離が移動速度に応じて段階的に変化するようにしてもよい。
【0019】
上記のロボット制御方法では、前記待機エリアのサイズが固定されていてもよい。
【0020】
本実施の形態にかかるプログラムは、周辺物体までの距離が閾値距離以下にならないように、施設内を自律移動する複数の移動ロボットを制御するロボット制御方法をコンピュータに実行させるプログラムであって、前記ロボット制御方法は、前記施設の地図情報に設定された待機エリアに関する情報を取得し、前記待機エリアにおける前記移動ロボットの待機台数に応じて、前記閾値距離を変更する。
【0021】
上記のプログラムでは前記待機エリアで停止している前記移動ロボットの台数が所定値を超えた場合に、前記閾値距離を小さくするようにしてもよい。
【0022】
上記のプログラムでは前記待機エリアにいる前記移動ロボットの待機台数と、前記待機エリアに向かって移動している移動ロボットの到着予定台数とに応じて、前記閾値距離を小さくするようにしてもよい。
【0023】
上記のプログラムでは、前記閾値距離が小さくなった場合に、前記待機エリアの一端側にいる移動ロボット側に他の移動ロボットが詰めていくようにしてもよい。
【0024】
上記のプログラムでは、前記移動ロボットが搬送物を搬送する搬送ロボットであり、前記移動ロボットが搬送する搬送物に関する搬送物情報に応じて、前記閾値距離を変更するようにしてもよい。
【0025】
上記のロボット制御方法では、前記移動ロボットの移動中において、前記閾値距離が移動速度に応じて段階的に変化するようにしてもよい。
【0026】
上記のロボット制御方法では、前記待機エリアのサイズが固定されていてもよい。
【発明の効果】
【0027】
本発明により、適切に搬送ロボットを制御することができるロボット制御システム、ロボット制御方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【0028】
【
図1】本実施形態に係る移動ロボットが利用されるシステムの全体構成を説明するための概念図である。
【
図2】本実施形態に係る制御システムの制御ブロック図である。
【
図4】本実施形態に係る制御方法を示すフローチャートである。
【
図5】実施の形態1の制御動作を説明するための模式図である。
【
図6】実施の形態1の制御動作を説明するための模式図である。
【
図7】実施の形態1の制御動作を説明するための模式図である。
【
図8】変形例1の制御動作を説明するための模式図である。
【
図9】変形例1の制御動作を説明するための模式図である。
【
図10】変形例1の制御動作を説明するための模式図である。
【
図11】変形例2の制御動作を説明するための模式図である。
【発明を実施するための形態】
【0029】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明は以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【0030】
(概略構成)
図1は、本実施形態に係る移動ロボット20が利用されるシステム1の全体構成を説明するための概念図である。例えば、移動ロボット20は、搬送物の搬送をタスクとして実行する搬送ロボットである。移動ロボット20は、病院、リハビリセンタ、介護施設、高齢者入居施設などの医療福祉施設内において、搬送物を搬送するために自律走行する。また、本実施の形態にかかるシステムは、ショッピングモールなどの商業施設等にも利用可能である。
【0031】
ユーザU1は、移動ロボット20に搬送物を収容して、搬送を依頼する。移動ロボット20は、設定された目的地まで自律的に移動して、搬送物を搬送する。つまり、移動ロボット20は荷物の搬送タスク(以下、単にタスクともいう)を実行する。以下の説明では、搬送物を搭載する場所を搬送元とし、搬送物を届ける場所を搬送先とする。
【0032】
例えば、移動ロボット20が複数の診療科がある総合病院内を移動するものとする。移動ロボット20は、複数の診療科間で備品、消耗品、医療器具等を搬送する。例えば、移動ロボットは、搬送物をある診療科のナースステーションから、別の診療科へのナースステーションに届ける。あるいは、移動ロボット20は、備品や医療器具の保管庫から診療科のナースステーションまで搬送物を届ける。また、移動ロボット20は、調剤科で調剤された薬品を使用予定の診療科や患者まで届ける。
【0033】
搬送物の例としては、薬剤、包帯などの消耗品、検体、検査器具、医療器具、病院食、文房具などの備品等が挙げられる。医療機器としては、血圧計、輸血ポンプ、シリンジポンプ、フットポンプ、ナースコール、離床センサ、フットポンプ、低圧持続吸入器心電図モニタ、医薬品注入コントローラ、経腸栄養ポンプ、人工呼吸器、カフ圧計、タッチセンサ、吸引器、ネブライザ、パルスオキシメータ、血圧計、人工蘇生器、無菌装置、エコー装置などが挙げられる。また、病院食、検査食などの食事を搬送しても良い。さらに、移動ロボット20は、使用済みの機器、食事済みの食器などを搬送しても良い。搬送先が異なる階にある場合、移動ロボット20はエレベータなどを利用して移動してもよい。
【0034】
システム1は、移動ロボット20と、上位管理装置10と、ネットワーク600と、通信ユニット610と、ユーザ端末400と、を備えている。ユーザU1又はユーザU2は、ユーザ端末400を用いて、搬送物の搬送依頼を行うことができる。例えば、ユーザ端末400は、タブレットコンピュータやスマートフォンなどである。ユーザ端末400は、無線又は有線で通信可能な情報処理装置であればよい。
【0035】
本実施形態においては、移動ロボット20とユーザ端末400は、ネットワーク600を介して上位管理装置10を接続されている。移動ロボット20及びユーザ端末400は、通信ユニット610を介して、ネットワーク600と接続される。ネットワーク600は有線又は無線のLAN(Local Area Network)やWAN(Wide Area Network)である。さらに、上位管理装置10は、ネットワーク600と有線又は無線で接続されている。通信ユニット610はそれぞれの環境に設置された例えば無線LANユニットである。通信ユニット610は、例えば、WiFiルータなどの汎用通信デバイスであってもよい。
【0036】
ユーザU1、U2のユーザ端末400から発信された各種信号は、ネットワーク600を介して一旦、上位管理装置10へ送られ、上位管理装置10から対象となる移動ロボット20へ転送される。同様に、移動ロボット20から発信される各種信号は、ネットワーク600を介して一旦、上位管理装置10へ送られ、上位管理装置10から対象となるユーザ端末400へ転送される。上位管理装置10は各機器と接続されたサーバであり、各機器からのデータを収集する。また、上位管理装置10は、物理的に単一な装置に限られるものではなく、分散処理を行う複数の装置を有していてもよい。また、上位管理装置10は、移動ロボット20等のエッジデバイスに分散して配置されていても良い。例えば、システム1の一部又は全部が移動ロボット20に搭載されていても良い。
【0037】
ユーザ端末400と移動ロボット20は、上位管理装置10を介さずに、信号を送受信してもよい。例えば、ユーザ端末400と移動ロボット20は、無線通信により直接信号を送受信してもよい。あるいは、ユーザ端末400と移動ロボット20は、通信ユニット610を介して、信号を送受信してもよい。
【0038】
ユーザU1又はユーザU2は、ユーザ端末400を用いて搬送物の搬送を依頼する。以下、ユーザU1が搬送元にいる搬送依頼者であり、ユーザU2が搬送先(目的地)にいる受領予定者であるとして説明を行う。もちろん、搬送先にいるユーザU2が搬送依頼を行うことも可能である。また、搬送元又は搬送先以外の場所にいるユーザが搬送依頼を行ってもよい。
【0039】
ユーザU1が搬送依頼を行う場合、ユーザ端末400を用いて、搬送物の内容、搬送物の受取先(以下、搬送元ともいう)、搬送物の届け先(以下、搬送先ともいう)、搬送元の到着予定時刻(搬送物の受取時刻)、搬送先への到着予定時間(搬送期限)等を入力する。以下、これらの情報を搬送依頼情報ともいう。ユーザU1は、ユーザ端末400のタッチパネルを操作することで、搬送依頼情報を入力することができる。搬送元は、ユーザU1がいる場所でも良く、搬送物の保管場所などであってもよい。搬送先は、使用予定のユーザU2や患者がいる場所である。
【0040】
ユーザ端末400は、ユーザU1によって入力された搬送依頼情報を上位管理装置10に送信する。上位管理装置10は、複数の移動ロボット20を管理する管理システムである。上位管理装置10は、移動ロボット20に搬送タスクを実行するための動作指令を送信する。上位管理装置10は搬送依頼毎に、搬送タスクを実行する移動ロボット20を決定する。そして、上位管理装置10は、その移動ロボット20に対して動作指令を含む制御信号を送信する。移動ロボット20が、動作指令に従って、搬送元から搬送先に到着するように移動する。
【0041】
例えば、上位管理装置10は、搬送元又はその近傍の移動ロボット20に搬送タスクを割り当てる。あるいは、上位管理装置10は、搬送元又はその近傍に向かっている移動ロボット20に搬送タスクを割り当てる。タスクを割り当てられた移動ロボット20が搬送元まで搬送物を取りに行く。搬送元は、例えば、タスクを依頼したユーザU1がいる場所である。
【0042】
移動ロボット20が搬送元に到着すると、ユーザU1又はその他の職員が移動ロボット20に搬送物を載せる。搬送物を搭載した移動ロボット20が搬送先を目的地として自律移動する。上位管理装置10は、搬送先のユーザU2のユーザ端末400に対して信号を送信する。これにより、ユーザU2は、搬送物が搬送中であることや、その到着予定時間を知ることができる。設定された搬送先に移動ロボット20が到着すると、ユーザU2は、移動ロボット20に収容されている搬送物を受領することができる。このようにして、移動ロボット20が、搬送タスクを実行する。
【0043】
このような全体構成においては、制御システムの各要素を、移動ロボット20、ユーザ端末400および上位管理装置10に分散して全体として制御システムを構築することができる。また、搬送物の搬送を実現するための実質的な要素を一つの装置に集めて構築することもできる。上位管理装置10は、1又は複数の移動ロボット20を制御する。
【0044】
(制御ブロック図)
図2は、システム1の制御系を示す制御ブロック図を示す。
図2に示すように、システム1は、上位管理装置10、移動ロボット20、環境カメラ300を有する。
【0045】
このシステム1は、所定の施設内において移動ロボット20を自律的に移動させながら、複数の移動ロボット20を効率的に制御する。そのため、施設内には、複数個の環境カメラ300が設置されている。例えば、環境カメラ300は、施設内の通路、ホール、エレベータ、出入り口等に設置されている。
【0046】
環境カメラ300は、移動ロボット20が移動する範囲の画像を取得する。なお、システム1では、環境カメラ300で取得された画像やそれに基づく情報は、上位管理装置10が収集する。あるいは、環境カメラ300で取得された画像等が直接移動ロボットに送信されてもよい。環境カメラ300は、施設内の通路や出入り口に設けられた監視カメラなどであってもよい。環境カメラ300は、施設内の混雑状況の分布を求めるために使用されていてもよい。
【0047】
実施の形態1にかかるシステム1では、上位管理装置10が搬送依頼情報に基づいて、ルート計画を行う。上位管理装置10が作成したルート計画情報に基づいて、それぞれの移動ロボット20に行き先を指示する。そして、移動ロボット20は、上位管理装置10から指定された行き先に向かって自律移動する。移動ロボット20は、自機に設けられたセンサ、フロアマップ、位置情報等を用いて行き先(目的地)に向かって自律移動する。
【0048】
例えば、移動ロボット20は、その周辺の機器、物体、壁、人(以下、まとめて周辺物体とする)に接触しないように、走行する。具体的には、移動ロボット20は、周辺物体までの距離を検知し、周辺物体から一定の距離(閾値距離とする)以上離れた状態で走行する。周辺物体までの距離が閾値距離以下になると、移動ロボット20が減速または停止する。このようにすることで、移動ロボット20が、周辺物体に接触せずに走行可能となる。接触を回避することができるため、安全かつ効率的な搬送が可能となる。閾値距離は、各移動ロボットが安全に走行できるように設定された所定の距離となっている。
【0049】
上位管理装置10は、演算処理部11、記憶部12、バッファメモリ13、通信部14を有する。演算処理部11は、移動ロボット20を制御及び管理するための演算を行う。演算処理部11は、例えば、コンピュータの中央演算処理装置(CPU:Central Processing Unit)等のプログラムを実行可能な装置として実装可能である。そして、各種機能はプログラムにより実現することもできる。
図2では、演算処理部11において特徴的なロボット制御部111、ルート計画部115、搬送物情報取得部116のみを示したが、その他の処理ブロックも備えられる。
【0050】
ロボット制御部111は、移動ロボット20を遠隔で制御するための演算を行い、制御信号を生成する。ロボット制御部111は、後述するルート計画情報125などに基づいて制御信号を生成する。さらに、環境カメラ300や移動ロボット20から得られた各種情報に基づいて、制御信号を生成する。制御信号は、後述するフロアマップ121、ロボット情報123及びロボット制御パラメータ122等の更新情報を含んでいてもよい。つまり、ロボット制御部111は、各種情報が更新された場合、その更新情報に応じた制御信号を生成する。
【0051】
搬送物情報取得部116は、搬送物に関する情報を取得する。搬送物情報取得部116は、移動ロボット20が搬送中の搬送物の内容(種別)に関する情報を取得する。
【0052】
ルート計画部115は、各移動ロボット20のルート計画を行う。搬送タスクが入力されると、ルート計画部115は、搬送依頼情報に基づいて、当該搬送物を搬送先(目的地)までの搬送するためのルート計画を行う。具体的には、ルート計画部115は、記憶部12に既に記憶されているルート計画情報125やロボット情報123等を参照して、新たな搬送タスクを実行する移動ロボット20を決定する。出発地は、移動ロボット20の現在位置や、直前の搬送タスクの搬送先、搬送物の受取先などである。目的地は、搬送物の搬送先、待機場所(待機エリア)、充電場所などである。
【0053】
ここでは、ルート計画部115は、移動ロボット20の出発地から目的地までの通過ポイントを設定している。ルート計画部115は、移動ロボット20毎に、その通過ポイントの通過順を設定する。通過ポイントは、例えば、分岐点、交差点、エレベータ前のロビーやこれらの周辺に設定されている。また、幅の狭い通路では、移動ロボット20のすれ違いが困難となることもある。このような場合、幅の狭い通路の手前を通過ポイントして設定してもよい。通過ポイントの候補は、予めフロアマップ121に登録されていてもよい。
【0054】
ルート計画部115は、システム全体として効率良くタスクを実行できるように、複数の移動ロボット20の中から、各搬送タスクを行う移動ロボット20を決定する。ルート計画部115は、待機中の移動ロボット20や搬送元に近い移動ロボット20に搬送タスクを優先的に割り当てる。
【0055】
ルート計画部115は、搬送タスクが割り当てられた移動ロボット20について、出発地及び目的地を含む通過ポイントを設定する。例えば、搬送元から搬送先までの2以上の移動経路がある場合、より短時間で移動できるように通過ポイントを設定する。そのため、上位管理装置10は、カメラの画像等に基づいて、通路の混雑状況を示す情報を更新する。具体的には、他の移動ロボット20が通過している場所、人が多い場所は混雑度が高い。したがって、ルート計画部115は、混雑度が高い場所を避けるように、通過ポイントを設定する。
【0056】
移動ロボット20は、左回りの移動経路又は右回りの移動経路のいずれでも目的地まで移動できるような場合がある。このような場合、ルート計画部115は、混雑していないほうの移動経路を通過するように通過ポイントを設定する。ルート計画部115が、目的地までの間に、1又は複数の通過ポイントを設定することで、移動ロボット20が混雑していない移動経路で移動することができる。例えば、分岐点、交差点で通路が分かれている場合、ルート計画部115は、適宜、分岐点、交差点、曲がり角及びその周辺に通過ポイントを設定する。これにより、搬送効率を向上することができる。
【0057】
ルート計画部115は、エレベータの混雑状況や、移動距離などを考慮して、通過ポイントを設定してもよい。さらに、上位管理装置10は、移動ロボット20がある場所を通過する予定時刻における、移動ロボット20の数や人の数を推定してもよい。そして、推定された混雑状況に応じて、ルート計画部115が通過ポイントを設定してもよい。また、ルート計画部115は、混雑状況の変化に応じて、通過ポイントを動的に変えてもよい。ルート計画部115は、搬送タスクを割り当てた移動ロボット20について、通過ポイントを順番に設定する。通過ポイントは、搬送元や搬送先を含んでいてもよい。後述するように、移動ロボット20が、ルート計画部115により設定された通過ポイントを順番に通過するように自律移動する。
【0058】
記憶部12は、ロボットの管理及び制御に必要な情報を格納する記憶部である。
図2の例では、フロアマップ121、ロボット情報123、ロボット制御パラメータ122、ルート計画情報125、搬送物情報126を示したが、記憶部12に格納される情報はこれ以外にあっても構わない。演算処理部11では、各種処理を行う際に記憶部12に格納されている情報を用いた演算を行う。また、記憶部12に記憶されている各種情報は最新の情報に更新可能である。
【0059】
フロアマップ121は、移動ロボット20を移動させる施設の地図情報である。このフロアマップ121は、予め作成されるものでもよいし、移動ロボット20から得た情報から生成されるものでもよく、また、予め作成された基本地図に移動ロボット20から得た情報から生成された地図修正情報を加えたものであってもよい。
【0060】
さらに、フロアマップ121は、移動ロボット20の待機エリアを示す情報を含んでいる。例えば、ユーザが搬送物を搭載する場所や、搬送物を取り出す場所が、待機エリアとなる。フロアマップ121には、ナースステーション、保管庫、薬剤科などが待機エリアとして設定されている。待機エリアでは、搬送物の搬送や取出しが頻繁に行われる。そのため、2台以上の移動ロボット100が搭載や取出しのために待機する。そして、ユーザU1が待機エリアで停車している移動ロボット100に搬送物を搭載する。あるいは、ユーザU2が待機エリアで停車している移動ロボット100から搬送物を取り出す。したがって、待機エリアは、複数のロボットが同時に滞在する可能性が高い場所となる。フロアマップ121には、待機エリアの位置座標が設定されている。待機エリアは、システムの管理者などが予め設定しておけばよい。
【0061】
ロボット情報123は、上位管理装置10が管理する移動ロボット20のID、型番、仕様等が記述される。ロボット情報123は、移動ロボット20の現在位置を示す位置情報を含んでいてもよい。ロボット情報123は、移動ロボット20がタスクを実行中か、待機中かの情報を含んでいてもよい。また、ロボット情報123は、移動ロボット20が動作中か、故障中か等を示す情報を含んでいてもよい。また、ロボット情報123は、搬送可能な搬送物、搬送不可な搬送物の情報を含んでいてもよい。ロボット情報123は、移動ロボット20の平面サイズの情報を含んでいてもよい。
【0062】
ロボット制御パラメータ122は、上位管理装置10が管理する移動ロボット20についての周辺物体との閾値距離等の制御パラメータが記述される。閾値距離は、人を含む周辺物体との接触を回避するためのマージン距離となる。さらに、ロボット制御パラメータ122は、移動ロボット20の移動速度の速度上限値などの動作強度に関する情報を含んでいても良い。
【0063】
ロボット制御パラメータ122において、閾値距離と速度上限値は複数設定されていても良い。そして、上位管理装置10が、閾値距離と速度上限値が適宜変更しても良い。例えば、閾値距離と速度上限値が段階的に設定されていても良い。そして、段階的に設定された閾値距離と速度上限値とが対応付けられていても良い。例えば、速度上限値が高い高速モードの場合、急な停止や減速が困難であるため、閾値距離を大きくする。速度上限値が低い低速モードの場合、急な停止や減速が容易であるため、閾値距離を小さくする。速度上限値が低い低速モードの場合、急な停止や減速が容易であるため、閾値距離を小さくする。このように、速度上限値に応じて閾値距離を変えてもよい。演算処理部11が搬送物情報や環境情報に応じて速度上限値等を変更しても良い。上位管理装置10が環境や状況に応じてロボット制御パラメータの中から速度上限値及び閾値距離を選択する。上位管理装置10は、速度上限値及び閾値距離を更新した場合、更新した移動ロボット20にそのデータを送信する。
【0064】
ロボット制御パラメータ122は、状況に応じて更新されてもよい。ロボット制御パラメータ122は、収納庫291の収容スペースの空き状況や使用状況を示す情報を含んでいてもよい。ロボット制御パラメータ122は、搬送可能な搬送物や、搬送不可能な搬送物の情報を含んでいても良い。ロボット制御パラメータ122は、それぞれの移動ロボット20に対して、上記の各種情報が対応付けられている。
【0065】
ルート計画情報125は、ルート計画部115で計画されたルート計画情報を含んでいる。ルート計画情報125は、例えば、搬送タスクを示す情報を含んでいる。ルート計画情報125は、タスクが割り当てられた移動ロボット20のID、出発地、搬送物の内容、搬送先、搬送元、搬送先への到着予定時間、搬送元への到着予定時間、到着期限などの情報を含んでいても良い。ルート計画情報125では、搬送タスク毎に、上述した各種情報が対応付けられていてもよい。ルート計画情報125は、ユーザU1から入力された搬送依頼情報の少なくとも一部を含んでいても良い。
【0066】
さらに、ルート計画情報125は、それぞれの移動ロボット20や搬送タスクについて、通過ポイントに関する情報を含んでいてもよい。例えば、ルート計画情報125は、それぞれの移動ロボット20についての通過ポイントの通過順を示す情報を含んでいる。ルート計画情報125は、フロアマップ121における各通過ポイントの座標や、通過ポイントを通過したか否かの情報を含んでいてもよい。
【0067】
搬送物情報126は、搬送依頼が行われた搬送物に関する情報である。例えば、搬送物の内容(種別)、搬送元、搬送先等の情報を含んでいる。搬送物情報126は、搬送を担当する移動ロボット20のIDを含んでいても良い。さらに、搬送物情報は、搬送中、搬送前(搭載前)、搬送済みなどのステータスを示す情報を含んでいてもよい。搬送物情報126は搬送物毎にこれらの情報が対応付けられている。搬送物情報126については後述する。
【0068】
なお、ルート計画部115は、記憶部12に記憶されている各種情報を参照して、ルート計画を策定する。例えば、フロアマップ121、ロボット情報123、ロボット制御パラメータ122、ルート計画情報125に基づいて、タスクを実行する移動ロボット20を決定する。そして、ルート計画部115は、フロアマップ121等を参照して、搬送先までの通過ポイントとその通過順を設定する。フロアマップ121には、予め通過ポイントの候補が登録されている。そして、ルート計画部115が混雑状況等に応じて、通過ポイントを設定する。また、タスクを連続処理する場合などは、ルート計画部115が搬送元及び搬送先を通過ポイントして設定してもよい。
【0069】
なお、1つの搬送タスクについて、2つ以上の移動ロボット20が割り当てられていてもよい。例えば、搬送物が移動ロボット20の搬送可能容量よりも大きい場合、1つの搬送物を2つに分けて、2つの移動ロボット20に搭載する。あるいは、搬送物が移動ロボット20の搬送可能重量よりも重い場合、1つの搬送物を2つに分けて、2つの移動ロボット20に搭載する。このようにすることで、1つの搬送タスクを2つ以上の移動ロボット20が分担して実行することができる。もちろん、異なるサイズの移動ロボット20を制御する場合、搬送物を搬送可能な移動ロボット20が搬送物を受け取るようにルート計画を行ってもよい。
【0070】
さらには、1つの移動ロボット20が、2つ以上の搬送タスクを並行して行ってもよい。例えば、1つの移動ロボット20が2つ以上の搬送物を同時に搭載して、異なる搬送先に順次搬送してもよい。あるいは、1つ移動ロボット20が1つの搬送物を搬送中に、他の搬送物を搭載してもよい。また、異なる場所で搭載された搬送物の搬送先は同じであってもよく、異なっていてもよい。このようにすることで、タスクを効率よく実行することができる。
【0071】
このような場合、移動ロボット20の収容スペースについて、使用状況又は空き状況を示す収容情報を更新するようにしてもよい。つまり、上位管理装置10が空き状況を示す収容情報を管理して、移動ロボット20を制御してもよい。例えば、搬送物の搭載又は受取が完了すると、収容情報が更新される。搬送タスクが入力されると、上位管理装置10は、収容情報を参照して、搬送物を搭載可能な空きがある移動ロボット20を受け取りに向かわせる。このようにすることで、1つの移動ロボット20が、同時に複数の搬送タスクを実行することや、2つ以上の移動ロボット20が搬送タスクを分担して実行することが可能になる。例えば、移動ロボット20の収容スペースにセンサを設置して空き状況を検出しても良い。また、搬送物毎にその容量や重さが予め登録されていてもよい。
【0072】
バッファメモリ13は、演算処理部11における処理において生成される中間情報を蓄積するメモリである。通信部14は、システム1が用いられる施設に設けられる複数の環境カメラ300及び少なくとも1台の移動ロボット20と通信するための通信インタフェースである。通信部14は、有線通信と無線通信の両方の通信を行うことができる。例えば、通信部14は、それぞれの移動ロボット20に対して、その移動ロボット20の制御に必要な制御信号を送信する。また、通信部14は、移動ロボット20や環境カメラ300で収集された情報を受信する。
【0073】
移動ロボット20は、演算処理部21、記憶部22、通信部23、近接センサ(例えば、距離センサ群24)、カメラ25、駆動部26、表示部27、操作受付部28を有する。なお、
図2では、移動ロボット20に備えられている代表的な処理ブロックのみを示したが、移動ロボット20には図示していない他の処理ブロックも多く含まれる。
【0074】
通信部23は、上位管理装置10の通信部14と通信を行うための通信インタフェースである。通信部23は、例えば、無線信号を用いて通信部14と通信を行う。距離センサ群24は、例えば、近接センサであり、移動ロボット20の周囲に存在する物又は人との距離を示す近接物距離情報を出力する。カメラ25は、例えば、移動ロボット20の周囲の状況を把握するための画像を撮影する。また、カメラ25は、例えば、施設の天井等に設けられる位置マーカーを撮影することもできる。この位置マーカーを用いて移動ロボット20に自機の位置を把握させてもよい。
【0075】
駆動部26は、移動ロボット20に備え付けられている駆動輪を駆動する。なお、駆動部26は、駆動輪やその駆動モータの回転回数を検出するエンコーダなどを有していてもよい。エンコーダの出力に応じて、自機位置(現在位置)が推定されていても良い。移動ロボット20は、自身の現在位置を検出して、上位管理装置10に送信する。
【0076】
表示部27及び操作受付部28はタッチパネルディスプレイにより実現される。表示部27は、操作受付部28となるユーザーインタフェース画面を表示する。また、表示部27には、移動ロボット20の行き先や移動ロボット20の状態を示す情報を表示させても構わない。操作受付部28は、ユーザからの操作を受け付ける。操作受付部28は、表示部27に表示されるユーザーインタフェース画面に加えて、移動ロボット20に設けられる各種スイッチを含む。
【0077】
演算処理部21は、移動ロボット20の制御に用いる演算を行う。演算処理部21は、例えば、コンピュータの中央演算処理装置(CPU:Central Processing Unit)等のプログラムを実行可能な装置として実装可能である。そして、各種機能はプログラムにより実現することもできる。演算処理部21は、移動命令抽出部211、駆動制御部212を有する。なお、
図2では、演算処理部21が有する代表的な処理ブロックのみを示したが、図示しない処理ブロックも含まれる。演算処理部21は、通過ポイント間の経路を探索しても良い。
【0078】
移動命令抽出部211は、上位管理装置10から与えられた制御信号から移動命令を抽出する。例えば、移動命令は、次の通過ポイントに関する情報を含んでいる。例えば、制御信号は、通過ポイントの座標や、通過ポイントの通過順に関する情報を含んでいてもよい。そして、移動命令抽出部211が、これらの情報を移動命令として抽出する。
【0079】
さらに、移動命令は、次の通過ポイントへの移動が可能になったことを示す情報を含んでいてもよい。通路幅が狭いと、移動ロボット20がすれ違うことできない場合がある。また、一時的に通路を通行できない場合がある。このような場合、制御信号は、停止すべき場所の手前の通過ポイントで、移動ロボット20を停止させる命令を含んでいる。そして、他の移動ロボット20が通過した後や通行可能となった後に、上位管理装置10が移動ロボット20に移動可能なことになったことを知らせる制御信号を出力する。これにより、一時的に停止していた移動ロボット20が移動を再開する。
【0080】
駆動制御部212は、移動命令抽出部211から与えられた移動命令に基づいて、移動ロボット20を移動させるように、駆動部26を制御する。例えば、駆動部26は、駆動制御部212からの制御指令値に応じて回転する駆動輪を有している。移動命令抽出部211は、上位管理装置10から受信した通過ポイントに向かって移動ロボット20が移動するように、移動命令を抽出する。そして、駆動部26が駆動輪を回転駆動する。移動ロボット20は、次の通過ポイントに向かって自律移動する。このようにすることで、通過ポイントを順番に通過して、搬送先に到着する。また、移動ロボット20は、自機位置を推定して、通過ポイントを通過したことを示す信号を上位管理装置10に送信しても良い。これにより、上位管理装置10が、各移動ロボット20の現在位置や搬送状況を管理することができる。
【0081】
記憶部22には、フロアマップ221とロボット制御パラメータ222と搬送物情報226が格納される。
図2に示したのは、記憶部22に格納される情報の一部で有り、
図2に示したフロアマップ221とロボット制御パラメータ222と搬送物情報226以外の情報も含まれる。フロアマップ221は、移動ロボット20を移動させる施設の地図情報である。このフロアマップ221は、例えば、上位管理装置10のフロアマップ121をダウンロードしたモノである。なお、フロアマップ221は、予め作成されたものであってもよい。また、フロアマップ221は、施設全体の地図情報ではなく、移動予定の領域を部分的に含む地図情報であってもよい。フロアマップ221には、上述した待機エリアが設定されている。つまり、フロアマップ221は、待機エリアに関する情報を含んでいる。
【0082】
ロボット制御パラメータ222は、移動ロボット20を動作させるためのパラメータである。ロボット制御パラメータ222には、例えば、周辺物体との閾値距離が含まれる。さらに、ロボット制御パラメータ222には、移動ロボット20の速度上限値が含まれている。上位管理装置10において更新されたロボット制御パラメータ122を移動ロボット20が受信すると、ロボット制御パラメータ222のデータが更新される。
【0083】
移動ロボットの移動中において、閾値距離が移動速度に応じて段階的に変化するように制御しても良い。例えば、移動ロボット20が加速して、高速になった場合、閾値距離を大きくする。つまり、移動ロボット20の速度が速度閾値を超えた場合、閾値距離を大きくする。移動ロボット20が高速で移動している場合、制動距離が大きくなるため、マージン距離である閾値距離を大きくすることが好ましい。よって、移動ロボット20が速度閾値未満の低速モードと、速度閾値以上の高速モードで移動する場合とで閾値距離を変更しても良い。もちろん、閾値距離を3段階以上に分けてもよい。例えば、高速モードと中速モードと低速モードの3段階に設定して、それぞれの異なる閾値距離が設定されていてもよい。そして、高速になるほどに、閾値距離を大きくする。つまり、最も低速モードで閾値距離が最も小さくなる。
【0084】
搬送物情報226は、搬送物情報126と同様に搬送物に関する情報を含んでいる。搬送物の内容(種別)、搬送元、搬送先等の情報を含んでいる。搬送物情報は、搬送中、搬送前(搭載前)、搬送済みなどのステータスを示す情報を含んでいてもよい。搬送物情報226は搬送物毎にこれらの情報が対応付けられている。搬送物情報126については後述する。搬送物情報226は、移動ロボット20が搬送する搬送物に関する情報を含んでいればよい。したがって、搬送物情報226は搬送物情報126の一部となる。つまり、搬送物情報226は、他の移動ロボット20が搬送する情報を含んでいなくても良い。
【0085】
駆動制御部212は、ロボット制御パラメータ222を参照して、距離センサ群24から得られた距離情報が示す距離が閾値距離を下回ったことに応じて動作を停止或いは減速をする。駆動制御部212は、速度上限値以下の速度で走行するように、駆動部26を制御する。駆動制御部212は、速度上限値以上の速度で移動ロボット20が移動しないように、駆動輪の回転速度を制限する。
【0086】
(移動ロボット20の構成)
ここで、移動ロボット20の外観について説明する。
図3は、移動ロボット20の概略図を示す。
図3に示す移動ロボット20は、移動ロボット20の態様の1つであり、他の形態であってもよい。なお、
図3では、x方向が移動ロボット20の前進方向及び後進方向、y方向が移動ロボット20の左右方向であり、z方向が移動ロボット20の高さ方向である。
【0087】
移動ロボット20は、本体部290と、台車部260とを備えている。台車部260の上に、本体部290が搭載されている。本体部290と、台車部260とそれぞれ直方体状の筐体を有しており、この筐体内部に各構成要素が搭載されている。例えば、台車部260の内部には駆動部26が収容されている。
【0088】
本体部290には、収容スペースとなる収納庫291と、収納庫291を密封する扉292とが設けられている。収納庫291には、複数段の棚が設けられており、段毎に空き状況が管理される。例えば、各段に重量センサ等の各種センサを配置することで、空き状況を更新することができる。移動ロボット20は、収納庫291に収納された搬送物を上位管理装置10から指示された目的地まで自律移動により搬送する。本体部290は図示しない制御ボックスなどを筐体内に搭載していても良い。また、扉292は電子キーなどで施錠可能となっていても良い。搬送先に到着するとユーザU2が電子キーで扉292を開錠する。あるいは、搬送先に到着した場合、自動で扉292が開錠してもよい。
【0089】
図3に示すように、移動ロボット20の外装には、距離センサ群24として前後距離センサ241及び左右距離センサ242が設けられる。移動ロボット20は、前後距離センサ241により移動ロボット20の前後方向の周辺物体の距離を計測する。また、移動ロボット20は、左右距離センサ242により移動ロボット20の左右方向の周辺物体の距離を計測する。
【0090】
例えば、前後距離センサ241は、本体部290の筐体の前面及び後面にそれぞれ配置される。左右距離センサ242は、本体部290の筐体の左側面及び右側面にそれぞれ配置される。前後距離センサ241及び左右距離センサ242は例えば、超音波距離センサやレーザレンジファインダである。周辺物体までの距離を検出する。前後距離センサ241又は左右距離センサ242で検出された周辺物体までの距離が、閾値距離以下となった場合、移動ロボット20が減速または停止する。
【0091】
駆動部26には、駆動輪261及びキャスタ262が設けられる。駆動輪261は移動ロボット20を前後左右に移動させるための車輪である。キャスタ262は、駆動力は与えられず、駆動輪261に追従して転がる従動輪である。駆動部26は、図示しない駆動モータを有しており、駆動輪261を駆動する。
【0092】
例えば、駆動部26は、筐体内に、それぞれが走行面に接地する2つの駆動輪261と2つのキャスタ262を支持している。2つの駆動輪261は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪261は、不図示のモータによって独立して回転駆動される。駆動輪261は、
図2の駆動制御部212からの制御指令値に応じて回転する。キャスタ262は、従動輪であり、駆動部26から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、駆動部26の移動方向に倣うように追従する。
【0093】
移動ロボット20は、例えば、2つの駆動輪261が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば2つの駆動輪261のほぼ中央を通る鉛直軸周りに旋回する。また、2つの駆動輪261を同じ方向と異なる回転速度で回転させることで、左右に曲がりながら進むことができる。例えば、左の駆動輪261の回転速度を右の駆動輪261の回転速度より高くすることで、右折することができる。反対に、右の駆動輪261の回転速度を左の駆動輪261の回転速度より高くすることで、左折することができる。すなわち、移動ロボット20は、2つの駆動輪261の回転方向、回転速度がそれぞれ制御されることにより、任意の方向へ並進、旋回、右左折等することができる。
【0094】
また、移動ロボット20では、本体部290の上面に表示部27、操作インタフェース281が設けられる。表示部27には、操作インタフェース281が表示される。ユーザが表示部27に表示された操作インタフェース281をタッチ操作することで、操作受付部28がユーザからの指示入力を受け付けることができる。また、非常停止ボタン282が表示部27の上面に設けられる。非常停止ボタン282及び操作インタフェース281が操作受付部28として機能する。
【0095】
表示部27は、例えば液晶パネルであり、キャラクターの顔をイラストで表示したり、移動ロボット20に関する情報をテキストやアイコンで呈示したりする。表示部27にキャラクターの顔を表示すれば、表示部27が擬似的な顔部であるかの印象を周囲の観察者に与えることができる。移動ロボット20に搭載されている表示部27等をユーザ端末400として用いることも可能である。
【0096】
本体部290の前面には、カメラ25が設置されている。ここでは、2つのカメラ25がステレオカメラとして機能する。つまり、同じ画角を有する2つのカメラ25が互いに水平方向に離間して配置されている。それぞれのカメラ25で撮像された画像を画像データとして出力する。2つのカメラ25の画像データに基づいて、被写体までの距離や被写体の大きさを算出することが可能である。演算処理部21は、カメラ25の画像を解析することで、移動方向前方に人や障害物などを検知することができる。進行方向前方に人や障害物などがいる場合、移動ロボット20は、それらを回避しながら、経路に沿って移動する。また、カメラ25の画像データは、上位管理装置10に送信される。
【0097】
移動ロボット20は、カメラ25が出力する画像データや、前後距離センサ241及び左右距離センサ242が出力する検出信号を解析することにより、周辺物体を認識したり、自機の位置を同定したりする。カメラ25は、移動ロボット20の進行方向前方を撮像する。移動ロボット20は、図示するように、カメラ25が設置されている側を自機の前方とする。すなわち、通常の移動時においては矢印で示すように、自機の前方が進行方向となる。
【0098】
(制御方法)
本実施の形態では、待機エリアにおける移動ロボット20の待機台数に応じて、上位管理装置10が移動ロボット20の閾値距離を変更している。待機エリアにおける制御動作について、
図4~
図7を用いて説明する。
図4は、本システムにおける制御方法を示すフローチャートである。
図5~7は、制御方法を説明するための模式図であり、移動ロボット20が待機エリアWAで待機している状態を示す平面図である。
図5~
図7では、複数の移動ロボット20を移動ロボット20A~20Fとして識別している。つまり、
図5~
図7では、6台の移動ロボット20A~20Fが示されている。
【0099】
まず、演算処理部11が待機エリアWAの情報を取得する(S401)。ここでは、演算処理部11がフロアマップ121に設定された待機エリアWAの位置座標などを取得する。さらに、上位管理装置10は、施設内を移動する移動ロボット20の現在位置を取得する。これにより、上位管理装置10は、待機エリアWAで待機している移動ロボット20の台数を検知することができる。なお、ここでは、ナースステーション等の壁際の一部が待機エリアWAとなっている。待機エリアWAは、矩形領域であり、その2辺が壁W1と壁W2で規定されている。
【0100】
図5では、待機エリアWAに5台の移動ロボット20A~20Eが停車している。具体的には、
図5に示すように、左側の壁W1に沿って5台の移動ロボット20A~20Eが1列に並んでいる。ユーザU1は待機エリアWAで待機している移動ロボット20A~20Eに搬送物を搭載していく。或いは、ユーザU1は、待機エリアWAで待機している移動ロボット20A~20Eが保管している搬送物を取り出す。つまり、さらに、移動ロボット20A~20Eは、搬送物の搭載又は取出しを待機している。移動ロボット20Fが待機エリアWAに向かって通路C1を移動している。具体的には、移動ロボット20Fが通過ポイントM1、M2の順でルートR1に沿って移動している。
【0101】
図5に示すように、移動ロボット20A~移動ロボット20Fの閾値距離が第1の閾値距離D1となっている。つまり、待機エリアWAでは、移動ロボット20A~移動ロボット20Eのそれぞれは壁W1又は隣の移動ロボットまでの距離が第1の閾値距離D1となっている。例えば、移動ロボット20Aについて、壁W1までの距離、壁W2までの距離、及び移動ロボット20Bまでの距離が第1の閾値距離D1となっている。また、移動ロボット20Fは通路C1の壁から第1の閾値距離D1以上離れながら、移動している。
【0102】
移動ロボット20Fが待機エリアWAに到着すると、搬送物の搭載等のため、待機エリアWAで待機することになる。しかしながら、待機エリアWAには、既に5台の移動ロボット20A~20Eが停車しているため、移動ロボット20Fが待機するためのスペースがない。つまり、待機エリアWAには、移動ロボット20Fが停車できるスペースがない。移動ロボット20Fが待機エリアWAの周辺で停車すると、他の移動ロボット20の移動やユーザU1の作業の邪魔となってしまう。
【0103】
さらに、通路C1は幅が狭いため、移動ロボット20Fが他の移動ロボット20とすれ違うことができない。つまり、通路C1には、2台の移動ロボット20がすれ違うことができるほどの幅がない。この場合、移動ロボット20Fは、通路C1の手前で待機する必要がある。例えば、通路C1の途中に幅広のすれ違いスペース(不図示)が設けられている場合、待機エリアWAに空きが生じるまで移動ロボット20Fはそのすれ違いスペースで待機することになる。
【0104】
そこで、本実施の形態では、待機エリアWAにいる移動ロボット20の台数に応じて、上位管理装置10が閾値距離を変化させる(S402)。つまり、
図5では、待機エリアWAが満車となっているため、上位管理装置10が移動ロボット20A~移動ロボット20Eの閾値距離を小さくしている。
図6に閾値距離を小さくした状態を示す。移動ロボット20A~20Eに設定されている閾値距離を第2の閾値距離D2とする。第2の閾値距離D2は、第1の閾値距離D1よりも小さい値である。閾値距離が変更された場合、ロボット制御パラメータ122、ロボット制御パラメータ222の閾値距離が書き換えられてもよい。待機エリアWAにいる移動ロボット20の台数に応じて、上位管理装置10が各移動ロボット20の閾値距離を小さくする。つまり、距離センサ群24における周囲物体に対する検知感度を弱くする。
【0105】
図6では、待機エリアWAにいる移動ロボット20A~20Eのそれぞれから壁W1又は隣の移動ロボットまでの距離が第2の閾値距離D2となっている。したがって、移動ロボット20A~20Eが壁W2側に詰めていくことになる。このようにすることで、待機エリアWAに移動ロボット20Fが待機するスペースを確保することができる。つまり、待機エリアWAが満車となった状態で、閾値距離を小さくする。これにより、
図7に示すように待機エリアWAに移動ロボット20A~20Fが待機することができるようになる。
【0106】
ここでは、閾値距離が第1の閾値距離D1の場合、待機エリアWAでの停車可能台数が5となっている。閾値距離が第2の閾値距離D2の場合、待機エリアWAでの停車可能台数が6となっている。待機エリアWAにいる移動ロボット20の台数が所定値(停車可能台数)を超えた場合に、上位管理装置10が閾値距離を小さくする。待機エリアWAにいる前記移動ロボットの台数が所定値を下回った場合に、上位管理装置10が閾値距離を大きくする。
【0107】
このようにすることで、効率良く複数の移動ロボット20が移動できるように制御を行うことができる。例えば、幅の狭い通路C1の手前のすれ違いスペースで移動ロボット20Fを待機させる必要がなくある。移動ロボット20Fを目的地や経由地である待機エリアWAまで移動させることができる。よって、移動効率を向上することができる。
【0108】
さらに、待機エリアWAにいる移動ロボット20の台数が所定値(停車可能台数)を超えるまでは、閾値距離を大きくすることができる。これにより、待機エリアWAにいる移動ロボット20が速やかに移動することができる。
【0109】
移動速度と閾値距離の関係について詳細に説明する。閾値距離が小さい場合、移動ロボット20の移動速度を速くすることが困難である。移動ロボット20の速度が速いほど、制動距離が長くなる。高速で移動ロボット20が周囲物体に近づいた場合、急な停止や減速が困難である。移動ロボット20を高速で移動させるためには、マージン距離である閾値距離を大きく取ることが要求される。つまり、閾値距離を大きくすることで、移動ロボット20が高速で移動することができる。
【0110】
本実施の形態により、停車可能台数を越えるまでは、閾値距離を大きいままにすることができる。移動ロボット20が速やかに移動することができるため、移動効率を向上することができる。つまり、移動ロボット20が、待機エリアWAから速やかに移動することができる。
【0111】
なお、待機エリアWAにおける停車可能台数は、待機エリアWAの面積、形状、移動ロボット20の平面サイズ、閾値距離に応じて予め設定されていてもよい。また、閾値距離を変える場合、その値は、停車可能台数が1台以上増えることができるように設定すればよい。
図6の例では、第2の閾値距離D2は、待機エリアWAにおける停車可能台数が6台になるような値に設定されていればよい。
【0112】
また、移動ロボット20A~20Fが同じ平面サイズとなっているが、移動ロボット20の平面サイズは、異なっていてもよい。例えば、搬送物の種類に応じて、異なるタイプの移動ロボット20が用いられることがある。この場合、待機エリアWAにいる移動ロボット20の平面サイズから、最適な閾値距離を演算処理部11がその都度算出するようにしてもよい。つまり、演算処理部11が、停車台数が停車可能台数を越えたことを検知した時に、閾値距離を算出すればよい。あるいは、ロボット制御パラメータ122、及びロボット制御パラメータ222に複数の閾値距離が設定されており、演算処理部11がその中から最適な閾値距離を選択してもよい。
【0113】
また、閾値距離を変えた場合に、上位管理装置10又は移動ロボット20がロボット制御パラメータ222の速度上限値を変えるようにしてもよい。つまり、速度上限値は、閾値距離に連動して変更されていてもよい。
図5~
図7の例では、第1の速度上限値と、第2の速度上限値とがロボット制御パラメータ122、ロボット制御パラメータ222に設定されていればよい。第1の速度上限値が第1の閾値距離D1に対応し、第2の速度上限値が第2の閾値距離D2に対応する。つまり、ロボット制御パラメータ122、ロボット制御パラメータ222において。閾値距離と速度上限値がセットとなっていてもよい。そして、移動ロボット20、又は上位管理装置10が停車台数に応じて、閾値距離を選択すればよい。
【0114】
また、閾値距離の値は、上位管理装置10が決定してもよく、移動ロボット20が決定してもよい。つまり、上位管理装置10が閾値距離のデータを移動ロボット20に送信してもよく、上位管理装置10が閾値距離の変更指令を移動ロボット20に送信してもよい。移動ロボット20が変更指令を受信した場合、予めロボット制御パラメータ222に設定されている複数の閾値距離の中から最も小さい値を設定すればよい。つまり、閾値距離を変更するための制御は、上位管理装置10、又は移動ロボット20の一方で行われてもよく、上位管理装置10及び移動ロボット20で協働して行われてもよい。
【0115】
閾値距離が小さくなった場合に、待機エリアWAの一端側にいる移動ロボット20A側に他の移動ロボット20B~移動ロボット20Eが詰めていくように制御しても良い。つまり、待機エリアWAにおいて、閾値距離が小さくなった分だけ、移動ロボット20Aが壁W2側に移動する。そして、移動ロボット20Bが移動ロボット20Aに近づくように移動する。さらに、移動ロボット20Cが移動ロボット20Bに近づくように移動する。移動ロボット20Dが移動ロボット20Cに近づくように移動する。移動ロボット20Eが移動ロボット20Dに近づくように移動する。このようにすることで、壁W2と反対側に、移動ロボット20Fが停車するスペースを設けることができる。
【0116】
上位管理装置10が、待機エリアWAにいる移動ロボット20A~20Eに閾値距離を変更する場合、移動ロボット20A~20Eに移動指令を送信してもよい。これにより、移動ロボット20A~20Eが壁W2側に詰めるように移動する。なお、上位管理装置10は、移動ロボット20Fの移動方向に応じて、移動ロボット20A~20Eが詰める方向を決めても良い。つまり、移動ロボット20Fは通路C1側から待機エリアWAに向かっている。よって、待機エリアWAにおいて、移動ロボット20A~20Eが通路C1から離れるように、壁W2側に詰めればよい。例えば、上位管理装置10は、詰める方向を、フロアマップ121、移動ロボット20Fの現在位置、ルート計画情報125の通過ポイント等を参照して決定することができる。あるいは、待機エリアWAに対して、予め詰める方向が設定されていても良い。
【0117】
また、上記のように移動速度に応じて、閾値距離が段階的に設定されていてもよい。例えば、移動ロボット20が高速モード、中速モード、低速モードの3段階で移動する場合、閾値距離が3段階で設定されていても良い。この場合、待機エリアWAにおいて、停車可能台数を増やすための閾値距離(
図6における第2の閾値距離D2)は。最も低速モードの閾値距離としても良い。さらに、待機エリアWAにおいて、停車可能台数を増やすための閾値距離は、最も低速モードの閾値距離よりも小さい値であってもよい。
【0118】
なお、待機エリアのサイズが予め固定されていてもよい。つまり、ロボット制御パラメータ122やロボット制御パラメータ222において、待機エリアWAの位置座標が確定されていても良い、待機エリアWAは、移動ロボット20の移動を妨げないような場所に設定される。あるいは、待機エリアWAは、ユーザの作業や移動を妨げないような場所に設定される。例えば、2台以上の移動ロボット20がすれ違うことできる幅広のスペースに待機エリアWAが設定される。また、待機エリアWAは壁際に設定されていても良い。
【0119】
なお、
図7では、待機エリアWAにいる全ての移動ロボット20A~20Fが、第2の閾値距離D2だけ間隔を隔てて一列に並んでいる。したがって、移動ロボット20Fが待機エリアWAに到着すると、移動ロボット20Fの閾値距離が第1の閾値距離に変更されていてもよい。あるいは、移動ロボット20Fが待機エリアWAに到着すると、移動ロボット20Fの閾値距離が第1の閾値距離のままとなっていてもよい。
【0120】
変形例1
変形例1について、
図8~
図10を用いて説明する。
図8~
図10は変形例1の制御を説明するための図である。変形例1では、上位管理装置10が、待機エリアにいる移動ロボット20の待機台数と、待機エリアWAに向かって移動している移動ロボット20の到着予定台数とに応じて、閾値距離を小さくする。
【0121】
例えば、
図8では待機エリアWAに移動ロボット20A~20Dが停車している。そして、移動ロボット20Eと移動ロボット20Fが待機エリアWAに向かって移動している。移動ロボット20Fは
図6と同様に、待機エリアWAに向かって通路C1を移動している。移動ロボット20Eは、待機エリアWAに向かって通路C2を移動している。移動ロボット20Eは、通過ポイントM3,M4の順でルートR2に沿って移動している。移動ロボット20Eは、通路C2の壁から第1の閾値距離D1以上離れて移動している。
【0122】
図8では、移動ロボット20A~20Dの閾値距離が第1の閾値距離D1となっている。待機エリアWAにいる待機台数が4台であるため、待機エリアWAの停車可能台数(5台)を越えていない。しかしながら、2台の移動ロボット20E、20Fが待機エリアWAに向かって通路C1、C2を移動している。移動ロボット20E、20Fがほぼ同時刻に待機エリアWAに到着することが想定される。さらに、移動ロボット20A~20Dが待機エリアWAから出発する前に、移動ロボット20E、20Fが待機エリアWAに到着する予定となっている。
【0123】
この場合、
図9に示すように、上位管理装置10が、移動ロボット20A~20Dの閾値距離を小さくする。移動ロボット20A~20Dの閾値距離が第2の閾値距離D2となるため、待機エリアWAの停車可能台数が6台に増える。
【0124】
したがって、
図10に示すように、移動ロボット20A~20Fが待機エリアWAに停車することができる。つまり、移動ロボット20E、20Fが待機エリアWAに到着する前に、移動ロボット20A~20Fが壁W1側に詰めておくことができる。よって、速やかに停車スペースを確保することができる。よって、移動効率をより高くすることができる。
【0125】
このように上位管理装置10が、待機エリアにいる移動ロボット20の待機台数と、待機エリアWAに向かって移動している移動ロボット20の到着予定台数とに応じて、閾値距離を小さくする。例えば、上位管理装置10は、待機台数と到着予定台数との和が停車可能台数を超える場合に、閾値距離を小さくするように制御する。もちろん、上位管理装置10は、現在時刻から所定時間内に到着する予定の台数のみを到着予定台数としてカウントすれば良い。この所定時間は、移動ロボット20A~20Dが待機エリアWA内で壁W1に詰める時間や移動ロボット20A~20Dの出発予定時間などを考慮して決定すれば良い。
【0126】
また、待機エリアWAにいる移動ロボット20A~20Dに移動に応じて、移動ロボット20E、Fの通過ポイントM1~M4の少なくとも一つを変更しても良い。例えば、移動ロボット20E、20Fは、通過ポイントM4、M3をそれぞれ目的地や経由地として移動している。移動ロボット20A~20Dが移動すると、待機エリアWAまでの通過ポイントM2~M4の位置が変化する。これに応じて、移動ロボット20E、20Fの通過ポイントが調整されても良い。
【0127】
変形例2
変形例2について、
図11を用いて説明する。
図11は、変形例2を説明するための図である。変形例2では、上位管理装置10は、移動ロボット20が搬送する搬送物に関する搬送物情報に応じて、閾値距離を変更する。
【0128】
例えば、搬送物情報が、搬送物の清潔度を示す清潔度情報を含んでいるとする。例えば、搬送物は、清潔、不潔、汎用の3段階の清潔度で分類されている。ここで、清潔な搬送品は、例えば、人間の体が取り込む薬品、輸血用の血液、食品等や、人間の体に触れる未使用注射器、未使用注射針、衣類等である。一方、不潔な搬送品は、廃棄処理されるゴミ等である。また、汎用の搬送品は、文房具、コピー用紙等である。清潔度に応じて、清潔フラグ、不潔フラグ、汎用フラグのフラグ情報が搬送物に付されている。つまり、搬送物情報が清潔度を示すフラグ情報を含んでいるため、各搬送物が清潔フラグ、不潔フラグ、汎用フラグに紐付けされている。
【0129】
そして、上位管理装置10は、清潔は搬送品を搬送する移動ロボット20と不潔な搬送品を搬送する移動ロボット20とが、近づかないように閾値距離を変更する。例えば、
図11では、移動ロボット20Fが不潔な搬送物を保管しており、移動ロボット20Eが清潔な搬送物を保管している。この場合、移動ロボット20Fの閾値距離を第3の閾値距離D3とする。第3の閾値距離D3は、第2の閾値距離D2よりも大きい値となっている。第3の閾値距離D3は、第1の閾値距離D1と同じ値であってもよい。第3の閾値距離D3は、第1の閾値距離D1よりも大きい値であってもよく、小さい値であってもよい。
【0130】
このように搬送物に応じて、上位管理装置10が閾値距離を変えている。例えば、搬送物の清潔度を示す清潔度情報に応じて、上位管理装置10が待機エリアWAにいる移動ロボット20の閾値距離を変更している。不潔な搬送物を搭載している移動ロボット20Fと清潔な搬送物を搭載している移動ロボット20Eとが所定の距離未満に近づくことを防ぐことができる。
【0131】
例えば上位管理装置10は、移動ロボット20に搬送物が搭載した時点で、当該搬送物の搬送物情報を取得する。搬送物情報には、清潔度情報が含まれているため、移動ロボット20毎に清潔フラグ、不潔フラグ、汎用フラグが紐付けされることにある。あるいは、移動ロボット20にどの清潔度の搬送物を搬送するかが割り当てられていてもよい。例えば、不潔な搬送物専用の移動ロボット20が設定されていても良い。
【0132】
上記の実施の形態1とその変形例1,2は適宜組み合わせることが可能である。例えば、変形例2と変形例1に組みあわせてもよい。また、実施の形態1と、変形例1、2とを全て組み合わせてもよい。また、上記の実施の形態では、待機エリアWAにおいて、複数の移動ロボット20が1列に並んで停車していたが、移動ロボット20の待機エリアWAにおける配置は特に限定されるものではない。例えば、待機エリアWAにおいて、複数の移動ロボット20が2列以上並んで待機していてもよい。
【0133】
また、上述した上位管理装置10、又は移動ロボット20等における処理の一部又は全部は、コンピュータプログラムとして実現可能である。このようなプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0134】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態は病院内を搬送ロボットが自律移動するシステムについて説明したが、上述のシステムは、ホテル、レストラン、オフィスビル、イベント会場または複合施設において所定の物品を荷物として搬送できる。
【符号の説明】
【0135】
1 搬送システム
10 上位管理装置
11 演算処理部
12 記憶部
13 バッファメモリ
14 通信部
20 移動ロボット
21 演算処理部
22 記憶部
23 通信部
24 距離センサ群
25 カメラ
26 駆動部
27 表示部
28 操作受付部
111 ロボット制御部
115 ルート計画部
121 フロアマップ
122 ロボット制御パラメータ
123 ロボット情報
125 ルート計画情報
126 搬送物情報
211 移動命令抽出部
212 駆動制御部
221 フロアマップ
222 ロボット制御パラメータ
226 搬送物情報
241 前後距離センサ
242 左右距離センサ
260 台車部
261 駆動輪
262 キャスタ
281 操作インタフェース
290 本体部
291 収納庫
292 扉
400 ユーザ端末
610 通信ユニット
M1~M3 通過ポイント
W1 壁
W2 壁
WA 待機エリア
C1 通路
C2 通路
D1 第1の閾値距離
D2 第2の閾値距離
D3 第3の閾値距離