複数パーツの合成重心と転倒限界をリアルタイム算出
「パーツを足したら重心がどこに移動するのか」「この配置で横転しないか」——ミニ四駆のセッティングや模型車両の設計で、こういった疑問にぶつかったことはないだろうか。
重心計算&転倒角度計算は、車両本体と搭載パーツの座標・重量を入力するだけで、合成重心位置(X, Y, Z)と前後荷重分配、さらに左右方向の転倒限界角を自動算出するブラウザツール。上面図と正面図の2つのSVGプレビューで、重心の偏りや転倒リスクを視覚的に把握できる。
なぜ重心計算&転倒角度計算を作ったのか
開発のきっかけ
ミニ四駆のレースで「コーナーで吹っ飛ぶ」問題に悩んでいた。バッテリーの位置を変えたりウェイトを貼ったりしても、勘と経験に頼るしかない。エクセルで重心計算シートを作ってみたものの、パーツを増やすたびにセル参照がぐちゃぐちゃになって、結局使わなくなった。
既存のオンライン重心計算ツールを5つほど試したが、どれも問題があった。ある一つは2D限定で高さ方向(Z軸)が考慮できない。別のツールは入力UIがスプレッドシート風で、スマホで使うと数値の入力欄が豆粒サイズになる。転倒角の計算まで一貫してやってくれるツールは見つからなかった。
「パーツを追加して重心を見る」だけじゃなくて「このセッティングで転倒しないか」まで一発でわかるツールが欲しい。そう思って作ったのがこのツール。
こだわった設計判断
- Simple/Advancedモード: 初心者はSimpleで最低限の入力だけで結果が出る。慣れたらAdvancedで左右重心オフセットや前後トレッド差まで指定できる
- SVGの2ビュー構成: 上面図でパーツ配置を俯瞰し、正面図で転倒角を直感的に理解できる。数値だけだとピンとこない転倒リスクも、ビジュアルなら一目瞭然
- プライバシー重視: すべてブラウザ内で完結する。設計データをサーバーに送信する必要がないので、公開前の試作データも安心して扱える
安全設計と輸送計画での活用
ミニ四駆のセッティング調整
レースでコーナリング安定性を上げたい。バッテリーやモーターの位置を変えたときに重心がどう動くか、転倒限界角がどう変わるかをシミュレーションできる。実際にパーツを組み替える前に数値で確認できるので、試行錯誤の回数を減らせる。
模型車両・RCカーの設計
RCカーやラジコントラックで、荷物を載せたときの前後荷重バランスを確認したい場面。荷物の重量と位置を入力すれば、前軸・後軸それぞれにどれだけ荷重がかかるかが即座にわかる。
物理の授業・学習
力のモーメントや重心の概念を学ぶ教材として。入力値を変えて結果がリアルタイムに変わる様子を観察すれば、教科書の数式が感覚的に理解できる。
簡易的な車両安定性評価
実車やフォークリフトなど、荷重条件が変わる場面での概算チェック。厳密な評価には専門ソフトが必要だが、「この荷物を載せたら大丈夫か」の目安をサッと確認するのに便利。
基本の使い方
たった3ステップで合成重心と転倒角が算出できる。
Step 1: 車両仕様を入力する
車両重量、前後配分(スライダーで直感的に設定)、前軸・後軸のX座標、トレッド幅、重心高さを入力する。デフォルト値はミニ四駆サイズになっているので、そのまま試すこともできる。
Step 2: パーツを追加する
「+ パーツを追加」ボタンで項目を増やし、各パーツの名称・座標(x, y, z)・重量を入力する。初めて使うなら「ミニ四駆プリセットを読み込む」ボタンで、Battery/Motor/Chassis/DriverDummyの4パーツを一括追加できる。
Step 3: 結果を確認する
入力と同時にリアルタイムで計算結果が更新される。合成重心の座標、前後荷重、転倒角と限界角がステータスカードに色分け表示される。SVGプレビューで上面図(パーツ配置)と正面図(転倒角の弧)を切り替えて確認しよう。
具体的な使用例(検証データ)
実際にツールで計算した結果を4ケース紹介する。各ケースの入力値と結果を照らし合わせて、ツールの動作を確認してほしい。
ケース1: ミニ四駆標準セッティング
バッテリー・モーター・シャーシ・ドライバーダミーの4パーツを標準位置に配置。
入力値:
- 車両重量: 1.0 kg, 前後配分: 50:50
- 前軸X: 0.5 m, 後軸X: -0.5 m, トレッド: 0.06 m, 重心高さ: 0.05 m
- プリセットパーツ4つ(Battery, Motor, Chassis, DriverDummy)
計算結果:
- 合成重心 X: 0.037 m(やや前寄り)
- 合成重心 Y: 0.001 m(ほぼ中央)
- 合成重心 Z: 0.032 m
- 転倒角 θ: 1.79°
- 転倒限界角: 43.15°
→ 解釈: 転倒角は限界角の約4%で、極めて安定した配置。左右の偏りがほぼないため、コーナリング時の転倒リスクは非常に低い。
ケース2: 偏荷重セッティング
バッテリーを右側に大きくオフセット(Y=0.02 m)して配置。
入力値:
- 上記と同じ車両仕様
- Battery の Y を 0.02 → 0.025 に変更
計算結果:
- 合成重心 Y: 0.002 m
- 転倒角 θ: 3.09°
- 転倒限界角: 43.15°
→ 解釈: Y方向の偏りが増えたことで転倒角が上昇。まだ安全範囲だが、偏りの影響が数値でわかる。
ケース3: 高重心セッティング
DriverDummyの高さ(Z)を0.4 mから0.8 mに引き上げた場合。
入力値:
- DriverDummy の Z を 0.4 → 0.8 に変更
計算結果:
- 合成重心 Z: 0.057 m
- 転倒限界角: 27.76°
→ 解釈: 重心が高くなることで限界角が大幅に低下。トレッド幅に対して重心高さが増した結果、転倒リスクが「注意」レベルに近づく。
ケース4: 大型車両(トラック想定)
実車スケールでの概算チェック。
入力値:
- 車両重量: 5000 kg, 前後配分: 40:60
- 前軸X: 3.5 m, 後軸X: 0 m, トレッド: 1.8 m, 重心高さ: 1.2 m
- 荷物パーツ: x=1.5, y=0.1, z=2.0, weight=2000 kg
計算結果:
- 合成重心 Z: 1.431 m
- 転倒角 θ: 1.96°
- 転倒限界角: 32.17°
→ 解釈: 荷物の高さが合成重心を押し上げ、限界角が32°まで低下。横風や旋回時に注意が必要な水準。
仕組み・アルゴリズム
採用しているアルゴリズム
重心の合成には**重み付き平均(加重平均)**を使用する。これは物理学の基本原理で、各質点の位置をその質量で重み付けして平均をとる方法。
参考: 重心 - Wikipedia
合成重心の各軸成分は以下のように計算される:
X_CG = Σ(xi × wi) / Σ(wi)
Y_CG = Σ(yi × wi) / Σ(wi)
Z_CG = Σ(zi × wi) / Σ(wi)
ここで xi, yi, zi は各パーツ(と車両本体)の座標、wi は重量。
転倒角の計算
転倒角は、重心の左右オフセット(Y_CG)と高さ(Z_CG)から三角関数で算出する:
θ = atan(|Y_CG| / Z_CG)
θ_limit = atan((トレッド幅/2) / Z_CG)
θ がθ_limitを超えると、重力の作用線がタイヤの接地点(支点)の外側に出るため、理論上は転倒する。
前後荷重の計算
前後荷重は、軸まわりのモーメント釣り合いから求める。後軸まわりのモーメント釣り合いで前軸荷重を、全重量との差分で後軸荷重を算出する。
なぜこの方式を選んだか
重み付き平均は数学的に厳密で、パーツ数が増えても計算量が線形にしか増えない。リアルタイム計算にもまったく問題がなく、ブラウザ上のJavaScriptで十分な精度と速度が得られる。
手計算やCAEとの違い
データを外部に送信しない
すべての計算はブラウザ内で完結する。サーバーにパーツ情報や設計データを送信しないので、公開前の試作データや企業の設計情報も安心して扱える。localStorageへの保存もブラウザ内に閉じている。
2つのSVGビューで直感的に把握
上面図でパーツの配置と合成重心の位置を俯瞰し、正面図でトレッド幅に対する重心高さと転倒角を視覚的に確認できる。数値だけではわかりにくい「どれくらい危険か」が、色分けされた弧で一目瞭然。転倒超過時には赤いパルスアニメーションで注意を促す。
Simple/Advancedモードの切替
Simpleモードでは最低限の入力項目だけを表示し、初心者でも迷わない。Advancedモードに切り替えると、前後トレッド差・左右重心オフセット・各パーツのZ座標(高さ)まで細かく指定できる。
知っておくと便利な重心と安定性の豆知識
重心高さとコーナリング限界の関係
レーシングカーが車高を極限まで下げるのは、重心を下げて転倒限界角を大きくするため。F1マシンの重心高さは地上からわずか30cm程度。トレッド幅が1.8mのF1マシンでは、理論上の転倒限界角は約72°になり、実質的に横転はあり得ない。
ミニ四駆の重心調整テクニック
ミニ四駆のレースでは、マスダンパー(錘)を低い位置に取り付けて重心を下げるのが定番テクニック。ただし重くしすぎるとモーターへの負荷が増えて直線速度が落ちる。このツールで重心位置と転倒角の変化をシミュレーションすれば、速度と安定性のバランスを数値で判断できる。
参考: ミニ四駆公式サイト - タミヤ
静的安定性と動的安定性の違い
このツールが計算するのは「静的な転倒角」。実際の走行では遠心力や路面の凹凸が加わるため、動的な安定性は静的な値よりも厳しくなる。一般的に、動的な安全マージンとして静的限界角の60-70%以内に収めるのが目安とされる。
使い方のコツ・Tips
パーツの座標系を統一する
X軸は前方が正、Y軸は右方が正、Z軸は上方が正で統一されている。実際の車両で測るときは、基準点(たとえば車体中心の地面接地点)を決めて、そこからの相対座標をメジャーで測ると間違いが少ない。
まずプリセットで全体像をつかむ
初めて使うときは「ミニ四駆プリセット」を読み込んで、各値を変えたときに結果がどう変わるかを試してみて。重心の移動とSVGの変化がリアルタイムで連動するので、感覚がつかみやすい。
保存機能を活用する
複数のセッティング案を比較するときは、パターンAを入力→保存、リセット→パターンBを入力→結果をコピー、読み込み→パターンAの結果と比較、という流れが便利。
Q&A
Q: データはどこに保存される?
すべてブラウザ内のlocalStorageに保存される。サーバーにデータは送信されないし、ブラウザのキャッシュをクリアしない限りデータは残る。
Q: 単位はメートル固定?ミリメートルは使える?
現在の内部単位はメートル(m)。ミリメートルで入力したい場合は、値を1000で割って入力すればOK(例: 60mm → 0.06 m)。
Q: 転倒角が0°と表示されるのはなぜ?
合成重心のY座標(左右方向)が0のとき、転倒角は0°になる。左右の偏りがなければ転倒角は発生しない。Advancedモードで車両重心Yやパーツの位置を調整すると変化する。
まとめ
重心計算&転倒角度計算は、パーツの座標と重量を入力するだけで合成重心と転倒限界角が一発でわかるツール。
2つのSVGビューで重心の偏りと転倒リスクを直感的に把握でき、ミニ四駆のセッティング調整から教育用途まで幅広く活用できる。
機械設計に関心がある人は梁の安全審判員で曲げ応力やたわみの計算も試してみて。断面性能の計算なら鋼材断面のコンシェルジュが便利。
不具合や要望があれば、お問い合わせページから気軽に教えて。