littlebot
Published on 2025-04-16 / 2 Visits
0

【源码】基于C++编程语言的RBE3001开发板固件系统

项目简介

本项目是为STM32F746ZG开发板打造的嵌入式系统固件。它具备基于PID控制器的机械臂控制程序,能通过USB HID接口与MATLAB等软件通信,接收控制指令并发送传感器数据。同时,系统提供了Dummy模拟模式和物理模式,可分别用于机械臂运行模拟测试以及真实环境中的机械臂控制。

项目的主要特性和功能

  • PID控制:借助PID控制器调整机械臂关节位置,精确追踪设定的目标位置。
  • 双模式支持:提供Dummy模拟模式,便于在未连接机械臂时进行测试与调试;支持物理模式,可在真实环境中控制机械臂。
  • 通信交互:利用USB HID协议与MATLAB等软件进行交互,实现对机械臂的控制与监测。

安装使用步骤

1. 配置环境

  • 驱动和udev规则:在非实验室机器上,需安装udev规则,使用以下命令: sudo cp 81-neuronrobotics.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules sudo adduser $USER dialout
  • 工具链安装:安装必要的工具链,使用以下命令: sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt install gcc-arm-embedded automake libusb-1.0-0-dev putty libhidapi-dev python-pip libtool git oracle-java8-set-default oracle-java8-installer sudo pip install mbed-cli git clone http://repo.or.cz/r/openocd.git cd openocd ./bootstrap ./configure --enable-stlink --enable-ftdi --enable-cmsis-dap --prefix=/usr/local make -j8 sudo make install 完成后,注销并重新登录以使权限生效。

2. 配置SSH密钥

3. 配置Git

设置全局用户名和邮箱: git config --global user.name "John Doe" git config --global user.email johndoe@wpi.edu 可使用以下命令检查配置: git config --list git config --list|grep user

4. 复制项目

  • 首次设置:从共享URL复制项目,并设置私有仓库: cd RBE3001_nucleo_firmware git remote set-url origin DO_NOT_COPY_THIS_REPLACE_IT_WITH_MY_Private_Repo_URL_here git checkout master git push -u origin master git remote -v
  • 后续复制:在新机器上,从私有仓库复制项目: git clone MY_Private_Repo_URL_here cd M-Repo_Folder

5. 初始化、编译和部署固件

git submodule init git submodule update mbed deploy mbed-cli compile -j0 -t GCC_ARM -m nucleo_f746zg --source . --source ./mbed-os/features/unsupported/USBDevice/USBDevice/ --source ./mbed-os/features/unsupported/USBDevice/USBHID/ -f 若构建过程结束时出现错误信息,检查开发板是否连接到计算机并重新尝试。

6. 验证通信

使用putty监听串口ttyACM0: putty -serial /dev/ttyACM0 若成功,应能看到预期输出。

7. 安装Eclipse (CDT)

Direct Download Link for Eclipse下载Eclipse,解压并运行安装程序,选择C/C++版本并安装在默认位置。

8. Eclipse设置

  • 安装GNU ARM Eclipse插件,地址为http://gnu-mcu-eclipse.netlify.com/v4-neon-updates,安装后重启Eclipse。
  • 设置MCU的工具链路径:Window->Preferences->MCU->Global ARM Toolchain Paths->Toolchain folder为/usr/arm-none-eabi/bin/,应用并关闭。
  • 导入项目:File菜单->Import... ->C/C++ -> Existing Code as Makefile Project,选择项目目录,选择ARM Cross GCC,完成导入。
  • 设置构建命令:右键点击项目->Properties->C/C++ Build,Builder Settings->Build Command为mbed-cli compile -j0 -t GCC_ARM -m nucleo_f746zg --source . --source ./mbed-os/features/unsupported/USBDevice/USBDevice/ --source ./mbed-os/features/unsupported/USBDevice/USBHID/
  • 修复标准类型错误:右键点击项目->Properties->C/C++ Build ->Settings->Toolchains->Toolchain path设置为/usr/arm-none-eabi/bin/,应用并保存,然后右键点击项目->Index-> Rebuild,等待C/C++索引器完成。

9. 核心固件维护和问题报告

  • 上游更新:当课程工作人员更新或修复系统代码或依赖库时,运行以下命令: git pull RBE-UPSTREAM master git submodule init git submodule update cd lib/AS5050/ git pull origin master cd .. cd lib/MbedPwmServo/ git pull origin master cd .. cd lib/PID_Bowler/ git pull origin master cd .. cd lib/SimplePacketComs/ git pull origin master cd ..

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】