ボジョレヌーボー飲みながら自動運転!?

 

こんばんは、Tです。 もう12月ですね!

 

11月19日はボジョレーヌーボー解禁後初のスクールだったということもあり、皆でボジョレーを美味しく頂きました。

もちろんお酒を飲んでいただけでなく、普段通りプログラミング学習に励んでいたのですが、

 

私は1人で車を走らせて終始遊んでいました。

 

そう、幼い頃からトミカーやミニ四駆など車の玩具で遊ぶのが好きだった私は、”GardenStyle”という当スクールのコースを利用して童心に返っていたのです。(GardenStyleコースについてはこちらの記事をご覧ください。)

 

私が走らせていた車は、

ヴイストン社製の”プログラミング学習用教材ロボット Beauto Racer”です!

こちらの車はなんと走るだけではなく、プログラミングや自動運転技術の一端が垣間見える代物なのです!

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-12

自動車メーカーをはじめGoogleなども開発を進めており最近何かと話題の自動運転ですが、端的に言えば

レーダー、GPS、カメラなどの技術を用いて車の周囲を認識し、目的地まで自動で走行する技術のことです。

 

Beauto Racerは、車体の前方に左右1つずつ搭載された赤外線センサーで地面の白黒を検知し

リモコン操作なしで左右に曲がったり停止したり、ウィンカーのように左右のLEDランプを点灯させたりすることが可能です。

 

動作は本格的なBeauto Racerですが、中学生の家庭科・技術の教科書にて紹介されており、

プログラミング未経験者でも簡単に扱えるようになっています!

img_7822

【上図の赤丸部分がセンサー。車体の後方には左右にモーターが搭載されている。】

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-8

【センサーは地面の白黒を検知し、上図のように数値化する。】

 

 

 

それでは、下図のコースを時計回りに周回させるアルゴリズムを例に、

Beauto Racer専用のソフトウェア「Beauto Builder R」を使ったプログラミングの詳細を簡単に説明します。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-11

 

当スクールでは「アルゴリズムとは、目的達成のためのロジック・ストーリー」と習います。

今回の例に当てはめるならば、Beauto Racerを時計回りに周回させる(=目的)ためのロジック・ストーリーがアルゴリズムですね。

では、そのアルゴリズムの詳細を見ていきましょう。

 

【「Beauto Builder R」の画面で、コースを時計回りさせるアルゴリズムの図】

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-21

  •  開始 というブロックからスタートし、まずは IF というブロックに行きます。
  •  IF というブロックでは右のセンサーの数値についての判定が行われます。
  1. もしも右のセンサーの値が60未満だった場合、「はい」と書かれた青い線に進み、前進するプログラム(=左右のモーターの回転数は同じ)が実行されます。
  2. もしも右のセンサーの値が60以上であった場合、「いいえ」と書かれた赤い線に進み、右折するプログラム(=左のモーターの回転数が上がる)が実行されます。
  • プログラムが実行された後は、また IF のブロックに戻り判定を行います。

 

上記のことを何回も何回も繰り返し反復することでコースに沿って直進し、カーブを曲がることができます。

 

 

「Beauto Builder R」にはシミュレーター機能もついているので、上記のアルゴリズムをシミュレーターを用いて見てみましょう。

 

【前進時の図】

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-24

右のセンサーは白い地面の上にあるため、右のセンサーの値は60より小さい26を示しています。

 

【右折直前の図】

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-28

右のセンサーがカーブしている黒い線の上に来たため、センサーの値は60より大きい162を示しています。

センサーの判定をもとに、ここで右折するプログラムが実行されます。

 

【右折中の図】

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-30

右折すると、右センサーはカーブしている黒い線から抜け、白い地面の上に来ます。

すると、上図のように右センサーは48という数値を示し、60よりも小さいため前進します。

そして再びカーブしている黒い線の上に来たら同様に右センサーが判定し、右折します。

 

この繰り返しによって黒い線にしたがって直進し、カーブを右折します。

 

以上がコースを時計回りに周回させるアルゴリズムとなります。

 

いかがでしょうか?

プログラミング学習において、自分で手を動かして試行錯誤することはとても重要です!

(私は小さい頃は手で車を動かして遊んでいたのに、今やボジョレーを片手に車をプログラミングで自動で動かしていると思うと時の流れを感じるとともに感慨深くなりました。笑)

プログラミングに興味がある方は、まずは今回紹介したような電子工作など、何か簡単なもので体験してみることをおすすめします!

 

ちなみにBeauto Racerには、今回紹介したコースを含め8種類のシュミレーション用コースが用意されている他、自分でコースを設定することも可能です。

【上級者コースの図】

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-13

 

さて、冒頭からたびたび登場するボジョレヌーボーですが、フランスのリヨンという都市の北にあるボジョレー地方の山の麓で生産されています。

そしてなんと、そのリヨンでは既に今年の9月から自動運転のバスが人を乗せて試験運転を開始しています!

 

12月は、遠いリヨンの地を走る自動運転バスに思いを馳せ、美味しくボジョレーを堪能しつつBeauto Racerを走らせてみてはいかがでしょうか?

 

 

「超初心者向け IT創職メルマガ 」 もいかがですか?

 

無料体験から始めて、自分に合ったクラスや目標を探していきましょう!
近い目標の生徒さん達と共に、効率よく学ぶことが出来ます。

無料見学お申し込み

合わせて読みたい記事

【超初心者ITスクールによる書評#101】Google Analyticsパーフェクトガイド 増補改訂版 Ver.5/ユニバーサルアナリティクス対応

2015年6月8日

【超初心者ITスクールによる書評#27】詳解Swift

2015年4月13日

エンジニアには聞けない超初心者のギモン(5) ~ CとかCぷらぷらとかなんなのさ!

2014年5月5日
php%e3%83%88%e3%82%99%e3%83%aa%e3%83%ab%e5%be%8c%e5%8d%8a%e7%94%bb%e5%83%8f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab_%e3%83%98%e3%82%9a%e3%83%bc%e3%82%b7%e3%82%99_53

5-5 配列関数2~中高年のためのプログラミング教室:PHPドリル~

2017年1月12日