2015ORJA講習会#2前半 - 岡山ロボット技術子供育成協会

ロボカップジュニア
サッカーロボット作成講習会
第⼆二回 ソフトウェア基礎編
1
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. スタッフ紹介
• 澤⼭山 博幸(第⼀一回講師)
• 森 省省三(本⽇日講師)
• 川野 壮⼀一
• ⽔水川 信之
• 稲⽑毛 順
• 松繁 ⼀一輝
• 三輪輪 昭⽣生
2
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ロボカップの⽬目的
• 最終⽬目標
– 「 FIFAルールに従い2050年年までにワールドカップ
チャンピオンチームに11台のヒューマノイドロボッ
トで勝利利する」
– この過程で開発される多くの技術が様々な分野に応⽤用
されることにより、より豊かな社会が実現されること
を期待する
3
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ロボカップジュニアの⽬目的
• 最終⽬目標に向けた次世代研究者の育成
• ロボカップを通じたものづくり教育
– 次のことを期待
• 科学知識識の習得(次⾴頁参照)
• 科学的、論論理理的な考え⽅方を⾝身につける
• ⾃自ら⼯工夫し挑戦する
• だれとでも(⼤大⼈人・外国⼈人)会話できる
4
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ロボット⼯工学
Wikipediaより
5
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. 本講習会の⽬目的
ロボカップジュニアの⼤大会に出場するために
1. ロボットの基本的なしくみを理理解
2. ロボットを思いどおりに動かせるように
プログラミング
3. ルールと、戦略略(どう戦えばいいか)を理理解
4. ロボットの改造
6
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. 講習会の進め⽅方
• 第⼀一回
ロボット作成
• 第⼆二回
ソフトウェア基礎編
• 第三回
実践編
– ロボットのしくみとプログラミングの基礎
– ロボットに⾃自分の⼯工夫を追加する
7
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ソフトウェア基礎編
• ロボットのしくみとプログラミング
– ロボットとは
– DFRobot社 RomeoV2 と Arduino
– プログラミング環境と使い⽅方
• プログラム
– 出⼒力力をコントロールする
– 外界の情報を知る
– プログラムのテクニック
• 分岐
• 繰り返し
• サブルーチン
8
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. 学習のポイント
• メモする
–
–
–
–
–
⽬目的、⽬目標
やること、やったこと(計画)
観察したこと(事実)
ひらめいたこと、思いついたこと(思い)
聞いたことなど 何でも
9
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. 学習のポイント
PDCAサイクル
10
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. 学習のポイント
「あきらめない」
11
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. はじめる前に
• 紳⼠士的に
– 静かに話を聞く、礼儀正しく
– 接する⼈人(両親、友達)に敬意を持つ
– ロボット・道具・会場設備を⼤大切切に
• 主体的に
– ⾃自分で考え、わからない点は⾃自分で聞く・調べる
– ⾃自分で⼿手を動かしてやってみる
12
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. サッカーロボットのしくみ
13
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ロボットとは?
• ⼈人間に類似した形態をもち、
⾃自動的に作業を⾏行行う機械装置
• 感じる、判断する、動くの三つが
そなわっている⼈人⼯工物」※
• 環境に溶け込み⼈人の役に⽴立立つもの
(インビジブル
ロボット)
– 例例:エアコン、洗濯機、テレビ、⾞車車
※出典
14
東嶋和⼦子著『ロボット教室』光⽂文社
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ⾃自律律⾏行行動
外界の
状態を
知る
ボールの位置を
調べる
指示された通り
移動する
進むべき方向と
速度を決める
状況を
判断
動く
15
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ロボットに⾃自律律⾏行行動をさせるには?
• 課題を解くための⼿手順を考える
⇒
アルゴリズム
• ⼿手順をロボットにわかる⾔言葉葉に書き換える
⇒
プログラムミング
16
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ロボカップジュニアに参加するロボットのたち
EV3
NXT
e-­Gadget
TJ3
17
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ORJAロボ2015
コントローラボード
Arduino互換機
ギアードモータ
ボールセンサ
ラインセンサ
18
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. Arduinoとは
• イタリア発祥の教育⽤用マイコンと開発環境
– 専⾨門家を利利⽤用者の対象としていないため
⼀一般⼈人から⾒見見て⾮非常識識な部分が(割と)少ない
– Hardware/Softwareとも設計が無料料で公開されている
• 知りたいことが殆どインターネットで⾒見見つかる
• 多彩な増設ボードが販売されている
19
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. コントローラボード
• Arduino互換機 DFRobot社RomeoV2
– Arduino Leonard互換
• Arduinoのソフトウェア・増設ボードを利利⽤用可能
– 標準機から強化されている点
•
•
•
•
DCモータドライバ(2個)
ステップモータドライバ(1個)
ボタン(5個)
外部接続ピン
– 各信号線に5V/GNDを増設
– I2C⽤用専⽤用ピン増設(2個)
• Bluetooth増設ポート
• xBee増設ポート
20
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. コントローラボード
デジタル⼊入出⼒力力ピン
0〜~13
アナログ⼊入⼒力力ピン
0〜~5
21
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. 事前準備
スピーカの取り付け
• スピーカを~∼10とGNDをまたぐように差し込む
22
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. 事前準備
LEDとボタン
デジタル13番ピンに
繋がったLED
アナログ0番ピンに
繋がったボタン
アナログ0番ピンと
ボタンを接続するか
否かの切替スイッチ
23
リセットスイッチ
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ロボットの動かし⽅方
24
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. プログラミング準備
• PC起動
• Arduinoインストール
– バージョン1.0.6 または 1.0.5
• Ardublockインストール
– バージョン ardublock-‐‑‒beta-‐‑‒20140828.jar
25
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. プログラム⾔言語
Arduino
(C⾔言語/C++⾔言語)
Ardublock
26
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. プログラム実⾏行行までの流流れ
1. パソコン上でプログラムを作成
–
⼈人がわかる⾔言葉葉・図形で表現
2. コンパイル・リンク
–
ロボットがわかる⾔言葉葉に変換
–
あらかじめ⽤用意されているプログラムと合体
3. ロボットへダウンロード
–
PCからロボットへプログラム(バイナリ)を転送
4. ロボット上でプログラムを実⾏行行
27
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. プログラム実⾏行行までの流流れ
プログラム
コンパイル
機械語
28
ダウンロード
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. ロボット取扱上の注意点
• USBケーブルのコネクタを挿すときは、
無理理な⼒力力をくわえないこと
• コネクタを抜くときは、こねないこと
• 机の上では、動かさないこと
– 落落ちて壊れる
29
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. アルゴリズム
30
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. アルゴリズムとは?
• コンピュータで計算を⾏行行うときの「計算⽅方法」
• 何か物事をやるときの「やり⽅方」
• 「やり⽅方」を⼯工夫して、よりよいやり⽅方を
⾒見見つけていきます
国⽴立立情報学研究所のホームページ
http://research.nii.ac.jp/~∼uno/algo_̲3.htm
31
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. より良良いアルゴリズムとは
星形にんじんを30枚作るには、
何回包丁を使う?
国⽴立立情報学研究所のホームページ
http://research.nii.ac.jp/~∼uno/algo_̲3.htm
32
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. より良良いアルゴリズムとは
30枚作るには?
輪切り :
31回包丁をいれる
星型切り:
1枚づつ10回包丁をいれる
合計 331回 包丁をいれる(31回+10回×30枚)
33
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved. より良良いアルゴリズムとは
30枚作るには?
星型切り:
10回包丁をいれる
輪切り:
31回包丁をいれる
合計41回 包丁をいれる(10回 + 31回)
方法1(331回)に比べ、290回少ない
34
岡⼭山ロボット技術⼦子供育成協会
Copyright ORJA All Rights Reserved.