見出し画像

IMUによるモーションセンシング #1 〜慣性センサの基本〜

身体運動の計測に使用されるモーションセンサは,一般にIMUと呼ばれるセンサを組み込んだ計測機器である.このマガジンでは,スポーツなどの身体運動の計測を目的としたIMUやモーションセンサの原理と応用について解説する.計測原理,その活用方法やPythonによる計算例など解説する予定である(文献1).



慣性センサからモーションセンサへ

IMU

身体の運動を計測を計測する座標系から大別すると,画像などによる「絶対座標系で観察する計測」と,センサなどによって身体など「動く物体に固定された座標系での計測」に分かれる.カメラなどの画像による計測の代表格がモーションキャプチャで,絶対座標系で一般的に身体運動などを計測する目的としては最も精度が高く汎用的なシステムである.一方,物体固定座標系(センサ座標系)から観察するセンサとしては,一般的には慣性センサ(IMU, Inertial Measurement Unit,アイエムユー)と呼ばれるセンサが代表的である.

そもそも測っている物理量が異なるので比較するのが難しいが,バイオメカニクスなどの計算を目的としてもっとも精度良く計測を行いたいと思うならばモーションキャプチャを使用すべきだろう.しかし,システムは複雑で被験者にマーカを貼付するなどの拘束もあり,導入コストも高い.一方,身体に加速度センサやジャイロセンサを含むIMU(モーションセンサ)を装着して計測することが許されるなら,低コストで比較的簡便に計測することが可能となる.

IMUを構成するセンサは,加速度センサとジャイロセンサである.これに地磁気センサを加えた,通称9軸センサと呼ばれるものもIMUとしてみなすことがあるが,一般的には加速度センサ+ジャイロセンサの組み合わせを指す.慣性センサ(IMU)は,もともと航空機やミサイルなどの姿勢,位置,速度などを制御する慣性航法制御(INS, Inertial Navigation System)を行うための計測機器として開発され,高精度に姿勢推定などを行うために,使用されるジャイロセンサ(角速度センサ)もかなり大型のものが使用されていた(図1).昔は,航空機などのIMU=INSのためのシステムであったが,後述のMEMS技術の登場で小型化され,最近の利用目的は自動車,ヒト,小さな物体の運動計測などの目的へと大きく変化した.

図1:アポロで使用さたIMU(Wikiより)

最近はIMU(加速度センサ+ジャイロセンサ,6軸センサと呼ぶこともある)に加えて,さらに地磁気センサを加えた9軸センサもIMUと呼ぶことが多いが,6軸のIMUと区別して,これをAHRS(Attitude Heading Reference System)センサと呼ぶことがある.なお,地磁気センサのサンプリングレートは加速度センサやジャイロセンサと比較して遅く,地場は環境によって大きく変化するのであまり当てにならないセンサである.

さらにこれにGPSやGSNNなどの人工衛生を利用した位置測位システムも加えた計測システムもある.ただしGPSやGSNNのサンプリングレートはせいぜい頑張って10Hzで決して速いとは言えない.筆者の知るところで民生用のGNSSセンサでは,セイコーエプソン社のGNSS-ICチップが20Hzで最高である.発売はされていないようだが,高精度のIMUとGNSSが一体化されたシステムも存在し,すでにスポーツシーンで活用されている.ここでは,GPSやGNSSなどは議論の対象外なのでお許しいただきたい.

最近のスマートフォンやタブレットには,チップ化された加速度センサ,ジャイロセンサ,地磁気センサが搭載されているので,ほとんどの人がIMUを身近に実際に使用していることになる.このようにチップ化さらたセンサは自動車やスマホなどの利用からこの10〜20年ぐらいに急速に普及し,我々も身近に使えるようになった.今後は,IMUだけでなく,GNSSや画像も含むたくさんの種類のセンサが一つに小型化されて集積された計測機器が登場するだろう.ただし,安価な製品が普及するためには,自動車やスマホ並みにより大量に必要とされるスポーツ以外での利用用途が見つかる必要がある.

MEMSセンサ

図2:MEMSセンサの電子顕微鏡写真

この小型化されたセンサは,MEMS(Micro Electro Mechanical Systems,メムス)センサと呼ばれるセンサが使用される.通常,シリコンなどの半導体基板上には電子部品だけのっているのだが,そこに機械的な部品(バネなど)も埋め込み,加速度センサなどの3次元的可動構造体を利用したセンサやアクチュエータを形成してしまう技術をMEMSと呼ぶ.図2にその電子顕微鏡写真を示したが,そのぐらい小さい構造を,一つのICに埋め込んでいる.今までは,この写真とくれべてはるかに大きい加速度センサ(機械部品)とアンプ(電子回路)をケーブルで結んで接続していたが,それをICの中に両方とも組み込んむ半導体技術で作られたセンサである.見かけは図3のようなICチップそのものである.当然商品によってセンサの大きさはまちまちだが,おおよそ平均的には5 x 5 x 1 mm程度の大きさと考えればよい.

ただし,一般的にセンサの特性として小型化するほど信号に対するノイズの割合が高くなる(S/N比が小さくなる)ため,スマホなどで使用されるMEMSセンサの精度は決して良くはなく,大型なIMUと比較すると精度は低い.また,3軸同時に計測できるMEMSセンサが主流だが,構造上,軸によってセンサの精度が異なり,センサの1軸(メーカによるがZ軸であることが多い)だけ精度が低くなる.

図3:IMUチップの形状と座標軸

図4の構造をみるとわかるのだが,平べったい構造をしており,大きく動かせるXY方向の動きの感度はよいが,Z軸方向に対しては動くも少なく精度が低下する要因になる.平べったいシリコンチップの構造のためこのような制約が発生する.もしどの軸に対しても正確に計測を行いたいなら,2軸+1軸(もしくは1軸 x 3個)のように,1軸は直角に配置する必要があるだろう.

図4MEMS型3軸加速度センサの構造例

また,より精度良く加速度を計測したい場合は,有線による計測となってしまうが,ひずみゲージ型加速度センサを利用するとよいだろう.

なお,30年ほど前におそらく初めてAnalog Devices社がだしたMEMS型加速度センサは,もう少し大きく,トランジスタのような形状でピン数も少ないものであった.それがオペアンプのようなDIPパッケージに変わり,現在は図3のような表面実装するタイプが主流となった.

モーションセンサ

モーションセンサはそれほど普及した名称ではないが,バイオメカニクスや身体運動の計測ではこのような呼び方をすることもある.ライトの自動点灯などに利用されう人感センサもモーションセンサと呼ぶことがあり紛らわしいが,ここで対象としているのは動く物体に取り付けて加速度や角速度などを計測するところに特徴がある.

IMUやMEMSセンサは,センサとアンプなどがICとなったと考えればよいが,MEMSセンサ(加速度センサ,ジャイロセンサ,地磁気センサ)に加えて,マイコン,無線,メモリ,電池などを搭載した計測機器をモーションセンサと呼んでいる.図5には35 x 50 x 10 mm程度の大きさのケースに組み込んだモーションセンサの例を示した.

図5モーションセンサ

ここでは,計測,データのメモリ保存,無線通信などの機能を,PCやスマホで制御し,使えるようにした製品をモーションセンサと呼び,IMUやMEMSセンサ単体とと区別する.

最近は,モーションセンサを構成するMEMSセンサ自体が3次元の姿勢角度を計算できるものも多い.なかにはモーションセンサ=3次元の姿勢角度センサと思い込む方もいらっしゃるが,組み込まれたセンサは加速度センサとジャイロセンサなので,直接計測するのは加速度と角速度である.また,そのアルゴリズムも多種多様である.姿勢角度は角速度の数値積分によって計算され,二次的に計算されたもので精度はよくないと理解しておくのが良い.なお,弊社のアルゴリズムはスポーツのような運動を意識した独自のものであるが,基本的な構成は特別なものでなく標準的なアルゴリズムである.姿勢角度の計算についてもどこかで述べていく予定である.

モーションセンサにできること

モーションセンサなどによって運動を計測することをモーションセンシング(motion sensng)などと呼ぶことがある.また,MEMSセンサは小型の計測環境を構築でき,身にまとって計測ができるという意味で,ウェアラブルセンサ(wearable sensor)の一種である.ウェアラブルセンサとしては腕時計型のセンサなどが多いが,ここでは目的に応じて,必要な部位に装着し計測することになる.

3次元姿勢推定

前述のように,モーションセンサには加速度センサとジャイロセンサが含まれ,センサに固定された座標系の加速度と角速度が計測される.そこから二次的にセンサの姿勢角度が計測される.姿勢角度は単位クォータニオンやオイラー角などで与えられる.

角速度信号を数値積分することで角度は計算できるが,わずかばかりのセンサに含まれるノイズがあるため,時間経過とともに誤差が蓄積し,次第に真の値からはずれていくことをドリフトと呼ぶが,積分計算による角度計算ではドリフトは避けられない.特にMEMSセンサを使用している以上,その影響は大きい.短時間のゴルフスイングなどでは1〜2[deg] 程度の誤差に収まるが,数分も歩行をするなどすると,数十 [deg]の誤差が蓄積する.

これを避けるためのアルゴリズムとして,重力加速度や地磁気を利用した補正方法があり,多くのモーションセンサにも搭載されているが,激しく動くスポーツではさほど有効ではない.むしろ加速度を参照しながら補正するアルゴリズムは仕様しないほうが良い.なぜなら重力加速度以外の加速度成分(向心加速度など)が遥かに大きく,加速度はまったく補正に利用できない情報となるためである.そのような場合は,むしろご自身で積分計算を行っていただくほうがよいだろう.単純な積分による角度計算については,Pythonの計算例を示していく予定である.

非光学式モーションキャプチャ

YouTuberなどの利用が多いのか,最近はカメラを使用せず,モーションセンサが身体格部位に配置された専用スーツなどを着用し,身体の幾何学モデルとモーションセンサが推定する姿勢角計算を通した身体の骨格モデルを推定する,非光学式(またはIMU式)モーションキャプチャなども普及してきた.
 高価な光学式モーションキャプチャに比べて,安価のため普及しているが,光学式モーションキャプチャが直接位置を計測するのに対して,骨格モデルと姿勢角から位置を計算することになるので,見かけ上動きはヒトらしく見えるが,精度はかなり低下する.

軌道推定

たとえばゴルフクラブやバットなどにモーションセンサを装着し,推定した角度や位置から,クラブやバットなどの軌道と角度を推定する道具も普及してきた.これを利用し,単に軌道推定を行うだけでなく,スイングの技術解析・評価なども行うことができる.画像計測機器と異なり,計測する場所がカメラなどに依存しない点が有効だ.スマートフォンとセンサだけがあれば計測・分析が可能となる.このような軌道推定では,加速度の二階積分が含まれるため,位置の誤差蓄積はかなり深刻で,ただのスイングでも数十 [cm]の誤差は発生する.そこで,通常,スイング動作の最初と最後が静止し同じ位置に復帰するなどの条件を利用し,辻褄があうように補正する手法が用いられる.軌道自体はさほど正確ではないが,スイング運動の目安やスイング速度などの測定などの実用には耐えられ,スイングの様子も再現できることから,このようなシステムも普及しつつある.

図6:ミズノ社,BLASTによるスイング軌道計算例
図7:セイコーエプソン社,M-Tracerによる計測例

力学計算

IMUの加速度センサは加速度を出力するセンサであるが,計測原理を考えるとこれはもともと力を計測するセンサと考えたほうが良い.次章以降で説明するが,加速度センサは,重りに作用する力を計測し,重りの質量に相当するパラメータがわかるので,それで割って加速度を計算していることと等価である.つまり加速度センサは,一種の力センサと考えることができる.そのように考えれば,実は加速度センサは動力学計算と親和性が高い.

前述したが,IMUの利用方法として姿勢角度の計測機器と考えている人も多いかもしれないが,IMUの性質を考えると,IMUにとってそれはあまり適していない応用例と言える.むしろ計測原理を考えれば力学計算に利用するほうが有効利用していると言えるが,そのことはなかなか理解されていないので,これについてもどこかで述べていく.

その他

もちろん加速度や角速度を計測することにも使用でき,純粋に並進と回転運動を計測することができる.身体運動に限定せずに,振動を計測することもある.また,静的に角度計としての利用も可能だ.また,ノート記事(動かして学ぶバイオメメカニクス

ではモーションキャプチャベースで計測した例を取り上げているが,このような逆動力学計算に利用することも可能だ.

モーションセンサの利用時の注意点

繰り返しになるが,あくまでも直接計測している物理量は,加速度と角速度で,二次的に推定する姿勢角度の精度は,運動の時間や種類によってかなり異なり,一般に低いので注意されたい.

センサ座標系の信号

センサが計測する物理量は,センサに固定された座標系である.絶対座標系の情報ではない.センサが推定する姿勢角度で絶対座標系に変換することは可能だが,前述のように推定角度の精度が低いために,絶対座標系に変換することで精度は劣化する.

温度ドリフト

温度補償するセンサもあるが,一般には温度変化によって誤差が発生する.多くの場合,15分程度の暖機運転を行い安定してから利用するのが望ましい.

取付誤差

センサがロボットのように固く,方向がさだまった物体に取り付けられるならばよいが,身体のように柔らかく方向が定まらない部位に取り付ける場合には,取付方向の誤差や,振動などが発生する場合がある.

無線通信

モーションセンサに搭載されたメモリに記録するだけならな良いが,データを無線で送信する場合には,送信できるレートに限界がある.センサの計測情報は間引いてモニタリングしリアルタイムで観察することができる.また,計測後に有線でデータを送信するにはUSBによる通信だが,無線でデータを送信する場合は,かなりの時間を必要とする.ひとつの無線に対して遅れるデータの時間レートには上限がある.無線で送ることができるデータ数には限界がある.2.4 GHzの周波数帯の無線と比べて,一般的にはBluetoothによる通信レートはさらに小さくなる.また,無線環境によっては,メモリに計測されていても,データの送信時にデータの欠損も発生する.無線を使用する以上,これは避けられない.多くの電波が飛び交う環境では,通信が安定しないこともある.また,障害が無ければ50 [m]以上の距離でも通信が可能な無線でも,多くの人が無線を使用し,似たような周波数帯の信号を使用しているときには,やはり通信が安定しないことも発生する.

バッテリー

長い時間使用する場合,バッテリーによってどのぐらいの時間の計測が可能か調べておくのが良い.

モーションセンサのデータ処理

モーションセンサによって,簡便に3次元運動を計測することはできるものの,3次元の幾何学は2次元と比べて若干面倒である.並進運動は2次元も3次元も違いはないが,3次元で回転が加わると筆者も頭が混乱することがある.

3次元の回転運動については,note記事(モーションにおける3次元回転

をご覧になっていただきたい.このマガジンでも時々参照することになるだろう.


参考文献

文献1:近藤,ウェアラブル時代のコモンセンス!姿勢検知計算入門,インターフェース,CQ出版,2016, 9月号.

この文献記事は身体運動を対象としたモーションセンサの使い方を,初心者向きにわかりやすく,かなり詳しく解説した記事である.筆者の内容が難しく感じる場合は,こちらの文献を参照するとよいだろう.筆者はあくまでも数理的な理解なしに正しい理解はありえないと考える立場であるが,物理や数学が苦手な方は,文献1を参照されたい.Matlabのソースコードも掲載されている.



スポーツセンシング 公式note
スポーツセンシング 運動習慣獲得支援サービス「FitClip」
スポーツセンシング アスリートサポート事業


【著作権・転載・免責について】

権利の帰属
本ホームページで提示しているソフトウェアならびにプログラムリストは,スポーツセンシング社の著作物であり,スポーツセンシング社に知的所有権がありますが,自由にご利用いただいて構いません.

本ページに掲載されている記事,ソフトウェア,プログラムなどに関する著作権および工業所有権については,株式会社スポーツセンシングに帰属するものです.非営利目的で行う研究用途に限り,無償での使用を許可します.

転載
本ページの内容の転載については非営利目的に限り,本ページの引用であることを明記したうえで,自由に行えるものとします.

免責
本ページで掲載されている内容は,特定の条件下についての内容である場合があります. ソフトウェアやプログラム等,本ページの内容を参照して研究などを行う場合には,その点を十分に踏まえた上で,自己責任でご利用ください.また,本ページの掲載内容によって生じた一切の損害については,株式会社スポーツセンシングおよび著者はその責を負わないものとします.


【解析・受託開発について】

スポーツセンシングでは,豊富な知見を持つ,研究者や各種エンジニアが研究・開発のお手伝いをしております.研究・開発でお困りの方は,ぜひスポーツセンシングにご相談ください.
【例】
 ・データ解析の代行
 ・受託開発
  (ハードウェア、組込みソフトウェア、PC/モバイルアプリ)
 ・測定システム構築に関するコンサルティング など
その他,幅広い分野をカバーしておりますので,まずはお気軽にお問い合わせください.

【データの計測について】

スポーツセンシング社のスタジオで,フォースプレートやモーションキャプチャを利用した計測も行えます.出力されるデータと,ここで示したプログラム(入力データの取り込み関数を少々改変する必要があるが)で,同様な解析を行えますので,まずはお気軽にお問い合わせください.