忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[16]  [17]  [18]  [19]  [20]  [21]  [22]  [23]  [24]  [25]  [26
×

[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
とりあえずOOoBaseRTC、OOoImpressRTCのデモ動画をアップロードしておきました。





これでとりあえず基本機能は揃った形にはなったと思います。
インストーラーも更新しました。
テスト用RTCを除くとメインのRTCが9つ、サブのRTCが8つの計17個のRTCを配布することになりました。
とりあえず最優秀賞はもう無理ですが、まだ何らかの奨励賞を貰える可能性も0ではないと思うのでバグの改善などには手を抜くことなく取り組みたいと思っています。





昨日投稿された作品の産業用ロボット汎用RTC 操作マニュアル_ver_1_0.pdfを読んでいて気になったのですが、CMakeでプロジェクトを作成した後にuseORiN.cpp、defcommand.cppを追加してくださいと書いてあります。srcのCMake.txtのset(comp_srcs ~の部分にファイル名を書けばCMakeの段階で追加できると思ったのですが、既にコメントしてしまったのでもう一度連投するのは少し気が引けます。
まあそもそも実行ファイルが付属していてビルドなんてする必要はないので別にいいか。

本当なら使ってみてのコメントを書きたいのですが、ORiN2 SDKも実機もないのでどうでもいいような事ばかり書いてしまいます。
使える環境のない僕が完全に悪いのですけど、なかなか実のあるコメントができません。
RTM_ORiN_Converter_CRDは実行できる環境がないし、IntegratedControlRTCは実質的に専用のRTCだと思うので他で配布されているRTCと組み合わせるのは難しそうだし、となるとCameraPositionCorrectionRTCぐらいしか試用できそうにないですが、特に言うこともないしなあ。
シミュレーションでも出来たら良かったのですけど、実装の都合でそれも難しいのですかね?
ORiN2 SDKの詳細なマニュアルがあれば分かるかもしれませんが、正直どういうことができるのか理解できていないのでよくわかりません。

それにしても多関節ロボットを制御する前にはシミュレーションを綿密にすることが普通だと思っていたのですが違うのですかね?
以前に四足歩行ロボットの制御をやっていたことがあるのですが、シミュレーションをやっても2回ほど壊しかけたことがありました。なんとか無事でしたけど。
そりゃ小さなロボットなら大丈夫でしょうけど、あのRTCで対象にしているロボットはそれなりに大きいと思うのでシミュレーション無しはかなり危険だとは思うのですが。












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

人気ブログランキングへ
また作品が投稿されてる。
凄い力の入れようなのが見ただけで伝わってきます。
これは参りましたね。降参せざる得ないようです。
とりあえず最優秀賞を貰える事が無い事は確定しました。予想通りとは言え残念です。
いやというより、NEDOプロジェクトとかいうのは税金から予算が出てるんですよね?
僕なんかに負けたら返金しなければならないと言っても過言ではないのでこの結果は当然です。
別に結果が出た訳ではないけど、力の差は歴然としています。

Orin2 SDKが有料らしく、調べてみればお試し版があるとか書いてあったのですがリンク先が消えているらしいので利用できません。
Orin2 SDKのドキュメントもおそらく購入しないと読めないので、詳細不明です。
実行ファイルが付属しているので別にライブラリをダウンロードしなくても使えるのかな?
まあ最大の問題はハードウェアがないことなんですが。

無知なのでCRDプロバイダが何かわからず調べてしまいました。
CRDとはXMLファイルで産業用デバイスの情報を記述するための規格らしいです。
要は投稿作品はCRDの規格で書いたXMLファイルからロボットの情報を読み込んでサービスポートからの指令→ロボットコントローラにEthernetで通信→実機が動作するみたいです。
規格だから仕方ないですけどM1とかM2とか分かりづらい名称は一体何なんでしょうね?


なんでOpenCV 2.2をインストールするのかと思いましたが、他からダウンロードする画像認識コンポーネントが古いのか。よく考えてみれば去年の作品でもそうだったかもしれません。


ソースコードを読んで気になったのはManipulatorCommonInterface_MiddleLevelSVC_impl.cpp等で同じような記述が何故か多かったので関数にまとめた方がコードが短くなるのではとは思いました。
あと何故かは知りませんがグローバル変数多用しています。
useOrin.hの関数と変数をクラスにまとめてm_ManipulatorCommonInterface_Common、m_ManipulatorCommonInterface_Middle初期化時に引数として代入した方がいいのじゃないかなあと思いましたけど、何か理由があるのだとは思います。

とりあえず明日にでもコメントを書いておきます。
褒めるところならいくらでもあると思うのですぐ書けそうです。








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

人気ブログランキングへ
他の作品のプロジェクトページが作成されたようです。
Kobukiの値段を調べたところ67000円ぐらいするのでさすがに試用するのは無理そうです。
MapperRTCとかなら試せるかもしれません。
まだソースコード等のアップロードはしていないようですが非常に楽しみですね。
コメントしたいのですけど、全部英語で書いてあるようなので日本語のコメントでも大丈夫なのかが不安です。僕が糞みたいな英語で書いてあちらの人に何とか内容を理解してもらうか、僕が日本語で書いてあちらの人に訳してもらうかと言われれば前者をやるべきなのでしょうけど、実際は後者の方が内容を理解してもらえる確率は高いと思っています。こちらが質問等をする側なので前者をせざる得ないのですけど。
まあ、内容がわからないうちから別にそんなこと考えなくてもいいか。

とは言ってもここまで僕一人だったので「暫定1位だぜ!!」とか勝手に思っていたのですが、暫定1位(笑)の座が音を立てて崩れてきてます。これでソースコードをアップロードされたら完全に逆転されます。というより今の時点で逆転されてるかも。

僕は人に煽てられたというか騙されたような形で参加するわけですが、他の人は自分の作ったものに確固たる自信をもっています。やはりその辺から意識の違いというのが生じているとは思います。



ここからは自分の作品の話です。
現在作成中のRTCは基本機能は実装できたのですが、目玉になる機能がない状態です。
何にせよこのままでは勝負にならないので何か特徴を出すしかありません。










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

人気ブログランキングへ
10月中にもう一つRTCを配布するつもりですが、かなり苦戦しそうです。
何かと言うとキャプチャーしたスライドショーの画像を表示するGUIのRTCなのですが、いろいろ機能を持たせたいのでひょっとしたら10月中は無理かもしれません。
まあ既に作品投稿自体はしているので減点とかはないかもしれませんが、さすがにページだけ作って内容が薄かったら印象が悪いのでなんとか間に合わせて少しでも点数を稼ごうとは思います。
まあ加えたところで他の人との差が少し縮まる程度だとは思いますが。


締め切りまであと1週間です。
やはり締め切りが早かったのでしょうかね?
とは言っても11月下旬とかだとなにかフィードバックがあっても発表までには対応できないので、それはそれで問題はあります。僕がフィードバックの心配をするのもおかしな話ですが。



そういえば前の記事でちょっと書いた画像データの圧縮の件ですが、TwitterでGitHubのソースコードを教えてもらいました。やはりInterfaceDataTypes.idlのCameraImage型ではなく、Img.idlで独自に定義したデータ型を使用しているようです。将来的にはそちらに移行するのかもしれないのですが、現状InterfaceDataTypes.idlのCameraImage型を使用しているRTCが多いというかほとんどなのでどちらを使えば良いかはわかりません。ただ昨日の記事で紹介した画像データ変換RTCみたいにInterfaceDataTypes.idlのCameraImage型でも画像データを圧縮して通信ということはできると思うので、今はとりあえずInterfaceDataTypes.idlのCameraImage型を使用したいとは思っているのですが他に対応しているRTCが見当たらないので独自のRTC以外では無圧縮での通信をせざる得ないという状態ではあります。それならリンク先のRTCに対応させた方が便利なような気もします。ただどうにも使いづらいような印象です。何故かと言うと使い回せるような処理を全部onExecuteに書いてしまっているからで、同じコードを書いたRTCがいくつもあるように思います。その部分を関数にまとめてくれたら対応するRTCも作りやすいのですが。まあ今後おそらく改善されると思うので、それに期待します。










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

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