(57)【要約】      （修正有）【課題】計測装置における消費電力を抑えつつ、計測装置が装着された四脚動物の歩行状態を計測する装置及び計測方法、計測プログラムの提供。【解決手段】計測プログラムは、四脚動物に取り付けられた計測装置に、四脚動物に取り付けられた加速度センサから３次元空間の加速度データを取得させ、取得した加速度データを用いて四脚動物の歩容を特定させ、特定した四脚動物の歩容を用いて四脚動物の所定の脚が着地したか否かを判定させ、四脚動物の所定の脚が着地したと判定したときの四脚動物の位置を示す位置情報を、四脚動物に取り付けられたＧＰＳセンサから取得したＧＰＳデータが示す位置情報と時間情報とを用いて生成させ、生成した位置情報とＧＰＳデータが示す時間情報とを用いて、四脚動物の所定の脚が着地したと判定してから再度四脚動物の所定の脚が着地したと判定するまでの四脚動物の移動における加速度の平均値を算出させる計測プログラムとする。【選択図】図４１
2018113976.tif 000002
【特許請求の範囲】
【請求項１】
四脚動物に取り付けられた計測装置に、
前記四脚動物に取り付けられた加速度センサから３次元空間の加速度データを取得させ、
前記取得した加速度データを用いて前記四脚動物の歩容を特定させ、
前記特定した前記四脚動物の歩容を用いて前記四脚動物の所定の脚が着地したか否かを判定させ、
前記四脚動物の所定の脚が着地したと判定したときの前記四脚動物の位置を示す位置情報を、前記四脚動物に取り付けられたＧＰＳセンサから取得したＧＰＳデータが示す位置情報と時間情報とを用いて生成させ、
前記生成した位置情報と前記ＧＰＳデータが示す時間情報とを用いて、前記四脚動物の所定の脚が着地したと判定してから再度前記四脚動物の所定の脚が着地したと判定するまでの前記四脚動物の移動における加速度の平均値を算出させる
ことを特徴とする計測プログラム。
【請求項２】
四脚動物に取り付けられる計測装置であって、
ＧＰＳセンサと、
３次元空間の加速度データを出力する加速度センサと、
前記取得した加速度データを用いて前記四脚動物の歩容を特定する歩容特定部と、
前記特定した前記四脚動物の歩容を用いて前記四脚動物の所定の脚が着地したか否かを判定する歩容判定部と、
前記四脚動物の所定の脚が着地したと判定したときの前記四脚動物の位置を示す位置情報を、前記ＧＰＳセンサから取得したＧＰＳデータが示す位置情報と時間情報とを用いて生成する位置情報生成部と、
前記生成した位置情報と前記ＧＰＳデータが示す時間情報とを用いて、前記四脚動物の所定の脚が着地したと判定してから再度前記四脚動物の所定の脚が着地したと判定するまでの前記四脚動物の移動における加速度の平均値を算出する加速度算出部と
を有することを特徴とする計測装置。
【請求項３】
四脚動物に取り付けられた加速度センサから３次元空間の加速度データを取得し、
前記取得した加速度データを用いて前記四脚動物の歩容を特定し、
前記特定した前記四脚動物の歩容を用いて前記四脚動物の所定の脚が着地したか否かを判定し、
前記四脚動物の所定の脚が着地したと判定したときの前記四脚動物の位置を示す位置情報を、前記四脚動物に取り付けられたＧＰＳセンサから取得したＧＰＳデータが示す位置情報と時間情報とを用いて生成し、
前記生成した位置情報と前記ＧＰＳデータが示す時間情報とを用いて、前記四脚動物の所定の脚が着地したと判定してから再度前記四脚動物の所定の脚が着地したと判定するまでの前記四脚動物の移動における加速度の平均値を算出する
ことを特徴とする計測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示の発明は、計測装置、計測方法及び計測プログラムに関する。
【背景技術】
【０００２】
近年、移動する物体の動作を計測する機器等の情報処理装置には、その高機能化に伴い、さまざまなセンサが搭載されている。例えば、加速度センサや角速度センサを有する装置は、センサの出力値に基づいて、装置の現在の状態を判定する。そして、加速度センサや角速度センサの出力値を利用して、情報処理装置を携帯する人の歩行状態や姿勢を判定する方法等が提案されている（特許文献１、２を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２５７３９５号公報
【特許文献２】特開２００２−３２８１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、情報処理装置を装着した物体の動作状態を判定する際に、情報処理装置及びセンサの座標系、いわゆるローカル座標系と、グローバル座標系とは軸が一致しないため、各センサのセンサ出力に対して座標変換を施す必要がある。
【０００５】
携帯電話端末等の情報処理装置には、情報処理装置に対する操作を処理したり通信を実行したりするメインマイコンと、加速度センサ等からの出力情報を処理するサブマイコンを備えるものがある。メインマイコンは、装置全体の制御の他、例えばブラウザ等のアプリケーションも動作させるため高性能である。一般に、マイコンの演算処理性能と消費電力とは比例関係にあると考えてよい。そして、情報処理装置において駆動時間（電池の持続時間）は重要な要素の１つである。情報処理装置における消費電力を抑えれば、情報処理装置の駆動時間を長くすることができる。そこで、メインマイコンはできるだけ休止状態にされる。そのため、通常は、メインマイコンで常時加速度センサの出力をモニタリングしない構成が採用される。
【０００６】
そこで、情報処理装置のサブマイコンが使用される。一般に、サブマイコンの消費電力はメインマイコンの１／２００〜１／１０００程度である。すなわち、サブマイコンは常時動作状態としても、電力浪費の観点からは支障がない。ただし、サブマイコンの性能はメインマイコンに比べて非力であり、整数の四則演算やメモリ操作といった単純な処理であれば実行できる。サブマイコンを用いて物体の動作評価を常時行うためには、上記のような単純な演算に基づいて必要な処理を行う。
【０００７】
例えば、加速度センサの座標系で出力された値を、上下左右前後のいわゆるグローバル座標系における値に変換する場合、回転行列を利用した演算を行うことでそのような変換を行うことができる。この変換は、通常は三角関数を用いて行う。しかし、上述のように、整数の四則演算とメモリ操作程度の処理が可能なサブマイコンでは、処理負荷の高い三角関数の演算等を行うことはできない。
【０００８】
本件開示の技術は、上記に鑑みてなされたものであり、その目的とするところは、計測装置における消費電力を抑えつつ、計測装置が装着された四脚動物の歩行状態を計測することである。
【課題を解決するための手段】
【０００９】
本件開示の計測プログラムは、１つの側面では、四脚動物に取り付けられた計測装置に、四脚動物に取り付けられた加速度センサから３次元空間の加速度データを取得させ、取得した加速度データを用いて四脚動物の歩容を特定させ、特定した四脚動物の歩容を用いて四脚動物の所定の脚が着地したか否かを判定させ、四脚動物の所定の脚が着地したと判定したときの四脚動物の位置を示す位置情報を、四脚動物に取り付けられたＧＰＳセンサから取得したＧＰＳデータが示す位置情報と時間情報とを用いて生成させ、生成した位置情報とＧＰＳデータが示す時間情報とを用いて、四脚動物の所定の脚が着地したと判定してから再度前記四脚動物の所定の脚が着地したと判定するまでの四脚動物の移動における加速度の平均値を算出させる。
【発明の効果】
【００１０】
本件開示の技術によれば、計測装置における消費電力を抑えつつ、計測装置が装着された四脚動物の歩行状態を計測することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、一実施形態における携帯電話端末のハードウェア構成を示す概略構成図である。
【図２】図２は、一実施形態における携帯電話端末の機能部を示す機能構成図である。
【図３Ａ】図３Ａは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。
【図３Ｂ】図３Ｂは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。
【図４Ａ】図４Ａは、一実施形態におけるユーザの歩行状態を示す模式図である。
【図４Ｂ】図４Ｂは、一実施形態におけるユーザの歩行状態を示す模式図である。
【図５Ａ】図５Ａは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。
【図５Ｂ】図５Ｂは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。
【図６Ａ】図６Ａは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。
【図６Ｂ】図６Ｂは、一実施形態におけるユーザの矢状面、冠状面、横断面を示す模式図である。
【図７】図７は、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。
【図８】図８は、一実施形態におけるサブマイコンの一部の構成を示す概略構成図である。
【図９Ａ】図９Ａは、一実施形態においてサブマイコンが実行するフローチャートである。
【図９Ｂ】図９Ｂは、一実施形態におけるユーザの位置及び方位を示す模式図である。
【図１０】図１０は、一実施形態においてサブマイコンが実行するフローチャートである。
【図１１Ａ】図１１Ａは、一実施形態においてサブマイコンが実行するフローチャートである。
【図１１Ｂ】図１１Ｂは、一実施形態における角速度の時間変化を示すグラフである。
【図１２Ａ】図１２Ａは、一実施形態においてサブマイコンが実行するフローチャートである。
【図１２Ｂ】図１２Ｂは、一実施形態におけるユーザの歩行状態と角速度の関係を示すグラフである。
【図１３Ａ】図１３Ａは、一実施形態においてサブマイコンが実行するフローチャートである。
【図１３Ｂ】図１３Ｂは、一実施形態においてサブマイコンが実行するフローチャートである。
【図１３Ｃ】図１３Ｃは、一実施形態におけるユーザの歩行状態と角速度の関係を示すグラフである。
【図１４】図１４は、一実施形態における馬の歩容を例示する図である。
【図１５】図１５は、一実施形態におけるサブマイコンの一部の構成を示す概略構成図である。
【図１６Ａ】図１６Ａは、一実施形態においてサブマイコンが実行するフローチャートである。
【図１６Ｂ】図１６Ｂは、一実施形態においてサブマイコンが実行するフローチャートである。
【図１６Ｃ】図１６Ｃは、一実施形態においてサブマイコンが実行するフローチャートである。
【図１７】図１７は、一実施形態における馬の歩容判定の実験結果の例を示すグラフである。
【図１８】図１８は、一実施形態における馬体と携帯端末との位置関係を例示する図である。
【図１９Ａ】図１９Ａは、一実施形態における、馬の上下方向の角速度の向きの時間変化を示す模式図である。
【図１９Ｂ】図１９Ｂは、一実施形態における、馬の上下方向の角速度の向きの時間変化を示す模式図である。
【図２０】図２０は、一実施形態におけるサブマイコンの一部の構成を示す概略構成図である。
【図２１】図２１は、一実施形態における馬の上下方向の動きと左右方向の回転の関係を示すグラフである。
【図２２Ａ】図２２Ａは、一実施形態においてサブマイコンが実行するフローチャートである。
【図２２Ｂ】図２２Ｂは、一実施形態においてサブマイコンが実行するフローチャートである。
【図２３】図２３は、一実施形態における馬の手前判定の実験結果の例を示すグラフである。
【図２４】図２４は、一実施形態におけるサブマイコンの一部の構成を示す概略構成図である。
【図２５】図２５は、一実施形態における馬の各前脚の状態と上下加速度の関係を示すグラフである。
【図２６】図２６は、一実施形態における馬の各歩と上下加速度の関係を示すグラフである。
【図２７】図２７は、一実施形態における馬の歩行の規則性および対称性を示すグラフである。
【図２８】図２８は、一実施形態における馬の歩行の規則性および対称性の相関を示すグラフである。
【図２９】図２９は、一実施形態における馬の各歩と上下加速度および運動エネルギの関係と、運動エネルギと規則性および対称性の関係を示す図である。
【図３０Ａ】図３０Ａは、一実施形態における馬の１歩の上下加速度に関するグラフである。
【図３０Ｂ】図３０Ｂは、一実施形態における馬の各歩の上下加速度に関するグラフである。
【図３１】図３１は、一実施形態における各種装置の構成を示す概略構成図である。
【図３２】図３２は、一実施形態における計測端末の機能部を示す機能構成図である。
【図３３】図３３は、一実施形態においてサブマイコンが実行するフローチャートである。
【図３４】図３４は、一実施形態における馬の歩行の規則性および対称性の相関を示すグラフである。
【図３５】図３５は、一実施形態においてサブマイコンが実行するフローチャートである。
【図３６】図３６は、一実施形態における馬の歩行判定の結果の１例を示すグラフである。
【図３７Ａ】図３７Ａは、一実施形態において設定される規則性および対称性の正常領域を示すグラフである。
【図３７Ｂ】図３７Ｂは、一実施形態において設定される規則性および対称性の異常領域を示すグラフである。
【図３８】図３８は、一実施形態においてサブマイコンが実行するフローチャートである。
【図３９】図３９は、一実施形態において計測される規則性および対称性の関係を示すグラフである。
【図４０】図４０は、一実施形態における各種装置の構成を示す概略構成図である。
【図４１】図４１は、一実施形態における計測端末の機能部を示す機能構成図である。
【図４２】図４２は、一実施形態における馬の各歩の上下加速度に関するグラフである。
【図４３Ａ】図４３Ａは、従来における馬の移動に伴う加速度の計測結果を示すグラフである。
【図４３Ｂ】図４３Ｂは、一実施形態における馬の移動に伴う加速度の計測結果を示すグラフである。
【図４４】図４４は、一実施形態における馬の各歩の上下加速度に関するグラフである。
【図４５】図４５は、一実施形態において設定される異常領域を示すグラフである。
【図４６】図４６は、一実施形態においてサブマイコンが実行するフローチャートである。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
以下、第１の実施形態における携帯電話端末及びその制御方法について、図面を参照しながら説明する。本実施形態では、運動体である人（ユーザ）が携帯電話端末を携帯している場合を想定する。
【００１３】
図１に示すように、本実施形態における携帯電話端末１０は、アンテナ１０１、ＲＦ（Radio Frequency）部１０２、メインマイコン１０３、サブマイコン１０４、ボタン１０
５、ディスプレイ１０６、タッチパネル１０７、ＲＯＭ（Read Only Memory）１０８、ＲＡＭ（Random-Access Memory）１０９、加速度センサ１１０、角速度センサ１１１を備える。ただし、本実施形態に開示された技術は、携帯電話端末１０に限定されず、情報処理装置一般に適用できる。
【００１４】
携帯電話端末１０は、アンテナ１０１を経由して基地局等の外部の無線送受信装置（図
示せず）と無線通信を行う。ＲＦ部１０２は、外部の無線送受信装置との送受信において、送信時にベースバンド信号を周波数帯（ＲＦ帯）に変調し、受信時にこれらの周波数帯の信号をベースバンド信号に復調する。
【００１５】
メインマイコン１０３は、ＲＯＭ１０８に記憶された制御プログラム１０８ａを実行して、携帯電話端末１０が有する各種機能を実現する。サブマイコン１０４は、加速度センサ１１０及び角速度センサ１１１のセンサ出力を演算処理し、携帯電話端末１０のユーザの座標系、すなわちグローバル座標系の加速度や角速度に変換する。
【００１６】
ボタン１０５は、ユーザが携帯電話端末１０の操作に使用するハードウェアキーである。ディスプレイ１０６は、携帯電話端末１０において実行される各種処理の結果等の種々の情報を表示する。また、ディスプレイ１０６は、メインマイコン１０３やサブマイコン１０４により実行される種々の処理の処理結果や処理状態、コンテンツ等を表示する。タッチパネル１０７は、ユーザのタッチ操作等を受け付ける。タッチパネル１０７はディスプレイ１０６と重なるように配置されている。ユーザは、タッチパネル１０７を指等でタッチ操作等することで、ディスプレイ１０６に表示されたアイコン等の表示項目の選択等を行う。
【００１７】
ＲＯＭ１０８は、携帯電話端末１０において実行される各種プログラムを格納する。ＲＡＭ１０９は、メインマイコン１０３やサブマイコン１０４が種々の処理を実行する際に一時的な記憶領域として使用される。すなわち、ＲＡＭ１０９はワークエリアとして用いられ、各種プログラムや端末番号等の携帯電話端末の固有情報が格納される。また、ＲＡＭ１０９には、ユーザが入力した設定やプログラムの情報、ディスプレイ１０６等を介してユーザに提供されるデータ等が格納される。
【００１８】
メインマイコン１０３は、高速演算処理を実行することができるが、消費電力が大きい。したがって、常時動作状態に保つことは好ましくないため、メインマイコン１０３の動作時間には一定の制限が課せられ、一時的に休止状態に移行される。ところで、ユーザの動作状態を判定する場合、ユーザの動作データを常時取得し、取得した動作データに基づいて動作状態を判定する。
【００１９】
そこで、本実施形態では、サブマイコン１０４は、少なくともユーザの動作が発生している間は動作状態に保たれ、加速度センサ１１０や角速度センサ１１１のセンサ出力を受け取り、センサ出力を演算処理してグローバル座標系の加速度データを生成する。サブマイコン１０４は、四則演算等の単純な演算処理やＲＯＭ１０８やＲＡＭ１０９等のメモリへのアクセス処理等の処理負荷が低い処理を実行する。
【００２０】
したがって、メインマイコン１０３は、必要な場合に動作状態にされ、サブマイコン１０４が常時もしくは長時間にわたりユーザの動作状態の判定結果に基づいて、ユーザにわかりやすい値に変換したり統計情報を作成したりして、生成した情報をディスプレイ１０６に表示する。なお、生成した情報は、アンテナ１０１を介して外部に送信してもよい。
【００２１】
本実施形態では、携帯電話端末１０のＲＯＭ１０８に記憶されているアプリケーション等が、ＣＰＵ１０３によって実行される。このようなアプリケーション等の実行により、図２に示すように、携帯電話端末１０は、内積値算出部２０１、外積算出部２０２、絶対値算出部２０３、動作状態特定部２０４として機能する。ただし、内積値算出部２０１、外積算出部２０２、絶対値算出部２０３、動作状態特定部２０４のいずれか１つ以上が、ハードウェア回路であってもよい。
【００２２】
次に、本実施形態において、携帯電話端末１０のサブマイコン１０４において実行され
る、ユーザが行った所定の動作を判定する構成、アルゴリズム及び処理について説明する。
【００２３】
図３Ａ及び図３Ｂは、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザの座標系における上下方向（鉛直方向）の加速度情報を取り出す方法の一例を示す図である。ここでは、ユーザが歩行中である場合を想定している。図３Ａに示すように、互いに直交するＸ軸、Ｙ軸、Ｚ軸が携帯電話端末のローカル座標系を構成する。図３Ａにおいて、加速度センサのセンサ出力ＡはＡ＝（ｘ，ｙ，ｚ）Ｔで与えられる。なお、Ｔは転置行列を意味する。そして、図３Ａに示すように、加速度センサのセンサ出力Ａは、ユーザの歩行に伴う振動Ｓと重力加速度Ｇの合成と考えることができる。
【００２４】
ここで、人間の歩行について概説する。図４Ａ及び図４Ｂは、人間の歩行における体幹と両足の動きを模式的に表す図である。図４Ａは、人間の歩行を真上（鉛直上方）から見た図であり、図４Ｂは、人間の歩行を真横（水平方向）から見た図である。体幹２０は、人間の股関節から頭部までの部分に対応し、脚２０Ｌ、２０Ｒはそれぞれ左脚と右脚に対応する。図４Ａ及び図４Ｂに示すように、人間は、歩行中、左右の脚２０Ｌ、２０Ｒが交互に地面に着き、体幹２０は上下、左右、前後の各方向にそれぞれ揺れる。また、図４Ａ及び図４Ｂに示すように、体幹２０の上下動の周期は、左右の脚２０Ｌ、２０Ｒの一方が地面から離れて再び着き、さらに他方が地面から離れて再び着くまでの期間と一致する。一方、体幹２０の左右の揺れについては、左脚２０Ｌが地面に着いている間は人間の左方向に揺れ、右脚２０Ｒが地面に着いている間は人間の右方向に揺れる。したがって、人間の歩行時における体幹２０の左右の揺れの周期は、上下動の周期の２倍の周期、すなわち１／２の周波数である。
【００２５】
また、人間は、歩行中、左脚２０Ｌまたは右脚２０Ｒを地面に着地させる瞬間が最も下方向の加速度が大きくなる。そして、左脚２０Ｌまたは右脚２０Ｒの着地後、体幹２０を上昇させる時に上方向の加速度が発生し、体幹２０が到達する最上点で当該上方向の加速度が最小になり、以後は代わりに下方向の加速度が発生する。また、左右方向の加速度については、左脚２０Ｌを着地させると左方向の加速度が発生し、右脚２０Ｒを着地させると右方向の加速度が発生する。
【００２６】
図３Ａ及び図３Ｂに戻ると、図４Ａ及び図４Ｂを用いて説明したように、ユーザの歩行に伴う振動Ｓは、所定の周期の繰り返し運動であるといえる。したがって、加速度センサのセンサ出力Ａを、適切なカットオフ周波数のローパスフィルタ（ＬＰＦ）やハイパスフィルタ（ＨＰＦ）に通すと、センサ出力Ａを振動成分ベクトルＳと重力加速度ベクトルＧとに分離することができる。歩行に伴う上下方向の加速度は、振動成分ベクトルＳにおける重力加速度ベクトルＧと平行なベクトルＶで表せる。ベクトルＶの大きさをｖとし、振動成分ベクトルＳと重力加速度ベクトルＧのなす角をθとすると、ｖは以下の式で与えられる。
v = |S| cosθ ・・・（１）
【００２７】
ここで振動成分ベクトルＳと重力加速度ベクトルＧの内積について考える。内積は、ベクトルのｘ、ｙ、ｚ成分同士を乗算した後に、乗算した各成分の和を求めることで得られる。なお、振動成分ベクトルＳと重力加速度ベクトルＧの内積は、定義より以下の式で与えられる。
S ・ G = |S| |G| cosθ ・・・（２）
【００２８】
式（２）を式（１）に当てはめると、以下の式（３）が得られる。
v = S ・ G / |G| ・・・（３）
【００２９】
ここで重力加速度ベクトルＧの大きさ｜Ｇ｜は、地球上ではほぼ一定である。すなわち、加速度センサのセンサ出力Ａに対して、ＬＰＦとＨＰＦを通し、各フィルタの出力の内積を取ることでユーザの歩行運動に伴う上方向の加速度に比例した数値と下方向の加速度に比例した数値とを得ることができる。なお、上記では、ユーザが歩行中であることを想定して説明した。しかし、ユーザが歩行以外の動作を行う場合も、上記のアルゴリズムを踏まえて、加速度センサのセンサ出力Ａに対して、ＬＰＦとＨＰＦを通すことで、振動成分ベクトルと重力加速度ベクトルがそれぞれ得られる。
【００３０】
次に、図５Ａ及び図５Ｂは、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザの座標系における水平方向（左右方向）の加速度情報を取り出す方法の一例を示す図である。ここでも、ユーザが歩行中である場合を想定している。また、加速度センサのセンサ出力Ａが、ユーザの歩行に伴う振動成分ベクトルＳと重力加速度ベクトルＧの合成と考えることは、図３Ａ及び図３Ｂと同じである。ここで振動成分ベクトルＳが、重力加速度ベクトルＧに平行なベクトルＶと、ベクトルＶに直交するベクトルＨとの和であると考えると、ベクトルＨはユーザの歩行に伴う振動成分ベクトルＳの水平方向の成分と考えることができる。
【００３１】
ここで、ベクトルＨの大きさ｜Ｈ｜を得ることを目的として、振動成分ベクトルＳと重力加速度ベクトルＧとの外積を考える。内積と同様、外積も四則演算によって得られるため、サブマイコン１０４のようにメインマイコン１０３に比べて処理性能の低いマイコンでも計算することができる。図５Ｂに示すように、振動成分ベクトルＳと重力加速度ベクトルＧの外積は定義より、ベクトルＳ及びＧと直交する方向で、ベクトルＳ及びＧによって形成される平行四辺形の面積Ｚと等しい大きさのベクトルである。すなわち、振動成分ベクトルＳと重力加速度ベクトルＧの外積は、以下の式（４）で与えられる。
Z = |S × G| ・・・（４）
【００３２】
図５Ｂに示すように、平行四辺形の面積Ｚは、｜Ｇ｜×｜Ｈ｜とも記述できる。これを式（４）に当てはめると、以下の式（５）が得られる。
|H| = Z / |G| = |S × G| / |G| ・・・（５）
【００３３】
上記の通り、｜Ｇ｜が地球上ではほぼ一定である。したがって、加速度センサのセンサ出力Ａに対して、ＬＰＦとＨＰＦを通すことで得られる振動成分ベクトルと重力加速度ベクトルとの外積を取って絶対値を求めれば、歩行に伴う振動の水平成分の大きさに比例した数値を得ることができる。
【００３４】
次に、図６Ａは、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザの座標系における上下、左右、前後の各方向の加速度情報を取り出す方法の一例を示す図である。ここでも、ユーザが歩行中である場合を想定している。この方法では、図５Ａ及び５Ｂに示す方法により、振動成分ベクトルＳが上下方向及び水平方向に分離されているとする。なお、本方法では、ユーザの歩行が定常状態（等速度運動）に入ると、ユーザの体幹の前後方向の加速度はほとんど発生しないことを利用している。ユーザの体幹の前後方向に加速度が発生しないと考えた場合、図５Ａ及び図５Ｂにおいて得られる水平方向の加速度｜Ｈ｜は左右方向の加速度の大きさを示している。
【００３５】
さらに、図６Ｂに示すように、ユーザの体幹のいわゆる矢状面、冠状面、横断面を考えた場合、振動成分ベクトルＳは、ユーザの体幹の冠状面に存在する。したがって、振動成分ベクトルＳと重力加速度ベクトルＧとの外積Ｆは、ユーザの体幹の前方向（正面側）もしくは後ろ方向（背面側）を向く。外積Ｆの前後方向は、振動成分ベクトルＳの左右方向の向きに依存する。ここで、ユーザの体幹の前方向を向くベクトルＫが既知であると仮定
すると、ベクトルＦとＫとの内積が正である場合、ベクトルＦは前方向を向くことがわかる。また、ベクトルＦとＫとの内積が負である場合、ベクトルＦは後ろ方向を向くことがわかる。なお、ベクトルＦが前方向を向く場合は、振動成分ベクトルＳは、ユーザの体幹の右方向（右手側）を向く。また、ベクトルＦが後ろ方向を向く場合は、振動成分ベクトルＳは、ユーザの体幹の左方向（左手側）を向く。
【００３６】
さらに、以下の式（６）により、ユーザの体幹の左右方向の加速度について、右方向と左方向とを区別することが可能となる。
h = sign(F・K) |H| ・・・（６）
ここで、「ｓｉｇｎ（Ｆ・Ｋ）」は、ベクトルＦとベクトルＫとの内積の正負を示す。したがって、式（６）により｜Ｈ｜に内積の符号を付加することで、ベクトルＨがユーザの体幹の右方向の加速度ベクトルであるか左方向の加速度ベクトルであるかがわかる。
【００３７】
次に、図７は、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザのグローバル座標系における上下、左右、前後の各方向の加速度情報を具体的な値と共に取り出す方法の一例を示す図である。ここでも、ユーザが歩行中である場合を想定している。図６Ａ及び図６Ｂに示す例では、定常状態においては前後方向の加速度は発生しないと想定した。しかし、図７に示す例では、高分解能の加速度センサを用いることで、前後方向の加速度における微細な変動も検出することができる。
【００３８】
ここで、図４Ａ及び図４Ｂに示すように、前後方向の変動は上下方向の変動と同期している。そして、下方向に加速するときは前方向に、上方向に加速するときは後ろ方向に加速している（下前と上後ろと考えてもよい）。さらに、左右方向の変動の周期は上下方向及び前後方向の変動周期の２倍である。そこで、この特性を利用し、図７に示す例では、バンドパスフィルタを用いて加速度センサのセンサ出力を、前後方向の加速度と上下方向の加速度が主となるベクトルＳ１と左右方向の加速度に若干の前後方向の加速度が含まれるベクトルＳ２に分離する。さらに、適当な外積演算により前後方向の加速度と左右方向の加速度を、いずれも正負が不明である状態で抽出する。前後方向の加速度と左右方向の加速度の正負は、抽出した前後方向の加速度ベクトルと左右方向の加速度ベクトルについて、上下方向の加速度ベクトルとの位相差を用いることで決定することができる。
【００３９】
上記の加速度センサのセンサ出力を利用する方法は、携帯電話端末を携帯するユーザの姿勢が不明な状態で、加速度センサから得られる加速度情報をグローバル座標系における各軸方向の加速度情報に分離する。ところで、センサによって得られる動作情報としては、加速度の他に角速度がある。角速度情報は、角速度センサ（ジャイロ）を用いることで取得できる。しかし、角速度センサのセンサ出力から得られる角速度情報も、上記の加速度情報と同様に、センサ出力そのものからはグローバル座標系におけるどの軸周りの値であるかは不明である。そこで、角速度センサのセンサ出力をユーザのいわゆるピッチ軸、ロール軸、ヨー軸の各軸周りの角速度に変換する。なお、一般に、端末内において加速度センサの検出軸と角速度センサの検出軸は一致するように取り付けられているため、本実施形態でも各検出軸は一致していると想定する。仮に各検出軸が一致していない場合は、あらかじめ適当な校正手段によって２つの検出軸のずれを計測し、計測したずれに応じた座標変換行列をいずれかのセンサの出力値に施せば、各検出軸が一致しているものとして各センサ出力を扱うことができる。
【００４０】
携帯電話端末内の角速度センサのセンサ座標系Σ１について、互いに直交するＸＹＺの３軸を設定し、センサ座標系Σ１におけるＸ軸、Ｙ軸、Ｚ軸の各軸方向の角速度センサのセンサ出力値をそれぞれｘｒ、ｙｒ、ｚｒとする。また、携帯電話端末を携帯するユーザの座標系、いわゆるグローバル座標系Σ２について、互いに直交するピッチ軸、ロール軸、ヨー軸の３軸を設定し、グローバル座標系Σ２におけるピッチ軸ロールＹ軸、ヨー軸の
各軸方向の角速度センサのセンサ出力値をそれぞれｐ、ｒ、ｙとする。
【００４１】
そして、角速度センサのセンサ出力の値ＳＬ（＝（ｘｒ、ｙｒ、ｚｒ）Ｔ）を、ユーザのピッチ軸、ロール軸、ヨー軸周りの角速度ＳＧ（＝（ｐ、ｒ、ｙ）Ｔ）に変換することは、センサ座標系Σ１からグローバル座標系Σ２への座標変換を行うことと等価である。ここで、ＳＬからＳＧへの変換は、座標系Σ１及びΣ２の座標変換行列Ｒを用いてＹ＝ＲＸを演算すればよい。ここでＲは３×３行列で、以下の行列で表される。
【数１】
2018113976.tif 000003
【００４２】
座標変換行列Ｒの各要素ａ００〜ａ２２は、上記２座標系の各軸についての相対角度を適当な三角関数を用いた演算を通して得ることができる。なお、この演算は周知のものであるため、ここでは詳細な説明は省略する。ただし、上述の通り、三角関数等の演算をサブマイコンで行うことは望ましくない。そこで、センサ座標系Σ１から見たΣ２のＸＹＺ各軸の向きをそれぞれ単位ベクトルｅｘ、ｅｙ、ｅｚで表したとする。するとベクトルｅｘ、ｅｙ、ｅｚの各要素は、座標変換行列Ｒの各要素を用いてｅｘ＝（ａ００、ａ０１、ａ０２）Ｔ、ｅｙ＝（ａ１０、ａ１１、ａ１２）Ｔ、ｅｚ＝（ａ２０、ａ２１、ａ２２）Ｔと表現することができる。すなわち、ベクトルｅｘ、ｅｙ、ｅｚが分かりさえすれば、角速度センサのセンサ出力の値から、グローバル座標系におけるピッチ軸、ロール軸、ヨー軸の各角速度に変換することができる。
【００４３】
図８に、本実施形態における携帯電話端末１０のサブマイコン１０４が有する回路の一部を示す。図９Ａに示すように、加速度センサ１１０のセンサ出力Ａは、ＬＰＦ１０４ｃとＨＰＦ１０４ｄに入力される。上述の通り、ＬＰＦ１０４ｃからは重力加速度ベクトルＧが出力され、ＨＰＦ１０４ｄからは振動成分ベクトルＳが出力される。
【００４４】
また、図８に示すように、サブマイコン１０４は、外積演算処理部１０４ｅ、乗算処理部１０４ｆ、ＬＰＦ１０４ｇ、符号判定部１０４ｈ、内積演算処理部１０４ｉを有する。外積演算処理部１０４ｅは、ＬＰＦ１０４ｃから出力されるベクトルＧとＨＰＦ１０４ｄから出力されるベクトルＳの外積を求める。乗算処理部１０４ｆは、外積Ｓ×Ｇに＋１又は−１の係数を乗算する。また、ＬＰＦ１０４ｇは、乗算処理部１０４ｆの出力の平均値を求める。外積Ｓ×Ｇは、前後方向のベクトルであるから、乗算処理部１０４ｆで係数＋１又は−１を乗算すると、前後方向のうちの１方向のベクトルを求めることができる。したがって、ＬＰＦ１０４ｇからは、前後方向のうちの１方向のベクトルが出力される。そして、内積演算処理部１０４ｉが、その前後方向のうちの１方向のベクトルと外積演算処理部１０４ｅから出力される外積Ｓ×Ｇとの内積を求める。
【００４５】
内積演算処理部１０４ｉにおいて、内積の符号は、外積Ｓ×Ｇが前方向（すなわち、振動成分ベクトルＳが右方向）であれば＋１となり、外積Ｓ×Ｇが後ろ方向（すなわち、振動成分ベクトルＳが左方向）であれば−１となる。よって、この符号を符号判定部１０４ｈで検出し、＋１又は−１を乗算処理部１０４ｆに送ることで、ＬＰＦ１０４ｇからは前方向を示すベクトルＨが得られる。なお、ここでは便宜上、ベクトルＨは「前」方向を示すベクトルであるとしているが、乗算処理部１０４ｆ、ＬＰＦ１０４ｇ、符号判定部１０４ｈ、内積演算処理部１０４ｉのループにおける初期値の設定次第では、ここで説明した
「前」方向は「後ろ」方向を示す可能性もある。以下の説明では、ＬＰＦ１０４ｇから出力されるベクトルＨの方向は、グローバル座標系Σ２のロール軸（Ｙ軸）における前方向であるとする。
【００４６】
ところで、ＬＰＦ１０４ｃから出力されるベクトルＧの方向は、グローバル座標系Σ２のヨー軸（Ｚ軸）方向に等しい。内積演算処理部１０４ｊは、ＬＰＦ１０４ｃから出力されるベクトルＧと角速度センサ１１１のセンサ出力の値Ｘとの内積を演算する。当該内積は以下の式（７）で与えられる。
G・X = |G|ez・X = g y ・・・（７）
【００４７】
ここでｇは重力加速度の大きさであり、地上ではほぼ一定値である。そのため、内積演算処理部１０４ｊの出力値は、ヨー軸周りの回転の角速度を定数倍したものと等しい。したがって、内積演算処理部１０４ｊにおける式（７）により、ヨー軸周りの角速度が算出される。
【００４８】
次に、前方向ベクトルＨはセンサ座標系から見た前方向の単位ベクトルｅｙと適当な実数ｋ１を用いて式（８）のように表せる。
H = k1 ey ・・・（８）
｜Ｈ｜は、ベクトルＳの方向や大きさに依存するためｋ１は一定値ではない。しかしＬＰＦ１０４ｇの時定数を十分大きくすることで、ＬＰＦ１０４ｇから出力されるベクトルＨの大きさは、平均化されて所定の短時間において一定値になるとみなせる。このベクトルＨと角速度センサ１１１のセンサ出力の値Ｘの内積を計算すると、以下の式（９）が得られる。本実施形態では、内積演算処理部１０４ｍが式（９）の演算を行う。
H・X = k1ey・X= k1 r ・・・（９）
すなわち、短時間的には、式（９）により得られる内積値は、グローバル座標系Σ２におけるロール軸周りの角速度の大きさに比例すると考えられる。ただし、ｋ１がほぼ一定値であるとみなすことはできても、実際の角速度の大きさは不明である。そこで、本実施形態では、ロール軸周りの角速度の正負を角速度に関連した値として利用して、ユーザの動作を判定する。詳細については後述する。
【００４９】
さらに、前方向ベクトルＨと重力加速度ベクトルＧとの外積Ｋを考えると、外積Ｋは、グローバ座標系における右方向もしくは左方向を示すベクトルである。本実施形態では、外積演算処理部１０４ｋにより外積Ｋが算出される。なお、そこで、外積Ｋと角速度センサ１１１のセンサ出力の値Ｘとの内積を取ると、以下の式（１０）が得られる。本実施形態では、内積演算処理部１０４ｌが式（１０）の演算を行う。
K・X = k2ex・X = k2 p ・・・（１０）
したがって、式（１０）により得られる内積値は、グローバル座標系Σ２におけるピッチ軸周りの角速度に関連した値を取り出すことができる。
【００５０】
次に、本実施形態において、サブマイコン１０４において算出された、ヨー軸周りの角速度、ロール軸周りの角速度に関連した情報、ピッチ軸周りの角速度に関連した情報を用いて、携帯電話端末１０を携帯するユーザの種々の動作を判定する処理例について説明する。
【００５１】
図９Ａは、図８に示す回路により得られたヨー軸周りの角速度ωｙを用いて、屋内ナビゲーションを行う例においてサブマイコン１０４で実行される処理のフローチャートを示す。なお、以下の説明ではステップをＳと略記する。屋内ナビゲーションで重要なことは、図９Ｂに示すように、適当な基点を取り、基点を原点Ｏとして設定したＸＹ座標におけるユーザＵの相対位置（ｘ，ｙ）を知ることである。ユーザＵの位置が分かれば、屋内のどこにいるかがわかり、適切なナビゲーションサービスを提供することができる。図９Ａ
に示すフローチャートのＳ１０１〜Ｓ１０９の処理は、適当なサンプリングタイム（ΔＴ）毎に繰り返し呼ばれるループである。なお、当該サンプリングタイムは、ユーザの歩行周期に対して短いサイクルで１ループが完了するように適宜設定される。
【００５２】
Ｓ１０１では、サブマイコン１０４は、ユーザのヨー軸周りの各速度ωｙを取得する。次いで処理はＳ１０２に進む。Ｓ１０２では、サブマイコン１０４は、周知の手段により、ユーザＵが前を向いている方向を特定できたかどうかを確認する。これは例えば、屋内の特定の扉からユーザＵが入退室したことやユーザＵが廊下を歩いていることをＲＦＩＤ等の外部装置を用いて検知し、検知結果と地図情報とをマッチング処理等することによって、ユーザＵが現在どの方向を向いているか、すなわち図９Ｂに示す現在の方位θを推定できる。推定に成功した場合（Ｓ１０２：Ｙ）、サブマイコン１０４は、推定方位を現在の方位θとみなす（Ｓ１０３）。推定に失敗した場合（Ｓ１０２：Ｎ）、サブマイコン１０４は、現在の方位θに対し、上記のサンプリング期間ΔＴ内における角速度の積分値を加算する（Ｓ１０４）。Ｓ１０３、Ｓ１０４の処理が終了すると、処理はＳ１０５に進められる。
【００５３】
Ｓ１０５では、サブマイコン１０４がユーザＵの現在の歩数を算出する。Ｓ１０５の処理では、携帯電話端末１０が外部装置である歩数計の計算結果を取得して、サブマイコン１０４がその計算結果を利用する。次いで、処理はＳ１０６に進められる。Ｓ１０６では、Ｓ１０２と同様、周知の手段により、ユーザＵの現在位置を推定できたかどうかを確認する。ユーザの現在位置の推定に成功した場合（Ｓ１０６：Ｙ）、処理はＳ１０７に進められて推定位置を現在位置とみなす。ユーザの現在位置の推定に失敗した場合（Ｓ１０６：Ｎ）、処理はＳ１０８に進められ、サブマイコン１０４は、Ｓ１０５において計算結果を取得した歩数計の歩数がカウントアップされたか否かを判定する。サブマイコン１０４は、歩数計がカウントアップされたと判定した場合（Ｓ１０８：Ｙ）、ユーザＵの１歩にかかる移動距離Ｌを基に、現在位置（ｘ、ｙ）を更新する（Ｓ１０９）。ここで、移動距離Ｌは、ユーザＵの身長等を基に算出してもよいし、Ｓ１０７の処理における推定位置と現在位置との差分を用いて適宜推定してもよい。したがってＳ１０４やＳ１０９の処理により、ユーザの方位推定（Ｓ１０２）や位置推定（Ｓ１０６）が成功しない場合でも、ユーザのヨー軸周りの角速度を用いて、これらの方位や位置を推定することができる。
【００５４】
次に、図１０に、ユーザが台車を押しているか現在歩行中であるか歩行していないかをそれぞれ判定するフローチャートを示す。一般に、人間が台車やベビーカー等の運搬車を押しているときは、両手を運搬車に固定して移動するため、通常の歩行に比べて当該人間のヨー軸周りの回転、すなわち角速度が小さくなる傾向がある。そこで、図１０に示す処理により、ユーザが台車を押しているか現在歩行中であるか歩行していないかを判定する。
【００５５】
Ｓ２０１では、サブマイコン１０４は、ユーザのヨー軸周りの各速度ωｙを取得する。次いで処理はＳ２０２に進められる。Ｓ２０２において、サブマイコン１０４は、加速度センサ１１０等を用いてユーザが現在歩行中であるか否かを判定する。この判定処理は、外部の歩数計等の計算結果を用いることで得られ、周知の処理であるため詳細な説明は省略する。サブマイコン１０４は、ユーザが現在歩行中でないと判定した場合（Ｓ２０２：Ｎ）、台車押しの確度の値ｃａｒｔを０にして（Ｓ２１０）、非歩行と判定する（Ｓ２１１）。
【００５６】
一方、サブマイコン１０４は、Ｓ２０２において歩行中であると判定した場合（Ｓ２０２：Ｙ）、ヨー軸周りの角速度ωｙの絶対値が所定の閾値よりも大きいか否かを判定する。角速度ωｙの絶対値が所定の閾値よりも大きい場合（Ｓ２０３：Ｙ）、サブマイコン１０４は、台車押しの確度をＮ１だけ上げる（Ｓ２０４）。Ｓ２０５、Ｓ２０６では、サブ
マイコン１０４は、台車押しの確度が所定の値Ｎ２より大きくならないよう制限する処理を行う。さらに、Ｓ２０７、Ｓ２０８では、サブマイコン１０４は、台車押しの確度が０でない値を取る場合、台車押しの確度をデクリメントする。そして、サブマイコンは、台車押しの確度が所定の閾値Ｎ３より大きいか否かを判定し（Ｓ２０９）、台車押しの確度がＮ３より大きければ（Ｓ２０９：Ｙ）台車押しと判定し（Ｓ２１３）、台車押しの確度がＮ３以下であれば（Ｓ２０９：Ｎ）歩行中と判定する（Ｓ２１２）。以上の処理により、ユーザのヨー軸周りの角速度ωｙに基づいて台車押しの確度の値を所定の範囲内（０〜Ｎ２）で推移させることで、ユーザが台車を押しているか現在歩行中であるか歩行していないかを判定することができる。
【００５７】
次に、図１１Ａに、ユーザの歩行状態、具体的には歩行時の体の左右のバランスを診断するフローチャートを示す。なお、本フローチャートを実行するにあたり、事前にユーザが歩行中か否かの判定がなされており、サブマイコン１０４は、ユーザが歩行中であると判定された場合に本フローチャートを実行する。また、本フローチャートは、所定のサンプリング間隔で繰り返し実行される。
【００５８】
Ｓ３０１では、サブマイコン１０４は、図８に示すようにユーザのロール軸周りの角速度ωｒに関連する情報を算出する。ここで「関連する」とは、具体的には、上述の通り、角速度ωｒの値は実際のロール軸周りの角速度ではなく、実際のロール軸周りの角速度を定数倍したものであるという意味である。なお、以下では、便宜上角速度ωｒに関連する情報を角速度ωｒとして説明する。次いで処理はＳ３０２に進められる。
【００５９】
Ｓ３０２では、サブマイコン１０４は、現在の角速度ωｒと１サンプリング前の角速度ωｒ’との積が負であるか否かを判定する。なお、ωｒ’は後述のＳ３１０にて代入される値であるが、ωｒ’の初期値は適宜設定することができる。Ｓ３０２の処理においてωｒ×ωｒ’が負であるということは、図１１Ｂに示すように、ωｒの時間変化を示すグラフがゼロクロスしている（ωｒの値の符号が変化する）ことを意味する。そこで、図１１Ｂに示すようにωｒの半周期分の総和、すなわち中心からの移動量と関連する数値をｓｕｍとして、当該グラフがゼロクロスしない（Ｓ３０２：Ｎ）間はｓｕｍにωｒを加算し続ける（Ｓ３０９）。
【００６０】
図１１Ｂに示すように、周期によってはｓｕｍが負の値として積算される場合があるので、グラフがゼロクロスしたときに（Ｓ３０２：Ｙ）、サブマイコン１０４は、Ｓ３０３でｓｕｍの値を正にした後、半周期前の総和ｓｕｍ’との比を取ってバランスを算出する（Ｓ３０５、Ｓ３０６）。なお、サブマイコン１０４は、Ｓ３０４でｓｕｍとｓｕｍ’の大きさを判定し、大きい値を小さい値で除算することで、バランスは常に１より大きな値として算出される。したがって、算出された値が１に近づくほど、歩行時における体の左右のバランスがよいといえる。
【００６１】
本フローチャートでは、バランスを算出した後、次回バランス算出のために現在の総和ｓｕｍを前総和ｓｕｍ’に代入し（Ｓ３０７）、現在の総和ｓｕｍにはＳ３０１において得られたωｒを代入する（Ｓ３０８）。以上の処理により、ユーザのロール軸周りの角速度に関連する情報の時間変化の周期を利用することで、ユーザの歩行時の体の左右のバランスを診断することができる。なお、上記の処理例では、半周期分の総和を求めているが、総和を求める時間範囲は半周期に限らず適宜決めることができる。また、上記の処理例では、総和の比に基づいて歩行時の体の左右のバランスを算出しているが、図１１Ｂに示すように、グラフの最大値の比（ｈ／ｈ’）や時間の比（ｔ／ｔ’）に基づいてバランスを算出する構成としてもよい。
【００６２】
次に、図１２Ａに、ユーザの歩行時に転倒しそうになる等の異常状態が発生したか否か
を判定するフローチャートを示す。なお、本フローチャートを実行するにあたり、事前にユーザが歩行中か否かの判定がなされており、サブマイコン１０４は、ユーザが歩行中であると判定された場合に本フローチャートを実行する。また、本フローチャートは、所定のサンプリング間隔で繰り返し実行される。
【００６３】
図１２Ｂは、携帯電話端末１０のローカル座標系におけるｘ軸とユーザのグローバル座標系におけるピッチ軸とを合わせて、ユーザが歩行した際に転倒しそうになったときのｘ軸周りの角速度の時間変化を示すグラフである。図に示すように、異常状態が発生する、すなわちユーザが転倒しそうになると、それまでの歩行状態における角速度の変化に比べて角速度が特徴的な変化を示すことがわかる。そこで、サブマイコン１０４は、図１２Ａに示すフローチャートを実行することで、ユーザの歩行中に異常状態が発生したか否かを判定することができる。なお、図１２Ｂでは、説明の便宜上、携帯電話端末１０のローカル座標系におけるｘ軸とユーザのグローバル座標系におけるピッチ軸とを合わせているが、図８を参照しながら説明したように、これらの軸を合わせなくても本フローチャートの処理を正常に実行することができる。
【００６４】
Ｓ４０１では、サブマイコン１０４は、サブマイコン１０４は、図８に示すようにユーザのピッチ軸周りの角速度ωｐに関連する情報を算出する。ここで「関連する」とは、具体的には、上述の通り、角速度ωｐの値は実際のピッチ軸周りの角速度ではなく、実際のピッチ軸周りの角速度を定数倍したものであるという意味である。なお、以下では、便宜上角速度ωｐに関連する情報を角速度ωｐとして説明する。次いで処理はＳ４０２に進められる。
【００６５】
Ｓ４０２では、サブマイコン１０４は、Ｓ４０１で算出したωｐの絶対値ωｐ’を取る。次いで処理はＳ４０３に進められる。Ｓ４０３では、サブマイコン１０４は、Ｓ４０２で算出したωｐ’にローパスフィルタ（図示せず）を通した結果ψを算出する。なお、ローパスフィルタの時定数を歩行周期より十分長く設定することで、ψは当該時定数により定まる時間範囲で平均したピッチ軸周りの角速度の振幅値が得られる。次いで処理はＳ４０４に進められる。Ｓ４０４では、サブマイコン１０４は、Ｓ４０２で算出したωｐ’が、Ｓ４０３で算出した平均角速度の振幅値ψをｋ倍（ｋは正の整数）した値より大きいかどうか判断する。ωｐ’がψのｋ倍より大きければ（Ｓ４０４：Ｙ）、サブマイコン１０４は、異常状態が発生したと判定する（Ｓ４０５）。ωｐ’がψのｋ倍以下であれば（Ｓ４０４：Ｎ）、サブマイコン１０４は本フローチャートの処理を終了する。以上の処理により、ユーザのピッチ軸周りの角速度の時間変化を追跡し、当該加速度が異常な変化を示したときを検出してユーザの歩行が異常状態にあるとみなすことができる。
【００６６】
次に、図１３Ａ及び図１３Ｂに、ユーザが、例えばトランクケース等の大きな荷物を片手で持ち上げて歩いているか否かを判定するフローチャートを示す。なお、図１３Ａのフローチャートにおける「１」及び「２」は、それぞれ図１３Ｂのフローチャートの「１」及び「２」と連続している。図１３Ｃは、ユーザが荷物を運搬しているときのユーザのグローバル座標系におけるロール軸周りの角速度の時間変化を示すグラフである。図に示すように、荷物運搬時はロール軸周りの角速度のバランスが悪くなる。具体的には、半周期にかかる時間や最大振幅に現れる。図では、一方の半周期にかかる時間が他方の半周期にかかる時間より短く、その最大振幅が大きくなっており（「短く大きい」）、他方の半周期においては最大振幅が一方の半周期における最大振幅が小さくなっている（「長く小さい」）。
【００６７】
そこで、本フローチャートでは、ロール軸周りの角速度のバランスを評価することで、ユーザが荷物を片手で持ち上げて歩いているか否かを判定する。なお、本フローチャートを実行するにあたり、事前にユーザが歩行中か否かの判定がなされており、サブマイコン
１０４は、ユーザが歩行中であると判定された場合に本フローチャートを実行する。また、本フローチャートは、所定のサンプリング間隔で繰り返し実行される。
【００６８】
Ｓ５０１では、サブマイコン１０４は、図８に示すようにユーザのロール軸周りの角速度ωｒに関連する情報を算出する。ここで「関連する」とは、具体的には、上述の通り、角速度ωｒの値は実際のロール軸周りの角速度ではなく、実際のロール軸周りの角速度を定数倍したものであるという意味である。なお、以下では、便宜上角速度ωｒに関連する情報を角速度ωｒとして説明する。次いで処理はＳ５０２に進められる。
【００６９】
Ｓ５０２では、図１１Ａ及び図１１Ｂに示す場合と同様、ωｒの時間変化を示すグラフがゼロクロスしている（ωｒの値の符号が変化する）か否かを判定する。ゼロクロスが発生していない場合（Ｓ５０２：Ｎ）、カウンタの値ｃｎｔをインクリメントする（Ｓ５０３）。なお、ｃｎｔの値はゼロクロスが発生したときにＳ５１３で０にされる。Ｓ５０３の処理の後、サブマイコン１０４は、Ｓ５０４〜Ｓ５０７において、現在の角速度ωｒの値と本フローチャートを開始してからの角速度ωｒの最大値又は最小値とを比較することで、角速度ωｒの最大値と最小値を求める。Ｓ５０８では、サブマイコン１０４は、現在の角速度ωｒの値を１サンプリング前の角速度ωｒ’の値とする。
【００７０】
Ｓ５０２において、ωｒの時間変化を示すグラフがゼロクロスしている場合（Ｓ５０２：Ｙ）、処理はＳ５０９に進められる。Ｓ５０９〜Ｓ５１１では、ωｒの時間変化における半周期前のカウンタの値ｃｎｔ’と現在のカウンタの値ｃｎｔの比を周期のバランスの値ｃａｒｒｙ１として計算する。図１３Ｂでは、カウンタの値のうち大きい値を小さい値で除算しており、ｃａｒｒｙ１の値は１より大きい値となるため、ｃａｒｒｙ１の値が１に近づくほどユーザの歩行において体の左右のバランスがよいことがわかる。すなわち、周期のバランスを計算することで、図１３Ｃに示すグラフでいえば、半周期にかかる時間が長短を交互に繰り返しているか否かがわかる。
【００７１】
Ｓ５１２、Ｓ５１３では、半周期前のカウンタの値ｃｎｔ’を現在のカウンタの値で置き換えた後に現在のカウンタの値ｃｎｔを初期値である０に戻す。次いで処理はＳ５１４に進められる。上述の通り、ωｒは半周期ごとに正と負の値を交互に取る。また、Ｓ５０４〜Ｓ５０７で得られる最大値と最小値は、一方がゼロクロスが発生する直前の半周期におけるωｒの振幅のピークを示し、他方が当該半周期の１つ前の半周期におけるωｒの振幅のピークを示す。そこで、Ｓ５１４〜Ｓ５１６では、これらの最大値と最小値の比を振幅のバランスの値ｃａｒｒｙ２として計算する。Ｓ５１７〜Ｓ５１９では、次回のｃａｒｒｙ２の計算のために、当該半周期の１つ前の半周期におけるωｒの振幅のピークを示す最大値又は最小値を特定して、その値を０にする。
【００７２】
上記の処理によって得られたｃａｒｒｙ１とｃａｒｒｙ２は、それぞれωｒの時間変化のバランスを表している。そして、ｃａｒｒｙ１の場合は閾値Ｔｈ１、ｃａｒｒｙ２の場合は閾値Ｔｈ２と比較し、ｃａｒｒｙ１とｃａｒｒｙ２の一方もしくは両方が閾値より大きい値を取る場合は、バランスが悪い歩行である、すなわちユーザが荷物運搬中である（ここでの例では、荷物を片手で持ち上げて歩いている）と判定する（Ｓ５２０、Ｓ５２１）。以上の処理により、ユーザのロール軸周りの角速度の各周期の時間幅や各周期における振幅の大きさに基づいて、ユーザの歩行のバランスを評価することで荷物運搬中か否かを判定することができる。
【００７３】
なお、ｃａｒｒｙ１とｃａｒｒｙ２のいずれか一方を用いて荷物運搬中か否かを判定する場合は、他方に関する演算処理は行わなくてもよい。例えばＳ５２０において、ｃａｒｒｙ１を評価する場合、ｃａｒｒｙ２の値を得る処理（Ｓ５０４〜Ｓ５０７、Ｓ５１４〜Ｓ５１９）は省略できる。逆に、Ｓ５２０においてｃａｒｒｙ２を評価する場合は、ｃａ
ｒｒｙ１を得る処理（Ｓ５０３、Ｓ５０９〜Ｓ５１３）は省略できる。さらに、上記の処理例では、Ｓ５２０でｃａｒｒｙ１やｃａｒｒｙ２の値が閾値より大きいと判定したときに、Ｓ５２１でユーザは荷物運搬中であると判定しているが、図１０のＳ２０３〜Ｓ２１３に示すように確度の概念を用いて荷物運搬中であるか否かを判定する構成とすることもできる。
【００７４】
（第２の実施形態）
次に、第２の実施形態について図面を参照しながら説明する。なお、本実施形態でも、第１の実施形態の携帯電話端末１０と同様の構成を有する携帯端末１０’を使用し、以下の説明では、第１の実施形態と同等の構成は同一の符号を用いて詳細な説明を省略する。第２の実施形態では、四脚動物、一例として馬の歩容を判定する。馬等の四脚動物は、移動速度によって歩容、すなわち走り方・歩き方が変わってくる。図１４に、馬の代表的な歩容、（１）ウォーク（ｗａｌｋ）、（２）トロット（ｔｒｏｔ）、（３）カンター（ｃａｎｔｅｒ）、（４）ギャロップ（ｇａｌｌｏｐ）を示す。図１４では、図中左側に各歩容の馬の脚の位置関係を模式的に示し、各歩容の「１」〜「８」で示す期間における各脚（右前（脚）、左前（脚）、右後（脚）、左後（脚））の接地の有無をそれぞれの模式図の右隣に示す。なお、馬の歩容としては、他にウェイブ、ペース、バウンド等も挙げられるが、図に示す４歩容ほどは一般的でないため、ここでは触れない。
【００７５】
ここで図１４からわかるように、カンターの「７」〜「８」に示す期間、ギャロップの「４」及び「８」に示す期間は馬体が完全に宙に浮いている。また、図１４では、トロットにおいて、「１」や「４」に示す期間では４脚とも接地しているように見えるが、実際のデータを詳細に確認すると、これらの期間では脚の切り替えが素早く行われており、馬体が宙に浮いている時間が存在することがわかっている。
【００７６】
つまり、馬体が宙に浮いているということは、馬体に取り付けられた加速度センサには無重力状態が生じているといえる。したがって、馬が移動している場合に、加速度センサが無重力状態を検知したとき、馬はトロット、カンター、ギャロップのいずれかの状態にあるとみなすことができる。そこで、本実施形態では、携帯電話端末１０を馬の体に取り付け、加速度センサ１１０のセンサ出力を用いて、サブマイコン１０４が馬の歩容を判定する。
【００７７】
図１５に、本実施形態におけるサブマイコン１０４の一部の構成を示す。サブマイコン１０４は、ＬＰＦ１０４ｎ、ＨＰＦ１０４ｏ、内積演算処理部１０４ｐ、１０４ｑを有する。加速度センサ１１０のセンサ出力は、ＬＰＦ１０４ｎ、ＨＰＦ１０４ｏ、内積演算処理部１０４ｑにそれぞれ入力される。また、ＬＰＦ１０４ｎ、ＨＰＦ１０４ｏの各出力は内積演算処理部１０４ｐに入力される。ＬＰＦ１０４ｎ、ＨＰＦ１０４ｏ、内積演算処理部１０４ｐによる一連の処理は、第１の実施形態と同じであるため説明を省略する。ＬＰＦ１０４ｎ、ＨＰＦ１０４ｏからは、重力加速度成分ベクトルＧ’’、振動成分ベクトルＳ’’がそれぞれ出力される。したがって、内積演算処理部１０４ｐからは馬のグローバル座標系における上下方向の振動成分ベクトルの大きさが出力される。一方、内積演算処理部１０４ｑは、加速度センサ１１０のセンサ出力自体について内積演算を施す、すなわちセンサ出力の絶対値の２乗を算出する。便宜上、内積演算処理部１０４ｐから得られる出力の値をα、内積演算処理部１０４ｑから得られる出力の値をβとする。
【００７８】
図１６Ａ〜図１６Ｃに、上記の処理により得られる値α、βを用いて、馬の歩容を判定するフローチャートを示す。なお、本フローチャートは、図１５に示す処理により得られた値α、βを用いて所定の間隔ごとに繰り返し実行される。Ｓ６０１において、サブマイコン１０４は、内積演算処理部１０４ｐからの出力値αに基づいて歩行中か否か判定する。当該判定処理は周知であるため説明を省略する。馬が歩行中であると判定された場合（
Ｓ６０１：Ｙ）、処理はＳ６０２に進められる。また、馬が歩行中でないと判定された場合（Ｓ６０１：Ｎ）、処理はＳ６１９に進められる。Ｓ６１９では、サブマイコン１０４は、トロットの確度ｎ＿ｔｒｏｔ、走行の確度ｎ＿ｒｕｎ、ギャロップの確度ｎ＿ｇａｌｌｏｐを０にした後、馬が歩行中でないと判定 する（Ｓ６２０）。ここで、走行の確度
ｎ＿ｒｕｎとは、後述するように、現在の馬の歩容がトロットもしくはカンターのいずれかであると判定するために用いられる値である。
【００７９】
Ｓ６０２〜Ｓ６０６では、サブマイコン１０４は、馬の歩行周期を算出する。まず、サブマイコン１０４は、上下方向の加速度の値αが極小値を取っているかどうかを判定する（Ｓ６０２）。図１６Ｂに、Ｓ６０２における処理のフローチャートを示す。Ｓ７０１〜Ｓ７０３では、サブマイコン１０４は、上下方向の加速度の値αについて過去３つのサンプルの値を保持する。図中、３つのサンプルの値のうち、時間的に古いものから順に「ｌｅｆｔ」、「ｍｉｄ」、「ｒｉｇｈｔ」とする。Ｓ７０４では、サブマイコン１０４は、３つのサンプルの値のうち「ｍｉｄ」の値が小さいか否かを判定する。厳密には、Ｓ６０２では現在のαの値が極小値であるか否かではなく、１サンプル前のαの値が極小を取ったか否かを判定しているが、原理的には問題ない。なお、Ｓ７０１〜Ｓ７０４の処理でαの値が極小値を取ったか否かを判定するために、αが滑らかな時間変化を示すようＳ７０１〜Ｓ７０４の処理の前に適宜フィルタリングを適用してもよい。
【００８０】
Ｓ６０２において、αが極小値を取っていないと判定された場合（Ｓ６０２：Ｎ）、サブマイコン１０４は、歩行周期のカウンタｃｎｔをインクリメントする（Ｓ６０３）。また、αが極小値を取ったと判定された場合（Ｓ６０２：Ｙ）、サブマイコン１０４は、処理をＳ６０４に進める。αが極小値を取ったと判定されたときの歩行周期のカウンタｃｎｔの値は、αが前回極小値を取ってから今回極小値を取るまでにＳ６０２、Ｓ６０３により積算された値である。したがって、ｃｎｔの値が小さければ、現在の馬の歩容は歩行周期の短いトロットである可能性が高くなる。そこで、ｃｎｔの値が所定の閾値よりも小さい場合（Ｓ６０４：Ｙ）、トロットの確度ｎ＿ｔｒｏｔを値Ｎ１だけ加算する（Ｓ６０５）。Ｓ６０５の処理を行った後及びｃｎｔの値が所定の閾値以上である場合（Ｓ６０４：Ｎ）、ｃｎｔの値を初期値である０に戻す（Ｓ６０６）。
【００８１】
続いて、Ｓ６０７〜Ｓ６１０では、サブマイコン１０４は、内積演算処理部１０４から得られる出力の値βが所定の閾値より小さい場合は（Ｓ６０７：Ｙ）走行の確度ｎ＿ｒｕｎを値Ｎ２だけ加算し（Ｓ６０８）、βが所定の閾値より大きい場合は（Ｓ６０９：Ｙ）ギャロップの確度ｎ＿ｇａｌｌｏｐを値Ｎ３だけ加算する（Ｓ６１０）。次いで処理はＳ６１１に進められる。
【００８２】
Ｓ６１１では、具体的には図１６Ｃに示すように、上記の確度のいずれかをＡとし、上限をＮとした場合に、Ｓ８０１〜Ｓ８０４により値ＡがＮを超えないようにする処理を行う。Ｓ８０１〜Ｓ８０４の処理により、Ｓ６０５、Ｓ６０８、Ｓ６１０により加算された上記の各確度の値は、Ｓ６０４、Ｓ６０７、Ｓ６０９の判定がＮである場合に小さい値となる。すなわち、馬がトロット、カンター、ギャロップのいずれかを止めた後は、時間の経過とともに対応する確度が下がっていく。Ｓ６１１の処理の後、処理はＳ６１２に進められる。Ｓ６１２〜Ｓ６１８では、各確度を所定の閾値と比較し、確度が所定の閾値より大きい場合に、現在の馬の歩容がその確度に対応する歩容であると判定する。
【００８３】
図１７に、本実施形態における歩容判定の実験結果の一例を示す。図中、４００のグラフは、取得した加速度センサ１１０のセンサ出力の時系列情報を示す。また、４０１及び４０２のグラフは、図１５に示す処理を行った後の上下振動αと絶対値の２乗βの時間変化をそれぞれ示す。
【００８４】
時刻４０５において、加速度の大きさがＳ６０７で用いられる閾値より小さくなってきている。したがって、Ｓ６０８の処理により走行の確度ｎ＿ｒｕｎが上がってきている（図中４０７）。ここで、４０３のグラフは、上下方向の振動の極小値の間隔４０８をプロットしたものである。時刻４０９以降、歩行周期が短くなってきており（４１０）、Ｓ６０４、Ｓ６０５の処理によりトロットの確度ｎ＿ｔｒｏｔ（４１１）が上がってきている。
【００８５】
時刻４１２において、走行の確度ｎ＿ｒｕｎ及びトロットの確度ｒ＿ｔｒｏｔがＳ６１４及びＳ６１５で用いられる閾値４１３を超えたことから、歩容をトロットと判定している（４１４：ｔｒｏｔ）。また、時刻４１５において歩行周期が長くなってきたため、Ｓ６０４におけるＮの判定及びＳ６１１の処理によりトロットの確度ｎ＿ｔｒｏｔが下がってきているが、まだ閾値４１３より大きいため、歩容はトロットであると判定され続けている。次いで、時刻４１６において、加速度の絶対値の値βが大きくなって閾値４１７に達するようになってきたため、Ｓ６０９及びＳ６１０の処理によりギャロップの確度ｎ＿ｇａｌｌｏｐが上がってきている。そして、時刻４１８において、トロットの確度ｎ＿ｔｒｏｔが閾値４１３より小さくなったため、Ｓ６１４及びＳ６１５の処理により歩容はカンターであると判定される（４１９）。さらに、時刻４２０において、ギャロップの確度ｎ＿ｇａｌｌｏｐがＳ６１２で用いられる閾値を超えたため、歩容はギャロップであると判定される（４２１）。
【００８６】
（第３の実施形態）
次に、第３の実施形態について図面を参照しながら説明する。なお、本実施形態でも、第１の実施形態の携帯電話端末１０と同様の構成を有する携帯端末１０’’を使用し、以下の説明では、第１の実施形態と同等の構成は同一の符号を用いて詳細な説明を省略する。第３の実施形態では、一例として馬の手前を判定する。カンターやギャロップでは、馬の左右の脚の動きが非対称であり、前脚のうちどちらをより前に出したかによって、右手前と左手前という区分がある。一般に、馬がトラックを走る場合に、右カーブでは右手前が、左カーブでは左手前がそれぞれ有利と言われているが、人間の右利きと左利きのように、個々の馬によって得意とする手前が異なると言われている。したがって、特に競走馬の世界では歩容に加えて手前という概念も重視されている。そこで、本実施形態では、対象とする運動体（ここでは一例として馬）の現在の利き足を特定する処理を行う。
【００８７】
本実施形態では、図１８に示すように、馬の前両脚の間の胸板に携帯端末１０’’を装着する。したがって、本実施形態では、右脚が前に出るときは携帯端末１０’’が図の矢印の方向に回転し、左脚が前に出るときはその逆の方向に回転する。図１９Ａ及び図１９Ｂに、馬体の上下方向の動きと携帯端末１０’’の回転の関係を示す。図１９Ａは、馬が右手前で移動している場合を示し、図１９Ｂは、馬が左手前で移動している場合を示す。なお、馬は図中の（１）から（８）に順次進んでいく。また、図中、実線が右脚を示し、破線が左脚を示す。
【００８８】
図２０に、本実施形態におけるサブマイコン１０４の一部の構成を示す。本実施形態において、サブマイコン１０４は、ＬＰＦ１０４ｒ、ＨＰＦ１０４ｓ、内積演算処理部１０４ｔ、１０４ｕを有する。加速度センサ１１０のセンサ出力は、ＬＰＦ１０４ｒ、ＨＰＦ１０４ｓにそれぞれ入力される。また、ＬＰＦ１０４ｒ、ＨＰＦ１０４ｓの各出力は内積演算処理部１０４ｕに入力される。ＬＰＦ１０４ｒの出力は内積演算処理部１０４ｔにも入力される。ＬＰＦ１０４ｒ、ＨＰＦ１０４ｓ、内積演算処理部１０４ｕによる一連の処理は、第１の実施形態と同じであるため説明を省略する。さらに、角速度センサ１１１のセンサ出力が、内積演算処理部１０４ｔに入力される。
【００８９】
内積演算処理部１０４ｔからは、図８を参照しながら説明したように、ここでは馬のグ
ローバル座標系における上下方向の軸周りの角速度が出力される。ＬＰＦ１０４ｒ、ＨＰＦ１０４ｓからは、重力加速度成分ベクトルＧ’’’、振動成分ベクトルＳ’’’がそれぞれ出力される。したがって、内積演算処理部１０４ｕからは馬のグローバル座標系における上下方向の振動成分ベクトルの大きさが出力される。便宜上、内積演算処理部１０４ｔから得られる出力の値をγ、内積演算処理部１０４ｕから得られる出力の値をδとする。
【００９０】
図２１は、内積演算処理部１０４ｔから得られる出力の値をγ、内積演算処理部１０４ｕから得られる出力の値をδの時間変化を示すグラフである。馬の上下方向の加速度の変化と手前に応じて、上下方向の振動の変化と回転方向の角速度の変化の位相差が１８０°ずれている。したがって、上下方向の振動成分ベクトルの大きさδの極大極小時に上下方向の軸周りの角速度の大きさγとの積を取り、その値が正か負かを判別することで、上記のずれを検出することができる。
【００９１】
図２２Ａ及び図２２Ｂに、本実施形態における、手前判定のフローチャートを示す。なお、本フローチャートは、図２０に示す処理により得られた値γ、δを用いて所定の間隔ごとに繰り返し実行される。Ｓ９０１では、δが極値を示すか否かを判定する。具体的には、図２２ＢのＳ１００１〜Ｓ１００５の処理によって、δが極値を示すかを判定する。Ｓ１００１〜Ｓ１００５の処理は、図１６Ｂと同様であるため、ここでは説明を省略する。δが極値を示さない場合（Ｓ９０１：Ｎ）、サブマイコン１０４は、γとδの積を演算し、この積をｋとして保持する（Ｓ９１２）。δが極値を示す場合（Ｓ９０１：Ｙ）、サブマイコン１０４は、ｋの値の正負を判定する（Ｓ９０２）。ここで、サブマイコン１０４が保持するｋの値は、Ｓ９０１〜Ｓ９１７の一連の処理を１サイクルとした場合に、１サイクル前の処理でサブマイコン１０４が算出したｋの値である。これは、上述したようにＳ９０２の処理で極値を示すか否かの判定対象となるのは、実際には１サンプル前のｋの値であるためである。
【００９２】
ｋが正の場合（Ｓ９０２：Ｙ）、手前確度ｒｌが左手前らしさを示しているかどうか確認する（Ｓ９０３）。本実施形態では、手前確度ｒｌの値が正の場合に左手前の確度が高く、手前確度ｒｌの値が負の場合は右手間の確度が高いとする。一例として、手前確度ｒｌの値は、その初期値を０とし、Ｓ９０５〜Ｓ９１１の処理により変動する。Ｓ９０３において、手前確度ｒｌが０以上、すなわち左手前らしいのであれば、手前確度ｒｌに値Ｎ４を加算する（Ｓ９０４）。本実施形態では、Ｓ９０５、Ｓ９０６の処理により手前確度ｒｌが値Ｎ５より大きくならないよう制限している。
【００９３】
一方、ｋが正の値で手前確度ｒｌが負の値、すなわち右手前らしさを表している場合（Ｓ９０２：Ｙ、Ｓ９０３：Ｎ）、手前確度ｒｌを２分の１にする（Ｓ９０７）。なお、ｋが負の値の場合も（Ｓ９０２：Ｎ）、図２３Ａに示すように、加算と減算、手前確度ｒｌを−Ｎ５と比較する等の違いはあるものの、Ｓ９０３〜Ｓ９０７と同様の処理をする（Ｓ９０７〜Ｓ９１１）。Ｓ９０６、Ｓ９０７、Ｓ９１１の処理の後、処理はＳ９１２に進められる。さらに、Ｓ９１２の処理の後、処理はＳ９１３に進められる。
【００９４】
Ｓ９１３〜Ｓ９１７では、手前確度ｒｌを所定の閾値と比較し、手前確度ｒｌが所定の閾値より大きければ（Ｓ９１３：Ｙ）、左手前であると判定する（Ｓ９１７）。また、手前確度ｒｌにマイナスを付した値−ｒｌが所定の閾値より小さければ（Ｓ９１４：Ｙ）、右手前であると判定する（Ｓ９１６）。さらに、Ｓ９１３、Ｓ９１４において手前確度ｒｌの値が所定の閾値よりも大きくもなく、−ｒｌが所定の閾値よりも小さくもなければ、手前は不確定であると判定する（Ｓ９１５）。
【００９５】
図２３に、本実施形態における手前判定の実験結果を示す。７０１及び７０２のグラフ
は、加速度センサのセンサ出力の時間変化を示す。また、７０３及び７０４のグラフは、角速度センサのセンサ出力の時間変化を示す。さらに、７０５、７０６は、図２０に示す処理によって得られた上下方向の軸周りの角速度γと上下方向の振動成分ベクトルの大きさδを示す。なお、図２３に示すように、γとδの値の時間変化が７０５のグラフでは逆位相に、また、７０６のグラフでは同位相になっている。さらに、７０７及び７０８のグラフは、それぞれ手前確度ｒｌの時間変化を示し、７０７のグラフでは時間経過とともに手前確度ｒｌが小さくなり、７０８のグラフでは時間経過とともに手前確度ｒｌが大きくなっている。
【００９６】
図２３に示すように、時刻７０９又は７１０において、Ｓ９１３又はＳ９１４において手前確度ｒｌが閾値７１１又は７１２を越え（Ｓ９１３：Ｙ又はＳ９１４：Ｙ）、それぞれ右手前、左手前と判定されている。そして、その後時刻７１３、７１４において、７０５又は７０６のグラフから分かるようにγとδの位相差が安定しなくなり、このため手前確度が低くなってＳ９１３〜Ｓ９１５の処理により手前が不確定と判定されている。
【００９７】
ところで、例えば、上記の第１の実施形態のサブマイコン１０４について、ピッチ軸周りの角速度に関連した情報とロール軸周りの角速度に関連した情報を算出する回路として、図２４に示す回路を採用することもできる。図２４に示すように、サブマイコン１０４は、ＬＰＦ１００４ａ、バンドパスフィルタ（ＢＰＦ）１００４ｂ、内積演算処理部１００４ｃ、１００４ｈ、１００４ｊ、１００４ｐ、１００４ｑ、外積演算処理部１００４ｄ、１００４ｉ、乗算部１００４ｅ、１００４ｌ、１００４ｎ、１００４ｏ、符号判定部１００４ｇ、１００４ｍ、移相フィルタ１００４ｋを有する。ここでは、図２４に示す回路の主な特徴について説明する。内積演算処理部１００４ｃからはユーザの上下方向の加速度ベクトルの大きさが出力される。また、内積演算処理部１００４ｊからはユーザの前後方向の加速度ベクトルの大きさが出力される、内積演算処理部１００４ｃの出力に対して移相フィルタ１００４ｋにより所定量位相をずらし、乗算部１００４ｌで内積演算処理部１００４ｊの出力と乗算することで、符号判定部１００４ｍにより、ユーザの前後方向のベクトルＫ及び左右方向のベクトルＨの正負を決定することができる。
【００９８】
したがって、乗算部１００４ｎからは左ベクトルＬが、乗算部１００４ｏからは前ベクトルＦが得られる。なお、図２４に示す回路の初期値次第では、乗算部１００４ｎからは右ベクトルが、乗算部１００４ｏからは後ろベクトルがそれぞれ得られる。さらに、これらのベクトルと角速度センサ１１１のセンサ出力との内積を求めることで、内積演算処理部１００４ｐ、１００４ｑからは、回転方向が確定したピッチ軸周りの角速度に関連した情報とロール軸周りの角速度に関連した情報がそれぞれ出力される。
【００９９】
（第４の実施形態）
次に、第４の実施形態について説明する。牛や馬等の産業動物を飼育する上では、それらの健康管理が重要視される。特に、四脚動物の場合は、各脚の健康状態を把握することが求められる。例えば、一脚の具合が悪い場合、その動物の歩行や走行における歩調や体のバランスが悪くなり、その動物の歩行状態が跛行とみなされることがある。例えば、牛の跛行は、蹄が痛む蹄病が原因であることが多く、乳牛であれば、跛行により生乳の産出量が減少する可能性がある。また、例えば、馬の跛行は、前脚の腱が痛む屈腱炎が原因であることが多く、競走馬であれば、出走できない事態を招く可能性がある。そのため、四脚の産業動物の飼育においては、跛行から脚の異常を早期に発見し、迅速な対策を行うことが求められている。
【０１００】
近年の研究では、例えば馬の歩容を数値化することを狙いとして、規則性と対称性という２つの評価基準を用いることが提唱されている。例えば、馬の歩行状態がトロットである場合に馬体の上下加速度を利用して規則性と対称性を判定する。トロットとは右前脚と
左後脚、左前脚と右後脚が対となって歩行する状態を指す。この時の前脚についての上下加速度の変化を時系列に表すと、図２５のようになる。図中、脚の動きと１つの波の周期とが連動しているため、各周期の波は、支持脚が右、左、右、左と交互に代わっていることを示している。そこで、図２６に示すように、隣り合う周期間における波（１歩前と２歩前の波）の相関値を対称性、１周期離れた周期間における波（１歩前と３歩前の波）の相関値を規則性と定義する。
【０１０１】
図２６において、規則性および対称性を算出する相関演算は、波の周期が一定でないために単純に一定間隔で上下加速度をサンプリングするだけでは適切に実行できず、次のような算出方法を採用する。上下加速度のサンプリングにおいてｉサンプル前の値をｘｉとして（ｉは自然数）、以下の式（１１）によりＡ（ｍ）を計算する。
2018113976.tif 000004
【０１０２】
ここでＮはサンプリング数である。Ａ（ｍ）は、現在時間におけるサンプルとｍサンプルだけ過去に遡った時間におけるサンプルとの相関値を意味する。そのため、横軸にｍ、縦軸にＡ（ｍ）を取ったグラフを描くと、図２７のように、ｍ＝０において山から始まり谷、山、谷・・・と続く形状となる。図２７において、ｍ＝０の最初の山は、自サンプルとの相関である。また、図２７のグラフの１つ目と２つ目の山のピークにおけるｍをそれぞれｓ、ｒとすると、Ａ（ｓ）、Ａ（ｒ）は、それぞれ図２６における１周期前の波との相関、２周期前の波との相関となる。ここでＡ（ｍ）の値の大きさは、波の振幅によって変化するため、対称性をＡ（ｓ）／Ａ（０）、規則性をＡ（ｒ）／Ａ（０）と定義する。ここで、あるサンプルと他のサンプルとの相関値は、自サンプルとの相関における相関値より高くなることはないため、原理上これらの定義された値は１以下の値となる。
【０１０３】
ところで、この演算方法にはいくつかの問題点がある。１つ目の問題は、計算量が多いことである。例えばＮ＝１００とすると、１回の相関演算を行うにあたりＡ（０）を算出する計算を１００回、Ａ（１）を算出する計算を９９回・・・と、合計で５０５０回の計算を行う。そして、馬の歩容判定においては、一歩ごとに相関演算を繰り返すため、演算に伴う処理負荷が大きい。２つ目の問題は、波の周期に対して十分に短い間隔でサンプリングしないと、規則性および対称性の値の算出において局所的な誤差が大きくなることである。例えば、図２７において、Ｎ＝７であり、データ列がｘ１、ｘ２・・・ｘ７がそれぞれ１、０、−２、０、２、０、−２であるとする。このとき、Ａ（０）は、（１＋０＋４＋０＋４＋０＋４）／７＝１３／７、すなわち約１．８６である。一方、Ａ（４）は（２＋０＋４）／（７−４）＝６／３＝２となりＡ（０）よりも大きな値となる。
【０１０４】
図２８はある馬の歩行データについて、Ｎ＝８０として１歩ごとの規則性および対称性を演算した結果を示すグラフである。１歩あたりの取得サンプル数は約２０サンプルである。図２８のグラフでは、点線で囲んだ領域（Ａ）が示すように、規則性の相関値が１００％を越える部分がある。また、規則性および対称性について、サンプルがグラフ全体に分散しているため、どのサンプルが正常であるかを判定するのが難しい。ところで、この問題は、サンプリング間隔を短くして、例えば１歩の間の取得サンプル数を２００サンプルとし、Ｎの値としてより大きな値、例えば１０００を設定することで改善することができる。ただし、このようにサンプリング間隔を短くしてＮに大きな値を設定すると、サンプリングに使用される馬の歩行状態を検知するセンサについては、データ採取ループの処理の高速化が求められ、上記の相関演算の計算量はＮの値が大きくなるにつれて増加する。例えば、Ｎ＝１０００とした場合は、約５０万回の相関演算が実行されるものと推定さ
れる。
【０１０５】
そこで、本実施形態では、１歩ごとの上下加速度の波形ではなく、１歩ごとの運動エネルギを比較する。例えば、現在からｎ歩前の運動エネルギをＥ（ｎ−１）とすると、対称性を示す値は１歩前の運動エネルギ（Ｅ（０））と２歩前の運動エネルギ（Ｅ（１））の比、規則性を示す値は１歩前と３歩前（Ｅ（２））の比として求められる。ここで、各歩の運動エネルギの小さい方を分母にすることで比は１以上の値として求められる。また、運動エネルギは、速度をｖ、物体の質量をｍとしてｍｖ２／２で与えられる。本実施形態においては、α歩前の速度をｖαとβ歩前の速度をｖβとしたときに、α歩前とβ歩前とでの運動エネルギの比Ｅ（α）／Ｅ（β）は、（ｍｖα２／２）／（ｍｖβ２／２）＝ｖα２／ｖβ２で与えられる。
【０１０６】
そして、運動エネルギは上下加速度のグラフと時間軸とで囲まれる領域の面積の２乗和であるから、本実施形態においては、１歩ごとの上下加速度の積分値の２乗の比を求めれば、各歩間の運動エネルギの比が求められる。なお、図２９のグラフに示すように、１歩ごとの上下加速度は時間軸を中心として正および負の値を取る。したがって、１歩ごとの運動エネルギは、上向きの運動エネルギと下向きの運動エネルギの和であるから、上向きの速度および下向きの速度の２乗和を求めればよい。
【０１０７】
ここで、歩行状態を表す運動エネルギの速度は加速度を積分することにより得られる。図３０Ａにおいて、領域Ａ、Ｂの面積はそれぞれ速度を示す。領域Ａの面積≒領域Ｂの面積と近似することができるので、ＡまたはＢを２乗することで歩行における運動エネルギを表すこととしてもよい。ただし、Ａ＋Ｂを歩行状態における一歩における速度として用いて運動エネルギを表現する方が、ＡまたはＢの一方を用いる場合よりも速度の値が平均化される。また、本実施形態では、馬の歩行の規則性と対称性を評価するにあたり、運動エネルギの比が閾値を超えているか否かを判定する。したがって、速度の２乗の値を求めなくとも速度自体の比を求めればよい。例えば、Ｖ１とＶ２がともに正あるいは負であるという前提で、Ｖ１２／Ｖ２２が２以上か否かを判定することは、Ｖ１／Ｖ２が２の平方根以上か否かを判定することと等価である。そこで、本実施形態では、図３０Ｂに示すように、現在から１歩前、２歩前、３歩前の速度の２乗和をそれぞれＳ１、Ｓ２、Ｓ３として、対称性の値をＳ２／Ｓ１（Ｓ２＞Ｓ１の場合）またはＳ１／Ｓ２（Ｓ１＞Ｓ２の場合）、規則性の値をＳ３／Ｓ１（Ｓ３＞Ｓ１の場合）またはＳ１／Ｓ３（Ｓ１＞Ｓ３の場合）と定義する。なお、速度の２乗和であるＳ１、Ｓ２、Ｓ３のそれぞれは、現在から１歩前、２歩前、３歩前の運動エネルギに比例する値である。また、速度の２乗和が運動エネルギを示す値の一例に相当する。
【０１０８】
次に、図３１を参照しながら、本実施形態における、計測端末３００、計測端末３００と通信を行う騎手端末４００、馬場装置５００、馬場内端末６００について説明する。計測端末３００は、３軸加速度センサ３０１、表示装置３０２、通信装置３０３、サブマイコン３０４を有する。計測端末３００が、計測装置の一例に相当する。
【０１０９】
３軸加速度センサ３０１は、上記の実施形態でも用いられるＭＥＭＳ（Micro Electro Mechanical Systems）センサである。３軸加速度センサ３０１は、計測端末３００が装着される馬の運動に伴う３次元空間の加速度を測定し、加速度データとして出力する。３軸加速度センサ３０１による測定データは、インタフェイス３０４ａを経由してＣＰＵ３０４ｂに送られる。表示装置３０２は、ＣＰＵ３０４ｂから受け取ったデータを表示する。通信装置３０３は、ＣＰＵ３０４ｂの処理結果として得られるデータを、例えば無線通信によって騎手端末４００、馬場装置５００、馬場内端末６００にそれぞれ送信する。なお、通信装置３０３の通信方式は、使用環境に応じて有線や短距離無線等、適宜採用することができる。
【０１１０】
サブマイコン３０４は一般的なサブマイコンであり、ＣＰＵ３０４ｂには、不揮発性メモリであるメインメモリ３０４ｃおよび揮発性メモリであるフラッシュメモリ３０４ｄが接続されている。また、ＣＰＵ３０４ｂは、インタフェイス３０４ａを介して３軸加速度センサ３０１、表示装置３０２、通信装置３０３とデータの送受信を行う。ＣＰＵ３０４ｂは、３軸加速度センサ３０１から３次元空間の加速度データを受け取り、歩数や歩容等とともに上記の規則性および対称性の値を計算する。ＣＰＵ３０４ｂによる処理結果は、メインメモリ３０４ｃに保存された後、リアルタイムあるいは任意のタイミングで通信装置３０３を経由して外部の騎手端末４００、馬場装置５００、馬場内装置６００等に出力される。
【０１１１】
リアルタイムの出力としては、以下に説明するようにＣＰＵ３０４ｂによって現在の馬の歩行状態、すなわち規則性又は対称性が異常であるとみなされたときに、計測端末３００から当該馬に騎乗中の騎手が携帯する騎手端末４００に対して、メッセージ等を送信する場合が挙げられる。この場合、騎手端末４００は当該メッセージ等を受信すると、馬の歩行に異常が発生していることを、警告装置４０１を通して、振動や音や光等で騎手に伝える。同様に、馬の歩行に異常が発生していることを、馬場内に設置された馬場装置５００の警告灯５０１や馬場内端末６００の表示装置６０１を介して、騎乗中の騎手や調教師等に知らせてもよい。
【０１１２】
なお、リアルタイムの通知を行わない場合は、計測端末３００から受信した上記のメッセージ等を記憶装置６０２にログとして保存し、ユーザが馬場内端末６００を操作したとき等任意のタイミングで馬の歩行状態に関する情報を提供することもできる。なお、ログは馬場内端末６００に限らず、計測端末３００、騎手端末４００、馬場装置５００、馬場内端末６００と接続可能な任意のサーバに格納する構成としてもよい。
【０１１３】
本実施形態では、計測端末３００のメインメモリ３０４ｃに記憶されているアプリケーション等が、ＣＰＵ３０４ｂによって実行される。このようなアプリケーション等の実行により、図３２に示すように、計測端末３００は、歩容特定部３００１、歩容判定部３００２、運動エネルギ値算出部３００３、運動エネルギ比算出部３００４として機能する。ただし、歩容特定部３００１、歩容判定部３００２、運動エネルギ値算出部３００３、運動エネルギ比算出部３００４のいずれか１つ以上が、ハードウェア回路であってもよい。
【０１１４】
歩容特定部３００１は、３軸加速度センサ３０１から取得した加速度データを用いて計測端末３００が装着された馬の歩容を特定する。歩容判定部３００２は、歩容特定部３００１により特定された歩容を用いて馬の右前脚と左後脚、左前脚と右後脚の移動がそれぞれ対になっているか否か、すなわちトロット中であるか否かを判定する。運動エネルギ値算出部３００３は、３軸加速度センサ３０１から取得した加速度データを用いて、取得した加速度データの時間変化における連続する３つの周期について、周期ごとの速度、すなわち運動エネルギを示す値を算出する。運動エネルギ比算出部３００４は、運動エネルギ値算出部３００３により算出された速度を用いて、連続する３つの周期における隣り合う周期間の速度の比と１周期離れた周期間の速度の比を算出する。なお、これら周期間の速度の比が運動エネルギの比の一例に相当する。各部の処理の詳細については後述する。
【０１１５】
次に、図３３のフローチャートを参照しながら、本実施形態においてＣＰＵ３０４ｂが実行する処理について説明する。なお、以下の説明において、上下加速度ａ０は、前回の上下加速度の計算処理において図３３に示すフローチャートの処理を実行したときに得られた上下加速度の値を意味する。また、上下加速度ａは、現在の上下加速度の計算処理において図３３に示すフローチャートの処理を実行したときに得られた上下加速度の値を意味する。
【０１１６】
Ｓ１１０１において、ＣＰＵ３０４ｂは、３軸加速度センサ３０１による測定値に基づいて、計測端末３００が装着されている馬の上下加速度ａを計算する。次いで、処理はＳ１１０２に進められる。Ｓ１１０２では、ＣＰＵ３０４ｂは、前回の計算により得られた上下加速度ａ０と今回のＳ１１０１における計算により得られる上下加速度ａの積が負の値となるか否かを判定する。Ｓ１１０２の処理により、前回の計算から今回の計算の間に上下加速度の値が０となったか否かがわかる。すなわち、ａ０とａの積が負の値を取る場合、上下加速度が正から負あるいは負から正に変わったことを意味する。また、ａ０とａの積が正の値を取る場合、上下加速度の正負は正あるいは負のままで変わらないことを意味する。Ｓ１１０２において、ａ０とａの積が負の値を取る場合は（Ｓ１１０２：Ｙｅｓ）、処理はＳ１１０５に進められる。また、Ｓ１１０２において、ａ０とａの積が負の値を取らない場合は（Ｓ１１０２：Ｎｏ）、処理はＳ１１０３に進められる。
【０１１７】
Ｓ１１０３において、ＣＰＵ３０４ｂは、上下加速度の積分値ＳにＳ１１０１において計算された上下加速度の値ａを加算する。上記の通り、上下加速度の時間変化において、半周期が半歩に対応している。したがって、上下加速度が正から負あるいは負から正に切り替わるまでの上下加速度の累積和を求めることで、上下加速度の半周期における積分値の値が求まる。Ｓ１１０３の処理が完了すると、処理はＳ１１０４に進められる。
【０１１８】
Ｓ１１０５において、ＣＰＵ３０４ｂは、Ｓ１１０１で計算した上下加速度を用いて第２の実施形態と同様の処理を行うことで、計測端末３００が装着されている馬の歩行判定、歩容判定、歩数計測の各処理を行う。Ｓ１１０５の処理が実行されることにより、当該馬が現在トロット中であるか否かもわかる。次いで処理は、Ｓ１１０６に進められる。
【０１１９】
Ｓ１１０６において、ＣＰＵ３０４ｂは、Ｓ１１０１で計算した上下加速度ａが０より大きい値であるか否かを判定する。上下加速度ａが０より小さい値である場合は（Ｓ１１０６：Ｎｏ）、処理はＳ１１０７に進められる。Ｓ１１０７において、ＣＰＵ３０４ｂは、１歩前の速度の２乗和Ｓ１に、上下加速度の累積和Ｓの２乗を格納する。本実施形態において、上下加速度ａが０より小さい値、すなわち負の値に切り替わったことは、馬の１歩における前半の半周期が完了したとみなすことができる。そこで、本実施形態では、Ｓ１１０６、Ｓ１１０７の処理により、馬の１歩における前半の半周期分の速度をＳ１として算出する。次いで処理はＳ１１０８に進められ、上下加速度の累積和Ｓの値として現在の上下加速度ａの値が格納される。さらに処理はＳ１１０４に進められ、前回の計算により得られた上下加速度ａ０に、現在の上下加速度ａの値が格納される。これにより、馬の１歩における後半の半周期分の速度を計算する準備が整う。
【０１２０】
本実施形態において、Ｓ１１０１〜Ｓ１１０４の処理は所定の時間間隔で繰り返し実行される。したがって、Ｓ１１０６、Ｓ１１０７により馬の１歩における前半の半周期分の速度が計算されてＳ１１０８、Ｓ１１０４の処理が完了した後、ＣＰＵ３０４ｂはＳ１１０１の処理を再び実行する。そして、Ｓ１１０２〜Ｓ１１０４が繰り返し実行されることで、馬の１歩における後半の半周期における上下加速度の累積和Ｓが計算される。馬の歩行の１周期における後半の半周期が完了すると、Ｓ１１０１で計算される上下加速度ａの値は負から正に切り替わる。したがって、処理は、Ｓ１１０２からＳ１１０５、Ｓ１１０６、Ｓ１１０９へと進められる。
【０１２１】
Ｓ１１０９では、Ｓ１１０５における歩容判定の結果に基づいて、馬の現在の歩容がトロットであるか否かを判定する。一般に、馬の歩容において、トロット以外の歩容では、上記の対称性について非対称であることが正常の歩容であると考えられている。そこで、本実施形態においては、Ｓ１１０９において、馬の現在の歩容がトロットであると判定された場合に、ＣＰＵ３０４ｂは、図３３に示すＳ１１１１以降の処理を実行する。現在の
歩容がトロットでないと判定された場合は（Ｓ１１０９：Ｎｏ）、処理はＳ１１１０に進められる。Ｓ１１１０において、ＣＰＵ３０４ｂは、１歩前〜３歩前の速度の２乗和Ｓ１、Ｓ２、Ｓ３の値を０にする。
【０１２２】
現在の歩容がトロットであると判定された場合は（Ｓ１１０９：Ｙｅｓ）、処理はＳ１１１１に進められる。Ｓ１１１１では、１歩前の速度の２乗和Ｓ１に、上下加速度の累積和Ｓの２乗を加算する。上記の通りＳ１１０７において、馬の１歩における前半の半周期分の速度はＳ１に格納されているため、Ｓ１１１１において、Ｓ１に後半の半周期分の速度が加算されることで、Ｓ１は馬の１歩における１周期分の速度が格納されている。次いで処理は、Ｓ１１１２に進められる。
【０１２３】
本実施形態において、馬の歩行状態の規則性と対称性は、１歩前〜３歩前の各速度の２乗和であるＳ１〜Ｓ３の比を用いて計算される。Ｓ２、Ｓ３の値は、Ｓ１１１０において０が格納されている場合があるため、Ｓ２、Ｓ３が０であると運動エネルギの比を正しく求めることができない。そこで、本実施形態では、Ｓ１１１２、Ｓ１１１３においてＳ２、Ｓ３が０でないことを確認した上で規則性の値と対称性の値を計算する。
【０１２４】
Ｓ１１１２では、ＣＰＵ３０４ｂは、現在から２歩前の速度の２乗和Ｓ２の値が０であるか否かを判定する。速度の２乗和Ｓ２の値が０でない場合は（Ｓ１１１２：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１１１４に進める。また、速度の２乗和Ｓ２の値が０である場合は（Ｓ１１１２：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１１１３に進める。Ｓ１１１４では、ＣＰＵ３０４ｂは、速度の２乗和Ｓ１の値がＳ２の値よりも大きいか否かを判定する。速度の２乗和Ｓ１の値がＳ２の値よりも大きい場合は（Ｓ１１１４：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１１１５に進める。また、速度の２乗和Ｓ１の値がＳ２の値よりも大きくない場合は（Ｓ１１１４：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１１１６に進める。Ｓ１１１５およびＳ１１１６では、ＣＰＵ３０４ｂはＳ１１１４の判定結果に従って、速度の２乗和Ｓ１、Ｓ２のうち値が大きい方を分母にしてＳ１とＳ２の比を求め、求めた比に１００を乗算した値を対称性として算出する。Ｓ１１１５またはＳ１１１６の処理の後、ＣＰＵ３０４ｂは処理をＳ１１１３に進める。
【０１２５】
Ｓ１１１３では、ＣＰＵ３０４ｂは、現在から３歩前の速度の２乗和Ｓ３の値が０であるか否かを判定する。速度の２乗和Ｓ３の値が０でない場合は（Ｓ１１１３：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１１１７に進める。また、速度の２乗和Ｓ３の値が０である場合は（Ｓ１１１３：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１１２０に進める。Ｓ１１１７では、ＣＰＵ３０４ｂは、速度の２乗和Ｓ１の値がＳ３の値よりも大きいか否かを判定する。速度の２乗和Ｓ１の値がＳ３の値よりも大きい場合は（Ｓ１１１７：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１１１８に進める。また、速度の２乗和Ｓ１の値がＳ３の値よりも大きくない場合は（Ｓ１１１７：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１１１９に進める。Ｓ１１１８およびＳ１１１９では、ＣＰＵ３０４ｂはＳ１１１７の判定結果に従って、速度の２乗和Ｓ１、Ｓ３のうち値が大きい方を分母にしてＳ１とＳ３の比を求め、求めた比に１００を乗算した値を規則性として算出する。Ｓ１１１８またはＳ１１１９の処理の後、ＣＰＵ３０４ｂは処理をＳ１１２０に進める。なお、Ｓ１１１５、Ｓ１１１６、Ｓ１１１８、Ｓ１１１９では、速度の２乗和の比（運動エネルギの比）に１００を乗算しているが、１００を乗算するのは単に整数演算しやすくするためであり１００を乗算しなくてもよい。
【０１２６】
ＣＰＵ３０４ｂは、Ｓ１１２０において現在のＳ２の値をＳ３に格納し、次いでＳ１１２１において現在のＳ１の値をＳ２に格納する。これにより、現在から１、２歩前の速度をそれぞれ２、３歩前の速度の２乗和とし、新たにＳ１１０１〜Ｓ１１１１の処理によって算出される１歩前の速度の２乗和をＳ１として格納することができる。Ｓ１１２１の後
、ＣＰＵ３０４ｂは処理をＳ１１０８に進める。Ｓ１１０８および続くＳ１１０４の処理は上記と同じであるため説明を省略する。以上、Ｓ１１１２〜Ｓ１１１９の処理は、３軸加速度センサ３０１のサンプリング毎に１回実行すればよく、ループ処理が存在しないため、従来の相関演算と比べて低い処理負荷で相関演算を実行することができる。
【０１２７】
図３４に、上記のフローチャートの処理を実行して得られる結果を基に、歩行が正常な馬Ａ、Ｂと、本実施形態の処理によって異常とみなされる跛行ぎみの馬Ｃ、Ｄの４頭の歩行における規則性および対称性をプロットした図を示す。図に示すように歩行が正常な馬Ａ、Ｂの場合は、規則性および対称性ともに値１００の前後にプロットされることが多い。一方、跛行ぎみの馬Ｃ、Ｄの場合は、特に対称性が悪い領域にプロットされる傾向があることがわかる。なお、図３４における馬Ｂの歩行データは、図２８に示す規則性および対称性のグラフにも使用されている。図２８のグラフと図３４の馬Ｂのグラフと比べると、本実施形態において得られる図３４のグラフの方が、対称性および規則性がともに良好とみなせる値１００により近くプロットされている。したがって、本実施形態では、上記の処理により得られる馬の歩行についての規則性および対称性に基づいて、従来よりも正確に馬の歩行が正常であるか否かを判断することができるといえる。
【０１２８】
次に、本実施形態において、図３１の処理によって求められる規則性および対称性に基づいて、現在の馬の歩行状態が以上であるか否かを検出する処理について、図３５を参照しながら説明する。本実施形態において、跛行であると検出した結果を警告するには、図３３に示すフローチャートを実行することで求めた規則性および対称性の値に基づいて異常を検出する。ＣＰＵの処理負荷が低い方法としては、対称性および規則性の値が正常とみなされる領域の外に高い頻度で存在するかどうかを調べることが可能である。以下に、本実施形態において馬の歩行における規則性および対称性を示すスコアを算出し、スコアに基づいて馬の歩行が跛行であるか否かを判定して跛行である場合に警告を行う処理について説明する。
【０１２９】
本実施形態では、図３３に示すフローチャートを実行して規則性および対称性の値を算出した後、任意のタイミングでＣＰＵ３０４ｂが図３５に示すフローチャートの処理を開始することができる。また、ＣＰＵ３０４ｂは、求められる処理能力や歩行判定の精度等に基づいて決定される所定の時間間隔で、本フローチャートの処理を繰り返し実行する。本実施形態においては、規則性または対称性の値が大きくなるほど跛行であるとみなすことができる可能性が高くなる。このため、規則性および対称性の値に対して、正常の歩行であるとみなせる上限値としての閾値があらかじめ定められてメモリ３０４ｃに格納されている。
【０１３０】
また、図３５のフローチャートにおいて、歩行が跛行であるか否かを示す指標としてスコア（図中「Ｓｃｒ」）を用いる。本実施形態において、スコアの初期値は０とする。また、本実施形態において、以下の説明で用いるＺ１、Ｚ２、Ｚ３の各値はあらかじめ設定されている。図３６に、図３５の処理が繰り返し実行された場合の各スコアをプロットしたグラフの例を示す。図３６においてプロットされるスコアは、図３５のフローチャートが終了するたびに得られるスコアの値である。なお、図３６に示すようにＺ１はスコアの上昇値であり、Ｚ２はＺ３よりも大きい閾値であり、スコアがＺ３からＺ２までの値を取る場合に跛行とみなされる（図中の「跛行断定中」の期間）。
【０１３１】
Ｓ１２０１において、ＣＰＵ３０４ｂは、算出された規則性および対称性の値が、メモリ３０４ｃから取得した上記の閾値よりともに小さいか否かを判定する。規則性および対称性の値がともに閾値より小さい場合は（Ｓ１２０１：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１２０２に進める。また、規則性および対称性の値がともに閾値より小さくない場合は（Ｓ１２０１：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１２０４に進める。
【０１３２】
Ｓ１２０２では、ＣＰＵ３０４ｂは、スコアが０より大きいか否かを判定する。スコアが０より大きい場合は（Ｓ１２０２：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１２０３に進める。また、スコアが０より大きくない場合は（Ｓ１２０２：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１２０７に進める。Ｓ１２０３において、ＣＰＵ３０４ｂはスコアから１を減算する。Ｓ１２０３の処理の後、ＣＰＵ３０４ｂは処理をＳ１２０７に進める。
【０１３３】
Ｓ１２０４では、ＣＰＵ３０４ｂはスコアにＺ１を加算する。Ｓ１２０４の処理の後、ＣＰＵ３０４ｂは処理をＳ１２０５に進める。Ｓ１２０５において、ＣＰＵ３０４ｂは、スコアがＺ２より大きいか否かを判定する。スコアがＺ２より大きい場合は（Ｓ１２０５：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１２０６に進める。また、スコアがＺ２より大きくない場合は（Ｓ１２０５：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１２０７に進める。Ｓ１２０６において、ＣＰＵ３０４ｂは、スコアにＺ２を格納する。Ｓ１２０６の処理の後、ＣＰＵ３０４ｂは処理をＳ１２０７に進める。
【０１３４】
Ｓ１２０７において、ＣＰＵ３０４ｂは、スコアがＺ３より大きいか否かを判定する。スコアがＺ３より大きい場合は（Ｓ１２０７：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１２０８に進める。また、スコアがＺ３より大きくない場合は（Ｓ１２０７：Ｎｏ）、ＣＰＵ３０４ｂは本フローチャートの処理を終了する。Ｓ１２０８では、ＣＰＵ３０４ｂは現在の馬の歩行が跛行として判定されたことを警告する処理を実行する。警告処理としては、例えばＣＰＵ３０４ｂは、インタフェイス３０４ａを介して表示装置３０２に警告メッセージを送信する。また、ＣＰＵ３０４ｂは、騎手端末４００に対して警告装置４０１に警告を実行させる命令を送信したり、馬場装置５００に対して警告灯５０１を点灯させる命令を送信したり、馬場内端末６００に表示装置６０１に警告を表示させる命令を送信したりしてもよい。Ｓ１２０８の処理の後、ＣＰＵ３０４ｂは本フローチャートの処理を終了する。
【０１３５】
図３６のグラフにも示すように、本実施形態では、Ｓ１２０５、Ｓ１２０６の処理が実行されることで、スコアが上昇し続けてもＺ２以上に大きくならない。そして、Ｓ１２０２、Ｓ１２０３の処理が実行されて、スコアが下がって閾値Ｚ３より小さくなった段階で跛行の警告が中止される。この際、ＣＰＵ３０４ｂは、表示装置３０２等に対して警告を中止する指示を送信する。
【０１３６】
なお、上記の処理では、算出された規則性および対称性の値を判定する際に設定される正常領域は、図３７Ａに示すように、規則性および対称性の値が所定の大きさになるまで許容される領域である。ただし、図３７Ｂに示すように、例えば正常領域の代わりに異常領域を設定し、規則性および対称性の値が異常領域内にある場合に跛行を警告する構成とすることもできる。この場合は、上記のＳ１２０１の処理を、規則性および対称性の値がそれぞれ設定された異常領域の値の範囲内にあるか否かを判定する処理に変更する。さらに、規則性および対称性の値が当該範囲内にある場合は処理がＳ１２０４に進められ、規則性および対称性の値が当該範囲内にない場合は処理がＳ１２０２に進められるように変更する。
【０１３７】
さらに代替の構成例として、図３７Ａに示すように設定された正常領域を別の範囲に移動することも可能である。この場合は、上記のＳ１２０１の処理を、規則性および対称性の値がそれぞれ設定された正常領域の値の範囲内にあるか否かを判定する処理に変更すればよい。このように構成を変更することで、各馬の歩行特性に応じて跛行の判定基準を調整することができる。
【０１３８】
（第５の実施形態）
次に、第５の実施形態について説明する。なお、第４の実施形態と同様の構成要素については、同じ符号を付して詳細な説明は省略する。なお、本実施形態では、フラッシュメモリ３０４ｄ内に、過去Ｎ歩前から現在までに算出された規則性の値と対称性の値を格納するリングバッファ（図示せず）が形成されている。競走馬、特にサラブレッドの脚はもともと奇形であるため歩行が左右非対称であるのは異常ではないという考えもある。この考えに従えば、歩行が正常な、ただし非対称な歩き方をする馬でも、上記の処理によって算出される規則性および対称性の値が正常領域内に集まるとは限らない。また、図３７Ｂのように規則性および対称性の値が異常領域に存在するか否かで歩行判定する構成を採用しても、個々の馬の脚の奇形の状況によって算出される規則性および対称性の値が異なり、汎用的な判定基準とはならない可能性がある。
【０１３９】
そこで本実施形態では、個々の馬に固有の規則性および対称性の傾向を把握した上で、規則性および対称性の傾向に変化が生じた場合に警告を行う。本実施形態では、歩行判定対象の馬について、過去に算出された規則性および対称性の値を用いて指標値を計算し、例えば現在から１００歩前までの規則性および対称性の値の平均値と指標値とを比較する。そして、これらの値の差が閾値内に収まる場合に歩行は正常であるとみなすことができる。
【０１４０】
図３８に、本実施形態において実行されるフローチャートを示す。本フローチャートの処理は、例えば、計測端末３００を判定対象の馬に装着して、計測端末３００の電源をオンにしたときにＣＰＵ３０４ｂにより開始される。Ｓ１３０１において、ＣＰＵ３０４ｂは、規則性の値の累積和Ｔｒ、対称性の値の累積和Ｔｓ、ＴｒおよびＴｓへの加算回数ｎをそれぞれ０に設定する。さらに、ＣＰＵ３０４ｂは、フラッシュメモリ３０４ｄ内の上記のリングバッファのカウンタ（Ｉｎｄｅｘ）に、まだ初期化を行っていない未初期化状態を示す値、例えば「−１」を設定する。本実施例では、未初期化状態を示す値として負の値を用いているが、未初期化状態を区別できる値であれば他の値を使用することとしてもよい。なお、Ｓ１３０１の処理は、ＣＰＵ３０４ｂが実行する代わりに計測端末３００の装着時に手動で行ってもよい。あるいは、計測端末３００のバッテリ（図示せず）が、計測端末３００を長期間、例えば数週間装着し続けて本実施形態の処理を実行することができるだけの容量を有する場合は、例えばＣＰＵ３０４ｂのクロック周波数を利用した内部タイマ等を用いて所定のタイミングで実行してもよい。Ｓ１３０１の処理の後、ＣＰＵ３０４ｂは処理をＳ１１００に進める。
【０１４１】
Ｓ１１００では、ＣＰＵ３０４ｂは、図３３に示すフローチャートの処理を実行して、現在の歩行の規則性および対称性の値を算出する。規則性および対称性の値が算出されると、ＣＰＵ３０４ｂは処理をＳ１３０２に進める。Ｓ１３０２では、Ｓ１１００の処理においてＳ１１１５またはＳ１１１６、Ｓ１１１８またはＳ１１１９、Ｓ１１２０、Ｓ１１２１により、規則性および対称性の値が算出および更新されたか否かを判定する。規則性および対称性の値が算出および更新された場合は（Ｓ１３０２：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１３０５に進める。また、規則性および対称性の値が算出および更新されていない場合は（Ｓ１３０２：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１３０３に進める。
【０１４２】
Ｓ１３０５では、ＣＰＵ３０４ｂは、Ｔｒ、ＴｓにＳ１１００の処理により算出された規則性の値と対称性の値をそれぞれ加算し、ｎの値に１を加算する。次いで、処理はＳ１３０６に進められる。Ｓ１３０６において、ＣＰＵ３０４ｂは、フラッシュメモリ３０４ｄのリングバッファのカウンタＩｎｄｅｘの値が負であるか否かを判定する。Ｉｎｄｅｘの値が負である場合は（Ｓ１３０６：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１３０７に進める。また、Ｉｎｄｅｘの値が負でない場合は（Ｓ１３０６：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１３１２に進める。
【０１４３】
Ｓ１３０７では、Ｓ１３０８〜Ｓ１３１０のループ処理のカウンタとして使用される値ｉに０を格納する。次いで処理はＳ１３０８に進められる。本実施形態では、過去Ｎ個分の規則性の値と対称性の値とをそれぞれ格納できるリングバッファが設けられており、規則性の値を格納するリングバッファの配列をＤｒ、対称性の値を格納するリングバッファの配列をＤｓとする。また、配列Ｄｒ、Ｄｓの番号は０〜Ｎ−１とし、Ｄｒ［ｉ］、Ｄｓ［ｉ］は、それぞれ番号がｉである配列に格納されているデータを意味する。Ｓ１３０８〜Ｓ１３１０のループ処理により番号０〜Ｎ−１の各配列Ｄｒ、Ｄｓには、Ｓ１１００で算出された規則性の値と対称性の値がそれぞれ格納される。Ｓ１３０８〜Ｓ１３１０のループ処理が完了すると（Ｓ１３１０：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１３１１に進める。
【０１４４】
Ｓ１３１１において、ＣＰＵ３０４ｂはＩｎｄｅｘの値に０を格納し、番号０〜Ｎ−１の各配列Ｄｒ、Ｄｓに格納されているデータの総和Ｓｒ、Ｓｓを計算する。Ｓ１３０８〜Ｓ１３１０のループ処理により、番号０〜Ｎ−１の各配列Ｄｒ、ＤｓにはＳ１１００で算出された規則性の値と対称性の値が格納されるため、Ｓｒ、ＳｓにはＳ１１００で算出された規則性の値と対称性の値にＮを乗算した値がそれぞれ格納される。これにより、移動平均を演算するＩＩＲ（Infinite Impulse Response）フィルタの初期化を行うことがで
きる。Ｓ１３１１の処理の後、ＣＰＵ３０４ｂは処理をＳ１３０３に進める。
【０１４５】
Ｓ１３１２では、ＣＰＵ３０４ｂは、Ｓ１１００で算出された対称性の値から番号がＩｎｄｅｘの値である配列Ｄｓに格納されている値を減算した値をＳｓに加算する。また、ＣＰＵ３０４ｂは、Ｓ１１００で算出された規則性の値から番号がＩｎｄｅｘの値である配列Ｄｒに格納されている値を減算した値をＳｒに加算する。そして、ＣＰＵ３０４ｂは、処理をＳ１３１３に進めて、番号がＩｎｄｅｘの値である配列ＤｓにＳ１１００で算出された対称性の値を格納し、番号がＩｎｄｅｘの値である配列ＤｒにＳ１１００で算出された規則性の値を格納する。次いで、ＣＰＵ３０４ｂは、処理をＳ１３１４に進める。
【０１４６】
Ｓ１３１４において、ＣＰＵ３０４ｂはＩｎｄｅｘの値に１を加算する。そして、ＣＰＵ３０４ｂは、処理をＳ１３１５に進めて、Ｉｎｄｅｘの値がＮ以上であるか否かを判定する。Ｉｎｄｅｘの値がＮ以上である場合は（Ｓ１３１５：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１３１６に進める。また、Ｉｎｄｅｘの値がＮ以上でない場合は（Ｓ１３１５：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１３１７に進める。Ｓ１３１６では、ＣＰＵ３０４ｂはＩｎｄｅｘの値を０に戻す。そして、ＣＰＵ３０４ｂは処理をＳ１３１７に進める。Ｓ１３１７では、ＣＰＵ３０４ｂは、ＴｒおよびＴｓへの加算回数ｎがＮ以上であるか否かを判定する。ｎがＮ以上である場合は（Ｓ１３１７：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１３１８に進める。ｎがＮ以上でない場合は（Ｓ１３１７：Ｎｏ）、ＣＰＵ３０４ｂは処理をＳ１３０３に進める。
【０１４７】
本実施形態では、Ｓ１３０７〜Ｓ１３１１の処理により、移動平均の算出処理の初期化を行い、Ｓ１１００により初回に算出された規則性および対称性の値が過去Ｎ回分の値として配列Ｄｒ、Ｄｓに格納される。したがって、規則性の累積和Ｔｒ、対称性の累積和Ｔｓの加算回数ｎがＳ１３０１において０にされてからＮ以上となるまで、配列Ｄｒ、Ｄｓに格納されているデータの総和Ｓｒ、Ｓｓは、Ｓ１１００において算出される規則性および対称性の値を正しく反映していない。そこで、Ｓ１３１７では、ｎがＮ以上となった場合にＳ１３１８〜Ｓ１３２０の警告の要否の判定および警告の実行の処理が実行されるようにＣＰＵ３０４ｂの処理を制御する。
【０１４８】
また、本実施形態では、１日ごとに計測端末３００を歩行判定の対象である馬に装着および取り外しを繰り返す。したがって、例えば、計測端末３００を装着した馬の１日の訓練等が終了したときに、馬から計測端末３００を取り外す。馬から計測端末３００が取り
外されると、図３８に示すように、ＣＰＵ３０４ｂは処理をＳ１３０３からＳ１３０４に進める。本実施形態では、計測端末３００の装着から脱着までに算出された規則性の値と対称性の値の平均値Ｔｒ／ｎ、Ｔｓ／ｎを用いて、計測端末３００を装着した馬の、前日までの規則性の傾向を示す値Ｃｒと前日における対称性の傾向を示す値Ｃｓとを算出する。なお、Ｓ１３０３において、ＣＰＵ３０４ｂがタイマ（図示せず）を用いて所定時間が経過したか否かを判定する処理を実行する構成としてもよい。この場合は、Ｃｓ、Ｃｒの値は、それぞれ前回装着時までの対称性の傾向を示す値と規則性の傾向を示す値となる。
【０１４９】
Ｓ１３０４では、ＣＰＵ３０４ｂは、０．９×Ｃｒ＋０．１×Ｔｒ／ｎにより算出される値を、前日までの規則性の傾向を示す新たな値としてＣｒに格納する。同様に、ＣＰＵ３０４ｂは、０．９×Ｃｓ＋０．１×Ｔｓ／ｎにより算出される値を、前日までの対称性の傾向を示す新たな値としてＣｓに格納する。Ｓ１３０４の処理により、本日における規則性の値と対称性の値の平均値と、前日までの規則性および対称性の傾向を示す値を適当な重み付けで足し合わせられる。なお、Ｓ１３０４の計算における重み付けは適宜変更できる。また、Ｓ１３０４における算出方法は、いわゆる一般的な一次遅れ系のＦＩＲ（Finite Impulse Response）フィルタを用いる場合の計算である。ただし、この算出方法の
代わりに、過去数日分の移動平均を求める等、周知の方法を用いて前日までの規則性および対称性の傾向を示す値を求めることができる。
【０１５０】
さらに、本実施形態では、Ｓ１１００において算出される規則性および対称性の値について、現在から過去Ｎ回にわたる平均値Ｓｓ／Ｎ、Ｓｒ／Ｎを算出し、Ｓ１３０４において算出される前日までの規則性および対称性の傾向を示す値Ｃｓ、Ｃｒと比較する。比較方法としては、図３９に示すように、規則性の値と対称性の値とをそれぞれ縦軸と横軸として、過去Ｎ回の規則性および対称性の値の平均値が示す点と、前日までの規則性および対称性の傾向を示す値が示す点との間の距離を所定の閾値と比較する。
【０１５１】
図３８のＳ１３１８では、ＣＰＵ３０４ｂは、以下の式（１２）を用いて過去Ｎ回の規則性および対称性の値の平均値が示す点と、前日までの規則性および対称性の傾向を示す値が示す点との間の距離の２乗である値Ｒを算出する。
Ｒ＝（Ｓｓ／Ｎ−Ｃｓ）２＋（Ｓｒ／Ｎ−Ｃｒ）２・・・（１２）
当該距離は、厳密には値Ｒの平方根であるが、Ｓ１３１９において閾値と比較する点を踏まえると、平方根を取らずに計算する方がＣＰＵ３０４ｂの処理負荷を軽減することができるため、Ｓ１３１８ではＲの値を算出する。ＣＰＵ３０４ｂは、Ｓ１３１８の処理を終了すると、処理をＳ１３１９に進める。
【０１５２】
Ｓ１３１９では、ＣＰＵ３０４ｂは、Ｓ１３１８で算出したＲを所定の閾値より大きいか否かを判定する。図３９からわかるように、Ｒの値が大きくなるほど、現在から過去Ｎ回までの規則性および対称性が、前日までの規則性および対称性の傾向から乖離する度合いが大きくなる。Ｓ１３１９において、Ｒが所定の閾値より大きいと判定された場合は（Ｓ１３１９：Ｙｅｓ）、現在から過去Ｎ回までの規則性および対称性が異常であるとみなし、ＣＰＵ３０４ｂは処理をＳ１３２０に進める。また、Ｒが所定の閾値より大きくないと判定された場合は（Ｓ１３１９：Ｎｏ）、現在から過去Ｎ回までの規則性および対称性は正常であるとみなし、ＣＰＵ３０４ｂは処理をＳ１３０３に進める。
【０１５３】
Ｓ１３２０では、ＣＰＵ３０４ｂは、現在の馬の歩行が跛行であるとみなして警告を行う。なお、警告処理は第４の実施形態と同様であるため、詳細な説明は省略する。ＣＰＵ３０４ｂは警告処理を行った後、処理をＳ１３０３に進める。なお、Ｓ１３１９において、式（１２）により算出されるＲを所定の閾値を用いて判定する構成の代わりに、Ｒ１＝（Ｓｓ／Ｎ−Ｃｓ）２、Ｒ２＝（Ｓｒ／Ｎ−Ｃｒ）２として、Ｒ１、Ｒ２をそれぞれの閾値と比較し、Ｒ１、Ｒ２がともに各閾値より大きいか否かを判定する構成を採用してもよ
い。また、式（１２）の各項に適当な定数を乗算することで、規則性および対称性に対して重み付けを行ってもよい。
【０１５４】
（第６の実施形態）
次に、第６の実施形態について説明する。なお、上記の実施形態と同様の構成要素には同一の符号を付し、詳細な説明は省略する。従来、例えば競走馬を対象として、移動中の加速度を計測する場合、競走馬にＧＰＳセンサを搭載した装置を装着し、当該装置から送信されるＧＰＳデータに基づいて加速度を算出していた。一般に、ＧＰＳセンサは、一定間隔の時間で現在の位置情報および時刻情報を含むＧＰＳデータを出力する。そして、一定間隔の時間でＧＰＳデータを測定する場合、測定時の馬の状態、例えばギャロップ時における馬体の伸び縮み等が測定タイミングごとに異なる可能性がある。このため、馬の各脚の位置関係が同じ状態となるタイミングでＧＰＳデータを測定し続けることができないため、測定タイミングごとの馬の各脚の位置関係のばらつきが、算出される加速度の増減に反映される。
【０１５５】
ＧＰＳセンサによるＧＰＳデータの出力間隔を短くすることで、より多くのＧＰＳデータを収集し、所定の単位時間ごとに算出した加速度の平均を求めることで、加速度の計測精度を高める方法も考えられる。しかし、この方法は、ＧＰＳセンサの消費電力を増加させるため、上記の実施形態における計測端末等に搭載することを考えた場合に現実的とはいえない。そこで、本実施形態では、上記の実施形態で使用した計測端末にＧＰＳ装置を搭載し、ＧＰＳ装置の消費電力を抑えつつ加速度を精度よく算出する方法について説明する。
【０１５６】
図４０には、本実施形態における、計測端末７００、計測端末７００と通信を行う騎手端末４００、馬場装置５００、馬場内端末６００を示す。計測端末７００は、３軸加速度センサ３０１、表示装置３０２、通信装置３０３、サブマイコン３０４、ＧＰＳセンサ３０５、タイマ３０６を有する。計測端末７００が、計測装置の一例に相当する。サブマイコン３０４は、インタフェイス３０４ａ、ＣＰＵ３０４ｂ、メインメモリ３０４ｃ、フラッシュメモリ３０４ｄを有する。ＧＰＳセンサ３０５は周知のものであり、計測端末７００の現在位置に関する位置情報および時刻情報を、インタフェイス３０４ａを介してＣＰＵ３０４ｂに送信する。ＣＰＵ３０４ｂは、ＧＰＳセンサ３０５から受信した位置情報および時刻情報をフラッシュメモリ３０４ｄに記憶する。タイマ３０６は現在時刻を計時し、インタフェイス３０４ａを介してＣＰＵ３０４ｂにより現在時刻に関するデータが取得される。
【０１５７】
本実施形態では、計測端末７００のメインメモリ３０４ｃに記憶されているアプリケーション等が、ＣＰＵ３０４ｂによって実行される。このようなアプリケーション等の実行により、図４１に示すように、計測端末７００は、歩容特定部７００１、歩容判定部７００２、位置情報生成部７００３、加速度算出部７００４として機能する。ただし、歩容特定部７００１、歩容判定部７００２、位置情報生成部７００３、加速度算出部７００４のいずれか１つ以上が、ハードウェア回路であってもよい。
【０１５８】
歩容特定部７００１は、３軸加速度センサ３０１から取得した加速度データを用いて計測端末７００が装着された馬の歩容を特定する。歩容判定部７００２は、歩容特定部７００１により特定された歩容を用いて馬の所定の脚、本実施形態では右前脚が着地したか否かを判定する。位置情報生成部７００３は、計測端末７００が装着された馬の所定の脚、本実施形態では右前脚が着地したと判定したときの馬の位置を示す位置情報を、ＧＰＳセンサ３０５から取得したＧＰＳデータが示す位置情報と時間情報とを用いて生成する。加速度算出部７００４は、生成した位置情報とＧＰＳデータが示す時間情報とを用いて、計測端末７００が装着された馬の所定の脚、本実施形態では右前脚が着地したと判定してか
ら再度馬の所定の脚、本実施形態では右前脚が着地したと判定するまでの馬の移動における加速度の平均値を算出する。各部の処理の詳細については後述する。
【０１５９】
次に、図４２のフローチャートを参照しながら、本実施形態における加速度を算出する処理について説明する。本フローチャートの処理は、例えば、計測端末７００を計測対象の馬に装着して、計測端末７００の電源をオンにしたときにＣＰＵ３０４ｂにより開始される。また、ＣＰＵ３０４ｂは、本フローチャートの処理を所定の時間間隔で繰り返し実行する。
【０１６０】
なお、Ｓ１４０１では、ＣＰＵ３０４ｂは、３軸加速度センサ３０１の出力データを用いて、上記の第２の実施形態と同様の処理を行うことで、計測端末７００が装着されている馬の歩行判定、歩容判定、歩数計測の各処理を行う。また、ＣＰＵ３０４ｂはタイマ３０６から現在時刻のデータを取得する。ここで取得した現在時刻のデータが示す時間をＴｐとする。これにより、当該馬の各脚のうち、例えば右前脚が着地したタイミングを検出することができる。本実施形態では、計測端末７００が装着されている馬の右前脚が着地したタイミングに基づいて加速度の算出を行う。なお、右前脚の代わりに他の脚が着地したタイミングに基づいても以下の加速度の算出を行うことができる。Ｓ１４０１の処理の後、ＣＰＵ３０４ｂは処理をＳ１４０２に進める。
【０１６１】
Ｓ１４０２では、ＣＰＵ３０４ｂは、Ｓ１４０１の処理結果が馬の右前脚が着地したことを示すか否かを判定する。Ｓ１４０１の処理結果が馬の右前脚が着地したことを示す場合は（Ｓ１４０２：Ｙｅｓ）、ＣＰＵ３０４ｂは処理をＳ１４０３に進める。また、Ｓ１４０１の処理結果が馬の右前脚が着地したことを示さない場合は（Ｓ１４０２：Ｎｏ）、ＣＰＵ３０４ｂは本フローチャートの処理を終了する。
【０１６２】
Ｓ１４０３では、ＣＰＵ３０４ｂは、Ｓ１４０１の処理結果を算出した時間Ｔｐの前後にＧＰＳセンサ３０５から取得したＧＰＳデータを、フラッシュメモリ３０４ｄから読み出す。本実施形態では、例えば、Ｓ１４０１の処理結果を算出した時間Ｔｐの直前の時間Ｔａに取得したＧＰＳデータが示す緯度をＸａ、経度をＹａとし、Ｓ１４０１の処理結果を算出した時間Ｔｐの直後の時間Ｔｂに取得したＧＰＳデータが示す緯度をＸｂ、経度をＹｂとする。これにより、計測端末７００を装着した馬の右前脚が着地した時間の前後における計測端末７００の位置がわかる。Ｓ１４０３の処理の後、ＣＰＵ３０４ｂは処理をＳ１４０４に進める。
【０１６３】
Ｓ１４０４では、ＣＰＵ３０４ｂは、以下の式（１３）を用いて、計測端末７００を装着した馬の右前脚が着地した時間Ｔｐの前後における緯度に基づいて補正した緯度Ｘｐを算出する。
Ｘｐ＝Ｘａ＋（Ｘｂ−Ｘａ）×（Ｔｐ−Ｔａ）／（Ｔｂ−Ｔａ）・・・（１３）
ここで、Ｔｐ−Ｔａは、ＧＰＳデータの緯度Ｘａおよび経度Ｙａが取得されてからＳ１４０１において処理結果が算出されるまでの経過時間（例えばミリ秒単位）を示す。また、Ｔｂ−Ｔａは、ＧＰＳデータの緯度Ｘａおよび経度Ｙａが取得されてからＧＰＳデータの緯度Ｘｂおよび経度Ｙｂが取得されるまでの経過時間（例えばミリ秒単位）を示す。本実施形態では、式（１３）により算出されるＸｐを時間Ｔｐにおける緯度とみなす。Ｓ１４０４の処理の後、ＣＰＵ３０４ｂは処理をＳ１４０５に進める。
【０１６４】
Ｓ１４０５では、ＣＰＵ３０４ｂは、以下の式（１４）を用いて、計測端末７００を装着した馬の右前脚が着地した時間Ｔｐの前後における経度に基づいて補正した経度Ｙｐを算出する。
Ｙｐ＝Ｙａ＋（Ｙｂ−Ｙａ）×（Ｔｐ−Ｔａ）／（Ｔｂ−Ｔａ）・・・（１４）
本実施形態では、式（１４）により算出されるＹｐを時間Ｔｐにおける経度とみなす。Ｓ
１４０５の処理の後、ＣＰＵ３０４ｂは処理をＳ１４０６に進める。
【０１６５】
Ｓ１４０６では、ＣＰＵ３０４ｂは、以下の式（１５）を用いて、Ｓ１４０１の処理結果を算出した時間Ｔｐにおける単位時間（例えば１秒）あたりの移動距離、すなわち速さＶｐを算出する。
Ｖｐ＝Ｔｕ×｛（Ｘｐ−Ｘｏ）２＋（Ｙｐ−Ｙｏ）２｝１／２／（Ｔｐ−Ｔｏ）・・・（１５）
ここで、Ｔｕは、Ｖｐを算出する際に採用する単位時間と、ＧＰＳデータの時間情報およびタイマ３０６の時間情報が示す単位時間との関係に基づいて決定される定数である。例えば、Ｖｐを１秒あたりの速さとして求め、式（１３）および（１４）においてＴａ、Ｔｂ、Ｔｏ、Ｔｐがミリ秒単位の時間として計算される場合は、Ｔｕ＝１０００である。Ｘｏ、Ｙｏは、それぞれ前回の処理においてＳ１４０４、Ｓ１４０５により算出されたＸｐ、Ｙｐを意味する。また、Ｔｏは、前回の処理においてＳ１４０１の処理結果が算出された時間を意味する。前回および今回の処理において算出された緯度および経度（すなわちＸｏ、Ｙｏ、Ｘｐ、Ｙｐ）とＳ１４０１にの処理結果が算出された時間（すなわちＴｏ、Ｔｐ）は、それぞれフラッシュメモリ３０４ｄに記憶される。Ｓ１４０６の処理の後、ＣＰＵ３０４ｂは処理をＳ１４０７に進める。
【０１６６】
Ｓ１４０７では、ＣＰＵ３０４ｂは、以下の式（１６）を用いて、前回の処理においてＳ１４０１の処理結果が算出された時間Ｔｏから今回の処理においてＳ１４０１の処理結果が算出された時間Ｔｐまでの経過時間における加速度Ａｐを算出する。
Ａｐ＝（Ｖｐ−Ｖｏ）／（Ｔｐ−Ｔｏ）・・・（１６）
なお、ＣＰＵ３０４ｂは、算出した加速度Ａｐの値をフラッシュメモリ３０４ｄに格納する。Ｓ１４０７の処理が終了すると、ＣＰＵ３０４ｂは本フローチャートの処理を終了する。
【０１６７】
図４３Ａ、図４３Ｂに、上述した従来の方法により一定の時間間隔で取得したＧＰＳデータに基づいて加速度を算出した場合の測定データと、本実施形態における上記のフローチャートの処理を実行して加速度を算出した場合の測定データをそれぞれ示す。図４３Ａおよび図４３Ｂに示すグラフにおいて、横軸が時間（ｓ）で、縦軸が加速度（ｍ／ｓ２）である。なお、図４３Ａおよび図４３Ｂに示すグラフにおいて、横軸の時間の長さは同じである。
【０１６８】
図４３Ａに示すように、従来の計測方法では加速度のデータ自体は算出できるが、上記の通り、各算出時において馬の歩行（走行）状態、特に各脚の位置関係がばらついているため、加速度の増減傾向が把握できない。一方、本実施形態における計測方法によれば、馬の右前脚が着地したタイミングを検出して馬の歩行（走行）状態が略同じとなるときに加速度が算出され続ける。例えば、ギャロップ中に各脚が空中に浮いている場合は上下加速度が略０になり、右前脚が着地した後に馬が右前脚を踏み込む場合は上下加速度が極大値を取る。本実施形態によれば、このように馬の歩行（走行）状態が異なるときの加速度の影響を受けることなく、図４３Ｂに示すように、加速度の増減傾向が目視でも確認できる程度まで精度よく馬の加速度を計測することができる。
【０１６９】
なお、本実施形態において、加速度の評価目的に合わせて、Ｓ１４０７において算出された加速度のデータに対して適宜フィルタリングや補正を行ってもよい。また、一般に、馬が走行時に右前脚が着地するタイミングは１秒間に約２回発生する。そのため、例えばＧＰＳセンサ３０５のＧＰＳデータ取得の周期が１秒であるとすると、ＧＰＳデータ取得の１周期内に、右前脚の着地が複数回発生する。このような場合でも、本実施形態の処理により、馬の右前脚が着地する各タイミングにおける計測端末の位置を算出することができる。
【０１７０】
以上が本実施形態に関する説明であるが、上記の情報処理装置の構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。以下に、上記の実施形態における変形例を３例説明する。
【０１７１】
（変形例１）
図３０Ａおよび図３０Ｂにおける上記の説明では、上下加速度のグラフと時間軸とので囲まれる面積を速さとして用いた。そのため、図３３に示すフローチャートにおいて、Ｓ１１０７とＳ１１１１とにおいて、上下加速度が正であるときと負であるときのそれぞれの場合における当該面積を算出し、それらの合計を速さとして算出した。すなわち、図４４を用いて説明すると、Ｓ１１１１の処理が完了した時点で、Ｓ１＝ｄ１２＋ｄ２２、Ｓ２＝ｄ３２＋ｄ４２が計算されていることとなる。ここで、上記の実施形態において、３軸加速度センサの取り付け高さは一定であるため、上下方向の速度の平均値は０とみなすことができる。そして、一歩ごとに上下方向の速度の平均値を０とみなすと、ｄ１＝−ｄ２とみなすことができる。したがって、ｄ１とｄ２の平均値を以下の式（１７）により定義すると、
2018113976.tif 000005
ｄ３とｄ４の平均値も同様に定義でき、Ｓ１、Ｓ２を変形して式（１８）、（１９）が得られる。
2018113976.tif 000006
2018113976.tif 000007
したがって、対称性、規則性は以下の式（２０）、（２１）によりそれぞれ算出することができる。
2018113976.tif 000008
2018113976.tif 000009
【０１７２】
第４の実施形態でも説明したように、規則性および対称性の値を閾値と比較する上では、式（２０）、（２１）のように平均値の比を２乗しなくてもよい。したがって、対称性、規則性は以下の式（２２）、（２３）によりそれぞれ算出することができる。
2018113976.tif 000010
2018113976.tif 000011
式（２２）、（２３）を踏まえると、図３３に示すフローチャートにおいて、Ｓ１１０７でＳ１＝Ｓ×Ｓを計算する代わりにＳ１＝−Ｓを計算し、さらにＳ１１１１でＳ１＋＝Ｓ×Ｓを計算する代わりにＳ１＋＝Ｓを計算する処理にそれぞれ変更することができる。
【０１７３】
（変形例２）
次に変形例２について説明する。例えば、馬はいずれかの脚を負傷している場合、負傷した脚をかばうため、上記で説明した上下加速度の正の成分において、一歩前の上下加速度の正の成分との差が現れるとも考えられている。この考えに従うと、図４５において、ｄ１とｄ３との比較結果を、馬が脚を負傷しているか否かを判定する１つの基準として用いることができる。そして、上記の実施形態において、規則性および対称性の値に加えて、ｄ１とｄ３との比の値が所定の範囲内にあるか否かを第３の判定基準として用いてもよい。この場合、図４５に示すように、ｄ１とｄ３の比の値を第３の評価軸として設定し、規則性の値と対称性の値とにより３次元の異常領域を定めることができる。
【０１７４】
なお、ｄ１とｄ３との比の値は、図３３のフローチャートにおいてＳ１１１１の処理を省略し、Ｓ１１１２〜Ｓ１１１６の処理を実行することで算出することができる。したがって、まず図３３のフローチャートの処理を行って規則性および対称性の値を算出し、さらに図３３のフローチャートにおいてＳ１１１１、Ｓ１１１３〜Ｓ１１２０の処理を省略した処理を実行することでｄ１とｄ３の比の値を算出する。そして、図３５のフローチャートを実行する際に、Ｓ１２０１において規則性および対称性の値に加え、ｄ１とｄ３の比の値がともに小さいか否かを判定することで、算出した値が図４５に示す異常領域内にあるか否かを判定し、跛行を警告することができる。
【０１７５】
（変形例３）
次に変形例３について説明する。上記の説明では、計測端末７００のＧＰＳセンサ３０５は、一定の時間間隔でＧＰＳデータを生成する。本変形例では、ＧＰＳセンサ３０５によるＧＰＳデータの生成タイミングを制御できる場合に、計測端末７００を装着した馬の移動における加速度を算出する際のＣＰＵ３０４ｂの処理について説明する。本変形例では、ＣＰＵ３０４ｂが任意のタイミングでＧＰＳセンサ３０５にＧＰＳデータの生成を指示して生成されたＧＰＳデータを取得することができるものとする。なお、本変形例の計測端末の構成は、計測端末７００からタイマ３０６が削除された点を除いて第６の実施形態と同様であるため、第６の実施形態と同じ構成要素については同一の符号を用い、図示および詳細な説明は省略する。
【０１７６】
図４６のフローチャートを参照しながら、本変形例におけるＣＰＵ３０４ｂが実行する処理について説明する。Ｓ１５０１において、ＣＰＵ３０４ｂは、３軸加速度センサの出力データを用いて、上記の第２の実施形態と同様の処理を行うことで、計測端末７００が
装着されている馬の歩行判定、歩容判定、歩数計測の各処理を行う。次いで処理はＳ１５０２に進められる。Ｓ１５０２の処理は、図４２のフローチャートにおけるＳ１４０２と同じであるため説明を省略する。
【０１７７】
Ｓ１５０３において、ＣＰＵ３０４ｂはＧＰＳセンサ３０５から現在のＧＰＳデータを取得する。次いで処理はＳ１５０４に進められる。Ｓ１５０４において、ＣＰＵ３０４ｂは、前回の処理においてＳ１５０３において取得したＧＰＳデータの緯度と今回の処理においてＳ１５０３において取得したＧＰＳデータの緯度の差分を算出する。次いで処理はＳ１５０５に進められる。Ｓ１５０５において、ＣＰＵ３０４ｂは、前回の処理においてＳ１５０３において取得したＧＰＳデータの経度と今回の処理においてＳ１５０３において取得したＧＰＳデータの経度の差分を算出する。次いで処理はＳ１５０６に進められる。
【０１７８】
Ｓ１５０６において、ＣＰＵ３０４ｂは前回および今回の処理においてＳ１５０３において取得したＧＰＳデータの時刻情報から、前回の処理における右前脚の着地時刻から今回の処理における右前脚の着時時刻までの経過時間を算出する。さらにＣＰＵ３０４ｂは、算出した経過時間とＳ１５０４、Ｓ１５０５において算出した緯度および経度の差分とを用いて速さを算出する。次いで処理はＳ１５０７に進められる。Ｓ１５０７では、ＣＰＵ３０４ｂはＳ１５０６において算出した経過時間とＳ１５０６において算出した速さとを用いて加速度を算出する。Ｓ１５０７の処理が終了すると、ＣＰＵ３０４ｂは本フローチャートの処理を終了する。
【０１７９】
本変形例では、Ｓ１５０１、Ｓ１５０２において右脚前が着地した時点におけるＧＰＳデータが取得できる。このため、ＣＰＵ３０４ｂは、図４２のフローチャートに示すようにタイマ３０６から出力される時間情報およびＧＰＳデータに基づく緯度および経度の補正処理や式（１３）〜式（１６）の計算処理は実行しない。このため、第６の実施形態に比べてＣＰＵ３０４ｂに対する処理負荷をさらに軽減しつつ、精度よく馬の加速度を算出することができる。
【０１８０】
＜コンピュータが読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記情報処理装置の設定を行うための管理ツール、ＯＳその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータは、例えば、計測端末等である。
【０１８１】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ等がある。
【０１８２】
以上の実施形態に関し、さらに以下の付記を開示する。
【０１８３】
（付記１）
四脚動物に取り付けられた計測装置に、
前記四脚動物に取り付けられた加速度センサから３次元空間の加速度データを取得させ、
前記取得した加速度データを用いて前記四脚動物の歩容を特定させ、
前記特定した前記四脚動物の歩容を用いて前記四脚動物の右前脚と左後脚、左前脚と右後脚の移動がそれぞれ対になっているか否かを判定させ、
前記四脚動物の右前脚と左後脚、左前脚と右後脚の移動がそれぞれ対になっていると判定した場合に、前記取得した加速度データを用いて、前記取得した加速度データの時間変化における連続する３つの周期について、周期ごとの運動エネルギを示す値を算出させ、
前記算出した運動エネルギを示す値を用いて、前記連続する３つの周期における隣り合う周期間の運動エネルギの比と１周期離れた周期間の運動エネルギの比を算出させる、
ことを特徴とする計測プログラム。
【０１８４】
（付記２）
前記計測装置にさらに、
前記隣り合う周期間の運動エネルギの比と前記１周期離れた周期間の運動エネルギの比とが所定の閾値より小さい場合に、前記四脚動物の歩行が異常であると判定させる
ことを特徴とする付記１に記載の計測プログラム。
【０１８５】
（付記３）
前記計測装置にさらに、
過去の前記隣り合う周期間の運動エネルギの比の累積和と前記１周期離れた周期間の運動エネルギの比の累積和を用いた指標値を算出させ
現在の前記隣り合う周期間の運動エネルギの比の累積和と前記１周期離れた周期間の運動エネルギの比の累積和が前記指標値から所定量だけ乖離している場合に、前記四脚動物の歩行が異常であると判定させる
ことを特徴とする付記１に記載の計測プログラム。
【０１８６】
（付記４）
四脚動物に取り付けられた計測装置に、
前記四脚動物に取り付けられた加速度センサから３次元空間の加速度データを取得させ、
前記取得した加速度データを用いて前記四脚動物の歩容を特定させ、
前記特定した前記四脚動物の歩容を用いて前記四脚動物の所定の脚が着地したか否かを判定させ、
前記四脚動物の所定の脚が着地したと判定したときの前記四脚動物の位置を示す位置情報を、前記四脚動物に取り付けられたＧＰＳセンサから取得したＧＰＳデータが示す位置情報と時間情報とを用いて生成させ、
前記生成した位置情報と前記ＧＰＳデータが示す時間情報とを用いて、前記四脚動物の所定の脚が着地したと判定してから再度前記四脚動物の所定の脚が着地したと判定するまでの前記四脚動物の移動における加速度の平均値を算出させる
ことを特徴とする計測プログラム。
【０１８７】
（付記５）
四脚動物に取り付けられる計測装置であって、
３次元空間の加速度データを出力する加速度センサと、
前記加速度センサから取得した前記加速度データを用いて前記四脚動物の歩容を特定する歩容特定部と、
前記特定した前記四脚動物の歩容を用いて前記四脚動物の右前脚と左後脚、左前脚と右後脚の移動がそれぞれ対になっているか否かを判定する歩容判定部と、
前記取得した加速度データを用いて、前記取得した加速度データの時間変化における連続する３つの周期について、周期ごとの運動エネルギを示す値を算出する運動エネルギ値算出部と、
前記算出した運動エネルギを示す値を用いて、前記連続する３つの周期における隣り合う周期間の運動エネルギの比と１周期離れた周期間の運動エネルギの比を算出させる運動エネルギ比算出部と、
を有することを特徴とする計測装置。
【０１８８】
（付記６）
前記隣り合う周期間の運動エネルギの比と前記１周期離れた周期間の運動エネルギの比とが所定の閾値より小さい場合に、前記四脚動物の歩行が異常であると判定する歩行判定部を有することを特徴とする付記５に記載の計測装置。
【０１８９】
（付記７）
過去の前記隣り合う周期間の運動エネルギの比の累積和と前記１周期離れた周期間の運動エネルギの比の累積和を用いた指標値を算出する指標値算出部と、
現在の前記隣り合う周期間の運動エネルギの比の累積和と前記１周期離れた周期間の運動エネルギの比の累積和が前記指標値から所定量だけ乖離している場合に、前記四脚動物の歩行が異常であると判定する歩行判定部と
を有することを特徴とする付記５に記載の計測装置。
【０１９０】
（付記８）
四脚動物に取り付けられる計測装置であって、
ＧＰＳセンサと、
３次元空間の加速度データを出力する加速度センサと、
前記取得した加速度データを用いて前記四脚動物の歩容を特定する歩容特定部と、
前記特定した前記四脚動物の歩容を用いて前記四脚動物の所定の脚が着地したか否かを判定する歩容判定部と、
前記四脚動物の所定の脚が着地したと判定したときの前記四脚動物の位置を示す位置情報を、前記ＧＰＳセンサから取得したＧＰＳデータが示す位置情報と時間情報とを用いて生成する位置情報生成部と、
前記生成した位置情報と前記ＧＰＳデータが示す時間情報とを用いて、前記四脚動物の所定の脚が着地したと判定してから再度前記四脚動物の所定の脚が着地したと判定するまでの前記四脚動物の移動における加速度の平均値を算出する加速度算出部と
を有することを特徴とする計測装置。
【０１９１】
（付記９）
四脚動物に取り付けられた加速度センサから３次元空間の加速度データを取得し、
前記取得した加速度データを用いて前記四脚動物の歩容を特定し、
前記特定した前記四脚動物の歩容を用いて前記四脚動物の右前脚と左後脚、左前脚と右後脚の移動がそれぞれ対になっているか否かを判定し、
前記四脚動物の右前脚と左後脚、左前脚と右後脚の移動がそれぞれ対になっていると判定した場合に、前記取得した加速度データを用いて、前記取得した加速度データの時間変化における連続する３つの周期について、周期ごとの運動エネルギを示す値を算出し、
前記算出した運動エネルギを示す値を用いて、前記連続する３つの周期における隣り合う周期間の運動エネルギの比と１周期離れた周期間の運動エネルギの比を算出する
ことを特徴とする計測方法。
【０１９２】
（付記１０）
前記隣り合う周期間の運動エネルギの比と前記１周期離れた周期間の運動エネルギの比とが所定の閾値より小さい場合に、前記四脚動物の歩行が異常であると判定することを特徴とする付記９に記載の計測方法。
【０１９３】
（付記１１）
過去の前記隣り合う周期間の運動エネルギの比の累積和と前記１周期離れた周期間の運動エネルギの比の累積和を用いた指標値を算出し、
現在の前記隣り合う周期間の運動エネルギの比の累積和と前記１周期離れた周期間の運動エネルギの比の累積和が前記指標値から所定量だけ乖離している場合に、前記四脚動物の歩行が異常であると判定する
ことを特徴とする付記９に記載の計測方法。
【０１９４】
（付記１２）
四脚動物に取り付けられた加速度センサから３次元空間の加速度データを取得し、
前記取得した加速度データを用いて前記四脚動物の歩容を特定し、
前記特定した前記四脚動物の歩容を用いて前記四脚動物の所定の脚が着地したか否かを判定し、
前記四脚動物の所定の脚が着地したと判定したときの前記四脚動物の位置を示す位置情報を、前記四脚動物に取り付けられたＧＰＳセンサから取得したＧＰＳデータが示す位置情報と時間情報とを用いて生成し、
前記生成した位置情報と前記ＧＰＳデータが示す時間情報とを用いて、前記四脚動物の所定の脚が着地したと判定してから再度前記四脚動物の所定の脚が着地したと判定するまでの前記四脚動物の移動における加速度の平均値を算出する
ことを特徴とする計測方法。
【符号の説明】
【０１９５】
１０    携帯電話端末
１０’、１０’’    携帯端末
１０４、３０４    サブマイコン
１０４ｃ、１０４ｈ、１０４ｒ、１００４ａ    ＬＰＦ
１０４ｄ、１０４ｏ、１０４ｓ  ＨＰＦ
１００４ｂ    ＢＰＦ
１０４ｅ、１０４ｋ、１００４ｄ、１００４ｉ    外積演算処理部
１０４ｊ、１０４ｌ、１０４ｍ、１０４ｐ、１０４ｑ、１０４ｔ、１０４ｕ、１００４ｃ、１００４ｊ、１００４ｐ、１００４ｑ    内積演算処理部
１００４ｌ、１００４ｎ、１００４ｏ    乗算部
１００４ｍ    符号判定部
１０８    ＲＯＭ
１０９    ＲＡＭ
１１０    加速度センサ
１１１    角速度センサ
２０１    内積値算出部
２０２    外積算出部
２０３    絶対値算出部
２０４    動作状態特定部
３００、７００    計測端末
３０１    ３軸加速度センサ
３０４ｂ    ＣＰＵ
３０４ｃ    メインメモリ
３０４ｄ    フラッシュメモリ
３０５    ＧＰＳセンサ
３０６    タイマ
３００１、７００１    歩容特定部
３００２、７００２    歩容判定部
３００３    運動エネルギ値算出部
３００４    運動エネルギ比算出部
７００３    位置情報生成部
７００４    加速度算出部
【図１】
2018113976.tif 000012
【図２】
2018113976.tif 000013
【図３Ａ】
2018113976.tif 000014
【図３Ｂ】
2018113976.tif 000015
【図４Ａ】
2018113976.tif 000016
【図４Ｂ】
2018113976.tif 000017
【図５Ａ】
2018113976.tif 000018
【図５Ｂ】
2018113976.tif 000019
【図６Ａ】
2018113976.tif 000020
【図６Ｂ】
2018113976.tif 000021
【図７】
2018113976.tif 000022
【図８】
2018113976.tif 000023
【図９Ａ】
2018113976.tif 000024
【図９Ｂ】
2018113976.tif 000025
【図１０】
2018113976.tif 000026
【図１１Ａ】
2018113976.tif 000027
【図１１Ｂ】
2018113976.tif 000028
【図１２Ａ】
2018113976.tif 000029
【図１２Ｂ】
2018113976.tif 000030
【図１３Ａ】
2018113976.tif 000031
【図１３Ｂ】
2018113976.tif 000032
【図１３Ｃ】
2018113976.tif 000033
【図１４】
2018113976.tif 000034
【図１５】
2018113976.tif 000035
【図１６Ａ】
2018113976.tif 000036
【図１６Ｂ】
2018113976.tif 000037
【図１６Ｃ】
2018113976.tif 000038
【図１７】
2018113976.tif 000039
【図１８】
2018113976.tif 000040
【図１９Ａ】
2018113976.tif 000041
【図１９Ｂ】
2018113976.tif 000042
【図２０】
2018113976.tif 000043
【図２１】
2018113976.tif 000044
【図２２Ａ】
2018113976.tif 000045
【図２２Ｂ】
2018113976.tif 000046
【図２３】
2018113976.tif 000047
【図２４】
2018113976.tif 000048
【図２５】
2018113976.tif 000049
【図２６】
2018113976.tif 000050
【図２７】
2018113976.tif 000051
【図２８】
2018113976.tif 000052
【図２９】
2018113976.tif 000053
【図３０Ａ】
2018113976.tif 000054
【図３０Ｂ】
2018113976.tif 000055
【図３１】
2018113976.tif 000056
【図３２】
2018113976.tif 000057
【図３３】
2018113976.tif 000058
【図３４】
2018113976.tif 000059
【図３５】
2018113976.tif 000060
【図３６】
2018113976.tif 000061
【図３７Ａ】
2018113976.tif 000062
【図３７Ｂ】
2018113976.tif 000063
【図３８】
2018113976.tif 000064
【図３９】
2018113976.tif 000065
【図４０】
2018113976.tif 000066
【図４１】
2018113976.tif 000067
【図４２】
2018113976.tif 000068
【図４３Ａ】
2018113976.tif 000069
【図４３Ｂ】
2018113976.tif 000070
【図４４】
2018113976.tif 000071
【図４５】
2018113976.tif 000072
【図４６】
2018113976.tif 000073