0
2014 年度
卒業論文
バッティングシミュレーター
東北学院大学 工学部 機械知能工学科 長島研究室
1141228 牧野 健大
1
目次
第1 章 序論 --- 2 第 2 章 理論 --- 32.1 スウィング動作の位置設定について --- 3 2.2 リリース時の腕の位置 の算出手順 --- 4 2.3 速度ベクトル の算出手順 --- 5 2.4 運動方程式 --- 6
2.5 揚力係数について --- 7 2.6 抗力係数について --- 8 2.7 回転軸について --- 9
2.8 回転軸座標と物理座標の合成
--- 10
2.9 ボールに生じる揚力の算出手順 --- 14 2.10 バッターの立ち位置およびバッティング面の設定 --- 16
2.11 Available Hitting Zone --- 17
2.12 バットの軸の三次元空間座標とのなす角度 --- 18 2.13 バッティング面におけるインパクト位置の周方向角度の定義 --- 19 2.14 ほう線方向ベクトル n の算出 --- 20 2.15 ベクトルの座標定義 --- 24 2.16 打球の初期速度ベクトルの算出 --- 25 2.17 打球の絶対速度ベクトルの算出 --- 26 第 3 章 シミュレーションソフトの説明 --- 27 3.1 ユーザーインターフェイス --- 27 3.2 視点位置、高さ、効果音の設定、ピッチングの実行 --- 28 3.3 Google Map --- 29 3.4 ピッチング動作の設定 --- 30 3.5 球種の設定 --- 31 3.6 バッティング動作の設定 --- 32 3.7 各種の設定 --- 33 3.8 人物の色の設定 --- 34 3.9 Google Earth --- 35 3.10 シミュレーション実行例 --- 36 第 4 章 結論 --- 37
2
第1章 序論
今日、様々な野球のゲームが存在する。しかし、それらは物理的条件(球速・回転数・投げる方向・ リリースポイントなど)を設定してシミュレートすることができない。また、ボールの飛跡を好きな位 置、角度から見ることもできない。 本研究では、詳細な物理的条件を設定して、更に投球及び打球の飛跡を Google Earth 上で 3D 表示 するシミュレーターを作成した。3
第2章 理論
2.1 スウィング動作の位置設定について
東方向をX 軸とする。その時腕の先端の初期位置は A となる。その際腕と X 軸のなす水平面上の角度 は𝜃ℎとなる。 またSurface A はピッチャーの肩の高さの水平面である。Surface B は腕のスウィング面になる。その ためSurface A と Surface B のなす角度𝜃𝑣はスウィング面角度になる。次に腕のスウィングが開始され てからボールを投げるまでの角度を𝜃𝑠とする。よってボールは図の A から B まで腕をスウィングした のち、ボールが手から離れ飛んでいく。 なお、L は腕の長さとなっている。4
2.2 リリース時の腕の位置
X
0,
Y
0,
Z
0
の算出手順
A は腕の初期位置
A
x,
A
y,
A
z
L
cos
scos
h,
L
cos
ssin
h,
0
A
B はz軸を考えない場合の腕のスウィング位置
,
0
2
sin
cos
sin
,
2
cos
cos
sin
,
,
y c x
s
V
h
y
s
V
h
xB
B
A
L
A
L
B
B
C はz軸も考えた場合の腕のスウィング位置
C
,
C
,
C
B
,
B
,
L
sin
sin
X
0,
Y
0,
Z
0
C
x y z
x y
s
V
θh θV X θs Z Y L A B C5
2.3 速度ベクトル
V
x,
V
y,
V
z
の算出手順
XY
面上の腕の初期位置を示すベクトルD
は
D
x,
D
y,
D
z
L
cos
h,
L
sin
h,
0
D
スイング面に直角なベクトルE
E
x,
E
y,
E
z
はベクトルC
とD
の外積により、D
C
E
スイング面上のベクトルC
に直角なベクトルF
F
x,
F
y,
F
z
はベクトルC
とE
の外積により、E
C
F
であるが、ベクトルF
は速度ベクトルと同じ方向であるので、速度ベクトルV
V
x,
V
y,
V
z
は
,
,
0,
0,
V
0F
F
V
F
F
V
F
F
V
V
V
V
x y z z y x ただし、F
F
x2
F
y2
F
z2 、初期速度は腕の角速度と腕の長さの積でV
0
L
参考 ベクトルA
A
x,
A
y,
A
z
とベクトルB
B
x,
B
y,
B
z
の外積は
A
yB
zA
xB
yA
zB
xA
xB
zA
xB
yA
yB
x
B
A
,
,
シンカーをリリースした時の腕の位置
X
0,
Y
0,
Z
0
の算出手順 θ h θ V X θs Z Y L A B C D E F F6
2.4 運動方程式
運動方程式より𝑓
𝑥=m
𝑑𝑣𝑥 𝑑𝑡, 𝑓
𝑦=m
𝑑𝑣𝑦 𝑑𝑡, 𝑓
𝑧=m
𝑑𝑣𝑧 𝑑𝑡ボールに対する相対速度を
(𝑣
𝑟𝑥, 𝑣
𝑟𝑦, 𝑣
𝑟𝑧)
𝑣
𝑟=√𝑣
𝑟𝑥2+ 𝑣
𝑟𝑦2+ 𝑣
𝑟𝑧2 とすると、𝜃
ℎ=tan
−1 𝑣𝑟𝑦 𝑣𝑟𝑥𝜃
ℎ=tan
−1 𝑣𝑟 √𝑣𝑟𝑥2+𝑣𝑟𝑦2となるためボールに働く力は
𝑓
𝑥=(Dcos 𝜃
𝑣- Lsin 𝜃
𝑣)cos 𝜃
ℎ𝑓
𝑦=(Dcos 𝜃
𝑣- Lsin 𝜃
𝑣)sin 𝜃
ℎ𝑓
𝑧=Dsin 𝜃
𝑣- Lcos 𝜃
𝑣-mg
となる。7
2.5 揚力係数について
ボールの揚力係数に関しては、「硬式野球ボールに働く空気力の測定」 (谷口他 3 名、ながれ 25(2006),257-264)を参考にし、以下のように設定した。 𝐶𝐿=-0.375𝑆𝑃2+0.961𝑆𝑃 𝑆𝑃 =𝜋𝑑𝑛 60𝑉 (n は回転数(r.p.m))8
2.6 抗力係数について
野球ボールの回転に対する抗力係数については、レイノルズ数やボールの回転時の縫い目の方向など にも依存し、正確に特定されたデータを得ることが困難だったため、テニスボールのものを参考に以 下のように設定した。(参考文献:「A Study of Spin Effects on Tennis Ball Aerodynamics」(Firoz Alam 他 4 名,Vol3,pp271-278,2008))
𝐶𝑑=4.05𝑆𝑃2+2.55𝑒−1SP+1.0
SP=𝜔𝑅
9
2.7 回転軸について
揚力、抗力といってもボールの回転軸によって違いが出てくる。 従って、ボールの回転軸を決定しなければならない。 よって、本研究ではボールの回転軸を以下のように設定した。 ボールの初速度ベクトルの方向に ξ 軸があり、η 軸、ζ 軸もそれに沿って定義されている座標(ξ, η,ζ)がある。 赤い線がボールの回転軸になる。ストレートならば回転軸の傾きが 0°、スライダーの場合 45°、カ ーブの場合 90°、縦カーブの場合 180°、シンカーの場合 200°、シュートの場合 135°と設定した。 ボールの回転軸R
⃗⃗ =( R
x, R
y, R
z)
なお、これらは全て右投げの場合の回転軸についてである。ストレート
スライダー
カーブ
縦カーブ
シンカー
シュート
0° 45° 90° 180° 200° 135° ξ ζ η ξ ξ ξ ξ ξ ζ ζ ζ ζ ζ η η η η η Rx=0 Ry=cos45° Rz=cos45° Rx=0 Ry=0 Rz=1 Rx=0 Ry=1 Rz=0 Rx=0 Ry=-cos20° Rz=-cos70° Rx=0 Ry=cos45° Rz=-cos45° Rx=0 Ry=-1 Rz=010
2.8 回転軸座標と物理座標との合成
ボールの回転軸といっても、投球方法により回転軸に違いが出てくる。 そこで、本研究では腕の振りを設定する物理座標系(X,Y,Z)と、ボールの回転軸を設定する座標系(ξ, η,ζ)の合成を行い、投球方法による回転軸の違いを設定した。 その手順を以下に示す。 上図の通り、回転軸を設定する座標系(ξ,η,ζ) と物理座標系(X,Y,Z) が一致しているときは、物理座標における回転ベクトルは設定した回転ベクトルである。 (ξ1,η1,ζ1) X 軸は東方向とする。ξ
ζ
η
X
Z
Y
11 これをXZ 面で 90-θs(deg)回転させると、 ξ2 = rotation_x(ξ1,ζ1,θr) η2 = η1 ζ2 = rotation_y(ξ1,ζ1,θr) θr = 90-θs となる。
ξ
ζ
η
Z
X
Y
θs
θr
12 更に、YZ 面で回転させると、 ξ3 = ξ2 η3 = rotation_x(η2,ζ2,θr) ζ3 = rotation_y(η2,ζ2,θr) θr = -(90-θv) となる。
Z
X
Y
ξ
ζ
η
θs
θr
θv
13 最後に、XY 面で回転すれば、物理座標系における回転軸ベクトルを算出することができる。 そのXY 面の回転をすると、 ξ4 = rotation_x(ξ3,η3,θr) η4 = rotation_y(ξ3,η3,θr) ζ4=ζ3 θr = -(180-θh) よって、投球する際の腕の振りの設定とボールの回転軸の設定、2つの設定によりボールは様々な 回転をするようになる。 腕
14
2.9 ボールに生じる揚力の算出手順
実際のボールに働く力はとても複雑なため、本研究では𝑓
𝑥=Dcos 𝜃
𝑣cos 𝜃
ℎ+L
x𝑓
𝑦=Dcos 𝜃
𝑣sin 𝜃
ℎ+L
y𝑓
𝑧=Dsin 𝜃
𝑣-mg+ L
z という形でボールに働く力を設定した。(L
x, L
y, L
z)
の計算手順を以下に示す。 ボールの回転軸はR
⃗⃗ =( R
x, R
y, R
z)
ボールに対する相対風速をV
r⃗⃗⃗⃗⃗⃗ =(V
rx, V
ry, V
rz)
ボールの回転軸R⃗⃗ と相対風速V⃗⃗⃗ のなす角を r θとすると ベクトルの内積よりcosθ=
(V⃗⃗⃗⃗ ・Rr ⃗⃗ ) |V⃗⃗⃗⃗ ||Rr ⃗⃗ | ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ 次に、a⃗ は15 である。 回転軸に対して垂直なベクトルb⃗ は
b
⃗ = V
⃗⃗⃗⃗⃗⃗ − a⃗ =(V
r rx− a
x, V
ry− a
y,V
rz− a
z,)
となり ボールに生じる横力係数 c はc =
V⃗⃗⃗⃗ ×Rr ⃗⃗ |V⃗⃗⃗⃗ ||Rr ⃗⃗ | ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗= (c
x, c
y, c
z)
となる。 ボールに生じる揚力は|L
⃗ |=C
L 1 2ρ|b
⃗ |
2A
よりL
⃗ =(L
x, L
y, L
z)=(|L⃗ |c
x, |L
⃗ |c
y, |L
⃗ |c
z)
となる。 本研究では以上のことにより、ピッチャーの投球を再現した。16
2.10 バッターの立ち位置およびバッティング面の設定
図のように、 、⊿
y
、IP を設定します(ユーザーインターフェイスより)。 すると、投球されたボールの飛跡より、インパクトポイントの水平面上の位置(Lx、Ly、IP:次ペー ジを参照)、およびインパクト位置の高さ IH が求まる。x
⊿
IP Δx Δy IH(Impact17
2.11
Available Hitting Zone
有効な打撃範囲を示す。バットにボールが当たった位置からホームベースの前面までなす距離を IP、 バットにボールが当たった位置から垂直に地面に降ろした箇所からバッターの体の中心軸までなす距 離を図のように Lx、Ly、中心軸からの高さを Lz と定義する。Available Hitting Zone 外に投球され た場合は打撃を行わない。 IP Lx Ly IH(Impact Height) (10 , 45 , 40) (-70 , 45 , 40) (10 , 105 , 40) (-70 , 105 , 40) (-70 , 105 , 160) (-70 , 45 , 160) (10, 45 , 160) (10 , 105 , 160)
(Lx , Ly , IH)=(10 ⇔ -70 , 45 ⇔ 105 , 40 ⇔ 160
) Lx Ly Lz18
2.12
バットの軸の三次元空間座標とのなす角度
右の図はバットにボールが当たった瞬間である。そのときのバットの軸を体の中心軸の原点に平行移 動する。Lx とのなす水平面内の角度をα、Lz とのなす垂直面内の角度をβと定義する。 Lx Ly Lz 平行移動I
n
β
Lx
Ly
Lz
α
θ
バットの軸
19
2.13
バッティング面におけるインパクト位置の周方向角
度の定義
実際のバッティングにおいて、バット断面の周方向のどの位置でインパクトをするかによって、打球の 方向が変わる。 図に示すように、バット断面における鉛直上方からのインパクト位置までの周方向角度をθと定義する。20
2.14 ほう線方向ベクトル
n の算出
さて、これまでα、β、θの3 つを求めたことにより打球のほう線ベクトル n が求まる。 以下に算出手順を示す。I
n
β
Lx
Ly
Lz
α
θ
バットの軸
21
I がx
L軸上にあるとき
nx1=0
ny1=sinθ
nz1=cosθ
z
L
x
L
y
L
θ
n
122
x
z面上でn
1を角度β回転させたとき
nx2=rotation_x(nx1,nz1,β)
ny2=ny1
nz2=rotation_y(nx1,nz1,β)
n1z
L
x
L
y
L
θ
β
23
x
y面上でn
2を角度α回転させたとき
nx=rotation_x(nx2,ny2,α)
ny=rotation_y(nx2,ny2,α)
nz=nz2
以上の式からほう線ベクトル
n を導き出す。
n
2
y
L
z
L
x
L
α
n
2
24
2.15 ベクトルの座標定義
打球の初速度ベクトルを計算するにあたって、投球及び打球の運動解析を行うための座標の定義を行う 必要がある。 基本的に運動解析はピッチャーを原点とし、東をXG、北を YG とした座標 G を用いて行う。実際には、 楽天koboスタジアム宮城においては、図に示すようにピッチャーからキャッチャーに向かう方向を XL、 それに直角な方向をYL とする座標 L を利用し、座標 G と座標 L の間の変換を適宜行う。以下、使用 する座標を示すために、ベクトルはAG、AL などと表記する。 XG(East) YG(North) XL YL θkobo
25
2.16 打球の初期速度ベクトルの算出
インパクト時の投球の絶対速度ベクトル
C
AG ⇒(座標変換)⇒ 絶対速度ベクトルC
AL バットに対する投球の相対速度ベクトルの計算C
RL
C
AL
C
batL(
C
batLは後述
)
法線ベクトルの鏡像ベクトルとして、打球の相対速度ベクトルD
RLを計算 打球の絶対速度ベクトルD
ALを計算D
AL=D
RL
C
batL 打球の絶対速度ベクトルD
AGの計算D
AL ⇒(座標変換)⇒ 絶対速度ベクトルD
AG26
2.17 打球の絶対速度ベクトルの算出
2 つの水色の楕円は両足を示す。楕円間にあるバツ印は体の重心を示す。xL軸がピッチャーからキャッ チャー方向を示す。yL軸がピッチャーから直角な一塁方向を示す。E は体の重心の移動距離を示す。黒 丸で示したのが打点位置を示す。tan 𝜃 =
x + e
y
→ 𝜃
打点位置のバットの速度ベクトルはB⃗⃗ = (−v cos 𝜃 , vsinθ, 0) この式からバットの速度ベクトルを導き出す。 batLC
は、インパクト時にインパクト位置が、身体の中心を中心として、水平面内で回転運動をしている ものとして算出する。また、バットがボールに当たる瞬間の打球の速度ベクトルにおける上下成分は研 究の都合上無いものと定義した。θ
θ
x
L
e
y
L
(x
L
, y
L
)
Lx Ly Lx Ly LzB
⃗⃗
27
第 3 章 シミュレーションソフトの説明
3.1 ユーザーインターフェイス
① 視点位置の設定、視点の高さ、ピッチング及びバッティングの実行、効果音の設定 ② Google Map(任意の位置をクリックすることで、視点位置を変更可能) ③ 投球動作の設定 ④ 打撃動作の設定 ⑤ 風速、風向の設定 ⑥ 人物の色の選択、標高の表示 ⑦ Google Earth(投球及び打球の結果を表示) ③ ① ② ⑤ ④ ⑥ ⑦28
3.2 視点位置、高さ、効果音の設定、ピッチングの実行
視点位置設定:アニメーションを実行する際の視点の位置を設定する。 視点高さの変更:視点の高さを任意の高さに変更する。 Set ボタン:PITCHING 前に行う準備動作。 PITCHING ボタン:ピッチング及びバッティングの実行。 効果音の切り替え:効果音のオン・オフを選択する。 効果音について 効果音をオンにした場合、シミュレーションを実行した際に、音が鳴る。 また、シミュレーター上に3次元的なストライクゾーンが設置してあり、そのストライクゾーンを通過 するとストライク、通過しないとボールといった音が鳴るため、投球したボールがストライクかボール かの判定が可能になった。29
3.3 Google Map
Google Map:視点位置をクリックすることで選択できる。
選択した位置に黄色のピンがドロップされ、腕の初期位置が赤線、シミュレーションを実行したときの 投球の軌道である黄線、打球の軌道である白線が表示される。
30
3.4 ピッチング動作の設定
𝜃𝑣:スウィング面の角度(投球フォーム) 𝜃ℎ:体の向いている方向 𝜃𝑠:スウィングを開始してから、ボールを放すまでのスウィング角度 𝑉𝑠:ボールの球速 Rot:ボールの回転数 S:ボールの種類 L:腕の長さ hf:ピッチャーの肩の位置の高さ31
3.5 球種の選択
球種について 球種はストレート、スライダー、カーブ、縦カーブ、縦スライダー、シンカー、シュートがあり、右利 きと左利きとで分けられている。 ()内にプロ野球選手の名前が入っているものは、その選手の変化球を再現したもので、選択し Set ボタ ンを押すと、投球フォーム、球速、ボールの回転数、腕の長さ、ピッチャーの肩の高さが自動で設定さ れるようになっている。32
3.6 バッティング動作設定
𝜃:打点位置のバット断面における周方向角度 Vb:ヘッドスピード ⊿X:バッターの立ち位置 ⊿y:バッターの立ち位置 IP:バッティング面(ホームベース前面から打擊点までなす距離)33
3.7 各種の設定
𝑉𝑊:風速を入力して決定する。
34
3.8 人物の色の設定
人物の色:プルダウン(30 色)から選択可能。 不透明度:人物の不透明度をプルダウン(100%、80%、60%、40%、20%、0%)から選択可能。 標高:サーバー位置の標高を表示する。35
3.9 Google Earth
Google Earth:投球と打球の飛跡を表示する。また自由に視点を動かせるので様々な視点でボールの飛 跡を見る事が出来る。 視点例36
3.10 シミュレーション実行例
打点位置の周方向角度を10°変化させた例 バッティング面を10cm 変化させた例37
第 4 章 結論
本シミュレーションを用いることで、楽天 kobo スタジアム宮城において物理的条件を設定して、投 球及び打球の飛跡を 3D 表示でシミュレーションすることが可能である。さらに、シミュレーター上に 3 次元的なストライクゾーンを設置したため、投球したボールがストライクかボールか判定をすることが できる。そのため、バッターボックスからボールの飛跡を見ることで、ボールを選球するイメージを高 めることができる。また、打者の視点から、苦手なコースに投球してもらい、物理的条件によって違う 打球の飛跡を見ることで技術的向上が期待できる。なお、今回開発したシミュレーターは Web 上で実行す ることができる。URL 及びプロモーション動画は以下に示す。 http://www.mech.tohoku-gakuin.ac.jp/nken/labo2014/batting2014/batting2014.html https://www.youtube.com/watch?v=Id1jvpM2WHU&feature=youtu.be 参考文献・A Study of Spin Effects on Tennis Ball Aerodynamics
URL: http://www.wseas.us/e-library/transactions/fluid/2008/MGR-09.pdf
・Measurement of Aerodynamic Forces Exerted on a Hard Baseball