ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
とりあえず、RTミドルウェアコンテストに応募するRTCのマニュアルを書いています。
大体、50%ぐらいはできました。
OpenOfficeを操作するRTC群のマニュアル
MSOfficeを操作するRTC群のマニュアル
結局、ImpressとBaseを操作するRTCも作ってしまいました。
それから、Excel、Calcを操作するRTCに新機能を付けました。
プログラムを書くとか、設計を考えるとかよりもマニュアルを書く方が辛い。
同じ時間作業しても10倍疲れる。何せやっていて面白くない。
RTミドルウェアコンテスト2011の埼玉大の人の作品のマニュアルが100ページ以上もあるのですが、物凄い根性だなあと思いました。こんなに頑張ったんだから最優秀あげたらよかったのに。
僕には無理です。
皆さんpdfのマニュアルを付属させていますが、そうしたほうが良いのでしょうか?
そういえばRTミドルウェアコンテスト必勝法なんてスライドがありましたけど、これを読んで対策を立てていきたいとおもいます。
まずコンセプトを明確にすることが重要だと書いてありますが、ExcelとかCalcのRTCの用途として
ただ、それ以外のRTCのコンセプトが明確になっているかは微妙ですね。
次にオリジナリティを出すことが重要らしいです。とりあえずいつぞやの動画が好評だったので大丈夫だとは思いますが、多少不安です。さすがに被ったりすることはないとは思いますが。
最後にマニュアルをしっかり作ることが重要らしいです。
そういえば、前に参加したときもマニュアルが悪いとかコメントに書かれたなあ。
マニュアルに関しては、正直なところ賞貰ったら賞金の半分あげるから誰かに手伝ってほしいくらいです。
OpenRTM-aistのサイトで公開されるのは10月中旬頃らしいのでそれまでに形だけでも作ります。
最優秀賞に関して特に傾向はないと書いてありますが、僕は違うような感じがしました。
どうにも、2009~2012までは次の日にでも使えそうなRTCといった感じで使える環境が簡単に整うようなソフトウェアが選ばれてるような印象があります。
多分ですがそういうソフトウェアの方がたくさんの人に使ってもらえるのでコメントも付きやすいでしょうし、評価がやりやすいのではないかとは思います。
そうだと仮定すると目の付けどころは良かったのかもしれないけど、去年は違うから何とも言えません。
とりあえず個人的には笑いのとれるRTコンポーネントを見てみたい。
「うわ、何だこれ」とか言っちゃいそうなのを見たい。
例えば、RT System EditorのRTCが面白く表示されるとか。
というか、金さえあれば賞だしたい。
最後にお願いです。
マニュアルに他のRTCと組み合わせたRTシステムの例を載せたいと思っているのですが、万が一上のマニュアルのRTCを使ってRTシステムを作った方がいらっしゃいましたら下のコメント欄で教えてもらえたら大変助かります。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
大体、50%ぐらいはできました。
OpenOfficeを操作するRTC群のマニュアル
MSOfficeを操作するRTC群のマニュアル
結局、ImpressとBaseを操作するRTCも作ってしまいました。
それから、Excel、Calcを操作するRTCに新機能を付けました。
プログラムを書くとか、設計を考えるとかよりもマニュアルを書く方が辛い。
同じ時間作業しても10倍疲れる。何せやっていて面白くない。
RTミドルウェアコンテスト2011の埼玉大の人の作品のマニュアルが100ページ以上もあるのですが、物凄い根性だなあと思いました。こんなに頑張ったんだから最優秀あげたらよかったのに。
僕には無理です。
皆さんpdfのマニュアルを付属させていますが、そうしたほうが良いのでしょうか?
そういえばRTミドルウェアコンテスト必勝法なんてスライドがありましたけど、これを読んで対策を立てていきたいとおもいます。
まずコンセプトを明確にすることが重要だと書いてありますが、ExcelとかCalcのRTCの用途として
- データの保存
- 様々なグラフの表示
- 入力データを数式で計算後出力
ただ、それ以外のRTCのコンセプトが明確になっているかは微妙ですね。
次にオリジナリティを出すことが重要らしいです。とりあえずいつぞやの動画が好評だったので大丈夫だとは思いますが、多少不安です。さすがに被ったりすることはないとは思いますが。
最後にマニュアルをしっかり作ることが重要らしいです。
そういえば、前に参加したときもマニュアルが悪いとかコメントに書かれたなあ。
マニュアルに関しては、正直なところ賞貰ったら賞金の半分あげるから誰かに手伝ってほしいくらいです。
OpenRTM-aistのサイトで公開されるのは10月中旬頃らしいのでそれまでに形だけでも作ります。
最優秀賞に関して特に傾向はないと書いてありますが、僕は違うような感じがしました。
どうにも、2009~2012までは次の日にでも使えそうなRTCといった感じで使える環境が簡単に整うようなソフトウェアが選ばれてるような印象があります。
多分ですがそういうソフトウェアの方がたくさんの人に使ってもらえるのでコメントも付きやすいでしょうし、評価がやりやすいのではないかとは思います。
そうだと仮定すると目の付けどころは良かったのかもしれないけど、去年は違うから何とも言えません。
とりあえず個人的には笑いのとれるRTコンポーネントを見てみたい。
「うわ、何だこれ」とか言っちゃいそうなのを見たい。
例えば、RT System EditorのRTCが面白く表示されるとか。
というか、金さえあれば賞だしたい。
最後にお願いです。
マニュアルに他のRTCと組み合わせたRTシステムの例を載せたいと思っているのですが、万が一上のマニュアルのRTCを使ってRTシステムを作った方がいらっしゃいましたら下のコメント欄で教えてもらえたら大変助かります。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
PR
とりあえず、今年はRTミドルウェアコンテストに参加します。
正直なところ発表するのが面倒なので気乗りしないのですが、最近作ったソフトウェアが全然使われていないようなので参加します。
宣伝しようと思って4年間放置熟成していたTwitterに手を出してみたりもしたのですが、ハッシュタグ等が検索結果に全く反映されないといういやがらせを食らったため断念しました。
最近作ったものとしては、
ExcelRTC
Excelを操作するRTC
セルの値の入出力により値の変更、記録、グラフ表示等が容易になります。
WordRTC
Wordを操作するRTC
文字列の入力ができます。今のところ使えるかどうかは微妙なので今後改善したいと思います。
OOoCalcRTC
OpenOffice Calcを操作するRTC
ほぼExcelRTCのOpenOffice版です。
ただし、こちらはUbuntuでも動作確認済みです。
OOoDrawRTC
OpenOffice Drawを操作するRTC
図形の操作ができます。簡単なロボットの位置表示などならこれで出来ると思います。
OOoWriterRTC
OpenOffice Writerを操作するRTC
ほぼWordRTCのOpenOffice版です。
OgreRTC
2D、3Dゲーム開発用ソフトウェア
GUIにより2D、3Dゲームの作成ができます。
またユーザー独自のRTCを読み込むことで、様々なデータポート、サービスポートの入力によるゲームの操作ができます。
Ubuntuでも動作確認をしましたが、インストールするソフトが多いのが苦しい。
MultipleOrderedEC
実行順序設定可能な実行コンテキスト
RTCを同期並列実行できます。
GUIにより実行順序を設定することもできます。
MultipleOrderedEC-Python
上のPython版
それで、この中から何故か評価の高かったExcelRTC、OOoCalcRTCを出そうと思いますが、それでは物足りないのでMSOffice、OpenOffice関連のRTCをまとめて出します。
正直なところ下3つの方が自信があるのですが、あまり評価されてないようなのでやめておきます。
まあでも、MSOffice、OpenOffice関連のRTCはどんなシステムにでも組み合わせられる再利用性の高さという意味ではいいかもしれません。
旅費ぐらいは稼げたら良いのですが、去年20件以上応募があったと考えるとそもそも賞がもらえるのかが問題になりそうですね。
今年は他にどんな作品が出るかと考えたら、最近は実機を使ったりマイコン関連だったりが多いのでそのあたりが出るのではないでしょうか?
それはそれで良いのですが、使ってみたくてもなかなか使えないので評価がやりにくいんですよね。
いつか忘れましたがマニュアルで部品の加工を指示していたものもあったと思いますし。
僕の記憶が正しければ実行コンテキストを出した人は未だにいないと思うので逆に今年は出るかもしれないです。
ひそかにV-REPのプラグインが気になっているのですが、これは出てくるのでしょうか?
とりあえず、マニュアルの完成度が低いのでなんとかしないと。
OpenOffice ImpressもRTCにしようと思ったのですが、プレゼンテーションは過去に出ていますし、それの機能を実現するのも難しいのでやめました。文字が流れる機能も実現できないわけではないですが、文字列のShapeを作成→Shapeに右から左に流れるエフェクトを設定→スライドの同じページを読み込み直すという非常に強引な手を使わざる得ないので断念しました。
OpenOffice BaseのRTCですが、データベースの指定した値を取るようにしようと思ったらサービスポートを使わざる得ないと思うのですが、ちょっとそれが気に食わない。
それだったら自分でSQLiteとか使ってプログラム作った方が使いやすいと思います。
いまいち完成図が思い浮かばないので、このままつくらないままかもしれないです。
後ExcelRTCでGUIでデータポートの設定をしていますが、実を言うとコンフィギュレーションパラメータでやりたかったりします。
具体的にはコンフィギュレーションセットを複製するとデータポートが追加されるとかやりたかったのですけど、さすがに本来の使い方じゃないだろうし。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
正直なところ発表するのが面倒なので気乗りしないのですが、最近作ったソフトウェアが全然使われていないようなので参加します。
宣伝しようと思って4年間放置熟成していたTwitterに手を出してみたりもしたのですが、ハッシュタグ等が検索結果に全く反映されないといういやがらせを食らったため断念しました。
最近作ったものとしては、
ExcelRTC
Excelを操作するRTC
セルの値の入出力により値の変更、記録、グラフ表示等が容易になります。
WordRTC
Wordを操作するRTC
文字列の入力ができます。今のところ使えるかどうかは微妙なので今後改善したいと思います。
OOoCalcRTC
OpenOffice Calcを操作するRTC
ほぼExcelRTCのOpenOffice版です。
ただし、こちらはUbuntuでも動作確認済みです。
OOoDrawRTC
OpenOffice Drawを操作するRTC
図形の操作ができます。簡単なロボットの位置表示などならこれで出来ると思います。
OOoWriterRTC
OpenOffice Writerを操作するRTC
ほぼWordRTCのOpenOffice版です。
OgreRTC
2D、3Dゲーム開発用ソフトウェア
GUIにより2D、3Dゲームの作成ができます。
またユーザー独自のRTCを読み込むことで、様々なデータポート、サービスポートの入力によるゲームの操作ができます。
Ubuntuでも動作確認をしましたが、インストールするソフトが多いのが苦しい。
MultipleOrderedEC
実行順序設定可能な実行コンテキスト
RTCを同期並列実行できます。
GUIにより実行順序を設定することもできます。
MultipleOrderedEC-Python
上のPython版
それで、この中から何故か評価の高かったExcelRTC、OOoCalcRTCを出そうと思いますが、それでは物足りないのでMSOffice、OpenOffice関連のRTCをまとめて出します。
正直なところ下3つの方が自信があるのですが、あまり評価されてないようなのでやめておきます。
まあでも、MSOffice、OpenOffice関連のRTCはどんなシステムにでも組み合わせられる再利用性の高さという意味ではいいかもしれません。
旅費ぐらいは稼げたら良いのですが、去年20件以上応募があったと考えるとそもそも賞がもらえるのかが問題になりそうですね。
今年は他にどんな作品が出るかと考えたら、最近は実機を使ったりマイコン関連だったりが多いのでそのあたりが出るのではないでしょうか?
それはそれで良いのですが、使ってみたくてもなかなか使えないので評価がやりにくいんですよね。
いつか忘れましたがマニュアルで部品の加工を指示していたものもあったと思いますし。
僕の記憶が正しければ実行コンテキストを出した人は未だにいないと思うので逆に今年は出るかもしれないです。
ひそかにV-REPのプラグインが気になっているのですが、これは出てくるのでしょうか?
とりあえず、マニュアルの完成度が低いのでなんとかしないと。
OpenOffice ImpressもRTCにしようと思ったのですが、プレゼンテーションは過去に出ていますし、それの機能を実現するのも難しいのでやめました。文字が流れる機能も実現できないわけではないですが、文字列のShapeを作成→Shapeに右から左に流れるエフェクトを設定→スライドの同じページを読み込み直すという非常に強引な手を使わざる得ないので断念しました。
OpenOffice BaseのRTCですが、データベースの指定した値を取るようにしようと思ったらサービスポートを使わざる得ないと思うのですが、ちょっとそれが気に食わない。
それだったら自分でSQLiteとか使ってプログラム作った方が使いやすいと思います。
いまいち完成図が思い浮かばないので、このままつくらないままかもしれないです。
後ExcelRTCでGUIでデータポートの設定をしていますが、実を言うとコンフィギュレーションパラメータでやりたかったりします。
具体的にはコンフィギュレーションセットを複製するとデータポートが追加されるとかやりたかったのですけど、さすがに本来の使い方じゃないだろうし。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
Wordを操作するRTCを作りました。
ここからダウンロードできます。
あと、OpenOffice Writerを操作するRTCも作りました。
ダウンロードはこのページのリンクからできます。
とりあえず、マニュアルがないので作りたいとは思っています。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
ここからダウンロードできます。
あと、OpenOffice Writerを操作するRTCも作りました。
ダウンロードはこのページのリンクからできます。
とりあえず、マニュアルがないので作りたいとは思っています。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
Excelを操作するRTCを作りました。
ここからダウンロードできます。
まだマニュアルがないのでこれから作りたいと思います。
とりあえずGUIの構成は以下のようになってます。
ダウンロードしたファイルを解凍したフォルダに入っているExcelRTC.exeを実行すればRTCが立ちあがります。
それからOpenOffice Calcを操作するRTCの機能を増やしといたので、前より使いやすくなったような気がしなくもないです。
Excelを操作するRTCですが、起動したら後の使い方はCalcを操作するRTCとほぼ同じなのでとりあえずCalcを操作するRTCのマニュアルを見れば使えるかもしれないです。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
ここからダウンロードできます。
まだマニュアルがないのでこれから作りたいと思います。
とりあえずGUIの構成は以下のようになってます。
ダウンロードしたファイルを解凍したフォルダに入っているExcelRTC.exeを実行すればRTCが立ちあがります。
それからOpenOffice Calcを操作するRTCの機能を増やしといたので、前より使いやすくなったような気がしなくもないです。
Excelを操作するRTCですが、起動したら後の使い方はCalcを操作するRTCとほぼ同じなのでとりあえずCalcを操作するRTCのマニュアルを見れば使えるかもしれないです。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
とりあえず久々に更新します。
前々から思ってたのですけど、Python版のサンプルのスライダーRTCとか使う時に、出力される値が大きすぎるとか小さすぎるとかで他のRTCと組み合わせにくいような気がします。
上限が360とかだったっと思うのでそれに合わせて使えと言ってるのかもしれませんが、もし想定していないコンポーネントAと組み合わせようと考えると、
1.スライダーRTCのコードを書き換える
2.コンポーネントAのコードを書き換える
3.間にデータを変換するRTCを挟む
4.その他
とかあると思いますが、1,2はそもそもソースが公開されていないこともありますし、PythonならまだしもC++とかだと実行するまで時間がかかりますし、作成したRTシステムを他の人に使ってもらおうと思ったら書き換えたRTCも配布しなければならないので色々問題がありそうな気がします。
3は簡単なのですが、正直面倒くさい。オーバーヘッドもあると思いますし。
他にもありそうですが、難しそうなので今回はやめておきます。
とりあえず、今回は3のデータを変換するRTCを簡単に作成するためのプログラムを作りました。
ここからダウンロードできます。
使用するにはOpenRTM-aist-Python(1.0.0以上)が必要です。
使い方ですが、ダウンロードしたファイルを解凍したら、
rtcControl.py: データを変換するRTCを簡単に作成するためのプログラム
testComp.py:サンプルプログラム
が入っています。
とりあえず、サンプルプログラムを試してみます。
まず、OpenRTM-aist-PythonのサンプルのSeqIn.py,SeqOut.pyを実行してください。
次にtestComp.pyを実行してください。
すると、SeqInとSeqOutのデータポートの一部がtestCompを実行したときに起動したRTCに接続しています。
これでアクティブにするとSubCOntrolComponent00はSeqInのLongSeqの配列のすべての値の合計とLongの出力する値を足した値を出力していることがわかると思います。
testComp.pyを例にして使用方法を説明します。
まず、
import rtcControl
としてrtcControl.pyを読み込みます。
次にデータを変換するRTCのクラスを記述します。
基本的には通常のRTCと同じですが、少し違う部分があるのでそこを説明します。
まず、
class testComponent(rtcControl.SubCtlComp):
のようにrtcControl.SubCtlCompをオーバーライドします。
そして、
最後に、
rtcControl.CompList.append(testComponent)
のようにして作成したいRTCのクラスをrtcControl.CompListに追加して、
rtcControl.SetComp()
でRTCを起動できます。
まとめると、
1.辞書オブジェクトに接続したいデータポートのパスを記述するだけで対応するデータポートを作成、接続できるようにした。
2.rtcControl.CompListにRTCのクラスを追加すると、rtcControl.CompListに登録したRTCがまとめて起動される。
3.RTC起動に必要な記述をrtcControl.SetCompにまとめることにより、独自のプログラムを作成するときの記述を減らした。
だけなので、やや楽かな?ぐらいな感じですね。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
前々から思ってたのですけど、Python版のサンプルのスライダーRTCとか使う時に、出力される値が大きすぎるとか小さすぎるとかで他のRTCと組み合わせにくいような気がします。
上限が360とかだったっと思うのでそれに合わせて使えと言ってるのかもしれませんが、もし想定していないコンポーネントAと組み合わせようと考えると、
1.スライダーRTCのコードを書き換える
2.コンポーネントAのコードを書き換える
3.間にデータを変換するRTCを挟む
4.その他
とかあると思いますが、1,2はそもそもソースが公開されていないこともありますし、PythonならまだしもC++とかだと実行するまで時間がかかりますし、作成したRTシステムを他の人に使ってもらおうと思ったら書き換えたRTCも配布しなければならないので色々問題がありそうな気がします。
3は簡単なのですが、正直面倒くさい。オーバーヘッドもあると思いますし。
他にもありそうですが、難しそうなので今回はやめておきます。
とりあえず、今回は3のデータを変換するRTCを簡単に作成するためのプログラムを作りました。
ここからダウンロードできます。
使用するにはOpenRTM-aist-Python(1.0.0以上)が必要です。
使い方ですが、ダウンロードしたファイルを解凍したら、
rtcControl.py: データを変換するRTCを簡単に作成するためのプログラム
testComp.py:サンプルプログラム
が入っています。
とりあえず、サンプルプログラムを試してみます。
まず、OpenRTM-aist-PythonのサンプルのSeqIn.py,SeqOut.pyを実行してください。
次にtestComp.pyを実行してください。
すると、SeqInとSeqOutのデータポートの一部がtestCompを実行したときに起動したRTCに接続しています。
これでアクティブにするとSubCOntrolComponent00はSeqInのLongSeqの配列のすべての値の合計とLongの出力する値を足した値を出力していることがわかると思います。
testComp.pyを例にして使用方法を説明します。
まず、
import rtcControl
としてrtcControl.pyを読み込みます。
次にデータを変換するRTCのクラスを記述します。
基本的には通常のRTCと同じですが、少し違う部分があるのでそこを説明します。
まず、
class testComponent(rtcControl.SubCtlComp):
のようにrtcControl.SubCtlCompをオーバーライドします。
そして、
self.PortList = {"test":['/', 'localhost', 'SequenceInComponent0', 'Long'],
"test2":['/', 'localhost', 'SequenceOutComponent0', 'Long'],
"test3":['/', 'localhost', 'SequenceOutComponent0', 'LongSeq']}
のように、接続するRTCのデータポートを指定します。
この辞書オブジェクトはキーは好きな名前を付けて、値には接続するRTCのパスとデータポート名を記述します。
のように、接続するRTCのデータポートを指定します。
この辞書オブジェクトはキーは好きな名前を付けて、値には接続するRTCのパスとデータポート名を記述します。
接続するデータポートを指定すると、そのデータポートと接続するデータポートを自動的に作成して接続します。
後はself.Port["test2"]._port,self.Port["test2"]._dataからデータの読み込み、書き込みができます。
最後に、
rtcControl.CompList.append(testComponent)
のようにして作成したいRTCのクラスをrtcControl.CompListに追加して、
rtcControl.SetComp()
でRTCを起動できます。
まとめると、
1.辞書オブジェクトに接続したいデータポートのパスを記述するだけで対応するデータポートを作成、接続できるようにした。
2.rtcControl.CompListにRTCのクラスを追加すると、rtcControl.CompListに登録したRTCがまとめて起動される。
3.RTC起動に必要な記述をrtcControl.SetCompにまとめることにより、独自のプログラムを作成するときの記述を減らした。
だけなので、やや楽かな?ぐらいな感じですね。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・