車の重心計算機
後部を0.25 m持ち上げたとき前輪の荷重が4000から4140に増えれば、車の重心は地面から0.5 mの高さにあります。ホイールベース、トレッド、6つの計量値を入力すると、3方向の位置が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- ホイールベース
- 2.5
- フロントトレッド
- 1.6
- リアトレッド
- 1.6
- 前左
- 4,000
- 前右
- 4,000
- 後左
- 3,000
- 総荷重
- 14,000
- フロント軸荷重
- 8,000
- リア軸荷重
- 6,000
- 前後方向
- 1.4285714286
この車の重心計算機は、軸のトレッド、ホイールベース、水平な地面での四輪荷重、そして後軸を既知の高さだけ持ち上げたあとの前輪の再計量から、四輪車の三次元重心座標を報告します。前後位置は後軸から重心までの荷重加重距離です。左右位置は車体中心線からの荷重加重ずれで、前後トレッドをモーメントアームに使います。上下位置は SAE の後上げの関係を使い、傾斜角 θ は持ち上げ高さのホイールベースに対するアークタンジェントです。
車の重心とは何か、トレッドと輪重が位置を決める仕組み
車の重心は、静力学および一次のピッチとロールにおいて、車両の全重量を一つの集中力として扱える一意の点です。水平な地面では四つのホイールスケールが各タイヤ下の荷重を読み取り、接地面の位置が分かれば、その四つの数値だけで地面平面内の重心が決まります。
原点を地面、後軸の中心線上に置き、x はフロントバンパーへ前向き、y は左ハンドル配置で運転者の右側、z は上向きとします。そのとき前軸は x がホイールベース L、後軸は x が零、前輪はフロントトレッドの半分の正負、後輪はリアトレッドの半分の正負にあります。
左右の荷重が等しい完全に対称な車はしたがって y が零になり、右側が重い車は正の左右座標を返します。この二つの恒等式は水平面上の剛体車両に対して厳密で、持ち上げ計測は不要であり、車高にも依存しません。失敗するのは W が零のときだけです。
どの座標も荷重加重平均であり、零除算は定義されないからです。長さはメートルです。 荷重はニュートンでもキログラム重でも構いませんが、すべての荷重が同じ単位である必要があります。比の中で単位は打ち消されるからです。
後軸を持ち上げる計測が上下座標を与える理由
水平な輪重だけでは高さは決まりません。平面上の四つの接地面は、その平面の上に質量がどれだけ乗っているかを教えません。SAE の作業場法では、前輪をスケールに残したまま車の後部を既知の高さ h だけ持ち上げ、前軸を再び読みます。
後部を上げるとシャシは角 θ だけ傾き、その正接は h をホイールベース L で割った値なので、θ は h 対 L のアークタンジェントです。荷重は前方へ移り、前軸荷重の変化 ΔW_f とその角から、接地面より上の重心高さが決まります。z は ΔW_f に L を掛け、(W に tan θ を掛けた値) で割ったものです。
h と持ち上げ後の前輪荷重を、14000 単位の車で ΔW_f が 280 力単位、L が 2.5 メートル、h が 0.25 メートルになるように選ぶと、tan θ は 0.1 で z は半メートルになります。乗用車としてよくある値です。持ち上げは零より大きくなければなりません。
そうでなければ tan θ が消え、高さの恒等式が零除算になります。後部を上げると前軸荷重は増えなければなりません。水平計測と同じ荷重単位を使ってください。
計算機はタイヤ半径を別に足しません。z は接地面の平面、つまりスケールが載っている平面からの重心高さです。ブロック、ランプ、専用の CG 治具は、h が後側接地面の鉛直上昇であり、L が水平計量時に使った軸間の水平間隔である限り、いずれも有効です。
入力契約、誤り、単位、そして CG 数値が属する場所
L、Tf、Tr、FL、FR、RL、RR、h などの別名を受け付けるので、表計算や型付きフォームが同じ契約を再利用できます。長さは真に正でなければなりません。荷重は負であってはなりません。
水平な四荷重の和が零なら、どの座標も零除算になるため、ハンドラは総荷重が零であるというメッセージで要求を拒否します。その失敗は課金されません。レースエンジニアは三つの座標を、バラストの配置、左右のウェッジ比較、車高変更が重心を動かしていないかの確認に使います。
車両力学の授業は、スケールシートに対する最初の数値確認として同じ恒等式を使います。このページはサスペンション運動学のソルバーでも、ロールセンター計算機でもなく、規則が試験所証明書を求めるときの認定 CG 治具の代わりでもありません。このページでは作業はすべてブラウザ内で走ります。
活用例
市販車やレーシングカーを四輪スケールで計量する
四枚のスケールパッドと測定したリアリフトを前後・左右・上下の CG 座標に変え、バラストと車高を同じミリメートル尺度で比べます。
車両力学の宿題と実験
トレッド、ホイールベース、水平プラス持ち上げの荷重表が与えられた四輪車の重心位置を求める学生の答案を確認します。
フリートと試作のスケールシート用フィクスチャ
作業場の計量票や継続的インテグレーションのフィクスチャから決定的な CG 列を作り、SAE の後上げの恒等式をサービスごとに再実装しません。
よくある質問
車の重心計算機はどの座標系を使いますか?
原点は地面、後軸の中心線上にあります。前後の x は後軸から前方へのメートル、左右の y は車体中心線の右へのメートル、上下の z は接地面より上のメートルです。
なぜ車の後部を持ち上げる必要があるのですか?
水平な四輪荷重は地面平面内の重心しか決めません。高さには二回目の計測が必要です。既知の h で後部を上げ、前軸を再計量し、θ = atan(h/L) として z = ΔW_f·L / (W·tan θ) を適用します。
四つの輪重の和が零だとどうなりますか?
検証失敗は課金されません。水平な輪重の少なくとも一つは真に正でなければなりません。
長さと荷重にはどの単位を送るべきですか?
ホイールベース、トレッド、持ち上げ高さはメートルで送ってください。荷重単位は比の中で打ち消されるので、混ぜることが避けるべき誤りです。
後部を持ち上げたら前輪の荷重が減った場合はどうなりますか?
計算を受け付けません。後部を上げると荷重は前軸へ移るはずで、減ると重心が地面より下になってしまいます。そのため、負の高さを示さずに入力を受け付けない仕組みです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/phys/car-mass-center \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"wheelbase":2.5,"front_track":1.6,"rear_track":1.6,"front_left":4000,"front_right":4000,"rear_left":3000,"rear_right":3000,"raise_height":0.25,"raised_front_left":4140,"raised_front_right":4140}'const res = await fetch("https://api.kit.forhosting.com/phys/car-mass-center", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"wheelbase": 2.5,
"front_track": 1.6,
"rear_track": 1.6,
"front_left": 4000,
"front_right": 4000,
"rear_left": 3000,
"rear_right": 3000,
"raise_height": 0.25,
"raised_front_left": 4140,
"raised_front_right": 4140
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/car-mass-center",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"wheelbase": 2.5,
"front_track": 1.6,
"rear_track": 1.6,
"front_left": 4000,
"front_right": 4000,
"rear_left": 3000,
"rear_right": 3000,
"raise_height": 0.25,
"raised_front_left": 4140,
"raised_front_right": 4140
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/car-mass-center", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"wheelbase":2.5,"front_track":1.6,"rear_track":1.6,"front_left":4000,"front_right":4000,"rear_left":3000,"rear_right":3000,"raise_height":0.25,"raised_front_left":4140,"raised_front_right":4140}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"wheelbase":2.5,"front_track":1.6,"rear_track":1.6,"front_left":4000,"front_right":4000,"rear_left":3000,"rear_right":3000,"raise_height":0.25,"raised_front_left":4140,"raised_front_right":4140}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/car-mass-center", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"wheelbase": 2.5,
"front_track": 1.6,
"rear_track": 1.6,
"front_left": 4000,
"front_right": 4000,
"rear_left": 3000,
"rear_right": 3000,
"raise_height": 0.25,
"raised_front_left": 4140,
"raised_front_right": 4140
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.car_mass_center",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
合計荷重が零のときは、どの座標も四輪荷重の和で割るため invalid_input で拒否します。
車の重心とは何か、トレッドと輪重が位置を決める仕組み
前後座標は軸荷重の一次モーメントで、x は L に (front_left 足す front_right) を掛けて総荷重 W で割った値です。左右座標は各トレッドをその軸のモーメントアームに使い、y は (front_right 引く front_left) に front_track の半分を掛けたものと (rear_right 引く rear_left) に rear_track の半分を掛けたものの和を W で割ります。
後軸を持ち上げる計測が上下座標を与える理由
減少は地面より下の重心を意味し、この計算機は負の高さを出す代わりに invalid_input で拒否します。
入力契約、誤り、単位、そして CG 数値が属する場所
POST で JSON 本体を送り、必須の有限な十個の数を含めます。メートルの wheelbase、front_track、rear_track、raise_height、水平な四輪荷重 front_left、front_right、rear_left、rear_right、および持ち上げ後の前輪荷重 raised_front_left と raised_front_right を、一つの一貫した荷重単位で送ります。各フィールドは JSON 数でも厳密な十進文字列でもよく、科学的記数法を含みます。十六進プレフィックス、埋め込み空白、空文字列はフィールド名を付けた invalid_input で失敗します。成功時、本体は十個の入力をエコーし、total_load と二つの軸合計を報告し、メートルの longitudinal、lateral、vertical に加え、ラジアンの傾斜角、公式文字列、メソッドタグ sae_raised_rear_wheel_loads を返します。API では成功した照会ごとに $0.002 で、invalid_input は課金されず、応答の後に何も保存されません。
技術的な質問
車の重心計算機の料金はいくらですか。
ブラウザのツールは無料です。API 要求は成功した呼び出しごとに $0.002 の前払い KIT 残高を使い、無効な入力は課金されません。