RTM-Lua

View the Project on GitHub Nobu19800/RTM-Lua

パッケージ管理システム

OpenRTM LuaではLuaRocksを利用したパッケージ管理システムを用意しています。

自作モジュールのインストール

RTC Builderでコード生成を行うとrockspecファイルが生成されます。 rockspecファイルはモジュールの仕様、依存関係、インストールされるファイルの情報を記載したファイルです。

rockspec

自作のRTCをインストールするためには、rockspecファイルの存在するフォルダに移動してluarocksコマンドを実行します。

> luarocks make

インストールしたモジュールの利用

OpenRTM Luaに付属しているrtcd.luaを使用してインストールしたRTCを起動することができます。

まずOpenRTM-aistやOpenRTM Luaの基本的な仕組みとして、まずRTCを管理するマネージャが起動して、マネージャがRTCを単一、もしくは複数起動するということになっています。 詳しくはこのページに記載してあります。

つまりRTC Builderで生成したLuaファイルマネージャの起動とRTCの起動を行っているということになります。

対してrtcd.luaは何も設定しなければマネージャの起動しか実行しません。 RTCを起動する場合は、RTCのLuaファイルをロードする必要があります。

rtc.confに以下のように記述してください。 RTCの名前は適宜変更してください。

manager.components.precreate: Sample_RTComponent

rtc.confrtcd.luaと同じフォルダに配置するか、コマンドラインオプションでrtc.confを指定してrtcd.luaを実行します。

> lua rtcd.lua -f rtc.conf 

rtc.confを使用しない場合でも、コマンドラインオプションで設定することもできます。

> lua rtcd.lua -o manager.components.precreate:Sample_RTComponent

自作モジュールのLuaRocksへの登録

自作モジュールをLuaRocksに登録することで、ユーザーが簡単にモジュールを導入することができます。

ソースコードの公開

まずはソースコードをGitHub等で公開してください。ソースコードがダウンロードできる状態であれば問題ありません。

LuaRocksへの登録、キーの取得

次にLuaRocksにログインしてください。 GitHubのアカウントでログインできますが、持っていない場合はユーザー登録をしてください。

ログイン後、Settings->API kaysのページを開いて新規にキーを作成します。

luarocks

rockspecファイルの編集

rockspecファイルにGitHub等のリポジトリを指定する必要があるため編集します。 リポジトリは適宜変更してください。GitHubのリポジトリの場合は最初にgit://と記述します。 ZIPファイルなどの場所を指定する場合はhttp://からはじめてください。

source = {
   url = "git://github.com/UserName/Sample_RTComponent"
}

モジュールの登録

LuaRocksのアップロードをコマンドで実行するためにはdkjsonのインストールが必要になります。 以下のコマンドでインストールしてください。

$ sudo luarocks install dkjson

RTC Builderで作成したRTCのフォルダに移動して以下のコマンドを実行します。rockspecファイルの名前は適宜変更してください。 何故かWindowsでは失敗することがあるようです。その場合はLuaRocksの管理画面から登録してください。

$ luarocks upload sample_rtcomponent-1.0.0-1.rockspec --api-key=*******

これで登録完了です。 インストールするときは以下のコマンドを実行します。インストールはWindowsでも問題ありません。

> luarocks install sample_rtcomponent