Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
1岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボカップジュニアサッカーロボット作成講習会
ソフトウェア編2
2岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
講習会の進め⽅
第⼀回 ロボット作成
第⼆回 ソフトウェア⼊⾨編ロボットを動かす
第三回 ソフトウェア基礎編外界の情報をロボットに取り込む
第四回 ソフトウェア応⽤編試合に勝つ⼯夫をプログラムする
3岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
講習会第三回の予定
10:45〜11:00 シリアル通信とシリアルモニタ
11:00〜12:00 センサの値を⾒てみよう
(昼休憩)
13:00〜13:30 変数と条件分岐
13:30〜14:15 ボールセンサ
14:15〜15:00 ラインセンサ
15:00〜15:30 試合に向けて
15:30〜 質疑応答/解散
4岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
シリアル通信とシリアルモニタ
信号の値を⾒る
5岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
シリアル通信
• デジタル信号を1bitずつやり取りすること
• デジタルでの最も基本的なデータ取り扱い– 極単純な装置でほとんどの機器についている
6岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
シリアルモニタ
• 1bitずつ送られてくるデータを表⽰すること• ⼈間が確認できるので装置の状態を
知ることが出来る
7岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
センサの値を⾒てみよう
8岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
センサの値を読む
• センサの値を⾒るためにArduinoのシリアルモニタを利⽤します– Ardublockでセンサの値をパソコンに送る– ArduinoIDEで送られてくる値を表⽰する
9岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
Ardublockのシリアル通信
• 下図のようにブロックを組んでロボットへダウンロードして下さい
10岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
センサの値を読む
• ロボットは以下のピンに各センサが繋がっています– アナログ0:ボタン
– アナログ3:ラインセンサ
– アナログ5:ボールセンサ
11岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ボタンの値を表⽰する
表示したい文字を表示
messageと表示されていた部分をダブルクリックすると、すきな文字に変更できる
アナログピン0番の値を文字に変換して、前の文字につなぐ
12岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
調べよう
• ラインセンサ– フィールド内にいるときの値– ラインを踏んだときの値
• ボールセンサ– ボールが無いときの値– ボールが⽬の前にあるときの値– ボールが30cm前にあるときの値– ボールが70cm前にあるときの値
• ボタン– ボタン1,2,3,4,5が押された時の値
13岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
センサの値
「センサの信号を⾒ると、何もしていなくても、増えたり減ったりして安定していない」
信号は安定しない それが当たり前
14岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
変数と条件分岐
15岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
変数• 情報を操作(数える・憶える)するために使う物• コンピュータ内の”⼀時的な”記録エリア
– 「数字」,「⽂字」を⼊れておく箱
1
A=1 変数Aに1を⼊れる
A=A+1 変数Aに1を⾜すイコールの意味が算数/数学とは違う
A+1
16岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
どんな時に変数を使うか
• センサの値をしばらく取っておきたい場合
• 計算をしたい場合
• プログラムわかりやすくする場合– そこに⼊れる数字の意味を変数名にする
17岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
変数の使い⽅
ダブルクリックすると変数に名前を付けることが出来る
「Ball」(ボール)という名前を付けた
アナログピン5番の値を「Ball」(ボール)という変数にいれる
18岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
Ardublockでの変数
変数には”型”という概念がある→⼊れることのデータの⼤きさ・種類が違う
整数 数字が⼊る定数 決まった数字
論理値 0か1が⼊る⼈が判りやすいように真/偽、High/Lowと呼ぶことが多い
⽂字 アルファベット記号⼀⽂字⽂字列 ⾃由な⻑さの⽂字を
19岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
分岐
• 何かがあったときプログラムの流れを変える
• ORJAロボ2016の場合の例– ボールを⾒つけた/⾒つからない
• ボールが遠い• ボールが近い
– ラインを踏んだ– スイッチが押された
20岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
もし○○ならば××する
もし○○であり◎◎であるならば××する
もし○○ならば××するでなければ△△する
21岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ラインセンサ
ラインの上に来たらLEDを点灯し3秒バックする
22岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ライトセンサのしくみ
• LEDとフォトダイオードの組み合わせ• LEDの反射光の量を読み取る
• フォトダイオード(フォトトランジスタ)– 光を電気信号に変換する
23岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
センサの基本
24岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
センサの基本
(a)
(b)
25岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
センサの基本
外部の情報により抵抗値が変化するものをセンサとして利⽤する
外部環境の変化により抵抗値が変化することで出⼒される電圧が変化する
26岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
課題
• 前進してラインを踏んだらしばらくバック⽌まってから⾳を出してみよう
27岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ラインを⾒つけたらバックし⾳を出す
• 条件分岐(if⽂)を使う– もし○○なら△△する
そうで無いなら××する– if ○○
then △△else ××
前進
音を1秒出す
2秒間バックし停止
はじめ
おわり
ラインを越えた
28岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ボールセンサ
ボールを⾒つけたら⾳を出す
29岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ボールとボールセンサの仕組み• 家電製品のリモコンと同じ部品が使われている
– ただし⽇本規格ではなくヨーロッパ・アメリカ規格– ボールが発する信号は40kHzの周波数で変調された
⾚外線(⽇本のリモコンは38kHz)• LEDが波⻑940nmの⾚外線を出している
30岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ボールとボールセンサの仕組み
• リモコン受光素⼦をボールセンサとして利⽤– ORJAロボ2016では⼊⼿性を考慮し秋⽉電⼦通商で
販売している”PL-IRM2121”を利⽤– これ以外にも⾚外線リモコンセンサは多数の種類あり
電⼦部品を購⼊する際はあわせてデータシートも⼊⼿する
31岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
コンデンサ
• 皆さんがボールセンサを作ったときに、コンデンサという電⼦部品を半⽥付けしました– どういう役⽬で使われているか⾃分で勉強してみて下さい
32岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
課題
1. クルクル回ってボールを⾒つけたら⾳を出してみよう
1. その場で回転する2. ボールがあれば(⼀定時間)⾳を出す
2. ボールセンサの信号の強さ(ボールとの距離)によって⾳の⾼さを変えてみよう
1. その場で回転する2. ボール信号の⼤きさが○○以上ならばドの⾳3. ボール信号の⼤きさが○○より⼩さいならラ⾳
33岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
試合に向けて
34岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボカップジュニア サッカーのルール
中⽴点
35岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボカップジュニア サッカーのルール• 特殊なルール
– アウト・オブ・リーチ• ボールが⽩線の外に出て停⽌
→主審がボールを近くの中⽴点に移動する
– アウト・オブ・バウンズ• ロボットが⽩線の外に”完全に”出る
→1分間(⼜は30秒間)の退場• 他のロボット(味⽅も含める)に
押し出された場合は、アウトオブバウンズとはみなさない
• 得点/失点が有った場合はフィールドに復帰出来る
36岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボカップジュニア サッカーのルール
• 特殊なルール– ラック・オブ・プログレス(試合進⾏の停⽌)
• 試合の進展が⾒られない場合→主審がカウント開始を宣⾔し5カウントの後、
ボールを中⽴点に移動する。それでも試合に動きが⾒られない場合は、更に5カウントし異なる中⽴点にボールを移動する中央中⽴点にボールを移動しても、試合に進展が⾒られない場合は「リスタート」となる– リスタートは各チームのロボットをセンターサークル外に配置し、
主審の合図に合わせ、ロボットをスタートさせる• ロボットがボールを押し合い、動きが無い場合(スタック)
→審判はスタックを宣⾔し、ただちにボールを最寄りの中⽴点に移動
37岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
試合に必要なこと
• 僅かな⼯夫が勝敗を決める– ⼩さな⼯夫を積み上げる– ⼀⼈で考えるよりも話し合う
• アイディアを出し合う– ⼈のアイディアに⾃分の考えを⾜してみる– ⼈のアイディアを否定しない
• まず、すべきこと– ロボットがすぐに動き出すようにする
38岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
Arduinoのプログラム
はじめ
LEDをつける
LEDを消す
時間を測る
時間を測る
39岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
Arduinoのプログラムはじめ
ロボットを動かすプログラム
準備
プログラムの例
40岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
Arduinoのプログラムはじめ
ロボットを動かすプログラム
準備
プログラムの例
キックオフ前のプログラム。何かを操作で、「ロボットを動かすプログラム」に行く
各センサの値を読み取る判断する
動く(動かない)
41岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
サッカーロボット サンプルプログラム
みんな動くようになったら試合をします
42岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
2017シーズン ⼤会⽇程
公開練習会 2016年11月13日 ライフパーク倉敷岡山地区大会 2016年11月20日 人と科学の未来館サイピア倉敷地区大会 2016年11月27日 ライフパーク倉敷岡山県大会 2016年12月25日 ライフパーク倉敷
日本大会 2017年3月25,26日岐阜県中津川市 東美濃ふれあいセンター
世界大会 2017年7月24,25,26日日本 愛知県名古屋市 ポートメッセ名古屋
43岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボットサッカー⼤会に挑戦ロボット作成講習会
⽇程 全四回 9⽉4⽇(⽇) 9⽉24⽇(⼟)10⽉9⽇(⽇) 10⽉29⽇ (⼟)いずれも10:30〜16:00(途中昼⾷休憩)
場所 ⼈と科学の未来館サイピア
本⽇は お疲れ様でした