Skip to content

zmsbruce/rm_radar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


         

哈尔滨工业大学 竞技机器人队 视觉组

     雷达 📡

by zmsbruce

1. 简介 📓

代码包含目标的识别、定位和跟踪,目前不包括串口通信、自主决策部分

  • 识别 🔎:使用神经网络,根据相机传来的场地图像,对机器人和装甲板进行识别,得到机器人的矩形框和类别;

  • 定位 🧭:利用激光雷达提供的点云信息,结合机器人的图像位置信息、相机与雷达的相对位置,以及雷达坐标和场地坐标的相对位置,来确定机器人在场地中的位置;

  • 跟踪 👁️:对当前帧识别到的机器人进行位置滤波和跟踪,避免误识别和位置检测跳变带来的影响;

根据官方披露的数据,以该项目为核心构造的雷达站系统,其平均标记准确率为 83.66%,最高单场标记准确率 93.55%,局均易伤时间 686.4 秒,局均额外伤害 177.

有关雷达算法的详细介绍,可以查看 83% 准确率的雷达是怎样炼成的

2. 性能 🚀

得益于使用 CUDA 进行前后处理,以及使用 TensorRT 进行模型的推理,我们保证了较快的处理速度在配置较低的运算平台上也有不俗的性能发挥。具体而言,我们使用训练后的 yolov8m 作为机器人和装甲板的识别网络,使用 CUDA 版本为 12.3、TensorRT 版本为 8.6,对一次完整的机器人检测、跟踪与定位进行计时 ⏱️,得到数据如下:

  • 在 NVIDIA GeForce GTX 1650, AMD Ryzen 7 4800H 上,平均时间为32ms
  • 在 NVIDIA GeForce RTX 3060Ti, 11th Gen Intel Core i5-11600KF 上,平均时间为11ms

此外,我们对目标定位跟踪均进行了优化,以提升速度准确性。有关优化的具体实现,可以查看 doc 目录下文档。

3. 安装 🔨

3.1 依赖 🔃

  • 在 Linux 系统下编译和安装本项目;
  • 代码基于 C++20 ,需要使用 GCC 11 或更高版本,或者 Clang 11 或更高版本;
  • 需要 CMake 版本不低于 3.19,以完整支持 CUDA Toolkit 包的获取与配置;
  • 需要 CUDA 版本不低于 12.2,TensorRT 版本不低于 8.5;
  • 需要 OpenCV, PCL, Eigen 库以支持图像、点云处理和目标跟踪;
  • 需要 GTest 库以支持测试;
  • 为了确保顺利编译,建议安装 TBB, VTK, FFI 库;

3.2 编译与运行 🛠️

输入以下命令进行代码的获取编译运行

# clone from website
git clone https://github.com/zmsbruce/rm_radar.git
cd rm_radar

# compile
mkdir build && cd build
cmake ..
make -j$(nproc)

# test
ctest

# run sample
../bin/sample

4. 联系我 📧

如果对代码有疑问,或者想指出代码中的错误,可以通过邮件联系我:[email protected]