IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ自動車株式会社の特許一覧

特許7540429制御システム、制御方法、及びプログラム
<>
  • 特許-制御システム、制御方法、及びプログラム 図1
  • 特許-制御システム、制御方法、及びプログラム 図2
  • 特許-制御システム、制御方法、及びプログラム 図3
  • 特許-制御システム、制御方法、及びプログラム 図4
  • 特許-制御システム、制御方法、及びプログラム 図5
  • 特許-制御システム、制御方法、及びプログラム 図6
  • 特許-制御システム、制御方法、及びプログラム 図7
  • 特許-制御システム、制御方法、及びプログラム 図8
  • 特許-制御システム、制御方法、及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】制御システム、制御方法、及びプログラム
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240820BHJP
【FI】
G05D1/43
【請求項の数】 21
(21)【出願番号】P 2021214148
(22)【出願日】2021-12-28
(65)【公開番号】P2023097819
(43)【公開日】2023-07-10
【審査請求日】2023-07-11
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】吉川 恵
(72)【発明者】
【氏名】小田 志朗
(72)【発明者】
【氏名】清水 奨
(72)【発明者】
【氏名】松井 毅
【審査官】大古 健一
(56)【参考文献】
【文献】特開2020-205482(JP,A)
【文献】特開2021-099596(JP,A)
【文献】米国特許出願公開第2021/0309183(US,A1)
【文献】特開2009-252022(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/87
(57)【特許請求の範囲】
【請求項1】
所定の色の制服を着用するスタッフが働く医療福祉施設内を移動する移動ロボットと、
前記移動ロボットを制御する制御装置と、を備えた制御システムであって、
カメラが撮像した撮像画像内の人の特定の部分における着衣の色を検出して、特徴を抽出し、
前記特徴に基づいて、予め設定された前記スタッフが属する第1グループ、又は、前記スタッフ以外の人である非スタッフが属する第2グループに分類し、
前記第2グループに属する人の移動速度を推定し、
前記移動速度に応じて、高負荷の処理を行う高負荷モードと、前記高負荷モードよりも低負荷の処理を行う低負荷モードとを切替え、
前記移動速度が所定の速度よりも高い場合、高負荷モードとし、
前記着衣の色が予め定められた前記制服の色と一致した場合に、前記人を第1のグループに分類し、一致しない場合に、前記人を第2のグループに分類し、
前記第1グループに分類された人しかいない場合、前記低負荷モードとし、
前記人が前記第2のグループに分類された場合、前記人が杖、又は点滴スタンドである補助器具を使用しているか否かを判定し、前記人が補助器具を使用している場合、歩行困難者である判定し、前記人が補助器具を使用していない場合、歩行困難者ではないと判定し、
前記人が歩行困難者であると判定された場合に、前記歩行困難者の近傍に歩行困難者を支持する補助者がいるか否かを判定し、
前記歩行困難者有りかつ前記補助者有りの場合、前記移動ロボットが高速移動モードになり、
前記歩行困難者有りかつ前記補助者無しの場合、前記移動ロボットが前記高速移動モードよりも低速で移動する低速移動モードになる、制御システム。
【請求項2】
機械学習モデルを用いて、前記第1グループと前記第2グループの分類を行っている請求項1に記載の制御システム。
【請求項3】
前記高負荷モードか前記低負荷モードかによって、分類用の機械学習モデルのネットワークレイヤを変える請求項2に記載に制御システム。
【請求項4】
前記第2グループに属する人の移動方向に応じて、前記高負荷モードか前記低負荷モードかを切替える請求項1~3のいずれか1項に記載の制御システム。
【請求項5】
前記高負荷モードか前記低負荷モードかによって、前記カメラの画像のピクセル数、前記カメラのフレームレート、GPUの使用コア数、又はGPUの使用率上限を変える請求項1~4のいずれか1項に記載の制御システム。
【請求項6】
高負荷モードでは、サーバが複数のカメラから画像を収集して、処理を行い、低負荷モードでは前記カメラに設けられたエッジデバイス単独で処理を行う請求項1~5のいずれか1項に記載の制御システム。
【請求項7】
複数のカメラが設けられている施設において、低負荷モードでは、一部のカメラをスリープする請求項1~6のいずれか1項に記載の制御システム。
【請求項8】
制服を着用するスタッフが働く医療福祉施設内を移動する移動ロボットを、制御装置を用いて制御する制御方法であって、
カメラが撮像した撮像画像内の人の特定の部分における着衣の色を検出して、特徴を抽出し、
前記特徴に基づいて、予め設定された前記スタッフが属する第1グループ、又は、前記スタッフ以外の人である非スタッフが属する第2グループに分類し、
前記第2グループに属する人の移動速度を推定し、
前記移動速度に応じて、高負荷の処理を行う高負荷モードと、前記高負荷モードよりも低負荷の処理を行う低負荷モードとを切替え、
前記移動速度が所定の速度よりも高い場合、高負荷モードとし、
前記着衣の色が予め定められた前記制服の色と一致した場合に、前記人を第1のグループに分類し、一致しない場合に、前記人を第2のグループに分類し、
前記第1グループに分類された人しかいない場合、前記低負荷モードとし、
前記人が前記第2のグループに分類された場合、前記人が杖、又は点滴スタンドである補助器具を使用しているか否かを判定し、前記人が補助器具を使用している場合、歩行困難者である判定し、前記人が補助器具を使用していない場合、歩行困難者ではないと判定し、
前記人が歩行困難者であると判定された場合に、前記歩行困難者の近傍に歩行困難者を支持する補助者がいるか否かを判定し、
前記歩行困難者有りかつ前記補助者有りの場合、前記移動ロボットが高速移動モードになり、
前記歩行困難者有りかつ前記補助者無しの場合、前記移動ロボットが前記高速移動モードよりも低速で移動する低速移動モードになる、制御方法。
【請求項9】
機械学習モデルを用いて、前記第1グループと前記第2グループの分類を行っている請求項8に記載の制御方法。
【請求項10】
前記高負荷モードか前記低負荷モードかに応じて、前記機械学習モデルのネットワークレイヤを変える請求項9に記載に制御方法。
【請求項11】
前記第2グループに属する人の移動方向に応じて、前記高負荷モードか前記低負荷モードかを切替える請求項8~10のいずれか1項に記載の制御方法。
【請求項12】
前記高負荷モードか前記低負荷モードかによって、前記カメラの画像のピクセル数、前記カメラのフレームレート、GPUの使用コア数、又はGPUの使用率上限を変える請求項8~11のいずれか1項に記載の制御方法。
【請求項13】
高負荷モードでは、サーバが複数のカメラから画像を収集して、処理を行い、低負荷モードではカメラに設けられたエッジデバイス単独で処理を行う請求項8~12のいずれか1項に記載の制御方法。
【請求項14】
複数のカメラが設けられている施設において、低負荷モードでは、一部のカメラをスリープする請求項8~12のいずれか1項に記載の制御方法。
【請求項15】
制服を着用するスタッフが働く医療福祉施設内を移動する移動ロボットを制御する制御方法をコンピュータに実行させるためのプログラムであって、
前記制御方法は、
カメラが撮像した撮像画像内の人の特定の部分における着衣の色を検出して、特徴を抽出し、
前記特徴に基づいて、予め設定された前記スタッフが属する第1グループ、又は、前記スタッフ以外の人である非スタッフが属する第2グループに分類し、
前記第2グループに属する人の移動速度を推定し、
前記移動速度に応じて、高負荷の処理を行う高負荷モードと、前記高負荷モードよりも低負荷の処理を行う低負荷モードとを切替え、
前記移動速度が所定の速度よりも高い場合、高負荷モードとし、
前記着衣の色が予め定められた前記制服の色と一致した場合に、前記人を第1のグループに分類し、一致しない場合に、前記人を第2のグループに分類し、
前記第1グループに分類された人しかいない場合、前記低負荷モードとし、
前記人が前記第2のグループに分類された場合、前記人が杖、又は点滴スタンドである補助器具を使用しているか否かを判定し、前記人が補助器具を使用している場合、歩行困難者である判定し、前記人が補助器具を使用していない場合、歩行困難者ではないと判定し、
前記人が歩行困難者であると判定された場合に、前記歩行困難者の近傍に歩行困難者を支持する補助者がいるか否かを判定し、
前記歩行困難者有りかつ前記補助者有りの場合、前記移動ロボットが高速移動モードになり、
前記歩行困難者有りかつ前記補助者無しの場合、前記移動ロボットが前記高速移動モードよりも低速で移動する低速移動モードになる、プログラム。
【請求項16】
機械学習モデルを用いて、前記第1グループと前記第2グループの分類を行っている請求項15に記載のプログラム。
【請求項17】
前記高負荷モードか前記低負荷モードかによって、分類用の機械学習モデルのネットワークレイヤを変える請求項16に記載のプログラム。
【請求項18】
前記第2グループに属する人の移動方向に応じて、前記高負荷モードか前記低負荷モードかを切替える請求項15~17のいずれか1項に記載のプログラム。
【請求項19】
前記高負荷モードか前記低負荷モードかによって、前記カメラの画像のピクセル数、前記カメラのフレームレート、GPUの使用コア数、又はGPUの使用率上限を変える請求項15~18のいずれか1項に記載のプログラム。
【請求項20】
高負荷モードでは、サーバが複数のカメラから画像を収集して、処理を行い、低負荷モードではカメラに設けられたエッジデバイス単独で処理を行う請求項15~19のいずれか1項に記載のプログラム。
【請求項21】
複数のカメラが設けられている施設において、低負荷モードでは、一部のカメラをスリープする請求項15~20のいずれか1項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御システム、制御方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、搬送ロボットを備えた自律移動システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2021-86199号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような搬送ロボットでは、より効率よく搬送することが望まれる。例えば、搬送ロボットの周囲に人がいる場合、人を回避して移動することが望まれる。しかしながら、人の動作をよくすることが困難であるため、適切な制御を行うことができない場合がある。例えば,人が周辺にいる状況下では、低速で移動させる必要がある。よって、より効率的に搬送ロボットを移動させるための制御が望まれる。
【0005】
本開示は、このような問題を解決するためになされたものであり、状況に応じて、適切な制御を行うことができる制御システム、制御方法、及びプログラムを提供するものである。
【課題を解決するための手段】
【0006】
本実施の形態にかかる制御システムは、カメラが撮像した撮像画像内の人の特徴を抽出し、前記特徴に基づいて、前記人を予め設定された第1グループ又は第2グループに分類し、前記第2グループに属する人の移動速度を推定し、前記移動速度に応じて、高負荷の処理を行う高負荷モードと、前記高負荷モードよりも低負荷の処理を行う低負荷モードとを切替える。
【0007】
上記の制御システムにおいて、機械学習モデルを用いて、前記第1グループと前記第2グループの分類を行ってもよい。
【0008】
上記の制御システムにおいて、モードによって、分類用の機械学習モデルのネットワークレイヤを変えてもよい。
【0009】
上記の制御システムにおいて、前記第2グループに属する人の移動方向に応じて、モードを切替えてもよい。
【0010】
上記の制御システムにおいて、モードによって、前記カメラの画像のピクセル数、前記カメラのフレームレート、GPUの使用コア数、GPUの使用率上限を変えてもよい。
【0011】
上記の制御システムにおいて、高負荷モードでは、サーバが複数のカメラから画像を収集して、処理を行い、低負荷モードでは前記カメラに設けられたエッジデバイス単独で処理を行うようにしてもよい。
【0012】
上記の制御システムにおいて、施設内を移動する移動ロボットをさらに備え、前記第2グループの移動を補助する補助者の有無に応じて、移動ロボットの制御を切り替えるようにしてもよい。
【0013】
複数のカメラが設けられている施設において、低負荷モードでは、一部のカメラをスリープするようにしてもよい。
【0014】
本実施の形態にかかる制御方法は、カメラが撮像した撮像画像内の人の特徴を抽出し、前記特徴に基づいて、前記人を予め設定された第1グループ又は第2グループに分類し、前記第2グループに属する人の移動速度を推定し、前記移動速度に応じて、高負荷の処理を行う高負荷モードと、前記高負荷モードよりも低負荷の処理を行う低負荷モードとを切替える。
【0015】
上記の制御方法において、機械学習モデルを用いて、前記第1グループと前記第2グループの分類を行っていてもよい。
【0016】
上記の制御方法において、モードに応じて、前記機械学習モデルのネットワークレイヤを変えてもよい。
【0017】
上記の制御方法において、前記第2グループに属する人の移動方向に応じて、モードを切替えてもよい。
【0018】
上記の制御方法において、モードによって、前記カメラの画像のピクセル数、前記カメラのフレームレート、GPUの使用コア数、GPUの使用率上限を変えてもよい。
【0019】
上記の制御方法において、高負荷モードでは、サーバが複数のカメラから画像を収集して、処理を行い、低負荷モードではカメラに設けられたエッジデバイス単独で処理を行うようにしてもよい。
【0020】
上記の制御方法において、前記第2グループの移動を補助する補助者の有無に応じて、施設内を移動する移動ロボットの制御を切り替えてもよい。
【0021】
上記の制御方法において、複数のカメラが設けられている施設において、低負荷モードでは、一部のカメラをスリープするようにしてもよい。
【0022】
本実施の形態にかかるプログラムは、コンピュータに制御方法を実行させるためのプログラムであって、前記制御方法は、カメラが撮像した撮像画像内の人の特徴を抽出し、前記特徴に基づいて、前記人を予め設定された第1グループ又は第2グループに分類し、前記第2グループに属する人の移動速度を推定し、前記移動速度に応じて、高負荷の処理を行う高負荷モードと、前記高負荷モードよりも低負荷の処理を行う低負荷モードとを切替える。
【0023】
上記のプログラムおいて、機械学習モデルを用いて、前記第1グループと前記第2グループの分類を行ってもよい。
【0024】
上記のプログラムおいて、モードによって、分類用の機械学習モデルのネットワークレイヤを変えてもよい。
【0025】
上記のプログラムおいて、前記第2グループに属する人の移動方向に応じて、モードを切替えるようにしてもよい。
【0026】
上記のプログラムおいて、モードによって、前記カメラの画像のピクセル数、前記カメラのフレームレート、GPUの使用コア数、GPUの使用率上限を変えるようにしてもよい。
【0027】
上記のプログラムおいて、高負荷モードでは、サーバが複数のカメラから画像を収集して、処理を行い、低負荷モードではカメラに設けられたエッジデバイス単独で処理を行うようにしてもよい。
【0028】
上記のプログラムおいて、前記第2グループの移動を補助する補助者の有無に応じて、施設内を移動する移動ロボットの制御を切り替えるようにしてもよい。
【0029】
上記のプログラムおいて、複数のカメラが設けられている施設において、低負荷モードでは、一部のカメラをスリープするようにしてもよい。
【発明の効果】
【0030】
本開示によれば、状況に応じて、効率よく制御を行うことができる制御システム、制御方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【0031】
図1】本実施形態に係る移動ロボットが利用されるシステムの全体構成を説明するための概念図である。
図2】本実施形態に係る制御システムの制御ブロック図である。
図3】移動ロボットの一例を示す概略図である。
図4】モード制御の制御系を示す制御ブロック図である。
図5】スタッフ情報の例を説明するための表である。
図6】モード情報の例を説明するための表である。
図7】本実施形態にかかる制御方法を示すフローチャートである。
図8】モード制御の実施例を説明するための図である。
図9】モード制御の実施例5を説明するための図である。
【発明を実施するための形態】
【0032】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明は以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【0033】
(概略構成)
図1は、本実施形態に係る移動ロボット20が利用される搬送システム1の全体構成を説明するための概念図である。例えば、移動ロボット20は、搬送物の搬送をタスクとして実行する搬送ロボットである。移動ロボット20は、病院、リハビリセンタ、介護施設、高齢者入居施設などの医療福祉施設内において、搬送物を搬送するために自律走行する。また、本実施の形態にかかるシステムは、ショッピングモールなどの商業施設等にも利用可能である。
【0034】
ユーザU1は、移動ロボット20に搬送物を収容して、搬送を依頼する。移動ロボット20は、設定された目的地まで自律的に移動して、搬送物を搬送する。つまり、移動ロボット20は荷物の搬送タスク(以下、単にタスクともいう)を実行する。以下の説明では、搬送物を搭載する場所を搬送元とし、搬送物を届ける場所を搬送先とする。
【0035】
例えば、移動ロボット20が複数の診療科がある総合病院内を移動するものとする。移動ロボット20は、複数の診療科間で備品、消耗品、医療器具等を搬送する。例えば、移動ロボットは、搬送物をある診療科のナースステーションから、別の診療科へのナースステーションに届ける。あるいは、移動ロボット20は、備品や医療器具の保管庫から診療科のナースステーションまで搬送物を届ける。また、移動ロボット20は、調剤科で調剤された薬品を使用予定の診療科や患者まで届ける。
【0036】
搬送物の例としては、薬剤、包袋などの消耗品、検体、検査器具、医療器具、病院食、文房具などの備品等が挙げられる。医療機器としては、血圧計、輸血ポンプ、シリンジポンプ、フットポンプ、ナースコール、離床センサ、フットポンプ、低圧持続吸入器心電図モニタ、医薬品注入コントローラ、経腸栄養ポンプ、人工呼吸器、カフ圧計、タッチセンサ、吸引器、ネブライザ、パルスオキシメータ、血圧計、人工蘇生器、無菌装置、エコー装置などが挙げられる。また、病院食、検査食などの食事を搬送しても良い。さらに、移動ロボット20は、使用済みの機器、食事済みの食器などを搬送しても良い。搬送先が異なる階にある場合、移動ロボット20はエレベータなどを利用して移動してもよい。
【0037】
搬送システム1は、移動ロボット20と、上位管理装置10と、ネットワーク600と、通信ユニット610と、ユーザ端末400と、を備えている。ユーザU1又はユーザU2は、ユーザ端末400を用いて、搬送物の搬送依頼を行うことができる。例えば、ユーザ端末400は、タブレットコンピュータやスマートフォンなどである。ユーザ端末400は、無線又は有線で通信可能な情報処理装置であればよい。
【0038】
本実施形態においては、移動ロボット20とユーザ端末400は、ネットワーク600を介して上位管理装置10を接続されている。移動ロボット20及びユーザ端末400は、通信ユニット610を介して、ネットワーク600と接続される。ネットワーク600は有線又は無線のLAN(Local Area Network)やWAN(Wide Area Network)である。さらに、上位管理装置10は、ネットワーク600と有線又は無線で接続されている。通信ユニット610はそれぞれの環境に設置された例えば無線LANユニットである。通信ユニット610は、例えば、WiFiルータなどの汎用通信デバイスであってもよい。
【0039】
ユーザU1、U2のユーザ端末400から発信された各種信号は、ネットワーク600を介して一旦、上位管理装置10へ送られ、上位管理装置10から対象となる移動ロボット20へ転送される。同様に、移動ロボット20から発信される各種信号は、ネットワーク600を介して一旦、上位管理装置10へ送られ、上位管理装置10から対象となるユーザ端末400へ転送される。上位管理装置10は各機器と接続されたサーバであり、各機器からのデータを収集する。また、上位管理装置10は、物理的に単一な装置に限られるものではなく、分散処理を行う複数の装置を有していてもよい。また、上位管理装置10は、移動ロボット20等のエッジデバイスに分散して配置されていても良い。例えば、搬送システム1の一部又は全部が移動ロボット20に搭載されていても良い。
【0040】
ユーザ端末400と移動ロボット20は、上位管理装置10を介さずに、信号を送受信してもよい。例えば、ユーザ端末400と移動ロボット20は、無線通信により直接信号を送受信してもよい。あるいは、ユーザ端末400と移動ロボット20は、通信ユニット610を介して、信号を送受信してもよい。
【0041】
ユーザU1又はユーザU2は、ユーザ端末400を用いて搬送物の搬送を依頼する。以下、ユーザU1が搬送元にいる搬送依頼者であり、ユーザU2が搬送先(目的地)にいる受領予定者であるとして説明を行う。もちろん、搬送先にいるユーザU2が搬送依頼を行うことも可能である。また、搬送元又は搬送先以外の場所にいるユーザが搬送依頼を行ってもよい。
【0042】
ユーザU1が搬送依頼を行う場合、ユーザ端末400を用いて、搬送物の内容、搬送物の受取先(以下、搬送元ともいう)、搬送物の届け先(以下、搬送先ともいう)、搬送元の到着予定時刻(搬送物の受取時刻)、搬送先への到着予定時間(搬送期限)等を入力する。以下、これらの情報を搬送依頼情報ともいう。ユーザU1は、ユーザ端末400のタッチパネルを操作することで、搬送依頼情報を入力することができる。搬送元は、ユーザU1がいる場所でも良く、搬送物の保管場所などであってもよい。搬送先は、使用予定のユーザU2や患者がいる場所である。
【0043】
ユーザ端末400は、ユーザU1によって入力された搬送依頼情報を上位管理装置10に送信する。上位管理装置10は、複数の移動ロボット20を管理する管理システムである。上位管理装置10は、移動ロボット20に搬送タスクを実行するための動作指令を送信する。上位管理装置10は搬送依頼毎に、搬送タスクを実行する移動ロボット20を決定する。そして、上位管理装置10は、その移動ロボット20に対して動作指令を含む制御信号を送信する。移動ロボット20が、動作指令に従って、搬送元から搬送先に到着するように移動する。
【0044】
例えば、上位管理装置10は、搬送元又はその近傍の移動ロボット20に搬送タスクを割り当てる。あるいは、上位管理装置10は、搬送元又はその近傍に向かっている移動ロボット20に搬送タスクを割り当てる。タスクを割り当てられた移動ロボット20が搬送元まで搬送物を取りに行く。搬送元は、例えば、タスクを依頼したユーザU1がいる場所である。
【0045】
移動ロボット20が搬送元に到着すると、ユーザU1又はその他の職員が移動ロボット20に搬送物を載せる。搬送物を搭載した移動ロボット20が搬送先を目的地として自律移動する。上位管理装置10は、搬送先のユーザU2のユーザ端末400に対して信号を送信する。これにより、ユーザU2は、搬送物が搬送中であることや、その到着予定時間を知ることができる。設定された搬送先に移動ロボット20が到着すると、ユーザU2は、移動ロボット20に収容されている搬送物を受領することができる。このようにして、移動ロボット20が、搬送タスクを実行する。
【0046】
このような全体構成においては、制御システムの各要素を、移動ロボット20、ユーザ端末400および上位管理装置10に分散して全体として制御システムを構築することができる。また、搬送物の搬送を実現するための実質的な要素を一つの装置に集めて構築することもできる。上位管理装置10は、1又は複数の移動ロボット20を制御する。
【0047】
本実施の形態では、マップを参照して自律移動する移動ロボット20である。移動ロボット20を制御するロボット制御システムは、測距センサを用いて測定された人までの距離を示す距離情報を取得する。ロボット制御システムは、人までの距離の変化に応じて、前記人の移動速度及び移動方向を示す移動ベクトルを推定する。ロボット制御システムは、移動ロボットの移動を制限するためのコストをマップ上に付与する。ロボット制御システムは、測距センサの測定結果に応じて更新される前記コストに応じて移動するように制御する。ロボット制御システムは、移動ロボット20に搭載されていてもよい、ロボット制御システムの一部又は全部は上位管理装置10に搭載されていても良い。
【0048】
さらに、施設のユーザには、施設で働くスタッフと、それ以外の非スタッフがいる。ここで、施設が病院である場合、非スタッフとしては、患者、入院患者、訪問者、外来患者、付き添い者等がいる。スタッフとしては、医師、看護師、薬剤師、事務員、作業療法士、各種従業員がいる。また、スタッフは各種物品の搬入者、メンテナンス業者、清掃員等を含んでいてもよい。スタッフは病院の直接の雇用者や被雇用者に限られるものではなく、関連する従業者を含んでいてもよい。
【0049】
移動ロボット20は、病院のスタッフと非スタッフとが混在する環境を、これらの人物と接触しないように移動する。具体的には、移動ロボット20は、周辺の人物と接触しない程度の速度で移動したり、予め設定された距離よりも近くに物体が存在する場合には速度をさらに落としたり、停止したりする。また移動ロボット20は、自律移動により物体を回避する行動をとったり、周辺に移動ロボット20の存在を通知するための音声や光を発したりすることもできる。
【0050】
移動ロボット20を適切に制御するためには、上位管理装置10は、施設の状況に応じて、適切に施設をモニタする必要がある。具体的には、ユーザがスタッフであるかに応じて、上位管理装置10がモードを切替えている。スタッフは、移動ロボット20がいる環境に慣れているため、移動ロボット20のタスクの邪魔となる動作をすることが少ない。これに対して、非スタッフは、移動ロボット20にいる環境になれていないため、移動ロボットのタスクの邪魔となる動作を行うおそれがある。
【0051】
例えば、非スタッフは、移動ロボット20の移動方向前方を横切るように走ったりするおそれがある。非スタッフがある閾値速度よりも速い速度で移動している状況下では、非スタッフ周辺のエリアの監視をより強化する必要がある。反対に、非スタッフがある閾値速度よりも遅い速度で移動している状況下では、その周辺のエリアの監視を強化する必要がなくなる。同様に、非スタッフがいない状況下、つまり、スタッフのみの状況や人が全くいない状況では、その周辺のエリアの監視を強化する必要がなくなる。
【0052】
よって、本実施の形態では、上位管理装置10がカメラに写ったユーザが非スタッフであるか否かを判定している。より詳細には、上位管理装置10が、ユーザを予め設定されたスタッフが属する第1グループと、スタッフ以外の第2グループに分類している。上位管理装置10は、カメラに写ったユーザが第1グループに属するか否かを判定している。
【0053】
第2グループに属するユーザがいる場合、上位管理装置10は、そのユーザの移動速度を判定する。そして、上位管理装置10は、第2グループに属する人の移動速度に応じてモードを切り替える。第2グループに属する人の移動速度が閾値速度よりも速い場合、監視のための処理負荷を高くする。換言すると、非スタッフが高速で移動している領域では、上位管理装置10が、処理負荷の高い高負荷モード(第2モード)で処理を行う。非スタッフが低速で移動している領域では、上位管理装置10が、処理負荷の低い低負荷モード(第1モード)で処理を行う。
【0054】
監視対象領域に第1グループに属する人と一致するユーザしかいない場合、上位管理装置10は、監視のための処理負荷を軽減する。非スタッフがいない状況下では、上位管理装置10が、処理負荷の低い低負荷モード(第1モード)で処理を行う。これにより、施設の利用状況に応じて、適切に制御を行うことができる。つまり、非スタッフが高速で移動している場合、より監視を強化して、移動ロボット20のタスクに与える影響を軽減する。これにより、効率良く搬送タスクを実行することができる。
【0055】
(制御ブロック図)
図2は、システム1の制御系を示す制御ブロック図を示す。図2に示すように、システム1は、上位管理装置10、移動ロボット20、環境カメラ300を有する。
【0056】
このシステム1は、所定の施設内において移動ロボット20を自律的に移動させながら、複数の移動ロボット20を効率的に制御する。そのため、施設内には、複数個の環境カメラ300が設置されている。例えば、環境カメラ300は、施設内の通路、ホール、エレベータ、出入り口等に設置されている。
【0057】
環境カメラ300は、移動ロボット20が移動する範囲の画像を取得する。なお、システム1では、環境カメラ300で取得された画像やそれに基づく情報は、上位管理装置10が収集する。あるいは、環境カメラ300で取得された画像等が直接移動ロボットに送信されてもよい。環境カメラ300は、施設内の通路や出入り口に設けられた監視カメラなどであってもよい。環境カメラ300は、施設内の混雑状況の分布を求めるために使用されていてもよい。
【0058】
実施の形態1にかかるシステム1では、上位管理装置10が搬送依頼情報に基づいて、ルート計画を行う。上位管理装置10が作成したルート計画情報に基づいて、それぞれの移動ロボット20に行き先を指示する。そして、移動ロボット20は、上位管理装置10から指定された行き先に向かって自律移動する。移動ロボット20は、自機に設けられたセンサ、フロアマップ、位置情報等を用いて行き先(目的地)に向かって自律移動する。
【0059】
例えば、移動ロボット20は、その周辺の機器、物体、壁、人(以下、まとめて周辺物体とする)に接触しないように、走行する。具体的には、移動ロボット20は、周辺物体までの距離を検知し、周辺物体から一定の距離(距離閾値とする)以上離れた状態で走行する。周辺物体までの距離が距離閾値以下になると、移動ロボット20が減速または停止する。このようにすることで、移動ロボット20が、周辺物体に接触せずに走行可能となる。接触を回避することができるため、安全かつ効率的な搬送が可能となる。
【0060】
上位管理装置10は、演算処理部11、記憶部12、バッファメモリ13、通信部14を有する。演算処理部11は、移動ロボット20を制御及び管理するための演算を行う。演算処理部11は、例えば、コンピュータの中央演算処理装置(CPU:Central Processing Unit)等のプログラムを実行可能な装置として実装可能である。そして、各種機能はプログラムにより実現することもできる。図2では、演算処理部11において特徴的なロボット制御部111、ルート計画部115、搬送物情報取得部116のみを示したが、その他の処理ブロックも備えられる。
【0061】
ロボット制御部111は、移動ロボット20を遠隔で制御するための演算を行い、制御信号を生成する。ロボット制御部111は、後述するルート計画情報125などに基づいて制御信号を生成する。さらに、環境カメラ300や移動ロボット20から得られた各種情報に基づいて、制御信号を生成する。制御信号は、後述するフロアマップ121、ロボット情報123及びロボット制御パラメータ122等の更新情報を含んでいてもよい。つまり、ロボット制御部111は、各種情報が更新された場合、その更新情報に応じた制御信号を生成する。
【0062】
搬送物情報取得部116は、搬送物に関する情報を取得する。搬送物情報取得部116は、移動ロボット20が搬送中の搬送物の内容(種別)に関する情報を取得する。搬送物情報取得部116は、エラーが発生した移動ロボット20が搬送中の搬送物に関する搬送物情報を取得する。
【0063】
ルート計画部115は、各移動ロボット20のルート計画を行う。搬送タスクが入力されると、ルート計画部115は、搬送依頼情報に基づいて、当該搬送物を搬送先(目的地)までの搬送するためのルート計画を行う。具体的には、ルート計画部115は、記憶部12に既に記憶されているルート計画情報125やロボット情報123等を参照して、新たな搬送タスクを実行する移動ロボット20を決定する。出発地は、移動ロボット20の現在位置や、直前の搬送タスクの搬送先、搬送物の受取先などである。目的地は、搬送物の搬送先、待機場所、充電場所などである。
【0064】
ここでは、ルート計画部115は、移動ロボット20の出発地から目的地までの通過ポイントを設定している。ルート計画部115は、移動ロボット20毎に、その通過ポイントの通過順を設定する。通過ポイントは、例えば、分岐点、交差点、エレベータ前のロビーやこれらの周辺に設定されている。また、幅の狭い通路では、移動ロボット20のすれ違いが困難となることもある。このような場合、幅の狭い通路の手前を通過ポイントして設定してもよい。通過ポイントの候補は、予めフロアマップ121に登録されていてもよい。
【0065】
ルート計画部115は、システム全体として効率良くタスクを実行できるように、複数の移動ロボット20の中から、各搬送タスクを行う移動ロボット20を決定する。ルート計画部115は、待機中の移動ロボット20や搬送元に近い移動ロボット20に搬送タスクを優先的に割り当てる。
【0066】
ルート計画部115は、搬送タスクが割り当てられた移動ロボット20について、出発地及び目的地を含む通過ポイントを設定する。例えば、搬送元から搬送先までの2以上の移動経路がある場合、より短時間で移動できるように通過ポイントを設定する。そのため、上位管理装置10は、カメラの画像等に基づいて、通路の混雑状況を示す情報を更新する。具体的には、他の移動ロボット20が通過している場所、人が多い場所は混雑度が高い。したがって、ルート計画部115は、混雑度が高い場所を避けるように、通過ポイントを設定する。
【0067】
移動ロボット20は、左回りの移動経路又は右回りの移動経路のいずれでも目的地まで移動できるような場合がある。このような場合、ルート計画部115は、混雑していないほうの移動経路を通過するように通過ポイントを設定する。ルート計画部115が、目的地までの間に、1又は複数の通過ポイントを設定することで、移動ロボット20が混雑していない移動経路で移動することができる。例えば、分岐点、交差点で通路が分かれている場合、ルート計画部115は、適宜、分岐点、交差点、曲がり角及びその周辺に通過ポイントを設定する。これにより、搬送効率を向上することができる。
【0068】
ルート計画部115は、エレベータの混雑状況や、移動距離などを考慮して、通過ポイントを設定してもよい。さらに、上位管理装置10は、移動ロボット20がある場所を通過する予定時刻における、移動ロボット20の数や人の数を推定してもよい。そして、推定された混雑状況に応じて、ルート計画部115が通過ポイントを設定してもよい。また、ルート計画部115は、混雑状況の変化に応じて、通過ポイントを動的に変えてもよい。ルート計画部115は、搬送タスクを割り当てた移動ロボット20について、通過ポイントを順番に設定する。通過ポイントは、搬送元や搬送先を含んでいてもよい。後述するように、移動ロボット20が、ルート計画部115により設定された通過ポイントを順番に通過するように自律移動する。
【0069】
モード制御部117は、施設の状況に応じて、モードを切替えるための制御を行う。例えば、モード制御部117は、状況に応じて、低負荷モードモードと高負荷モードとを切替える。低負荷モードはプロセッサ等の処理負荷が低い低負荷モードである。高負荷モードは、プロセッサ等の処理負荷が高い高負荷モードである。高負荷モードでは、低負荷モードよりもプロセッサ等の処理負荷が高くなる。よって、施設の状況に応じてモードを切替えることで、処理負荷を軽減することができ、消費電力を低減することができる。モード制御部117の制御については後述する。
【0070】
記憶部12は、ロボットの管理及び制御に必要な情報を格納する記憶部である。図2の例では、フロアマップ121、ロボット情報123、ロボット制御パラメータ122、ルート計画情報125、搬送物情報126、スタッフ情報128、モード情報129を示したが、記憶部12に格納される情報はこれ以外にあっても構わない。演算処理部11では、各種処理を行う際に記憶部12に格納されている情報を用いた演算を行う。また、記憶部12に記憶されている各種情報は最新の情報に更新可能である。
【0071】
フロアマップ121は、移動ロボット20を移動させる施設の地図情報である。このフロアマップ121は、予め作成されるものでもよいし、移動ロボット20から得た情報から生成されるものでもよく、また、予め作成された基本地図に移動ロボット20から得た情報から生成された地図修正情報を加えたものであってもよい。
【0072】
例えば、フロアマップ121には、施設の壁面、ゲート、扉、階段、エレベータ、固定棚などの位置やその情報が格納されている。フロアマップ121は、2次元のグリッドマップとして表現されていてもよい。この場合、フロアマップ121では、各グリッドに壁や扉なの情報が付されている。
【0073】
ロボット情報123は、上位管理装置10が管理する移動ロボット20のID、型番、仕様等が記述される。ロボット情報123は、移動ロボット20の現在位置を示す位置情報を含んでいてもよい。ロボット情報123は、移動ロボット20がタスクを実行中か、待機中かの情報を含んでいてもよい。また、ロボット情報123は、移動ロボット20が動作中か、故障中か等を示す情報を含んでいてもよい。また、ロボット情報123は、搬送可能な搬送物、搬送不可な搬送物の情報を含んでいてもよい。
【0074】
ロボット制御パラメータ122は、上位管理装置10が管理する移動ロボット20についての周辺物体との閾値距離等の制御パラメータが記述される。閾値距離は、人を含む周辺物体との接触を回避するためのマージン距離となる。さらに、ロボット制御パラメータ122は、移動ロボット20の移動速度の速度上限値などの動作強度に関する情報を含んでいても良い。
【0075】
ロボット制御パラメータ122は、状況に応じて更新されてもよい。ロボット制御パラメータ122は、収納庫291の収容スペースの空き状況や使用状況を示す情報を含んでいてもよい。ロボット制御パラメータ122は、搬送可能な搬送物や、搬送不可能な搬送物の情報を含んでいても良い。ロボット制御パラメータ122は、それぞれの移動ロボット20に対して、上記の各種情報が対応付けられている。
【0076】
ルート計画情報125は、ルート計画部115で計画されたルート計画情報を含んでいる。ルート計画情報125は、例えば、搬送タスクを示す情報を含んでいる。ルート計画情報125は、タスクが割り当てられた移動ロボット20のID、出発地、搬送物の内容、搬送先、搬送元、搬送先への到着予定時間、搬送元への到着予定時間、到着期限などの情報を含んでいても良い。ルート計画情報125では、搬送タスク毎に、上述した各種情報が対応付けられていてもよい。ルート計画情報125は、ユーザU1から入力された搬送依頼情報の少なくとも一部を含んでいても良い。
【0077】
さらに、ルート計画情報125は、それぞれの移動ロボット20や搬送タスクについて、通過ポイントに関する情報を含んでいてもよい。例えば、ルート計画情報125は、それぞれの移動ロボット20についての通過ポイントの通過順を示す情報を含んでいる。ルート計画情報125は、フロアマップ121における各通過ポイントの座標や、通過ポイントを通過したか否かの情報を含んでいてもよい。
【0078】
搬送物情報126は、搬送依頼が行われた搬送物に関する情報である。例えば、搬送物の内容(種別)、搬送元、搬送先等の情報を含んでいる。搬送物情報126は、搬送を担当する移動ロボット20のIDを含んでいても良い。さらに、搬送物情報は、搬送中、搬送前(搭載前)、搬送済みなどのステータスを示す情報を含んでいてもよい。搬送物情報126は搬送物毎にこれらの情報が対応付けられている。搬送物情報126については後述する。
【0079】
スタッフ情報128は施設のユーザがスタッフであるか否かを分類するための情報である。つまり、スタッフ情報128は、画像データに含まれる人物を第1グループまたは第2グループに分類するための情報を含む。例えば、スタッフ情報128は、予め登録されたスタッフに関する情報を含んでいる。モード情報129は、分類結果から各モードを制御するための情報を含む。なお、スタッフ情報128およびモード情報129の詳細は後述する。
【0080】
なお、ルート計画部115は、記憶部12に記憶されている各種情報を参照して、ルート計画を策定する。例えば、フロアマップ121、ロボット情報123、ロボット制御パラメータ122、ルート計画情報125に基づいて、タスクを実行する移動ロボット20を決定する。そして、ルート計画部115は、フロアマップ121等を参照して、搬送先までの通過ポイントとその通過順を設定する。フロアマップ121には、予め通過ポイントの候補が登録されている。そして、ルート計画部115が混雑状況等に応じて、通過ポイントを設定する。また、タスクを連続処理する場合などは、ルート計画部115が搬送元及び搬送先を通過ポイントして設定してもよい。
【0081】
なお、1つの搬送タスクについて、2つ以上の移動ロボット20が割り当てられていてもよい。例えば、搬送物が移動ロボット20の搬送可能容量よりも大きい場合、1つの搬送物を2つに分けて、2つの移動ロボット20に搭載する。あるいは、搬送物が移動ロボット20の搬送可能重量よりも重い場合、1つの搬送物を2つに分けて、2つの移動ロボット20に搭載する。このようにすることで、1つの搬送タスクを2つ以上の移動ロボット20が分担して実行することができる。もちろん、異なるサイズの移動ロボット20を制御する場合、搬送物を搬送可能な移動ロボット20が搬送物を受け取るようにルート計画を行ってもよい。
【0082】
さらには、1つの移動ロボット20が、2つ以上の搬送タスクを並行して行ってもよい。例えば、1つの移動ロボット20が2つ以上の搬送物を同時に搭載して、異なる搬送先に順次搬送してもよい。あるいは、1つ移動ロボット20が1つの搬送物を搬送中に、他の搬送物を搭載してもよい。また、異なる場所で搭載された搬送物の搬送先は同じであってもよく、異なっていてもよい。このようにすることで、タスクを効率よく実行することができる。
【0083】
このような場合、移動ロボット20の収容スペースについて、使用状況又は空き状況を示す収容情報を更新するようにしてもよい。つまり、上位管理装置10が空き状況を示す収容情報を管理して、移動ロボット20を制御してもよい。例えば、搬送物の搭載又は受取が完了すると、収容情報が更新される。搬送タスクが入力されると、上位管理装置10は、収容情報を参照して、搬送物を搭載可能な空きがある移動ロボット20を受け取りに向かわせる。このようにすることで、1つの移動ロボット20が、同時に複数の搬送タスクを実行することや、2つ以上の移動ロボット20が搬送タスクを分担して実行することが可能になる。例えば、移動ロボット20の収容スペースにセンサを設置して空き状況を検出しても良い。また、搬送物毎にその容量や重さが予め登録されていてもよい。
【0084】
バッファメモリ13は、演算処理部11における処理において生成される中間情報を蓄積するメモリである。通信部14は、システム1が用いられる施設に設けられる複数の環境カメラ300及び少なくとも1台の移動ロボット20と通信するための通信インタフェースである。通信部14は、有線通信と無線通信の両方の通信を行うことができる。例えば、通信部14は、それぞれの移動ロボット20に対して、その移動ロボット20の制御に必要な制御信号を送信する。また、通信部14は、移動ロボット20や環境カメラ300で収集された情報を受信する。
【0085】
移動ロボット20は、演算処理部21、記憶部22、通信部23、近接センサ(例えば、距離センサ群24)、カメラ25、駆動部26、表示部27、操作受付部28を有する。なお、図2では、移動ロボット20に備えられている代表的な処理ブロックのみを示したが、移動ロボット20には図示していない他の処理ブロックも多く含まれる。
【0086】
通信部23は、上位管理装置10の通信部14と通信を行うための通信インタフェースである。通信部23は、例えば、無線信号を用いて通信部14と通信を行う。距離センサ群24は、例えば、近接センサであり、移動ロボット20の周囲に存在する物又は人との距離を示す近接物距離情報を出力する。距離センサ群24はライダなどの測距センサを有している。光信号の出射方向を操作していくことで、周辺物体までの距離を測定することができる。また,測距センサ等で検出された点群データから、周辺物体を認識してもよい。カメラ25は、例えば、移動ロボット20の周囲の状況を把握するための画像を撮影する。また、カメラ25は、例えば、施設の天井等に設けられる位置マーカーを撮影することもできる。この位置マーカーを用いて移動ロボット20に自機の位置を把握させてもよい。
【0087】
駆動部26は、移動ロボット20に備え付けられている駆動輪を駆動する。なお、駆動部26は、駆動輪やその駆動モータの回転回数を検出するエンコーダなどを有していてもよい。エンコーダの出力に応じて、自機位置(現在位置)が推定されていても良い。移動ロボット20は、自身の現在位置を検出して、上位管理装置10に送信する。移動ロボット20は、オドメトリーなどによりフロアマップ121における自己位置を推定している。
【0088】
表示部27及び操作受付部28はタッチパネルディスプレイにより実現される。表示部27は、操作受付部28となるユーザーインタフェース画面を表示する。また、表示部27には、移動ロボット20の行き先や移動ロボット20の状態を示す情報を表示させても構わない。操作受付部28は、ユーザからの操作を受け付ける。操作受付部28は、表示部27に表示されるユーザーインタフェース画面に加えて、移動ロボット20に設けられる各種スイッチを含む。
【0089】
演算処理部21は、移動ロボット20の制御に用いる演算を行う。演算処理部21は、例えば、コンピュータの中央演算処理装置(CPU:Central Processing Unit)等のプログラムを実行可能な装置として実装可能である。そして、各種機能はプログラムにより実現することもできる。演算処理部21は、移動命令抽出部211、駆動制御部212、モード制御部217を有する。なお、図2では、演算処理部21が有する代表的な処理ブロックのみを示したが、図示しない処理ブロックも含まれる。演算処理部21は、通過ポイント間の経路を探索しても良い。
【0090】
移動命令抽出部211は、上位管理装置10から与えられた制御信号から移動命令を抽出する。例えば、移動命令は、次の通過ポイントに関する情報を含んでいる。例えば、制御信号は、通過ポイントの座標や、通過ポイントの通過順に関する情報を含んでいてもよい。そして、移動命令抽出部211が、これらの情報を移動命令として抽出する。
【0091】
さらに、移動命令は、次の通過ポイントへの移動が可能になったことを示す情報を含んでいてもよい。通路幅が狭いと、移動ロボット20がすれ違うことできない場合がある。また、一時的に通路を通行できない場合がある。このような場合、制御信号は、停止すべき場所の手前の通過ポイントで、移動ロボット20を停止させる命令を含んでいる。そして、他の移動ロボット20が通過した後や通行可能となった後に、上位管理装置10が移動ロボット20に移動可能なことになったことを知らせる制御信号を出力する。これにより、一時的に停止していた移動ロボット20が移動を再開する。
【0092】
駆動制御部212は、移動命令抽出部211から与えられた移動命令に基づいて、移動ロボット20を移動させるように、駆動部26を制御する。例えば、駆動部26は、駆動制御部212からの制御指令値に応じて回転する駆動輪を有している。移動命令抽出部211は、上位管理装置10から受信した通過ポイントに向かって移動ロボット20が移動するように、移動命令を抽出する。そして、駆動部26が駆動輪を回転駆動する。移動ロボット20は、次の通過ポイントに向かって自律移動する。このようにすることで、通過ポイントを順番に通過して、搬送先に到着する。また、移動ロボット20は、自機位置を推定して、通過ポイントを通過したことを示す信号を上位管理装置10に送信しても良い。これにより、上位管理装置10が、各移動ロボット20の現在位置や搬送状況を管理することができる。
【0093】
モード制御部217は、状況に応じてモードを切替えるための制御を行う。モード制御部217は、モード制御部117と同様の処理を行ってもよい。上位管理装置10のモード制御部117の一部の処理を行ってもよい。つまり、モード制御部117とモード制御部217が協働してモードを制御するための処理を行ってもよい。また、モード制御部117とは独立して処理を行ってもよい。モード制御部217は、モード制御部117の処理負荷よりも低い処理を行う。
【0094】
記憶部22には、フロアマップ221とロボット制御パラメータ222と搬送物情報226が格納される。図2に示したのは、記憶部22に格納される情報の一部で有り、図2に示したフロアマップ221とロボット制御パラメータ222と搬送物情報226以外の情報も含まれる。フロアマップ221は、移動ロボット20を移動させる施設の地図情報である。このフロアマップ221は、例えば、上位管理装置10のフロアマップ121をダウンロードしたものである。なお、フロアマップ221は、予め作成されたものであってもよい。また、フロアマップ221は、施設全体の地図情報ではなく、移動予定の領域を部分的に含む地図情報であってもよい。
【0095】
ロボット制御パラメータ222は、移動ロボット20を動作させるためのパラメータである。ロボット制御パラメータ222には、例えば、周辺物体との距離閾値が含まれる。さらに、ロボット制御パラメータ222には、移動ロボット20の速度上限値が含まれている。
【0096】
搬送物情報226は、搬送物情報126と同様に搬送物に関する情報を含んでいる。搬送物の内容(種別)、搬送元、搬送先等の情報を含んでいる。搬送物情報は、搬送中、搬送前(搭載前)、搬送済みなどのステータスを示す情報を含んでいてもよい。搬送物情報226は搬送物毎にこれらの情報が対応付けられている。搬送物情報126については後述する。搬送物情報226は、移動ロボット20が搬送する搬送物に関する情報を含んでいればよい。したがって、搬送物情報226は搬送物情報126の一部となる。つまり、搬送物情報226は、他の移動ロボット20が搬送する情報を含んでいなくても良い。
【0097】
駆動制御部212は、ロボット制御パラメータ222を参照して、距離センサ群24から得られた距離情報が示す距離が距離閾値を下回ったことに応じて動作を停止或いは減速をする。駆動制御部212は、速度上限値以下の速度で走行するように、駆動部26を制御する。駆動制御部212は、速度上限値以上の速度で移動ロボット20が移動しないように、駆動輪の回転速度を制限する。
【0098】
(移動ロボット20の構成)
ここで、移動ロボット20の外観について説明する。図3は、移動ロボット20の概略図を示す。図3に示す移動ロボット20は、移動ロボット20の態様の1つであり、他の形態であってもよい。なお、図3では、x方向が移動ロボット20の前進方向及び後進方向、y方向が移動ロボット20の左右方向であり、z方向が移動ロボット20の高さ方向である。
【0099】
移動ロボット20は、本体部290と、台車部260とを備えている。台車部260の上に、本体部290が搭載されている。本体部290と、台車部260とそれぞれ直方体状の筐体を有しており、この筐体内部に各構成要素が搭載されている。例えば、台車部260の内部には駆動部26が収容されている。
【0100】
本体部290には、収容スペースとなる収納庫291と、収納庫291を密封する扉292とが設けられている。収納庫291には、複数段の棚が設けられており、段毎に空き状況が管理される。例えば、各段に重量センサ等の各種センサを配置することで、空き状況を更新することができる。移動ロボット20は、収納庫291に収納された搬送物を上位管理装置10から指示された目的地まで自律移動により搬送する。本体部290は図示しない制御ボックスなどを筐体内に搭載していても良い。また、扉292は電子キーなどで施錠可能となっていても良い。搬送先に到着するとユーザU2が電子キーで扉292を開錠する。あるいは、搬送先に到着した場合、自動で扉292が開錠してもよい。
【0101】
図3に示すように、移動ロボット20の外装には、距離センサ群24として前後距離センサ241及び左右距離センサ242が設けられる。移動ロボット20は、前後距離センサ241により移動ロボット20の前後方向の周辺物体の距離を計測する。また、移動ロボット20は、左右距離センサ242により移動ロボット20の左右方向の周辺物体の距離を計測する。
【0102】
例えば、前後距離センサ241は、本体部290の筐体の前面及び後面にそれぞれ配置される。左右距離センサ242は、本体部290の筐体の左側面及び右側面にそれぞれ配置される。前後距離センサ241及び左右距離センサ242は例えば、超音波距離センサやレーザレンジファインダである。周辺物体までの距離を検出する。前後距離センサ241又は左右距離センサ242で検出された周辺物体までの距離が、距離閾値以下となった場合、移動ロボット20が減速または停止する。
【0103】
駆動部26には、駆動輪261及びキャスタ262が設けられる。駆動輪261は移動ロボット20を前後左右に移動させるための車輪である。キャスタ262は、駆動力は与えられず、駆動輪261に追従して転がる従動輪である。駆動部26は、図示しない駆動モータを有しており、駆動輪261を駆動する。
【0104】
例えば、駆動部26は、筐体内に、それぞれが走行面に接地する2つの駆動輪261と2つのキャスタ262を支持している。2つの駆動輪261は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪261は、不図示のモータによって独立して回転駆動される。駆動輪261は、図2の駆動制御部212からの制御指令値に応じて回転する。キャスタ262は、従動輪であり、駆動部26から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、駆動部26の移動方向に倣うように追従する。
【0105】
移動ロボット20は、例えば、2つの駆動輪261が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば2つの駆動輪261のほぼ中央を通る鉛直軸周りに旋回する。また、2つの駆動輪261を同じ方向と異なる回転速度で回転させることで、左右に曲がりながら進むことができる。例えば、左の駆動輪261の回転速度を右の駆動輪261の回転速度より高くすることで、右折することができる。反対に、右の駆動輪261の回転速度を左の駆動輪261の回転速度より高くすることで、左折することができる。すなわち、移動ロボット20は、2つの駆動輪261の回転方向、回転速度がそれぞれ制御されることにより、任意の方向へ並進、旋回、右左折等することができる。
【0106】
また、移動ロボット20では、本体部290の上面に表示部27、操作インタフェース281が設けられる。表示部27には、操作インタフェース281が表示される。ユーザが表示部27に表示された操作インタフェース281をタッチ操作することで、操作受付部28がユーザからの指示入力を受け付けることができる。また、非常停止ボタン282が表示部27の上面に設けられる。非常停止ボタン282及び操作インタフェース281が操作受付部28として機能する。
【0107】
表示部27は、例えば液晶パネルであり、キャラクターの顔をイラストで表示したり、移動ロボット20に関する情報をテキストやアイコンで呈示したりする。表示部27にキャラクターの顔を表示すれば、表示部27が擬似的な顔部であるかの印象を周囲の観察者に与えることができる。移動ロボット20に搭載されている表示部27等をユーザ端末400として用いることも可能である。
【0108】
本体部290の前面には、カメラ25が設置されている。ここでは、2つのカメラ25がステレオカメラとして機能する。つまり、同じ画角を有する2つのカメラ25が互いに水平方向に離間して配置されている。それぞれのカメラ25で撮像された画像を画像データとして出力する。2つのカメラ25の画像データに基づいて、被写体までの距離や被写体の大きさを算出することが可能である。演算処理部21は、カメラ25の画像を解析することで、移動方向前方に人や障害物などを検知することができる。進行方向前方に人や障害物などがいる場合、移動ロボット20は、それらを回避しながら、経路に沿って移動する。また、カメラ25の画像データは、上位管理装置10に送信される。
【0109】
移動ロボット20は、カメラ25が出力する画像データや、前後距離センサ241及び左右距離センサ242が出力する検出信号を解析することにより、周辺物体を認識したり、自機の位置を同定したりする。カメラ25は、移動ロボット20の進行方向前方を撮像する。移動ロボット20は、図示するように、カメラ25が設置されている側を自機の前方とする。すなわち、通常の移動時においては矢印で示すように、自機の前方が進行方向となる。
【0110】
次に、図4を用いて、モード制御処理について説明する。ここでは、モード制御のための処理を上位管理装置10が行うものとして説明する。したがって、図4は、主として、モード制御部117の制御系を示すブロック図となっている。もちろん、移動ロボット20のモード制御部217がモード制御部117の処理の少なくとも一部を行ってもよい。つまり、モード制御部217とモード制御部117が協働して、モード制御処理を行ってもよい。あるいは、モード制御部217がモード制御処理を行ってもよい。あるいは、環境カメラ300がモード制御のための処理の少なくとも一部を実行してもよい。
【0111】
モード制御部117は、画像データ取得部1170と、特徴抽出部1171と、分類器1172と、推定部1173と、切替部1174とを備えている。環境カメラ300は、撮像素子301と演算処理部311を有している。撮像素子301は施設内をモニタするために画像を撮像する。演算処理部311は、撮像素子301の撮像画像に対して画像処理などを行うGPU318を有している。
【0112】
画像データ取得部1170は、環境カメラ300で撮像された画像の画像データを取得する。ここで、画像データは、環境カメラ300で撮像された撮像された撮像データ自体であってもよく、撮像データに処理が施されたデータであってもよい。例えば、画像データは、撮像データから抽出された特徴量のデータであってもよい。また、画像データには撮像時間や撮像場所などの情報が付加されていてもよい。また、画像データ取得部1170は、環境カメラ300からの画像データに限らず、移動ロボット20のカメラ25からの画像データを取得しても良い。つまり、画像データ取得部1170は、移動ロボット20に設けられたカメラ25が撮像した画像に基づく画像データを取得してもよい。画像データ取得部1170は、複数の環境カメラ300から画像データを取得しても良い。
【0113】
特徴抽出部1171は、撮像画像内の人の特徴を抽出する。より具体的には、特徴抽出部1171は、画像データに対して画像処理を行うことで、画像データに含まれる人を検出する。そして、画像データに含まれる人の特徴を抽出する。また、環境カメラ300に設けられた演算処理部311が特徴量抽出のための処理の少なくとも一部を行ってもよい。なお、画像データに人が含まれることを検出する手段は、例えばHOG(Histograms of Oriented Gradients)特徴量や畳み込み処理を含む機械学習など種々の技術が当業者に知られている。そのためここでは詳述を省略する。
【0114】
特徴抽出部1171は、検出した人の着衣の色を検出する。さらに詳細には、例えば特徴抽出部1171は、検出した人における着衣から、特定の色の面積が占める割合を算出する。あるいは、特徴抽出部1171は、検出した人物における着衣から、特定の部分における着衣の色を検出する。このようにして、特徴検出部511は、スタッフの着衣に特徴的な部分を抽出する。
【0115】
また、スタッフの着衣の特徴的な形状や特徴的な装着品を特徴として抽出してもよい。さらに特徴抽出部1171の顔画像の特徴などを抽出しても良い。つまり、特徴抽出部1171は、顔認識用の特徴を抽出しても良い。特徴抽出部1171は、抽出した特徴情報を分類器1172に供給する。
【0116】
分類器1172は、特徴の抽出結果に基づいて、人を予め設定された第1グループ又は第2グループに分類する。例えば、分類器1172は、特徴抽出部1171から受け取った特徴情報と、記憶部530が記憶するスタッフ情報128とから、人を分類する。分類器1172は、分類の結果を、推定部1173に供給する。分類器1172は、スタッフを第1グループに分類し、スタッフ以外の人を第2グループに分類する。分類器1172は、分類結果を推定部1173及び切替部1174に供給する。
【0117】
推定部1173は、人の移動速度を推定する。例えば、推定部1173は、環境カメラ300のフレームごとに人の位置を特定する。例えば、フロアマップ121において、環境カメラ300の位置(座標)や撮像方向が予め登録されている。したがって、推定部1173は、画像データに基づいて、フロアマップ121における人の位置を特定することができる。また、位置精度を向上するため、環境カメラ300をステレオカメラとしてもよい。あるいは、複数の環境カメラ300を用いて人の位置を特定してもよい。あるいは、移動ロボット20に設けられた距離センサ群24を用いて、人の位置を特定してもよい。
【0118】
推定部1173は、人の位置の変化から人の移動速度を推定することができる。推定部1173は、第2グループに属する人の移動速度を推定する。推定部1173は、推定結果を切替部1174に供給する。また、推定部1173は、人の移動方向を推定してもよい。
【0119】
切替部1174は、推定された移動速度に応じた、高負荷の処理を行う高負荷モードと、低負荷の処理を行う低負荷モードとを切替える。具体的には、切替部1174は、第2グループに属する人が閾値速度よりも速い速度で移動している場合、高負荷モードにする。切替部1174は、第2グループに属する人が閾値速度よりも遅い速度で移動している領域では、低負荷モードにする。切替部1174は、第2グループに属する人がいない領域では、低負荷モードにする。切替部1174は、人が全くいない領域では、低負荷モードにする。切替部1174はモードを切替えるための信号をエッジデバイスに出力する。エッジデバイスは、例えば、環境カメラ300,移動ロボット20、通信ユニット610、及び、ユーザ端末400の一つ以上を含む。
【0120】
スタッフ情報128の一例を図5に示す。図5は、スタッフ情報128の一例を示す表である。スタッフ情報128は、スタッフおよび非スタッフをその種別ごとに対応するグループに分類するための情報である。左の列は、スタッフの「カテゴリ」が示されている。スタッフのカテゴリの項目は上から「非スタッフ」、「薬剤師」および「看護師」が示されている。もちろん、例示された項目以外の項目が含まれていてもよい。スタッフのカテゴリの右側には、順に「着衣の色」、「グループ分類」、「速度」、「モード」の列が示されている。
【0121】
以下にスタッフカテゴリの項目ごとに対応する着衣の色(色調)について説明する。「非スタッフ」に対応する着衣の色は「特定できず」である。すなわち、特徴抽出部1171が画像データから人物を検出した場合に、検出した人物の着衣の色が予め設定されたものに含まれない場合には、特徴抽出部1171は検出した人物を「非スタッフ」と判定する。また、スタッフ情報128によれば、「非スタッフ」に対応するグループ分類は第2グループである。
【0122】
カテゴリには、着衣の色が対応付けられている。例えば、カテゴリ毎にスタッフの制服の色が決められているとする。この場合、制服の色がカテゴリ毎に異なる。よって、分類器1712は、着衣の色からカテゴリを特定することができる。もちろん、1つのカテゴリのスタッフが異なる色の制服を着用としていてもよい。例えば、看護師が白色(白衣)又はピンク色の制服が着用していてもよい。あるいは、複数のカテゴリのスタッフが共通の色の制服を着用していてもよい。例えば、看護師及び薬剤師が白色の制服を着用していてもよい。さらには、着衣の色に限らず、着衣の形状や帽子などを特徴としてもよい。そして、分類器1172は、画像中の人の特徴と一致するカテゴリを特定する。もちろん、画像中に二人以上の人が含まれている場合、分類器1172はそれぞれの人のカテゴリを特定する。
【0123】
分類器1172が着衣の色でスタッフか否かを判別することで、簡便かつ適切にスタッフか否かを判別することができる。例えば、新たなスタッフが追加された場合でも、そのスタッフの情報を用いずにスタッフか否かを判別することができる。あるいは、分類器1172は名札、IDカード、入室カード等の有無に応じて、非スタッフかスタッフかを分類してもよい。例えば、分類器1172は、着衣の所定箇所に名札が取り付けられている人をスタッフと分類する。あるいは、分類器1172は、カードホルダなどによってIDカードや入室カードが首からぶら下げられている人をスタッフと分類する。
【0124】
さらに、分類器1172は、顔画像の特徴に基づいて、分類を行ってもよい。例えば、スタッフ情報128には、予めスタッフの顔画像またはその特徴量が格納されていてもよい。そして、環境カメラ300が撮像した画像に含まれる人の顔の特徴が抽出できる場合、顔画像の特徴量を比較することで、スタッフか否かを判別することができる。また、スタッフのカテゴリを予め登録されていれば、顔画像の特徴量から、スタッフを特定することができる。もちろん、分類器1172は複数の特徴を組み合わせて分類を行うことができる。
【0125】
このように分類器1172は、画像中の人がスタッフであるか否かを判定する。分類器1172は、スタッフである人を第1グループに分類する。分類器1172は、非スタッフである人を第2グループに分類する。つまり、分類器1172は、スタッフ以外の人を第2グループに分類する。換言すると、分類器1172は、スタッフとして特定できない人を第1グループに分類する。なお、スタッフは予め登録されていることが好ましいが、新たなスタッフを着衣の色で分類してもよい。
【0126】
分類器1172は機械学習で生成された機械学習モデルとしてもよい。この場合、スタッフのカテゴリ毎に撮像された画像を教師データとして機械学習できる。つまり、スタッフのカテゴリが正解ラベルとして付されている画像データを教師データとして教師あり学習を行うことで、分類精度の高い機械学習モデルを構築することができる。つまり、スタッフが所定の制服を着用した状態の撮像画像を学習用データとしても用いることができる。
【0127】
機械学習モデルは特徴抽出及び分類処理を行うものであってもよい。この場合、人を含む画像を機械学習モデルに入力することで、機械学習モデルが分類結果を出力する。また、分類する特徴に応じた機械学習モデルを用いてもよい。例えば、着衣の色から分類する機械学習モデルと、顔画像の特徴量から分類する機械学習モデルをそれぞれ独立して用いてもよい。そして、いずれか1つの機械学習モデルでスタッフと認識された場合、分類器1172は、その人が第1グループに属すると判定する。スタッフとして特定できない場合、分類器1172は、その人が第2グループに属すると判定する。
【0128】
(モード情報)
図6は、モード情報129の例を示す表である。図6では、低負荷モードと高負荷モードによる処理の違いを示している。図6では、モード制御の対象となる項目として、分類器、カメラピクセル、フレームレート、カメラスリープ、GPU(Graphics Processing Unit)使用コア数、GPU使用率上限の6項目が示されている。切替部1174は、モードに応じて、図6に示す1つ以上の項目を切り替えることができる。
【0129】
分類器の項目の示されるように、切替部1174は、分類器1172の機械学習モデルを切り替えている。分類器1172はDNN(Deep Neural Network)のマルチレイヤを有する機械学習モデルである。そして、低負荷モードでは、分類器1172が低レイヤ数の機械学習モデルを用いて、分類処理を行う。これにより、処理負荷を軽減することができる。
【0130】
高負荷モードでは、分類器1172が高レイヤ数の機械学習モデルを用いて、分類処理を行う。これにより、高負荷モードでは、分類精度を向上することができる。高レイヤ数の機械学習モデルでは、低レイヤ数の機械学習モデルよりも演算負荷が高くなる。よって、切替部1174が、分類器1172の機械学習モデルのネットワークレイヤをモードに応じて切替えることで、演算負荷を変えることができる。
【0131】
低レイヤ数の機械学習モデルは、高レイヤ数の機械学習モデルに比べて、第2グループに属する分類確率が高くなるような機械学習モデルとしてもよい。よって、低レイヤ数の機械学習モデルの出力結果からユーザが非スタッフであると判定されると、切替部1174が、低負荷モードから高負荷モードへの切替を行う。切替部1174が低負荷モードから、高負荷モードへの切替を適切に行うことができる。環境カメラ300や移動ロボット200などのエッジデバイスが、ネットワークレイヤ数に低い機械学習モデルを実装していてもよい。この場合、エッジでビス単独で分類や切替等の処理を行うことができる。一方、上位管理装置10はネットワークレイヤ数が高い機械学習モデルを実装していてもよい。
【0132】
カメラピクセルの項目に示されるように、切替部1174が、環境カメラ300のピクセル数を切り替えている。低負荷モードでは、環境カメラ300が低ピクセル数の撮像画像を出力する。高負荷モードでは、環境カメラ300が高ピクセル数の撮像画像を出力する。つまり、モードに応じて、切替部1174が、環境カメラ300の撮像画像のピクセル数を切り替えるための制御信号を出力する。高ピクセル数の撮像画像を用いた場合、低ピクセルの撮像画像を用いた場合よりも、プロセッサなどの処理負荷が高くなる。環境カメラ300のピクセル数を切替えるために、環境カメラ300がピクセル数の異なる複数の撮像素子を備えていても良い。あるいは、環境カメラ300に実装されたプログラムなどによって、異なるピクセル数の撮像画像を出力するようにしてもよい。例えば、GPU318等が高ピクセル数の撮像画像の画像データを間引くことで、低ピクセル数の撮像画像を生成することができる。
【0133】
低負荷モードでは、低ピクセル数の撮像画像に基づいて、分類器1172がユーザを分類する。また、低負荷モードでは、低ピクセル数の撮像画像に基づいて、推定部1173がユーザの移動速度を推定する。これにより、処理負荷を軽減することができる。高負荷モードでは、高ピクセル数の撮像画像に基づいて、分類器1172がユーザを分類する。高負荷モードでは、高ピクセル数の撮像画像に基づいて、推定部1173がユーザの移動速度を推定する。これにより、高負荷モードでは、分類精度及び推定精度を向上することができる。よって、高速で移動する非スタッフを効果的に監視することができるため、適切な制御を行うことができる。
【0134】
フレームレートの項目に示されるように、切替部1174が、環境カメラ300のフレームレートを切り替えている。低負荷モードでは、環境カメラ300が低フレームレートで撮像する。高負荷モードでは、環境カメラ300が高フレームレートで撮像する。つまり、モードに応じて、切替部1174が、環境カメラ300の撮像画像のフレームレートを切り替えるための制御信号を出力する。高いフレームレートで撮像画像を撮像されるため、フレームレートが低い場合よりも、プロセッサなどの処理負荷が高くなる。
【0135】
よって、高負荷モードでは、高フレームレートの撮像画像に基づいて、分類器1172がユーザを分類する。また、低負荷モードでは、低フレームレートの撮像画像に基づいて、推定部1173がユーザの移動速度を推定する。これにより、処理負荷を軽減することができる。高負荷モードでは、高フレームレートの撮像画像に基づいて、推定部1173がユーザの移動速度を推定する。これにより、高負荷モードでは、分類精度及び推定精度を向上することができる。よって、高速で移動する非スタッフを効果的に監視することができるため、適切な制御を行うことができる。
【0136】
カメラスリープの項目に示されるように、切替部1174が、環境カメラ300のスリープのオンオフを切り替えている。低負荷モードでは、環境カメラ300がスリープ状態となる。高負荷モードでは、環境カメラ300がスリープせずに動作する。つまり、モードに応じて、切替部1174が、環境カメラ300のスリープのオンオフを切り替えるための制御信号を出力する。低負荷モードでは、環境カメラ300がスリープするため、処理負荷を軽減することができる。
【0137】
GPU使用コア数の項目に示されるように、切替部1174が、GPU318の使用コア数を切り替えている。GPU318は、環境カメラの撮像画像に対して画像処理を行う。例えば、図4に示されるように、環境カメラ300は演算処理部311を有するエッジデバイスとして機能する。そして、演算処理部311は、画像処理を行うためのGPU318を備えている。GPU318は、並列処理可能な複数のコアを有している。
【0138】
低負荷モードでは、環境カメラ300のGPU318が低コア数で動作する。これにより、演算処理の負荷を軽減することができる。高負荷モードでは、環境カメラ300のGPU318が高コア数で動作する。つまり、モードに応じて、切替部1174が、GPU318のコア数を切り替えるための制御信号を出力する。コア数が高い場合、エッジデバイスである環境カメラ300の処理負荷が高くなる。
【0139】
よって、低負荷モードでは、ユーザの分類処理及び移動速度の推定処理が低コア数のGPU318で行われる。高負荷モードでは、ユーザの分類処理及び移動速度の推定処理が高コア数のGPU318で行われる。これにより、高負荷モードでは、分類精度及び推定精度を向上することができる。よって、高速で移動する非スタッフを効果的に監視することができるため、適切な制御を行うことができる。
【0140】
GPU使用率上限の項目に示されるように、切替部1174が、GPU使用率の上限を切り替えている。GPU317は、環境カメラの撮像画像に対して画像処理を行う。低負荷モードでは、環境カメラ300のGPU317が低い使用率上限値で動作する。これにより、演算処理の負荷を軽減することができる。高負荷モードでは、環境カメラ300のGPUが高い使用率上限値で動作する。つまり、モードに応じて、切替部1174が、GPU317の使用率の上限値を切り替えるための制御信号を出力する。使用率上限が高い場合、エッジデバイスである環境カメラ300の処理負荷が高くなる。
【0141】
よって、低負荷モードでは、GPU317が、低い使用率で、ユーザの分類処理及び移動速度の推定処理を行う。高負荷モードでは、GPU317が、高い使用率で、ユーザの分類処理及び移動速度の推定処理を行う。これにより、高負荷モードでは、分類精度及び推定精度を向上することができる。よって、高速で移動する非スタッフを効果的に監視することができるため、適切な制御を行うことができる。
【0142】
切替部1174は、上記の項目の少なくとも一つの項目を切り替える。これにより、環境に応じて適切な制御が可能となる。もちろん、切替部1174は、2つ以上の項目を切り替えてもよい。さらには、切替部1174が切り替える項目は、図6に例示された項目に限られるものではなく、他の項目を切り替えてもよい。具体的には、高負荷モードでは、より多数の環境カメラ300を用いて監視を行ってもおい。つまり、低負荷モードでは一部の環境カメラ300などをスリープさせてもよい。切替部1174は種々の項目をモードに応じて切り替えることで、処理負荷を変化させることができる。上位管理装置10は、状況に応じて処理負荷を臨機応変に変えることができるため、消費電力を低減することができる。
【0143】
低負荷の処理で分類及び推定を行う場合、精度が低下してしまう。よって、より高負荷モードに切り替わりやすいように、処理を行うようにすればよい。例えば、低負荷モードにおいて第2グループに分類される分類確率が高負荷モードにおいて第2グループに分類される分類確率よりも高くなるように設定すればよい。
【0144】
また、高負荷モードでは、サーバである上位管理装置10が複数の環境カメラ300から画像を収集してもよい。サーバである上位管理装置10は、1台以上の移動ロボット20に搭載されたカメラ25から画像を収集してもよい。そして、複数台のカメラから収集された画像に対して、処理を行えばよい。また、低負荷モードでは環境カメラ300等に設けられたエッジデバイス単独で処理を行ってもよい。これにより、より適切な処理負荷での制御が可能となる。
【0145】
図7は、本実施の形態にかかる制御方法を示すフローチャートである。まず、画像データ取得部1170が環境カメラ300から画像データを取得する(S101)。つまり、環境カメラ300が監視領域を撮像すると、その撮像画像を上位管理装置10に送信する。画像データは動画でもよく、静止画でもよい。さらに、画像データは撮像画像に各種処理を施したデータであってもよい。
【0146】
次に、特徴抽出部1171が撮像画像内の人の特徴を抽出する(S102)。ここでは、特徴抽出部1171が、撮像画像に含まれる人を検出して、人毎に特徴を抽出する。例えば、特徴抽出部1171は、人の着衣の色を特徴として抽出する。もちろん、特徴抽出部1171は、着衣の色に限らず、顔認識ための特徴量や着衣の形状を抽出してもよい。特徴抽出部1171は、ナース帽の有無、名札の有無、IDカードの有無等を特徴として抽出してもよい。
【0147】
分類器1172が、人の特徴に基づいて、撮像画像に含まれる人を第1グループ又は第2グループに分類する(S103)。分類器1172は、スタッフ情報を参照して、それぞれの人の特徴から、その人が第1グループに属するか否かを判定する。具体的には、分類器1172は、着衣の色が予め設定された制服の色と一致する場合、人が第1グループに属すると判定する。これにより、撮像画像に含まれる全ての人が、第1グループ又は第2グループに分類される。もちろん、分類器1172は着衣の色の特徴に限らず、他の特徴を用いて分類を行うことができる。
【0148】
そして、分類器1172は、監視領域内に第2グループの人がいるか否かを判定する(S104)。第2グループの人がいない場合(S104のNO)、切替部1174は低負荷モードを選択する(S105)。切替部1174は、環境カメラ300や移動ロボット20などのエッジデバイスに低負荷モードとするための制御信号を送信する。これにより、上位管理装置10が低負荷での監視を行う。つまり、予測できない行動を行う非スタッフがいないため、人が移動ロボット20に接触する可能性が低い。よって、低い処理負荷で監視を行った場合でも、移動ロボット20が適切に移動することができる。処理負荷を軽減することで、消費電力を抑制することができる。
【0149】
第2グループの人がいる場合(S104のYES)、推定部1173が第2グループの人の移動速度を推定する(S106)。推定部1173が第2グループの人が高速で移動しているか否かを判定する(S107)。つまり、推定部1173が第2グループの人の移動速度と閾値速度を比較する。移動速度が閾値速度以上の場合、推定部1173が高速で移動していると判定する。移動速度が閾値速度未満の場合、推定部1173が高速で移動していると判定する。
【0150】
第2グループの人が高速で移動していない場合(S107のNO)、切替部1174は低負荷モードを選択する(S105)。切替部1174は、環境カメラ300や移動ロボット20などのエッジデバイスに低負荷モードとするための制御信号を送信する。これにより、上位管理装置10が低負荷で監視を行う。つまり、予測できない行動を行う非スタッフが低速で移動しているため、人が移動ロボット20に接触する可能性が低い。低い処理負荷で監視を行った場合でも、移動ロボット20が適切に移動することができる。処理負荷を軽減することで、消費電力を抑制することができる。
【0151】
第2グループの人が高速で移動している場合(S107のYES)、切替部1174は高負荷モードを選択する(S108)。切替部1174は、環境カメラ300や移動ロボット20などのエッジデバイスに高負荷モードとするための制御信号を送信する。これにより、高負荷での監視が可能となる。つまり、予測できない行動を行う非スタッフが高速で移動しているため、上位管理装置10が高い処理負荷で監視領域を監視する。これにより、移動ロボット20が非スタッフとの接触などを事前に回避することができる。移動ロボット20が適切に制御することができる。ここでは、高速で移動する第2グループの人が1人でもいれば、切替部1174が高負荷モードを選択している。
【0152】
上記の説明では、切替部1174が移動速度に応じて、高負荷モードと低負荷モードの2段階でモードを切替えたが、3段階以上にモードを切替えてもよい。例えば、高負荷モードと低負荷モードの間の中負荷モードを設けてもよい。移動速度、非スタッフの人数、移動ロボット20と非スタッフとの間の距離などに応じて、上位管理装置10は、より細かく監視制御を切替えることができる。これにより、適切な制御が可能となる。
【0153】
図8は、モード切替の具体例を説明するための図である。図8は、移動ロボット20が移動するフロアを上から見た模式図である。施設には、部屋901と部屋903と通路902とが設けられている。通路902は部屋901と部屋903とを繋いでいる。図8では、6台の環境カメラ300を環境カメラ300A~300Fとして識別する。環境カメラ300A~300Fはそれぞれ異なる位置及び異なる方向に設置されている。環境カメラ300A~300Fが異なる領域を撮像している。環境カメラ300A~300Fの位置、撮像方向、及び撮像範囲等は、フロアマップ121に予め登録されていてもよい。
【0154】
環境カメラ300A~300Fに割り当てられた領域をそれぞれ監視領域900A~900Fとする。例えば、環境カメラ300Aは、監視領域900Aを撮像し、環境カメラ300Bは監視領域900Bを撮像する。同様に、環境カメラ300C、300D、300E、300Fは、監視領域900C、900D、900E、900Fをそれぞれ撮像する。このように対象となる施設に複数の環境カメラ300A~300Fが設置されている。そして、施設が複数の監視領域に分けられている。監視領域の情報はフロアマップ121に予め登録されていても良い。
【0155】
ここでは、説明の簡略化のため、それぞれの環境カメラ300A~300Fが1つの監視領域をモニタしているものとして説明するが、1つの環境カメラ300が複数の監視領域をモニタしても良い。あるいは、複数の環境カメラ300が1つの監視領域をモニタしても良い。つまり、2台以上の環境カメラの撮像範囲が重複していてもよい。
【0156】
(実施例1)
実施例1では、環境カメラ300Aがモニタする監視領域900Aについて説明する。監視領域900Aは施設内の部屋901に対応している。監視領域900Aには、移動ロボット20Aと、スタッフであるユーザU1Aが存在している。分類器1172は、ユーザU1Aが第1グループに分類する。切替部1174が監視領域900Aを低負荷モードに切替える。上位管理装置10が、低負荷の処理で監視領域900Aを監視する。例えば、環境カメラ300Aが低ピクセル数の撮像画像を出力する。もちろん、切替部1174が他の項目を低負荷モードとするための制御信号を出力しても良い。また、切替部1174が移動ロボット20Aを低負荷モードとするための制御信号を出力してもよい。
【0157】
(実施例2)
実施例2では、環境カメラ300Eがモニタする監視領域900Eについて説明する。監視領域900Eは施設内の通路902に対応している。具体的には、監視領域900Eは、監視領域900Fに繋がる通路902となる。監視領域900Eには、非スタッフであるユーザU2E及び移動ロボット20Eが存在している。分類器1172がユーザU2Eを第2グループに分類する。推定部1173が、ユーザU2Eの移動速度を閾値速度よりも速い速度と推定する。
【0158】
切替部1174が監視領域900Eを高負荷モードに切替える。上位管理装置10が、高負荷の処理で監視領域900Eを監視する。例えば、環境カメラ300Eが高フレームレートの撮像画像を出力する。もちろん、切替部1174が他の項目を高負荷モードとするための制御信号を出力しても良い。また、切替部1174が移動ロボット20Eを高負荷モードとするための制御信号を出力してもよい。
【0159】
(実施例3)
実施例3では、環境カメラ300Dがモニタする監視領域900Dについて説明する。監視領域900Dは施設内の通路902に対応している。監視領域900Cには、人が存在していない。よって、上位管理装置10が監視領域900Dを低負荷モードに切り替える。よって、上位管理装置10が、低負荷の処理で監視領域900Dを監視する。環境カメラ300Dが低ピクセル数の撮像画像を出力する。もちろん、切替部1174が他の項目を低負荷モードとするための制御信号を出力しても良い。
【0160】
(実施例4)
実施例4では、環境カメラ300Fがモニタする監視領域900Fについて説明する。監視領域900Fは施設内の部屋903に対応している。監視領域900Fには、ユーザU2Fが存在している。実施例4では、推定部1173がユーザU2Fの移動方向を推定している。ここで、監視領域900Fには、非スタッフの侵入を禁止する制限領域911が設けられている。そして、ユーザU2Fが制限領域911に向かう方向に移動しているとする。
【0161】
ユーザU2Fが制限領域911に向かって移動していると判定された場合、切替部1174が監視領域900Fを高負荷モードに切替える。上位管理装置10が、高負荷の処理で監視領域900Fを監視する。例えば、環境カメラ300Fが高フレームレートかつ高ピクセル数の撮像画像を出力する。もちろん、切替部1174が他の項目を高負荷モードとするための制御信号を出力しても良い。さらに、非スタッフが移動方向を変えて、制限領域911から離れる方向に移動した場合は、低負荷モードで監視を行うようにしてもよい。非スタッフが制限領域911から一定距離以上離れた場合、低負荷モードで監視を行うようにしてもよい。
【0162】
制限領域911は、薬品棚や備品棚などが設けられている。つまり、薬品棚や備品棚とその周辺が制限領域911として設定されている。非スタッフが棚に近づいている場合、監視を強化する。さらに、切替部1174は、フロアマップ121における非スタッフの位置に応じてモードを切替えてもよい。非スタッフが所定距離以下となるまで棚に近づいた場合、上位管理装置10、環境カメラ300、ユーザ端末400がスタッフに報知するようにしてもよい。例えば、ユーザ端末400が、アラーム音を発したり、警告メッセージを出力したり、警報ランプを点滅させることで、スタッフに報知させることができる。これにより、非スタッフが備品や薬品に触れることを防ぐことができる。
【0163】
このように、実施例4では、人の移動方向に基づいて、切替部1174がモードを切り替えている。ここでは、切替部1174が移動速度によらず、モードを切り替えてもよい。つまり、ユーザU2Fの移動速度が閾値速度以下であっても、切替部1174が高負荷モードに切り替えてもよい。換言すると、移動速度が閾値速度以上であっても、制限領域から離れる方向に移動している場合は、切替部1174が低負荷モードに切り替えてもよい。
【0164】
あるいは、移動速度が閾値速度以上である場合に、移動方向に応じてモードを切り替えてもよい。つまり、移動速度が閾値速度未満である場合は、ユーザU2Fが制限領域に向かっていても切替部1174が低負荷モードにしてもよい。さらに、人の位置及び移動方向に基づいて、切替部1174がモードを切り替えてもよい。つまり、非スタッフが制限領域911の近傍にいる場合のみ、移動方向に応じてモードを切り替えてもよい。このようにすることで、より適切に監視領域を監視することできる。



【0165】
(実施例5)
実施例5では、環境カメラ300Cがモニタする監視領域900Cについて説明する。監視領域900Cは施設内の通路902に対応している。具体的には、監視領域900Cは、部屋901と部屋903との間の通路902の一部を含む。監視領域900Cには、スタッフであるユーザU1C及び非スタッフであるユーザU2C、U3Cが存在している。ユーザU2C、ユーザU3Cは足等をけがした患者であり、歩行が困難である歩行困難者である。ユーザU1CはユーザU2Cの歩行を補助する歩行補助者である。移動ロボット20DがユーザU2Cの周辺を移動している。移動ロボット20EがユーザU3Cの周辺を移動している。
【0166】
本実施例では、上位管理装置10が、撮像画像に含まれる人が歩行困難者か否かを判別している。例えば、撮像画像内の人が杖、点滴スタンド、車椅子などの補助器具を使用している場合、上位管理装置10が、その人を歩行困難者と判定する、そして、上位管理装置10は、歩行困難者の近傍に歩行動作を補助する補助者がいるか否かを判定する。上位管理装置10は、補助者の有無に応じて、移動ロボット20の制御を切り替えている。補助者は、例えば、歩行している歩行困難者を支持する人である。例えば、歩行困難者は、補助者にもたれながら歩行する。あるいは、歩行困難者が車椅子に乗る人である場合、補助者は車椅子を押す人であってもよい。歩行困難者は非スタッフであるが、スタッフであってもよい。補助者はスタッフであってよく、非スタッフであってもよい。
【0167】
例えば、移動ロボット20Dの周辺に歩行困難者であるユーザU2Cがいるとする。上位管理装置10が、ユーザU2Cの周辺において、補助者の有無を判定する。ユーザU2Cの周辺には、補助者であるユーザU1Cがいる。上位管理装置10がユーザU2Cについて、補助者有りと判定する。この場合、ユーザU2Cの近傍にいる移動ロボット20Dが高速で移動できるように、制御信号を出力する。歩行補助者であるユーザU1Cが移動ロボット20Dを避けるように歩行補助することができる。よって、移動ロボット20Dが高速な移動することができる。これにより、搬送効率を向上することができる。
【0168】
また、移動ロボット20Eの周辺に歩行困難者であるユーザU3Cがいるとする。上位管理装置10が、ユーザU3Cの周辺において、補助者の有無を判定する。ユーザU3Cの周辺には、補助者がいない。よって、移動ロボット20Eが低速で移動するように、制御信号を出力する。つまり、歩行困難者であるユーザU3Cは、とっさに移動ロボット20Dを避けることが困難である。よって、移動ロボット20Dが低速に移動する。これにより、より安全性を高めることができる。
【0169】
歩行困難者である否かの判定、及び補助者であるか否かの判定は、撮像画像などに基づいて行うことができる。例えば、上位管理装置10が、撮像画像に含まれる補助器具の有無に応じて、歩行困難者であるか否かを判別することができる。歩行補助者であるか否かは、制服の有無、制服の色、歩行困難者との距離、歩行困難者に対する姿勢等で推定することができる。もちろん、これらの判定を行うための機械学習モデルを生成してもよい。つまり、多数の撮像画像を学習用データとして機械学習モデルを生成することができる。
【0170】
このように、上位管理装置10は、撮像画像に基づいて、歩行困難者の有無を検出している。さらに、上位管理装置10は、撮像画像に基づいて、補助者の有無を検知している。そして、上位管理装置10は、歩行困難者の有無、及び補助者の有無に応じて、移動ロボット20の制御を切り替えている。例えば、歩行困難者有りかつ補助者有りの場合、移動ロボット20が高速移動モードで移動する。歩行困難者無しの場合、移動ロボット20が高速移動モードで移動する。歩行困難者有りかつ歩行補助者無しの場合、移動ロボット20が低速移動モードで移動する。
【0171】
高速移動モードでは、例えば、移動ロボット20が高い上限速度で移動する。高速移動モードでは、例えば、移動ロボット20が相対的に低い上限速度で移動する。このように、上位管理装置10が上限速度を変えるための制御信号を移動ロボット20に送信する。もちろん、補助者の有無に応じて移動ロボット20の制御を切り変えている。
【0172】
また、上位管理装置10は、減速又は停止のための距離閾値を変更するための制御信号を移動ロボット20に送信してもよい。例えば、低速移動モードでは、大きい距離閾値で移動ロボット20が移動する。よって、早めに移動ロボット20が減速又は停止することができる。歩行困難者との接触を防ぐことができる。高速移動モードでは、小さい距離閾値で移動ロボット20が移動する。よって、移動ロボット20の減速又は停止を防ぐことができるため、移動ロボット20が効率良く移動することができる。さらに、移動ロボット20がコストマップに応じて移動する場合、低速移動モードでは、コストマップを広げるようにしてもよい。つまり、移動ロボット20が低コストの経路を探索して移動する場合、コストマップを拡大するように制御を切り替える。
【0173】
フロアマップ上におけるユーザU1C、ユーザU2C、及びユーザU3Cの位置は撮像画像や距離センサ群24のセンサ出力に基づいて特定可能である。同様に、移動ロボット20D及び移動ロボット20E等の現在位置はオドメトリーや距離センサ群24の測定結果に応じて特定可能である。
【0174】
(実施例6)
実施例6では、複数の環境カメラ300で施設を監視している場合について説明する。ここでは、環境カメラ300Aと環境カメラ300Bを用いた場合における、監視領域900Aの制御について説明する。本実施例では、上位管理装置10が、複数の環境カメラ300を連動させて監視を行うことで、一部の環境カメラ300をスリープさせている。
【0175】
環境カメラ300Aは部屋901を撮像している。環境カメラ300Bは部屋901に繋がる通路902を撮像している。具体的には、環境カメラ300Bは、部屋901の入口904の周辺を撮像している。よって、環境カメラ300Bの撮像画像に基づいて、上位管理装置10が部屋901への入室及び退室を検知することができる。
【0176】
上記のように、ユーザU1Aが第1グループに属するため、監視領域900Aが低負荷モードで監視されているとする。この場合、上位管理装置10が、環境カメラ300Aをスリープモードにする。これにより、消費電力を低減することができる。環境カメラ300Bが入口904の周辺を撮像している。よって、環境カメラ300Bの撮像画像に基づいて、上位管理装置10が入口904の近傍の人がいることを検知することができる。環境カメラ300Bの撮像画像に基づいて、上位管理装置10が入口904の近傍に人がいることが検知された場合、環境カメラ300Aのスリープモードを解除する。
【0177】
例えば、図8に示すように、非スタッフであるユーザU2Bが監視領域900Bにいるとする。上位管理装置10は、環境カメラ300Bの撮像画像や、その他のセンサの検出結果に基づいて、フロアマップ121上におけるユーザU2Bの位置を推定している。さらに、フロアマップ121には、通路902や入口904の位置が登録されている。よって、ユーザU2Bが入口904から離れている場合、上位管理装置10は、監視領域900Aを低負荷モードで監視する。図9に示すように、ユーザU2Bが入口904に移動すると、上位管理装置10は、監視領域900Aを高負荷モードで監視する。
【0178】
このように。上位管理装置10が、環境カメラ300Bの撮像画像に基づいて、監視領域900Aへの人の進入を検知している。そして、監視領域900Aに人が進入した場合、上位管理装置10が監視領域900Aを高負荷モードで監視する。よって、上位管理装置10は、環境カメラ300のスリープを解除するための制御信号を出力する。
【0179】
さらに、上位管理装置10が環境カメラ300A、300Bの撮像画像に基づいて、人の退出を検知してもよい。監視領域900Aから人が退出したことを検知した場合、上位管理装置10が監視領域900Aを低負荷モードに切替える。よって、環境カメラ300Aがスリープモードになる。よって、低負荷での監視が可能となり、消費電力を抑制することができる。
【0180】
さらに、上位管理装置10が撮像画像に基づいて、人の進入及び退出を検知するものとして説明したが、その他の情報を用いても良い。例えば、自動ドアやセキュリティドアが設けられている場合、ドアの動作に応じて、入退室を検知しても良い。
【0181】
実施例1~6の制御は、それぞれ単独で実行してもよく、2つ以上を組み合わせても良い。換言すると、実施例1~6の全ての制御を行わなくてもよい。
【0182】
本実施の形態にかかる制御方法は、上位管理装置10で行われていてもよく、エッジデバイスで行われていてもよい。また、環境カメラ300,移動ロボット20及び上位管理装置10が協働して、制御方法を実行してもよい。つまり、本実施の形態にかかる制御システムは、環境カメラ300,移動ロボット20内に搭載されていてもよい。あるいは、制御システムの少なくとも一部又は全部は、移動ロボット20以外の装置、例えば、上位管理装置10に搭載されていてもよい。
【0183】
上位管理装置10は、物理的に単一な装置に限らず、複数の装置に分散して配置されていても良い。つまり、上位管理装置10は、複数のメモリや複数のプロセッサを備えていても良い。
【0184】
また、上述した上位管理装置10、環境カメラ300、又は移動ロボット20等における処理の一部又は全部は、コンピュータプログラムとして実現可能である。このようなプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0185】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態は病院内を搬送ロボットが自律移動するシステムについて説明したが、上述のシステムは、ホテル、レストラン、オフィスビル、イベント会場または複合施設において所定の物品を荷物として搬送できる。
【符号の説明】
【0186】
1 搬送システム
10 上位管理装置
11 演算処理部
12 記憶部
13 バッファメモリ
14 通信部
20 移動ロボット
21 演算処理部
22 記憶部
23 通信部
24 距離センサ群
25 カメラ
26 駆動部
27 表示部
28 操作受付部
111 ロボット制御部
115 ルート計画部
116 搬送物情報取得部
117 モード制御部
121 フロアマップ
122 ロボット制御パラメータ
123 ロボット情報
125 ルート計画情報
126 搬送物情報
128 スタッフ情報
129 モード情報
211 移動命令抽出部
212 駆動制御部
221 フロアマップ
222 ロボット制御パラメータ
226 搬送物情報
241 前後距離センサ
242 左右距離センサ
260 台車部
261 駆動輪
262 キャスタ
281 操作インタフェース
290 本体部
291 収納庫
292 扉
400 ユーザ端末
610 通信ユニット
1170 画像データ取得部
1171 特徴抽出部
1172 分類器
1173 推定部
1174 切替部
図1
図2
図3
図4
図5
図6
図7
図8
図9