自社研究・Isaac Simによるシミュレーション検証/2026年9月8日
走行中も位置の出力は続きました。ただし開始直後から追うと、30mの通路を進む間に終点で数メートルずれました。開始3秒後から新たに追跡する追加試験では、約23m区間の終点誤差が画像のみで9.2〜16.3cm、IMU併用で5.0〜12.7cmでした。出力が続くことと、位置が合うことを分けて確認した結果です。
動画は79.28秒・25fps、シミュレーション時間の等倍速です。2m/s走行(冒頭〜13.88秒)、歩行(13.88〜75.20秒)、1.5m/s指令の失敗の順に、各条件の2回目を載せています。最後の3秒は失敗条件の説明画面です。白が評価用の正解軌跡、緑がステレオ、青がIMU併用、橙が3秒後から新しく開始したステレオ推定。搭載画像の点は実際に推定器が出力した特徴観測の一部です。軌跡は上面図、誤差表示は3次元距離で、図のX・Y縮尺は異なります。
歩行中に使えた自己位置推定を、走るG1にも接続できるでしょうか。既存の歩行モデルと走行モデルに同じ仕様の仮想ステレオカメラを載せ、倉庫の30m区間で比べました。
今回調べるのは、Visual SLAMのうち、画像から移動量を追う視覚オドメトリです。画像だけの場合とIMUを併用する場合を評価します。地図の保存やループ閉じ込み、推定位置を使った自律走行の試験ではありません。
速度以外にも、違うものがある
歩行はUnitreeの対応29関節モデルと公開ポリシーで0.5m/s。走行はCaltechのChasing Autonomyの対応21関節モデルと公開ポリシーで、2.0m/sと1.5m/sを指令します。走行モデルを当社で追加学習したものではありません。
倉庫、進行方向、到達線、画像サイズ848×480、画角87度、ステレオ基線5cm、撮影25Hz、IMU200Hzを揃えました。一方、機体モデル、制御モデル、初期姿勢、走行中のカメラ高さは異なります。 動画に載せた2m/s条件の2回目は、開始3秒以降の胴体前進速度が平均2.0016m/sでした。同区間を200Hzで記録し、左右足の接触力の大きさがそれぞれ5N未満となる時間の割合は約23.0%でした。走行という呼び方は指令値や方策名だけでなく、この両足非接触の判定も根拠にしています。5Nという閾値を用いたシミュレーション上の判定であり、実機の走り方を再現できたという意味ではありません。既存の2つの構成を比べる試験であり、速度だけの効果を取り出したものではありません。同じ走行モデルでの速度違いも、このために加えています。
カメラは機体への映り込みを避ける共通の仮想リグです。実機G1の標準搭載カメラ配置を再現したものではありません。追加のセンサーノイズや露光ぶれは与えていません。
「位置が出た」と「位置が合っている」を分ける
走行中は左右画像・IMU・評価用の正解姿勢を保存します。その後、画像とIMUだけを別プロセスのcuVSLAMへ渡し、推定がすべて終わってから正解と照合しました。通路を揃えるための旋回補正にはシミュレータの姿勢を使っています。推定器の入力には渡していません。
評価では最初の有効なカメラ姿勢1点だけで座標系を合わせます。後から軌跡全体を回転・拡大縮小して正解へ寄せる処理はしていません。位置RMSEと終点誤差に加え、姿勢出力の欠落を数えます。出力が続いていても、大きくずれている場合があります。
30m通路の比較結果
歩行0.5m/sと走行2.0m/sは、それぞれ3回とも胴体が30mの到達線に達しました。カメラの実際の軌跡長は歩行30.92m、走行30.61mです。次の表は開始直後から処理した全区間の結果です。
| 移動条件 | 推定方法 | 位置RMSE | 終点誤差 |
|---|---|---|---|
| 歩行 0.5m/s | 画像のみ | 0.041〜0.063 | 0.130〜0.142 |
| 歩行 0.5m/s | 画像+IMU | 0.081〜0.093 | 0.235〜0.330 |
| 走行 2.0m/s | 画像のみ | 1.094〜2.307 | 1.863〜4.068 |
| 走行 2.0m/s | 画像+IMU | 1.044〜3.956 | 1.855〜7.047 |
両条件・両推定方法とも全フレームで姿勢出力がありました。しかし2m/s走行の終点誤差は、画像のみで1.86〜4.07m、IMU併用で1.85〜7.05m。欠落がないことだけでは、追跡の精度を判断できません。
同じ走行モデル・同じ走行中の初期状態で指令だけを1.5m/sへ変えた条件は、3回とも1.085秒で骨盤高さが0.45m未満となり終了しました。30m未達なので、上の精度表から分けています。このモデルが一般に1.5m/sで走れないことを示す結果ではありません。
開始条件を変える追加試験
走行は、静止からの発進ではなく、公開モデルの走行中の姿勢・初速度を与えて始めています。開始直後には姿勢と速度が変化する区間があります。
そこで、同じ録画の開始3秒後から、別の新しい推定器で追跡する追加試験を行いました。最初の3秒を処理した結果を引き継ぐ方法ではありません。評価区間も短くなるため、30m全体と同条件の改善率としては扱いません。
| 移動条件 | 推定方法 | 位置RMSE | 終点誤差 |
|---|---|---|---|
| 歩行 0.5m/s | 画像のみ | 0.047〜0.065 | 0.118〜0.133 |
| 歩行 0.5m/s | 画像+IMU | 0.084〜0.210 | 0.112〜0.316 |
| 走行 2.0m/s | 画像のみ | 0.083〜0.106 | 0.092〜0.163 |
| 走行 2.0m/s | 画像+IMU | 0.038〜0.113 | 0.050〜0.127 |
3秒後からの走行評価区間はカメラ軌跡長22.91m、10.88秒です。歩行は開始時に静止しているため、この区間でも30.81mあります。1.5m/s条件は3秒前に終了しており、追加試験を実施できません。
グラフの点は3試行すべて、短い横線は中央値です。縦軸はメートル単位の対数目盛。左右は評価区間が異なります。今回の結果からは開始条件・初期化も検査すべきだと分かりますが、原因を速度やIMUの有無だけに決めつけることはできません。
実装時の落とし穴も検査対象にする
最初の短時間テストでは、カメラ位置が初期値のまま記録される問題を見つけました。物理エンジン上の機体姿勢と固定の取り付け位置からカメラを動かす処理へ直し、位置が変化すること、画像が変化すること、左右画像とIMUの時刻が合うことを検査しています。不備のある試行は比較から除外しました。
推定アルゴリズムの数字だけを見ると、センサー記録側の不具合も良い結果に見える場合があります。入力生成、推定、評価を分けて検証できる構成にしたことも、今回の実装範囲です。
この結果で言える範囲
指定した静的な倉庫と理想化したセンサーによる記録再生の結果です。実機、動く障害物、低照度、実際の露光ぶれ、閉ループでの自律走行、実時間処理は未検証です。各3試行は反復確認であり、一般的な成功率を示しません。
次はKILVOの公開データへ進みます。KILVOはカメラに加え、IMU・LiDAR・脚運動学を統合する方式です。2026年9月8日の確認時点では著者コードは公開予定のため、まずセンサー仕様と公開記録の検品から始めます。
出典:NVIDIA cuVSLAM API/Unitree公式モデル・歩行ポリシー/Chasing Autonomy論文(2026年3月26日)/走行ポリシーの著者コード/KILVO著者リポジトリ
使用環境:Isaac Sim 5.1、Isaac Lab 2.3、cuVSLAM 17、NVIDIA L4。走行はCaltechのZachary Olkin、William D. Compton、Ryan M. Bena、Aaron D. Amesによる公開成果を利用しています。