Presentation is loading. Please wait.

Presentation is loading. Please wait.

専門教育入門セミナー 2016/10/31.

Similar presentations


Presentation on theme: "専門教育入門セミナー 2016/10/31."— Presentation transcript:

1 専門教育入門セミナー 2016/10/31

2 今日の内容 ライントレースの仕組みを理解する 「sample_c4」プログラムの動作確認
光センサ値の変更 前後命令「forward」と旋回命令「turn」の変更 「sample_c4」プログラムを改造して最終試験に挑戦!

3 ライントレース 目標 ライントレースを実現する方法 黒線に沿って走行する ON/OFF制御 PID制御 その他 走行体 (ロボット) 向 方
走行体 (ロボット)

4 ライントレース(ON/OFF制御)の仕組み
ロボットが「黒」の上にある時 「左(右)」に旋回 ロボットが「白」の上にある時 「右(左)」に旋回  繰り返し

5 ライントレース(ON/OFF制御)の実装
ロボットが「黒」の上にあるとき 「左(右)」に旋回 「turn」が負(正)の値 ロボットが「白」の上にあるとき 「右(左)」に旋回 「turn」が正(負)の値

6 ライントレース(ON/OFF制御)の実装
ロボットが「黒」の上にある時 「左(右)」に旋回 ロボットが「白」の上にある時 「右(左)」に旋回 どうやって判断するの?

7 現在地の色の判定 判定の基準になる値(閾値)を決める サンプル:黒と白の平均の光センサー値の中間の値
現在の光センサー値が閾値より大きい → 白の上 現在の光センサー値が閾値以下 → 黒の上 20 40 20より小さい 現在地は「黒」 20より大きい 現在地は「白」 ロボットは

8 「sample_c4」のプログラム解説 ≧ 閾値 行番号
sample_c4.c 49 #define LIGHT_WHITE 40 白の平均の光センサー値 50 #define LIGHT_BLACK 0 黒の平均の光センサー値 150 forward = 30; 前進する 151 if (ev3_color_sensor_get_reflect(color_sensor) >= (LIGHT_WHITE + LIGHT_BLACK)/2) 152 { 153 turn = 20; 右に旋回 154 } 155 else それ以外の時 156 { 157 Turn = -20; 左に旋回 158 } もし~のとき 現在地の光センサー値 閾値

9 「sample_c4」のプログラム解説 行番号
sample_c4.c 49 #define LIGHT_WHITE 40 白の平均の光センサー値 50 #define LIGHT_BLACK 0 黒の平均の光センサー値 150 forward = 30; 前進する 151 if (ev3_color_sensor_get_reflect(color_sensor) >= (LIGHT_WHITE + LIGHT_BLACK)/2) 152 { 153 turn = 20; 右に旋回 154 } 155 else それ以外の時(ロボットが「黒」の上にある時) 156 { 157 Turn = -20; 左に旋回 158 } もし、現在地の光センサー値 が 閾値 以上 の時 (もしロボットが「白」の上にある時)

10 主に調整する数値 49 #define LIGHT_WHITE 40 白の平均の光センサー値 50 #define LIGHT_BLACK 0 黒の平均の光センサー値 150 forward = 30; 前進する 151 if (ev3_color_sensor_get_reflect(color_sensor) >= (LIGHT_WHITE + LIGHT_BLACK)/2) 152 { 153 turn = 20; 右に旋回 154 } 155 else 156 { 157 Turn = -20; 左に旋回 158 } これらの値を編集することで  より早く走るロボット作りに挑戦してください!


Download ppt "専門教育入門セミナー 2016/10/31."

Similar presentations


Ads by Google