2学期開始!体験授業 受付中 →
ROBO SCIENCE

Scratch でレスキューラインを走らせる ―
シミュレーションで練習

2026.10.24
R1(Robotics1 初級) R2(Robotics2 中級)

ロボカップジュニア レスキューライン エントリーの練習を、Scratch でできるようにしました。コースを背景に、ロボットをスプライトにして走らせます。プログラムの考え方は SPIKE と同じなので、ここで作ったものを実機に移せます。コースもロボットもない家でも練習できます。

Scratch というアプリ ― 世界の子どもが使うプログラミング

Scratch(スクラッチ)は、アメリカのマサチューセッツ工科大学(MIT)メディアラボで、2007年に生まれました。今は非営利の Scratch 財団が運営していて、だれでも無料で使えます。Scratch 財団によると、世界で 2億人の子どもが使い、作られた作品は10億を超えます。

すごいところ何がよいか
ブロックをはめるだけで書けるつづりやかっこのまちがいで止まらない。形の合わないブロックはつながらない。考えることに集中できる
ブラウザで動くインストールがいらない。学校のパソコンでも家のパソコンでも、同じように使える
見た目・音・動きを自由に作れるゲームやアニメから、今回のようなロボットのシミュレーションまで作れる
作品を公開し、まねして作り変えられる世界中の作品の中身を見て、そこから自分の作品をつくれる(リミックス)
ほかのアプリの土台になっているLEGO の SPIKE のアプリも、Scratch をもとに作られている

ブロックを使うからといって、子ども向けのおもちゃではありません。順次・選択・反復、変数、関数(ブロック定義)、並列(「緑の旗が押されたとき」を2つ置くと同時に動く)と、プログラミングの考え方がひととおりそろっています。

コースを背景にする ― 480×360 の1枚

大会のコースを、Scratch の背景(ステージ)と同じ 480×360 の絵にしました。左の 6×4 マスがライン、右の 3×4 マスが救出ゾーンです。

Scratch の背景にしたレスキューラインのコース。左に黒いラインが曲がりながら続き、途中に青い丸と黄色の帯がある。右は紫の壁で囲まれた救出ゾーンで、入口にオレンジのテープ、中に緑と黒の人がいる。
背景にしたコース。色ごとに役目を決めてある。
色コースでの役目
黒ライン。ロボットがたどる線
水色の丸障害物。よけて進む
黄色の帯スピードバンプ(段差)。乗りこえて進む
線の切れ目ギャップ。線がないところをまっすぐ進む
オレンジ救出ゾーンの入口
紫救出ゾーンの壁
緑・黒の人被災者

色をぜんぶ別々にしておくのがコツです。Scratch はロボットが何色に触れたかで、どこにいるかを知るからです。壁をラインと同じ黒にすると、ロボットは壁をラインだと思って曲がってしまいます。

Scratch にないもの ― センサーとモーター

Scratch には、センサーもモーターもありません。この2つを、Scratch のブロックで置きかえます。

センサーは「色が色に触れた」で置きかえます。ロボットの絵の前に色の四角を描き、その四角が何色に触れたかを調べます。

前 (進む向き) 黄:左のセンサー 赤:右のセンサー 緑:タッチセンサー 車輪
ロボットのスプライト。右が前。センサーの代わりに、色の四角と緑のバンパーを描いてある。
Scratch のブロック実機では
(黄)色が(黒)色に触れた左のカラーセンサーが黒を見た
(赤)色が(黒)色に触れた右のカラーセンサーが黒を見た
(緑)色が(水色)色に触れたタッチセンサーが障害物に当たった

ちがいが1つあります。実機のカラーセンサーは、反射光を 0〜100 の数で返します。Scratch は「触れた」「触れていない」の2つだけです。白と黒の境目(しきい値)を決める練習は、実機の回でやります。

モーターは「歩動かす」と「度回す」で置きかえます。実機のロボットは、左右のモーターの速さを変えて曲がります。Scratch のスプライトには車輪がないので、向きを変えるブロックと進むブロックを組み合わせて、曲がる動きをまねします。

実機の動きScratch での工夫
まっすぐ進む(1)歩動かす
右へ曲がりながら進む右に(8)度回す +(0.5)歩動かす
左へ曲がりながら進む左に(8)度回す +(0.5)歩動かす
速さ1回のくり返しで進む歩数

「度回す」だけだと、スプライトはその場で向きを変えるだけです。少し回って少し進む、をくり返すと、車輪で曲がるときのように弧を描いて進みます。回す角度と歩数で、曲がり方が変わります。

プログラム ― 左右のセンサーで線をたどる

Scratch の画面。左にプログラム、右上のステージにコースとロボットのスプライトがある。プログラムは、黄か赤がオレンジに触れるまで繰り返し、黄と赤がそれぞれ黒に触れたかで、進む・右に回る・左に回るを選んでいる。
実際の画面。右上のステージで、ロボットが救出ゾーンの入口まで来たところ。

左右のセンサーが黒に触れたかどうかで、4通りに分けます。

左(黄)右(赤)動き
白白まっすぐ(1)歩進む
白黒右に(8)度回して(0.5)歩進む
黒白左に(8)度回して(0.5)歩進む
黒黒(0.1)歩だけ進む

ギャップ(線の切れ目)では、左右とも白になるので、まっすぐ進んで次の線にもどります。

これを「黄か赤がオレンジに触れるまで」くり返します。緑のバンパーが水色に触れたら、障害物をよける動きに切りかえます。救出ゾーンの入口に着いたら、ライントレースは終わり。そこからは救出ゾーンのプログラムに切りかえます。

スタートから完走まで(6倍速)。ラインをたどり、障害物をよけ、救出ゾーンで被災者をさがして、外へ出る。

SPIKE に移しやすい ― ブロックがほぼ同じ

SPIKE のアプリのブロックは、Scratch をもとに作られています。「ずっと」「もし〜なら」「〜まで繰り返す」は、形も使い方も同じです。

実機に移すときに置きかえるのは、センサーのブロックと、動きのブロックだけです。

ScratchSPIKE
(黄)色が(黒)色に触れたカラーセンサーで色や明るさを調べるブロック
(緑)色が(水色)色に触れたフォースセンサー(タッチ)が押されたか調べるブロック
歩動かす・度回す左右のモーターを動かすブロック
もし・まで繰り返す・ずっとそのまま

「どのセンサーが黒を見たら、どう動くか」という判断の部分は、そのまま実機で使えます。

家でも練習できる ― コースもロボットもいらない

コースの背景とロボットのスプライトがあれば、家のパソコンでも同じコースを走らせられます。

教室でも、ロボットとコースは数が限られています。シミュレーションなら全員が同時に試せます。実機の時間は、仕上げに使えます。

実機とのちがい ― 最後はロボットで合わせる

Scratch のスプライトは、指示どおりぴったり動きます。実機は、床のすべりや電池の減りで、同じプログラムでも動きがずれます。

Scratch で判断の形を決めてから、実機で数字(しきい値、モーターの速さ)を合わせます。シミュレーションは、実機の時間を短くするための道具です。

ロボサイエンスについて

ロボカップジュニア2027 に向けて、レスキュー(災害救助)とサッカーの2種目に取り組みます。プログラミングと電子工作の経験は問いません。

関連:ライントレース ― しきい値を自分で決める →
ロボサイエンスの記録一覧 →
体験授業・お問い合わせ →

← ロボサイエンスの記録一覧へ戻る