「かわいい」が沼をつくった。スタックチャンと自走するOSSコミュニティのトップ画像

「かわいい」が沼をつくった。スタックチャンと自走するOSSコミュニティ

投稿日時:
ししかわ / Shinya Ishikawaのアイコン

スタックチャンコミュニティ代表

ししかわ / Shinya Ishikawa

Xアカウントリンク
OSS応援企画寄付期間:〜6/15 上限金額:200,000

FindyがShinya Ishikawa1応援につき100円寄付します

はじめまして。ししかわです。ロボット系ベンチャー企業でWebプラットフォームの開発に携わる傍ら、オープンソースのコミュニケーションロボット「スタックチャン」の開発やコミュニティ運営を行っています。皆さんの中にも、最近Twitterでかわいいロボットが喋ったり踊ったりするのを見た方がいるかもしれません。

この「M5StackChan」は、私が公開してきたスタックチャンの流れをくむ、M5Stack社による製品版です。クラウドファンディングで4000名を超える出資者を集めるなど大きな話題となりました。意外かもしれませんが私自身はこの「M5StackChan」の開発にはほぼ関わっていません。自走するコミュニティに身を任せた結果、私の手を離れて世界中に広まることになりました。

この記事では私がスタックチャンをつくったきっかけや、どのようにして世界に広がるコミュニティに育っていったかをお話しします。

スタックチャンとは

スタックチャンは手のひらサイズのかわいいコミュニケーションロボットです。

外装、基板、ファームウェアをApache v2.0ライセンスで公開していて、ユーザーは公開データを使って自分でつくったり改造したりできます。基本機能は顔の表情や首振りなどシンプルですが、拡張モジュールやネットワークでIoTやAIと繋がることで可能性は無限大になります。最近では、さまざまなLLMと繋いでスタックチャンとお話できるようにしたり、スマートホームのハブやBluetoothスピーカーとして活用したり、いろいろな場面で活躍しています。

きっかけはロボットの「サ終」問題

私は学生の頃から「人と音声で会話ができるロボット」の研究をしていました。LLMが影も形も無い時代。コミュニケーションロボットはまだまだ研究段階。商用ロボットの会話能力はサーバー側に依存することが多い状況でした。ロボットの機能の継続的なアップデートや安全性を考えると「サーバーで一括管理」は理にかなっています。しかし一方で課題になるのがロボットベンダーのサービス終了です。

商用ロボットの運用はサーバーも、人もお金も必要で、時としてサービス終了という判断が避けられないこともあります。サービス終了によって、今まで家で一緒に過ごしていたロボットが、突然会話ができなくなってしまいます。実際そのような悲しいニュースを何度も目にしてきました。

当時WebエンジニアとしてOSSを使ったりつくったりしていた私は「ロボットももっとオープンにできないだろうか?」と考えました。特定の個人や企業ではなく、開かれたコミュニティによって開発されるロボット。誰もがユーザーであり、同時に開発者でもあるという関係。

スタックチャンの「コミュニケーションロボットを、あなたの手に」というキャッチフレーズは、文字通り手のひらサイズという意味に加えて、ロボットの人生をユーザー自身の手に委ねるという意識も込めて決めました。

しかし、当時の私はロボット製作は全くの未経験でした。

モーターの動かし方や筐体のつくり方、基板や電源の考え方さえよくわかっていませんでした。「このモーターは5V電源とPWMで駆動します」と言われても、何を準備すればよいのかさっぱりでした。卒論でロボットの研究をしていたとはいえ、自分は「買ってきて使う立場」の人間。そこから自分の手でロボットを作るまでの間には大きな溝がありました。

まずつくってみる

その後、前職のロボット系ベンチャー企業への転職をきっかけに、だんだんと手触りのある知識が増えていきました。
前職では「マイクロマウス(迷路を走行するロボット競技)を一から設計して大会で完走する」という研修を一年半ほどかけて実施しました。その中で、機械設計、電子回路、組み込み開発を一通り学び直しました。

ロボットづくりで最初に立ちはだかったのは、「とにかくやることが多い」という壁です。

ソフトは多少書けても「ピンの繋ぎ方」「電源のとり方」「ケースへの基板の収め方」で必ず毎回つまずきます。一つの専門領域だけでは完結しない上に、機械、電子回路、ソフトウェアが互いに制約し合うので、どこかを少し変えると別の場所も直さないといけません。ロボットをつくるとは、こういう小さな調整の積み重ねなのだと学びました。

CADソフトの画面上ではそれらしく見えても、実際に手で触るとネジが締めにくい、部品が入らない、少し力をかけると折れてしまうなど「現物をつくって初めてわかること」がたくさんありました。

電子回路では、ときには基板を燃やすトラブルもありながら、同僚の助けを借りてだんだん覚えていきました。

ソフトウェア、特に組み込み開発については、Moddableという組み込み開発向けのJavaScriptプラットフォームを使いました。「知らない概念を、知っている言語で学ぶ」という体験は非常に良かったです。

研修の外でも小さなロボット作品をつくってはXやProtopediaに投稿していました。仕事で学んだことを休日に試して、詰まったらまた調べる。その往復でした。

失敗や試行錯誤まで含めて公開しながら進めた経験は、後のスタックチャンで大事にしている「オープンなプロセス」という考えにもつながっています。

こうして研修を一回り終えた頃、コロナ禍で自宅時間が多かったこともあって、今度は腰を据えて自分のロボットをつくってみようと思い立ちました。

最初につくったスタックチャンは、今見るとかなり荒削りです。外装はペラペラですぐに折れるし、基板は手ではんだ付け。それでも、最初に私の手の上で動き出した瞬間の鳥肌が立つ感覚を今でも覚えています。

スタックチャン公開。そして、「つくってみたい」が連鎖していった

そんな荒削りな状況だったので、最初の公開時点ですべてが整っていたわけではありません。リポジトリにあったのは外装の設計図と回路図くらいで、「3Dプリントのしかた」も「プリント基板の発注方法」もありませんでした。

ファームウェアのビルドには気を利かせてDockerを用意してみましたが、そもそもWebにふれる機会が無いエンジニアなら「Dockerって何?」という人も当然います。

メカ、エレキ、ソフトの全部にある程度触れていないと、組み上げるのは難しかったはずです。

それでも、つくってくれる人が現れました。

元々M5Stackコミュニティにはソフトからハードまで一通りわかるフルスタックなMakerがたくさんいます。公開から1、2週間もすると、必要なものを一通りそろえてあっというまに組み上げてしまいました。のみならず、自分の好みに合わせて改造する人さえ現れました。

初めて他の人の机で動くスタックチャンを写真で見たときは、本当にうれしかったです。同じスタックチャンなのにつくった人の個性が現れているようで、別の個体に見えました。

そんなわけで初期のコミュニティメンバーは独力でもロボットを組める、いわゆる「つよつよ」な人たちが大半でした。

一方ある方から「組み立ては大変だけど、スタックチャンがかわいいので頑張れた」と言ってもらえたこともあり、印象に残っています。 スタックチャンを一からつくるのは難易度が高いのですが、「かわいい」という感情がそのハードルを乗り越える原動力になると知りました。

最初の頃はTwitterでのゆるい繋がりが中心です。

つくった人が写真を上げる。その写真を見た別の人が、自分もつくりたくなり、つくってみる。

イベントに連れていって「うちの子自慢」の交流をする。

制作時の試行錯誤からできた喜びまで、生の感情が伝わることで、次の参加者を連れてきます。

1周年にはコミュニティメンバーを招いて、スタックチャンケーキでお祝いをしました。

このイベントは翌年以降も「スタックチャンお誕生日会」として恒例行事化することになります。

自走するコミュニティ、私の知らない未来へ

そこからのコミュニティの成長は、私の想像を遥かに越えていきました。 象徴的な出来事を3つご紹介します。

AIスタックチャン誕生

robo8080さん(ロボさん)は、なんとOpenAI APIが公開された翌日に、スタックチャンにAPIを組み込んで人とお話する「AIスタックチャン」を誕生させました。

robo8080さんは以前からAlexaとスタックチャンの連携を実験するなど、 AI機能との統合にも精力的に取り組んでいました。それでもまさか公開翌日に統合されるとは思っていませんでした。

OpenAIの中の人まで反応してくれて、コミュニティは沸き立ちました。ロボさんがデータを公開し、YouTubeでつくり方の解説動画を公開する方や、ツールが実行できるようにする、ローカルLLMと繋ぐなど派生していきました。

この頃からスタックチャンは私の手を離れていき、コミュニティが自走するようになったと実感しました。私が用意していない未来を、コミュニティが勝手に実装してくる。最高に楽しい瞬間です。

ロボさんが切り開いた「AIスタックチャン」の潮流は、各社のLLMが普及した今も受け継がれています。

有志キットが1000台突破

タカオさんによる「スタックチャンキット」の頒布数が1000台を超えたことも忘れられません。

その年のスタックチャンお誕生日会でも発表して、会場が盛り上がりました。タカオさんは、有志としてスタックチャンのキット頒布やもくもく会を続けてくださっている方です。正直に言うと、自分は新しいものを作るのは好きですが、同じものを何度も丁寧に届け続けるのは得意ではありません。だから1000台という数字を聞いたときは、うれしいより先に「これは自分にはできない」と思いました。

タカオさんはキット頒布の他にも「もくもく会」の運営や、全国各地のイベントでの布教活動に取り組んでおり、まさに「スタックチャンエバンジェリスト」です。

スタックチャンを「被る」

想定外の派生作品も生まれました。なんとスタックチャンを「被る」人まで現れたのです。

普通は被ろうと思いませんよね。

「スタックチャンは小さいロボット」という認識だった私は「やられた!」と思いました。かなりの変化球という印象ですが、M5Stackの部品を使ってモバイルディスプレイにスタックチャンの顔を投影しており、話し声に合わせて口をパクパクさせる「リップシンク」機能も搭載するなど、これも立派にスタックチャン作品です。

深センMaker Faire 2023への出展で彼と一緒に行動する機会がありました。スタックサンはロックスターそのものでした。歩くところに人だかりができて、子どもたちが寄ってくる。観衆の一人ひとりに丁寧に接していて、衣装のつくり込みだけでなく、中の人のキャラクターまで含めて場を明るくしていました。

今もスタックサンは国内外へ遠征し、Maker Faire Bay Area 2025でEditors’ Choiceを受賞しました。受賞を聞いたときは、自分のことではないのに勝手に誇らしくなりました。

「スタックチャン沼」へようこそ

いつしか「スタックチャン沼」という言葉が生まれるようになりました。

この「沼」という表現が私はとても気に入っています。「ロボット開発」というワードが含む「凄み」や「上を目指すもの」というイメージがいい感じに薄まるからです。

主観ですが、従来のロボコンやマイクロマウスなどのロボットコミュニティは「山」や「道」のイメージがあります。各つくり手の創意工夫はもちろんありますが、競技である以上「勝ち負け」の絶対的な基準があり、基本的には勝つことを目指します。

一方「沼」はその基準が一段あいまいです。それぞれが自分のこだわりを追求できます。ライト層は浅瀬で楽しめるし、ヘビー層はとことん深淵まで潜っていくこともできます。なにを追究するかも自分で決めることができます。

「M5StackChan」の普及には期待していて、今まで交わらなかった新しい界隈の人も呼び込んで、「スタックチャン沼」の周りにはさらに多様な生態系が生まれると信じています。

プロジェクトを動かすのはプルリクエストだけじゃない

ここからは「オープンソースハードウェア」に興味がある人や、始めてみたい人へのメッセージです。

まずはオープンソースハードウェアに興味がある人へ。

スタックチャンでは、GitHubリポジトリの外の活動によって、プロジェクトを大きく動かしてくれることが何度もありました。

この記事で紹介した作品群のうち、私のリポジトリのデータが使われているのはごく一部ですし、彼らは私のリポジトリに直接プルリクエストを送ったわけではありません。でも彼らの活動を「コントリビューション」と呼ばずに何と呼ぶでしょうか?

「つくりました」と写真を投稿したり、イベントに連れていったり。生活の中に置く。コードを読む。AIに手伝ってもらいながら理解する。知見をシェアする。外装を変える。キットを頒布する。もくもく会を開く。スタックチャンを被って着ぐるみになる…。

最後の例は特殊ですが、これも立派な「コントリビューション」だと私は考えています。

コードとしては何も変わっていなくても、誰かが使っていることが見えるだけで、次の週末にドキュメントを直す理由になります。「ここでつまずいた」という声もありがたいです。困っている場所が見えれば、次に直す場所がわかります。

OSSの入口は、PRだけではありません。使う、つくる、見せる、生活に入れる。スタックチャンでは、そのどれもがプロジェクトを前に進めてくれました。

AIコーディングエージェントの普及によって従来の「コード提供による貢献」の認識が様変わりする中、コミュニティへの貢献方法はむしろ多様化してきていると感じます(ハードウェアの場合は物理的な実体があるのでなんとなく「推し活」に似ていますね)。

推したいプロダクトが見つかったら、そのために自分が何をできるか。リスペクトの気持ちさえあれば大丈夫。自分ならではの貢献の形を考えてみてほしいです。

モーター2個でロボットは始まる

自分のオープンソースハードウェアをつくってみたい人へ。

「沼」の下りでも少し触れましたが、昨今のヒューマノイドブームもあって「ロボット開発」という言葉がとても力や文脈を帯びて語られることが増えた気がします。高度な制御、専用部品、難解な数学、世界最高の人材が集まる研究室と企業。華やかなニュースやデモ動画を見ていると、それらがなんだか遠い世界の出来事のように思えます。

過去の私もそうでした。「ロボットをつくりたいんだね。じゃあたくさん勉強して良い会社に入らないとね」。

この言葉を信じて勉強して、運良くロボット開発に携われています。でもスタックチャン開発を通じて、世の中に「ロボットの専門家ではないが、ロボットをつくりたい熱量に溢れた人たち」がこんなにもいることを知りました。

今は、ロボット開発を特権化したくないという気持ちがあります。ロボット開発を一部の卓越した人材だけのものにしまっておくのは、あまりにももったいないです。

マイコンにモーターを2個繋げば、それはもうロボットです!画面にかわいい顔を出して、縦横に首を降るだけで、そこにはインタラクションが生まれます。

完璧でなくても良い。不格好でも自分が「かわいい!」「動いた!」と思えたなら、それはきっかけとして十分だと思います。

私の場合も「ロボットのサ終問題」への解決策がきっかけではありますが、今でもロボットつくりの原動力は「机の上でロボットが動いてたらかわいい。実際に動いたら可愛かった!」という熱量です。自己啓発や市場価値のことは気にせず(あとから付いてきます)、出発点はもっと小さくて勝手な考えです。

それでも公開したら「私もこんなの欲しかった!かわいい!」というふうに仲間が増えていきました。今ではスタックチャンを通じて私が知らない景色を見られるようになりました。海外のイベント、全国各地のもくもく会、今も誰かの机の上、誰かの生活。スタックチャンは私にとって、そんな場所へ勝手に歩いていき、連れ出してくれるロボットになりました。

皆さんもぜひ、スタックチャンをきっかけに好きなものをつくり始めてほしいと思います。

今日、M5StackChanのような半完成品のハードやオープンソースのロボットが安価に手に入るようになりましたし、ロボット開発の険しい道のりはAIが伴走してくれるようになりました。今はハードウェアのものづくりを始める最高のタイミングです。ぜひ私達といっしょに、沼へ飛び込んで泳ぎましょう!

OSS応援企画

Findyはエンジニアの成長とOSSの発展を応援します

Loading...

現在14の応援が届いています🤝

Loading...

寄付期間:~ 6/15 上限金額:200,000

OSS応援 CodeSideChat

OSSをつくる人の声を届ける連載です。設計の迷いや狙い、現場の判断まで等身大に記録し、OSS開発を応援する内容になっています。