JP6277674B2 - 情報処理装置、情報処理装置の作動方法及びプログラム - Google Patents

情報処理装置、情報処理装置の作動方法及びプログラム Download PDF

Info

Publication number
JP6277674B2
JP6277674B2 JP2013225892A JP2013225892A JP6277674B2 JP 6277674 B2 JP6277674 B2 JP 6277674B2 JP 2013225892 A JP2013225892 A JP 2013225892A JP 2013225892 A JP2013225892 A JP 2013225892A JP 6277674 B2 JP6277674 B2 JP 6277674B2
Authority
JP
Japan
Prior art keywords
inner product
product value
information processing
component vector
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013225892A
Other languages
English (en)
Other versions
JP2015084943A (ja
Inventor
陽介 千田
陽介 千田
史朗 永嶋
史朗 永嶋
耕司 辰巳
耕司 辰巳
真也 中垣
真也 中垣
規洋子 山本
規洋子 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013225892A priority Critical patent/JP6277674B2/ja
Publication of JP2015084943A publication Critical patent/JP2015084943A/ja
Application granted granted Critical
Publication of JP6277674B2 publication Critical patent/JP6277674B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2503/00Evaluating a particular growth phase or type of persons or animals
    • A61B2503/40Animals

Landscapes

  • Measurement Of Distances Traversed On The Ground (AREA)
  • Navigation (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Description

本件開示の発明は、情報処理装置、情報処理装置の作動方法及びプログラムに関する。
近年普及している携帯電話端末等の情報処理装置には、その高機能化に伴い、さまざまなセンサが搭載されている。例えば、加速度センサや角速度センサを有する装置は、センサの出力値に基づいて、装置の現在の状態を判定する。特許文献1、2では、加速度センサや角速度センサの出力値を利用して、情報処理装置を携帯するユーザの歩行状態や姿勢を判定する方法等が提案されている。
特開2010−257395号公報 特開2002−328134号公報
ところで、情報処理装置を携帯するユーザの動作状態を判定する際に、情報処理装置及びセンサの座標系、いわゆるローカル座標系と、グローバル座標系とは軸が一致しないため、各センサのセンサ出力に対して座標変換を施す必要がある。
携帯電話端末等の情報処理装置には、ユーザの操作を処理したり通信を実行したりするためのメインマイコンと、加速度センサ等からの出力情報を処理するサブマイコンを備えるものがある。メインマイコンは、装置全体の制御の他、例えばゲームやブラウザ等のユーザが実行するアプリケーションも動作させるため高性能である。一般に、マイコンの性能と消費電力は比例関係にあると考えてよい。そして、情報処理装置において駆動時間(電池の持続時間)は重要な要素の1つである。情報処理装置における消費電力を抑えれば、情報処理装置の駆動時間を長くすることができる。そこで、メインマイコンはできるだけ休止状態にされる。そのため、通常は、メインマイコンで常時加速度センサの出力をモニタリングしない構成が採用される。
そこで、情報処理装置のサブマイコンが使用される。一般に、サブマイコンの消費電力はメインマイコンの1/200〜1/1000程度である。すなわち、サブマイコンは常時動作状態としても、電力浪費の観点からは支障がない。ただし、サブマイコンの性能は非力であり、整数の四則演算とメモリ操作といった単純な処理であれば実行できる。サブマイコンを用いてユーザの行動評価を常時行うためには、上記のような単純な演算に基づいて必要な処理を行う。
例えば、加速度センサの座標系で出力された値を、上下左右前後のいわゆるグローバル座標系における値に変換する場合、回転行列を利用した演算を行うことでそのような変換を行うことができる。この変換は、通常は三角関数を用いて行う。しかし、上述のように、整数の四則演算とメモリ操作程度の処理が可能なサブマイコンでは、処理負荷の高い三角関数の演算等を行うことはできない。
本件開示の技術は、上記に鑑みてなされたものであり、その目的とするところは、単純な演算処理により、情報処理装置を携帯する運動体の動作状態を判定することである。
本件開示の情報処理装置は、1つの側面では、3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサと、加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、加速度センサのセンサ出力から加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、ローパスフィルタにより抽出された重力成分ベクトルの信号とハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、角速度センサのセンサ出力とローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、第1の内積値算出部により算出された内積値と第2の内積値算出部により算出された内積値を用いて、情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部とを有する。
本件開示の技術によれば、単純な演算処理により、情報処理装置を携帯する運動体の動作状態を判定することができる。
図1は、一実施形態における携帯電話端末のハードウェア構成を示す概略構成図である。 図2は、一実施形態における携帯電話端末の機能部を示す機能構成図である。 図3Aは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。 図3Bは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。 図4Aは、一実施形態におけるユーザの歩行状態を示す模式図である。 図4Bは、一実施形態におけるユーザの歩行状態を示す模式図である。 図5Aは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。 図5Bは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。 図6Aは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。 図6Bは、一実施形態におけるユーザの矢状面、冠状面、横断面を示す模式図である。 図7は、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。 図8は、一実施形態におけるサブマイコンの一部の構成を示す概略構成図である。 図9Aは、一実施形態においてサブマイコンが実行するフローチャートである。 図9Bは、一実施形態におけるユーザの位置及び方位を示す模式図である。 図10は、一実施形態においてサブマイコンが実行するフローチャートである。 図11Aは、一実施形態においてサブマイコンが実行するフローチャートである。 図11Bは、一実施形態における角速度の時間変化を示すグラフである。 図12Aは、一実施形態においてサブマイコンが実行するフローチャートである。 図12Bは、一実施形態におけるユーザの歩行状態と角速度の関係を示すグラフである。 図13Aは、一実施形態においてサブマイコンが実行するフローチャートである。 図13Bは、一実施形態においてサブマイコンが実行するフローチャートである。 図13Cは、一実施形態におけるユーザの歩行状態と角速度の関係を示すグラフである。 図14は、一実施形態における馬の歩容を例示する図である。 図15は、一実施形態におけるサブマイコンの一部の構成を示す概略構成図である。 図16Aは、一実施形態においてサブマイコンが実行するフローチャートである。 図16Bは、一実施形態においてサブマイコンが実行するフローチャートである。 図16Cは、一実施形態においてサブマイコンが実行するフローチャートである。 図17は、一実施形態における馬の歩容判定の実験結果の例を示すグラフである。 図18は、一実施形態における馬体と携帯端末との位置関係を例示する図である。 図19Aは、一実施形態における、馬の上下方向の角速度の向きの時間変化を示す模式図である。 図19Bは、一実施形態における、馬の上下方向の角速度の向きの時間変化を示す模式図である。 図20は、一実施形態におけるサブマイコンの一部の構成を示す概略構成図である。 図21は、一実施形態における馬の上下方向の動きと左右方向の回転の関係を示すグラフである。 図22Aは、一実施形態においてサブマイコンが実行するフローチャートである。 図22Bは、一実施形態においてサブマイコンが実行するフローチャートである。 図23は、一実施形態における馬の手前判定の実験結果の例を示すグラフである。 図24は、一実施形態におけるサブマイコンの一部の構成を示す概略構成図である。
以下、第1の実施形態における携帯電話端末及びその制御方法について、図面を参照しながら説明する。本実施形態では、運動体である人(ユーザ)が携帯電話端末を携帯している場合を想定する。
図1に示すように、本実施形態における携帯電話端末10は、アンテナ101、RF(Radio Frequency)部102、メインマイコン103、サブマイコン104、ボタン10
5、ディスプレイ106、タッチパネル107、ROM(Read Only Memory)108、RAM(Random-Access Memory)109、加速度センサ110、角速度センサ111を備える。なお、携帯電話端末10が、情報処理装置の一例に相当する。ただし、本実施形態に開示された技術は、携帯電話端末10に限定されず、情報処理装置一般に適用できる。
携帯電話端末10は、アンテナ101を経由して基地局等の外部の無線送受信装置(図示せず)と無線通信を行う。RF部102は、外部の無線送受信装置との送受信において、送信時にベースバンド信号を周波数帯(RF帯)に変調し、受信時にこれらの周波数帯の信号をベースバンド信号に復調する。
メインマイコン103は、ROM108に記憶された制御プログラム108aを実行して、携帯電話端末10が有する各種機能を実現する。サブマイコン104は、加速度センサ110及び角速度センサ111のセンサ出力を演算処理し、携帯電話端末10のユーザの座標系、すなわちグローバル座標系の加速度や角速度に変換する。
ボタン105は、ユーザが携帯電話端末10の操作に使用するハードウェアキーである。ディスプレイ106は、携帯電話端末10において実行される各種処理の結果等の種々の情報を表示する。また、ディスプレイ106は、メインマイコン103やサブマイコン104により実行される種々の処理の処理結果や処理状態、コンテンツ等を表示する。タッチパネル107は、ユーザのタッチ操作等を受け付ける。タッチパネル107はディスプレイ106と重なるように配置されている。ユーザは、タッチパネル107を指等でタッチ操作等することで、ディスプレイ106に表示されたアイコン等の表示項目の選択等を行う。
ROM108は、携帯電話端末10において実行される各種プログラムを格納する。RAM109は、メインマイコン103やサブマイコン104が種々の処理を実行する際に一時的な記憶領域として使用される。すなわち、RAM109はワークエリアとして用いられ、各種プログラムや端末番号等の携帯電話端末の固有情報が格納される。また、RAM109には、ユーザが入力した設定やプログラムの情報、ディスプレイ106等を介してユーザに提供されるデータ等が格納される。
メインマイコン103は、高速演算処理を実行することができるが、消費電力が大きい。したがって、常時動作状態に保つことは好ましくないため、メインマイコン103の動作時間には一定の制限が課せられ、一時的に休止状態に移行される。ところで、ユーザの動作状態を判定する場合、ユーザの動作データを常時取得し、取得した動作データに基づいて動作状態を判定する。
そこで、本実施形態では、サブマイコン104は、少なくともユーザの動作が発生している間は動作状態に保たれ、加速度センサ110や角速度センサ111のセンサ出力を受け取り、センサ出力を演算処理してグローバル座標系の加速度データを生成する。サブマイコン104は、四則演算等の単純な演算処理やROM108やRAM109等のメモリへのアクセス処理等の処理負荷が低い処理を実行する。
したがって、メインマイコン103は、必要な場合に動作状態にされ、サブマイコン104が常時もしくは長時間にわたりユーザの動作状態の判定結果に基づいて、ユーザにわかりやすい値に変換したり統計情報を作成したりして、生成した情報をディスプレイ106に表示する。なお、生成した情報は、アンテナ101を介して外部に送信してもよい。
本実施形態では、携帯電話端末10のROM108に記憶されているアプリケーション等が、CPU103によって実行される。このようなアプリケーション等の実行により、図2に示すように、携帯電話端末10は、内積値算出部201、外積算出部202、絶対値算出部203、動作状態特定部204として機能する。ただし、内積値算出部201、外積算出部202、絶対値算出部203、動作状態特定部204のいずれか1つ以上が、ハードウェア回路であってもよい。
次に、本実施形態において、携帯電話端末10のサブマイコン104において実行される、ユーザが行った所定の動作を判定するための構成、アルゴリズム及び処理について説明する。
図3A及び図3Bは、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザの座標系における上下方向(鉛直方向)の加速度情報を取り出す方法の一例を示す図である。ここでは、ユーザが歩行中である場合を想定している。図3Aに示すように、互いに直交するX軸、Y軸、Z軸が携帯電話端末のローカル座標系を構成する。図3Aにおいて、加速度センサのセンサ出力AはA=(x,y,z)T
与えられる。なお、Tは転置行列を意味する。そして、図3Aに示すように、加速度センサのセンサ出力Aは、ユーザの歩行に伴う振動Sと重力加速度Gの合成と考えることができる。
ここで、人間の歩行について概説する。図4A及び図4Bは、人間の歩行における体幹と両足の動きを模式的に表す図である。図4Aは、人間の歩行を真上(鉛直上方)から見た図であり、図4Bは、人間の歩行を真横(水平方向)から見た図である。体幹20は、人間の股関節から頭部までの部分に対応し、脚20L、20Rはそれぞれ左脚と右脚に対応する。図4A及び図4Bに示すように、人間は、歩行中、左右の脚20L、20Rが交互に地面に着き、体幹20は上下、左右、前後の各方向にそれぞれ揺れる。また、図4A及び図4Bに示すように、体幹20の上下動の周期は、左右の脚20L、20Rの一方が地面から離れて再び着き、さらに他方が地面から離れて再び着くまでの期間と一致する。一方、体幹20の左右の揺れについては、左脚20Lが地面に着いている間は人間の左方向に揺れ、右脚20Rが地面に着いている間は人間の右方向に揺れる。したがって、人間の歩行時における体幹20の左右の揺れの周期は、上下動の周期の2倍の周期、すなわち1/2の周波数である。
また、人間は、歩行中、左脚20Lまたは右脚20Rを地面に着地させる瞬間が最も下方向の加速度が大きくなる。そして、左脚20Lまたは右脚20Rの着地後、体幹20を上昇させる時に上方向の加速度が発生し、体幹20が到達する最上点で当該上方向の加速度が最小になり、以後は代わりに下方向の加速度が発生する。また、左右方向の加速度については、左脚20Lを着地させると左方向の加速度が発生し、右脚20Rを着地させると右方向の加速度が発生する。
図3A及び図3Bに戻ると、図4A及び図4Bを用いて説明したように、ユーザの歩行に伴う振動Sは、所定の周期の繰り返し運動であると言える。したがって、加速度センサのセンサ出力Aを、適切なカットオフ周波数のローパスフィルタ(LPF)やハイパスフィルタ(HPF)に通すと、センサ出力Aを振動成分ベクトルSと重力加速度ベクトルGとに分離することができる。歩行に伴う上下方向の加速度は、振動成分ベクトルSにおける重力加速度ベクトルGと平行なベクトルVで表せる。ベクトルVの大きさをvとし、振動成分ベクトルSと重力加速度ベクトルGのなす角をθとすると、vは以下の式で与えられる。
v = |S| cosθ ・・・(1)
ここで振動成分ベクトルSと重力加速度ベクトルGの内積について考える。内積は、ベクトルのx、y、z成分同士を乗算した後に、乗算した各成分の和を求めることで得られる。なお、振動成分ベクトルSと重力加速度ベクトルGの内積は、定義より以下の式で与えられる。
S ・ G = |S| |G| cosθ ・・・(2)
式(2)を式(1)に当てはめると、以下の式(3)が得られる。
v = S ・ G / |G| ・・・(3)
ここで重力加速度ベクトルGの大きさ|G|は、地球上ではほぼ一定である。すなわち、加速度センサのセンサ出力Aに対して、LPFとHPFを通し、各フィルタの出力の内積を取ることでユーザの歩行運動に伴う上方向の加速度に比例した数値と下方向の加速度に比例した数値とを得ることができる。なお、上記では、ユーザが歩行中であることを想定して説明した。しかし、ユーザが歩行以外の動作を行う場合も、上記のアルゴリズムを踏まえて、加速度センサのセンサ出力Aに対して、LPFとHPFを通すことで、振動成分ベクトルと重力加速度ベクトルがそれぞれ得られる。
次に、図5A及び図5Bは、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザの座標系における水平方向(左右方向)の加速度情報を取り出す方法の一例を示す図である。ここでも、ユーザが歩行中である場合を想定している。また、加速度センサのセンサ出力Aが、ユーザの歩行に伴う振動成分ベクトルSと重力加速度ベクトルGの合成と考えることは、図3A及び図3Bと同じである。ここで振動成分ベクトルSが、重力加速度ベクトルGに平行なベクトルVと、ベクトルVに直交するベクトルHとの和であると考えると、ベクトルHはユーザの歩行に伴う振動成分ベクトルSの水平方向の成分と考えることができる。
ここで、ベクトルHの大きさ|H|を得ることを目的として、振動成分ベクトルSと重力加速度ベクトルGとの外積を考える。内積と同様、外積も四則演算によって得られるため、サブマイコン104のようにメインマイコン103に比べて処理性能の低いマイコンでも計算することができる。図5Bに示すように、振動成分ベクトルSと重力加速度ベクトルGの外積は定義より、ベクトルS及びGと直交する方向で、ベクトルS及びGによって形成される平行四辺形の面積Zと等しい大きさのベクトルである。すなわち、振動成分ベクトルSと重力加速度ベクトルGの外積は、以下の式(4)で与えられる。
Z = |S × G| ・・・(4)
図5Bに示すように、平行四辺形の面積Zは、|G|×|H|とも記述できる。これを式(4)に当てはめると、以下の式(5)が得られる。
|H| = Z / |G| = |S × G| / |G| ・・・(5)
上記の通り、|G|が地球上ではほぼ一定である。したがって、加速度センサのセンサ出力Aに対して、LPFとHPFを通すことで得られる振動成分ベクトルと重力加速度ベクトルとの外積を取って絶対値を求めれば、歩行に伴う振動の水平成分の大きさに比例した数値を得ることができる。
次に、図6Aは、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザの座標系における上下、左右、前後の各方向の加速度情報を取り出す方法の一例を示す図である。ここでも、ユーザが歩行中である場合を想定している。この方法では、図5A及び5Bに示す方法により、振動成分ベクトルSが上下方向及び水平方向に分離されているとする。なお、本方法では、ユーザの歩行が定常状態(等速度運動)に入ると、ユーザの体幹の前後方向の加速度はほとんど発生しないことを利用している。ユーザの体幹の前後方向に加速度が発生しないと考えた場合、図5A及び図5Bにおいて得られる水平方向の加速度|H|は左右方向の加速度の大きさを示している。
さらに、図6Bに示すように、ユーザの体幹のいわゆる矢状面、冠状面、横断面を考えた場合、振動成分ベクトルSは、ユーザの体幹の冠状面に存在する。したがって、振動成分ベクトルSと重力加速度ベクトルGとの外積Fは、ユーザの体幹の前方向(正面側)も
しくは後ろ方向(背面側)を向く。外積Fの前後方向は、振動成分ベクトルSの左右方向の向きに依存する。ここで、ユーザの体幹の前方向を向くベクトルKが既知であると仮定すると、ベクトルFとKとの内積が正である場合、ベクトルFは前方向を向くことがわかる。また、ベクトルFとKとの内積が負である場合、ベクトルFは後ろ方向を向くことがわかる。なお、ベクトルFが前方向を向く場合は、振動成分ベクトルSは、ユーザの体幹の右方向(右手側)を向く。また、ベクトルFが後ろ方向を向く場合は、振動成分ベクトルSは、ユーザの体幹の左方向(左手側)を向く。
さらに、以下の式(6)により、ユーザの体幹の左右方向の加速度について、右方向と左方向とを区別することが可能となる。
h = sign(F・K) |H| ・・・(6)
ここで、「sign(F・K)」は、ベクトルFとベクトルKとの内積の正負を示す。したがって、式(6)により|H|に内積の符号を付加することで、ベクトルHがユーザの体幹の右方向の加速度ベクトルであるか左方向の加速度ベクトルであるかがわかる。
次に、図7は、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザのグローバル座標系における上下、左右、前後の各方向の加速度情報を具体的な値と共に取り出す方法の一例を示す図である。ここでも、ユーザが歩行中である場合を想定している。図6A及び図6Bに示す例では、定常状態においては前後方向の加速度は発生しないと想定した。しかし、図7に示す例では、高分解能の加速度センサを用いることで、前後方向の加速度における微細な変動も検出することができる。
ここで、図4A及び図4Bに示すように、前後方向の変動は上下方向の変動と同期している。そして、下方向に加速するときは前方向に、上方向に加速するときは後ろ方向に加速している(下前と上後ろと考えてもよい)。さらに、左右方向の変動の周期は上下方向及び前後方向の変動周期の2倍である。そこで、この特性を利用し、図7に示す例では、バンドパスフィルタを用いて加速度センサのセンサ出力を、前後方向の加速度と上下方向の加速度が主となるベクトルS1と左右方向の加速度に若干の前後方向の加速度が含まれ
るベクトルS2に分離する。さらに、適当な外積演算により前後方向の加速度と左右方向
の加速度を、いずれも正負が不明である状態で抽出する。前後方向の加速度と左右方向の加速度の正負は、抽出した前後方向の加速度ベクトルと左右方向の加速度ベクトルについて、上下方向の加速度ベクトルとの位相差を用いることで決定することができる。
上記の加速度センサのセンサ出力を利用する方法は、携帯電話端末を携帯するユーザの姿勢が不明な状態で、加速度センサから得られる加速度情報をグローバル座標系における各軸方向の加速度情報に分離する。ところで、センサによって得られる動作情報としては、加速度の他に角速度がある。角速度情報は、角速度センサ(ジャイロ)を用いることで取得できる。しかし、角速度センサのセンサ出力から得られる角速度情報も、上記の加速度情報と同様に、センサ出力そのものからはグローバル座標系におけるどの軸周りの値であるかは不明である。そこで、角速度センサのセンサ出力をユーザのいわゆるピッチ軸、ロール軸、ヨー軸の各軸周りの角速度に変換する。なお、一般に、端末内において加速度センサの検出軸と角速度センサの検出軸は一致するように取り付けられているため、本実施形態でも各検出軸は一致していると想定する。仮に各検出軸が一致していない場合は、あらかじめ適当な校正手段によって2つの検出軸のずれを計測し、計測したずれに応じた座標変換行列をいずれかのセンサの出力値に施せば、各検出軸が一致しているものとして各センサ出力を扱うことができる。
携帯電話端末内の角速度センサのセンサ座標系Σ1について、互いに直交するXYZの3軸を設定し、センサ座標系Σ1におけるX軸、Y軸、Z軸の各軸方向の角速度センサのセンサ出力値をそれぞれxr、yr、zrとする。また、携帯電話端末を携帯するユーザ
の座標系、いわゆるグローバル座標系Σ2について、互いに直交するピッチ軸、ロール軸、ヨー軸の3軸を設定し、グローバル座標系Σ2におけるピッチ軸ロールY軸、ヨー軸の各軸方向の角速度センサのセンサ出力値をそれぞれp、r、yとする。
そして、角速度センサのセンサ出力の値SL(=(xr、yr、zr)T)を、ユーザ
のピッチ軸、ロール軸、ヨー軸周りの角速度SG(=(p、r、y)T)に変換すること
は、センサ座標系Σ1からグローバル座標系Σ2への座標変換を行うことと等価である。ここで、SLからSGへの変換は、座標系Σ1及びΣ2の座標変換行列Rを用いてY=RXを演算すればよい。ここでRは3×3行列で、以下の行列で表される。
Figure 0006277674
座標変換行列Rの各要素a00〜a22は、上記2座標系の各軸についての相対角度を適当な三角関数を用いた演算を通して得ることができる。なお、この演算は周知のものであるため、ここでは詳細な説明は省略する。ただし、上述の通り、三角関数等の演算をサブマイコンで行うことは望ましくない。そこで、センサ座標系Σ1から見たΣ2のXYZ各軸の向きをそれぞれ単位ベクトルex、ey、ezで表したとする。するとベクトルex、ey、ezの各要素は、座標変換行列Rの各要素を用いてex=(a00、a01、a02
T、ey=(a10、a11、a12)T、ez=(a20、a21、a22)Tと表現す
ることができる。すなわち、ベクトルex、ey、ezが分かりさえすれば、角速度センサ
のセンサ出力の値から、グローバル座標系におけるピッチ軸、ロール軸、ヨー軸の各角速度に変換することができる。
図8に、本実施形態における携帯電話端末10のサブマイコン104が有する回路の一部を示す。図9Aに示すように、加速度センサ110のセンサ出力Aは、LPF104cとHPF104dに入力される。上述の通り、LPF104cからは重力加速度ベクトルGが出力され、HPF104dからは振動成分ベクトルSが出力される。
また、図8に示すように、サブマイコン104は、外積演算処理部104e、乗算処理部104f、LPF104g、符号判定部104h、内積演算処理部104iを有する。外積演算処理部104eは、LPF104cから出力されるベクトルGとHPF104dから出力されるベクトルSの外積を求める。なお、外積演算処理部104eが第1、第3、第5、第7の外積算出部の一例に相当する。乗算処理部104fは、外積S×Gに+1又は−1の係数を乗算する。また、LPF104gは、乗算処理部104fの出力の平均値を求める。外積S×Gは、前後方向のベクトルであるから、乗算処理部104fで係数+1又は−1を乗算すると、前後方向のうちの1方向のベクトルを求めることができる。したがって、LPF104gからは、前後方向のうちの1方向のベクトルが出力される。そして、内積演算処理部104iが、その前後方向のうちの1方向のベクトルと外積演算処理部104eから出力される外積S×Gとの内積を求める。
内積演算処理部104iにおいて、内積の符号は、外積S×Gが前方向(すなわち、振動成分ベクトルSが右方向)であれば+1となり、外積S×Gが後ろ方向(すなわち、振動成分ベクトルSが左方向)であれば−1となる。よって、この符号を符号判定部104
hで検出し、+1又は−1を乗算処理部104fに送ることで、LPF104gからは前方向を示すベクトルHが得られる。なお、ここでは便宜上、ベクトルHは「前」方向を示すベクトルであるとしているが、乗算処理部104f、LPF104g、符号判定部104h、内積演算処理部104iのループにおける初期値の設定次第では、ここで説明した「前」方向は「後ろ」方向を示す可能性もある。以下の説明では、LPF104gから出力されるベクトルHの方向は、グローバル座標系Σ2のロール軸(Y軸)における前方向であるとする。
ところで、LPF104cから出力されるベクトルGの方向は、グローバル座標系Σ2のヨー軸(Z軸)方向に等しい。内積演算処理部104jは、LPF104cから出力されるベクトルGと角速度センサ111のセンサ出力の値Xとの内積を演算する。なお、内積演算処理部104jが第2の内積値算出部の一例に相当する。当該内積は以下の式(7)で与えられる。
G・X = |G|ez・X = g y ・・・(7)
ここでgは重力加速度の大きさであり、地上ではほぼ一定値である。そのため、内積演算処理部104jの出力値は、ヨー軸周りの回転の角速度を定数倍したものと等しい。したがって、内積演算処理部104jにおける式(7)により、ヨー軸周りの角速度が算出される。
次に、前方向ベクトルHはセンサ座標系から見た前方向の単位ベクトルeyと適当な実
数k1を用いて式(8)のように表せる。
H = k1 ey ・・・(8)
|H|は、ベクトルSの方向や大きさに依存するためk1は一定値ではない。しかしLP
F104gの時定数を十分大きくすることで、LPF104gから出力されるベクトルHの大きさは、平均化されて所定の短時間において一定値になるとみなせる。このベクトルHと角速度センサ111のセンサ出力の値Xの内積を計算すると、以下の式(9)が得られる。本実施形態では、内積演算処理部104mが式(9)の演算を行う。なお、内積演算処理部104mが、第6の内積値算出部の一例に相当する。
H・X = k1 ey・X= k1 r ・・・(9)
すなわち、短時間的には、式(9)により得られる内積値は、グローバル座標系Σ2におけるロール軸周りの角速度の大きさに比例すると考えられる。ただし、k1がほぼ一定値
であるとみなすことはできても、実際の角速度の大きさは不明である。そこで、本実施形態では、ロール軸周りの角速度の正負を角速度に関連した値として利用して、ユーザの動作を判定する。詳細については後述する。
さらに、前方向ベクトルHと重力加速度ベクトルGとの外積Kを考えると、外積Kは、グローバ座標系における右方向もしくは左方向を示すベクトルである。本実施形態では、外積演算処理部104kにより外積Kが算出される。なお、外積演算処理部104kが、第2、第4、第6の外積算出部の一例に相当する。なお、そこで、外積Kと角速度センサ111のセンサ出力の値Xとの内積を取ると、以下の式(10)が得られる。本実施形態では、内積演算処理部104lが式(10)の演算を行う。なお、内積演算処理部104lが、第3、第4、第5の内積値算出部の一例に相当する。
K・X = k2 ex・X = k2 p ・・・(10)
したがって、式(10)により得られる内積値は、グローバル座標系Σ2におけるピッチ軸周りの角速度に関連した値を取り出すことができる。
次に、本実施形態において、サブマイコン104において算出された、ヨー軸周りの角速度、ロール軸周りの角速度に関連した情報、ピッチ軸周りの角速度に関連した情報を用いて、携帯電話端末10を携帯するユーザの種々の動作を判定する処理例について説明す
る。
図9Aは、図8に示す回路により得られたヨー軸周りの角速度ωyを用いて、屋内ナビゲーションを行う例においてサブマイコン104で実行される処理のフローチャートを示す。なお、以下の説明ではステップをSと略記する。屋内ナビゲーションで重要なことは、図9Bに示すように、適当な基点を取り、基点を原点Oとして設定したXY座標におけるユーザUの相対位置(x,y)を知ることである。ユーザUの位置が分かれば、屋内のどこにいるかがわかり、適切なナビゲーションサービスを提供することができる。図9Aに示すフローチャートのS101〜S109の処理は、適当なサンプリングタイム(ΔT)毎に繰り返し呼ばれるループである。なお、当該サンプリングタイムは、ユーザの歩行周期に対して短いサイクルで1ループが完了するように適宜設定される。
S101では、サブマイコン104は、ユーザのヨー軸周りの各速度ωyを取得する。次いで処理はS102に進む。S102では、サブマイコン104は、周知の手段により、ユーザUが前を向いている方向を特定できたかどうかを確認する。これは例えば、屋内の特定の扉からユーザUが入退室したことやユーザUが廊下を歩いていることをRFID等の外部装置を用いて検知し、検知結果と地図情報とをマッチング処理等することによって、ユーザUが現在どの方向を向いているか、すなわち図9Bに示す現在の方位θを推定できる。推定に成功した場合(S102:Y)、サブマイコン104は、推定方位を現在の方位θとみなす(S103)。推定に失敗した場合(S102:N)、サブマイコン104は、現在の方位θに対し、上記のサンプリング期間ΔT内における角速度の積分値を加算する(S104)。S103、S104の処理が終了すると、処理はS105に進められる。
S105では、サブマイコン104がユーザUの現在の歩数を算出する。S105の処理では、携帯電話端末10が外部装置である歩数計の計算結果を取得して、サブマイコン104がその計算結果を利用する。次いで、処理はS106に進められる。S106では、S102と同様、周知の手段により、ユーザUの現在位置を推定できたかどうかを確認する。ユーザの現在位置の推定に成功した場合(S106:Y)、処理はS107に進められて推定位置を現在位置とみなす。ユーザの現在位置の推定に失敗した場合(S106:N)、処理はS108に進められ、サブマイコン104は、S105において計算結果を取得した歩数計の歩数がカウントアップされたか否かを判定する。サブマイコン104は、歩数計がカウントアップされたと判定した場合(S108:Y)、ユーザUの1歩にかかる移動距離Lを基に、現在位置(x、y)を更新する(S109)。ここで、移動距離Lは、ユーザUの身長等を基に算出してもよいし、S107の処理における推定位置と現在位置との差分を用いて適宜推定してもよい。したがってS104やS109の処理により、ユーザの方位推定(S102)や位置推定(S106)が成功しない場合でも、ユーザのヨー軸周りの角速度を用いて、これらの方位や位置を推定することができる。
次に、図10に、ユーザが台車を押しているか現在歩行中であるか歩行していないかをそれぞれ判定するフローチャートを示す。一般に、人間が台車やベビーカー等の運搬車を押しているときは、両手を運搬車に固定して移動するため、通常の歩行に比べて当該人間のヨー軸周りの回転、すなわち角速度が小さくなる傾向がある。そこで、図10に示す処理により、ユーザが台車を押しているか現在歩行中であるか歩行していないかを判定する。
S201では、サブマイコン104は、ユーザのヨー軸周りの各速度ωyを取得する。次いで処理はS202に進められる。S202において、サブマイコン104は、加速度センサ110等を用いてユーザが現在歩行中であるか否かを判定する。この判定処理は、外部の歩数計等の計算結果を用いることで得られ、周知の処理であるため詳細な説明は省
略する。サブマイコン104は、ユーザが現在歩行中でないと判定した場合(S202:N)、台車押しの確度の値cartを0にして(S210)、非歩行と判定する(S211)。
一方、サブマイコン104は、S202において歩行中であると判定した場合(S202:Y)、ヨー軸周りの角速度ωyの絶対値が所定の閾値よりも大きいか否かを判定する。角速度ωyの絶対値が所定の閾値よりも大きい場合(S203:Y)、サブマイコン104は、台車押しの確度をN1だけ上げる(S204)。S205、S206では、サブマイコン104は、台車押しの確度が所定の値N2より大きくならないよう制限する処理を行う。さらに、S207、S208では、サブマイコン104は、台車押しの確度が0でない値を取る場合、台車押しの確度をデクリメントする。そして、サブマイコンは、台車押しの確度が所定の閾値N3より大きいか否かを判定し(S209)、台車押しの確度がN3より大きければ(S209:Y)台車押しと判定し(S213)、台車押しの確度がN3以下であれば(S209:N)歩行中と判定する(S212)。以上の処理により、ユーザのヨー軸周りの角速度ωyに基づいて台車押しの確度の値を所定の範囲内(0〜N2)で推移させることで、ユーザが台車を押しているか現在歩行中であるか歩行していないかを判定することができる。
次に、図11Aに、ユーザの歩行状態、具体的には歩行時の体の左右のバランスを診断するフローチャートを示す。なお、本フローチャートを実行するにあたり、事前にユーザが歩行中か否かの判定がなされており、サブマイコン104は、ユーザが歩行中であると判定された場合に本フローチャートを実行する。また、本フローチャートは、所定のサンプリング間隔で繰り返し実行される。
S301では、サブマイコン104は、図8に示すようにユーザのロール軸周りの角速度ωrに関連する情報を算出する。ここで「関連する」とは、具体的には、上述の通り、角速度ωrの値は実際のロール軸周りの角速度ではなく、実際のロール軸周りの角速度を定数倍したものであるという意味である。なお、以下では、便宜上角速度ωrに関連する情報を角速度ωrとして説明する。次いで処理はS302に進められる。
S302では、サブマイコン104は、現在の角速度ωrと1サンプリング前の角速度ωr'との積が負であるか否かを判定する。なお、ωr'は後述のS310にて代入される値であるが、ωr'の初期値は適宜設定することができる。S302の処理においてωr
×ωr'が負であるということは、図11Bに示すように、ωrの時間変化を示すグラフ
がゼロクロスしている(ωrの値の符号が変化する)ことを意味する。そこで、図11Bに示すようにωrの半周期分の総和、すなわち中心からの移動量と関連する数値をsumとして、当該グラフがゼロクロスしない(S302:N)間はsumにωrを加算し続ける(S309)。
図11Bに示すように、周期によってはsumが負の値として積算される場合があるので、グラフがゼロクロスしたときに(S302:Y)、サブマイコン104は、S303でsumの値を正にした後、半周期前の総和sum'との比を取ってバランスを算出する
(S305、S306)。なお、サブマイコン104は、S304でsumとsum'の
大きさを判定し、大きい値を小さい値で除算することで、バランスは常に1より大きな値として算出される。したがって、算出された値が1に近づくほど、歩行時における体の左右のバランスがよいといえる。
本フローチャートでは、バランスを算出した後、次回バランス算出のために現在の総和sumを前総和sum'に代入し(S307)、現在の総和sumにはS301において
得られたωrを代入する(S308)。以上の処理により、ユーザのロール軸周りの角速
度に関連する情報の時間変化の周期を利用することで、ユーザの歩行時の体の左右のバランスを診断することができる。なお、上記の処理例では、半周期分の総和を求めているが、総和を求める時間範囲は半周期に限らず適宜決めることができる。また、上記の処理例では、総和の比に基づいて歩行時の体の左右のバランスを算出しているが、図11Bに示すように、グラフの最大値の比(h/h')や時間の比(t/t')に基づいてバランスを算出する構成としてもよい。
次に、図12Aに、ユーザの歩行時に転倒しそうになる等の異常状態が発生したか否かを判定するフローチャートを示す。なお、本フローチャートを実行するにあたり、事前にユーザが歩行中か否かの判定がなされており、サブマイコン104は、ユーザが歩行中であると判定された場合に本フローチャートを実行する。また、本フローチャートは、所定のサンプリング間隔で繰り返し実行される。
図12Bは、携帯電話端末10のローカル座標系におけるx軸とユーザのグローバル座標系におけるピッチ軸とを合わせて、ユーザが歩行した際に転倒しそうになったときのx軸周りの角速度の時間変化を示すグラフである。図に示すように、異常状態が発生する、すなわちユーザが転倒しそうになると、それまでの歩行状態における角速度の変化に比べて角速度が特徴的な変化を示すことがわかる。そこで、サブマイコン104は、図12Aに示すフローチャートを実行することで、ユーザの歩行中に異常状態が発生したか否かを判定することができる。なお、図12Bでは、説明の便宜上、携帯電話端末10のローカル座標系におけるx軸とユーザのグローバル座標系におけるピッチ軸とを合わせているが、図8を参照しながら説明したように、これらの軸を合わせなくても本フローチャートの処理を正常に実行することができる。
S401では、サブマイコン104は、サブマイコン104は、図8に示すようにユーザのピッチ軸周りの角速度ωpに関連する情報を算出する。ここで「関連する」とは、具体的には、上述の通り、角速度ωpの値は実際のピッチ軸周りの角速度ではなく、実際のピッチ軸周りの角速度を定数倍したものであるという意味である。なお、以下では、便宜上角速度ωpに関連する情報を角速度ωpとして説明する。次いで処理はS402に進められる。
S402では、サブマイコン104は、S401で算出したωpの絶対値ωp'を取る
。次いで処理はS403に進められる。S403では、サブマイコン104は、S402で算出したωp'にローパスフィルタ(図示せず)を通した結果ψを算出する。なお、ロ
ーパスフィルタの時定数を歩行周期より十分長く設定することで、ψは当該時定数により定まる時間範囲で平均したピッチ軸周りの角速度の振幅値が得られる。次いで処理はS404に進められる。S404では、サブマイコン104は、S402で算出したωp'が
、S403で算出した平均角速度の振幅値ψをk倍(kは正の整数)した値より大きいかどうか判断する。ωp'がψのk倍より大きければ(S404:Y)、サブマイコン10
4は、異常状態が発生したと判定する(S405)。ωp'がψのk倍以下であれば(S
404:N)、サブマイコン104は本フローチャートの処理を終了する。以上の処理により、ユーザのピッチ軸周りの角速度の時間変化を追跡し、当該加速度が異常な変化を示したときを検出してユーザの歩行が異常状態にあるとみなすことができる。
次に、図13A及び図13Bに、ユーザが、例えばトランクケース等の大きな荷物を片手で持ち上げて歩いているか否かを判定するフローチャートを示す。なお、図13Aのフローチャートにおける「1」及び「2」は、それぞれ図13Bのフローチャートの「1」及び「2」と連続している。図13Cは、ユーザが荷物を運搬しているときのユーザのグローバル座標系におけるロール軸周りの角速度の時間変化を示すグラフである。図に示すように、荷物運搬時はロール軸周りの角速度のバランスが悪くなる。具体的には、半周期
にかかる時間や最大振幅に現れる。図では、一方の半周期にかかる時間が他方の半周期にかかる時間より短く、その最大振幅が大きくなっており(「短く大きい」)、他方の半周期においては最大振幅が一方の半周期における最大振幅が小さくなっている(「長く小さい」)。
そこで、本フローチャートでは、ロール軸周りの角速度のバランスを評価することで、ユーザが荷物を片手で持ち上げて歩いているか否かを判定する。なお、本フローチャートを実行するにあたり、事前にユーザが歩行中か否かの判定がなされており、サブマイコン104は、ユーザが歩行中であると判定された場合に本フローチャートを実行する。また、本フローチャートは、所定のサンプリング間隔で繰り返し実行される。
S501では、サブマイコン104は、図8に示すようにユーザのロール軸周りの角速度ωrに関連する情報を算出する。ここで「関連する」とは、具体的には、上述の通り、角速度ωrの値は実際のロール軸周りの角速度ではなく、実際のロール軸周りの角速度を定数倍したものであるという意味である。なお、以下では、便宜上角速度ωrに関連する情報を角速度ωrとして説明する。次いで処理はS502に進められる。
S502では、図11A及び図11Bに示す場合と同様、ωrの時間変化を示すグラフがゼロクロスしている(ωrの値の符号が変化する)か否かを判定する。ゼロクロスが発生していない場合(S502:N)、カウンタの値cntをインクリメントする(S503)。なお、cntの値はゼロクロスが発生したときにS513で0にされる。S503の処理の後、サブマイコン104は、S504〜S507において、現在の角速度ωrの値と本フローチャートを開始してからの角速度ωrの最大値又は最小値とを比較することで、角速度ωrの最大値と最小値を求める。S508では、サブマイコン104は、現在の角速度ωrの値を1サンプリング前の角速度ωr'の値とする。
S502において、ωrの時間変化を示すグラフがゼロクロスしている場合(S502:Y)、処理はS509に進められる。S509〜S511では、ωrの時間変化における半周期前のカウンタの値cnt'と現在のカウンタの値cntの比を周期のバランスの
値carry1として計算する。図13Bでは、カウンタの値のうち大きい値を小さい値で除算しており、carry1の値は1より大きい値となるため、carry1の値が1に近づくほどユーザの歩行において体の左右のバランスがよいことがわかる。すなわち、周期のバランスを計算することで、図13Cに示すグラフでいえば、半周期にかかる時間が長短を交互に繰り返しているか否かがわかる。
S512、S513では、半周期前のカウンタの値cnt'を現在のカウンタの値で置
き換えた後に現在のカウンタの値cntを初期値である0に戻す。次いで処理はS514に進められる。上述の通り、ωrは半周期ごとに正と負の値を交互に取る。また、S504〜S507で得られる最大値と最小値は、一方がゼロクロスが発生する直前の半周期におけるωrの振幅のピークを示し、他方が当該半周期の1つ前の半周期におけるωrの振幅のピークを示す。そこで、S514〜S516では、これらの最大値と最小値の比を振幅のバランスの値carry2として計算する。S517〜S519では、次回のcarry2の計算のために、当該半周期の1つ前の半周期におけるωrの振幅のピークを示す最大値又は最小値を特定して、その値を0にする。
上記の処理によって得られたcarry1とcarry2は、それぞれωrの時間変化のバランスを表している。そして、carry1の場合は閾値Th1、carry2の場合は閾値Th2と比較し、carry1とcarry2の一方もしくは両方が閾値より大きい値を取る場合は、バランスが悪い歩行である、すなわちユーザが荷物運搬中である(ここでの例では、荷物を片手で持ち上げて歩いている)と判定する(S520、S521
)。以上の処理により、ユーザのロール軸周りの角速度の各周期の時間幅や各周期における振幅の大きさに基づいて、ユーザの歩行のバランスを評価することで荷物運搬中か否かを判定することができる。
なお、carry1とcarry2のいずれか一方を用いて荷物運搬中か否かを判定する場合は、他方に関する演算処理は行わなくてもよい。例えばS520において、carry1を評価する場合、carry2の値を得るための処理(S504〜S507、S514〜S519)は省略できる。逆に、S520においてcarry2を評価する場合は、carry1を得るための処理(S503、S509〜S513)は省略できる。さらに、上記の処理例では、S520でcarry1やcarry2の値が閾値より大きいと判定したときに、S521でユーザは荷物運搬中であると判定しているが、図10のS203〜S213に示すように確度の概念を用いて荷物運搬中であるか否かを判定する構成とすることもできる。
次に、第2の実施形態について図面を参照しながら説明する。なお、本実施形態でも、第1の実施形態の携帯電話端末10と同様の構成を有する携帯端末10’を使用し、以下の説明では、第1の実施形態と同等の構成は同一の符号を用いて詳細な説明を省略する。第2の実施形態では、四脚動物、一例として馬の歩容を判定する。馬等の四脚動物は、移動速度によって歩容、すなわち走り方・歩き方が変わってくる。図14に、馬の代表的な歩容、(1)ウォーク(walk)、(2)トロット(trot)、(3)カンター(canter)、(4)ギャロップ(gallop)を示す。図14では、図中左側に各歩容の馬の脚の位置関係を模式的に示し、各歩容の「1」〜「8」で示す期間における各脚(右前(脚)、左前(脚)、右後(脚)、左後(脚))の接地の有無をそれぞれの模式図の右隣に示す。なお、馬の歩容としては、他にウェイブ、ペース、バウンド等も挙げられるが、図に示す4歩容ほどは一般的でないため、ここでは触れない。
ここで図14からわかるように、カンターの「7」〜「8」に示す期間、ギャロップの「4」及び「8」に示す期間は馬体が完全に宙に浮いている。また、図14では、トロットにおいて、「1」や「4」に示す期間では4脚とも接地しているように見えるが、実際のデータを詳細に確認すると、これらの期間では脚の切り替えが素早く行われており、馬体が宙に浮いている時間が存在することがわかっている。
つまり、馬体が宙に浮いているということは、馬体に取り付けられた加速度センサには無重力状態が生じているといえる。したがって、馬が移動している場合に、加速度センサが無重力状態を検知したとき、馬はトロット、カンター、ギャロップのいずれかの状態にあるとみなすことができる。そこで、本実施形態では、携帯電話端末10を馬の体に取り付け、加速度センサ110のセンサ出力を用いて、サブマイコン104が馬の歩容を判定する。
図15に、本実施形態におけるサブマイコン104の一部の構成を示す。サブマイコン104は、LPF104n、HPF104o、内積演算処理部104p、104qを有する。加速度センサ110のセンサ出力は、LPF104n、HPF104o、内積演算処理部104qにそれぞれ入力される。また、LPF104n、HPF104oの各出力は内積演算処理部104pに入力される。LPF104n、HPF104o、内積演算処理部104pによる一連の処理は、第1の実施形態と同じであるため説明を省略する。LPF104n、HPF104oからは、重力加速度成分ベクトルG’’、振動成分ベクトルS’’がそれぞれ出力される。したがって、内積演算処理部104pからは馬のグローバル座標系における上下方向の振動成分ベクトルの大きさが出力される。一方、内積演算処理部104qは、加速度センサ110のセンサ出力自体について内積演算を施す、すなわちセンサ出力の絶対値の2乗を算出する。なお、内積演算処理部104qが、絶対値算出
部の一例に相当する。便宜上、内積演算処理部104pから得られる出力の値をα、内積演算処理部104qから得られる出力の値をβとする。
図16A〜図16Cに、上記の処理により得られる値α、βを用いて、馬の歩容を判定するフローチャートを示す。なお、本フローチャートは、図15に示す処理により得られた値α、βを用いて所定の間隔ごとに繰り返し実行される。S601において、サブマイコン104は、内積演算処理部104pからの出力値αに基づいて歩行中か否か判定する。当該判定処理は周知であるため説明を省略する。馬が歩行中であると判定された場合(S601:Y)、処理はS602に進められる。また、馬が歩行中でないと判定された場合(S601:N)、処理はS619に進められる。S619では、サブマイコン104は、トロットの確度n_trot、走行の確度n_run、ギャロップの確度n_gallopを0にした後、馬が歩行中でないと判定 する(S620)。ここで、走行の確度
n_runとは、後述するように、現在の馬の歩容がトロットもしくはカンターのいずれかであると判定するために用いられる値である。
S602〜S606では、サブマイコン104は、馬の歩行周期を算出する。まず、サブマイコン104は、上下方向の加速度の値αが極小値を取っているかどうかを判定する(S602)。図16Bに、S602における処理のフローチャートを示す。S701〜S703では、サブマイコン104は、上下方向の加速度の値αについて過去3つのサンプルの値を保持する。図中、3つのサンプルの値のうち、時間的に古いものから順に「left」、「mid」、「right」とする。S704では、サブマイコン104は、3つのサンプルの値のうち「mid」の値が小さいか否かを判定する。厳密には、S602では現在のαの値が極小値であるか否かではなく、1サンプル前のαの値が極小を取ったか否かを判定しているが、原理的には問題ない。なお、S701〜S704の処理でαの値が極小値を取ったか否かを判定するために、αが滑らかな時間変化を示すようS701〜S704の処理の前に適宜フィルタリングを適用してもよい。
S602において、αが極小値を取っていないと判定された場合(S602:N)、サブマイコン104は、歩行周期のカウンタcntをインクリメントする(S603)。また、αが極小値を取ったと判定された場合(S602:Y)、サブマイコン104は、処理をS604に進める。αが極小値を取ったと判定されたときの歩行周期のカウンタcntの値は、αが前回極小値を取ってから今回極小値を取るまでにS602、S603により積算された値である。したがって、cntの値が小さければ、現在の馬の歩容は歩行周期の短いトロットである可能性が高くなる。そこで、cntの値が所定の閾値よりも小さい場合(S604:Y)、トロットの確度n_trotを値N1だけ加算する(S605)。S605の処理を行った後及びcntの値が所定の閾値以上である場合(S604:N)、cntの値を初期値である0に戻す(S606)。
続いて、S607〜S610では、サブマイコン104は、内積演算処理部104から得られる出力の値βが所定の閾値より小さい場合は(S607:Y)走行の確度n_runを値N2だけ加算し(S608)、βが所定の閾値より大きい場合は(S609:Y)ギャロップの確度n_gallopを値N3だけ加算する(S610)。次いで処理はS611に進められる。
S611では、具体的には図16Cに示すように、上記の確度のいずれかをAとし、上限をNとした場合に、S801〜S804により値AがNを超えないようにする処理を行う。S801〜S804の処理により、S605、S608、S610により加算された上記の各確度の値は、S604、S607、S609の判定がNである場合に小さい値となる。すなわち、馬がトロット、カンター、ギャロップのいずれかを止めた後は、時間の経過とともに対応する確度が下がっていく。S611の処理の後、処理はS612に進め
られる。S612〜S618では、各確度を所定の閾値と比較し、確度が所定の閾値より大きい場合に、現在の馬の歩容がその確度に対応する歩容であると判定する。
図17に、本実施形態における歩容判定の実験結果の一例を示す。図中、400のグラフは、取得した加速度センサ110のセンサ出力の時系列情報を示す。また、401及び402のグラフは、図15に示す処理を行った後の上下振動αと絶対値の2乗βの時間変化をそれぞれ示す。
時刻405において、加速度の大きさがS607で用いられる閾値より小さくなってきている。したがって、S608の処理により走行の確度n_runが上がってきている(図中407)。ここで、403のグラフは、上下方向の振動の極小値の間隔408をプロットしたものである。時刻409以降、歩行周期が短くなってきており(410)、S604、S605の処理によりトロットの確度n_trot(411)が上がってきている。
時刻412において、走行の確度n_run及びトロットの確度r_trotがS614及びS615で用いられる閾値413を超えたことから、歩容をトロットと判定している(414:trot)。また、時刻415において歩行周期が長くなってきたため、S604におけるNの判定及びS611の処理によりトロットの確度n_trotが下がってきているが、まだ閾値413より大きいため、歩容はトロットであると判定され続けている。次いで、時刻416において、加速度の絶対値の値βが大きくなって閾値417に達するようになってきたため、S609及びS610の処理によりギャロップの確度n_gallopが上がってきている。そして、時刻418において、トロットの確度n_trotが閾値413より小さくなったため、S614及びS615の処理により歩容はカンターであると判定される(419)。さらに、時刻420において、ギャロップの確度n_gallopがS612で用いられる閾値を超えたため、歩容はギャロップであると判定される(421)。
次に、第3の実施形態について図面を参照しながら説明する。なお、本実施形態でも、第1の実施形態の携帯電話端末10と同様の構成を有する携帯端末10’’を使用し、以下の説明では、第1の実施形態と同等の構成は同一の符号を用いて詳細な説明を省略する。第3の実施形態では、一例として馬の手前を判定する。カンターやギャロップでは、馬の左右の脚の動きが非対称であり、前脚のうちどちらをより前に出したかによって、右手前と左手前という区分がある。一般に、馬がトラックを走る場合に、右カーブでは右手前が、左カーブでは左手前がそれぞれ有利と言われているが、人間の右利きと左利きのように、個々の馬によって得意とする手前が異なると言われている。したがって、特に競走馬の世界では歩容に加えて手前という概念も重視されている。そこで、本実施形態では、対象とする運動体(ここでは一例として馬)の現在の利き足を特定する処理を行う。
本実施形態では、図18に示すように、馬の前両脚の間の胸板に携帯端末10’’を装着する。したがって、本実施形態では、右脚が前に出るときは携帯端末10’’が図の矢印の方向に回転し、左脚が前に出るときはその逆の方向に回転する。図19A及び図19Bに、馬体の上下方向の動きと携帯端末10’’の回転の関係を示す。図19Aは、馬が右手前で移動している場合を示し、図19Bは、馬が左手前で移動している場合を示す。なお、馬は図中の「1」から「8」に順次進んでいく。また、図中、実線が右脚を示し、破線が左脚を示す。
図20に、本実施形態におけるサブマイコン104の一部の構成を示す。本実施形態において、サブマイコン104は、LPF104r、HPF104s、内積演算処理部104t、104uを有する。加速度センサ110のセンサ出力は、LPF104r、HPF
104sにそれぞれ入力される。また、LPF104r、HPF104sの各出力は内積演算処理部104uに入力される。LPF104rの出力は内積演算処理部104tにも入力される。LPF104r、HPF104s、内積演算処理部104uによる一連の処理は、第1の実施形態と同じであるため説明を省略する。さらに、角速度センサ111のセンサ出力が、内積演算処理部104tに入力される。
内積演算処理部104tからは、図8を参照しながら説明したように、ここでは馬のグローバル座標系における上下方向の軸周りの角速度が出力される。LPF104r、HPF104sからは、重力加速度成分ベクトルG’’’、振動成分ベクトルS’’’がそれぞれ出力される。したがって、内積演算処理部104uからは馬のグローバル座標系における上下方向の振動成分ベクトルの大きさが出力される。なお、内積演算処理部104tが、第1の内積値算出部の一例に相当する。便宜上、内積演算処理部104tから得られる出力の値をγ、内積演算処理部104uから得られる出力の値をδとする。
図21は、内積演算処理部104tから得られる出力の値をγ、内積演算処理部104uから得られる出力の値をδの時間変化を示すグラフである。馬の上下方向の加速度の変化と手前に応じて、上下方向の振動の変化と回転方向の角速度の変化の位相差が180°ずれている。したがって、上下方向の振動成分ベクトルの大きさδの極大極小時に上下方向の軸周りの角速度の大きさγとの積を取り、その値が正か負かを判別することで、上記のずれを検出することができる。
図22A及び図22Bに、本実施形態における、手前判定のフローチャートを示す。なお、本フローチャートは、図20に示す処理により得られた値γ、δを用いて所定の間隔ごとに繰り返し実行される。S901では、δが極値を示すか否かを判定する。具体的には、図22BのS1001〜S1005の処理によって、δが極値を示すかを判定する。S1001〜S1005の処理は、図16Bと同様であるため、ここでは説明を省略する。δが極値を示さない場合(S901:N)、サブマイコン104は、γとδの積を演算し、この積をkとして保持する(S912)。δが極値を示す場合(S901:Y)、サブマイコン104は、kの値の正負を判定する(S902)。ここで、サブマイコン104が保持するkの値は、S901〜S917の一連の処理を1サイクルとした場合に、1サイクル前の処理でサブマイコン104が算出したkの値である。これは、上述したようにS902の処理で極値を示すか否かの判定対象となるのは、実際には1サンプル前のkの値であるためである。
kが正の場合(S902:Y)、手前確度rlが左手前らしさを示しているかどうか確認する(S903)。本実施形態では、手前確度rlの値が正の場合に左手前の確度が高く、手前確度rlの値が負の場合は右手間の確度が高いとする。一例として、手前確度rlの値は、その初期値を0とし、S905〜S911の処理により変動する。S903において、手前確度rlが0以上、すなわち左手前らしいのであれば、手前確度rlに値N4を加算する(S904)。本実施形態では、S905、S906の処理により手前確度rlが値N5より大きくならないよう制限している。
一方、kが正の値で手前確度rlが負の値、すなわち右手前らしさを表している場合(S902:Y、S903:N)、手前確度rlを2分の1にする(S907)。なお、kが負の値の場合も(S902:N)、図23Aに示すように、加算と減算、手前確度rlを−N5と比較する等の違いはあるものの、S903〜S907と同様の処理をする(S907〜S911)。S906、S907、S911の処理の後、処理はS912に進められる。さらに、S912の処理の後、処理はS913に進められる。
S913〜S917では、手前確度rlを所定の閾値と比較し、手前確度rlが所定の
閾値より大きければ(S913:Y)、左手前であると判定する(S917)。また、手前確度rlにマイナスを付した値−rlが所定の閾値より小さければ(S914:Y)、右手前であると判定する(S916)。さらに、S913、S914において手前確度rlの値が所定の閾値よりも大きくもなく、−rlが所定の閾値よりも小さくもなければ、手前は不確定であると判定する(S915)。
図23に、本実施形態における手前判定の実験結果を示す。701及び702のグラフは、加速度センサのセンサ出力の時間変化を示す。また、703及び704のグラフは、角速度センサのセンサ出力の時間変化を示す。さらに、705、706は、図20に示す処理によって得られた上下方向の軸周りの角速度γと上下方向の振動成分ベクトルの大きさδを示す。なお、図23に示すように、γとδの値の時間変化が705のグラフでは逆位相に、また、706のグラフでは同位相になっている。さらに、707及び708のグラフは、それぞれ手前確度rlの時間変化を示し、707のグラフでは時間経過とともに手前確度rlが小さくなり、708のグラフでは時間経過とともに手前確度rlが大きくなっている。
図23に示すように、時刻709又は710において、S913又はS914において手前確度rlが閾値711又は712を越え(S913:Y又はS914:Y)、それぞれ右手前、左手前と判定されている。そして、その後時刻713、714において、705又は706のグラフから分かるようにγとδの位相差が安定しなくなり、このため手前確度が低くなってS913〜S915の処理により手前が不確定と判定されている。
以上が本実施形態に関する説明であるが、上記の情報処理装置の構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。例えば、上記では、人や馬の歩行や走行を対象に動作状態を判定しているが、判定対象とする運動体は人や馬に限られない。
また、例えば、第1の実施形態のサブマイコン104について、ピッチ軸周りの角速度に関連した情報とロール軸周りの角速度に関連した情報を算出する回路として、図24に示す回路を採用することもできる。図24に示すように、サブマイコン104は、LPF1004a、バンドパスフィルタ(BPF)1004b、内積演算処理部1004c、1004h、1004j、1004p、1004q、外積演算処理部1004d、1004i、乗算部1004e、1004l、1004n、1004o、符号判定部1004g、1004m、移相フィルタ1004kを有する。ここでは、図24に示す回路の主な特徴について説明する。内積演算処理部1004cからはユーザの上下方向の加速度ベクトルの大きさが出力される。また、内積演算処理部1004jからはユーザの前後方向の加速度ベクトルの大きさが出力される、内積演算処理部1004cの出力に対して移相フィルタ1004kにより所定量位相をずらし、乗算部1004lで内積演算処理部1004jの出力と乗算することで、符号判定部1004mにより、ユーザの前後方向のベクトルK及び左右方向のベクトルHの正負を決定することができる。
したがって、乗算部1004nからは左ベクトルLが、乗算部1004oからは前ベクトルFが得られる。なお、図24に示す回路の初期値次第では、乗算部1004nからは右ベクトルが、乗算部1004oからは後ろベクトルがそれぞれ得られる。さらに、これらのベクトルと角速度センサ111のセンサ出力との内積を求めることで、内積演算処理部1004p、1004qからは、回転方向が確定したピッチ軸周りの角速度に関連した情報とロール軸周りの角速度に関連した情報がそれぞれ出力される。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記情報処理装置の設定
を行うための管理ツール、OSその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。ここで、設定とは、例えばボタン機能の割付等を意味する。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータは、例えば、携帯電話端末等である。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサを有する情報処理装置であって、
前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、
前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、
前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、
前記第1の内積値算出部により算出された内積値と前記第2の内積値算出部により算出された内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部と
を有する情報処理装置。
(付記2)
前記運動体が歩行する場合に、前記第1の内積値算出部により算出された内積値の時間変化と前記第2の内積値算出部により算出された内積値の時間変化との間の位相差に基づいて、前記運動体の利き足を特定する付記1に記載の情報処理装置。
(付記3)
前記情報処理装置は、前記加速度センサのセンサ出力の絶対値を取得する絶対値算出部を有し、
前記動作状態特定部は、前記第1の内積値算出部により算出された内積値の時間変化の周期に基づいて特定される前記運動体の移動周期と前記絶対値算出部により算出された絶対値の大きさに基づいて特定される前記運動体に発生した無重力状態の有無とから前記運動体の動作状態を特定する付記1に記載の情報処理装置。
(付記4)
前記動作状態特定部は、前記運動体が歩行する場合に、前記第2の内積値算出部により算出された内積値の所定期間における積分値に基づいて前記運動体の正面の方位を推定し、前記推定した方位と前記歩行の移動単位の距離により前記運動体の位置を推定する付記
1に記載の情報処理装置。
(付記5)
前記運動体が左右の手を有し、前記動作状態特定部は、前記運動体が歩行する場合に、前記第1の内積値算出部により算出された内積値と所定の閾値との大小比較に基づいて、前記運動体が左右の手を固定して歩行しているか否かを特定する付記1に記載の情報処理装置。
(付記6)
前記情報処理装置は、
前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との外積を演算する第1の外積算出部と、
前記第1の外積算出部により算出された外積と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との外積を演算する第2の外積算出部と、
前記第2の外積算出部により算出された外積と前記角速度センサのセンサ出力との内積値を算出する第3の内積値算出部と
を有し、
前記動作状態特定部は、前記第3の内積値算出部により算出された内積値の所定の周期ごとの総和について、1周期前との総和の比に基づいて前記運動体の移動バランスを特定する
付記1に記載の情報処理装置。
(付記7)
前記情報処理装置は、
前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との外積を演算する第3の外積算出部と、
前記第3の外積算出部により算出された外積と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との外積を演算する第4の外積算出部と、
前記第4の外積算出部により算出された外積と前記角速度センサのセンサ出力との内積値を算出する第4の内積値算出部と
を有し、
前記動作状態特定部は、前記第4の内積値算出部により算出された内積値の時間変化における所定の周期ごとの周期の時間幅に基づいて前記運動体の移動バランスを特定する
付記1に記載の情報処理装置。
(付記8)
前記情報処理装置は、
前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との外積を演算する第5の外積算出部と、
前記第5の外積算出部により算出された外積と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との外積を演算する第6の外積算出部と、
前記第6の外積算出部により算出された外積と前記角速度センサのセンサ出力との内積値を算出する第5の内積値算出部と
を有し、
前記動作状態特定部は、前記第5の内積値算出部により算出された内積値の時間変化における所定の周期ごとの振幅の大小に基づいて前記運動体の移動バランスを特定する
付記1に記載の情報処理装置。
(付記9)
前記情報処理装置は、
前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との外積を演算する第7の外積算出部と、
前記第7の外積算出部により算出された外積と前記角速度センサのセンサ出力との内積値を算出する第6の内積値算出部と
を有し、
前記動作状態特定部は、前記第6の内積値算出部により算出された内積値と、前記第6の内積値算出部により算出された内積値の所定時間の平均値との大小関係に基づいて、前記運動体の移動に異常状態が発生したか否かを特定する
付記1に記載の情報処理装置。
(付記10)
3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定するステップと
を有する情報処理方法。
(付記11)
前記運動体の動作状態を特定するステップは、前記運動体が歩行する場合に、前記第1の内積値の時間変化と前記第2の内積値の時間変化との間の位相差に基づいて、前記運動体の利き足を特定する、付記10に記載の情報処理方法。
(付記12)
前記検出された加速度の絶対値を取得するステップをさらに有し、
前記運動体の動作状態を特定するステップは、前記第1の内積値の時間変化の周期に基づいて特定される前記運動体の移動周期と前記絶対値の大きさに基づいて特定される前記運動体に発生した無重力状態の有無とから前記運動体の動作状態を特定する
付記10に記載の情報処理方法。
(付記13)
前記運動体の動作状態を特定するステップは、前記運動体が歩行する場合に、前記第2の内積値の所定期間における積分値に基づいて前記運動体の正面の方位を推定し、前記推定した方位と前記歩行の移動単位の距離により前記運動体の位置を推定する付記10に記載の情報処理方法。
(付記14)
前記運動体が左右の手を有し、前記運動体の動作状態を特定するステップは、前記運動体が歩行する場合に、前記第1の内積値と所定の閾値との大小比較に基づいて、前記運動体が左右の手を固定して歩行しているか否かを特定する付記10に記載の情報処理方法。
(付記15)
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の外積を演算するステップと、
前記第1の外積と前記抽出された重力成分ベクトルの信号との第2の外積を演算する
ステップと、
前記第2の外積と前記検出された角速度との第3の内積値を算出するステップと
を有し、
前記運動体の動作状態を特定するステップは、前記第3の内積値の所定の周期ごとの総和について、1周期前との総和の比に基づいて前記運動体の移動バランスを特定する
付記10に記載の情報処理方法。
(付記16)
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第3の外積を演算するステップと、
前記第3の外積と前記抽出された重力成分ベクトルの信号との第4の外積を演算するステップと、
前記第4の外積と前記検出された角速度センサとの第4の内積値を算出するステップと
を有し、
前記運動体の動作状態を特定するステップは、前記第4の内積値の時間変化における所定の周期ごとの周期の時間幅に基づいて前記運動体の移動バランスを特定する
付記10に記載の情報処理方法。
(付記17)
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第5の外積を演算するステップと、
前記第5の外積と前記抽出された重力成分ベクトルの信号との第6の外積を演算するステップと、
前記第6の外積と前記検出された角速度との第5の内積値を算出するステップと
を有し、
前記運動体の動作状態を特定するステップは、前記第5の内積値の時間変化における所定の周期ごとの振幅の大小に基づいて前記運動体の移動バランスを特定する
付記10に記載の情報処理方法。
(付記18)
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第7の外積を演算するステップと、
前記第7の外積と前記検出された角速度との第6の内積値を算出するステップと
を有し、
前記運動体の動作状態を特定するステップは、前記第6の内積値と、前記第6の内積値の所定時間の平均値との大小関係に基づいて、前記運動体の移動に異常状態が発生したか否かを特定する
付記10に記載の情報処理方法。
(付記19)
3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の
動作状態を特定するステップと
をコンピュータに実行させるためのプログラム
(付記20)
前記運動体の動作状態を特定するステップは、前記運動体が歩行する場合に、前記第1の内積値の時間変化と前記第2の内積値の時間変化との間の位相差に基づいて、前記運動体の利き足を特定する、付記19に記載のプログラム。
(付記21)
前記検出された加速度の絶対値を取得するステップをさらにコンピュータに実行させ、
前記運動体の動作状態を特定するステップは、前記第1の内積値の時間変化の周期に基づいて特定される前記運動体の移動周期と前記絶対値の大きさに基づいて特定される前記運動体に発生した無重力状態の有無とから前記運動体の動作状態を特定する
付記19に記載のプログラム。
(付記22)
前記運動体の動作状態を特定するステップは、前記運動体が歩行する場合に、前記第2の内積値の所定期間における積分値に基づいて前記運動体の正面の方位を推定し、前記推定した方位と前記歩行の移動単位の距離により前記運動体の位置を推定する付記19に記載のプログラム。
(付記23)
前記運動体が左右の手を有し、前記運動体の動作状態を特定するステップは、前記運動体が歩行する場合に、前記第1の内積値と所定の閾値との大小比較に基づいて、前記運動体が左右の手を固定して歩行しているか否かを特定する付記19に記載のプログラム。
(付記24)
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の外積を演算するステップと、
前記第1の外積と前記抽出された重力成分ベクトルの信号との第2の外積を演算するステップと、
前記第2の外積と前記検出された角速度との第3の内積値を算出するステップと
をさらにコンピュータに実行させ、
前記運動体の動作状態を特定するステップは、前記第3の内積値の所定の周期ごとの総和について、1周期前との総和の比に基づいて前記運動体の移動バランスを特定する
付記19に記載のプログラム。
(付記25)
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第3の外積を演算するステップと、
前記第3の外積と前記抽出された重力成分ベクトルの信号との第4の外積を演算するステップと、
前記第4の外積と前記検出された角速度センサとの第4の内積値を算出するステップと
をさらにコンピュータに実行させ、
前記運動体の動作状態を特定するステップは、前記第4の内積値の時間変化における所定の周期ごとの周期の時間幅に基づいて前記運動体の移動バランスを特定する
付記19に記載のプログラム。
(付記26)
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第5の外積を演算するステップと、
前記第5の外積と前記抽出された重力成分ベクトルの信号との第6の外積を演算するステップと、
前記第6の外積と前記検出された角速度との第5の内積値を算出するステップと
をさらにコンピュータに実行させ、
前記運動体の動作状態を特定するステップは、前記第5の内積値の時間変化における所定の周期ごとの振幅の大小に基づいて前記運動体の移動バランスを特定する
付記19に記載のプログラム。
(付記27)
前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第7の外積を演算するステップと、
前記第7の外積と前記検出された角速度との第6の内積値を算出するステップと、
をさらにコンピュータに実行させ、
前記運動体の動作状態を特定するステップは、前記第6の内積値と、前記第6の内積値の所定時間の平均値との大小関係に基づいて、前記運動体の移動に異常状態が発生したか否かを特定する
付記19に記載のプログラム。
10 携帯電話端末
10’、10’’ 携帯端末
104 サブマイコン
104c、104h、104r、1004a LPF
104d、104o、104s HPF
1004b BPF
104e、104k、1004d、1004i 外積演算処理部
104j、104l、104m、104p、104q、104t、104u、1004c、1004j、1004p、1004q 内積演算処理部
1004l、1004n、1004o 乗算部
1004m 符号判定部
108 ROM
109 RAM
110 加速度センサ
111 角速度センサ
201 内積値算出部
202 外積算出部
203 絶対値算出部
204 動作状態特定部

Claims (24)

  1. 3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサを有する情報処理装置であって、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、
    前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、
    前記第1の内積値算出部により算出された内積値と前記第2の内積値算出部により算出された内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部と
    を有し、
    前記動作状態特定部は、前記運動体が歩行する場合に、前記第1の内積値算出部により算出された内積値の時間変化と前記第2の内積値算出部により算出された内積値の時間変化との間の位相差に基づいて、前記運動体の利き足を特定する
    情報処理装置。
  2. 3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサを有する情報処理装置であって、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、
    前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、
    前記第1の内積値算出部により算出された内積値と前記第2の内積値算出部により算出された内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部と、
    前記加速度センサのセンサ出力の絶対値を取得する絶対値算出部と
    を有し、
    前記動作状態特定部は、前記第1の内積値算出部により算出された内積値の時間変化の周期に基づいて特定される前記運動体の移動周期と前記絶対値算出部により算出された絶対値の大きさに基づいて特定される前記運動体に発生した無重力状態の有無とから前記運動体の動作状態を特定する情報処理装置。
  3. 3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサを有する情報処理装置であって、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、
    前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、
    前記第1の内積値算出部により算出された内積値と前記第2の内積値算出部により算出された内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部と
    を有し、
    前記動作状態特定部は、前記運動体が歩行する場合に、前記第2の内積値算出部により算出された内積値の所定期間における積分値に基づいて前記運動体の正面の方位を推定し、前記推定した方位と前記歩行の移動単位の距離により前記運動体の位置を推定する
    情報処理装置。
  4. 3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサを有する情報処理装置であって、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、
    前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、
    前記第1の内積値算出部により算出された内積値と前記第2の内積値算出部により算出された内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部と
    を有し、
    前記運動体が左右の手を有し、前記動作状態特定部は、前記運動体が歩行する場合に、前記第1の内積値算出部により算出された内積値と所定の閾値との大小比較に基づいて、前記運動体が左右の手を固定して歩行しているか否かを特定する
    情報処理装置。
  5. 3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサを有する情報処理装置であって、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、
    前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、
    前記第1の内積値算出部により算出された内積値と前記第2の内積値算出部により算出された内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部と、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との外積を演算する第1の外積算出部と、
    前記第1の外積算出部により算出された外積と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との外積を演算する第2の外積算出部と、
    前記第2の外積算出部により算出された外積と前記角速度センサのセンサ出力との内積値を算出する第3の内積値算出部と
    を有し、
    前記動作状態特定部は、前記第3の内積値算出部により算出された内積値の所定の周期ごとの総和について、1周期前との総和の比に基づいて前記運動体の移動バランスを特定する
    情報処理装置。
  6. 3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサを有する情報処理装置であって、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、
    前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、
    前記第1の内積値算出部により算出された内積値と前記第2の内積値算出部により算出された内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部と、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との外積を演算する第3の外積算出部と、
    前記第3の外積算出部により算出された外積と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との外積を演算する第4の外積算出部と、
    前記第4の外積算出部により算出された外積と前記角速度センサのセンサ出力との内積値を算出する第4の内積値算出部と
    を有し、
    前記動作状態特定部は、前記第4の内積値算出部により算出された内積値の時間変化に
    おける所定の周期ごとの周期の時間幅に基づいて前記運動体の移動バランスを特定する
    情報処理装置。
  7. 3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサを有する情報処理装置であって、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、
    前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、
    前記第1の内積値算出部により算出された内積値と前記第2の内積値算出部により算出された内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部と、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との外積を演算する第5の外積算出部と、
    前記第5の外積算出部により算出された外積と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との外積を演算する第6の外積算出部と、
    前記第6の外積算出部により算出された外積と前記角速度センサのセンサ出力との内積値を算出する第5の内積値算出部と
    を有し、
    前記動作状態特定部は、前記第5の内積値算出部により算出された内積値の時間変化における所定の周期ごとの振幅の大小に基づいて前記運動体の移動バランスを特定する
    情報処理装置。
  8. 3次元空間の加速度を検出する加速度センサと角速度を検出する角速度センサを有する情報処理装置であって、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するハイパスフィルタと、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との内積値を算出する第1の内積値算出部と、
    前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との内積値を算出する第2の内積値算出部と、
    前記第1の内積値算出部により算出された内積値と前記第2の内積値算出部により算出された内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定する動作状態特定部と、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との外積を演算する第7の外積算出部と、
    前記第7の外積算出部により算出された外積と前記角速度センサのセンサ出力との内積値を算出する第6の内積値算出部と
    を有し、
    前記動作状態特定部は、前記第6の内積値算出部により算出された内積値と、前記第6の内積値算出部により算出された内積値の所定時間の平均値との大小関係に基づいて、前記運動体の移動に異常状態が発生したか否かを特定する
    情報処理装置。
  9. 情報処理装置の制御部が、前記情報処理装置の加速度センサに3次元空間の加速度を検出させ、前記情報処理装置の角速度センサに3次元空間の角速度を検出させるステップと、
    前記制御部が、前記情報処理装置のローパスフィルタに前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記情報処理装置のハイパスフィルタに前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第1の内積値を前記情報処理装置の第1の内積値算出部に算出させるステップと、
    前記制御部が、前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第2の内積値を前記情報処理装置の第2の内積値算出部に算出させるステップと、
    前記制御部が、前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を前記情報処理装置の動作状態特定部に特定させるステップと
    を有し、
    前記動作状態特定部に前記運動体の動作状態を特定させるステップは、前記動作状態特定部に、前記運動体が歩行する場合に、前記第1の内積値の時間変化と前記第2の内積値の時間変化との間の位相差に基づいて、前記運動体の利き足を特定させ
    情報処理装置の作動方法。
  10. 情報処理装置の制御部が、前記情報処理装置の加速度センサに3次元空間の加速度を検出させ、前記情報処理装置の角速度センサに3次元空間の角速度を検出させるステップと、
    前記制御部が、前記情報処理装置のローパスフィルタに前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記情報処理装置のハイパスフィルタに前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第1の内積値を前記情報処理装置の第1の内積値算出部に算出させるステップと、
    前記制御部が、前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第2の内積値を前記情報処理装置の第2の内積値算出部に算出させるステップと、
    前記制御部が、前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を前記情報処理装置の動作状態特定部に特定させるステップと、
    前記制御部が、前記検出された加速度の絶対値を前記情報処理装置の絶対値算出部に取得させるステップと
    を有し、
    前記動作状態特定部に前記運動体の動作状態を特定させるステップは、前記動作状態特定部に、前記第1の内積値の時間変化の周期に基づいて特定される前記運動体の移動周期と前記絶対値の大きさに基づいて特定される前記運動体に発生した無重力状態の有無とから前記運動体の動作状態を特定させ
    情報処理装置の作動方法。
  11. 情報処理装置の制御部が、前記情報処理装置の加速度センサに3次元空間の加速度を検出させ、前記情報処理装置の角速度センサに3次元空間の角速度を検出させるステップと、
    前記制御部が、前記情報処理装置のローパスフィルタに前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記情報処理装置のハイパスフィルタに前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第1の内積値を前記情報処理装置の第1の内積値算出部に算出させるステップと、
    前記制御部が、前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第2の内積値を前記情報処理装置の第2の内積値算出部に算出させるステップと、
    前記制御部が、前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を前記情報処理装置の動作状態特定部に特定させるステップと
    を有し、
    前記動作状態特定部に前記運動体の動作状態を特定させるステップは、前記動作状態特定部に、前記運動体が歩行する場合に、前記第2の内積値の所定期間における積分値に基づいて前記運動体の正面の方位を推定させ、前記推定した方位と前記歩行の移動単位の距離により前記運動体の位置を推定させ
    情報処理装置の作動方法。
  12. 情報処理装置の制御部が、前記情報処理装置の加速度センサに3次元空間の加速度を検出させ、前記情報処理装置の角速度センサに3次元空間の角速度を検出させるステップと、
    前記制御部が、前記情報処理装置のローパスフィルタに前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記情報処理装置のハイパスフィルタに前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第1の内積値を前記情報処理装置の第1の内積値算出部に算出させるステップと、
    前記制御部が、前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第2の内積値を前記情報処理装置の第2の内積値算出部に算出させるステップと、
    前記制御部が、前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を前記情報処理装置の動作状態特定部に特定させるステップと
    を有し、
    前記運動体が左右の手を有し、前記動作状態特定部に前記運動体の動作状態を特定させるステップは、前記動作状態特定部に、前記運動体が歩行する場合に、前記第1の内積値と所定の閾値との大小比較に基づいて、前記運動体が左右の手を固定して歩行しているか否かを特定させ
    情報処理装置の作動方法。
  13. 情報処理装置の制御部が、前記情報処理装置の加速度センサに3次元空間の加速度を検出させ、前記情報処理装置の角速度センサに3次元空間の角速度を検出させるステップと、
    前記制御部が、前記情報処理装置のローパスフィルタに前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記情報処理装置のハイパスフィルタに前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第1の内積値を前記情報
    処理装置の第1の内積値算出部に算出させるステップと、
    前記制御部が、前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第2の内積値を前記情報処理装置の第2の内積値算出部に算出させるステップと、
    前記制御部が、前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を前記情報処理装置の動作状態特定部に特定させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第1の外積を前記情報処理装置の第1の外積算出部に演算させるステップと、
    前記制御部が、前記第1の外積と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第2の外積を前記情報処理装置の第2の外積算出部に演算させるステップと、
    前記制御部が、前記第2の外積と前記角速度センサのセンサ出力との第3の内積値を前記情報処理装置の第3の内積値算出部に算出させるステップと
    を有し、
    前記動作状態特定部に前記運動体の動作状態を特定させるステップは、前記動作状態特定部に、前記第3の内積値の所定の周期ごとの総和について、1周期前との総和の比に基づいて前記運動体の移動バランスを特定させ
    情報処理装置の作動方法。
  14. 情報処理装置の制御部が、前記情報処理装置の加速度センサに3次元空間の加速度を検出させ、前記情報処理装置の角速度センサに3次元空間の角速度を検出させるステップと、
    前記制御部が、前記情報処理装置のローパスフィルタに前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記情報処理装置のハイパスフィルタに前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第1の内積値を前記情報処理装置の第1の内積値算出部に算出させるステップと、
    前記制御部が、前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第2の内積値を前記情報処理装置の第2の内積値算出部に算出させるステップと、
    前記制御部が、前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を前記情報処理装置の動作状態特定部に特定させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第3の外積を前記情報処理装置の第3の外積算出部に演算させるステップと、
    前記制御部が、前記第3の外積と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第4の外積を前記情報処理装置の第4の外積算出部に演算させるステップと、
    前記制御部が、前記第4の外積と前記角速度センサのセンサ出力との第4の内積値を前記情報処理装置の第4の内積値算出部に算出させるステップと
    を有し、
    前記動作状態特定部に前記運動体の動作状態を特定させるステップは、前記動作状態特定部に、前記第4の内積値の時間変化における所定の周期ごとの周期の時間幅に基づいて前記運動体の移動バランスを特定させ
    情報処理装置の作動方法。
  15. 情報処理装置の制御部が、前記情報処理装置の加速度センサに3次元空間の加速度を検
    出させ、前記情報処理装置の角速度センサに3次元空間の角速度を検出させるステップと、
    前記制御部が、前記情報処理装置のローパスフィルタに前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記情報処理装置のハイパスフィルタに前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第1の内積値を前記情報処理装置の第1の内積値算出部に算出させるステップと、
    前記制御部が、前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第2の内積値を前記情報処理装置の第2の内積値算出部に算出させるステップと、
    前記制御部が、前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を前記情報処理装置の動作状態特定部に特定させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第5の外積を前記情報処理装置の第5の外積算出部に演算させるステップと、
    前記制御部が、前記第5の外積と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第6の外積を前記情報処理装置の第6の外積算出部に演算させるステップと、
    前記制御部が、前記第6の外積と前記角速度センサのセンサ出力との第5の内積値を前記情報処理装置の第5の内積値算出部に算出させるステップと
    を有し、
    前記動作状態特定部に前記運動体の動作状態を特定させるステップは、前記動作状態特定部に、前記第5の内積値の時間変化における所定の周期ごとの振幅の大小に基づいて前記運動体の移動バランスを特定させ
    情報処理装置の作動方法。
  16. 情報処理装置の制御部が、前記情報処理装置の加速度センサに3次元空間の加速度を検出させ、前記情報処理装置の角速度センサに3次元空間の角速度を検出させるステップと、
    前記制御部が、前記情報処理装置のローパスフィルタに前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記情報処理装置のハイパスフィルタに前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第1の内積値を前記情報処理装置の第1の内積値算出部に算出させるステップと、
    前記制御部が、前記角速度センサのセンサ出力と前記ローパスフィルタにより抽出された重力成分ベクトルの信号との第2の内積値を前記情報処理装置の第2の内積値算出部に算出させるステップと、
    前記制御部が、前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を前記情報処理装置の動作状態特定部に特定させるステップと、
    前記制御部が、前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記ハイパスフィルタにより抽出された振動成分ベクトルの信号との第7の外積を前記情報処理装置の第7の外積算出部に演算させるステップと、
    前記制御部が、前記第7の外積と前記角速度センサのセンサ出力との第6の内積値を前記情報処理装置の第6の内積値算出部に算出させるステップと
    を有し、
    前記動作状態特定部に前記運動体の動作状態を特定させるステップは、前記動作状態特
    定部に、前記第6の内積値と、前記第6の内積値の所定時間の平均値との大小関係に基づいて、前記運動体の移動に異常状態が発生したか否かを特定させ
    情報処理装置の作動方法。
  17. 3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
    前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
    前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定するステップと
    をコンピュータに実行させ、
    前記運動体の動作状態を特定するステップは、前記運動体が歩行する場合に、前記第1の内積値の時間変化と前記第2の内積値の時間変化との間の位相差に基づいて、前記運動体の利き足を特定する
    プログラム。
  18. 3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
    前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
    前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定するステップと、
    前記検出された加速度の絶対値を取得するステップと
    をコンピュータに実行させ、
    前記運動体の動作状態を特定するステップは、前記第1の内積値の時間変化の周期に基づいて特定される前記運動体の移動周期と前記絶対値の大きさに基づいて特定される前記運動体に発生した無重力状態の有無とから前記運動体の動作状態を特定する
    プログラム。
  19. 3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
    前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
    前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定するステップと
    をコンピュータに実行させ、
    前記運動体の動作状態を特定するステップは、前記運動体が歩行する場合に、前記第2の内積値の所定期間における積分値に基づいて前記運動体の正面の方位を推定し、前記推
    定した方位と前記歩行の移動単位の距離により前記運動体の位置を推定する
    プログラム。
  20. 3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
    前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
    前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定するステップと
    をコンピュータに実行させ、
    前記運動体が左右の手を有し、前記運動体の動作状態を特定するステップは、前記運動体が歩行する場合に、前記第1の内積値と所定の閾値との大小比較に基づいて、前記運動体が左右の手を固定して歩行しているか否かを特定する
    プログラム。
  21. 3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
    前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
    前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の外積を演算するステップと、
    前記第1の外積と前記抽出された重力成分ベクトルの信号との第2の外積を演算するステップと、
    前記第2の外積と前記検出された角速度との第3の内積値を算出するステップと
    をコンピュータに実行させ、
    前記運動体の動作状態を特定するステップは、前記第3の内積値の所定の周期ごとの総和について、1周期前との総和の比に基づいて前記運動体の移動バランスを特定する
    プログラム。
  22. 3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
    前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
    前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との
    第3の外積を演算するステップと、
    前記第3の外積と前記抽出された重力成分ベクトルの信号との第4の外積を演算するステップと、
    前記第4の外積と前記検出された角速度センサとの第4の内積値を算出するステップとをコンピュータに実行させ、
    前記運動体の動作状態を特定するステップは、前記第4の内積値の時間変化における所定の周期ごとの周期の時間幅に基づいて前記運動体の移動バランスを特定する
    プログラム。
  23. 3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
    前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
    前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第5の外積を演算するステップと、
    前記第5の外積と前記抽出された重力成分ベクトルの信号との第6の外積を演算するステップと、
    前記第6の外積と前記検出された角速度との第5の内積値を算出するステップと
    をコンピュータに実行させ、
    前記運動体の動作状態を特定するステップは、前記第5の内積値の時間変化における所定の周期ごとの振幅の大小に基づいて前記運動体の移動バランスを特定する
    プログラム。
  24. 3次元空間における情報処理装置の加速度及び角速度を検出するステップと、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するステップと、
    前記加速度センサのセンサ出力から前記加速度センサの振動成分ベクトルの信号を抽出するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第1の内積値を算出するステップと、
    前記検出された角速度と前記抽出された重力成分ベクトルの信号との第2の内積値を算出するステップと、
    前記第1の内積値と前記第2の内積値を用いて、前記情報処理装置を携帯する運動体の動作状態を特定するステップと、
    前記抽出された重力成分ベクトルの信号と前記抽出された振動成分ベクトルの信号との第7の外積を演算するステップと、
    前記第7の外積と前記検出された角速度との第6の内積値を算出するステップと
    をコンピュータに実行させ、
    前記運動体の動作状態を特定するステップは、前記第6の内積値と、前記第6の内積値の所定時間の平均値との大小関係に基づいて、前記運動体の移動に異常状態が発生したか否かを特定する
    プログラム。
JP2013225892A 2013-10-30 2013-10-30 情報処理装置、情報処理装置の作動方法及びプログラム Active JP6277674B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013225892A JP6277674B2 (ja) 2013-10-30 2013-10-30 情報処理装置、情報処理装置の作動方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013225892A JP6277674B2 (ja) 2013-10-30 2013-10-30 情報処理装置、情報処理装置の作動方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015084943A JP2015084943A (ja) 2015-05-07
JP6277674B2 true JP6277674B2 (ja) 2018-02-14

Family

ID=53048412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013225892A Active JP6277674B2 (ja) 2013-10-30 2013-10-30 情報処理装置、情報処理装置の作動方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6277674B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6592988B2 (ja) 2015-06-30 2019-10-23 富士通株式会社 評価システムおよび評価方法
JP6786933B2 (ja) 2016-07-29 2020-11-18 富士通株式会社 身体特性測定装置、身体特性測定プログラムおよび身体特性測定方法
US20240041351A1 (en) * 2020-12-22 2024-02-08 Beflex Inc. Method for determining front-back and left-right directions of pose sensor worn on head of user

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0989584A (ja) * 1995-09-26 1997-04-04 Honda Motor Co Ltd 携帯用ナビゲーション装置
JP3851406B2 (ja) * 1997-03-19 2006-11-29 本田技研工業株式会社 歩行者用移動速度・方向検出装置
JP4904861B2 (ja) * 2006-03-14 2012-03-28 ソニー株式会社 体動検出装置、体動検出方法および体動検出プログラム
JP6035749B2 (ja) * 2012-01-30 2016-11-30 富士通株式会社 情報処理装置、情報処理プログラム及び情報処理方法

Also Published As

Publication number Publication date
JP2015084943A (ja) 2015-05-07

Similar Documents

Publication Publication Date Title
Goyal et al. Strap-down pedestrian dead-reckoning system
US9151622B2 (en) Method and apparatus for estimating moving direction of user and computer-readable storage medium having recorded thereon the method
JP6375733B2 (ja) 計測装置、計測方法及び計測プログラム
EP2708848A2 (en) System and method for magnetic field data compression
US10022070B2 (en) Integrated circuit including a detection unit for detecting an angular velocity signal of a moving object based on a signal from a sensor
JP6592245B2 (ja) モバイルデバイスにおけるユーザの動きの方向の推定
US10533874B2 (en) Inertial positioning and navigation device featuring a novel walk detection method
US10848912B2 (en) Estimated time of arrival (ETA) based on calibrated distance
JP2015217250A (ja) 歩幅測定システム,プログラム,方法及び装置
JP2016509211A (ja) 磁力計及び加速度計を使用する角速度推定
JP6277674B2 (ja) 情報処理装置、情報処理装置の作動方法及びプログラム
US9861548B2 (en) Method and system for converting and reconstructing signal, method and apparatus for converting original signal, and method for reconstructing original signal
Wang et al. Scenario-dependent ZUPT-aided pedestrian inertial navigation with sensor fusion
Ranakoti et al. Human fall detection system over IMU sensors using triaxial accelerometer
KR101718392B1 (ko) 신발에 부착된 관성 센서를 이용하여 보폭 정보를 계산하는 휴대 단말 및 그 방법
JP6452933B2 (ja) 電子機器
JP5906687B2 (ja) 慣性航法演算装置および電子機器
JP2013088280A (ja) 参照値生成方法及び参照値生成装置
WO2017085758A1 (ja) 情報処理装置、位置推定プログラム及び位置推定方法
Sang et al. A self-developed indoor three-dimensional pedestrian localization platform based on MEMS sensors
JP2018113976A (ja) 計測装置、計測方法及び計測プログラム
JP2016109609A (ja) 姿勢推定装置及び姿勢推定装置の制御プログラム
JP6511157B2 (ja) 歩数計測装置及び歩数計測プログラム
Truong et al. Real-time estimation of distance traveled by cart using smartphones
de Silva et al. A gyroscopic data based pedometer algorithm with adaptive orientation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170922

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180101

R150 Certificate of patent or registration of utility model

Ref document number: 6277674

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150