Skip to content

本项目是全国大学生智能车竞赛GDUT 2022年极速越野组的项目文件。采用了LQR控制器和多速率卡尔曼融合算法,并在单片机上实现。This project is the project document for the GDUT 2022 Extreme Off-Road Category of the National Student Intelligent Vehicle Competition.

License

Notifications You must be signed in to change notification settings

ZhuYanzhen1/MM32_CLion

Repository files navigation

MM32_CLion

Version  Build  License        English / 中文

    This project is a Windows CLion IDE file for the MM32F3277G9 chip and a circuit design for the main control board based on the MM32F3277G9 chip. The software code contains the link files required for GCC, CMake files, clang-format files, Doxygen configuration files, etc. to ensure that this package is ready to use when it arrives. The hardware mainly contains the schematic and PCB files, and the Gerber files will be released in the form of Releases.The adapted tuning tool is developed using Qt, and the repository contains the Qt source code files for the tool. Some Python scripting tools are also provided for easy development, such as scripts for calculating filter parameters.
    This project is developed around the 2022 National Student Intelligent Vehicle Competition. Complex algorithms such as LQR controller, multi-rate Kalman fusion, and advanced development tools such as unit testing and continuous integration are innovatively used in this project for development, which greatly improves the development efficiency and reduces the development cost.


Develop Environment

  • Integrated Development Environment: CLion CL-221.5921.27
  • OS: Windows 10 Professional 21H2 x64 10.0.19044
  • Make tool: GNU Make 4.3 x86_64-w64-mingw32
  • Compiler tool chain: gcc-arm-none-eabi 10.3.1 20210824
  • Burning tool: OpenOCD 0.11.0+dev-00449-gb2ab2241f+ (2021-11-13-20:25)
  • Documentation tool: Doxygen GUI 1.9.4 (Qt version 5.15.2)
  • EDA tool: KiCAD 6.0.5 (VC++ 1929, 64bit)
  • Qt environment: Qt 5.14.2 (MSVC 2017, 32bit)
  • Python version: Python 3.10.5 [MSC v.1929 64 bit (AMD64)] on win32

Directory Structure

  • .github: Configuration file for the continuous integration of Github Actions.
  • circuit: Schematics and PCB files related to the project.
    • bldc_driver: Schematic and PCB file of the brushless driver board.
    • control_board: Schematic and PCB file of the main control board.
    • geomagnetometer: Schematic and PCB file of geomagnetometer board.
    • power_board: Schematic and PCB file of the power supply board.
    • uart_tt_mcu: Schematic and PCB file of serial transmission module microcontroller side.
    • uart_tt_pc: Schematic and PCB file of the PC side of the serial port pass-through module.
    • wireless_debugger: Schematic and PCB file of the wireless debugger.
  • docs: html documents and related images and board interactive BOMs generated by Doxygen.
  • mechanical: 3D model files of non-standard mechanical parts.
    • battery_mount: 3D model file of the battery mount.
    • car_shell: 3D model file of the car shell.
    • control_board_mount: 3D model file of main control board and power board bracket.
    • magnometer_mount: 3D model file of geomagnetometer bracket.
  • program: Source file and configuration file of the main controller program.
    • ctrl_mcu: control MCU user layer code, main logic implementation.
    • debug: transmission layer code and CMBackTrace program file for implementing serial port tuning reference.
    • device: Device specific data link layer protocol to implement device level register read/write.
    • fatfs: code related to the FAT file system.
    • form: All form controls and form actions for the display.
    • freertos: code for the FreeRTOS real-time operating system.
    • gui: the relevant drawing functions and forms code implementation for the display.
    • hardware: initialization and read/write code related to MM32F3277G9P chip peripherals.
    • library: code for the HAL library of the MM32F3277G9P chip provided by MindMotion.
    • math: code and functions related to math calculation, such as checksum calculation, FFT, etc.
    • proc_mcu: Handling MCU user layer code, main logic implementation.
    • protocol: data link layer transmission protocol for sdtp and mdtp.
    • system: initialization and operation code related to MM32F3277G9P system.
  • scripts: Python script files used to facilitate program testing and design.
  • testbench: CUnit library-based unit test code for testing functions.
  • tools: Qt tuning tool source code used for tuning parameters.

License

Affiliation:AcmeTech
Author: Yanzhen Zhu, Guilin Zhao, Hanbing Lai
Maintainer:Yanzhen Zhu, Guilin Zhao, [email protected], [email protected]

    The source code is released under a AGPL-3.0 License.The product has been tested under Windows 10 and Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

About

本项目是全国大学生智能车竞赛GDUT 2022年极速越野组的项目文件。采用了LQR控制器和多速率卡尔曼融合算法,并在单片机上实现。This project is the project document for the GDUT 2022 Extreme Off-Road Category of the National Student Intelligent Vehicle Competition.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •