Skip to content

zmsbruce/rm_power_rune

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

         

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

     能量机关🎯

by zmsbruce

1. 简介📓

该项目为 2023 年、传统视觉下的能量机关的识别击打位置的预测。其接收输入为当前时间、图像以及欧拉角 roll, pitch 和 yaw,输出为 pitch 和 yaw(默认不能改变 roll)。main.cpp 中模拟一个示例,其按照设定好的帧率(30 帧)读取 example.mp4 视频,并将欧拉角都设为 0。可以根据与相机、电机等协议进行个性化设置,打造出适合自己步兵机器人(也可以是哨兵)的车上代码。

代码仅包括识别与坐标解算,不包括串口通信、相机驱动部分。

要求为低曝光下的视频,并正确设置各项参数(在 config.yaml 中)。亮度过高、或参数不正确会导致识别失败。

有关能量机关算法的详细介绍,可以查看 46 环的秘密—识别篇46 环的秘密—解算与拟合篇 这两篇文章。

2. 性能 🚀

在 Intel NUC 10 上,对 1280x1024 分辨率的图像中一帧的平均处理时间为 4ms,并能实现近乎 100% 的准确率识别。在大能量机关的预测上,其最大误差为 0.20 rad,平均 0.06 rad.

在帧率为 208,机械弹道为 10m 小装甲板的情况下,以该项目组成的能量机关击打系统达到了最高环数为 44 环的成绩,创造了 2023 年 RoboMaster 超级对抗赛的记录。

3. 安装 🔨

默认安装在 Ubuntu 20.04 系统。其它版本的 Ubuntu 系统、其他 Linux 系统、Windows 以及其它系统的有关库安装方法可以自行查询。

3.1 OpenCV 👁️

为了最大化发挥车上电脑的性能,推荐编译安装。逐行输入

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
sudo apt install libavcodec-dev libavformat-dev
sudo apt install libgtk2.0-dev libswscale-dev pkg-config
sudo apt install python-dev python-numpy
sudo apt install libtbb2 libtbb-dev
sudo apt install libjpeg-dev libpng-dev libtiff5-dev

https://github.com/opencv/opencv/archive/4.6.0.zip 中下载 OpenCV 压缩包(此处为 4.6.0 版本,其他版本可自行选择),解压缩后,在 OpenCV 根目录下依次输入:

mkdir build && cd build
cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=ON \
-D WITH_V4L=ON ..
make -j$(nproc)
sudo make install

等待安装完成即可。

3.2 ceres-solver 🔢

安装依赖:

# CMake
sudo apt-get install cmake
# google-glog + gflags +gtest
sudo apt-get install libgoogle-glog-dev libgflags-dev libgtest-dev
# Use ATLAS for BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse (optional)
sudo apt-get install libsuitesparse-dev

安装 ceres-solver

git clone https://ceres-solver.googlesource.com/ceres-solver
cd ceres-solver
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install

3.3 运行本项目 👻

git clone https://github.com/zmsbruce/rm_power_rune.git
cd rm_power_rune
mkdir build && cd build
cmake ..
make -j$(nproc)
../bin/power_rune

环境需要在 ./bin 或同级目录上,否则会导致相对 路径错误从而无法运行

4. 联系我 📧

如果对代码有疑问,或者想指出代码中的错误,可以通过邮件联系我:zmsbruce@163.com

About

2023 RoboMaster Power Rune Detection Code by HITCRT

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published