# FreeRTOS CAR **Repository Path**: tao-wenjie/free-rtos-car ## Basic Information - **Project Name**: FreeRTOS CAR - **Description**: 基于FreeRTOS的车辆机器人 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 2 - **Created**: 2024-11-05 - **Last Updated**: 2025-09-21 ## Categories & Tags **Categories**: robot **Tags**: FreeRTOS, 机器人 ## README # FreeRTOS CAR #### Description Design a vehicle robot using the main control STM32F4 to achieve object grasping, path planning, recognition of object color, classification, and placement. 1. Use PWM to drive the 180 ° and 360 ° servo motors to rotate the gripper. PWM drives the motor and regulates its stable operation through PID algorithm. 2. Use UART serial port to communicate with OpenMV camera and design protocol frame structure. Using color threshold matching algorithm to identify object colors and classify them. 3. Use GPIO to read grayscale values and filter them. Mount the MPU6050 gyroscope on the I2C bus to achieve black line tracking and angle steering of the vehicle. 4. Utilize the task scheduling mechanism of FreeRTOS to achieve synchronization and communication between tasks such as robot attitude calculation, motion control, and black line tracking. #### Software Software architecture description: 1. Write C language code using Keil5. 2. Use CubeMX software to configure STM32 project initialization, initialize clock and GPIO, serial port and other peripherals. 3. Use OpenMVIDE to write Python code to control camera recognition. #### Installation Software 1. Download and install the Keil5 installation package on the official website. 2. Download and install CubeMX on the official website. 3. Download and install OpenMVIDE on the official website. ### File Description 1. CAR - Code for vehicle robots to achieve functions such as object grasping and black line tracking. 2. Fire - Code for throwing objects out of the turret. 3. car2.py - Code for OpenMV to recognize object colors. #### Instructions 1. Download the project, find the CAR and Fire folders, enter the MDK-ARM folder respectively, double-click the file with the. uvprojx suffix, and you can open the project in Keil5 and burn the code to STM32. 2. Download the project, find the CAr folder, double-click the file with the. oc suffix, and you can open it in CubeMX software to modify the project initialization configuration. 3. Download the project and drag the. py file from the OpenMV camera folder into OpenMV IDE to modify the code and burn it into the camera. #### Contribution 1. Fork the repository 2. Create Feat_xxx branch 3. Commit your code 4. Create Pull Request