ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
よくわからないですけど、OpenRTM-aist-1.1.1のリリースは昨日じゃなかったみたいです。
このページにそんな感じの事を書いてあるのですが、暫定的に書いてあるだけだったみたいです。
今回の記事は1.1.1をインストールして簡単なRTCを作ったりして何か書こうかと思ったのですが、出来なくなったので書くことがありません。
とりあえず、Pythonで文字コードの変換をするRTCを作成したのでこれの紹介でもしておきます。
このページにソースコードがあります。
EncodeData.pyを起動すると以下のデータポートを持つRTCが起動します。
簡単なテストをする時に役立つかもしれないので気が向いたら使ってください。
ただ本格的なシステムで使うならRTMコンテスト2013の作品に含まれているUTF08_changerというRTCを使った方が良いでしょう。
僕のは書くことがなくなったからと30分ぐらいで作ったやっつけのプログラムなので。
ただ、例えばUTF08_changerはWindows APIを使っているのでLinuxで使いたいとか、WStringも変換して出力したいとか、そちらで変換前、変換後の文字コードを指定したいとかいう場合は僕が作った方を使ってもよいですが、余程の理由がない限りあちらを使用した方が良いとは思います。プロジェクトページのコメント欄でも絶賛されていますし。僕もこんなこと言われてみたいです。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
このページにそんな感じの事を書いてあるのですが、暫定的に書いてあるだけだったみたいです。
今回の記事は1.1.1をインストールして簡単なRTCを作ったりして何か書こうかと思ったのですが、出来なくなったので書くことがありません。
とりあえず、Pythonで文字コードの変換をするRTCを作成したのでこれの紹介でもしておきます。
このページにソースコードがあります。
EncodeData.pyを起動すると以下のデータポートを持つRTCが起動します。
- StringIn(DataInPort,、TimedString型)
- WStringIn(DataInPort,、TimedWString型)
- StringOut(DataOutPort,、TimedString型)
- WStringOut(DataOutPort,、TimedWString型)
- InputCode
- OutputCode
- StringInで読み込んだ文字列をInputCodeで指定した文字コードからUnicodeに変換
- Unicodeに変換した文字列をWStringOutから出力
- Unicodeに変換した文字列をOutputCodeで指定した文字コードでエンコードしてStringOutから出力
- WStringInで読み込んだ文字列をWStringOutから出力
- WStringInで読み込んだ文字列をOutputCodeに指定した文字コードでエンコードしてStringOutから出力
簡単なテストをする時に役立つかもしれないので気が向いたら使ってください。
ただ本格的なシステムで使うならRTMコンテスト2013の作品に含まれているUTF08_changerというRTCを使った方が良いでしょう。
僕のは書くことがなくなったからと30分ぐらいで作ったやっつけのプログラムなので。
ただ、例えばUTF08_changerはWindows APIを使っているのでLinuxで使いたいとか、WStringも変換して出力したいとか、そちらで変換前、変換後の文字コードを指定したいとかいう場合は僕が作った方を使ってもよいですが、余程の理由がない限りあちらを使用した方が良いとは思います。プロジェクトページのコメント欄でも絶賛されていますし。僕もこんなこと言われてみたいです。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
PR
明日OpenRTM-aist-1.1.1がリリースされるとかされないとかなので少し楽しみです。
よくよく考えてみたら1.1.1-Releaseの公開が近いのに、このタイミングでRTMコンテストの作品投稿をする人なんていないか。皆さん1.1.1-Releaseに対応させてくると思いますから。
それにしてもコメントが付かない。何回言うんだ
そろそろTwitterで宣伝した効果も切れてるみたいなので詰んでいるような気がします。
協力してくれそうな知り合いもいないのでプロジェクトページにアクセスしてくれた誰かに頼るしかないのですが、このままではベストサポート賞とかは厳しいですね。
他の作品が投稿され始めたら見に来る人も増えるかもしれませんし、他の参加者がコメントをくれるかもしれないのでそれに期待するしかなさそうです。ちょっとぐらい自分の作品に費やす時間を削って協力してくれてもいいじゃないですか。なんでだ
そういえばUbuntuにOpenRTM-aist-Pythonをインストールする場合、PPAを使えば簡単にインストールできるらしい。ソースからビルドするのが普通の方法だと思ってました。これでOpenOfficeのRTCをUbuntuで使う時のハードルが下がります。マニュアルにもPPAによるインストールを追記しておきました。
こういうことは言われないと知らない事も多いので、何か有用な情報のある人は教えていただけると助かります。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
よくよく考えてみたら1.1.1-Releaseの公開が近いのに、このタイミングでRTMコンテストの作品投稿をする人なんていないか。皆さん1.1.1-Releaseに対応させてくると思いますから。
それにしてもコメントが付かない。何回言うんだ
そろそろTwitterで宣伝した効果も切れてるみたいなので詰んでいるような気がします。
協力してくれそうな知り合いもいないのでプロジェクトページにアクセスしてくれた誰かに頼るしかないのですが、このままではベストサポート賞とかは厳しいですね。
他の作品が投稿され始めたら見に来る人も増えるかもしれませんし、他の参加者がコメントをくれるかもしれないのでそれに期待するしかなさそうです。ちょっとぐらい自分の作品に費やす時間を削って協力してくれてもいいじゃないですか。なんでだ
そういえばUbuntuにOpenRTM-aist-Pythonをインストールする場合、PPAを使えば簡単にインストールできるらしい。ソースからビルドするのが普通の方法だと思ってました。これでOpenOfficeのRTCをUbuntuで使う時のハードルが下がります。マニュアルにもPPAによるインストールを追記しておきました。
こういうことは言われないと知らない事も多いので、何か有用な情報のある人は教えていただけると助かります。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
以前立てた目標を変更します。
そういえばいつぞやかの記事で「PACKAGEというプロジェクトをビルドしてできるMSIインストーラーで配布している人はあまりいない」と書きましたが、よく考えてみれば相当数のRTCが単体ではなくRTC群という形で公開されているのであまり使われていない印象なのだと思いました。個別でインストールするのは非常に面倒ですからね。
そういう場合は自分でwxsファイルを作成して一括でインストールできるインストーラーを作成する必要がありそうです。面倒ならWixEditを使うのも良いでしょう。
以前の記事で書きましたが、やはりインストーラーを作ってほしいです。
もしくは付属の実行ファイルなりバッチファイルなりを起動するだけで動作できるとか。
勝手な意見なのはわかっていますが、他に20件ぐらい作品があると考えるとCMakeからビルドするのはしんどいです。
趣旨とずれているかもしれませんが、「自分の作ったものをアピールしたい」ではなくて「自分の作ったものを使ってほしい」という気持ちで公開してほしいです。なぜなら僕が使ってみたいからです。
依存ソフトウェアのインストールも含めて10分以内に動作確認できるのが理想だと思います。
というわけでOpennRTM-aistを10分で始めようみたいに10分以内に動作できるような作品を目指して頑張ってください。
・・・お前が頑張れよとか突っ込まれてそうなのですが、前述したように僕が使ってみたいので動作までを容易にしてほしいと言っているだけです。
僕は自分で作ったRTCは使いこなせているので必要ありません。
さすがにそれは傍若無人なので30分以内を目指して頑張ります。皆さんは10分以内を目指してください。
バイナリで配布するとなるとライセンスが問題になりそうですね。
正直僕もよく理解していないのですが再配布についていろいろ書いていきます。
OpenRTM-aistはLGPLなので条件を満たしていれば再配布は大丈夫なのですが、ライセンス次第ではできないこともあるので注意してください。
omniORBのライセンスはライブラリがLGPL、ツールがGPLとなっているようです。
ツールはomniidlとかの事だと思うので、RTCを再配布する人はライブラリのLGPLだけ気にすれば良いと思います。
ただし、OpenRTM-aistのページにも書いてありますが動的リンクしている場合はライセンスは自由に決めていいようです。
これが静的リンクなり再配布なりをしてしまうとLGPL感染するのでソースコードの開示等を行わなくてはなりません。
一方GPLライセンスのライブラリに動的リンクした場合ですが、調べたところ扱いがはっきりしないらしいです。
とりあえず不都合がなければGPLにしておけば安全だとは思いますが、よくわかりません。GPLのライブラリを使用したら自分のソフトウェアもGPLにしなければならないのでどうも嫌っている人は多いみたいです。
ただ動的リンクにも暗黙的リンクと明示的リンクがあるわけで、暗黙的リンクの場合はGPLになるかもしれないのはわかるのですが、明示的リンクの場合はどちらになるのかよくわかりません。詳しい人は教えてください。
ライセンスについてわかりやすくまとめてあるサイトがあったので、とりあえずこのページを読んで勉強してみます。
とりあえずRTCで使われそうなライブラリのライセンスを書いておきます。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
- 全参加者の中で一番最初に作品投稿を行う(達成済み)
- プロジェクトのページにコメントを3つ2つ以上貰う(ソースコード、マニュアルがどこにあるかわからないといったコメントはノーカウント)+自分で書いた返信コメントもカウント+別アカウントによる自作自演もあり
- 賞を2つ以上貰う
そういえばいつぞやかの記事で「PACKAGEというプロジェクトをビルドしてできるMSIインストーラーで配布している人はあまりいない」と書きましたが、よく考えてみれば相当数のRTCが単体ではなくRTC群という形で公開されているのであまり使われていない印象なのだと思いました。個別でインストールするのは非常に面倒ですからね。
そういう場合は自分でwxsファイルを作成して一括でインストールできるインストーラーを作成する必要がありそうです。面倒ならWixEditを使うのも良いでしょう。
以前の記事で書きましたが、やはりインストーラーを作ってほしいです。
もしくは付属の実行ファイルなりバッチファイルなりを起動するだけで動作できるとか。
勝手な意見なのはわかっていますが、他に20件ぐらい作品があると考えるとCMakeからビルドするのはしんどいです。
趣旨とずれているかもしれませんが、「自分の作ったものをアピールしたい」ではなくて「自分の作ったものを使ってほしい」という気持ちで公開してほしいです。なぜなら僕が使ってみたいからです。
依存ソフトウェアのインストールも含めて10分以内に動作確認できるのが理想だと思います。
というわけでOpennRTM-aistを10分で始めようみたいに10分以内に動作できるような作品を目指して頑張ってください。
・・・お前が頑張れよとか突っ込まれてそうなのですが、前述したように僕が使ってみたいので動作までを容易にしてほしいと言っているだけです。
僕は自分で作ったRTCは使いこなせているので必要ありません。
さすがにそれは傍若無人なので30分以内を目指して頑張ります。皆さんは10分以内を目指してください。
バイナリで配布するとなるとライセンスが問題になりそうですね。
正直僕もよく理解していないのですが再配布についていろいろ書いていきます。
OpenRTM-aistはLGPLなので条件を満たしていれば再配布は大丈夫なのですが、ライセンス次第ではできないこともあるので注意してください。
omniORBのライセンスはライブラリがLGPL、ツールがGPLとなっているようです。
ツールはomniidlとかの事だと思うので、RTCを再配布する人はライブラリのLGPLだけ気にすれば良いと思います。
ただし、OpenRTM-aistのページにも書いてありますが動的リンクしている場合はライセンスは自由に決めていいようです。
これが静的リンクなり再配布なりをしてしまうとLGPL感染するのでソースコードの開示等を行わなくてはなりません。
一方GPLライセンスのライブラリに動的リンクした場合ですが、調べたところ扱いがはっきりしないらしいです。
とりあえず不都合がなければGPLにしておけば安全だとは思いますが、よくわかりません。GPLのライブラリを使用したら自分のソフトウェアもGPLにしなければならないのでどうも嫌っている人は多いみたいです。
ただ動的リンクにも暗黙的リンクと明示的リンクがあるわけで、暗黙的リンクの場合はGPLになるかもしれないのはわかるのですが、明示的リンクの場合はどちらになるのかよくわかりません。詳しい人は教えてください。
ライセンスについてわかりやすくまとめてあるサイトがあったので、とりあえずこのページを読んで勉強してみます。
とりあえずRTCで使われそうなライブラリのライセンスを書いておきます。
- OpenRTM-aist:LGPLと個別契約のデュアルライセンス
- RTSystemEditor, RTCBuilder:EPLと個別契約のデュアルライセンス
- rtshell,rtctree:EPL
- OpenCV:BSD
- Choreonoid:LGPL
- OpenHRP3:EPL
- RTno:RTnoがLGPL、RTnoProxyはGPL
- OpenHRI:EPL
- Open Dynamics Engine:BSD
- Ogre3D:MIT
- Python:PSFL
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
とりあえずマニュアルを見直しています。
何というか書くことが特にないのでOpenOfficeを操作するRTCの作り方を書いておこうと思います。
まずはRTC Builderで適当にPythonのコードを生成してください。
そして一部のコードを変更します。
sys.path.append(".")の次の行あたりに、
Windowsの場合
sys.path += ['C:\\Python26\\lib\\site-packages', 'C:\\Python26\\Lib\\site-packages\\OpenRTM_aist\\RTM_IDL']
Ubuntuの場合
sys.path += ['/usr/lib/python2.6/dist-packages']
を追加してください。ただし、Apache OpenOffice 4系、LibreOffice 3.5を使用している場合はPython26、python2.6の部分をPython27、python2.7に変更してください。
ここで指定したPythonにOpenRTM-aist-Pythonがインストールされていない場合動作できません。
後で使うのでimport osも追加しておいてください。
そしてmain関数のmgr = OpenRTM_aist.Manager.init(sys.argv)を以下のように変更してください。
mgr = OpenRTM_aist.Manager.init([os.path.abspath(__file__), '-f', '.\\rtc.conf'])
3番目の引数でrtc.confの場所を指定しています。rtc.confの存在するパスを記述してください。
最後にmgr.runManager()を以下のように書き換えてください。
mgr.runManager(True)
こうしないとrunManagerで処理をブロックするのでOpenOfficeがフリーズします。
次に作成したファイルを以下に配置してください。
WIndows
Apache OpenOffice 3.41の場合
C:\Users\ユーザー名\AppData\Roaming\OpenOffice.org\3\user\Scripts\Python
Apache OpenOffice 4.11の場合
C:\Users\ユーザー名\AppData\Roaming\OpenOffice\4\user\Scripts\Python
Ubuntu
OpenOffice.org 3.2の場合
~/.openoffice.org/3/user/Scripts/Python
LibreOffice 3.5の場合
~/.config/libreoffice/3/user/Scripts/Python
Scripts、Pythonフォルダがない場合は作成してください。
またAppData、.openoffice.org、.configは隠しフォルダになっているので注意してください。
それでとりあえずどれでもいいですがCalcを起動してツール→マクロ→マクロの実行を選択してください。
マクロセレクターのマイマクロの中にある先ほど作成したファイル名を選択してください。
そしてマクロ名でmainを選択して実行ボタンを押します。
これでRT System Editorを確認してRTCが起動できていればOKです。
あとはRTCのロジックにOpenOfficeを操作するプログラムを書けばいろいろできるようになります。
どのようなコードを書けばCalcでセルの値を変更できるかなどは他に詳しいサイトがあるので省略します。例えばこのサイトなんて詳しく書いてあるのでとても参考になります。
ただ一つだけ注意点がありましてApache OpenOffice 4.0以降、LibreOffice 4.0以降ではUNOの一部の関数が変更されています。
createMessageBoxと言うメッセージボックス作成の関数なのですが引数が5つから4つに減っています。以前のバージョンに合わせて作成されたプログラムの場合、2番目の引数を消すだけで4.0以降のバージョンでも動作できるようになるのでそうしてください。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
何というか書くことが特にないのでOpenOfficeを操作するRTCの作り方を書いておこうと思います。
まずはRTC Builderで適当にPythonのコードを生成してください。
そして一部のコードを変更します。
sys.path.append(".")の次の行あたりに、
Windowsの場合
sys.path += ['C:\\Python26\\lib\\site-packages', 'C:\\Python26\\Lib\\site-packages\\OpenRTM_aist\\RTM_IDL']
Ubuntuの場合
sys.path += ['/usr/lib/python2.6/dist-packages']
を追加してください。ただし、Apache OpenOffice 4系、LibreOffice 3.5を使用している場合はPython26、python2.6の部分をPython27、python2.7に変更してください。
ここで指定したPythonにOpenRTM-aist-Pythonがインストールされていない場合動作できません。
後で使うのでimport osも追加しておいてください。
そしてmain関数のmgr = OpenRTM_aist.Manager.init(sys.argv)を以下のように変更してください。
mgr = OpenRTM_aist.Manager.init([os.path.abspath(__file__), '-f', '.\\rtc.conf'])
3番目の引数でrtc.confの場所を指定しています。rtc.confの存在するパスを記述してください。
最後にmgr.runManager()を以下のように書き換えてください。
mgr.runManager(True)
こうしないとrunManagerで処理をブロックするのでOpenOfficeがフリーズします。
次に作成したファイルを以下に配置してください。
WIndows
Apache OpenOffice 3.41の場合
C:\Users\ユーザー名\AppData\Roaming\OpenOffice.org\3\user\Scripts\Python
Apache OpenOffice 4.11の場合
C:\Users\ユーザー名\AppData\Roaming\OpenOffice\4\user\Scripts\Python
Ubuntu
OpenOffice.org 3.2の場合
~/.openoffice.org/3/user/Scripts/Python
LibreOffice 3.5の場合
~/.config/libreoffice/3/user/Scripts/Python
Scripts、Pythonフォルダがない場合は作成してください。
またAppData、.openoffice.org、.configは隠しフォルダになっているので注意してください。
それでとりあえずどれでもいいですがCalcを起動してツール→マクロ→マクロの実行を選択してください。
マクロセレクターのマイマクロの中にある先ほど作成したファイル名を選択してください。
そしてマクロ名でmainを選択して実行ボタンを押します。
これでRT System Editorを確認してRTCが起動できていればOKです。
あとはRTCのロジックにOpenOfficeを操作するプログラムを書けばいろいろできるようになります。
どのようなコードを書けばCalcでセルの値を変更できるかなどは他に詳しいサイトがあるので省略します。例えばこのサイトなんて詳しく書いてあるのでとても参考になります。
ただ一つだけ注意点がありましてApache OpenOffice 4.0以降、LibreOffice 4.0以降ではUNOの一部の関数が変更されています。
createMessageBoxと言うメッセージボックス作成の関数なのですが引数が5つから4つに減っています。以前のバージョンに合わせて作成されたプログラムの場合、2番目の引数を消すだけで4.0以降のバージョンでも動作できるようになるのでそうしてください。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
とりあえずマニュアルの誤字等の修正とチュートリアルの追加等を行いました。
これで少しはわかりやすくなったと思います。
ちなみに現時点でのプロジェクトページへのアクセス数は0回です。
数日前に50回以上アクセスがあったのが嘘のような失速です。
コメントが全くないので自分がどういう評価なのかわかりませんが、多分そういう評価なのでしょう。
RTMのfacebookでCalc、ExcelのRTCが面白いとか書かれていて「何か賞をもらえるかも」と思ってRTMコンテストに参加したという経緯があります。
人を煽てておいて放置するのはまずいのではないですか?なんでだよ
というわけで1.1.1のリリースに向けての作業で忙しいとは思いますが、産総研のRTM関連の人はぜひプロジェクトページにコメントしてください。
すみません、自分で勘違いしただけなのにちょっと調子のいいことを書きすぎました。コメントは気が向いたら書いてください。もちろん他の人も暇であれば書いてください。
それにしても、他の参加者で一体どんな作品を投稿するのでしょうか?
「一番面白いものを作る」とか「優勝を狙う」とか書いてあるのは見ましたけど、全く実体が見えないので不気味です。参考になりそうなアイデアなり技術があればぜひともパクりたいので作品投稿を楽しみにしています。
個人的な意見なので聞き流してもらって構いませんが、他の参加者にはできれば以下の作業をしてほしいと思っています。かなり勝手な意見なので不快に思われた方は無視してください。
次に2ですが、これがわからなければ使う側も困惑するのでプロジェクトページには最悪これだけでいいので書いてほしいです。
最後に3はこれが一番の無茶振りなのは理解しているのですが、ユーザーにCMake→ビルドの作業を強いるのはさすがに辛いです。
極端な話ですがOpenRTM-aist-1.1.0にインストーラーがなくて「ソースからビルドしてね(・ω<)」とか言われたらさすがにやりたくないです。何年か前のOpenHRP3なんてまさにその状態でインストールで大苦戦しました。
WixでWindowsインストーラーは意外に簡単に作れるのでご検討をよろしくお願いします。Linuxは・・・・どうしましょうね?Debパッケージなんて作ったことないのですけど、どの程度の手間がかかるのでしょうか?
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
これで少しはわかりやすくなったと思います。
ちなみに現時点でのプロジェクトページへのアクセス数は0回です。
数日前に50回以上アクセスがあったのが嘘のような失速です。
コメントが全くないので自分がどういう評価なのかわかりませんが、多分そういう評価なのでしょう。
RTMのfacebookでCalc、ExcelのRTCが面白いとか書かれていて「何か賞をもらえるかも」と思ってRTMコンテストに参加したという経緯があります。
人を煽てておいて放置するのはまずいのではないですか?なんでだよ
というわけで1.1.1のリリースに向けての作業で忙しいとは思いますが、産総研のRTM関連の人はぜひプロジェクトページにコメントしてください。
すみません、自分で勘違いしただけなのにちょっと調子のいいことを書きすぎました。コメントは気が向いたら書いてください。もちろん他の人も暇であれば書いてください。
それにしても、他の参加者で一体どんな作品を投稿するのでしょうか?
「一番面白いものを作る」とか「優勝を狙う」とか書いてあるのは見ましたけど、全く実体が見えないので不気味です。参考になりそうなアイデアなり技術があればぜひともパクりたいので作品投稿を楽しみにしています。
個人的な意見なので聞き流してもらって構いませんが、他の参加者にはできれば以下の作業をしてほしいと思っています。かなり勝手な意見なので不快に思われた方は無視してください。
- 動作確認までが簡潔に書かれたマニュアルの作成
- ソースコード、マニュアルの入手先を明確に書くこと
- インストーラーの作成
次に2ですが、これがわからなければ使う側も困惑するのでプロジェクトページには最悪これだけでいいので書いてほしいです。
最後に3はこれが一番の無茶振りなのは理解しているのですが、ユーザーにCMake→ビルドの作業を強いるのはさすがに辛いです。
極端な話ですがOpenRTM-aist-1.1.0にインストーラーがなくて「ソースからビルドしてね(・ω<)」とか言われたらさすがにやりたくないです。何年か前のOpenHRP3なんてまさにその状態でインストールで大苦戦しました。
WixでWindowsインストーラーは意外に簡単に作れるのでご検討をよろしくお願いします。Linuxは・・・・どうしましょうね?Debパッケージなんて作ったことないのですけど、どの程度の手間がかかるのでしょうか?
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・