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

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

また作品が2つも投稿されました。
  1. 視覚脳科学研究を目的としたRTミドルウェアの応用と結果
  2. AR Drone用OPEN-RTM通信コンポーネントの実装
ってあれ?
プロジェクト名からは~の実装とかは書かないでほしいとか書いてあるのですが、皆さん書いちゃってますね。多分リンク先の説明が正しいと思うので、もし上記の作品を投稿した方が読んでいるようであれば修正をお願いします。

今年はひょっとして去年よりレベルが高いのではないだろうか?
こんなに完成度が高い作品ばかり揃うのは2010以来のような気がします。
おそらくここまでに投稿された3作品はどれも何らかの賞をとると思います。
いきなりハイクオリティな作品ばかりが投稿されて完全に自信を喪失しました。
何か賞を貰える可能性はあるかもとか考えたのは完全に甘かったようです。
もうやめようかな。このままじゃどうやったって勝てそうにないし。


まず1の作品について感想を書きます。
と言いたいのですが、ひょっとしてまだソースコードは公開していないのでしょうかね?
このページで配布してあるのがそうだと思ったのですけど、プロジェクトページの内容と違うような気がします。

せっかくなのでリンク先のソフトウェアの感想を書いておきます。
リンク先のページからISOイメージをダウンロードしてVMWareで試用してみようと思ったのですが、新しい仮想マシン ウィザード の画面で「64ビットのゲストOSは、このホストではサポートされていないため、起動できません。」と表示されて動作できませんでした。
調べてみると64ビットのホストOSでも64ビットのゲストOSを動作できないことがあるらしいです。理由はリンク先に書いてあります。
一応GitHubで公開されているソースコードを読んでみたのですが、プロジェクトページに書いてある共有メモリ関連のソースコードはどこにあるのかわかりませんでした。
とりあえずmodel_formatというプログラムは使用するみたいなので読んでみたのですが、普通にCameraImage型を使っているようなので一体どのように共有メモリの通信を実装したのかが気になります。
やはり関係ないのかもしれません。
一つ気になったことと言えば先ほどのGitHubのファイルにrtc*****.logが大量に含まれていましたが、多分いらないと思うので削除した方が良いと思います。別に害があるわけではないですが。

まだよくわかりませんが、独自の実行コンテキストが一体どういうものなのか気になります。僕も以前に実行コンテキストを開発していたことがあるので。協調動作ということは多少関連する要素もあるかもしれないので比較等もできるかもしれないですね。実行コンテキストが応募されるのって初めてじゃないですかね?

それにしてもMATLABはどのように使うのでしょう?
まあ、まだ加筆中なこともあって何もわかっていないということです。








次に2の作品の感想を書きます。
ちなみにAR.Droneは持っていないので試用できません。そろそろ一体何なら持っているんだ?とか言われそうです。AR.Droneを持っていないのでよくわからないのですけど、「空飛ぶLinux」とか呼ばれてるとからしいですね。
こちらのVMWareイメージは32ビットだったみたいなので起動は普通にできました。
ただ、パスワードがわからずログインできませんでした。おそらくこれからマニュアル等に書くのだと思います。それともダウンロードしてきたファイルのどこかに書いてあったのかな?
一応ソースコードを読んでみたのですが、結構難しいのでまだよくわかってないです。
もっと熟読してからソースコードを読んでの感想は書きます。
独自のデータ型を使用しているようなので既存のRTCと組み合わせるのは少し難しそうです。
ひょっとしたら変換コンポーネント等も配布するかもしれないですね。
例えばTimedNavdataのimgwidth、imgheight、imgDataからCameraImage型のwitdh、height、pixelsに変換するとかできたら既存のRTCでも利用できて便利かもしれません。
あと僕の認識が間違っていなかったらですけど、AR.Drone上のLinuxでネーミングサーバーを立ち上げる→RT システムエディタでネーミングサービスを追加→RTCを接続の流れなのだと思うのでPCを2台用意して通信するのと同じ手順を踏むことになると思います。
となるとTimedNavdataで画像データを通信するようですが、通信速度は大丈夫なのでしょうか?
圧縮してから通信するのも一つの手かもしれません。
それから極めてどうでもいいことなのですが、GitHubのソースコードのsrcフォルダとinclude/ardroneフォルダに何故か全く同一のファイルが存在しているように見えます。どちらかはいらないと思うので削除した方が良いかもしれないです。


どちらも投稿を完了してからコメントを書きたいと思います。
というか、実機を要求する作品が多いこともあってまだどれも試用できていません。
とりあえず1の作品に期待します。





余談ですがORiNは「オライン」と読みます。オリンじゃないです。
いや僕も以前勘違いしていたのでこんなどうでもよさそうなことを書いてしまいました。
ORiN2 SDKの価格を調べてみたのですが、全く情報が見つかりませんでした。
というかどうやって購入するかもわかりません。直接問い合わせる必要があるのかな?。
別に分かったところで動かす機器がないので買わないとは思いますけど。




突然ですがRTCを開発するときのCMakeファイルの書き方についての話をします。
まずファイルを追加する方法です。
srcフォルダにファイルを作成してsrcフォルダのCMakeLists.txtの先頭のset(comp_srcs~のところにファイル名を追加します。

set(comp_srcs Test.cpp Test2.cpp)

この例ではTest2.cppを追加してあります。

ヘッダーファイルを追加する場合はinclude/モジュール名のフォルダにファイルを作成するだけです。作成したプロジェクトではそこはインクルードディレクトリに設定されています。


そして外部依存のライブラリを追加する場合どうするかを説明します。
簡単なサンプルプログラムを作成しました。ここからダウンロードできます。
まず付属のTestDLLというフォルダをCドライブの直下にコピーしてください。
今回はTestDLLフォルダのTestDLL.lib、TestDLL.hを使います。

次にsrcフォルダのCMakeLists.txtを見てください。
CMakeLists.txtには以下の3つのコードを追加してあります。

include_directories(C:/TestDLL)
link_directories(C:/TestDLL)
target_link_libraries(${PROJECT_NAME_LOWER} TestDLL)



まずinclude_directoriesでインクルードディレクトリ、link_directoriesでライブラリディレクトリを追加します。そしてtarget_link_librariesで依存ファイルにTestDLL.libを追加します。

これでCMakeでプロジェクト作成後ビルドしてRTCを起動→アクティブにしたらTestDLL.hで宣言された関数が使用できていることが確認できると思います。

今回は独自のライブラリなのでこうしましたが、そうでない場合はfind_packageを使うのが普通なのだとは思います。

例えばOpenCVだとこんな感じです。

find_package(OpenCV REQUIRED)

(中略)

target_link_libraries(${PROJECT_NAME_LOWER} ${OpenCV_LIBS})


うん、面倒くさいですね。
CMakeは便利かもしれないですけど決して使いやすいソフトウェアではないと思います。
「CMakeは簡単」とか言っている人は相当な上級者です。つまりこの記事をよんで「一体何が難しいとか言ってるんだ?」とか思った人は上級者です。
CMakeを使えばいろいろ便利なこともありますけど、僕みたいな素人にとっての敷居をかなり高くする事にもなりかねません。

それにしてもsrc/Releaseフォルダに実行ファイルとDLLが作成される謎仕様はなんなんでしょうね?





補足ですが、Ubuntu + CodeBlocksで開発する場合は以下のように入力すればCodeBlocksのプロジェクトを作成してくれます。

cmake . -G "CodeBlocks - Unix Makefiles"


またCodeBlocksはsynaptic パッケージマネージャでcodeblocks-dbgをインストールすることで使用できます。
非常に便利なのでCodeBlocksで開発するのも良いかもしれません。










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

人気ブログランキングへ
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]