1. 自動運転の判断
センサーからの情報:取り敢えず左の状態を数値に変換
①何もない:0
②なんかある:0.5
③ぶつかりそう:1
3つの測距センサーにそれぞれ上記3つの状態が有るとし、その時の全組み合わせは3の3乗=27通りになります。
これら27通りの組み合わせの状況一つ一つを想像しながら自分だったらラジコンをどう操作するのかを表1の通り考えてみました。
表1:自動運転の判断基準
項目 | センサー値の入力 0(何もない)、 0.5(中距離に障害物が有る) 1(近くに障害物が有る) |
ラジコン操作の出力 ステアリング:-1(左),0(真直ぐ),1(右) スロットル:-0.5(バック),0(止まる), 0.5(徐行),1(走る!) |
||||
命令番号 | 左 | 正面 | 右 | フロントステア | スロットル | リアステア |
0 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0.5 | 0 | 0 | 0 | 1 | 0 |
2 | 1 | 0 | 0 | 0.5 | 0.5 | -0.5 |
3 | 0 | 0 | 0.5 | 0 | 1 | 0 |
4 | 0.5 | 0 | 0.5 | 0 | 1 | 0 |
5 | 1 | 0 | 0.5 | 0.5 | 0.5 | -0.5 |
6 | 0 | 0 | 1 | -0.5 | 0.5 | 0.5 |
7 | 0.5 | 0 | 1 | -0.5 | 0.5 | 0.5 |
8 | 1 | 0 | 1 | 0 | -0.5 | 0 |
9 | 0 | 0.5 | 0 | -0.5 | 0.5 | 0.5 |
10 | 0.5 | 0.5 | 0 | 0.5 | 0.5 | -0.5 |
11 | 1 | 0.5 | 0 | 1 | 0.5 | -1 |
12 | 0 | 0.5 | 0.5 | -0.5 | 0.5 | 0.5 |
13 | 0.5 | 0.5 | 0.5 | 0 | -0.5 | 0 |
14 | 1 | 0.5 | 0.5 | 0 | -0.5 | 0 |
15 | 0 | 0.5 | 1 | -1 | 0.5 | 1 |
16 | 0.5 | 0.5 | 1 | 0 | -0.5 | 0 |
17 | 1 | 0.5 | 1 | 0 | -0.5 | 0 |
18 | 0 | 1 | 0 | 1 | 0.5 | -1 |
19 | 0.5 | 1 | 0 | 1 | 0.5 | -1 |
20 | 1 | 1 | 0 | 1 | 0.5 | -1 |
21 | 0 | 1 | 0.5 | -1 | 0.5 | 1 |
22 | 0.5 | 1 | 0.5 | 0 | -0.5 | 0 |
23 | 1 | 1 | 0.5 | 0 | -0.5 | 0 |
24 | 0 | 1 | 1 | -1 | 0.5 | 1 |
25 | 0.5 | 1 | 1 | 0 | -0.5 | 0 |
26 | 1 | 1 | 1 | 0 | -0.5 | 0 |
上記3つのセンサーの状態からステアリングの操作及びスロットルの操作をそれぞれ数式に出来ればプログラムがとてもシンプル(2行位?)になります。
※しかも27通り以上の中間の状態(0.75とか)も無段階で生成しスムーズな自動運転が可能になるはず!
残念ながら50行以上のプログラムになりそうです
2. まとめ
昼ぐらいから体調が悪い上、パソコンフリーズ×3、NETフリーズ×多数と、今日は色々と絶不調です
明日更新できるのか・・・。
励みになりますのでよければクリック下さい(^o^)/