忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]  [11
OpenRTM Lua版 0.1をリリースしました。

マニュアルはここです。

RTシステムエディタやネームサーバーはないので、OpenRTM-aistをインストールしてください。

最大の問題は現状のDataPort.idlが読み込めないため、OpenRTM-aist 2.0系でないと通信ができないことだとは思うのですが、解決できそうにありません。


とりあえず、OpenRTM-aistと通信したい場合は、Python版かjava版をソースコードからインストールしてください。Python版とJava版はFSM4RTCのDataPort.idlに対応しているので通信できます。
C++版は現在のところ対応してないのでデータポートの通信はできません。OpenRTM.NETとも通信できません。



データポートのコールバック、コネクタのコールバックなど、リスナ関連の機能はほぼ未実装です。あとRTCを動的にロードする機能もないです。複合コンポーネントもありません。


OpenRTM Lua版は今年のRTMコンテストに出すので、とりあえず12月ぐらいまでに足りない部分は実装するようにします。あと実用例を増やさなければならないので、ComputerCraftでも動かしてみます。





にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
PR
今、OpenRTM Lua版の実装をしているのですが、それなりに苦戦しています。

C++版やPython版の機能が多くなりすぎて、どこから手を付けていいのかよくわかりません。

仕様通りに実装すれば、ほかの実装と相互通信できるはずなので、C++版やPython版を参考にして作るのはやめたほうがいいかもしれません。不可解な処理も多いし。例えばポートを切断する箇所でdisconnect関数内でコネクタプロファイルに格納したすべてのポートのnotify_disconnect関数を呼び出しているにも関わらず、notify_disconnect関数内でコネクタプロファイルの次のポートのnotify_disconnect関数を呼び出そうとしている箇所は意図がよくわかりません。



CORBAのLua実装のoilにはwchar型やwstring型が存在しないらしく、BasicDataType.idlに修正が必要です。
あとoilは同一プロセス内でオペレーションを呼び出すと、引数のオブジェクトリファレンスを自動的に実体で渡してくれる有難迷惑な動作をするらしく、_is_equivalentで比較する部分など大幅な修正が必要です。
それから2つのIDLファイルで異なる#pragma prefix、同じモジュール名を設定した場合にエラーが出るため、OpenRTM-aistのIDLファイルに変更が必要です。
それからマーシャリングしたデータのサイズが何故か違います。long型が8、short型が4、TimedLong型が16と滅茶苦茶です。

とりあえずマーシャリング後のバイナリデータの中身を調べてみました。

long
1       1
2       255
3       255
4       255
5       230
6       0
7       0
8       0

short
1       1
2       255
3       230
4       0

octet
1       1
2       230


sequence<long>(配列数2)
1       1
2       255
3       255
4       255
5       2
6       0
7       0
8       0
9       123
10      0
11      0
12      0
13      234
14      0
15      0
16      0


Time
1       1
2       255
3       255
4       255
5       35
6       0
7       0
8       0
9       234
10      0
11      0
12      0



TimedLong
1       1
2       255
3       255
4       255
5       35
6       0
7       0
8       0
9       234
10      0
11      0
12      0
13      23
14      0
15      0
16      0
先頭の1が何の意味があるのかがよく分からないので、他のRTM実装と通信する場合は削除します。そのあとに255が0~3個並んでいます。確かではありませんが、本来のデータサイズが1の時は255が0個、2の時は255が1個、4以上の時は3個となっているようなので、適宜変更するようにします。


これらの変更を施した結果、以下のようにOpenRTM-aist Python版とOpenRTM Lua版で通信ができるようになりました。








炎上するかもしれないので一応言っておきますが、ROMイメージはこのサイトの著作権フリーのものを使っているため、問題はないはずです。嫌がらせはやめてください。





にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
RTMコンテスト2017の感想を書きます。

予想していた通り最優秀賞は逃しました。特に審査に不満はありません。



それは置いておくにしても、やはり発表の評価が高いのか・・・
それだけ発表を頑張るのだったら、マニュアルの作成も頑張ってほしいです。発表はその場だけですが、作品は後にも残ります。



この作品は今年も評価が低いのか。
作品の出来が良かったので、個人的には賞をあげたかったのですが、作品の良し悪しが審査基準ではない賞なので無理でした。
想像ですが、「今まで○○ができなくて、開発物によって○○ができるようになった」という事が分かり辛いのかもしれません。というか、僕もわかりません。
「こういう問題があったので、この手段で解決しました」、あるいは「こういう物を作ると、この人たちにとっては嬉しい」という過程がよく分かりません。
ただ作ってみたという状態になっているように思います。





僕の賞が該当者なしになったのは残念です。
今年は賞金を払わなくて済んだので、来年は個人賞2つ出します。



来年も作品は出します。
以前から予告していた通りOpenRTM Lua版を出します。楽しみにしていてください。










今年は個人賞を出したのですが、残念ながら該当者なしになりそうです。
今から3作品以上にコメントするなんて無理だろうから、ほぼ表彰は無理そうです。
コメントしただけで1万円あげるって言ってるのに、これでは賞を出す意味がありません。
諦めずに来年も出してみようとは思いますが、3年連続該当者なしになった場合は流石に諦めます。

ちなみに明日のRTMコンテストの表彰式は、他の発表が被っているため欠席します。



最後にこの作品の感想を書きます。

正直何ができるのかが全く分かりません。
マニュアルじゃなくてただの概要にしかなっていません。これで他の人が使うのは不可能です。

ソースコードについては、審査で評価するのはMobileRobotShootingGameRTCとARTKMarkerInfoToPose2Dだけでいいのかどうか不明です。
とりあえずC#ラッパーツールについては、WIndows 10 IotでC#のRTCを作成する際に使おうと思います。


ソースコードについてはRTCのカテゴリ名や概要をちゃんと設定しているところは評価できます。設定しないのが悪いのであって、設定していたら褒められる点ではないような気がしますが。
ARTKMarkerInfoをPose2Dに変換しようとしている部分が2箇所ありますが、これは関数で定義して使いまわした方が良かったと思います。
それにしても、pose3_idは一体どこで使っているのだろうか・・・・

データ型についてはMobileRobotShootingGameRTCとRTMAdapterとの間がごちゃごちゃしているので、いっそのことサービスポートを使った方が良かったかもしれません。





あと感想を書いていない作品は僕が関わっているものなので、これで今年は終わりです。





にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
本当は今回で終わりのはずだったのですが、作品が出そろっていないので次も書きます。


そういえば、今年は個人賞をだしています。
自分以外の作品にコメントを投稿するだけで作品の出来は一切問わない賞なので、欲しければだれでも取れます。まだだれもコメントを投稿してないので非常に不安ですが。
何故か受賞基準が書いていませんが、3作品以上にコメントしないと受賞対象にはなりません。






今日はこの作品の感想を書きます。
一体どういう動作をするのかよくわかりません。ちょっとこのままでは厳しいような気がします。
restartやreset等のコマンドをTimedString型でやり取りするのは使い方が分かりづらいので、サービスポートを使ったほうがよかったと思います。
というか実装方法が根本的に間違っているような感じがします。
どうもAVSdeviceSDKのサンプルを起動するRTCみたいなのですが、AVSdeviceSDKのサンプルコードを参考にしてRTCを実装するのが正解だと思います。









にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
&lt;&lt; 前のページ 次のページ &gt;&gt;
カレンダー
12 2020/01 02
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新CM
[12/11 Nobu]
[12/11 Kanamura]
[08/24 Nobu]
[08/24 puku]
[08/22 Nobu]
プロフィール
HN:
Nobu
年齢:
31
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]