以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明は以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
(概略構成)
本実施形態に係る制御システムは、自律移動する移動ロボットを含むシステムを制御するシステム制御を実行するとともに、人物を分類するグループ分類処理を実行し、そのグループ分類処理の結果に基づきシステム制御を行うことができるシステムである。システム制御は、制御システムに備えられたシステム制御部が担うことができ、グループ分類処理は制御システムに備えられたグループ分類部が実行することができる。
このグループ分類処理は、例えば、人物自体の監視を目的として実行されることができ、あるいは移動ロボットの経路変更等を制御するための人物の監視を目的として実行されることもできる。つまり、本実施形態に係る制御システムは、人物を分類するグループ分類処理を実行し、人物自体を監視すること、あるいは人物の監視結果に応じて移動ロボットの経路変更等を制御することができるシステムとすることができる。また、グループ分類処理は、例えば上記の領域内の照明設備、空調設備等の設備を制御するための人物の監視を目的とし、制御システムを、人物の監視結果に応じて設備を制御するシステムとすることもできる。また、グループ分類処理の目的はこれらに限ったものではない。無論、グループ分類処理は複数の目的で実行されることもできる。
まず、本実施形態に係る制御システムを組み込み可能な、移動ロボットによる搬送システムの一例について説明する。図1は、本実施形態に係る制御システムを組み込み可能な、移動ロボット20による搬送システム1の全体構成例を説明するための概念図である。移動ロボット20は、例えば、搬送物の搬送をタスクとして実行する搬送ロボットであり、以下では搬送ロボットである例を挙げて説明するが、他の用途の移動ロボットとすることもできる。
移動ロボット20は、病院、リハビリセンタ、介護施設、高齢者入居施設等の医療福祉施設内など、予め設定された領域内において、搬送物を搬送するために自律走行する。なお、本実施形態に係る搬送システムが病院内を搬送ロボットが自律移動するシステムである例を挙げて説明するが、上述の搬送システムは、ホテル、レストラン、オフィスビル、イベント会場、ショッピングモール等の商業施設、その他の複合施設などにおいて、荷物を搬送するために使用することもできる。また、移動ロボット20の移動範囲となる上記予め定められた領域は、例えば移動ロボット20が利用される施設の一部又は全部、あるいは施設を含む周辺領域などとして予め定めておくことができる。以下では、説明の簡略化のため、予め定められた領域が施設内である例を挙げて説明する。但し、移動ロボット20は、その移動範囲の設定がなされなくてもよく、自律移動することが可能な移動ロボットであればよい。
ユーザU1は、移動ロボット20に搬送物を収容して、搬送を依頼する。移動ロボット20は、設定された目的地まで自律的に移動して、搬送物を搬送する。つまり、移動ロボット20は荷物の搬送タスク(以下、単にタスクともいう)を実行する。以下の説明では、搬送物を搭載する場所を搬送元とし、搬送物を届ける場所を搬送先とする。
例えば、移動ロボット20が複数の診療科がある総合病院内を移動するものとする。移動ロボット20は、複数の診療科間で備品、消耗品、医療器具等を搬送する。例えば、移動ロボット20は、搬送物をある診療科のナースステーションから、別の診療科へのナースステーションに届ける。あるいは、移動ロボット20は、備品や医療器具の保管庫から診療科のナースステーションまで搬送物を届ける。また、移動ロボット20は、調剤科で調剤された薬品を使用予定の診療科や患者まで届ける。
搬送物の例としては、薬剤、包袋などの消耗品、検体、検査器具、医療器具、病院食、文房具などの備品等が挙げられる。医療機器としては、血圧計、輸血ポンプ、シリンジポンプ、フットポンプ、ナースコール、離床センサ、フットポンプ、低圧持続吸入器心電図モニタ、医薬品注入コントローラ、経腸栄養ポンプ、人工呼吸器、カフ圧計、タッチセンサ、吸引器、ネブライザ、パルスオキシメータ、血圧計、人工蘇生器、無菌装置、エコー装置などが挙げられる。また、病院食、検査食などの食事を搬送しても良い。さらに、移動ロボット20は、使用済みの機器、食事済みの食器などを搬送しても良い。搬送先が異なる階にある場合、移動ロボット20はエレベータなどを利用して移動してもよい。
搬送システム1は、移動ロボット20と、上位管理装置10と、ネットワーク600と、通信ユニット610と、ユーザ端末400と、を備えている。ユーザU1又はユーザU2は、ユーザ端末400を用いて、搬送物の搬送依頼を行うことができる。例えば、ユーザ端末400は、タブレットコンピュータやスマートフォンなどである。ユーザ端末400は、無線又は有線で通信可能な情報処理装置であればよい。
本実施形態においては、移動ロボット20とユーザ端末400は、ネットワーク600を介して上位管理装置10に接続されている。移動ロボット20及びユーザ端末400は、通信ユニット610を介して、ネットワーク600と接続される。ネットワーク600は有線又は無線のLAN(Local Area Network)やWAN(Wide Area Network)である。さらに、上位管理装置10は、ネットワーク600と有線又は無線で接続されている。通信ユニット610はそれぞれの環境に設置された例えば無線LANユニットである。通信ユニット610は、例えば、WiFi(登録商標)ルータなどの汎用通信デバイスであってもよい。
ユーザU1、U2のユーザ端末400から発信された各種信号は、ネットワーク600を介して一旦、上位管理装置10へ送られ、上位管理装置10から対象となる移動ロボット20へ転送される。同様に、移動ロボット20から発信される各種信号は、ネットワーク600を介して一旦、上位管理装置10へ送られ、上位管理装置10から対象となるユーザ端末400へ転送される。上位管理装置10は各機器と接続されたサーバであり、各機器からのデータを収集する。また、上位管理装置10は、物理的に単一な装置に限られるものではなく、分散処理を行う複数の装置を備えていてもよい。また、上位管理装置10は、移動ロボット20等のエッジデバイスに分散して配置されていても良い。例えば、搬送システム1の一部又は全部が移動ロボット20に搭載されていても良い。
ユーザ端末400と移動ロボット20は、上位管理装置10を介さずに、信号を送受信してもよい。例えば、ユーザ端末400と移動ロボット20は、無線通信により直接信号を送受信してもよい。あるいは、ユーザ端末400と移動ロボット20は、通信ユニット610を介して、信号を送受信してもよい。
ユーザU1又はユーザU2は、ユーザ端末400を用いて搬送物の搬送を依頼する。以下、ユーザU1が搬送元にいる搬送依頼者であり、ユーザU2が搬送先(目的地)にいる受領予定者であるとして説明を行う。もちろん、搬送先にいるユーザU2が搬送依頼を行うことも可能である。また、搬送元又は搬送先以外の場所にいるユーザが搬送依頼を行ってもよい。
ユーザU1が搬送依頼を行う場合、ユーザ端末400を用いて、搬送物の内容、搬送物の受取先(以下、搬送元ともいう)、搬送物の届け先(以下、搬送先ともいう)、搬送元の到着予定時刻(搬送物の受取時刻)、搬送先への到着予定時間(搬送期限)等を入力する。以下、これらの情報を搬送依頼情報ともいう。ユーザU1は、ユーザ端末400のタッチパネルを操作することで、搬送依頼情報を入力することができる。搬送元は、ユーザU1がいる場所でも良く、搬送物の保管場所などであってもよい。搬送先は、使用予定のユーザU2や患者がいる場所である。
ユーザ端末400は、ユーザU1によって入力された搬送依頼情報を上位管理装置10に送信する。上位管理装置10は、複数の移動ロボット20を管理する管理システムである。上位管理装置10は、移動ロボット20に搬送タスクを実行するための動作指令を送信する。上位管理装置10は搬送依頼毎に、搬送タスクを実行する移動ロボット20を決定する。そして、上位管理装置10は、その移動ロボット20に対して動作指令を含む制御信号を送信する。移動ロボット20が、動作指令に従って、搬送元から搬送先に到着するように移動する。
例えば、上位管理装置10は、搬送元又はその近傍の移動ロボット20に搬送タスクを割り当てる。あるいは、上位管理装置10は、搬送元又はその近傍に向かっている移動ロボット20に搬送タスクを割り当てる。タスクを割り当てられた移動ロボット20が搬送元まで搬送物を取りに行く。搬送元は、例えば、タスクを依頼したユーザU1がいる場所である。
移動ロボット20が搬送元に到着すると、ユーザU1又はその他の職員が移動ロボット20に搬送物を載せる。搬送物を搭載した移動ロボット20が搬送先を目的地として自律移動する。上位管理装置10は、搬送先のユーザU2のユーザ端末400に対して信号を送信する。これにより、ユーザU2は、搬送物が搬送中であることや、その到着予定時間を知ることができる。設定された搬送先に移動ロボット20が到着すると、ユーザU2は、移動ロボット20に収容されている搬送物を受領することができる。このようにして、移動ロボット20が、搬送タスクを実行する。
このような全体構成においては、搬送システム1における移動ロボット20の制御に関するロボット制御システムは、その各要素を、移動ロボット20、ユーザ端末400及び上位管理装置10に分散して構築することができる。また、ロボット制御システムの要素、すなわち移動ロボット20により搬送物の搬送を実現するための実質的な要素を、一つの装置に集めて構築することもできる。この装置として機能させることができる上位管理装置10は、1又は複数の移動ロボット20を制御することになる。
搬送システム1で利用される移動ロボット20は、マップを参照して自律移動する移動ロボットとすることができる。移動ロボット20を制御するロボット制御システムは、例えば、測距センサを用いて測定された人までの距離を示す距離情報を取得する。ロボット制御システムは、人までの距離の変化に応じて、上記人の移動速度及び移動方向を示す移動ベクトルを推定する。ロボット制御システムは、移動ロボット20の移動を制限するためのコストをマップ上に付与する。ロボット制御システムは、測距センサの測定結果に応じて更新されるコストに応じて移動するように制御する。ロボット制御システムは、移動ロボット20に搭載されていても良いし、ロボット制御システムの一部又は全部は上位管理装置10に搭載されていても良い。但し、本実施形態においてロボット制御システムにおける移動ロボット20の制御方法は問わない。
そして、本実施形態に係る制御システムは、このようなロボット制御システムとともにあるいは独立したシステムとして、搬送システム1に組み込むことができる。かかる制御システムの要素、すなわち移動ロボット20を含むシステムを制御するための制御システムの要素は、移動ロボット20、ユーザ端末400及び上位管理装置10に分散して構築することができ、あるいは、一つの装置に集めて構築することができる。以下の例では、この装置の例としての上位管理装置10が制御システムの要素を備えるものとして、すなわち上位管理装置10がシステム制御及びグループ分類処理を実行するもの、つまりシステム制御部及びグループ分類部を備える例を挙げて説明する。
システム制御部は、自律移動する移動ロボット20を含むシステムを制御する。この移動ロボット20は、上述したマップの一部又は全部の領域あるいは緯度経度で示される領域などとして、予め設定された領域を、自律移動する移動ロボットとすることができる。但し、移動ロボット20は、例えば予め設定された領域の外であっても、あるいはそもそもマップに含まれる全領域の外であっても、あるいは移動範囲の設定がなされない形態においても、周辺をセンシングしながら自律移動可能なように構成されることができる。また、制御対象のこのシステムには、ロボット制御システムを含み、また施設内に設置される複数のカメラ(以下、環境カメラで例示)等の設備を含むこともできる。
グループ分類部は、移動ロボット20の周辺に存在する人物の特徴を認識し、認識した特徴に基づいて人物を予め設定された第1グループ又は第2グループに分類するグループ分類処理を実行する。本実施形態では、第1グループが非スタッフであり、第2グループがスタッフである例を挙げて説明するが、人物の分類は他の様々な属性によっても実施することができる。なお、移動ロボット20や同機能又は異機能をもつ他の移動ロボットも認識対象にすることができ、その場合には移動ロボット20等の移動ロボットはスタッフに分類すればよい。
人物は、環境カメラ、あるいは移動ロボット20に搭載されたカメラ、あるいはその双方で撮像されることができ、得られた撮像データである画像データに基づきその人物の特徴が認識される。移動ロボット20に搭載されたカメラを用いる場合、施設内に存在する全て又は一部の移動ロボット20に搭載されたカメラを用いることができ、後者の場合、予め指定された移動ロボット20、あるいは予め定められた条件を満たす移動ロボット20に搭載されたカメラを用いることができる。この条件を満たす移動ロボット20は、例えば、隣り合う移動ロボット20の距離が所定値以内である場合には一方の移動ロボット20のみとするなど、予め定めておく条件は問わない。
また、グループ分類部は、予め記憶しておいたスタッフの画像(例えば顔画像)と、上述のように環境カメラ及び移動ロボット20に搭載されたカメラの少なくとも一方で撮像された人物の画像と、をマッチングすることで、分類を行うことができる。分類のための人物の特徴の認識方法(検出方法、抽出方法)は問わない。また、グループ分類部は、例えば機械学習した学習モデルを用いて分類を行うこともできる。
また、グループ分類部は、例えば、人物の着衣の特徴に応じて、あるいは人物が所定の所持品を所持しているか否かに応じて、人物を分類してもよい。これにより、人物の分類を容易に行うことができる。無論、このような分類方法を採用する場合についても、機械学習した学習モデルを用いて分類を行うこともできる。
グループ分類部は、上述のように移動ロボット20の周辺に存在する人物の特徴を認識するが、それは、非スタッフに属する人物が存在するか否かを、移動ロボット20の周辺について判定するためである。ここで、移動ロボット20の周辺とは、移動ロボット20から所定距離の範囲内など、距離に基づき区分けすることができる。あるいは、施設を部屋や廊下等で複数のブロックに区切って管理しておいた場合、移動ロボット20の周辺とは、移動ロボット20が存在するブロック内を指すこともできる。あるいは、移動ロボット20の周辺とは、施設内の施設で例示している上記予め定められた領域の全てを指すように定義付けしておくこともできる。また、移動ロボット20の周辺とは、施設内に存在する全て又は一部の移動ロボット20の周辺とすることができ、この場合における各移動ロボット20の周辺については、上述した様々な例が適用できる。
非スタッフ、スタッフについて説明する。施設のユーザには、施設で働くスタッフと、それ以外の非スタッフがいる。ここで、施設が病院である場合、非スタッフとしては、患者、入院患者、訪問者、外来患者、付き添い者等がいる。スタッフとしては、医師、看護師、薬剤師、事務員、作業療法士、各種従業員がいる。また、スタッフは各種物品の搬入者、メンテナンス業者、清掃員等を含んでいてもよい。スタッフは病院の直接の雇用者や被雇用者に限られるものではなく、関連する従業者を含んでいてもよい。
制御システムは、病院等のスタッフと非スタッフとが認識対象として混在する環境において、消費電力を低減させることが望まれる。そのため、上位管理装置10は、場面に応じて、つまり施設内の人物の存在状況に応じて、適切に消費電力を低減させながら、移動ロボット20を含むシステムを制御する必要がある。
具体的には、上位管理装置10のシステム制御部は、移動ロボット20の周辺に非スタッフに属する人物が存在する場合には、第1動作モードを選択する。一方で、システム制御部は、移動ロボット20の周辺に非スタッフに属する人物が存在しない場合には、第1動作モードと異なる第2動作モードを選択する。以下、第1動作モードを非スタッフモードと称し、第2動作モードをスタッフモードと称して説明するが、第1グループ/第2グループの分類で説明したように他の属性に基づき分類を行うこともできる。
例えば、システム制御部は、非スタッフモードが選択されているときに非スタッフに属する人物が存在しないことが認識されれば、スタッフモードに切り替え、逆にスタッフモードが選択されているときに非スタッフに属する人物が存在することが認識されれば、非スタッフモードに切り替えることができる。単なる一例に過ぎないが、ユーザU1及びユーザU2以外に人が居ないような場面には、スタッフモードが選択されることになる。
そして、システム制御部は、スタッフモードを選択した場合、非スタッフモードを選択した場合に比べて、処理負荷の小さい処理を実行するように、グループ分類処理を制御する。これにより、スタッフモードでは処理負荷の小さいグループ分類処理が実行されることになる。
一例として、システム制御部は、非スタッフが居ない場合のスタッフモードにおいて、処理負荷が高い処理をオフにして処理負荷が低いグループ分類処理を実行し、非スタッフが居る場合の非スタッフモードにおいて、処理負荷が高い処理をオンにして処理負荷が高いグループ分類処理を実行することができる。
このように、システム制御部は、認識対象の人物がさほど監視が必要のない(配慮がさほど必要のない)人物であるスタッフのみであるか、できる限りの監視が必要な人物である非スタッフを含むかに応じて、上位管理装置10が監視のためや監視結果に応じた制御のためのモードを切替えることができる。実際、非スタッフの有無に依らずに人物の認識を行うと、常に一定の処理負荷がかかったままとなる。これに対し、本実施形態に係る制御システムでは、上述のような構成により、非スタッフの有無に応じた負荷軽減対策を行うこと、すなわち、自律移動する移動ロボット20を含むシステムを制御するに際し、場面(状況)に応じて処理負荷を臨機応変に変え、そのシステムの消費電力を低減することができる。
(制御ブロック図)
図2は、搬送システム1の制御系を示す制御ブロック図を示す。図2に示すように、搬送システム1は、上位管理装置10、移動ロボット20、上記の環境カメラである環境カメラ300を備える。
搬送システム1は、所定の施設内において移動ロボット20を自律的に移動させながら、複数の移動ロボット20を効率的に制御する。そのため、施設内には、複数個の環境カメラ300が設置されている。例えば、環境カメラ300は、施設内の通路、ホール、エレベータ、出入り口等に設置されている。環境カメラ300は、移動ロボット20の制御のためだけではなく、上述したように人の監視のためにも用いられる。但し、本実施形態において、環境カメラ300は、移動ロボット20の制御のために用いられないこと、例えば、人の監視のためだけに用いられることもでき、あるいは、環境カメラ300として人監視用のカメラと移動ロボット20の監視用のカメラとを別個に備えることもできる。
環境カメラ300は、人や移動ロボット20が移動する範囲の画像を取得し、その画像を示す画像データを出力する。なお、この画像データは静止画像データであっても動画像データであってもよく、静止画像データであった場合には撮像間隔ごとに静止画像データが得られることになる。また、搬送システム1では、環境カメラ300で取得された画像やそれに基づく情報は、上位管理装置10が収集する。移動ロボット20の制御に用いる画像については、環境カメラ300で取得された画像等が直接移動ロボット20に送信されてもよい。環境カメラ300は、施設内の通路や出入り口に監視カメラとして設けておくことができる。環境カメラ300は、施設内の混雑状況の分布を求めるために使用されていてもよい。
また、ここで例示している搬送システム1のように、上位管理装置10のシステム制御部(図2の例では演算処理部11)は、施設内の一部又は全部など、予め設定された領域を自律移動する移動ロボット20を制御し、環境カメラ300は、走行する移動ロボット20の周辺を撮像するように移動ロボット20の走行面から離間した位置に設けられることができる。これにより、人の監視のための環境カメラ300で移動ロボット20の監視も行うことができる。
搬送に関し、搬送システム1では、上位管理装置10が搬送依頼情報に基づいて、ルート計画を行う。上位管理装置10が作成したルート計画情報に基づいて、それぞれの移動ロボット20に行き先を指示する。そして、移動ロボット20は、上位管理装置10から指定された行き先に向かって自律移動する。移動ロボット20は、自機に設けられたセンサ、フロアマップ、位置情報等を用いて行き先(目的地)に向かって自律移動する。
例えば、移動ロボット20は、その周辺の機器、人物、物体、壁(以下、まとめて周辺物体とする)に接触しないように、走行する。具体的には、移動ロボット20は、周辺物体までの距離を検知し、周辺物体から一定の距離(距離閾値とする)以上離れた状態で走行する。周辺物体までの距離が距離閾値以下になると、移動ロボット20が減速又は停止する。このようにすることで、移動ロボット20が、周辺物体に接触せずに走行可能となる。接触を回避することができるため、安全かつ効率的な搬送が可能となる。
また、距離検知対象の人物は、グループ分類処理によりスタッフ又は非スタッフのいずれかに分類されることができ、この分類結果に応じて距離閾値を異ならせること、例えば非スタッフの距離閾値をスタッフの距離閾値より長く設定することができる。
上位管理装置10は、演算処理部11、記憶部12、バッファメモリ13、通信部14を備える。演算処理部11は、人物や移動ロボット20の監視を行うための演算や、移動ロボット20を制御及び管理するための演算を行う。演算処理部11は、例えば、コンピュータの中央演算処理装置(CPU:Central Processing Unit)等の、プログラムを実行可能な装置として実装可能である。そして、各種機能はプログラムにより実現することもできる。図2では、演算処理部11において特徴的なロボット制御部111、ルート計画部115、搬送物情報取得部116、モード制御部117のみを示したが、その他の処理ブロックも備えられる。
ロボット制御部111は、移動ロボット20を遠隔で制御するための演算を行い、制御信号を生成する。ロボット制御部111は、後述するルート計画情報125などに基づいて制御信号を生成する。さらに、環境カメラ300や移動ロボット20から得られた各種情報に基づいて、制御信号を生成する。制御信号は、後述するフロアマップ121、ロボット情報123及びロボット制御パラメータ122等の更新情報を含んでいてもよい。つまり、ロボット制御部111は、各種情報が更新された場合、その更新情報に応じた制御信号を生成する。また、ロボット制御部111は、後述するモード制御部117からのモード切替制御に従い、移動ロボット20がモード切替制御を行うための制御信号を生成する。
搬送物情報取得部116は、搬送物に関する情報を取得する。搬送物情報取得部116は、移動ロボット20が搬送中の搬送物の内容(種別)に関する情報を取得する。搬送物情報取得部116は、エラーが発生した移動ロボット20が搬送中の搬送物に関する搬送物情報を取得する。
ルート計画部115は、各移動ロボット20のルート計画を行う。搬送タスクが入力されると、ルート計画部115は、搬送依頼情報に基づいて、当該搬送物を搬送先(目的地)までの搬送するためのルート計画を行う。具体的には、ルート計画部115は、記憶部12に既に記憶されているルート計画情報125やロボット情報123等を参照して、新たな搬送タスクを実行する移動ロボット20を決定する。出発地は、移動ロボット20の現在位置や、直前の搬送タスクの搬送先、搬送物の受取先などである。目的地は、搬送物の搬送先、待機場所、充電場所などである。
ここでは、ルート計画部115は、移動ロボット20の出発地から目的地までの通過ポイントを設定している。ルート計画部115は、移動ロボット20毎に、その通過ポイントの通過順を設定する。通過ポイントは、例えば、分岐点、交差点、エレベータ前のロビーやこれらの周辺に設定されている。また、幅の狭い通路では、移動ロボット20のすれ違いが困難となることもある。このような場合、幅の狭い通路の手前を通過ポイントして設定してもよい。通過ポイントの候補は、予めフロアマップ121に登録されていてもよい。
ルート計画部115は、システム全体として効率良くタスクを実行できるように、複数の移動ロボット20の中から、各搬送タスクを行う移動ロボット20を決定する。ルート計画部115は、待機中の移動ロボット20や搬送元に近い移動ロボット20に搬送タスクを優先的に割り当てる。
ルート計画部115は、搬送タスクが割り当てられた移動ロボット20について、出発地及び目的地を含む通過ポイントを設定する。例えば、搬送元から搬送先までの2以上の移動経路がある場合、より短時間で移動できるように通過ポイントを設定する。そのため、上位管理装置10は、カメラの画像等に基づいて、通路の混雑状況を示す情報を更新する。具体的には、他の移動ロボット20が通過している場所、人が多い場所は混雑度が高い。したがって、ルート計画部115は、混雑度が高い場所を避けるように、通過ポイントを設定する。
移動ロボット20は、左回りの移動経路又は右回りの移動経路のいずれでも目的地まで移動できるような場合がある。このような場合、ルート計画部115は、混雑していないほうの移動経路を通過するように通過ポイントを設定する。ルート計画部115が、目的地までの間に、1又は複数の通過ポイントを設定することで、移動ロボット20が混雑していない移動経路で移動することができる。例えば、分岐点、交差点で通路が分かれている場合、ルート計画部115は、適宜、分岐点、交差点、曲がり角及びその周辺に通過ポイントを設定する。これにより、搬送効率を向上することができる。
ルート計画部115は、エレベータの混雑状況や、移動距離などを考慮して、通過ポイントを設定してもよい。さらに、上位管理装置10は、移動ロボット20がある場所を通過する予定時刻における、移動ロボット20の数や人の数を推定してもよい。そして、推定された混雑状況に応じて、ルート計画部115が通過ポイントを設定してもよい。また、ルート計画部115は、混雑状況の変化に応じて、通過ポイントを動的に変えてもよい。ルート計画部115は、搬送タスクを割り当てた移動ロボット20について、通過ポイントを順番に設定する。通過ポイントは、搬送元や搬送先を含んでいてもよい。後述するように、移動ロボット20が、ルート計画部115により設定された通過ポイントを順番に通過するように自律移動する。
モード制御部117は、上記グループ分類部を含むとともに、上記システム制御部の一部又は全部に該当する。モード制御部117は、施設内の人物の存在状況に応じて、第1動作モード(非スタッフモードで例示)と第2動作モード(スタッフモードで例示)との間でモードを切替えるための制御を行う。施設の人物の存在状況に応じてモードを切替えることで、処理負荷を軽減することができ、移動ロボット20を含むシステムにおける消費電力を低減することができる。モード制御部117の制御については後述する。
記憶部12は、人の監視、ロボットの監視を含むロボットの管理及び制御に必要な情報を格納する記憶部である。図2の例では、フロアマップ121、ロボット情報123、ロボット制御パラメータ122、ルート計画情報125、搬送物情報126、スタッフ情報128、モード情報129を示したが、記憶部12に格納される情報はこれ以外にあっても構わない。演算処理部11では、各種処理を行う際に記憶部12に格納されている情報を用いた演算を行う。また、記憶部12に記憶されている各種情報は最新の情報に更新可能である。
フロアマップ121は、移動ロボット20を移動させる施設の地図情報である。このフロアマップ121は、予め作成されるものでもよいし、移動ロボット20から得た情報から生成されるものでもよく、また、予め作成された基本地図に移動ロボット20から得た情報から生成された地図修正情報を加えたものであってもよい。
例えば、フロアマップ121には、施設の壁面、ゲート、扉、階段、エレベータ、固定棚などの位置やその情報が格納されている。フロアマップ121は、2次元のグリッドマップとして表現されていてもよい。この場合、フロアマップ121では、各グリッドに壁や扉などの情報が付されている。
ロボット情報123は、上位管理装置10が管理する移動ロボット20のID、型番、仕様等が記述される。ロボット情報123は、移動ロボット20の現在位置を示す位置情報を含んでいてもよい。ロボット情報123は、移動ロボット20がタスクを実行中か、待機中かを示す情報を含んでいてもよい。また、ロボット情報123は、移動ロボット20が動作中か、故障中か等を示す情報を含んでいてもよい。また、ロボット情報123は、搬送可能な搬送物、搬送不可な搬送物の情報を含んでいてもよい。
ロボット制御パラメータ122は、上位管理装置10が管理する移動ロボット20についての周辺物体との閾値距離等の制御パラメータが記述される。閾値距離は、人を含む周辺物体との接触を回避するためのマージン距離となる。さらに、ロボット制御パラメータ122は、移動ロボット20の移動速度の速度上限値などの動作強度に関する情報を含んでいても良い。
ロボット制御パラメータ122は、状況に応じて更新されてもよい。ロボット制御パラメータ122は、収納庫291の収容スペースの空き状況や使用状況を示す情報を含んでいてもよい。ロボット制御パラメータ122は、搬送可能な搬送物や、搬送不可能な搬送物の情報を含んでいても良い。ロボット制御パラメータ122は、それぞれの移動ロボット20に対して、上記の各種情報が対応付けられている。
ルート計画情報125は、ルート計画部115で計画されたルート計画情報を含んでいる。ルート計画情報125は、例えば、搬送タスクを示す情報を含んでいる。ルート計画情報125は、タスクが割り当てられた移動ロボット20のID、出発地、搬送物の内容、搬送先、搬送元、搬送先への到着予定時間、搬送元への到着予定時間、到着期限などの情報を含んでいても良い。ルート計画情報125では、搬送タスク毎に、上述した各種情報が対応付けられていてもよい。ルート計画情報125は、ユーザU1から入力された搬送依頼情報の少なくとも一部を含んでいても良い。
さらに、ルート計画情報125は、それぞれの移動ロボット20や搬送タスクについて、通過ポイントに関する情報を含んでいてもよい。例えば、ルート計画情報125は、それぞれの移動ロボット20についての通過ポイントの通過順を示す情報を含んでいる。ルート計画情報125は、フロアマップ121における各通過ポイントの座標や、通過ポイントを通過したか否かの情報を含んでいてもよい。
搬送物情報126は、搬送依頼が行われた搬送物に関する情報である。例えば、搬送物の内容(種別)、搬送元、搬送先等の情報を含んでいる。搬送物情報126は、搬送を担当する移動ロボット20のIDを含んでいても良い。さらに、搬送物情報は、搬送中、搬送前(搭載前)、搬送済みなどのステータスを示す情報を含んでいてもよい。搬送物情報126は搬送物毎にこれらの情報が対応付けられている。
スタッフ情報128は施設のユーザがスタッフであるか否かを分類するための情報である。つまり、スタッフ情報128は、画像データに含まれる人物を非スタッフ又はスタッフに分類するための情報を含む。例えば、スタッフ情報128は、予め登録されたスタッフに関する情報を含んでいる。モード情報129は、分類結果から各モードを制御するための情報を含む。なお、スタッフ情報128及びモード情報129の詳細は後述する。
なお、ルート計画部115は、記憶部12に記憶されている各種情報を参照して、ルート計画を策定する。例えば、フロアマップ121、ロボット情報123、ロボット制御パラメータ122、ルート計画情報125に基づいて、タスクを実行する移動ロボット20を決定する。そして、ルート計画部115は、フロアマップ121等を参照して、搬送先までの通過ポイントとその通過順を設定する。フロアマップ121には、予め通過ポイントの候補が登録されている。そして、ルート計画部115が混雑状況等に応じて、通過ポイントを設定する。また、タスクを連続処理する場合などは、ルート計画部115が搬送元及び搬送先を通過ポイントして設定してもよい。
なお、1つの搬送タスクについて、2つ以上の移動ロボット20が割り当てられていてもよい。例えば、搬送物が移動ロボット20の搬送可能容量よりも大きい場合、1つの搬送物を2つに分けて、2つの移動ロボット20に搭載する。あるいは、搬送物が移動ロボット20の搬送可能重量よりも重い場合、1つの搬送物を2つに分けて、2つの移動ロボット20に搭載する。このようにすることで、1つの搬送タスクを2つ以上の移動ロボット20が分担して実行することができる。もちろん、異なるサイズの移動ロボット20を制御する場合、搬送物を搬送可能な移動ロボット20が搬送物を受け取るようにルート計画を行ってもよい。
さらには、1つの移動ロボット20が、2つ以上の搬送タスクを並行して行ってもよい。例えば、1つの移動ロボット20が2つ以上の搬送物を同時に搭載して、異なる搬送先に順次搬送してもよい。あるいは、1つ移動ロボット20が1つの搬送物を搬送中に、他の搬送物を搭載してもよい。また、異なる場所で搭載された搬送物の搬送先は同じであってもよく、異なっていてもよい。このようにすることで、タスクを効率よく実行することができる。
このような場合、移動ロボット20の収容スペースについて、使用状況又は空き状況を示す収容情報を更新するようにしてもよい。つまり、上位管理装置10が空き状況を示す収容情報を管理して、移動ロボット20を制御してもよい。例えば、搬送物の搭載又は受取が完了すると、収容情報が更新される。搬送タスクが入力されると、上位管理装置10は、収容情報を参照して、搬送物を搭載可能な空きがある移動ロボット20を受け取りに向かわせる。このようにすることで、1つの移動ロボット20が、同時に複数の搬送タスクを実行することや、2つ以上の移動ロボット20が搬送タスクを分担して実行することが可能になる。例えば、移動ロボット20の収容スペースにセンサを設置して空き状況を検出しても良い。また、搬送物毎にその容量や重さが予め登録されていてもよい。
バッファメモリ13は、演算処理部11における処理において生成される中間情報を蓄積するメモリである。通信部14は、搬送システム1が用いられる施設に設けられる複数の環境カメラ300及び少なくとも1台の移動ロボット20と通信するための通信インタフェースである。通信部14は、有線通信と無線通信の両方の通信を行うことができる。例えば、通信部14は、それぞれの移動ロボット20に対して、その移動ロボット20の制御に必要な制御信号を送信する。また、通信部14は、移動ロボット20や環境カメラ300で収集された情報を受信する。また、通信部14は、環境カメラ300の稼働/非稼働を遠隔で制御する情報を、制御対象の環境カメラ300に送信する。
移動ロボット20は、演算処理部21、記憶部22、通信部23、距離センサ群24、カメラ25、駆動部26、表示部27、操作受付部28を備える。なお、図2では、移動ロボット20に備えられている代表的な処理ブロックのみを示したが、移動ロボット20には図示していない他の処理ブロックも多く含まれる。
通信部23は、上位管理装置10の通信部14と通信を行うための通信インタフェースである。通信部23は、例えば、無線信号を用いて通信部14と通信を行う。距離センサ群24のそれぞれの距離センサは、例えば、近接センサであり、移動ロボット20の周囲に存在する物又は人との距離を示す近接物距離情報を出力する。距離センサ群24はライダなどの測距センサを備えている。光信号の出射方向を操作していくことで、周辺物体までの距離を測定することができる。また、測距センサ等で検出された点群データから、周辺物体を認識してもよい。
カメラ25は、例えば、移動ロボット20の周囲の状況を把握するための画像を撮影する。また、カメラ25は、例えば、施設の天井等に設けられる位置マーカーを撮影することもできる。この位置マーカーを用いて移動ロボット20に自機の位置を把握させてもよい。また、カメラ25は、環境カメラ300の一つとして機能させることもできる。
駆動部26は、移動ロボット20に備え付けられている駆動輪を駆動する。なお、駆動部26は、駆動輪やその駆動モータの回転回数を検出するエンコーダなどを備えていてもよい。エンコーダの出力に応じて、自機位置(現在位置)が推定されていても良い。移動ロボット20は、自身の現在位置を検出して、上位管理装置10に送信する。移動ロボット20は、オドメトリーなどによりフロアマップ121における自己位置を推定している。
表示部27及び操作受付部28はタッチパネルディスプレイにより実現される。表示部27は、操作受付部28となるユーザーインタフェース画面を表示する。また、表示部27には、移動ロボット20の行き先や移動ロボット20の状態を示す情報を表示させても構わない。操作受付部28は、ユーザからの操作を受け付ける。操作受付部28は、表示部27に表示されるユーザーインタフェース画面に加えて、移動ロボット20に設けられる各種スイッチを含む。
演算処理部21は、移動ロボット20の制御に用いる演算を行う。演算処理部21は、例えば、コンピュータの中央演算処理装置(CPU)等の、プログラムを実行可能な装置として実装可能である。そして、各種機能はプログラムにより実現することもできる。演算処理部21は、命令抽出部211、駆動制御部212、及びモード切替部213を備える。なお、図2では、演算処理部21が備える代表的な処理ブロックのみを示したが、図示しない処理ブロックも含まれる。演算処理部21は、通過ポイント間の経路を探索しても良い。
命令抽出部211は、上位管理装置10から与えられた制御信号から移動命令を抽出する。例えば、移動命令は、次の通過ポイントに関する情報を含んでいる。例えば、制御信号は、通過ポイントの座標や、通過ポイントの通過順に関する情報を含んでいてもよい。そして、命令抽出部211が、これらの情報を移動命令として抽出する。
さらに、移動命令は、次の通過ポイントへの移動が可能になったことを示す情報を含んでいてもよい。通路幅が狭いと、移動ロボット20がすれ違うことできない場合がある。また、一時的に通路を通行できない場合がある。このような場合、制御信号は、停止すべき場所の手前の通過ポイントで、移動ロボット20を停止させる命令を含んでいる。そして、他の移動ロボット20が通過した後や通行可能となった後に、上位管理装置10が移動ロボット20に移動可能なことになったことを知らせる制御信号を出力する。これにより、一時的に停止していた移動ロボット20が移動を再開する。
駆動制御部212は、命令抽出部211から与えられた移動命令に基づいて、移動ロボット20を移動させるように、駆動部26を制御する。例えば、駆動部26は、駆動制御部212からの制御指令値に応じて回転する駆動輪を備えている。命令抽出部211は、上位管理装置10から受信した通過ポイントに向かって移動ロボット20が移動するように、移動命令を抽出する。そして、駆動部26が駆動輪を回転駆動する。移動ロボット20は、次の通過ポイントに向かって自律移動する。このようにすることで、通過ポイントを順番に通過して、搬送先に到着する。また、移動ロボット20は、自機位置を推定して、通過ポイントを通過したことを示す信号を上位管理装置10に送信しても良い。これにより、上位管理装置10が、各移動ロボット20の現在位置や搬送状況を管理することができる。
また、命令抽出部211は、上位管理装置10から与えられた制御信号からモード切替命令を抽出し、モード切替部213に渡す。例えば、モード切替命令は、切替先のモードがスタッフモードであるのか非スタッフモードであるのかを示す情報を含むことができる。そして、命令抽出部211が、この情報をモード切替命令として抽出する。あるいは、制御信号に常にモードを示す情報を含んでおくこともできる。
なお、本実施形態では、モード切替の対象として移動ロボット20が含まれる構成を採用した例を挙げているが、含まれないような構成も採用できる。その場合には、移動ロボット20が上位管理装置10から与えられた制御信号には、モード切替命令が含まれることがないことになる。
モード切替部213は、命令抽出部211から与えられたモード切替命令に基づいて、移動ロボット20での動作モードを、その命令が示すモードに切り替える制御を行う。モード切替部213は、切替制御の対象として、予め定められた部位に、モードに応じた処理に切り替えるように命令を渡せばよい。
例えば、切替制御の対象は、演算処理部21、記憶部22、通信部23、距離センサ群24、カメラ25、駆動部26、表示部27、及び操作受付部28のうちの、いずれか1又は複数とすることができる。切替対象が演算処理部21自体である場合、演算処理部21は、演算処理を行う第1演算処理部と、第1演算処理部に比べて低消費電力で演算処理を行う第2演算処理部と、を備えること、あるいは、演算処理部21がスタッフモード時にその処理性能を落として低消費電力での処理が可能に構成されることができる。
他の部位についても、同様に、非スタッフモード時における消費電力の高い処理とスタッフモード時における消費電力の低い処理とが切り替え可能に構成されることができる。例えば、記憶部22、通信部23、距離センサ群24、カメラ25、駆動部26、表示部27、及び操作受付部28については、処理頻度を落とすことで低消費電力化を図ることができる。また、カメラ25については、撮像レートで表される処理頻度を落とす以外にも、1フレームの画像の解像度を落とすことでも低消費電力化が可能になる。表示部27、操作受付部28については、それぞれリフレッシュレート、検出頻度で表される処理頻度を落とす以外にも、それぞれ表示輝度、操作検知の感度を下げることでも低消費電力化が図れる。
記憶部22には、フロアマップ221とロボット制御パラメータ222と搬送物情報226が格納される。図2に示したのは、記憶部22に格納される情報の一部であり、図2に示したフロアマップ221とロボット制御パラメータ222と搬送物情報226以外の情報も含まれる。フロアマップ221は、移動ロボット20を移動させる施設の地図情報である。このフロアマップ221は、例えば、上位管理装置10のフロアマップ121をダウンロードしたものである。なお、フロアマップ221は、予め作成されたものであってもよい。また、フロアマップ221は、施設全体の地図情報ではなく、移動予定の領域を部分的に含む地図情報であってもよい。
ロボット制御パラメータ222は、移動ロボット20を動作させるためのパラメータである。ロボット制御パラメータ222には、例えば、周辺物体との距離閾値が含まれる。さらに、ロボット制御パラメータ222には、移動ロボット20の速度上限値が含まれている。
搬送物情報226は、搬送物情報126と同様に搬送物に関する情報を含んでいる。搬送物の内容(種別)、搬送元、搬送先等の情報を含んでいる。搬送物情報は、搬送中、搬送前(搭載前)、搬送済みなどのステータスを示す情報を含んでいてもよい。搬送物情報226は搬送物毎にこれらの情報が対応付けられている。搬送物情報226は、移動ロボット20が搬送する搬送物に関する情報を含んでいればよい。したがって、搬送物情報226は搬送物情報126の一部となる。つまり、搬送物情報226は、他の移動ロボット20が搬送する情報を含んでいなくても良い。
駆動制御部212は、ロボット制御パラメータ222を参照して、距離センサ群24から得られた距離情報が示す距離が距離閾値を下回ったことに応じて動作を停止或いは減速をする。駆動制御部212は、速度上限値以下の速度で走行するように、駆動部26を制御する。駆動制御部212は、速度上限値以上の速度で移動ロボット20が移動しないように、駆動輪の回転速度を制限する。
(移動ロボット20の構成)
ここで、移動ロボット20の外観について説明する。図3は、移動ロボット20の概略図を示す。図3に示す移動ロボット20は、移動ロボット20の態様の1つであり、他の形態であってもよい。なお、図3では、x方向が移動ロボット20の前進方向及び後進方向、y方向が移動ロボット20の左右方向であり、z方向が移動ロボット20の高さ方向である。
移動ロボット20は、本体部290と、台車部260とを備えている。台車部260の上に、本体部290が搭載されている。本体部290と、台車部260とそれぞれ直方体状の筐体を備えており、この筐体内部に各構成要素が搭載されている。例えば、台車部260の内部には駆動部26が収容されている。
本体部290には、収容スペースとなる収納庫291と、収納庫291を密封する扉292とが設けられている。収納庫291には、複数段の棚が設けられており、段毎に空き状況が管理される。例えば、各段に重量センサ等の各種センサを配置することで、空き状況を更新することができる。移動ロボット20は、収納庫291に収納された搬送物を上位管理装置10から指示された目的地まで自律移動により搬送する。本体部290は図示しない制御ボックスなどを筐体内に搭載していても良い。また、扉292は電子キーなどで施錠可能となっていても良い。搬送先に到着するとユーザU2が電子キーで扉292を開錠する。あるいは、搬送先に到着した場合、自動で扉292が開錠してもよい。
図3に示すように、移動ロボット20の外装には、距離センサ群24として前後距離センサ241及び左右距離センサ242が設けられる。移動ロボット20は、前後距離センサ241により移動ロボット20の前後方向の周辺物体の距離を計測する。また、移動ロボット20は、左右距離センサ242により移動ロボット20の左右方向の周辺物体の距離を計測する。
例えば、前後距離センサ241は、本体部290の筐体の前面及び後面にそれぞれ配置される。左右距離センサ242は、本体部290の筐体の左側面及び右側面にそれぞれ配置される。前後距離センサ241及び左右距離センサ242は例えば、超音波距離センサやレーザレンジファインダである。周辺物体までの距離を検出する。前後距離センサ241又は左右距離センサ242で検出された周辺物体までの距離が、距離閾値以下となった場合、移動ロボット20が減速又は停止する。
駆動部26には、駆動輪261及びキャスタ262が設けられる。駆動輪261は移動ロボット20を前後左右に移動させるための車輪である。キャスタ262は、駆動力は与えられず、駆動輪261に追従して転がる従動輪である。駆動部26は、図示しない駆動モータを備えており、駆動輪261を駆動する。
例えば、駆動部26は、筐体内に、それぞれが走行面に接地する2つの駆動輪261と2つのキャスタ262を支持している。2つの駆動輪261は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪261は、不図示のモータによって独立して回転駆動される。駆動輪261は、図2の駆動制御部212からの制御指令値に応じて回転する。キャスタ262は、従動輪であり、駆動部26から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、駆動部26の移動方向に倣うように追従する。
移動ロボット20は、例えば、2つの駆動輪261が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば2つの駆動輪261のほぼ中央を通る鉛直軸周りに旋回する。また、2つの駆動輪261を同じ方向と異なる回転速度で回転させることで、左右に曲がりながら進むことができる。例えば、左の駆動輪261の回転速度を右の駆動輪261の回転速度より高くすることで、右折することができる。反対に、右の駆動輪261の回転速度を左の駆動輪261の回転速度より高くすることで、左折することができる。すなわち、移動ロボット20は、2つの駆動輪261の回転方向、回転速度がそれぞれ制御されることにより、任意の方向へ並進、旋回、右左折等することができる。
また、移動ロボット20では、本体部290の上面に表示部27、操作インタフェース281が設けられる。表示部27には、操作インタフェース281が表示される。ユーザが表示部27に表示された操作インタフェース281をタッチ操作することで、操作受付部28がユーザからの指示入力を受け付けることができる。また、非常停止ボタン282が表示部27の上面に設けられる。非常停止ボタン282及び操作インタフェース281が操作受付部28として機能する。
表示部27は、例えば液晶パネルや有機エレクトロルミネッセンスディスプレイであり、キャラクターの顔をイラストで表示したり、移動ロボット20に関する情報をテキストやアイコンで呈示したりする。表示部27にキャラクターの顔を表示すれば、表示部27が擬似的な顔部であるかの印象を周囲の観察者に与えることができる。移動ロボット20に搭載されている表示部27等をユーザ端末400として用いることも可能である。
本体部290の前面には、カメラ25が設置されている。ここでは、2つのカメラ25がステレオカメラとして機能する。つまり、同じ画角を有する2つのカメラ25が互いに水平方向に離間して配置されている。それぞれのカメラ25で撮像された画像を画像データとして出力する。なお、この画像データは静止画像データであっても動画像データであってもよく、静止画像データであった場合には撮像間隔ごとに静止画像データが得られることになる。2つのカメラ25の画像データに基づいて、被写体までの距離や被写体の大きさを算出することが可能である。演算処理部21は、カメラ25の画像を解析することで、移動方向前方に人や障害物などを検知することができる。進行方向前方に人や障害物などがいる場合、移動ロボット20は、それらを回避しながら、経路に沿って移動する。また、カメラ25の画像データは、上位管理装置10に送信される。
移動ロボット20は、カメラ25が出力する画像データや、前後距離センサ241及び左右距離センサ242が出力する検出信号を解析することにより、周辺物体を認識したり、自機の位置を同定したりする。カメラ25は、移動ロボット20の進行方向前方を撮像する。移動ロボット20は、図示するように、カメラ25が設置されている側を自機の前方とする。すなわち、通常の移動時においては矢印で示すように、自機の前方が進行方向となる。
(モード制御処理)
次に、図4を用いて、モード制御処理について説明する。ここでは、モード制御のための処理を上位管理装置10が主体となって行うものとして説明する。したがって、図4は、主として、モード制御部117の制御系を示すブロック図となっている。但し、移動ロボット20にモード制御部を備え、そのモード制御部がモード制御部117の処理の少なくとも一部を主体となって実行するように構成することもできる。あるいは、環境カメラ300等の他の設備がモード制御のための処理の少なくとも一部を主体となって実行するように構成することもできる。
モード制御部117は、画像データ取得部1170、特徴抽出部1171、分類器1172、選択部1173、及び切替部1174を備えている。
画像データ取得部1170は、環境カメラ300で撮像された画像の画像データを取得する。ここで、画像データは、環境カメラ300で撮像された撮像された画像データ自体であってもよく、画像データに処理が施されたデータであってもよい。例えば、画像データは、画像データから抽出された特徴量のデータであってもよい。また、画像データには撮像時間や撮像場所などの情報が付加されていてもよい。以下では、画像データ取得部1170は、環境カメラ300からの画像データを取得することを前提として説明するが、上述したように環境カメラ300からの画像データに限らず、移動ロボット20のカメラ25からの画像データを取得しても良い。つまり、画像データ取得部1170は、移動ロボット20に設けられたカメラ25が撮像した画像に基づく画像データを取得してもよい。画像データ取得部1170は、複数の環境カメラ300から画像データを取得しても良い。
特徴抽出部1171は、上記のグループ分類部の一部に該当し、撮像画像内の人物の特徴を抽出する。より具体的には、特徴抽出部1171は、画像データに対して画像処理を行うことで、画像データに含まれる人を検出する。そして、特徴抽出部1171は、画像データに含まれる人物の特徴を抽出する。また、環境カメラ300に設けられた演算処理部(図示せず)が特徴量抽出のための処理の少なくとも一部を行ってもよい。なお、画像データに人が含まれることを検出する手段は、例えばHOG(Histograms of Oriented Gradients)特徴量や畳み込み処理を含む機械学習など種々の技術が当業者に知られている。そのためここでは詳述を省略する。
特徴抽出部1171は、検出した人の着衣の色を検出する。さらに詳細には、例えば特徴抽出部1171は、検出した人における着衣から、特定の色の面積が占める割合を算出する。あるいは、特徴抽出部1171は、検出した人物における着衣から、特定の部分における着衣の色を検出する。このようにして、特徴検出部1171は、スタッフの着衣に特徴的な部分を抽出する。
また、スタッフの着衣の特徴的な形状や特徴的な装着品等の所持品を特徴として抽出してもよい。さらに特徴抽出部1171の顔画像の特徴などを抽出しても良い。つまり、特徴抽出部1171は、顔認識用の特徴を抽出しても良い。特徴抽出部1171は、抽出した特徴情報を分類器1172に供給する。
分類器1172は、上記のグループ分類部の一部に該当し、特徴の抽出結果に基づいて、人物を予め設定された非スタッフ又はスタッフに分類する。例えば、分類器1172は、特徴抽出部1171から受け取った特徴情報と、記憶部12が記憶するスタッフ情報128とから、人物を分類する。分類器1172は、分類の結果を、選択部1173に供給する。分類器1172は、分類結果を選択部1173に供給する。
また、分類器1172は、学習済みモデルである第1学習モデル1172aと、第1学習モデル1172aより低負荷で処理結果が得られる学習済みモデルである第2学習モデル1172bと、を備えることができる。その場合、分類器1172は、2つのうちのいずれか一方の学習モデルを用いて分類を実行することができる。非スタッフモード時には第1学習モデル1172aが用いられ、スタッフモード時には第2学習モデル1172bが用いられることになり、この切り替えは後述の切替部1174が実行することになる。
第1学習モデル1172a及び第2学習モデル1172bの双方とも、特徴情報と、その特徴情報を備える人物のスタッフ情報が示す非スタッフ又はスタッフのいずれかを示す情報(例えばスタッフ情報128)と、を含むデータを、教師データとして機械学習させたモデルとすることができ、そのアルゴリズム等は問わない。
但し、上述したように、第2学習モデル1172bは第1学習モデル1172aに比べて処理負荷が小さい、つまり軽量化されたモデルであるように構築されているものとする。例えば、第2学習モデル1172bは第1学習モデル1172aに比べて、入力パラメータとなる特徴情報の数又は画像のピクセル数及び中間層の層数の少なくとも一方を小さくしておくことで、処理負荷が小さいように構築することができる。なお、中間層の層数を小さくすることは結果的にネットワーク層の層数を少なくすることになる。但し、これら以外のハイパーパラメータを異ならせることで、第2学習モデル1172bの処理負荷が第1学習モデル1172aの処理負荷より小さくなるようにしておくこともできる。
なお、ここでは特徴抽出部1171と分類器1172とを区別して説明しているが、特徴抽出部1171の機能は分類器1172に含めておくこともでき、その場合において特徴抽出部1171の機能は学習済みモデルを用いて特徴を抽出する機能とすることもできる。
選択部1173は、分類器1172から受け取った分類結果に基づき、非スタッフに属する人物が存在する場合には非スタッフモードを選択し、非スタッフに属する人物が存在しない場合にはスタッフモードを選択し、選択結果を切替部1174に供給する。
切替部1174は、選択部1173から受け取った選択結果に基づき、スタッフモードと非スタッフモードとの間でモードの切替えを行う。例えば、切替部1174は、非スタッフモードが選択されているときに非スタッフに属する人物が存在しないことが認識されてスタッフモードが選択された場合にスタッフモードに切り替えることができる。逆に、切替部1174は、スタッフモードが選択されているときに非スタッフに属する人物が存在することが認識されて非スタッフモードが選択された場合に非スタッフモードに切り替えることができる。
そして、上述したようにモード制御部117は、スタッフモードを選択した場合、非スタッフモードを選択した場合に比べて、処理負荷の小さい処理を実行するように、グループ分類処理を制御する。これにより、スタッフモードでは処理負荷の小さいグループ分類処理が実行されることになる。このように、モード制御部117は、選択したモードに応じて、グループ分類処理を動的に変更することで、処理負荷を動的に変更する制御を行う。
切替部1174の制御対象(以下、切替対象とも称す)は、グループ分類処理に係わる部位を少なくとも1つ含めばよく、例えば、分類器1172、特徴抽出部1171、画像データ取得部1170、環境カメラ300、及び移動ロボット20のうち、1又は複数を含むことができる。
分類器1172についての切替対象としては学習モデルが挙げられる。その場合、図4に示したように、分類器1172に第1学習モデル1172a及び第2学習モデル1172bを備えておく。そして、切替部1174は、非スタッフモードを選択した場合、精密な結果が得られる第1学習モデル1172aを用いるように分類器1172を制御し、スタッフモードを選択した場合、第1学習モデル1172aより低負荷で処理結果が得られる(軽量化された)第2学習モデル1172bを用いるように分類器1172を制御する。このように、切替部1174は、選択したモードに応じて、第1学習モデル1172aと第2学習モデル1172bとの間で使用する学習モデルを切り替えるように分類器1172を制御することができる。
このように、モード制御部117は、非スタッフモードを選択した場合、第1学習モデル1172aを用い、スタッフモードを選択した場合、第2学習モデル1172bを用いるように、グループ分類処理を制御することができる。このような制御により、本実施形態では、場面に応じてグループ分類にかかる処理負荷を臨機応変に変え、消費電力を低減することができる。
また、分類器1172についての切替対象としては、後述するように、プロセッサ等、分類器1172に含まれ得る処理デバイスも挙げられる。また、後述するように、分類器1172以外の部位についての、切替部1174の制御対象は、各部位そのものとしての処理デバイス、あるいは各部位に含まれる処理デバイスが挙げられる。
切替対象がこのような処理デバイスである場合、次のような制御を行うことができる。即ち、モード制御部117は、スタッフモードを選択した場合、非スタッフモードを選択した場合に比べて、グループ分類処理で使用する処理デバイスにおける処理精度及び使用割合の少なくとも1つを低くするように、グループ分類処理を制御することができる。ここで、処理精度としては、撮像時のフレームレート、解像度等の処理情報量(出力情報量)などが挙げられる。使用割合としては、プロセッサの使用率の上限値、プロセッサにおける使用コア数等、処理速度に影響を与える値などが挙げられる。このように切替対象を処理デバイスとした場合でも、場面に応じてグループ分類にかかる処理負荷を臨機応変に変え、消費電力を低減することができる。
次に、切替対象となる処理デバイスごとに、切替例について説明する。
切替部1174の制御対象に分類器1172を含めておく場合、分類器1172に1つの学習モデルと1つのプロセッサとを備えておくことができる。そして、切替部1174は、非スタッフモードを選択した場合、そのプロセッサの使用割合をスタッフモード時に比べて高くするように分類器1172を制御する。一方で、切替部1174は、スタッフモードを選択した場合、そのプロセッサの使用割合を非スタッフモード時に比べて低くするように分類器1172を制御する。このように、切替部1174は、選択したモードに応じて、分類器1172に備えられたプロセッサの使用割合を切り替えるように分類器1172を制御することもできる。
また、切替部1174の制御対象に分類器1172を含めておく場合、分類器1172に2つの学習モデルとそれぞれを実行するための2つのプロセッサとを備えておくなど、分類器1172を2つの分類器で構成しておくこともできる。そして、切替部1174は、非スタッフモードを選択した場合、処理負荷の高い方の分類器を用いるように分類器1172を制御し、スタッフモードを選択した場合、処理負荷の低い方の分類器を用いるように分類器1172を制御する。このように、切替部1174は、選択したモードに応じて、処理負荷の異なる2つの分類器の間で使用する分類器を切り替えるように分類器1172を制御することもできる。
その他、切替部1174の制御対象に分類器1172を含めておく場合、分類器1172に処理負荷が異なる2つのプロセッサと1つの学習モデルとを備えておくこともできる。そして、切替部1174は、非スタッフモードを選択した場合、処理負荷の高い方のプロセッサを用いるように分類器1172を制御し、スタッフモードを選択した場合、処理負荷の低い方のプロセッサを用いるように分類器1172を制御する。このように、切替部1174は、選択したモードに応じて、処理負荷の異なる2つのプロセッサの間で分類に使用するプロセッサを切り替えるように分類器1172を制御することもできる。
切替部1174の制御対象に特徴抽出部1171を含めておく場合、特徴抽出部1171を、抽出対象の特徴の数(例えば特徴情報の数)及び抽出元のフレームレートのうち少なくとも一方を変更できるように構成しておくことができる。なお、抽出元のフレームレートとは、画像データ取得部1170で取得された画像データのうち、特徴抽出に用いるフレームの頻度を指すことができる。そして、切替部1174は、非スタッフモードを選択した場合、抽出対象の特徴の数及び抽出元のフレームレートのうち少なくとも一方を大きくするように特徴抽出部1171を制御し、スタッフモードを選択した場合、上記少なくとも一方を小さくするように特徴抽出部1171を制御する。このように、切替部1174は、選択したモードに応じて、上記少なくとも一方の大小を切り替えるように特徴抽出部1171を制御することができる。また、特徴抽出部1171が学習モデルを含む構成では、分類器1172で説明した例と同様に、処理負荷が異なる2つの学習モデルを用い、選択したモードに応じて使用する学習モデルを切り替えるなどの制御を行うことができる。
切替部1174の制御対象に画像データ取得部1170を含めておく場合、画像データ取得部1170を、取得レート及び取得元のカメラ(環境カメラ300及びカメラ25)の数のうち少なくとも一方を変更できるように構成しておくことができる。なお、取得元のカメラの数を変更することは、情報源として使用するカメラの数を変更することを意味する。そして、切替部1174は、非スタッフモードを選択した場合、取得レート及び取得元のカメラの数のうち少なくとも一方をスタッフモード時に比べて大きくするように画像データ取得部1170を制御し、スタッフモードを選択した場合、上記少なくとも一方を非スタッフモード時に比べて小さくするように画像データ取得部1170を制御する。このように、切替部1174は、選択したモードに応じて、上記少なくとも一方の大小を切り替えるように画像データ取得部1170を制御することができる。
ここで、取得元のカメラの数とともに、あるいは取得元のカメラの数の代わりに、環境カメラ300又はカメラ25のいずれの種類のカメラを取得元とするかを変更できるように、つまり取得元のカメラの種類を変更できるように、画像データ取得部1170を構成しておくこともできる。
次に、切替部1174の制御対象として、環境カメラ300やカメラ25のように、移動ロボット20の周辺を撮像して動画像データを生成するカメラであって、グループ分類処理で人物の特徴を認識する対象となる画像データを撮像するカメラを含めておく場合について説明する。ここで、環境カメラ300は、上述したように、走行する移動ロボット20の周辺を撮像するように移動ロボット20の走行面から離間した位置に設けられたカメラである。カメラ25は移動ロボット20に設けられたカメラである。
切替部1174の制御対象に環境カメラ300を含めておく場合、環境カメラ300を、フレームレート(撮像レート)及び撮像解像度のうち少なくとも一方を変更できるように構成しておく。そして、切替部1174は、非スタッフモードを選択した場合、撮像レート及び撮像解像度のうち少なくとも一方をスタッフモード時に比べて高くするように環境カメラ300を制御する。一方で、切替部1174は、スタッフモードを選択した場合、上記少なくとも一方を非スタッフモード時に比べて低くするように環境カメラ300を制御する。このように、切替部1174は、選択したモードに応じて、グループ分類処理に使用する画像データを撮像する環境カメラ300を、その撮像レート及び撮像解像度のうち少なくとも一方を切り替えるように制御することができる。これにより、場面に応じて、グループ分類にかかる環境カメラ300の処理負荷を臨機応変に変え、消費電力を低減することができ、また移動ロボット20の監視も行うことができる。
ここで、切替部1174による環境カメラ300の制御方法の例について説明する。まず、切替部1174が、モード切替のためのモード切替命令を含む制御信号を、通信部14を介して環境カメラ300に送信する。環境カメラ300がその制御信号を受信し、環境カメラ300の動作モードを、その制御信号が示すモードである非スタッフモード及びスタッフモードのいずれかになるように切り替える。なお、この場合、モード切替命令を含む制御信号は、稼働している環境カメラ300のうちの一部のみであってもよい。また、環境カメラ300の制御方法は問わず、既存の遠隔制御技術を適用すればよい。
環境カメラ300における非スタッフモードは、例えば、環境カメラ300を省電力することなく動作させるモード(通常モード)とすることができる。一方で、環境カメラにおけるスタッフモードは、環境カメラ300を省電力で動作させるように、環境カメラ300のフレームレート及び撮像解像度のうち少なくとも一方を通常モードに比べて小さく(低く)したモード(省電力モード)とすることができる。換言すると、通常モードは、環境カメラ300のフレームレート及び撮像解像度のうち少なくとも一方を省電力モードに比べて大きく(高く)したモードとすることができる。
切替部1174の制御対象にカメラ25を含めておく場合、カメラ25を、フレームレート(撮像レート)及び撮像解像度のうち少なくとも一方を変更できるように構成しておく。そして、切替部1174は、非スタッフモードを選択した場合、撮像レート及び撮像解像度のうち少なくとも一方をスタッフモード時に比べて高くするようにモード切替部213を介してカメラ25を制御する。一方で、切替部1174は、スタッフモードを選択した場合、上記少なくとも一方を非スタッフモード時に比べて低くするようにモード切替部213を介してカメラ25を制御する。このように、切替部1174は、選択したモードに応じて、グループ分類処理に使用する画像データを撮像するカメラ25を、その撮像レート及び撮像解像度のうち少なくとも一方を切り替えるように制御することができる。これにより、場面に応じて、グループ分類にかかるカメラ25の処理負荷を臨機応変に変え、消費電力を低減することができる。
ここで、切替部1174によるカメラ25の制御方法の例について説明する。まず、切替部1174がロボット制御部111に対し、モード切替のためのモード切替命令を含む制御信号を、通信部14を介して移動ロボット20に送信するように指示する。これにより、モード切替命令を含む制御信号が移動ロボット20に送信され、移動ロボット20で受信される。この場合、モード切替命令を含む制御信号は、稼働している移動ロボット20のうちの一部のみであってもよく、モード情報129には、各移動ロボット20の現在のモードを含めておけば、必要時にのみモード切替命令を含む制御信号を送信することができる。なお、カメラ25の制御方法は問わず、既存の遠隔制御技術を適用すればよい。
移動ロボット20では、通信部23がこの制御信号を受信し、命令抽出部211がその制御信号からモード切替命令を抽出し、モード切替部213に渡す。モード切替部213は、命令抽出部211から与えられたモード切替命令に基づいて、カメラ25の動作モードを、非スタッフモードとスタッフモードとの間で切り替えるようにカメラ25を制御する。カメラ25はその制御に従いモードを切り替える。
カメラ25における非スタッフモードは、例えば、カメラ25を省電力することなく動作させるモード(通常モード)とすることができる。一方で、カメラ25におけるスタッフモードは、カメラ25を省電力で動作させるように、カメラ25のフレームレート及び撮像解像度のうち少なくとも一方を通常モードに比べて小さく(低く)したモード(省電力モード)とすることができる。換言すると、通常モードは、カメラ25のフレームレート及び撮像解像度のうち少なくとも一方を省電力モードに比べて大きく(高く)したモードとすることができる。
また、切替部1174の制御対象として、環境カメラ300やカメラ25で例示したカメラを含めておく場合、切替部1174は、選択したモードに応じて、使用するカメラの台数を変更するように制御することもできる。即ち、切替部1174は、非スタッフモードを選択した場合、使用するカメラの台数を多くするように各カメラを制御し、スタッフモードを選択した場合、使用するカメラの台数を非スタッフモードの場合より少なくするように各カメラを制御することもできる。一例を挙げると、切替部1174は、非スタッフモードを選択した場合、使用するカメラを移動ロボット20のカメラ25も含め移動ロボット20の周辺にある全てのカメラを使用するように各カメラを制御し、スタッフモードを選択した場合、使用するカメラを移動ロボット20の周辺にある環境カメラ300だけを使用するように各カメラを制御することもできる。
切替部1174は、使用するカメラの台数の変更を、例えば、各カメラに対する電源又はスリープ状態のオン/オフを切り替える制御によって行うことができる。非スタッフモードでは、移動ロボット20の周辺のカメラの全てがオフにされずスリープ状態にもされずに動作し、スタッフモードでは、移動ロボット20の周辺のカメラのうち一部のカメラを電源オフ又はスリープ状態にする。つまり、モードに応じて、切替部1174が、カメラの電源又はスリープのオン/オフを切り替えるための制御信号を出力する。スタッフモードでは、一部のカメラが電源オフ又はスリープするため、処理負荷を軽減し、消費電力を低減することができる。なお、カメラの電源制御方法は問わず、既存の遠隔電源制御技術を適用すればよい。
なお、使用するカメラの台数の変更は、選択したモードに応じて、移動ロボット20の周辺の定義を変更すること、つまりスタッフモードでの周辺が示す領域を非スタッフモードでの周辺が示す領域より狭く設定することで実施することもできる。ここで、周辺が示す領域は、上述したように、例えば、距離に基づく定義の場合には所定距離の変更により変更することができ、施設を区切ったブロックに基づく定義の場合にはブロックの数の変更により変更することができる。
また、切替部1174の制御対象にカメラ25を含めておく場合について説明したが、移動ロボット20におけるカメラ25以外の部位を切替部1174の制御対象として含めておくこともでき、以下、そのような場合の例について説明する。
切替部1174の制御対象に移動ロボット20のカメラ25以外の部位を含めておく場合、切替部1174の制御対象にカメラ25を含めておく場合の制御例において、基本的に、モード切替部213の制御対象をカメラ25の代わりに移動ロボット20の予め定められた部位とした例が適用できる。ここで、予め定められた部位(以下、対象部位)は、グループ分類処理とは無関係な部位を含むことができる。また、対象部位にはカメラ25を含むこともできる。
切替部1174の制御対象に移動ロボット20を含めておく場合、モード切替部213の機能として説明したように、移動ロボット20において、その動作モードを、非スタッフモードとスタッフモードとの間で切り替え可能に構成しておく。そして、切替部1174は、非スタッフモードを選択した場合、処理負荷がスタッフモード時に比べて高くなるように、モード切替部213を介して対象部位を制御する。一方で、切替部1174は、スタッフモードを選択した場合、処理負荷が非スタッフモード時に比べて低くなるように、モード切替部213を介して対象部位を制御する。このように、切替部1174は、選択したモードに応じて、移動ロボット20の対象部位の処理を切り替えるように制御することができる。これにより、場面に応じて、移動ロボット20の対象部位での処理負荷を臨機応変に変え、消費電力を低減することができる。
ここで、切替部1174による移動ロボット20の制御方法の例について説明する。切替部1174は、カメラ25を制御対象とする場合と同様に、例えば、次のようにして移動ロボット20を制御することができる。まず、切替部1174がロボット制御部111に対し、モード切替のためのモード切替命令を含む制御信号を、通信部14を介して移動ロボット20に送信するように指示する。これにより、モード切替命令を含む制御信号が移動ロボット20に送信され、移動ロボット20で受信される。この場合、モード切替命令を含む制御信号は、稼働している移動ロボット20のうちの一部のみであってもよく、モード情報129には、各移動ロボット20の現在のモードを含めておけば、必要時にのみモード切替命令を含む制御信号を送信することができる。なお、移動ロボット20の制御方法は問わず、既存の遠隔制御技術を適用すればよい。
移動ロボット20では、通信部23がこの制御信号を受信し、命令抽出部211がその制御信号からモード切替命令を抽出し、モード切替部213に渡す。モード切替部213は、命令抽出部211から与えられたモード切替命令に基づいて、移動ロボット20の動作モードを、非スタッフモードとスタッフモードとの間で切り替えるように、対象部位を制御する。対象部位はその制御に従いモードを切り替える。
対象部位における非スタッフモードは、例えば、対象部位を省電力することなく動作させるモード(通常モード)とすることができる。一方で、対象部位におけるスタッフモードは、対象部位を省電力で動作させるモード(省電力モード)とすることができる。
モード切替部213は、上述したように、切替制御の対象として、つまり対象部位として、例えば演算処理部21、記憶部22、通信部23、距離センサ群24、カメラ25、駆動部26、表示部27、及び操作受付部28のうちの、いずれか1又は複数に対し、モードに応じた処理に切り替えるように命令を渡すことができる。なお、このうち、カメラ25を切替対象とする場合については上述した通りである。また、その他の部位については、各部位について低消費電力化の例を挙げたように、この命令に従い、省電力モードでは通常モードに対して低消費電力化を図ることができる。
ここで、駆動部26の制御について説明する。モード制御部117は、非スタッフモードとスタッフモードのいずれが選択されたかに応じて、移動ロボット20の移動制御を異ならせることができ、この移動制御には駆動制御部212を介した駆動部26の制御を含むことができる。
モード制御部117は、切替部1174での切替制御により、非スタッフモードにおける移動ロボット20の移動速度がスタッフモードにおける移動速度よりも遅くなるように、移動ロボット20を制御することができる。これにより安全面への配慮がより必要な非スタッフモードで遅い走行が可能となる。例えば、モード制御部117は、切替部1174での切替制御により、スタッフモードにおける移動ロボット20の移動速度の上限値が非スタッフモードにおける移動速度の上限値よりも大きくなるように、移動ロボット20を制御することができる。
この例のように、グループ分類処理に関わらない制御に関しては、スタッフモードにおける処理負荷が非スタッフモードにおける処理負荷よりも大きくなるように制御することもできる。但し、本実施形態では、グループ分類処理に関わる部分での省電力化がなされるため、グループ分類処理に関わらない部分での消費電力の増加を抑えることができると言える。なお、移動制御自体は、上述したようにモード切替部213を介してなされることができ、モード切替部213がモード切替命令に応じて駆動制御部212のモードを変更し、駆動制御部212がモードに応じた駆動制御を駆動部26に対して行えばよい。
なお、逆にモード制御部117は、切替部1174での切替制御により、非スタッフモードにおける移動ロボット20の移動速度がスタッフモードにおける移動速度よりも早くなるように、移動ロボット20を制御することもできる。例えば、モード制御部117は、切替部1174での切替制御により、スタッフモードにおける移動ロボット20の移動速度の上限値が非スタッフモードにおける移動速度の上限値よりも小さくなるように、移動ロボット20を制御することができる。
また、ここでは移動ロボット20の移動制御が駆動制御部212による駆動部26の駆動制御を指すことを前提に説明したが、距離センサ群24における感度を変更する制御など、他の部位の制御を含むこともできる。なお、感度の変更によって移動ロボット20における衝突回避の動作を変えることができるため、感度を変更する制御を移動制御の一部と見做すことができる。
また、移動速度の制御の代わりに又はその制御に加えて、モード制御部117は、切替部1174での切替制御により、スタッフモードにおける移動ロボット20の移動範囲が非スタッフモードにおける移動範囲よりも狭くなるように、移動ロボット20を制御することができる。これにより監視の必要性が非スタッフモードより低いスタッフモードで消費電力を低減することができる。なお、移動範囲の制御自体は、上述したようにモード切替部213を介してなされることができ、例えば、モード切替部213がモード切替命令に応じて駆動制御部212のモードを変更し、駆動制御部212がモードに応じた移動範囲での駆動制御を駆動部26に対して行うことができる。
これらの例に限らず、移動ロボット20に対する制御としては、様々な例が挙げられ、例えば特許文献1で記載されたような様々な制御例を適用することもできる。いずれの例においても、移動ロボット20を含むシステムを制御するに際し、場面に応じて移動ロボット20の移動制御を臨機応変に変えることができる。
(スタッフ情報)
次に、スタッフ情報128の一例を図5に示す。図5は、スタッフ情報128の一例を示す表である。スタッフ情報128は、スタッフ及び非スタッフをその種別ごとに対応するグループに分類するための情報である。左の列は、スタッフの「カテゴリ」が示されている。スタッフのカテゴリの項目は上から「非スタッフ」、「薬剤師」、及び「看護師」が示されている。もちろん、例示された項目以外の項目が含まれていてもよい。スタッフのカテゴリの右側には、順に「着衣の色」、「グループ分類」の列が示されている。
以下にスタッフカテゴリの項目ごとに対応する着衣の色(色調)について説明する。「非スタッフ」に対応する着衣の色は「特定できず」である。すなわち、特徴抽出部1171が画像データから人物を検出した場合に、検出した人物の着衣の色が予め設定されたものに含まれない場合には、特徴抽出部1171は検出した人物を「非スタッフ」と判定する。また、スタッフ情報128によれば、「非スタッフ」に対応するグループ分類は第1グループである。
カテゴリには、着衣の色が対応付けられている。例えば、カテゴリ毎にスタッフの制服の色が決められているとする。この場合、制服の色がカテゴリ毎に異なる。よって、分類器1172は、着衣の色からカテゴリを特定することができる。もちろん、1つのカテゴリのスタッフが異なる色の制服を着用としていてもよい。例えば、看護師が白色(白衣)又はピンク色の制服が着用していてもよい。あるいは、複数のカテゴリのスタッフが共通の色の制服を着用していてもよい。例えば、看護師及び薬剤師が白色の制服を着用していてもよい。さらには、着衣の色に限らず、着衣の形状や帽子などを特徴としてもよい。そして、分類器1172は、画像中の人の特徴と一致するカテゴリを特定する。もちろん、画像中に二人以上の人が含まれている場合、分類器1172はそれぞれの人のカテゴリを特定する。
分類器1172が着衣の色でスタッフか否かを判別することで、簡便かつ適切にスタッフか否かを判別することができる。例えば、新たなスタッフが追加された場合でも、そのスタッフの情報を用いずにスタッフか否かを判別することができる。あるいは、分類器1172は名札、IDカード、入室カード等の所定の所持品の有無に応じて、非スタッフかスタッフかを分類してもよい。例えば、分類器1172は、着衣の所定箇所に名札が取り付けられている人をスタッフと分類する。あるいは、分類器1172は、カードホルダなどによってIDカードや入室カードが首からぶら下げられている人をスタッフと分類する。
さらに、分類器1172は、顔画像の特徴に基づいて、分類を行ってもよい。例えば、スタッフ情報128には、予めスタッフの顔画像又はその特徴量が格納されていてもよい。そして、環境カメラ300が撮像した画像に含まれる人の顔の特徴が抽出できる場合、顔画像の特徴量を比較することで、スタッフか否かを判別することができる。また、スタッフのカテゴリを予め登録されていれば、顔画像の特徴量から、スタッフを特定することができる。もちろん、分類器1172は複数の特徴を組み合わせて分類を行うことができる。
このように分類器1172は、画像中の人がスタッフであるか否かを判定する。分類器1172は、スタッフである人を第2グループに分類する。分類器1172は、非スタッフである人を第1グループに分類する。つまり、分類器1172は、スタッフ以外の人を第1グループに分類する。換言すると、分類器1172は、スタッフとして特定できない人を第1グループに分類する。なお、スタッフは予め登録されていることが好ましいが、新たなスタッフを着衣の色で分類してもよい。
分類器1172は、第1学習モデル1172aや第2学習モデル1172bで例示したように、機械学習で生成された機械学習モデルを含むことができる。この場合、スタッフのカテゴリ毎に撮像された画像を教師データとして機械学習できる。つまり、スタッフのカテゴリが正解ラベルとして付されている画像データを教師データとして教師あり学習を行うことで、分類精度の高い機械学習モデルを構築することができる。つまり、スタッフが所定の制服を着用した状態の撮像画像を学習用データとしても用いることができる。
機械学習モデルは、特徴抽出部1171における特徴抽出及び分類器1172における分類処理を行うモデルとしてモード制御部117に備えることもできる。この場合、人を含む画像を機械学習モデルに入力することで、機械学習モデルが分類結果を出力する。また、分類する特徴に応じた機械学習モデルを用いてもよい。例えば、着衣の色から分類する機械学習モデルと、顔画像の特徴量から分類する機械学習モデルをそれぞれ独立して用いてもよい。そして、いずれか1つの機械学習モデルでスタッフと認識された場合、分類器1172は、その人が第2グループに属すると判定する。スタッフとして特定できない場合、分類器1172は、その人が第1グループに属すると判定する。
(モード情報)
次に、モード情報129の一例を図6に示す。図6は、モード情報129の例を示す表である。図6では、非スタッフモードとスタッフモードによる処理の違いの一例を示している。図6では、モード制御の対象となる項目として、グループ分類に使用する画像データの情報源となるカメラの項目と、グループ分類処理に使用する学習済みモデルの項目とが示されている。切替部1174は、選択部1173による選択結果が示すモードに応じて、図6に示す項目を切り替えることができる。無論、モード制御部117について説明したように、モードに応じて制御を異ならせるような他種の項目が含まれることもできる。
カメラの項目の示されるように、切替部1174は、非スタッフモードである場合に全ての環境カメラ300及びカメラ25を情報源として使用することができ、スタッフモードである場合に環境カメラ300のみを情報源として使用することができる。切替部1174が、カメラ25の電源又はスリープのオン/オフを切り替えることができ、このような例を挙げる。但し、カメラ25を人物の判定のため以外の用途で利用している場合にも対応できるように、切替部1174がカメラ25で撮像され移動ロボット20から送信された画像データのグループ分類処理での利用のオン/オフを切り替えることなど、他の手法を採用することもできる。
スタッフモードでは、カメラ25が電源オフ又はスリープ状態となる。非スタッフモードでは、カメラ25がスリープも電源オフもせずに動作する。つまり、モードに応じて、切替部1174が、カメラ25の電源又はスリープのオンオフを切り替えるための制御信号を出力する。スタッフモードでは、カメラ25が電源オフ又はスリープするため、処理負荷を軽減し、消費電力を低減することができる。
また、モード情報129にカメラの解像度(ピクセル)の項目を追加しておき、切替部1174が、カメラのピクセル数を切り替えることもできる。スタッフモードでは、環境カメラ300が低ピクセル数の撮像画像を出力する、あるいは情報源として使用する撮像画像のピクセル数が小さくなるように画像データ取得部1170、特徴抽出部1171、分類器1172のいずれかが間引き処理を行う。非スタッフモードでは、環境カメラ300及びカメラ25が高ピクセル数の撮像画像を出力する、あるいは情報源として使用する撮像画像をそのまま用いて画像データ取得部1170、特徴抽出部1171、分類器1172が処理を行う。
また、カメラのピクセルの項目に加えて、あるいはその代わりに、フレームレートの項目を設け、切替部1174が、カメラのフレームレートを、モードに応じて切り替えることもできる。スタッフモードでは、環境カメラ300が低フレームレートで撮像する。非スタッフモードでは、環境カメラ300及びカメラ25が高フレームレートで撮像する。つまり、モードに応じて、切替部1174が、カメラの撮像画像のフレームレートを切り替えるための制御信号を出力する。高いフレームレートで撮像画像を撮像されるため、フレームレートが低い場合よりも、プロセッサなどの処理負荷が高くなる。また、カメラピクセルやフレームレート以外の項目も適宜追加して、処理負荷の軽減による消費電力の低減を図ることもできる。なお、カメラピクセルやフレームレートなどの、情報源となるカメラの項目以外の項目については、情報源となるカメラの項目を設けない場合にも利用でき、その場合には、スタッフモード、非スタッフモードに依らずに情報源としては同じカメラを使用することができる。
また、学習済みモデルの項目の示されるように、切替部1174は、非スタッフモードである場合に第1学習モデル1172aを使用することができ、スタッフモードである場合に第2学習モデル1172bを使用することができる。
(制御方法の例)
図7は、本実施形態に係る制御方法の一例を示すフローチャートである。図7では、説明の簡略化のため、図6に基づく制御方法の一例のみを説明する。まず、画像データ取得部1170が環境カメラ300及びカメラ25から画像データを取得する(S101)。なお、ここでは非スタッフモードとなっている状態から説明している。つまり、環境カメラ300あるいは環境カメラ300及びカメラ25が監視領域を撮像すると、その撮像画像を上位管理装置10に送信する。画像データは動画でもよく、静止画でもよい。さらに、画像データは撮像画像に各種処理を施したデータであってもよい。
次に、特徴抽出部1171が撮像画像内の人の特徴を抽出する(S102)。ここでは、特徴抽出部1171が、撮像画像に含まれる人を検出して、人毎に特徴を抽出する。例えば、特徴抽出部1171は、人の着衣の色を特徴として抽出する。もちろん、特徴抽出部1171は、着衣の色に限らず、顔認識ための特徴量や着衣の形状を抽出してもよい。特徴抽出部1171は、ナース帽の有無、名札の有無、IDカードの有無等を特徴として抽出してもよい。
分類器1172が、第1学習モデル1172aを用いて、人の特徴に基づき撮像画像に含まれる人を第1グループ又は第2グループに分類する(S103)。分類器1172は、スタッフ情報を参照して、それぞれの人の特徴から、その人が第2グループ(スタッフ)に属するか否かを判定する。具体的には、分類器1172は、着衣の色が予め設定された制服の色と一致する場合、人が第2グループに属すると判定する。これにより、撮像画像に含まれる全ての人が、第1グループ又は第2グループに分類される。もちろん、分類器1172は着衣の色の特徴に限らず、他の特徴を用いて分類を行うことができる。
そして、分類器1172は、監視領域内に第1グループの人がいるか否かを判定する(S104)。第1グループの人(非スタッフ)がいる場合(S104のYES)、選択部1173が高負荷の非スタッフモードを選択し、切替部1174がその選択結果に従い環境カメラ300、カメラ25、第1学習モデル1172aを使用するように制御する(S105)。ここでは、非スタッフモード時から開始した例であるため、S105では切り替えがなされない。
第1グループの人がいない場合(S104のNO)、選択部1173が低負荷のスタッフモードを選択し、切替部1174がその選択結果に従い環境カメラ300及び第2学習モデル1172bを使用するように制御する(S106)。ここでは、非スタッフモード時から開始した例であるため、S106では切り替えがなされることになる。
非スタッフモード時から開始した例を説明したが、スタッフモード時から開始される処理では、S101において環境カメラ300が用いられ、S105では切り替えがなされ、S106では切り替えがなされないことになる。
図8及び図9は、モード切替の具体例を説明するための図である。図8及び図9は、移動ロボット20が移動するフロアを上から見た模式図である。施設には、部屋901と部屋903と通路902とが設けられている。通路902は部屋901と部屋903とを繋いでいる。図8では、6台の環境カメラ300を環境カメラ300A~300Gとして識別する。環境カメラ300A~300Gはそれぞれ異なる位置及び異なる方向に設置されている。環境カメラ300A~300Gが異なる領域を撮像しており、このうち環境カメラ300Gはセキュリティゲートとして機能する出入口904での人の出入りが確認できる位置に配置されている。環境カメラ300A~300Fの位置、撮像方向、及び撮像範囲等は、フロアマップ121に予め登録されていてもよい。
環境カメラ300A~300Fに割り当てられた領域をそれぞれ監視領域900A~900Fとする。例えば、環境カメラ300Aは、監視領域900Aを撮像し、環境カメラ300Bは監視領域900Bを撮像する。同様に、環境カメラ300C、300D、300E、300Fは、監視領域900C、900D、900E、900Fをそれぞれ撮像する。環境カメラ300Gは出入口904の範囲を撮像する。このように対象となる施設に複数の環境カメラ300A~300Gが設置されている。そして、施設が複数の監視領域に分けられている。監視領域の情報はフロアマップ121に予め登録されていても良い。
図8のように、施設内にスタッフU2Aしかいない場合、選択部1173が低負荷のスタッフモードを選択し、切替部1174がその選択結果に従い環境カメラ300及び第2学習モデル1172bを使用するように制御する。
一方で、図9のように、施設内に非スタッフU1Bがいる場合(スタッフの存在は問わない)、選択部1173が高負荷の非スタッフモードを選択し、切替部1174がその選択結果に従い環境カメラ300、カメラ25、第1学習モデル1172aを使用するように制御する。
以上、本実施形態について説明したが、本実施形態に係る制御方法は、上位管理装置10で行われていてもよく、エッジデバイスで行われていてもよい。エッジデバイスは、例えば、環境カメラ300、移動ロボット20、通信ユニット610、及び、ユーザ端末400の一つ以上を含む。また、環境カメラ300、移動ロボット20及び上位管理装置10が協働して、制御方法を実行してもよい。つまり、本実施形態に係る制御システムは、環境カメラ300、移動ロボット20内に搭載されていてもよい。あるいは、制御システムの少なくとも一部又は全部は、移動ロボット20以外の装置、例えば、上位管理装置10に搭載されていてもよい。上位管理装置10は、物理的に単一な装置に限らず、複数の装置に分散して配置されていても良い。つまり、上位管理装置10は、複数のメモリや複数のプロセッサを備えていても良い。
(代替例)
上述した実施形態に係る搬送システム1、上位管理装置10、移動ロボット20、ユーザ端末400、環境カメラ300、通信ユニット610は、例示した形状をもつもの、例示した制御を行うものに限ったものではなく、各装置の機能が果たせればよい。また、上述した実施形態では、制御システムが搬送システムに組み込まれる例を挙げて説明したが、搬送システムに組み込まれなくてもよい。
また、上述した実施形態では、第1グループ、第2グループの分類を行い、第1動作モードと第2動作モードとでモードを切替えた例を挙げたが、3つ以上のグループに分類を行い、分類したグループのいずれか1又は複数を含むか含まないかに応じて、3以上の動作モードの間で切替えを行うこともできる。この場合の各動作モードは、2つのグループの場合で説明した例と同様に、監視の必要性の低さに応じて、処理負荷を段階的に減らしていくようなモードとすることができる。
また、上述した実施形態に係る搬送システム1に備えられる各装置や制御システムに備えられる各装置は、いずれも、例えば次のようなハードウェア構成を備えることができる。図10は、装置のハードウェア構成の一例を示す図である。
図10に示す装置100は、プロセッサ101、メモリ102、及びインタフェース103を備えることができる。インタフェース103は、装置に応じて必要な、例えば通信インタフェースや、駆動部、センサ、入出力装置などとのインタフェースを含むことができる。
プロセッサ101は、例えば、CPU、GPU(Graphics Processing Unit)、マイクロプロセッサとも称されるMPU(Micro Processor Unit)などであってもよい。プロセッサ101は、複数のプロセッサを含んでもよい。プロセッサ101は、例えば第2動作モード時に使用される低消費電力のプロセッサと第1動作モード時に使用される高消費電力のプロセッサとを含むこともできる。メモリ102は、例えば、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。各装置における機能は、プロセッサ101がメモリ102に記憶されたプログラムを読み込んで、インタフェース103を介して必要な情報をやり取りしながら実行することにより実現される。つまり、上述した上位管理装置10、環境カメラ300、移動ロボット20等における処理の一部又は全部は、コンピュータプログラムとして実現可能である。
このようなプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
なお、本発明は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。