目指せ！ロボットマスター

ロボットを思い通りに動かそう！
LEGO Mindstorms EV3 で目指せロボコン！

WEB：http://robot-programming.jp/
担当：藤井隆司、藤吉弘亘、山内悠嗣
E-mail：fujii@cs.chubu.ac.jp

1

■ ロボットとは (復習)2ロボットにおける要素技術

制御技術(せいぎょ)（モータ）

状況判断に合わせた制御

感じる、判断する、動くがそなわっている人工物
センシング技術

人工知能技術(じんこうちのう)

外界の情報をセンサを介して取り込む

センサ情報を基に状況を判断（タッチセンサ、超音波センサ等）（EV3本体）3

ロボットの組み立て
ロボットエデュケーション 組み立てガイド トレーニングボット

説明書を参考にトレーニングボット（7〜53ページ,69〜80ページ)を組み立てましょう！
4

■ ロボットを動かすには5

ロボットを動かすには？

？？？

ロボットに動きを教えなければいけない

プログラムが必要

6

プログラム実行までの流れ
1.

PC上でソフトウェア(EV3-SW)を用いてプログラムを作成

2.

USB/Bluetoothでロボットへダウンロード3.

ロボット上でプログラムを実行

USB

7

EV3ソフトウェア
1.

EV3ソフトウェアを起動

2.

新規プロジェクトの作成– 新規プロジェクト プログラム 開くクリック！

クリック！

クリック！

8

EV3ソフトウェアの画面構成
ツールバー

スタートブロック

プログラミングキャンパス

プログラミングパレット

9

動く

動作
（動く）

フロー
（感じる・判断する）

センサ
（感じる）

データ
10

■音をならしてみよう

11

音を鳴らすプログラム• 指定したサウンドファイルを再生

サウンドファイルを指定

1 音
2 待機

スタートブロック

音量：0〜100(大)

時間：3秒

12

プログラムの転送
1.

プログラム名を”WRO2015”に変更– プログラム名は半角の英数字のみ

2.

ロボットが接続されているか確認

3.

ダウンロードボタンによりプログラムを転送

4.

ロボット上でプログラムを実行:○:

ダウンロード：プログラムを転送

ダウンロード&実行：転送して実行選択範囲を実行：選択した内容を実行
13

プログラムの実行
ブリックの名前

USBコネクション

Bluetooth
電池の残量

バックボタン(キャンセル)1

3

上/下/左/右ボタン33233センターボタン(決定)プログラムを選択してセンターボタンで実行（プログラム終了はバックボタン）

14プログラムの実行• 実行前にすべきこと‒ ケーブルを外して、安全確認‒ プログラムのアルゴリズムを頭の中で実行• 実行時の注意‒ ロボットの動作をよく観察し、思った通りに動いているかを確認‒ ロボットが思い通りに動かないときは、ロボットがどこまで設計図通りに動いたかを調べ、プログラムを修正（デバッグ）する

15

音を鳴らすプログラム• 指定したサウンドファイルを無限ループで再生
サウンドファイルを指定

1 ループ
2 音

3 待機

スタートブロック

無限ループ
音量：0〜100(大)

時間：3秒
16

ロボットにおける要素技術

感じる、判断する、動くがそなわっている人工物■ロボットを前進させるには(モータ制御１)■ロボットを回転させるには(モータ制御2)

17

■ロボットを前進させるには(モータ制御１)18モータの接続• EV3のどの出力ポートにモータが接続されているか確認
進行方向

左のモータ：B

右のモータ：C

19

前進プログラムのPAD• ロボットを3秒前進、その後2秒後退

モータBとモータCを３秒間回転モータBとモータCを２秒間逆回転
タンクブロック

20モータ制御によるロボットの前進 (ステアリングブロック）• ロボット(モータB+C)を3秒前進、その後2秒後退
モータが接続されているポートを指定（自動で設定される）

1 前進

2 後退

スタートブロック

ブレーキ：ON
モータを時間指定で制御→

秒数：3秒

秒数：2秒
パワーの値をマイナスにすると後退パワー：50

21モータ制御によるロボットの前進 (タンクブロック）• ロボット(モータB+C)を3秒前進、その後2秒後退
モータが接続されているポートを指定（自動で設定される）

1 前進

2 後退

スタートブロック

ブレーキ：ON
モータを時間指定で制御→

秒数：3秒
Cのパワー：50

秒数：2秒
パワーの値をマイナスにすると後退Bのパワー：50
22

Lモータの原理

段数：7段

トルク比率：45:1

エンコーダの回転角：2度

23曲線の動きを実現するには• モータBとCのパワーの値のバランスを変えてみよう

左のモータ：B
パワー: 50

右のモータ：C
パワー: 4024

曲線の動きを実現するにはタンクブロック
B: 50

C: 50

B: 50

C: 40

B: 50

C: 30

ステアリングブロック

ステアリング: 0

ステアリング: 10

ステアリング: 20

25

練習問題

• ３秒前進、２秒後退、１秒停止を３回繰り返すプログラムをつくろう

26

■ロボットを回転させるには(モータ制御2)

27

ロボットの回転• ロボットを右回転(その場で旋回)させるには

順方向

逆方向左のモータ：B

右のモータ：C

28

ロボットの右回転• 左のモータBを順回転、右のモータCを逆回転

1 前進

2 右回転

スタートブロック

モータCのパワー：-50（逆回転）
モータBのパワー：50（順回転）29ロボットを90度右回転させるには？
• どのように実現するか考えてみよう！

90度

ヒント
1. 時間制御
モータのパワーと持続時間を調整

2. 回転制御
モータの回転数もしくは角度を調整→複数の問題解決方法があるので、いろいろと試してみよう！(試行錯誤しよう)
30

ロボットを90度右回転させるには1. 時間制御

2. 回転制御

モータのパワーと持続時間を調整

モータの回転数もしくは角度を調整

持続時間：1.5秒

パワーを変更すると→持続時間の再調整が必要

回転角：180度

パワーを変更しても→回転角の再調整は必要なし→回転制御の方が便利(同じ動きでロボットを早くしたいとき等)
31

練習問題

• ３秒前進して、方向を変えて自分のところへ戻ってくる
プログラムをつくろう• 思い通りにロボットを動かしてみよう

これは簡単かも！

…

32

ロボットを一周させるには？
2回目
3秒前進→90度回転

1回目

3回目

3秒前進→90度回転

3秒前進→90度回転

4回目
3秒前進→90度回転
33

ロボットを一周させるには？

• 3秒前進と90度右回転を4回繰り返せばよい
1回目

2回目

3回目

4回目

3秒前進→90度回転

3秒前進→90度回転

3秒前進→90度回転3秒前進→90度回転100周するには？→800個のブロックを並べる必要があり！

• 繰り返し処理(ループブロック)を利用

34

ロボットを一周させるには• 3秒前進と90度右回転を4回繰り返す
1 ループ
2 3秒前進3 90度右回転

カウント：4
カウントを指定35

目指せ！ロボットマスター

ロボットを思い通りに動かそう！
LEGO Mindstorms EV3 で目指せロボコン！