忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[468]  [467]  [466]  [465]  [464]  [463]  [462]  [461]  [460]  [459]  [458
×

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

別に再開するわけではないですが、ちょっと考えに変化があったので書いておきます。

「独自データ型は使わないようにしている」と以前言いましたが、極力使わないぐらいな考えに変わりました。
どういう場合に使うかと言うと、例えば(x1,y1,x2,y2・・・・xn,yn)と言うようなデータを送信する場合、TimedDoubleSeqで通信するよりも、
struct Point2D
{
        double x;
        double y;
};
struct TimedPoint2DSeq
{
      Time tm;
       sequence<Point2D> data;
};

で通信した方が分かりやすいという単純な理由です。
いや別にそんな事何年も前に気付いていたのですが、独自データ型自体使いづらいですし、僕が既存のRTCと接続できる事を重視し過ぎていたみたいです。




凄く今更な事なのですが、他の作品のタイトル等にOpenRTMという単語が入っている事が多いのですが、これは何を指すのでしょうね?OpenRTM-aistとかOpenRTM.NETとかなら分かるのですが、OpenRTMだけだと何でしょう?オープンソースのRTMの実装を総称してそう言うのでしょうか?分からないのはひょっとしたら非常に恥ずかしいのかもしれないので、詳しい人は教えてください。


それから僕の思い違いかもしれないですけど、僕が他の作品に投稿したコメントをアドバイスだと思っている人がいるかもしれないので念のために言っておきますが、アドバイスではありません。疑問、もしくは苦情です。ちなみにツンデレではないです。「どうして~なのか?」のようにコメントしている場合はただの疑問ですが、「~してほしい」と言う風な感じの時は実は少し頭にきている事もあります。ちょっと試したいだけなのに***.dllがありませんとか、RTCを10個ビルドしろとか、ビルドに失敗するとか、手動でデータポートを10箇所以上接続してくださいとか言われたら、ちょっとイラッとすることもあります。どれか一つなら別に気にしないのですが、さすがに前述したトラブルが全て起きると嫌にもなりますよ。使ってもらう気あるの?と思うでしょ。



一つ言い忘れていた事がありました。
僕の作品のソースコードを読んでくださった審査員の皆さまに感謝の意を表します。
発表では失言を吐いてすみませんでした。
僕も全作品のソースコードを読んだので、その大変さが身にしみてわかったつもりです。
でも何だか全体的に誰がどの賞を取ったかを見てみると、自分の評価とは違ったなあというものもあると言う感じはあります。当日の発表で評価するという賞もあるのかもしれないです。



正直よくわからないのですが、予稿原稿には「実現できた」と書いてあるのに当日の発表では「できなかった」みたいな事を言っていた人がいたように思うのですが、それはどうなのでしょうね?まあ、別にどうでもいいのですが。




実は今年出す作品を考えていたのですが、なかなか名案がありません。
いやアイデア自体はいくつかあるのですが、どれも決め手に欠けます。
まずどういう方向性で行くか、単体のRTCか、ツールか、システムか、それとも別の何かか。
システムとなると少し難しいような先入観があります。
「OpenRTM-aistを使ったからこういうシステムができました」というアイデアがないからです。
RTCやツールであれば現状のRTM関連のソフトウェアに足らない部分を考えれば良いので簡単なのですが、システムが対象となるとシステムを構築する事が目的になるので、単純にシステムを作るだけではなく、RTMを使うメリットが必要です。
RTCやツールを作る事を目的にする人はあまりいないと思うので、その点が違うのではないかと思います。
例えば、「似た機能のライブラリなりを使えば、同じような労力で同じシステムは構成できる」と言うのであれば特に意味はないと思います。
工程を削減できたとかでも良いので何か利点が無ければならないのですが、そもそも人のRTCを使うのが今の所簡単ではないのでむしろ時間が増える事の方が多いのが現状のような感じがしています。
何と言うか、OpenRTM-aistのC++版に32bit版と64bit版があることと、あと複数のOSに対応している事が逆効果になっているように思います。使いたいRTCがあっても自分の環境で動作できません。ロボットやっている人は大抵WindowsとLinux両方使えると思うので、それが余計にまずいのかもしれないです。
あと、OpenRTM-aistの1.0.0で開発したRTCは当然のことながら1.0.0のdllが無ければ動作できません。ただほとんどのRTCはdllを付属していないので、そのまま使われないように思います。

何と言うか、通常はExeファイルを実行(もしくはマネージャでモジュールをロード)→ネームサービスビューからRTCを選択してエディタ上に並べるというのが通常の手順だとは思いますが、もっと簡単にならないかなとは思っています。なにか有用なツールはないものですかね?


話がだいぶそれてしまいましたが、システムについては特に何もアイデアがありません。
今考えていてアイデアが浮かばない理由がもう一つある事がわかりました。
どうにも自分が使う分には良いのですが、人に使ってもらえるようにするのが難しいのではないかと思いました。そもそもシステムを構成するとなると色々な機器を使うことも多いので、それを人の環境で動作できるようにするのは難しいような感じです。単一のRTCであれば使用する機器も単一だと思うのでそこまで問題にならないのですが、複数の機器が必要となると他の環境で動作できる可能性は著しく下がると思います。実の所それで評価が下がる事はあまりないように思うのですが、僕は最低でも審査員の人の環境で動作できていないと不服なので避けたいと思っています。

完全に個人的な意見ですが、あるシステムを構築するためのRTC群を配布している作品もありますけど、何と言うか最終的に目的のシステムが構築できていれば良いのではなくて、もっとそれぞれのRTCの再利用性を考えてほしいなとは思いました。そのシステムでしか使えないようなRTCならば無駄に分割する必要もないと思います。


システム作るの面倒だし、むしろRTC自身がセンサRTCなりアクチュエータRTCなりをどっかから自動検索、接続して勝手にシステムを構築してロボットが動いてくれないかなと思いました。
RTMはデータ型で何を通信しているのかは大体わかるので、適当にデータポートを接続してOutPortにデータを送信したらどこかに接続したInPortのデータが変化した→面白いのでもっとOutPortと通信してみようとか何をやらかすかわからないRTCとか作ってもらえれば僕は爆笑すると思います。それで何か学習してだんだんまともになっていくのならば良いのですが、何が目的なのかわからないのですから無理かもしれません。




たまに教育や学習を目的とした作品がありますけど、僕向きではないのでそちら方向はやめておきます。そもそも僕は人に教えるほどRTMについて詳しくないですからね。

いっその事メディアアートでもやってみるのも手かもしれないです。
アイデアはいくつかあるのですが、そもそも実現が可能なのかがわかっていません。
何せ2年ぐらい前にアニメを見てて思いついた事なので、出来るかどうかなんか考えている訳がないです。


もっと奨励賞で「自社製品を使ってほしい」とか言うのは増えないものかなあとは思います。
そうすれば僕が自分でアイデアを考える必要もないわけですから。


今年の予想ですけど、多分Pepperを使った作品が出てくるんだろうなあと思っています。
でも最近発売された製品を使うとか単純な発想では他の人と被る可能性大なので僕は避ける方針でいきます。




個人的な意見ですが、100ページ以上のマニュアル等はできれば読みたくないです。
もちろんそれだけのマニュアルを書く事自体は構わないのですが、それだけのマニュアルを読まないと使えないようなソフトウェアが良いものだとは思えません。簡易マニュアル等を別途に用意してほしいです。
以前はマニュアルはたくさん書いてある方が良いと思っていたのですが、他の作品のマニュアルを読んでいく中で考えが変わりました。正直しんどいです。
しかもそれで他のRTCを使用していたりするとそちらのマニュアルも読まなければならないので、ちょっとそれは勘弁してほしいです。と言うかそれだけ大量にマニュアルを書いたのに、なんで他のRTCのインストール方法は省略するのかが正直意味が分かりません。
あとpdfのマニュアルは読みづらいと思っているのですが、他の人はどう思っているのでしょうね?


他の作品を見ていて思った事は以下の通りです。
  • マニュアルがないのは論値、とまでは言いませんがかなりまずいです
  • できれば動画等があると分かりやすいと思います
  • プロジェクトページに画像を設定してください
  • マニュアルは少し読んだだけで試用したい
  • 個人的にはpdfのマニュアルは読みづらいのでやめてほしい
  • 全員GitHubを使うように統一しても良いかもしれません
  • RTCの粒度に注意しないと後々苦労するのは自分ではなくユーザーです
  • システムを構築することが目的の場合、もっと個々のRTCの設計もよく考えてほしい
  • 必要なdll等があるなら付属させるか、入手方法を記してほしいです
  • 複数の環境で動作確認するようにしてください
  • できれば2種類以上のOSに対応させてください
  • マネージャーでモジュールをロードする機能をもっと使った方が面白いかもしれません
  • 既に開発されているRTCは入念に調べてください
  • 独自データ型はよく考えてから使ってください
  • サービスポートを使った作品が少なかったように思ったので、もう少し使われてもいいかも
  • while文等で処理を長時間ブロックしないようにしてください
  • スレッド等の機能はできればcoilを使ってください
  • 実行ファイルを配布する場合はリリースビルドしてください
  • こちらでビルドする仕様なのにエラーがでるとキレそうになります
  • できれば回路の自作、部品の加工などを強いるのはやめてほしい
  • Python版、Java版、OpenRTM.NET等をもっと使ってほしい
  • 定量的なデータがあると利点が分かりやすい事もあります
  • さらにその原因まで述べる事が出来ていれば、僕には勉強になるので嬉しいです
  • 他の人の作品にコメントしてください
  • というか、他の人の作品にも興味を持ってください
  • 自分が助言を貰う側の人間だとは思わないでほしい
  • ちゃんと動作できているかどうかをもっと審査で重視したほうが良いと思う
  • 何か機器を使う場合は価格、購入方法まで記載してほしいです
  • ログファイル等は削除してアップロードしてください
例えが悪いかもしれませんが、俳句甲子園と言う大会にはディベートによる優劣があります。正直なところ、最近まで「俳句にディベートなんて必要ないだろ」って思っていたのですが、鑑賞点だと聞いて納得してしまいました。RTMコンテストで人のソフトウェアの評価が出来る人は自分の作品のクオリティが高いかと言われれば意見が分かれるかもしれませんが、少なくとも能力が高いのは確かだと思います。僕が人の作品を見て評価した結果と実際に受賞した賞とが違うと言いましたが、僕の能力が低い証拠かもしれません。鑑賞力で評価する奨励賞があっても良いかもしれません。自分で言うのもおかしな話ですが名案だと思うので誰か賞を出してください。


あとお願いですがCMakeの使い方がよくわからないので誰か解説してくれれば大変うれしいです。















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

人気ブログランキングへ
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
カレンダー
03 2024/04 05
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
年齢:
35
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]