転倒判定システム、転倒判定方法、および転倒判定プログラム
【課題】人の転倒を転倒動作パターン等に拘わらず高い精度で検知する。
【解決手段】人の体幹に取り付けられ、該体幹の鉛直方向の変位量に応じた値を出力するセンサと、第1の時間分のセンサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定手段と、選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、センサの出力値を用いて演算する候補変位量演算手段と、演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出手段と、算出された転倒変位量に基づいて人の転倒を判定する転倒判定手段とを備えた転倒判定システムを提供する。
【解決手段】人の体幹に取り付けられ、該体幹の鉛直方向の変位量に応じた値を出力するセンサと、第1の時間分のセンサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定手段と、選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、センサの出力値を用いて演算する候補変位量演算手段と、演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出手段と、算出された転倒変位量に基づいて人の転倒を判定する転倒判定手段とを備えた転倒判定システムを提供する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、人の転倒を判定する転倒判定システム、転倒判定方法、および転倒判定プログラムに関する。
【背景技術】
【0002】
近年、高齢者の増加に伴い、高齢者それぞれの事情に合わせて在宅介護、老人福祉施設等への入所、一人暮らしの高齢者および高齢者世帯がそれぞれ増えてきている。何れの場合でも、家族又は介護者等が常に付き添うことが困難な状況にある。従って、付き添い者等が側にいない時に急な発作等で高齢者が転倒した場合、家族又は介護者等がそれを検知していち早く通報するシステムが必要とされている。このようなシステムの一例として、転倒する虞のある高齢者等の体幹に装着された装置を用いて転倒を検出し、家族又は介護者等に通知するものが下記特許文献1に開示されている。
【0003】
下記特許文献1のシステムでは、高齢者の体幹に取り付けられた装置が、高齢者の動きに伴う振動を測定する。そして、この測定値が第1の閾値以上となった時点で高齢者が転倒した疑いがあると判定し、更にその直後に、第1の閾値よりも低い第2の閾値以下の測定値が所定時間継続した場合、高齢者が転倒していると判定して介護者宛に警報信号を送信するよう構成されている。
【0004】
しかし、下記特許文献1のシステムでは、振動のみを指標として検出するため、転倒による振動なのか他の動き(寝転ぶ等)による振動なのかを判定することができない不都合がある。また、高齢者が転倒直後に床等に倒れた状態で動いた場合には、装置がその動きに応じた振動を測定してしまう。このとき装置が、転倒疑い判定後から所定時間が経過する以前に第2の閾値を超える振動を測定し、高齢者が転倒したことを検知しない可能性がある。
【0005】
また、振動以外を指標とすることで下記特許文献1のシステムよりも高い精度で転倒判定するシステムが例えば下記特許文献2や3に開示されている。これらのシステムにおいては、互いに直交する3軸方向の加速度および3軸周りの角速度を検出するセンサを搭載した装置を高齢者の体幹に装着する。そして、加速度センサが検知する加速度が第1の閾値を超えた時点で転倒と疑わしい事象が発生したと判定する。次いで、その時点の加速度および角速度センサの出力値を用いて高齢者の体幹の鉛直方向の変位量(以下、「鉛直変位量」という)を算出し、算出された鉛直変位量が第2の閾値以上であれば、高齢者の体勢が通常ではあり得ないほど大きく崩れており、高齢者が転倒していると判定して介護者に通知するよう構成されている。
【特許文献1】特開平9−305875号公報
【特許文献2】特開2006−227752号公報
【特許文献3】特開2005−237576号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上記特許文献2や3のシステムは、単純な転倒(例えば歩行状態からつまずくこともなくそのまま床に転倒するケース)に関しては比較的正確に判定することが可能である。ところが、転倒の際の人の動きには個人差があり、また、転倒時の状況に応じて様々な転倒動作パターンがあって、実際には上記のような単純な転倒に留まらないことが多々ある。従って、上記特許文献2や3のシステムでは、高齢者が実際に転倒した場合であっても、転倒動作パターンによっては高齢者の転倒を検知できない可能性がある。
【0007】
例えば高齢者が転倒の契機となる動きの後に(例えばつまずいた後等に)床に転倒したとする。この場合、センサが検出する、つまずいた時点の加速度が所定の閾値以上であれば、その加速度を用いて鉛直変位量が算出される。しかし、このとき算出される鉛直変位量はつまずき時の変位量に対応する低い値(第2の閾値を下回る値)である可能性が高いため、高齢者が転倒したことを装置が検知しないことがある。また、つまずいた後の低い姿勢から床等に転倒するまでの鉛直変位量も第2の閾値を下回る可能性が高く、上記と同様に、高齢者が転倒したことを装置が検知しないことがある。また、転倒が検知された場合であっても、つまずいた時刻と転倒した時刻が実際には異なる不都合がある。このため、より精度の高い転倒判定システムの提供が望まれている。
【0008】
そこで、本発明は上記の事情に鑑みて、高齢者の転倒を転倒動作パターン等に拘わらず高い精度で検知することが可能な転倒判定システム、転倒判定方法、および転倒判定プログラムを提供することを課題としている。
【課題を解決するための手段】
【0009】
上記の課題を解決する本発明の一態様に係る転倒判定システムは、人の転倒を判定するシステムであって、人の体幹に取り付けられ、該体幹の鉛直方向の変位量に応じた値を出力するセンサと、第1の時間分のセンサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定手段と、選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、センサの出力値を用いて演算する候補変位量演算手段と、演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出手段と、算出された転倒変位量に基づいて人の転倒を判定する転倒判定手段と、を備えたことを特徴としたシステムである。
【0010】
このように構成された転倒判定システムによれば、転倒時の動作に関係し得る出力データに対応した候補変位量を求め、求められた候補変位量の中から実際の転倒時の動作を表現する可能性の高い候補変位量のみを用いて転倒変位量を算出し、算出された転倒変位量に基づいて転倒判定を行うことができる。すなわち最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できる。このため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。
【0011】
ここで、転倒判定システムは、センサの出力に基づいて、転倒と疑わしい事象が発生したか否かを判定する転倒疑い判定手段を更に備える構成であることが望ましい。この場合、候補選定手段は、転倒疑い判定手段により該事象発生が検知されてから第1の時間分の出力値を対象に転倒候補データを選定することとなる。
【0012】
また、転倒判定システムは、センサの出力値の誤差を推定して補正値を算出する補正値算出手段と、該算出された補正値に基づいて転倒変位量を補正する補正手段とを更に備える構成であることも望ましい。
【0013】
また、上記補正値算出手段は、転倒と疑わしい事象発生直前の第2の所定時間分の出力値に基づいて補正値を算出するように構成されてもよい。
【0014】
上記補正手段は、補正値算出手段により算出された補正値に基づいて転倒変位量を補正するためのオフセット値を算出するオフセット値算出手段を含む構成としてもよい。
【0015】
また、上記転倒判定システムにおいて第1の条件は、例えば第1の閾値以上の出力値を有することである。
【0016】
上記候補変位量演算手段は、例えば第1の時間分の出力値を転倒候補データ毎に区切り、各区間の出力値群を用いて候補変位量を演算するよう構成される。
【0017】
また、上記候補変位量演算手段は、例えば各転倒候補データ前後の所定時間分の出力値群を用いて、各転倒候補データに対応する候補変位量を演算するよう構成される。
【0018】
また、上記候補変位量演算手段は、例えば各転倒候補データの前後に近接し且つ第1の閾値よりも低い第2の閾値以下の2つの出力値間の出力値群を用いて、各転倒候補データに対応する候補変位量を演算するよう構成される。
【0019】
また、上記候補変位量演算手段は、複数の出力値群が互いに重複する期間の出力値を含むか否かを判定し、重複する期間の出力値を含むと判定した場合に、該複数の出力値群を単一の出力値群にマージすることができる。
【0020】
ここで、上上記転倒判定システムにおいて第2の条件は、例えば第3の閾値以上の値を有することである。
【0021】
また、転倒変位量算出手段は、第2の条件を満たす候補変位量のみを加算して転倒変位量を算出する構成としても良い。
【0022】
センサは例えば加速度センサ又は躍度センサを含む構成である。この場合、転倒疑い判定手段が加速度センサ又は躍度センサの出力を監視して、所定の閾値以上の出力値を検知した時点で転倒と疑わしい事象が発生したと判定し、候補変位量演算手段が、加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算することとなる。
【0023】
また、センサは例えば角速度センサを更に含む構成である。この場合、候補変位量演算手段が角速度センサの出力値を用いて、加速度センサ又は躍度センサの出力値のベクトルを所定の静的な座標系に対応するよう変換し、変換後の加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算することとなる。
【0024】
また、転倒判定システムは、転倒変位量算出手段が算出した転倒変位量を補正するか否か選択する補正選択手段と、転倒変位量を補正するよう選択された場合に、所定の補正値を用いて当該転倒変位量を補正する補正手段とを更に備えた構成としても良い。
【0025】
また、転倒判定システムは、転倒判定手段により該人が転倒したと判定された場合にその旨を通知する転倒通知手段を更に備えた構成であることが望ましい。
【0026】
ここで、転倒報知手段は、例えばアラートを表示可能なアラート表示手段、アラート音を出力するアラート音出力手段、所定の連絡先にアラートメッセージを送信するアラートメッセージ送信手段、の少なくとも1つを含み、転倒判定手段により人が転倒したと判定された場合に、アラート表示手段によるアラート表示、アラート音出力手段によるアラート音の出力、アラートメッセージ送信手段による所定の連絡先へのアラートメッセージの送信、の少なくとも1つを実行する構成としても良い。
【0027】
また、上記の課題を解決する本発明の一態様に係る転倒判定方法は、人の転倒を判定する方法であって、人の体幹に取り付けられたセンサが、該体幹の鉛直方向の変位量に応じた値を出力するセンサ出力ステップと、第1の時間分のセンサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定ステップと、選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、センサの出力値を用いて演算する候補変位量演算ステップと、演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出ステップと、算出された転倒変位量に基づいて人の転倒を判定する転倒判定ステップと、を含む方法である。
【0028】
このような転倒判定方法によれば、転倒時の動作に関係し得る出力データに対応した候補変位量が求められ、求められた候補変位量の中から実際の転倒時の動作を表現する可能性の高い候補変位量のみを用いて転倒変位量が算出され、算出された転倒変位量に基づいて転倒判定が行われる。すなわち本発明の転倒判定方法を適用した場合、最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できる。このため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。
【0029】
ここで、転倒判定方法は、センサの出力に基づいて、転倒と疑わしい事象が発生したか否かを判定する転倒疑い判定ステップを更に含む方法であることが望ましい。この場合、候補選定ステップにおいて、転倒疑い判定ステップで該事象発生が検知されてから第1の時間分の出力値を対象に転倒候補データを選定することとなる。
【0030】
また、転倒判定方法は、センサの出力値の誤差を推定して補正値を算出する補正値算出ステップと、該算出された補正値に基づいて転倒変位量を補正する補正ステップとを更に含む方法であることが望ましい。
【0031】
上記補正値算出ステップにおいては、転倒と疑わしい事象発生直前の第2の所定時間分の出力値に基づいて補正値を算出するようにしてもよい。
【0032】
上記補正ステップにおいては、補正値算出ステップで算出された補正値に基づいて転倒変位量を補正するためのオフセット値を算出するようにしてもよい。
【0033】
また、上記転倒判定方法において第1の条件は、例えば第1の閾値以上の出力値を有することである。
【0034】
また、上記候補変位量演算ステップにおいて、第1の時間分の出力値を転倒候補データ毎に区切り、各区間の出力値群を用いて候補変位量を演算するようにしても良い。
【0035】
また、上記候補変位量演算ステップにおいて、各転倒候補データ前後の所定時間分の出力値群を用いて、各転倒候補データに対応する候補変位量を演算するようにしても良い。
【0036】
また、上記候補変位量演算ステップにおいて、各転倒候補データの前後に近接し且つ第1の閾値よりも低い第2の閾値以下の2つの出力値間の出力値群を用いて、各転倒候補データに対応する候補変位量を演算するようにしても良い。
【0037】
また、上記候補変位量演算ステップにおいて、複数の出力値群が互いに重複する期間の出力値を含むか否かを判定し、重複する期間の出力値を含むと判定した場合に、該複数の出力値群を単一の出力値群にマージするようにしても良い。
【0038】
また、上記転倒判定方法において第2の条件は、例えば第3の閾値以上の値を有することである。
【0039】
また、転倒変位量算出ステップにおいて、第2の条件を満たす候補変位量のみを加算して転倒変位量を算出するようにしても良い。
【0040】
また、上記センサが加速度センサ又は躍度センサであり、転倒疑い判定ステップでは、加速度センサ又は躍度センサの出力を監視して、所定の閾値以上の出力値を検知した時点で転倒と疑わしい事象が発生したと判定し、候補変位量演算ステップでは、加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算するようにしても良い。
【0041】
また、上記センサには角速度センサも含まれ、候補変位量演算ステップでは、角速度センサの出力値を用いて、加速度センサ又は躍度センサの出力値のベクトルを所定の静的な座標系に対応するよう変換し、変換後の加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算するようにしても良い。
【0042】
また、上記転倒判定方法は、転倒変位量算出ステップで算出された転倒変位量を補正するか否か選択する補正選択ステップと、転倒変位量を補正するよう選択された場合に、所定の補正値を用いて当該転倒変位量を補正する補正ステップとを更に含む方法としても良い。
【0043】
また、上記転倒判定方法は、転倒判定ステップにおいて該人が転倒したと判定された場合にその旨を通知する転倒通知ステップを更に含む方法であることが望ましい。
【0044】
ここで、上記転倒報知ステップでは、転倒判定ステップにおいて人が転倒したと判定された場合に、ディスプレイ上にアラート表示すること、スピーカでアラート音を出力すること、ネットワーク経由で所定の連絡先にアラートメッセージを送信すること、の少なくとも1つを実行するようにしても良い。
【0045】
また、上記の課題を解決する本発明の一態様に係る転倒判定プログラムは、上記転倒判定方法をコンピュータに実行させるためのプログラムである。
【0046】
このような転倒判定プログラムによれば、転倒時の動作に関係し得る出力データに対応した候補変位量が求められ、求められた候補変位量の中から実際の転倒時の動作を表現する可能性の高い候補変位量のみを用いて転倒変位量が算出され、算出された転倒変位量に基づいて転倒判定が行われる。すなわち本発明の転倒判定プログラムを適用した場合、最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できる。このため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。
【発明の効果】
【0047】
本発明の転倒判定システム、転倒判定方法、および転倒判定プログラムによれば、転倒時の動作に関係し得る出力データに対応した候補変位量が求められ、求められた候補変位量の中から実際の転倒時の動作を表現する可能性の高い候補変位量のみを用いて転倒変位量が算出され、算出された転倒変位量に基づいて転倒判定が行われる。すなわち本発明の転倒判定プログラムを適用した場合、最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できる。このため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。
【発明を実施するための最良の形態】
【0048】
以下、図面を参照して、本発明の実施の形態について説明する。
【0049】
図1は、本発明の実施の形態の転倒判定システム1の構成を示すブロック図である。転倒判定システム1は、図1に示されるようにデータ収集装置100と転倒判定装置200を備える。データ収集装置100は高齢者の転倒を判定するためのデータを収集して転倒判定装置200に送信する。そして、転倒判定装置200は受信したデータを用いて転倒判定を行い、転倒と判定した場合にはその通知を家族又は介護者(看護士等)宛に送信する。以下、データ収集装置100と転倒判定装置200の構成および作用について詳説する。
【0050】
データ収集装置100は、図示しない取付部によって高齢者の体幹に取り付けられた状態で使用される。データ収集装置100には、装置全体の制御を統括的に実行するCPU(Central Processing Unit)103が備えられる。
【0051】
CPU103にはバス121を介して各構成要素が接続される。CPU103は、バス121を介するデータ通信を行って各構成要素とやり取りすることにより各種機能を実現する。これらの構成要素には、RAM(Random Access Memory)105、加速度センサ107、角速度センサ109、RTC(Real Time Clock)111、ROM(Read Only Memory)113、A/D変換部115、データ送受信部117がある。なお、バス121はデータラインの他に電源ラインも備える。電源部119は電源ラインにより各構成要素に電源供給を行う。また、RTC111はバッテリバックアップで駆動しており、電源オフ時にも常に計時を行う。
【0052】
加速度センサ107は例えば圧電素子を備えたタイプである。当該圧電素子は加速度センサ107自体にかかる加速度に応じた量だけ歪み、このときに圧電効果で発生する電圧が、加速度を表すアナログ信号(以下、「加速度アナログ信号」と略記、他の信号についても同様に略記する)として出力される。加速度センサ107は互いに直交する3軸(x、y、zの3軸)方向に対応した圧電素子を備え、3軸方向の加速度アナログ信号を出力する。
【0053】
また、角速度センサ109も例えば圧電素子を備えたタイプであり、角速度センサ109自体の角速度に応じて発生する電圧を角速度アナログ信号として出力する。角速度センサ109は上記3軸と同軸周り(ロール角φ、ピッチ角θ、ヨー角Ψ)に対応した圧電素子を備え、当該3軸周りの角速度アナログ信号を出力する。
【0054】
なお、加速度センサ107の3次元直交座標系は取付状態や高齢者の動き(より正確には加速度センサ107自体の向き)に応じて変化する。このため、重力方向をZ軸とする静的な3次元直交座標系と必ずしも一致しない。また、本明細書では加速度センサ107の3次元直交座標系を(x、y、z)、静的な3次元直交座標系を(X、Y、Z)と表現して明確に区別する。ここでいう「静的」とは、加速度センサ107の3次元直交座標系、すなわち加速度センサ107自体の向きの変化に応じて動く座標系と区別するために便宜上付した文言である。
【0055】
また、加速度センサ107と角速度センサ109はデータ収集装置100のハウジングで相対的に固定された状態にある。従って、その相対位置関係がデータ収集装置100の取付状態や高齢者の動きに依存することはなく、ロール角φ、ピッチ角θ、ヨー角Ψは、常に、x、y、z軸と同軸周りの角度となる。以下の説明では、小文字(x、y、z)が付されるパラメータは加速度センサ107の3次元直交座標系に対応し、大文字(X、Y、Z)が付されるパラメータは静的な3次元直交座標系に対応するパラメータとする。
【0056】
データ収集装置100は、電源オン時には、高齢者の転倒を判定するためのデータを常に収集している。ここで、図2に、当該データを収集するためにデータ収集装置100で実行されるデータ収集処理のフローチャートを示す。
【0057】
図2に示されるように、加速度センサ107、角速度センサ109がそれぞれ、高齢者の動きに応じた加速度アナログ信号、角速度アナログ信号を生成してA/D変換部115に出力する(ステップ1、以下、明細書及び図面においてステップを「S」と略記)。次いでA/D変換部115が、入力した加速度アナログ信号、角速度アナログ信号を所定のサンプリング周期でサンプリングし量子化して加速度デジタル信号、角速度デジタル信号に変換し、CPU103に渡す(S2)。
【0058】
CPU103は、加速度デジタル信号および角速度デジタル信号を受け取ると、RTC111が計時する時刻データを取得する(或いは当該時刻データを常時取得している)。そして、受け取った加速度デジタル信号、角速度デジタル信号、およびそれらのデジタル信号を受け取った時刻データのセット(以下、「判定用データセット」という)をRAM105に書き込む(S3)。
【0059】
上記一連の動作(すなわち加速度アナログ信号等の取得、A/D変換、判定用データセットの作成および書き込み)は電源オン時に常に実行されるため、RAM105には、加速度および角速度の情報が所定のサンプリング周期で書き込まれることとなる。しかし、RAM105の容量は有限であるため判定用データセットを書き込み続けることはできない。新しいデータを書き込むためには不必要なデータを定期的に削除する必要がある。
【0060】
本実施形態ではCPU103がメモリ管理を行い、例えばim個の判定用データセットがRAM105に記憶された時点で所定数の判定用データセットを消去する。具体的には、CPU103は各判定用データセットの時刻データを参照して、im個の判定用データセットの中で古いと判断される所定数の判定用データセットを優先的に消去する。これにより、数ブロック又は数セグメントの記憶領域が開放され、新たな判定用データセットを書き込み可能となる。
【0061】
判定用データセットの記憶数が一旦imに達すると、以降は、記憶領域の解放とデータ書き込みが繰り返し実行される。よって、RAM105は、最新の判定用データセットであって、少なくとも数秒間分の判定用データセットを常に保持した状態となる。数秒間分に相当する判定用データセットのサンプリング数は、後述する図5の転倒判定処理を実行するのに必要とされる最低限の数を上回る。なお、RAM105は揮発性メモリであるため、電源がオフされるとその内容も失われる。
【0062】
次に、転倒と疑わしい事象の発生を検知する転倒疑い検知処理について説明する。転倒疑い検知処理は、CPU103がROM113に記憶された転倒疑い検知プログラムをRAM105のワークエリアに展開して実行する処理である。
【0063】
図3に、転倒疑い検知処理のフローチャートを示す。なお、例えばCPU103と独立した専用ICが、単独又はCPU103と連係して図3の転倒疑い検知処理を実行する構成であっても良い。
【0064】
転倒疑い検知処理は、転倒判定装置200の電源がオンしている場合に限り、図2のデータ収集処理と並行して実行される(すなわち転倒疑い検知プログラムは常駐状態にある)。図3に示されるように、CPU103は電源オンと共に、A/D変換部115からの加速度デジタル信号値の絶対値(以下、「加速度絶対値」という)を監視して(S5)、加速度絶対値が閾値q以上か否かを判定する(S6)。
【0065】
CPU103は、加速度絶対値が閾値q以上と判定した場合(S6:YES)、通常動作(歩行等)では検知することが希な大きな加速度が検知されて転倒の疑いのある事象が発生したことからS7に処理を進める。そしてS7の処理において、閾値q以上と判定した加速度絶対値に対応する判定用データセット(以下、「転倒疑いデータセット」という)を中心とした前後数秒間(例えば前後5秒間)分の判定用データセット(以下、「判定用データセット群」という)を、データ送受信部117から転倒判定装置200に送信する。
【0066】
また、CPU103は、加速度絶対値が閾値qを下回ると判定した場合には(S6:NO)、高齢者の動きに大きな変化はなく転倒している可能性がないことからS5の処理に復帰し、加速度絶対値の監視を継続する。
【0067】
なお、データ送受信部117は例えばキャリアを判定用データセット群で変調して無線(又は有線)で送信する。データ収集装置100−転倒判定装置200間を無線通信可能に構成した場合、装置間がワイヤレスとなり、高齢者の行動範囲を制限しないメリットがある。
【0068】
S7の処理について説明を加える。S7の処理においてCPU103は、転倒疑いデータセット以前の判定用データセットに関してはRAM105から読み出して転倒判定装置200に送信する。一方で、転倒疑いデータセットがRAM105に記憶された時点では、転倒疑いデータセット以降の判定用データセットは存在しない。これらの判定用データセットに関して、CPU103は、新たな判定用データセットを記憶する毎に順次送信、或いは所定数蓄積した時点で一括して送信する。
【0069】
なお、CPU103は、S7の処理で送信すべき全ての判定用データセットを送信するまではS5の処理に復帰しない。従って、少なくとも転倒疑いデータセット以降の5秒間分の判定用データセットの加速度デジタル信号に閾値q以上のものが含まれていたとしても、それに対応する別の転倒疑いデータセット群をCPU103が送信することはない。
【0070】
ここで、図4(a)に、図3の転倒疑い検知処理をより具体的に説明するためのグラフを示す。グラフの縦軸はデータ収集装置100で取得される加速度絶対値を示し、横軸は時刻を示す。
【0071】
図4(a)の例によれば、時刻tu以前は、加速度絶対値は閾値qを下回り、高齢者の動作が通常動作(歩行等)であるとみなされる。時刻tuにおいて加速度絶対値が閾値q以上となり、CPU103は、その時点で初めて高齢者に転倒と疑わしい事象が発生したと検知する。そして、例えば時刻tuを中心とした前後5秒間分の判定用データセット(判定用データセット群)を転倒判定装置200に送信する。時刻tu以降に閾値q以上となる加速度絶対値が散見されるが、何れの値も時刻tuから5秒以内に含まれるものである。従って、図4(a)の例によれば、CPU103は、時刻tuの加速度絶対値に起因した判定用データセット群のみを転倒判定装置200に送信し、他の判定用データセット群を送信することはない。
【0072】
次に、転倒判定装置200について詳説する。転倒判定装置200はデータ収集装置100のホストとして機能する端末であり、主たる機能は高齢者の転倒判定と家族又は介護者等への通知である。
【0073】
図1に示されるように、転倒判定装置200には、装置全体の制御を統括的に実行するCPU203が備えられる。CPU203にはバス221を介して各構成要素が接続される。CPU203は、バス221を介するデータ通信を行って各構成要素とやり取りすることにより各種機能を実現する。これらの構成要素には、RAM205、ROM207、RTC211、ディスプレイ213、通信部215、データ送受信部217、およびスピーカ223がある。なお、バス221は既述のバス121と同様に、データラインの他に電源ラインも備える。電源部219は電源ラインにより各構成要素に電源供給を行う。RTC211もRTC111と同様にバッテリバックアップで駆動する。
【0074】
ROM207にも既述のROM113と同様に、CPU203がRAM205のワークエリアに展開して実行するプログラムが格納される。ROM207に格納されるプログラムには、転倒判定プログラム209a、鉛直変位量演算プログラム209b、オフセット量演算プログラム209c、通知判定プログラム209d、候補選出プログラム209e、および積分範囲決定プログラム209fがある。これらのプログラムは転倒判定装置200の電源がオンすると同時にRAM205に常駐し、図5のフローチャートに示される転倒判定処理を実行する。以下、図5の転倒判定処理について説明する。なお、本実施形態では、転倒判定プログラム209aによって転倒判定処理のメインルーチンが実行され、それ以外のプログラムによって各サブルーチンが実行される。
【0075】
本明細書では図4の転倒判定処理について複数の実施形態を記載する。先ず、本発明の第1の実施の形態(以下、「本実施例1」と記す、他の実施形態も同様に記す)について説明する。
【実施例1】
【0076】
図5に示されるように、CPU203は、判定用データセット群の受信待機状態にある(S11)。図3のS7の処理で送信された、データ収集装置100の送信データは、データ送受信部217が受信してキャリア復調する。データ送受信部217はキャリア復調で得た判定用データセット群をCPU203に渡す。CPU203は判定用データセット群を受け取ると(S11:YES)、RAM205に転送して書き込みを行う(S12)。判定用データセット群全てのデータ転送および書き込みが完了すると、処理はS13に進む。なお、ここでは判定用データセット群に含まれる判定用データセット数をimとして、以下の説明を行う。
【0077】
S13の処理は、転倒判定処理の一部をサブルーチン化したものであり、候補選出プログラム209eにより実行される。なお、S13の処理(および鉛直変位量演算プログラム209b、オフセット量演算プログラム209c、通知判定プログラム209d、および積分範囲決定プログラム209fによって実行される処理)はサブルーチン化された処理である必要がなく、転倒判定処理のメインルーチンで実行される処理であっても良い。また、転倒判定プログラム209a、鉛直変位量演算プログラム209b、オフセット量演算プログラム209c、通知判定プログラム209d、候補選出プログラム209e、および積分範囲決定プログラム209fは本実施形態のように別々のプログラムモジュールでなく、例えば単一或いはより細分化されたプログラムモジュールとして構成されたものであっても良い。
【0078】
図6に、図5のS13のサブルーチンを示す。図6のサブルーチンは、転倒を判定するためのパラメータとして、高齢者が比較的大きな動作をしたと思われる時刻を選出する。
【0079】
CPU203は、RAM205に書き込まれた各判定用データセットを参照して上記時刻の候補を算出する。そのために先ず、各パラメータの初期値を設定する(S21)。具体的には、CPU203は、参照数カウンタのカウント値i、候補数カウンタのカウント値nをそれぞれ、「0」、「1」にセットする。また、カウント値iの最大値i_maxとして「im」を設定する。これらのカウンタは例えばCPU203の内蔵カウンタである。参照数カウンタは、S13のサブルーチンで参照された判定用データセット数をカウントする。また、候補数カウンタは、上記時刻の候補の選出数をカウントする。
【0080】
CPU203は初期値設定に次いで、カウント値iを1インクリメントし(S22)、判定用データセット群の各判定用データセットを用いてS23の判定処理を実行する。ここで、CPU203は、判定用データセット群の各判定用データセットを「1」〜「im」のシリアルナンバで管理する。各判定用データセットには、作成順序に応じたシリアルナンバが割り当てられる。
【0081】
S23の処理においてCPU203は、カウント値iと一致するシリアルナンバで管理された判定用データセットの加速度絶対値Aiを参照し、その値が候補判定用閾値k以上か否かを判定する(S23)。例えばカウント値iが「1」の場合、CPU203は判定用データセット群の中の最も古い判定用データセットを用いてS23の処理を実行する。加速度絶対値Aiが候補判定用閾値kを下回る値である場合(S23:NO)、CPU203は、S22の処理に復帰してカウント値iを1インクリメントし、次の判定用データセットを用いてS23の処理を実行する。
【0082】
S23の処理において加速度絶対値Aiが候補判定用閾値k以上である場合(S23:YES)、CPU203は、現在の判定対象の判定用データセットに対応する時刻に高齢者が比較的大きな動作をしたと判断する。そして、当該データセットに含まれる時刻データを候補時刻データtknとして例えばRAM205に記録する(S24)。
【0083】
CPU203は候補時刻データtknを記録すると次いで、カウント値iが「im」か否かを判定する(S25)。CPU203は、カウント値iが「im」であると判定した場合(S25:YES)、RAM205に書き込まれた全ての判定用データセットを参照して図6のサブルーチンを実行したと判断し、図5のメインルーチンに復帰する。また、CPU203は、カウント値iが「im」でないと判定した場合(S25:NO)、図6のサブルーチンで未参照の判定用データセットが存在すると判断し、S22の処理に復帰して当該サブルーチンを繰り返す。
【0084】
なお、CPU203は、図6のサブルーチンにおいて候補時刻データtknを1つも得られなかった場合にはエラー処理を実行する。具体的には、図5の転倒判定処理を一旦リセットし(例えば判定用データセット群の消去等を実行)して、処理を図5のS11に戻す。すなわちCPU203は高齢者が転倒していないと判断して、データ受信待機状態に復帰する。
【0085】
図7に、図6のサブルーチンをより具体的に説明するための図を示す。図7上段のグラフは図4(a)と同様のグラフであり、説明符号としてポイントa、b、cが付されている。各ポイントは、当該グラフにおいて候補判定用閾値k以上の加速度絶対値Aiを有する領域を指す。また、図7下段のグラフは、各ポイント周辺の加速度絶対値Aiを抽出して示したグラフである。図7下段のグラフでは説明の便宜上、加速度絶対値Aiを他のグラフよりも低ビット数で量子化し、長い周期でサンプリングして示す。
【0086】
図7下段のグラフの例によれば、CPU203は、図6のサブルーチンにおいてポイントaで候補時刻データtk1、ポイントbで候補時刻データtk2、ポイントcで候補時刻データtk3、4の合計4つの候補時刻データを得る。以下、説明の便宜上、候補時刻データtk1、tk2、tk3、tk4が示す時刻のそれぞれを、候補時刻tk1、tk2、tk3、tk4と記す。
【0087】
また、図7上段のグラフからも明らかなように、時刻tu以前、加速度絶対値Aiは閾値qを下回り、候補判定用閾値k以上になり得ない。換言すると、転倒と疑わしい事象が発生する以前に加速度絶対値Aiが候補判定用閾値k以上になることはあり得ない。従って、別の実施の形態では、転倒疑いデータセット以降の判定用データセットについてのみ図6のサブルーチンを実行するようにしても良い。この場合、リソース節約や処理速度向上等の効果が期待される。
【0088】
図8に、図5のS14のサブルーチンを示す。図8のサブルーチンは、鉛直変位量演算プログラム209bにより実行される。図8のサブルーチンは、転倒を判定するためのパラメータとして高齢者の体幹の鉛直変位量Zを演算する変位量演算処理であり、演算した鉛直変位量Zを戻り値としてメインルーチンに返す。
【0089】
CPU203は、鉛直変位量Zを演算するために判定用データセット群を用いて積分処理を行う。そのためのパラメータとして先ず、図8に示されるように積分範囲を設定する(S31)。
【0090】
図9に、図8のS31のサブルーチンを示す。図9のサブルーチンは、積分範囲決定プログラム209fにより実行される。図9のサブルーチンは、図8のサブルーチンで用いる積分範囲を設定し、その設定値を図8のサブルーチンに返す。
【0091】
図9に示されるように、CPU203は初期値設定を行う(S51)。具体的には、内蔵カウンタのカウント値iを「1」にセットする。また、既述の処理で取得した候補時刻データの数nをカウント値iの最大値n_maxとして設定する。なお、ここでは図7の例に沿って説明する。従って、CPU203は、最大値n_maxとして「4」を設定する。
【0092】
CPU203はS51の処理に次いで、積分開始時刻と積分終了時刻の配列インデックスを作成し、当該インデックスのテーブル値を「1」にセットする(S52)。そして、候補時刻tkiに対応する積分開始時刻tdiおよび積分終了時刻tdi’のエントリを、現在のテーブル値に対応する配列インデックスに入力する(S53)。本実施例1では、積分開始時刻tdiとして候補時刻tk(i−1)、積分終了時刻tdi’として候補時刻tkiが入力される。
【0093】
また、CPU203は、転倒と疑わしい事象が発生した時刻(すなわち時刻tu)を候補時刻tk0として扱う。従って、例えばカウント値iが「1」の場合、積分開始時刻tdi、積分終了時刻tdi’のそれぞれのエントリは候補時刻tk0、tk1となる。
【0094】
CPU203はS53の処理に次いで、カウント値iが「4」すなわち最大値n_maxに達したか否かを判定する(S54)。カウント値iが「4」に達している場合には(S54:YES)、全ての候補時刻に対して図9のサブルーチンを実行したと判断し、図8のサブルーチンに復帰する。また、カウント値iが「4」未満の場合には(S54:NO)、図9のサブルーチンで配列インデックスのエントリが未入力の候補時刻が存在すると判断し、S55の処理を実行する。S55の処理においてCPU203は、カウント値iおよびテーブル値を1インクリメントし、S53の処理に復帰して当該サブルーチンを繰り返す。
【0095】
図9のサブルーチンにより、候補時刻tk1、tk2、tk3、tk4に対応する4セットの積分開始時刻と積分終了時刻が得られる。具体的には、各テーブルのエントリとして以下の時刻が得られる。なお、各テーブルにおいて前者が積分開始時刻tdiであり、後者が積分終了時刻tdi’である。
[テーブル1]・・・候補時刻tk0、tk1
[テーブル2]・・・候補時刻tk1、tk2
[テーブル3]・・・候補時刻tk2、tk3
[テーブル4]・・・候補時刻tk3、tk4
【0096】
CPU203は図9のサブルーチンから図8のサブルーチンに復帰すると、積分範囲をセットすると共にカウンタ(例えばCPU203の内蔵カウンタ)の値n、tをそれぞれ「1」、「tk(n―1)」にセットする(S32、33)。図9のサブルーチンからの復帰直後は、テーブル1の値を用いて積分範囲がセットされる。すなわちCPU203は、積分開始時刻、積分終了時刻をそれぞれtk0、tk1に設定すると共にカウント値n、tをそれぞれ「1」、「tk0」にセットする。
【0097】
CPU203は、積分範囲およびカウント値の設定を終えると次いで、以下の式(1)および(2)を用いて鉛直変位量Zを求める。先ず、S34の処理を実行して座標変換係数を求める。座標変換係数とは、加速度デジタル信号の各ベクトル(x、y、z軸方向の加速度成分であり、それぞれに「Ax」、「Ay」、「Az」を付す)を座標変換して静的な3次元直交座標系に一致させるための係数である。CPU203は、座標変換係数を得るために先ず、角速度デジタル信号の各成分(x、y、z軸周りの角速度)を時間積分してロール角φ、ピッチ角θ、ヨー角Ψを得る。次いで、得られたロール角φ、ピッチ角θ、ヨー角Ψの各値を回転変換行列Rφ、Rθ、RΨに与えて、座標計算係数Rott{φt、θt、Ψt}を算出する(式(1)参照)。
【数1】
【0098】
CPU203は座標変換係数を算出すると次いで、時刻tに得られた加速度デジタル信号のベクトル{Ax(t)、Ay(t)、Az(t)}を座標計算係数Rott{φt、θt、Ψt}で座標変換して、静的な3次元直交座標系に対応するベクトル{AX(t)、AY(t)、AZ(t)}を得る(S35)。これにより、Z軸に対応した、時刻tにおける高齢者の体幹の鉛直加速度AZ(t)が得られる(式(2)参照)。
【数2】
【0099】
S34および35の処理について具体的説明を加える。例えばカウンタのカウント値tがtk0である場合、S34の処理においてCPU203は、判定用データセット群の中から時刻tk0に対応する角速度デジタル信号を読み出して、その値を式(1)に与えて座標変換係数を得る。次いでS35の処理では、時刻tk0に対応する加速度デジタル信号を読み出して、得られた座標変換係数を式(2)に与えて鉛直加速度AZ(t)を得る。
【0100】
CPU203はS35の処理で得た鉛直加速度AZ(t)を時間で2階積分する。これにより、時刻tk0を始点とする時間Δtで変位した、高齢者の体幹の鉛直変位量Δdn(ここではΔd1)が求まる(S36)。算出された各鉛直変位量Δd1は例えばRAM205に保持される。なお、Δtは、判定用データセットのサンプリング周期に対応する値である。
【0101】
CPU203は、算出した鉛直変位量Δd1を鉛直変位量d1に加算して(S37)、S38の処理に進む。次いで、現在のカウント値tがtkn(ここではtk1)である場合、積分範囲の全ての鉛直変位量Δd1を算出して鉛直変位量d1を得たと判断し(S38:YES)、当該鉛直変位量d1をテーブル1に入力する。次いで、処理をS39に進める。
【0102】
また、S38の処理においてCPU203は、カウント値tがtk1でない場合には積分が完了していないと判断して(S38:NO)カウント値tをカウントアップし(S41)、S34の処理に復帰してサブルーチンを繰り返す。なお、カウントアップする値はΔtに対応する値である。従って、S34および35の処理で参照される判定用データセットは、カウントアップされる毎に次の判定用データセットに移る。
【0103】
S39の処理においてCPU203は、配列インデックス中を検索して、鉛直変位量dnが未入力のテーブルが存在するか否かを判定する。未入力のテーブルが存在する場合には(S39:YES)、カウント値nを1インクリメントし(S40)、S33の処理に復帰してサブルーチンを繰り返す。また、全てのテーブルで鉛直変位量dnが入力されている場合には(S39:NO)、CPU203は、サブルーチンの繰り返しにより全ての鉛直変位量dnを算出したと判断し、S42の処理に進む。ここでの例によれば、CPU203は、4つの変位量d1、d2、d3、d4を算出する。
【0104】
次いで、CPU203は、算出された鉛直変位量の各々が閾値d_th’以上の値を有するか否かを判定する(S42)。そして、閾値d_th’以上の鉛直変位量を検出した場合、検出された鉛直変位量を加算して鉛直変位量Zを得る(S43)。CPU203は、算出した鉛直変位量Zを図4のメインルーチンに返す。なお、S42の処理において何れの鉛直変位量も閾値d_th’を下回る場合、CPU203は図5のサブルーチンと同様にエラー処理を実行する。
【0105】
ここでは、例えば鉛直変位量d3とd4が閾値d_th’以上の値を有するものとする。この場合、S43の処理において鉛直変位量d3とd4が加算され、鉛直変位量Zが得られる。換言すると、鉛直変位量d1とd2は閾値d_th’を下回る。これは、鉛直変位量d1とd2に対応する動作が高齢者の転倒とは無関係な動作であることを意味する。
【0106】
例えば高齢者がつまずいたり物にぶつかったりして衝撃を受けた場合、高齢者の体幹が瞬間的に大きく動くため、加速度センサ107が比較的大きな値を出力する。そしてこの出力に基づいて、転倒判定装置200で鉛直変位量d1やd2等が検出される。しかし、つまずきや衝撃によっては体幹自体の実際の変位量が小さい場合もある。この場合、高齢者が体勢を正して通常動作できる状態に戻る可能性が高い。すなわち比較的小さなつまずきや衝撃は、転倒時の一連の動作に含まれない、転倒とは無関係な動作になる可能性が高い。
【0107】
そこで、本実施例1においては、鉛直変位量d1やd2等のような比較的小さな変位量を転倒動作と無関係であるとみなし、S43の処理で鉛直変位量Zを算出する際に加算しない。S43の処理で加算される鉛直変位量は、転倒時の一連の動作に含まれる可能性の高い、比較的大きな鉛直変位量d3とd4のみである。鉛直変位量d3やd4は、転倒に結びつく程度の比較的大きなつまずきや衝撃、或いは転倒そのものである可能性が高い。
【0108】
CPU203は、図8のサブルーチンから図5のメインルーチンに復帰すると、次にS15のオフセット値演算処理を実行する。このオフセット値演算処理も鉛直変位量演算プログラム209bと同様にサブルーチン化されており、オフセット量演算プログラム209cにより実行される。
【0109】
図10に、オフセット値演算処理のサブルーチンを示す。図10のサブルーチンは、鉛直変位量Zに対するオフセット値Oを演算し、演算して得られたオフセット値Oを戻り値としてメインルーチンに返す。オフセット値Oを演算する理由には、例えば周辺環境や動作環境等の変化により発生する加速度センサ107等の誤差を考慮に入れて、より高精度な転倒判定を行うことが挙げられる。
【0110】
より詳細には、図10のサブルーチンは、図8のS35の処理の前後における周辺環境や動作環境等の変化に起因した加速度センサ107等の誤差を低減して鉛直変位量Zの算出精度向上や転倒判定の精度向上を達成(換言すると、後述のS17の処理で高齢者が実際に転倒していないにも拘わらず転倒したと誤判定する確率を低減)するために実行される。
【0111】
図10に示されるように、CPU203は、時刻tsからtuまでの各サンプリング時刻に対応する鉛直加速度AZ(t)を取得する(S61)。時刻tsは例えばtuから所定時間遡った時刻である。なお、鉛直加速度AZ(t)を求める方法は図8のS31〜S35の処理と同様であるため、ここでの説明を省略する。CPU203は次いで、S61の処理で取得された各鉛直加速度AZ(t)の平均値および標準偏差を求めた後、当該平均値および標準偏差に基づいて鉛直加速度AZ(t)の補正値を求める(換言すると、加速度センサ107等の出力値の誤差を推定する)。続いて、求められた鉛直加速度AZ(t)の補正値を2階積分し、鉛直変位量Zを補正するためのオフセット値Oを得る(S62)。CPU203は取得したオフセット値Oを戻り値として図5のメインルーチンに返す。
【0112】
CPU203は、図10のサブルーチンから図5のメインルーチンに復帰すると、次にS16の処理を実行して鉛直変位量Z’を得る。鉛直変位量Z’は、各サブルーチンの戻り値の差分、すなわち鉛直変位量Zからオフセット値Oを減算することで得られる。換言するとS16の処理は、オフセット値Oを用いて閾値d_th(後述)を擬似的に変化させているとも云える。このため、S16の処理において鉛直変位量Zの代替として、オフセット値Oを用いて閾値d_thを補正しても良い。
【0113】
鉛直変位量Z’取得後、メインルーチンはS17の通知判定処理に進む。この通知判定処理も鉛直変位量演算プログラム209b等と同様にサブルーチン化されており、通知判定プログラム209dにより実行される。
【0114】
図11に、通知判定処理のサブルーチンを示す。図11のサブルーチンでは、CPU203は、高齢者が転倒したか否かを判定し、その判定結果に応じて家族又は介護者等に転倒したことを通知する。具体的には、CPU203は、S16の処理で得られた鉛直変位量Z’が閾値d_th以上か否かを判定する(S71)。CPU203は、鉛直変位量Z’が閾値d_th以上である場合(S71:YES)、高齢者の体幹の鉛直変位量が通常ではあり得ない程度に大きく、高齢者が転倒したと判断する。
【0115】
CPU203は、高齢者の転倒を家族又は介護者等に通知するため、ディスプレイ213にアラートを表示させると共に(S72)、通信部215を制御してネットワーク経由での通知を行う(S73)。次いで、CPU203の実行が図5のメインルーチン(より正確にはS11の処理)に復帰して、判定用データセット群の受信待機状態に移行する。
【0116】
また、CPU203は、鉛直変位量Z’が閾値d_thを下回る場合には(S71:NO)、高齢者の体幹の鉛直変位量が通常範囲であり、転倒していないと判断してメインルーチンに復帰し、判定用データセット群の受信待機状態に移行する。
【0117】
図4(b)に、鉛直変位量Z’と時間の関係をグラフで示す。図4(b)の例によれば、鉛直変位量Z’が閾値d_thを上回る。従ってこの場合、S72およびS73の処理が実行され、ディスプレイ213にアラートが表示されると共に、高齢者の転倒が家族又は介護者等に通知される。
【0118】
なお、上記ネットワークには、例えばキャリアの通信網や、イントラネット、インターネット等を含む各種通信網が含まれる。また、ROM207(又は図示しない不揮発性メモリ等)には、例えば家族又は介護者等の連絡先(例えば携帯電話やPHS(Personal Handyphone System)等のアドレス、電話番号、Eメールアドレス等)が記憶されている。CPU203は、ROM207や不揮発性メモリに記憶された連絡先を読み出して、例えばメーラ等を起動して所定のアラートメッセージを作成し送信する。
【0119】
また、ディスプレイ213のアラート表示には、例えば家族又は介護者等の連絡先(上記不揮発性メモリに記憶された連絡先とは別の連絡先)と共に、その連絡先に至急連絡して欲しい旨を周囲の人に報知するメッセージが含まれる。周囲にいる人(例えば友人等)は、高齢者の転倒に気付いたとき、ディスプレイ213に表示された連絡先を見て、その連絡先に連絡することができる。このような人的な連絡は、例えば通信部215が利用するネットワークに障害が発生してアラートメッセージが家族又は介護者等に届かない場合の保険になり得る。すなわちディスプレイ213のアラート表示は、家族又は介護者等に対する、より確実な転倒通知の一助となる。
【0120】
また、高齢者の転倒を周囲の人に気付き易くさせるために転倒判定装置200にLED(Light Emitting Diode)を別途設け、例えば転倒時にLEDが点滅する構成を採用しても良い。また、上記アラート表示やネットワーク経由のアラートメッセージ送信に加えて、スピーカ223から所定のアラート音を発生するよう転倒判定装置200を構成しても良い。アラート音は、例えば家族又は介護者等が高齢者の近くではあるが目の届かない場所にいる場合に効果的である。
【0121】
このように本実施形態によれば、転倒の疑いを検知するとそれ以降の所定時間分のデータを収集する。そしてその中で転倒した時刻の候補を検出して、候補の中から転倒時の動作に関係する可能性の高いものを選定し、選定された候補に基づく変位量のみを用いて転倒判定を行う。すなわち最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できるため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。また、転倒の疑いを検知してから所定時間分のデータを用いて転倒判定を行う観点からも、単純な転倒だけでなく様々なパターンの転倒を判定することが可能となる。
【実施例2】
【0122】
次に、本実施例2の転倒判定処理について説明する。なお、本実施例2(および後述の本実施例3)の転倒判定処理は、積分範囲の設定処理(図9のサブルーチン)だけが本実施例1と異なる。従って、以下においては積分範囲の設定処理のみを説明し、それ以外の処理については既述の説明をもって省略する。
【0123】
図12に、本実施例2で実行される、積分範囲の設定処理のサブルーチンを示す。図12に示されるように、CPU203は初期値設定を行う(S151)。具体的には、内蔵カウンタのカウント値iを「1」にセットする。また、図6のサブルーチンで取得した候補時刻データの数nをカウント値iの最大値n_maxとして設定する。なお、本実施例2においても図7の例に沿って説明する。従って、CPU203は、最大値n_maxとして「4」を設定する。
【0124】
CPU203はS151の処理に次いで、積分開始時刻と積分終了時刻の配列インデックスを作成し、当該インデックスのテーブル値を「1」にセットする(S152)。そして、候補時刻tkiに対応する積分開始時刻tdiおよび積分終了時刻tdi’のエントリを、現在のテーブル値に対応する配列インデックスに入力する(S153)。本実施例2では、積分開始時刻tdiとして候補時刻tkiを時間td/2遡った時刻、積分終了時刻tdi’として候補時刻tkiを時間td/2進めた時刻が入力される。すなわち候補時刻を中心とした積分範囲を示すエントリが作成され、配列インデックスに入力する。このとき適用される積分時間(すなわち積分開始から終了までの時間)tdは固定値である。積分時間tdは例えば実験を重ねた結果得られた時間であり、候補時刻に対応する動作が転倒に関係する動作か否かを判定するのに最適とされる時間である。
【0125】
CPU203はS153の処理に次いで、カウント値iが「4」すなわち最大値n_maxに達したか否かを判定する(S154)。カウント値iが「4」に達している場合には(S154:YES)、全ての候補時刻に対して図12のサブルーチンを実行したと判断し、図8のサブルーチンに復帰する。また、カウント値iが「4」未満の場合には(S154:NO)、図12のサブルーチンで配列インデックスのエントリが未入力の候補時刻が存在すると判断し、S155の処理を実行する。S155の処理においてCPU203は、カウント値iおよびテーブル値を1インクリメントし、S153の処理に復帰して当該サブルーチンを繰り返す。
【0126】
図12のサブルーチンにより、候補時刻tk1、tk2、tk3、tk4に対応する4セットの積分開始時刻と積分終了時刻が得られる。具体的には、各テーブルのエントリとして以下の時刻が得られる。なお、各テーブルにおいて前者が積分開始時刻tdiであり、後者が積分終了時刻tdi’である。
[テーブル1]・・・候補時刻tk1−td/2、tk1+td/2
[テーブル2]・・・候補時刻tk2−td/2、tk2+td/2
[テーブル3]・・・候補時刻tk3−td/2、tk3+td/2
[テーブル4]・・・候補時刻tk4−td/2、tk4+td/2
【0127】
本実施例2においても積分範囲設定後、当該積分範囲を適用して各候補時刻に対応する変位量dnが算出される。次いで、変位量dnの要否判定を経て、転倒時の一連の動作に含まれる可能性の高い鉛直変位量dnだけを用いて鉛直変位量Zが算出され、転倒判定が実行される。本実施例2においても本実施例1と同様の効果が期待される。
【実施例3】
【0128】
次に、本実施例3の転倒判定処理について説明する。
【0129】
図13に、本実施例3で実行される、積分範囲の設定処理のサブルーチンを示す。図13に示されるように、CPU203は初期値設定を行う(S251)。具体的には、内蔵カウンタのカウント値iを「1」にセットする。また、図6のサブルーチンで取得した候補時刻データの数nをカウント値iの最大値n_maxとして設定する。なお、本実施例3においても図7の例に沿って説明する。従って、CPU203は、最大値n_maxとして「4」を設定する。
【0130】
CPU203はS251の処理に次いで、積分開始時刻と積分終了時刻の配列インデックスを作成し、当該インデックスのテーブル値を「1」にセットする(S252)。また、上記内蔵カウンタのカウント値jを「1」にセットする(S253)。
【0131】
次いで、CPU203は、加速度絶対値Ai(−j)が閾値m以下か否かを判定する(S254)。なお、加速度絶対値Ai(−j)とは、候補時刻tkiに対応する加速度絶対値Aiのj個前の加速度絶対値を意味する。例えば加速度絶対値Ai(−2)の場合、候補時刻tkiに対応する加速度絶対値Aiの2つ前の加速度絶対値を意味する。
【0132】
CPU203は、加速度絶対値Ai(−j)が閾値mを上回る場合(S254:NO)、カウント値jを1インクリメントして(S255)、更に1つ前の加速度絶対値に対してS254の処理を再度実行する。また、加速度絶対値Ai(−j)が閾値m以下の場合(S254:YES)、当該の加速度絶対値Ai(−j)に対応する時刻を積分開始時刻tdiとし、そのエントリを現在のテーブル値に対応する配列インデックスに入力する(S256)。
【0133】
CPU203はカウント値jを「1」に再セット後(S257)、加速度絶対値Ai(j)が閾値m以下か否かを判定する(S258)。なお、加速度絶対値Ai(j)とは、候補時刻tkiに対応する加速度絶対値Aiのj個後の加速度絶対値を意味する。例えば加速度絶対値Ai(2)の場合、候補時刻tkiに対応する加速度絶対値Aiの2つ後の加速度絶対値を意味する。
【0134】
CPU203は、加速度絶対値Ai(j)が閾値mを上回る場合(S258:NO)、カウント値jを1インクリメントして(S259)、更に1つ後の加速度絶対値に対してS258の処理を再度実行する。また、加速度絶対値Ai(j)が閾値m以下の場合(S258:YES)、当該の加速度絶対値Ai(j)に対応する時刻を積分終了時刻tdi’とし、そのエントリを現在のテーブル値に対応する配列インデックスに入力する(S260)。
【0135】
CPU203はS260の処理に次いで、カウント値iが「4」すなわち最大値n_maxに達したか否かを判定する(S261)。カウント値iが「4」に達している場合には(S261:YES)、全ての候補時刻に対してS253〜S260の処理を実行したと判断し、S262に進む。また、カウント値iが「4」未満の場合には(S261:NO)、S253〜S260の処理で配列インデックスのエントリが未入力の候補時刻が存在すると判断し、S262の処理を実行する。S262の処理においてCPU203は、カウント値iおよびテーブル値を1インクリメントし、S253の処理に復帰して当該サブルーチンを繰り返す。
【0136】
図13のS253〜S260の処理により、候補時刻tk1、tk2、tk3、tk4に対応する4セットの積分開始時刻と積分終了時刻が得られる。具体的には、各テーブルのエントリとして以下の時刻が得られる。なお、各テーブルにおいて前者が積分開始時刻tdiであり、後者が積分終了時刻tdi’である。また、括弧内の数値は、積分開始又は終了時刻が候補時刻tkiのj個前又は後の時刻であることを意味する。参照のため、図14に、各テーブル(候補時刻)に対応した積分開始時刻tdおよび積分終了時刻tdp’を模式的に表現した図を示す。
[テーブル1]・・・候補時刻tk1(−1)、tk1(1)
[テーブル2]・・・候補時刻tk2(−3)、tk2(2)
[テーブル3]・・・候補時刻tk3(−3)、tk3(4)
[テーブル4]・・・候補時刻tk4(−5)、tk4(2)
【0137】
ここで、図14に参照されるように、候補時刻tk3とtk4の積分範囲は同一である。このように、候補時刻tki間で積分範囲の少なくとも一部が重複する場合、以降の処理において積分処理が重複して実行される。このため、演算される変位量Zが不用意に大きくなり、転倒判定が誤判定になり得る。そこで、本実施例3では以下の処理を実行して、重複する複数の積分範囲を単一の積分範囲にマージする。
【0138】
重複する積分範囲をマージするため、CPU203は先ず、各パラメータ値の設定を行う(S263)。具体的には、内蔵カウンタのカウント値pを「1」にセットすると共に、図6のサブルーチンで取得した候補時刻データの数nをカウント値pの最大値n_max(ここでも「4」)として設定する。また更に、配列インデックスのテーブル値を「1」にセットする(S264)。
【0139】
CPU203はS264の処理に次いで、積分終了時刻tdp’が積分開始時刻td(p+1)以降の時刻であるか否かを判定する(S265)。積分終了時刻tdp’が積分開始時刻td(p+1)以降の時刻である場合(S265:YES)、候補時刻tkpと候補時刻tk(p+1)の積分範囲が重複すると判断して、S266の処理に進む。また、積分終了時刻tdp’が積分開始時刻td(p+1)よりも前の時刻である場合には(S265:NO)、候補時刻tkpと候補時刻tk(p+1)の積分範囲が重複していないと判断して、S270の処理に進む。
【0140】
S266の処理においてCPU203は、現在のテーブル値に対応する積分終了時刻tdp’をtd(p+1)’に変更する。次いで、カウント値pおよびテーブル値を1インクリメントし(S267)、インクリメント後に対応するテーブル値のテーブルを消去する(S268)。
【0141】
CPU203はS268の処理に次いで、カウント値pが「4」すなわち最大値n_maxに達したか否かを判定する(S269)。カウント値pが「4」に達している場合には(S269:YES)、積分範囲のマージ処理の要否判定および実行が完了したと判断し、図8のサブルーチンに復帰する。また、カウント値pが「4」未満の場合には(S269:NO)、積分範囲のマージ処理の要否判定および実行が完了していないと判断し、S270を実行する。S270の処理においてCPU203は、カウント値pおよびテーブル値を1インクリメントし、S265の処理に復帰して当該サブルーチンを繰り返す。
【0142】
S263〜S270の処理を実行した結果、候補時刻tk3とtk4に対応する積分範囲がマージされ、配列インデックスは以下の通りとなる。
[テーブル1]・・・候補時刻tk1(−1)、tk1(1)
[テーブル2]・・・候補時刻tk2(−3)、tk2(2)
[テーブル3]・・・候補時刻tk3(−3)、tk3(4)
【0143】
本実施例3においても積分範囲設定後、当該積分範囲を適用して各候補時刻に対応する変位量dnが算出される。次いで、変位量dnの要否判定を経て、転倒時の一連の動作に含まれる可能性の高い変位量dnだけを用いて変位量Zが算出され、転倒判定が実行される。本実施例3においても本実施例1や2と同様の効果が期待される。
【0144】
以上が本発明の実施の形態である。本発明はこれらの実施の形態に限定されるものではなく様々な範囲で変形が可能である。例えば加速度絶対値に代替として躍度の絶対値を用いて、各処理を実行するようにしても良い。なお、躍度から変位量を算出する場合、躍度を時間で3階積分を行うことになる。
【0145】
また、別の実施の形態では図5のS15のオフセット値演算処理を実行しない構成を採用しても良い。この場合、データ収集装置100や転倒判定装置200のリソースを節約、削減することができ、装置を小型化することも可能である。
【0146】
また、転倒判定装置200は、例えば操作スイッチ等のオン/オフに応じて規定のオフセット値を用い、図5のメインルーチンを実行する構成であっても良い。この場合、転倒判定装置200は、例えば操作スイッチをオンする場合に限りオフセットモードで動作する。オフセットモードにおいて転倒判定装置200は、図5のS15の処理を実行することなくS16の処理を実行して、規定のオフセット値を用いて鉛直変位量Z’を算出する。この形態によれば、オフセット値を算出する必要がないため、制御系の処理負担等の効果が期待される。
【0147】
また、別の実施の形態ではデータ収集装置100と転倒判定装置200を単一の装置として提供することも可能である。例えば各構成要素のデータ通信が全てバスを介して行われるため、処理速度向上が期待される。
【図面の簡単な説明】
【0148】
【図1】本発明の実施の形態の転倒判定システムの構成を示すブロック図である。
【図2】本発明の実施の形態で実行されるデータ収集処理のフローチャートである。
【図3】本発明の実施の形態で実行される転倒疑い判定処理のフローチャートである。
【図4】加速度絶対値と時刻、および変位量と時刻の関係を示すグラフである。
【図5】本発明の第1の実施の形態で実行される転倒判定処理のフローチャートである。
【図6】図5のS13の候補選出処理を示すフローチャートである。
【図7】図6の処理をより具体的に説明するための図である。
【図8】図5のS14の変位量演算処理を示すフローチャートである。
【図9】図8のS31の積分範囲設定処理のフローチャートである。
【図10】図5のS15のオフセット値演算処理のフローチャートである。
【図11】図5のS17の通知判定処理のフローチャートである。
【図12】本発明の第2の実施の形態で実行される積分範囲設定処理のフローチャートである。
【図13】本発明の第3の実施の形態で実行される積分範囲設定処理のフローチャートである。
【図14】各候補時刻に対応した積分開始および終了時刻を模式的に表現した図である。
【符号の説明】
【0149】
1 転倒判定システム
100 データ収集装置
103、203 CPU
105、205 RAM
107 加速度センサ
109 角度度センサ
111、211 RTC
113、207 ROM
115 A/D変換部
117、217 データ送受信部
119、219 電源
121、221 バス
200 転倒判定装置
213 ディスプレイ
215 通信部
223 スピーカ
【技術分野】
【0001】
この発明は、人の転倒を判定する転倒判定システム、転倒判定方法、および転倒判定プログラムに関する。
【背景技術】
【0002】
近年、高齢者の増加に伴い、高齢者それぞれの事情に合わせて在宅介護、老人福祉施設等への入所、一人暮らしの高齢者および高齢者世帯がそれぞれ増えてきている。何れの場合でも、家族又は介護者等が常に付き添うことが困難な状況にある。従って、付き添い者等が側にいない時に急な発作等で高齢者が転倒した場合、家族又は介護者等がそれを検知していち早く通報するシステムが必要とされている。このようなシステムの一例として、転倒する虞のある高齢者等の体幹に装着された装置を用いて転倒を検出し、家族又は介護者等に通知するものが下記特許文献1に開示されている。
【0003】
下記特許文献1のシステムでは、高齢者の体幹に取り付けられた装置が、高齢者の動きに伴う振動を測定する。そして、この測定値が第1の閾値以上となった時点で高齢者が転倒した疑いがあると判定し、更にその直後に、第1の閾値よりも低い第2の閾値以下の測定値が所定時間継続した場合、高齢者が転倒していると判定して介護者宛に警報信号を送信するよう構成されている。
【0004】
しかし、下記特許文献1のシステムでは、振動のみを指標として検出するため、転倒による振動なのか他の動き(寝転ぶ等)による振動なのかを判定することができない不都合がある。また、高齢者が転倒直後に床等に倒れた状態で動いた場合には、装置がその動きに応じた振動を測定してしまう。このとき装置が、転倒疑い判定後から所定時間が経過する以前に第2の閾値を超える振動を測定し、高齢者が転倒したことを検知しない可能性がある。
【0005】
また、振動以外を指標とすることで下記特許文献1のシステムよりも高い精度で転倒判定するシステムが例えば下記特許文献2や3に開示されている。これらのシステムにおいては、互いに直交する3軸方向の加速度および3軸周りの角速度を検出するセンサを搭載した装置を高齢者の体幹に装着する。そして、加速度センサが検知する加速度が第1の閾値を超えた時点で転倒と疑わしい事象が発生したと判定する。次いで、その時点の加速度および角速度センサの出力値を用いて高齢者の体幹の鉛直方向の変位量(以下、「鉛直変位量」という)を算出し、算出された鉛直変位量が第2の閾値以上であれば、高齢者の体勢が通常ではあり得ないほど大きく崩れており、高齢者が転倒していると判定して介護者に通知するよう構成されている。
【特許文献1】特開平9−305875号公報
【特許文献2】特開2006−227752号公報
【特許文献3】特開2005−237576号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上記特許文献2や3のシステムは、単純な転倒(例えば歩行状態からつまずくこともなくそのまま床に転倒するケース)に関しては比較的正確に判定することが可能である。ところが、転倒の際の人の動きには個人差があり、また、転倒時の状況に応じて様々な転倒動作パターンがあって、実際には上記のような単純な転倒に留まらないことが多々ある。従って、上記特許文献2や3のシステムでは、高齢者が実際に転倒した場合であっても、転倒動作パターンによっては高齢者の転倒を検知できない可能性がある。
【0007】
例えば高齢者が転倒の契機となる動きの後に(例えばつまずいた後等に)床に転倒したとする。この場合、センサが検出する、つまずいた時点の加速度が所定の閾値以上であれば、その加速度を用いて鉛直変位量が算出される。しかし、このとき算出される鉛直変位量はつまずき時の変位量に対応する低い値(第2の閾値を下回る値)である可能性が高いため、高齢者が転倒したことを装置が検知しないことがある。また、つまずいた後の低い姿勢から床等に転倒するまでの鉛直変位量も第2の閾値を下回る可能性が高く、上記と同様に、高齢者が転倒したことを装置が検知しないことがある。また、転倒が検知された場合であっても、つまずいた時刻と転倒した時刻が実際には異なる不都合がある。このため、より精度の高い転倒判定システムの提供が望まれている。
【0008】
そこで、本発明は上記の事情に鑑みて、高齢者の転倒を転倒動作パターン等に拘わらず高い精度で検知することが可能な転倒判定システム、転倒判定方法、および転倒判定プログラムを提供することを課題としている。
【課題を解決するための手段】
【0009】
上記の課題を解決する本発明の一態様に係る転倒判定システムは、人の転倒を判定するシステムであって、人の体幹に取り付けられ、該体幹の鉛直方向の変位量に応じた値を出力するセンサと、第1の時間分のセンサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定手段と、選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、センサの出力値を用いて演算する候補変位量演算手段と、演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出手段と、算出された転倒変位量に基づいて人の転倒を判定する転倒判定手段と、を備えたことを特徴としたシステムである。
【0010】
このように構成された転倒判定システムによれば、転倒時の動作に関係し得る出力データに対応した候補変位量を求め、求められた候補変位量の中から実際の転倒時の動作を表現する可能性の高い候補変位量のみを用いて転倒変位量を算出し、算出された転倒変位量に基づいて転倒判定を行うことができる。すなわち最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できる。このため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。
【0011】
ここで、転倒判定システムは、センサの出力に基づいて、転倒と疑わしい事象が発生したか否かを判定する転倒疑い判定手段を更に備える構成であることが望ましい。この場合、候補選定手段は、転倒疑い判定手段により該事象発生が検知されてから第1の時間分の出力値を対象に転倒候補データを選定することとなる。
【0012】
また、転倒判定システムは、センサの出力値の誤差を推定して補正値を算出する補正値算出手段と、該算出された補正値に基づいて転倒変位量を補正する補正手段とを更に備える構成であることも望ましい。
【0013】
また、上記補正値算出手段は、転倒と疑わしい事象発生直前の第2の所定時間分の出力値に基づいて補正値を算出するように構成されてもよい。
【0014】
上記補正手段は、補正値算出手段により算出された補正値に基づいて転倒変位量を補正するためのオフセット値を算出するオフセット値算出手段を含む構成としてもよい。
【0015】
また、上記転倒判定システムにおいて第1の条件は、例えば第1の閾値以上の出力値を有することである。
【0016】
上記候補変位量演算手段は、例えば第1の時間分の出力値を転倒候補データ毎に区切り、各区間の出力値群を用いて候補変位量を演算するよう構成される。
【0017】
また、上記候補変位量演算手段は、例えば各転倒候補データ前後の所定時間分の出力値群を用いて、各転倒候補データに対応する候補変位量を演算するよう構成される。
【0018】
また、上記候補変位量演算手段は、例えば各転倒候補データの前後に近接し且つ第1の閾値よりも低い第2の閾値以下の2つの出力値間の出力値群を用いて、各転倒候補データに対応する候補変位量を演算するよう構成される。
【0019】
また、上記候補変位量演算手段は、複数の出力値群が互いに重複する期間の出力値を含むか否かを判定し、重複する期間の出力値を含むと判定した場合に、該複数の出力値群を単一の出力値群にマージすることができる。
【0020】
ここで、上上記転倒判定システムにおいて第2の条件は、例えば第3の閾値以上の値を有することである。
【0021】
また、転倒変位量算出手段は、第2の条件を満たす候補変位量のみを加算して転倒変位量を算出する構成としても良い。
【0022】
センサは例えば加速度センサ又は躍度センサを含む構成である。この場合、転倒疑い判定手段が加速度センサ又は躍度センサの出力を監視して、所定の閾値以上の出力値を検知した時点で転倒と疑わしい事象が発生したと判定し、候補変位量演算手段が、加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算することとなる。
【0023】
また、センサは例えば角速度センサを更に含む構成である。この場合、候補変位量演算手段が角速度センサの出力値を用いて、加速度センサ又は躍度センサの出力値のベクトルを所定の静的な座標系に対応するよう変換し、変換後の加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算することとなる。
【0024】
また、転倒判定システムは、転倒変位量算出手段が算出した転倒変位量を補正するか否か選択する補正選択手段と、転倒変位量を補正するよう選択された場合に、所定の補正値を用いて当該転倒変位量を補正する補正手段とを更に備えた構成としても良い。
【0025】
また、転倒判定システムは、転倒判定手段により該人が転倒したと判定された場合にその旨を通知する転倒通知手段を更に備えた構成であることが望ましい。
【0026】
ここで、転倒報知手段は、例えばアラートを表示可能なアラート表示手段、アラート音を出力するアラート音出力手段、所定の連絡先にアラートメッセージを送信するアラートメッセージ送信手段、の少なくとも1つを含み、転倒判定手段により人が転倒したと判定された場合に、アラート表示手段によるアラート表示、アラート音出力手段によるアラート音の出力、アラートメッセージ送信手段による所定の連絡先へのアラートメッセージの送信、の少なくとも1つを実行する構成としても良い。
【0027】
また、上記の課題を解決する本発明の一態様に係る転倒判定方法は、人の転倒を判定する方法であって、人の体幹に取り付けられたセンサが、該体幹の鉛直方向の変位量に応じた値を出力するセンサ出力ステップと、第1の時間分のセンサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定ステップと、選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、センサの出力値を用いて演算する候補変位量演算ステップと、演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出ステップと、算出された転倒変位量に基づいて人の転倒を判定する転倒判定ステップと、を含む方法である。
【0028】
このような転倒判定方法によれば、転倒時の動作に関係し得る出力データに対応した候補変位量が求められ、求められた候補変位量の中から実際の転倒時の動作を表現する可能性の高い候補変位量のみを用いて転倒変位量が算出され、算出された転倒変位量に基づいて転倒判定が行われる。すなわち本発明の転倒判定方法を適用した場合、最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できる。このため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。
【0029】
ここで、転倒判定方法は、センサの出力に基づいて、転倒と疑わしい事象が発生したか否かを判定する転倒疑い判定ステップを更に含む方法であることが望ましい。この場合、候補選定ステップにおいて、転倒疑い判定ステップで該事象発生が検知されてから第1の時間分の出力値を対象に転倒候補データを選定することとなる。
【0030】
また、転倒判定方法は、センサの出力値の誤差を推定して補正値を算出する補正値算出ステップと、該算出された補正値に基づいて転倒変位量を補正する補正ステップとを更に含む方法であることが望ましい。
【0031】
上記補正値算出ステップにおいては、転倒と疑わしい事象発生直前の第2の所定時間分の出力値に基づいて補正値を算出するようにしてもよい。
【0032】
上記補正ステップにおいては、補正値算出ステップで算出された補正値に基づいて転倒変位量を補正するためのオフセット値を算出するようにしてもよい。
【0033】
また、上記転倒判定方法において第1の条件は、例えば第1の閾値以上の出力値を有することである。
【0034】
また、上記候補変位量演算ステップにおいて、第1の時間分の出力値を転倒候補データ毎に区切り、各区間の出力値群を用いて候補変位量を演算するようにしても良い。
【0035】
また、上記候補変位量演算ステップにおいて、各転倒候補データ前後の所定時間分の出力値群を用いて、各転倒候補データに対応する候補変位量を演算するようにしても良い。
【0036】
また、上記候補変位量演算ステップにおいて、各転倒候補データの前後に近接し且つ第1の閾値よりも低い第2の閾値以下の2つの出力値間の出力値群を用いて、各転倒候補データに対応する候補変位量を演算するようにしても良い。
【0037】
また、上記候補変位量演算ステップにおいて、複数の出力値群が互いに重複する期間の出力値を含むか否かを判定し、重複する期間の出力値を含むと判定した場合に、該複数の出力値群を単一の出力値群にマージするようにしても良い。
【0038】
また、上記転倒判定方法において第2の条件は、例えば第3の閾値以上の値を有することである。
【0039】
また、転倒変位量算出ステップにおいて、第2の条件を満たす候補変位量のみを加算して転倒変位量を算出するようにしても良い。
【0040】
また、上記センサが加速度センサ又は躍度センサであり、転倒疑い判定ステップでは、加速度センサ又は躍度センサの出力を監視して、所定の閾値以上の出力値を検知した時点で転倒と疑わしい事象が発生したと判定し、候補変位量演算ステップでは、加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算するようにしても良い。
【0041】
また、上記センサには角速度センサも含まれ、候補変位量演算ステップでは、角速度センサの出力値を用いて、加速度センサ又は躍度センサの出力値のベクトルを所定の静的な座標系に対応するよう変換し、変換後の加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算するようにしても良い。
【0042】
また、上記転倒判定方法は、転倒変位量算出ステップで算出された転倒変位量を補正するか否か選択する補正選択ステップと、転倒変位量を補正するよう選択された場合に、所定の補正値を用いて当該転倒変位量を補正する補正ステップとを更に含む方法としても良い。
【0043】
また、上記転倒判定方法は、転倒判定ステップにおいて該人が転倒したと判定された場合にその旨を通知する転倒通知ステップを更に含む方法であることが望ましい。
【0044】
ここで、上記転倒報知ステップでは、転倒判定ステップにおいて人が転倒したと判定された場合に、ディスプレイ上にアラート表示すること、スピーカでアラート音を出力すること、ネットワーク経由で所定の連絡先にアラートメッセージを送信すること、の少なくとも1つを実行するようにしても良い。
【0045】
また、上記の課題を解決する本発明の一態様に係る転倒判定プログラムは、上記転倒判定方法をコンピュータに実行させるためのプログラムである。
【0046】
このような転倒判定プログラムによれば、転倒時の動作に関係し得る出力データに対応した候補変位量が求められ、求められた候補変位量の中から実際の転倒時の動作を表現する可能性の高い候補変位量のみを用いて転倒変位量が算出され、算出された転倒変位量に基づいて転倒判定が行われる。すなわち本発明の転倒判定プログラムを適用した場合、最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できる。このため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。
【発明の効果】
【0047】
本発明の転倒判定システム、転倒判定方法、および転倒判定プログラムによれば、転倒時の動作に関係し得る出力データに対応した候補変位量が求められ、求められた候補変位量の中から実際の転倒時の動作を表現する可能性の高い候補変位量のみを用いて転倒変位量が算出され、算出された転倒変位量に基づいて転倒判定が行われる。すなわち本発明の転倒判定プログラムを適用した場合、最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できる。このため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。
【発明を実施するための最良の形態】
【0048】
以下、図面を参照して、本発明の実施の形態について説明する。
【0049】
図1は、本発明の実施の形態の転倒判定システム1の構成を示すブロック図である。転倒判定システム1は、図1に示されるようにデータ収集装置100と転倒判定装置200を備える。データ収集装置100は高齢者の転倒を判定するためのデータを収集して転倒判定装置200に送信する。そして、転倒判定装置200は受信したデータを用いて転倒判定を行い、転倒と判定した場合にはその通知を家族又は介護者(看護士等)宛に送信する。以下、データ収集装置100と転倒判定装置200の構成および作用について詳説する。
【0050】
データ収集装置100は、図示しない取付部によって高齢者の体幹に取り付けられた状態で使用される。データ収集装置100には、装置全体の制御を統括的に実行するCPU(Central Processing Unit)103が備えられる。
【0051】
CPU103にはバス121を介して各構成要素が接続される。CPU103は、バス121を介するデータ通信を行って各構成要素とやり取りすることにより各種機能を実現する。これらの構成要素には、RAM(Random Access Memory)105、加速度センサ107、角速度センサ109、RTC(Real Time Clock)111、ROM(Read Only Memory)113、A/D変換部115、データ送受信部117がある。なお、バス121はデータラインの他に電源ラインも備える。電源部119は電源ラインにより各構成要素に電源供給を行う。また、RTC111はバッテリバックアップで駆動しており、電源オフ時にも常に計時を行う。
【0052】
加速度センサ107は例えば圧電素子を備えたタイプである。当該圧電素子は加速度センサ107自体にかかる加速度に応じた量だけ歪み、このときに圧電効果で発生する電圧が、加速度を表すアナログ信号(以下、「加速度アナログ信号」と略記、他の信号についても同様に略記する)として出力される。加速度センサ107は互いに直交する3軸(x、y、zの3軸)方向に対応した圧電素子を備え、3軸方向の加速度アナログ信号を出力する。
【0053】
また、角速度センサ109も例えば圧電素子を備えたタイプであり、角速度センサ109自体の角速度に応じて発生する電圧を角速度アナログ信号として出力する。角速度センサ109は上記3軸と同軸周り(ロール角φ、ピッチ角θ、ヨー角Ψ)に対応した圧電素子を備え、当該3軸周りの角速度アナログ信号を出力する。
【0054】
なお、加速度センサ107の3次元直交座標系は取付状態や高齢者の動き(より正確には加速度センサ107自体の向き)に応じて変化する。このため、重力方向をZ軸とする静的な3次元直交座標系と必ずしも一致しない。また、本明細書では加速度センサ107の3次元直交座標系を(x、y、z)、静的な3次元直交座標系を(X、Y、Z)と表現して明確に区別する。ここでいう「静的」とは、加速度センサ107の3次元直交座標系、すなわち加速度センサ107自体の向きの変化に応じて動く座標系と区別するために便宜上付した文言である。
【0055】
また、加速度センサ107と角速度センサ109はデータ収集装置100のハウジングで相対的に固定された状態にある。従って、その相対位置関係がデータ収集装置100の取付状態や高齢者の動きに依存することはなく、ロール角φ、ピッチ角θ、ヨー角Ψは、常に、x、y、z軸と同軸周りの角度となる。以下の説明では、小文字(x、y、z)が付されるパラメータは加速度センサ107の3次元直交座標系に対応し、大文字(X、Y、Z)が付されるパラメータは静的な3次元直交座標系に対応するパラメータとする。
【0056】
データ収集装置100は、電源オン時には、高齢者の転倒を判定するためのデータを常に収集している。ここで、図2に、当該データを収集するためにデータ収集装置100で実行されるデータ収集処理のフローチャートを示す。
【0057】
図2に示されるように、加速度センサ107、角速度センサ109がそれぞれ、高齢者の動きに応じた加速度アナログ信号、角速度アナログ信号を生成してA/D変換部115に出力する(ステップ1、以下、明細書及び図面においてステップを「S」と略記)。次いでA/D変換部115が、入力した加速度アナログ信号、角速度アナログ信号を所定のサンプリング周期でサンプリングし量子化して加速度デジタル信号、角速度デジタル信号に変換し、CPU103に渡す(S2)。
【0058】
CPU103は、加速度デジタル信号および角速度デジタル信号を受け取ると、RTC111が計時する時刻データを取得する(或いは当該時刻データを常時取得している)。そして、受け取った加速度デジタル信号、角速度デジタル信号、およびそれらのデジタル信号を受け取った時刻データのセット(以下、「判定用データセット」という)をRAM105に書き込む(S3)。
【0059】
上記一連の動作(すなわち加速度アナログ信号等の取得、A/D変換、判定用データセットの作成および書き込み)は電源オン時に常に実行されるため、RAM105には、加速度および角速度の情報が所定のサンプリング周期で書き込まれることとなる。しかし、RAM105の容量は有限であるため判定用データセットを書き込み続けることはできない。新しいデータを書き込むためには不必要なデータを定期的に削除する必要がある。
【0060】
本実施形態ではCPU103がメモリ管理を行い、例えばim個の判定用データセットがRAM105に記憶された時点で所定数の判定用データセットを消去する。具体的には、CPU103は各判定用データセットの時刻データを参照して、im個の判定用データセットの中で古いと判断される所定数の判定用データセットを優先的に消去する。これにより、数ブロック又は数セグメントの記憶領域が開放され、新たな判定用データセットを書き込み可能となる。
【0061】
判定用データセットの記憶数が一旦imに達すると、以降は、記憶領域の解放とデータ書き込みが繰り返し実行される。よって、RAM105は、最新の判定用データセットであって、少なくとも数秒間分の判定用データセットを常に保持した状態となる。数秒間分に相当する判定用データセットのサンプリング数は、後述する図5の転倒判定処理を実行するのに必要とされる最低限の数を上回る。なお、RAM105は揮発性メモリであるため、電源がオフされるとその内容も失われる。
【0062】
次に、転倒と疑わしい事象の発生を検知する転倒疑い検知処理について説明する。転倒疑い検知処理は、CPU103がROM113に記憶された転倒疑い検知プログラムをRAM105のワークエリアに展開して実行する処理である。
【0063】
図3に、転倒疑い検知処理のフローチャートを示す。なお、例えばCPU103と独立した専用ICが、単独又はCPU103と連係して図3の転倒疑い検知処理を実行する構成であっても良い。
【0064】
転倒疑い検知処理は、転倒判定装置200の電源がオンしている場合に限り、図2のデータ収集処理と並行して実行される(すなわち転倒疑い検知プログラムは常駐状態にある)。図3に示されるように、CPU103は電源オンと共に、A/D変換部115からの加速度デジタル信号値の絶対値(以下、「加速度絶対値」という)を監視して(S5)、加速度絶対値が閾値q以上か否かを判定する(S6)。
【0065】
CPU103は、加速度絶対値が閾値q以上と判定した場合(S6:YES)、通常動作(歩行等)では検知することが希な大きな加速度が検知されて転倒の疑いのある事象が発生したことからS7に処理を進める。そしてS7の処理において、閾値q以上と判定した加速度絶対値に対応する判定用データセット(以下、「転倒疑いデータセット」という)を中心とした前後数秒間(例えば前後5秒間)分の判定用データセット(以下、「判定用データセット群」という)を、データ送受信部117から転倒判定装置200に送信する。
【0066】
また、CPU103は、加速度絶対値が閾値qを下回ると判定した場合には(S6:NO)、高齢者の動きに大きな変化はなく転倒している可能性がないことからS5の処理に復帰し、加速度絶対値の監視を継続する。
【0067】
なお、データ送受信部117は例えばキャリアを判定用データセット群で変調して無線(又は有線)で送信する。データ収集装置100−転倒判定装置200間を無線通信可能に構成した場合、装置間がワイヤレスとなり、高齢者の行動範囲を制限しないメリットがある。
【0068】
S7の処理について説明を加える。S7の処理においてCPU103は、転倒疑いデータセット以前の判定用データセットに関してはRAM105から読み出して転倒判定装置200に送信する。一方で、転倒疑いデータセットがRAM105に記憶された時点では、転倒疑いデータセット以降の判定用データセットは存在しない。これらの判定用データセットに関して、CPU103は、新たな判定用データセットを記憶する毎に順次送信、或いは所定数蓄積した時点で一括して送信する。
【0069】
なお、CPU103は、S7の処理で送信すべき全ての判定用データセットを送信するまではS5の処理に復帰しない。従って、少なくとも転倒疑いデータセット以降の5秒間分の判定用データセットの加速度デジタル信号に閾値q以上のものが含まれていたとしても、それに対応する別の転倒疑いデータセット群をCPU103が送信することはない。
【0070】
ここで、図4(a)に、図3の転倒疑い検知処理をより具体的に説明するためのグラフを示す。グラフの縦軸はデータ収集装置100で取得される加速度絶対値を示し、横軸は時刻を示す。
【0071】
図4(a)の例によれば、時刻tu以前は、加速度絶対値は閾値qを下回り、高齢者の動作が通常動作(歩行等)であるとみなされる。時刻tuにおいて加速度絶対値が閾値q以上となり、CPU103は、その時点で初めて高齢者に転倒と疑わしい事象が発生したと検知する。そして、例えば時刻tuを中心とした前後5秒間分の判定用データセット(判定用データセット群)を転倒判定装置200に送信する。時刻tu以降に閾値q以上となる加速度絶対値が散見されるが、何れの値も時刻tuから5秒以内に含まれるものである。従って、図4(a)の例によれば、CPU103は、時刻tuの加速度絶対値に起因した判定用データセット群のみを転倒判定装置200に送信し、他の判定用データセット群を送信することはない。
【0072】
次に、転倒判定装置200について詳説する。転倒判定装置200はデータ収集装置100のホストとして機能する端末であり、主たる機能は高齢者の転倒判定と家族又は介護者等への通知である。
【0073】
図1に示されるように、転倒判定装置200には、装置全体の制御を統括的に実行するCPU203が備えられる。CPU203にはバス221を介して各構成要素が接続される。CPU203は、バス221を介するデータ通信を行って各構成要素とやり取りすることにより各種機能を実現する。これらの構成要素には、RAM205、ROM207、RTC211、ディスプレイ213、通信部215、データ送受信部217、およびスピーカ223がある。なお、バス221は既述のバス121と同様に、データラインの他に電源ラインも備える。電源部219は電源ラインにより各構成要素に電源供給を行う。RTC211もRTC111と同様にバッテリバックアップで駆動する。
【0074】
ROM207にも既述のROM113と同様に、CPU203がRAM205のワークエリアに展開して実行するプログラムが格納される。ROM207に格納されるプログラムには、転倒判定プログラム209a、鉛直変位量演算プログラム209b、オフセット量演算プログラム209c、通知判定プログラム209d、候補選出プログラム209e、および積分範囲決定プログラム209fがある。これらのプログラムは転倒判定装置200の電源がオンすると同時にRAM205に常駐し、図5のフローチャートに示される転倒判定処理を実行する。以下、図5の転倒判定処理について説明する。なお、本実施形態では、転倒判定プログラム209aによって転倒判定処理のメインルーチンが実行され、それ以外のプログラムによって各サブルーチンが実行される。
【0075】
本明細書では図4の転倒判定処理について複数の実施形態を記載する。先ず、本発明の第1の実施の形態(以下、「本実施例1」と記す、他の実施形態も同様に記す)について説明する。
【実施例1】
【0076】
図5に示されるように、CPU203は、判定用データセット群の受信待機状態にある(S11)。図3のS7の処理で送信された、データ収集装置100の送信データは、データ送受信部217が受信してキャリア復調する。データ送受信部217はキャリア復調で得た判定用データセット群をCPU203に渡す。CPU203は判定用データセット群を受け取ると(S11:YES)、RAM205に転送して書き込みを行う(S12)。判定用データセット群全てのデータ転送および書き込みが完了すると、処理はS13に進む。なお、ここでは判定用データセット群に含まれる判定用データセット数をimとして、以下の説明を行う。
【0077】
S13の処理は、転倒判定処理の一部をサブルーチン化したものであり、候補選出プログラム209eにより実行される。なお、S13の処理(および鉛直変位量演算プログラム209b、オフセット量演算プログラム209c、通知判定プログラム209d、および積分範囲決定プログラム209fによって実行される処理)はサブルーチン化された処理である必要がなく、転倒判定処理のメインルーチンで実行される処理であっても良い。また、転倒判定プログラム209a、鉛直変位量演算プログラム209b、オフセット量演算プログラム209c、通知判定プログラム209d、候補選出プログラム209e、および積分範囲決定プログラム209fは本実施形態のように別々のプログラムモジュールでなく、例えば単一或いはより細分化されたプログラムモジュールとして構成されたものであっても良い。
【0078】
図6に、図5のS13のサブルーチンを示す。図6のサブルーチンは、転倒を判定するためのパラメータとして、高齢者が比較的大きな動作をしたと思われる時刻を選出する。
【0079】
CPU203は、RAM205に書き込まれた各判定用データセットを参照して上記時刻の候補を算出する。そのために先ず、各パラメータの初期値を設定する(S21)。具体的には、CPU203は、参照数カウンタのカウント値i、候補数カウンタのカウント値nをそれぞれ、「0」、「1」にセットする。また、カウント値iの最大値i_maxとして「im」を設定する。これらのカウンタは例えばCPU203の内蔵カウンタである。参照数カウンタは、S13のサブルーチンで参照された判定用データセット数をカウントする。また、候補数カウンタは、上記時刻の候補の選出数をカウントする。
【0080】
CPU203は初期値設定に次いで、カウント値iを1インクリメントし(S22)、判定用データセット群の各判定用データセットを用いてS23の判定処理を実行する。ここで、CPU203は、判定用データセット群の各判定用データセットを「1」〜「im」のシリアルナンバで管理する。各判定用データセットには、作成順序に応じたシリアルナンバが割り当てられる。
【0081】
S23の処理においてCPU203は、カウント値iと一致するシリアルナンバで管理された判定用データセットの加速度絶対値Aiを参照し、その値が候補判定用閾値k以上か否かを判定する(S23)。例えばカウント値iが「1」の場合、CPU203は判定用データセット群の中の最も古い判定用データセットを用いてS23の処理を実行する。加速度絶対値Aiが候補判定用閾値kを下回る値である場合(S23:NO)、CPU203は、S22の処理に復帰してカウント値iを1インクリメントし、次の判定用データセットを用いてS23の処理を実行する。
【0082】
S23の処理において加速度絶対値Aiが候補判定用閾値k以上である場合(S23:YES)、CPU203は、現在の判定対象の判定用データセットに対応する時刻に高齢者が比較的大きな動作をしたと判断する。そして、当該データセットに含まれる時刻データを候補時刻データtknとして例えばRAM205に記録する(S24)。
【0083】
CPU203は候補時刻データtknを記録すると次いで、カウント値iが「im」か否かを判定する(S25)。CPU203は、カウント値iが「im」であると判定した場合(S25:YES)、RAM205に書き込まれた全ての判定用データセットを参照して図6のサブルーチンを実行したと判断し、図5のメインルーチンに復帰する。また、CPU203は、カウント値iが「im」でないと判定した場合(S25:NO)、図6のサブルーチンで未参照の判定用データセットが存在すると判断し、S22の処理に復帰して当該サブルーチンを繰り返す。
【0084】
なお、CPU203は、図6のサブルーチンにおいて候補時刻データtknを1つも得られなかった場合にはエラー処理を実行する。具体的には、図5の転倒判定処理を一旦リセットし(例えば判定用データセット群の消去等を実行)して、処理を図5のS11に戻す。すなわちCPU203は高齢者が転倒していないと判断して、データ受信待機状態に復帰する。
【0085】
図7に、図6のサブルーチンをより具体的に説明するための図を示す。図7上段のグラフは図4(a)と同様のグラフであり、説明符号としてポイントa、b、cが付されている。各ポイントは、当該グラフにおいて候補判定用閾値k以上の加速度絶対値Aiを有する領域を指す。また、図7下段のグラフは、各ポイント周辺の加速度絶対値Aiを抽出して示したグラフである。図7下段のグラフでは説明の便宜上、加速度絶対値Aiを他のグラフよりも低ビット数で量子化し、長い周期でサンプリングして示す。
【0086】
図7下段のグラフの例によれば、CPU203は、図6のサブルーチンにおいてポイントaで候補時刻データtk1、ポイントbで候補時刻データtk2、ポイントcで候補時刻データtk3、4の合計4つの候補時刻データを得る。以下、説明の便宜上、候補時刻データtk1、tk2、tk3、tk4が示す時刻のそれぞれを、候補時刻tk1、tk2、tk3、tk4と記す。
【0087】
また、図7上段のグラフからも明らかなように、時刻tu以前、加速度絶対値Aiは閾値qを下回り、候補判定用閾値k以上になり得ない。換言すると、転倒と疑わしい事象が発生する以前に加速度絶対値Aiが候補判定用閾値k以上になることはあり得ない。従って、別の実施の形態では、転倒疑いデータセット以降の判定用データセットについてのみ図6のサブルーチンを実行するようにしても良い。この場合、リソース節約や処理速度向上等の効果が期待される。
【0088】
図8に、図5のS14のサブルーチンを示す。図8のサブルーチンは、鉛直変位量演算プログラム209bにより実行される。図8のサブルーチンは、転倒を判定するためのパラメータとして高齢者の体幹の鉛直変位量Zを演算する変位量演算処理であり、演算した鉛直変位量Zを戻り値としてメインルーチンに返す。
【0089】
CPU203は、鉛直変位量Zを演算するために判定用データセット群を用いて積分処理を行う。そのためのパラメータとして先ず、図8に示されるように積分範囲を設定する(S31)。
【0090】
図9に、図8のS31のサブルーチンを示す。図9のサブルーチンは、積分範囲決定プログラム209fにより実行される。図9のサブルーチンは、図8のサブルーチンで用いる積分範囲を設定し、その設定値を図8のサブルーチンに返す。
【0091】
図9に示されるように、CPU203は初期値設定を行う(S51)。具体的には、内蔵カウンタのカウント値iを「1」にセットする。また、既述の処理で取得した候補時刻データの数nをカウント値iの最大値n_maxとして設定する。なお、ここでは図7の例に沿って説明する。従って、CPU203は、最大値n_maxとして「4」を設定する。
【0092】
CPU203はS51の処理に次いで、積分開始時刻と積分終了時刻の配列インデックスを作成し、当該インデックスのテーブル値を「1」にセットする(S52)。そして、候補時刻tkiに対応する積分開始時刻tdiおよび積分終了時刻tdi’のエントリを、現在のテーブル値に対応する配列インデックスに入力する(S53)。本実施例1では、積分開始時刻tdiとして候補時刻tk(i−1)、積分終了時刻tdi’として候補時刻tkiが入力される。
【0093】
また、CPU203は、転倒と疑わしい事象が発生した時刻(すなわち時刻tu)を候補時刻tk0として扱う。従って、例えばカウント値iが「1」の場合、積分開始時刻tdi、積分終了時刻tdi’のそれぞれのエントリは候補時刻tk0、tk1となる。
【0094】
CPU203はS53の処理に次いで、カウント値iが「4」すなわち最大値n_maxに達したか否かを判定する(S54)。カウント値iが「4」に達している場合には(S54:YES)、全ての候補時刻に対して図9のサブルーチンを実行したと判断し、図8のサブルーチンに復帰する。また、カウント値iが「4」未満の場合には(S54:NO)、図9のサブルーチンで配列インデックスのエントリが未入力の候補時刻が存在すると判断し、S55の処理を実行する。S55の処理においてCPU203は、カウント値iおよびテーブル値を1インクリメントし、S53の処理に復帰して当該サブルーチンを繰り返す。
【0095】
図9のサブルーチンにより、候補時刻tk1、tk2、tk3、tk4に対応する4セットの積分開始時刻と積分終了時刻が得られる。具体的には、各テーブルのエントリとして以下の時刻が得られる。なお、各テーブルにおいて前者が積分開始時刻tdiであり、後者が積分終了時刻tdi’である。
[テーブル1]・・・候補時刻tk0、tk1
[テーブル2]・・・候補時刻tk1、tk2
[テーブル3]・・・候補時刻tk2、tk3
[テーブル4]・・・候補時刻tk3、tk4
【0096】
CPU203は図9のサブルーチンから図8のサブルーチンに復帰すると、積分範囲をセットすると共にカウンタ(例えばCPU203の内蔵カウンタ)の値n、tをそれぞれ「1」、「tk(n―1)」にセットする(S32、33)。図9のサブルーチンからの復帰直後は、テーブル1の値を用いて積分範囲がセットされる。すなわちCPU203は、積分開始時刻、積分終了時刻をそれぞれtk0、tk1に設定すると共にカウント値n、tをそれぞれ「1」、「tk0」にセットする。
【0097】
CPU203は、積分範囲およびカウント値の設定を終えると次いで、以下の式(1)および(2)を用いて鉛直変位量Zを求める。先ず、S34の処理を実行して座標変換係数を求める。座標変換係数とは、加速度デジタル信号の各ベクトル(x、y、z軸方向の加速度成分であり、それぞれに「Ax」、「Ay」、「Az」を付す)を座標変換して静的な3次元直交座標系に一致させるための係数である。CPU203は、座標変換係数を得るために先ず、角速度デジタル信号の各成分(x、y、z軸周りの角速度)を時間積分してロール角φ、ピッチ角θ、ヨー角Ψを得る。次いで、得られたロール角φ、ピッチ角θ、ヨー角Ψの各値を回転変換行列Rφ、Rθ、RΨに与えて、座標計算係数Rott{φt、θt、Ψt}を算出する(式(1)参照)。
【数1】
【0098】
CPU203は座標変換係数を算出すると次いで、時刻tに得られた加速度デジタル信号のベクトル{Ax(t)、Ay(t)、Az(t)}を座標計算係数Rott{φt、θt、Ψt}で座標変換して、静的な3次元直交座標系に対応するベクトル{AX(t)、AY(t)、AZ(t)}を得る(S35)。これにより、Z軸に対応した、時刻tにおける高齢者の体幹の鉛直加速度AZ(t)が得られる(式(2)参照)。
【数2】
【0099】
S34および35の処理について具体的説明を加える。例えばカウンタのカウント値tがtk0である場合、S34の処理においてCPU203は、判定用データセット群の中から時刻tk0に対応する角速度デジタル信号を読み出して、その値を式(1)に与えて座標変換係数を得る。次いでS35の処理では、時刻tk0に対応する加速度デジタル信号を読み出して、得られた座標変換係数を式(2)に与えて鉛直加速度AZ(t)を得る。
【0100】
CPU203はS35の処理で得た鉛直加速度AZ(t)を時間で2階積分する。これにより、時刻tk0を始点とする時間Δtで変位した、高齢者の体幹の鉛直変位量Δdn(ここではΔd1)が求まる(S36)。算出された各鉛直変位量Δd1は例えばRAM205に保持される。なお、Δtは、判定用データセットのサンプリング周期に対応する値である。
【0101】
CPU203は、算出した鉛直変位量Δd1を鉛直変位量d1に加算して(S37)、S38の処理に進む。次いで、現在のカウント値tがtkn(ここではtk1)である場合、積分範囲の全ての鉛直変位量Δd1を算出して鉛直変位量d1を得たと判断し(S38:YES)、当該鉛直変位量d1をテーブル1に入力する。次いで、処理をS39に進める。
【0102】
また、S38の処理においてCPU203は、カウント値tがtk1でない場合には積分が完了していないと判断して(S38:NO)カウント値tをカウントアップし(S41)、S34の処理に復帰してサブルーチンを繰り返す。なお、カウントアップする値はΔtに対応する値である。従って、S34および35の処理で参照される判定用データセットは、カウントアップされる毎に次の判定用データセットに移る。
【0103】
S39の処理においてCPU203は、配列インデックス中を検索して、鉛直変位量dnが未入力のテーブルが存在するか否かを判定する。未入力のテーブルが存在する場合には(S39:YES)、カウント値nを1インクリメントし(S40)、S33の処理に復帰してサブルーチンを繰り返す。また、全てのテーブルで鉛直変位量dnが入力されている場合には(S39:NO)、CPU203は、サブルーチンの繰り返しにより全ての鉛直変位量dnを算出したと判断し、S42の処理に進む。ここでの例によれば、CPU203は、4つの変位量d1、d2、d3、d4を算出する。
【0104】
次いで、CPU203は、算出された鉛直変位量の各々が閾値d_th’以上の値を有するか否かを判定する(S42)。そして、閾値d_th’以上の鉛直変位量を検出した場合、検出された鉛直変位量を加算して鉛直変位量Zを得る(S43)。CPU203は、算出した鉛直変位量Zを図4のメインルーチンに返す。なお、S42の処理において何れの鉛直変位量も閾値d_th’を下回る場合、CPU203は図5のサブルーチンと同様にエラー処理を実行する。
【0105】
ここでは、例えば鉛直変位量d3とd4が閾値d_th’以上の値を有するものとする。この場合、S43の処理において鉛直変位量d3とd4が加算され、鉛直変位量Zが得られる。換言すると、鉛直変位量d1とd2は閾値d_th’を下回る。これは、鉛直変位量d1とd2に対応する動作が高齢者の転倒とは無関係な動作であることを意味する。
【0106】
例えば高齢者がつまずいたり物にぶつかったりして衝撃を受けた場合、高齢者の体幹が瞬間的に大きく動くため、加速度センサ107が比較的大きな値を出力する。そしてこの出力に基づいて、転倒判定装置200で鉛直変位量d1やd2等が検出される。しかし、つまずきや衝撃によっては体幹自体の実際の変位量が小さい場合もある。この場合、高齢者が体勢を正して通常動作できる状態に戻る可能性が高い。すなわち比較的小さなつまずきや衝撃は、転倒時の一連の動作に含まれない、転倒とは無関係な動作になる可能性が高い。
【0107】
そこで、本実施例1においては、鉛直変位量d1やd2等のような比較的小さな変位量を転倒動作と無関係であるとみなし、S43の処理で鉛直変位量Zを算出する際に加算しない。S43の処理で加算される鉛直変位量は、転倒時の一連の動作に含まれる可能性の高い、比較的大きな鉛直変位量d3とd4のみである。鉛直変位量d3やd4は、転倒に結びつく程度の比較的大きなつまずきや衝撃、或いは転倒そのものである可能性が高い。
【0108】
CPU203は、図8のサブルーチンから図5のメインルーチンに復帰すると、次にS15のオフセット値演算処理を実行する。このオフセット値演算処理も鉛直変位量演算プログラム209bと同様にサブルーチン化されており、オフセット量演算プログラム209cにより実行される。
【0109】
図10に、オフセット値演算処理のサブルーチンを示す。図10のサブルーチンは、鉛直変位量Zに対するオフセット値Oを演算し、演算して得られたオフセット値Oを戻り値としてメインルーチンに返す。オフセット値Oを演算する理由には、例えば周辺環境や動作環境等の変化により発生する加速度センサ107等の誤差を考慮に入れて、より高精度な転倒判定を行うことが挙げられる。
【0110】
より詳細には、図10のサブルーチンは、図8のS35の処理の前後における周辺環境や動作環境等の変化に起因した加速度センサ107等の誤差を低減して鉛直変位量Zの算出精度向上や転倒判定の精度向上を達成(換言すると、後述のS17の処理で高齢者が実際に転倒していないにも拘わらず転倒したと誤判定する確率を低減)するために実行される。
【0111】
図10に示されるように、CPU203は、時刻tsからtuまでの各サンプリング時刻に対応する鉛直加速度AZ(t)を取得する(S61)。時刻tsは例えばtuから所定時間遡った時刻である。なお、鉛直加速度AZ(t)を求める方法は図8のS31〜S35の処理と同様であるため、ここでの説明を省略する。CPU203は次いで、S61の処理で取得された各鉛直加速度AZ(t)の平均値および標準偏差を求めた後、当該平均値および標準偏差に基づいて鉛直加速度AZ(t)の補正値を求める(換言すると、加速度センサ107等の出力値の誤差を推定する)。続いて、求められた鉛直加速度AZ(t)の補正値を2階積分し、鉛直変位量Zを補正するためのオフセット値Oを得る(S62)。CPU203は取得したオフセット値Oを戻り値として図5のメインルーチンに返す。
【0112】
CPU203は、図10のサブルーチンから図5のメインルーチンに復帰すると、次にS16の処理を実行して鉛直変位量Z’を得る。鉛直変位量Z’は、各サブルーチンの戻り値の差分、すなわち鉛直変位量Zからオフセット値Oを減算することで得られる。換言するとS16の処理は、オフセット値Oを用いて閾値d_th(後述)を擬似的に変化させているとも云える。このため、S16の処理において鉛直変位量Zの代替として、オフセット値Oを用いて閾値d_thを補正しても良い。
【0113】
鉛直変位量Z’取得後、メインルーチンはS17の通知判定処理に進む。この通知判定処理も鉛直変位量演算プログラム209b等と同様にサブルーチン化されており、通知判定プログラム209dにより実行される。
【0114】
図11に、通知判定処理のサブルーチンを示す。図11のサブルーチンでは、CPU203は、高齢者が転倒したか否かを判定し、その判定結果に応じて家族又は介護者等に転倒したことを通知する。具体的には、CPU203は、S16の処理で得られた鉛直変位量Z’が閾値d_th以上か否かを判定する(S71)。CPU203は、鉛直変位量Z’が閾値d_th以上である場合(S71:YES)、高齢者の体幹の鉛直変位量が通常ではあり得ない程度に大きく、高齢者が転倒したと判断する。
【0115】
CPU203は、高齢者の転倒を家族又は介護者等に通知するため、ディスプレイ213にアラートを表示させると共に(S72)、通信部215を制御してネットワーク経由での通知を行う(S73)。次いで、CPU203の実行が図5のメインルーチン(より正確にはS11の処理)に復帰して、判定用データセット群の受信待機状態に移行する。
【0116】
また、CPU203は、鉛直変位量Z’が閾値d_thを下回る場合には(S71:NO)、高齢者の体幹の鉛直変位量が通常範囲であり、転倒していないと判断してメインルーチンに復帰し、判定用データセット群の受信待機状態に移行する。
【0117】
図4(b)に、鉛直変位量Z’と時間の関係をグラフで示す。図4(b)の例によれば、鉛直変位量Z’が閾値d_thを上回る。従ってこの場合、S72およびS73の処理が実行され、ディスプレイ213にアラートが表示されると共に、高齢者の転倒が家族又は介護者等に通知される。
【0118】
なお、上記ネットワークには、例えばキャリアの通信網や、イントラネット、インターネット等を含む各種通信網が含まれる。また、ROM207(又は図示しない不揮発性メモリ等)には、例えば家族又は介護者等の連絡先(例えば携帯電話やPHS(Personal Handyphone System)等のアドレス、電話番号、Eメールアドレス等)が記憶されている。CPU203は、ROM207や不揮発性メモリに記憶された連絡先を読み出して、例えばメーラ等を起動して所定のアラートメッセージを作成し送信する。
【0119】
また、ディスプレイ213のアラート表示には、例えば家族又は介護者等の連絡先(上記不揮発性メモリに記憶された連絡先とは別の連絡先)と共に、その連絡先に至急連絡して欲しい旨を周囲の人に報知するメッセージが含まれる。周囲にいる人(例えば友人等)は、高齢者の転倒に気付いたとき、ディスプレイ213に表示された連絡先を見て、その連絡先に連絡することができる。このような人的な連絡は、例えば通信部215が利用するネットワークに障害が発生してアラートメッセージが家族又は介護者等に届かない場合の保険になり得る。すなわちディスプレイ213のアラート表示は、家族又は介護者等に対する、より確実な転倒通知の一助となる。
【0120】
また、高齢者の転倒を周囲の人に気付き易くさせるために転倒判定装置200にLED(Light Emitting Diode)を別途設け、例えば転倒時にLEDが点滅する構成を採用しても良い。また、上記アラート表示やネットワーク経由のアラートメッセージ送信に加えて、スピーカ223から所定のアラート音を発生するよう転倒判定装置200を構成しても良い。アラート音は、例えば家族又は介護者等が高齢者の近くではあるが目の届かない場所にいる場合に効果的である。
【0121】
このように本実施形態によれば、転倒の疑いを検知するとそれ以降の所定時間分のデータを収集する。そしてその中で転倒した時刻の候補を検出して、候補の中から転倒時の動作に関係する可能性の高いものを選定し、選定された候補に基づく変位量のみを用いて転倒判定を行う。すなわち最終的な変位量を求める段階で、転倒時の動作に関係しない可能性が高い候補を良好に排除できるため、単純な転倒動作パターンから複雑な転倒動作パターンに至るまで、様々な転倒動作パターンの転倒判定を高精度に行うことが可能となる。また、転倒の疑いを検知してから所定時間分のデータを用いて転倒判定を行う観点からも、単純な転倒だけでなく様々なパターンの転倒を判定することが可能となる。
【実施例2】
【0122】
次に、本実施例2の転倒判定処理について説明する。なお、本実施例2(および後述の本実施例3)の転倒判定処理は、積分範囲の設定処理(図9のサブルーチン)だけが本実施例1と異なる。従って、以下においては積分範囲の設定処理のみを説明し、それ以外の処理については既述の説明をもって省略する。
【0123】
図12に、本実施例2で実行される、積分範囲の設定処理のサブルーチンを示す。図12に示されるように、CPU203は初期値設定を行う(S151)。具体的には、内蔵カウンタのカウント値iを「1」にセットする。また、図6のサブルーチンで取得した候補時刻データの数nをカウント値iの最大値n_maxとして設定する。なお、本実施例2においても図7の例に沿って説明する。従って、CPU203は、最大値n_maxとして「4」を設定する。
【0124】
CPU203はS151の処理に次いで、積分開始時刻と積分終了時刻の配列インデックスを作成し、当該インデックスのテーブル値を「1」にセットする(S152)。そして、候補時刻tkiに対応する積分開始時刻tdiおよび積分終了時刻tdi’のエントリを、現在のテーブル値に対応する配列インデックスに入力する(S153)。本実施例2では、積分開始時刻tdiとして候補時刻tkiを時間td/2遡った時刻、積分終了時刻tdi’として候補時刻tkiを時間td/2進めた時刻が入力される。すなわち候補時刻を中心とした積分範囲を示すエントリが作成され、配列インデックスに入力する。このとき適用される積分時間(すなわち積分開始から終了までの時間)tdは固定値である。積分時間tdは例えば実験を重ねた結果得られた時間であり、候補時刻に対応する動作が転倒に関係する動作か否かを判定するのに最適とされる時間である。
【0125】
CPU203はS153の処理に次いで、カウント値iが「4」すなわち最大値n_maxに達したか否かを判定する(S154)。カウント値iが「4」に達している場合には(S154:YES)、全ての候補時刻に対して図12のサブルーチンを実行したと判断し、図8のサブルーチンに復帰する。また、カウント値iが「4」未満の場合には(S154:NO)、図12のサブルーチンで配列インデックスのエントリが未入力の候補時刻が存在すると判断し、S155の処理を実行する。S155の処理においてCPU203は、カウント値iおよびテーブル値を1インクリメントし、S153の処理に復帰して当該サブルーチンを繰り返す。
【0126】
図12のサブルーチンにより、候補時刻tk1、tk2、tk3、tk4に対応する4セットの積分開始時刻と積分終了時刻が得られる。具体的には、各テーブルのエントリとして以下の時刻が得られる。なお、各テーブルにおいて前者が積分開始時刻tdiであり、後者が積分終了時刻tdi’である。
[テーブル1]・・・候補時刻tk1−td/2、tk1+td/2
[テーブル2]・・・候補時刻tk2−td/2、tk2+td/2
[テーブル3]・・・候補時刻tk3−td/2、tk3+td/2
[テーブル4]・・・候補時刻tk4−td/2、tk4+td/2
【0127】
本実施例2においても積分範囲設定後、当該積分範囲を適用して各候補時刻に対応する変位量dnが算出される。次いで、変位量dnの要否判定を経て、転倒時の一連の動作に含まれる可能性の高い鉛直変位量dnだけを用いて鉛直変位量Zが算出され、転倒判定が実行される。本実施例2においても本実施例1と同様の効果が期待される。
【実施例3】
【0128】
次に、本実施例3の転倒判定処理について説明する。
【0129】
図13に、本実施例3で実行される、積分範囲の設定処理のサブルーチンを示す。図13に示されるように、CPU203は初期値設定を行う(S251)。具体的には、内蔵カウンタのカウント値iを「1」にセットする。また、図6のサブルーチンで取得した候補時刻データの数nをカウント値iの最大値n_maxとして設定する。なお、本実施例3においても図7の例に沿って説明する。従って、CPU203は、最大値n_maxとして「4」を設定する。
【0130】
CPU203はS251の処理に次いで、積分開始時刻と積分終了時刻の配列インデックスを作成し、当該インデックスのテーブル値を「1」にセットする(S252)。また、上記内蔵カウンタのカウント値jを「1」にセットする(S253)。
【0131】
次いで、CPU203は、加速度絶対値Ai(−j)が閾値m以下か否かを判定する(S254)。なお、加速度絶対値Ai(−j)とは、候補時刻tkiに対応する加速度絶対値Aiのj個前の加速度絶対値を意味する。例えば加速度絶対値Ai(−2)の場合、候補時刻tkiに対応する加速度絶対値Aiの2つ前の加速度絶対値を意味する。
【0132】
CPU203は、加速度絶対値Ai(−j)が閾値mを上回る場合(S254:NO)、カウント値jを1インクリメントして(S255)、更に1つ前の加速度絶対値に対してS254の処理を再度実行する。また、加速度絶対値Ai(−j)が閾値m以下の場合(S254:YES)、当該の加速度絶対値Ai(−j)に対応する時刻を積分開始時刻tdiとし、そのエントリを現在のテーブル値に対応する配列インデックスに入力する(S256)。
【0133】
CPU203はカウント値jを「1」に再セット後(S257)、加速度絶対値Ai(j)が閾値m以下か否かを判定する(S258)。なお、加速度絶対値Ai(j)とは、候補時刻tkiに対応する加速度絶対値Aiのj個後の加速度絶対値を意味する。例えば加速度絶対値Ai(2)の場合、候補時刻tkiに対応する加速度絶対値Aiの2つ後の加速度絶対値を意味する。
【0134】
CPU203は、加速度絶対値Ai(j)が閾値mを上回る場合(S258:NO)、カウント値jを1インクリメントして(S259)、更に1つ後の加速度絶対値に対してS258の処理を再度実行する。また、加速度絶対値Ai(j)が閾値m以下の場合(S258:YES)、当該の加速度絶対値Ai(j)に対応する時刻を積分終了時刻tdi’とし、そのエントリを現在のテーブル値に対応する配列インデックスに入力する(S260)。
【0135】
CPU203はS260の処理に次いで、カウント値iが「4」すなわち最大値n_maxに達したか否かを判定する(S261)。カウント値iが「4」に達している場合には(S261:YES)、全ての候補時刻に対してS253〜S260の処理を実行したと判断し、S262に進む。また、カウント値iが「4」未満の場合には(S261:NO)、S253〜S260の処理で配列インデックスのエントリが未入力の候補時刻が存在すると判断し、S262の処理を実行する。S262の処理においてCPU203は、カウント値iおよびテーブル値を1インクリメントし、S253の処理に復帰して当該サブルーチンを繰り返す。
【0136】
図13のS253〜S260の処理により、候補時刻tk1、tk2、tk3、tk4に対応する4セットの積分開始時刻と積分終了時刻が得られる。具体的には、各テーブルのエントリとして以下の時刻が得られる。なお、各テーブルにおいて前者が積分開始時刻tdiであり、後者が積分終了時刻tdi’である。また、括弧内の数値は、積分開始又は終了時刻が候補時刻tkiのj個前又は後の時刻であることを意味する。参照のため、図14に、各テーブル(候補時刻)に対応した積分開始時刻tdおよび積分終了時刻tdp’を模式的に表現した図を示す。
[テーブル1]・・・候補時刻tk1(−1)、tk1(1)
[テーブル2]・・・候補時刻tk2(−3)、tk2(2)
[テーブル3]・・・候補時刻tk3(−3)、tk3(4)
[テーブル4]・・・候補時刻tk4(−5)、tk4(2)
【0137】
ここで、図14に参照されるように、候補時刻tk3とtk4の積分範囲は同一である。このように、候補時刻tki間で積分範囲の少なくとも一部が重複する場合、以降の処理において積分処理が重複して実行される。このため、演算される変位量Zが不用意に大きくなり、転倒判定が誤判定になり得る。そこで、本実施例3では以下の処理を実行して、重複する複数の積分範囲を単一の積分範囲にマージする。
【0138】
重複する積分範囲をマージするため、CPU203は先ず、各パラメータ値の設定を行う(S263)。具体的には、内蔵カウンタのカウント値pを「1」にセットすると共に、図6のサブルーチンで取得した候補時刻データの数nをカウント値pの最大値n_max(ここでも「4」)として設定する。また更に、配列インデックスのテーブル値を「1」にセットする(S264)。
【0139】
CPU203はS264の処理に次いで、積分終了時刻tdp’が積分開始時刻td(p+1)以降の時刻であるか否かを判定する(S265)。積分終了時刻tdp’が積分開始時刻td(p+1)以降の時刻である場合(S265:YES)、候補時刻tkpと候補時刻tk(p+1)の積分範囲が重複すると判断して、S266の処理に進む。また、積分終了時刻tdp’が積分開始時刻td(p+1)よりも前の時刻である場合には(S265:NO)、候補時刻tkpと候補時刻tk(p+1)の積分範囲が重複していないと判断して、S270の処理に進む。
【0140】
S266の処理においてCPU203は、現在のテーブル値に対応する積分終了時刻tdp’をtd(p+1)’に変更する。次いで、カウント値pおよびテーブル値を1インクリメントし(S267)、インクリメント後に対応するテーブル値のテーブルを消去する(S268)。
【0141】
CPU203はS268の処理に次いで、カウント値pが「4」すなわち最大値n_maxに達したか否かを判定する(S269)。カウント値pが「4」に達している場合には(S269:YES)、積分範囲のマージ処理の要否判定および実行が完了したと判断し、図8のサブルーチンに復帰する。また、カウント値pが「4」未満の場合には(S269:NO)、積分範囲のマージ処理の要否判定および実行が完了していないと判断し、S270を実行する。S270の処理においてCPU203は、カウント値pおよびテーブル値を1インクリメントし、S265の処理に復帰して当該サブルーチンを繰り返す。
【0142】
S263〜S270の処理を実行した結果、候補時刻tk3とtk4に対応する積分範囲がマージされ、配列インデックスは以下の通りとなる。
[テーブル1]・・・候補時刻tk1(−1)、tk1(1)
[テーブル2]・・・候補時刻tk2(−3)、tk2(2)
[テーブル3]・・・候補時刻tk3(−3)、tk3(4)
【0143】
本実施例3においても積分範囲設定後、当該積分範囲を適用して各候補時刻に対応する変位量dnが算出される。次いで、変位量dnの要否判定を経て、転倒時の一連の動作に含まれる可能性の高い変位量dnだけを用いて変位量Zが算出され、転倒判定が実行される。本実施例3においても本実施例1や2と同様の効果が期待される。
【0144】
以上が本発明の実施の形態である。本発明はこれらの実施の形態に限定されるものではなく様々な範囲で変形が可能である。例えば加速度絶対値に代替として躍度の絶対値を用いて、各処理を実行するようにしても良い。なお、躍度から変位量を算出する場合、躍度を時間で3階積分を行うことになる。
【0145】
また、別の実施の形態では図5のS15のオフセット値演算処理を実行しない構成を採用しても良い。この場合、データ収集装置100や転倒判定装置200のリソースを節約、削減することができ、装置を小型化することも可能である。
【0146】
また、転倒判定装置200は、例えば操作スイッチ等のオン/オフに応じて規定のオフセット値を用い、図5のメインルーチンを実行する構成であっても良い。この場合、転倒判定装置200は、例えば操作スイッチをオンする場合に限りオフセットモードで動作する。オフセットモードにおいて転倒判定装置200は、図5のS15の処理を実行することなくS16の処理を実行して、規定のオフセット値を用いて鉛直変位量Z’を算出する。この形態によれば、オフセット値を算出する必要がないため、制御系の処理負担等の効果が期待される。
【0147】
また、別の実施の形態ではデータ収集装置100と転倒判定装置200を単一の装置として提供することも可能である。例えば各構成要素のデータ通信が全てバスを介して行われるため、処理速度向上が期待される。
【図面の簡単な説明】
【0148】
【図1】本発明の実施の形態の転倒判定システムの構成を示すブロック図である。
【図2】本発明の実施の形態で実行されるデータ収集処理のフローチャートである。
【図3】本発明の実施の形態で実行される転倒疑い判定処理のフローチャートである。
【図4】加速度絶対値と時刻、および変位量と時刻の関係を示すグラフである。
【図5】本発明の第1の実施の形態で実行される転倒判定処理のフローチャートである。
【図6】図5のS13の候補選出処理を示すフローチャートである。
【図7】図6の処理をより具体的に説明するための図である。
【図8】図5のS14の変位量演算処理を示すフローチャートである。
【図9】図8のS31の積分範囲設定処理のフローチャートである。
【図10】図5のS15のオフセット値演算処理のフローチャートである。
【図11】図5のS17の通知判定処理のフローチャートである。
【図12】本発明の第2の実施の形態で実行される積分範囲設定処理のフローチャートである。
【図13】本発明の第3の実施の形態で実行される積分範囲設定処理のフローチャートである。
【図14】各候補時刻に対応した積分開始および終了時刻を模式的に表現した図である。
【符号の説明】
【0149】
1 転倒判定システム
100 データ収集装置
103、203 CPU
105、205 RAM
107 加速度センサ
109 角度度センサ
111、211 RTC
113、207 ROM
115 A/D変換部
117、217 データ送受信部
119、219 電源
121、221 バス
200 転倒判定装置
213 ディスプレイ
215 通信部
223 スピーカ
【特許請求の範囲】
【請求項1】
人の転倒を判定する転倒判定システムにおいて、
人の体幹に取り付けられ、該体幹の鉛直方向の変位量に応じた値を出力するセンサと、
第1の時間分の前記センサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定手段と、
選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、前記センサの出力値を用いて演算する候補変位量演算手段と、
演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出手段と、
算出された転倒変位量に基づいて前記人の転倒を判定する転倒判定手段と、を備えたこと、を特徴とする転倒判定システム。
【請求項2】
前記センサの出力に基づいて、転倒と疑わしい事象が発生したか否かを判定する転倒疑い判定手段を更に備え、
前記候補選定手段は、前記転倒疑い判定手段により該事象発生が検知されてから前記第1の時間分の出力値を対象に転倒候補データを選定すること、を特徴とする請求項1に記載の転倒判定システム。
【請求項3】
前記センサの出力値の誤差を推定して補正値を算出する補正値算出手段と、
算出された補正値に基づいて前記転倒変位量を補正する補正手段と、を更に備えたこと、を特徴とする請求項2に記載の転倒判定システム。
【請求項4】
前記補正値算出手段は、前記転倒と疑わしい事象発生直前の第2の所定時間分の出力値に基づいて前記補正値を算出すること、を特徴とする請求項3に記載の転倒判定システム。
【請求項5】
前記補正手段は、前記補正値算出手段により算出された補正値に基づいて前記転倒変位量を補正するためのオフセット値を算出するオフセット値算出手段を含むこと、を特徴とする請求項3または請求項4の何れかに記載の転倒判定システム。
【請求項6】
前記第1の条件は、第1の閾値以上の出力値を有することであること、を特徴とする請求項1から請求項5の何れかに記載の転倒判定システム。
【請求項7】
前記候補変位量演算手段は、前記第1の時間分の出力値を転倒候補データ毎に区切り、各区間の出力値群を用いて候補変位量を演算すること、を特徴とする請求項1から請求項6の何れかに記載の転倒判定システム。
【請求項8】
前記候補変位量演算手段は、各転倒候補データ前後の所定時間分の出力値群を用いて、各転倒候補データに対応する候補変位量を演算すること、を特徴とする請求項1から請求項6の何れかに記載の転倒判定システム。
【請求項9】
前記候補変位量演算手段は、各転倒候補データの前後に近接し且つ前記第1の閾値よりも低い第2の閾値以下の2つの出力値間の出力値群を用いて、各転倒候補データに対応する候補変位量を演算すること、を特徴とする請求項6に記載の転倒判定システム。
【請求項10】
前記候補変位量演算手段は、複数の出力値群が互いに重複する期間の出力値を含むか否かを判定し、重複する期間の出力値を含むと判定した場合に、該複数の出力値群を単一の出力値群にマージすること、を特徴とする請求項7から請求項9の何れかに記載の転倒判定システム。
【請求項11】
前記第2の条件は、第3の閾値以上の値を有することであること、を特徴とする請求項1から請求項10の何れかに記載の転倒判定システム。
【請求項12】
前記転倒変位量算出手段は、前記第2の条件を満たす候補変位量のみを加算して転倒変位量を算出すること、を特徴とする請求項1から請求項11の何れかに記載の転倒判定システム。
【請求項13】
前記センサは加速度センサ又は躍度センサを含み、
前記転倒疑い判定手段は前記加速度センサ又は躍度センサの出力を監視して、所定の閾値以上の出力値を検知した時点で転倒と疑わしい事象が発生したと判定し、
前記候補変位量演算手段は、前記加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算すること、を特徴とする請求項2に記載の転倒判定システム。
【請求項14】
前記センサは角速度センサを更に含み、
前記候補変位量演算手段は前記角速度センサの出力値を用いて、前記加速度センサ又は躍度センサの出力値のベクトルを所定の静的な座標系に対応するよう変換し、変換後の前記加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算すること、を特徴とする請求項13に記載の転倒判定システム。
【請求項15】
前記転倒変位量算出手段が算出した転倒変位量を補正するか否か選択する補正選択手段と、
前記転倒変位量を補正するよう選択された場合に、所定の補正値を用いて当該転倒変位量を補正する補正手段と、を更に備えたこと、を特徴とする請求項1から請求項14の何れかに記載の転倒判定システム。
【請求項16】
前記転倒判定手段により該人が転倒したと判定された場合にその旨を通知する転倒通知手段を更に備えたこと、を特徴とする請求項1から請求項15の何れかに記載の転倒判定システム。
【請求項17】
前記転倒報知手段は、
アラートを表示可能なアラート表示手段、
アラート音を出力するアラート音出力手段、
所定の連絡先にアラートメッセージを送信するアラートメッセージ送信手段、の少なくとも1つを含み、
前記転倒判定手段により前記人が転倒したと判定された場合に、前記アラート表示手段によるアラート表示、前記アラート音出力手段によるアラート音の出力、前記アラートメッセージ送信手段による前記所定の連絡先へのアラートメッセージの送信、の少なくとも1つを実行すること、を特徴とする請求項16に記載の転倒判定システム。
【請求項18】
人の転倒を判定する転倒判定方法において、
人の体幹に取り付けられたセンサが、該体幹の鉛直方向の変位量に応じた値を出力するセンサ出力ステップと、
第1の時間分の前記センサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定ステップと、
選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、前記センサの出力値を用いて演算する候補変位量演算ステップと、
演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出ステップと、
算出された転倒変位量に基づいて前記人の転倒を判定する転倒判定ステップと、を含む転倒判定方法。
【請求項19】
前記センサの出力に基づいて、転倒と疑わしい事象が発生したか否かを判定する転倒疑い判定ステップを更に含み、
前記候補選定ステップにおいて、前記転倒疑い判定ステップで該事象発生が検知されてから前記第1の時間分の出力値を対象に転倒候補データを選定する、請求項18に記載の転倒判定方法。
【請求項20】
前記センサの出力値の誤差を推定して補正値を算出する補正値算出ステップと、
算出された補正値に基づいて前記転倒変位量を補正する補正ステップと、を更に含む、請求項19に記載の転倒判定方法。
【請求項21】
前記補正値算出ステップにおいて、前記転倒と疑わしい事象発生直前の第2の所定時間分の出力値に基づいて前記補正値を算出する、請求項20に記載の転倒判定方法。
【請求項22】
前記補正ステップにおいて、前記補正値算出ステップで算出された補正値に基づいて前記転倒変位量を補正するためのオフセット値を算出する、請求項20または請求項21の何れかに記載の転倒判定方法。
【請求項23】
前記第1の条件は、第1の閾値以上の出力値を有することである、請求項18から請求項22の何れかに記載の転倒判定方法。
【請求項24】
前記候補変位量演算ステップにおいて、前記第1の時間分の出力値を転倒候補データ毎に区切り、各区間の出力値群を用いて候補変位量を演算する、請求項18から請求項23の何れかに記載の転倒判定方法。
【請求項25】
前記候補変位量演算ステップにおいて、各転倒候補データ前後の所定時間分の出力値群を用いて、各転倒候補データに対応する候補変位量を演算する、請求項18から請求項23の何れかに記載の転倒判定方法。
【請求項26】
前記候補変位量演算ステップにおいて、各転倒候補データの前後に近接し且つ前記第1の閾値よりも低い第2の閾値以下の2つの出力値間の出力値群を用いて、各転倒候補データに対応する候補変位量を演算する、請求項23に記載の転倒判定方法。
【請求項27】
前記候補変位量演算ステップにおいて、複数の出力値群が互いに重複する期間の出力値を含むか否かを判定し、重複する期間の出力値を含むと判定した場合に、該複数の出力値群を単一の出力値群にマージする、請求項24から請求項26の何れかに記載の転倒判定方法。
【請求項28】
前記第2の条件は、第3の閾値以上の値を有することである、請求項18から請求項27の何れかに記載の転倒判定方法。
【請求項29】
前記転倒変位量算出ステップにおいて、前記第2の条件を満たす候補変位量のみを加算して転倒変位量を算出する、請求項18から請求項28の何れかに記載の転倒判定システム。
【請求項30】
前記センサが加速度センサ又は躍度センサであり、
前記転倒疑い判定ステップでは、前記加速度センサ又は躍度センサの出力を監視して、所定の閾値以上の出力値を検知した時点で転倒と疑わしい事象が発生したと判定し、
前記候補変位量演算ステップでは、前記加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算する、請求項19に記載の転倒判定方法。
【請求項31】
前記センサには角速度センサも含まれ、
前記候補変位量演算ステップでは、前記角速度センサの出力値を用いて、前記加速度センサ又は躍度センサの出力値のベクトルを所定の静的な座標系に対応するよう変換し、変換後の前記加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算する、請求項30に記載の転倒判定方法。
【請求項32】
前記転倒変位量算出ステップで算出された転倒変位量を補正するか否か選択する補正選択ステップと、
前記転倒変位量を補正するよう選択された場合に、所定の補正値を用いて当該転倒変位量を補正する補正ステップと、を更に含む、請求項18から請求項31の何れかに記載の転倒判定方法。
【請求項33】
前記転倒判定ステップにおいて該人が転倒したと判定された場合にその旨を通知する転倒通知ステップを更に含む、請求項18から請求項32の何れかに記載の転倒判定方法。
【請求項34】
前記転倒報知ステップでは、前記転倒判定ステップにおいて前記人が転倒したと判定された場合に、ディスプレイ上にアラート表示すること、スピーカでアラート音を出力すること、ネットワーク経由で所定の連絡先にアラートメッセージを送信すること、の少なくとも1つを実行する、請求項33に記載の転倒判定方法。
【請求項35】
請求項18から請求項34の何れかに記載の転倒判定方法をコンピュータに実行させるための転倒判定プログラム。
【請求項1】
人の転倒を判定する転倒判定システムにおいて、
人の体幹に取り付けられ、該体幹の鉛直方向の変位量に応じた値を出力するセンサと、
第1の時間分の前記センサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定手段と、
選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、前記センサの出力値を用いて演算する候補変位量演算手段と、
演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出手段と、
算出された転倒変位量に基づいて前記人の転倒を判定する転倒判定手段と、を備えたこと、を特徴とする転倒判定システム。
【請求項2】
前記センサの出力に基づいて、転倒と疑わしい事象が発生したか否かを判定する転倒疑い判定手段を更に備え、
前記候補選定手段は、前記転倒疑い判定手段により該事象発生が検知されてから前記第1の時間分の出力値を対象に転倒候補データを選定すること、を特徴とする請求項1に記載の転倒判定システム。
【請求項3】
前記センサの出力値の誤差を推定して補正値を算出する補正値算出手段と、
算出された補正値に基づいて前記転倒変位量を補正する補正手段と、を更に備えたこと、を特徴とする請求項2に記載の転倒判定システム。
【請求項4】
前記補正値算出手段は、前記転倒と疑わしい事象発生直前の第2の所定時間分の出力値に基づいて前記補正値を算出すること、を特徴とする請求項3に記載の転倒判定システム。
【請求項5】
前記補正手段は、前記補正値算出手段により算出された補正値に基づいて前記転倒変位量を補正するためのオフセット値を算出するオフセット値算出手段を含むこと、を特徴とする請求項3または請求項4の何れかに記載の転倒判定システム。
【請求項6】
前記第1の条件は、第1の閾値以上の出力値を有することであること、を特徴とする請求項1から請求項5の何れかに記載の転倒判定システム。
【請求項7】
前記候補変位量演算手段は、前記第1の時間分の出力値を転倒候補データ毎に区切り、各区間の出力値群を用いて候補変位量を演算すること、を特徴とする請求項1から請求項6の何れかに記載の転倒判定システム。
【請求項8】
前記候補変位量演算手段は、各転倒候補データ前後の所定時間分の出力値群を用いて、各転倒候補データに対応する候補変位量を演算すること、を特徴とする請求項1から請求項6の何れかに記載の転倒判定システム。
【請求項9】
前記候補変位量演算手段は、各転倒候補データの前後に近接し且つ前記第1の閾値よりも低い第2の閾値以下の2つの出力値間の出力値群を用いて、各転倒候補データに対応する候補変位量を演算すること、を特徴とする請求項6に記載の転倒判定システム。
【請求項10】
前記候補変位量演算手段は、複数の出力値群が互いに重複する期間の出力値を含むか否かを判定し、重複する期間の出力値を含むと判定した場合に、該複数の出力値群を単一の出力値群にマージすること、を特徴とする請求項7から請求項9の何れかに記載の転倒判定システム。
【請求項11】
前記第2の条件は、第3の閾値以上の値を有することであること、を特徴とする請求項1から請求項10の何れかに記載の転倒判定システム。
【請求項12】
前記転倒変位量算出手段は、前記第2の条件を満たす候補変位量のみを加算して転倒変位量を算出すること、を特徴とする請求項1から請求項11の何れかに記載の転倒判定システム。
【請求項13】
前記センサは加速度センサ又は躍度センサを含み、
前記転倒疑い判定手段は前記加速度センサ又は躍度センサの出力を監視して、所定の閾値以上の出力値を検知した時点で転倒と疑わしい事象が発生したと判定し、
前記候補変位量演算手段は、前記加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算すること、を特徴とする請求項2に記載の転倒判定システム。
【請求項14】
前記センサは角速度センサを更に含み、
前記候補変位量演算手段は前記角速度センサの出力値を用いて、前記加速度センサ又は躍度センサの出力値のベクトルを所定の静的な座標系に対応するよう変換し、変換後の前記加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算すること、を特徴とする請求項13に記載の転倒判定システム。
【請求項15】
前記転倒変位量算出手段が算出した転倒変位量を補正するか否か選択する補正選択手段と、
前記転倒変位量を補正するよう選択された場合に、所定の補正値を用いて当該転倒変位量を補正する補正手段と、を更に備えたこと、を特徴とする請求項1から請求項14の何れかに記載の転倒判定システム。
【請求項16】
前記転倒判定手段により該人が転倒したと判定された場合にその旨を通知する転倒通知手段を更に備えたこと、を特徴とする請求項1から請求項15の何れかに記載の転倒判定システム。
【請求項17】
前記転倒報知手段は、
アラートを表示可能なアラート表示手段、
アラート音を出力するアラート音出力手段、
所定の連絡先にアラートメッセージを送信するアラートメッセージ送信手段、の少なくとも1つを含み、
前記転倒判定手段により前記人が転倒したと判定された場合に、前記アラート表示手段によるアラート表示、前記アラート音出力手段によるアラート音の出力、前記アラートメッセージ送信手段による前記所定の連絡先へのアラートメッセージの送信、の少なくとも1つを実行すること、を特徴とする請求項16に記載の転倒判定システム。
【請求項18】
人の転倒を判定する転倒判定方法において、
人の体幹に取り付けられたセンサが、該体幹の鉛直方向の変位量に応じた値を出力するセンサ出力ステップと、
第1の時間分の前記センサの出力値の中から第1の条件を満たす出力値を、転倒時の動作に関係し得る転倒候補データとして選定する候補選定ステップと、
選定された各転倒候補データに対応する該体幹の鉛直方向の候補変位量を、前記センサの出力値を用いて演算する候補変位量演算ステップと、
演算された候補変位量の中で第2の条件を満たす候補変位量のみを用いて転倒変位量を算出する転倒変位量算出ステップと、
算出された転倒変位量に基づいて前記人の転倒を判定する転倒判定ステップと、を含む転倒判定方法。
【請求項19】
前記センサの出力に基づいて、転倒と疑わしい事象が発生したか否かを判定する転倒疑い判定ステップを更に含み、
前記候補選定ステップにおいて、前記転倒疑い判定ステップで該事象発生が検知されてから前記第1の時間分の出力値を対象に転倒候補データを選定する、請求項18に記載の転倒判定方法。
【請求項20】
前記センサの出力値の誤差を推定して補正値を算出する補正値算出ステップと、
算出された補正値に基づいて前記転倒変位量を補正する補正ステップと、を更に含む、請求項19に記載の転倒判定方法。
【請求項21】
前記補正値算出ステップにおいて、前記転倒と疑わしい事象発生直前の第2の所定時間分の出力値に基づいて前記補正値を算出する、請求項20に記載の転倒判定方法。
【請求項22】
前記補正ステップにおいて、前記補正値算出ステップで算出された補正値に基づいて前記転倒変位量を補正するためのオフセット値を算出する、請求項20または請求項21の何れかに記載の転倒判定方法。
【請求項23】
前記第1の条件は、第1の閾値以上の出力値を有することである、請求項18から請求項22の何れかに記載の転倒判定方法。
【請求項24】
前記候補変位量演算ステップにおいて、前記第1の時間分の出力値を転倒候補データ毎に区切り、各区間の出力値群を用いて候補変位量を演算する、請求項18から請求項23の何れかに記載の転倒判定方法。
【請求項25】
前記候補変位量演算ステップにおいて、各転倒候補データ前後の所定時間分の出力値群を用いて、各転倒候補データに対応する候補変位量を演算する、請求項18から請求項23の何れかに記載の転倒判定方法。
【請求項26】
前記候補変位量演算ステップにおいて、各転倒候補データの前後に近接し且つ前記第1の閾値よりも低い第2の閾値以下の2つの出力値間の出力値群を用いて、各転倒候補データに対応する候補変位量を演算する、請求項23に記載の転倒判定方法。
【請求項27】
前記候補変位量演算ステップにおいて、複数の出力値群が互いに重複する期間の出力値を含むか否かを判定し、重複する期間の出力値を含むと判定した場合に、該複数の出力値群を単一の出力値群にマージする、請求項24から請求項26の何れかに記載の転倒判定方法。
【請求項28】
前記第2の条件は、第3の閾値以上の値を有することである、請求項18から請求項27の何れかに記載の転倒判定方法。
【請求項29】
前記転倒変位量算出ステップにおいて、前記第2の条件を満たす候補変位量のみを加算して転倒変位量を算出する、請求項18から請求項28の何れかに記載の転倒判定システム。
【請求項30】
前記センサが加速度センサ又は躍度センサであり、
前記転倒疑い判定ステップでは、前記加速度センサ又は躍度センサの出力を監視して、所定の閾値以上の出力値を検知した時点で転倒と疑わしい事象が発生したと判定し、
前記候補変位量演算ステップでは、前記加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算する、請求項19に記載の転倒判定方法。
【請求項31】
前記センサには角速度センサも含まれ、
前記候補変位量演算ステップでは、前記角速度センサの出力値を用いて、前記加速度センサ又は躍度センサの出力値のベクトルを所定の静的な座標系に対応するよう変換し、変換後の前記加速度センサ又は躍度センサの出力値を時間積分して候補変位量を演算する、請求項30に記載の転倒判定方法。
【請求項32】
前記転倒変位量算出ステップで算出された転倒変位量を補正するか否か選択する補正選択ステップと、
前記転倒変位量を補正するよう選択された場合に、所定の補正値を用いて当該転倒変位量を補正する補正ステップと、を更に含む、請求項18から請求項31の何れかに記載の転倒判定方法。
【請求項33】
前記転倒判定ステップにおいて該人が転倒したと判定された場合にその旨を通知する転倒通知ステップを更に含む、請求項18から請求項32の何れかに記載の転倒判定方法。
【請求項34】
前記転倒報知ステップでは、前記転倒判定ステップにおいて前記人が転倒したと判定された場合に、ディスプレイ上にアラート表示すること、スピーカでアラート音を出力すること、ネットワーク経由で所定の連絡先にアラートメッセージを送信すること、の少なくとも1つを実行する、請求項33に記載の転倒判定方法。
【請求項35】
請求項18から請求項34の何れかに記載の転倒判定方法をコンピュータに実行させるための転倒判定プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2009−163537(P2009−163537A)
【公開日】平成21年7月23日(2009.7.23)
【国際特許分類】
【出願番号】特願2008−1136(P2008−1136)
【出願日】平成20年1月8日(2008.1.8)
【出願人】(000113263)HOYA株式会社 (3,820)
【Fターム(参考)】
【公開日】平成21年7月23日(2009.7.23)
【国際特許分類】
【出願日】平成20年1月8日(2008.1.8)
【出願人】(000113263)HOYA株式会社 (3,820)
【Fターム(参考)】
[ Back to top ]