项目简介
本项目是为法国机器人杯(French Robotics Cup)参赛机器人开发的运动控制系统,基于STM32F303K8微控制器实现。系统借助编码器进行位置感知,并控制电机达成精确运动。项目代码涵盖电机控制、位置感知、硬件初始化、通信接口等功能模块,旨在为机器人赋予稳定且高效的运动控制能力。
项目的主要特性和功能
- 电机控制:通过PWM信号控制电机速度和方向,实现精确运动控制。
- 位置感知:通过编码器进行里程计计算,实时获取机器人位置信息。
- 硬件接口:支持GPIO、I2C、UART、定时器等硬件模块的初始化与控制。
- 调试支持:通过UART接口输出调试信息,便于开发者排查问题。
- 文档生成:使用Doxygen生成代码文档,方便开发者理解和使用代码。
- 测试框架:包含多个测试文件,利用Catch2框架验证库函数的正确性和性能。
安装使用步骤
复制项目
使用以下命令复制项目及其子模块:
bash
git clone --recurse-submodules <项目地址>
若忘记复制子模块,可运行以下命令:
bash
git submodule update --init --recursive
安装依赖
确保已安装以下工具:
- gcc-arm-none-eabi-bin
- st-link
- openocd
设置权限
运行以下命令添加烧录权限:
bash
make install_udev
编译项目
使用以下命令编译项目:
bash
make
生成的可执行文件为 mainTest.elf
。
烧录程序
使用以下命令将程序烧录到STM32微控制器:
bash
make mainTest.flash
生成文档
安装Doxygen后,运行以下命令生成代码文档:
bash
doxygen doxygenConf
文档将生成在 doxygen/html
目录下,可通过浏览器查看。
调试
使用 picocom
工具通过UART接口进行调试:
bash
picocom -b 9600 /dev/ttyACM0
清理项目
使用以下命令清理编译生成的文件:
bash
make clean
通过上述步骤,可成功编译、烧录并运行本项目,实现机器人的运动控制功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】