This project is the complete code for the visual function of the Guangzhou Nanfeng College Notos Team in the 2024 season.
Repository directory
.
├── AngleSolver // angle solver library, including angle solver class
│ ├── AngleSolver.cpp // angle solution file
│ └─── AngleSolver.h // angle solution header file
├── Armor // armor plate recognition library, including armor plate recognition class
│ ├── Armor.h // armor plate identification header file
│ ├── LightBar.cpp // light bar parameter file
│ ├── ArmorBox.cpp // armor plate parameter file
│ ├── ArmorNumClassifier.cpp // digital identification file
│ ├── findLights.cpp // light bar identification file
│ ├── matchArmors.cpp // armor plate matching file
│ └── ArmorDetector.cpp // armor plate recognition initial file
├── Calibration // camera calibration file
│ ├── Image // image folder
│ ├── Calibaration.cpp // camera calibration
│ └── file_images.txt // image path
├── cmake-build-debug // compile and generate folder
├── General // configuration file
│ ├── 123svm.xml // digital classifier
│ ├── camera_params.xml // camera configuration file
│ └── General.h // general header file
├── GraphWindow // Graph window
│ ├── MotionDetection.cpp // Motion detection file
│ ├── MotionDetection.h // Motion detection header file
│ ├── qcustomplot.cpp // qt plot configuration file
│ └── qcustomplot.h // qt plot configuration header file
├── Filter // filter solve
│ ├── Kalman.cpp // kalman solve file
│ └── Kalman.cpp // kalman solve header file
├── MindVision // camera File
│ ├── head // camera header file
│ │ ├── CameraApi.h // camera API file
│ │ ├── CameraCapture.h // camera interface file
│ │ ├── CameraDefine.h // camera parameter file
│ │ └── CameraStatus.h // camera definition file
│ └── cameramain.cpp // camera main function
├── README // README file
│ ├── README.zh-cn.md // Simplified Chinese description file
│ └── README.zh-tc.md // Traditional Chinese description file
├── Serial // serial communication library, including serial communication class
│ ├── CRC_Check.cpp // CRC check
│ ├── CRC_Check.h // CRC check header file
│ ├── serialport.cpp // serial communication class
│ └── serailport.h // serial communication category header file
├── AutoAim.cpp // automatic aiming class
├── CMakeLists.txt // cMake project file
├── Debug.h // debug header file
├── Imagelnit.cpp // image initialization file
├── LICENSE // License
├── main.cpp // main function
├── README.md // project description file
└── WatchDog.sh // self-starting script
Mini PC sent:
| Byte0 | Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 | Byte7 | Byte8 | Byte9 |
|---|---|---|---|---|---|---|---|---|---|
| 0x16 | IsHaveArmor | YawAngleSymbol | IntYawAngleData | DecimalYawAngleData | PitchAngleSymbol | IntPitchAngleData | DecimalPitchAngleData | autoaim | 0xFE |
Mini PC receive:
| Byte0 | Byte1 | Byte2 | Byte3 |
|---|---|---|---|
| IsHaveKalman | ArmorSelection | ArmorColor | 0x03 |
Motion detection handle click events
| MouseLeftButton | MouseMiddleButton | MouseRightButton |
|---|---|---|
| CalibrationPoint | ContinuePlot | InterruptPlot |
1(Hero), 2(Engineer), 3(Infantry), 4(Infantry), 5(Outpost), 6(Base), 7(Sentinel)
1(Hero), 3(Infantry), 4(Infantry), 6(Base), 7(Sentinel)
$sudo systemctl start v2raya.service
$sudo chmod 777 /dev/ttyUSB0