重量物の牽引を、
シミュレーションで確かめる。
危ないことほど、現場より先に試しておきたい。1.5tを積んだハンドリフトをAGVで牽引したとき、どこに限界があるのか——NVIDIA Isaac Sim上で数値として確かめた記録です。
1.5tが坂を滑り落ちたら、止められない。
安全に運用するには、先に限界を知っておく必要がある。
倉庫のハンドパレットトラックを、人ではなくAGVに引かせる。省人化の方向としては自然だ。
ただ、牽引は単独走行とは危険の質が違う。
引かれる側は自走しない。ブレーキも持たない。坂の途中でAGVのグリップが切れれば、1.5tの台車が下へ動き出す。カーブで勢いがつけば、台車のほうが外へ振られる。連結部には、車体重量の何倍もの力が繰り返しかかる。
事故が起きてから「想定より滑りやすかった」と判明しても、対策としては手遅れになる。
何度の坂まで登れるのか。どこでグリップを失うのか。濡れた路面ではどうなるのか。積載を増やしたら何が起きるのか。限界が分かっていれば、その手前で運用を設計できる。
しかし、検証環境を整えること自体が障壁になる。
限界を把握するには検証が必要になる。しかし実施にあたっては、いくつかの制約がある。
グリップを失う条件を知りたいなら、実際に失わせるしかない。連結部の限界を知りたいなら、限界まで引くしかない。人員にも設備にも損傷の可能性がある検証を反復することは、現実的ではない。
検証用のAGVを一台製作するだけでも、設計・調達・組立に相応の期間を要する。さらに「何kgの車体が適切か」を確認するために試作するにもかかわらず、試作には先に重量の決定が必要になる。検討の順序が循環してしまう。
3度の勾配、6度の勾配、湿潤状態のアスファルト。検証のためだけに実際の斜路を造成することはできない。既存施設を長時間占有して試験を行うことも、通常は容認されにくい。
結果として十分な裏付けのないまま計画が進み、現場で問題が顕在化してから対処する形になりやすい。
準備が課題なら、仮想空間に用意する。
NVIDIA Isaac Sim を使うと、この準備の壁を下げられる。
施設を3Dスキャンし、点群からメッシュを起こしてデジタルツイン化する。図面がなくても、現況のまま取り込める。床の凹凸も、通路の幅も、壁やシャッターの位置も実測値のままだ。そこに任意の勾配のスロープを置いて、何度でも条件を変えられる。
車体重量、ホイールベース、車輪径、モーターのトルク特性。数値を与えれば、その通りに動く車体ができる。重量を変えて比較したければ、値を書き換えるだけでいい。
滑り落ちても、横転しても、誰も怪我をしない。設備も壊れない。同じ条件を再現できるから、対策の効果も正確に比べられる。
ただし、これによって実機検証が不要になるわけではない。危険領域や条件の範囲を事前に見極め、実機で検証すべき項目を絞り込む。それがシミュレーションの担う役割であると位置づけている。
実例として、ハンドリフト牽引を検証した。
検証施設をスキャンした空間に3度のスロープを置き、2t対応ハンドリフトに1.5tを積んでAGVで牽引した。
| AGV | 自重300kg |
|---|---|
| 駆動モーター | 842 N·m/輪(最大トルク点)※4輪同一機種 |
| ハンドリフト | 67kg(2t対応・実機カタログ値) |
| 積載物 | 1500 kg |
| 路面 | 屋外アスファルト想定(静摩擦 μ0.85) |
| 勾配 | 3度 |
ハンドリフトは実機の仕様書にもとづいてモデル化した。操舵輪は製品写真で確認した、中央1輪のダブルタイヤ構成(差動式)だ。
分かったのは、どこに限界があるかだった。
6度では登れない
同じ構成で勾配だけ変えると、6度では坂の中腹でグリップを失った。前後にずり落ちながら、横方向へも流れていく。
本構成で対応できるのは3度までであり、6度の勾配を通過させるには別の条件設定が必要になる。運用可能な範囲を定量的に把握できる点が、この検証の意義である。
限界を決めていたのは、モーターではなく路面
出力の大きいモーターを採用すれば登坂できる、と想定しやすい。しかし結果は異なった。
モーターが出せる駆動力は22.1kN。路面が伝えられる力は2.5kN。モーターには約9倍の余力があり、先に限界が来るのは路面側だった。
実際、トルク上限を下げた条件のほうが空転が減少し、登坂到達点は延びた。余力のあるモーターを搭載しても、路面が駆動力を伝達できなければ性能には反映されない。
連結部の高さが、挙動を大きく変えていた
牽引力は連結部を支点に車体を後ろへ倒す。このとき前輪の荷重が抜ける。
| 連結部の高さ | 最大ピッチ角 | 前軸荷重の残存 |
|---|---|---|
| 0.30 m | 3.03度 | 58% |
| 0.40 m | 3.03度 | 45% |
| 0.50 m | 4.43度 | 13% |
| 0.62 m | 6.00度 | 0% |
0.62mでは登坂中に前輪の荷重がゼロになる。4輪駆動が実質2輪駆動として走っている状態だ。
0.50mを境に悪化が急になることも見えた。どこから危険側に入るかが分かれば、その手前で設計できる。
必要な自重も、条件次第で変わった
連結部の高さを変えると、登坂できる最小自重も一緒に動いた。
| 連結部の高さ | 登坂できる最小自重 |
|---|---|
| 0.30 m | 260 kg |
| 0.40 m | 280 kg |
| 0.50 m | 320 kg |
| 0.62 m | 360 kg |
10cm下げるごとに30〜40kg軽くできる計算になる。
ここで重要なのは軽量化の幅そのものではない。自重という単独で決定できそうに見える値が、他の設計値に従属して変動するという関係性のほうである。
この関係を試作後に把握した場合、設計のやり直しが生じる。
台車が蛇行する原因も特定できた
登坂中、引かれる台車が左右に振れた。原因の候補は5つあった。キャスターの首振り。連結部がヨーを拘束しないこと。ダブルタイヤの差動。積載物の横滑り。AGV側の接地差。
全部を同時に記録し、台車の横ズレとの相関を取った。
| 候補 | 相関 | 判定 |
|---|---|---|
| AGVの横ズレ | +0.838 | 別要因(直進性) |
| 台車のヨー角 | −0.836 | 結果として発生 |
| スイベル旋回角 | +0.517 | 主因 |
| 積載物の横ズレ | −0.835 | 荷は追従のみ |
| 左右タイヤの回転差 | +0.023 | 無関係 |
真っ先に疑っていた差動は、ほぼ無相関だった。主因は坂に進入する瞬間のキャスターの首振りで、最大19度振れていた。
実機のキャスターは旋回軸に摩擦がある。それを再現したら蛇行は収まった。
実機では「振れが生じる」という定性的な観察にとどまりやすい現象を、要因ごとに分解し、原因を特定できる。これはシミュレーションの明確な利点である。
シミュレーションでできないこと。
適用範囲を正しく判断していただくため、限界についても記載する。
以上を踏まえ、シミュレーション単独で結論を出さず、実機検証の前段として位置づけて運用することが妥当であると考える。
検証の場を用意するところから、お手伝いできます。
現場を3Dスキャンし、実寸のまま仮想環境に取り込みます。図面がなくても構いません。
坂、重量物、急停止、連結部の負荷。実機では繰り返せない検証を、条件を変えながら回せます。
「何kgの車体が要るか」「何度まで登れるか」「どの条件で危険側に入るか」。試作の前に、絞り込むための材料をお出しします。
そもそも成立する構想なのか。どこに無理があるのか。実機を作る前に、判断材料を用意できます。
次に確かめること。
Stage 03 における実機との差分測定を重視している。乖離の要因を把握できれば、以降のシミュレーション精度の向上につながる。
使用環境。
- NVIDIA Isaac Sim 6.0.1(PhysX 5 / TGSソルバー)
- 物理演算 60Hz、ソルバー反復 位置32 / 速度8
- 環境モデル:3Dスキャンで取得した実空間
- AGV・ハンドリフトは USD Physics スキーマで構築(剛体+ジョイント)
ハンドリフトは市販2t標準型の公開仕様にもとづく。操舵輪は製品写真で確認した中央1輪のダブルタイヤ構成を再現した。
その「分からない」を、現場に出す前に。
搬送を自動化したい工程がある。しかし、検証のための実機も環境も、現時点では用意できない。
その段階からご相談いただけます。仮想空間で確認できる範囲は、想定されているより広いと考えます。