环境与依赖
从 Windows 入门、Linux 主开发环境到 Daedalus 模拟器和自瞄工程依赖的可复现配置。
先说结论
推荐将 Linux(建议 Ubuntu 22.04 LTS)作为自瞄主开发环境,Windows 作为模拟器运行、资料整理和必要的兼容性验证环境。
原因很实际:车载 NVIDIA Jetson NX 运行 Linux。把日常编译、依赖管理和运行方式尽量靠近车端,能显著减少“电脑能跑、上车不能跑”的环境差异。若个人电脑条件允许,推荐保留 Windows,再安装 Ubuntu 双系统;不要把 CUDA、工业相机 SDK 与高帧率视频流的长期开发完全押在虚拟机里。
Windows 当然可以用于学习和调试。本教程会同时给出 Windows 与 Linux 路径;但后续 C++ 构建、视觉依赖、部署排错和车端复现实验优先以 Linux 为准。
本章配置的是 通用开发底座。模型权重、TensorRT engine、标注数据、厂商相机 SDK 和具体通信库必须由对应项目按版本单独管理,不能“为了省事”从别的项目复制过来。
1. 先准备什么
| 项目 | Windows | Linux(推荐) | 作用 |
|---|---|---|---|
| 代码管理 | Git | Git | 下载代码、记录版本 |
| C++ 工具链 | MSVC / Visual Studio 2022 | GCC / G++ | 编译自瞄与 SDK |
| 构建系统 | CMake + Ninja | CMake + Ninja | 统一生成与构建 |
| 基础视觉库 | 按项目用 vcpkg 安装 | OpenCV、Eigen 等 apt 包 | 图像、矩阵与日志等 |
| 模拟器 | Daedalus v1.0.0 release bundle(已验证) | Daedalus v1.0.0 release bundle(显卡加速待实机验证) | 自瞄算法验证 |
建议在开始前创建一个不含中文和空格的工作目录,例如 Windows 使用 C:\RoboMaster,Linux 使用 ~/robomaster。
2. Daedalus 的来源、维护与发布状态
Daedalus 的公开起点来自河北科技大学 Actor&Thinker。3SE 战队在此基础上持续进行适配、扩展和工程化,并维护模拟器、公共 SDK、发布版本与实验流程。
- 原始公开参考:河北科技大学 Actor&Thinker《Daedalus Simulator》。
- 3SE 维护与改进仓库:Daedalus Simulator。
发布包如何获取
3SE 维护 v1.0.0 完整 release bundle,其中包含运行程序、assets/、SDK、配置与启动脚本。
需要完整包时,请向 3SE 获取与 v1.0.0 对应的发布文件;若只需阅读或编译源码,可从维护仓库检出对应的版本标签。
3. Windows:适合先跑模拟器与熟悉工程
3.1 安装基础工具
使用 Windows 10/11 x64,并以 PowerShell 作为后续命令行。先安装 Git、CMake 和 Ninja:
winget install --id Git.Git --exact
winget install --id Kitware.CMake --exact
winget install --id Ninja-build.Ninja --exact然后安装 Visual Studio 2022 Community 或 Build Tools for Visual Studio。在安装器中勾选:
Desktop development with C++(使用 C++ 的桌面开发)- MSVC x64/x86 生成工具
- Windows 10/11 SDK
- CMake tools for Windows(如安装器提供)
Microsoft 的 C++ 构建工具说明见官方文档。安装完成后,重新打开 PowerShell 并检查:
git --version
cmake --version
ninja --version如果
cl命令找不到,请从开始菜单打开 x64 Native Tools Command Prompt for VS 2022,或直接在 Visual Studio 的 Developer PowerShell 中运行 CMake。
3.2 可选:用 vcpkg 管理 C++ 视觉依赖
当你的自瞄工程的 CMakeLists.txt 明确需要 OpenCV、Eigen、fmt 或 spdlog 时,再安装它们;不要在不需要时盲目堆积依赖。
git clone https://github.com/microsoft/vcpkg.git C:\dev\vcpkg
C:\dev\vcpkg\bootstrap-vcpkg.bat
C:\dev\vcpkg\vcpkg install opencv4:x64-windows eigen3:x64-windows fmt:x64-windows spdlog:x64-windows第一次编译可能较久。使用 CMake 配置工程时传入 vcpkg 工具链文件:
cmake -S <你的自瞄源码目录> -B build\autoaim -G Ninja `
-DCMAKE_BUILD_TYPE=Release `
-DCMAKE_TOOLCHAIN_FILE=C:\dev\vcpkg\scripts\buildsystems\vcpkg.cmake
cmake --build build\autoaim --parallelx64-windows 是 Windows x64 的常用 triplet;若项目要求静态链接或特定运行库,以项目自己的 vcpkg.json / 构建说明为准。可参考 vcpkg 依赖安装教程。
3.3 安装并启动 Daedalus 模拟器
本教程固定使用 Daedalus Simulator v1.0.0 完整 release bundle。不要用 main 分支快照、SDK 单独目录或数据集目录代替正式包;公开下载资产的状态以上一节为准。
- 从 3SE 提供的
v1.0.0完整发布包取得文件,并解压到例如C:\RoboMaster\Daedalus。公开 release 资产上线后,使用上一节的下载入口。 - 确认目录中至少有
bin\、assets\、sdk\、配置文件和start-simulator.ps1。 - 在解压目录打开 PowerShell,首次使用可仅对当前终端临时放开脚本执行:
Set-ExecutionPolicy -Scope Process Bypass
cd C:\RoboMaster\Daedalus
.\start-simulator.ps1 -Visible-Visible 用于打开可视窗口,便于观察靶车与画面;不带该参数时采用默认高性能模式。Windows 路径已完成验证;Linux 也有发布路径,但显卡加速仍待实机验证,详见上一节。
3.4 构建 SDK(需要接入模拟器时)
以下操作在模拟器根目录执行:
cmake -S .\sdk\cpp -B .\build\sim-sdk
cmake --build .\build\sim-sdk --config Release --parallel
ctest --test-dir .\build\sim-sdk -C Release --output-on-failure
cmake --install .\build\sim-sdk --prefix .\build\sim-sdk-install --config Release你的自瞄工程通过 CMAKE_PREFIX_PATH 找到 SDK:
cmake -S <你的自瞄源码目录> -B build\autoaim `
-DCMAKE_PREFIX_PATH=C:\RoboMaster\Daedalus\build\sim-sdk-install4. Linux:推荐的主开发环境
4.1 安装 Ubuntu 与更新系统
推荐 x86_64 台式机或笔记本使用 Ubuntu 22.04 LTS。双系统安装时请为 Linux 预留足够的磁盘空间,并确认 NVIDIA 独显驱动正常工作;不要在尚未确认硬件驱动时急着安装 CUDA / TensorRT。
打开终端后执行:
sudo apt update
sudo apt upgrade -y
sudo reboot重启后检查系统与 GPU(无 NVIDIA GPU 的读者可跳过第二条):
lsb_release -a
nvidia-smi4.2 安装通用构建与调试工具
sudo apt update
sudo apt install -y \
git build-essential cmake ninja-build pkg-config \
gdb python3 python3-pip python3-venv验证工具链:
git --version
g++ --version
cmake --version
ninja --version4.3 安装基础视觉依赖
对于典型 C++ 自瞄工程,可先安装下列通用库:
sudo apt install -y \
libopencv-dev libeigen3-dev libfmt-dev libspdlog-dev
pkg-config --modversion opencv4若最后一行输出版本号,说明 OpenCV 的 pkg-config 信息可用。某个工程如只使用其中一部分库,可以按它的 CMakeLists.txt、README 或锁定文件删减;不要把本节当作所有自瞄项目的强制依赖清单。
4.4 推荐的目录与构建方式
mkdir -p ~/robomaster/{src,build,recordings,configs}
cd ~/robomaster/src
# 将后续自瞄仓库克隆到此处;仓库地址以你实际使用的项目为准
git clone <你的自瞄仓库地址> autoaim
cmake -S ~/robomaster/src/autoaim -B ~/robomaster/build/autoaim \
-G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build ~/robomaster/build/autoaim --parallel建议把源代码、可再生成的构建产物、录制数据和实验配置分开保存:
~/robomaster/
├── src/ # 自瞄源代码
├── build/ # 可删除并重新生成的构建目录
├── recordings/ # 可公开或已脱敏的录制数据
└── configs/ # 标定与实验配置4.5 Jetson NX / 车端部署提示
桌面 Linux 与 Jetson NX 都是 Linux,但 CPU 架构、JetPack、CUDA、cuDNN 和 TensorRT 版本可能不同。不要将在 x86_64 桌面机生成的 TensorRT engine 直接带到车端使用。
在 Jetson 上先记录环境:
uname -m
cat /etc/nv_tegra_release
dpkg -l | grep -E 'nvinfer|tensorrt|cuda'CUDA / TensorRT 应跟随目标 JetPack 版本安装。NVIDIA 对 Jetson 的建议是由 JetPack 管理平台组件;具体流程请以 Jetson 软件文档 和 TensorRT 安装说明 为准。未经版本核对,不要升级车端驱动、CUDA 或 TensorRT。
5. Windows 与 Linux 如何分工
| 工作 | 推荐环境 | 说明 |
|---|---|---|
运行 Daedalus v1.0.0 正式包 | Windows(已验证)/ Linux(待验证) | Linux 包存在;Linux 显卡加速的实机结果尚未验收 |
| 阅读源码、写教程、整理数据 | Windows / Linux | 选择顺手的环境即可 |
| 编译 C++ 自瞄、运行单元测试 | Linux 优先 | 与车端工作方式更接近 |
| 工业相机、CUDA、TensorRT、车端联调 | Linux / Jetson | 严格记录版本与硬件 |
| 发布前复现 | Windows + Linux | 至少验证模拟器侧和车端侧各一次 |
6. 常见问题
cmake 找不到 OpenCV / Eigen
先确认依赖是否已安装,再删除 构建目录 后重新配置;不要删除源码或模型。
rm -rf ~/robomaster/build/autoaim
cmake -S ~/robomaster/src/autoaim -B ~/robomaster/build/autoaim -G NinjaWindows 则检查 CMAKE_TOOLCHAIN_FILE 是否指向实际的 vcpkg 路径,以及使用的 triplet 是否为 x64-windows。
Windows 能跑、Linux / 车端不能跑
优先比对以下信息,而不是先重装系统:
uname -m
g++ --version
cmake --version
cat /etc/nv_tegra_release # Jetson 才有同时记录 Git 提交、CMake 配置参数、CUDA / TensorRT 版本和模型输入输出约定。
模拟器画面不出现或启动失败
先确认使用的是完整 v1.0.0 release bundle,并从该目录运行相应平台的启动脚本。不要从 bin\ 单独拷走运行程序;它依赖同目录发布资产和环境配置。Linux 的显卡加速故障请记录 GPU 型号、驱动、渲染后端和完整日志,当前状态仍属待验证。
7.Tips
模拟器有问题都可以给我反馈,包括帧率低,画面卡顿,或者linux的模拟器不能用显卡渲染画面 戳一下作者 作者花两块钱租个有显卡的服务器验证一下就可以了,以及所有的环境配置都可以交给AI完成,包括模拟器怎么使用,作者提供了给AI阅读的文档,能够帮助AI了解模拟器结构 还有安装方式。环境安装就不要来问我了,我没装双系统,我用的是WSL ;常见的问题AI都可以解决,只有涉及到自瞄有关的问题再来问我。
8. 相关来源与进一步阅读
- 3SE 维护与改进的 Daedalus 模拟器仓库;本教程使用
v1.0.0发布契约。 - 河北科技大学 Actor&Thinker 的 Daedalus Simulator 公开参考;请保留原始作者与许可证信息。
- Daedalus GitHub Releases;公开下载资产上线后以此页为准。
- Microsoft C++ Build Tools 文档
- vcpkg 依赖安装教程
- NVIDIA Jetson 软件文档
- NVIDIA TensorRT 安装说明
- 开源参考实现与声明见参考文献。