【授業☆しょ~かい】『AI』とクルマの『自動運転』について学んだんだよ!(前編) 電子技術科(都留キャンパス)No.444

2021年08月05日

令和3年7月19日(月)『前編』:
こんにちは。あんどくんです。
電子技術科をPRしているよ ☆彡
みんな、令和3年もリアルに応援よろしくね (`・ω・´)ノ
産短大は、前期授業がスタートして16週目なんだよ。
今日、令和3年7月19日(月)の『前編』では、3,4限におじゃました1,2年生の『プログラミング演習』の前半について紹介するよ。また『後編』では『プログラミング演習』の後半を紹介していくよ。

この授業では、いま世界中が注目している最新のプログラミング言語『パイソン』によるプログラミングを、『ドローン』や『ロボット』などをリアルにプログラム制御しながら学んでいるんだよ。昨年は『ドローン』を制御したんだ。で、今年は戦車型ロボット『オムニ・ローバー』を制御していくんだよ。

これまでに『オムニ・ローバー』を製作して、『パイソン言語』の文法についてひと通り体験したんだ。で、いまは『パイソン言語』の文法を本格的に学んでいるんだよ。
1年生の目標はプログラミングを体験することで、2年生は文法を習得することなんだよ。

 

まだ文法を学んでいる途中なんだけど、前回はこれまでに学んだ文法と、ひと通り体験した文法を組み合わせて、『自動運転』のプログラムをつくったんだよ。
オムニ・ローバー』のフロント部に搭載したサーボモータで『距離センサ』を右側 (0°)、正面 (90°)、左側 (180°)と動かしながら、それぞれの方向にある『障害物』までの距離を測定してモニタに表示したんだよ。
この測定をもとに、正面に『障害物』がないときには『オムニ・ローバー』を3秒後に前進させたり、カウントダウンして10秒後に前進させるプログラムをつくったんだよ。

 

今回もひきつづき『オムニ・ローバー』をプログラム制御しながら、パイソン言語』の文法について学んでいくんだ。
はじめに ① 前回つくったプログラムを復習して、② あらたに『自動運転』のプログラムをつくったんだよ。

 

そのあとは、せっかく『自動運転』のプログラムをつくるんで・・・
③ 本物のクルマの『自動運転』について、『AI』についても触れながら学んだんだよ。
で、『自動運転』について理解したあとで、あらためて④『自動運転』のプログラムをつくったんだよ。

 

というわけで、まずは『オムニ・ローバー』の電源をONにしたんだ。

 

超小型PC『ラズパイ』が起動すると、モニタに『ラズパイ』のデスクトップが表示されるんだよ。

 

はじめに前回つくったプログラムを復習したんだ。サーボモータ回転角を変えることで、距離センサ』の向きを右側(0°)、正面(90°)、左側(180°)の方向に変えながら、障害物』までの距離を測定してモニタに表示したんだよ。

 

for文と『リスト』をつかって、カウンタ変数 i の値として、『リスト』の要素から一つひとつ回転角を取り出すんだ。カウンタ変数 i の値でサーボモータの回転角を変えながら、右側 (0°)、正面 (90°)、左側 (180°)の方向での『障害物』までの距離を測定するんだよ。

 

で、測定した『障害物』までの距離は、文字列の format( ) メソッドを使ってモニタに表示するんだ。

 

このあと、前回つくったプログラムを実行して、プログラムの動作を確認したんだよ。
ちゃんと3方向の 『障害物』までの距離がモニタに表示されたね。

 

前回、二つ目につくったプログラムでは『リスト』の要素である回転角を『整数』から『実数』に変更したんだよ。 『リスト』の要素は『実数』 でもOKなんで、プログラムは問題なく動いたよ。

 

三つ目につくったプログラムでは、正面に『障害物』がなければ2秒後に『オムニ・ローバー』を前進させるんだ。

 

さっそくプログラムを実行すると・・・
正面に『障害物』があると停止したままで・・・

 

障害物』がないときは2秒後に前進したよ!

 

四つ目は for 文と range( )  関数をつかって、正面に『障害物』がないときは、10秒間『カウントダウン』してから前進するプログラムをつくったんだよ。

 

プログラムを実行すると、『オムニ・ローバー』が『カウントダウン』して前進したよ。
もちろん正面に『障害物』があるときは前進することなく停止したままだよ。

前回の復習についてはここまで。

ここでもう一つ『自動運転』のプログラムをつくることになったんだ。
このプログラムの動作は、前につくった右側 (0°)、正面 (90°)、左側 (180°)の『障害物』までの距離を測定して表示するプログラムと同じなんだけど・・・

 

for 文と range( ) 関数をつかって、繰り返しの回数をカウンタ変数 i の値にしているんだよ。で、サーボモータの回転角を、カウンタ変数 i の値から求めているんだ。

 

測定した『障害物』までの距離の表示は、文字列の format( ) メソッドを使うんだよ。

 

さっそくプログラムを入力して実行したんだ。

自動運転』のプログラムについては、いったんはここまで

というわけで、令和3年7月19日(月)の『前編』では、『自動運転』のプログラムについて紹介したよ。
『後編』では、『AI』とクルマの『自動運転』について学んでいくよ。

後編』につづく≡3 ≡3 ≡3

★バックナンバー★

2020年度
電子工学の理論を学ぶ授業・・・https://www.yitjc.ac.jp/yitjc/blog/?p=15087
最新の電子技術 (IoT) を学ぶ授業・・・https://www.yitjc.ac.jp/yitjc/blog/?p=15051
最新の電子技術 (パイソン言語) を学ぶ授業・・・https://www.yitjc.ac.jp/yitjc/blog/?p=15018
就活準備の授業・・・https://www.yitjc.ac.jp/yitjc/blog/?p=15076

2019年度
電子工学の理論を学ぶ授業・・・https://www.yitjc.ac.jp/yitjc/blog/?p=9556
最新の電子技術 (IoT) を学ぶ授業・・・https://www.yitjc.ac.jp/yitjc/blog/?p=9534
就活準備の授業・・・https://www.yitjc.ac.jp/yitjc/blog/?p=9604

★学生募集中★

県内イチ♪ 最新の設備と最高のスタッフで、みなさんをお待ちしています♪ 2年間で電子工学の理論を学んで、最新の電子技術を身に付けるんだったら、『電子技術科☆都留キャンパス』で決まりだね!詳細はお問い合わせください。

★お問い合わせ先★

山梨県立産業技術短期大学校 都留キャンパス
〒402-0053 山梨県都留市上谷5-7-35
TEL 0554-43-8911(代)