All posts by donkeysim_admin

DonkeyCar Part1: DIYロボット工学によるAIコミュニティの構築

DonkeyCar(ロバ車) Part1: DIYロボット工学によるAIコミュニティの構築

使用DIY机器人构建AI社区

これは、ロバ車の3部構成シリーズの最初のものです。ここに、パート2パート3へのリンクがあります。

私は、ほぼ4年間、CoderDojoプログラムを通じて子供のコンピューターサイエンスを教えるためのロボットを構築してきました。これはやりがいのある経験であり、Arduinoキットとシンプルなロボットの構築について多くのことを学びました。私は8〜18歳の子供向けの「学習ラダー」を作成しており、私の作品はThe Works Museumの5歳の子供たちに使用されています。DIYプロジェクトを中心にSTEMカリキュラムを作成することは楽しく、コミュニティを見つけるのに最適な方法です。私の作品のいくつかは、Moving RainbowCoderDojo Robotsサイトで見ることができます。

新しい年に、Raspberry Pi、Python、および機械学習に基づいたより複雑なロボットを含めるように快適ゾーンを拡張することにしました。私の友人であるArun Batchuも、非常にクールなNVIDIA Jetson Xavier開発キットの購入でこれを奨励しています。残念ながら、私の小さなロボットは、この90億トランジスタシステムをチップ上で実行するのに十分なほど強力ではありません。これは、最新の画像認識とエッジコンピューティングのホットトピックの両方をブラッシュアップする良い方法だと思いました。地元のDIYロボットグループを構築することは、ミネアポリス地域でより強力なAIコミュニティを構築する方法でもあります。

Donkey Carプロジェクトに慣れていない人にとっては、リアルタイムの画像認識と少しのAIの基礎を人々に学ばせるためのオープンソースDIYプロジェクトです。車の部品は約250ドルです。これは私のArduinoロボットよりも10倍高価ですがより強力です。ベイエリアでは、DIY Robocarsのミートアップに2,500人以上が参加し、ドンキーカースラックワークスペースには、車、トラック、アルゴリズム、機械学習モデルおよび関連トピックに関する何千もの投稿があります。ミネソタ州にはこのようなコミュニティはまだありませんが、これを変更したいと考えています!

以下は、私がロバ車の構築を開始するために行った作業のジャーナルです。彼らが言うように…私たちはレースに出発です!

Paul McCullughやThomas Richterを含むSwarm64の偉人たちが、前回のMinneAnalyticsカンファレンスでRaspberry Pi 3 B + Kitを「プレゼント」しました。Swarm64は、FPGAを使用したRDBMSシステム用の優れたアクセラレーターを作成します。より高速なリレーショナルデータベースが必要な場合は、お電話ください!

Raspberry Piキットには、PI OSを搭載した32GBマイクロSDカード、電源ブリック、GPIOブレイクアウト、ケース、およびその他の部品が含まれていました。27ドルのSainSmart広角魚眼カメラPCA9685 16チャンネル12ビットPWMサーボモータードライバーと、90ドルの新しいRCカー(まだテストしていません)を追加しました。Thonny Python IDEを使用してGPIOを使用してLEDを点滅させてPiをテストし、LEDストリップを制御するDMAライブラリを見つけました。また、セントルイスパークのマイクロセンターで2枚の追加の32GB SDカードをそれぞれ4.99ドルで購入しました。これは、Amazonで見つけられるよりもずっと少ない。Microcenterは本当に素晴らしいです!バックアップを作成できるように、いくつかのマイクロSDカードを入手することをお勧めします。

Arduinoで「C / C ++」で何年も仕事をした後、Piで始めるのがどれほど大変だったかに少し驚きました。適切な順序でインストールする必要がある多くのライブラリと、考慮する必要があるPythonの多くのバージョンがあります。Thonney Python IDEは素晴らしかったが、TensorFlowで真剣な仕事をするために必要なライブラリのほとんどが欠けていた。幸いなことに、ライブラリがセットアップされると、コーディングは非常に高速になります。物理デバイスを使用してハードウェアプログラミングを行っている場合、コードに変更を加えてArduinoにアップロードするときに「遅れ」はありません。プログラムは即座に実行されます!これは、特に大規模なプログラムがある場合に、開発をスピードアップできると思います。

さて、Donkey Carについて…Donkey CarのWebサイトは非常によくできていますが、UNIXとPiの両方について非常に強力な背景を想定しています。彼らが指示を出したとき、それは私が私の新しいPiでまたはリモートコンピュータから物事を実行する必要があることは明らかではなかった。さまざまなPythonおよびTensorFlowライブラリをPiでネイティブに動作させるために、約2日間を費やしました。私は進行中に多くを学びましたが、行き止まりであることが判明しました。わずか2GBまたはRAMのPiは、あまりにも小さくて、大胆な努力なしに大規模なTensorFlow-Kerasシステムをコンパイルできません。。16GBのメモリを搭載したMacでも、BazelベースのTensorFlowコンパイルシステムでバグに遭遇しました。Bazelビルドフレームワーク自体は非常に複雑であり、TensorFlowモンスターをコンパイルするにはBazelが必要です。makeはそれをカットしませんでした。私はあきらめようとしていました。私のような25年のUNIXの経験を持つ人がこのものをインストールできなかった場合、14歳の学生をどのように訓練したいと思うでしょうか

その後、私はドンキー車で行われるすべてがヘッドレスPi(モニターなし、SSHアクセスのみ)を想定し、LinuxおよびPiの専門家によって3年間にわたって慎重に作成されたディスクイメージを使用ていることに気付き始めました。Piイメージで起動する必要があり、他のすべてが機能します!Piを開発システムとして使用することはできません。TensorFlowのドキュメントこれを言ってますが、私はRTFM をしませんでした。

Donkeyイメージ(ディスクイメージを含むzipファイル)に基づいてPiのブートイメージを作成する方法を理解するのに少し苦労しました。NOOBSシステムを試した後、balenaEtcherアプリケーションがまさに私が必要とするものであることに気付きました。このアプリケーションは、WindowsまたはMacで非常に簡単に使用できます。Donkey Carサイトから画像zipファイルをダウンロードし、新しいSDカードを挿入してbelenaEtcherアプリケーションを実行するだけです。画像ファイルの入力を求められます(zipファイルを解凍する必要はありません)。SDドライブが自動的に検出されたので、[Flash]をクリックしました。失礼!ほんの数分で、検証済みのディスクイメージができました。

Piに新しいSDで再起動した後、ログインしてwifi設定変更できました。もう1回再起動すると、新しいドンキーカーにsshする準備ができました。また、静的IPアドレスを設定して、毎回同じIPアドレスに再接続するようにしました。「/ home / pi / env」ディレクトリの下のファイル数は、ほぼ13,000のファイルを明らかにしました。面倒な詳細がすべて必要な場合は、コメント対応のGoogleドキュメントファイルにここに入れます。そのファイルにコメントを追加してください。

追加の進捗状況を確認し、他の部品が到着した後、更新を投稿します。キャリブレーション手順を実行するためにそれらが必要になります。