【開発日誌】R8-D5 Mk.2の開発と、量産後に見えてきたサポートの現実|R8-D5 Mk.2は進化を続ける

R8-D5のアメコミ

今回はR8-D5(うちのドロイド)の"作った後"の話。

実は先日、いきなりトラブルが立て続けに起きまして…。「量産する」ってこんなに大変なことだったのか、と勉強させられた数日間であった...

R8-D5のアメコミ

今日はその記録を、なるべく分かりやすく書いてみようと思う。 余談だが最近ChatGPTが描いてくれるプラネットスカベンジャーのアメコミがお気に入りである。

開発開始からの経緯をざっくり振り返り

R8-D5の初期試作機

R8-D5の開発をスタートしたのは2026年1月。試行錯誤しながら初期ロットを組み上げて、約8台を出荷することができた。まずはここまで形にできたことに、正直自分でも驚いている。

R8-D5 AIドロイド

その後、「もっと良くしたい」という気持ちが抑えられなくなり、マーク2の開発のためにしばらく販売を一旦停止し、色々なマイナーアップデートをしてきた↓

頭脳のチップをグレードアップ(ESP32-C3 → ESP32-S3に変更)

これがD5の頭脳となるチップ、ご存じの人にはすぐわかるESP32系のチップを利用している。 ここにスピーカー/バッテリー/サーボモーターをつけてD5を構成している。 今回このチップをC3→S3へアップグレードして、もっと色々な事ができるようにしたという感じです。

サーボモーターを追加して、首が動くようになった

サーボを追加設計している写真

チップを変えたことにより、動かせるアイテムを増やすことができるようになったので、サーボモーターを追加して、首のパーツとしてどうさせることにした。 これでだいぶD5が生きている感じが出せるようになった。

液晶画面のデザインを一新(実はここが一番時間かかっています…イコライザーっぽい表示にしたり、バッテリー残量を丸いゲージで見せたり、地味にハマりました)

液晶画面のアップグレードはまだ検証段階なのでまだ公式では発表していませんが、必要最低限しか表示していなかった液晶画面を更にカスタマイズして、色々な情報+D5が暇つぶしにゲームをしているような液晶画面を開発中。

マーク2出荷後から発覚している「もうこんなに大変」実録編

エピソード①:充電80%止まり? → 電圧を調べて公式機能として採用した話

使っているうちに「あれ、充電が80%くらいで止まってる?」と気づいた。 実はこれ、リチウムイオン電池は100%と0%を頻繁に行き来すると劣化が早まるので、今回はこれを逆手にとり「いたわり充電」として、80%を100%として扱いリチウムバッテリーを長く使えるようにシステムを変更。

エピソード②:名前(ディーファイブ)を呼んだら返事してくれるようにしたら…

R8-D5には音声認識機能があるのですが、これまではこの機能は停止状態でした。それを「ディーファイブ」と呼びかけたら反応するようにカスタマイズしてみた。

これが地味に難しくて、発音の作り方(専門的には「ピンイン」という表記を使うのですが)をあれこれ試行錯誤して、ようやく「di fa yi bu」って呼びかけると振り向いてくれるようにちゃんと名前を呼んで反応してくれると、なんというか、急に"生き物っぽさ"が増して嬉しい!

ただ、便利にした反面、設定次第では意図しない動作に繋がることもあると分かったので、そのあたりの調整も今後の課題として持ち越し。 そして、D5自体は型番という設定なのでオーナーによって呼び名が変わった場合はファームウェアの中を編集しないといけないため、量産型に実装するにはまだまだ時間がかかりそうな気がする。。

エピソード③:ある日突然「繋がりません」画面に

ちょうど昨晩、②のウェイクワードのテストをしている矢先、急に「サービスに接続できません」というエラーが出るようになり.....「え、俺なんかやらかした?」と正直かなり焦った

いろいろ調べた結果、これは自分たちのせいではなく、AI機能を提供してくれている外部サーバー側の証明書設定に問題が起きていたことが原因。ブラウザで直接サーバーにアクセスしてみたら、しっかり警告画面が出てきて、「あ、これは向こう側の問題だ」とようやく確信が持てて、自分では直せない問題だと分かって少しホッとしつつも、「ユーザーからしたら、原因がどこにあろうと"R8-D5が壊れた"にしか見えないよなあ」というのは、地味に重い気づきだった。

まぁ例えるなら世界中でシェアされているAmazonのアレクサのサーバーが急に繋がらなくなって世界中でアレクサエラーが起きているようなイメージでしょうか....考えるだけで恐ろしい...

取り急ぎSNSで緊急告知を...

エピソード④:「これ、もし変なファームウェアの更新が勝手に降ってきたら…?」と気づいてゾッとした話

エピソード③の件を調べているときに、ふと嫌な可能性に気づいてしまった。

R8-D5は、外部サービス側で新しいバージョンが用意されていると、自動的にダウンロードして書き込んでしまう仕組みが元々組み込まれています。つまり、自分がせっかくカスタマイズした液晶画面のデザインやウェイクワードの設定が、ある日突然、何もしていないのに上書きされて消えてしまう可能性がある、ということに気づいてしまったんです。

これはさすがに背筋が冷えたので、急いで「公式のファームウェアは自動では上書きしない」設定に直して、自分が作ったファームウェアの方を対象に自動アップデートがかかるようにカスタマイズしてみた↓

ちゃんと、アップデート時と完了時には通知をしてくれるようにしてみた!! 地味に好き。

「1台でこれなら、これから増えたら…」という気づき

正直に言うと、今回の一連の出来事で一番学んだのは技術的なことよりも、「サポートって想像以上にやることが多い」ということ。

  • ログを読んで原因を切り分ける作業は、エンジニアじゃない人には正直けっこうハードルが高い
  • Wi-Fiの設定や、音声認識の反応具合の調整なんかも、慣れていないと戸惑うポイントが多そう
  • 1台に向き合うだけでもこの密度なので、台数が増えたときにこのままのやり方だと絶対に回らない

という当たり前と言えば当たり前のことを、身をもって実感した。

今後、整備していきたいなと思っていることをざっくり挙げると、こんな感じ。

  • よくあるトラブルのFAQ化(今回の充電80%の件とかも含めて)
  • Wi-Fiや音声認識まわりの初期設定を、もっと迷わずできるようにする工夫 サポート
  • 体制そのものをどう設計していくか(ここはまだ検討中)

まとめ|独りで開発していく大変さ

「1台を作る」のと「複数台をちゃんと支え続ける」のとでは、求められることが全然違うんだなあ、というのを今回改めて実感。 大変ではあるものの、R8-D5をちゃんと育てていきたい気持ちの方が今は強いのでありあます。

同じように個人でハードウェアを作って届けている方には、共感してもらえる部分もあるんじゃないかなと思います。これからも開発日誌として記録していくので、また読んでもらえたら嬉しいです。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA