Vision
見えない課題を、
データで可視化する
臨床の現場では、選手の動きの違和感や課題の多くが、目に見えないまま残されています。理学療法士として身体と向き合ってきた臨床知見が、私の出発点です。
博士課程では、三次元動作解析とIMU(慣性計測装置)データ処理の技術を専門に研究。臨床で培った観察眼と、MATLAB / Pythonによる信号処理を統合し、現場の「なぜ」を数値で説明できる形へと変換しています。
- Clinical理学療法士としての臨床知見
- Research博士課程での三次元動作解析
- EngineeringIMUデータ処理・信号解析の実装
IMU × 3 nodes

200 Hz sampling
Solutions
解析コード、研究ノウハウ、現場の医科学サポート。三つの軸で、スポーツ医科学の実装を支えます。
01
Motion Analysis
MATLAB/Pythonを用いたIMUデータ処理・動作解析コードの提供。再現できるコードとして、解析を誰でも使える形にします。
02
AI & Research
若手研究者・大学院生に向けたAI活用、学振申請ノウハウ。研究のスピードと質を引き上げる実践知を共有します。
03
Science Support
トップアスリートから現場レベルまでの医科学サポート活動記録。現場で得た気づきを、次の解析課題につなげます。
Technology
IMUデータを、
現場の価値に変換する
センサから得られる膨大な時系列データを、現場で使える指標へ。ノイズ除去、キャリブレーション、イベント検出、指標化までを一貫して扱う、高度なバイオメカニクス解析エンジンの構築に取り組んでいます。
- Acquire
センサからの生データを取得・同期する - Filter
ノイズ除去とキャリブレーションで信号を整える - Detect
動作イベントを自動で検出し、区間を切り出す - Report
現場で使える指標にまとめて返す
from scipy.spatial.transform import Rotation as R
def knee_flexion(q_thigh, q_shank):
"""大腿・下腿のIMU姿勢(クォータニオン)から膝関節角度を算出"""
r_rel = R.from_quat(q_thigh).inv() * R.from_quat(q_shank)
flex = r_rel.as_euler("YXZ", degrees=True)[:, 0] # 屈曲・伸展
return flex
angle = knee_flexion(q_thigh, q_shank)
print(f"Peak knee flexion: {angle.max():.1f} deg")
function flex = kneeFlexion(qThigh, qShank)
% 大腿・下腿のIMU姿勢(クォータニオン)から膝関節角度を算出
qRel = quatmultiply(quatinv(qThigh), qShank);
[~, flex, ~] = quat2angle(qRel, 'ZYX'); % 屈曲・伸展
flex = rad2deg(flex);
end
angle = kneeFlexion(qThigh, qShank);
fprintf('Peak knee flexion: %.1f deg\n', max(angle));
Output
$ python joint_angle.py
Peak knee flexion: 62.4 deg
Python · UTF-8
解析エンジンは開発中です。コードと出力はイメージを示すサンプルです。
Contact
