ロボカップジュニア サッカーロボット作成講習会

ロボカップジュニア
サッカーロボット作成講習会
第⼆回 ソフトウェア編1
1
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
スタッフ紹介
澤⼭ 博幸
森 省三
川野 壮⼀
⽔川 信之
稲⽑ 順
松繁 ⼀輝
三輪 昭⽣
吉⽥ 浩治
澤⼭ 恵⼦
2
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボカップの⽬的
• ⽬標
– 「 FIFAルールに従い2050年までにワールドカップ
チャンピオンチームに11台のヒューマノイドロボッ
トで勝利する」
• ⽬的
– この過程で開発される多くの技術が様々な分野に応⽤
されることにより、より豊かな社会が実現されること
を期待する
3
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボカップジュニアの⽬的
• 最終⽬標に向けた次世代研究者の育成
• ロボカップを通じたものづくり教育
– 次のことを期待
• 科学知識の習得(次⾴参照)
• 科学的、論理的な考え⽅を⾝につける
• ⾃ら⼯夫し挑戦する
• だれとでも(⼤⼈・外国⼈)会話できる
4
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
本講習会の⽬的
ロボカップジュニアの⼤会に出場するために
1. ロボットの基本的なしくみを理解する
2. ロボットを思いどおりに動かせるように
プログラミング
3. ルールと戦略(どう戦えばいいか)を理解
4. ロボットの改造
5
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
講習会の進め⽅
• 第⼀回
ロボット作成
• 第⼆回
ソフトウェア⼊⾨編
• 第三回
ソフトウェア基礎編
• 第四回
ソフトウェア応⽤編
– ロボットを動かす
– 外界の情報をもとにロボットの動きを変える
– 試合に勝つ⼯夫をプログラムする
6
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
第⼆回のスケジュール
•
•
•
•
•
•
•
10:30〜11:00
11:00〜12:00
12:00〜13:00
13:00〜13:45
13:45〜15:00
15:00〜15:30
15:30〜
講義
LEDの点滅/プログラムの保存
昼休憩
⾳を出してみる
課題演習
講義/質疑応答
解散(フィールドで⾃由にロボットを動かしてみてください)
7
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
学習のポイント1
• メモする
–
–
–
–
–
⽬的、⽬標
やること、やったこと(計画)
観察したこと(事実)
ひらめいたこと、思いついたこと(思い)
聞いたことなど 何でも
8
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
学習のポイント2
PDCAサイクル
9
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
はじめる前に
• 紳⼠的に
– 静かに話を聞く、礼儀正しく
– 接する⼈(両親、友達)に敬意を持つ
– ロボット・道具・会場設備を⼤切に
• ⾃分の⾏動に責任を持つ
• 主体的に
– ⾃分で考え、わからない点は⾃分で聞く・調べる
– ⾃分で⼿を動かしてやってみる
10
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
サッカーロボットのしくみ
11
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボットとは?
• ⼈間に類似した形態をもち、
⾃動的に作業を⾏う機械装置
• 感じる、判断する、動くの三つが
そなわっている⼈⼯物」※
• 環境に溶け込み⼈の役に⽴つもの
(インビジブル
ロボット)
– 例:エアコン、洗濯機、テレビ、⾞
※出典
12
東嶋和⼦著『ロボット教室』光⽂社
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
⾃律ロボットって?
こっち
13
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
⾃律⾏動
外界の
状態を
知る
ボールの位置を
調べる
指示された通り
移動する
進むべき方向と
速度を決める
状況を
判断
動く
14
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボットに⾃律⾏動をさせるには?
• 課題を解くための⼿順を考える
⇒
アルゴリズム
• ⼿順をロボットにわかる⾔葉に書き換える
⇒
プログラムミング
15
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボット⼯学
Wikipediaより
16
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボカップジュニアに参加するロボットのたち
EV3
NXT
⾃作
TJ3
e-Gadget
17
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ORJAロボ2016
コントローラボード
Arduino互換機
ギアードモータ
ボールセンサ
ラインセンサ
18
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
Arduinoとは
• イタリア発祥の教育⽤マイコンとその開発環境
– 専⾨家を利⽤者の対象としていないため
⼀般⼈から⾒て⾮常識な部分が(割と)少ない
– Hardware/Softwareとも設計が無料で公開されている
• 知りたいことがインターネットで⾒つかる
• 多彩な増設ボードが販売されている
19
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
コントローラボード
• Arduino互換機 DFRobot社RomeoV2
– Arduino Leonard互換
• Arduinoのソフトウェア・増設ボードを利⽤可能
– 標準機から強化されている点
•
•
•
•
DCモータドライバ(2個)
ステップモータドライバ(1個)
ボタン(5個)
外部接続ピン
– 各信号線に5V/GNDを増設
– I2C⽤専⽤ピン増設(2セット)
• Bluetooth増設ポート
• xBee増設ポート
20
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
コントローラボード
デジタル⼊出⼒ピン
0〜13
アナログ⼊⼒ピン
0〜5
21
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
事前準備
スピーカの取り付け
• スピーカを~10とGNDをまたぐように差し込む
22
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
事前準備
LEDとボタン
デジタル13番ピンに
繋がったLED
アナログ0番ピンに
繋がったボタン
アナログ0番ピンと
ボタンを接続するか
否かの切替スイッチ
23
リセットスイッチ
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
アルゴリズム
24
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
アルゴリズムとは?
• コンピュータで計算を⾏うときの「計算⽅法」
• 何か物事をやるときの「やり⽅」
• 「やり⽅」を⼯夫して、よりよいやり⽅を
⾒つけていきます
国⽴情報学研究所のホームページ
http://research.nii.ac.jp/~uno/algo_3.htm
25
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
より良いアルゴリズムとは
星形にんじんを30枚作るには、
何回包丁を使う?
国⽴情報学研究所のホームページ
http://research.nii.ac.jp/~uno/algo_3.htm
26
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
より良いアルゴリズムとは
30枚作るには?
輪切り :
31回包丁をいれる
星型切り:
1枚づつ10回包丁をいれる
合計 331回 包丁をいれる(31回+10回×30枚)
27
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
より良いアルゴリズムとは
30枚作るには?
星型切り:
10回包丁をいれる
輪切り:
31回包丁をいれる
合計41回 包丁をいれる(10回 + 31回)
方法1(331回)に比べ、290回少ない
28
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボットへのプログラムの⼊れ⽅
29
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
プログラム⾔語
Arduino
(C⾔語/C++⾔語)
Ardublock
30
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
プログラム実⾏までの流れ
1. パソコン上でプログラムを作成
–
⼈がわかる⾔葉・図形で表現
2. コンパイル ・リンク
–
ロボットがわかる⾔葉に変換
–
あらかじめ⽤意されているプログラムと合体
3. ロボットへダウンロード
–
PCからロボットへプログラムを送る
4. ロボット上でプログラムを実⾏
31
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
プログラム実⾏までの流れ
プログラム
コンパイル
機械語
32
ダウンロード
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
ロボット取扱上の注意点
• USBケーブルのロボット側コネクタを
抜き挿しするときは、無理な⼒をくわえないこと
• 机の上では、動かさないこと
– 落ちて壊れることがあります
33
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
プログラムをロボット⼊れる
ロボットとパソコンをつなぐ
「マイコンボードに書き込んでいます」と
表⽰されたら、リセットボタンを押す
[Arduinoにアップロード] ボタンを押す
このメッセージが出たらOK
34
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
プログラミング
LED点滅 (Lチカ)
35
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
LED
• LED(Light Emitting Diode):発光ダイオード
36
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
LEDの原理
• 励起発光
• エネルギー変換効率
–
–
–
–
–
LED照明
⽩熱電球
蛍光灯
HID(⾼圧放電)ランプ
北⽶産蛍
25〜30%
10〜15%
25%
20〜40%
41%
37
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
LEDのしくみ
• 発光ダイオード(Light Emitting Diode)
• 動画(Panasonic )
発光ダイオードのしくみ動画 (Panasonic)
(http://www2.panasonic.biz/es/lighting/led/led/
movie/index.html)
38
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
プログラムを作ってみよう
プログラム
コンパイル
機械語
39
いらすとや
ダウンロード
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
Arduino IDEとArdublock起動
←メニューのArduinoを選択するか
デスクトップのアイコンをダブルクリック
40
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
LEDを点灯するアルゴリズム
• 動きを細かく分析、分解する
はじめ
LEDをつける
時間を測る
LEDを消す
おわり
41
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
LEDを点灯するプログラム
• LEDを1秒間点灯するプログラム
はじめ
LEDをつける
時間を測る
LEDを消す
おわり
42
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
LEDを点灯するプログラム
LEDを⼀秒間点灯するプログラム
処理の流れ
プログラムは上から順番にひとつずつ実⾏される
43
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
プログラム解説
13番デジタルピンを
HIGHに設定
1000ミリ秒待つ
13番デジタルピンを
LOWに設定
『デジタル回路』は“0ボルト”と“電源電圧値”の2つの電圧値だけを扱う
0ボルトをLOW、電源電圧値(RomeoV2は5ボルト)をHIGHと呼ぶ
44
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
単位の接頭辞について
• セント
• %(パーセント)
– cm(センチメートル)
– 100分の1
– パーとは割ることを
意味している
– セントで割る
→百で割る
• ミリ
– mm(ミリメートル)
– mg(ミリグラム)
– 1000分の1(1/1000)
• ‰(パーミル)
– 千で割る
• マイクロ
–
–
–
–
μm(マイクロメートル)
μg(マイクログラム)
μ秒(マイクロ秒)
100万分の1
(1/1000000)
45
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
コンパイル・ダウンロード
プログラム
コンパイル
機械語
46
いらすとや
ダウンロード
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
コンパイル・ダウンロード
• PCとロボットをケーブルで繋ぐ
• [Arduinoにアップロード]ボタンを押す
– Arduino IDEにプログラムコードが⽣成される
– Arduinoへのダウンロードされる
– ダウンロードされたプログラムはすぐに実⾏される
リセットボタンを押すとプログラムが
再起動されます
47
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
動作確認
⾃分の思ったとおりの動きをしましたか?
48
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
デバッグ
⾃分の思いとは違う動きをした場合はプログラムを
修正する→ これを「デバッグ」という
Arduinoはプログラムを繰り返し実⾏する
49
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
LEDを点滅するプログラム
• LEDを1秒間隔で点滅するプログラム
はじめ
LEDをつける
時間を測る
LEDを消す
時間を測る
おわり
50
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.
プログラムの保存
[保存]または[名前をつけて保存]で
プログラムを保存します
51
岡⼭ロボット技術⼦供育成協会
Copyright ORJA AllRightsReserved.