Download presentation
Presentation is loading. Please wait.
1
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
WEB: 著者:藤吉弘亘, 藤井隆司, 鈴木裕利, 石井成郎
2
■ディスプレイへの表示 2
3
ディスプレイの座標 x 177 y 127 ピクセル座標 |x| 21 y | 12 グリッド座標 3
4
テキストの表示 MINDSTORMS HELLO! x y |x| | y ピクセル座標 グリッド座標 177 127 21 12
表示したい文字列を入力 177 MINDSTORMS y 127 ピクセル座標 テキスト→ピクセル |x| 21 y | HELLO! 12 テキスト→グリッド グリッド座標 4
5
図形の表示 x y x y 177 127 177 127 表示したい文字列を入力 (50,20) 40 図形→円形 (50,20)
177 (50,20) 40 y 127 図形→円形 x 177 (50,20) y 80 80 127 図形→長方形 5
6
超音波センサの値を表示 超音波センサの値を液晶ディスプレイに表示 デバッグに重要 6
7
超音波センサの値を表示(PAD) 超音波センサの値を読み取り、テキストをディスプレイに表示 1 2 3 無限ループ 距離の読み取り
ディスプレイ表示 1 無限ループ テキストを表示 3 7
8
超音波センサの値を表示 超音波センサの値を読み取り、テキストをディスプレイに表示 1 2 3 ワイヤーテキスト データワイヤの色と意味
黄 :数値 緑 :ロジック(正偽値) オレンジ:テキスト(文字) 測定-接近度を指定 8
9
図形の繰り返し表示(PAD) 図形1と図形2を繰り返しにディスプレイに表示 1 2 3 4 5 図形の表示 無限ループ 図形1の表示
1秒間保持 3 図形2の表示 4 5 9
10
並列タスク 図形1と図形2を繰り返しにディスプレイに表示 1 2 3 4 5 1秒 1秒 10
11
■課題 障害物までの距離が小さくなるほど大きくなる円を表示 177 127 x y (89,64) r 11
12
■並列タスク 12
13
→ライントレースと障害物回避を同時に行うには並列タスクを利用
シングルタスク シングルタスクと並列タスク →ライントレースと障害物回避を同時に行うには並列タスクを利用 13
14
PADによる並列タスクの図示 1 2 5 3 4 6 10 7 9 右回転 無限ループ 反射光 > 40 左回転 45度右回転
ライントーレス 3 5 無限ループ 右回転 4 True False 6 左回転 1 並列タスク ライントレースプログラムを起動 2 障害物回避プログラムを起動 障害物との距離が 30cm以下 超音波センサによる障害物回避 7 10 45度右回転 9 14
15
並列タスク 3 5 4 2 ライントレース 1 6 7 9 ケーブルを分岐 8 障害物回避 15
16
並列タスクにおける問題 命令の衝突(コンフリクト) タスクAがタスクBの実行を妨害 同時にモータを制御 タスクB:後退 タスクA:前進
モータBCを順方向に回転 タスクB:後退 モータBCを逆方向に回転 どっちを実行すればいいの? 16
17
セマフォ(信号灯) 17
18
セマフォ(信号灯) 18
19
セマフォ(信号灯) 19
20
セマフォ(信号灯) 20
21
セマフォによるコンフリクトの回避 21
22
セマフォによるコンフリクト回避 モータ制御の前に、セマフォによる待機とセマフォに偽を代入 モータ制御の後には、セマフォに真を代入
モータ制御前 モータ制御 モータ制御後 セマフォに真を代入 セマフォの値が真になるまで セマフォに偽を代入 22
23
セマフォによるコンフリクト回避 変数に真を代入 23
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.