自動運転のプログラミング
自分で作った道を、自分のプログラムで。みんなの道をみんなで走る。
CATZでは、ブラウザ内の教習所で運転の命令を書いて車を動かし、自分でコースを作ってみんなで試し、コードで車を走らせることができます。
CATZは、お子さまが直接申し込むスクールではなく、プログラミング教室や塾が授業で使う学習環境です。車はシミュレータの中にあり、生徒が書いた命令で動きます。
ブラウザの3D教習所で、まず命令を書いて車を動かします
最初の教材はドライブ教習所です。1面クリアすると、次の1面が開きます。
面が進むと、もし〜なら、で書いたり。ここが自動運転の入り口です。ブロックで書いたものは、同じ画面でPythonとしても見られます。

- ブラウザで完結。インストールはいらない
- アクセル → ハンドル → ブレーキ → のこりを見て止まる、の順に1面ずつ
- ブロックで書いて、Pythonでも見られる
コースメーカーで、道を作って、その場で走って確かめます
直線とカーブをつないで、自分の道を作ります。俯瞰で形を見て、「走って見る」に切り替えると、その道を車が走る様子を3Dで眺められます。速さは変えられます。
「自分の制御器で走らせる」に切り替えると、教習所と同じブロックやPythonの制御器で、いま作った道を車が走ります。道から外れたら、同じ画面で命令を直して、もう一度走らせます。
作った道はCATZに下書きとして残るので、次の授業で続きから直せます。


- 部品は直線とカーブ。つなぐと道になる
- 同じ画面で、俯瞰・走行・自分の制御器での走行を切り替える
- 外れたら、命令を直してもう一度
- 下書きはCATZに残る
Pythonでは、車の位置やずれを見ながら、ハンドルやアクセルを調整します
自動運転のコードは、車に付いたセンサーの値を見て命令を切り替える、もし〜なら、の集まりです。前に障害物があればブレーキ、信号が赤なら止まる、道の真ん中からずれたら逆へ切る。CATZでは car.throttle、car.brake、car.steer のような短い命令と、距離やずれを読む関数で書きます。「どのくらい近づいたら」「どのくらい戻すか」の数字は、生徒が自分で決めます。
学ぶ順番は、のこりを見る → ずれを見る → 強さを変える → 上限をつける → 少しずつ変える → 先を見る。専門用語を先に覚えるのではなく、困ったところで命令とセンサーが増えていきます。
car.throttle(0.6)
if car.speed > 50:
car.brake(1.0)
if distance_to_obstacle("front") < 10:
car.brake(1.0)
if traffic_light_is_red():
car.brake(1.0)
- 命令: car.throttle / car.brake / car.steer
- 見るもの: 速さ、障害物までの距離、信号、道の真ん中からのずれ
- しきい値の数字は生徒が決める。模範コードは持たない
CATZで、今できる自動運転
- 車速を見る
- 車線のずれを見る
- 障害物との距離を見る
- 信号を見る
- 条件を判断する
- ハンドル・アクセル・ブレーキを変える
ブラウザの3D教習所
- アクセル・ブレーキ・ハンドルを、プログラムから動かす
- 車速と、ゴールまでの距離を読む
- 車線からのずれを見て、ハンドルの強さを変える
- ハンドルに上限をつける、少しずつ変える、少し先を見る
- 条件分岐を組み合わせて、自分の走行ルールを書く
- コースメーカーで作った自分の道を、同じ制御器で走らせる
教室PCのCARLA
- 3Dの街の中で、車をPython/ブロックから動かす
- 信号、前方の障害物までの距離を読んで、判断に使う
- 進む・止まる・曲がる・避けるを、自分のプログラムで組み立てる
- 実車ではなく、自動運転シミュレータの上で試す
CATZは、実車を自動運転するシステムではありません。公道での自動運転レベルを取得・認定する教材でもありません。
ブラウザやCARLAのシミュレーションの上で、自動運転の「見る・判断する・動かす」をプログラムします。
教室のPCでは、CARLAを使った自動運転にも進めます
CARLAは、オープンソースの自動運転シミュレータです。教室のPCにCARLAとCATZのエージェントを入れると、CATZで書いたPython(またはブロック)で、3Dの街の中の車を動かせます。信号、前の車との距離、障害物までの距離を読みながら、止まる・曲がる・避けるを自分の命令で書きます。
CARLAはブラウザでは動きません。教室のPCに入れて使います。判定は走った結果で行い、模範コードや正解の数値は用意していません。

- CARLA: オープンソースの自動運転シミュレータ。教室のPCで動く
- CATZで書いたPython / ブロックで、3Dの街の車を動かす
- 判定は走った結果。模範コード・正解の数値は持たない
教室で、こう使います
教習所はブラウザで完結するので、授業のはじめの短い時間の日課にも置けます。コースメーカーの下書きは、生徒ごとにCATZに残ります。CARLAは教室のPCに入れて使い、Pythonで書いた命令を実行すると、そのPCの3Dの街で自分の車が動きます。
どの段階でも、判定は車がどう走ったかで行います。模範コードや正解の数値は用意していません。どの数字で止まるか、どれだけ戻すかは、その子が決めます。
- 教習所: ブラウザで完結。日課に置ける
- コースメーカー: 下書きが生徒ごとに残る
- CARLA: 教室のPCに入れて使う
教室で使う学習環境です
CATZは、プログラミング教室・塾が授業で使うために作られています。ご家庭から直接お申し込みいただく形ではありません。教室への導入をお考えの方は、教室向けのページから、いまの教室に合う使い方をご確認ください。