月曜日の朝7時55分、8時から会議があるのに今さっとオフィスに到着した — そんな場面を想像してみてください。なぜ8時に会議を入れるのでしょう。何もかもが億劫で、目もまともに開かない。そんなときでも、スマートコーヒーマシンだけは味方でいてくれます。あなたが誰で、どんな飲み物が好きかを把握していて、あなたのことをわかってくれる。でも、口出しはしない。ハグはできないけれど、お気に入りの一杯を素早く淹れてくれる。その一杯が、あの会議を乗り切る力をくれるのです。
このお題は、Politecnico di Milano(イタリア)、University of Zagreb(クロアチア)、Mälardalen University(スウェーデン)の3大学が連携して開講する「分散ソフトウェア開発」コースの学生たちに課されました。マイコン(リソース制約のあるデバイス)、AI、Qtのいずれも十分な知識がない状態でしたが、学生たちは見事にこの課題をやり遂げ、印象的なエッジAIアプリケーションを作り上げました。

課題:リソース制約のあるハードウェア上でエッジAIアプリケーションを完成させる
学生チームに課されたのは、UIの設計、バックエンドロジックの開発、そして顔認識と音声認識の実装により、普通のコーヒーマシンをスマートコーヒーマシンへと進化させることでした。高性能なCPUの代わりに与えられたのは、カメラ・マイク・静電容量式タッチスクリーンを内蔵したESP32‑P4‑Function‑EVマイコン開発ボードです。
要件は高い水準を求めるものでした。
- カメラを使ったユーザー識別のための顔認識
- ハンズフリー操作を実現する音声コマンド対応
- Qt for MCUsで構築するタッチ操作UI
- ユーザーの習慣に基づく飲み物のパーソナライズ
- ビジュアルフィードバックを備えたカスタマイズ可能な抽出ワークフロー
- クラウドを使わない完全オフライン処理
さらに、ESP‑DLやESP-SRといったフレームワークを使用して、画像認識モデルと音声モデルをマイコン環境に組み込むことも求められました。このプロジェクトには、現代の組み込み開発者に必要なスキルが凝縮されています。UI/UXデザイン、C++開発、AIモデルのトレーニング、そしてリソース制約のあるMCUプラットフォーム上でそれらをすべて機能させる創造力です。
エッジAIコーヒーマシンの紹介
Edge Coffee Machine(ECM)は、ESP32-P4向けに開発されたAI駆動の組み込みアプリケーションです。PoliMiとMDUの共同プロジェクトとして、エッジAIが日常のオフィス業務をどのように支援できるかを探求しています。すべての処理はデバイス上で直接実行されるため、高速なレスポンスを実現しながら、完全オフライン動作によるユーザープライバシーの保護も両立しています。
UIの主な機能
- 飲み物の選択:Qtベースのインターフェースがエスプレッソ、カプチーノ、モカなどのメニューを提供します。メニューは時間の経過とともに適応し、お気に入りを優先しながら新しい選択肢も随時提案します。
- ユーザーの切り替え:顔認識によりプロファイルが自動で読み込まれますが、手動での切り替え、自動生成された名前での新規ユーザー登録、ゲストとしての利用も可能です。
- 抽出アニメーション:抽出が開始されると、価格表示エリアがウェーブスタイルの進捗インジケーターに切り替わり、飲み物の状態を表示します。キャンセルも可能です。
AIの動作
ESP-DLおよびESP-SRフレームワークを使用し、以下の機能を実現しています。
- 顔認識:ユーザーを識別し、その設定を自動で読み込みます。
- 音声コマンド:ウェイクワード(「Hi ESP」)の検出と、「brew coffee」「cancel」といったコマンドによるハンズフリー操作を実現します。すべてローカルで処理されます。
- アダプティブレコメンデーション:ユーザーの行動履歴を蓄積し、デフォルト・保守的・探索的といった行動パターンに基づいて飲み物の並び順を調整します。
Qt for MCUsを使って構築したUIには特に満足しています。マイコンの制約の中でも、抽出の進捗を示す上昇するウェーブフォームなど、カスタムアニメーションを使ったスムーズなインターフェースを実現できました。
レコメンデーションシステムにも多くの労力をかけました。指数減衰に基づくシンプルなスコアリングでユーザーの行動を追跡し、新しい飲み物を試す頻度やカスタマイズの傾向などを推定します。その結果に基づいて、飲み物メニューをユーザーの習慣により合わせた内容に調整しています。
もう一つのハイライトは、複数のAI機能をデバイス上で直接動作させたことです。ESP32-P4上で顔認識(ESP-DL)と音声認識(ESP-SR)の両方を統合し、UIと並行して動作させながらもシステムの速度低下を抑えることができました。これらをすべて組み込みハードウェア上で安定して連携させることは、プロジェクトにとって大きな前進でした。
Qt for MCUsとの取り組みは、困難ながらも有益な経験でした。QMLプレゼンテーション層とC++バックエンドが明確に分離されているフレームワークの構造が、分散チームでの協業を大いに助けてくれました。一方のグループが迅速なプロトタイピングのためにデスクトップUIシミュレーションに集中し、もう一方がボード上でのAIとハードウェアの統合を担当するという並行作業が実現しました。このモジュール構造があったからこそ、最終的にすべての異なるコンポーネントを統合することができました。
学生チームの紹介
今年のQtプロジェクトチームは、多様な学術的バックグラウンドと技術的強みを持つ7名の学生で構成されています。Politecnico di MilanoからEmiliano Finetti、Matteo Delton、Piervito Creanza、Maxime Trimboli、そしてMälardalen UniversityからJavier Asensio Castillo、Jorge Jiménez Oropesa、Rakocevic Balsaが参加しました。では、学生たちの声を聞いてみましょう。
このプロジェクトを選んだ理由は?
Edge Coffee Machineに惹かれたのは、物理的なハードウェアと高度なソフトウェアが意味のあるかたちで融合しているからです。特に興味を持ったのは、AIによる画像認識と音声認識をエッジで直接動作させるという技術的な挑戦です。Qt for MCUsは、クリーンでレスポンシブなインターフェースを構築するための確固たるフレームワークを提供してくれました。クラウドに依存せずに、マイコン上でどこまで実現できるかを探求したいと考えました。
チーム内での役割分担は?
2か国にまたがる7名の多様なメンバーで構成されていたため、明確な体制が不可欠でした。並行開発を実現するために、3つの専門サブチームに分かれました。
- UI/UXチーム:Qtを使ったレスポンシブで直感的なインターフェースの設計を担当し、マシンが「個人に寄り添う」感覚をシームレスに実現することに注力しました。
- バックエンドチーム:抽出ワークフローのコアロジックとユーザー習慣のトラッキングを担当しました。
- AIコンポーネントチーム:ESP-DLおよびESP-SRの顔認識・音声コマンドコンポーネントの適応と統合を担当しました
どのような課題に直面し、どう解決しましたか?
序盤は、多くのメンバーにとって初めてとなるQMLとQt for MCUsのキャッチアップが必要でした。素早くプロトタイプを構築し、ペアプログラミングセッションを積極的に行いながらツールを習得することでこれに対処しました。
その後、主な課題となったのは統合でした。AIモデル、UI、バックエンドロジックを目立った遅延なく連携させることです。また、ESP32-P4のハードウェア上の制限にも直面し、リソースの使い方に細心の注意が必要でした。インターフェースのレスポンシブ性を維持するために、異なるAIモデルを特定のプロセッサコアに手動で割り当てるなど、システムの最適化にかなりの時間を費やしました。結果として、実践的な組み込みシステムの最適化における良い訓練となりました。
次世代の開発者へのインスピレーション
Edge Coffee Machineプロジェクトは、優秀な学生が最新のツール、実際のハードウェア、そして実践的な課題にアクセスできたとき、何が実現可能かを示しています。Qt for MCUs、組み込みC++、エッジ最適化AIを組み合わせることで、チームはコースの課題をはるかに超えたものを作り上げました — スマートでパーソナライズされたデバイスの未来の一端を示す成果物です。
この取り組みは、組み込みインテリジェンスの重要性の高まりと、アカデミアと産業界をつなぐ実践的な学習機会の価値を示しています。エッジの可能性を探求する次世代の開発者を支援できることを誇りに思います。彼らのアイデアが次にどこへ向かうのか、今から楽しみでなりません。
学生のストーリー、プロジェクト紹介、Qt University and Talent Networkからの機会について、今後もご期待ください。
📎 関連リンク