United Statesからアクセスされていますが、言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

手が離せない用事があるが、家にいる赤ちゃんが心配。

このような状況でも、赤ちゃんの安全をモニタリングでき、安心感を与えてくれるロボットを開発しました。

まずは動画を御覧ください。

  

 

開発背景:

このシステムの開発背景には,共働き夫婦において家事の負担軽減が求められていることにあります.それにより,現在,赤ちゃんやペットの様子を見守るカメラの普及が進んでいます.​見守りカメラは,別室にいる赤ちゃんやペットの様子を確認できるため,親が家事をしながら安心して見守ることが可能です.特に,赤ちゃんやペットの泣き声や室温の変化を検知する機能や,寝返り時のアラート機能が搭載されている機種もあり,育児の効率化と安全性を高めています.

しかし,既存の見守りカメラは固定されているため,赤ちゃんやペットが柵内にいることが前提となっています.​その他,固定されていることにより,カメラに死角が存在し,それを解消できない,見守り以外の機能が乏しい,などの課題があります.​

目的:

そこで,ロボットを作成し,そこにカメラをマウントすることで,既存の監視カメラでは実現できていない,並進移動によるカメラアングル調整を可能とします.また,より多彩な映像を提供することで,思い出の保存としての機能を強めます.

システムの概要:

本システムは,次のような構成で作られています.

カメラ映像のストリーミング:

本システムでは,見守り機能のコアとして映像と音声のストリーミング機能を実装しています.今回はAndroidアプリ開発時に標準機能のみで再生できるという利点があるHTTP Live Streaming(HLS)を採用することとしました.

初期の実装では,カメラとしてRaspberry Pi Camera V2を使用して,USB接続のマイクから取得した音声と合成してストリーミングする予定でしたが,Raspberry Pi OSでカメラを使用するためのライブラリが変更された影響で動作させることができませんでした.そのため、急遽使用するカメラをUSBカメラに変更することで実装することにしました.

ストリーミング部のシステムは下図のような構成となっています.

カメラからの映像と音声を合成し,ストリーミング可能な形式にするためにエンコーダーによって変換します.Webサーバーが公開しているディレクトリに変換結果を保存することでAndroidアプリからアクセスしストリーミングを受けることができる。

アプリケーション:

本システムのアプリケーション部分は、Android Studioを使用して開発されました。以下に、主要な機能とその実装について説明します。

概要:

このアプリケーションでは、Raspberry Piからストリーミングされる映像を表示し、ロボットの移動を制御します。ユーザーはアプリ上のボタンを使って、ロボットを前進、後退、右旋回、左旋回させることができます。また、ストリーミング映像のスクリーンショットを撮る機能も備えています。下の図にあるよう、Httpリクエストを用いて、Raspiとの通信を行っております。

 

映像のストリーミング表示:

アプリケーションは、Raspberry PiからHTTP Live Streaming(HLS)形式で送信される映像を表示します。VideoViewを使用して、ストリーミング映像を再生します。

ロボットの移動制御:

ユーザーがボタンを押すことで、Raspberry PiにHTTPリクエストを送信し、ロボットの移動を制御します。ボタンのタッチリスナーを設定し、押下時と離した時の動作をそれぞれ設定します。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2024-07-07_104958_23bfb26ced7b0e6b18f37f7926cb0421c7ea473b.png

ロボットの作成:

アプリケーションから前進,後進,右旋回,左旋回の制御命令が送られた際,命令に対応するようにタイヤを回転させます.今回はDRV8830 I2Cモータドライバモジュールを2つ使用しました.

2つのモータドライバのI2Cアドレスを分けるため,モジュールの基盤のハンダ・ジャンパを適切に,短絡または開放します.今回は図のようにしました.

次に,ラズパイの方で,モータドライバのアドレスを確認します.モータドライバのデータシート中にある,ハンダジャンパとアドレスの対応表を見ることでも確認できますが,こちらの方が楽ですし,確実であると思います.

その次に,モータドライバの制御命令ビットの確認をします.DRV8830は8ビットで命令をしており,上位6ビットで出力電圧(これは回転速度に直結します),下位2ビットで,正転,逆転,無負荷,ブレーキの命令をしています.

最後に2つのモータドライバへの命令を組み合わせて,前進,後進,右旋回,左旋回させます.コメントアウトが英語・日本語が混在していしまっていますがご容赦ください.

今後の展望:

ストリーミングの遅延を減らすためにストリーミング方式の変更を検討しています。また、赤ちゃんやペットの行動をより詳細に記録し、育児やペットケアの支援に役立てるための機能追加も計画しています。

この「mamorin」システムは、家事の負担軽減と安心感を提供し、共働き夫婦やペットオーナーにとって欠かせない存在となることを目指しています。

rk1112 さんはまだ自己紹介を入力されていません...

コメント