清水_活動記録 - HondaLab/Robot-Intelligence GitHub Wiki

*1/20(木)


*1/19(水) 卒論を書いた。項目を入れ替えたりして,全体の流れや必要な項目を増やしたりした。1章を書いている途中。


*1/18(火) 卒論を書いた。2章を書いた。


*1/17(月) 卒論を書いた。5章を書いた。


*1/15(土) 卒論を書いた。3章を書いた。


*1/14(金) 卒論を書いた。3章を書いた。


*1/13(木) 卒論を書いた。4章を書いた。


*1/12(水) 卒論を書いた。4章を主に書いた。


*1/11(火) 卒論を書き始めた。項目を書いた。


*1/10(月) vrシアターで角度で旋回時間を決めるプログラムの180°旋回する時間が1.35s(vrシアターで調整)で実験をした

実験結果をまとめた

ロボットが180°旋回する時間を1.25sにしてvrシアターで実験すると回るのが足りなくなりやすかった。

そこでボットが180°旋回する時間を1.35sにして再び実験をしたら1.25sより回るようになった。

108_ang_90s_orbit 円形フィールドで90秒走らせた図 108_ang_5min_orbit 円形フィールドで300秒走らせた図 ang_in_scatter_all 内側の円での弾性散乱の図 ang_out_scatter_all 外側の円での弾性散乱の図 ang_scatter_all 内側と外側の両方の図

108_ang_90s_orbit 円形フィールドで90秒走らせた図 108_ang_5min_orbit 円形フィールドで300秒走らせた図 ang_in_scatter_all 内側の円での弾性散乱の図 ang_out_scatter_all 外側の円での弾性散乱の図 ang_scatter_all 内側と外側の両方の図


*1/8(土) vrシアターで角度で旋回時間を決めるプログラムの180°旋回する時間が1.25s(研究室で調整)で実験をした


*1/7(金) 3年ゼミを手伝った。障害物なし外壁なし円形コースで実験をした。


*1/6(木) ゼミで報告


*1/5(水) 3つのセンサーで角度を求めて曲がるアルゴリズムを作った。

角度と旋回時間を求める方法

calcurate1 calcurate2 calcurate3

角度を求める際に絶対値をつけているのは、CはC>=aであるがロボットが壁に対して垂直に向いているとき、センサーの値や青の部分の長さが短かったりするとC-aでマイナスの値が出ると角度にもマイナスがついてしまいこの後求める旋回時間でマイナスの値が出てしまうため絶対値にしている。

a = R × cos(45°)

b = C - a

θ = | arctan( a / b ) |

旋回時間

ロボットが180°旋回する時間を求めた角度/90°をかけて求めている。

t = 1.25 × θ / 90

入射角

φ = 90-θ

左右のセンサーと真ん中のセンサーには間があり、それぞれのセンサーから左右のセンサーと真ん中のセンサーの接点までの距離を求めて足す必要がある。

RとCの青の部分

ロボット ロボット2 range

2番目の写真を印刷して3番目のように線を書き、定規で写真の定規の長さを測りそれを利用して長さを求めた。

センサーの後ろから接点までの距離を出してセンサーの値に足して使用している。

青の部分は8.5cm、赤が11.5cm、写真の定規の1cmは1.5cmだった。

なので青の部分と赤の部分をそれぞれ2/3で割ると5.666...と7.666...になった

プログラムには小数第1位までの5.7と7.7を使っている。

フローチャート

0 3秒の弾性散乱 角度による弾性散乱

0.3秒間曲がるelastic_scattaringに角度と旋回時間を求める部分を加えた形になっている。


*12/24(金) 3年ゼミ手伝い。


*12/23(木) ゼミで報告。

次回までに3つのセンサーで角度を求める方法を考える。


*12/22(水) 先行研究とareaL、areaRの値を変えた散布図を作った。

areaLとareaRが0.2の場合に弾性散乱を行うようにした旋回時間を2倍にする弾性散乱

ref_scatter_all

接触センサーによって90°曲がる先行研究の弾性散乱

先行研究の弾性散乱は壁にぶつかると90°曲がるようになっているため、青の直線に近い値を取る。

rpi_scatter_all

先行研究のロボットの軌跡

rpi120_Angle_R


*12/21(火) 大掃除をして、お好み焼きを作って食べた。


*12/20(月) 実験の結果から角度を求めた。


*12/18(土) vrシアターでareaLとareaRが0.2の場合に弾性散乱を行うようにして実験をした。


*12/17(金) 3年ゼミの手伝い。8の字走行。


*12/16(木) ゼミで報告。

0.3秒ターンの弾性散乱、旋回時間が2倍の弾性散乱


*12/15(水)  擬似的弾性散乱と反射軌道用のプログラムで1分30秒をそれぞれ10回ずつ走らせて壁で跳ね返った際の角度を散布図にした。

ロボットが壁で反射して進む回数を増やすために外側に半径2m、中心に半径1mに壁があり、ドーナツ型のコースでロボットを走行させた。

横軸が入射角、縦軸が反射角、赤い点が求められた角度、緑の直線が入射角と反射角の理想の値である。

ela_scatter_all

ref_scatter_all


*12/14(火) 散布図用にデータを収集した。


*12/13(月) 反射起動のプログラムの旋回する際に旋回が止まらない問題の解決方法を考えた。


*12/10(金) 3年ゼミの手伝い。8の字で学習をした。


*12/9(木) 交通流シンポジウムを見学した。


*12/7(火) 散布図用にデータを収集した。


*12/6(月) 反射起動のプログラムの旋回する際に旋回が止まらない問題の解決方法を考えた。


*12/3(金) 3年ゼミの手伝い。8の字で学習をした。


  • 12/2(木) ゼミで報告。

次までにx軸入射角,y軸反射角のグラフを作る.アルゴリズムの説明を修正する.擬似的弾性散乱と反射軌道のプログラム


  • 12/1(水) 

弾性散乱

108_take1_orbit

反射軌道,take1

108_take2_orbit

反射軌道,take2

108_take3_orbit

弾性散乱

入射角 反射角 備考
1 74.021 73.485 0.536
2 75.522 69.119 6.403
3 69.588 72.599 -3.011
4 70.327 72.298 -1.971
5 71.410 66.285 5.125
6 67.085 78.266 -11.181
7 75.742 65.570 10.172
8 67.601 78.816 -11.215
9 74.638 71.415 3.223
10 68.887 75.221 -6.334
11 72.216 69.976 2.240
12 65.106 69.531 -4.425
13 66.198 72.988 -6.790
14 72.355 63.635 8.720
15 65.798 84.914 -19.117
16 76.288 63.721 12.567
17 62.164 83.654 -21.490
18 75.329 70.193 5.136
19 69.109 73.799 -4.690
20 71.458 69.419 2.039

反射軌道,take1

入射角 反射角 備考
1 10.280 4.830 5.450
2 4.280 -1.597 5.877 ロボットが曲がりすぎている
3 2.466 12.926 -10.460
4 14.196 26.477 -12.281
5 25.323 20.130 5.193
6 18.963 27.281 -8.318
7 28.301 46.862 -18.561

反射軌道,take2

入射角 反射角 備考
1 44.580 50.707 -6.127
2 42.982 69.789 -26.807
3 65.892 81.644 -15.752
4 74.241 69.044 5.197
5 73.264 68.143 5.121
6 64.045 70.334 -6.289
7 69.142 71.749 -2.607
8 60.745 64.304 -3.559
9 64.440 71.151 -6.711
10 57.657 55.295 2.362
11 54.695 56.827 -2.132
12 47.493 66.597 -19.104
13 64.073 74.173 -10.100
14 69.124 65.601 3.523
15 66.084 75.930 -9.846
16 71.490 76.547 -5.057
17 74.393 76.613 -2.220
18 76.773 65.491 11.282

障害物として壁の他にロボットを置いた場合

7台のロボットをコース内に置いて1台のロボットを走らせたところ障害物のロボットに対して反射しているように見えて、動きも似たような軌跡をしていても全く同じというものはなかった。しかしロボットが囲まれた状態に近い状況になると旋回をやりすぎてしまいロボットが旋回し続けるという事態が発生していた。

この問題はロボットの旋回時間に制限を加えることで解決できると考えられる。具体的にはロボットを壁に対して垂直に向かって走らせた場合の旋回時間を基準にしてそれ以上は旋回を行わせないようにする。


  • 11/30(火) vrシアターで実験。elastic_scataring、reflection_obitの壁のみ、7台のロボットの障害物設置で走らせた。

  • 11/29(月) 角度を求めるプログラムをモーションキャプチャーのデータから反射しているところを探すプログラムと合体させた。

実験の準備


  • 11/25(木) ゼミで報告

先行研究の軌道、現在のロボットの2dovrの軌道、自分のアルゴリズムの軌道、比較する。

計算のプログラムで間違えているところを発見して新たに表を作った。

y = a_1*x に垂直な関数を求めようとして a_2 = -1/a_1 にしないといけないところを a_2 = -a_1 にしていた。

入射角 反射角
1 20.349 13.534 6.815
2 13.353 18.983 -5.630
3 19.400 24.574 -5.174
4 24.374 42.567 -18.193
5 41.367 54.241 -12.874
6 52.680 50.439 2.241

  • 11/24(水) 角度を求める計算式に問題が無いことを確認した。角度の単位をラジアンから度に直していることも確認した。

計算していくに連れて誤差が大きくなり、それが最終的に大きな誤差になってしまっていると考えられる。

ロボットの軌道のグラフを印刷し、分度器を使って求めようと思う。


  • 11/23(火) ロボットの入射角と反射角を求めるプログラムを作成した。 ロボットの軌道のグラフを見るとロボットが旋回する部分の座標を求めるのがこのままでは難しいと考えたため、ロボットが壁に向かうときと離れるときの直線の関数を求め、そこから旋回している場所の座標を求めることで入射角と反射角を求めていくものを考えた。
入射角 反射角
1 30.853 14.030
2 13.115 22.982
3 62.669 36.575
4 22.604 52.999
5 39.675 57.169
6 39.835 84.241

108_shita_R

求められた値をロボットの軌道のグラフと見比べると正しい角度が求められていられそうなときと求められていないときがあると思われる計算結果がでた。


  • 11/19(金) 3年ゼミの手伝い、芋煮会、最初は調味料が少なく素材の味がした。

  • 11/18(木) ゼミで活動報告

  • 11/17(水) 実験の報告の作成

  • 11/16(火) vrシアターで実験

先週の場合

ループ回数/合計時間

ループ タイマー
15.649909219195527 15.837997412634873 -0.20256236256539673

差を見ると0.2回以上ずれていて、モーターに値を入力する時間を測っていないタイマーのほうがrateが多くなってしまっている。

今週の場合

ループ タイマー
15.759362877930508 15.837997412634873 -0.07863453470436532

差を見ると0.1回未満になっている。これは平衡状態になってから再びモーターへの値の入力やタイマーの計算などタイマーを止めてからの処理の文の差だと考えられる。

ループ タイマー
15.837997412634873 15.837997412634873 -0.0020490377952704364

タイマーは一回のループの真ん中で、ループの時間は最後で測定しているため同じ回数で測ると最後の文でタイマーでは測らない部分が出てくるのでその部分のみ測定したものを使って再度計算すると差が0.01より小さくなる

ループ タイマー
15.649909219195527 15.837997412634873 -0.20256236256539673
15.837997412634873 15.837997412634873 -0.0020490377952704364

フローチャート

軌道

108_fh


  • 11/11(木) ゼミで報告

  • 11/10(水) 実験の報告作成

  • 11/9 (火) 反射軌道の動作の確認を円形フィールドで行った。ロボットは壁の近くまで進むとそこで相乗平均が0.3より小さい間は回転し、壁と進行方向が平行な状態まで回る。それでは回転が不十分なため、ロボットが壁と平行になるまでの時間を平行になった状態から再び回している。図は約4分の中から全体、20から110秒、120から210秒のグラフ。

110 110_fh 110_lh

ロボットは壁に垂直に向かって行くと後ろを向いて進んでいた。完全に真後ろになるまで回転したというわけではなく少し多く回転しているときもあったが、壁で反射したような軌道をしていた。壁に対して斜めに向かっていったときは、それに近い角度で跳ね返っているように見えた。壁と平行になるまでの時間を使ってもう一度回転させているので反射しているように見える。ロボットが回転をしすぎていたり足りなかったりするのは、相乗平均が0.3以上になるタイミングに違いがあるからだと考えられる。

非線形感覚運動写像_4_center

先行研究のグラフ


  • 11/6 (土) 作ったプログラムはロボットがモーター曲がる指示を出してから再び指示を出すまでの時間を毎回測り、それを曲がり始めから終わりまで加算し続けて、ロボットが平行になったら曲がる際に測った時間の合計を使ってもう一度曲がらせていたが、時間を測る位置を間違えていたため修正をした。

  • 11/5 (金) 3年のゼミを手伝う、NNSSR2の学習の方法や操作方法を李くんが3年に教えていた。

  • 11/4 (木) 会社の面談があり、ゼミを早退した。

  • 11/3 (水) vrシアターで李くんの実験をした、elastic_scatteringが0.3秒間曲がるようになっていたので、それを0.5、1.0、1.5にして動かしてみたら決まった角度に曲がるロボットになっていてそれでは違う角度のときそれに合わせて曲がれない問題があるので他の方法を考えた。感覚運動写像のロボットは壁のところで曲がると壁に沿って進むため、ロボットは壁に沿う向き、つまりロボットが壁と平行になる向きまで曲がることができている。そこでロボットがその状態まで曲がるのならその状態になるまで曲がった時間をその壁と平行になった状態からもう一度曲がらせてあげれば入射角と反射角が同じまたは限りなく近い状態になると思いプログラム作った。試作で作ったそれを実行させると反射軌道っぽい動きをしていた。

  • 11/2 (火) vrシアターで山田くんの実験、elastic_scatteringのスピードがMAXSPEEDつまり100%の値でロボットを走らせており、感覚運動写像の式を調整して曲がる際にMAXSPEEDが出るようにしても反射軌道を行うことはできないため他の方法を考えることにした。

  • 10/29(金) 教職の説明会で遅れる、3年仮配属でNNSSR2のロボット操作してデータを収集するのを他のロボットを動かして手伝う

  • 10/28(木) ゼミ、山田くんと李くんの実験の報告を聞く、elastic_scatteringの動きを観察したがロボットが曲がる際に、ロボットが壁に垂直に進む方向から大きく角度をつけた向きで進むと反射したように進むが、少し角度をつけた向きで進んで行くと曲がっても大きな角度を残したまま進んでしまっていた。

  • 10/27(水) 後藤の中間発表見学、倉重先生の質問をメモした。

  • 10/26(火) vrシアターで山田くんと李くんの実験

  • 10/22(金) 3年仮配属でNNSSR2のロボット操作の練習と黒パソコンのアップデート作業を手伝った。

  • 10/21(木) ゼミ、中間発表の反省

  • 10/20(水) 中間発表

  • 10/19(火) レジュメ作成して先生に添削してもらう、パワーポイント作成、発表練習、パワーポイント修正をした。

  • 10/18(月) 自分のレジュメ作成、山田くんに見てもらった。

  • 10/15(金) 自分の中間発表のレジュメ作成、3年仮配属を少し手伝う。

  • 10/14(木) 会社関係でゼミ欠席

  • 10/13(水) 姉崎とハキムの中間発表見学、二人の倉重先生からの質問をメモした。本田先生と山田くんに相談して自分のテーマ決定

  • 10/12(火) vrシアターで実験、姉崎とハキムの中間発表の手伝いをした。

  • 10/11(月) 過去の卒論を読んでテーマを考える。

  • 10/7 (木) ゼミ

  • 10/5 (火) vrシアターで実験

  • 9/30(木) ゼミ

  • 9/27(月) 後期実験とゼミの日にち決めた


  • 7/30(金) 教科書6残り

  • 7/27(火) 研究室でNNSSR2の実験

  • 7/20(火) 研究室でNNSSR2の実験

  • 7/16(金) 教科書6.2

  • 7/13(火) 研究室でNNSSR2の実験

  • 7/9 (金) 教科書5.8 プログラム 回帰バッチandミニバッチ 6.1 6.2

  • 7/6 (火) 研究室で実験

  • 7/2 (金) 教科書5.8、プログラム バッチ、分類と回帰

  • 6/29(火) vrシアターで実験