AI x 筋トレは、ダンベルに親指サイズのセンサーを取り付けるだけで、動きの質を数値化・可視化するトレーニング支援システムです。神戸ソフトの技術チームが、センサーのファームウェアから判定ロジック、ダッシュボードまで一貫して内製しました。
回数は数えられても、「質」は記録されない
筋力トレーニングの効果は、正しいフォームで、適切なテンポと可動域を継続して積み上げることで生まれます。けれども現場では、自分の動きが「正しいか」「疲れてどう崩れてきたか」をリアルタイムに知る手段がありません。回数は数えられても、動きの質は記録されないままです。
このデモでは、ダンベルに取り付けた6軸センサーが1回ごとの動きを捉え、デバイス上のエッジAIが可動域・テンポ・ブレを評価。疲労による乱れや異常な動きをその場で検出します。
技術構成 — 軽いデバイス、賢いダッシュボード
センサー側はできるだけ軽く、表示・分析はダッシュボード側で——という役割分担です。デバイスは M5StickS3(ESP32-S3)に 6軸IMU の BMI270 を組み合わせ、加速度・角速度を 50Hz でサンプリング。レップ検出・特徴抽出・疲労判定までをデバイス上で行い、結果を BLE(Nordic UART)でリアルタイム送信します。
受け手のダッシュボード「RepSight」は、ブラウザ版(Chart.js)とタブレット向けアプリ(Flutter)を用意。加速度波形、総レップ数、平均ROM、疲労カウント、IMUの実測Hzをリアルタイムに表示します。
計測する4つの指標
生の6軸波形から、1レップごとに意味のある4つの指標を取り出します。
- ROM(可動域):1レップ中に動いた角度。動きが浅くなっていないか
- Duration(動作時間):1レップにかかった時間。テンポが落ちていないか
- Sway(軌道のブレ):角速度のゆらぎ(標準偏差)。フォームが乱れていないか
- Peak Accel(最大加速度):勢いに頼っていないか
デバイス上で動く「ルールベース疲労スコア」
特徴的なのは、疲労の判定をセンサーデバイス自身がリアルタイムに行うことです。クラウドにもPCにも頼りません。最初の数レップを「基準」として記録し、その後のレップと比較します。
Duration が基準の1.25倍以上(遅くなった)、ROM が基準の0.85倍以下(浅くなった)、Sway が基準の1.5倍以上(乱れてきた)でそれぞれ加点し、合計2点以上で「疲労フラグ」が立ちます。1条件だけでは判定しない設計で誤検知を抑制。重い機械学習ランタイムを載せず、計算式と閾値で判定するからこそ、非力なエッジデバイス単体でも遅延なく動きます。
教師なし機械学習で「異常」と「転換点」を見つける
デバイスがリアルタイム判定を担う一方、ダッシュボード側ではより踏み込んだ分析を教師なし機械学習で行います。事前に正解データを用意しなくても、そのセッションのデータだけで動くのがポイントです。
- Isolation Forest:レップが5件以上たまると自動で動き、「他と明らかに違う動き」(外れ値レップ)を検出
- K-Means:全レップの Duration を速い/遅いグループに自動分類し、疲労の転換点(境界値)を推定
- 独自モデルの新規学習は行わず、scikit-learn の確立した手法をそのまま活用
技術スペック
- デバイス
- M5StickS3(ESP32-S3)+ BMI270(6軸IMU)
- サンプリング
- 50Hz / レップ検出・特徴抽出・疲労判定はデバイス上
- 通信
- BLE(Nordic UART)でリアルタイム送信
- 分析
- 教師なしML(Isolation Forest・K-Means / scikit-learn)
- ダッシュボード
- RepSight — ブラウザ版(Chart.js)/タブレット版(Flutter)
このデモのポイント
装着はワンタッチ
ダンベルにセンサーを付けるだけ。ケーブルレスで、装着したまま自然に運動できます。
質を数値化
可動域・テンポ・ブレをレップ単位で記録。「効いている1回」を客観的に把握できます。
疲労を自動検出
エッジAIが疲労による動きの崩れをリアルタイムに検出し、止めどきの判断を助けます。
活用イメージ
もっと詳しく
技術的な構成を詳しく読む(スポットライト)