読者です 読者をやめる 読者になる 読者になる

明日の研究者になりたい

中国地方の某大学院博士課程に進学が決まったブログ.

今日の成果①

昨日,結婚式に参加してきました.

今月2度目で懐がだんだんと寒くなってきていますが,何事もお金を理由に断るなんて野暮なことはしたくないです.そのためにも頑張らねば...

今回結婚した彼はなんと小,中,高専と一緒で完全な幼馴染でした(彼は途中で留年して,卒業は1年遅れましたが笑).一緒にスマブラしてた頃からもう10年以上経ったと思うと,自分も歳とったんだなーと感じました.

やっぱ結婚って良いですね.


 今年はしっかりアウトプットしてやるぞ!と意気込んでたものの,はてブロ更新する頻度がめっきり落ちてしまった(というかまだ3件目)ので,しばらくネタができるまでは自分への備忘録も兼ねて一日の成果を記録していくことにします.

論文読んだ

 今日は一本論文を読みました.

タイトルは『EMG-based analysis of change in muscle activity during simulated driving』.

※流し読みだったので,内容の間違いがあるかもしれません.

目的:ドライビングシミュレータ(というよりも,ゲーム用のハンドルコントローラ)の運転中において,疲労の度合いにプロとアマチュアの間に差はあるのか?

実験方法:ゲームやらせて,その筋電を計測(多分)

測定箇所:僧帽筋三角筋,橈側手根屈筋

データ解析:筋電をなんかごちゃごちゃして疲労の指標にした(ここら辺は信号処理を色々していたけど,自分としては欲しい話ではないので飛ばし読みした)

結果:三角筋のみ,アマチュアの方がプロより疲労が大きかった.

これは,プロは三角筋のトレーニングを行っているためである.

また,三角筋はステアリングを切る動作の主動となる筋でありこれらの結果から自動車の運転中における三角筋の重要性が確認された.

 

感想:論文の中で運転に使われる主な筋の参考文献があり,これが結構ありがたかった.自分もロジクールのハンコンで実験したいなと思うけど,どこまで信頼性があるのかが不明だからちょっと手が出せていない...

筋活動度計算の復習とPythonでの実装

いつかやろうやろうと思って取り掛かれなかったやつ.

手先位置と筋肉の関係は以下の様になっている.

      作業空間(手先変位)

逆運動学計算↓   ↑順運動学計算

      関節空間(関節角度,関節トルク)

逆動力学計算↓   ↑順動力学計算

      筋空間(力,筋活動度)

とりあえず今日は,順運動学計算,逆運動学計算,ヤコビアンを勉強した.

モデルとしては一般的な2関節(2自由度)モデル.

  • 順運動学計算

順運動学計算は,腕の長さ,関節角度が与えられたときの終端位置(手先位置)が求まる・

これは割と簡単に求まる.

f:id:bigface00:20170424233117p:plain

2関節モデルの図を描いた(サーフェイス素晴らしい).

ここで,x_1y_1

 

x_1 = l_1 \cos(\theta_1) + l_2 \cos(\theta_1+\theta_2) 

y_1 = l_1 \sin(\theta_1) + l_2 \sin(\theta_1+\theta_2) 

 

で求まる.

 

  • 逆運動学問題

逆運動学問題では終端位置(手先位置)x_1, y_1が与えられたときの\theta_1, \theta_2を求める.

これは難しかった.

三角関数の公式を駆使して導いていくんだけど,もうほとんど覚えてない.

加法定理,余弦定理,...etc. ああ,そんなんあったなぁ...

\theta_2は順運動学計算で求まったx_1y_1を二乗して足して三角関数を消していくと,

 

 \theta_1 = \cos^{-1} (\frac{x_1^2 + x_2^2 - (l_1^2 + l_2^2)}{2L_1 L_2})

が得られる.

 

θ1もさっきのx1とy1を使う.これらを加法定理によってまとめると

 

 x = l_1 \cos \theta_1 + l_2 (\cos \theta_1 \cos \theta_2 - \sin \theta_1 \sin \theta_2)

 y = l_1 \sin \theta_1 + l_2 (\sin \theta_1 \cos \theta_2 + \sin \theta_2 \cos \theta_1)

 

これらをきれいにすると,\cos \theta_1\sin \theta_1連立方程式ができる.で,解くと

 

\theta_1 = \tan^{-1} (\frac{y_1}{x_1}) - \tan^{-1} (\frac{l_2 \sin \theta_2}{l_1 + l_2 \cos \theta_2})

 

 になる.

ここらへんは時間あるときに解いてみないとなあ...

以上をPythonで実装して今日は終わった.

最近論文読んでばっかりだったので,こういう手を動かす作業は楽しい.


明日も頑張ります.

 

 

 

広告を非表示にする