Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6052576B2 - 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム - Google Patents
[go: Go Back, main page]

JP6052576B2 - 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム - Google Patents

情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム Download PDF

Info

Publication number
JP6052576B2
JP6052576B2 JP2012123800A JP2012123800A JP6052576B2 JP 6052576 B2 JP6052576 B2 JP 6052576B2 JP 2012123800 A JP2012123800 A JP 2012123800A JP 2012123800 A JP2012123800 A JP 2012123800A JP 6052576 B2 JP6052576 B2 JP 6052576B2
Authority
JP
Japan
Prior art keywords
information
mobile terminal
information processing
processing apparatus
program
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.)
Active
Application number
JP2012123800A
Other languages
English (en)
Other versions
JP2013251651A (ja
Inventor
小林 佳和
佳和 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012123800A priority Critical patent/JP6052576B2/ja
Priority to US14/404,944 priority patent/US20150127124A1/en
Priority to PCT/JP2013/064233 priority patent/WO2013179980A1/ja
Priority to EP13796606.5A priority patent/EP2858339A4/en
Publication of JP2013251651A publication Critical patent/JP2013251651A/ja
Application granted granted Critical
Publication of JP6052576B2 publication Critical patent/JP6052576B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1679Program controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36159Detachable or portable programming unit, display, pc, pda
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40174Robot teleoperation through internet
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Manipulator (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、携帯端末に接続された産業機器などのデバイスの制御を行なう技術に関する。
上記技術分野において、特許文献1には、知識管理装置が、各自立型ロボットから収集した知識情報を集めて管理しておき、当該ロボットから受け付けた周辺の環境情報に対応する制御情報を選定して提供する技術が開示されている。また、特許文献2には、シンクライアントサーバシステムにおいて、USBデバイスをシンクライアントに接続して、サーバからUSBデバイスを制御する技術が開示されている。
特開2005−111603号公報 特開2010−218347号公報
しかしながら、上記文献に記載の技術では、携帯端末に対して、USBデバイスとして自立型ロボットなどの産業機器を接続したときに、携帯端末が取得したデバイスの動作条件に適合して、サーバからデバイス制御をすることはできなかった。
本発明の目的は、上述の課題を解決する技術を提供することにある。
上記目的を達成するため、本発明に係る装置は、
第1携帯端末に接続されたデバイスを特定するデバイス情報を、前記第1携帯端末から受信する、または前記第1携帯端末を中継して前記デバイスから受信するデバイス情報受信手段と、
前記第1携帯端末が取得した前記デバイスの動作条件を示す動作条件情報を、前記第1携帯端末から受信する動作情報受信手段と、
前記デバイス情報および前記動作条件情報に基づいて、前記デバイスを制御するデバイス制御手段と、
を備えることを特徴とする。
上記目的を達成するため、本発明に係る方法は、
第1携帯端末に接続されたデバイスを特定するデバイス情報を、前記第1携帯端末から受信するデバイス情報受信ステップと、
前記第1携帯端末が取得した前記デバイスの動作条件を示す動作条件情報を、前記第1携帯端末から受信する動作情報受信ステップと、
前記デバイス情報および前記動作条件情報に基づいて、前記デバイスを制御するデバイス制御ステップと、
を含むことを特徴とする。
上記目的を達成するため、本発明に係るプログラムは、
第1携帯端末に接続されたデバイスを特定するデバイス情報を、前記第1携帯端末から受信するデバイス情報受信ステップと、
前記第1携帯端末が取得した前記デバイスの動作条件を示す動作条件情報を、前記第1携帯端末から受信する動作情報受信ステップと、
前記デバイス情報および前記動作条件情報に基づいて、前記デバイスを制御するデバイス制御ステップと、
をコンピュータに実行させることを特徴とする。
上記目的を達成するため、本発明に係る装置は、
デバイス接続コネクタと、
前記デバイス接続コネクタに接続したデバイスを特定するデバイス情報を、情報処理装置に送信するデバイス情報送信手段と、
前記デバイスの動作条件を示す動作条件情報または前記デバイスの動作状態を示す動作状態情報を取得して、前記情報処理装置に送信する動作情報送信手段と、
前記デバイス情報および前記動作条件情報または前記動作状態情報に基づく前記情報処理装置による前記デバイスの制御を中継するデバイス制御中継手段と、
を備えることを特徴とする。
上記目的を達成するため、本発明に係る方法は、
デバイス接続コネクタを有する携帯端末の制御方法であって、
前記デバイス接続コネクタに接続したデバイスを特定するデバイス情報を、情報処理装置に送信するデバイス情報送信ステップと、
前記デバイスの動作条件を示す動作条件情報または前記デバイスの動作状態を示す動作状態情報を取得して、前記情報処理装置に送信する動作情報送信ステップと、
前記デバイス情報および前記動作条件情報に基づく前記情報処理装置による前記デバイスの制御を中継するデバイス制御中継ステップと、
を含むことを特徴とする。
上記目的を達成するため、本発明に係るプログラムは、
デバイス接続コネクタを有する携帯端末の制御プログラムであって、
前記デバイス接続コネクタに接続したデバイスを特定するデバイス情報を、情報処理装置に送信するデバイス情報送信ステップと、
前記デバイスの動作条件を示す動作条件情報または前記デバイスの動作状態を示す動作状態情報を取得して、前記情報処理装置に送信する動作情報送信ステップと、
前記デバイス情報および前記動作条件情報に基づく前記情報処理装置による前記デバイスの動作の制御を中継するデバイス制御中継ステップと、
をコンピュータに実行させることを特徴とする。
上記目的を達成するため、本発明に係るシステムは、
デバイス接続コネクタを有する携帯端末と、前記デバイス接続コネクタに接続可能なデバイスと、前記携帯端末とネットワークを介して接続される情報処理装置と、を備える情報処理システムであって、
前記携帯端末が、
前記デバイス接続コネクタに接続した前記デバイスを特定するデバイス情報を、前記ネットワークを介して前記情報処理装置に送信するデバイス情報送信手段と、
前記デバイスが置かれた動作条件を示す動作条件情報を取得して、前記ネットワークを介して前記情報処理装置に送信する動作情報送信手段と、
を備え、
前記情報処理装置が、前記デバイス情報および前記動作条件情報に基づいて、前記ネットワークおよび前記携帯端末を介して前記デバイスを制御するデバイス制御手段、
を備えることを特徴とする。
上記目的を達成するため、本発明に係る方法は、
デバイス接続コネクタを有する携帯端末と、前記デバイス接続コネクタに接続可能なデバイスと、前記携帯端末とネットワークを介して接続される情報処理装置と、を備える情報処理システムにおける情報処理方法であって、
前記携帯端末が、前記デバイス接続コネクタに接続した前記デバイスを特定するデバイス情報を、前記ネットワークを介して前記情報処理装置に送信するデバイス情報送信ステップと、
前記携帯端末が、前記デバイスが置かれた動作条件を示す動作条件情報を取得して、前記ネットワークを介して前記情報処理装置に送信する動作情報送信ステップと、
前記情報処理装置が、前記デバイス情報および前記動作条件情報とに基づいて、前記ネットワークおよび前記携帯端末を介して前記デバイスを制御するデバイス制御ステップと、
を含むことを特徴とする。
本発明によれば、携帯端末に対してデバイスを接続した場合に、携帯端末が取得したデバイスの動作条件に適合して、情報処理装置(サーバなど)からデバイス制御ができる。
本発明の第1実施形態に係る情報処理装置の構成を示すブロック図である。 本発明の第2実施形態に係る情報処理システムの動作概念を説明する図である。 本発明の第2実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第2実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第2実施形態に係るUSB接続されたUSBデバイスの制御手順を示すシーケンス図である。 本発明の第2実施形態に係るUSB接続されたUSBデバイスの制御手順を示すシーケンス図である。 本発明の第2実施形態に係るUSB接続されたUSBデバイス以外のデバイスの制御手順を示すシーケンス図である。 本発明の第2実施形態に係るクラウドサーバの機能構成を示すブロック図である。 本発明の第2実施形態に係る携帯端末の機能構成を示すブロック図である。 本発明の第2実施形態に係るデバイス(産業機器)の機能構成を示すブロック図である。 本発明の第2実施形態に係るデバイスDBの構成を示す図である。 本発明の第2実施形態に係るデバイスディスクリプタの構成を示す図である。 本発明の第2実施形態に係るプログラム履歴DBの構成を示す図である。 本発明の第2実施形態に係るパラメータ履歴DBの構成を示す図である。 本発明の第2実施形態に係るクラウドサーバのハードウェア構成を示すブロック図である。 本発明の第2実施形態に係るプログラム選定テーブルの構成を示す図である。 本発明の第2実施形態に係るパラメータ選定テーブルの構成を示す図である。 本発明の第2実施形態に係るクラウドサーバの処理手順を示すフローチャートである。 本発明の第2実施形態に係るプログラム選定処理の処理手順を示すフローチャートである。 本発明の第2実施形態に係る指示操作の実行処理の処理手順を示すフローチャートである。 本発明の第2実施形態に係る携帯端末のハードウェア構成を示すブロック図である。 本発明の第2実施形態に係る携帯端末の処理手順を示すフローチャートである。 本発明の第3実施形態に係る情報処理システムの動作概念を説明する図である。 本発明の第3実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第3実施形態に係るクラウドサーバの機能構成を示すブロック図である。 本発明の第3実施形態に係るプログラム履歴DBの構成を示す図である。 本発明の第3実施形態に係るパラメータ履歴DBの構成を示す図である。 本発明の第3実施形態に係るプログラム検証/変更テーブルの構成を示す図である。 本発明の第3実施形態に係るクラウドサーバの処理手順を示すフローチャートである。 本発明の第3実施形態に係るプログラム選定処理の処理手順を示すフローチャートである。 本発明の第4実施形態に係る情報処理システムの動作概念を説明する図である。 本発明の第4実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第4実施形態に係るクラウドサーバの機能構成を示すブロック図である。 本発明の第4実施形態に係るセンサ/デバイス組合せテーブルの構成を示す図である。 本発明の第4実施形態に係るクラウドサーバの処理手順を示すフローチャートである。 本発明の第4実施形態に係る仮想PC生成処理の処理手順を示すフローチャートである。 本発明の第5実施形態に係る情報処理システムの第1動作概念を説明する図である。 本発明の第5実施形態に係る情報処理システムの第2動作概念を説明する図である。 本発明の第5実施形態に係る情報処理システムの動作手順を示すシーケンス図である。 本発明の第5実施形態に係るクラウドサーバの機能構成を示すブロック図である。 本発明の第5実施形態に係るタイミング制御テーブルの構成を示す図である。 本発明の第5実施形態に係るクラウドサーバの処理手順を示すフローチャートである。 本発明の第5実施形態に係るタイミング制御処理の処理手順を示すフローチャートである。 本発明の第6実施形態に係る情報処理システムの第1動作概念を説明する図である。 本発明の第6実施形態に係る情報処理システムの第2動作概念を説明する図である。 本発明の第6実施形態に係る情報処理システムの第1動作手順を示すシーケンス図である。 本発明の第6実施形態に係る情報処理システムの第2動作手順を示すシーケンス図である。 本発明の第6実施形態に係るクラウドサーバの機能構成を示すブロック図である。 本発明の第6実施形態に係る携帯端末の機能構成を示すブロック図である。 本発明の第6実施形態に係るプログラム履歴DBの構成を示す図である。 本発明の第6実施形態に係るクラウドサーバの処理手順を示すフローチャートである。 本発明の第6実施形態に係るプログラム選定処理の処理手順を示すフローチャートである。 本発明の第6実施形態に係る携帯端末の処理手順を示すフローチャートである。 本発明の第6実施形態に係る制御プログラム処理の処理手順を示すフローチャートである。
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
[第1実施形態]
本発明の第1実施形態としての情報処理装置100について、図1を用いて説明する。情報処理装置100は、第1携帯端末120に接続されたデバイス110を、第1携帯端末120を介して制御する装置である。
図1に示すように、情報処理装置100は、デバイス情報受信部101と、動作情報受信部102と、デバイス制御部103と、を含む。デバイス情報受信部101は、第1携帯端末120に接続されたデバイス110を特定するデバイス情報120aを、第1携帯端末120から受信する。動作情報受信部102は、第1携帯端末120が取得したデバイス110の動作条件を示す動作条件情報120bを、第1携帯端末120から受信する。デバイス制御部103は、デバイス情報120aおよび動作条件情報120bに基づいて、デバイス110を制御する。
本実施形態によれば、携帯端末に対してデバイスを接続した場合にデバイス情報および動作条件情報に基づいて情報処理装置(サーバなど)がデバイスを制御する。したがって、携帯端末が取得したデバイスの動作条件に適合して、情報処理装置からデバイスの制御ができる。
[第2実施形態]
次に、本発明の第2実施形態に係る情報処理システムについて説明する。なお、本実施形態においては、サーバの一例としてクラウドサーバを用いて説明する。本実施形態においては、携帯端末のUSBコネクタに接続した産業機器であるロボットアームを、携帯端末の表示画面を使用する操作にしたがってクラウドサーバにより制御する。携帯端末からクラウドサーバへは、接続したロボットアームのデバイス情報(デバイスディスクリプタ)と、ロボットアームの動作条件情報(室温や動作時間など)とをネットワークを介して送信する。クラウドサーバは、デバイス情報および動作条件情報に基づいて、ロボットアームを駆動するためのデバイスドライバプログラム、ロボットアームの動作シーケンスを制御するアプリケーションプログラム、およびそれらプログラムで使用される各種パラメータを選定する。そして、接続されたロボットアームおよびその動作条件に適合した制御を実現する。以下、デバイスドライバプログラムを、デバイスドライブあるいはドライブと称し、アプリケーションプログラムを、アプリケーションあるいはアプリと称する場合もある。第2実施形態においては、携帯端末の表示画面から、あたかも携帯端末がロボットアームを制御しているかのように、ロボットアームの動作制御を可能とするが、ロボットアームに限定されない。なお、本実施形態において、動作条件情報は、デバイスの仕様を示す仕様情報と、デバイスの置かれた環境を示す環境情報とを含む。そして、環境情報は、温度と、湿度と、気圧と、動作時間とのいずれかを含む。
本実施形態によれば、携帯端末に対してUSBデバイスとして産業機器を接続した場合に、携帯端末が取得したワールドワイドに展開された産業機器の動作条件に適合して、情報処理装置(サーバ)から各デバイス制御ができる。
《情報処理システム》
図2A〜図3Dを参照して、本実施形態の情報処理システム200の動作について説明する。
(動作概念)
図2Aは、本実施形態に係る情報処理システム200の動作概念を説明する図である。
情報処理システム200においては、クラウドサーバ210が、携帯端末220の画面からの操作指示にしたがって、携帯端末220のUSBコネクタに接続された産業機器であるロボットアーム230(230−1〜230−4)の動作を制御する。
図2Aにおいては、左から右に携帯端末220操作およびロボットアーム230の動作が進むとしている。まず、左端図においては、携帯端末220のUSBコネクタにロボットアーム230−1が接続され、まず、携帯端末220は、ロボットアーム230−1からデバイス情報であるデバイスディスクリプタをUSBプロトコルにしたがって取得する。次に、携帯端末220にはユーザによって、ロボットアーム230−1の置かれた環境情報を含む、プログラム選定に関連する動作条件情報が入力される。携帯端末220は、デバイス情報および動作条件情報をクラウドサーバ210に送信する。クラウドサーバ210は、デバイス情報および動作条件情報に基づいて、ロボットアーム230−1を駆動するためのデバイスドライバ、ロボットアーム230−1の動作手順を制御するアプリケーション、および関連するパラメータを選定する。そして、クラウドサーバ210は、選定したパラメータを使用して、アプリケーションを起動し、アプリケーションの下でデバイスドライバを起動する。起動したアプリケーションは、操作画面220−1を携帯端末220に送って表示させる。
左端図では、操作画面220−1のハッチングが掛かった“右”の操作ボタンが押されたとする。左端下図のように、ロボットアーム230−1は、クラウドサーバ210の制御によりそのアームを矢印のように右回転する。次の図では、操作画面220−2のハッチングが掛かった“上”の操作ボタンが押されたとする。下図のように、ロボットアーム230−2は、クラウドサーバ210の制御によりそのアームを矢印のように上方に挙げる。次の図では、操作画面220−3のハッチングが掛かった“遠”の操作ボタンが押されたとする。下図のように、ロボットアーム230−3は、クラウドサーバ210の制御によりそのアームを矢印のように遠くに伸ばす。右端図では、操作画面220−4のハッチングが掛かった“にぎる”の操作ボタンが押されたとする。下図のように、ロボットアーム230−4は、クラウドサーバ210の制御によりそのアームの先端で矢印のようにモノを握る。
以上のように、あたかも携帯端末220がロボットアーム230を操作するプログラムを有して、実行しているかのように、クラウドサーバ210の制御によってロボットアーム230が動作することになる。
(システム構成)
図2Bは、本実施形態に係る情報処理システム200の構成を示すブロック図である。なお、図2の情報処理システム200の構成は一例であり、この構成に限定されない。
図2Bにおいて、クラウドサーバ210は日本にあるものとする。ネットワーク240を介して、世界各地に配備されているロボットアーム231〜23nを携帯端末221〜22nのUSBコネクタにUSBケーブル221a〜22naにより接続する。そうすると、クラウドサーバ210が、各ロボットアーム231〜23nおよびその動作条件に適合したアプリケーション、デバイスドライバおよびパラメータをそれぞれ選定して実行し、各ロボットアーム231〜23nの最適動作制御を実現する。なお、図2Bにおいては、ロボットアーム23nはRS232Cケーブル23naによる接続であると仮定している。RS232Cケーブル23naは信号変換してUSBケーブル22naに接続されて、携帯端末22nのUSBコネクタに接続することになる。
情報処理装置であるクラウドサーバ210は、プログラム選定部211と、デバイス制御部212と、デバイスDB213と、プログラム履歴DB214と、パラメータ履歴DB215と、を含む。プログラム選定部211は、世界各地のロボットアーム231〜23nにそれぞれ接続された携帯端末221〜22nから受信した、各ロボットアーム231〜23nのデバイス情報と各ロボットアーム231〜23nの動作条件に基づき、それぞれの動作を制御するプログラムおよび使用するパラメータを選定する。選定するプログラムは、デバイスドライバとアプリケーションとを含み、デバイスDB213(図7A参照)を参照して特定されたロボットアームとその動作条件に適合したプログラムが、プログラム履歴を蓄積するプログラム履歴DB214(図8A参照)を参照して選定される。また、選定するパラメータは、選定したプログラムを参照して動作条件に適合したパラメータが、パラメータ履歴を蓄積するパラメータ履歴DB215(図8B参照)を参照して選定される。
そして、デバイス制御部212は、選定したパラメータを使用して選定したプログラムを実行し、携帯端末221〜22nを中継して、各ロボットアーム231〜23nの動作を制御する。
(動作手順)
図3Aは、本実施形態に係る情報処理システム200の動作手順を示すシーケンス図である。なお、図3Aは、デバイスがUSBデバイスである場合の手順である。また、以下の説明では、簡略化のため、携帯端末220、デバイス230として説明する。
まず、ステップS311において、携帯端末220にデバイス230をUSB接続する。携帯端末220は、ステップS313において、USB汎用ドライバでデバイス230からディスクリプタを読み出す。携帯端末220は、ステップS315において、そのディスクリプタをクラウドサーバ210に送信する。クラウドサーバ210は、ステップS317において、デバイスDB213を参照してディスクリプタから接続したデバイスを特定する。次に、携帯端末220は、ステップS319において、デバイス230の動作条件情報を取得してクラウドサーバ210に送信する。なお、デバイス230の動作条件情報の取得は、ユーザの携帯端末220への入力によってもよいし、他の方法であってもよい。
クラウドサーバ210は、ステップS321において、ステップS317で特定したデバイス情報と、受信した動作条件情報とに基づいて、プログラム履歴DB214を参照してデバイスドライバを選定する。また、同時に、パラメータ履歴DB215を参照してデバイスドライバで使用するパラメータを選定する。次に、クラウドサーバ210は、ステップS323において、ステップS317で特定したデバイス情報と、受信した動作条件情報とに基づいて、プログラム履歴DB214を参照して、ステップS321で選定したデバイスドライバと相性のよいアプリケーションを選定する。また、同時に、パラメータ履歴DB215を参照してアプリケーションで使用するパラメータを選定する。なお、デバイスドライバとアプリケーションとの選定の順序は逆であっても、組合せとして同時選定であってもよい。
クラウドサーバ210は、ステップS325において、選定したアプリケーションを起動して、図2Aに示した操作画面を携帯端末220に送信する。そして、ステップS327において、選定したデバイスドライバを起動する。携帯端末220は、ステップS329において、操作画面を表示画面に表示する。携帯端末220は、ステップS331において、操作画面上でユーザの操作指示入力があると、操作指示情報をクラウドサーバ210に送信する。クラウドサーバ210は、操作指示受信したことを携帯端末220に操作画面の更新で報知し、携帯端末220は、ステップS333において、受信した操作画面に更新する。
クラウドサーバ210は、ステップS335において、選定したデバイスドライバとアプリケーションとにより、携帯端末220を中継してデバイス230に指示操作を実行させる。この間、クラウドサーバ210からデバイス230に動作指示データが送信され、デバイス230からは動作による変化を検出する検出信号がクラウドサーバ210に送信される。
携帯端末220からユーザによって次の操作指示が入力されると、ステップS331〜S335が繰り返されて、次のデバイス230の動作がクラウドサーバ210により、あたかも携帯端末220で操作しているかのように、実行される。操作が終了すると、ステップS341において、クラウドサーバ210が選定したデバイスドライバ、アプリケーションおよびパラメータへのユーザの評価が入力され、クラウドサーバ210に送信される。クラウドサーバ210は、ステップS343において、プログラム履歴DB214およびパラメータ履歴DB215にユーザ評価と共に記録され、後のデバイスドライバ、アプリケーションおよびパラメータの選定時に参照される。
(USBデバイス制御手順)
図3Bおよび図3Cは、本実施形態に係るUSB接続されたUSBデバイスの制御手順を示すシーケンス図である。なお、簡略化のため携帯端末220、デバイス230として説明する。
まず、図3Bは、USB接続されたUSBデバイスのディスクリプタ取得手順320を示すシーケンス図である。
デバイス230に設定されているディスクリプタは、GET_DESCRIPTORなどのUSBリクエストにより取得される。USBリクエストは、それぞれコントロール転送によりデバイス230とやり取りされる。各コントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。
デバイス230から取得したディスクリプタはIPヘッダやTCPヘッダでIPカプセリングして、携帯端末220からクラウドサーバ210に送信される。
次に、図3Cは、USB接続されたUSBデバイスのデータ入出力手順を示すシーケンス図である。クラウドサーバ210からデバイス230へのデータ出力手順330と、デバイス230からクラウドサーバ210へのデータ入力手順340とを含む。
デバイス230へのデータ出力手順330は、まず、クラウドサーバ210からIPカプセリングした出力データが携帯端末220に送信される。次に、携帯端末220は、アンカプセンリグして取得したデータはバルク転送(OUT)でデバイス230に転送される。各バルク転送(OUT)は、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。
デバイス230からのデータ入力手順340は、まず、携帯端末220は、バルク転送(IN)でデバイス230から入力データを取得する。各バルク転送(IN)は、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。次に、携帯端末220から、IPカプセリングした入力データがクラウドサーバ210に送信される。
(非USBデバイス制御手順)
図3Dは、本実施形態に係るUSB接続されたUSBデバイス以外のデバイスの制御手順を示すシーケンス図である。
図3Dにおいては、携帯端末220がデバイス情報を取得できない例として、デバイス23nがRS232CケーブルからUSBケーブルに接続されている場合を説明する。携帯端末220は、USBパケットからRS232Cに接続されたデバイス23nのデバイス情報を取得する特殊ドライバを有しないとする。しかし、これに限定されない。なお、図3Dにおいて図3Aと同様のステップには同じステップ番号を付して、説明は省略する。
ステップS311においては、RS232CケーブルとUSBケーブルによってデバイス23nが携帯端末220に接続される。携帯端末220は、ステップS353以降、汎用USBドライバを起動してデバイス23nのディスクリプタを取得しようとするが、ステップS357において、ディスクリプタを取得できないまま、タイムアウトをする。
携帯端末220は、タイムアウトを検出すると、ステップS359において、汎用USBドライバの処理を停止する。そして、ステップS361において、クラウドサーバ210に接続したデバイス23nの制御を依頼する。
デバイス制御の依頼を受けたクラウドサーバ210は、ステップS363において、接続したデバイス23nを動作させ得るドライバ類を順に動作させて、接続したデバイス23nを判定する。詳細には、まず、ステップS365において1組のドライバを起動する。次に、ステップS367において、起動したドライバでデバイス23nをアクセスする。ステップS369において、デバイス23nを制御可能か否かが判定される。制御可能と判定されれば、ステップS371において、そのドライバによってデバイス情報を取得する。かかるドライバには、デバイスを駆動可能なドライバと共に、RS232CとUSBとの変換を実現するドライバが含まれる。
デバイス情報が獲得できれば、ステップS317において、デバイスDB213を参照して、デバイス23nを特定する。以降は、図3Aと同様の処理が行なわれる。
《クラウドサーバの機能構成》
図4は、本実施形態に係るクラウドサーバ210の機能構成を示すブロック図である。なお、以下の説明においては、簡略化のため携帯端末220で代表させて説明する。また、実際には、ユーザ登録などを行なう構成も含まれるが、図4においては煩雑さを避けるため省略する。
クラウドサーバ210は、ネットワーク240を介して携帯端末220と通信する通信制御部401を有する。通信制御部401が携帯端末220から受信したメッセージから、ディスクリプタ受信部402は、携帯端末220に接続したデバイス230から取得したディスクリプタを受信する。デバイス判定部403は、携帯端末220から受信したデバイス230のディスクリプタから、デバイスDB213(図7A参照)を参照して、携帯端末220に接続したデバイス230を特定する。また、動作条件情報受信部404は、ディスクリプタを送信した同じ携帯端末220が送信した、デバイス230の動作条件情報を受信する。動作条件情報分析部405は、動作条件情報受信部404が受信した動作条件情報を分析してプログラム選定に必要な情報を抽出したり生成したりする。
プログラム選定部211は、プログラム選定テーブル211a(図10A参照)とパラメータ選定テーブル211b(図10B参照)とを有する。そして、プログラム選定部211は、デバイス判定部403からのデバイス情報と、動作条件情報分析部405からの動作条件情報とに基づいて、プログラム履歴DB214とパラメータ履歴DB215とを参照して、デバイスプログラム、アプリケーション、およびそれらで使用するパラメータを選定する。
デバイス制御部212は、プログラム選定部211が選定したアプリケーションを実行するアプリケーション実行部407を有する。アプリケーション実行部407は、携帯端末220に送信する操作画面を生成して、操作画面送信部408に渡す。操作画面送信部408は、操作画面を携帯端末220に送信する。一方、操作指示受信部409は、携帯端末220から送信されたユーザが入力した操作指示を受信する。そして、操作指示受信部409は、受信した操作指示をアプリケーション実行部407に渡す。アプリケーション実行部407は、操作指示に従ったデバイス230の動作を行なうように、USBデバイスドライバ実行部410に対して、デバイス230の駆動のための指示を出力する。
また、デバイス制御部212は、プログラム選定部211が選定したデバイスドライバを実行するUSBデバイスドライバ実行部410を有する。USBデバイスドライバ実行部410は、携帯端末220を中継してUSBコネクタに接続されたデバイスに対するUSBパケットを生成して、USBパケットカプセリング部411に渡す。USBパケットカプセリング部411は、USBパケットをIPカプセリングして、携帯端末220に向けて送信する。一方、USBパケットアンカプセリング部412は、携帯端末220からIPカプセリングして送信されたメッセージを受信して、メッセージをアンカプセリングしてUSBパケットを取り出す。そして、USBパケットカプセリング部411は、USBパケットをアプリケーション実行部407に渡す。USBデバイスドライバ実行部410は、受信したUSBパケットを分析して、新たなUSBパケットを生成してデバイスに応答したり、アプリケーション実行部407にデバイス230のステータスを報告したりする。
なお、図4においては、分かり易くするために、ディスクリプタ受信部402をデバイス制御部212と独立させて示したが、ディスクリプタ受信部402がデバイス制御部212に組み込まれてもよい。
《携帯端末の機能構成》
図5は、本実施形態に係る携帯端末220、221〜22nの機能構成を示すブロック図である。以下、構成は同ようなので、携帯端末220を代表させて説明する。
本実施形態の携帯端末220は、クラウドサーバ210とのネットワークを介した通信を制御する通信制御部503を有する。また、携帯端末220は、タッチパネルやキーボードなどからなる操作部501と、入出力部505とを有する。入出力部505は、画面受信部504が受信したクラウドサーバ210からの指示画面を表示する表示部506と、音声を入出力する音声入出力部507とを有する。
また、デバイス接続コネクタであるUSBコネクタ510に接続されたデバイスの動作条件を取得する動作条件情報取得部508を有する。動作条件情報取得部508が取得した動作条件情報は、動作情報送信部に含まれる動作条件情報送信部509によりクラウドサーバ210に送信される。なお、動作条件情報取得部508は、操作部501にあってもよい。
また、携帯端末220は、USBデバイスを接続するためのUSBコネクタ510を有する。そして、USBコネクタ510に接続したデバイス230のディスクリプタを取得するための汎用USBドライバ実行部511を有する。さらに、携帯端末220は、汎用USBドライバ実行部511が取得したUSBパケットからデバイス230のディスクリプタを取得するディスクリプタ取得部512を有する。また、ディスクリプタ取得部512が取得したデバイス230のディスクリプタをクラウドサーバ210に送信する、デバイス情報送信部であるディスクリプタ送信部513を有する。
また、汎用USBドライバ実行部511を介して、USBコネクタ510に接続可能なデバイス230とクラウドサーバ210がUSBパケットをやり取りするための、アンカプセリング部514とカプセリング部515とを有する。アンカプセリング部514は、クラウドサーバ210からのIPメッセージをアンカプセリングする。カプセリング部515は、クラウドサーバ210へのIPカプセリングを行なう。かかる汎用USBドライバ実行部511、アンカプセリング部514、およびカプセリング部515が、クラウドサーバ210のデバイス制御を中継するデバイス制御中継部を構成する。
《デバイス(産業機器)の機能構成》
図6は、本実施形態に係るデバイス(産業機器)230の機能構成を示すブロック図である。なお、図6の構成は、USB接続に必要な一般的な構成要素を示したものであり、これに限定されない。なお、詳細は、USB仕様書を参照されたい。
デバイス230は、携帯端末220のUSBコネクタ510とUSBケーブルで接続される、USBコネクタ601aを有するトランシーバ601を有する。SIE(Serial Interface Engine)602は、フィジカルインタフェース(PHY)603とメディアアクセス制御(MAC)604とを有し、USBパケットのやり取りのプロトコルを制御する。SIE602により送受信されるディスクリプタを含むデータは、FIFO605aを含むエンドポイント制御部605に保持される。
デバイス制御部607は、エンドポイント制御部605のFIFO605aに保持されたデータに従い、本実施形態においてはロボットアームであるデバイス230のメカ機構部608およびセンサ群609を制御する。
(デバイスDB)
図7Aは、本実施形態に係るデバイスDB213の構成を示す図である。なお、デバイスDB213は、図7Aの構成に限定されない。
デバイスDB213は、デバイスディスクリプタ711に対応付けて、デバイスID712、デバイスの機種713、デバイスのバージョン714、デバイスの能力715などを記憶する。ここで、デバイスディスクリプタ711は、デバイスクラス、デバイスサブクラス、ベンダーID、プロダクトID、シリアル番号などを含む。
(デバイスディスクリプタ)
図7Bは、本実施形態に係るデバイスディスクリプタ711の構成を示す図である。詳細は説明を省く。USB仕様書を参照されたい。
例えば、Offsetの、“4”がデバイスクラス、“5”がデバイスサブクラス、“8”がベンダーID、“10”がプロダクトID、“16”がシリアル番号である。これらの情報により、USBコネクタに接続されたデバイス230が1つ1つ一意に特定される。なお、デバイスディスクリプタ711は、エンドポイント0に領域が確保されて、あらかじめ記憶されている。
(プログラム履歴DB)
図8Aは、本実施形態に係るプログラム履歴DB214の構成を示す図である。なお、プログラム履歴DB214は、図8Aの構成に限定されない。
プログラム履歴DB214には、デバイスID811、デバイスの機種812、バージョン813、能力814などのデバイス情報に対応付けて、複数の動作条件情報815を記憶する。そして、各動作条件情報815に対応付けて、使用ドライバ816と使用アプリ817とを記憶し、それぞれにユーザが入力したユーザ評価818を記憶する。
(パラメータ履歴DB)
図8Bは、本実施形態に係るパラメータ履歴DB215の構成を示す図である。なお、パラメータ履歴DB215は、図8Bの構成に限定されない。
パラメータ履歴DB215は、ドライバが使用するパラメータを記憶するドライバパラメータ記憶部820と、アプリが使用するパラメータを記憶するアプリパラメータ記憶部830とを有する。
ドライバパラメータ記憶部820は、ドライバID821および複数の動作条件情報822のそれぞれに対応付けて、使用される第1パラメータ823、第2パラメータ824、…、第nパラメータ825を記憶する。そして、ドライバ選定時に参考にされるユーザが入力したユーザ評価826を記憶する。
また、アプリパラメータ記憶部830は、アプリID831および複数の動作条件情報832のそれぞれ、さらに、異なる動作シーケンス833に対応付けて、使用される全体パラメータ834、第1シーケンスパラメータ835、第2シーケンスパラメータ836、…、第nシーケンスパラメータ837を記憶する。そして、アプリ選定時に参考にされるユーザが入力したユーザ評価838を記憶する。
《クラウドサーバのハードウェア構成》
図9は、本実施形態に係るクラウドサーバ210のハードウェア構成を示すブロック図である。
図9で、CPU(Central Processing Unit)910は演算制御用のプロセッサであり、プログラムを実行することで図4のクラウドサーバ210の各機能構成部を実現する。ROM(Read Only Memory)920は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部401は通信制御部であり、本実施形態においては、ネットワーク240を介して携帯端末220、221〜22nと通信する。なお、CPU910は1つに限定されず、複数のCPUであっても、あるいは画像処理用のGPU(Graphics Processing Unit)を含んでもよい。
RAM(Random Access Memory)940は、CPU910が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM940には、本実施形態の実現に必要なデータを記憶する領域が確保されている。ユーザID/ユーザ認証情報941は、通信中のユーザの識別子とその認証情報などである。端末ID/端末認証情報942は、通信中の携帯端末の識別子とその認証情報などである。ディスクリプタ943は、携帯端末に接続したデバイスから携帯端末が取得してクラウドサーバ210に送信したデバイスディスクリプタである。デバイス情報944は、ディスクリプタ943に基づいて、デバイスDB213を参照してデバイスを特定する情報である。動作条件情報945は、携帯端末から受信したデバイスの動作条件に関する情報である。プログラム選定テーブル211aは、デバイス情報944と動作条件情報945とから使用するプログラムを選定するためのテーブルである。パラメータ選定テーブル211bは、デバイス情報944と動作条件情報945とから使用するパラメータを選定するためのテーブルである。操作画面946は、携帯端末に送信して表示画面に表示するための操作画面のデータである。操作指示947は、操作画面946は、携帯端末に表示された操作画面に対してユーザが指示入力した操作指示に対応する、携帯端末から受信したデータである。USBパケット(入出力)948は、携帯端末を中継してUSBデバイスとやり取りするパケットデータである。送受信データ949は、携帯端末と通信制御部401を介して送受信するIPカブセリングされたデータである。
ストレージ950には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。デバイスDB213は、図7Aに示したデータベースである。プログラム履歴DB214は、図8Aに示したデータベースである。パラメータ履歴DB215は、図8Bに示したデータベースである。
ストレージ950には、以下のプログラムが格納される。クラウドサーバ制御プログラム951は、本クラウドサーバ210の全体を制御するプログラムである。デバイス判定モジュール952は、クラウドサーバ制御プログラム951において、携帯端末に接続したデバイスのディスクリプタからデバイスを特定するモジュールである。プログラム選定モジュール953は、クラウドサーバ制御プログラム951において、プログラム履歴DB214およびパラメータ履歴DB215を参照して接続したデバイスを動作させる適切なプログラムおよびパラメータを選定するモジュールである(図12A参照)。アプリケーションプログラム954は、プログラム選定モジュール953により選定されたプログラムである。デバイスドライブプログラム955は、プログラム選定モジュール953により選定されたプログラムである。
なお、図9には、本実施形態に必須なデータやプログラムのみが示されており、本実施形態に関連しないデータやプログラムは図示されていない。
(プログラム選定テーブル)
図10Aは、本実施形態に係るプログラム選定テーブル211aの構成を示す図である。プログラム選定テーブル211aは、デバイス情報と動作条件情報とからプログラムを選定するためのテーブルである。
プログラム選定テーブル211aは、デバイスID1001や機種1002などのデバイス情報と、動作条件情報1003とに基づいて選定された、使用ドライバ1004と使用アプリ1005、そして、ユーザが入力したユーザ評価1006を記憶する。
(パラメータ選定テーブル)
図10Bは、本実施形態に係るパラメータ選定テーブル211bの構成を示す図である。パラメータ選定テーブル211bは、選定したドライバやアプリと動作条件情報とから使用するパラメータを選定するためのテーブルである。
パラメータ選定テーブル211bは、選定したドライバIDと動作条件情報とに基づいてパラメータとユーザ評価を記憶する、デバイスドライバ用のテーブル1011を有する。また、選定したアプリIDと動作条件情報とに基づいてパラメータとユーザ評価を記憶する、アプリケーション用のテーブル1012を有する。そして、デバイスドライバのパラメータとアプリケーションのパラメータとの組合せの全体評価1013を記憶する。
《クラウドサーバの処理手順》
図11は、本実施形態に係るクラウドサーバ210の処理手順を示すフローチャートである。このフローチャートは、図9のCPU910がRAM940を使用して実行し、図4の各機能構成部を実現する。
まず、ステップS1111において、携帯端末から接続したデバイスのディスクリプタを受信したか否かを判定する。また、デバイスのディスクリプタ受信でない場合、ステップS1131において、携帯端末からの操作指示の受信か否かを判定する。また、デバイスのディスクリプタ受信でなく、かつ、操作指示の受信でない場合、ステップS1141においては、USBパケットを、携帯端末を中継してデバイスに送信するか否かを判定する。
デバイスのディスクリプタを受信した場合はステップS1113に進んで、デバイスDB213を参照してデバイス(本実施形態では、産業機器であるロボットアーム)を特定する。次に、ステップS1115において、携帯端末からの動作条件情報の受信を待って、受信があるとステップS1117に進んで、プログラム選定処理を行なう(図12A参照)。そして、ステップS1119において、選定したパラメータを使用して選定したプログラムを起動する。起動したアプリケーションは、ステップS1121において、操作画面を携帯端末に送信する。
また、操作指示の受信であればステップS1133に進んで、受信した操作指示を解析する。そして、解析結果に対応する指示操作の実行処理を行なう(図12B参照)。
また、USBパケットをデバイスに送信する場合はステップS1143に進んで、送信用のUSBパケットを生成する。そして、ステップS1145において、IPカプセリングしてデバイス宛に送信する。ステップS1147においては、デバイスからの応答受信を待って、応答受信があればステップS1149に進む。ステップS1149においては、受信したデータをIPアンカプセリングしてUSBパケットを取り出す。ステップS1151においては、取り出したUSBパケットを処理する。
(プログラム選定処理)
図12Aは、本実施形態に係るプログラム選定処理S1117の処理手順を示すフローチャートである。
まず、ステップS1211において、ステップS1113において特定したデバイス情報を取得する。次に、ステップS1213において、ステップS1115において受信した動作条件情報を取得する。そして、ステップS1215においては、プログラム履歴DB214を参照して、デバイス情報と動作条件情報とに合致するプログラムを選定する。続いて、ステップS1217において、パラメータ履歴DB215を参照して、選定したプログラムで使用する好適なパラメータを選定する。
(指示操作の実行処理)
図12Bは、本実施形態に係る指示操作の実行処理の処理手順S1135を示すフローチャートである。
まず、ステップS1221において、送信用のUSBパケットを生成する。そして、ステップS1223において、IPカプセリングしてデバイス宛に送信する。ステップS1225においては、デバイスからの応答受信を待って、応答受信があればステップS1227に進む。ステップS1227においては、受信したデータをIPアンカプセリングしてUSBパケットを取り出す。ステップS1229においては、取り出したUSBパケットを処理する。そして、ステップS1231において、指示した操作が完了したか否かを判定し、完了していなければステップS1221に戻ってさらに処理を継続する。指示した操作が完了すればリターンする。
《携帯端末のハードウェア構成》
図13は、本実施形態に係る携帯端末220、221〜22nのハードウェア構成を示すブロック図である。以下、携帯端末220を代表して説明する。
図13で、CPU1310は演算制御用のプロセッサであり、プログラムを実行することで図5の携帯端末220の各機能構成部を実現する。ROM1320は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部503は通信制御部であり、本実施形態においては、ネットワークを介してクラウドサーバ210と通信する。なお、CPU1310は1つに限定されず、複数のCPUであっても、あるいは画像処理用のGPUを含んでもよい。
RAM1340は、CPU1310が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM1340には、本実施形態の実現に必要なデータを記憶する領域が確保されている。ユーザID/ユーザ認証情報1341は、携帯端末220を使用中のユーザの識別子とその認証情報である。端末ID/端末認証情報1342は、当該携帯端末220の識別子とその認証情報である。ディスクリプタ1343は、USBコネクタ510に接続したデバイスから読み出したデバイス情報である。動作条件情報1344は、当該携帯端末220が取得したデバイスの動作条件に関する情報である。操作画面1345は、クラウドサーバ210から受信した、デバイス230を操作するための表示データである。操作指示1346は、ユーザが表示部506に表示された操作画面上で指示した操作のデータである。デバイス入出力USBパケット1347は、USBデバイスに入出力するパケットである。サーバ送受信IPパケット1348は、通信制御部503を介してクラウドサーバ210と送受信するIPカプセリングしたパケットである。入出力データ1349は、入出力インタフェース1360を介して入出力される入出力データを示す。
ストレージ1350には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。端末情報1351は、本携帯端末の識別子を含む情報である。ストレージ1350には、以下のプログラムが格納される。携帯端末制御プログラム1352は、本携帯端末220の全体を制御する制御プログラムである。ディスクリプタ転送モジュール1353は、携帯端末制御プログラム1352において、デバイス230から取得したディスクリプタをクラウドサーバ210に転送するモジュールである。デバイス操作指示モジュール1354は、クラウドサーバ210に対してデバイス230の操作指示を行なうためのモジュールである。デバイス入出力データ中継モジュール1355は、クラウドサーバ210とデバイス230間のデータの入出力を中継するモジュールである。汎用USBドライバ1356は、デバイス230のディスクリプタ読み出しなどの基本的なUSBプロトコルを実行するプログラムである。
入出力インタフェース1360は、入出力機器との入出力データをインタフェースする。入出力インタフェース1360には、表示部506、タッチパネルなどからなる操作部501が接続される。また、スピーカやマイクなどの音声入出力部507が接続される。さらに、GPS(Global Positioning System)位置生成部1361やカメラ1362などが接続される。そして、USBコネクタ510が接続される。
なお、図13には、本実施形態に必須なデータやプログラムのみが示されており、本実施形態に関連しないデータやプログラムは図示されていない。
《携帯端末の処理手順》
図14は、本実施形態に係る携帯端末220、221〜22nの処理手順を示すフローチャートである。このフローチャートは、図13のCPU1310がRAM1340を使用して実行し、図5の各機能構成部を実現する。
まず、ステップS1411において、USBコネクタにデバイスが接続されたか否かを判定する。また、USBコネクタへのデバイス接続でない場合、ステップS1431において、クラウドサーバ210からの操作画面の受信か否かを判定する。また、USBコネクタへのデバイス接続でなく、かつ、操作画面の受信でない場合、ステップS1441において、デバイス宛のデータをクラウドサーバ210から受信したか否かを判定する。また、USBコネクタへのデバイス接続でなく、操作画面の受信でなく、かつ、デバイス宛のデータ受信でない場合、ステップS1451においては、デバイスからのデータを受信したか否かを判定する。
USBコネクタにデバイスが接続された場合はステップS1413に進んで、汎用USBドライブを起動する。そして、ステップS1415において、デバイスのディスクリプタを取得する。次に、ステップS1417において、取得したディスクリプタをクラウドサーバ210に送信する。続いて、ステップS1419において、動作条件情報の取得を待って、取得するとステップS1421に進んで、取得した動作条件情報をクラウドサーバ210に送信する。
また、操作画面の受信であればステップS1433に進んで、操作画面を表示部506に表示する。そして、ステップS1435において、ユーザの操作入力を待つ。ユーザからの操作入力があるとステップS1437に進んで、クラウドサーバ210に操作指示を送信する。
また、デバイス宛のデータの受信であればステップS1443に進んで、受信したIPカプセリングした受信データをIPアンカプセリングする。そして、ステップS1445において、USBパケットをデバイスに送信する。一方、デバイスからのデータの受信であればステップS1453に進んで、受信したUSBパケットをIPカプセリングする。そして、ステップS1455において、IPパケットをクラウドサーバ210に送信する。
本実施形態によれば、携帯端末に対してデバイスを接続した場合にデバイス情報および動作条件情報に基づいて情報処理装置(サーバなど)がデバイスを制御する。したがって、携帯端末が取得したデバイスの動作条件に適合して、情報処理装置からデバイスの制御ができる。
[第3実施形態]
次に、本発明の第3実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態と比べると、携帯端末がカメラで撮像された映像をクラウドサーバに送信する点で異なる。クラウドサーバにおいては、受信した映像から動作条件情報に加えて、実際の動作状態を示す動作状態情報も判断して、デバイスドライバプログラム、アプリケーションプログラム、およびそれらプログラムで使用される各種パラメータを選定する。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、携帯端末のカメラからの映像取得という、ユーザの簡単な操作によって産業機器の動作条件を取得する。したがって、産業機器の動作条件に適合した、さらに、実際の動きから動作状態を判断して、情報処理装置(サーバなど)から各デバイス制御ができる。
なお、本実施形態においては、デバイスの動作条件を表わす映像や、デバイスの動作状態の映像について示す。しかし、例えば、デバイスが動作する時に発生する音によりデバイスの動作状態が監視できる場合は、携帯端末によりデバイスが発生する音を拾って、クラウドサーバ1510に送るように構成してもよい。また、本実施形態においては、動作中のプログラム変更が必要か否かの検証をする場合を説明するが、例えば、初期動作前や動作中にデバイスの設定変更や、動作変更が必要な場合の、ユーザによるプログラム変更指示においても、本実施形態は適用できる。
《情報処理システム》
図15および図16を参照して、本実施形態の情報処理システム1500の動作について説明する。
(動作概念)
図15は、本実施形態に係る情報処理システム1500の動作概念を説明する図である。
情報処理システム1500においては、クラウドサーバ1510が、携帯端末220のカメラ1362が撮像した映像を受信して、この映像から、ロボットアーム230の動作条件情報(図15では、温度/湿度、あるいは気圧)や実際の動作の状態である動作状態情報を取得する。そして、動作条件情報や動作状態情報に基づいて、プログラムを選定あるいは変更して、携帯端末220のUSBコネクタに接続された産業機器であるロボットアーム230の動作を制御する。なお、以下、動作条件情報を取得するための映像を動作条件映像と呼ぶ、動作状態情報を取得するための映像を動作状態映像と呼ぶ。クラウドサーバ1510は、本実施形態に対応するプログラム履歴DB1514(図18参照)とパラメータ履歴DB1515(図19参照)とを有する。なお、プログラムの選定は制御開始時の動作条件情報や動作状態情報に基づいて行なわれ、プログラムの変更は制御開始後の動作条件情報や動作状態情報に基づいて行なわれる。
図15においては、左図がロボットアーム230の初動時の状態を示す。携帯端末220は、USBコネクタに接続したロボットアーム230のデバイス情報(ディスクリプタ)を取得する。また、カメラ1362で温度計/湿度計1540や気圧計1550を撮像して動作条件映像を取得する。なお、動作条件映像は、計測器の映像に限らない。ロボットアーム230の周囲の映像は、事故や災害時の動作条件を表わすことができる。あるいは、窓の外を撮像すれば、動作条件の天気などを表わすことができる。あるいは、ユーザの映像も使用できる。一方、カメラ1362でロボットアーム230の初期動作を撮像して、動作状態映像を取得する。そして、携帯端末220は、取得したデバイス情報と、動作条件映像と、動作状態映像とを、表示画面からのユーザの指示に対応してネットワークを介してクラウドサーバ1510に送信する。
クラウドサーバ1510は、動作条件映像や動作状態映像を分析して、動作条件情報と動作状態情報を生成する。そして、受信したデバイス情報と、動作条件情報と、動作状態情報とから、プログラム履歴DB1514、パラメータ履歴DB1515を参照して、ロボットアーム230を動作させるデバイスドライバ、アプリケーション、そしてそれらのパラメータを選定する。
図15の右図は、ロボットアーム230の動作中の状態を示す。携帯端末220は、カメラ1362で温度計/湿度計1540や気圧計1550を撮像して動作条件映像を取得し、動作条件の変更を監視する。なお、計測器の映像に限定されないのは、上記と同様である。一方、カメラ1362でロボットアーム230の動作を撮像して、動作状態映像を取得し、動作変化を監視する。なお、動作状態映像は、ロボットアーム230の映像に限らない。例えば、デバイスが製造機器であれば、その製品の映像により製造機器の動作を監視できる。あるいは、発熱状態や発生する光の強さや色などによる監視も映像により可能である。そして、携帯端末220は、取得したデバイス情報と、動作条件映像と、動作状態映像とを、表示画面からのユーザの指示に対応してネットワークを介してクラウドサーバ1510に送信する。
クラウドサーバ1510は、動作条件映像や動作状態映像を分析して、現在の動作条件情報と現在の動作状態情報を生成する。そして、記憶しているデバイス情報と、現在の動作条件情報と、現在の動作状態情報とから、プログラム履歴DB1514、パラメータ履歴DB1515を参照して、プログラムあるいはパラメータの変更が必要であれば、ロボットアーム230を動作させるデバイスドライバ、アプリケーション、そしてそれらのパラメータを選定し直して、変更する。
(動作手順)
図16は、本実施形態に係る情報処理システム1500の動作手順を示すシーケンス図である。なお、図3Aと同様のステップには同じ参照番号を付して、説明を省略する。また、以下の説明では、携帯端末220、デバイス230で代表させる。
ステップS1611において、携帯端末220は、動作条件映像をカメラ1362により取得して、クラウドサーバ1510に送信する。クラウドサーバ1510は、ステップS1613において、受信した動作条件映像から動作条件情報を取得する。次に、携帯端末220は、動作状態映像をカメラ1362により取得して、クラウドサーバ1510に送信する。クラウドサーバ1510は、ステップS1617において、受信した動作状態映像から動作状態情報を取得する。そして、クラウドサーバ1510は、ステップS1619において、接続されたデバイス情報と、動作条件情報と、動作状態情報とに基づき、プログラム履歴DB1514とパラメータ履歴DB1515とを参照して、デバイスドライバと使用パラメータを選定する。次に、クラウドサーバ1510は、ステップS1621において、接続されたデバイス情報と、動作条件情報と、動作状態情報とに基づき、プログラム履歴DB1514とパラメータ履歴DB1515とを参照して、アプリケーションと使用パラメータを選定する。以下、デバイス230の動作が開始されるが、図16には、本実施形態の特徴部分を示すため、詳細は省略している(図3A参照)。
そして、デバイス230の動作中に、再度、ステップS1611〜S1617が行なわれて、クラウドサーバ1510は、現在の動作条件情報と現在の動作状態情報を取得する。クラウドサーバ1510は、取得した現在の動作条件情報と現在の動作状態情報から、ステップS1629において、選定したデバイスドライバとそのパラメータが適切か否かを検証する。また、同時に、ステップS1631において、選定したアプリケーションとそのパラメータが適切か否かを検証する。そして、検証の結果から選定のやり直しが必要であれば、再度、プログラム履歴DB1514とパラメータ履歴DB1515とを参照して、選定をやり直す。なお、簡単なシーケンスの前後や、パラメータの調整で済む場合は、プログラムの選定のやり直しまでしないように、構成してもよい。
《クラウドサーバの機能構成》
図17は、本実施形態に係るクラウドサーバ1510の機能構成を示すブロック図である。なお、図17において、第2実施形態の図4と同様の構成には同じ参照番号を付して、説明は省略する。
動作条件映像受信部1704は、携帯端末220から送信されたデバイス230の動作条件に関する映像を受信する。動作条件映像分析部1705は、動作条件映像受信部1704が受信した動作条件映像を分析して、動作条件情報を取得する。
プログラム選定部1711は、デバイス情報と、動作条件情報と、動作状態情報とに基づいて、プログラム履歴DB1514(図18参照)とパラメータ履歴DB(図19参照)とを参照して、プログラムとパラメータを選定する。さらに、プログラム選定部1711は、プログラム検証/変更テーブル1711c(図20参照)を有し、デバイス動作中の動作条件情報の変化や動作状態情報の変化を検証して、プログラムの選定を変更することができる。
デバイス制御部1712は、さらに、携帯端末からの動作状態映像を受信する動作状態映像受信部1713を有する。動作状態映像受信部1713が受信した動作状態映像は、図17においては、アプリケーション実行部407で実行されているアプリケーションの中で、動作状態情報が分析されて動作状態情報取得が行なわれ、プログラム選定部1711に渡される。なお、動作状態映像受信部1713は、デバイス制御部1712の外にあって、さらに、動作状態映像分析部を得てプログラム選定部1711に動作状態情報を渡す構成であってもよい。なお、携帯端末の機能構成は、カメラである動作状態情報取得部と動作状態情報送信部を付加するのみで、図5と同ようなので、図示および説明は省略する。
(プログラム履歴DB)
図18は、本実施形態に係るプログラム履歴DB1514の構成を示す図である。なお、図18において、図8Aと同様の構成要素には同じ参照番号を付して、説明は省略する。
プログラム履歴DB1514は、図8Aと比較して、動作状態情報1815が、使用ドライバ816と使用アプリ817との選定条件となっている点で異なる。他は、同様であるので、説明は省略する。
(パラメータ履歴DB)
図19は、本実施形態に係るパラメータ履歴DB1515の構成を示す図である。なお、図19において、図8Bと同様の構成要素には同じ参照番号を付して、説明は省略する。
パラメータ履歴DB1515は、図8Bと比較して、動作状態情報1822あるいは1932が、パラメータやシーケンスの選定条件となっている点で異なる。他は、同様であるので、説明は省略する。
(プログラム検証/変更テーブル)
図20は、本実施形態に係るプログラム検証/変更テーブル1711cの構成を示す図である。プログラム検証/変更テーブル1711cは、動作条件情報や動作状態情報の変化で、プログラムやパラメータを変更する必要があるか否かを検証し、変更が必要であれば再度、選定し直すためのテーブルである。
プログラム検証/変更テーブル1711cは、接続されたデバイスを特定するデバイス情報2001と、その現在の動作条件情報/動作状態情報2002とから、検証結果の変更要否2003を記憶する。そして、変更が必要である場合に、新たに選定された、新ドライバID2004、新ドライバパラメータ2005、新アプリ2006、新アプリシーケンス2007、新アプリパラメータ2008を記憶する。なお、変更がなければ元のデータを記憶するか、変更ナシが記憶される。そして、ユーザが携帯端末から入力したユーザ評価を記憶する。
《クラウドサーバの処理手順》
図21は、本実施形態に係るクラウドサーバ1510の処理手順を示すフローチャートである。なお、第2実施形態の図11と同様のステップには同じステップ番号を付して、説明は省略する。
ステップS1111において、携帯端末からデバイスのディスクリプタを受信した場合に、ステップS2114において、携帯端末から動作条件映像と動作状態映像を受信して、動作条件情報と動作状態情報を取得する。そして、ステップS2115において、本実施形態によるプログラム選定処理を行なう(図22参照)。
また、デバイスのディスクリプタ受信でない場合、ステップS2121において、デバイスの動作中に動作条件映像や動作状態映像を受信すると、ステップS2123に進んで、受信した動作条件映像や動作状態映像から動作条件情報や動作状態情報を取得する。ステップS2125において、取得した動作条件情報や動作状態情報からプログラムの変更が必要か否かを判定する。必要なければ何もしない。プログラムの変更が必要であれば、ステップS2127に進んで、デバイスの接続している携帯端末にプログラムあるいはパラメータの変更を報知する。そして、ステップS2129において、プログラムを停止してデバイスを停止する。次に、先ほどと同じ手順のステップS2115において、プログラム選定処理を行なう。新たなプログラムやパラメータが選定されたら、ステップS2131において、プログラムを起動して、デバイス動作を新たなプログラムによって再開する。なお、デバイスのディスクリプタ受信でなく、かつ、デバイスの動作中の動作条件映像や動作状態映像の受信でない場合、ステップS1131において、携帯端末からの操作指示の受信か否かを判定する。
(プログラム選定処理)
図22は、本実施形態に係るプログラム選定処理S2115の処理手順を示すフローチャートである。なお、図22において、第2実施形態の図12Aと同様のステップには同じステップ番号を付して、説明は省略する。
ステップS2213においては、携帯端末から受信した動作状態映像から得た動作状態情報を取得する。次に、ステップS2215において、デバイス情報、動作条件情報、動作状態情報に基づいて、プログラム履歴DB1514を参照して、合致するプログラムを選定する。そして、選定されたプログラムに好適なパラメータを、動作条件情報、動作状態情報に基づいて、パラメータ履歴DB1515を参照して選定する。
本実施形態によれば、携帯端末のカメラからの映像取得という、ユーザの簡単な操作によって産業機器の動作条件を取得する。したがって、産業機器の動作条件に適合した、さらに、実際の動きから動作状態を判断して、情報処理装置(サーバなど)から各デバイス制御ができる。
[第4実施形態]
次に、本発明の第4実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2および第3実施形態と比べると、複数の携帯端末が一方にはデバイスがUSB接続され、他方にはセンサがUSB接続されて、センサの検出信号に基づいてデバイスが動作する。このように、複数の携帯端末に接続したデバイスの同期処理をクラウドサーバが行なう点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、1箇所にまとまっていない産業機器の動作をセンサの検出信号に基づいて制御する。したがって、高価な投資無しにも情報処理装置(サーバなど)から産業機器の動作制御ができる。
なお、本実施形態においては、センサも携帯端末に接続するデバイスであり、携帯端末との関係でデバイスとも呼ぶ。また、本実施形態では、センサとデバイスとの組合せを説明したが、これに限定されるものではない。
また、本実施形態においては、複数の入出力に対して1つのまとまった処理を行なう好適な構成として仮想PCという概念で説明するがこれに限定されない。
《情報処理システム》
図23および図24を参照して、本実施形態の情報処理システム2300の動作について説明する。
(動作概念)
図23は、本実施形態に係る情報処理システム2300の動作概念を説明する図である。
情報処理システム2300においては、クラウドサーバ2310が、携帯端末220−1にルータ2350を介してUSB接続する2つのセンサ2381および2382からの検出信号を受信する。そして、それらの受信信号に基づいて、携帯端末220−2にUSB接続するデバイス230の動作を制御する。クラウドサーバ2310は、本実施形態においては、1つの仮想PCをサーバ内に生成して、まとまりのある制御を行なう。
図23においては、携帯端末220−1のカメラ1362が、装置全体を撮像することで、1つのまとまりを与え、動作状態の監視を行なっている。なお、携帯端末220−1と220−2との役割分担は、図23の例に限らない。また、携帯端末も2つに限定されず、多数の携帯端末が使用されてよい。
(動作手順)
図24は、本実施形態に係る情報処理システム2300の動作手順を示すシーケンス図である。なお、図24において、第2実施形態の図4Aと同様のステップには同じステップ番号を付して、説明は省略する。また、以下の説明では、デバイス230で代表させる。
ステップS2411において、携帯端末220−1に対してセンサがUSB接続される。ステップS2413において、センサのディスクリプタが読み出される。そして、ステップS2415において、携帯端末220−1からクラウドサーバ2310に送信される。クラウドサーバ2310は、ステップS2417において、デバイスDB213を参照して、センサを特定する。次に、携帯端末220−1は、センサの動作条件情報を取得してクラウドサーバ2310に送信する。
クラウドサーバ2310は、ステップS2421において、センサ情報とその動作条件情報とに基づき、プログラム履歴DB214とパラメータ履歴DB215とを参照して、センサ用のデバイスドライバとそのパラメータを選定する。次に、ステップS2423において、センサ情報とその動作条件情報とに基づき、プログラム履歴DB214とパラメータ履歴DB215とを参照して、センサ用のアプリケーションとそのパラメータを選定する。
デバイス230およびセンサの動作中は、ステップS2431において、センサの検出信号が携帯端末220−1に取得される。携帯端末220−1は、ステップS2433において、取得したセンサ検出情報をクラウドサーバ2310に送信する。クラウドサーバ2310(本例では、生成された仮想PC)は、ステップS3435において、センサ検出信号に基づいてデバイス制御情報を生成して、携帯端末220−2を中継してデバイス230に送信する。
《クラウドサーバの機能構成》
図25は、本実施形態に係るクラウドサーバ2310の機能構成を示すブロック図である。なお、図25において、第2実施形態の図4と同様の機能構成部には同じ参照番号を付して、説明は省略する。
プログラム選定部2511は、さらに、センサ/デバイス組合せテーブル2511d(図26参照)を有する。プログラム選定部2511は、センサ/デバイス組合せテーブル2511dにより、異なる携帯端末の接続したセンサとデバイスとを1つのまとまった装置として認識し、プログラム履歴DB214とパラメータ履歴DB215とを参照して、互いに適合するドライバとそのパラメータを選定する。また、その組合せに相応しいアプリケーションとそのパラメータとを選定する。
デバイス制御部2512は、本実施形態では、生成した仮想PCとする。デバイス制御部2512には、アプリケーション実行部407とUSBデバイスドライバ実行部410に加えて、USBセンサドライバ実行部2514を有する。なお、図25には、ドライバやアプリケーションと接続するデバイス制御部2512の他の機能構成部は、煩雑さを避けるため省略している。
(センサ/デバイス組合せテーブル)
図26は、本実施形態に係るセンサ/デバイス組合せテーブル2511dの構成を示す図である。
センサ/デバイス組合せテーブル2511dは、デバイスIDとデバイス情報と動作条件情報とを含むデバイスデータ2601と、センサIDとセンサ情報と動作条件情報とを含むセンサデータ2602と、を記憶する。そして、このデバイスデータ2601とセンサデータ2602との組合せに対応付けて、使用デバイスドライバ2603、使用センサドライバ2604、使用アプリ2605を記憶する。最後に、携帯端末からユーザが入力したユーザ評価を記憶する。
《クラウドサーバの処理手順》
図27は、本実施形態に係るクラウドサーバ2310の処理手順を示すフローチャートである。なお、図27においては、本実施形態に関連のある手順のみを図示している。その他の処理手順は、図11などの他のフローチャートを参照されたい。
ステップS1111において、携帯端末からのデバイスのディスクリプタ受信であれば、ステップS2703に進む。ステップS2703においては、デバイスとセンサのディスクリプタを取得して、それぞれデバイスおよびセンサの特定をする。ステップS2705において、デバイスとセンサとが組であるか否かを判定する。組でなければステップS2707に進んで、個々のデバイスに対するプログラム選定の処理を行なう(図11のステップS1115〜S1119に相当)。組であればステップS2709に進んで、デバイスとセンサを組で扱うために仮想PC生成処理を行なう(図28参照)。
(仮想PC生成処理)
図28は、本実施形態に係る仮想PC生成処理の処理手順を示すフローチャートである。
まず、ステップS2601において、クラウドサーバ2310に仮想PCを生成する。基本的には、関連する入出力デバイスと接続する複数の入出力機能と、入出力情報間の処理をする機能とが、他の処理とは独立に確保されればよい。なお、仮想PCの構成は、本実施形態の特徴ではないので詳細は省略する。
次に、ステップS2803において、デバイスとセンサとの組合せに基づいて、デバイス用のドライバを選定する。次に、ステップS2805において、デバイスとセンサとの組合せに基づいて、センサ用のドライバを選定する。次に、ステップS2807において、デバイスとセンサとの組合せに基づいて、アプリを選定する。次に、ステップS2809において、デバイスとセンサとの組合せに基づいて、各ドライバやアプリのパラメータを選定する。そして、ステップS2811において、生成した仮想PCで選定したパラメータを使用して、ドライバおよびアプリを起動する。
本実施形態によれば、1箇所にまとまっていない産業機器の動作をセンサの検出信号に基づいて制御する。したがって、高価な投資無しにも情報処理装置(サーバなど)から産業機器の動作制御ができる。
[第5実施形態]
次に、本発明の第5実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2乃至第4実施形態と比べると、携帯端末に接続されるデバイスが1つではなく、複数のデバイスが関連して動作する生産ラインを、各デバイスの携帯端末をUSB接続して、クラウドサーバが統一的に制御する点で異なる。その他の構成および動作は、第2乃至第4実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、複数のデバイスからなるライン制御を複数の携帯端末を介して統一的に情報処理装置(サーバなど)から制御する。したがって、高価な投資無しにも情報処理装置から複数のデバイスからなるライン制御を実現できる。
なお、本実施形態においては、複数のデバイスのライン制御を行なう好適な構成として仮想PCという概念で説明するがこれに限定されない。
《情報処理システム》
図29A乃至図30を参照して、本実施形態の情報処理システム2900の動作について説明する。
(動作概念)
図29Aは、本実施形態に係る情報処理システム2900の第1動作概念2900−1を説明する図である。図29Aの例では、クラウドサーバ2910−1内に各デバイスに対応する複数の仮想PC2912−1〜2912−nが生成される。そして、複数の仮想PC2912−1〜2912−nをタイミング制御部2911−1が制御することになる。
図29Aは、自動車組立ラインにおける複数のロボットアーム231〜234と、溶接ロボット2931、2932の各々が、携帯端末のUSBコネクタに接続された構成を示す。
この場合に、複数のロボットアーム231〜234と、溶接ロボット2931、2932の各々を、1つの仮想PCに割り当てても、例えば、ロボットアーム231〜234を1つの仮想PCに割当て、溶接ロボット2931、2932を別の仮想PCに割り当ててもよい。
タイミング制御部2911−1は、関連するライン内のデバイス間の動作の遅延などを、デバイス間の距離や、使用されているドライバやアプリ、パラメータを考慮して、ズレが起こらないように制御する。なお、図29Aには、センサは示していないが、センサが接続されてもよい。
図29Bは、本実施形態に係る情報処理システム2900の第2動作概念2900−2を説明する図である。図29Bの例では、クラウドサーバ2910−2内に1つの仮想PC2913が生成される。そして、1つの仮想PC2913をタイミング制御部2911−2が制御することになる。
図29Bは、制御基板製造ラインにおける複数のロボットアーム235、2933の各々が、携帯端末のUSBコネクタに接続された構成を示す。
この場合に、複数のロボットアーム235と2933が1つの仮想PC2913に割り当てられる。これは、複数の仮想PCに分けて割り当てると、仮想PC間の通信遅延が製造に影響するためでもある。
タイミング制御部2911−2は、デバイス間の動作の遅延などを、デバイス間の距離や、使用されているドライバやアプリ、パラメータを考慮して、ズレが起こらないように制御する。なお、図29Bには、センサは示していないが、センサが接続されてもよい。
(動作手順)
図30は、本実施形態に係る情報処理システム2900の動作手順を示すシーケンス図である。なお、図30において、第2実施形態の図4Aと同様のステップには同じステップ番号を付して、説明は省略する。また、以下の説明では、デバイス230で代表させる。
ステップS2911およびS2915において、各携帯端末に接続するデバイスの動作条件情報と動作状態情報が取得されて、各携帯端末からクラウドサーバ2910に送信する。クラウドサーバ2910は、ステップS2919において、各デバイスのデバイス情報と動作条件情報とに基づいて、プログラム履歴DB214とパラメータ履歴DB215を参照して、各デバイスドライバを選定する。次に、ステップ2921において、各アプリケーションを選定する。
ステップS2923において、タイミング制御を開始する。ステップS2925において、選定した各アプリケーションを起動し、ステップS2927において、選定した各デバイスドライバを起動する。なお、詳細なやり取りなどは、図面の簡素化のため省略している。詳細は、図4Aなどを参照されたい。
その後、ラインの動作中に、デバイスの動作条件情報と動作状態情報が取得され、携帯端末からクラウドサーバ2910に送信されると、クラウドサーバ2910は、ステップS2928において、タイミング制御の検証を行なう。次に、ステップS2929において、デバイスドライバの検証を行なう。さらに、ステップS2931において、アプリケーションの検証を行なう。
《クラウドサーバの機能構成》
図31は、本実施形態に係るクラウドサーバ2910の機能構成を示すブロック図である。なお、図31において、第2実施形態の図4と同様の機能構成部には同じ参照番号を付して、説明は省略する。
プログラム選定部3111は、さらに、タイミング制御を行なうタイミング制御プログラムとそのパラメータを選定するためのタイミング制御テーブル3111eを有する(図32参照)。
デバイス制御部3112は、第1仮想PC2912−1〜第n仮想PC2912−nを有する。個々の仮想PCにおいては、プログラム選定部3111で選定された、ドライバとアプリとが実行される。一方、デバイス制御部3112が有するタイミング制御部2911−1は、プログラム選定部3111で選定されたタイミング制御プログラムが実行されて、各仮想PCが制御するデバイス間のタイミングを制御する。
(タイミング制御テーブル)
図32は、本実施形態に係るタイミング制御テーブル3111eの構成を示す図である。
タイミング制御テーブル3111eは、ラインに含まれるデバイスについて、デバイスIDとライン位置や処理内容を含む第1デバイス情報3201〜第nデバイス情報3202に対応付けて、選定されたタイミング制御3203として、プログラムとパラメータとを記憶する。そして、ユーザが携帯端末から入力したユーザ評価3204を記憶する。
《クラウドサーバの処理手順》
図33は、本実施形態に係るクラウドサーバ2910の処理手順を示すフローチャートである。なお、図33において、図27と同様のステップには同じステップ番号を付して、説明は省略する。
ステップS3301において、複数デバイスのタイミング制御が必要か否かを判定する。個々のデバイス制御であれば、仮想PC生成処理を行なう(図28参照)。複数デバイスのタイミング制御が必要な場合はステップS3303に進んで、タイミング制御処理を実行する(図34参照)。
(タイミング制御処理)
図34は、本実施形態に係るタイミング制御処理S3303の処理手順を示すフローチャートである。
まず、ステップS3401において、ライン中のデバイスとその配置を、特定済みか否かを判定する。特定済みでなければステップS3403に進んで、未知のデバイスとその配置を特定する。そして、図29Aのように複数の仮想PCを生成する構成に場合は、ステップS3405において、新たな仮想PCを生成する。
ライン中のデバイスとその配置が特定済みであればステップS3407に進んで、タイミング制御テーブル3111eに基づいてタイミング制御のプログラムとパラメータを選定する。そして、ステップS3409において、タイミング制御プログラムを起動する。
本実施形態によれば、複数のデバイスからなるライン制御を複数の携帯端末を介して統一的に情報処理装置(サーバなど)から制御する。したがって、高価な投資無しにも情報処理装置から複数のデバイスからなるライン制御を実現できる。
[第6実施形態]
次に、本発明の第6実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2乃至第5実施形態と比べると、携帯端末がクラウドサーバとデバイス間の中継点であるだけでなく、デバイス制御の一部を処理する点で異なる。例えば、クラウドサーバはUSBパケットを送るのではなくて、ひとまとまりのUSBプロトコルのやり取りなどの一連の動作は携帯端末に任せて、クラウドサーバは指示コマンドを携帯端末に送るように構成する。その他の構成および動作は、第2乃至第5実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
本実施形態によれば、携帯端末の資源を有効に使用して、デバイス制御の一部を携帯端末が実行する。これにより、情報処理装置(サーバなど)の付加を低減できる。さらに、情報処理装置とデバイス間の通信遅延をなくした高速処理も可能となる。
《情報処理システム》
図35A乃至図36Bを参照して、本実施形態の情報処理システム3500の動作について説明する。
(動作概念)
図35Aは、本実施形態に係る情報処理システム3500の第1動作概念3500−1を説明する図である。図35Aにおいては、デバイスとの情報交換における、デバイスからの受信→タイミング制御→デバイスへの返信、という1サイクルを1つの制御単位の制御プログラムとして、携帯端末で処理する。
図35Aにおいては、左から右にデバイスの処理が進むとしている。クラウドサーバ3510−1は、制御プログラム送信部3511−1を有し、制御プログラムにシリアル番号(SN)を付けて、携帯端末3520にダウンロードする。まず、左端図においては、携帯端末3520の表示画面3521のように、ハッチングをしたSN=1の処理が携帯端末とデバイスとの間で行なわれている。SN=1の処理が終了すると、次の図の表示画面3522のように、処理はSN=2に移って、SN=1は完了したので携帯端末から削除される。この時に、所定のタイミングで、携帯端末3520での処理が追いつかなくならないように、制御プログラムがクラウドサーバ3510−1から補充される。右端図は、表示画面352nのように、SN=nの最後の制御プログラムが実行されている状態である。SN=nの最後の制御プログラムが終了すると、デバイス処理が終了する。
図35Bは、本実施形態に係る情報処理システム3500の第2動作概念3500−2を説明する図である。図35Bにおいては、図35Aよりさらに、携帯端末3520がひとまとまりのデバイス制御を分担する。例えば、図35Bにおいては、第2実施形態における1つ1つのロボットアームへの動作指示については、携帯端末3520とデバイスとの間で実行する。
図35Bにおいては、左から右にデバイスの処理が進むとしている。クラウドサーバ3510−2は、動作IDに対応付けて、シーケンスと制御プログラム群を記憶するテーブル3511−2を有し、携帯端末3520にダウンロードする。まず、左端図においては、携帯端末3520の表示画面3523のように、ハッチングをした“上”への動作(動作ID=1)が指示されると、次の図の表示画面3524のように、動作ID=1の制御プログラム群が実行されて、図2Aのように、ロボットアームが上方に上がるまで携帯端末3520がデバイスを制御する。
次に、左から3番目の図の画面表示3525にように、“右”(動作ID=3)が指示されると、右端図の表示画面3526のように、動作ID=3の制御プログラム群が、右ターンが終了するまで、携帯端末3520がデバイスを制御する。
なお、携帯端末3520のデバイス制御の分担は、上記例に限定されない。分担をどの程度割り当てるかは、携帯端末3520の処理能力に負うところが大である。
(動作手順)
図36Aは、本実施形態に係る情報処理システム3500の第1動作手順を示すシーケンス図である。なお、図36Aにおいて、第2実施形態の図3Aと同様のステップには同じステップ番号を付して、説明は省略する。
ステップS3534においては、プログラム履歴DB3514に記憶された制御プログラムが、クラウドサーバ3510から携帯端末3520にダウンロードされる。ステップS3535においては、ダウンロードされた制御プログラムが携帯端末3520のプログラム実行部で実行されて、クラウドサーバ3510とは独立にデバイスを制御する。以下、同様である。
図36Bは、本実施形態に係る情報処理システム3500の第2動作手順を示すシーケンス図である。なお、図36Bにおいて、第2実施形態の図3Aと同様のステップには同じステップ番号を付して、説明は省略する。
ステップS3554においては、プログラム履歴DB3514に記憶された動作プログラムが、クラウドサーバ3510から携帯端末3520にダウンロードされる。ステップS3555においては、アプリケーションがクラウドサーバ3510と携帯端末3520とで互いに関連付けて分割起動する。また、ステップS3557においては、デバイスドライバがクラウドサーバ3510と携帯端末3520とで互いに関連付けて分割起動する。
ステップS3559において、クラウドサーバ3510からデバイスの動作指示があると、携帯端末3520は、ステップS3561において、ダウンロードされたプログラムを実行して、指示された動作を実行する。そして、ステップS3563において、動作結果を携帯端末3520からクラウドサーバ3510に報告する。以下、同様である。
《クラウドサーバの機能構成》
図37は、本実施形態に係るクラウドサーバ3510の機能構成を示すブロック図である。なお、図37において、第2実施形態の図4と同様の機能構成部には同じ参照番号を付して、説明を省略する。
プログラム選定部3711は、携帯端末3520にダウンロードするプログラムやパラメータを選定するためにも使用される、プログラム選定テーブル3711aとパラメータ選定テーブル3711bとを有する。その際、プログラム選定部3711は、プログラム履歴DB3714とパラメータ履歴DB3715を参照してプログラムを選定する。
デバイス制御部3712は、携帯端末3520と部分を分け合って動作するアプリケーション実行部(1)3701と、USBデバイスドライバ実行部(1)3702を有する。なお、本実施形態においては、アプリケーションもドライバも役割分担する例を示したが、アプリケーションはクラウドサーバ3510で主に実行し、ドライバは携帯端末3520で主に実行するなど、他の分担も可能である。
制御プログラム送信部3703は、プログラム選定部3711が選定して、携帯端末3520にダウンロードすると決まった制御プログラムを携帯端末3520に送信する。
《携帯端末の機能構成》
図38は、本実施形態に係る携帯端末3520の機能構成を示すブロック図である。なお、図38において、第2実施形態の図5と同様の機能構成部には同じ参照番号を付して、説明は省略する。
制御プログラム受信部3801は、クラウドサーバ3710の制御プログラム送信部3703から送信された、制御プログラムを受信する。アプリケーション実行部(2)3802は、クラウドサーバ3710のアプリケーション実行部(1)3701と協働して、アプリケーションを実現する。デバイスドライバ実行部(2)3803は、クラウドサーバ3710のUSBデバイスドライバ実行部(1)3702と協働して、デバイスドライバを実現する。
(プログラム履歴DB)
図39は、本実施形態に係るプログラム履歴DB3714の構成を示す図である。なお、図39において、第2実施形態の図8Aと同様の構成要素には同じ参照番号を付して、説明は省略する。
プログラム履歴DB3714には、携帯端末ID3911、携帯端末能力3912と対応して、使用ドライバ3916、使用アプリ3917、ダウンロード用制御プログラム3918を記憶する。携帯端末による分担が可能であれば、使用ドライバ3916や使用アプリ3917も、分割できる構成のものが選定される。最後に、ユーザが携帯端末から入力したユーザ評価を記憶する。
なお、パラメータ履歴DB3715については、図示も説明もしないが、プログラム履歴DB3714と同様に、パラメータ履歴DB215にデータを追加すればよい。
《クラウドサーバの処理手順》
図40は、本実施形態に係るクラウドサーバ3510の処理手順を示すフローチャートである。なお図40において、第2実施形態の図11と同様のステップには同じステップ番号を付して、説明は省略する。
ステップS111において、ディスクリプタの受信と判定された場合に、ステップS4016において、接続している携帯端末能力を取得する。そして、ステップS4017においては、本実施形態のプログラム選定処理が行なわれる(図41参照)。
また、ステップS4041の判定でデバイスの動作指示が必要な場合には、USBパケットを送るのではなくて、ステップS4043において、動作指示(コマンド)メッセージを携帯端末3520に送信する。
また、ステップS4051の判定でデバイス動作完了通知を携帯端末3520から受けた場合には、ステップS4053に進んで、完了通知を分析する。ステップS4055においては、ステップS4043で送信する動作メッセージが必要か否かを判定し、必要であれば、ステップS4057において動作メッセージを生成する。
(プログラム選定処理)
図41は、本実施形態に係るプログラム選定処理S4017の処理手順を示すフローチャートである。なお、図41において、第2実施形態の図12Aと同様のステップには同じステップ番号を付して、説明は省略する。
ステップS4114においては、携帯端末の能力を取得する。次に、ステップS4115において、デバイス情報、動作条件情報、携帯端末の能力に基づいて、プログラム履歴DB3714を参照して、合致するプログラムおよびダウンロード用の制御プログラムを選定する。そして、ステップS4117において、選定されたプログラムに好適なパラメータを、動作条件情報に基づいて、パラメータ履歴DB3715を参照して選定する。
《携帯端末の処理手順》
図42は、本実施形態に係る携帯端末3520の処理手順を示すフローチャートである。なお、図42において、第2実施形態の図14と同様のステップには同じステップ番号を付して、説明は省略する。
ステップS4261において、制御プログラムのダウンロードか否かを判定する。制御プログラムのダウンロードであればステップS4263に進んで、クラウドサーバ3510が送信した制御プログラムを受信する。そして、ステップS4265において、受信した制御プログラムを起動する。あるいは起動可能とする。
また、ステップS4271において、デバイス動作指示をクラウドサーバ3510から受信したか否かを判定する。動作指示の受信であればステップS4273に進んで、動作指示を分析する。そして、ステップS4275において、動作指示に対応する制御プログラム処理を行なう(図43参照)。動作指示に対応する動作が完了すると、ステップS4277において、動作完了報告をクラウドサーバ3510に送信する。
(制御プログラム処理)
図43は、本実施形態に係る制御プログラム処理S4275の処理手順を示すフローチャートである。
まず、ステップS4301において、動作指示に対応するルーチンをスタートする。そして、ステップS4303において、デバイスへUSBパケットを送信する。ステップS4305においては、デバイスからのUSBパケット応答を待って、応答があればステップS4307において、デバイスからの応答を分析する。ステップS4309においては、デバイスからの応答の分析からクラウドサーバ3510に通知が必要か否かを判定する。例えば、故障などの非常事態の場合には、通知が必要である。通知が必要であればステップS4311において、クラウドサーバ3510に通知する。ステップS4313においては、指示された動作のルーチンが完了したかを判定する。完了していなければステップS4303に戻って、処理を繰り返す。ルーチンが完了すればリターンする。
本実施形態によれば、携帯端末の資源を有効に使用して、デバイス制御の一部を携帯端末が実行する。これにより、情報処理装置(サーバなど)の付加を低減できる。さらに、情報処理装置とデバイス間の通信遅延をなくした高速処理も可能となる。
[他の実施形態]
上記実施形態では、スマートフォンのUSBポートを介して通信する方式について説明したが、本発明はこれに限定されるものではない。例えば、スマートフォンと産業ロボットとの間において、Wi-Fi(登録商標)やBluetooth(登録商標)で通信してもよい。
例えば、産業ロボットとスマートフォンとの間でBluetooth(登録商標)通信を行なう場合、USBデータをBluetooth(登録商標)に乗せるデバイスを産業ロボット側に追加すればよい。スマートフォンは、Bluetooth(登録商標)通信内のUSBデータを取り出し、そのデータをクラウドサーバへ送信すればよい。最初からBluetooth(登録商標)で制御を設計している場合、スマートフォンのBluetooth(登録商標)通信を介してクラウドサーバからの制御データを中継し、環境情報を提供してもよい。
スマートフォンは、Bluetooth(登録商標)やWi-Fi(登録商標)で通信をしているというパラメータを、クラウドサーバへ送信してもよい。また、通信のディレイ、通信の再送率、他の通信品質情報をクラウドサーバへ送信してもよい。クラウドサーバ側は、その情報と動作の達成度を集計し、USBからBluetooth(登録商標)通信に変更した場合、端末側で自動応答させる推奨制御範囲を割り出して、端末へ提供してもよい。また、あらかじめ定めた数の推奨制御範囲を端末の利用者に提案してもよい。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
提供製品の評価として、装置の稼働の達成具合だけでなく、最終製品の不具合情報、人の評価、出荷後の運用課題まで、様々な情報を、クラウドサーバに収集してもよい。そのようにすれば、その評価に応じて、デバイスを制御するタイミングを調整することにより、最終利用者の不具合を減らすことができる。
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。

Claims (33)

  1. 第1携帯端末に接続されたデバイスを特定するデバイス情報を、前記第1携帯端末から受信する、または前記第1携帯端末を中継して前記デバイスから受信するデバイス情報受信手段と、
    前記第1携帯端末が取得した前記デバイスの動作条件を示す動作条件情報を、前記第1携帯端末から受信する動作情報受信手段と、
    前記デバイス情報および前記動作条件情報に基づいて、前記デバイスを制御するデバイス制御手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記動作条件情報は、前記デバイスの仕様を示す仕様情報と、前記デバイスの置かれた環境を示す環境情報とを含むことを特徴とする請求項1に記載の情報処理装置。
  3. 前記環境情報は、温度と、湿度と、気圧と、動作時間とのいずれかを含むことを特徴とする請求項2に記載の情報処理装置。
  4. 前記デバイス情報および前記動作条件情報に基づいて、前記デバイスの動作を制御するためのアプリケーションプログラム、デバイスドライバプログラムおよびそのパラメータを選定するプログラム選定手段を備え、
    前記デバイス制御手段は、前記パラメータを使用して前記アプリケーションプログラムおよび前記デバイスドライバプログラムを実行することにより、前記デバイスを制御することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記デバイス情報および前記動作条件情報と、前記プログラム選定手段が選定した前記アプリケーションプログラム、前記デバイスドライバプログラムおよび前記パラメータの組合せとの履歴を、該組合せによる動作の評価と共に蓄積する蓄積手段をさらに備え、
    前記プログラム選定手段は、受信した前記デバイス情報および前記動作条件情報に基づいて、前記蓄積手段に蓄積された前記履歴を参照して、前記アプリケーションプログラム、前記デバイスドライバプログラムおよび前記パラメータを選定することを特徴とする請求項4に記載の情報処理装置。
  6. 前記デバイス制御手段による前記デバイスの制御開始後に受信した前記動作条件情報に基づいて、前記プログラム選定手段が選定した前記アプリケーションプログラム、デバイスドライバプログラムおよびそのパラメータの少なくともいずれかを変更するプログラム変更手段、
    をさらに備えることを特徴とする請求項4または5に記載の情報処理装置。
  7. 前記動作情報受信手段は、前記第1携帯端末が撮像した前記デバイスの置かれた環境を示す映像を受信して、前記映像から前記デバイスの動作条件情報を取得する動作条件情報取得手段を有することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記動作情報受信手段は、さらに、前記第1携帯端末が取得した前記デバイスの動作状態を示す動作状態情報を、前記第1携帯端末から受信し、
    前記プログラム変更手段は、前記デバイスの制御開始後に受信した前記動作条件情報と前記動作状態情報との少なくともいずれかに基づいて、前記プログラム選定手段が選定した前記アプリケーションプログラム、デバイスドライバプログラムおよびそのパラメータの少なくともいずれかを変更することを特徴とする請求項6に記載の情報処理装置。
  9. 前記動作情報受信手段は、前記第1携帯端末が撮像した前記デバイスの動作状態を示す映像を受信して、前記映像から前記デバイスの動作状態情報を取得する動作状態情報取得手段を有することを特徴とする請求項8に記載の情報処理装置。
  10. 前記デバイス情報受信手段は、さらに、第2携帯端末に接続されたセンサを特定するデバイス情報を、前記第2携帯端末から受信し、
    前記動作情報受信手段は、さらに、前記デバイスの状態を示す前記センサの検出情報を、前記第2携帯端末から受信し、
    前記デバイス制御手段は、前記第1携帯端末から受信した前記デバイス情報および前記動作条件情報と、前記第2携帯端末から受信した前記センサの検出情報とを使って、前記デバイスを制御することを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 前記デバイス制御手段は、前記第1携帯端末に接続した前記デバイスと前記第2携帯端末の接続した前記センサとの組合せを記憶するセンサ/デバイス組合せ記憶手段を有することを特徴とする請求項10に記載の情報処理装置。
  12. 前記デバイスが、所定のタイミングで動作を行なう複数のデバイスであって、
    前記複数のデバイスの各デバイスに対応する複数の前記デバイス情報受信手段および前記動作情報受信手段と、
    前記複数のデバイスの各デバイスに対応する複数の前記デバイス制御手段と、
    前記複数のデバイス制御手段に対して前記タイミングに応じて動作を制御するよう指示するタイミング制御手段と、
    をさらに備えることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
  13. 前記デバイスが、所定のタイミングで動作を行なう複数のデバイスであって、
    前記複数のデバイスに対応する1つの前記デバイス情報受信手段および前記動作情報受信手段と、
    前記複数のデバイスに対応する1つの前記デバイス制御手段と、
    前記1つのデバイス制御手段に対して前記タイミングに応じて動作を制御するよう指示するタイミング制御手段と、
    をさらに備えることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
  14. 前記デバイス制御手段は、前記デバイスからの前記第1携帯端末を介した信号の受信に応答して、前記第1携帯端末を介して前記デバイスを制御する信号を送信することを特徴とする請求項1乃至13のいずれか1項に記載の情報処理装置。
  15. 前記デバイス制御手段は、前記デバイスの一連の動作を実行するための制御プログラムを、前記デバイスの動作シーケンスに従い前記第1携帯端末に対して送信することを特徴とする請求項1乃至14のいずれか1項に記載の情報処理装置。
  16. 前記制御プログラムは、前記デバイスからの信号の受信に応答して所定のタイミングで前記デバイスの動作を制御する信号を送信する一連の動作を実行するプログラムであることを特徴とする請求項15に記載の情報処理装置。
  17. 前記デバイス制御手段は、前記第1携帯端末から前記デバイスの操作指示を受信する操作指示受信手段を有し、
    前記操作指示受信手段が受信した前記操作指示にしたがって、前記第1携帯端末を介して前記デバイスを制御することを特徴とする請求項1乃至16のいずれか1項に記載の情報処理装置。
  18. 前記デバイスは携帯端末のUSBコネクタにUSBケーブルで接続されるUSBデバイスであることを特徴とする請求項1乃至17のいずれか1項に記載の情報処理装置。
  19. 前記デバイス情報受信手段は、前記第1携帯端末が接続されたデバイスの前記デバイス情報を取得できない場合における前記接続されたデバイスの制御の依頼を、前記第1携帯端末から受信した場合に、前記第1携帯端末を中継して前記デバイスから前記デバイス情報を受信する、請求項1に記載の情報処理装置。
  20. 第1携帯端末に接続されたデバイスを特定するデバイス情報を、前記第1携帯端末から受信するデバイス情報受信ステップと、
    前記第1携帯端末が取得した前記デバイスの動作条件を示す動作条件情報を、前記第1携帯端末から受信する動作情報受信ステップと、
    前記デバイス情報および前記動作条件情報に基づいて、前記デバイスを制御するデバイス制御ステップと、
    を含むことを特徴とする情報処理装置の制御方法。
  21. 第1携帯端末に接続されたデバイスを特定するデバイス情報を、前記第1携帯端末から受信するデバイス情報受信ステップと、
    前記第1携帯端末が取得した前記デバイスの動作条件を示す動作条件情報を、前記第1携帯端末から受信する動作情報受信ステップと、
    前記デバイス情報および前記動作条件情報に基づいて、前記デバイスを制御するデバイス制御ステップと、
    をコンピュータに実行させることを特徴とする情報処理装置の制御プログラム。
  22. デバイス接続コネクタと、
    前記デバイス接続コネクタに接続したデバイスを特定するデバイス情報を、情報処理装置に送信するデバイス情報送信手段と、
    前記デバイスの動作条件を示す動作条件情報または前記デバイスの動作状態を示す動作状態情報を取得して、前記情報処理装置に送信する動作情報送信手段と、
    前記デバイス情報および前記動作条件情報または前記動作状態情報に基づく前記情報処理装置による前記デバイスの制御を中継するデバイス制御中継手段と、
    を備えることを特徴とする携帯端末。
  23. 前記動作条件情報は、前記デバイスの仕様を示す仕様情報と、前記デバイスの置かれた環境を示す環境情報とを含むことを特徴とする請求項22に記載の携帯端末。
  24. 前記環境情報は、温度と、湿度と、気圧とのいずれかを含むことを特徴とする請求項23に記載の携帯端末。
  25. 前記デバイス制御中継手段は、前記情報処理装置が前記デバイス情報および前記動作条件情報または前記動作状態情報に基づいて選定した、パラメータを使用するアプリケーションプログラムとデバイスドライバプログラムとの実行による前記デバイスの制御を中継することを特徴とする請求項22乃至24のいずれか1項に記載の携帯端末。
  26. 前記動作情報送信手段は、前記デバイスが置かれた動作条件を示す映像または前記デバイスの動作状態を示す映像を撮像する撮像手段を有し、前記撮像手段が撮像した映像を前記動作条件情報または前記動作状態情報として、前記情報処理装置に送信することを特徴とする請求項22乃至25のいずれか1項に記載の携帯端末。
  27. 前記デバイスの一連の動作を実行するための制御プログラムを、前記情報処理装置から前記デバイスの動作シーケンスに従い受信する制御プログラム受信手段と、
    前記デバイスとの信号のやり取りをしながら前記制御プログラムを実行して、前記デバイスの一連の動作を実現するプログラム実行手段と、
    をさらに備えることを特徴とする請求項22乃至26のいずれか1項に記載の携帯端末。
  28. 前記制御プログラムは、前記デバイスからの信号の受信に応答して所定のタイミングで前記デバイスの動作を制御する信号を送信する一連の動作を実行するプログラムであることを特徴とする請求項27に記載の携帯端末。
  29. 前記デバイス接続コネクタはUSBコネクタであり、前記デバイスは前記USBコネクタにUSBケーブルで接続されるUSBデバイスであることを特徴とする請求項22乃至28のいずれか1項に記載の携帯端末。
  30. デバイス接続コネクタを有する携帯端末の制御方法であって、
    前記デバイス接続コネクタに接続したデバイスを特定するデバイス情報を、情報処理装置に送信するデバイス情報送信ステップと、
    前記デバイスの動作条件を示す動作条件情報または前記デバイスの動作状態を示す動作状態情報を取得して、前記情報処理装置に送信する動作情報送信ステップと、
    前記デバイス情報および前記動作条件情報に基づく前記情報処理装置による前記デバイスの制御を中継するデバイス制御中継ステップと、
    を含むことを特徴とする携帯端末の制御方法。
  31. デバイス接続コネクタを有する携帯端末の制御プログラムであって、
    前記デバイス接続コネクタに接続したデバイスを特定するデバイス情報を、情報処理装置に送信するデバイス情報送信ステップと、
    前記デバイスの動作条件を示す動作条件情報または前記デバイスの動作状態を示す動作状態情報を取得して、前記情報処理装置に送信する動作情報送信ステップと、
    前記デバイス情報および前記動作条件情報に基づく前記情報処理装置による前記デバイスの動作の制御を中継するデバイス制御中継ステップと、
    をコンピュータに実行させることを特徴とする携帯端末の制御プログラム。
  32. デバイス接続コネクタを有する携帯端末と、前記デバイス接続コネクタに接続可能なデバイスと、前記携帯端末とネットワークを介して接続される情報処理装置と、を備える情報処理システムであって、
    前記携帯端末が、
    前記デバイス接続コネクタに接続した前記デバイスを特定するデバイス情報を、前記ネットワークを介して前記情報処理装置に送信するデバイス情報送信手段と、
    前記デバイスが置かれた動作条件を示す動作条件情報を取得して、前記ネットワークを介して前記情報処理装置に送信する動作情報送信手段と、
    を備え、
    前記情報処理装置が、前記デバイス情報および前記動作条件情報に基づいて、前記ネットワークおよび前記携帯端末を介して前記デバイスを制御するデバイス制御手段、
    を備えることを特徴とする情報処理システム。
  33. デバイス接続コネクタを有する携帯端末と、前記デバイス接続コネクタに接続可能なデバイスと、前記携帯端末とネットワークを介して接続される情報処理装置と、を備える情報処理システムにおける情報処理方法であって、
    前記携帯端末が、前記デバイス接続コネクタに接続した前記デバイスを特定するデバイス情報を、前記ネットワークを介して前記情報処理装置に送信するデバイス情報送信ステップと、
    前記携帯端末が、前記デバイスが置かれた動作条件を示す動作条件情報を取得して、前記ネットワークを介して前記情報処理装置に送信する動作情報送信ステップと、
    前記情報処理装置が、前記デバイス情報および前記動作条件情報とに基づいて、前記ネットワークおよび前記携帯端末を介して前記デバイスを制御するデバイス制御ステップと、
    を含むことを特徴とする情報処理方法。
JP2012123800A 2012-05-30 2012-05-30 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム Active JP6052576B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012123800A JP6052576B2 (ja) 2012-05-30 2012-05-30 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム
US14/404,944 US20150127124A1 (en) 2012-05-30 2013-05-22 Information processing system, information processing method, information processing apparatus, portable terminal, and control method and control program thereof
PCT/JP2013/064233 WO2013179980A1 (ja) 2012-05-30 2013-05-22 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム
EP13796606.5A EP2858339A4 (en) 2012-05-30 2013-05-22 INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE, MOBILE TERMINAL AND CONTROL METHOD AND CONTROL PROGRAM THEREFOR

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012123800A JP6052576B2 (ja) 2012-05-30 2012-05-30 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム

Publications (2)

Publication Number Publication Date
JP2013251651A JP2013251651A (ja) 2013-12-12
JP6052576B2 true JP6052576B2 (ja) 2016-12-27

Family

ID=49673181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012123800A Active JP6052576B2 (ja) 2012-05-30 2012-05-30 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム

Country Status (4)

Country Link
US (1) US20150127124A1 (ja)
EP (1) EP2858339A4 (ja)
JP (1) JP6052576B2 (ja)
WO (1) WO2013179980A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6155555B2 (ja) * 2012-05-30 2017-07-05 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム
CN103692441B (zh) * 2013-12-19 2015-09-09 成都市卓睿科技有限公司 通过工作流技术模拟机械臂运动的系统及方法
JP6453007B2 (ja) * 2014-09-25 2019-01-16 株式会社ダイヘン 可搬式操作装置及び作業機械制御システム
US10616080B2 (en) * 2014-11-26 2020-04-07 Fanuc America Corporation System for diagnosis of robot state
CN104808503B (zh) * 2015-04-16 2019-01-15 联想(北京)有限公司 一种信息处理方法及电子设备
WO2017004190A1 (en) 2015-06-30 2017-01-05 K4Connect Inc. Home automation system including cloud and home message queue synchronization and related methods
CN105869313A (zh) * 2016-04-01 2016-08-17 广西科技大学 图书自动存取装置
WO2017198301A1 (en) * 2016-05-19 2017-11-23 Abb Schweiz Ag An industrial robot system and a method for communication between an industrial robot and an external network
WO2018033203A1 (en) * 2016-08-17 2018-02-22 Telefonaktiebolaget Lm Ericsson (Publ) Connection establishment between a robot device and a robot controller
CN106346476B (zh) * 2016-11-05 2019-01-11 杭州畅动智能科技有限公司 一种舵机的控制方法及控制装置
US10452459B2 (en) 2016-12-09 2019-10-22 Microsoft Technology Licensing, Llc Device driver telemetry
US10467082B2 (en) * 2016-12-09 2019-11-05 Microsoft Technology Licensing, Llc Device driver verification
JP6659615B2 (ja) * 2017-04-04 2020-03-04 ファナック株式会社 生体認証機能を有するシステム
US10798180B1 (en) * 2017-04-11 2020-10-06 Wells Fargo Bank, N.A. Systems and methods for optimizing information collaboration
US10848578B1 (en) 2017-04-11 2020-11-24 Wells Fargo Bank, N.A. Systems and methods for content delivery
US10903107B2 (en) * 2017-07-11 2021-01-26 Brooks Automation, Inc. Semiconductor process transport apparatus comprising an adapter pendant
US12157232B2 (en) * 2017-12-08 2024-12-03 Fanuc America Corporation Robotic application equipment monitoring and predictive analytics
JP6693939B2 (ja) * 2017-12-14 2020-05-13 ファナック株式会社 ロボットシステム
CN108214445B (zh) * 2018-01-24 2020-12-25 哈尔滨工业大学 一种基于ros的主从异构遥操作控制系统
US11472035B2 (en) * 2018-06-26 2022-10-18 Fanuc America Corporation Augmented reality visualization for robotic picking system
US11292133B2 (en) * 2018-09-28 2022-04-05 Intel Corporation Methods and apparatus to train interdependent autonomous machines
CN109397242B (zh) * 2018-11-18 2020-03-31 重庆柏木消防工程有限公司 一种消防设备控制方法及控制系统
JP7381244B2 (ja) 2019-08-05 2023-11-15 ファナック株式会社 アプリケーション実行用制御システム
JP7490412B2 (ja) * 2020-03-27 2024-05-27 川崎重工業株式会社 ロボットシステム及びその制御方法
WO2021261480A1 (ja) * 2020-06-23 2021-12-30 Thk株式会社 自律移動ロボット連係システム及び自律移動ロボット
DE112021003750B4 (de) * 2020-07-14 2026-04-23 Fanuc Corporation Robotersteuersystem
CN120344348A (zh) * 2023-06-22 2025-07-18 三菱电机株式会社 工作系统、工作方法及处理程序

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2825226B2 (ja) * 1987-08-28 1998-11-18 株式会社東芝 ロボット遠隔操作システム
JPH04157503A (ja) * 1990-10-22 1992-05-29 Hitachi Ltd 産業用ロボット装置
JP2873222B2 (ja) * 1997-05-12 1999-03-24 川崎重工業株式会社 ロボット情報処理装置
JP2000135689A (ja) * 1998-10-30 2000-05-16 Fanuc Ltd ロボット用画像処理装置
US7640007B2 (en) * 1999-02-12 2009-12-29 Fisher-Rosemount Systems, Inc. Wireless handheld communicator in a process control environment
JP2001100831A (ja) * 1999-10-01 2001-04-13 Nec Corp 産業用制御装置とその制御方法および該方法が格納された情報記録媒体
JP2002032885A (ja) * 2000-07-13 2002-01-31 Au Corp 遠隔監視制御システム及び遠隔監視制御方法
JP4228261B2 (ja) * 2000-08-29 2009-02-25 カシオ計算機株式会社 後位装置、携帯通信端末および情報取得方法
JP2002238081A (ja) * 2001-02-09 2002-08-23 Mitsubishi Electric Corp 電化製品の制御システム及びその制御方法
SE0101200D0 (sv) * 2001-04-02 2001-04-02 Abb Ab An industrial robot
JP2002312011A (ja) * 2001-04-10 2002-10-25 Enshu Ltd 工作機械のための情報通信システム
JP2003005825A (ja) * 2001-06-19 2003-01-08 Toyota Industries Corp 産業用機器
KR100812506B1 (ko) * 2002-05-31 2008-03-11 후지쯔 가부시끼가이샤 원격 조작 로봇 및 로봇 자기 위치 추정 방법
DE10245465A1 (de) * 2002-09-28 2004-04-15 Rexroth Indramat Gmbh Kommunikationssystem mit anschließbarem Interfaceelement
WO2004088514A1 (ja) * 2003-03-28 2004-10-14 Sony Corporation 情報提供装置及び方法,並びに情報提供システム
JP2005111603A (ja) 2003-10-07 2005-04-28 Lazona Inc ロボットおよびロボット管理装置
JP4534124B2 (ja) * 2004-01-09 2010-09-01 ソニー株式会社 通信システム、情報処理装置、情報処理端末、情報処理方法、記録媒体、並びにプログラム
JP4461878B2 (ja) * 2004-03-31 2010-05-12 パナソニック株式会社 産業用ロボット
JP4137862B2 (ja) * 2004-10-05 2008-08-20 ファナック株式会社 計測装置及びロボット制御装置
KR100645379B1 (ko) * 2004-10-29 2006-11-15 삼성광주전자 주식회사 로봇 제어 시스템 및 로봇 제어방법
US20060258342A1 (en) * 2005-04-21 2006-11-16 Kenny Fok Methods and apparatus for providing wireless device-centric control of an external computing device
JP4080494B2 (ja) * 2005-06-10 2008-04-23 ファナック株式会社 ロボット制御装置
JP2007038326A (ja) * 2005-08-01 2007-02-15 Toyota Motor Corp ロボット制御システム
JP4227131B2 (ja) * 2005-09-30 2009-02-18 株式会社東芝 シンクライアントサーバシステム
US20070075048A1 (en) * 2005-09-30 2007-04-05 Nachi-Fujikoshi Corp. Welding teaching point correction system and calibration method
WO2007116624A1 (ja) * 2006-04-10 2007-10-18 Kabushiki Kaisha Yaskawa Denki 自動機械システム
JP4221014B2 (ja) * 2006-06-20 2009-02-12 ファナック株式会社 ロボット制御装置
JP2008030136A (ja) * 2006-07-27 2008-02-14 Sony Corp ロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラム
US7974937B2 (en) * 2007-05-17 2011-07-05 Rockwell Automation Technologies, Inc. Adaptive embedded historians with aggregator component
US8396591B2 (en) * 2008-06-25 2013-03-12 Valbrea Technologies, Inc. System and method for data collection and analysis using robotic devices
US20100017033A1 (en) * 2008-07-18 2010-01-21 Remus Boca Robotic systems with user operable robot control terminals
US9033958B2 (en) * 2008-11-11 2015-05-19 Perception Raisonnement Action En Medecine Surgical robotic system
US8463435B2 (en) * 2008-11-25 2013-06-11 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
EP2194434B1 (en) * 2008-12-05 2012-05-30 COMAU SpA Robot system
JP5743174B2 (ja) * 2009-03-18 2015-07-01 日本電気株式会社 シンクライアントサーバシステム及びusbデバイスのドライバの管理方法
US20110224828A1 (en) * 2010-02-12 2011-09-15 Neuron Robotics, LLC Development platform for robotic systems
JP5234441B2 (ja) * 2010-03-19 2013-07-10 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
DE102010025781B4 (de) * 2010-07-01 2022-09-22 Kuka Roboter Gmbh Tragbare Sicherheitseingabeeinrichtung für eine Robotersteuerung
JP5516563B2 (ja) * 2011-12-13 2014-06-11 株式会社安川電機 ロボットシステム

Also Published As

Publication number Publication date
US20150127124A1 (en) 2015-05-07
EP2858339A4 (en) 2016-07-27
JP2013251651A (ja) 2013-12-12
EP2858339A1 (en) 2015-04-08
WO2013179980A1 (ja) 2013-12-05

Similar Documents

Publication Publication Date Title
JP6052576B2 (ja) 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム
JP7166767B2 (ja) 機器、製造方法、およびシステム
US11383390B2 (en) Robotic work cell and network
CN108228345B (zh) 用于交互式认知任务协助的系统和方法
US10137574B2 (en) Image processing apparatus, image processing system, image processing method, and computer program
WO2003058477A1 (en) Human/machine interface for a machinevision sensor and method for installing and operating the same
JP6022558B2 (ja) 再構成可能なネットワーク対応型プラグアンドプレイ多機能処理及びセンシングノード
WO2018137445A1 (zh) 一种基于ros系统的机械臂抓取方法及系统
JP2020192640A (ja) 制御装置、制御システム、機械装置システム及び制御方法
JP2019175406A (ja) 画像検査装置及び画像検査システム
EP3442755A1 (en) Programming a robot by demonstration
WO2010080824A1 (en) System and method for remote monitoring and control of field device
US11351672B2 (en) Robot, control device, and robot system
JP2018149669A (ja) 学習装置及び学習方法
JP6390088B2 (ja) ロボット制御システム、ロボット、プログラム及びロボット制御方法
JPH1185651A (ja) 通信インタフェース装置及び対象機器並びに通信方法
CN112873204B (zh) 机器人标定方法、装置、设备及计算机可读存储介质
Ishak et al. Design and implementation of robot assisted surgery based on Internet of Things (IoT)
CN110216698A (zh) 一种基于ros的机械臂遥操作系统
CN105658384B (zh) 用于调节和/或校准机器人的方法和装置
KR102624242B1 (ko) 로봇 기반 2d 및 3d 매칭 서비스 제공 시스템
KR101981326B1 (ko) 로봇 인지용 플랫폼, 그 시스템 및 그 진단 방법
JP2018045406A (ja) 測定システム、センサデバイス、及び測定システムの制御方法
KR20160140401A (ko) 카메라를 이용한 로봇 축각도들의 검출 및 로봇의 선택
CN212009321U (zh) 基于二维码的工业控制系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160506

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161117

R150 Certificate of patent or registration of utility model

Ref document number: 6052576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150