(57)【要約】【課題】所定の対象の位置が異なる場合や状況に応じて変わる場合であっても、当該対象に対する所定の動作を正確且つ自動的に行うことの可能な制御システム、制御方法、プログラムを提供する。【解決手段】制御システムは、所定の動作を行う動作機構の動作位置を撮像範囲に含む第１画像であって、撮像装置によって撮像された第１画像を取得する第１取得手段４１と、所定の対象の撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、第１画像内に所定の対象が含まれていることを検出する第１検出手段４２と、第１画像内に所定の対象が含まれていることを検出した場合に、所定の対象に対して所定の動作を行うように動作機構を制御する制御手段４３と、を備える。【選択図】図３
2020160562.tif 000002
【特許請求の範囲】
【請求項１】
所定の動作を行う動作機構の動作位置を撮像範囲に含む第１画像であって、撮像装置によって撮像された第１画像を取得する第１取得手段と、
所定の対象の撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、前記第１画像内に前記所定の対象が含まれていることを検出する第１検出手段と、
前記第１画像内に前記所定の対象が含まれていることを検出した場合に、前記所定の対象に対して前記所定の動作を行うように前記動作機構を制御する制御手段と、
を備える制御システム。
【請求項２】
前記所定の対象に対して前記所定の動作が行われた場合に、前記所定の対象の位置を撮像範囲に含む第２画像であって、前記撮像装置によって撮像された第２画像を取得する第２取得手段と、
前記第２画像に基づいて所定の異常が発生したことを検出する第２検出手段と、
前記所定の異常が発生したことを検出した場合に、異常の発生に関する情報を提示する提示手段と、を備える請求項１に記載の制御システム。
【請求項３】
前記所定の対象は、タッチスクリーンに表示されたアプリケーションのアイコンであって、
前記制御手段は、前記第１画像内に前記アイコンが含まれていることを検出した場合に、前記アプリケーションを実行するために前記アイコンにタッチするように前記動作機構を制御する、請求項１又は２に記載の制御システム。
【請求項４】
前記動作機構はロボットアームである、請求項１〜３の何れかに記載の制御システム。
【請求項５】
コンピュータに、
所定の動作を行う動作機構の動作位置を撮像範囲に含む第１画像であって、撮像装置によって撮像された第１画像を取得するステップと、
所定の対象の撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、前記第１画像内に前記所定の対象が含まれていることを検出するステップと、
前記第１画像内に前記所定の対象が含まれていることを検出した場合に、前記所定の対象に対して前記所定の動作を行うように前記動作機構を制御するステップと、
の各ステップを実行させる、制御方法。
【請求項６】
コンピュータに、
所定の動作を行う動作機構の動作位置を撮像範囲に含む第１画像であって、撮像装置によって撮像された第１画像を取得する機能と、
所定の対象の撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、前記第１画像内に前記所定の対象が含まれていることを検出する機能と、
前記第１画像内に前記所定の対象が含まれていることを検出した場合に、前記所定の対象に対して前記所定の動作を行うように前記動作機構を制御する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム、制御方法、プログラムに関する。
【背景技術】
【０００２】
従来、所定の作業を行うために例えばロボット等の動作機構を用いる技術が知られている（例えば、特許文献１）。特許文献１に記載された技術では、ロボットが、所定の位置に配置された対象物を把持し、当該対象物を、工具によって機械加工可能な位置に移動させるようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２２２０１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、ロボットが一定の位置において対象物を把持するという動作を行うように構成されているので、例えば、対象物が決められた位置からずれた位置に配置される等のように対象物の配置位置が決められた位置と異なる場合や状況に応じて変わる場合には、ロボットは、決められた位置において対象物を把持することができず、結果として、ロボットが対象物を把持するという動作を正確且つ自動的に行うことが困難になる虞があった。
【０００５】
本発明は上記課題に鑑みてなされたものであり、所定の対象の位置が異なる場合や状況に応じて変わる場合であっても、当該対象に対する所定の動作を正確且つ自動的に行うことの可能な制御システム、制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、第一に本発明は、所定の動作を行う動作機構の動作位置を撮像範囲に含む第１画像であって、撮像装置によって撮像された第１画像を取得する第１取得手段と、所定の対象の撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、前記第１画像内に前記所定の対象が含まれていることを検出する第１検出手段と、前記第１画像内に前記所定の対象が含まれていることを検出した場合に、前記所定の対象に対して前記所定の動作を行うように前記動作機構を制御する制御手段と、を備える制御システムを提供する（発明１）。
【０００７】
かかる発明（発明１）によれば、撮像装置によって撮像された第１画像が取得されると、第１画像に含まれる所定の対象が学習済モデルに基づいて検出され、検出された所定の対象に対して所定の動作を行うように動作機構が制御されるので、例えば、第１画像に所定の対象が含まれている場合には、第１画像内の所定の対象の位置に基づいて、動作機構が所定の動作を行う位置を所定の対象の位置に一致させた上で当該所定の動作を行うように動作機構を制御することが可能になる。これにより、第１画像に所定の対象が含まれている場合には、当該対象の位置に拘わらずに当該対象に対して所定の動作を行うことができるので、所定の対象の位置が異なる場合や状況に応じて変わる場合であっても、当該対象に対する所定の動作を正確且つ自動的に行うことができる。
【０００８】
上記発明（発明１）においては、前記所定の対象に対して前記所定の動作が行われた場合に、前記所定の対象の位置を撮像範囲に含む第２画像であって、前記撮像装置によって撮像された第２画像を取得する第２取得手段と、前記第２画像に基づいて所定の異常が発生したことを検出する第２検出手段と、前記所定の異常が発生したことを検出した場合に、異常の発生に関する情報を提示する提示手段と、を備えてもよい（発明２）。
【０００９】
かかる発明（発明２）によれば、所定の対象に対して所定の動作が行われた場合に撮像された第２画像に基づいて所定の異常が発生したことが検出されると、異常の発生に関する情報が提示されるので、所定の対象に対して所定の動作を行った場合に異常が発生したことを容易に認識することができる。
【００１０】
上記発明（発明１〜２）においては、前記所定の対象は、タッチスクリーンに表示されたアプリケーションのアイコンであって、前記制御手段は、前記第１画像内に前記アイコンが含まれていることを検出した場合に、前記アプリケーションを実行するために前記アイコンにタッチするように前記動作機構を制御してもよい（発明３）。
【００１１】
かかる発明（発明３）によれば、アプリケーションを実行するために、タッチスクリーンに表示されたアプリケーションのアイコンをタッチするという動作を、動作機構を用いて正確且つ自動的に行うことができる。
【００１２】
上記発明（発明１〜３）においては、前記動作機構はロボットアームであってもよい（発明４）。
【００１３】
かかる発明（発明４）によれば、所定の対象に対する所定の動作を、ロボットアームを用いて正確且つ自動的に行うことができる。
【００１４】
第二に本発明は、コンピュータに、所定の動作を行う動作機構の動作位置を撮像範囲に含む第１画像であって、撮像装置によって撮像された第１画像を取得するステップと、所定の対象の撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、前記第１画像内に前記所定の対象が含まれていることを検出するステップと、前記第１画像内に前記所定の対象が含まれていることを検出した場合に、前記所定の対象に対して前記所定の動作を行うように前記動作機構を制御するステップと、の各ステップを実行させる、制御方法を提供する（発明５）。
【００１５】
第三に本発明は、コンピュータに、所定の動作を行う動作機構の動作位置を撮像範囲に含む第１画像であって、撮像装置によって撮像された第１画像を取得する機能と、所定の対象の撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、前記第１画像内に前記所定の対象が含まれていることを検出する機能と、前記第１画像内に前記所定の対象が含まれていることを検出した場合に、前記所定の対象に対して前記所定の動作を行うように前記動作機構を制御する機能と、を実現させるためのプログラムを提供する（発明６）。
【発明の効果】
【００１６】
本発明の制御システム、制御方法、プログラムによれば、所定の対象の位置が異なる場合や状況に応じて変わる場合であっても、当該対象に対する所定の動作を正確且つ自動的に行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係る制御システムの基本構成を概略的に示す図である。
【図２】制御装置の構成を示すブロック図である。
【図３】制御システムで主要な役割を果たす機能を説明するための機能ブロック図である。
【図４】取得データの構成例を示す図である。
【図５】学習用データの構成例を示す図である。
【図６】（ａ）は、所定の対象を含む撮像画像の一例を示す図であり、（ｂ）は、所定の動作を行う位置を所定の対象の位置に一致させるように動作機構を制御した場合の撮像画像の一例を示す図である。
【図７】（ａ）〜（ｂ）は、図６（ａ）に示す位置と異なる位置に存在する所定の対象を含む撮像画像の一例を示す図である。
【図８】本発明の一実施形態に係る制御システムの主要な処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態について添付図面を参照して詳細に説明する。ただし、この実施形態は例示であり、本発明はこれに限定されるものではない。
【００１９】
（１）制御システムの基本構成
図１は、本発明の一実施形態に係る制御システムの基本構成を概略的に示す図である。図１に示すように、本実施形態に係る制御システムは、通信装置Ａに搭載された所定のアプリケーションを実行するために、通信装置Ａの表示画面（タッチスクリーン）に表示された当該アプリケーションのアイコンをタッチペンＴでタッチするように、タッチペンＴを把持するロボットアーム１０を制御するように構成されている。なお、本実施形態において、タッチペンＴを用いたタッチ動作は、本発明の「所定の動作」の一例である。
【００２０】
ロボットアーム１０の上方には撮像装置２０が所定の支持装置（図示省略）によって支持されるように設けられており、ロボットアーム１０の動作位置を撮像範囲に含む第１画像であって、撮像装置２０によって撮像された第１画像を制御装置３０が取得すると、制御装置３０が、アプリケーションのアイコンの撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、第１画像内にアイコンが含まれていることを検出し、第１画像内にアイコンの対象が含まれていることを検出した場合に、アイコンをタッチペンＴでタッチするようにロボットアーム１０を制御するようになっている。
【００２１】
通信装置Ａは、例えば、１つ以上のアプリケーションのアイコンが表示されるタッチスクリーンを備えており、タッチスクリーン上でアイコンがタッチされることによって、タッチされたアイコンに対応するアプリケーションを実行するように構成されている。通信装置Ａは、例えば、スマートフォン、ＰＤＡ（Personal Digital Assistant）、パーソナルコンピュータ等のように、個々のユーザによって操作される通信装置であってもよい。なお、本実施形態において、所定のアプリケーションのアイコンは、本発明の「所定の対象」の一例である。
【００２２】
ロボットアーム１０は、例えば、水平又は垂直多関節型（例えば、６軸型等）のロボットアームであり、各関節部分が、回動軸を中心に回動可能に構成されている。また、ロボットアーム１０の先端部は、タッチペンＴを、通信装置Ａのタッチスクリーンの表面に対して垂直方向（図１の例では、上下方向）に延在するように把持しており、制御装置３０の制御によって、タッチペンＴをその延在方向（図１の例では、上下方向）に沿って移動させるように動作する。なお、本実施形態において、ロボットアーム１０は、本発明の「動作機構」の一例である。
【００２３】
撮像装置２０は、例えば、動画像及び／又は静止画像を撮像する撮像装置（例えば、デジタルカメラやデジタルビデオカメラ等）であってもよく、ロボットアーム１０の上方の所定位置において、タッチペンＴの延在方向一方側の方向（図の例では、下方向）を撮像するように設けられている。撮像装置２０は、例えば、所定時間（例えば、５秒等）経過毎に又は制御装置３０の制御によって撮像処理を行い、撮像した画像を制御装置３０に送信するように構成されている。
【００２４】
また、ロボットアーム１０には、例えば、通信装置Ａの載置面上のロボットアーム１０の位置を検出する位置センサ（図示省略）が設けられており、位置センサは、例えば、所定時間（例えば、５秒等）経過毎に又は制御装置３０の制御によって位置検出を行い、検出した位置に関する情報（例えば、通信装置Ａの載置面上の所定位置を原点とした二次元座標等）を制御装置３０に送信してもよい。なお、位置センサは、例えば、誘導、電位差、磁気抵抗等に基づいて位置を検出する周知の位置センサであってもよい。
【００２５】
制御装置３０は、ロボットアーム１０及び撮像装置２０の各々と有線又は無線で通信可能に接続されている。制御装置３０は、例えば、汎用のパーソナルコンピュータであってもよい。
【００２６】
（２）制御装置の構成
図２を参照して制御装置３０の構成について説明する。図２は、制御装置３０の内部構成を示すブロック図である。図２に示すように、制御装置３０は、ＣＰＵ（Central Processing Unit）３１と、ＲＯＭ（Read Only Memory）３２と、ＲＡＭ（Random Access Memory）３３と、記憶装置３４と、表示処理部３５と、表示部３６と、入力部３７と、通信インタフェース部３８と、を備えており、各部間の制御信号又はデータ信号を伝送するためのバス３０ａが設けられている。
【００２７】
ＣＰＵ３１は、電源が制御装置３０に投入されると、ＲＯＭ３２又は記憶装置３４に記憶された各種のプログラムをＲＡＭ３３にロードして実行する。本実施形態では、ＣＰＵ３１は、ＲＯＭ３２又は記憶装置３４に記憶されたプログラムを読み出して実行することにより、後述する第１取得手段４１、第１検出手段４２、制御手段４３、第２取得手段４４、第２検出手段４５及び提示手段４６（図３に示す）の機能を実現する。
【００２８】
記憶装置３４は、例えば、フラッシュメモリ、ＳＳＤ（Solid State Drive）、磁気記憶装置（例えばＨＤＤ（Hard Disk Drive）、フロッピー（登録商標）ディスク、磁気テープ等）、光ディスク等の不揮発性の記憶装置であってもよいし、ＲＡＭ等の揮発性の記憶装置であってもよく、ＣＰＵ３１が実行するプログラムやＣＰＵ３１が参照するデータを格納する。また、記憶装置３４には、後述する取得データ（図４に示す）及び学習用データ（図５に示す）が記憶されている。
【００２９】
表示処理部３５は、ＣＰＵ３１から与えられる表示用データを表示部３６に表示する。表示部３６は、例えば、マトリクス状に画素単位で配置された薄膜トランジスタを含むＬＣＤ（Liquid Crystal Display）モニタであり、表示用データに基づいて薄膜トランジスタを駆動することで、表示されるデータを表示画面に表示する。
【００３０】
入力部３７は、例えばマウスやキーボード等の情報入力デバイスであってもよい。また、制御装置３０が釦入力方式の端末装置である場合には、入力部３７は、ユーザの操作入力を受け入れるための方向指示釦及び決定釦等の複数の指示入力釦を含む釦群と、テンキー等の複数の指示入力釦を含む釦群とを備え、各釦の押下（操作）入力を認識してＣＰＵ３１へ出力するためのインタフェース回路を含む。
【００３１】
制御装置３０がタッチパネル入力方式の端末装置である場合には、入力部３７は、主として表示画面に指先又はペンで触れることによるタッチパネル方式の入力を受け付ける。タッチパネル入力方式は、静電容量方式等の公知の方式でよい。
【００３２】
また、制御装置３０が音声入力可能な端末装置である場合には、入力部３７は、音声入力用のマイクを含むように構成されてもよいし、外付けのマイクを介して入力された音声データをＣＰＵ３１へ出力するためのインタフェース回路を備えてもよい。
【００３３】
通信インタフェース部３８は、ロボットアーム１０及び撮像装置２０の各々と通信を行うためのインタフェース回路を含む。
【００３４】
（３）制御システムにおける各機能の概要
本実施形態の制御システムで実現される機能について、図３を参照して説明する。図３は、本実施形態の制御システムで主要な役割を果たす機能を説明するための機能ブロック図である。図３の機能ブロック図では、第１取得手段４１、第１検出手段４２及び制御手段４３が本発明の制御システムの主要な構成に対応している。他の手段（第２取得手段４４、第２検出手段４５及び提示手段４６）は必ずしも必須の構成ではないが、本発明をさらに好ましくするための構成要素である。
【００３５】
第１取得手段４１は、タッチペンＴを用いたタッチ動作（所定の動作）を行うロボットアーム１０（動作機構）の動作位置を撮像範囲に含む第１画像であって、撮像装置２０によって撮像された画像（第１画像）を取得する機能を備える。ここで、動作機構はロボットアーム１０であってもよい。
【００３６】
第１取得手段４１の機能は、例えば以下のように実現される。先ず、撮像装置２０は、所定時間（例えば、５秒等）経過毎に撮像処理を行い、撮像した画像を制御装置３０に送信する。また、ロボットアーム１０に設けられた位置センサは、所定時間（例えば、５秒等）経過毎に位置検出を行い、検出した位置に関する情報を制御装置３０に送信する。一方、制御装置３０のＣＰＵ３１は、撮像装置２０が撮像した画像（第１画像）と、位置センサが検出した位置に関する情報とを、通信インタフェース部３８を介して受信（取得）する毎に、受信した画像と位置に関する情報とを対応付けた状態で例えば図４に示す取得データに記憶する。取得データは、撮像装置２０が撮像した画像毎に、画像が撮像されたときの位置センサの位置（本実施形態では、ロボットアーム１０の先端部の位置でもある）に関する情報（例えば、通信装置Ａの載置面上の所定位置を原点とした二次元座標等）が対応付けられた状態で記述されているデータである。
【００３７】
なお、ＣＰＵ３１は、撮像装置２０が撮像した画像が動画で構成されている場合には、当該画像をいくつかのフレームに分割して、分割された各フレームを撮像した画像として取得データに記憶してもよい。
【００３８】
第１検出手段４２は、所定のアプリケーションのアイコン（所定の対象）の撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、撮像装置２０によって撮像された画像（第１画像）内に当該アイコンが含まれていることを検出する機能を備える。ここで、所定のアプリケーションのアイコン（所定の対象）は、タッチスクリーンに表示されたアプリケーションのアイコンであってもよい。
【００３９】
第１検出手段４２の機能は、例えば以下のように実現される。制御装置３０のＣＰＵ３１は、例えば、所定の対象と当該対象の撮像画像との対応関係を示すデータを学習用データとした機械学習を行ってもよい。ここで、学習用データの一例を図５に示す。図５に示す学習用データは、撮像画像毎に、撮像対象（図の例では、アプリケーション１のアイコン、アプリケーション２のアイコン、アプリケーション３のアイコン）が対応付けられた状態で記述されているデータである。これにより、機械学習の結果として、撮像画像と、撮像対象との関係を示す学習済モデルが構成される。この場合、ＣＰＵ３１は、例えば、第１取得手段４１の機能に基づいて取得した画像を学習済モデルに入力することによって、当該画像に所定の対象（ここでは、「アプリケーション１のアイコン」、「アプリケーション２のアイコン」、「アプリケーション３のアイコン」の何れか）が含まれているか否かを検出することができる。
【００４０】
なお、機械学習には、例えば、ニューラルネットワーク（ディープラーニング）やサポートベクターマシン等の任意のアルゴリズムが用いられてもよい。また、学習用データに記憶される撮像画像は、撮像装置２０によって撮像された画像であってもよいし、他の撮像装置によって撮像された画像であってもよい。
【００４１】
制御手段４３は、撮像装置２０によって撮像された画像（第１画像）内に所定のアプリケーションのアイコン（所定の対象）が含まれていることを検出した場合に、当該アイコンに対してタッチペンＴを用いたタッチ動作（所定の動作）を行うようにロボットアーム１０（動作機構）を制御する機能を備える。
【００４２】
また、制御手段４３は、撮像装置２０によって撮像された画像（第１画像）内に所定のアプリケーションのアイコン（所定の対象）が含まれていることを検出した場合に、当該所定のアプリケーションを実行するために当該アイコンにタッチするようにロボットアーム１０を制御してもよい。
【００４３】
制御手段４３の機能は、例えば以下のように実現される。制御装置３０のＣＰＵ３１は、例えば、第１取得手段４１の機能に基づいて取得した画像内に所定のアプリケーション（例えば、アプリケーション１）のアイコンが含まれていることを第１検出手段４２の機能に基づいて検出すると、当該アイコンに対してタッチペンＴを用いたタッチ動作を行うようにロボットアーム１０を制御する。ここで、図６（ａ），（ｂ）を参照して、ロボットアーム１０の制御方法の一例を説明する。図６（ａ）は、所定の対象（アプリケーション１のアイコン）を含む撮像画像の一例を示す図であり、図６（ｂ）は、所定の動作（タッチペンＴを用いたタッチ動作）を行う位置を所定の対象（アプリケーション１のアイコン）の位置に一致させるように動作機構（ロボットアーム１０）を制御した場合の撮像画像の一例を示す図である。
【００４４】
先ず、図６（ａ）に示すように、第１取得手段４１の機能に基づいて取得した画像内に所定のアプリケーション（例えば、アプリケーション１）のアイコン（図の例では、星形のアイコン）が含まれていることを第１検出手段４２の機能に基づいて検出した場合を想定する。この場合、制御装置３０のＣＰＵ３１は、取得した画像において、所定のアプリケーションのアイコンの位置を示す点Ｐ１の座標（ｘ１，ｙ１）と、タッチペンＴを用いたタッチ動作が行われる位置を示す点Ｐ２の座標（ｘ２，ｙ２）と、をもとめる。次に、ＣＰＵ３１は、画像内の点Ｐ１，Ｐ２間のＸ方向及びＹ方向の距離をもとめ、もとめた距離を例えば通信装置Ａの載置面上の距離に変換する。そして、ＣＰＵ３１は、ロボットアーム１０の先端部が、変換された距離に応じて現在位置（位置センサによって検出された位置）からアイコン上まで移動するように、ロボットアーム１０を制御する。これにより、図６（ｂ）に示すように、タッチペンＴを用いたタッチ動作を行う位置（図の例では、点Ｐ２の位置）を、所定のアプリケーションのアイコンの位置（図の例では、点Ｐ１の位置）に一致させることができる。
【００４５】
そして、ＣＰＵ３１は、タッチペンＴが下方に移動するようにロボットアーム１０を制御する。このようにして、タッチペンＴを、通信装置Ａのタッチスクリーンに表示された所定のアプリケーションのアイコンにタッチさせることができ、当該アプリケーションを実行することができる。なお、ＣＰＵ３１は、タッチペンＴの下方への移動距離が所定値に達した場合、タッチペンＴを当該所定値だけ上方に移動させる（つまり、元の位置に戻る）ようにロボットアーム１０を制御してもよい。
【００４６】
本実施形態の制御手段４３の機能によれば、例えば図７（ａ），（ｂ）に示すように、所定のアプリケーション（例えば、アプリケーション１）のアイコンが画像内及び／又は通信装置Ａの載置面上の様々な位置に存在する場合であっても、画像内のアイコンの位置を示す点Ｐ２，Ｐ３の各々の座標（（ｘ３，ｙ３）及び（ｘ４，ｙ４））をもとめることによって、タッチペンＴを用いたタッチ動作を行う位置を、所定のアプリケーションのアイコンの位置に一致させることができる。
【００４７】
第２取得手段４４は、所定のアプリケーションのアイコン（所定の対象）に対してタッチペンＴを用いたタッチ動作（所定の動作）が行われた場合に、所定のアプリケーションのアイコンの位置を撮像範囲に含む画像（第２画像）であって、撮像装置２０によって撮像された画像を取得する機能を備える。
【００４８】
第２取得手段４４の機能は、例えば以下のように実現される。制御装置３０のＣＰＵ３１は、例えば、制御手段４３の機能に基づいて、タッチペンＴを用いたタッチ動作を行うようにロボットアーム１０を制御した場合に、所定の制御信号を撮像装置２０に送信することによって撮像装置２０に撮像処理を行わせてもよい。一方、撮像装置２０は、制御装置３０から制御信号を受信すると、撮像処理を行う。ここで、撮像装置２０による撮像範囲は、例えば図６（ｂ）に示すように、所定のアプリケーション（アプリケーション１）のアイコンの位置（つまり、タッチペンＴを用いたタッチ動作を行う位置）を含むことになる。そして、撮像装置２０は、撮像した画像を制御装置３０に送信する。制御装置３０のＣＰＵ３１は、撮像装置２０が撮像した画像を、通信インタフェース部３８を介して受信（取得）すると、受信した画像を例えばＲＡＭ３３又は記憶装置３４に記憶してもよい。
【００４９】
第２検出手段４５は、撮像装置２０によって撮像された画像（第２画像）に基づいて所定の異常が発生したことを検出する機能を備える。
【００５０】
第２検出手段４５の機能は、例えば以下のように実現される。制御装置３０のＣＰＵ３１は、例えば、第２取得手段４４の機能に基づいて、撮像装置２０によって撮像された画像を例えばＲＡＭ３３又は記憶装置３４に記憶すると、記憶した画像を用いて所定の異常が発生したか否かを検出してもよい。ここで、本実施形態において、所定の異常とは、タッチペンＴでタッチされたアイコンに対応する所定のアプリケーションが正常に実行されていない（例えば、アプリケーションが起動していない、アプリケーションの起動後にエラーが表示される、アプリケーションの起動後に画面が動かない等）ことであってもよい。
【００５１】
ＣＰＵ３１は、例えば、当該アプリケーションが正常に実行されている状態の画面を含む画像と、例えばＲＡＭ３３又は記憶装置３４に記憶された画像との画像類似度を、例えばテンプレートマッチング等の周知の技術を用いてもとめ、もとめられた画像類似度の値に基づいて、所定のアプリケーションが正常に実行されているか否かを判別してもよい。例えば、画像類似度が所定値以上の場合、所定のアプリケーションが正常に実行されていると判別されてもよい。そして、ＣＰＵ３１は、所定のアプリケーションが正常に実行されていないと判別した場合に、所定の異常が発生したことを検出してもよい。
【００５２】
また、ＣＰＵ３１は、例えば、所定のアプリケーションが正常に実行されている状態の画面を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、例えばＲＡＭ３３又は記憶装置３４に記憶された画像内に当該アプリケーションが正常に実行されている状態の画面が含まれていると判別した場合に、当該アプリケーションが正常に実行されていると判別してもよい。
【００５３】
提示手段４６は、所定の異常が発生したことを検出した場合に、異常の発生に関する情報を提示する機能を備える。
【００５４】
提示手段４６の機能は、例えば以下のように実現される。制御装置３０のＣＰＵ３１は、例えば、第２検出手段４５の機能に基づいて所定の異常が発生したことを検出すると、異常の発生に関する情報を例えば表示部３６に表示してもよい。ここで、異常の発生に関する情報とは、例えば、異常が発生したことを示すテキストデータで構成されてもよいし、異常が発生したことを示す音声データや画像データ等で構成されてもよい。また、異常の発生に関する情報には、例えば、第２取得手段４４の機能に基づいて取得した画像が含まれてもよい。
【００５５】
なお、提示手段４６は、所定の異常が発生したことを検出できない場合（つまり、正常な場合）に、正常であることを示す情報を提示してもよい。この場合、制御装置３０のＣＰＵ３１は、第２検出手段４５の機能に基づいて所定の異常が発生したことを検出できない場合、正常であることを示す情報を例えば表示部３６に表示してもよい。ここで、正常であることを示す情報とは、例えば、正常であることを示すテキストデータで構成されてもよいし、正常であることを示す音声データや画像データ等で構成されてもよい。また、正常であることを示す情報には、例えば、第２取得手段４４の機能に基づいて取得した画像が含まれてもよい。
【００５６】
また、ＣＰＵ３１は、異常の発生に関する情報及び／又は正常であることを示す情報を、例えばインターネットやＬＡＮ（Local Area Network）等の通信ネットワークを介して制御装置３０に接続された他のコンピュータ（例えば、サーバ等）に送信してもよい。ここで、ＣＰＵ３１は、所定の異常が発生したことを検出した場合に、異常の発生に関する情報を直ちに他のコンピュータに送信してもよく、所定の異常が発生したことを検出できない場合（つまり、正常な場合）に、正常であることを示す情報を例えば所定時間（例えば１時間）毎にまとめて他のコンピュータに送信してもよい。
【００５７】
（４）本実施形態の制御システムの主要な処理のフロー
次に、本実施形態の制御システムにより行われる主要な処理のフローの一例について、図８のフローチャートを参照して説明する。
【００５８】
先ず、撮像装置２０は、所定時間（例えば、５秒等）経過毎に撮像処理を行い、撮像した画像を制御装置３０に送信する。また、ロボットアーム１０に設けられた位置センサは、所定時間（例えば、５秒等）経過毎に位置検出を行い、検出した位置に関する情報を制御装置３０に送信する。一方、制御装置３０のＣＰＵ３１は、撮像装置２０が撮像した画像（第１画像）と、位置センサが検出した位置に関する情報とを、通信インタフェース部３８を介して受信（取得）すると（ステップＳ１００）、受信した画像と位置に関する情報とを対応付けた状態で例えば取得データに記憶する。
【００５９】
次に、制御装置３０のＣＰＵ３１は、撮像装置２０によって撮像された画像（第１画像）内に所定のアプリケーションのアイコン（所定の対象）が含まれている否かを判別する（ステップＳ１０２）。ここで、ＣＰＵ３１は、所定のアプリケーションのアイコンの撮像画像を学習用データとして用いた機械学習に基づく学習済モデルに基づいて、判別処理を行う。
【００６０】
次いで、制御装置３０のＣＰＵ３１は、撮像装置２０によって撮像された画像（第１画像）内に所定のアプリケーションのアイコン（所定の対象）が含まれていることを検出すると（ステップＳ１０２：ＹＥＳ）、当該アイコンに対してタッチペンＴを用いたタッチ動作（所定の動作）を行うようにロボットアーム１０（動作機構）を制御する（ステップＳ１０４）。
【００６１】
なお、ＣＰＵ３１は、ステップＳ１０２の処理において、画像内に所定のアプリケーションのアイコンが含まれていないと判別した場合（ステップＳ１０２：ＮＯ）、例えば、当該アイコンを探すために、ロボットアーム１０の先端部を所定距離だけ移動させた後に、ステップＳ１００の処理に移行してもよい。
【００６２】
次に、制御装置３０のＣＰＵ３１は、所定のアプリケーションのアイコン（所定の対象）の位置を撮像範囲に含む画像（第２画像）であって、撮像装置２０によって撮像された画像を取得する（ステップＳ１０６）。
【００６３】
また、制御装置３０のＣＰＵ３１は、ステップＳ１０６において取得した画像（第２画像）に基づいて所定の異常が発生したか否かを判別する（ステップＳ１０８）。そして、ＣＰＵ３１は、所定の異常が発生したことを検出した場合に（ステップＳ１０８：ＹＥＳ）、異常の発生に関する情報を提示する（ステップＳ１１０）。なお、ＣＰＵ３１は、ステップＳ１０８において、所定の異常が発生していないと判別した場合（ステップＳ１０８：ＮＯ）、処理を終了してもよい。
【００６４】
上述したように、本実施形態の制御システム、制御方法、プログラムによれば、撮像装置２０によって撮像された第１画像が取得されると、第１画像に含まれるアイコンが学習済モデルに基づいて検出され、検出されたアイコンに対してタッチ動作を行うようにロボットアーム１０が制御されるので、例えば、第１画像にアイコンが含まれている場合には、第１画像内のアイコンの位置に基づいて、ロボットアーム１０がタッチ動作を行う位置をアイコンの位置に一致させた上でタッチ動作を行うようにロボットアーム１０を制御することが可能になる。これにより、第１画像にアイコンが含まれている場合には、アイコンの位置に拘わらずにアイコンに対してタッチ動作を行うことができるので、アイコンの位置が異なる場合や状況に応じて変わる場合であっても、アイコンに対するタッチ動作を正確且つ自動的に行うことができる。
【００６５】
また、本実施形態の制御システム、制御方法、プログラムによれば、所定のアプリケーションのアイコンに対してタッチペンＴを用いたタッチ動作が行われた場合に撮像された第２画像に基づいて所定の異常が発生したことが検出されると、異常の発生に関する情報が提示されるので、所定のアプリケーションのアイコンに対してタッチペンＴを用いたタッチ動作を行った場合に異常が発生したことを容易に認識することができる。
【００６６】
さらに、本実施形態の制御システム、制御方法、プログラムによれば、所定のアプリケーションを実行するために、通信装置Ａのタッチスクリーンに表示された当該アプリケーションのアイコンをタッチするという動作を、ロボットアーム１０を用いて正確且つ自動的に行うことができる。
【００６７】
さらにまた、本実施形態の制御システム、制御方法、プログラムによれば、所定の対象に対する所定の動作を、ロボットアーム１０を用いて正確且つ自動的に行うことができる。
【００６８】
なお、本発明のプログラムは、コンピュータで読み取り可能な記憶媒体に記憶されていてもよい。このプログラムを記録した記憶媒体は、図２に示す制御装置３０のＲＯＭ３２、ＲＡＭ３３又は記憶装置３４であってもよい。また、例えばＣＤ−ＲＯＭドライブ等のプログラム読取装置に挿入されることで読み取り可能なＣＤ−ＲＯＭ等であってもよい。さらに、記憶媒体は、磁気テープ、カセットテープ、フレキシブルディスク、ＭＯ／ＭＤ／ＤＶＤ等であってもよいし、半導体メモリであってもよい。
【００６９】
以上説明した実施形態及び変形例は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記実施形態及び変形例に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【００７０】
上記実施形態では、所定の対象が１つのアイコンである場合を一例として説明したが、所定の対象は複数であってもよい。ここで、複数の所定の対象は、全て同じ対象であってもよいし、異なる対象であってもよい。この場合、制御装置３０のＣＰＵ３１は、第１検出手段４２の機能として、第１画像内に複数の所定の対象（例えば、所定のアプリケーションの第１アイコン、第２アイコン及び第３アイコン等であってもよいし、アプリケーションＡのアイコン、アプリケーションＢのアイコン及びアプリケーションＣのアイコン等であってもよい）が含まれていることを検出してもよい。
【００７１】
また、制御装置３０のＣＰＵ３１は、制御手段４３の機能として、第１画像内に複数の所定の対象（例えば、アプリケーションＡのアイコン、アプリケーションＢのアイコン及びアプリケーションＣのアイコン等）が含まれていることを検出した場合に、複数の所定の対象のうち少なくとも１つに対して所定の動作（例えば、タッチ動作）を行うようにロボットアーム１０を制御してもよい。ここで、複数の所定の対象に対して所定の動作を行う順序は、例えば、複数の所定の対象の各々の種類に応じて予め決められていてもよいし（例えば、最初にアプリケーションＡのアイコン、次にアプリケーションＢのアイコン、その次にアプリケーションＣのアイコン等）、第１画像内の複数の所定の対象の各々の位置に応じて動的に決められてもよい（例えば、タッチペンＴを用いたタッチ動作を行う位置から近い位置に存在するアイコン順等）。
【００７２】
さらに、制御装置３０のＣＰＵ３１は、第２検出手段４５の機能として、撮像装置２０によって撮像された画像（第２画像）内で検出されたアイコン（所定の対象）に基づいて所定の異常が発生したことを検出してもよい。例えば、所定のアプリケーションが正常に実行される場合には、通信装置Ａのタッチスクリーンに表示された第１アイコンに対してタッチ動作が行われると第２アイコンを含む画面がタッチスクリーンに表示され、第２アイコンに対してタッチ動作が行われると第３アイコンを含む画面がタッチスクリーンに表示されるようになっている場合を想定する。ここで、ＣＰＵ３１は、例えば、第１アイコンに対してタッチ動作が行われた後に撮像された画像内で第２アイコンを検出できない場合や、第２アイコンではなく第３アイコンを検出した場合等には、所定のアプリケーションが正常に実行されていないと判別して、所定の異常が発生したことを検出してもよい。
【００７３】
上記実施形態では、１つの通信装置Ａのタッチスクリーンに表示されたアイコン（所定の対象）に対してタッチ動作（所定の動作）を行う場合を一例として説明したが、例えば、複数の通信装置の各々のタッチスクリーンに表示された１つ以上のアイコン（同じアイコンであってもよいし、異なるアイコンであってもよい）に対してタッチ動作を行ってもよい。この場合、制御装置３０のＣＰＵ３１は、制御手段４３の機能として、第１画像内に複数の通信装置のうち少なくとも１つの通信装置のタッチスクリーンに表示されたアイコンが含まれていることを検出した場合に、複数の通信装置のうち少なくとも１つの通信装置のタッチスクリーンに表示されたアイコンに対してタッチ動作を行うようにロボットアーム１０を制御してもよい。ここで、第１画像内に複数のアイコンが含まれている場合に、各アイコンに対してタッチ動作を行う順序は、例えば、アイコンの種類に応じて予め決められていてもよいし、第１画像内の各アイコンの位置に応じて動的に決められてもよい（例えば、タッチペンＴを用いたタッチ動作を行う位置から近い位置に存在するアイコン順等）。
【００７４】
上述した実施形態では、タッチペンＴを用いて、通信装置Ａのタッチスクリーンに表示された所定のアプリケーションのアイコンをタッチする動作を行うようにロボットアーム１０を制御する場合を一例として説明したが、例えば、ボールペンや万年筆等の筆記用具を用いて、所定の筆記欄（所定の対象）に所定の文字（例えば署名等）を筆記する動作（所定の動作）を行うようにロボットアーム１０を制御してもよいし、スタンプや印鑑等を用いて、所定の押印欄（所定の対象）に押印する動作（所定の動作）を行うようにロボットアーム１０を制御してもよい。この場合、例えば、所定の動作を行うようにロボットアーム１０を制御した後に撮像された画像に基づいて、所定の異常（例えば、所定の文字が筆記されていない、所定の文字が薄い、所定の文字の一部が欠けている、スタンプや印鑑が押印されていない等）が発生したことが検出されてもよい。
【００７５】
また、上述した実施形態では、制御装置３０によって、第１取得手段４１、第１検出手段４２、制御手段４３、第２取得手段４４、第２検出手段４５及び提示手段４６の各機能を実現する構成としたが、この構成に限られない。例えば、これらの全ての手段をロボットアーム１０又は撮像装置２０によって実現する構成としてもよいし、少なくとも一部の手段をロボットアーム１０又は撮像装置２０によって実現する構成としてもよい。
【産業上の利用可能性】
【００７６】
上述したような本発明の制御システム、制御方法、プログラムは、所定の対象の位置が異なる場合であっても、当該対象に対する所定の動作を正確且つ自動的に行うことができ、例えば、ロボット等の動作機構を用いた自動制御システム等に好適に利用することができるので、その産業上の利用可能性は極めて大きい。
【符号の説明】
【００７７】
１０…ロボットアーム
２０…撮像装置
３０…制御装置
４１…第１取得手段
４２…第１検出手段
４３…制御手段
４４…第２取得手段
４５…第２検出手段
４６…提示手段
Ａ…通信装置
【図１】
2020160562.tif 000003
【図２】
2020160562.tif 000004
【図３】
2020160562.tif 000005
【図４】
2020160562.tif 000006
【図５】
2020160562.tif 000007
【図６】
2020160562.tif 000008
【図７】
2020160562.tif 000009
【図８】
2020160562.tif 000010