アットウィキロゴ

上田

09/12/08
AIBOとの通信が再び不安定になり、その後回復した。
今後の対策としてデスクタワーPC1台をAIBOサーバー専用マシンにして
AIBO-PC間がアドホックで正常に接続された状態を平日、休暇問わずに以後恒久的に保つことにする。
09/11/12
aibo_camera
現在の最新の更新
偶然かもしれないが本日やっと適当な値が出た(かも?)
Turn Triangle(x,y,z)=(0.154321,0.148148,0.000008) (m)
Turn Triangle(x,y,z)=(0.132883,0.072072,0.000012) (m)
Turn Triangle(x,y,z)=(0.176136,0.110795,0.000008) (m)
Turn Triangle(x,y,z)=(-0.012626,0.060606,0.000005) (m)
Turn Triangle(x,y,z)=(-0.066116,-0.010331,0.000006) (m)
Turn Triangle(x,y,z)=(0.087423,-0.018405,0.000008) (m)
Turn Triangle(x,y,z)=(0.086364,0.006061,0.000008) (m)
Turn Triangle(x,y,z)=(0.039809,0.003185,0.000009) (m)
Turn Triangle(x,y,z)=(0.001142,-0.004566,0.000006) (m)
Turn Triangle(x,y,z)=(-0.001592,0.047771,0.000009) (m)
Turn Triangle(x,y,z)=(-0.028169,0.017606,0.000010) (m)
Turn Triangle(x,y,z)=(-0.080097,-0.179612,0.000013) (m)
Turn Triangle(x,y,z)=(-0.160448,-0.567164,0.000020) (m)
Turn Triangle(x,y,z)=(-0.017442,0.127907,0.000010) (m)
Turn Triangle(x,y,z)=(-0.032828,0.176768,0.000014) (m)
Turn Triangle(x,y,z)=(-0.114583,-0.036458,0.000014) (m)
Turn Triangle(x,y,z)=(-0.025862,0.114943,0.000016) (m)
Turn Triangle(x,y,z)=(-0.103846,-0.215385,0.000021) (m)
Turn Triangle(x,y,z)=(-0.171569,-0.362745,0.000026) (m)
Turn Triangle(x,y,z)=(-0.229167,0.156250,0.000028) (m)
Turn Triangle(x,y,z)=(-0.209184,-0.081633,0.000028) (m)
Turn Triangle(x,y,z)=(-0.201220,-0.097561,0.000033) (m)
Turn Triangle(x,y,z)=(-0.550000,-1.500000,0.000135) (m)
Turn Triangle(x,y,z)=(-0.006757,-0.182432,0.000018) (m)
Turn Triangle(x,y,z)=(-0.808824,-3.323529,0.000079) (m)
Turn Triangle(x,y,z)=(-0.056122,-0.367347,0.000028) (m)
Turn Triangle(x,y,z)=(-0.171569,-0.068627,0.000026) (m)
Turn Triangle(x,y,z)=(-0.128788,-0.106061,0.000041) (m)
Turn Triangle(x,y,z)=(-0.638889,-3.388889,0.000150) (m)
Turn Triangle(x,y,z)=(-0.267857,-0.767857,0.000048) (m)
Turn Triangle(x,y,z)=(-1.#INF00,1.#INF00,1.#INF00) (m)
Turn Triangle(x,y,z)=(-0.132353,1.294118,0.000079) (m)
Turn Triangle(x,y,z)=(-0.583333,-2.500000,0.000150) (m)
Turn Triangle(x,y,z)=(-0.144737,-0.605263,0.000071) (m)
Turn Triangle(x,y,z)=(-0.170000,-0.240000,0.000054) (m)
Turn Triangle(x,y,z)=(-0.157407,-0.500000,0.000050) (m)
Turn Triangle(x,y,z)=(-0.137097,-0.338710,0.000044) (m)
Turn Triangle(x,y,z)=(-0.134615,-0.663462,0.000026) (m)
Turn Triangle(x,y,z)=(-0.197368,-0.092105,0.000036) (m)
あとはこれを理論値にどうやってもっていくかだが
カメラ操作と記録のプログラムとグラフ表示プログラムの間に
何らかの中間的なプログラムをいれることにする。
このような数字の羅列をなんとかしてグラフにできるような値にする案がほしいとこだ。
理想的なのはこんなかんじ
30
1 0 20 5
2 0 50 6
3 0 80 7
4 0 20 8
5 0 50 9
6 0 80 10
7 0 20 11
8 0 50 12
9 0 80 13
10 10 20 14
11 10 50 15
12 10 80 16
13 10 20 17
14 10 50 18
15 10 80 18
16 10 20 18
17 10 50 19
18 10 80 20
19 10 20 21
20 10 50 22
21 10 80 23
22 10 20 24
23 15 50 25
24 15 80 25
25 15 20 26
26 15 50 27
27 15 80 28
28 15 20 29
29 15 50 30
30 15 80 30
座標の数、X、Y、Zの順に4つの数値が並ぶファイルを作りたい。
ここに書いてあるのは理論値であり理想的な数値である。
単位はXYZすべてにおいて10でわりたい。
グラフにしやすいように10かけてある。
単位はすべてmである。
更新日09.11.27

1.実空間座標推移グラフ絵画プログラム一応完成!
2.研究のゴールをとりあえず考えてみた(最終的なプログラムの内容)
1時間半ほど悩まされた事柄
VC++でfopenのファイルはexeと同じディレクトリに置け!!
でないとVCの上では動くがexeファイル実行したらエラーが出る。
それができないならフルパスがある。
fopenのフルパスは\を\\にするのだ!!

最終的なプログラムの内容
2台のカメラをつないで測定用プログラムを実行し、AIBOを歩かせる。
ただし予定は当初と変更して歩行方向を反対にする。
AIBOはカメラ側からスタートし、だんだん遠ざかる。
これは歩行中にAIBOがカメラに接触して測定結果が狂うことを防ぐためである。
このプログラムは実行後、AIBOが歩き出してから歩き終わるまでの間のみ
triangle.txtに検知したカメラ差分座標より実空間座標を書き出すから
プログラム実行と同時にAIBOの歩行を開始する必要はない。
歩行終了後、プログラムを終了し、
グラフチェック用のプログラムを実行する。
このプログラムは実行後、triangle.txtを、読み取り専用モードで、フルパスで読み込み、
グラフを絵画して、実空間座標の推移から歩行を評価する。
直線を使った折れ線グラフと評価結果の表示程度なら現在のc++自作プログラムで描けた。
点数をつける基準は現在準備中。
たぶん歩行開始時と歩行終了時のx座標の推移を調べればよい。
たぶん歩行開始から歩行終了までの平均を取り、平均より多いものや少ないものの数の多さを調べればよい。
たぶん実空間座標のxのずれは小さければ小さいほど良い。(正確な歩行)
たぶん実空間座標のyのずれは大きければ大きいほど良い。(動物らしさ)
xを最大100点、yを最大100点とし、合計点÷2が最終的な評価となる。(評価A:辛め)
最終評価が60点以上のAIBOを合格とする。
AIBOがどうしても合格点に満たない場合、xとyの点数の比率を変えられるものとする。
例えばxが5点でもyが80点あればxを20%、yを80%の評価にすることで
5*0.2+80*0.8=1+64=65(合格)というような最終的な評価をつける。 (評価B:甘め)
評価Bでも不合格となったAIBOの追試、補講は一切受け付けないものとする。

今後の予定
フルパス問題は解決したので
グラフ絵画と評価プログラムはtriangle.txtをprojectフォルダから読み取り専用でフルパスでルートからもってくる。
このテキスト内の変数は全てdoubleなのでdoubleで読んだ後無理やりintに直すように
書き換えておく。
ただ、0以下のものを無理やり直すと全部0になるから、あらかじめ何倍かかけて適当な数値にしておく。
実質m単位の測定結果だからxやyが1より大きいことはありえない。
更新日09.11.22



内容:算出した実空間座標(x,y,z)のグラフを作成するソフトの作成に入った。
最も簡単なC++のコンソールアプリで自作する。
GNUPLOTは複数のグラフを同時に表示できるのかわからないので却下。
このソフトのなかで動きの採点結果も出すことにする。
更新日09.11.21


内容:3次元座標の計算式の修正
予定:さらなる実験とノイズ対策
更新日09.11.17


内容:2つのカメラの座標の矛盾点を解決した
更新日09.11.14

タグ:

+ タグ編集
  • タグ:
最終更新:2009年12月08日 13:21