$30 off During Our Annual Pro Sale. View Details »

ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転

covao
November 25, 2022

 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転

2022年11月25日 Design Solution Forum 2022 発表資料

Design Solution Forum 2022
https://dsforum.jp/2022/seminer/

畳一畳で走る!ミニ四駆ベースAIカー TatamiRacer
https://github.com/covao/TatamiRacer

covao

November 25, 2022
Tweet

Other Decks in How-to & DIY

Transcript

  1. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    ミニ四駆とラズベリーパイ、OSSの
    DonkeyCarを使ったDIY自動運転
    小林 弘一(Koichi Kobayashi)
    Design Solution Forum 2022
    1

    View Slide

  2. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    はじめに
    個人としてミニ四駆を使ったAIカー「TatamiRacer」を製作しています!
    内容は、DonkeyCarといったAIカー、TatamiRacerの紹介です
    2
    タミヤさんのAIカー
    ミニ四駆ベースのTatamiRacer

    View Slide

  3. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    AIカーをはじめたきっかけ
    • ルネサスマイコンカーラリー(2008)
    • H8マイコンと赤外線センサーによるライントレース
    カー
    • 社内大会(エンジニア教育の一環)への参加
    • AIカーのイベント参加 (2020.1)
    • 「AIカー、虎ノ門で走る、駆け抜ける」
    金沢工業大学虎ノ門キャンパス
    • AIカーの自作(2020.4~)
    • コロナ渦に突入…
    自宅の狭いスペースで走るAIカーを模索
    • 3Dプリンタを使い、ミニ四駆ベースの
    畳一畳で走るAIカー「TatamiRacer」を製作
    3

    View Slide

  4. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    ミニ四駆でAIカーを作りはじめたころ
    4
    • ミニ四駆にステアリングをつけ、ラジコンカーをつく
    るところから始めた
    • 2020年 ステイホーム、テレワークがはじまり、
    在宅時間が増える
    • 自宅の3Dプリンターフル稼働!→試作品の山

    View Slide

  5. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    ミニ四駆※
    • タミヤの1/32スケール レーシングカーのプラモデル
    • カスタムパーツでオリジナルマシンを仕立て、コースでの速さを競う
    • 40年の歴史、ちびっこから大人まで…ブーム世代あり(アニメの影響?)
    5
    ※ミニ四駆は株式会社タミヤの登録商標です
    https://www.youtube.com/c/MINI4WDチャンネル公式
    https://www.youtube.com/watch?v=6F_3vcJ-Rpw

    View Slide

  6. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    DonkeyCar
    • オープンソースの自動運転AIカー(ホビー向け)
    • 3D Robotics社 クリスアンダーソン氏のコミュニティー
    • ラジコンカーを改造し、カメラ、コンピュータを載せて自動走行
    • ディープラーニングにPythonベースのTensorflowを使用
    • Pythonクラスのパーツでセンサやアクチュエータを組み合わせ
    ることで、カスタマイズ可能
    6
    https://www.donkeycar.com/
    https://github.com/autorope/donkeycar/tree/main/donkeycar

    View Slide

  7. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    DonkeyCarのコミュニティー(Discord)
    • 最新のソフトウエアのアップデート情報など
    • ユーザーが自由に参加、投稿できる
    7
    Donkey Car Community https://www.donkeycar.com/community.html

    View Slide

  8. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    AIカーの仕組み(DonkeyCarの場合)
    8
    • ディープラーニングを使った画像認識技術(CNN)を応用
    予測:ステアリング量、アクセル量
    分類:犬 or 猫
    出力
    入力
    DonkeyCar

    View Slide

  9. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    TatamiRacer
    • ミニ四駆キット(VZシャーシ)を使った小型AIカー
    • DonkeyCarのソフトウエアを利用して自動走行
    • 3Dプリンターで造形したパーツを使用
    • オープンソースで公開(3Dデータ、部品表、コード)
    • 必要なパーツはすべてAmazonで購入可能
    • 畳一畳スペース(Tatamiサーキット)で走行可能
    • 好きなミニ四駆のボディ取り付けが可能
    9
    https://github.com/covao/TatamiRacer

    View Slide

  10. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    TatamiRacerのハードウエア
    • Raspberry Pi4搭載
    • 電源はモバイルバッテリーのみ
    • 前方にカメラ
    • 低回転型130モーター使用(低電流化)
    • ステアリングは3Dプリントしたパーツとマイクロ
    サーボで実現
    10

    View Slide

  11. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    海外でTatamiRacerを製作した例
    11
    • オープンソースハードウエアとしてGitHubで公開
    3Dプリンタがあれば世界中どこでも作れる?
    • Discordでやりとりしながら、海外でパーツをプリ
    ントして作った人も

    View Slide

  12. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    デジタルファブリケーションサービスによるプチ量産
    12
    3Dパーツ (DMM.make クリエーターズマーケット)
    • 3Dデータを造形してくれるサービス
    • 個人で3Dデータを登録、造形物を販売できる
    オリジナルのサーキットコース (REALFABRIC)
    • 生地のプリントサービス(手芸用など)
    • オリジナルのデザインを登録、生地の販売ができる
    データ登録するだけで一品から生産と販売が可能
    https://make.dmm.com/item/1379287/
    https://realfabric.jp/view.php?num=34273

    View Slide

  13. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    DMM.makeプリントサービスによるキット製作
    • 産業用3Dプリンタのため高精度、高品質
    • 3Dデータチェックあり
    例)複数パーツのプリントにはランナーをつける必要がある
    • ボリュームを小さくすると費用を抑えられる
    13
    https://make.dmm.com/blog/3dprinting-factory/

    View Slide

  14. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    TatamiRacerのソフトウエア
    • Pythonで記述されたDonkeyCarのソフトを使用
    • manage.py(コントローラ)とmyconfig.py(パラメータ)のみカスタマイズ
    • ソースコード、セットアップ方法をGitHubに公開
    14
    myconfig.py
    https://github.com/covao/TatamiRacer/blob/master/raspi/mycar/myconfig.py
    manage.py
    https://github.com/covao/TatamiRacer/blob/master/raspi/mycar/manage.py

    View Slide

  15. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    コントローラとキャリブレーション
    TatamiRacerのコントローラ
    ・発進時、コーナーリング時の出力アップとトルクの改善
    キャリブレーション(TatamiRacer Test)
    • GUIで設定可能
    • ステアリングのセンターポジションなどを調整
    • 設定パラメータをmyconfig.pyに保存可能
    15

    View Slide

  16. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    ユーザーインターフェース(Web UI)
    • DonkeyCopilot スマホでTatamiRacerを操作しやすくするためUIを改良
    16
    DonkeyCar標準WebUI 改良したUI
    https://github.com/covao/DonkeyCopilot

    View Slide

  17. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    自宅にTatamiサーキットを作って学習走行
    • 畳一畳くらいのスペースでの走行可能
    • ディープラーニングの学習用データは5周分くらい
    17

    View Slide

  18. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    ディープラーニング学習
    • 一般的には、GPUのあるPCやクラウドの環境で学習するのが効率的
    • TatamiRacerでは、Raspberry Pi上のCPUで学習も可能(30分~1時間程度/5周分)
    18

    View Slide

  19. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    走行会イベントの参加
    19
    • 2021.11 「AIでRCカーを走らせよう@秋葉原3331」に参加(Facebookコミュニティ)
    • もくもくと作業したり、RCカーが走行しているのを見学するだけでも楽しめる
    • TatamiRacerではビニールシートの”シワ”乗り越えが大変
    AIでRCカーを走らせよう! https://www.facebook.com/groups/2249059025382644

    View Slide

  20. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    AIカーレースにチャレンジ!
    • Maker Faire Tokyo 2022 「AIでRCカーを走らせよう」
    DonkeyCarの他、JetRacerなど本格的なマシンも多い
    • トヨタ技術会(有志団体) 自動運転ミニカーバトルのコース
    20
    https://www.youtube.com/watch?v=s3ll8Y1OPn8

    View Slide

  21. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    シミュレーターによる自動運転レース
    • 物理世界と仮想世界が融合し、デジタルツインのレースと
    なっていく可能性あり
    • 事例 Ansys社、自動車技術会など
    21
    https://www.ansys.com/ja-jp/experiences/iacrace https://www.jsae.or.jp/PR/2022/PR22016/

    View Slide

  22. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    DonkeyCarのシミュレーターレース
    • Discordコミュティーで定期的に開催
    • オープンソースのDonkeySim(Unityベース)を使用
    • プレイヤーがシミュレータサーバーに接続し、レース走行
    • トーナメント方式で対戦
    22
    https://www.youtube.com/watch?v=2vZBCjuhW8U
    https://www.meetup.com/diyrobocars/events/288881129/

    View Slide

  23. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    MATLAB Deep Learning Toolboxによる学習
    23
    • MATLABでDonkeyCarのディープラーニングのモデル(keras)を読み込み可能
    • Deep Network Designerでニューラルネットワークを可視化、編集、学習ができる
    Qiita記事 DonkeyCarのディープラーニングモデルをMATLABでトレーニングしてみる
    https://qiita.com/covao/items/9f0c13106fa5bf4bb5de

    View Slide

  24. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    MATLAB/Simulinkを使ったAIカーのコントローラー
    • トップ階層だけのモデル規模で、シンプルに記述可能、理解しやすい
    • MATLAB用RaspbianイメージにDonkeyCarソフトをインストール可能
    • コード生成により、Raspberry Piへ実装可能
    ※MATLAB Homeでも実装可能 Simulink Coderなどのライセンス不要
    24
    Qiita記事 DonkeyCarのディープラーニングモデルを
    MATLAB/Simulinkを使ってRaspberry Piに実装する
    https://qiita.com/covao/items/91bbb8a09c5462508b47

    View Slide

  25. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    ホビー向けAIカー(DonkeyCar)と自動運転車の比較
    • ホビー向けAIカー(Donkey Car)
    • ディープラーニングで入力画像とステアリングやア
    クセル操作を学習させるだけで、そこそこ走る
    • 機能分割がなく、シンプル(End to End)
    • DIYが容易
    • 自動運転車
    • 複数センサ(Lidarやカメラ)使用、複雑なシステム
    • 機能が分割がされている
    自己位置推定、物体認識、車線認識など
    • DIYのハードルは高い
    研究用途の改造RCカーでは、高度な自動運転車もあり
    25
    https://github.com/autowarefoundation/autoware

    View Slide

  26. A2 ミニ四駆とラズベリーパイ、OSSのDonkeyCarを使ったDIY自動運転
    さいごに 特別企画 AIカー製作体験
    26
    • Design Solution Forumのメンバーと準備
    • キットを組み立て、ディープラーニングによる走行を体験
    https://dsforum.jp/2022/news/3329/

    View Slide