ロボカップジュニア
サッカーロボット作成講習会
第四回 ソフトウェア編3

1

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

講習会の進め方
第一回 ロボット作成

第二回 ソフトウェア入門編
ロボットを動かす

第三回 ソフトウェア基礎編
外界の情報をロボットに取り込む

第四回 ソフトウェア応用編
試合に勝つ工夫をプログラムする3

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

フロー制御25岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

基本的な流れ組み込み型ソフトウェア
セットアップ

ずっと実行

6

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

条件分岐1

比較
なら
〇〇

7

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

条件分岐2

ならでなければ
比較

〇〇

✕✕

8

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

条件分岐の組み合わせ3

ならでなければ比較なら〇〇

比較でなければなら✕✕△△

比較でなければ□□いくらでも重ねることができる

9

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

繰り返し指定回数処理を行った

比較不成立
比較

コマンド

比較成立
比較不成立
コマンド

比較

回
指定回数処理を行っていない
コマンド

比較成立

10

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

条件文の決まりごと•

プログラミング特有の表現で、条件が成立することを「真/true」、不成立を「偽/false」と表現する•

ArduinoIDEで採用されているプログラミング言語”C/C++”では、条件が「真/true 」の場合には1が、「偽/false 」場合には0が、比較式から値として出力される– 例ではD27(GPIO27)から出力される値が200よりも大きい場合”1”が200よりも小さい場合は”0”が出力される

11

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

おまじない• GP20のボタンを押すまで動かないプログラム– ブロックを見ると「何も比較していない」…
条件文の動きから何をしているか考えましょう

12

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

変数/関数13

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

変数• 情報を操作（数える・憶える）するために使う物• コンピュータ内の”一時的な”記録エリア– 「数字」,「文字」を入れておく箱

1
A=1

変数Aに1を入れる

A+1
A=A+1 変数Aに1を足す
イコールの意味が算数/数学とは違う
14

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

どんな時に変数を使うか• センサの値をしばらく取っておきたいとき• 計算をしたいとき• プログラムわかりやすくしたいとき– そこに入れる数字の意味を変数名にする

15

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

変数の使い方
クリックすると変数に名前を付けることが出来る「Ball」(ボール)という名前を付けた

GPIO２６番の値をAD変換し「Ball」(ボール)という変数にいれる

16

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

17

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

関数• 数値に対して特定の計算を自動でしてくれる物
Ardublockの関数例

出典「KIT数学ナビゲーション」

19

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

20

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

ロボット改造のしかた
ロボットをより良くして行くには21

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

良いロボットとは• 安定してロボットが動作する– 壊れない– 壊れた箇所がすぐ判る– 修理しやすい• 設計に工夫がある• シンプルな作り• しっかりした機能が付いている
22

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

良いロボットを作るには• 情報を集める– インターネットに過去のロボカップ参加チームが情報を公開してくれている– 近隣ブロックの見学• 自分のロボットに何が必要か考える– 全ての機能が完璧なロボットは作ることはできない• 良いロボットのまねをする• 自分のロボットのイメージを描く• イメージ実現に必要な物を勉強する

23

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

参考サイト例
モッパーのロボット研究所
Team GRA CHAN!

Team Reverseの徒然
くるくるミラクルのロボ日記

Re: The history of "M&Y”
熊工房 ohgumaの腹凹ませたい日記

その他「ロボカップジュニア」「サッカー」で検索してみよう
24

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

電圧計• 電池の状態を確認する– 電池が切れる前に電池交換• 電圧計製品– 超小型2線式LEDデジタル電圧計• 販売サイト：秋月電子通商• 約330円• 表示：LED3桁表示、字高さ7mm• 寸法：30×11×9ｍｍ（最大）• 使用電圧／測定電圧：DC3V～15V

25

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

配線部材• 40本ジャンパケーブル(メスｰメス)– 販売サイト：アマゾン– 約300円– 裂いて必要数利用可能• QIケーブル(3pin,4pin,他)– 販売サイト：共立エレショップ他– 3pin 約100円– 4pin 約120円

28

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

電子回路の作成• ブレッドボード• ユニバーサル基板– ハンダ付けをしないで電子回路を試作できる– ジャンパピン(オスーオス)もあわせて購入する– ロボットに組み込む回路の試作・制作に利用– サイズはイロイロある29

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

筐体の改造• ロボットを改造したい場合は必要に応じ、上段・下段パネルを加工しやすい物に交換します• 低発泡塩ビ板– フォーレックス• 販売：ホームセンターコーナン• 軽い(比重0.7)• カッターナイフで切断可能• サイズが豊富

31

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

どんな改良をしていくか…
• ロボットをチームメイト、お父さん・お母さんと相談してみてください• 質問があれば手をあげ自分で質問して下さい

32

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合に向けて33

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

大会に出場できるロボットの制限
大会当日は車検でロボットの制限を調べられます
•

サイズ
–

直径22cm高さ22cmの円柱に入るサイズ••••

重さ– 1100g以下
ハンドル–

審判がロボットを持てるようにハンドルが必要••

ケーブルなどしっかり止められていないは物は部品はひっぱられる
ボールが3cm以上ロボットに入り込んではダメ

ロボット部品の最上部からハンドルの高さまでに5cm以上の空間が必要

電源電圧
–9V以下

34

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合のルール• キックオフ/サイドは試合前にコイントスかじゃんけんで決定– 大会によっては事前に決まっている• 相手のゴールにボールを入れれば一点– ゴールはボールが奥の壁にあたったとき• 前後半でエンドを入れ替わる• 試合終了時、得点の多い方が勝ち– 引き分けの場合• リーグ戦– 延長戦無しの引き分け• ノックダウン（トーナメント）戦– ゴールデンゴール方式の延長戦（大会により違いあり）

35

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合ルール

中立点

36

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合ルール• 特殊なルール– 故障• ボールに反応しない• ゴールに引っかかり動けない• 自分で転ぶ• 自陣のゴールに侵入を繰り返す(20秒に3回が目安)• 試合中に車検合格の条件を満たさない状態になる• 得点/失点後のキックオフのときはフィールドに復帰出来る38

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合ルール• 退場からの復帰– 退場時間が経過し、かつロボットが正常に動作する状態の場合、ロボットをフィールドに復帰させることが出来る• 主審の指示に従い• キャプテンが• ボールから最も遠い中立点に• ロボットを自陣に向けて置き• スタートさせる

39

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合ルール• 特殊なルール– ラック・オブ・プログレス（試合進行の停止）• 試合の進展が見られない場合→主審がカウント開始を宣言し3カウントされたとき、ボールを近くの中立点に移動する。
それでも試合に動きがないとき、もういちど3カウントして違う中立点にボールを置く
中央中立点にボールを移動しても、試合が動かない場合は「リスタート」となる– リスタートは各チームのロボットをセンターサークル外に配置し、主審の合図に合わせ、ロボットをスタートさせる• ロボットがボールを押し合い、動きが無い場合（スタック）→審判はスタックを宣言し、ただちにボールを最寄りの中立点に移動

40

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合のルール• 特殊なルール– ゴールキーパー• 自陣のペナルティエリアに機体一部でも入っているロボット– プッシング• ゴールキーパーロボットと相手ロボットが接触し、かつボールがいずれかのロボットに接触しているとき、審判の判断で採られる→主審がボールを最も遠い中立点に移動する→プッシング後、ボールがゴールに入ってもノーゴール

41

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合ルール• 特殊なルール– マルチプル・ディフェンス
• 自陣のペナルティエリアに2台のロボットが一部分でも入り、試合に影響を与えている→ボールから遠い側のロボットを主審が最も遠い中立点に移動

42

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合に必要なこと• 試合に集中する– 選手は自動車レースのピットクルーと同じ。
細かい仕事の差が、試合に影響する– 仲間と話し合う– 相手チーム・ロボットの良いところをメモする• わずかな時間でも より良くする工夫をする

43

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

大会• 試合の形式・対戦数・時間は大会によってまちまち
大会の実施要領を自分で確認すること– 試合形式例• 予選総当たり戦→決勝勝ち抜き戦• 総当り戦• ランダム４試合 勝ち点得失点差で順位決定• スイス方式勝ち抜き戦– 試合数• 3〜６試合– 試合時間• 前後半4～10分• 延長戦有無(Vゴール方式/制限時間方式)
48

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

試合で利用されるボール• RoboCup Junior 公式赤外線発光ボール
RCJ-05R– 販売サイト：アマゾン（イーケージャパン）– 約¥8,000

49

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.

プレゼンテーションシート
• チームで一枚– ロボットの特徴/アピールポイントをまとめたもの– 用紙のサイズ・向きは大会募集要項確認– 大会当日持参50

岡山ロボット技術子供育成協会
Copyright ORJA All Rights Reserved.