忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[412]  [411]  [410]  [409]  [408]  [407]  [406]  [405]  [404]  [403]  [402
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

以前の記事で書いたことをメーリングリストで聞いてくれた人がいたのですが、ようやく回答があったようです。どうやら遅かったのはただメールを送る際にミスがあっただけみたいです。OpenRTP 1.1.0-RC5で対応するとからしいのですが、ファイルが存在しない原因はなんだったのかはメール読んだ限りではよくわかりませんでした。

前回の記事でOpenCVを複数バージョンインストールした場合にトラブルが起こりやすいと書きましたが、このページのように環境変数を変更すれば解決はできると思います。それから複数のOpenRTM-aistをインストールした場合はRTM_ROOTとOMNI_ROOTが違うバージョンになっていたのかなあとは思いますが、今はインストールしていないので確認できません。
その辺の解決方法をマニュアルに書いておけば良いとは思いますが、初心者にはなかなか厳しいですね。


今回はデータポート、サービスポートについて自分勝手な見解を書いていきたいと思います。
まず、独自のデータ型、独自のインターフェースはあまり使用するべきではないと思っています。
まあ単純に既存のRTCと接続できないと言う単純な理由ですが。
BasicDataType.idl、ExtendedDataTypes.idl、InterfaceDataTypes.idlで定義されたデータ型をできるだけ使うべきかなあとは思います。
ただ、独自のデータ型を使った方が便利なことがあると言われれば確かにそう思います。
音声データをTimedOctetSeq型で入出力しますがサンプリング周波数、ビット数、チャネル数も含んでいたほうがCameraImage型みたいに使いやすくはなります。と言うか画像データの扱いもちょっと前まで同じような扱いだったような。
DoubleSeq型の0番目をX座標、1番目をY座標で使うか、そのままPoint2D型を使うのとどっちが良いかと言われれば後者だとは思います。
ただTimedDoubleSeq型のデータポートを使用しているRTCが多いので実は前者の方が他のRTCと接続しやすかったりしているような気はしてます。





画像とかはこのページのように圧縮して送信する方が通信が速くなるので別のPCに送信する場合は便利です。リンク先のRTCはOpenCVのimencode関数で圧縮したデータをOctetの配列に書き込んで送信しているみたいなので、動作環境はUbuntuと書いてありますがWindowsでも動作できそうですね。
CameraImage型にはformatで圧縮形式を指定できるのですが、サンプルのソースコードを読んでみても使ってる気配はありませんね。
とりあえず画像データを圧縮して出力、圧縮された画像データを元に戻して出力するRTCを作成しておいたので使ってあげてください。
マニュアルは今週中に書きます。








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

人気ブログランキングへ
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
カレンダー
10 2024/11 12
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
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
36
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]