JP2019032719A - 情報処理システム、情報処理方法及びプログラム - Google Patents
情報処理システム、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2019032719A JP2019032719A JP2017153723A JP2017153723A JP2019032719A JP 2019032719 A JP2019032719 A JP 2019032719A JP 2017153723 A JP2017153723 A JP 2017153723A JP 2017153723 A JP2017153723 A JP 2017153723A JP 2019032719 A JP2019032719 A JP 2019032719A
- Authority
- JP
- Japan
- Prior art keywords
- operated
- operated device
- management
- image
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】適用対象となるシステムにおけるセキュリティを確保しつつ、簡単にRPAを実現すること。【解決手段】情報処理システムは、操作の対象となる被操作装置に対する、入力デバイス信号に基づく自動操作を管理する管理装置を含み、前記管理装置は、前記被操作装置の表示画面の画像を取得する画像取得手段と、前記被操作装置に実行させる操作内容を管理する実行管理手段と、前記被操作装置に操作内容に基づいた入力デバイス信号を入力する信号入力手段と、を備える。【選択図】図1
Description
本発明は、操作対象となる装置の自動的な操作を可能とする情報処理システム、情報処理方法及びプログラムに関する。
従来、業務処理を自動化するRPA(Robotic Process Automation)が利用されている。
RPAが利用される場合、操作対象となる装置にRPAを実行するためのアプリケーションをインストールし、インストールされたアプリケーションによって、オペレータの操作を記録する。そして、オペレータの操作が記録された後は、RPAを実行するためのアプリケーションが、記録された操作を再現することにより、操作対象となる装置における業務処理の自動化が実現される。
なお、RPAに関する技術は、例えば、特許文献1に記載されている。
RPAが利用される場合、操作対象となる装置にRPAを実行するためのアプリケーションをインストールし、インストールされたアプリケーションによって、オペレータの操作を記録する。そして、オペレータの操作が記録された後は、RPAを実行するためのアプリケーションが、記録された操作を再現することにより、操作対象となる装置における業務処理の自動化が実現される。
なお、RPAに関する技術は、例えば、特許文献1に記載されている。
"日本RPA協会ホームページ"、[online]、日本RPA協会、[平成29年6月30日検索]、インターネット<URL:http://rpa-japan.com/>
しかしながら、従来の技術においては、RPAが利用される場合、操作対象となる装置にRPAを実行するためのアプリケーションをインストールする必要がある。ところが、例えば、金融機関の社内で利用されている端末装置等においては、セキュリティの問題から、アプリケーションのインストールが許可されないことがある。また、一般に、企業内で利用されている端末装置に、新たなアプリケーションのインストールを行う場合には、管理者に申請し、インストールの許可を得る必要がある。そのため、外部の業者が企業内の端末装置においてRPAを利用しようとしても、直ちにはRPAを利用できず、作業効率の低下を招く可能性がある。
このように、従来の技術においては、RPAの適用対象となるシステムにおけるセキュリティを確保しつつ、簡単にRPAを実現することが困難であった。
このように、従来の技術においては、RPAの適用対象となるシステムにおけるセキュリティを確保しつつ、簡単にRPAを実現することが困難であった。
本発明は、適用対象となるシステムにおけるセキュリティを確保しつつ、簡単にRPAを実現することを目的とする。
本発明の一態様に係る情報処理システムは、
操作の対象となる被操作装置に対する、入力デバイス信号に基づく自動操作を管理する管理装置を含み、
前記管理装置は、
前記被操作装置の表示画面の画像を取得する画像取得手段と、
前記被操作装置に実行させる操作内容を管理する実行管理手段と、
前記被操作装置に前記操作内容に基づいた入力デバイス信号を入力する信号入力手段と、
を備えることを特徴とする。
操作の対象となる被操作装置に対する、入力デバイス信号に基づく自動操作を管理する管理装置を含み、
前記管理装置は、
前記被操作装置の表示画面の画像を取得する画像取得手段と、
前記被操作装置に実行させる操作内容を管理する実行管理手段と、
前記被操作装置に前記操作内容に基づいた入力デバイス信号を入力する信号入力手段と、
を備えることを特徴とする。
本発明によれば、適用対象となるシステムにおけるセキュリティを確保しつつ、簡単にRPAを実現することができる。
以下、本発明の実施形態について、図面を参照して説明する。
[システム構成]
図1は、本発明の一実施形態に係るRPAシステムSのシステム構成を示す模式図である。
図1に示すように、RPAシステムSは、管理装置1と、ロボット2と、被操作装置3と、を含んで構成される。また、ロボット2には、ディスプレイ2Aと、マウス2Bと、キーボード2Cとが接続される。なお、以下の説明において、被操作装置3の操作者をオペレータと称し、管理装置1の操作者をユーザと称する。
[システム構成]
図1は、本発明の一実施形態に係るRPAシステムSのシステム構成を示す模式図である。
図1に示すように、RPAシステムSは、管理装置1と、ロボット2と、被操作装置3と、を含んで構成される。また、ロボット2には、ディスプレイ2Aと、マウス2Bと、キーボード2Cとが接続される。なお、以下の説明において、被操作装置3の操作者をオペレータと称し、管理装置1の操作者をユーザと称する。
本実施形態に係るRPAシステムSでは、RPAを管理する管理装置1が内蔵されたロボット2を、被操作装置3に外付けする形態で、管理装置1によって被操作装置3の表示内容を認識すると共に、被操作装置3に対する操作を実行する。
具体的には、RPAシステムSでは、管理装置1に被操作装置3から画面出力信号を出力すると共に、管理装置1から被操作装置3に入力デバイス信号を入力する接続形態としている。そして、RPAシステムSでは、ロボット2に内蔵された管理装置1によって、被操作装置3に対するオペレータの操作を記録し、記録された操作内容の編集を受け付けると共に、被操作装置3に対する所定の操作を実行することが可能となっている。
具体的には、RPAシステムSでは、管理装置1に被操作装置3から画面出力信号を出力すると共に、管理装置1から被操作装置3に入力デバイス信号を入力する接続形態としている。そして、RPAシステムSでは、ロボット2に内蔵された管理装置1によって、被操作装置3に対するオペレータの操作を記録し、記録された操作内容の編集を受け付けると共に、被操作装置3に対する所定の操作を実行することが可能となっている。
そのため、RPAシステムSでは、被操作装置3にRPAのためのアプリケーションをインストールすることなく、被操作装置3におけるRPAを実現することができる。
したがって、RPAシステムSによれば、適用対象となるシステムにおけるセキュリティを確保しつつ、簡単にRPAを実現することができる。
したがって、RPAシステムSによれば、適用対象となるシステムにおけるセキュリティを確保しつつ、簡単にRPAを実現することができる。
なお、本実施形態におけるRPAシステムSでは、種々の操作をRPAによって実行することが可能であるが、以下の説明では、被操作装置3において、文書作成ソフトウェア(あるいは表計算ソフトウェア等)におけるテキストをコピーし、電子メールソフトウェアにペーストして送信するという作業が行われる例を想定するものとする。
図1において、管理装置1は、PC(Personal Computer)等の情報処理装置によって構成され、RPAシステムSにおけるRPA全体を管理する。例えば、管理装置1は、被操作装置3に対するオペレータの操作を記録するモード(記録モード)、記録された操作内容の編集を受け付けるモード(編集モード)あるいはRPAにより被操作装置3に対する所定の操作を実行するモード(実行モード)に基づく処理を実行する。なお、管理装置1については、構成の詳細を後述する。
ロボット2は、管理装置1を内蔵した人型のロボットであり、管理装置1における処理の状態を、身振りや音声等の振る舞いによって外部に報知する。本実施形態において、ロボット2は、頭部を上下に動かす機能及び腕を肩回りに動かす機能を備えており、管理装置1における処理の状態に応じて、例えば、頷くような動作や手振りをするような動作を実行する。また、ロボット2は、管理装置1における処理の状態に応じて(例えば、記録モード、編集モード及び実行モード等のモードの別に応じたり、さらに、実行モードの場合には、実行前、実行中または実行終了の別に応じたりして)、予め設定された音声(アラーム音やメッセージ等)を発する。なお、ロボット2は、頭部や腕を動かす動作や音声の出力の他、LEDを発光させることにより、外部に対する各種の報知を行うことも可能である。
また、本実施形態において、ロボット2には、被操作装置3に対する入力デバイス信号の出力ポート及びディスプレイ2Aに対する画面出力信号の出力ポート以外が備えられている一方、汎用のデータ出力ポートは備えられていないようにすることが望ましい。このような構成により、外部ストレージデバイス等を介して、被操作装置3内のデータが外部に漏洩することを抑制できる。
ディスプレイ2Aは、管理装置1における各種処理の内容を表示する。例えば、ディスプレイ2Aは、記録モード及び実行モードにおいて、被操作装置3の表示画面をモニタして表示したり、編集モードにおいて、記録された操作内容の編集を行うためのユーザインターフェース画面(UI画面)を表示したりする。
マウス2Bは、管理装置1の入力デバイスとして備えられ、管理装置1を操作するための信号を入力する。
キーボード2Cは、管理装置1の入力デバイスとして備えられ、各種キーに対応する信号を管理装置1に入力する。
キーボード2Cは、管理装置1の入力デバイスとして備えられ、各種キーに対応する信号を管理装置1に入力する。
被操作装置3は、PC等の情報処理装置によって構成され、RPAの対象となる装置である。例えば、被操作装置3として、特定の社内システム(金融システム等)に接続された端末装置等が想定され、被操作装置3には、外部からのアクセスに対するセキュリティが設定されている。本実施形態において、管理装置1と被操作装置3とは、管理装置1に被操作装置3からディスプレイ信号ケーブルを介して画面出力信号が出力されると共に、管理装置1から被操作装置3にマウス/キーボード信号ケーブルを介して入力デバイス信号が入力される接続形態であり、これら以外にデータの授受が行われない構成となっている。したがって、被操作装置3から出力されるデータは、画面出力信号(即ち、ビットマップ化された表示画面のデータを表す信号)のみであるため、RPAシステムSを介して被操作装置3内のデータ(セキュリティの対象となるデータ)が漏洩することが抑制される。
なお、被操作装置3における汎用のデータ出力ポートは、セキュリティ対策のために使用できない状態とされることが望ましい。
なお、被操作装置3における汎用のデータ出力ポートは、セキュリティ対策のために使用できない状態とされることが望ましい。
[管理装置1のハードウェア構成]
図2は、管理装置1のハードウェア構成を示すブロック図である。
図2に示すように、管理装置1は、CPU(Central Processing Unit)11と、ROM12と、RAM13と、記憶部14と、ビデオ入力部15と、マウス信号出力部16と、キーボード信号出力部17と、LED(Light Emitting Diode)制御部18と、モータ制御部19と、グラフィック表示部20と、入力インターフェース部21と、音声合成・出力部22と、A/D(Analog/Gigital)変換部23と、を備えている。
図2は、管理装置1のハードウェア構成を示すブロック図である。
図2に示すように、管理装置1は、CPU(Central Processing Unit)11と、ROM12と、RAM13と、記憶部14と、ビデオ入力部15と、マウス信号出力部16と、キーボード信号出力部17と、LED(Light Emitting Diode)制御部18と、モータ制御部19と、グラフィック表示部20と、入力インターフェース部21と、音声合成・出力部22と、A/D(Analog/Gigital)変換部23と、を備えている。
CPU11は、記憶部14に記憶された各種プログラムを実行することにより、管理装置1全体を制御する。例えば、CPU11は、記録モードに対応する処理(記録処理)のためのプログラム、編集モードに対応する処理(編集処理)のためのプログラムあるいは実行モードに対応する処理(実行処理)のためのプログラムを実行する。
ROM12には、管理装置1を制御するための各種システムプログラムが予め書き込まれている。
ROM12には、管理装置1を制御するための各種システムプログラムが予め書き込まれている。
RAM13は、DRAM(Dynamic Random Access Memory)等の半導体メモリによって構成され、CPU11が各種処理を実行する際に生成されるデータを記憶する。例えば、RAM13には、被操作装置3の表示画面のデータ(ここでは、動画データとする)を一時的に記憶するフレームバッファが形成される。本実施形態において、フレームバッファはリングバッファとして形成され、フレームバッファには、最新の所定フレーム分(例えば、24フレーム分)の表示画面のデータが順次記憶される。
記憶部14は、ハードディスクあるいはフラッシュメモリ等の不揮発性の記憶装置によって構成され、記録処理のためのプログラム、編集処理のためのプログラム及び実行処理のためのプログラム等を記憶する。
ビデオ入力部15は、所定時間毎に被操作装置3の画面出力信号(例えば、HDMI(High−Definition Multimedia Interface)(登録商標)信号等)を取得する。本実施形態において、ビデオ入力部15は、例えば、24フレーム/秒のレートで、被操作装置3の画面出力信号が表す表示画面のデータを動画データとして取得する。画面出力信号が表す表示画面のデータは、CPU11の指示に従って、RAM13の所定領域(フレームバッファ)に順次記憶される。
ビデオ入力部15は、所定時間毎に被操作装置3の画面出力信号(例えば、HDMI(High−Definition Multimedia Interface)(登録商標)信号等)を取得する。本実施形態において、ビデオ入力部15は、例えば、24フレーム/秒のレートで、被操作装置3の画面出力信号が表す表示画面のデータを動画データとして取得する。画面出力信号が表す表示画面のデータは、CPU11の指示に従って、RAM13の所定領域(フレームバッファ)に順次記憶される。
マウス信号出力部16は、管理装置1が被操作装置3を操作する際に、CPU11の指示に従って、マウスによる操作を入力するための入力デバイス信号(例えば、PS/2信号あるいはUSB(Universal Serial Bus)信号等)を被操作装置3に出力する。
キーボード信号出力部17は、管理装置1が被操作装置3を操作する際に、CPU11の指示に従って、キーボードによるキー入力を行うための入力デバイス信号(例えば、PS/2信号あるいはUSB(Universal Serial Bus)信号等)を被操作装置3に出力する。
LED制御部18は、CPU11の指示に従って、LEDを点灯させるための制御信号をLEDに出力する。
モータ制御部19は、CPU11の指示に従って、ロボット2の可動部(ここでは頭部及び両腕)を動作させる各モータを駆動するための制御信号を出力する。
グラフィック表示部20は、CPU11の指示に従って、ディスプレイ2Aに画面を表示するための処理を実行する。
モータ制御部19は、CPU11の指示に従って、ロボット2の可動部(ここでは頭部及び両腕)を動作させる各モータを駆動するための制御信号を出力する。
グラフィック表示部20は、CPU11の指示に従って、ディスプレイ2Aに画面を表示するための処理を実行する。
入力インターフェース部21は、マウス2B及びキーボード2Cから入力された入力デバイス信号を所定形式に変換(シリアル−パラレル変換等)し、CPU11に出力する。
音声合成・出力部22は、CPU11の指示に従って、ロボット2が発する音声を合成し、スピーカを介して出力する。
A/D変換部23は、マイクを介して入力された音声信号をアナログ−デジタル変換し、音声を表すデジタル信号として、CPU11に出力する。このとき、A/D変換部23は、音声のレベルが所定のレベルとなるように調整するためのゲインを適宜加えてA/D変換を行う。
音声合成・出力部22は、CPU11の指示に従って、ロボット2が発する音声を合成し、スピーカを介して出力する。
A/D変換部23は、マイクを介して入力された音声信号をアナログ−デジタル変換し、音声を表すデジタル信号として、CPU11に出力する。このとき、A/D変換部23は、音声のレベルが所定のレベルとなるように調整するためのゲインを適宜加えてA/D変換を行う。
[管理装置1の機能的構成]
次に、管理装置1に形成される機能的構成について説明する。
図3は、管理装置1の機能的構成を示すブロック図である。
図3に示すように、記録処理のためのプログラム、編集処理のためのプログラム及び実行処理のためのプログラムを実行することにより、CPU11には、機能的構成として、ロボット制御部11aと、画面キャプチャ部11bと、画面認識部11cと、イベント取得部11dと、記録制御部11eと、編集管理部11fと、実行管理部11gと、が形成される。
次に、管理装置1に形成される機能的構成について説明する。
図3は、管理装置1の機能的構成を示すブロック図である。
図3に示すように、記録処理のためのプログラム、編集処理のためのプログラム及び実行処理のためのプログラムを実行することにより、CPU11には、機能的構成として、ロボット制御部11aと、画面キャプチャ部11bと、画面認識部11cと、イベント取得部11dと、記録制御部11eと、編集管理部11fと、実行管理部11gと、が形成される。
ロボット制御部11aは、記録処理、編集処理及び実行処理の状態に応じて、予め設定されているロボット2の振る舞いのパターンを選択し、ロボット2の可動部の動作、音声出力あるいはLEDの点灯を制御する。
画面キャプチャ部11bは、ビデオ入力部15によって受信された被操作装置3の画面出力信号が表す表示画面のデータを動画データとして取得し、RAM13の所定領域(フレームバッファ)に順次記憶する。また、画面キャプチャ部11bは、フレームバッファに記憶された表示画面のデータ(動画データ)から、1画面分ずつの所定形式の画像ファイル(例えば、ビットマップ形式等)を生成し、記憶部14に記憶する。
画面キャプチャ部11bは、ビデオ入力部15によって受信された被操作装置3の画面出力信号が表す表示画面のデータを動画データとして取得し、RAM13の所定領域(フレームバッファ)に順次記憶する。また、画面キャプチャ部11bは、フレームバッファに記憶された表示画面のデータ(動画データ)から、1画面分ずつの所定形式の画像ファイル(例えば、ビットマップ形式等)を生成し、記憶部14に記憶する。
画面認識部11cは、記憶部14に記憶された1画面分の表示画面のデータにおいて、マウスポインターの位置及び形状、ウィンドウ、実行中のアプリケーション、ボタン及びオブジェクト等の表示内容を認識する。このとき、画面認識部11cは、文字認識処理を実行することが可能であり、例えば、ウィンドウ上部に表示されているアプリケーション名や、ボタンに表示されている操作種別等を認識することができる。なお、マウスポインターについては、マウスポインターとして使用される可能性がある種々の形状が管理装置1に予め登録されており、これらの形状を表示画面内の各部の画像と照合することにより、マウスポインターの認識が行われる。マウスポインターが認識された以降のフレームでは、認識されたマウスポインターの位置付近において、認識されたマウスポインターの形状が探索されることによって、より効率的にマウスポインターの認識が行われる。
なお、マウスポインターの形状を探索する場合、オブジェクトマッチングあるいはFAST(Features from Accelerated Segment Test)アルゴリズム等の特徴点抽出技術といった手法を用いることができる。
なお、マウスポインターの形状を探索する場合、オブジェクトマッチングあるいはFAST(Features from Accelerated Segment Test)アルゴリズム等の特徴点抽出技術といった手法を用いることができる。
イベント取得部11dは、表示画面のデータに基づいて、被操作装置3において発生したイベントを取得する。例えば、イベント取得部11dは、マウスによる操作が行われた場合に、操作の種類(左クリック、右クリックあるいはドラッグ等)、操作された位置及び付近の画像、操作されたオブジェクトの種類(「OKボタン」等)を取得する。なお、マウスによる操作は、1画面分の表示画面内の変化あるいは前後の複数画面分の表示画面における変化から検出することができる。
記録制御部11eは、イベント取得部11dによって取得されたイベントを操作の手順を表すデータとして、所定のファイル(以下、適宜「手順書ファイル」と称する。)に記録する。例えば、マウスによる操作が行われた場合、記録制御部11eは、マウスポインターの位置と、マウス操作によるイベントの内容と、マウスポインター付近の画像のデータとを対応付けて、手順書ファイルに記録する。
編集管理部11fは、管理装置1のユーザによって、記録された操作内容の編集が指示された場合に、記録された操作内容の編集を行うためのユーザインターフェース画面(UI画面)をディスプレイ2Aに表示する。また、編集管理部11fは、編集の対象となる操作内容が記録された手順書ファイルを読み出し、UI画面において、編集対象として表示する。本実施形態において、編集管理部11fは、ビジュアルプログラミングに基づくUI画面を表示し、操作内容を表すモジュールの視覚的な配置の変更等によって、操作内容の編集を受け付ける。
実行管理部11gは、手順書ファイルに記録された操作手順の実行が指示された場合に、操作手順の実行を管理する。例えば、実行管理部11gは、操作手順に従って、被操作装置3に入力デバイス信号を順次出力し、入力デバイス信号による操作の結果が操作手順に記録されている操作の結果と一致するか否かを判定する。このとき、実行管理部11gは、被操作装置3における処理時間のばらつき等の影響を抑制するため、被操作装置3の現在の状況を逐次取得し、待機時間を適宜挿入しつつ、操作の結果を判定する。そして、実行管理部11gは、入力デバイス信号による操作の結果が、所定時間経過した後も操作手順に記録されている操作の結果と一致しない場合には、ロボット2によって、操作の結果がエラーであることを報知する。
また、実行管理部11gは、手順書ファイルに記録されている手順を実行する場合、被操作装置3から取得される表示画面のデータにおいて、手順書ファイルに記録されているイベント発生時のマウスポインター付近の画像を探索することにより、実行すべき1手順の対象となる操作の位置を特定する。
図4A〜図4Dは、実行管理部11gが表示画面における操作位置を特定する方法を示す模式図である。
図4Aは、記録処理において、マウス操作によるイベントが発生した際に記録されたマウスポインター付近の画像を示す模式図である。
図4Aにおいては、「送信ボタン」にマウスポインターが重ねられて左クリックされた状態が記録されている。なお、「送信ボタン」における「送信」の文字は、マウスポインターに一部が隠された状態となっている。
図4Aは、記録処理において、マウス操作によるイベントが発生した際に記録されたマウスポインター付近の画像を示す模式図である。
図4Aにおいては、「送信ボタン」にマウスポインターが重ねられて左クリックされた状態が記録されている。なお、「送信ボタン」における「送信」の文字は、マウスポインターに一部が隠された状態となっている。
図4Bは、図4Aに示す画像から、マウスポインターの画像が除外された画像を示す模式図である。
図4Bにおいては、図4Aに示す画像のうち、マウスポインターの画像が除外され、操作される側の表示画面の情報に限定された状態が示されている。実行管理部11gは、被操作装置3から取得される表示画面のデータにおいて、図4Bに示される状態の画像と合致する部分を探索する。これにより、マウスポインターの影響を抑制して、実行すべき1手順の対象となる操作の位置を適切に探索することができる。
図4Bにおいては、図4Aに示す画像のうち、マウスポインターの画像が除外され、操作される側の表示画面の情報に限定された状態が示されている。実行管理部11gは、被操作装置3から取得される表示画面のデータにおいて、図4Bに示される状態の画像と合致する部分を探索する。これにより、マウスポインターの影響を抑制して、実行すべき1手順の対象となる操作の位置を適切に探索することができる。
図4Cは、実行管理部11gによって探索された表示画面のデータの一部を示す模式図である。
図4Cにおいては、図4Bに示す画像と合致する可能性が高い部分が特定されている。
図4Dは、探索された表示画面のデータの一部に、マウスポインターが重ねられた状態を示す模式図である。
図4Dに示すように、実行管理部11gは、探索された表示画面のデータの一部にマウスポインターの画像を重ねることにより、手順書ファイルに記録されているマウスポインター付近の画像と合致するか否かを判定し、実行すべき1手順の対象となる操作の位置を最終的に特定する。
図4Cにおいては、図4Bに示す画像と合致する可能性が高い部分が特定されている。
図4Dは、探索された表示画面のデータの一部に、マウスポインターが重ねられた状態を示す模式図である。
図4Dに示すように、実行管理部11gは、探索された表示画面のデータの一部にマウスポインターの画像を重ねることにより、手順書ファイルに記録されているマウスポインター付近の画像と合致するか否かを判定し、実行すべき1手順の対象となる操作の位置を最終的に特定する。
また、実行すべき1手順の対象となる操作の位置が特定された場合、実行管理部11gは、マウス信号出力部16を介して、マウスによる操作を入力するための入力デバイス信号(PS/2信号あるいはUSB信号等)を被操作装置3に出力する。具体的には、実行管理部11gは、現在のマウスポインターの位置(画面認識部11cで認識される位置または1つ前に実行された手順における操作の位置等)から、特定された操作の位置にマウスポインターを移動させるためのマウスカウントの値を入力デバイス信号として被操作装置3に出力する。即ち、本実施形態において、管理装置1には、表示画面における位置の差分(座標を示すピクセルデータの差分等)をマウスカウントの値に換算する関数fが記憶されており、実行管理部11gは、マウスカウント=f(表示画面における位置の差分)として、被操作装置3に出力すべきマウスカウントの値を出力する。この関数fは、個別の被操作装置3に対応するものであり、操作される被操作装置3が決定した場合に予め管理装置1に設定することができる。あるいは、実行管理部11gが特定のマウスカウントを被操作装置3に出力した場合のマウスポインターの位置の変化を画面認識部11cで認識することで、関数fを設定することとしてもよい。
マウスカウントを被操作装置3に出力することで、被操作装置3においては、マウスポインターが、実行すべき1手順の対象となる操作の位置付近に移動する。
ここで、本実施形態においては、マウスポインターによる操作の位置をより正確に特定するため、マウスカウントの入力によって移動したマウスポインターの位置がさらに微調整される。具体的には、マウスカウントの入力によって、実行すべき1手順の対象となる操作の位置付近にマウスポインターが移動された後の画像を、画面認識部11cによって認識し、実行管理部11gが、認識された画像を手順書ファイルに記録されているイベント発生時のマウスポインター付近の画像と比較することにより、マウスポインターの位置の差分を取得する。そして、実行管理部11gは、取得したマウスポインターの位置の差分を解消するように、さらにマウスカウントを被操作装置3に入力する。
ここで、本実施形態においては、マウスポインターによる操作の位置をより正確に特定するため、マウスカウントの入力によって移動したマウスポインターの位置がさらに微調整される。具体的には、マウスカウントの入力によって、実行すべき1手順の対象となる操作の位置付近にマウスポインターが移動された後の画像を、画面認識部11cによって認識し、実行管理部11gが、認識された画像を手順書ファイルに記録されているイベント発生時のマウスポインター付近の画像と比較することにより、マウスポインターの位置の差分を取得する。そして、実行管理部11gは、取得したマウスポインターの位置の差分を解消するように、さらにマウスカウントを被操作装置3に入力する。
このような手順により、表示画面のデータによって操作内容を認識し、入力デバイス信号によって、認識された操作内容を自動的に実行するシステム形態において、より正確にRPAによる操作を行うことができる。
[動作]
次に、RPAシステムSの動作を説明する。
[記録処理]
図5は、管理装置1が実行する記録処理の流れを説明するフローチャートである。
記録処理は、管理装置1のユーザが記録モードを選択することに対応して開始される。
ステップS1において、ロボット制御部11aは、記録処理の状態に応じたロボット2の振る舞いの実行を開始する。
次に、RPAシステムSの動作を説明する。
[記録処理]
図5は、管理装置1が実行する記録処理の流れを説明するフローチャートである。
記録処理は、管理装置1のユーザが記録モードを選択することに対応して開始される。
ステップS1において、ロボット制御部11aは、記録処理の状態に応じたロボット2の振る舞いの実行を開始する。
ステップS2において、RAM13の所定領域(フレームバッファ)に記憶された動画データから、被操作装置3の表示画面における1画面分のデータ(即ち、1フレーム分のデータ)を抽出する。
ステップS3において、画面キャプチャ部11bは、抽出した1画面分の表示画面のデータを、所定形式の画像ファイル(例えば、ビットマップ形式等)に変換し、記憶部14に記憶する。
ステップS3において、画面キャプチャ部11bは、抽出した1画面分の表示画面のデータを、所定形式の画像ファイル(例えば、ビットマップ形式等)に変換し、記憶部14に記憶する。
ステップS4において、画面認識部11cは、記憶部14に記憶された1画面分の表示画面のデータにおいて、マウスポインターの認識を実行する。このとき、画面認識部11cは、先行するフレームにおいてマウスポインターが認識されていない場合には、マウスポインターとして使用される可能性がある種々の形状を、1フレーム内の全領域について各部の画像と照合することにより、マウスポインターの位置及び形状の認識を実行する。また、画面認識部11cは、先行するフレームにおいてマウスポインターが認識されている場合には、認識されたマウスポインターの位置付近において、認識されたマウスポインターの形状を探索することにより、マウスポインターの位置及び形状の認識を実行する。
ステップS5において、画面認識部11cは、マウスポインターが認識されたか否かの判定を行う。
マウスポインターが認識されていない場合、ステップS5においてNOと判定されて、処理はステップS2に移行する。
一方、マウスポインターが認識されている場合、ステップS5においてYESと判定されて、処理はステップS6に移行する。
マウスポインターが認識されていない場合、ステップS5においてNOと判定されて、処理はステップS2に移行する。
一方、マウスポインターが認識されている場合、ステップS5においてYESと判定されて、処理はステップS6に移行する。
ステップS6において、イベント取得部11dは、被操作装置3において発生したイベントを取得する。具体的には、イベント取得部11dは、ユーザによって発生されたマウス操作によるイベントの内容(左クリック、右クリックあるいはドラッグ等)を取得する。
ステップS7において、記録制御部11eは、イベント取得部11dによって取得されたイベントを操作の手順を表すデータとして、手順書ファイルに記録する。具体的には、記録制御部11eは、マウスポインターの位置と、マウス操作によるイベントの内容と、マウスポインター付近の画像のデータとを対応付けて、手順書ファイルに記録する。
ステップS7において、記録制御部11eは、イベント取得部11dによって取得されたイベントを操作の手順を表すデータとして、手順書ファイルに記録する。具体的には、記録制御部11eは、マウスポインターの位置と、マウス操作によるイベントの内容と、マウスポインター付近の画像のデータとを対応付けて、手順書ファイルに記録する。
ステップS8において、記録制御部11eは、記録モードを終了させる指示(記録終了ボタンのクリック等)が行われたか否かの判定を行う。
記録モードを終了させる指示が行われていない場合、ステップS8においてNOと判定されて、処理はステップS2に移行する。
一方、記録モードを終了させる指示が行われた場合、ステップS8においてYESと判定されて、処理はステップS9に移行する。
記録モードを終了させる指示が行われていない場合、ステップS8においてNOと判定されて、処理はステップS2に移行する。
一方、記録モードを終了させる指示が行われた場合、ステップS8においてYESと判定されて、処理はステップS9に移行する。
ステップS9において、ロボット制御部11aは、記録処理の状態に応じたロボット2の振る舞いの実行を終了する。
ステップS10において、記録制御部11eは、記録モードにより記録された時系列の操作内容(操作手順)を表すデータとして、手順書ファイルを記憶部14に記憶する。
ステップS10の後、記録処理は終了となる。
ステップS10において、記録制御部11eは、記録モードにより記録された時系列の操作内容(操作手順)を表すデータとして、手順書ファイルを記憶部14に記憶する。
ステップS10の後、記録処理は終了となる。
[編集処理]
図6は、管理装置1が実行する編集処理の流れを説明するフローチャートである。
編集処理は、管理装置1のユーザが編集モードを選択することに対応して開始される。
ステップS21において、編集管理部11fは、ユーザの指示に応じて、編集の対象となる操作内容が記録された手順書ファイルを選択する。
ステップS22において、ロボット制御部11aは、編集処理の状態に応じたロボット2の振る舞いの実行を開始する。
図6は、管理装置1が実行する編集処理の流れを説明するフローチャートである。
編集処理は、管理装置1のユーザが編集モードを選択することに対応して開始される。
ステップS21において、編集管理部11fは、ユーザの指示に応じて、編集の対象となる操作内容が記録された手順書ファイルを選択する。
ステップS22において、ロボット制御部11aは、編集処理の状態に応じたロボット2の振る舞いの実行を開始する。
ステップS23において、編集管理部11fは、編集のためのUI画面をディスプレイ2Aに表示する。ステップS23において表示されるUI画面では、ユーザは、手順書ファイルに記録されている操作内容に関連して、条件分岐やループ処理等の追加、変更あるいは削除といった編集を行うことができる。また、このとき表示されるUI画面は、ビジュアルプログラミングに基づくUI画面であり、ユーザは、操作内容を表すモジュールの視覚的な配置の変更等によって、操作内容を編集することができる。
ステップS24において、編集管理部11fは、手順書ファイルに記録されている操作内容に編集内容を反映させる。
ステップS25において、編集管理部11fは、手順書ファイルが更新されたことをユーザに通知する確認画面を表示する。
ステップS26において、ロボット制御部11aは、編集処理の状態に応じたロボット2の振る舞いの実行を終了する。
ステップS27において、編集管理部11fは、編集モードにより編集された操作手順を表すデータとして、手順書ファイルを更新する。
ステップS27の後、編集処理は終了となる。
ステップS25において、編集管理部11fは、手順書ファイルが更新されたことをユーザに通知する確認画面を表示する。
ステップS26において、ロボット制御部11aは、編集処理の状態に応じたロボット2の振る舞いの実行を終了する。
ステップS27において、編集管理部11fは、編集モードにより編集された操作手順を表すデータとして、手順書ファイルを更新する。
ステップS27の後、編集処理は終了となる。
[実行処理]
図7は、管理装置1が実行する実行処理の流れを説明するフローチャートである。
実行処理は、管理装置1のユーザが実行モードを選択することに対応して開始される。
ステップS31において、実行管理部11gは、ユーザの指示に応じて、実行の対象となる操作内容が記録された手順書ファイルを選択する。
ステップS32において、実行管理部11gは、選択した手順書ファイルに記録されている操作内容の実行指示を受け付ける。
図7は、管理装置1が実行する実行処理の流れを説明するフローチャートである。
実行処理は、管理装置1のユーザが実行モードを選択することに対応して開始される。
ステップS31において、実行管理部11gは、ユーザの指示に応じて、実行の対象となる操作内容が記録された手順書ファイルを選択する。
ステップS32において、実行管理部11gは、選択した手順書ファイルに記録されている操作内容の実行指示を受け付ける。
ステップS33において、ロボット制御部11aは、実行処理の状態に応じたロボット2の振る舞いの実行を開始する。
ステップS34において、実行管理部11gは、手順書ファイルに記録されている操作内容の1手順を読み出す。
ステップS35において、画面キャプチャ部11bは、ビデオ入力部15によって受信された被操作装置3の画面出力信号が表す表示画面のデータを動画データとして取得し、RAM13の所定領域(フレームバッファ)に順次記憶する。
ステップS36において、画面認識部11cは、記憶部14に記憶された1画面分の表示画面のデータにおいて、マウスポインターの位置及び形状、ウィンドウ、実行中のアプリケーション、ボタン及びオブジェクト等の表示内容を認識する。
ステップS34において、実行管理部11gは、手順書ファイルに記録されている操作内容の1手順を読み出す。
ステップS35において、画面キャプチャ部11bは、ビデオ入力部15によって受信された被操作装置3の画面出力信号が表す表示画面のデータを動画データとして取得し、RAM13の所定領域(フレームバッファ)に順次記憶する。
ステップS36において、画面認識部11cは、記憶部14に記憶された1画面分の表示画面のデータにおいて、マウスポインターの位置及び形状、ウィンドウ、実行中のアプリケーション、ボタン及びオブジェクト等の表示内容を認識する。
ステップS37において、実行管理部11gは、認識された表示内容に基づいて、入力デバイス信号によって被操作装置3の現在の状況を取得する。このとき、実行管理部11gは、例えば、マウスポインターの位置やウィンドウの変化等を被操作装置3の現在の状況として取得する。
ステップS38において、実行管理部11gは、取得した被操作装置3の現在の状況と、手順書ファイルに記録されている操作内容とを照合する。例えば、実行管理部11gは、被操作装置3の現在の状況が処理の待機中であり、手順書ファイルに記録されたウィンドウが表示されていない場合には、取得した被操作装置3の現在の状況と、手順書ファイルに記録されている操作内容とが合致しないものと判定する。これにより、記録処理と実行処理とでは被操作装置3の処理負荷が異なるところ、被操作装置3の現在の状況が、手順書ファイルに記録されている操作内容が実行された状況と合致するまで、次の処理の実行を待機することができる。
ステップS38において、実行管理部11gは、取得した被操作装置3の現在の状況と、手順書ファイルに記録されている操作内容とを照合する。例えば、実行管理部11gは、被操作装置3の現在の状況が処理の待機中であり、手順書ファイルに記録されたウィンドウが表示されていない場合には、取得した被操作装置3の現在の状況と、手順書ファイルに記録されている操作内容とが合致しないものと判定する。これにより、記録処理と実行処理とでは被操作装置3の処理負荷が異なるところ、被操作装置3の現在の状況が、手順書ファイルに記録されている操作内容が実行された状況と合致するまで、次の処理の実行を待機することができる。
ステップS39において、実行管理部11gは、マウス信号出力部16あるいはキーボード信号出力部17を介して、手順書ファイルから読み出した1手順を実行させる入力デバイス信号を被操作装置3に出力する。このとき、実行管理部11gは、被操作装置3から取得される表示画面のデータにおいて、手順書ファイルに記録されているイベント発生時のマウスポインター付近の画像を探索することにより、実行すべき1手順の対象となる操作の位置を特定する。これにより、被操作装置3において、手順書ファイルに記録されている1手順が実行される。
ステップS40において、実行管理部11gは、手順書ファイルに記録されている操作内容が被操作装置3において全て実行されたか否かの判定を行う。
手順書ファイルに記録されている操作内容が被操作装置3において全て実行されてはいない場合、ステップS40においてNOと判定されて、処理はステップS34に移行する。
一方、手順書ファイルに記録されている操作内容が被操作装置3において全て実行された場合、ステップS40においてYESと判定されて、処理はステップS41に移行する。
手順書ファイルに記録されている操作内容が被操作装置3において全て実行されてはいない場合、ステップS40においてNOと判定されて、処理はステップS34に移行する。
一方、手順書ファイルに記録されている操作内容が被操作装置3において全て実行された場合、ステップS40においてYESと判定されて、処理はステップS41に移行する。
ステップS41において、ロボット制御部11aは、実行処理の状態に応じたロボット2の振る舞いの実行を終了する。
ステップS42において、実行管理部11gは、手順書ファイルに記録されている操作内容の実行が終了したことを示すダイアログ(実行終了ダイアログ)を表示する。
ステップS42の後、実行処理は終了となる。
ステップS42において、実行管理部11gは、手順書ファイルに記録されている操作内容の実行が終了したことを示すダイアログ(実行終了ダイアログ)を表示する。
ステップS42の後、実行処理は終了となる。
以上のように、本実施形態に係るPRAシステムSでは、管理装置1が被操作装置3から画面出力信号を取得すると共に、管理装置1から被操作装置3に入力デバイス信号を入力する。そして、管理装置1は、被操作装置3の画面出力信号から被操作装置3で行われた操作を認識し、被操作装置3に対する所定の操作を入力デバイス信号によって実行する。
したがって、被操作装置3にRPAのためのアプリケーションをインストールすることなく、被操作装置3におけるRPAを実現することができる。
したがって、RPAシステムSによれば、適用対象となるシステムにおけるセキュリティを確保しつつ、簡単にRPAを実現することができる。
したがって、被操作装置3にRPAのためのアプリケーションをインストールすることなく、被操作装置3におけるRPAを実現することができる。
したがって、RPAシステムSによれば、適用対象となるシステムにおけるセキュリティを確保しつつ、簡単にRPAを実現することができる。
また、管理装置1の画面認識部11cが被操作装置3の表示画面における表示内容を認識し、イベント取得部11dが、表示画面のデータに基づいて、被操作装置3において発生したイベントを取得する。
したがって、RPAのためのアプリケーションをインストールすることなく、被操作装置3からの画面出力信号によって、被操作装置3で行われた操作内容を取得することができる。
したがって、RPAのためのアプリケーションをインストールすることなく、被操作装置3からの画面出力信号によって、被操作装置3で行われた操作内容を取得することができる。
また、管理装置1では、記録処理が実行されることにより、被操作装置3で行われた操作内容を記録することができる。
したがって、被操作装置3のオペレータが行った操作を管理装置1において記録することができる。
したがって、被操作装置3のオペレータが行った操作を管理装置1において記録することができる。
また、管理装置1では、編集処理が実行されることにより、被操作装置3で行われた操作内容を編集することができる。
したがって、被操作装置3オペレータが行った操作を目的に応じて拡充させることができる。
したがって、被操作装置3オペレータが行った操作を目的に応じて拡充させることができる。
また、管理装置1では、実行処理が実行されることにより、記録されている操作内容を被操作装置3に自動的に実行させることができる。
したがって、被操作装置3に管理装置1を外付けする形態で、RPAを実現することができる。
したがって、被操作装置3に管理装置1を外付けする形態で、RPAを実現することができる。
[変形例1]
上述の実施形態において、管理装置1は、ロボット2に内蔵されているものとして説明したが、これに限られない。即ち、RPAシステムSは、ロボット2と管理装置1とを分離したシステム構成とすることができる。
図8は、ロボット2と管理装置1とを分離したRPAシステムSのシステム構成を示す模式図である。
図8に示すように、管理装置1をロボット2とは別体の情報処理装置として構成し、ロボット2は、頭部や腕を動かす機能、音声の出力機能及びLEDを発光させる機能を有するものとできる。
なお、図8に示すシステム構成では、被操作装置3の画面出力信号をビデオキャプチャするビデオキャプチャ装置4及び被操作装置3に対する入力デバイス信号を生成するエミュレート処理装置5がさらに備えられている。ビデオキャプチャ装置4は、図2におけるビデオ入力部15の機能を有し、エミュレート処理装置5は、図2におけるマウス信号出力部16及びキーボード信号出力部17の機能を有するものである。
このような構成とすることにより、ロボット2の機能がより限定されたものとなり、ロボット2を小型化しつつ、上記実施形態のRPAシステムSと同様の機能を実現することができる。
上述の実施形態において、管理装置1は、ロボット2に内蔵されているものとして説明したが、これに限られない。即ち、RPAシステムSは、ロボット2と管理装置1とを分離したシステム構成とすることができる。
図8は、ロボット2と管理装置1とを分離したRPAシステムSのシステム構成を示す模式図である。
図8に示すように、管理装置1をロボット2とは別体の情報処理装置として構成し、ロボット2は、頭部や腕を動かす機能、音声の出力機能及びLEDを発光させる機能を有するものとできる。
なお、図8に示すシステム構成では、被操作装置3の画面出力信号をビデオキャプチャするビデオキャプチャ装置4及び被操作装置3に対する入力デバイス信号を生成するエミュレート処理装置5がさらに備えられている。ビデオキャプチャ装置4は、図2におけるビデオ入力部15の機能を有し、エミュレート処理装置5は、図2におけるマウス信号出力部16及びキーボード信号出力部17の機能を有するものである。
このような構成とすることにより、ロボット2の機能がより限定されたものとなり、ロボット2を小型化しつつ、上記実施形態のRPAシステムSと同様の機能を実現することができる。
[変形例2]
上述の実施形態において、記録モードでオペレータの操作内容を記録する際に、ロボット2を介して、オペレータに対して操作内容について質問し、ロボット2による質問及びオペレータの回答を記録することができる。これにより、条件分岐やループ等の複数の選択肢が存在する操作等について、オペレータが行った操作内容自体の記録に留まらず、操作の意図にまで拡張して記録することが可能となる。
例えば、オペレータによって表示画面上で電子メールを開く操作が行われた場合に、ロボット2が「どうしてこのメールを開いたのですか?一番上にあるからですか?」と質問し、オペレータが「NO」と回答した場合に、ロボット2が「タイトルが太字だからですか?」とさらに質問し、オペレータが「NO」と回答した場合に、ロボット2が「未読だからですか?」とさらに質問し、オペレータが「YES」と回答した場合に、「わかりました。では、次回から、未読のメールを開きますね。」と、オペレータの操作の意図を把握することができる。そして、管理装置1は、これら質問及び回答を記録すると共に、把握されたオペレータの意図(「未読のメールを開く操作」等)を操作内容として記録することができる。
これにより、編集モードにおいて操作内容を編集する手間を省略し、より簡単にRPAを実現することが可能となる。
なお、オペレータに対する質問は、ロボット2を介して音声として出力することや、被操作装置3のディスプレイにテキストデータとして出力すること等が可能である。また、オペレータによる回答は、管理装置1、ロボット2あるいは被操作装置3に音声として入力することや、被操作装置3の表示画面においてマウスやキーボードの操作によって入力すること等が可能である。
上述の実施形態において、記録モードでオペレータの操作内容を記録する際に、ロボット2を介して、オペレータに対して操作内容について質問し、ロボット2による質問及びオペレータの回答を記録することができる。これにより、条件分岐やループ等の複数の選択肢が存在する操作等について、オペレータが行った操作内容自体の記録に留まらず、操作の意図にまで拡張して記録することが可能となる。
例えば、オペレータによって表示画面上で電子メールを開く操作が行われた場合に、ロボット2が「どうしてこのメールを開いたのですか?一番上にあるからですか?」と質問し、オペレータが「NO」と回答した場合に、ロボット2が「タイトルが太字だからですか?」とさらに質問し、オペレータが「NO」と回答した場合に、ロボット2が「未読だからですか?」とさらに質問し、オペレータが「YES」と回答した場合に、「わかりました。では、次回から、未読のメールを開きますね。」と、オペレータの操作の意図を把握することができる。そして、管理装置1は、これら質問及び回答を記録すると共に、把握されたオペレータの意図(「未読のメールを開く操作」等)を操作内容として記録することができる。
これにより、編集モードにおいて操作内容を編集する手間を省略し、より簡単にRPAを実現することが可能となる。
なお、オペレータに対する質問は、ロボット2を介して音声として出力することや、被操作装置3のディスプレイにテキストデータとして出力すること等が可能である。また、オペレータによる回答は、管理装置1、ロボット2あるいは被操作装置3に音声として入力することや、被操作装置3の表示画面においてマウスやキーボードの操作によって入力すること等が可能である。
[変形例3]
上述の実施形態において、RPAシステムSの適用対象として、RPAにより所定の処理(業務上の作業等)を自動的に実行する場合を例に挙げて説明したが、RPAシステムSは、種々の目的に用いることができる。
例えば、本発明を適用したRPAシステムSは、操作対象となる装置のOS(オペレーティングシステム)やプラットフォーム等に依存しないことから、種々の装置における操作のテストツールとして用いることができる。
即ち、管理装置1が、テストの対象となる装置においてオペレータが入力したテスト操作パターンを記録処理で記録し、編集処理によって、テスト操作のバリエーション等を適宜追加・変更した上で、実行処理によって、テスト操作の内容を自動的に入力して、操作のテストを行うことができる。
この場合、テストの対象となる装置の性能等によって、待機時間が発生した場合にも、RPAシステムSは適切に待機し、人間が操作する場合とほぼ同様のテスト操作を行うことができる。
比較例として、テストの対象となる装置にインストールしたテストツールを用いてテスト操作を実行する場合、実際のUI画面の表示及びユーザの操作を経ることなく、ユーザによって操作されたものとして処理が進行することから、実際の操作とは異なるテスト結果となる場合がある。
これに対し、本発明を適用したRPAシステムSを用いることで、より正確なテスト結果を得ることができる。
上述の実施形態において、RPAシステムSの適用対象として、RPAにより所定の処理(業務上の作業等)を自動的に実行する場合を例に挙げて説明したが、RPAシステムSは、種々の目的に用いることができる。
例えば、本発明を適用したRPAシステムSは、操作対象となる装置のOS(オペレーティングシステム)やプラットフォーム等に依存しないことから、種々の装置における操作のテストツールとして用いることができる。
即ち、管理装置1が、テストの対象となる装置においてオペレータが入力したテスト操作パターンを記録処理で記録し、編集処理によって、テスト操作のバリエーション等を適宜追加・変更した上で、実行処理によって、テスト操作の内容を自動的に入力して、操作のテストを行うことができる。
この場合、テストの対象となる装置の性能等によって、待機時間が発生した場合にも、RPAシステムSは適切に待機し、人間が操作する場合とほぼ同様のテスト操作を行うことができる。
比較例として、テストの対象となる装置にインストールしたテストツールを用いてテスト操作を実行する場合、実際のUI画面の表示及びユーザの操作を経ることなく、ユーザによって操作されたものとして処理が進行することから、実際の操作とは異なるテスト結果となる場合がある。
これに対し、本発明を適用したRPAシステムSを用いることで、より正確なテスト結果を得ることができる。
[変形例4]
上述の実施形態において、管理装置1は、被操作装置3の画面出力信号を取得するものとしたが、これに限られない。即ち、被操作装置3における表示内容が取得できるものであれば、種々の技術的手段を用いることができる。
例えば、カメラによって被操作装置3の表示画面を撮像し、撮像された画像に基づいて、管理装置1が、被操作装置3の表示内容を認識することとしてもよい。
この場合、被操作装置3の出力ポートから信号やデータを出力することなく、被操作装置3に対するRPAを実行することができる。
そのため、被操作装置3におけるセキュリティをより高めつつ、簡単にRPAを実現することができる。
上述の実施形態において、管理装置1は、被操作装置3の画面出力信号を取得するものとしたが、これに限られない。即ち、被操作装置3における表示内容が取得できるものであれば、種々の技術的手段を用いることができる。
例えば、カメラによって被操作装置3の表示画面を撮像し、撮像された画像に基づいて、管理装置1が、被操作装置3の表示内容を認識することとしてもよい。
この場合、被操作装置3の出力ポートから信号やデータを出力することなく、被操作装置3に対するRPAを実行することができる。
そのため、被操作装置3におけるセキュリティをより高めつつ、簡単にRPAを実現することができる。
[変形例5]
上述の実施形態において、管理装置1から被操作装置3に入力デバイス信号を入力することにより、被操作装置3の操作を行うものとしたが、これに限られない。即ち、被操作装置3を操作できるものであれば、種々の技術的手段を用いることができる。
例えば、ロボット2に手あるいは指の機能を有するマニピュレータを備え、管理装置1(ロボット制御部11a)がマニピュレータの動きを制御することによって、被操作装置3のキーボードやマウスを操作することが可能である。この場合、マニピュレータが操作するキーボードやマウスをカメラで撮像し、オブジェクト認識を行うことで、キーボードやマウスを適切に操作することができる。
このような構成とした場合、キーボードやマウス以外であっても、各種機器の操作インターフェースを操作することが可能となる。そのため、情報処理装置以外の被操作装置3に対しても、RPAによる自動的な操作を行うことができる。
例えば、介護機器や医療機器等の特殊な装置に対して、医療従事者等が行った操作を管理装置1で記録し、記録された操作内容を適宜編集する。そして、以後、管理装置1が、RPAにより自動的に介護機器や医療機器等の操作を行うことができる。
これにより、日常的に繰り返される特定の介護作業や医療行為等について、人為的なミスが発生することを抑制しつつ、効率的に対応することが可能となる。
上述の実施形態において、管理装置1から被操作装置3に入力デバイス信号を入力することにより、被操作装置3の操作を行うものとしたが、これに限られない。即ち、被操作装置3を操作できるものであれば、種々の技術的手段を用いることができる。
例えば、ロボット2に手あるいは指の機能を有するマニピュレータを備え、管理装置1(ロボット制御部11a)がマニピュレータの動きを制御することによって、被操作装置3のキーボードやマウスを操作することが可能である。この場合、マニピュレータが操作するキーボードやマウスをカメラで撮像し、オブジェクト認識を行うことで、キーボードやマウスを適切に操作することができる。
このような構成とした場合、キーボードやマウス以外であっても、各種機器の操作インターフェースを操作することが可能となる。そのため、情報処理装置以外の被操作装置3に対しても、RPAによる自動的な操作を行うことができる。
例えば、介護機器や医療機器等の特殊な装置に対して、医療従事者等が行った操作を管理装置1で記録し、記録された操作内容を適宜編集する。そして、以後、管理装置1が、RPAにより自動的に介護機器や医療機器等の操作を行うことができる。
これにより、日常的に繰り返される特定の介護作業や医療行為等について、人為的なミスが発生することを抑制しつつ、効率的に対応することが可能となる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、上述の実施形態においては、管理装置1が記録処理、編集処理及び実行処理を行う場合を例に挙げて説明したが、これに限られない。即ち、記録処理、編集処理及び実行処理は、異なる装置で実行することとしてもよい。この場合、処理結果を他の装置に受け渡すことにより、全体として、上述の実施形態と同様の機能を実現することができる。
例えば、上述の実施形態においては、管理装置1が記録処理、編集処理及び実行処理を行う場合を例に挙げて説明したが、これに限られない。即ち、記録処理、編集処理及び実行処理は、異なる装置で実行することとしてもよい。この場合、処理結果を他の装置に受け渡すことにより、全体として、上述の実施形態と同様の機能を実現することができる。
また、上述の実施形態において、記録処理が行われる場合、オペレータによって操作された際のマウスポインターの位置をオペレータの操作の通りに逐次記録することや、マウス操作によるイベントが発生した際のマウスポインターの位置のみを記録することのいずれも可能である。
また、上述の実施形態において、管理装置1をマウス/キーボード信号ケーブルを介して被操作装置3に接続する場合に、被操作装置3において新たなデバイスとして認識されない設定とすることが望ましい。例えば、管理装置1をマウス/キーボード信号ケーブルを介して被操作装置3に接続した場合に、被操作装置3に標準でドライバが内蔵されたデバイスとして管理装置1が認識されることが望ましい。ただし、管理装置1を被操作装置3に接続した際に、ドライバがインストールされるのみであれば、被操作装置3内のデータが漏洩することを抑制する観点では実質的に影響はないため、RPAシステムSの適用対象によっては、ドライバのインストールを許容することも可能である。
また、上述の実施形態において、管理装置1をマウス/キーボード信号ケーブルを介して被操作装置3に接続する場合に、被操作装置3において新たなデバイスとして認識されない設定とすることが望ましい。例えば、管理装置1をマウス/キーボード信号ケーブルを介して被操作装置3に接続した場合に、被操作装置3に標準でドライバが内蔵されたデバイスとして管理装置1が認識されることが望ましい。ただし、管理装置1を被操作装置3に接続した際に、ドライバがインストールされるのみであれば、被操作装置3内のデータが漏洩することを抑制する観点では実質的に影響はないため、RPAシステムSの適用対象によっては、ドライバのインストールを許容することも可能である。
また、上述の実施形態において、被操作装置3の入力デバイスとして、マウス及びキーボードを例に挙げて説明したが、これに限られない。即ち、被操作装置3の入力デバイスとしては、種々のものが想定され、例えば、被操作装置3がタッチパネルやタッチペン等の入力デバイスを備える場合にも、本発明を適用することが可能である。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図3の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が管理装置1に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図3の例に限定されない。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
本実施形態における機能的構成は、演算処理を実行するプロセッサによって実現され、本実施形態に用いることが可能なプロセッサには、シングルプロセッサ、マルチプロセッサ及びマルチコアプロセッサ等の各種処理装置単体によって構成されるものの他、これら各種処理装置と、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられたものを含む。
換言すると、図3の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が管理装置1に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図3の例に限定されない。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
本実施形態における機能的構成は、演算処理を実行するプロセッサによって実現され、本実施形態に用いることが可能なプロセッサには、シングルプロセッサ、マルチプロセッサ及びマルチコアプロセッサ等の各種処理装置単体によって構成されるものの他、これら各種処理装置と、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられたものを含む。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk),Blu−ray(登録商標) Disc(ブルーレイディスク)等により構成される。光磁気ディスクは、MD(Mini−Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図2のROM12や、図2の記憶部14に含まれるハードディスク等で構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
S RPAシステム、1 管理装置、2 ロボット、2A ディスプレイ、2B マウス、2C キーボード、3 被操作装置、4 ビデオキャプチャ装置、5 エミュレート処理装置、11 CPU、12 ROM、13 RAM、14 記憶部、15 ビデオ入力部、16 マウス信号出力部、17 キーボード信号出力部、18 LED制御部、19 モータ制御部、20 グラフィック表示部、21 入力インターフェース部、22 音声合成・出力部、23 A/D変換部、11a ロボット制御部、11b 画面キャプチャ部、11c 画面認識部、11d イベント取得部、11e 記録制御部、11f 編集管理部、11g 実行管理部
Claims (15)
- 操作の対象となる被操作装置に対する、入力デバイス信号に基づく自動操作を管理する管理装置を含み、
前記管理装置は、
前記被操作装置の表示画面の画像を取得する画像取得手段と、
前記被操作装置に実行させる操作内容を管理する実行管理手段と、
前記被操作装置に前記操作内容に基づいた入力デバイス信号を入力する信号入力手段と、
を備えることを特徴とする情報処理システム。 - 前記管理装置は、
前記被操作装置の表示画面の画像に基づいて、前記被操作装置において行われた操作内容を取得する操作内容取得手段と、
前記操作内容取得手段によって取得された前記操作内容を記録する記録制御手段と、
を備えることを特徴とする請求項1に記載の情報処理システム。 - 前記管理装置は、
前記記録制御手段によって記録された前記操作内容の編集を受け付ける編集管理手段を備えることを特徴とする請求項2に記載の情報処理システム。 - 前記管理装置は、
記録されている前記操作内容に基づいて、前記被操作装置に対する操作を実行する実行管理手段を備えることを特徴とする請求項2または3に記載の情報処理システム。 - 前記操作内容取得手段は、マウスによる前記操作内容を取得する場合に、表示画面における操作が行われた位置周辺の画像を前記操作内容として取得し、
前記実行管理手段は、前記操作内容を前記被操作装置で実行する際に、前記操作が行われた位置周辺の画像において、マウスポインターを除外した画像を基に、前記被操作装置の表示画面を探索し、前記被操作装置の表示画面において探索された画像に、前記マウスポインターの画像を付加した画像と、記録されている前記操作が行われた位置周辺の画像とが合致するか否かを判定することを特徴とする請求項4に記載の情報処理システム。 - 前記画像取得手段は、前記被操作装置から出力される画面出力信号を取得することを特徴とする請求項1から5のいずれか1項に記載の情報処理システム。
- 前記画像取得手段は、前記被操作装置の表示画面を撮像した撮像画像を取得することを特徴とする請求項1から5のいずれか1項に記載の情報処理システム。
- 前記信号入力手段は、前記被操作装置に対する入力デバイス信号を生成して入力することを特徴とする請求項1から7のいずれか1項に記載の情報処理システム。
- 前記信号入力手段は、前記被操作装置に接続された入力デバイスを操作して入力デバイス信号を入力することを特徴とする請求項1から7のいずれか1項に記載の情報処理システム。
- 前記管理装置は、身振り、音または光の少なくともいずれかによる挙動を行うロボットに内蔵された装置として構成され、
前記管理装置は、実行する処理に応じて、前記ロボットに所定の挙動を行わせることを特徴とする請求項1から9のいずれか1項に記載の情報処理システム。 - 前記管理装置とは別体として構成され、身振り、音または光の少なくともいずれかによる挙動を行うロボットを含み、
前記管理装置は、実行する処理に応じて、前記ロボットに所定の挙動を行わせることを特徴とする請求項1から9のいずれか1項に記載の情報処理システム。 - 操作の対象となる被操作装置に対する、入力デバイス信号に基づく自動操作を管理する管理装置が実行する情報処理方法であって、
前記被操作装置の表示画面の画像を取得する画像取得ステップと、
前記被操作装置に実行させる操作内容を管理する実行管理ステップと、
前記被操作装置に入力デバイス信号を入力する信号入力ステップと、
を含むことを特徴とする情報処理方法。 - コンピュータに、
操作の対象となる被操作装置の表示画面の画像を取得する画像取得機能と、
前記被操作装置に実行させる操作内容を管理する実行管理機能と、
前記被操作装置に前記操作内容に基づいた入力デバイス信号を入力する信号入力機能と、
を実現させることを特徴とするプログラム。 - コンピュータに、
操作の対象となる被操作装置の表示画面の画像に基づいて、前記被操作装置において行われた操作内容を取得する操作内容取得機能と、
前記操作内容取得機能によって取得された前記操作内容を記録する記録制御機能と
を実現させることを特徴とするプログラム。 - コンピュータに、
操作の対象となる被操作装置の表示画面の画像に基づいて取得された、前記被操作装置において行われた操作内容の編集を受け付ける編集管理機能を実現させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017153723A JP2019032719A (ja) | 2017-08-08 | 2017-08-08 | 情報処理システム、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017153723A JP2019032719A (ja) | 2017-08-08 | 2017-08-08 | 情報処理システム、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019032719A true JP2019032719A (ja) | 2019-02-28 |
Family
ID=65523552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017153723A Pending JP2019032719A (ja) | 2017-08-08 | 2017-08-08 | 情報処理システム、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019032719A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020197997A (ja) * | 2019-06-04 | 2020-12-10 | さくら情報システム株式会社 | 情報処理装置、方法及びプログラム |
JP2021015476A (ja) * | 2019-07-12 | 2021-02-12 | 日本ノーベル株式会社 | 画面遷移情報生成装置、画面遷移情報生成方法、画面遷移情報生成用プログラム、画面遷移情報生成システム |
JPWO2021084763A1 (ja) * | 2019-11-01 | 2021-05-06 | ||
JP2021128395A (ja) * | 2020-02-12 | 2021-09-02 | アマノ株式会社 | 業務処理装置、情報処理方法及びプログラム |
WO2022202064A1 (ja) * | 2021-03-22 | 2022-09-29 | 株式会社 東芝 | 情報処理装置および情報入力システム |
-
2017
- 2017-08-08 JP JP2017153723A patent/JP2019032719A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020197997A (ja) * | 2019-06-04 | 2020-12-10 | さくら情報システム株式会社 | 情報処理装置、方法及びプログラム |
JP2021015476A (ja) * | 2019-07-12 | 2021-02-12 | 日本ノーベル株式会社 | 画面遷移情報生成装置、画面遷移情報生成方法、画面遷移情報生成用プログラム、画面遷移情報生成システム |
JP7202571B2 (ja) | 2019-07-12 | 2023-01-12 | 日本ノーベル株式会社 | 画面遷移情報生成装置、画面遷移情報生成方法、画面遷移情報生成用プログラム、画面遷移情報生成システム |
JPWO2021084763A1 (ja) * | 2019-11-01 | 2021-05-06 | ||
JP7359218B2 (ja) | 2019-11-01 | 2023-10-11 | 日本電信電話株式会社 | 管理装置、管理方法及び管理プログラム |
JP2021128395A (ja) * | 2020-02-12 | 2021-09-02 | アマノ株式会社 | 業務処理装置、情報処理方法及びプログラム |
JP7449708B2 (ja) | 2020-02-12 | 2024-03-14 | アマノ株式会社 | 業務管理システム |
WO2022202064A1 (ja) * | 2021-03-22 | 2022-09-29 | 株式会社 東芝 | 情報処理装置および情報入力システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019032719A (ja) | 情報処理システム、情報処理方法及びプログラム | |
US9183752B2 (en) | Tutorial generator with automatic capture of screenshots | |
US20100262864A1 (en) | Automatic reproduction test device and automatic reproduction test method in embedded system | |
JP6840379B2 (ja) | 情報処理システム、情報処理装置、情報処理方法及びプログラム | |
EP2891041B1 (en) | User interface apparatus in a user terminal and method for supporting the same | |
US20160054981A1 (en) | Programming interface | |
US9542943B2 (en) | Minutes making assistance device, electronic conference device, electronic conference system, minutes making assistance method, and storage medium storing minutes making assistance program | |
CN110489188B (zh) | 由桌面应用生成移动应用程序的计算机实现的方法和系统 | |
US10331304B2 (en) | Techniques to automatically generate bookmarks for media files | |
JP2011081778A (ja) | ディスプレイ非依存のコンピュータによるガイダンス方法および装置 | |
CN109782997B (zh) | 一种数据处理方法、装置及存储介质 | |
US20190206413A1 (en) | Electronic device and method | |
US11163377B2 (en) | Remote generation of executable code for a client application based on natural language commands captured at a client device | |
US11900931B2 (en) | Information processing apparatus and information processing method | |
WO2018105373A1 (ja) | 情報処理装置、情報処理方法、および情報処理システム | |
WO2016206647A1 (zh) | 用于控制机器装置产生动作的系统 | |
CN112817582A (zh) | 代码处理方法、装置、计算机设备和存储介质 | |
US11978252B2 (en) | Communication system, display apparatus, and display control method | |
JP6985230B2 (ja) | 業務分析サーバ、業務分析方法、および業務分析プログラム | |
JP6950708B2 (ja) | 情報処理装置、情報処理方法、および情報処理システム | |
Kooijmans et al. | Interaction debugging: an integral approach to analyze human-robot interaction | |
US11599383B2 (en) | Concurrent execution of task instances relating to a plurality of applications | |
JPH09237151A (ja) | グラフィカルユーザインタフェース | |
WO2020170986A1 (ja) | 情報処理装置、方法及びプログラム | |
JP6886663B2 (ja) | 動作指示生成システム、方法およびプログラム |