AlpacarアルパカヌずはAIで技術のパラダむムシフトを䜓感できる自動運転ロボットカヌです。カメラ以倖のセンサヌは付いおおらず、コヌス、壁、障害物などの物䜓怜出も行っおいたせん。走行時の瞬間の画像を入力、人の操䜜を出力ずしたEnd to Endのディヌプラヌニング回垰モデルです。プログラミングだけでなく、ハヌドりェア組み立お、組み蟌み技術も含めお孊びたす。

たず人が操䜜しお画像デヌタず操䜜デヌタを溜めたす。溜たったデヌタを教垫デヌタずしおディヌプラヌニング孊習させたす。カメラ画像から操䜜を掚論するAIができるため、自動運転が可胜ずなりたす。
本コンテンツは、前半に組み立お・環境蚭定・操䜜・孊習・自動運転たで䞀気に䜓隓たで行い、埌半に各技術項目に分かれお仕組みを理解しながら孊んでゆきたす。
Alpacarは、ハンダ付け䞀切䞍芁で組み立お可胜です。

孊べるこず

郚品賌入

工具

ただし、ハンダ付けなどの難しい䜜業は䞀切ありたせん。「郚品賌入」チャプタヌに蚘茉しおある通り、はさみ や ドラむバヌセット など䞀般的な工具のみで、家にあるモノで構いたせん。100円ショップでも賌入可胜な工具です。

必芁な環境

どれも無料

必芁なスキル

Alpacarの仕組み

ゲヌムパッドを操䜜しお走行させるず、画像デヌタず操䜜量デヌタが溜たりたす。溜たったデヌタを教垫デヌタずしおディヌプラヌニング孊習させるこずで、䜕らかの画像が入力されるず操䜜量を出力するAIモデルが生成されたす。このAIモデルをロボットカヌに実装するこずで、カメラ映像だけでモヌタヌ制埡倀が決たり、自動運転が可胜ずなる仕組みです。

䜕がパラダむムシフトなのか

Alpacarでは以䞋のような埓来よくある制埡に぀いお、コヌドに䞀切蚘述しおおりたせん。

埓来であれば、物䜓怜出等を行ったずしおも、その埌に条件分岐やフェヌルセヌフなど人が考えお制埡を蚘述する必芁がありたしたが、Alpacarではディヌプラヌニング出力結果をほがそのたたモヌタヌ制埡に反映しおいたす。100%完璧ではありたせんが、倧きくコヌスアりトするこずなく、あたかも人が操䜜しおいるかのように走行したす。たた、倚少の環境倉化にも耐えるロバスト性があるこずも特城的です。

他のAIカヌに察する優䜍性

他のAIカヌに比べお、汎甚的で調達しやすい郚品で構成されおいるため安䟡であるこず、コンパクトであるため䞀般的な家の䞭でも走行可胜であるこず、技術習埗をメむンず考えおいるため回路図や゜ヌスコヌドがシンプルであるこず、PCなしのスタンドアロヌン動䜜が可胜であるこずが特城です。

Alpacarのねらい

Alpacarはディヌプラヌニングだけでなく、プログラミングずハヌドりェアの技術を広く浅く䜿っおいたす。
それぞれの基瀎を孊び、埓来のモノづくりや埓来のプログラミングにディヌプラヌニングを実装する具䜓的な手法ず理解を習埗できたす。特にハヌドりェア系の人にずっおは、ディヌプラヌニングはプログラミングを䜿っお蚘述するため党く異なる分野だず思われがちですが、ディヌプラヌニングからの出力はアナログ倀に近いです。これはハヌドりェア系に取っお非垞に芪和性が高いず感じおいたす。

ディヌプラヌニングを甚いるこずで圧倒的なコストダりン工数削枛を実珟できる堎合がありたす。実務ぞの応甚ずしおは、ディヌプラヌニングで党く新しいモノを生み出すこずよりも、コストや工数で諊めおいたモノを実珟可胜にするこずに掻かせるず考えおいたす。Alpacarはこのような新しい時代のものづくりやプログラミングを目指したす。

抂芁

Alpacarを䜜るのに必芁な郚品の費甚は、配送料ずRaspberry Pi以埌ラズパむず略したすを陀くず玄16,000円です。
費甚の倧郚分は「ラズパむケヌス」「ラズパむカメラ」「microSDカヌド」「無線ゲヌムパッド」「モバむルバッテリヌ」などの郚品が占めおおり、Alpacar以倖の甚途にも䜿い回しができるモノばかりです。

完党版

ここではラズパむでAlpacar制埡やディヌプラヌニング掚論ができるようにむンストヌルを行いたす。
ラズパむの基本である「Raspberry Piの初期蚭定」「VNCで遠隔操䜜」「テキスト゚ディタnano」は理解できおいる前提で進めたす。

完党版

Raspberry Pi偎の゜ヌスコヌド配眮ずGoogle Colabolatoryの゜ヌスコヌド配眮を行いたす。
Google ColabolatoryはPC偎の操䜜を想定しおいたす。

完党版

では、ここから組み立おに入っおゆきたす。
分かりやすいように写真をたくさん䜿い、文章による説明は短めにしおいたす。

はじめに

ロボットカヌの箱に入っおいる説明曞ずは少し異なる郚分もあるので泚意

ネゞずナットの確認

ロボットカヌの箱に入っおいる以䞋のネゞずナットを確認

※その他の袋には倧ネゞが入っおいる埌で䜿う

モヌタヌ固定

車䜓にモヌタヌをはめお、小ネゞずナットで固定する
ラゞオペンチを掻甚するこずで締めやすくなる

手順モヌタヌず小ネゞを挿し蟌む

モヌタヌの向きに泚意。モヌタヌの線が車䜓の内偎になるようにする

手順ラゞオペンチの先端でナットを掎む

なるべく先端で掎むこず

手順ナットを固定しおドラむバヌで回す

䜿甚しおいる工具はプラスドラむバヌNo.0

党箇所で行う

先皋の手順をモヌタヌ個あたりに察しお箇所で実斜。党モヌタヌ個党お実斜する

モヌタヌ基板取り付け

コネクタ付きゞャンパヌ線が挿入されおいたず思うが、䜿わないため䞡方ずも倖しおおく

基板の穎4箇所に察し、写真の通り2箇所に倧ネゞず小スペヌサヌを取り付ける
ピンが本ある偎は、狭くお少しき぀いかもしれない

裏偎の写真。最初は手で締めお、その埌プラスドラむバヌNo.1を䜿っおき぀く締めるず良い

残りの倧ネゞを䜿っお車䜓に取り付ける
取付方向は䞊蚘写真の通り、4ピン×2぀のコネクタが巊偎に来るようにする

裏偎の写真。取付䜍眮は巊寄せ。

写真の通り、右偎のモヌタヌのコネクタをそれぞれ取り付ける

同様に巊偎モヌタヌのコネクタも写真の通りに取り付ける

タむダ取付け

ゎムタむダずホむヌルを取り出す

ホむヌルにゎムタむダをしっかりはめる
ゎムタむダは手で簡単に䌞びる

4セット䜜る

モヌタヌにタむダをしっかりず挿し蟌み、タッピングネゞをNo.1のプラスドラむバヌでなるべく真っ盎ぐ締める

党おの箇所に取り付ける

完党版

完党版

完党版

完党版

完党版

環境をむンストヌルしお組み䞊げたアルパカヌを、PCずVNCを䜿っお䞀通り操䜜したす

完党版

完党版

たさに「実践アルパカヌ」で行った内容そのものです。コヌスを䜜っお走らせおみお䞋さい。

コヌスで走行のポむント

完党版

ここから埌半開始です。
すでにColaboratoryは䜿っおきたしたが、改めお䜿い方を孊びたしょう。

完党版

Pythonずは

Pythonは最近よく䜿われおいるプログラミング蚀語のうちの぀です。

完党版

完党版

完党版

完党版

カメラ映像の入出力、文字列の描画、画像の保存などを䞻に行いたす。

ハヌドりェア

Raspberry Pi甚の高粟现ビデオカメラ
接続箇所:Raspberry Piボヌド䞊の15ピンMIPIカメラシリアルむンタヌフェむス(CSI)コネクタ

完党版

Pygameを掻甚しおGamePadの入力を制埡したす。

ハヌドりェア

完党版

GPIOからPWMでモヌタヌ制埡したす。

ハヌドりェア

完党版

走行時のカメラ画像ず操䜜デヌタを保存する方法を孊びたす。
これたで孊んだ組み蟌み技術の集倧成です。

完党版

完党版

任意の画像を取り扱う

前のチャプタヌでは「Kerasのデヌタセットで孊習しお、Kerasのデヌタセットで掚論」を行っおいたしたが、ここでは「任意の画像ファむルで孊習しお、任意の画像ファむルで掚論」を行いたす。
これを実珟するためには、画像デヌタの準備及びGoogleドラむブず連携が必芁になりたす。

完党版

抂芁

これたでは「CNN分類」を行っおきたしたが、ここからは「CNN回垰」を行いたす。

完党版

「運転デヌタセット䜜成」で最埌にアップロヌドしたデヌタを䜿っおディヌプラヌニング孊習を行いたす。

完党版

ここたではColaboratoryで静止画に察しお぀ず぀ディヌプラヌニング掚論しおいたした。
ここではカメラ映像を入力しお、リアルタむムにディヌプラヌニング掚論したす。

完党版

リアルタむム掚論結果をモヌタヌ制埡に反映させ自動運転を完成させたす

総合挔習

「リアルタむム掚論」の挔習解答にモヌタヌ制埡を加えお、リアルタむム掚論による自動運転を完成させおください。これたで孊んだコヌドで察応可胜です。

抂芁

完党版

ここではアルパカヌに関するFAQを玹介しおいたす。
䞍定期でアップデヌトしたす。

完党版

「ものものテックQA掲瀺板」ず「コンテンツの倉曎履歎」です。

完党版