(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-14
(45)【発行日】2024-11-22
(54)【発明の名称】機能モジュールの追加および削除が可能で他社製品との連動を支援する管理装置および方法
(51)【国際特許分類】
G06F 8/61 20180101AFI20241115BHJP
【FI】
G06F8/61
(21)【出願番号】P 2023043292
(22)【出願日】2023-03-17
【審査請求日】2023-03-17
(31)【優先権主張番号】10-2022-0041746
(32)【優先日】2022-04-04
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】522179552
【氏名又は名称】ドゥサン ロボティクス インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】リー、ジェ スク
【審査官】多賀 実
(56)【参考文献】
【文献】特表2014-516850(JP,A)
【文献】特開2003-005858(JP,A)
【文献】特表2021-500686(JP,A)
【文献】特表2016-526227(JP,A)
【文献】特開2006-302031(JP,A)
【文献】特開2021-005218(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/77
G06F 9/44-9/455
B25J 1/00-21/02
G05B 19/04-19/05
G05B 19/18-19/416
G05B 19/42-19/46
(57)【特許請求の範囲】
【請求項1】
ハードウェアを制御する制御器が設けられる時、
前記ハードウェアに特定の機能を付与する機能モジュールが登録されたマーケットサーバと、
前記マーケットサーバから前記機能モジュールをダウンロードする管理器と、を含み、
前記管理器は、前記制御器に前記機能モジュールをインストールしたり、前記制御器にインストールされた前記機能モジュールを削除したりする、管理装置であって、
前記マーケットサーバは、
前記管理器または前記制御器にインストールされた拡張APIの情報を収集する収集部と、
前記収集部によって収集された情報が示す拡張APIを用いる動的ライブラリを有する機能モジュールを、既に登録された複数の機能モジュールの中から検索する検索部と、
前記検索部によって検索された機能モジュールのリストを前記管理器に提供する提供部と、
を含む管理装置。
【請求項2】
ハードウェアに特定の機能を付与する機能モジュールを登録する登録部と、
既に登録された機能モジュールのモジュール情報を管理器に提供する提供部と、
前記管理器または前記管理器によって管理される制御器にインストールされた拡張APIの情報を収集する収集部と、
前記収集部によって収集された情報が示す拡張APIを用いる動的ライブラリを有する機能モジュールを、既に登録された複数の機能モジュールの中から検索する検索部と、
を含む、管理装置であって、
前記提供部は、前記検索部によって検索された機能モジュールのリストを前記管理器に提供する、管理装置。
【請求項3】
前記提供部は、前記モジュール情報がタイルドメニュー構造で表示される表示メニューを前記管理器に提供し、
前記提供部は、前記タイルドメニュー構造を形成する特定のタイルが選択されると、選択された特定のタイルに配置された特定の機能モジュールの機能分類結果および詳細情報の少なくとも1つを前記管理器に追加的に提供する、請求項2に記載の管理装置。
【請求項4】
前記収集部は、前記管理器にインストールされた第2拡張API(Application Programming Interface)の情報を収集し、
前記検索部は、前記第2拡張APIを用いる第2動的ライブラリを有する第2機能モジュールを、既に登録された複数の機能モジュールの中から検索し、
前記提供部は、前記検索部によって検索された前記第2機能モジュールのリストを前記管理器に提供する、請求項2または3に記載の管理装置。
【請求項5】
前記収集部は、前記管理器によって管理される制御器にインストールされた第1拡張APIの情報を収集し、
前記検索部は、前記第1拡張APIを用いる第1動的ライブラリを有する第1機能モジュールを、既に登録された複数の機能モジュールの中から検索し、
前記提供部は、前記検索部によって検索された前記第1機能モジュールのリストを前記管理器に提供する、請求項2または3に記載の管理装置。
【請求項6】
前記機能モジュールを対象とするクライアントの評価点数、ダウンロード回
数の少なくとも1つを用いて前記機能モジュールに点数を付与する評価部が設けられ、
前記提供部は、前記制御器に提供される前記モジュール情報が複数であれば、各機能モジュールに付与された点数に応じて優先順位を決定し、
前記提供部は、前記優先順位に応じて順に整列された複数の前記モジュール情報を前記管理器に提供する、請求項5に記載の管理装置。
【請求項7】
前記収集部は、前記管理器にインストールされた特定の機能モジュールのインストール情報を収集し、
前記インストール情報と既に登録された機能モジュールのモジュール情報との比較により前記特定の機能モジュールのアップデートを行うアップデート部が設けられた、請求項2または3に記載の管理装置。
【請求項8】
前記制御器は、
前記ハードウェアに特定の機能を付与する機能モジュールが搭載され、前記機能モジュールの実行によって前記ハードウェアを制御する第1実行部と、
前記第1実行部に搭載された機能モジュールのうち、変動可能な変動モジュールを管理する第1管理部と、
を含む、請求項1に記載の管理装置。
【請求項9】
前記第1実行部に搭載される機能モジュールは、前記変動モジュールと、前記第1実行部に固定搭載される固定モジュールとに区分され、
前記第1管理部は、前記固定モジュールはそのままにした状態で、前記変動モジュールを追加または削除する、請求項8に記載の管理装置。
【請求項10】
前記固定モジュールは、前記管理器または前記マーケットサーバと通信する第1通信モジュール、前記ハードウェアの制御情報を解析する解析モジュール、および前記解析モジュールによって解析された制御情報を前記ハードウェアに互換するように変換する変換モジュールの少なくとも1つを含み、
前記変動モジュールは、前記制御情報を生成する制御モジュール、およびユーザインターフェースが含まれた画面モジュールと前記制御モジュールとを連結するフレームワークモジュールの少なくとも1つを含む、請求項9に記載の管理装置。
【請求項11】
前記第1実行部には、前記管理器または前記マーケットサーバと通信する第1通信モジュール、前記ハードウェアの制御情報を解析する解析モジュール、前記解析モジュールによって解析された制御情報を前記ハードウェアに互換するように変換する変換モジュールが設けられ、
前記第1管理部は、前記第1通信モジュール、前記解析モジュールおよび前記変換モジュールをそのままにした状態で、前記第1実行部に他の機能モジュールを追加したり、前記第1実行部に搭載された他の機能モジュールを削除したりする、請求項8から10のいずれか一項に記載の管理装置。
【請求項12】
前記第1実行部には、第1OS(Operating System、オペレーティングシステム)、ロボットOS、および前記第1OSまたは前記ロボットOSにリアルタイム性を提供するリアルタイムOS(RTOS、Real Time Operating System)の少なくとも1つが追加的に搭載され、
前記機能モジュールの実行環境に相当する第1ランタイムモジュール、および前記機能モジュールと前記第1ランタイムモジュールとを連結する第1APIの少なくとも1つが追加的に搭載される、請求項8から10のいずれか一項に記載の管理装置。
【請求項13】
前記第1実行部には、第1通信モジュール、解析モジュール、変換モジュール、制御モジュール、フレームワークモジュール、第1ランタイムモジュール、第1API、第1拡張API、第1動的ライブラリが搭載され、
前記第1管理部は、前記制御モジュールおよび前記フレームワークモジュールと区分される前記第1拡張APIまたは前記第1動的ライブラリを前記第1実行部に追加したり、前記第1実行部から削除したりし、
前記第1通信モジュールは、前記管理器または前記マーケットサーバと通信し、
前記解析モジュールは、前記ハードウェアの制御情報を解析し、
前記変換モジュールは、前記解析モジュールによって解析された制御情報を前記ハードウェアに互換するように変換し、
前記制御モジュールは、前記制御情報を生成し、
前記フレームワークモジュールは、ユーザインターフェースが含まれた画面モジュールと前記制御モジュールとを連結し、
前記第1ランタイムモジュールは、前記機能モジュールの実行環境を提供し、
前記第1APIは、前記機能モジュールと前記第1ランタイムモジュールとを連結し、
前記第1動的ライブラリは、前記ハードウェアの製造会社で前記ハードウェアの制御を目的にして制作したものであり、
前記第1拡張APIは、前記第1動的ライブラリと前記第1ランタイムモジュールとを連結する、請求項12に記載の管理装置。
【請求項14】
前記機能モジュールには、画面モジュール、フレームワークモジュール、制御モジュールが設けられ、
前記画面モジュールには、ユーザインターフェースが含まれ、
前記制御モジュールには、前記ハードウェアが前記特定の機能を有するように前記ハードウェアを制御する制御情報が含まれ、
前記フレームワークモジュールには、前記画面モジュールと前記制御モジュールとを連動させる情報が含まれ、
前記第1管理部は、前記画面モジュール、前記フレームワークモジュール、前記制御モジュールのうち、前記フレームワークモジュールと前記制御モジュールを前記第1実行部に搭載する、請求項8から10のいずれか一項に記載の管理装置。
【請求項15】
前記第1実行部には、前記機能モジュールのユーザインターフェースが表示される前記管理器と通信する第1通信モジュールが設けられ、
前記第1通信モジュールは、前記ハードウェアが前記特定の機能を有するようにする前記ハードウェアの制御情報を生成する制御モジュール、前記制御モジュールと前記ユーザインターフェースとを連動させるフレームワークモジュールを前記管理器から受信し、
前記第1管理部は、前記第1通信モジュールを介して受信された前記制御モジュールと前記フレームワークモジュールを前記第1実行部にインストールする、請求項8から10のいずれか一項に記載の管理装置。
【請求項16】
前記管理器には、第2実行部と、第2管理部とが設けられ、
前記第2管理部は、前記マーケットサーバからダウンロードした機能モジュールに含まれた画面モジュール、前記フレームワークモジュール、前記制御モジュールを区分し、
前記第2実行部には、前記第1通信モジュールと通信する第2通信モジュール、前記第2管理部によって抽出された前記画面モジュールが搭載され、
前記第2管理部は、前記第2通信モジュールを介して前記制御モジュールおよび前記フレームワークモジュールを前記第1管理部に伝達し、
前記第1管理部は、前記第2管理部から伝達された前記制御モジュールおよび前記フレームワークモジュールを前記第1実行部にインストールし、
前記画面モジュールは、前記フレームワークモジュールによって前記制御モジュールと連動する前記ユーザインターフェースを前記管理器の表示部に表示し、
前記第1通信モジュールと前記第2通信モジュールは、前記ユーザインターフェースと前記制御モジュールとの連動情報をやり取りする、請求項15に記載の管理装置。
【請求項17】
前記第1通信モジュールと前記第2通信モジュールとが一体に形成され、
前記第1実行部と前記第2実行部とが一体に形成され、
前記第1管理部と前記第2管理部とが一体に形成された、請求項16に記載の管理装置。
【請求項18】
ハードウェアに特定の機能を付与する機能モジュールを取得する第2管理部と、
前記機能モジュールのうち、前記特定の機能を示すユーザインターフェースを表示する第2実行部と、
前記ユーザインターフェースが表示される表示部と、
を含む、管理装置であって、
前記第2管理部は、
前記第2実行部にインストールされた拡張APIの情報をマーケットサーバに提供し、
前記マーケットサーバに登録された複数の機能モジュールの中で、前記マーケットサーバに提供された情報が示す拡張APIを用いる動的ライブラリを有する機能モジュールのリストを前記マーケットサーバから取得する、
管理装置。
【請求項19】
前記第2実行部には、第2OS、前記機能モジュールの実行環境に相当する第2ランタイムモジュール、前記機能モジュールと前記第2ランタイムモジュールとを連結する第2APIが搭載され、
前記第2管理部は、前記ユーザインターフェースを提供する画面モジュールを前記機能モジュールから抽出し、
前記第2管理部は、前記第2OS、前記第2ランタイムモジュールおよび前記第2APIをそのままにした状態で、前記画面モジュールを前記第2実行部にインストールしたり、前記第2実行部から削除したりする、請求項18に記載の管理装置。
【請求項20】
前記第2管理部は、前記機能モジュールを、第1モジュールと、第2モジュールとに区分し、
前記第2モジュールは、前記ユーザインターフェースが含まれた画面モジュール、前記ハードウェアのシミュレーション環境を生成するシミュレーションモジュール、前記画面モジュールと前記シミュレーションモジュールとを連結するメタモジュール、前記ハードウェアのティーチング情報を生成するティーチングモジュール、および拡張現実を提供する空間整合モジュールの少なくとも1つを含み、
前記第1モジュールは、前記ハードウェアが前記特定の機能を有するように前記ハードウェアを制御する制御情報を処理する制御モジュール、および前記画面モジュールと前記制御モジュールとを連動させる情報が含まれたフレームワークモジュールの少なくとも1つを含み、
前記第2管理部は、前記ハードウェアの制御器に前記第1モジュールを提供し、
前記第2管理部は、前記第2実行部に前記第2モジュールをインストールしたり、前記第2実行部にインストールされた前記第2モジュールを削除したりする、請求項18に記載の管理装置。
【請求項21】
前記第2管理部は、前記機能モジュールから前記ユーザインターフェースを有する画面モジュールを抽出し、
前記第2管理部は、前記第2実行部に前記画面モジュールをインストールし、
前記第2実行部は、前記第2管理部によって搭載された前記画面モジュールの実行により、前記表示部に前記ユーザインターフェースを表示する、請求項18または19に記載の管理装置。
【請求項22】
前記第2実行部には、前記ハードウェアを制御する制御器と通信する第2通信モジュールが搭載され、
前記第2通信モジュールは、前記ハードウェアと前記ユーザインターフェースとの連動情報を前記制御器とやり取りする、請求項21に記載の管理装置。
【請求項23】
前記機能モジュールに画面モジュール、フレームワークモジュール、制御モジュールが含まれる時、
前記第2管理部は、前記機能モジュールから前記画面モジュールを抽出し、
前記第2管理部は、前記機能モジュールから抽出された前記画面モジュールを前記第2実行部にインストールし、
前記第2管理部は、前記機能モジュールから前記フレームワークモジュールと前記制御モジュールを抽出し、
前記第2管理部は、前記ハードウェアを制御する制御器に前記フレームワークモジュールと前記制御モジュールを提供する、請求項18または19に記載の管理装置。
【請求項24】
前記第2実行部には、第2通信モジュール、画面モジュール、第2ランタイムモジュール、第2API、第2拡張API、第2動的ライブラリが搭載され、
前記第2管理部は、前記画面モジュールと区分される前記第2拡張APIまたは前記第2動的ライブラリを前記第2実行部に追加したり、前記第2実行部から削除したりし、
前記第2通信モジュールは、制御器またはマーケットサーバと通信し、
前記画面モジュールは、前記第2実行部によって実行されると、前記ユーザインターフェースを表示部に表示し、
前記第2ランタイムモジュールは、前記機能モジュールの実行環境を提供し、
前記第2APIは、前記機能モジュールと前記第2ランタイムモジュールとを連結し、
前記第2動的ライブラリは、前記ハードウェアの製造会社で前記ハードウェアの制御を目的にして制作したものであり、
前記第2拡張APIは、前記第2動的ライブラリと前記第2ランタイムモジュールとを連結する、請求項18または19に記載の管理装置。
【請求項25】
ハードウェアの制御用のユーザインターフェースが表示される管理器、を含み、
前記管理器は、マーケットサーバから取得された機能モジュールから画面モジュール、制御モジュールを抽出し、
前記管理器は、自ら備えられた第2APIをそのままにした状態で、前記第2API上に前記画面モジュールを搭載し、
前記管理器は、前記ハードウェアの制御器に既にインストールされた第1API上に搭載される前記制御モジュールを前記制御器に伝送し、
前記管理器は、
前記管理器にインストールされた拡張APIの情報を前記マーケットサーバに提供し、
前記マーケットサーバに登録された複数の機能モジュールの中で、前記マーケットサーバに提供された情報が示す拡張APIを用いる動的ライブラリを有する機能モジュールのリストを前記マーケットサーバから取得する、
管理装置。
【請求項26】
管理装置によって行われる管理方法であって、
マーケットサーバから機能モジュールを取得する取得ステップと、
前記機能モジュールに含まれた画面モジュール、制御モジュールを抽出する抽出ステップと、
既にインストールされた第2API上に前記画面モジュールを搭載するインストールステップと、
ハードウェアの制御器に既にインストールされた第1API上に搭載される前記制御モジュールを前記制御器に伝送する提供ステップと、
既にインストールされた拡張APIの情報を前記マーケットサーバに提供し、前記マーケットサーバに登録された複数の機能モジュールの中で、前記マーケットサーバに提供された情報が示す拡張APIを用いる動的ライブラリを有する機能モジュールのリストを前記マーケットサーバから取得するステップと、
を含む、管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットなどのハードウェアを管理する装置および方法に関する。
【背景技術】
【0002】
ロボット、AMR(Autonomous Mobile Robot、自律走行ロボット)などのハードウェアは多様な分野で幅広く用いられている。
【0003】
しかし、多くのハードウェアが製造会社に提供する限られた機能および操作法によって駆動されている。したがって、各種ハードウェアは限られた作業環境にのみ適用されており、熟練者によってのみ管理されている。
【0004】
これによって、各種ハードウェアの普及化が遅れている。
【0005】
韓国公開特許公報第2015-0074375号には、識別された機種別ロボットに対して統一されたユーザインターフェースを提供するロボットプラットフォーム環境が提供され、ロボットの機種別操作法や命令を知らなくても、統一されたユーザインターフェースを介して、共通したユーザ命令でロボットを制御する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】韓国公開特許第2015-0074375号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、ロボットなどのハードウェアを制御する制御器などに対して多様な機能モジュールを追加または削除することができ、多様な製造会社のハードウェアと連動可能な管理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の管理装置は、ハードウェアを制御する制御器が設けられる時、前記ハードウェアに特定の機能を付与する機能モジュールが登録されたマーケットサーバと、前記マーケットサーバから前記機能モジュールをダウンロードする管理器と、を含むことができる。前記管理器は、前記制御器に前記機能モジュールをインストールしたり、前記制御器にインストールされた前記機能モジュールを削除したりすることができる。
【0009】
本発明の管理装置は、ハードウェアに特定の機能を付与する機能モジュールを登録する登録部と、既に登録された機能モジュールのモジュール情報を管理器に提供する提供部と、を含むことができる。
【0010】
前記提供部は、前記モジュール情報がタイルド(tiled)メニュー構造で表示される表示メニューを前記管理器に提供することができる。
【0011】
前記提供部は、前記タイルドメニューを形成する特定のタイルが選択されると、選択された特定のタイルに配置された特定の機能モジュールの機能分類結果および詳細情報の少なくとも1つを前記管理器に追加的に提供することができる。
【0012】
前記管理器にインストールされた第2拡張API(Application Programming Interface)の情報を収集する収集部が設けられる。
【0013】
前記第2拡張APIを用いる第2動的ライブラリを有する第2機能モジュールを、既に登録された複数の機能モジュールの中から検索する検索部が設けられる。
【0014】
前記提供部は、前記検索部によって検索された前記第2機能モジュールのリストを前記管理器に提供することができる。
【0015】
前記管理器によって管理される制御器にインストールされた第1拡張API(Application Programming Interface)の情報を収集する収集部が設けられる。
【0016】
前記第1拡張APIを用いる第1動的ライブラリを有する第1機能モジュールを、既に登録された複数の機能モジュールの中から検索する検索部が設けられる。
【0017】
前記提供部は、前記検索部によって検索された前記第1機能モジュールのリストを前記管理器に提供することができる。
【0018】
前記機能モジュールを対象とするクライアントの評価点数、ダウンロード回数、工程便宜性の少なくとも1つを用いて前記機能モジュールに点数を付与する評価部が設けられる。
【0019】
前記提供部は、前記制御器に提供される前記モジュール情報が複数であれば、各機能モジュールに付与された点数に応じて優先順位を決定することができる。
【0020】
前記提供部は、前記優先順位に応じて順に整列された複数の前記モジュール情報を前記管理器に提供することができる。
【0021】
前記管理器にインストールされた特定の機能モジュールのインストール情報を収集する収集部が設けられる。
【0022】
前記インストール情報と既に登録された機能モジュールのモジュール情報との比較により前記特定の機能モジュールのアップデートを行うアップデート部が設けられる。
【0023】
本発明の管理装置は、ハードウェアに特定の機能を付与する機能モジュールが搭載され、前記機能モジュールの実行によって前記ハードウェアを制御する第1実行部と、前記第1実行部に搭載された機能モジュールのうち、変動可能な変動モジュールを管理する第1管理部と、を含むことができる。
【0024】
前記第1実行部に搭載される機能モジュールは、前記変動モジュールと、前記第1実行部に固定搭載される固定モジュールとに区分される。
【0025】
前記第1管理部は、前記固定モジュールはそのままにした状態で、前記変動モジュールを追加または削除することができる。
【0026】
前記固定モジュールは、管理器またはマーケットサーバと通信する第1通信モジュール、前記ハードウェアの制御情報を解析する解析モジュール、および前記解析モジュールによって解析された制御情報を前記ハードウェアに互換するように変換する変換モジュールの少なくとも1つを含むことができる。
【0027】
前記変動モジュールは、前記制御情報を生成する制御モジュール、およびユーザインターフェースが含まれた画面モジュールと前記制御モジュールとを連結するフレームワークモジュールの少なくとも1つを含むことができる。
【0028】
管理器またはマーケットサーバと通信する第1通信モジュール、前記ハードウェアの制御情報を解析する解析モジュール、前記解析モジュールによって解析された制御情報を前記ハードウェアに互換するように変換する変換モジュールが設けられる。
【0029】
前記第1管理部は、前記第1通信モジュール、前記解析モジュールおよび前記変換モジュールをそのままにした状態で、前記第1実行部に他の機能モジュールを追加したり、前記第1実行部に搭載された他の機能モジュールを削除したりすることができる。
【0030】
前記第1実行部には、第1OS(Operating System、オペレーティングシステム)、ロボットOS(Operating System、オペレーティングシステム)、および前記第1OSまたは前記ロボットOSにリアルタイム性を提供するリアルタイムOS(RTOS、Real Time Operating System)の少なくとも1つが追加的に搭載されてもよい。
【0031】
前記機能モジュールの実行環境に相当する第1ランタイム(runtime)モジュール、前記機能モジュールと前記第1ランタイムモジュールとを連結する第1API(Application Program Interface)の少なくとも1つが追加的に搭載されてもよい。
【0032】
前記第1実行部には、第1通信モジュール、解析モジュール、変換モジュール、制御モジュール、フレームワークモジュール、第1ランタイム(runtime)モジュール、第1API(Application Program Interface)、第1拡張API、第1動的ライブラリが搭載される。
【0033】
前記第1管理部は、前記制御モジュールおよび前記フレームワークモジュールと区分される前記第1拡張APIまたは前記第1動的ライブラリを前記第1実行部に追加したり、前記第1実行部から削除したりすることができる。
【0034】
前記第1通信モジュールは、管理器またはマーケットサーバと通信可能である。
【0035】
前記解析モジュールは、前記ハードウェアの制御情報を解析することができる。
【0036】
前記変換モジュールは、前記解析モジュールによって解析された制御情報を前記ハードウェアに互換するように変換することができる。
【0037】
前記制御モジュールは、前記制御情報を生成することができる。
【0038】
前記フレームワークモジュールは、ユーザインターフェースが含まれた画面モジュールと前記制御モジュールとを連結することができる。
【0039】
前記第1ランタイムモジュールは、前記機能モジュールの実行環境を提供することができる。
【0040】
前記第1APIは、前記機能モジュールと前記第1ランタイムモジュールとを連結することができる。
【0041】
前記第1動的ライブラリは、前記ハードウェアの製造会社で前記ハードウェアの制御を目的にして制作したものであってもよい。
【0042】
前記第1拡張APIは、前記第1動的ライブラリと前記第1ランタイムモジュールとを連結することができる。
【0043】
前記機能モジュールには、画面モジュール、フレームワークモジュール、制御モジュールが設けられる。
【0044】
前記画面モジュールには、ユーザインターフェースが含まれる。
【0045】
前記制御モジュールには、前記ハードウェアが前記特定の機能を有するように前記ハードウェアを制御する制御情報が含まれる。
【0046】
前記フレームワークモジュールには、前記画面モジュールと前記制御モジュールとを連動させる情報が含まれる。
【0047】
前記第1管理部は、前記画面モジュール、前記フレームワークモジュール、前記制御モジュールのうち、前記フレームワークモジュールと前記制御モジュールを前記第1実行部に搭載することができる。
【0048】
前記機能モジュールのユーザインターフェースが表示される管理器と通信する第1通信モジュールが設けられる。
【0049】
前記第1通信モジュールは、前記ハードウェアが前記特定の機能を有するようにする前記ハードウェアの制御情報を生成する制御モジュール、および前記制御モジュールと前記ユーザインターフェースとを連動させるフレームワークモジュールを前記管理器から受信することができる。
【0050】
前記第1管理部は、前記第1通信モジュールを介して受信された前記制御モジュールと前記フレームワークモジュールを前記第1実行部にインストールすることができる。
【0051】
前記管理器には、第2実行部と、第2管理部とが設けられる。
【0052】
前記第2管理部は、マーケットサーバからダウンロードした機能モジュールに含まれた画面モジュール、前記フレームワークモジュール、前記制御モジュールを区分することができる。
【0053】
前記第2実行部には、前記第1通信モジュールと通信する第2通信モジュール、および前記第2管理部によって抽出された前記画面モジュールが搭載される。
【0054】
前記第2管理部は、前記第2通信モジュールを介して前記制御モジュールおよび前記フレームワークモジュールを前記第1管理部に伝達することができる。
【0055】
前記第1管理部は、前記第2管理部から伝達された前記制御モジュールおよび前記フレームワークモジュールを前記第1実行部にインストールすることができる。
【0056】
前記画面モジュールは、前記フレームワークモジュールによって前記制御モジュールと連動する前記ユーザインターフェースを前記管理器の表示部に表示することができる。
【0057】
前記第1通信モジュールと前記第2通信モジュールは、前記ユーザインターフェースと前記制御モジュールとの連動情報をやり取りすることができる。
【0058】
前記第1通信モジュールと前記第2通信モジュールとが一体に形成される。
【0059】
前記第1実行部と前記第2実行部とが一体に形成される。
【0060】
前記第1管理部と前記第2管理部とが一体に形成される。
【0061】
本発明の管理装置は、ハードウェアに特定の機能を付与する機能モジュールを取得する第2管理部と、前記機能モジュールのうち、前記特定の機能を示すユーザインターフェースを表示する第2実行部と、前記ユーザインターフェースが表示される表示部と、を含むことができる。
【0062】
前記第2実行部には、第2OS(Operating System、オペレーティングシステム)、前記機能モジュールの実行環境に相当する第2ランタイム(runtime)モジュール、および前記機能モジュールと前記第2ランタイムモジュールとを連結する第2API(Application Program Interface)が搭載される。
【0063】
前記第2管理部は、前記ユーザインターフェースを提供する画面モジュールを前記機能モジュールから抽出することができる。
【0064】
前記第2管理部は、前記第2OS、前記第2ランタイムモジュールおよび前記第2APIをそのままにした状態で、前記画面モジュールを前記第2実行部にインストールしたり、前記第2実行部から削除したりすることができる。
【0065】
前記第2管理部は、前記機能モジュールを、第1モジュールと、第2モジュールとに区分することができる。
【0066】
前記第2モジュールは、前記ユーザインターフェースが含まれた画面モジュール、前記ハードウェアのシミュレーション環境を生成するシミュレーションモジュール、前記画面モジュールと前記シミュレーションモジュールとを連結するメタモジュール、前記ハードウェアのティーチング(teaching)情報を生成するティーチングモジュール、および拡張現実を提供する空間整合モジュールの少なくとも1つを含むことができる。
【0067】
前記第1モジュールは、前記ハードウェアが前記特定の機能を有するように前記ハードウェアを制御する制御情報を処理する制御モジュール、および前記画面モジュールと前記制御モジュールとを連動させる情報が含まれたフレームワークモジュールの少なくとも1つを含むことができる。
【0068】
前記第2管理部は、前記ハードウェアの制御器に前記第1モジュールを提供することができる。
【0069】
前記第2管理部は、前記第2実行部に前記第2モジュールをインストールしたり、前記第2実行部にインストールされた前記第2モジュールを削除したりすることができる。
【0070】
前記第2管理部は、前記機能モジュールから前記ユーザインターフェースを有する画面モジュールを抽出することができる。
【0071】
前記第2管理部は、前記第2実行部に前記画面モジュールをインストールすることができる。
【0072】
前記第2実行部は、前記第2管理部によって搭載された前記画面モジュールの実行により、前記表示部に前記ユーザインターフェースを表示することができる。
【0073】
前記第2実行部には、前記ハードウェアを制御する制御器と通信する第2通信モジュールが搭載される。
【0074】
前記第2通信モジュールは、前記ハードウェアと前記ユーザインターフェースとの連動情報を前記制御器とやり取りすることができる。
【0075】
前記機能モジュールに画面モジュール、フレームワークモジュール、制御モジュールが含まれる時、前記第2管理部は、前記機能モジュールから前記画面モジュールを抽出することができる。
【0076】
前記第2管理部は、前記機能モジュールから抽出された前記画面モジュールを前記第2実行部にインストールすることができる。
【0077】
前記第2管理部は、前記機能モジュールから前記フレームワークモジュールと前記制御モジュールを抽出することができる。
【0078】
前記第2管理部は、前記ハードウェアを制御する制御器に前記フレームワークモジュールと前記制御モジュールを提供することができる。
【0079】
前記第2実行部には、第2通信モジュール、画面モジュール、第2ランタイム(runtime)モジュール、第2API(Application Program Interface)、第2拡張API、第2動的ライブラリが搭載される。
【0080】
前記第2管理部は、前記画面モジュールと区分される前記第2拡張APIまたは前記第2動的ライブラリを前記第2実行部に追加したり、前記第2実行部から削除したりすることができる。
【0081】
前記第2通信モジュールは、制御器またはマーケットサーバと通信可能である。
【0082】
前記画面モジュールは、前記第2実行部によって実行されると、前記ユーザインターフェースを表示部に表示することができる。
【0083】
前記第2ランタイムモジュールは、前記機能モジュールの実行環境を提供することができる。
【0084】
前記第2APIは、前記機能モジュールと前記第2ランタイムモジュールとを連結することができる。
【0085】
前記第2動的ライブラリは、前記ハードウェアの製造会社で前記ハードウェアの制御を目的にして制作したものであってもよい。
【0086】
前記第2拡張APIは、前記第2動的ライブラリと前記第2ランタイムモジュールとを連結することができる。
【0087】
本発明の管理装置は、ハードウェア制御用のユーザインターフェースが表示される管理器、を含むことができる。
【0088】
前記管理器は、マーケットサーバから取得された機能モジュールから画面モジュール、制御モジュールを抽出することができる。
【0089】
前記管理器は、自ら備えられた第2APIをそのままにした状態で、前記第2API上に前記画面モジュールを搭載することができる。
【0090】
前記管理器は、前記ハードウェアの制御器に既にインストールされた第1API上に搭載される前記制御モジュールを前記制御器に伝送することができる。
【0091】
本発明の管理方法は、マーケットサーバから機能モジュールを取得する取得ステップと、前記機能モジュールに含まれた画面モジュール、制御モジュールを抽出する抽出ステップと、既にインストールされた第2API上に前記画面モジュールを搭載するインストールステップと、前記ハードウェアの制御器に既にインストールされた第1API上に搭載される前記制御モジュールを前記制御器に伝送する提供ステップと、を含むことができる。
【発明の効果】
【0092】
本発明の管理装置は、ハードウェアに特定の機能を付与する機能モジュールが入手すると、機能モジュールに含まれた画面モジュール、制御モジュール、フレームワークモジュールを区分して管理することができる。
【0093】
例えば、管理装置は、ユーザが操作する管理器に画面モジュールをインストールし、ハードウェアの制御器に制御モジュール、フレームワークモジュールをインストールすることができる。
【0094】
管理器に対する画面モジュールのインストールは、管理器に搭載されたOS、API、ランタイムモジュールなどをそのままにした保持状態で行われることができる。制御器に対する制御モジュール、フレームワークモジュールのインストールは、制御器に搭載されたOS、API、ランタイムモジュールなどをそのままにした保持状態で行われることができる。
【0095】
つまり、本発明の管理装置は、管理器に機能モジュールの画面モジュールをインストールし、制御器に機能モジュールの制御モジュールおよびフレームワークモジュールをインストールすることにより、ハードウェアの制御器および管理器に特定の機能モジュールをインストールすることができる。あるいは、管理装置は、管理器から画面モジュールを除去し、制御器から制御モジュールおよびフレームワークモジュールを削除することにより、制御器および管理器から特定の機能モジュールを削除することができる。
【0096】
制御器および管理器にインストールされた特定の機能モジュールは、ハードウェアが新たな機能を有するようにロボットを制御することができる。
【0097】
本発明によれば、機能モジュールに画面モジュール、制御モジュール、フレームワークモジュールが含まれた場合、機能モジュールの制作業者に関係なくロボット、AMRなどのハードウェアに特定の機能を付与したり、当該ハードウェアから特定の機能を削除したりすることができる。
【0098】
本発明によれば、機能モジュールに画面モジュール、制御モジュール、フレームワークモジュールが含まれる範囲内で、多様なソフトウェア開発プラットフォーム、SDK(Software Development Kit)などにより多様な機能モジュールが制作できる。
【0099】
これはつまり、ハードウェアの製造会社、制御器の製造会社、管理器の製造会社と無関係な多様な周辺機器業者、ソフトウェア業者においても当該ハードウェアに新たな機能を付与する機能モジュールの制作が可能であることを意味することができる。
【0100】
このような機能モジュールの開発環境によれば、多様な機能が迅速にハードウェアの使用クライアントに提供できる。また、ハードウェアの製造会社に集中した機能モジュールの開発ロード(load)が多様なハードウェア製造会社、多様な制御器製造会社、多様な管理器製造会社、多様なソフトウェア業者に分散することができる。
【0101】
本発明によれば、ハードウェアの機能別の問題点が当該機能を有する機能モジュールの提供業者によって解決される環境が設けられることができる。つまり、ハードウェアの統合的な問題の対応ではなく、ハードウェアの機能別に問題の対応が可能な環境が設けられることができる。これはつまり、ハードウェアに付与された各機能別に独立した問題点の解決環境が提供されることを意味することができる。
【0102】
機能モジュールの提供業者ではハードウェアの他の問題点を排除し、単に自ら提供した機能モジュールの問題点の改善にのみ集中すればよいので、機能モジュールの安定性も改善できる。これにより、ハードウェアのクライアントは既存のハードウェアを対象に新たに追加される特定の機能を安定的に使用することができる。
【図面の簡単な説明】
【0103】
【
図3】管理器に表示される表示メニューを示す概略図である。
【
図5】制御器に搭載されたソフトウェア構造を示す概略図である。
【
図7】管理器に搭載されたソフトウェア構造を示す概略図である。
【
図8】表示部により表示されるユーザインターフェースの一例を示す概略図である。
【
図9】本発明の管理装置の動作を示す概略図である。
【
図10】本発明の管理装置が適用された環境において、ハードウェアの製造会社と機能モジュールの制作業者との間の業務領域を示す概略図である。
【
図12】比較実施例の環境においてハードウェア製造会社の業務領域を示す概略図である。
【
図13】比較実施例のソフトウェア構造を示す概略図である。
【
図14】本発明の管理方法を示すフローチャートである。
【
図15】機能モジュールをインストールする過程を示すフローチャートである。
【
図16】機能モジュールを削除する過程を示すフローチャートである。
【
図17】本発明の実施例による、コンピューティング装置を示す図である。
【発明を実施するための形態】
【0104】
以下、添付した図面を参照して、本発明の実施例について、本発明の属する技術分野における通常の知識を有する者が容易に実施できるように詳細に説明する。しかし、本発明は種々の異なる形態で実現可能であり、ここで説明する実施例に限定されない。そして、図面において、本発明を明確に説明するために説明と関係のない部分は省略し、明細書全体にわたって類似の部分については類似の図面符号を付した。
【0105】
本明細書において、同一の構成要素について重複した説明は省略する。
【0106】
また、本明細書において、ある構成要素が他の構成要素に「連結されて」いるかあるいは「接続されて」いると言及された時には、その他の構成要素に直接的に連結または接続されていてもよいが、それらの間に別の構成要素が存在してもよいことが理解されなければならない。これに対し、本明細書において、ある構成要素が他の構成要素に「直接連結されて」いるかあるいは「直接接続されて」いると言及された時には、中間に他の構成要素が存在しないことが理解されなければならない。
【0107】
また、本明細書で使われる用語は単に特定の実施例を説明するために使われるものであって、本発明を限定しようとする意図で使われるものではない。
【0108】
さらに、本明細書において、単数の表現は、文脈上明らかに異なって意味しない限り、複数の表現を含むことができる。
【0109】
また、本明細書において、「含む」または「有する」などの用語は、明細書に記載された特徴、数字、段階、動作、構成要素、部品、またはこれらの組み合わせが存在することを指定しようとするものに過ぎず、1つまたはそれ以上の他の特徴、数字、段階、動作、構成要素、部品またはこれらの組み合わせの存在または付加の可能性を予め排除しないことが理解されなければならない。
【0110】
さらに、本明細書において、「および/または」という用語は、複数の記載項目の組み合わせまたは複数の記載項目のいずれかの項目を含む。本明細書において、「AまたはB」は、「A」、「B」、または「AとBのすべて」を含むことができる。
【0111】
また、本明細書において、本発明の要旨をあいまいにしうる公知の機能および構成に関する詳細な説明は省略される。
【0112】
図1は、本発明の管理装置100を示す概略図である。
【0113】
図1に示された管理装置100は、制御器110と、管理器120と、マーケットサーバ190とを含むことができる。
【0114】
制御器110は、ハードウェア90を制御することができる。ハードウェア90は、制御器110から提供された制御情報、制御信号によって制御されるロボット、AMR(Autonomous Mobile Robot)などを含むことができる。
【0115】
制御器110は、制御プログラムなどのソフトウェアと、当該ソフトウェアが実行される処理装置とが結合されたものであってもよい。一例として、ロボットの制御情報を生成する制御プログラムが実行可能に搭載された処理装置が制御器110に相当できる。
【0116】
マーケットサーバ190には、ハードウェア90に特定の機能を付与する機能モジュールf(制御モジュールf1、フレームワークモジュールf2などを含む)が登録される。機能モジュールfは、ハードウェア90の動作方式および動作順序の少なくとも1つを決定することができる。本明細書に記載の「モジュール」は、特定の機能を行うプログラム自体を意味するか、当該プログラムが搭載され、当該プログラムの実行または演算により特定の機能を行うプロセッサ、演算器、半導体チップなどを意味することができる。機能モジュールfは、ソフトウェアによって制御されるロボット、AMRなどのハードウェア(ユニット、電子機器)に特定の機能を付与するモジュールを含むか、ユーザに便宜機能を提供するモジュールを含むことができる。
【0117】
同一のハードウェア90であっても、ハードウェア90を制御する制御器110によって、ハードウェア90は多様な機能を有することができる。
【0118】
一例として、制御器110によりモノを持ち上げたり運搬したりする制御情報が提供されると、ハードウェア90に相当するロボットは、モノを運搬する機能を有することができる。制御器110により溶接に必要な情報が提供されると、ロボットは、モノを溶接する機能を有することができる。もちろん、機能によってハードウェア的にもロボットに設置されたグリッパ(gripper)、マニピュレータ(manipulator)などのハードウェア的エンドエフェクタが溶接機のような要素に代替されることが前提になりうる。
【0119】
マーケットサーバ190には、ロボットがモノの運搬機能を有するようにロボットを制御する機能モジュールが登録される。また、マーケットサーバ190には、ロボットがモノを溶接する機能を有するようにロボットを制御する機能モジュールが登録される。
【0120】
この時、機能モジュールfは、ロボットなどのハードウェア90が特定の機能(例えば、運搬、溶接など)を行うようにロボットを制御するプログラム、ソフトウェアなどを含むことができる。他の観点からみると、機能モジュールfは、ハードウェア90が特定の機能を行うのに必要な制御情報を生成することができる。
【0121】
ロボットに特定の機能を付与するためには、ロボットが当該機能を行うようにする機能モジュールをマーケットサーバ190からダウンロードし、ダウンロードした機能モジュールを制御器110にインストールする必要がある。このために、管理器120が用いられる。ダウンロードした機能モジュールを構成する画面モジュールは、管理器にインストールされる。ダウンロードした機能モジュールを構成するフレームワークモジュールと制御モジュールは、制御器にインストールされる。制御モジュールを介してハードウェアが制御できる。
【0122】
管理器120は、制御器110に機能モジュールをインストールしたり、制御器110にインストールされた機能モジュールを削除したりすることができる。管理器120は、パーソナルコンピュータ、デスクトップコンピュータ、スマートフォン、タブレットPC(Tablet PC)、ハードウェア90専用のコントローラなどを含むことができる。
【0123】
管理器120が機能モジュールをインストールまたは削除するなどの機能モジュール管理が一見容易に見えるが、現実的に容易に達成しにくいことを喚起しておく。
【0124】
一般的に、ハードウェア90の製造会社では、ハードウェア90の制御のための基本プログラムをクライアントに提供することができる。しかし、当該基本プログラムは、機能モジュールの分離が難しい構造を取っている。つまり、基本プログラムには機能モジュールfのような機能を行うようにするプログラムコードが含まれていることが明らかである。しかし、基本プログラムから機能モジュールを削除したり、基本プログラムに新たな機能モジュールを追加したりすることは非常に難しい。なぜならば、製造会社で一般的に提供する基本プログラムは、分離可能な機能モジュール自体がない構造、例えば、特定の機能が基本プログラム全体に融合した構造を取っているからである。
【0125】
したがって、既存のハードウェア90のクライアントは新たな機能が必要な場合、新たな機能を有するハードウェア90を新たに購入しなければならない状況におかれることがある。あるいは、クライアントはハードウェア90の製造会社に対して新たな機能の追加またはアップデートを要請することができる。
【0126】
製造会社側でクライアントの要請を積極的に受け入れるとしても、新たな機能のアップデートに多くの時間がかかる問題がある。なぜならば、新たな機能の追加のために、機能関連コードとともに、ロボットOS、ランタイム(runtime)などが含まれた基本プログラムを全般的に修正したりアップデートしたりする必要があるからである。ロボットOS、ランタイム、機能関連コードが組み込まれた基本プログラムがハードウェアの制御に用いられる場合、外部の他の業者においても当該ハードウェアの機能拡張を行える方法がない。他の観点からみると、溶接機能がないロボットに当該機能を追加する作業は、ロボットの製造会社によってのみ行われるのが現実である。
【0127】
また、機能のアップデート過程で基本プログラムが全般的に修正されると、新たに発生する各種バグによってソフトウェアのエラー統制が難しいことがある。
【0128】
結局、ハードウェア90に既存の機能と異なる特定の機能を新たに追加することは現実的に難しい。また、新たな機能の追加が前提になる既存の機能の削除も現実的に難しい。
【0129】
各種ハードウェア90に新たな機能を追加するために、一旦、基本プログラムから機能関連部分、コードを分離させる必要がある。当該目的を達成するために、本発明の管理装置100は、新たな構造の機能モジュールfを提案する。
【0130】
一例として、本発明に記載の機能モジュールfは、制御モジュールf1、フレームワークモジュールf2、画面モジュールf3の少なくとも1つを含むことができる。好ましくは、機能モジュールfは、制御モジュールf1、フレームワークモジュールf2、画面モジュールf3をすべて含むのが良い。制御モジュールf1、フレームワークモジュールf2、画面モジュールf3は、プログラムまたはソフトウェアの形態を有することができる。
【0131】
特定の作業を行うハードウェア90の機能を実現するために、制御モジュールf1は、当該作業を行うようにハードウェア90を制御することができる。結果的に、制御モジュールf1は、ハードウェア90の制御情報を生成したり、ハードウェア90をターゲットに制御情報を出力したりすることができる。
【0132】
画面モジュールf3は、ハードウェア90の制御動作を表示部125に視覚的に表示することができる。クライアントは、表示部125により、ハードウェア90の動作、ハードウェア90の状態を認知することができる。あるいは、画面モジュールf3は、クライアントの制御値の入力を受け、制御モジュールに伝達することができる。
【0133】
フレームワークモジュールf2は、制御モジュールf1と画面モジュールf3とを連結させることができる。
【0134】
フレームワークモジュールf2は、制御モジュールf1と画面モジュールf3の機能に相当する部分の設計と実現を再使用可能に協業化された形態で提供するソフトウェア環境を含むことができる。つまり、制御モジュールと画面モジュールは、同一のフレームワークモジュールを用いて各自の機能を行うことができる。
【0135】
制御モジュールf1と画面モジュールf3は、フレームワークモジュールf2を介して互いに連動可能である。
【0136】
一例として、クライアントが表示部125に表示された仮想の3次元空間上でロボットを動かすと、当該動きに合わせて実際のロボットが動くのが有利であり得る。この時、表示部125上で動いたロボットの動きが実際のロボットを動かすのに必要な各種制御値(関節の角度変化、角速度変化など)に変換されなければならない。この時の変換は、フレームワークモジュールで行われるか、制御モジュールで行われる。当該変換が制御モジュールで行われる場合、フレームワークモジュールは、画面モジュールから伝達された情報の形式を、制御モジュールで要求する形式に変換する機能を行うことができる。
【0137】
これと反対の動作も正常に行われるのが良い。設定作業を実行中のロボットの動作が、表示部125に表示される仮想の3次元空間にリアルタイムに表示されるのが良い。このために、実際のロボットの動きが仮想の3次元空間上の座標値などに変換される必要があり、この時の変換がフレームワークモジュールまたは制御モジュールによって行われる。当該変換が制御モジュールで行われる場合、フレームワークモジュールは、制御モジュールから伝達された情報の形式を、画面モジュールで要求する形式に変換する機能を行うことができる。
【0138】
現実的に、フレームワークモジュールは、画面モジュールと制御モジュールで共通して用いる支援プログラム、コンパイラ、インタープリタ(interpreter)ライブラリ、コードライブラリ、ツールセットなどのように、ソリューションの開発を可能にする様々な互いに異なるコンポーネントを含むことができる。共通のコンポーネントを用いる画面モジュールと制御モジュールは、互いに互換可能な情報をやり取りすることができる。したがって、フレームワークモジュールは、画面モジュールと制御モジュールとの間の異種情報を変換するものと取り扱われる。
【0139】
以上の制御モジュールf1、フレームワークモジュールf2、画面モジュールf3をすべて含む機能モジュールfは、実行環境に相当するランタイム(runtime)、OS(Operating System)などの基本要素を除き、ロボットに特定の機能を付与するすべての要素を有することになる。特定の機能の付与は、特定の機能を達成する制御情報をハードウェア90に提供することを意味するか、当該制御情報を出力する機能モジュールfをロボット、AMR、マニピュレータなどのハードウェアの管理器または制御器にインストール、搭載することを意味することができる。
【0140】
本発明によれば、機能モジュールが、制御器110、管理器120のOSなどの基本要素から分離可能な状態になりうる。したがって、ハードウェア90の製造会社からハードウェア90の特性情報が提供されれば、ハードウェア90の製造会社のみならず、多様な業者においても機能モジュールの制作が可能である。
【0141】
多様な業者で制作された機能モジュールfは、マーケットサーバ190に登録される。
【0142】
クライアントは管理器120の表示部125および入力部を用いてマーケットサーバ190に接続し、マーケットサーバ190から必要な機能を提供する機能モジュールをダウンロードすることができる。
【0143】
表示部125は、各種情報が視覚的に表示される各種ディスプレイを含むことができる。入力部は、クライアントの情報の入力を受けるキーボード、マウス、タッチスクリーンなどを含むことができる。
【0144】
管理器120は、機能モジュールの分析により画面モジュール、フレームワークモジュール、制御モジュールを抽出することができる。
【0145】
管理器120は、抽出された画面モジュールf3を、一旦、管理器120に自らインストールすることができる。これにより、管理器120は、新たにダウンロードした機能モジュールのモニタリング環境を提供することができる。
【0146】
一方、管理器120は、抽出されたフレームワークモジュールf2と制御モジュールf1を制御器110に伝達することができる。もし、制御器110に既にインストールされた状態の前のフレームワークモジュールと前の制御モジュールが新しいフレームワークモジュールf2、新しい制御モジュールf1と衝突すれば、管理器120は、前のフレームワークモジュールと前の制御モジュールを制御器110から削除したり、当該削除作業を制御器110に要請したりすることができる。一般的に、新たに付加される機能は、ハードウェア的要素と一対一対応する場合が多いので、既存の機能と衝突する可能性が高い。したがって、新たな機能モジュールのインストールの際に、既存の機能モジュールは削除処理されることが好ましい。ハードウェアに関連づけられていない機能がありうるので、新たに付加される機能であっても、ハードウェアに必ずしも一対一に対応しないことを改めて喚起しておく。
【0147】
管理器120または制御器110は、管理器120によって制御器110へ伝達されたフレームワークモジュールf2と制御モジュールf1を制御器110にインストールすることができる。
【0148】
以上の過程により、新たな機能を有するハードウェア90の作業環境、新たな機能の観点から、当該ハードウェア90をモニタリングする作業環境が完備される。
【0149】
一方、管理器120と制御器110とは一体に形成される。この場合、表示部125および入力部も、ハードウェア90の制御器110に一体に形成される。
【0150】
本発明の管理装置100によれば、新たに付与された機能に異常が発生する場合、機能モジュールに含まれたエラーの修正だけで当該問題が解消できる。また、各業者では、ハードウェア90の制御に関連するOS、ランタイムなどが含まれたすべての種類のソフトウェアを開発する必要なく機能モジュールさえ開発すれば十分である。したがって、各業者は、機能モジュールの開発にのみすべての力量を投入することができ、これによって機能モジュールの品質、エラー発生率が改善できる。
【0151】
一方、機能モジュールが制御器のOS、ランタイム、APIなどの基本要素から分離可能な状態で制作されると、新たな機能の追加および削除が可能であり、多様な業者が機能モジュールの制作に参加することができる。
【0152】
しかし、基本要素から分離される機能モジュールで表現する情報の種類、表現方式が基本要素で取り扱う情報の種類、表現方式と異なりうる。このような問題を解消するために、制御器110には、解析モジュールと変換モジュールが追加的に搭載されてもよい。
【0153】
例えば、解析モジュールは、制御モジュールから多関節ロボットのエンドエフェクタをy軸方向に10cm動かすという制御情報を入手することができる。
【0154】
解析モジュールは、エンドエフェクタがy軸方向に10cmだけ動くのに必要なロボットアームの回転角度、回転方向などを算出することができる。つまり、解析モジュールは、入手された制御情報を実行するために必要な具体的なロボットの動作情報を算出することができる。解析モジュールから算出された回転角度、動きなどの動作情報は、解析モジュールによって「解析された制御情報」と称することができる。解析された制御情報は、変換モジュールに提供される。
【0155】
変換モジュールは、解析された制御情報を、各製造会社のロボット(ハードウェア)の入力を受けることが可能なデータ形式に変換し、当該ロボットに提供することができる。当該ロボットは、変換モジュール15から入力されたデータに応じてロボットアームを回転させ、当該回転によって、ロボットアームの端部に設置されたエンドエフェクタはy軸方向に10cmだけ動くことができる。
【0156】
以上の解析モジュールおよび変換モジュールによれば、機能モジュールの製造業者は、エンドエフェクタをy軸方向に10cmだけ動かすために、ロボットアームをどの方向にどの角度だけ回転させなければならないかを知る必要がない。ただし、各業者は、最終的な制御情報、例えば、エンドエフェクタをy軸方向に10cmだけ動かすという情報を生成する制御モジュール、これに関連するフレームワークモジュール、画面モジュールを制作すれば十分である。
【0157】
マーケットサーバ190、制御器110、管理器120について詳細に説明する。
【0158】
図2は、マーケットサーバ190を示す概略図である。
【0159】
マーケットサーバ190は、各業者で制作した機能モジュールを登録し、配布する管理を行う面から、「管理装置」と称される。
【0160】
マーケットサーバ190は、登録部191と、提供部193と、収集部195と、検索部197と、評価部198と、アップデート部199とを含むことができる。
【0161】
登録部191は、ハードウェア90に特定の機能を付与する機能モジュールfを登録することができる。
【0162】
一例として、登録部191は、マーケットサーバ190にログインした業者が機能モジュールfを登録できる権限を有するユーザであるかを確認することができる。
【0163】
業者の無欠性が立証されると、登録部191は、業者に登録部191に機能モジュールfを登録できる権限を提供することができる。
【0164】
業者は、ハードウェア90の製造会社に公開したハードウェア90の特性情報、当該製造会社で提供したOS、ランタイム(runtime)モジュール、API(Application Program Interface)などを背景に機能モジュールを制作することができる。あるいは、業者は、ハードウェア90の製造者が提示したガイドラインによって機能モジュールを制作することができる。例えば、業者は、制御モジュールf1、フレームワークモジュールf2、画面モジュールf3を有する機能モジュールfを制作することができる。
【0165】
当該機能モジュールfは、登録部191によって登録され、ハードウェア90のクライアントに公開される。
【0166】
提供部193は、既に登録された機能モジュールのモジュール情報を管理器120に提供することができる。
【0167】
登録部191には、複数の機能モジュールが登録される。クライアントは、登録部191に登録された複数の機能モジュールのうち、自ら所望する機能を提供する機能モジュールを取捨選択する必要がある。
【0168】
提供部193は、機能モジュール自体を管理器120に提供する代わりに、クライアントの取捨選択ができるように、機能モジュールの情報に相当するモジュール情報を管理器120に提供することができる。
【0169】
モジュール情報は、機能モジュールの識別情報、機能モジュールが支援するハードウェア90の識別情報、機能モジュールが提供する機能の情報、機能モジュールが適用可能な作業の情報の少なくとも1つを含むことができる。
【0170】
図3は、管理器120に表示される表示メニューを示す概略図である。
【0171】
提供部193は、モジュール情報を多様な表示形式で提供することができる。
【0172】
一例として、提供部193は、モジュール情報がタイルド(tiled)メニュー構造で表示される表示メニューtmを管理器120に提供することができる。管理器は、表示部125により表示メニューtmを表示することができる。
【0173】
提供部193は、前記タイルドメニューを形成する特定のタイルが選択されると、選択された特定のタイルに配置された特定の機能モジュールの機能分類結果(機能モジュールが提供する機能の情報分類)および詳細情報の少なくとも1つを管理器120に追加的に提供することができる。詳細情報は、機能モジュールが適用可能な作業の情報、機能モジュールの細部作動方法、作動順序などを含むことができる。
【0174】
図3の表示メニューtmには、クライアントの検索結果として、7つの機能モジュールが表示されている。7つの機能モジュールそれぞれは、サムネイルを有し、当該サムネイルは、四角形など閉曲線形状のタイルを含むことができる。
【0175】
表示メニューtmにより表示される7つのタイルt1、t2、t3、t4、t5、t6、t7の中からクライアントが第1タイルt1を選択すれば、第1タイルt1の詳細情報が表示メニューtmに表示される。表示メニューtmには、クライアントによって選択されたタイルが示す機能モジュールの詳細情報が表示される詳細メニューitが設けられる。
【0176】
収集部195は、管理器120にインストールされた第2拡張API26(Application Programming Interface)の情報を収集することができる。
【0177】
APIは、オペレーティングシステム(OS)とアプリケーションプログラムとの間の通信に用いられる言語やメッセージ形式をいう。APIは、プログラム内で実行のために特定のサブルーチンに連結を提供する関数を呼び出すもので実現される。そのため、1つのAPIは、関数の呼び出しによって要請される作業を行うために既に存在するかあるいは連結されなければならないいくつかのプログラムモジュールやルーチンを有することができる。
【0178】
拡張APIは、基本的に搭載されたAPIに不足な要素が追加されたものであってもよい。拡張APIは、機能モジュールを製造する業者またはハードウェア90の製造会社によって制作される。
【0179】
検索部197は、第2拡張API26を用いる第2動的ライブラリ20を有する第2機能モジュールを、既に登録された複数の機能モジュールの中から検索することができる。
【0180】
動的ライブラリ(Dynamic Linking Library)は、オペレーティングシステム本来の機能でソフトウェアのルーチン(コンピュータが特定の機能を行えるように設けられた一連の命令群)をいくつかのファイルに分けてディスクに置き、必要なものだけを実行メモリに載せて用いるためのファイルであってもよい。
【0181】
機能モジュールの正常動作のために、プラットフォーム(API、ランタイム、ライブラリ)で提供するもの以外の機能が必要であり得る。動的ライブラリと拡張APIを介して、機能モジュールが必要とするソフトウェア的機能が提供される。
【0182】
例えば、後述する変換モジュール15の場合、変換動的ライブラリであるROSパッケージ(package)が必要である。
【0183】
変換動的ライブラリは、拡張APIを介して変換モジュール15が解析モジュール13で解析した制御演算内容を他社のハードウェア90の命令語に変換することができる。これにより、製造会社の区分なく多様なハードウェア90が制御できる。
【0184】
提供部193は、検索部197によって検索された第2機能モジュールのリストを管理器120に提供することができる。
【0185】
検索部197および提供部193によれば、第2拡張API26を用いる第2動的ライブラリ20を有する第2機能モジュールが検索され、検索結果が管理器120を介してクライアントに提供される。
【0186】
本実施例によれば、複数の機能モジュールのうち、少なくとも管理器120で実行可能な機能モジュールのリストがクライアントに提供される。
【0187】
機能モジュールは、管理器120のみならず、制御器110においても実行可能なもので選別提供されるのが良い。
【0188】
このために、収集部195は、管理器120によって管理される制御器110にインストールされた第1拡張API16(Application Programming Interface)の情報を収集することができる。収集された第1拡張API16の情報は、当該第1拡張API16を用いて実行可能な機能モジュールを探すのに用いられる。
【0189】
具体的には、検索部197は、第1拡張API16を用いる第1動的ライブラリ10を有する第1機能モジュールを、既に登録された複数の機能モジュールの中から検索することができる。
【0190】
提供部193は、検索部197によって検索された第1機能モジュールのリストを管理器120に提供することができる。
【0191】
検索部197および提供部193によれば、第1拡張API16を用いる第1動的ライブラリ10を有する第1機能モジュールが検索され、検索結果が管理器120を介してクライアントに提供される。第1機能モジュールは、少なくとも制御器110で実行可能な機能モジュールに相当できる。
【0192】
機能モジュールの構成要素は、制御器110にインストールされる制御モジュールとフレームワークモジュール、管理器120にインストールされる画面モジュールが1セットで構成される。したがって、機能モジュールが正常に動作するためには、大部分の場合、第1機能モジュールと第2機能モジュールの要件をすべて満足する必要がある。つまり、機能モジュールは、第1動的ライブラリ10と第2動的ライブラリ20とを共に有するのが良い。
【0193】
マーケットサーバ190に登録された複数の機能モジュールの性能、信頼度、便宜性、バグ(bug)などをクライアントがいちいち実験することは難しい。このような現実を考慮して、評価部198が用いられる。
【0194】
評価部198は、機能モジュールを対象とするクライアントの評価点数、ダウンロード回数、工程便宜性の少なくとも1つを用いて機能モジュールに点数を付与することができる。
【0195】
提供部193は、制御器110に提供されるモジュール情報が複数であれば、各機能モジュールに付与された点数に応じて優先順位を決定することができる。
【0196】
提供部193は、優先順位に応じて順に整列された複数のモジュール情報を管理器120に提供することができる。
【0197】
本実施例によれば、クライアントは、他のクライアントが使用に満足した機能モジュールの順位別情報を受けることができる。
【0198】
収集部195は、管理器120に既にインストールされた特定の機能モジュールのインストール情報を収集することができる。
【0199】
この時、アップデート部199は、インストール情報と既に登録された機能モジュールのモジュール情報との比較により当該特定の機能モジュールのアップデートを行うことができる。
【0200】
【0201】
制御器110は、機能モジュールをインストールし、インストールされた機能モジュールを削除する面から、機能モジュールに対する管理を行う「管理装置」と称されることがある。
【0202】
制御器110は、第1実行部111と、第1管理部113とを含むことができる。
【0203】
第1実行部111には、ハードウェア90に特定の機能を付与する機能モジュールが搭載される。第1実行部111は、機能モジュールの実行によってハードウェア90を制御することができる。第1実行部111は、機能モジュールが搭載され実行される各種プロセッサを含むことができる。
【0204】
第1管理部113は、第1実行部111に搭載された機能モジュールのうち、変動可能な変動モジュールを管理することができる。第1管理部113は、第1実行部111とは別個に形成される。あるいは、第1管理部113は、第1実行部111に搭載され実行される機能モジュールの1つに相当できる。
【0205】
第1実行部111に搭載される機能モジュールは、変動モジュールb1と、第1実行部111に固定搭載される固定モジュールa1とに区分される。
【0206】
第1管理部113は、固定モジュールa1をそのままにした状態で、変動モジュールb1を追加または削除することができる。固定モジュールa1は、変動モジュールb1が制御器に対して追加または削除される時、制御器にそのまま残って動作するモジュールを含むことができる。この時、固定モジュールa1のアップデートは可能である点を喚起しておく。
【0207】
この時、固定モジュールa1は、管理器120またはマーケットサーバ190と通信する第1通信モジュール11、制御モジュールで生成されたハードウェア90の制御情報を解析する解析モジュール13、解析モジュール13によって解析された制御情報をハードウェア90に互換するように変換する変換モジュール15の少なくとも1つを含むことができる。
【0208】
変動モジュールb1は、制御情報を生成する制御モジュールf1、フレームワークモジュールf2の少なくとも1つを含むことができる。フレームワークモジュールf2は、
図3の表示メニューtmのようなユーザインターフェースが含まれた画面モジュールf3と制御モジュールf1とを連結したり、連動させたりすることができる。
【0209】
第1通信モジュール11は、管理器120またはマーケットサーバ190と通信可能である。第1実行部111には、管理器120またはマーケットサーバ190との有無線通信を行う通信装置が設けられる。この時、第1通信モジュール11は、通信装置で要求する通信形式に合わせて各種情報を変換したり、通信装置を制御したりすることができる。
【0210】
第1通信モジュール11は、管理器120から受信されたり、マーケットサーバ190から直接入手した制御モジュールf1またはフレームワークモジュールf2を第1管理部113に伝達したりすることができる。この時、第1管理部113は、制御モジュールf1またはフレームワークモジュールf2を第1実行部111にインストールすることができる。必要に応じて、第1管理部113は、当該制御モジュールまたはフレームワークモジュールのインストールの前に、既にインストールされた制御モジュール、フレームワークモジュールを削除することができる。
【0211】
第1通信モジュール11は、管理器120から受信された制御命令を、既にインストールされた制御モジュールに伝達することができる。制御モジュールは、制御命令に応じてハードウェア90を制御する制御情報、制御信号を生成することができる。当該制御情報は、先に説明された解析モジュール13に伝達される。
【0212】
解析モジュール13は、ハードウェア90の制御情報を解析または演算することができる。制御モジュールで生成された制御情報は、各業者で指定したものであって、ハードウェア90の製造会社で要求する情報とは差がありうる。例えば、制御モジュールで生成された制御情報は、ロボットのエンドエフェクタを設定方向に沿って設定距離だけ動かすものであってもよい。この時の制御情報が現実のロボットに適用されるためには、当該動作を完了するための各関節の動きが定義されなければならない。この時、設定方向に沿ってエンドエフェクタを設定距離だけ動かすという制御情報は、解析モジュール13によってエンドエフェクタが設置された関節を設定角度だけ回転させるという、ロボットにやさしく現実的な情報と解析される。
【0213】
解析モジュール13は、現実的にハードウェア90を設計した製造会社によって提供されるのが最も良い。したがって、解析モジュール13は、業者によって変更できない固定モジュールa1の地位を有することが好ましい。
【0214】
変換モジュール15は、解析モジュール13によって解析された制御情報をハードウェア90に互換するように変換することができる。例えば、エンドエフェクタが設置された関節を設定角度だけ回転させるという制御情報は、各製造会社のハードウェア90による異なる形式で表現されてもよい。
【0215】
もし、第1ハードウェア90に当該制御情報を伝達する場合、当該制御情報は、第1ハードウェア90が支援する第1形式に変換されなければならない。同じく、第2ハードウェア90に当該制御情報を伝達する場合、当該制御情報は、第2ハードウェア90が支援する第2形式に変換されなければならない。以上の形式変換は、変換モジュール15によって行われる。この時、変換モジュール15は、先に説明された「変換動的ライブラリ」を用いることができる。
【0216】
結果的に、変換モジュール15は、解析モジュール13の制御演算結果を他社プログラムに変換し、他社のハードウェア90を制御する環境を提供することができる。
【0217】
解析モジュール13および変換モジュール15によれば、ハードウェア90の製造会社ではない、他の業者で制作した制御モジュールが正常に当該ハードウェア90の制御に用いられる。あるいは、当該ハードウェア90が他の製造会社のものに変更されても、何ら問題なく既存の制御情報を用いて他の製造会社のハードウェア90を制御する環境が提供される。
【0218】
第1管理部113は、第1通信モジュール11、解析モジュール13および変換モジュール15をそのままにした状態で、第1実行部111に他の機能モジュールを追加したり、第1実行部111に搭載された他の機能モジュールを削除したりすることができる。他の観点からみると、第1管理部113は、第1通信モジュール11、解析モジュール13、変換モジュール15が含まれた固定モジュールa1を削除することができる権限を有しないと解釈されてもよい。
【0219】
図5は、制御器110に搭載されたソフトウェア構造を示す概略図である。
【0220】
第1実行部111には、第1OS(Operating System、オペレーティングシステム)17、ロボットOS(Operating System、オペレーティングシステム)、第1OS17またはロボットOSにリアルタイム性を提供するリアルタイムOS(RTOS19、Real Time Operating System)の少なくとも1つが追加的に搭載されてもよい。
【0221】
第1実行部111には、機能モジュールの実行環境に相当する第1ランタイム(runtime)モジュール、機能モジュールと第1ランタイムモジュール12とを連結する第1API(Application Program Interface)14の少なくとも1つが追加的に搭載されてもよい。
【0222】
以上の第1OS17、ロボットOS、リアルタイムOS、第1ランタイムモジュール12、第1API14は、一種の固定モジュールに相当できる。
【0223】
第1実行部111には、第1通信モジュール11、解析モジュール13、変換モジュール15、制御モジュールf1、フレームワークモジュールf2、第1ランタイムモジュール12、第1API14、第1拡張API16、第1動的ライブラリ10が搭載できる。制御モジュールf1とフレームワークモジュールf2は、第1拡張API16および第2動的ライブラリ20を含むかあるいは第1拡張API16および第2動的ライブラリ20とは別個に形成されてもよい。
【0224】
第1管理部113は、制御モジュールf1およびフレームワークモジュールf2と区分される第1拡張API16または第1動的ライブラリ10を第1実行部111に追加したり、第1実行部111から削除したりすることができる。
【0225】
第1ランタイムモジュール12は、機能モジュールf(具体的には、機能モジュールfを構成するフレームワークモジュールf2、制御モジュールf1)の実行環境を提供することができる。第1API14は、機能モジュールf(具体的には、機能モジュールfを構成するフレームワークモジュールf2、制御モジュールf1)と第1ランタイムモジュール12とを連結したり、連動させたりすることができる。
【0226】
第1動的ライブラリ10は、ハードウェア90の製造会社でハードウェア90の制御を目的にして制作したものであってもよい。第1拡張API16は、第1動的ライブラリ10と第1ランタイムモジュール12とを連結したり、連動させたりすることができる。
【0227】
制御モジュールf1には、ハードウェア90が特定の機能を有するようにハードウェア90を制御する制御情報が含まれる。フレームワークモジュールf2には、画面モジュールと制御モジュールとを連動させる情報が含まれる。この時、第1管理部113は、画面モジュールf3、フレームワークモジュールf2、制御モジュールf1のうち、フレームワークモジュールf2と制御モジュールf1を第1実行部111に搭載することができる。
【0228】
第1通信モジュール11は、管理器120から制御モジュールf1、フレームワークモジュールf2を受信することができる。第1管理部113は、第1通信モジュール11を介して受信された制御モジュールf1とフレームワークモジュールf2を第1実行部111にインストールすることができる。
【0229】
図6は、管理器120を示す概略図である。
図7は、管理器120に搭載されたソフトウェア構造を示す概略図である。
【0230】
管理器120は、機能モジュールに含まれた細部モジュールを区分して抽出し、一部はイストールし、他の一部は制御器110に伝達する管理を行う面から、「管理装置」と称されても構わない。
【0231】
管理器120は、第2実行部121と、第2管理部123と、表示部125とを含むことができる。
【0232】
第2管理部123は、ハードウェア90に特定の機能を付与する機能モジュールfを取得することができる。
【0233】
第2管理部123は、マーケットサーバ190からダウンロードした機能モジュールfに含まれた画面モジュールf3、フレームワークモジュールf2、制御モジュールf1を区分することができる。
【0234】
第2実行部121は、機能モジュールfのうち、特定の機能を示すユーザインターフェースを表示することができる。
【0235】
第2実行部121には、第1通信モジュール11と通信する第2通信モジュール21、第2管理部123によって抽出された画面モジュールf3が搭載される。既に搭載された第2通信モジュール21を介して、管理器120は、制御器110と通信可能である。第2通信モジュール21は、ハードウェア90とユーザインターフェースとの連動情報を制御器110とやり取りすることができる。
【0236】
第2管理部123は、第2通信モジュール21を介して制御モジュールf1およびフレームワークモジュールf2を第1管理部113に伝達することができる。
【0237】
第1管理部113は、第2管理部123から伝達された制御モジュールf1およびフレームワークモジュールf2を第1実行部111にインストールすることができる。
【0238】
画面モジュールf3は、フレームワークモジュールf2によって制御モジュールf1と連動するユーザインターフェースを管理器120の表示部125に表示することができる。これにより、ディスプレイなどの表示部125には、ユーザインターフェースUIが表示される。
【0239】
第1通信モジュール11と第2通信モジュール21は、ユーザインターフェースと制御モジュールf1との連動情報をやり取りすることができる。
【0240】
一方、第1通信モジュール11と第2通信モジュール21とは一体に形成される。また、第1実行部111と第2実行部121とが一体に形成される。第1管理部113と第2管理部123とが一体に形成される。
【0241】
第2実行部121には、第2OS(Operating System、オペレーティングシステム)27(例えば、iOS(登録商標)、windows(登録商標)、MacOS(登録商標)など)、機能モジュールfの実行環境に相当する第2ランタイム(runtime)モジュール、機能モジュールfと第2ランタイムモジュール22とを連結する第2API(Application Program Interface)24が搭載される。
【0242】
第2管理部123は、ユーザインターフェースを提供する画面モジュールf3を機能モジュールfから抽出することができる。
【0243】
第2管理部123は、第2OS27、第2ランタイムモジュール22および第2API24をそのままにした状態で、画面モジュールf3を第2実行部121にインストールしたり、第2実行部121から削除したりすることができる。この時、第2OS27、第2ランタイムモジュール22、第2API24は、一種の固定モジュールa2に相当できる。これに対し、画面モジュールf3は、変動モジュールb2に相当できる。
【0244】
第2管理部123は、機能モジュールfを、第1モジュールと、第2モジュールとに区分することができる。
【0245】
第2モジュールは、ユーザインターフェースが含まれた画面モジュールf3、ハードウェア90のシミュレーション環境を生成するシミュレーションモジュールg1、画面モジュールf3とシミュレーションモジュールg1とを連結するメタモジュールg2、ハードウェア90のティーチング(teaching)情報を生成するティーチングモジュールg3、拡張現実を提供する空間整合モジュールg4の少なくとも1つを含むことができる。シミュレーションモジュールg1、メタモジュールg2、ティーチングモジュールg3、空間整合モジュールg4は、変動モジュールb2に相当できる。
【0246】
第1モジュールは、ハードウェア90が特定の機能を有するようにハードウェア90を制御する制御情報を処理する制御モジュールf1、および画面モジュールf3と制御モジュールf1とを連動させる情報が含まれたフレームワークモジュールf2の少なくとも1つを含むことができる。
【0247】
第2管理部123は、ハードウェア90の制御器110に第1モジュールを提供することができる。
【0248】
第2管理部123は、第2実行部121に第2モジュールをインストールしたり、第2実行部121にインストールされた第2モジュールを削除したりすることができる。つまり、第2管理部123は、機能モジュールに含まれた要素が制御器110に提供される第1モジュールと、管理器120にインストールされる第2モジュールとに区分することができる。
【0249】
第2管理部123の動作をもう一度説明すれば、第2管理部123は、機能モジュールfから、ユーザインターフェースを有する画面モジュールf3を抽出することができる。
【0250】
第2管理部123は、第2実行部121に画面モジュールf3をインストールすることができる。
【0251】
第2実行部121は、第2管理部123によってインストール搭載された画面モジュールf3の実行により、表示部125にユーザインターフェースUIを表示することができる。
【0252】
第2実行部121には、第2通信モジュール21、画面モジュールf3、第2ランタイム(runtime)モジュール、第2API(Application Program Interface)24、第2拡張API26、第2動的ライブラリ20が搭載される。画面モジュールf3は、第2拡張API26、第2動的ライブラリ20を含むかあるいは第2拡張API26、第2動的ライブラリ20とは別個に形成されてもよい。
【0253】
第2管理部123は、画面モジュールf3と区分される第2拡張API26または第2動的ライブラリ20を第2実行部121に追加したり、第2実行部121から削除したりすることができる。
【0254】
第2通信モジュール21は、制御器110またはマーケットサーバ190と有無線で通信可能である。
【0255】
画面モジュールf3は、第2実行部121によって実行されると、ユーザインターフェースを表示部125に表示することができる。
【0256】
第2ランタイムモジュール22は、機能モジュールf(具体的には、機能モジュールfを構成する画面モジュールf3)の実行環境を提供することができる。ランタイム(runtime)モジュールは、プログラムを管理するために、特定のコンパイラや仮想マシンが用いる基本コードのライブラリやプログラムを指すことができる。
【0257】
第2API24は、機能モジュールfと第2ランタイムモジュール22とを連結することができる。
【0258】
第2動的ライブラリ20は、ハードウェア90の製造会社でハードウェア90の制御を目的にして制作したプログラムであってもよい。
【0259】
第2拡張API26は、第2動的ライブラリ20と第2ランタイムモジュール22とを連結することができる。
【0260】
図8は、表示部125により表示されるユーザインターフェースの一例を示す概略図である。
【0261】
一例として、
図3の表示メニューtmは、「Jog+」という機能モジュールfを選択した画面を示すことができる。
【0262】
当該Jog+モジュールは、クライアントがポップアップ画面を用いて便利にロボットを動かすことが可能なジョギング機能を提供することができる。管理器120を介してマーケットサーバ190に接続したクライアントは、マーケットサーバ190で提供するタイルドメニューからJog+モジュールを選択し、インストールすることができる。
【0263】
インストールが実行されると、Jog+モジュールに含まれた画面モジュールは、管理器120の第2管理部123を介して管理器120にインストールされる。Jog+モジュールに含まれたフレームワークモジュールと制御モジュールは、第2通信モジュール21を介して制御器110へ伝送され、制御器110の第1管理部113を介して制御器110にインストールされる。インストールが完了すると、表示部125の表示メニューに相当するユーザインターフェースには、「Jog+」の名前を有するアイコンが新たに表示される。
【0264】
クライアントが管理器120の表示部125により表示された「Jog+」を選択実行すれば、
図8のようにロボットを制御することが可能なメニューが含まれたユーザインターフェースUIが表示部125に表示される。
【0265】
当該UIに含まれた「+」、「-」などの選択により、ロボットを構成するロボットアーム(arm)の関節の角度が調整可能である。「+」などの制御アイコンの選択情報は、第2通信モジュール21を介して、制御器110にインストールされたフレームワークモジュールf2および制御モジュールf1と連動できる。当該制御モジュールf1を介して、実際のロボットをターゲットとする制御情報が生成される。当該制御情報は、解析モジュール13により解析され、変換モジュール15により変換されてロボットに提供される。変換モジュール15により変換された制御情報を受信した実際のロボットは、当該制御情報に応じて動くことができる。
【0266】
図9は、本発明の管理装置100の動作を示す概略図である。
図10は、本発明の管理装置100が適用された環境で、ハードウェア90の製造会社と機能モジュールの制作業者との間の業務領域を示す概略図である。
【0267】
以上説明した管理装置100は、ハードウェア90制御用のユーザインターフェースが表示される管理器120を含むことができる。
【0268】
管理器120は、マーケットサーバ190から取得された機能モジュールfから画面モジュールf3、制御モジュールf1を抽出することができる。
【0269】
管理器120は、自ら備えられた第2API24をそのままにした状態で、第2API24上に画面モジュールf3を搭載することができる。以上の第2API24は、機能モジュールの追加、削除に関係なく固定的に保持される固定モジュールaに相当できる。
【0270】
管理器120は、ハードウェア90の制御器110に既にインストールされた第1API14上に搭載される制御モジュールf1を制御器110へ伝送することができる。
【0271】
以上の管理器120によれば、制御モジュールf1、フレームワークモジュールf2、画面モジュールf3を有する機能モジュールfが管理器120または制御器110を対象に追加または削除される環境が設けられる。画面モジュール、フレームワークモジュール、制御モジュールは、新たな機能の付与時に追加、削除される変動モジュールbに相当できる。
【0272】
固定モジュールaは、制御器110にインストールされるものa1と、管理器120にインストールされるものa2とに区分される。変動モジュールbは、制御器110にインストールされるものb1と、管理器120にインストールされるものb2とに区分される。
【0273】
ロボットの製造会社に相当する「ロボティクス」で周辺機器、機能拡張開発環境(Platform&SDK)を提供すれば、各種周辺機器業者は、「ロボティクス」で製造されたロボットに新たな機能を付与する機能モジュールを開発し検証することができる。
【0274】
「ロボティクス」は、各業者が開発したインターフェース(Interface)機能UI、機能モジュールなどを再検証し、検証結果に問題のない機能モジュールを認証することができる。また、「ロボティクス」は、認証された機能モジュールを提供した業者と協力関係を結ぶことができる(mate登録)。
【0275】
各業者は、フィールドクレーム(Field Claim)、要求事項などの現場の懸案に対応することができる。
【0276】
以上の業務領域をみると、ハードウェア90の製造会社は、機能モジュールの開発および検証、対応を周辺機器業者、ソフトウェア業者などに一任することになりうる。その結果、ハードウェア90の製造会社は、各種ハードウェア90の開発にもっと集中することができる。また、各業者は、ハードウェア90の開発は排除し、自ら開発した機能モジュールの改善およびアップデートにのみ集中することができる。
【0277】
図11は、比較実施例の動作を示す概略図である。
図12は、比較実施例の環境においてハードウェア90の製造会社の業務領域を示す概略図である。
図13は、比較実施例のソフトウェア構造を示す概略図である。
【0278】
比較実施例の場合、基本プログラムと分離され、画面モジュール、フレームワークモジュール、制御モジュールが含まれた機能モジュール自体がないので、管理装置100の形成自体が不可能である。
【0279】
比較実施例の場合、画面モジュール、フレームワークモジュール、制御モジュールが含まれた機能モジュールという概念がなく、製造会社で提供されるロボットOS、ランタイムモジュール、APIに特定の機能が融合したひとかたまり状態の基本プログラムがハードウェア90の制御手段101に搭載される。その結果、新たな機能が追加される場合、ロボットOS、ランタイムモジュール、APIまで修正される作業が要求される。また、ディスプレイが設けられた管理手段102も、ウィンドウズ(登録商標)などのOSとジャヴァ仮想マシン、特定の機能がひとかたまりに融合した形態で構成される。
【0280】
したがって、ロボットにインストールされた基本プログラムから機能部分のみを追加削除できないので、セキュリティ、安定性に関連する基本プログラムのコードを知らない他の業者では機能モジュールの開発自体が不可能である。結局、新たな機能の追加は、完全にハードウェア90の製造会社が専担しなければならず、これは、ハードウェア90の開発以外に新たな機能の開発にも資源が分散することを意味することができる。
【0281】
つまり、ハードウェア90の製造会社に相当する「ロボティクス」は、多様な周辺機器、機能要求事項を把握し、当該周辺機器/要求事項に符合する機能の開発の必要性を検討しなければならない。また、開発の必要性が認められる場合、インターフェース/機能UIを直接開発し検証しなければならない。検証まで完了した機能モジュールは、再度検証され認証される。さらに、「ロボティクス」は、現場の各種懸案に対しても直接対応しなければならない。結局、比較実施例によれば、「ロボティクス」は、新たな機能の追加に関連して事前調査、クライアント対応、開発、検証、補完などのすべての手順を直接行わなければならない。これによって、「ロボティクス」は、新たな機能の追加のために多くの資源を消耗しなければならず、新たな機能の追加に長期間が要求される。また、機能の追加過程で基本プログラム全般に対する修正が要求され、これによりエラーが散発的に発生する可能性も増加する。したがって、これらエラーの検知および解消にも多くの時間が要求される。
【0282】
クライアントの場合、機能の追加に長期間がかかるので、時間的不便さを甘受しなければならず、ひいては新たな機能の追加により誘発される各種エラーによって「ロボティクス」に対する信頼度が低下することがある。
【0283】
比較実施例の基本プログラムは、上位制御器(画面機能担当)と下位制御器(フレームワーク、制御機能担当)の2つのソフトウェアプロセスで構成される。
【0284】
基本プログラムは、上位制御器(リナックス(登録商標)用)である「上位制御器(1)」と下位制御器の第1形態、あるいは上位制御器(マイクロソフト(登録商標)社で提供するウィンドウズ用)である「上位制御器(2)」と下位制御器の第2形態に区分されてクライアントに提供される。
【0285】
上位制御器は、ジャヴァアプリケーション(JAVA App)であって、JVM(Java Virtual Machine、ジャヴァ仮想マシン)で駆動され、下位制御器は、リアルタイム性のためにRTOS19(Real Time Operating System)で駆動される。制御ライブラリは、下位制御器のビルド時に含まれるように静的ライブラリで構成されている。
【0286】
比較実施例の場合、機能が追加、変更される場合に、上位制御器のみ変更される場合(三角形)、下位制御器のみ変更される場合(四角形)、制御ライブラリのみ変更される場合(丸)に区分される。現実的に区分された各場合の組み合わせ(2^3=8つ)に変更が起こることができる。今のところ、すべての場合に対応して、上位制御器/下位制御器全体をまとめてソフトウェアバージョンが配布されている。
【0287】
基本プログラムの1行だけ変更されても全体ソフトウェアを作って配布しなければならず、クライアントはこの時間を待つことで多様な機能を使用することができない。
【0288】
変更点による問題点(エラーなど)なども製造会社で直接修正しなければならず、これも先に言及した製造会社の負担とクライアントの不便を増幅させることがある。
【0289】
比較実施例によれば、ソースセキュリティ、バージョン管理などの問題により外部の業者で新たな機能を開発して追加することができる方法がなく、ハードウェア90の製造会社で直接新たな機能を追加しなければならない。
【0290】
図14は、本発明の管理方法を示すフローチャートである。
【0291】
図14の管理方法は、
図1の管理装置100または
図6の管理器120によって行われる。
【0292】
管理方法は、取得ステップS510と、抽出ステップS520と、インストールステップS530と、提供ステップS540とを含むことができる。取得ステップS510、抽出ステップS520、インストールステップS530、提供ステップS540は、第2管理部123によって行われる。
【0293】
取得ステップS510は、マーケットサーバ190から機能モジュールfを取得することができる。
【0294】
抽出ステップS520は、機能モジュールfに含まれた画面モジュールf3、制御モジュールf1を抽出することができる。
【0295】
インストールステップS530は、既にインストールされた第2API24上に画面モジュールを搭載することができる。
【0296】
提供ステップS540は、ハードウェア90の制御器110に既にインストールされた第1API14上に搭載される制御モジュールを制御器110へ伝送することができる。
【0297】
図15は、機能モジュールをインストールする過程を示すフローチャートである。
【0298】
管理装置によれば、多様な業者が機能モジュールを開発、制作し、制作された機能モジュールをマーケットサーバにアップロッドすることができる。マーケットサーバにアップロッドされた機能モジュールは、多様なロボット製造会社で制作したロボットに対してダウンロードされ搭載される。
【0299】
各業者は、製造会社で提供する機能開発ツール、例えば、DART-SDKを用いて機能モジュールfを制作することができる(S501)。DART-SDKは、APIとツール(tool)で構成された機能モジュール制作キットを含むことができる。
【0300】
業者は、制作された機能モジュールfをマーケットサーバ190に相当する「DART-Store」にアップロッドすることができる(S502)。
【0301】
クライアントは、管理器120に相当するTP(
図15の「TP」は管理器を意味する)を介してDART-Storeに接続し、タイルドメニューから機能モジュールfを検索することができる(S511)。
【0302】
クライアントがタイルドメニューから特定の機能モジュールを選択すれば、第2管理部123に相当する「マネージャモジュール」で機能モジュールをインストールすることができる(S512)。
【0303】
マネージャモジュールは、機能モジュールから画面モジュール、制御モジュール、フレームワークモジュールを抽出することができる(S521)。
【0304】
マネージャモジュールは、機能モジュールに含まれた画面モジュールを制御器110にインストールすることができる(S531)。マネージャモジュールは、第1拡張API16と第1動的ライブラリ10を追加的に制御器110にインストールすることができる。マネージャモジュールは、第2通信モジュール21に相当する通信モジュールに機能モジュールの情報、フレームワークモジュール、制御モジュールを伝送することができる。
【0305】
通信モジュールは、機能モジュールの情報、フレームワークモジュール、制御モジュールを制御器110に伝送することができる。
【0306】
制御器110に設けられた第1通信モジュール11に相当する通信モジュール(制御器)で機能モジュールの情報、フレームワークモジュール、制御モジュールを受信することができる(S541)。
【0307】
第1管理部113に相当する「マネージャモジュール(制御器)」は、管理器120から受信された情報にフレームワークモジュールと制御モジュールが含まれているか否かを判断することができる(S551)。
【0308】
フレームワークモジュールと制御モジュールが含まれたものと判断されると、マネージャモジュール(制御器)は、制御器110にフレームワークモジュールおよび制御モジュールをインストールすることができる(S552)。マネージャモジュール(制御器)は、必要に応じて、第1拡張API16と第1動的ライブラリ10を追加的に制御器110にインストールすることができる。
【0309】
その後、マネージャモジュール(制御器)は、管理器120から受信された機能モジュールの情報を保存することができる(S553)。
【0310】
もし、判断ステップS551において、管理器120から受信された情報にフレームワークモジュールおよび制御モジュールが含まれていないものと判断されると、直ちに機能モジュールの情報が保存されるステップS553が行われる。
【0311】
制御器110にフレームワークモジュール、制御モジュールがインストールされ、機能モジュールの情報が制御器110に保存されると、マネージャモジュール(制御器110)は、通信モジュール(制御器110)にインストール成功事実を伝送することができる(S554)。通信モジュール(制御器)は、通信モジュールにインストール成功事実を伝送することができる。
【0312】
通信モジュールは、マネージャモジュールにインストール成功事実を伝送することができる(S555)。マネージャモジュールは、インストール成功事実を管理器120の表示部125により表示することができる。
【0313】
図16は、機能モジュールを削除する過程を示すフローチャートである。
【0314】
管理器120に相当するTPによって、制御器110にインストールされた機能モジュールのタイルドメニューが表示され、特定の機能モジュールが選択される(S571)。
【0315】
選択された機能モジュールの関連メニューから「削除」が選択されると、第2管理部123に相当するマネージャモジュールは、第2通信モジュール21に相当する通信モジュールに当該機能モジュールの情報を要請することができる(S572)。機能モジュールの情報は、当該機能モジュールの識別情報を含むことができる。当該識別情報を用いると、制御器110にインストールされた機能モジュールが識別または把握される。
【0316】
当該要請情報は、通信モジュールによって第1通信モジュール11に相当する通信モジュール(制御器110)に伝送される(S573)。
【0317】
通信モジュール(制御器110)を介して要請情報を受け付けたマネージャモジュール(制御器110)は、既に保存された機能モジュールの情報をロードして通信モジュールに伝送することができる(S574)。
【0318】
通信モジュールは、マネージャモジュールに機能モジュールの情報を伝達することができる。機能モジュールの情報が通信モジュールを介してマネージャモジュールに伝達されたというのは、制御器110に当該機能モジュールがインストールされた状態であることを意味することができる。マネージャモジュールは、当該機能モジュールの画面モジュールを管理器120から削除することができる(S575)。
【0319】
マネージャモジュールは、削除成功事実を通信モジュール(制御器110)に伝達することができる(S576)。
【0320】
通信モジュール(制御器110)は、削除成功事実を受信すると(S577)、受信された削除成功事実をマネージャモジュール(制御器110)に伝達することができる。
【0321】
マネージャモジュール(制御器110)は、削除された画面モジュールを含む機能モジュールまたは削除要請された機能モジュールにフレームワークモジュールと制御モジュールが含まれているか否かを判断することができる(S578)。
【0322】
フレームワークモジュールと制御モジュールが含まれたものと判断されると、マネージャモジュール(制御器110)は、当該フレームワークモジュールと制御モジュールを削除することができる(S579)。マネージャモジュール(制御器110)は、必要に応じて、第1拡張API16と第1動的ライブラリ10を削除することができる。
【0323】
マネージャモジュール(制御器110)は、フレームワークモジュールと制御モジュールの削除後に、既に保存された機能モジュールの情報(識別情報)を削除することができる(S580)。
【0324】
マネージャモジュール(制御器110)は、通信モジュール(制御器110)にフレームワークモジュール、制御モジュール、識別情報の除去事実を伝達することができる(S581)。
【0325】
通信モジュール(制御器110)は、通信モジュール(TP)に当該除去事実を伝達し、通信モジュールは、除去事実をマネージャモジュールに伝達することができる(S582)。マネージャモジュールは、表示部125により機能モジュールの除去事実を表示することができる。
【0326】
図17は、本発明の実施例によるコンピューティング装置を示す図である。
図17のコンピューティング装置TN100は、本明細書で記述された装置(例、管理装置100、マーケットサーバ190、制御器110、管理器120など)であってもよい。
【0327】
図17の実施例において、コンピューティング装置TN100は、少なくとも1つのプロセッサTN110と、送受信装置TN120と、メモリTN130とを含むことができる。また、コンピューティング装置TN100は、記憶装置TN140と、入力インターフェース装置TN150と、出力インターフェース装置TN160などとをさらに含むことができる。コンピューティング装置TN100に含まれた構成要素は、バス(bus)TN170によって連結されて互いに通信を行うことができる。
【0328】
プロセッサTN110は、メモリTN130および記憶装置TN140の少なくとも1つに記憶されたプログラム命令(program command)を実行することができる。プロセッサTN110は、中央処理装置(CPU:central processing unit)、グラフィック処理装置(GPU:graphics processing unit)、または本発明の実施例による方法が行われる専用のプロセッサを意味することができる。プロセッサTN110は、本発明の実施例に関連して記述された手順、機能、および方法などを実現するように構成される。プロセッサTN110は、コンピューティング装置TN100の各構成要素を制御することができる。
【0329】
メモリTN130および記憶装置TN140それぞれは、プロセッサTN110の動作に関連する多様な情報を記憶することができる。メモリTN130および記憶装置TN140それぞれは、揮発性記憶媒体および不揮発性記憶媒体の少なくとも1つで構成される。例えば、メモリTN130は、読出専用メモリ(ROM:read only memory)およびランダムアクセスメモリ(RAM:random access memory)の少なくとも1つで構成される。
【0330】
送受信装置TN120は、有線信号または無線信号を送信または受信することができる。送受信装置TN120は、ネットワークに連結されて通信を行うことができる。
【0331】
一方、本発明の実施例は、これまで説明した装置および/または方法によってのみ実現されるものではなく、本発明の実施例の構成に対応する機能を実現するプログラムまたはそのプログラムが記録された記録媒体を介して実現されてもよいし、このような実現は上述した実施例の記載から本発明の属する技術分野における通常の技術者であれば容易に実現することができる。
【0332】
以上、本発明の実施例について詳細に説明したが、本発明の権利範囲はこれに限定されるものではなく、以下の特許請求の範囲で定義している本発明の基本概念を利用した通常の技術者の様々な変形および改良形態も本発明の権利範囲に属する。
(項目1)
ハードウェアを制御する制御器が設けられる時、
前記ハードウェアに特定の機能を付与する機能モジュールが登録されたマーケットサーバと、
前記マーケットサーバから前記機能モジュールをダウンロードする管理器と、を含み、
前記管理器は、前記制御器に前記機能モジュールをインストールしたり、前記制御器にインストールされた前記機能モジュールを削除したりする、管理装置。
(項目2)
ハードウェアに特定の機能を付与する機能モジュールを登録する登録部と、
既に登録された機能モジュールのモジュール情報を管理器に提供する提供部と、
を含む、管理装置。
(項目3)
前記提供部は、前記モジュール情報がタイルドメニュー構造で表示される表示メニューを前記管理器に提供し、
前記提供部は、前記タイルドメニュー構造を形成する特定のタイルが選択されると、選択された特定のタイルに配置された特定の機能モジュールの機能分類結果および詳細情報の少なくとも1つを前記管理器に追加的に提供する、項目2に記載の管理装置。
(項目4)
前記管理器にインストールされた第2拡張API(Application Programming Interface)の情報を収集する収集部が設けられ、
前記第2拡張APIを用いる第2動的ライブラリを有する第2機能モジュールを、既に登録された複数の機能モジュールの中から検索する検索部が設けられ、
前記提供部は、前記検索部によって検索された前記第2機能モジュールのリストを前記管理器に提供する、項目2または3に記載の管理装置。
(項目5)
前記管理器によって管理される制御器にインストールされた第1拡張APIの情報を収集する収集部が設けられ、
前記第1拡張APIを用いる第1動的ライブラリを有する第1機能モジュールを、既に登録された複数の機能モジュールの中から検索する検索部が設けられ、
前記提供部は、前記検索部によって検索された前記第1機能モジュールのリストを前記管理器に提供する、項目2または3に記載の管理装置。
(項目6)
前記機能モジュールを対象とするクライアントの評価点数、ダウンロード回数、工程便宜性の少なくとも1つを用いて前記機能モジュールに点数を付与する評価部が設けられ、
前記提供部は、前記制御器に提供される前記モジュール情報が複数であれば、各機能モジュールに付与された点数に応じて優先順位を決定し、
前記提供部は、前記優先順位に応じて順に整列された複数の前記モジュール情報を前記管理器に提供する、項目5に記載の管理装置。
(項目7)
前記管理器にインストールされた特定の機能モジュールのインストール情報を収集する収集部が設けられ、
前記インストール情報と既に登録された機能モジュールのモジュール情報との比較により前記特定の機能モジュールのアップデートを行うアップデート部が設けられた、項目2または3に記載の管理装置。
(項目8)
ハードウェアに特定の機能を付与する機能モジュールが搭載され、前記機能モジュールの実行によって前記ハードウェアを制御する第1実行部と、
前記第1実行部に搭載された機能モジュールのうち、変動可能な変動モジュールを管理する第1管理部と、
を含む、管理装置。
(項目9)
前記第1実行部に搭載される機能モジュールは、前記変動モジュールと、前記第1実行部に固定搭載される固定モジュールとに区分され、
前記第1管理部は、前記固定モジュールはそのままにした状態で、前記変動モジュールを追加または削除する、項目8に記載の管理装置。
(項目10)
前記固定モジュールは、管理器またはマーケットサーバと通信する第1通信モジュール、前記ハードウェアの制御情報を解析する解析モジュール、および前記解析モジュールによって解析された制御情報を前記ハードウェアに互換するように変換する変換モジュールの少なくとも1つを含み、
前記変動モジュールは、前記制御情報を生成する制御モジュール、およびユーザインターフェースが含まれた画面モジュールと前記制御モジュールとを連結するフレームワークモジュールの少なくとも1つを含む、項目9に記載の管理装置。
(項目11)
管理器またはマーケットサーバと通信する第1通信モジュール、前記ハードウェアの制御情報を解析する解析モジュール、前記解析モジュールによって解析された制御情報を前記ハードウェアに互換するように変換する変換モジュールが設けられ、
前記第1管理部は、前記第1通信モジュール、前記解析モジュールおよび前記変換モジュールをそのままにした状態で、前記第1実行部に他の機能モジュールを追加したり、前記第1実行部に搭載された他の機能モジュールを削除したりする、項目8から10のいずれか一項に記載の管理装置。
(項目12)
前記第1実行部には、第1OS(Operating System、オペレーティングシステム)、ロボットOS、および前記第1OSまたは前記ロボットOSにリアルタイム性を提供するリアルタイムOS(RTOS、Real Time Operating System)の少なくとも1つが追加的に搭載され、
前記機能モジュールの実行環境に相当する第1ランタイムモジュール、および前記機能モジュールと前記第1ランタイムモジュールとを連結する第1APIの少なくとも1つが追加的に搭載される、項目8から10のいずれか一項に記載の管理装置。
(項目13)
前記第1実行部には、第1通信モジュール、解析モジュール、変換モジュール、制御モジュール、フレームワークモジュール、第1ランタイムモジュール、第1API、第1拡張API、第1動的ライブラリが搭載され、
前記第1管理部は、前記制御モジュールおよび前記フレームワークモジュールと区分される前記第1拡張APIまたは前記第1動的ライブラリを前記第1実行部に追加したり、前記第1実行部から削除したりし、
前記第1通信モジュールは、管理器またはマーケットサーバと通信し、
前記解析モジュールは、前記ハードウェアの制御情報を解析し、
前記変換モジュールは、前記解析モジュールによって解析された制御情報を前記ハードウェアに互換するように変換し、
前記制御モジュールは、前記制御情報を生成し、
前記フレームワークモジュールは、ユーザインターフェースが含まれた画面モジュールと前記制御モジュールとを連結し、
前記第1ランタイムモジュールは、前記機能モジュールの実行環境を提供し、
前記第1APIは、前記機能モジュールと前記第1ランタイムモジュールとを連結し、
前記第1動的ライブラリは、前記ハードウェアの製造会社で前記ハードウェアの制御を目的にして制作したものであり、
前記第1拡張APIは、前記第1動的ライブラリと前記第1ランタイムモジュールとを連結する、項目12に記載の管理装置。
(項目14)
前記機能モジュールには、画面モジュール、フレームワークモジュール、制御モジュールが設けられ、
前記画面モジュールには、ユーザインターフェースが含まれ、
前記制御モジュールには、前記ハードウェアが前記特定の機能を有するように前記ハードウェアを制御する制御情報が含まれ、
前記フレームワークモジュールには、前記画面モジュールと前記制御モジュールとを連動させる情報が含まれ、
前記第1管理部は、前記画面モジュール、前記フレームワークモジュール、前記制御モジュールのうち、前記フレームワークモジュールと前記制御モジュールを前記第1実行部に搭載する、項目8から10のいずれか一項に記載の管理装置。
(項目15)
前記機能モジュールのユーザインターフェースが表示される管理器と通信する第1通信モジュールが設けられ、
前記第1通信モジュールは、前記ハードウェアが前記特定の機能を有するようにする前記ハードウェアの制御情報を生成する制御モジュール、前記制御モジュールと前記ユーザインターフェースとを連動させるフレームワークモジュールを前記管理器から受信し、
前記第1管理部は、前記第1通信モジュールを介して受信された前記制御モジュールと前記フレームワークモジュールを前記第1実行部にインストールする、項目8から10のいずれか一項に記載の管理装置。
(項目16)
前記管理器には、第2実行部と、第2管理部とが設けられ、
前記第2管理部は、マーケットサーバからダウンロードした機能モジュールに含まれた画面モジュール、前記フレームワークモジュール、前記制御モジュールを区分し、
前記第2実行部には、前記第1通信モジュールと通信する第2通信モジュール、前記第2管理部によって抽出された前記画面モジュールが搭載され、
前記第2管理部は、前記第2通信モジュールを介して前記制御モジュールおよび前記フレームワークモジュールを前記第1管理部に伝達し、
前記第1管理部は、前記第2管理部から伝達された前記制御モジュールおよび前記フレームワークモジュールを前記第1実行部にインストールし、
前記画面モジュールは、前記フレームワークモジュールによって前記制御モジュールと連動する前記ユーザインターフェースを前記管理器の表示部に表示し、
前記第1通信モジュールと前記第2通信モジュールは、前記ユーザインターフェースと前記制御モジュールとの連動情報をやり取りする、項目15に記載の管理装置。
(項目17)
前記第1通信モジュールと前記第2通信モジュールとが一体に形成され、
前記第1実行部と前記第2実行部とが一体に形成され、
前記第1管理部と前記第2管理部とが一体に形成された、項目16に記載の管理装置。
(項目18)
ハードウェアに特定の機能を付与する機能モジュールを取得する第2管理部と、
前記機能モジュールのうち、前記特定の機能を示すユーザインターフェースを表示する第2実行部と、
前記ユーザインターフェースが表示される表示部と、
を含む、管理装置。
(項目19)
前記第2実行部には、第2OS、前記機能モジュールの実行環境に相当する第2ランタイムモジュール、前記機能モジュールと前記第2ランタイムモジュールとを連結する第2APIが搭載され、
前記第2管理部は、前記ユーザインターフェースを提供する画面モジュールを前記機能モジュールから抽出し、
前記第2管理部は、前記第2OS、前記第2ランタイムモジュールおよび前記第2APIをそのままにした状態で、前記画面モジュールを前記第2実行部にインストールしたり、前記第2実行部から削除したりする、項目18に記載の管理装置。
(項目20)
前記第2管理部は、前記機能モジュールを、第1モジュールと、第2モジュールとに区分し、
前記第2モジュールは、前記ユーザインターフェースが含まれた画面モジュール、前記ハードウェアのシミュレーション環境を生成するシミュレーションモジュール、前記画面モジュールと前記シミュレーションモジュールとを連結するメタモジュール、前記ハードウェアのティーチング情報を生成するティーチングモジュール、および拡張現実を提供する空間整合モジュールの少なくとも1つを含み、
前記第1モジュールは、前記ハードウェアが前記特定の機能を有するように前記ハードウェアを制御する制御情報を処理する制御モジュール、および前記画面モジュールと前記制御モジュールとを連動させる情報が含まれたフレームワークモジュールの少なくとも1つを含み、
前記第2管理部は、前記ハードウェアの制御器に前記第1モジュールを提供し、
前記第2管理部は、前記第2実行部に前記第2モジュールをインストールしたり、前記第2実行部にインストールされた前記第2モジュールを削除したりする、項目18に記載の管理装置。
(項目21)
前記第2管理部は、前記機能モジュールから前記ユーザインターフェースを有する画面モジュールを抽出し、
前記第2管理部は、前記第2実行部に前記画面モジュールをインストールし、
前記第2実行部は、前記第2管理部によって搭載された前記画面モジュールの実行により、前記表示部に前記ユーザインターフェースを表示する、項目18または19に記載の管理装置。
(項目22)
前記第2実行部には、前記ハードウェアを制御する制御器と通信する第2通信モジュールが搭載され、
前記第2通信モジュールは、前記ハードウェアと前記ユーザインターフェースとの連動情報を前記制御器とやり取りする、項目21に記載の管理装置。
(項目23)
前記機能モジュールに画面モジュール、フレームワークモジュール、制御モジュールが含まれる時、
前記第2管理部は、前記機能モジュールから前記画面モジュールを抽出し、
前記第2管理部は、前記機能モジュールから抽出された前記画面モジュールを前記第2実行部にインストールし、
前記第2管理部は、前記機能モジュールから前記フレームワークモジュールと前記制御モジュールを抽出し、
前記第2管理部は、前記ハードウェアを制御する制御器に前記フレームワークモジュールと前記制御モジュールを提供する、項目18または19に記載の管理装置。
(項目24)
前記第2実行部には、第2通信モジュール、画面モジュール、第2ランタイムモジュール、第2API、第2拡張API、第2動的ライブラリが搭載され、
前記第2管理部は、前記画面モジュールと区分される前記第2拡張APIまたは前記第2動的ライブラリを前記第2実行部に追加したり、前記第2実行部から削除したりし、
前記第2通信モジュールは、制御器またはマーケットサーバと通信し、
前記画面モジュールは、前記第2実行部によって実行されると、前記ユーザインターフェースを表示部に表示し、
前記第2ランタイムモジュールは、前記機能モジュールの実行環境を提供し、
前記第2APIは、前記機能モジュールと前記第2ランタイムモジュールとを連結し、
前記第2動的ライブラリは、前記ハードウェアの製造会社で前記ハードウェアの制御を目的にして制作したものであり、
前記第2拡張APIは、前記第2動的ライブラリと前記第2ランタイムモジュールとを連結する、項目18または19に記載の管理装置。
(項目25)
ハードウェアの制御用のユーザインターフェースが表示される管理器、を含み、
前記管理器は、マーケットサーバから取得された機能モジュールから画面モジュール、制御モジュールを抽出し、
前記管理器は、自ら備えられた第2APIをそのままにした状態で、前記第2API上に前記画面モジュールを搭載し、
前記管理器は、前記ハードウェアの制御器に既にインストールされた第1API上に搭載される前記制御モジュールを前記制御器に伝送する、管理装置。
(項目26)
管理装置によって行われる管理方法であって、
マーケットサーバから機能モジュールを取得する取得ステップと、
前記機能モジュールに含まれた画面モジュール、制御モジュールを抽出する抽出ステップと、
既にインストールされた第2API上に前記画面モジュールを搭載するインストールステップと、
ハードウェアの制御器に既にインストールされた第1API上に搭載される前記制御モジュールを前記制御器に伝送する提供ステップと、
を含む、管理方法。
【符号の説明】
【0333】
10 第1動的ライブラリ
11 第1通信モジュール
12 第1ランタイムモジュール
13 解析モジュール
14 第1API
15 変換モジュール
16 第1拡張API
17 第1OS
18 ROS
19 RTOS
20 第2動的ライブラリ
21 第2通信モジュール
22 第2ランタイムモジュール
24 第2API
26 第2拡張API
27 第2OS
90 ハードウェア
100 管理装置
110 制御器
111 第1実行部
113 第1管理部
120 管理器
121 第2実行部
123 第2管理部
125 表示部
190 マーケットサーバ
191 登録部
193 提供部
195 収集部
197 検索部
198 評価部
199 アップデート部