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

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

▶ フェアリーデバイセズ株式会社の特許一覧

<>
  • 特許-遠隔制御システム及び端末装置 図1
  • 特許-遠隔制御システム及び端末装置 図2
  • 特許-遠隔制御システム及び端末装置 図3
  • 特許-遠隔制御システム及び端末装置 図4
  • 特許-遠隔制御システム及び端末装置 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-04-18
(45)【発行日】2023-04-26
(54)【発明の名称】遠隔制御システム及び端末装置
(51)【国際特許分類】
   G06F 3/048 20130101AFI20230419BHJP
【FI】
G06F3/048
【請求項の数】 3
(21)【出願番号】P 2023505812
(86)(22)【出願日】2022-10-18
(86)【国際出願番号】 JP2022038782
【審査請求日】2023-01-26
(31)【優先権主張番号】P 2021173877
(32)【優先日】2021-10-25
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】513190830
【氏名又は名称】Fairy Devices株式会社
(74)【代理人】
【識別番号】100116850
【弁理士】
【氏名又は名称】廣瀬 隆行
(74)【代理人】
【識別番号】100165847
【弁理士】
【氏名又は名称】関 大祐
(72)【発明者】
【氏名】藤野 真人
(72)【発明者】
【氏名】久池井 淳
(72)【発明者】
【氏名】竹崎 雄一郎
【審査官】塩屋 雅弘
(56)【参考文献】
【文献】特開2009-223412(JP,A)
【文献】米国特許出願公開第2021/0099320(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
3/048-3/04895
11/ 07
11/28-11/36
(57)【特許請求の範囲】
【請求項1】
表示部を有しない端末装置と、ネットワークを介して前記端末装置と接続された遠隔制御装置とを含む、前記端末装置の遠隔制御システムであって、
前記端末装置は、
一又は複数の入出力部と、
前記入出力部を利用するプログラムを格納した記憶部と、
前記プログラムを操作するためのグラフィックユーザインターフェース(GUI)画面を生成するGUI部と、
前記遠隔制御装置からの命令情報に基づいて前記GUI画面を介して前記プログラムを操作する操作処理部と、
前記GUI画面上の少なくとも一部の領域のGUI画像を取得するキャプチャ部と、
前記GUI画像を前記ネットワークを介して前記遠隔制御装置に送信する画像送信部と、を有し、
前記遠隔制御装置は、
前記プログラムの操作の結果に関連する前記GUI画面上の複数の参照画像を記憶した画像記憶部と、
前記端末装置から受信した前記GUI画像が前記参照画像と一致するか否かを判断し、その判断結果に応じて前記端末装置に実行させる処理を分岐させる画像検証部とを有する
遠隔制御システム。
【請求項2】
前記遠隔制御装置は、前記GUI画面上の座標情報、クリック情報、及び文字入力情報のうちの1つ以上を含む命令情報を前記端末装置に送信する命令送信部を、さらに有する
請求項1に記載の遠隔制御システム。
【請求項3】
前記命令情報は予め手順が定めれたものであり、
前記命令送信部は、複数の前記命令情報を前記手順に従って自動的に前記端末装置に送信する
請求項2に記載の遠隔制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置の遠隔制御システムに関する。また、本発明は、その端末装置自体に関するものでもある。
【背景技術】
【0002】
本願出願人は、小型で多機能な首掛け型のウェアラブルデバイスを提案している(例えば特許文献1)。この首掛け型装置は、カメラや、スピーカ、マイク、ジェスチャーセンサ等の入出力機器を備えており、対話している者同士の会話の録音や解析、カメラによる撮影画像の解析を行うことができる。また、この首掛け型装置は、ネットワークを介して外部の支援装置と接続できるように構成されている。このため、首掛け型装置を現場の作業者に装着させ、支援装置からこの首掛け型装置に対して音声等で支援情報を伝達することで、現場の作業者を遠隔地から支援することができる。
【0003】
また、この首掛け型装置は、モニタやディスプレイといった表示装置を搭載しないことにより装置全体の小型化を達成している。このため、カメラやマイクのオン/オフ等の操作は、ジェスチャーセンサが検出した動作やマイクに対する音声入力によって行われる。
【0004】
この首掛け型装置のように、表示装置を有しない装置は、CUI(Character User Interface)ベースのOS(Operating System)によって制御することが一般的である。ユーザインターフェースとしてはこのCUIの他にGUI(Graphical User Interface)がよく知られているが、表示装置を有しない装置にGUIベースのOSを搭載してても、ユーザが視覚的な操作によってコンピュータに命令等を出すことができるというGUIの恩恵を受けられない。一方で、CUIは、装置に入力された文字列によってOS上のプログラムの操作などを行うものであることから、処理の自動化が容易であったり、プログラムの作成を簡略化できたりするというメリットがある。このため、表示装置を有しない装置については、GUIを搭載するメリットが少ない一方で、CUIを搭載するメリットが大きいことから、通常はCUIベースのOSによって制御されることとなる。
【0005】
また、近年では、人間がキーボードやマウスを用いて行う単純作業や定型作業をソフトウェアロボトットによって自動的に実行するRPA(Robotic Process Automation)が普及している(例えば特許文献2)。首掛け型装置をPRAプログラムによって自動制御する場合、CUIベースでソフトウェアロボットに実行させる作業のシナリオを作成し、このシナリオに沿って首掛け型装置の持つ各種機能を自動的に実行させることとなる。また、首掛け型装置を支援装置によって遠隔制御する場合、支援装置にてPRAプログラムを実行し、所定の制御命令だけを首掛け型装置に送信することも提案されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2021-082802号公報
【文献】特開2020-155019号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、首掛け型装置のように表示装置を有しない端末装置をRPAプログラムで遠隔で自動制御する場合、端末装置に発生したエラー状態を検知できない可能性がある。その場合、遠隔側の支援装置から制御命令を端末装置に送り続けることとなるが、端末装置ではこの制御命令に従った処理を実行できない。このように、従来は、表示装置を有しない端末装置をRPAプログラムによって遠隔から自動制御することは困難であるとされていた。
【0008】
そこで、本発明は、表示装置を有しない端末装置を効率的に遠隔制御できるシステム又は端末装置自体を提供することを主な目的とする。
【課題を解決するための手段】
【0009】
本発明の第1の側面は、遠隔制御システムに関する。遠隔制御システムは、端末装置と遠隔制御装置を含む。端末装置は、ディスプレイやモニタなどの表示部を有しないものである。遠隔制御装置は、インターネット等のネットワークを介して端末装置と接続されている。端末装置は、一又は複数の入出力部、記憶部、GUI部、操作処理部、キャプチャ部、及び画像送信部を有する。入出力部は、情報を入力又は出力するための装置であり、デジタルカメラ、マイク、その他の各種センサ等の入力部と、スピーカ、プリンタ、アクチュエータ等の出力部を含む。なお、この入出力部には表示部は含まれない。記憶部は、入出力部を利用するプログラムを格納している。GUI部は、プログラムを操作するためのGUI画面を生成する。操作処理部は、遠隔制御装置からの命令情報に基づいてGUI画面を介してプログラムを操作する。キャプチャ部は、GUI画面上の少なくとも一部の領域のGUI画像を取得する。画像送信部は、GUI画像をネットワークを介して遠隔制御装置に送信する。一方、遠隔制御装置は、画像記憶部及び画像検証部を有する。画像記憶部は、プログラムの操作の結果に関連するGUI画面上の複数の参照画像を記憶している。画像検証部は、端末装置から受信したGUI画像が参照画像と一致するか否かを判断する
【0010】
本発明おいて、遠隔制御装置は、GUI画面上の座標情報、クリック情報、及び文字入力情報のうちの1つ以上を含む命令情報を端末装置に送信する命令送信部をさらに有することが好ましい。
【0011】
本発明において、命令情報は予め手順が定めれたものであり、遠隔制御装置の命令送信部は、複数の命令情報を手順に従って自動的に端末装置に送信するものであってもよい。すなわち、遠隔制御装置においてRPAプログラムを実行し、その命令情報をネットワークを介して端末装置に送信することとなる。
【0012】
本発明の第2の側面は、表示部を有しない端末装置に関する。この端末装置は、一又は複数の入出力部と、入出力部を利用するプログラムを格納した記憶部と、プログラムを制御するためのGUI画面を生成するGUI部と、GUI画面上の少なくとも一部の領域のGUI画像を取得するキャプチャ部と、GUI画像をネットワークを介して外部の装置(具体的には遠隔制御装置)に送信する画像送信部を有する。
【発明の効果】
【0013】
本発明では、画像の表示部を有しない端末装置にあえてGUI部を設け、遠隔制御装置からの命令情報に基づいた操作結果に関連して、端末装置がGUI画像を取得できるようにしている。そして、端末装置がGUI画像を遠隔制御装置に送信し、遠隔制御装置においてGUI画像と参照画像とが一致するか否かを判断する。これにより、遠隔制御装置からの命令情報に基づいた操作を端末装置が適切に完了させたどうかを機械的に判断できる。従って、表示装置を有しない端末装置であっても効率的に遠隔制御できるようになる。
【図面の簡単な説明】
【0014】
図1図1は、本発明の一実施形態に係る遠隔制御システムの全体図を示している。
図2図2は、端末装置(ウェアラブルデバイス)の一例を示している。
図3図3は、遠隔制御システムを構成する端末装置、クライアント装置、及びクラウドのそれぞれについて、ハードウェア要素の一例を示したブロック図である。
図4図4は、遠隔制御システムを構成する主なソフトウェア要素の一例を示したブロック図である。
図5図5は、遠隔制御装置によって端末装置を自動的に遠隔制御する方法の一例を示したフロー図である。
【発明を実施するための形態】
【0015】
以下、図面を用いて本発明を実施するための形態について説明する。本発明は、以下に説明する形態に限定されるものではなく、以下の形態から当業者が自明な範囲で適宜変更したものも含む。
【0016】
図1は、本発明の一実施形態に係る遠隔制御システム100の全体構成を模式的に示している。本実施形態に係る遠隔制御システム100は、主に複数の作業者が現場で行う作業を支援者がインターネットを介して遠隔で支援するといった用途で好適に用いられる。
【0017】
図1に示されるように、遠隔制御システム100は、複数の端末装置10と、遠隔制御装置20(「遠隔制御装置」に対応)と、クラウド30を含む。端末装置10の例は、ウェアラブルデバイスである。ウェアラブルデバイスとしては、例えば首掛け型、眼鏡型、頭部装着型、及び腕時計型など挙げられるが、本実施形態では首掛け型のウェアラブルデバイスを採用している。このような端末装置10は、複数の作業者がそれぞれ一つずつ装着することになる。遠隔制御装置20としては、汎用的なパーソナルコンピュータ(PC)を利用できる。遠隔制御装置20は、基本的に複数の端末装置10を装着した作業者を支援するための支援者によって操作される。クラウド30は、インターネットを介して相互に接続された複数のサーバ装置によって構成されている。クラウド30は、複数の端末装置10及び遠隔制御装置20とインターネットを介して接続されており、遠隔制御装置20からの制御命令やデータを端末装置10に送信したり、その反対に端末装置10により得られたデータを遠隔制御装置20に送信するといった中継装置としての機能をも有する。
【0018】
図2は、端末装置10の一例を示した外観斜視図である。また、図3にも、端末装置10のハードウェア要素の例が示されている。図2に示されるように、本実施形態における端末装置10は首掛け型のウェアラブルデバイスである。端末装置10は、左腕部と、右腕部と、それらを装着者の首裏にて接続する本体部を備える。端末装置10を装着する際には、本体部を装着者の首裏に接触させ、左腕部と右腕部を装着者の首横から胸部側に向かって垂らすようにして、装置全体を首元に引っ掛ければよい。端末装置10の筐体内には、各種の電子部品が格納されている。
【0019】
左腕部と右腕部には、それぞれ複数の集音部14(マイク)が設けられている。集音部14は、主に装着者の周囲の音や、装着者と対話者の音声を取得することを目的として配置されている。装着者周囲で発生した音を広く集音できるように、集音部14としては、全指向性(無指向性)のマイクロホンを採用することが好ましい。集音部14としては、ダイナミックマイクやコンデンサマイク、MEMS(Micro-Electrical-Mechanical Systems)マイクなど、公知のマイクロホンを採用すればよい。集音部14は、音を電気信号に
変換し、その電気信号をアンプ回路によって増幅した上で、A/D変換回路によってデジタル情報に変換して制御部11へと出力する。集音部14によって取得した音信号は、筐体内に設けられた制御部11へ伝達されて所定の解析処理が行われる。
【0020】
左腕部には、撮像部16がさらに設けられている。具体的には、左腕部の先端面に撮像部16が設けられており、この撮像部16によって装着者の正面側の静止画像や動画像を撮影することができる。撮像部16によって取得された画像は、筐体内の制御部11に伝達され画像データとして記憶される。撮像部16としては一般的なデジタルカメラを採用すればよい。撮像部16は、例えば、撮影レンズ、メカシャッター、シャッタードライバ、CCDイメージセンサユニットなどの光電変換素子、光電変換素子から電荷量を読み出し画像データを生成するデジタルシグナルプロセッサ(DSP)、及びICメモリで構成される。撮像部16によって取得された画像データは、制御部11へと供給されて記憶部12に記憶され、所定の画像解析処理が行われたり、あるいは通信部13を介してインターネット経由でクラウドへと送信される。
【0021】
また、左腕部には、操作部15がさらに設けられている。操作部15は、装着者による操作の入力を受け付ける。操作部15としては、公知のスイッチ回路又はタッチパネルなどを採用することができる。操作部15は、例えば音声入力の開始又は停止を指示する操作や、装置の電源のON又はOFFを指示する操作、スピーカの音量の上げ下げを指示する操作、その他端末装置10の機能の実現に必要な操作を受け付ける。操作部15を介して入力された情報は制御部11へと伝達される。
【0022】
右腕部には、非接触型のセンサ部17がさらに設けられている。センサ部17は、主に端末装置10の正面側における装着者の手の動きを検知することを目的として、右腕部の先端面に配置されている。センサ部17の例は、近接センサ又はジェスチャーセンサである。近接センサは、例えば装着者の手指が所定範囲まで近接したことを検知する。近接センサとしては、光学式、超音波式、磁気式、静電容量式、又は温感式などの公知のものを採用できる。ジェスチャーセンサは、例えば装着者の手指の動作や形を検知する。ジェスチャーセンサの例は光学式センサであり、赤外発光LEDから対象物に向けて光を照射し、その反射光の変化を受光素子で捉えることで対象物の動作や形を検出する。センサ部17による検知情報は、制御部11へと伝達され、主に撮像部16の制御に利用される。具体的には、センサ部17の検知情報は、撮像部16起動や、撮影の開始、停止など、主に撮像部16の制御に利用される。例えば、センサ部17は、装着者の手などの物体がそのセンサ部17に近接したことを検知して撮像部16を制御することとしてもよいし、あるいはセンサ部17の検知範囲内で装着者が所定のジェスチャーを行ったことを検知して撮像部16を制御することとしてもよい。なお、本実施形態において、撮像部16とセンサ部17の位置を入れ替えることも可能である。
【0023】
装着者の首裏に位置する本体部の外側(装着者の反対側)には放音部(スピーカ)18が設けられている。本実施形態において、放音部18は、本体部の外側に向かって音を出力するように配置されている。このように、装着者の首裏から真後ろに向かって音を放出することで、この放音部18から出力された音が、装着者の正面前方に存在する対話者に直接的に届きにくくなる。これにより、対話者は、装着者自身が発した音声と端末装置10の放音部18から発せられた音とを区別しやすくなる。放音部18は、電気信号を物理的振動(すなわち音)に変換する音響装置である。放音部18の例は、空気振動により音を装着者に伝達する一般的なスピーカである。また、放音部18としては、装着者の骨を振動させることにより音を装着者に伝達する骨伝導スピーカであってもよい。なお、この場合、放音部18を本体部の内側(装着者側)に設けて、骨伝導スピーカが装着者の首裏の骨(頚椎)に接触するように構成すればよい。
【0024】
端末装置10の制御部11は、この端末装置10が備える他の要素を制御する演算処理を行う。制御部11としては、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサを利用することができる。制御部80は、基本的に
、記憶部21に記憶されているプログラム(OSを含む)を読み出してメインメモリに展開し、このプログラムに従って所定の演算処理を実行する。また、制御部80は、プログラムに従った演算結果を記憶部12に適宜書き込んだり読み出したりすることができる。また、詳しくは後述するが、端末装置10の制御部11は、遠隔制御装置20で実行されたRPAプログラムの命令情報に従って、記憶部21に記憶されている既成のアプリケーションプログラムを実行し、そのプログラムに基づいて各種のハードウェア要素を制御したり所定の演算を行うことができる。つまり、本システムにおいて、端末装置10には既成のアプリケーションプログラムがインストールされていれば十分であり、RPAプログラム自体は遠隔制御装置20において実行されることとなる。
【0025】
端末装置10の記憶部12は、制御部11での演算処理等に用いられる情報やその演算結果を記憶するための要素である。記憶部12のストレージ機能は、例えばHDD及びSDDといった不揮発性メモリによって実現できる。また、記憶部12は、制御部11による演算処理の途中経過などを書き込む又は読み出すためのメインメモリとしての機能を有していてもよい。記憶部11のメモリ機能は、RAMやDRAMといった揮発性メモリにより実現できる。また、記憶部11には、それを所持するユーザ固有のID情報が記憶されていてもよい。また、記憶部11には、端末装置10のネットワーク上の識別情報であるIPアドレスが記憶されていてもよい。
【0026】
端末装置10の通信部13は、クラウド上のサーバ装置又は別の端末装置10と無線通信するための要素である。通信部13は、インターネットを介してサーバ装置や別の首掛け型装置と通信を行うために、例えば、3G(W-CDMA)、4G(LTE/LTE-Advanced)、
5Gといった公知の移動通信規格や、Wi-Fi(登録商標)等の無線LAN方式で無線通信
するための通信モジュールを採用すればよい。また、通信部13は、別の端末装置10と直接的に通信を行うために、Bluetooth(登録商標)やNFC等の方式の近接無線通信用
の通信モジュールを採用することもできる。
【0027】
その他、端末装置10は、図3に示した構成に加えて、ジャイロセンサ、加速度センサ、地磁気センサ、近接センサ、又はGPSセンサなどのセンサ類など、一般的な携帯型情報端末に搭載されているモジュール機器を適宜搭載することができる。
【0028】
図2及び図3から明らかなように、本実施形態において、端末装置10は、ディスプレイやモニタなどの表示装置を有しない。このため、作業者は、各ハードウェア要素のオン・オフ等の比較的簡単な操作は行うことができるものの、アプリケーションプログラムの操作など複雑な操作は困難である。このため、このような表示装置を持たない端末装置10については、遠隔制御装置20によって遠隔操作することが特に有効である。
【0029】
図3は、さらに、遠隔制御装置20のハードウェア要素も示している。遠隔制御装置20としては、公知のパーソナルコンピュータ(PC)を利用できる。具体的には、遠隔制御装置20は、CPU等のプロセッサで構成された制御部21と、不揮発性メモリ及び揮発性メモリを含む記憶部22と、インターネット接続用の通信モジュールで構成された通信部23を含む。また、遠隔制御装置20は、マウスやキーボードなどの入力装置24と、ディスプレイ等の表示装置25をさらに含む。遠隔制御装置20は、現場の作業者に対して支援情報を提供する支援者(オペレーター等)によって操作される端末である。これにより、支援者は、遠隔地から現場に居る作業者に対して作業指示等を送ることができる。
【0030】
図3は、さらに、クラウド30のハードウェア要素も示している。本実施形態におけるクラウド30としては、一又は複数のサーバ装置31で構成された公知のクラウドシステムを利用することができる。本発明に係る情報処理システム100では、基本的に、様々な種類のアプリケーションプログラムを保持させたり、特に負荷の大きい処理を実行させたり、あるいは機密性の高い情報を保持させるために、このクラウド30を利用している。これにより、各端末装置10に予め様々なアプリケーションをインストールする手間が省けたり、各端末装置10での処理負荷が分散されたり、機密性の高い情報のセキュリティを保つことができるようになる。
【0031】
また、クラウド30には、データベース32が含まれていてもよい。なお、このデータベース32は、情報保存のためのサーバ装置を個別に設けることで構築されたものであってもよいし、各サーバ装置の記憶容量を集約することで仮想的に構築されたものであってもよい。このデータベース32には、本システム内で利用するアプリケーションプログラムについて、その実行に必要な認証情報が記憶されていてもよい。例えば、アプリケーションの実行に、アカウント認証が必要である場合、データベース32には、固有のアカウント名とそのパスワードを記憶しておけばよい。その他、このデータベース32には、アプリケーションの利用に必要な様々なデータを登録しておくことも可能である。また、このデータベース32には、端末装置10の装着者(作業者)に関する情報や遠隔制御装置20の操作者(支援者)に関する情報を登録することとしてもよい。
【0032】
図4は、本実施形態に係る遠隔制御システム100を構成する主なソフトウェア要素を示している。図4を参照して、遠隔制御システム100のアーキテクチャの基本について説明を行う。このアーキテクチャは、図2及び図3に示した各種ハードウェア、特に端末装置10の制御部11、記憶部12、及び通信部13、クラウド30のサーバ装置31及びデータベース32、遠隔制御装置20の制御部21、記憶部22、及び通信部23により実現されるものである。
【0033】
本実施形態では、基本的に、GUIベースのOSと、このOS上で動作する既成のプログラム等を各端末装置10に導入しておき、遠隔制御装置20おいて実行されたRPAプログラムに従って、各端末装置10においてプログラムを自動操作する。これにより、各端末装置10にRPAプログラムをインストールしたり、RPAで実行する作業手順を端末装置10内に定義しておかなくても、実質的に各端末装置10をRPAプログラムによって自動操作することができる。これにより、端末装置10が持つ様々な既成のプログラムを、遠隔制御装置20のRPAプログラムを介して自由に利用できる。
【0034】
具体的に説明すると、図4に示されるように、端末装置10は、第1のミドルウェア111、既成のプログラム112、SDK113、サービス114、及びGUIベースのOS115が設けられている。第1のミドルウェア111は、クラウド30に設けられた第2のミドルウェア131と連携するメッセージングシステムである。既成のプログラム112としては、特に制限されず、端末装置10が備えるハードウェア資源を利用して所定の機能を実行することが可能なあらゆるアプリケーションプログラムを利用できる。特に、プログラム112は、GUI画面によって操作可能なGUIベースのアプリケーションプログラムが採用される。端末装置10は、このような一般的に入手可能な汎用的なアプリケーションプログラム(いわゆるサードパーティ製アプリ)を利用することができる。SDK113とは、ソフトウェア開発キット(Software Development Kit)であり、プログラム112の実行時に利用される多様な関数をパッケージ化した情報群である。SDK113としては、例えばAndroid SDKなど、アプリケーションプログラムの開発者向けに
提供されているものを適宜利用することができる。サービス114は、ユーザが認識できる操作を行うフォアグラウンドサービス及び/又はユーザに認識されない操作を行うバックグラウンドサービスが含まれる。特に、本実施形態では、プログラム112を操作するためのGUI画面のキャプチャ画像(「GUI画像」ともいう)をバックグラウンドで取得するためのサービスが含まれる。OS115は、上記のプログラム112や、SDK113、及びサービス114の制御や管理などを行うための基本システムである。特に、端末装置10はディスプレイ等の表示装置を有しないものの、GUIベースのOS115が搭載されることとなる。OS115としては公知のものを利用できるが、例えばオープンソースであるAndroidを利用すればよい。
【0035】
端末装置10のGUI画面は、OS115及びプログラム112を実行することにより制御部11(CPUやGPU)により仮想的に生成されるものである。本実施形態おいて端末装置10は物理的な表示装置を持たないものであるため、このGUI画面は物理的な表示画面には依存しない。GUI画面には、論理上の表示画面である仮想画面と、この仮想画面上に配置される平面的なウィンドウと、このウィンドウ内に配置されるテキストボックやボタン等のコンポーネントが含まれる。
【0036】
クラウド30には、第2のミドルウェア131が設けられる。クラウド30に設けられた第2のミドルウェア131の例はメッセージブローカーであり、端末装置10に設けられた第1のミドルウェア111の例はサブスクライバーである。この場合、遠隔制御装置20内のRPAプログラム121を、メッセージの発行元であるパブリッシャーとみなすことができる。つまり、メッセージの発行元をパブリッシャー、メッセージの受信側をサブスクライバー、これらの間においてメッセージの中継を行う機能をメッセージブローカーという。パブリッシャー(RPAプログラム121)が発行したメッセージは、メッセージブローカー(第2のミドルウェア131)を経由して、サブスクライバー(第1のミドルウェア111)に配信される。サブスクライバーは、メッセージブローカーから配信された全てのメッセージを受信するのではなく、購読(サブスクリプション)と呼ばれる情報を登録して、受信するメッセージを指定することもできる。つまり、第1のミドルウェア111と第2のミドルウェア131との間では、パブリッシャー(RPAプログラム121)からどのサブスクライバー(第1のミドルウェア111)に対してメッセージを送信するかを指定できるだけでなく、サブスクライバー(第1のミドルウェア111)においてどのメッセージを受信するかを指定することも可能である。このようなメッセージングシステムを、Pub/Sub型(発行-購読型)ともいう。
【0037】
図4に示した第1のミドルウェア111と第2のミドルウェア131の間には、大きく分けて3つの通信経路がある。1つ目は、命令の通信経路である。命令は、前述したPub/Sub型のメッセージングシステムを用いて、プッシュ/プル型で非同期的に第2のミドルウェア131から第1のミドルウェア111に対して送信すればよい。非同期命令の処理結果は、ウェブフック等の別経路で通知させてもよい。後述するように、遠隔制御装置20のRPAプログラム121から発せられたポインタ座標やクリック命令、文字入力命令といった単純な命令情報であれば、この命令の通信経路を介して第1のミドルウェア111に対して送信できる。2つ目は、離散的時系列データの通信経路である。ここにいう離散的時系列データとは、例えばGPS緯度経度情報やバッテリー残量情報、装着・非装着状態、加速度センサ測定結果を解釈した結果としての姿勢情報等、スループットが相対的に小さい時系列データである。これらの離散的時系列データは、同様のメッセージングシステムを介して通信してもよいし、ウェブフック等の経路を利用してもよい。すなわち、2つ目は、1つ目の通信経路と事実上同じ通信経路である。3つ目は、連続的時系列データの通信経路である。連続的時系列データの典型例は、音声データや動画データである。その他にも、連続的時系列データとしては、高頻度に測定されるデータなど、スループットが相対的に大きい時系列データが挙げられる。このような連続的時系列データは、メッセージキューイングシステムが適している通信容量を超過しているため、別途通信経路を準備する必要がある。例えば、WebRTCやHLS(Http Live Streaming)やAmazon Kinesis Video Stream 等の通信経路であり、通信内容に応じて適切な通信方式を選択すればよい。
【0038】
遠隔制御装置20は、端末装置10を遠隔制御する。遠隔制御装置20は、端末装置10を自動的に操作するためのRPAプログラム121を含む。RPAプログラム121は、端末装置10に行わせるためのシナリオ(作業手順)が設定されており、このシナリオに沿った所定の処理を端末装置10に実行させるための命令情報を、クラウド30を介して端末装置10へと送信する機能を持つ。このシナリオは、定型化された複数の作業工程から構成されており、各作業工程はGUIベースで定義されている。具体的には、シナリオには、端末装置10の特定のプログラム112を起動又は終了する工程や、端末装置10のGUI画面におけるポインタ座標を特定する工程や、端末装置10内のGUI画面をクリックする工程、端末装置10内のGUI画面上のテキスト入力窓に文字情報を入力する工程などが含まれる。端末装置10は、GUIベースで操作可能であるため、基本的には説明したように、所定プログラムの起動又は終了する命令、GUI画面上のポインタ座標を指示する命令、GUI画面をクリックする命令、及びGUI画面上のテキスト入力窓に文字情報を入力する命令があれば、端末装置10が持つ機能の殆どを遠隔操作できる。また、RPAプログラム121のシナリオは、遠隔制御装置20側の支援者において自由に設定したり変更したりすることができる。RPA121のシナリオの設定や変更方法は公知であるため、ここでの詳細な説明は割愛する。
【0039】
また、遠隔制御装置20は、参照画像セット122を記憶している。参照画像セット122には、端末装置10で実行されるプログラム122ごとに、端末装置10に所定の作業工程(プログラムの起動や、ポインタ座標の指定、クリック、文字入力等の工程)を行わせた後のGUI画面を予め撮影して保持した参照画像が、多数含まれている。例えば、端末装置10のマイクを制御するためのプログラム112を起動させると、マイク制御用の所定の初期画面が立ち上がる。この初期画面をキャプチャしたものが一つの参照画像として参照画像セット122に含まれる。また、例えば、マイク制御用のGUI画面には、マイクによる録音を開始するボタンと停止するボタンが含まれている。このGUI画面上においてあるポインタ座標を指定すると、録音ボタン上でマウスポインタの状態が変化する(例えば矢印画像から指先画像に変わる)とする。この状態のGUI画像をキャプチャしたものが別の参照画像として参照画像セット122に含まれる。また、例えば、録音ボタン上でマウスポインタ状にある状態でクリックすると、録音ボタンの色が変わって、マイクによる録音が開始されるとする。このように録音が開始した状態のGUI画像をキャプチャしたものがさらに別の参照画像として参照画像セット122に含まれる。また、例えば、ウェブ会議アプリやブラウザアプリ等のGUI画面のアドレスバーに所定のURL(文字情報)を入力すると、そのURLで特定された画面に遷移する。そこで、遷移後の画面をキャプチャしたものがさらに別の参照画像として参照画像セット122に含まれる。このように、RPAプログラム121のシナリオを構成する定型の作業工程ごとに、予め参照画像を作成しておき、それらの参照画像を遠隔制御装置20に記憶させておく。このような参照画像は、RPAのシナリオを設定する際に、端末装置10のGUI画像からキャプチャすればよい。各参照画像は、シナリオの作業工程と関連付けて遠隔制御装置20に記憶される。
【0040】
続いて、図5を参照して、RPAの実行フローの例について説明する。まず、遠隔制御装置20において、RPAプログラム121が実行される(ステップS1)。RPAのシナリオには、複数の定型の作業工程が順番に定義されている。遠隔制御装置20は、このシナリオに沿って定型工程を実行する(ステップS2)。例えば、定型工程が、端末装置10の所定のプログラム112を実行させることである場合、遠隔制御装置20は、そのプログラムの起動命令を、クラウド30を介して端末装置10へと送信する(ステップS2a)。また、定型工程が、端末装置10のGUI画面上における所定のポインタ座標を指定することである場合、遠隔制御装置20は、そのポインタ座標を、クラウド30を介して端末装置10へと送信する(ステップS2b)。また、定型工程が、端末装置10のGUI画面をクリックすることである場合、遠隔制御装置20は、そのクリック命令を、クラウド30を介して端末装置10へと送信する(ステップS2c)。さらに、定形工程が、端末装置10のGUI画面上の所定のテキスト入力窓(例えば上記座標情報とクリック命令で指定されたもの)に所定の文字情報(URLなど)を入力することである場合、遠隔制御装置20は、その文字情報を、クラウド30を介して端末装置10へと送信する(ステップS2d)。このように、遠隔制御装置20は、RPAプログラム121のシナリオに従い、各定型工程を端末装置10に実行させるための命令情報を生成して、端末装置10に送ることとなる。このとき、遠隔制御装置20と端末装置10の間の通信には、第1のミドルウェア111と第2のミドルウェア131からなるメッセージングシステムを好適に利用できる。
【0041】
次に、端末装置10は、遠隔制御装置20からの命令情報に基づいて、GUI画面を介してプログラム112を操作する。このようなGUI画面は、端末装置10の制御装置11、より具体的にはOS115及びプログラム112の機能の実行により生成されるものである。端末装置10は、このようなGUI画面上において、プログラム112を起動させたり(ステップS3a)、GUI画面上の指定されたポインタ座標にマウスポインタを移動させたり(ステップS3b)、GUI画面のクリックを実行させたりするなど、遠隔制御装置20からの命令情報に従った操作を行う。
【0042】
次に、端末装置10は、GUI画面をキャプチャしたGUI画像を取得する(ステップS4)。このGUI画面をキャプチャする処理は、RPAのシナリオを構成する各定型工程が完了した都度行うことが好ましい。GUI画像は、特定のプログラムを操作するためのウィンドウのみをキャプチャしたものであってもよいし、論理上の表示画面である仮想画面全体をキャプチャしたものであってもよい。また、例えばマウスポインタの周囲のみをキャプチャしたGUI画像を生成することとしてもよい。このGUI画面のキャプチャ処理は、端末装置10の制御部11、特にバックグラウンドで動作する画面キャプチャ用のサービス114によって実行することができる。このサービス114では、端末装置10が遠隔制御装置20からの命令情報に従った操作を行ったときに、自動的にGUI画像を取得することが好ましい。
【0043】
次に、端末装置10は、GUI画像をクラウド30を介して遠隔制御装置20に送信する(ステップS5)。GUI画像は、第1のミドルウェア111と第2のミドルウェア131との間で確立された通信経路を利用して送信することできる。クラウド30は、端末装置10からGUI画像を受信すると、これを遠隔制御装置20へと転送する。
【0044】
次に、遠隔制御装置20は、端末装置10からGUI画像を受信すると、このGUI画像を参照画像と照らし合わせて、端末装置10においてRPAの定型工程で定められた操作が適切に完了しているかどうかを機械的に判断する(ステップS6)。具体的には、遠隔制御装置20の制御部21は、ある定型工程の結果得られたGUI画像が、参照画像セット122のうち当該定型工程に関連付けられた参照画像と一致するかどうかを判断すればよい。GUI画像と参照画像の比較は、例えばテンプレートマッチングアルゴリズムを用いればよい。端末装置10の既成のプログラム112が更新されないという前提をおいたとき、端末装置10でキャプチャしたGUI画像と事前にキャプチャした参照画像は同一となる。ただし通信の理由により画像圧縮等が行われ圧縮劣化などが生じる可能性も考えられる。この場合、GUI画像と参照画像のバイナリデータは一致しないものの、極めて同一性の高い画像であるということができる。このような場合、テンプレートマッチングアルゴリズムを用いればほぼ100%に近い精度で画像の同一性を判定することが可能できる。テンプレートマッチングは画像判定用のアルゴリズムの一例であり、これに限定されず公知のアルゴリズムを適宜採用できる。
【0045】
遠隔制御装置20の制御部21は、GUI画像照査処理の結果、GUI画像と参照画像とが一致していると判断した場合(ステップS7)、RPAのシナリオで定められた全ての定型工程が終了するまで、次の定型工程を実行する(ステップS2)。ステップS2からステップS7までの処理を繰り返し、遠隔制御装置20の制御部21は、全ての定型工程が終了したと判断した場合(ステップS8)、RPAプログラムを終了させる(ステップS9)。一方で、遠隔制御装置20の制御部21は、GUI画像照査処理の結果、GUI画像と参照画像とが不一致であると判断した場合(ステップS7)、例えばRPAプログラムを中断する(ステップS9)。GUI画像と参照画像が一致しないということは、端末装置10に何らかのエラーが発生したものと考えられる。このため、RPAプログラムを一旦中断して、エラーの原因等を特定することが好ましい。なお、本実施形態では、GUI画像と参照画像とが不一致である場合に、RPAプログラムを中断することとしたが、その他、遠隔制御装置20の表示部25にエラーの警告文を表示したり、あるいはエラー特定の原因となったGUI画像と参照画像を表示したりするなど、別のアクションを行うことも可能である。
【0046】
以上、本願明細書では、本発明の内容を表現するために、図面を参照しながら本発明の実施形態の説明を行った。ただし、本発明は、上記実施形態に限定されるものではなく、本願明細書に記載された事項に基づいて当業者が自明な変更形態や改良形態を包含するものである。
【符号の説明】
【0047】
10…端末装置 11…制御部
12…記憶部 13…通信部
14…集音部 15…操作部
16…撮像部 17…センサ部
18…放音部 20…クライアント装置
21…制御部 22…記憶部
23…通信部 24…入力部
25…表示部 30…クラウド
31…サーバ装置 32…データベース
100…情報処理システム 111…第1のミドルウェア
112…既成プログラム 113…SDK
114…サービス 115…GUI OS
121…RPAプログラム 122…参照画像セット
131…第2のミドルウェア
【要約】
表示装置を有しない端末装置を効率的に遠隔制御する。
表示部を有しない端末装置10と遠隔制御装置20を含む遠隔制御システム100であって、端末装置10は、一又は複数の入出力部と、入出力部を利用するプログラムを格納した記憶部と、プログラムを操作するためのGUI画面を生成するGUI部と、遠隔制御装置からの命令情報に基づいてGUI画面を介してプログラムを操作する操作処理部と、GUI画面上の少なくとも一部の領域のGUI画像を取得するキャプチャ部と、GUI画像をネットワークを介して遠隔制御装置に送信する画像送信部とを有する。遠隔制御装置20は、プログラムの操作の結果に関連するGUI画面上の複数の参照画像を記憶した画像記憶部と、端末装置から受信したGUI画像が参照画像と一致するか否かを判断する画像検証部を有する。
図1
図2
図3
図4
図5