(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】ロボットサービスシステム
(51)【国際特許分類】
G06F 21/33 20130101AFI20240709BHJP
B25J 9/22 20060101ALI20240709BHJP
【FI】
G06F21/33 350
B25J9/22 Z
(21)【出願番号】P 2022018492
(22)【出願日】2022-02-09
【審査請求日】2024-01-11
(73)【特許権者】
【識別番号】000232955
【氏名又は名称】株式会社日立ビルシステム
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】藤田 悠
(72)【発明者】
【氏名】茎田 和哉
(72)【発明者】
【氏名】青木 英郎
(72)【発明者】
【氏名】大原 辰徳
【審査官】平井 誠
(56)【参考文献】
【文献】特開2019-191968(JP,A)
【文献】特開2006-007341(JP,A)
【文献】国際公開第2020/012982(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
B25J 9/22
(57)【特許請求の範囲】
【請求項1】
ロボットと、前記ロボットの役割に対応するサービス情報を保持するビル管理サーバを備えたロボットサービスシステムであって、
前記ビル管理サーバは、
前記ロボットからの作業開始要求を受け取ったとき、前記ロボットの役割とサービスエリア内でのロボットサービス許可範囲から、前記ロボットがサービスの提供に必要な情報へのアクセス権限を保持するトークンを生成して前記ロボットへ返却するトークン生成部と、
前記ロボットからの前記トークンを使用したサービス情報の取得依頼に対して、前記トークン生成部で決定した前記アクセス権限の範囲内で前記ロボットの役割に対応するサービス情報を選択して前記ロボットへ返却するサービス情報選択部とを備える
ことを特徴とするロボットサービスシステム。
【請求項2】
請求項1に記載のロボットサービスシステムであって、
前記トークン生成部で生成する前記トークンは、前記アクセス権限に加えて前記ロボットによる操作を許可する操作権限が保持される
ことを特徴とするロボットサービスシステム。
【請求項3】
請求項1に記載のロボットサービスシステムであって、
前記ビル管理サーバは、
前記サービス情報を前記ロボットに返却するとき、前記サービスエリアにおける前記ロボットサービス許可範囲を参照し、サービスの種類と提供時間帯に応じた前記サービス情報を選択する
ことを特徴とするロボットサービスシステム。
【請求項4】
請求項1に記載のロボットサービスシステムであって、
前記ロボットは、
前記サービス情報を受け取った際に、前記ロボットのサービススケジュールと前記サービス情報を参照して、実行される前記サービスを決定する
ことを特徴とするロボットサービスシステム。
【請求項5】
請求項4に記載のロボットサービスシステムであって、
前記ビル管理サーバは、
前記サービス情報を選択する際に、前記ロボットが使用可能なバッテリー容量を参照し、前記バッテリー容量に対応して前記ロボットへ返却する前記サービス情報を選択する
ことを特徴とするロボットサービスシステム。
【請求項6】
請求項1に記載のロボットサービスシステムであって、
前記ビル管理サーバによる前記ロボットへ返却する前記サービス情報は、
前記ロボットの寸法、重量に基づき、前記ロボットが通行可能なサービスエリア内の経路に関する情報を含む
ことを特徴とするロボットサービスシステム。
【請求項7】
請求項1に記載のロボットサービスシステムであって、
前記ビル管理サーバが送付する前記トークンに保持される権限は、ビル内の通行権限を含む
ことを特徴とするロボットサービスシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律移動可能なロボットによって種々のサービスを提供するロボットサービスシステムに関するものである。
【背景技術】
【0002】
近年、種々の情報機器をインターネットに接続し、種々のサービスを提供するInternet of Things(IoT)技術が普及しつつある。そして、インターネットに接続される情報機器の数が急速に増加する中、ネットワークコミュニケーションを用いて、人間に種々のサービスを提供するロボットサービスシステムの技術開発が行われている。例えば、建築物(例えば、ビルや駅舎等)に設置されたエレベーターとロボットを連携させるロボットサービスシステムが知られている。
【0003】
これらのロボットサービスシステムでは、サービスを実行するためにサービス実行エリア(例えば、建築物の周辺や建築物の階床等)のマップデータの取得や経路設定、及びエレベーターとの連動を必要とする場合は、その権限設定といった手間のかかる初期設定が必要不可欠であり、ロボットを素早く各地に配置して利用する場合の障壁となっている。特に、ロボットは新規投入、交換、貸出等で種々のロボットが採用されており、権限設定等の手間のかかる初期設定が大きな手間となっている。
【0004】
このような課題の対策の一例として、特開2017-107343号公報(特許文献1)に記載の技術が知られている。この特許文献1では、クラウドサービスの認可トークン発行時にローカル認証情報を紐付けておき、認可トークン利用時に認可トークン情報からローカル認証情報を取得できるようにしている。これによれば、クラウドサービスで認可トークンからローカル認証のユーザーを特定でき、ローカル認証のユーザーを一意のユーザーとして認識することができるようになる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、特許文献1に記載された技術を上述のロボットサービスシステムに用いれば、ロボットの単一の認証情報を用いて、複数のサーバに対してアクセスすることはできるが、そのロボットに対応した地図情報の取得や権限設定といった範囲まではカバーできておらず、ロボットのサービス開始時に、各種の初期設定の手間がかかる問題を解決することはできないという課題が残っている。
【0007】
本発明の目的は、ロボットのサービス開始時に、各種の初期設定の手間を軽減できる新規なロボットサービスシステムを提供することにある。
【課題を解決するための手段】
【0008】
本発明は、
ロボットの役割に対応するサービス情報を保持するビル管理サーバを備え、
ビル管理サーバは、
ロボットからの作業開始要求を受け取ったとき、ロボットの役割とサービスエリア内でのロボットサービス許可範囲から、ロボットがサービスの提供に必要な情報へのアクセス権限を保持するトークンを生成してロボットへ返却するトークン生成部と、
ロボットからのトークンを使用したサービス情報の取得依頼に対して、トークン生成部で決定したアクセス権限の範囲内でロボットの役割に対応するサービス情報を選択してロボットへ返却するサービス情報選択部とを備えるロボットサービスシステム、を特徴とするものである。
【発明の効果】
【0009】
本発明によれば、自律移動可能なロボットがサービスエリアに配置されてサービスを開始する際において、事前に登録してあった情報を基に適切なデータ、権限が選択、取得できるようになるため、サービス開始時に必要な初期設定の手間を軽減することができるようになる。尚、上述した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態になるロボットサービスシステムの構成を示す構成図である。
【
図2】ビル管理サーバの構成を示すブロック図である。
【
図3】ロボット制御サーバの構成を示すブロック図である。
【
図5】ロボットサービスシステムで利用するテーブルの説明図である。
【
図6】ロボットサービスシステムの処理機能を説明するフローチャートである。
【
図7】トークンを生成する処理機能を説明するフローチャートである。
【
図8】サービス情報を選択する処理機能を説明するフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面を用いて詳細に説明するが、本発明は以下の実施形態に限定されることなく、本発明の技術的な概念の中で種々の変形例や応用例をもその範囲に含むものである。
【0012】
尚、以下に説明する実施形態において、その構成要素(要素ステップなどを含む)は、特に明示した場合、及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものでもない。
【0013】
図1は、本発明の実施形態になるロボットに対してサービスに必要なデータを共有するシステムの構成例を示している。本実施形態のロボットサービスシステムは、ロボット400が動作するサービスエリア10(建築物周辺や建築物の階床等)と、ロボット400やロボット管理サーバ300と接続し、認証権限等の管理を行うビル管理サーバ200と、ロボット400へのデータ共有やサービスエリア10に配置されているエレベーター70への操作やデータ取得を行うロボット制御サーバ300とを備えている。
【0014】
また、サービスエリア10内でサービス(例えば、ユーザーに対して人と対話するサービス、人と対話をしながら目的の場所まで移動で案内するサービス、サイネージ等と連動し、ロボットのモーションを交えながら不特定多数の聴衆に向けて一方的に情報を発信する演説サービス、荷物を特定場所に届けるサービス、清掃サービス等)を提供するための機器として自律移動可能な情報処理装置であるロボット400と、ビル管理サーバ200、ロボット制御サーバ300とサービスエリア10の各種情報機器と通信を行うインターネット50と、サービスエリア10内で、エレベーター制御装置80やロボット400とが接続されて通信を行うための構内LAN60と、サービスエリア10に設置されているエレベーター70と、各所からの依頼を受けエレベーター70の制御を行うエレベーター制御装置80を備えている。
【0015】
尚、以下ではサービスエリア10でサービスを提供するためのサービス提供機器を、自律移動可能な情報処理装置であるロボット400として説明するが、サービス提供機器はロボットに限定されるものではなく、サービスを提供できる機器であれば、その形状、移動手段は問わないものである。
【0016】
また、サービスエリア10に設置されているエレベーター70は一台としているが、複数のエレベーターが備えられていても良いし、更に、サービスエリア10に設置されている機器はエレベーターに限らず、監視カメラ、ロボットの充電ステーション、制御可能なドア、その他センサ等を構成要素として含んでいても良いものである。
【0017】
サービスエリア内10は、構内LAN(Local Area Network)60で接続される。構内LANの接続方式は、例えば有線LAN、無線LAN、短距離無線等を使用でき、これらは単独、或いは複数の接続方式を組み合せて併用しても良いものである。
【0018】
図2は、ビル管理サーバ200の構成を示している。ビル管理サーバ200の処理内容は、一般的なコンピュータの補助記憶装置204にプログラム(ソフトウェア)の形で格納され、CPU(Central Processing Unit)202が、補助記憶装置204から読み出したプログラムをメモリ201上に展開して、具体的な処理が実行される。また、ビル管理サーバ200は、ネットワークI/F205を介して他のサーバやロボット、その他のサービス提供機器と通信することができる。
【0019】
I/O(入出力インタフェース)203は、ユーザーがビル管理サーバ200に具体的な指示を入力し、プログラムの実行結果等をユーザーに出力(例えば提示)するためのユーザーインタフェースである。I/O203には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続されている。更に、I/O203は、ネットワークを経由して接続された管理端末によって提供されるユーザーインタフェースが接続されてもよい。
【0020】
CPU202は、メモリ201に格納されたプログラムを実行するプロセッサである。メモリ201は、不揮発性の記憶素子であるROM(Read Only Memory)や揮発性の記憶素子であるRAM(Random Access Memory)を含むことができる。
【0021】
ROMは、不変のプログラム(例えば、BIOS:Basic Input Output System)などが格納される。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置202に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
【0022】
具体的に、メモリ201は、認証部211,トークン生成部212、トークン確認部213、リクエスト受信部214,データ送信部215,サービス情報選択部216、アクセス権限制御部217が格納される。これらはプログラムの実行によって得られる制御機能部として動作される。
【0023】
認証部211は、ロボット400から認証依頼が送信されてきた際に、認証依頼に含まれるロボットID、パスワードからそのロボットがビル管理サーバ200の管理下にあるロボットか、また、そのロボットがどういった種別のロボットかを判別する機能を備えている。また、認証依頼の中に含まれるロボットの位置情報から、ロボットが現時点でどのサービスエリアにいるかを判別する機能を備えている。
【0024】
トークン生成部212は、認証部211でロボット300が管理下のロボットであると確定した際に動作し、ロボット400からのデータ取得依頼、または、ロボット制御サーバ300からの認証情報確認依頼で利用するトークンを生成し、後述するトークン情報DB223にトークン情報を格納する機能を備えている。このトークンは、アクセス権限を備えるトークンとして機能する。
【0025】
トークン確認部213は、ロボット400からのデータ取得依頼、またはロボット制御サーバ300からの認証情報の確認依頼で送られてきたトークンが、上述したトークン生成部212で予め生成されたトークンと一致しているか否かの確認を行う機能を備えている。
【0026】
リクエスト受信部214は、ロボット400、ロボット制御サーバ300から送られてきたリクエストを受信し、それが何のリクエストであるか判定を行う機能を備えている。
【0027】
データ送信部215は、リクエスト受信部214で受信したリクエストに応じた応答をロボット400、ロボット制御サーバ300へ送信する機能を備えている。
【0028】
サービス情報選択部215は、ロボット300からデータ取得依頼がきた際に、トークンに紐づけられているロボット情報、及びサービスエリア情報から、ロボット400がサービスを提供する際に必要となるデータを選択する機能を備えている。
【0029】
アクセス権限制御部217は、トークン生成部212のトークン生成時に、ロボット情報、及びサービス情報から、どこまでの範囲内のデータ取得を許可するかを設定するアクセス権限や、サービスエリア内での操作情報をどこまで許可するかを設定する操作権限を付与する機能を備えている。したがって、トークン生成部212で生成されるトークンには、少なくともアクセス権限と操作権限が付与されることになる。
【0030】
また、メモリ201は、ロボット情報DB221(
図5参照)、サービスエリア情報DB222(
図5参照)、トークン情報DB123(
図5参照)、サービス情報DB224(
図5参照)、ロボット役割情報DB225(
図5参照)が格納されている。
【0031】
補助記憶装置204は、例えば、磁気記憶装置(HDD:Hard Disk Drive)、フラッシュメモリ(SSD:Solid State Drive)などの大容量かつ不揮発性の記憶装置を使用することができる。また、補助記憶装置204は、CPU102により実行されるプログラム、及びプログラムの実行時に使用されるデータが格納されている。
【0032】
すなわち、周知のようにプログラムは、補助記憶装置204から読み出されて、メモリ201にロードされ、CPU202によって実行される。ビル管理サーバ200は、物理的に一つの計算機上で、又は論理的、又は物理的な複数の計算機上で構成される計算機システムである。また、メモリ201に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機の資源上に構築された仮想計算機上で動作しても良いものである。
【0033】
また、ビル管理サーバ200と他のサーバ、情報制御装置が一つの物理的、又は論理的計算機に収容されても良い。尚、プログラムの実行によって実現される処理の全部、又は一部の処理をハードウェア(例えば、Field-Programmable Gate Array)によって実現しても良い。
【0034】
また、ビル管理サーバ200の役割として、サービスエリアに設置されたセンサの制御やドア制御等を行うことができるが、本発明には直接的に関わりがないため、説明を割愛している。
【0035】
図3は、ロボット制御サーバ300の構成を示している。ロボット制御サーバ300の処理内容は、一般的なコンピュータの補助記憶装置304にプログラム(ソフトウェア)の形で格納され、CPU(Central Processing Unit)302が、補助記憶装置304から読み出したプログラムをメモリ301上に展開して、具体的な処理が実行される。ロボット制御サーバ300は、ネットワークI/F305を介して、他のサーバやロボット、及び他のサービス提供機器と通信する。
【0036】
I/O(入出力インタフェース)303は、ユーザーがロボット制御サーバ300に具体的な指示を入力し、プログラムの実行結果等をユーザーに出力(例えば提示)するためのユーザーインタフェースである。I/O303には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O303は、ネットワークを経由して接続された管理端末によって提供されるユーザーインタフェースが接続されても良い。
【0037】
CPU302は、メモリ301に格納されたプログラムを実行するプロセッサである。メモリ301は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。
【0038】
ROMは、不変のプログラム(例えば、BIOS:Basic Input Output System)などが格納される。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置302に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
【0039】
具体的に、メモリ301は、リクエスト受信部311、データ送信部312、サービス情報選択部313、認証情報確認部314、エレベーター連携制御部315が格納される。これらはプログラムの実行によって得られる制御機能部として動作される。
【0040】
リクエスト受信部311は、ロボット400からのリクエストを受信し、そのリクエストがどのようなリクエストか判断する機能を備えている。
【0041】
データ送信部312は、リクエスト受信部311にて受けとったリクエストに応じた応答を送信する機能を備えている。
【0042】
サービス情報選択部313は、ロボット400からのデータ取得依頼を受けた際に、認証情報確認部314にて得られたロボット情報を基に、ロボット400へ送信するデータを選択する機能を備えている。
【0043】
認証情報確認部314は、ロボット400からのリクエストがあった際に、トークン情報をビル管理サーバ200へ送信し、そのロボット400が認証済みのロボットであるかを確認する機能を備えている。
【0044】
エレベーター連携制御部315は、ロボット400からのリクエストがあった場合に、サービスエリア10に設置されたエレベーター制御装置80に対して、エレベーター70の呼び出し、移動、扉の開閉等の各種命令を行う機能を備えている。
【0045】
また、メモリ301は、サービス情報DB321が格納されている。このサービス情報DB321は、サービス情報DB224と同等のものであり、
図5で詳細を説明する。
【0046】
補助記憶装置304は、例えば、磁気記憶装置(HDD:Hard Disk Drive)、フラッシュメモリ(SSD:Solid State Drive)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置304は、CPU302により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。
【0047】
すなわち、プログラムは、補助記憶装置304から読み出されて、メモリ301にロードされ、CPU302によって具体的な処理が実行される。ロボット制御サーバ300は、物理的に一つの計算機上で、又は論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ301に格納されたプログラムが、同一の計算機上で別個のスレッドで動作しても良く、複数の物理的計算機資源上に構築された仮想計算機上で動作しても良い。
【0048】
更に、ロボット制御サーバ300は、クラウド上に必ず配置される必要はなく、サービス情報DB321に格納される情報が、サービスエリア10の外に保存できない場合等は、ロボット制御サーバ300がサービスエリア10内に配置されることもある。また、サービス情報DB321のみサービスエリア10内に配置されているサーバに格納されている構成も考えらえれる。
【0049】
また、ロボット制御サーバ300と他のサーバや装置が、一つの物理的又は論理的計算機に収容されても良い。尚、プログラムの実行によって実現される処理の全部、又は一部の処理をハードウェア(例えば、Field-Programmable Gate Array)によって実現しても良い。
【0050】
図4はロボット400の構成を示している。ロボット400の処理内容は、一般的なコンピュータの補助記憶装置404にプログラム(ソフトウェア)の形で格納され、CPU(Central Processing Unit)402が、補助記憶装置404から読み出したプログラムをメモリ401上に展開して、実行する。
【0051】
ロボット400は、通信I/F405を介して他のサーバや機器と通信する。更にロボット400は、頭、腕、脚といったロボットの機構部分である機構部406と、機構部を制御する機構制御部407と、音声を発するスピーカ408と、音声を収集するマイク409と、発光部410、カメラ411を備えている。
【0052】
I/O(入出力インタフェース)403は、ユーザーがロボット400に具体的な指示を入力し、プログラムの実行結果等をユーザーに出力(例えば提示)するためのユーザーインタフェースである。I/O403には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O403は、ネットワークを経由して接続された管理端末によって提供されるユーザーインタフェースが接続されても良い。
【0053】
CPU402は、メモリ401に格納されたプログラムを実行するプロセッサである。メモリ401は、不揮発性の記憶素子であるROM(Read Only Memory)、及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。
【0054】
ROMは、不変のプログラム(例えば、BIOS:Basic Input Output System)などが格納される。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置302に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
【0055】
具体的に、メモリ401は、位置管理部421、ロボット行動制御部422、サービス制御部423、音声処理部424、画像処理部425、対話処理部426、認証情報取得部427、サービス情報取得部428が格納される。これらはプログラムの実行によって得られる制御機能部として動作される。
【0056】
位置管理部421は、カメラセンサ411から取得する画像データを使って自己位置を推定する機能を備えている。
【0057】
ロボット行動制御部422は、サービス制御部423から指示を受け、スピーカ308から音声を再生したり、機構部306を制御してモーションを実行したり、特定の場所へ移動したり、発光部310を指示された発光パターンで発光させたり、エレベーターへの制御依頼を送信する機能を備えている。
【0058】
サービス制御部423は、サービスを提供するためにロボットが行動するシナリオを保持しており、外部からのイベント(例えば、音声入力や画像入力等)を受けて、シナリオフローからロボットが次に何を行動するかを判断する機能を備えている。
【0059】
音声処理部424は、マイク409に入力された音声データを分析し、テキストデータに変換する機能を備えている。
【0060】
画像処理部425は、カメラ411に入力された画像データを分析し、ロボット400の正面に人が存在するかの判断や、人の年齢や性別、感情等を推定する機能を備えている。
【0061】
対話処理部426は、音声処理部424が変換したテキストデータ、もしくはテキストデータが入力可能なデバイス(例えば、サイネージやタブレット、外部接続端末等)から入力されたテキストデータを受信し、予め学習した対話データに基づき、最適な回答を推測し、テキストデータとして出力する機能を備えている。
【0062】
認証情報取得部427は、予め保持しているロボット400自身のIDとパスワード、及び位置情報取得部429によって得られた位置情報を合わせてビル管理サーバ200に送信し、サービス制御部423やサービス情報取得部428で利用する認証情報(上述したトークンに該当する)を取得する。
【0063】
サービス情報取得部428は、認証情報取得部427で取得したトークンを使用して、ビル管理サーバ200、又はロボット制御サーバ300に対して、サービスに必要な情報を取得する機能を備えている。
【0064】
位置情報取得部429は、ネットワーク情報からのグローバルIPアドレスの取得、又はGPS(Global Positioning System)のサービスを利用した位置情報の取得等により、現時点でロボット400が配置されている位置情報を取得する。
【0065】
また、メモリ401は、サービス情報DB431が格納されている。サービス情報DB431は、サービス情報取得部428より取得したデータが格納されるデータベースで、ロボットが移動するために必要な地図情報や使用可能なエレベーターの位置等が保存される。
【0066】
補助記憶装置404は、例えば、磁気記憶装置(HDD:Hard Disk Drive)、フラッシュメモリ(SSD:Solid State Drive)等の大容量かつ不揮発性の記憶装置である。また、補助記憶装置404は、CPU402により実行されるプログラム、及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装置404から読み出されて、メモリ401にロードされ、CPU402によって実行される。
【0067】
ロボット400の計算機システムは、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ401に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、また複数の物理的計算機資源上に構築された仮想計算機上で動作しても良い。尚、プログラムの実行によって実現される処理の全部、又は一部の処理をハードウェア(例えば、Field-Programmable Gate Array)によって実現しても良い。
【0068】
本実施形態では、ロボット400の内部においてサービスの提供に必要な機能が動作している構成となっているが、必ずしもこれらがロボット400の中にある必要はない。例えば、音声処理部424,画像処理部425、対話処理部426が、クラウドサーバに配置されているロボット制御サーバ300内に配置され、これと連携することでサービスを提供する構成であってもよい。
【0069】
更に言えば、ロボット400の機体の制御に最低限必要な機能を除き、ロボット内部に配置する必要はなく、認証情報取得部427やサービス情報取得部428等を含めほとんどをロボット管理サーバ300に配置し、ロボット管理サーバ300とロボット400が互いに連携することで動作するようなロボット400であっても良い。このような構成の場合、認証情報の取得やサービス情報の取得はロボット管理サーバ300で実施することになる。
【0070】
図5はビル管理サーバ200のメモリ201に存在する各種のテーブルのデータ構造を示している。
【0071】
ロボット情報DB221は、サービス情報を取得するロボットの情報が格納されている。具体的には、
(1)ロボット情報の中でユニークな値を持つロボット情報識別子、
(2)ロボットが認証を行う際に提示するロボットID、
(3)ロボットが認証を行う際に提示する認証パスワード、
(4)ロボットの型式を示すロボット種別、
(5)そのロボットのサイズ(体格)、重量を示す寸法、及び重量、
(6)そのロボットがサービスエリアで、どの時間帯にどんなサービスを実施するのかを示すサービススケジュール
等が格納されている。
【0072】
尚、サービススケジュールは、例えば、10:00~12:00の範囲で受付、12:00~17:00の範囲で案内等、のサービスを提供する時間帯と、どのサービスを実行するかの「役割名」がセットで格納されている。役割名は、後述するロボット役割情報DB225の役割名と同じ内容である。
【0073】
サービスエリア情報DB222は、ロボットがサービスを行う各サービスエリア10の情報が格納されている。具体的には、
(1)サービスエリア情報の中でユニークな値を持つサービスエリア情報識別子、
(2)そのサービスエリアの名称を示すサービスエリア名、
(3)そのサービスエリアがどの地図情報のどの位置、範囲にあるかを示す位置情報(GPS座標等)、
(4)そのサービスエリアから通信を行う際に使用されるIPアドレスの一覧、
(5)そのサービスエリア内でロボットに対してどの時間帯にどんなサービスを許可するのかを示すサービス許可範囲(例えば、営業時間内10~19:00にエリア内全域でのエレベーター利用を含めた案内サービス、深夜0:00~6:00に特定階層での警備サービス、10:00~12:00に特定位置での受付サービス等である)、
(6)ロボットが取得するサービス情報が格納されている場所を示すサービス情報保存先、例えばビル管理サーバ200のURLやロボット制御サーバ300にアクセスするためのローカルIPアドレス
等を格納している。
【0074】
トークン情報DB223は、ロボットからの認証依頼を受け生成されるトークン情報が格納されている。具体的には、
(1)トークン情報の中でユニークな値を持つトークン情報識別子、
(2)そのトークンを利用するロボット情報を示す対象ロボット(ここではロボット情報DB221のロボット情報識別子とされている)、
(3)トークン生成時にロボット情報DB221に格納される役割情報、及びサービスエリア情報DB222に格納されるロボットサービス許可範囲から判定され、どの情報へのアクセスが許可(アクセス権限)されるか、どの時間帯にどんな操作が許可(操作権限)されるかを示す許可権限(例えば、10:00~19:00の範囲のサービスエリア全域の地図情報へのアクセス権限、及びエレベーター操作権限、0:00~6:00サービスエリア1階のみの地図情報、ビル内の通行権限等である)、
(4)その期間を過ぎると認証が無効になる有効期限、
(5)ロボット400やロボット制御サーバ300が各種操作時に提示するトークン文字列
等を格納している。
【0075】
ロボット役割情報DB225は、ロボットが実行する役割に関する情報が格納されている。具体的には、
(1)ロボット役割情報の中でユニークな値を持つロボット役割情報識別子、
(2)どんなサービスを実行するのかを示す役割名、
(3)その役割を実行するために必要な権限を示す必要権限(例えば、サービスエリア地図情報やエレベーター操作権限等)
等が格納されている。
【0076】
サービス情報DB224、及び321は、ロボットがサービスを実行する際に必要な情報が格納されている。具体的には、
(1)サービス情報の中でユニークな値を持つサービス情報識別子、
(2)このサービス情報がどのサービスエリアのものかを示す対象サービスエリア(ここではサービスエリア情報DB222のサービスエリア情報識別子を持つ)、
(3)このサービス情報がどの役割に対応したサービス情報なのかを示す対応役割、(4)このサービス情報がどのロボットが利用できるかを示す対応ロボット寸法および重量、
(5)サービス情報として保持するサービスエリアの地図データ、
(6)サービスエリア内で許可するエレベーター等への操作権限
等が格納されている。
【0077】
このサービス情報は、サービスエリア内でロボットの役割やサイズに応じて複数定義されており、
図6に示すサービス情報の取得時にサービス情報の取得依頼を送信したロボットの役割、寸法、重量に応じてこのサービス情報のいずれかが選択される。
【0078】
ここでは、サービス情報としての地図情報、及び操作権限としてのエレベーターを例として挙げているが、これに限るものではなく様々なサービスパターンが考えられる。例えば、
(1)ロボットの種別に応じて利用可能な充電箇所が追記された地図情報を送る、
(2)ロボット種別に対応した通行可能エリアを選択して移動経路情報を送る、つまり、ビル管理サーバ200によるロボット400へ返却するサービス情報は、ロボット400の寸法、重量に基づき、ロボット400が通行可能なサービスエリア内の経路に関する情報を送る、
(3)ロボットの重量とエレベーターの運搬可能重量を比較し、そのロボットが利用可能なエレベーターを選択してその権限を送る、
(4)現在のロボットのバッテリー容量を参照して、バッテリー容量で実行可能な範囲のサービスに対応した各種情報を送る、つまり、サービス情報を選択する際に、ロボットが使用可能なバッテリー容量を参照し、ロボットへ返却するサービス情報を選択して送る、
(5)エレベーターの他にサービスエリアに設置されている監視カメラに対する映像取得権限や操作権限等を送る
といったサービスを行うことができる。
【0079】
尚、
図5に示したテーブルの各種情報は、ロボットの運用開始前にデータべースに対して事前に保存されている。これらの情報を用いて、自律移動可能なロボットがサービスエリアに配置されてサービスを開始する際に、事前に登録してあったこれらの情報を基に適切なデータ、権限が選択、取得できるようになる。
【0080】
図6は、
図1に示すロボットサービスシステムを用いて、ロボット400がビル管理サーバ200、又はロボット制御サーバ300からサービス情報を取得する際のフローチャートを示している。この時、ロボット300のロボット情報は、ロボット情報DB221に登録され、サービスエリアの情報は、サービスエリア情報D222に登録されているものとする。
【0081】
先ず、「ステップS601」では、ロボット400は位置情報取得部429で位置情報を取得する。この実施形態において、位置情報はGPS衛星を用いて取得するものとする。この処理が完了する「ステップS602」に移行する。
【0082】
次に「ステップS602」では、ロボット400は、認証情報取得部427よりビル管理サーバ200に対して、自身の持つID、パスワード、及び「ステップS601」で取得した位置情報を合わせて認証依頼を送信する。以上はロボット400による処理である。この処理が完了する「ステップS603」に移行する。
【0083】
次にビル管理サーバ200による処理が実行される。「ステップS603」では、ビル管理サーバ200は、リクエスト受信部214がロボット400からのリクエストを受信し、認証依頼に含まれるロボットID、パスワードが事前に登録されているものと一致しているか確認を行う。一致していた場合、そのロボット情報DB221からロボットの情報を取得する。この処理が完了する「ステップS604」に移行する。
【0084】
次に「ステップS604」では、ビル管理サーバ200の認証部201にて認証依頼に含まれる位置情報を、サービスエリア情報DB222の情報と照らし合わせ、ロボット400が位置するサービスエリアを特定し、サービスエリア情報を取得する。この処理が完了する「ステップS700」に移行する。
【0085】
次に「ステップS700」では、「ステップS603」、「ステップS604」で得られた、ロボット情報、及びサービスエリア情報から、ビル管理サーバ200のトークン生成部212でトークンの生成処理を実行する。このトークンの生成処理の詳細は
図7で詳細に説明する。トークンの生成処理が完了すると次の「ステップS605」に移行する。
【0086】
次に「ステップS605」では、ビル管理サーバ200のデータ送信部215で「ステップS700」によって生成されたトークン情報と、サービスエリア情報に含まれるデータ取得先情報をロボット400へ返却する。以上はビル管理サーバ200による処理である
次にロボット400による処理が実行される。「ステップS606」では、ロボット400のサービス情報取得部428で「ステップS605」によって返却されたデータ取得先を確認し、ビル管理サーバ200へデータを取得しにいくか、ロボット制御サーバ300へデータを取得しに行くか判断する。
【0087】
データ取得先がビル管理サーバ200だった場合は、「ステップS607」へ進み、データ取得先がロボット制御サーバ300だった場合は、「ステップS610」へ進む。
【0088】
「ステップS607」では、ロボット400のサービス情報取得部428が「ステップS605」にて受信したデータ取得先に対しては「ステップS605」で受けとったトークンを付与してサービス情報の取得依頼を送信する。以上はロボット400による処理である。
【0089】
次にビル管理サーバ200による処理が実行される。「ステップS608」では、ビル管理サーバ200は、リクエスト受信部214でリクエストを受信し、トークン確認部213で、トークンが「ステップS700」によって発行された正しいものであるか確認を行う。この時、トークンの確認結果と合わせ、ロボット情報、及びトークンに許可されている権限情報(アクセス権限や操作権限)も取得する。この処理が完了する「ステップS800」に移行する。
【0090】
次に「ステップS800」では、ビル管理サーバ200のサービス情報選択部216で、トークンから特定できるロボット情報と、トークンに設定されている権限情報から、どのサービス情報をロボットへ返却するか選択する。「ステップS800」の詳細は
図8で説明する。この処理が完了する「ステップS609」に移行する。
【0091】
「ステップS609」では、ビル管理サーバ200のデータ送信部215で、「ステップS800」で選択されたサービス情報をロボット400へ送信する。これらの処理により、ロボット400は、サービスに必要な地図情報や許可権限(アクセス権限や操作権限)を取得でき、ロボット毎に個別の設定作成や投入を必要とせずに、サービスエリアでのサービスを開始することができる。
【0092】
次に「ステップS606」に戻り、「ステップS606」でデータ取得先がロボット制御サーバであった場合、「ステップS610」に進む。
【0093】
「ステップS610」では、ロボット400のサービス情報取得部428が「ステップS605」で受信したデータ取得先とトークンを付与してデータ取得依頼をロボット制御サーバに対して送信する。以上はロボット400による処理である。
【0094】
次にロボット制御サーバ300による処理が実行される。「ステップS611」では、ロボット制御サーバ300の認証情報確認部314がロボット400から送信されたトークンを取得し、そのトークンが「ステップS605」にて発行された正しいものか否かを確認するため、ビル管理サーバ200のトークン確認部213に対してトークンの確認依頼を行う。この時、トークンの確認結果と合わせ、ロボット情報、及びトークンに許可されている権限情報も取得する。
【0095】
トークンが正しかった場合、ロボット制御サーバ300のサービス情報選択部313で「ステップS800」のデータ選択処理を行う。これは上述した同様のデータ選択処理となる。この処理が完了する「ステップS612」に移行する。
【0096】
次に「ステップS612」では、ロボット制御サーバ300のデータ送信部312から「ステップS800」で選択されたサービス情報をロボット400へ送信する。これらの処理により、ロボット400は、サービスに必要な地図情報や許可権限(アクセス権限や操作権限)を取得でき、ロボット毎に個別の設定作成や投入を必要とせずに、サービスエリアでのサービスを開始することができる。
【0097】
ここで、「ステップS611」では、トークンをビル管理サーバ200に対して確認する流れとしたが、「ステップS605」を実行した後で、ビル管理サーバ200からロボット制御サーバ300に対して予めトークンを送信しておき、ロボット制御サーバ300の内部でトークンの確認を行うことも可能である。
【0098】
次に、
図6で示した「ステップS700」のトークンの生成処理について
図7に示すフローチャートで説明する。「ステップS700」のトークン生成処理は、ビル管理サーバ200のトークン生成部212で実行される。
【0099】
先ず、「ステップS701」では、ロボット情報DB211からロボット400の種別を特定し、いつどんなサービスを実施するのかを示すサービススケジュールを取得する。この処理が完了する「ステップS702」に移行する。
【0100】
次に「ステップS702」では、ロボット役割情報DB215を参照し、その役割を実行するために必要な許可権限を特定する。この処理が完了する「ステップS703」に移行する。
【0101】
次に「ステップS703」では、サービスエリア情報DB212からサービスエリア情報を取得し、そのサービスエリア内で、ロボットがいつどんなサービスを実行できるかを示す、ロボットサービス許可範囲を取得する。この処理が完了する「ステップS704」に移行する。
【0102】
次に「ステップS704」では、「ステップS703」で取得したロボットサービス許可範囲内で、「ステップS702」で特定した役割に必要な許可権限(アクセス権限や操作権限)を決定する。この処理が完了する「ステップS705」に移行する。
【0103】
次に「ステップS705」では、ロボットに返信として送るためのトークン文字列を生成する。この処理が完了する「ステップS706」に移行する。
【0104】
次に「ステップS706」では、「ステップS704」で決定した許可権限と合わせて、トークンをトークン情報DB213に格納する。この格納された許可権限とトークンは、「ステップS605」以降での処理に使用される。
【0105】
次に、
図6で示した「ステップS800」のサービス情報の選択処理について、
図8に示すフローチャートで説明する。「ステップS800」のサービス情報選択処理は、ビル管理サーバ200のサービス情報選択部216、又はロボット制御サーバ300のサービス情報選択部313で実行される。
【0106】
先ず、「ステップS801」では、「ステップS608」、又は「ステップS611」において、トークン情報を確認した際のロボット情報、及びアクセス権限を取得する。この処理が完了する「ステップS802」に移行する。
【0107】
次に「ステップS802」では、取得したロボット情報から寸法情報等の必要な情報を取り出し、それに合致したサービス情報をサービス情報DB214、又はサービス情報DB321から取得する。この処理が完了する「ステップS803」に移行する。
【0108】
次に、「ステップS803」では、選択したサービス情報と予め取得していたトークンのアクセス権限を比較する。この処理が完了する「ステップS804」に移行する。
【0109】
次に、「ステップS804」では、トークンのアクセス権限の範囲に含まれない情報を削除し、最終的にロボット返却するサービス情報を決定する。この時、サービスエリア情報DB222のロボットサービス許可範囲で、サービスを提供できる時間帯に制限があり、途中でロボットサービスを中断する必要がある場合がある。
【0110】
この時は、ロボット400に返却するサービス情報に対して、トークンのアクセス権限(上述のロボットサービス許可範囲に応じて有効な時間帯が定められている)に応じた有効期限を付加しておき、サービス情報の有効期限を超過した際に、再度サービス情報の取得処理を実行させるようにすることで、ロボットサービスの切り替えや中断を実現することもできる。
【0111】
このような処理を実行することにより、ロボット400はサービスに必要な地図情報やアクセス権限を取得でき、ロボット毎に個別の設定作成や投入を必要とせず、サービスエリアでのサービスを開始することができる。
【0112】
以上述べた通り、本発明は、ロボットの役割に対応するサービス情報を保持するビル管理サーバを備え、ビル管理サーバは、ロボットからの作業開始要求を受け取ったとき、ロボットの役割とサービスエリア内でのロボットサービス許可範囲から、ロボットがサービスの提供に必要な情報へのアクセス権限を保持するトークンを生成してロボットへ返却するトークン生成部と、ロボットからのトークンを使用したサービス情報の取得依頼に対して、トークン生成部で決定したアクセス権限の範囲内でロボットの役割に対応するサービス情報を選択してロボットへ返却するサービス情報選択部とを備えるロボットサービスシステム、を特徴とするものである。
【0113】
これによれば、自律移動可能なロボットがサービスエリアに配置されてサービスを開始する際において、事前に登録してあった情報を基に適切なデータ、権限が選択、取得できるようになるため、サービス開始時に必要な初期設定の手間を軽減することができるようになる。
【0114】
尚、本発明は上記したいくつかの実施例に限定されるものではなく、様々な変形例が含まれる。上記の実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、ある実施例の構成に他の実施例の構成を加えることも可能である。各実施例の構成について、他の構成の追加、削除、置換をすることも可能である。
【符号の説明】
【0115】
10…サービスエリア、50…インターネット、60…構内LAN、70…エレベーター、80…エレベーター制御装置、200…ビル管理サーバ、300…ロボット制御サーバ、400…ロボット。