はじめに
先日、第一子が生まれました。
夜中に何度も起きてはベビーベッドをのぞきに行く生活の中で、ふと「市販のベビーモニターって、結局ただの監視カメラなんだよな」と思うようになりました。異常があれば通知してくれるのはありがたいけれど、もう少し、赤ちゃんのそばに"温かいもの"がいてくれたらいいのに——そんな思いつきから、赤ちゃんに語りかけてくれる見守りロボットを作ってみることにしました。
最終的に出来上がったものはこんな感じです(動きを検知すると、顔を向けて見に来てくれます)。
この記事では、ここに至るまでの設計・組み立て・デバッグの全過程を5回に分けて書いていきます。
せっかくなので、設計からコーディングまでClaude Codeと一緒に進めることにしました。一人で黙々と設計するのではなく、AIに部品を調べさせたり、設計そのものを別のAIにレビューさせたりと、今までと違う作り方を試しているので、その過程を記録として残していきます。ちなみにこの連載記事自体も、Claude Codeのブラウザ操作機能(Claude in Chrome)でQiitaの下書き画面を直接編集させながら書いています。
実装の詳細(ソフトウェア)や物理的な組み立て手順は続編に分けます。本記事はコンセプト〜アーキテクチャ確定までです。
コードはGitHubで公開しています → Haradasn/baby-watcher
※あくまで個人のPoCです。育児の安心材料のひとつではありますが、乳児の安全監視そのものを代替するものではありません。
開発の進め方
ベースになっているのは、動き検知→Claude Vision APIで画像判定→スマホ通知、という最小構成の見守りスクリプトbaby_watcher.pyです。これをClaude Code上で拡張していきました。コードを書かせるだけでなく、
- ハードウェア構成の是非を相談する
- 部品ごとの実売価格・レビューを調べさせて選定させる
- 設計全体を別のモデル(Opus)に独立レビューさせる
といった使い方をしています。役割分担としては、実装・デバッグそのものはClaude Code(Sonnet系モデル)が担当し、そのうえで要所ごとに別モデルのサブエージェントを使い分けています。ロボット稼働時の画像判定(動き検知後の状況説明)には低コストなHaiku、設計レビューや後述の3D CAD相談のような「一歩引いた視点が欲しい場面」にはOpusを呼び出す、という構成です。以下、実際の設計過程に沿って書きます。
コンセプト設計
当初案: ぬいぐるみへの内蔵
最初は「ぬいぐるみの中にRaspberry Piとセンサー類を埋め込む」構想でした。StackChan(M5Stack社の、円形/角型ディスプレイの顔+パン/チルトサーボの首振り機構を持つオープンソースロボット)のような、表情豊かな見た目を狙っていました。
方針転換: 据え置き型へ
設計を詰める過程で、乳児の寝床に柔らかい物を入れることがSIDS(乳幼児突然死症候群)のリスク要因として一般的に注意喚起されているという論点が出てきました。加えて、
- Raspberry Pi 5は相応に発熱し、布で覆うと放熱が悪化する
- 配線・メンテナンス性も布の中より外の方が良い
という実務上の理由も重なり、ぬいぐるみには埋め込まず、ベビーベッドのそばの棚に置く据え置き型ロボットという形に確定しました。見た目はStackChan型(丸型ディスプレイの顔+パン/チルトサーボ)を踏襲しつつ、中身はRaspberry Pi 5ベースの独自構成です。
我が子を危険にさらしてまで凝った見た目にする意味はないので、ここは迷わず安全側に倒しました。
アーキテクチャ
ソフトウェア
既存の「動き検知→Claude Vision API→通知」というパイプラインに、以下を追加する設計にしました。
Claude APIのレスポンスは、既存のnotify/messageに加えてemotionラベルを追加したJSONスキーマにしています。
{"notify": true, "message": "パパがそばにいるよ。明るいお部屋だね", "emotion": "happy"}
挙動は「アイドル時は複数のプリセット位置をゆっくり自律的に首振りして周囲を見回す」「動きを検知したら、その方向に反応して向く」というハイブリッド方式です。カメラ自体がサーボで動くため、動き検知はプリセット位置ごとに基準フレームを個別管理し、サーボ移動中の自己干渉を避ける設計にしています。
ハードウェア
パーツ選定も一人で全部調べたわけではなく、「Pi5でSPI接続できる丸型ディスプレイ」「I2S対応のアンプモジュール」のような条件をClaude Codeに投げて候補を挙げてもらい、スペックや互換性(GPIOの競合有無など)を一緒に確認しながら絞り込みました。実際に購入したパーツ一覧です(2026年10月時点の価格)。
| 写真 | パーツ | 役割 | 価格 | 購入先 |
|---|---|---|---|---|
![]() |
Raspberry Pi 5 (8GB) | 頭脳(カメラ判定・API呼び出し・TTS) | ¥36,300 | スイッチサイエンス |
![]() |
Camera Module V3 NoIR | 夜間撮影用(赤外線カットフィルタなし) | ¥5,940 | スイッチサイエンス |
![]() |
Pi5用CSIケーブル(200mm) | カメラ接続用(Pi5は旧型と形状が違うため別途必要) | ¥230 | 秋月電子 |
![]() |
Pi5用 公式Active Cooler | 冷却 | ¥1,100 | 秋月電子 |
![]() |
公式27W USB-C PD電源 | Pi5本体用電源 | ¥2,860 | スイッチサイエンス |
![]() |
GC9A01 (1.28インチ丸型SPI液晶) | 顔(目・口の表情を描画) | ¥1,250 | Amazon |
![]() |
PCA9685 サーボドライバ | 首振り機構の制御 | ¥999 | Amazon |
![]() |
SG90 マイクロサーボ ×2 | 首振り(パン・チルト、各180°弱の可動域) | ¥1,300 | 秋月電子 |
![]() |
MAX98357A I2Sアンプ | 音声出力(アンプ部) | ¥1,265 | スイッチサイエンス |
![]() |
スピーカーユニット 4cm 4Ω | 音声出力(スピーカー部) | ¥280 | 秋月電子 |
![]() |
ジャンパーワイヤー(メス-メス) 40本 | 基板同士の配線 | ¥360 | Amazon |
![]() |
USB-C→2ピン裸線ケーブル | サーボ用電源(Pi5とは別系統) | ¥743 | Amazon |
合計: 約¥52,627(送料別)
音声合成はクラウドAPIではなく**Pi5上のPiper TTS(ローカル)**を使う方針です。画像判定はクラウドAPI、発話はローカル、というハイブリッド構成にすることで、往復レイテンシとランニングコストを抑えています。
独立モデルによるアーキテクチャレビュー
設計が一通りまとまった段階で、Claude Codeに別モデル(Opus)を使った独立レビューをエージェントとして走らせました。同じ会話の文脈を引き継がせず、ゼロから設計内容だけを渡して評価させるのがポイントです。
レビューの結果、採用した指摘は以下の通りです。
- 夜間の光対策: 深夜帯はディスプレイを消灯・減光し、TTSの発話も抑制する(通知だけは送る)
- サーボ電源の分離: SG90起動時の突入電流がPi5の電源ラインに影響し、ブラウンアウト(瞬間的な電圧降下)からの再起動ループを招くリスクがあるため、サーボ用のPCA9685には独立したUSB-C電源を用意し、GNDだけ共通化する設計にした
- 状態遷移の明確化: 「アイドル巡回」「反応」「発話中」を明示的に分離し、発話中の割り込みでサーボ指令が競合しないようにした
一方で、「このPoCは実運用で乳児の安全を担保する製品ではなく趣味レベル」と割り切り、無償で取り入れられる対策だけ採用し、工数のかかる対策(サーボの振動・転倒対策の作り込みなど)は後回しという判断をしています。AIの指摘を鵜呑みにせず、我が子にとって本当に必要な対策かどうかで取捨選択するのが重要だと感じました。
配線設計
GPIOピンの割り当ては以下のように確定しました。SPI0/I2C1/I2Sのバスで競合はありません。
| バス | 用途 | 使用ピン(BCM) |
|---|---|---|
| CSI0 | カメラ | 専用コネクタ |
| SPI0 | GC9A01(表示) | GPIO8 / 10 / 11 / 25 / 27 / 12(輝度PWM) |
| I2C1 | PCA9685(サーボドライバ) | GPIO2 / 3 |
| I2S | MAX98357A(音声出力) | GPIO18 / 19 / 21 / 23(ミュート制御) |
実際の配線図(Raspberry Pi 5の40ピンヘッダーの物理配置に基づく)はこちらです。
実際の配線の様子は、組み立てが進む③・④でそれぞれ紹介します。
まとめ・次回予告
本記事では、第一子の誕生をきっかけに見守りロボットを作ろうと思い立った経緯と、Claude Codeを使った設計の進め方、確定したアーキテクチャ(ソフトウェア構成・ハードウェアBOM・配線設計)をまとめました。
次回は、実際に部品を発注してRaspberry Pi 5の初期セットアップを進めます → 次回: 組み立て準備編
子どもが寝ている隙間時間でちまちま進めている工作ですが、続報をまた書きます。
参考
- 本プロジェクトは個人のPoCであり、実際の乳児の安全監視を代替するものではありません
- 使用モデル: Claude Code / Sonnet系(実装・デバッグ全般)、Claude Haiku(画像判定)、Claude Opus(アーキテクチャレビュー)












