感谢同济大学的开源, 本项目是基于同济大学开源框架改造的视觉算法库
编译要求:
- CMake
>= 3.16 - C++17
- OpenCV
- fmt
- Eigen3
- spdlog
- yaml-cpp
- nlohmann_json
- OpenVINO 2024.6
usb-1.0
本仓库还依赖以下厂商或外设 SDK/库:
- 海康工业相机 SDK
仓库默认使用以下模型文件:
assets/yolov5.xmlassets/yolov5.binassets/yolov8.xmlassets/yolov8.binassets/yolo11.xmlassets/yolo11.binassets/yolo11_buff_int8.xmlassets/yolo11_buff_int8.binassets/tiny_resnet.onnx
OpenVINO 路径会优先按下面顺序查找:
$ENV{OpenVINO_DIR}
$ENV{OPENVINO_DIR}
/opt/intel/openvino_2024.6.0/runtime/cmake
/opt/intel/openvino/runtime/cmake如果开发机安装路径不同,优先通过环境变量覆盖。
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j仓库现在提供了一套面向 Linux x86_64 Intel NUC 的开发配置,包含:
CMakePresets.json:统一cmake/clangd使用的构建目录和编译器.clangd:默认读取build/dev-debug/compile_commands.jsonDockerfile.dev+docker-compose.yml:提供和 NUC 对齐的容器开发环境.devcontainer/devcontainer.json:VS Code 进入容器后自动启用clangd与 CMake Presets
默认容器平台是 linux/amd64,和 Intel NUC 一致:
docker compose build
docker compose up -d
docker compose exec sp-vision-dev bash容器内推荐直接使用 Preset:
cmake --preset dev-debug
cmake --build --preset dev-debug -j如果需要发布版:
cmake --preset dev-release
cmake --build --preset dev-release -jclangd 默认读取:
build/dev-debug/compile_commands.json
因此第一次进入容器后,先执行一次:
cmake --preset dev-debug这样补全、跳转、诊断都会和真实编译参数保持一致。
如果你用 VS Code,可以直接 Reopen in Container。仓库已经预设:
clangdCMake Tools- 默认
cmakeconfigure preset 为dev-debug
容器创建完成后会自动执行一次:
cmake --preset dev-debug- 这套开发环境默认面向
Linux x86_64部署目标,而不是 macOS 原生运行。 - 如果宿主机是 macOS,建议只把它当作 Docker/VS Code 的入口,实际编译、补全、调试都在容器里完成。
- 相机、串口、USB 透传这类硬件联调,优先在 NUC 或原生 Linux 主机上做。
GKD 英雄:
./build/gkdhero configs/gkdhero.yamlGKD 步兵:
./build/gkdinfantry configs/gkdinfantry.yamlGKD 步兵 MPC:
./build/gkdinfantry_MPC configs/gkdinfantry.yaml调试版程序通常可直接替换为对应的 *_debug 可执行文件。
当前仓库不再从配置文件读取敌方颜色。保留的 GKD 链路都会通过 io/gkdcontrol 从电控侧接收运行时姿态和敌方颜色。
相机 -> 检测器/YOLO -> 解算器 -> 跟踪器 -> 瞄准器/规划器 -> 射击逻辑 -> 电控发送
感谢同济大学开源的视觉框架与相关思路。