OpenRTM LuaではLuaRocksを利用したパッケージ管理システムを用意しています。
RTC Builderでコード生成を行うと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.conf
をrtcd.lua
と同じフォルダに配置するか、コマンドラインオプションでrtc.conf
を指定してrtcd.lua
を実行します。
> lua rtcd.lua -f rtc.conf
rtc.conf
を使用しない場合でも、コマンドラインオプションで設定することもできます。
> lua rtcd.lua -o manager.components.precreate:Sample_RTComponent
自作モジュールをLuaRocksに登録することで、ユーザーが簡単にモジュールを導入することができます。
まずはソースコードをGitHub等で公開してください。ソースコードがダウンロードできる状態であれば問題ありません。
次にLuaRocksにログインしてください。 GitHubのアカウントでログインできますが、持っていない場合はユーザー登録をしてください。
ログイン後、Settings
->API kays
のページを開いて新規にキーを作成します。
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