LunCoSim теперь запускает симуляции роверов на реальном рельефе Луны.
Тестовый полигон — хребет Шеклтон–де Жерлаш на южном полюсе.
16×16 км из реальных орбитальных данных высот, дополненных
процедурными кратерами и полями валунов. Это участок с уклонами
от 10° до 20°+, острыми необветренными камнями и рыхлым реголитом —
ровно тот рельеф, для которого проектируются лунные роверы.
Первый тест: rocker-bogie против стандартного 4-колёсника.
Rocker-bogie — 6-колёсная пассивная подвеска без пружин и актуаторов.
Чистая геометрия шарнира, которая удерживает все шесть колёс на грунте
при любом препятствии. Стоит на каждом марсоходе NASA с 1997 года.
Базовая конструкция не менялась 27 лет.
---
Как устроена работа в LunCoSim:
Ровер — это USD-файл.
Открываешь в текстовом редакторе, правишь нужные атрибуты:
suspension_stiffness = 8000.0
wheel_radius = 0.275
motor_torque_nm = 12.0
terrain_friction = 0.65
rocker_arm_length = 0.42
Перезагружаешь сцену — видишь результат.
Никакой перекомпиляции. Никакой сборки проекта.
Хочешь протестировать другую геометрию подвески — меняешь числа.
Хочешь другой грунт — меняешь трение.
Хочешь поставить свою модель — кладёшь USD-файл в папку.
---
Что ещё работает в симуляторе:
⚙️ Физика: Avian3D (XPBD constraints) + f64 для всей пространственной
математики. Колёса — raycast-модель с реакцией на контактную плоскость.
🌍 Рельеф: GeoTIFF → DEM pipeline → меш высот с коллайдерами.
Процедурные препятствия с LOD для тестовых треков.
🔗 Co-simulation с Modelica — подключай поведенческие модели напрямую
к компонентам ровера. Электропитание, термика, бортовое ПО —
всё через явные соединения портов по стандарту FMI/SSP.
👥 Многопользовательский режим — несколько инженеров в одной сцене
одновременно. Через WebTransport, с авторизацией.
🤖 HTTP API — симулятор управляется из кода, скриптов или AI-агентов.
Все команды — типизированные события, доступны по одному интерфейсу
из UI, API и скриптов.
🖥 Headless-режим — запуск без GPU, без окна. Для пакетных прогонов
и серверного развёртывания.
📜 Скриптинг на rhai — горячая перезагрузка сценариев без рестарта.
Те же команды, что использует UI.
🌐 Работает в браузере: sandbox.lunco.space
Написано на Rust + Bevy. Полностью открытый исходный код.
(Да, если ты из мира KSP — это примерно то, чего там всегда не хватало
по физической точности и возможности менять параметры без перекомпиляции.)
Post #746
178
Forwarded from Децентрализуй! Космос (Rod Mamin)
- 👍 1