# 仿真环境启动指南 本文档说明如何单独启动 Isaac 仿真环境的各个组件。 ## 前置条件 ```bash # 先 source ROS2 环境 source install/setup.bash ``` ## 单独启动组件 ### 1. Isaac 仿真环境 ```bash # 带可视化界面 python3 src/simulation/tools/launch_sim_stack.py --component isaac # headless 模式(无界面) python3 src/simulation/tools/launch_sim_stack.py --component isaac --headless ``` ### 2. 仿真车端统一 Agent 包含底盘、运控、传感器数据转发: ```bash python3 src/simulation/tools/launch_sim_stack.py --component vehicle-agent ``` ### 3. 外部位姿桥 将 Isaac 真值转发给车端: ```bash python3 src/simulation/tools/launch_sim_stack.py --component external-pose-bridge ``` ### 4. 车间侧传感器 Ingest 从车端轮询传感器数据: ```bash python3 src/simulation/tools/launch_sim_stack.py --component sensor-ingest ``` ### 5. 车间 Gateway ROS2 节点,对接底盘/运控: ```bash python3 src/simulation/tools/launch_sim_stack.py --component gateway ``` ## 启动完整仿真链路 ### 方式一:一键启动所有仿真组件(不含车间总控) ```bash python3 src/simulation/tools/launch_sim_stack.py --component all ``` ### 方式二:分步启动(推荐用于调试) 终端 1 - 启动 Isaac: ```bash python3 src/simulation/tools/launch_sim_stack.py --component isaac ``` 终端 2 - 启动车端 Agent: ```bash python3 src/simulation/tools/launch_sim_stack.py --component vehicle-agent ``` 终端 3 - 启动外部位姿桥: ```bash python3 src/simulation/tools/launch_sim_stack.py --component external-pose-bridge ``` 终端 4 - 启动传感器 Ingest: ```bash python3 src/simulation/tools/launch_sim_stack.py --component sensor-ingest ``` 终端 5 - 启动车间 Gateway: ```bash python3 src/simulation/tools/launch_sim_stack.py --component gateway ``` 终端 6 - 启动车间总控: ```bash ros2 launch win_ubuntu_bridge minimal_workshop_demo.launch.py \ use_gateway:=true \ chassis_host:=127.0.0.1 \ control_host:=127.0.0.1 \ sensor_registry:=demo_front_camera,demo_down_camera,demo_lidar_3d,demo_lidar_2d,demo_imu ``` ## 验证仿真环境 启动后检查 topic: ```bash # 查看 Isaac 发布的传感器数据 ros2 topic list | grep isaac # 检查各传感器数据频率 ros2 topic hz /sensor/front_camera/image_raw ros2 topic hz /sensor/down_camera/image_raw ros2 topic hz /sensor/lidar_3d/pointcloud ros2 topic hz /sensor/lidar_2d/scan ros2 topic hz /sensor/imu/data # 检查外部位姿 ros2 topic hz /isaac/external_localization/vehicle/pose ``` ## 执行端到端验收测试 仿真环境启动后,执行验收: ```bash python3 src/simulation/tools/smoke_test_workshop_orchestrator.py \ --verbose-feedback \ --no-publish-fake-external-telemetry ``` ## 停止仿真环境 按 `Ctrl+C` 停止各组件,或使用: ```bash ./stop_isaac_real_sim_stack.sh ``` ## 快捷脚本 也可以使用一键测试脚本(启动所有组件并执行验收): ```bash # 完整测试(启动 + 验收 + 停止) ./run_isaac_real_sim_test.sh # 保持运行(不执行验收) ./run_isaac_real_sim_test.sh --no-smoke --keep-running # headless 模式 ./run_isaac_real_sim_test.sh --headless ```