DesignSpark Electrical Logolinkedin
Menu 検索
フォーラムで質問

認知症患者と高齢者のための医療追跡システム(パート1) – Hexiwearを試す

PART 2はこちら

昨今のテクノロジーの進歩は目覚ましいものがあります。 特にヘルスケア端末の発展は著しく、健康トラッカ、 大気汚染モニタ、 睡眠質モニタ、グルコースモニタ、 外出先用心電図(ECD)モニタ、脳波記録(EEG)データリーダなど様々な機器がウェアラブル端末として発表されてきました。 かつては病院でのみ使用されてきたこれらの器具が、日常生活の中で身に着けて使うことができるようになりました。

今回の記事では、このようなヘルスケアウェアラブル端末を、DesignSparkプレゼントキャンペーンでもらった  Hexiwear (923-6084) を使って構築してみいと思います。

なぜ健康チェック機器が必要なの?

ヘルスケア管理システムには多くの用途がありますが、今回はそのいくつかについてのみ言及します。人の心拍を記録するマシンがあるとしましょう。このデータは、人の心臓に関する非常に重要な情報を記録し、重大な病気の発生を未然に予測することができます。ほかに、認知症患者や高齢者について考えてみましょう。彼らは無自覚な危険と隣り合わせにいます。徘徊で迷子や事故にあってしまったり、病気の症状に気付きにくかったりします。このような場合、彼らの徘徊や異常行動を検出して緊急サービスに知らせることができるシステムがあれば、迅速に対処することができるでしょう。 今回はこのような緊急連絡に使える追跡システム端末の作成に挑戦してみたいと思います。

Hexiwearってなに?

今回自作に使用した マイクロエレクトロニカ(MikroElektronika)社製のHexiwearはKickstarter発のオープンソースウェアラブル端末です。3軸加速度、3軸ジャイロ、圧力、心拍数などのセンサを搭載しています。NXP社のARM Kinetis K64x MCUで動作しています。ほかの機器とはBluetooth Low Energyで接続でき、1.1"フルカラーOLEDディスプレイも搭載しています。この機器はプロトタイプを短時間で作成することができます。Hexiwearのウェブページでぜひ詳細をチェックしてみてください。

Hexiwear Block Diagram

Hexiwearのハード概要 – 参照元: Hexiwear - MikroElektronika

 

どのように動作するの?

追跡システムは、患者が気絶すると、緊急サービスに位置情報を知らせます。まず、微かなものを検出する必要があります。MedicineNetによると、心臓のリズムの変化は、失神(失神)の最も一般的な原因です。Hexiwear心拍数を測るセンサがついています。しかし、指先で測るもののたのため、複雑なアルゴリズムが必要になります。私は心拍数で検出するのは不可能だと感じたため、動作で検出することにしました。Hexiwearのジャイロセンサと加速度センサを使って、動きを検出します。動きのない状態から急に変化があったとき、気絶したと考えられますHexiwearで緊急サービスに通知する機能を追加する必要があります。これはBluetooth Low Energyでスマートフォンと接続させます。Hexiwearからの信号を受け取ったら、GPS情報を緊急サービスや、反応できる人間に送信するというAndroid用プログラムを書きます。薬のリマインダ、緊急ボタン、有効/無効のオプションなどを追加することで、プログラムを向上させることができます。

では作ってみましょう :)

Hexiwearはmbed互換のプラットフォームなのでプログラムが簡単です。また、クラウドベースなので、開発環境をダウンロードする必要はありません。mbed Hexiwear Code Repositoryには、様々な参考コードがあります。シリアルポートプログラムをダウンロードして修正しました。習慣として、デバッグの目的でシリアルポートを実装しています。 システムが正常に動作している場合は、取り外します。

Main関数-serial.c-

main関数には、シリアルポート経由でprintfコマンドを使いデータを送信し、RGB LEDの状態を変更プログラムです。私のGitHubページでは、プログラムや他のソースを見つけることができ、このプログラムはserial.cとして保存されています。 このコードの結果は次のとおりです。 


Hexiwear LEDは点滅し、serialで文章を送信.

では次の段階に行きましょう。気絶を検出します。心拍数を取得するのは正確ではないので ジャイロセンサと加速度センサを使います。今回は健康管理システムのメリットに焦点を当てています。 気絶したかどうかの結果は研究とテストを必要とするので、私は初期の落下検出システムを構築します。 トピックに興味がある場合は、研究論文[3-5]でチェックすることができます。 まず、計算を簡単にし、精度を上げるためにHexiwearを修正する必要があります。 アルゴリズムは加速度センサとジャイロセンサのデータを測定し、RMS値を計算します。 しきい値を超えると、デバイスの落下とみなします。 その数秒後、Hexiwearは動作を再度確認します。 一定の結果が得られれば、状況は気絶とみなされます。

私はHexiwearを手首に取り付けようと考えていましたが、計算がずっと難しくなったので、再度Hexiwearを修正する必要があります。コードでどうやって行うことができるのかを考えてみましょう。 最初は、加速度センサとジャイロセンサにそれぞれライブラリファイルFXOS8700.hとFXAS21002.hを追加します。 次に、ジャイロセンサと加速度センサのデータを測定するスレッドを作成する必要があります。 RMS値は、収集されたデータの平方の算術平均の平方根によって容易に計算することができます。 微妙な部分は、気絶検出用のしきい値です。 それを計算するために、私は歩いている間にいくつかの測定を行い、Hexiwearを私のベルトに固定して座っていました。 私はまた、テーブル上で、Hexiwearが安定していたときと、地上50〜60cmから落ちていたときのデータも収集しました。

加速度センサとジャイロセンサの値

加速度センサとジャイロセンサの落下時の値

上図より、通常時は加速度が0.75 m/s2以内で、ジャイロが30 °/s付近にあります。しかし、そうでないとき、加速度は1.32 まで行き、またジャイロは3ケタになりました。なので、加速度のリミットを1、ジャイロのリミットを100にしました。これらの値は通常時からは程遠いので、簡単に気絶を検知できます。測定データがリミットよりも大きくなると、プログラムは5秒間待機し、動きのない状態をチェックします。もし、動きがあったときは誤検出とし、動きがなかったときは気絶と判断します。

faintDetection.c

このプログラム(faintDetection.c)はリンクからダウンロードできます。またGitHubに収集したデータも置いておきます。これはDesignSpark Test Driveの健康チェック機器製作のパート1です 次のパートではBLEの部分とディスプレイに表示させるための様々な機能を追加していきます。


参考:

1 - Fainting (Syncope)

2 - Heart Rate Inaccuracy

3 - Detecting Human Falls with a 3-Axis Digital Accelerometer

4 - On Developing a Real-Time Fall Detecting and Protecting System Using Mobile Device

5 - Detecting Falls with Wearable Sensors Using Machine Learning Techniques

 

 

Mehmet is an Embedded Systems Engineer and he loves to play with new boards(toys). He is looking for PhD opportunities. Lately, he has created a website mehmetbozdal.com where he shares his knowledge and postgraduate experience.

16 Mar 2017, 6:37