(57)【要約】【課題】ロボットシステムの機能を実現するための応用プログラムをより効率的に管理できる、ロボットシステムの制御方法及びその装置を提供する。【解決手段】本発明の実施例によるロボットシステムを制御する方法は、ロボットシステムに備えられたブートローダを用いてマスタ制御機を初期化するステップと、マスタ制御機の格納空間に格納されたランタイム実行コードをローディングしてランタイムを実行するステップと、マスタ制御機の格納空間に格納された応用プログラムをローディングして実行するステップと、を含む。本発明の実施例によれば、応用プログラムをより効率的に管理することができる。【選択図】図１
2013518733.tif 000002
【特許請求の範囲】
【請求項１】
ロボットシステムに内蔵されたマスタ制御機を用いて前記ロボットシステムを制御するロボットシステムの制御装置であって、
前記マスタ制御機は、
ランタイム部と、
ランタイムの実行のためのランタイムコード、ランタイムシンボルテーブル及びロボットシステムの指定された機能を行うアプリケーションコードを格納する格納部と、
ランタイムの実行のための演算を行い、前記ロボットシステムを制御するための信号の流れを制御する演算部と、
前記ロボットシステムのホストコンピュータと通信する通信部と、を含み、
前記ランタイム部は、
前記アプリケーションコードをローディングするアプリケーションローダモジュールと、
ローディングされたアプリケーションコードを実行する応用プログラムインターフェースモジュールと、
を含むことを特徴とするロボットシステムの制御装置。
【請求項２】
前記ランタイム部は、
前記ロボットシステムに内蔵されたスレーブ制御機の認識及び前記ロボットシステムのシステム情報構成を動的に管理する制御機形状管理モジュールをさらに含むことを特徴とする請求項１に記載のロボットシステムの制御装置。
【請求項３】
前記ランタイム部は、
前記ランタイムの動作に関する履歴情報を生成するデータロガーモジュールをさらに含むことを特徴とする請求項１に記載のロボットシステムの制御装置。
【請求項４】
前記応用プログラムインターフェースモジュールは、
前記ロボットシステムの運営体制のシステムコールを用いて前記アプリケーションコードを実行し、前記アプリケーションコードの実行のために参照する媒介変数は、前記ロボットシステムの制御装置のレジストリを用いて伝達されることを特徴とする請求項１に記載のロボットシステムの制御装置。
【請求項５】
ロボットシステムに内蔵されたマスタ制御機を用いて前記ロボットシステムを制御する方法であって、
前記ロボットシステムに備えられたブートローダを用いて前記マスタ制御機を初期化するステップと、
前記マスタ制御機の格納空間に格納されたランタイム実行コードをローディングし、ランタイムを実行するステップと、
前記マスタ制御機の格納空間に格納された応用プログラムをローディングして実行するステップと、
を含むロボットシステムの制御方法。
【請求項６】
前記ランタイムを実行するステップの後に、
前記マスタ制御機の動作に関する履歴情報を生成するステップをさらに含む請求項５に記載のロボットシステムの制御方法。
【請求項７】
前記ロボットシステムは、スレーブ制御機をさらに含み、
前記ランタイムを実行するステップの後に、
前記スレーブ制御機及びシステム情報構成を動的に管理するステップをさらに含む請求項５に記載のロボットシステムの制御方法。
【請求項８】
前記応用プログラムをローディングして実行するステップは、
前記ロボットシステムの運営体制のシステムコールを用い、前記応用プログラムを実行するための媒介変数は、前記マスタ制御機のレジストリを用いて伝達されることを特徴とする請求項５に記載のロボットシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムの制御方法に関する。
【背景技術】
【０００２】
産業現場で用いられるロボットの場合には、その移動及び動作を制御するために内蔵型制御機が用いられている。従来技術による内蔵型ロボット制御機の場合、単純なブートローダ方式を採用することが一般的である。
【０００３】
しかし、単純なブートローダ方式の場合、ロボット制御のための一部の応用プログラムに問題が生じた場合、その問題が生じた応用プログラムのみを初期化することで問題を解決するには困難があった。このため、小さな問題が生じた場合でも、内蔵型制御機の全体を初期化し、ブートローダを再実行する方法により問題を解決する方法が利用されてきた。
【０００４】
さらに、従来のブートローダシステムの場合、同時に複数の応用プログラムが実行される環境では、各応用プログラムのプロセスを効率的に管理することができないという短所があった。
【０００５】
このため、ロボットシステムの制御に関連した複数の応用プログラムを効率的に管理し、問題が生じた場合にも速やかに対応できる制御方法及び装置の開発が求められている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施例は、ランタイムシステムを用いて内蔵型ロボットシステムを効率的に管理するための方法及びその装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、ロボットシステムに内蔵されたマスタ制御機を用いて上記ロボットシステムを制御するロボットシステムの制御装置であって、上記マスタ制御機はランタイム部と、ランタイムの実行のためのランタイムコード、ランタイムシンボルテーブル及びロボットシステムの指定された機能を行うアプリケーションコードを格納する格納部と、ランタイムの実行のための演算を行い、上記ロボットシステムを制御するための信号の流れを制御する演算部と、上記ロボットシステムのホストコンピュータと通信する通信部と、を含み、上記ランタイム部は、上記アプリケーションコードをローディングするアプリケーションローダモジュールと、ローディングされたアプリケーションコードを実行する応用プログラムインターフェースモジュールと、を含むことを特徴とするロボットシステムの制御装置が提供される。
【０００８】
上記ランタイム部は、上記ロボットシステムに内蔵されたスレーブ制御機の認識及び上記ロボットシステムのシステム情報構成を動的に管理する制御機形状管理モジュールをさらに含むことができる。
【０００９】
また、上記ランタイム部は、上記ランタイムの動作に関する履歴情報を生成するデータロガーモジュールをさらに含むことができる。
【００１０】
上記応用プログラムインターフェースモジュールは、上記ロボットシステムの運営体制のシステムコールを用いて上記アプリケーションコードを実行し、上記アプリケーションコードの実行のために参照する媒介変数は、上記ロボットシステムの制御装置のレジストリを用いて伝達されることができる。
【００１１】
本発明の他の側面によれば、ロボットシステムに内蔵されたマスタ制御機を用いて上記ロボットシステムを制御する方法であって、上記ロボットシステムに備えられたブートローダを用いて上記マスタ制御機を初期化するステップと、上記マスタ制御機の格納空間に格納されたランタイム実行コードをローディングしてランタイムを実行するステップと、上記マスタ制御機の格納空間に格納された応用プログラムをローディングして実行するステップと、を含むことができる。
【００１２】
上記ランタイムを実行するステップの後に、上記マスタ制御機の動作に関する履歴情報を生成するステップをさらに含むことができる。
【００１３】
上記ロボットシステムは、スレーブ制御機をさらに含み、上記ランタイムの実行のステップの後に、上記スレーブ制御機及びシステム情報構成を動的に管理するステップをさらに含むことができる。
【００１４】
上記応用プログラムをローディングして実行するステップは、上記ロボットシステムの運営体制のシステムコールを用い、上記応用プログラムを実行するための媒介変数は、上記マスタ制御機のレジストリを用いて伝達されることができる。
【００１５】
上述の以外の他の側面、特徴、利点は、以下の図面、特許請求の範囲及び発明の詳細な説明により明確になる。
【発明の効果】
【００１６】
本発明の実施例によれば、ロボットシステムの制御にランタイムを導入することにより、ロボットシステムの機能を実現するための応用プログラムの管理効率性を再考することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施例に係るランタイムを支援するに用いられるロボット制御システムが実現された環境を例示する図面である。
【図２】本発明の一実施例に係るランタイム利用ロボットシステムの制御装置の構成図である。
【図３】本発明の一実施例に係る制御機ランタイムの構成を例示する図面である。
【図４】本発明の一実施例に係るランタイム利用ロボットシステムの制御方法の流れ図である。
【図５】本発明の一実施例に係る制御機のランタイムローディング動作を例示する図面である。
【図６】本発明の一実施例に係る制御機の応用プログラムローディングステップを例示する図面である。
【図７】本発明の一実施例に係る制御機の応用プログラムの実行ステップを例示する図面である。
【図８】本発明の一実施例に係る制御機のアプリケーションホストインターフェースを例示する図面である。
【図９】本発明の一実施例に係る制御機のランタイムに含まれたアプリケーションローダの動作を例示する図面である。
【図１０】本発明の一実施例に係る制御機のランタイムの応用プログラムインターフェースを例示する図面である。
【発明を実施するための形態】
【００１８】
以下、本発明に係るランタイムを用いたロボットシステムの制御方法及びその装置の実施例を添付図面に基づいて詳細に説明する。
【００１９】
しかし、これは本発明を特定の実施形態に限定するものではなく、本発明の思想及び技術範囲に含まれるあらゆる変換、均等物ないし代替物を含むものとして理解すべきである。本発明を説明するに当たって、係わる公知技術に対する具体的な説明が本発明の要旨をかえって不明にすると判断される場合、その詳細な説明を省略する。また、添付図面を参照して説明するに当たって、同一または対応する構成要素は同一の図面番号を付し、これに対する重複説明は省略する。
【００２０】
図１は、本発明の一実施例に係るランタイムを支援するに用いられるロボット制御システムが実現された環境を例示する図面である。図１を参照すると、ロボットシステム１００は、マスタ制御機１１０、ランタイム部１２０、第１スレーブ制御機１３０、第２スレーブ制御機１４０を含むことができる。マスタ制御機１１０は、ホストコンピュータ１５０と通信することにより使用者の命令を受けることができる。
【００２１】
ロボットシステム１００は、複数のマニピュレータを含むことができる。複数のマニピュレータは、マスタ制御機１１０及び／またはスレーブ制御機１３０，１４０により制御できる。
【００２２】
マスタ制御機１１０はロボットシステム１００のメイン制御機であって、ホストコンピュータ１５０から使用者命令を受け、スレーブ制御機１３０，１４０及び／またはロボットマニピュレータを管理／制御することができる。本発明の一実施例に係るマスタ制御機は、単純ブートローダ方式ではなく、ランタイム部１２０を採用することによりロボットシステム１００の管理効率性を高めることができる。
【００２３】
スレーブ制御機１３０，１４０は、各スレーブ駆動機の制御動作に必要とされる機能がファームウエアの形態で実現されたファームウエアモジュールを含むことができる。スレーブ制御機１３０，１４０は、マスタ制御機１１０と通信部により連結され、マスタ制御機１１０により管理されることができる。
【００２４】
ホストコンピュータ１５０は、ロボットシステム１００の使用者がロボットシステム１００を制御するために用いる端末機であって、コンピュータ以外の公知の様々な端末機も含まれる。使用者はホストコンピュータ１５０を介してマスタ制御機１１０のランタイム部１２０に接続し、ロボットシステム１００を管理することができる。
【００２５】
図２は、本発明の一実施例に係るランタイム利用ロボットシステムの制御装置の構成図である。図２を参照すると、本発明の実施例に係るマスタ制御機１１０は、演算部１１２、格納部１１４、通信部１１８及びランタイム部１２０を含むことができる。
【００２６】
演算部１１２は、マスタ制御機１１０の中央処理装置（ＣＰＵ）に対応するものであって、マスタ制御機１１０内の信号の流れを制御し、マスタ制御機１１０にて行われる機能を果たすための物理的な演算を実行することができる。例えば、本発明の実施例に係る演算部１１２は、ランタイム部１２０を制御してランタイムを実行するための演算を行い、ロボットシステムの制御装置内の信号の流れを制御することができる。
【００２７】
格納部１１４は、マスタ制御機１１０の機能を行うために必要なデータを格納する空間であって、マスタ制御機内のメモリチップに対応する。すなわち、格納部１１４は、ランタイムの実行のためのランタイムコード、ランタイムシンボルテーブル、ロボットシステムの機能を実現するアプリケーションコード及びアプリケーションを駆動する過程で必要とされるデータまたはその結果データを格納することができる。例えば、本発明の実施例に係るマスタ制御機１１０の格納部１１４は、ラム（ＲＡＭ）１１５と非揮発性メモリ１１６に分けられる。
【００２８】
ラム１１５は、マスタ制御機１１０の動作中に演算の対象となる情報を格納する機能を行うことができる。ラム１１５の場合は、一般に非揮発性メモリ１１６に比して速い応答速度を示し、電源の遮断によりその内容が初期化する特性を有する。ラム１１５は、ロボットシステム１００が機動する状態に応じて必要な様々な情報を格納することができる。
【００２９】
非揮発性メモリ１１６は、電源を遮断してもその内容を保持する特性を有し、フラッシュメモリなどの素子を用いて実現することができる。非揮発性メモリ１１６は、ランタイムコード、ランタイムシンボルテーブル、ロボットシステムの機能を実現するためのアプリケーションコード、及びアプリケーションの駆動によるアプリケーションデータを格納することができる。ロボットシステム１００の動作ステップにより格納部１１４に格納される情報は、図４乃至図７を参照して詳細に後述する。
【００３０】
通信部１１８は、ロボットシステム１００のホストコンピュータと通信することができる。すなわち、マスタ制御機１１０とホストコンピュータ１５０との間の信号の伝達を担当することができる。また、通信部１１８はマスタ制御機１１０とロボットシステム１００の他の部分（例えば、スレーブ制御機、マニピュレータ）との通信を担当することができる。ロボットシステム１００を制御するための信号の伝達はＴＣＰソケット通信、ＵＤＰ通信、ＴＦＴＰ通信などの様々な方法で実現可能であり、通信部１１８は、このような通信を担当するネットワーキングハードウェアに対応し得る。
【００３１】
マスタ制御機１１０を構成するその他の必要なハードウェア自体構成に関する説明は、本発明が属する技術分野で通常の知識を有する者（以下、当業者という）には自明な事項であるので、以下でその具体的な説明は省略する。ロボットシステム１００の制御機のためのマスタ制御機１１０の動作及びランタイム部１２０の構成は、他の図面を参照して詳細に説明する。
【００３２】
図３は、本発明の一実施例に係るマスタ制御機１１０のランタイム部１２０の構成を例示する図面である。図３を参照すると、本発明の実施例に係るランタイム部１２０が実行する機能を該機能別にブロック化した構成部が例示されている。しかし、これは本発明の理解と説明の便宜のために例示したものに過ぎなく、各機能によるランタイム部１２０の構成は様々に細分化されるか、または２つ以上統合して構成できることは当業者に自明なことである。
【００３３】
本発明の実施例に係るランタイム部１２０は、ハードウェアデバイスドライバモジュール３１０、ハードウェア管理モジュール、メモリ管理モジュール、通信プロトコルモジュール、使用者命令インターフェースモジュール、シミューレーターインターフェースモジュール、データロガーモジュール３２０、制御機形状管理モジュール３３０、アプリケーションローダモジュール３４０、応用プログラムインターフェースモジュール３５０及び運営体制カーネル３６０のうちの一つ以上を含むことができる。
【００３４】
制御機形状管理モジュール３３０は、ロボットシステム１００に内蔵されたスレーブ制御機の認識及びシステム情報構成を動的に管理することができる。
【００３５】
運営体制カーネル３６０は、一般の運営体制のカーネルのように、各機能別の構成要素を管理することができる。
【００３６】
ハードウェアデバイスドライバモジュール３１０は、マスタ制御機１１０のハードウェアの構成要素を駆動するためのドライバーを支援することができる。よって、ランタイム部１２０の各構成要素は、このハードウェアデバイスドライバモジュール３１０を介してハードウェア資源を活用することになり、ハードウェアの使用に関する情報はランタイム部１２０のハードウェア管理機能とメモリ管理機能により管理できる。
【００３７】
データロガーモジュール３２０は、ロボットシステム１００を制御するマスタ制御機１１０及びスレーブ制御機１３０，１４０などの動作に関する履歴情報を収集し記録することができる。このような制御履歴情報は、ホストコンピュータ１５０に伝送できる。データロガーモジュール３２０は、例えばＴＣＰ／ＩＰソケット通信を介してホストコンピュータと情報を交換することができる。
【００３８】
アプリケーションローダモジュール３４０は、ロボットシステム１００の機能を実現するための応用プログラムローディング機能とシンボルテーブルローディング機能とを提供することができる。
【００３９】
ここで、アプリケーションローダモジュール３４０は、使用者が別に作成したシンボルテーブルのデータ値を応用プログラムインターフェースモジュール３５０により実行される応用プログラムにローディングする機能を提供することができる。また、このように、応用プログラムローダを介して実行された応用プログラムは、ランタイムの応用プログラムインターフェースを介してランタイムの機能を呼び出して用いることができる。アプリケーションローダモジュール３４０の具体的な動作は、図９を参照して説明する。
【００４０】
応用プログラムインターフェースモジュール３５０は、ロボットシステム１００の運営体制のシステムコールを用いてアプリケーションコードを実行することができる。また、アプリケーションコードを実行するために参照する媒介変数は、ロボットシステムを制御する装置のレジストリを用いて伝達されることができる。すなわち、応用プログラムインターフェースモジュール３５０は、ロボットシステムの運営体制が提供するシステムコールを用いて応用プログラムの実行を支援するＡＰＩを支援するモジュールである。応用プログラムインターフェースの呼び出し及び実行については、図１０を参照して後述する。
【００４１】
使用者命令インターフェースモジュールは、ホストコンピュータ１５０から使用者命令を受信し、その実行結果をホストコンピュータ１５０に応答する機能を提供することができる。シミューレーターインターフェースモジュールは、ホストコンピュータ１５０上に搭載されたロボットシミュレーションソフトウェアとのインターフェースを提供することができる。
【００４２】
一方、本発明の一実施例に係るマスタ制御機１１０のランタイム部１２０は、汎用直列通信（ＵＡＲＴ）、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ＴＦＴＰ（Ｔｒｉｖｉａｌ  Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などが通信プロトコルを支援することができる。
【００４３】
図４は、本発明の一実施例に係るロボットシステムの制御方法の流れ図である。図５は、本発明の一実施例に係る制御機のランタイムローディング動作を例示する図面である。図６は、本発明の一実施例に係る制御機の応用プログラムローディングステップを例示する図面である。図７は、本発明の一実施例に係る制御機の応用プログラム実行ステップを例示する図面である。
【００４４】
ブートローダを用いて内蔵型制御機をブーティングするステップ（Ｓ４１０）は、ブートローダを用いてマスタ制御機１１０を初期化するステップである。つまり、ロボットシステム１００を制御するためにマスタ制御機１１０及び／またはスレーブ制御機１３０，１４０を初期化する過程である。この初期化過程によりマスタ制御機１１０にランタイムをローディングする準備が完了される。ブートローダによるロボットシステムの初期化過程に関する事項は当業者に自明な事項であるので、以下で詳細な説明は省略する。
【００４５】
ランタイムをローディングするステップ（Ｓ４２０）は、ブートローダによるロボットシステム１００の初期化過程を完了した後に、ランタイム部１２０の起動を準備する過程である。図５を参照すると、ランタイムローディング過程は、マスタ制御機１１０の非揮発性メモリ１１６からラム１１５にランタイムコードをローディングすることにより行われることができる。ブートローダによりマスタ制御機１１０の初期化及びブーティングを完了すると、ブートローダは、非揮発性メモリ１１６に格納されているランタイム実行コードをラム１１５にロードすることができる。ブートローダによりフラッシュメモリからランタイム実行コードのローディングが完了されると、ブートローダは、制御機の制御権限をランタイムコードに引き継ぎ、ランタイムを実行させる。すなわち、マスタ制御機１１０のメモリにランタイム実行コードをローディングすることにより、ランタイム部１２０を実行するステップである。ランタイムが実行されると、ランタイム実行コードにプログラミングされた初期化情報により、ランタイムデータが生成され得る。
【００４６】
応用プログラムをローディングするステップ（Ｓ４３０）は、ランタイム部１２０のアプリケーションローダモジュール３４０を用いてロボットシステムの応用プログラムをローディングするステップであって、マスタ制御機１１０のランタイム部１２０が実行された状態で、ロボットシステムの機能を実現するために応用プログラムをローディングするステップである。図６を参照すると、応用プログラムのローディングは、ランタイムシンボルテーブルと応用プログラム（アプリケーションコード１、アプリケーションコードＮ）をラム１１５にロードすることにより行われることができる。一方、ホストコンピュータ１５０の使用者は、ランタイム部１２０を介してランタイムシンボルテーブルを修正することができる。
【００４７】
応用プログラムを実行するステップ（Ｓ４４０）は、ランタイム部１２０の応用プログラムインターフェースモジュール３５０を用いて応用プログラムを実行するステップであって、ローディングされた応用プログラムを実行し、ロボットシステム１００の機能を実現するステップである。ここで、応用プログラムインターフェースモジュール３５０は、ロボットシステム１００の運営体制のシステムコールを用い、応用プログラムを実行するための媒介変数は、マスタ制御機１１０のレジストリを用いて伝達されることができる。アプリケーションコードのローディングが完了されると、ランタイム部１２０は、動的にプロセスを生成し、アプリケーションコードを実行させる。このとき、アプリケーションコードは、初期化情報に従いアプリケーションデータを生成し、必要によって、ランタイムシンボルテーブルを参照してアプリケーションデータを修正することができる。各応用プログラムは、運営体制に応じて別途のプロセスに生成され管理されることができる。マスタ制御機１１０のランタイム部１２０は、このように、同時にいくつかの応用プログラムをロードし実行することができる。
【００４８】
図８は、本発明の一実施例に係る制御機アプリケーションホストインターフェースを例示する図面である。
【００４９】
上述したように、マスタ制御機１１０のランタイム部１２０は、アプリケーション−ホストインターフェースを介してホストコンピュータ１５０と情報を交換することができる。図８に示すように、アプリケーション−ホストインターフェースは、使用者命令インターフェースモジュール、シミューレーターインターフェースモジュール、制御機形状管理モジュール３３０、メモリファイルシステムモジュール、及びアプリケーションローダモジュール３４０を含むことができる。
【００５０】
使用者命令インターフェースモジュールは、ＴＣＰソケット通信を介してホストコンピュータ１５０と情報を交換することができる。ホストコンピュータ１５０の使用者命令ウィンドウなどを介して使用者がロボット制御命令を入力すると、マスタ制御機１１０のアプリケーション−ホストインターフェースの使用者命令インターフェースモジュールがこれを受信して、使用者命令を実行し、その実行結果を使用者命令ウィンドウに応答することができる。
【００５１】
シミューレーターインターフェースモジュールは、ＴＣＰソケット通信を介してホストコンピュータのロボットシミューレーターと情報を交換することができる。
【００５２】
メモリファイルシステムモジュールは、ＴＦＴＰ通信を介してホストコンピュータのＴＦＴＰコンソールウィンドウと連結されることができる。使用者は、ＴＦＴＰ命令を介してマスタ制御機１１０にファイルをダウンロードするかまたは制御機からファイルをアップロードすることができ、ファイル名の変更、削除などの作業を行うことができる。
【００５３】
以上で説明した使用者命令インターフェースモジュール、シミューレーターインターフェースモジュール、制御機形状管理モジュール３３０、メモリファイルシステムモジュール、アプリケーションローダモジュール３４０及び応用プログラムインターフェースモジュール３５０の動作は、データロガークライアントによりモニタリングされることができる。このモニタリング情報は、ＵＤＰソケット通信を介してホストコンピュータ１５０のデータロガーサーバに伝送されることができる。
【００５４】
図９は、本発明の一実施例に係るランタイム部１２０に含まれたアプリケーションローダの動作を例示する図面である。
【００５５】
上述したように、アプリケーションローダモジュール３４０は、応用プログラムのローディング機能とシンボルテーブルローディング機能とを提供することができる。ここで、ランタイムシンボルテーブルは、使用者命令により構成されるか、またはファイル形態で構成されてフラッシュメモリに格納されることができる。また、応用プログラムは、応用プログラムの開発者によりＥＬＦ（Ｅｘｅｃｕｔａｂｌｅ  ａｎｄ  Ｌｉｎｋｉｎｇ  Ｆｏｒｍａｔ）ファイル形態でフラッシュメモリに格納されることができる。ＥＬＦファイル形態の応用プログラムは、プログラムのコード領域、データ領域及び追加領域を含むことができる。
【００５６】
アプリケーションローダモジュール３４０が実行されると、ランタイムシンボルテーブルがローディングされ得る。ランタイムシンボルローディングが完了されると、ＥＬＦファイルからプログラムヘッダを分析し、各プログラムセグメントが抽出され、抽出されたプログラムセグメントはラム１１５にローディングされることができる。応用プログラムのローディングが完了されると、アプリケーションローダモジュール３４０は既にローディングされたランタイムシンボルテーブルを検索し、応用プログラムのシンボルデータと一致するシンボルデータを探して応用プログラムのデータ領域にローディングすることができる。
【００５７】
応用プログラム及びシンボルテーブルのローディングが完了されると、ランタイム部１２０は新たな応用プロセスを生成し、応用プログラムを実行するために運営体制のシステムコールを呼び出すことができる。運営体制から新しいプロセスが割り当てられて、応用プログラムが実行されると、応用プログラムは、プログラム内部に別途のスレッドを生成して実行させることができる。
【００５８】
図１０は、本発明の一実施例に係る制御機ランタイムの応用プログラムインターフェースを例示する図面である。
【００５９】
マスタ制御機１１０のランタイム部１２０が提供する応用プログラムインターフェースモジュール３５０は、モーションＡＰＩ、ＰＯＳＩＸ  ＡＰＩ、通信ＡＰＩ、制御機ＡＰＩ及び入出力ＡＰＩを含むことができる。ロボットシステム１００の機能を実現するための様々な応用プログラムは、運営体制が提供するシステムコールを介してランタイム部１２０の応用プログラムインターフェース（ＡＰＩ）を呼び出すことにより実行されることができる。
【００６０】
ＡＰＩ要請とともに伝達される媒介変数、及び呼び出されたＡＰＩに該当するシステムコール番号は、マスタ制御機１１０のシステムレジストリにコピーされ得る。応用プログラムでＡＰＩ呼び出しによるシステムコールが発生すると、これを運営体制が受信し、処理するためにソフトウェアインタラプトが発生されることができる。
【００６１】
応用プログラムによるソフトウェアインタラプトが発生すると、運営体制のソフトウェアインタラプトハンドラ内のシステムコールハンドラ（ＳＹＳＴＥＭ  ＣＡＬＬ  ＨＡＮＤＬＥＲ）が、運営体制のシステムコールテーブルに登録された当該システムコールのハンドラ住所（ＡＰＩ住所）を参照し、要請されたＡＰＩを呼び出して実行させる。このとき、呼び出されたＡＰＩは、マスタ制御機１１０のシステムレジストリに格納されているＡＰＩ要請パラメータを媒介変数として入力を受けて処理されることができる。ソフトウェアインタラプトとシステムコールとを介してＡＰＩが呼び出され、実行が完了されると、その実行結果はソフトウェアインタラプトハンドラにより応用プログラムに返還されることができる。
【００６２】
以上では、本発明の理解と説明の便宜のために、一実施例を主にして説明した。しかし、本発明が属する技術分野で通常の知識を有する者は、本発明が本発明の本質的な特性から逸脱しない範囲内で変形された形態で実現できることを理解できよう。よって、開示された実施例は、限定的な観点ではなく説明的な観点で考慮しなければならない。本発明の範囲は上述の説明ではなく特許請求範囲に記載されており、それと同等な範囲内にあるあらゆる差異は本発明に含まれるものとして解釈されるべきである。
【図１】
2013518733.tif 000003
【図２】
2013518733.tif 000004
【図３】
2013518733.tif 000005
【図４】
2013518733.tif 000006
【図５】
2013518733.tif 000007
【図６】
2013518733.tif 000008
【図７】
2013518733.tif 000009
【図８】
2013518733.tif 000010
【図９】
2013518733.tif 000011
【図１０】
2013518733.tif 000012
【国際調査報告】
2013518733.tif 000013
2013518733.tif 000014
2013518733.tif 000015
2013518733.tif 000016