🤖

AIスタックチャン アールティ版のセットアップ方法

2023/07/29に公開

スタックチャン及びアールティ版とは?

かわいいロボットです。M5Stackというマイコンで動きます。オープンソースハードウェアなので、ハードもソフトも個人で自由にカスタムできます。ChatGPT対応したソフトとかもあります。コミュニティもあったりします。

色々なキットがあるのですが、満を持して(?)公式版とも言えるアールティさん版が販売されました(作者のししかわさんは、アールティさんで働くエンジニア)。

詳しくは以下記事参照ください。
https://www.rt-shop.jp/blog/archives/13300

アールティキットの内容は以下のような感じです。

基板の顔がかわいい

スタックチャンセットアップ

公式READMEは以下です。

https://github.com/meganetaaan/stack-chan

ただ、アールティ版の詳細マニュアルはまだないようです(現状β版)。

そういった状況や、組み立てするのにコミュニティーで聞いてワイワイすることを楽しめる人向けですね。それも含めて楽しむのが、スタックチャンの価値かなと思います。

この記事では、公式版ともいえるししかわさん版のソフトでなく、robo8080さんが作成したAIスタックチャンを動かす方法を紹介しますので、その点はご了承ください。

robo8080さんのリポジトリ
https://github.com/robo8080/AI_StackChan2

なので、OpenAI APIのKEYが必要となりますのでご了承ください。

M5Stack単体セットアップ・動作確認

まずはM5Stack単体の動作確認をしておきましょう。M5Stackには、M5Stack Basic、M5Stack Core2、M5Stack CoreS3があります。ソフトによって対応していなかったり対応していたりするので注意しましょう(最初ハマりました)。

特にM5Stack Basicの初期バージョンはメモリが少なく動かないので、最新のバージョンのM5Stack Basicを購入するようにしましょう(ハマりました)。

M5Stack Basicの初期バージョン以外は、どれも対応しているソフトはあるので、ソフトを選べばどれでも大丈夫です。これから買う人は、どれがオススメかというと…正直分からないです。全部買っておきましょう(笑)

見分け方は以下です。


引用元:M5 Stack Basic(Swich Science)


引用元:M5Stack Core2(Swich Science)


引用元:M5Stack CoreS3(Swich Science)

ソフトウェアのセットアップは、手軽なM5Burnerと開発者向けのVS Code + Platform IOを使う方法があります。ここでは、まず手軽なM5Burnerを使った方法を紹介します。

開発者向けは後で説明をしますが、最初にM5Burnerを使った方法で書き込んだ方法を試しておくと動作確認になるのでよいです。

M5Burnerは以下からダウンロードできます。
https://docs.m5stack.com/en/download

M5 Burnerについて使い方等より詳しく知りたい人は、以下記事を参照ください。
https://zenn.dev/saitotetsuya/articles/m5stack_m5burner_v3

Macの場合「マルウェアかもしれない」と警告でたら、設定のプライバシーとセキュリティのセキュリティから開きます。また、m5burner.appはアプリケーションフォルダに置いておきましょう。

M5StackとPCをUSB-Cケーブルで繋いでM5 Burnerを起動しましょう。

M5Burnerで以下のように「AIスタックチャン」で検索しましょう(スタックチャンは半角カナなので注意)。

あとは書き込むだけです。

SDカード準備

AIスタックチャンのREADMEを読んで、M5Stack用のマイクロSDカードの準備をして、M5StackにマイクロSDカードを入れておきましょう。

動作確認

電源を入れて以下のように動けばOKです。

https://twitter.com/karaage0703/status/1685105965828595712

なお、少し反応が鈍いですが、ハードウェア組み立てされていないのが原因(と思います)ですので、気にしなくて大丈夫です。

ハードウェア組み立て

参考にしたのは、以下ページです。アールティ版は、サーボモーターのファームの書き込みや設定は全て実施済みなのでやる必要はないです。ラクラクですね。

https://github.com/meganetaaan/stack-chan/blob/dev/v1.0/case/README_ja.md#組み立て

追記:コミュニティで動画を教えてもらいました。以下も分かりやすいので参考にしてみましょう!

https://www.youtube.com/watch?v=lpWi0NooUr8

以下、自分のメモ用に、組み立ての写真メモしておきます。不明点あれば、コミュニティのDiscordで聴くのがよいです。

READMEに書いてありますが、ID1のサーボモータが足側で、ID2が顔側です。

  • ID1: 足側(左右回転、パン軸)
  • ID2: 顔側(上下回転、チルト軸)

1と書いてあるサーボをブラケットにまずとりつけます

2と書いてあるサーボをブラケットにとりつけます

ポイントはコードがブラケットの穴から出るような向きにするところです。こうなっていればOK

サーボ+ブラケットをケースに取り付けます

足をつけます

ここで、サーボモータを固定する2本の長いネジをドライバーで締めましょう。

バッテリーケースにバッテリーを入れて、バッテリーケースを取り付けます。

サーボモーターとバッテリーのコードを以下のように接続します。サーボモータのケーブルはどちらに刺してもOKです(デイジーチェーンで接続されていて、IDで識別するため)。

基板をとりつけて、4本の短いネジで固定します。

動作確認済みのM5Stackを取り付けます

基板の左上にあるスイッチを上にするとスイッチオンです(起動しなかったら、M5Stackの赤いボタンも押しましょう)。

以下のようにメッセージが一瞬出て…

起動しました!

動いている様子です。
https://twitter.com/karaage0703/status/1685119265073197056

開発者向けのセットアップ情報

事前セットアップ

事前にこちらで環境構築と動作確認をしておきましょう。
https://zenn.dev/karaage0703/articles/d0adc10871881d

VS Codeの設定は以下です。
https://zenn.dev/karaage0703/books/80b6999d429abc8051bb

使用するリポジトリは以下です。
https://github.com/robo8080/AI_StackChan2

以下コマンドでcloneしてVS Codeエディタで開きます。

$ git clone https://github.com/robo8080/AI_StackChan2
$ cd AI_StackChan2/M5Unified_AI_StackChan
$ code .

追記:アールティ(RT)版が出ていました。RT版の場合は、以下でcloneしてVS Codeエディタで開きましょう。

https://github.com/robo8080/AI_StackChan2_RT

$ git clone https://github.com/robo8080/AI_StackChan2_RT
$ cd AI_StackChan2_RT/M5Unified_AI_StackChan_RT
$ code .

M5Stackへの書き込み

最初に、VS CodeでPlatformIOを開きます。今回はM5Stack Core2を使う場合はm5stack-core2のGeneral→Uploadをクリックして、プログラムのビルドとM5Stackへのアップロードを行います。

ここで、PlatformIOのデフォルトのデバイスポートが、M5Stackのものと違ったのでplatformio.iniupload_port = /dev/cu.usbserial-xxxxと追記しました。

環境[env:m5stack-core2][env:esp32-s3-devkitc-1]の2種類あるのに注意しましょう。私は気づかず、単純に最後の行に追記していて設定が反映されず少しハマりました。

注:AI_StackChan2_RTの場合は[env:m5stack-core2][env:m5stack-core-esp32]があり、M5Stack Basicの場合は[env:m5stack-core-esp32]を選びましょう。

正しく動作したら、以下のように書き込めます。

ただ、起動しても、何故か黒画。わからないので、Monitorをクリックします。Monitorを使うときはupload_port = /dev/cu.usbserial-xxxxに加えてmonitor_port = /dev/cu.usbserial-xxxxも追記します(最初に、両方書いておいて方が良いですね)。

Monitorをクリックして、M5Stackを起動すると、起動のログがモニタリングできます。

動いてはいるようですが、SDカードが読めていないというエラーが出ているようです。

SDカードを書き直してもダメでした。そもそも、黒画になるので何かおかしい気が…

Core2でないとダメというオチでした。全然M5シリーズ分かってなかった…

M5Stack CoreS3で試したら問題なく起動しました。

追記:アールティ(RT)版は、現状Basic/Core2のみに対応しているようです。 Basicに対応したアールティ(RT)版を試したら問題なく動きました!

TIPS

スタックチャンCONNECT

スマートフォンアプリがあるので、便利です。

メモリ不足で動かない

M5Stackが初期バージョンで動かないときのログ。悲しみ。

rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1184
load:0x40078000,len:13132
load:0x40080400,len:3036
entry 0x400805e4
E (727) spi_flash: Detected size(4096k) smaller than the size in the binary image header(16384k). Probe failed.

ROS版スタックチャン

まだ試せてないですが、ROS実装もあります。

https://github.com/Ar-Ray-code/rostack-chan

まとめ

スタックチャンはかわいい!!

ロボットに興味ある人、LLM(ChatGPT)に興味ある人、研究者、個人、ガチ勢、みんな買うといいと思います!

参考リンク

https://docs.m5stack.com/ja/quick_start/m5unified/migration

https://github.com/meganetaaan/m5stack-avatar

https://windvoice.hatenablog.jp/entry/2019/09/15/002156

https://docs.google.com/presentation/d/1s_uiFNG-AW_s0FY-mgs16n67xzRn1NbherLC7btNjPU

https://raspberrypi.mongonta.com/stack-chan-scs0009-arduino/

関連記事

https://zenn.dev/karaage0703/articles/d0adc10871881d

変更履歴

  • 2023/08/05 アールティ(RT)版を試した結果を追記
  • 2023/08/04 組み立て動画へのリンク追記
  • 2023/08/01 アールティ版に関して追記

Discussion