rm_balance/RM2024_Reborn_LegWheel_Chassis-main/README.md
2025-10-25 23:31:28 +08:00

48 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RM2024_Reborn_LegWheel_Chassis
## 写在前面
为促进比赛生态发展降低轮腿机器人的开发难度特此对底盘部分代码进行开源其中包括MATLAB建模、下位机代码
![比赛图片](asset/photo.jpg)
## 硬件平台
单片机平台STM32F446 (达妙MC01控制板自带485接口宇树的绝佳搭档(有条件建议上达妙H7))
陀螺仪BMI088
髋关节电机宇树A1 * 4
轮毂电机翎控MF9025-16T * 2
## 工具链
本工程主要参考湖南大学跃鹿战队嵌入式工程开源,使用 CubeMX+CMake+GCC+OpenOCD工具链使用 vscode作为IDE开发
文件目录说明
该工程主要使用C++语言基于面向对象思想进行设计实现了集成化和模块化便于后续Debug和开发。代码主要构建在user文件夹当中代码层次如下
```
└─ user
├─ algorithm # 轮腿需要用到的算法包含CRC校验、LQR及VMC等
├─ application # 顶层任务设计,包含相关任务函数
├─ bsp # 对HAL库函数进行封装
└─ modules # 相关外设驱动包括宇树A1电机BMI088裁判系统
```
## 特点介绍
控制系统方面,该系统在实现了平衡控制器和纵向运动控制器的基础上,加入了线性卡尔曼滤波进行速度融合以提高机器人在复杂路况运动下的鲁棒性,并加入跳跃功能,进一步提高了地形通过能力。
单片机使用方面该系统通过对任务函数及任务优先级的优化实现了核心任务电机通信任务控制任务双板通讯裁判系统通讯能够以1khz的频率进行运行提高系统鲁棒性。除此之外该系统针对宇树电机通信速率高的情况进行优化利用HAL库自带的回调函数实现了半双工通信达妙MC01及宇树控制板可用实现了串口双DMA通信宇树A1通讯任务时长能够达到0.32ms,进而为其他任务腾出了单片机资源进行运算。
## 需改进地方及思路
可参考RM Award获得者柳幸之的部分技术成果说明中的轮腿机器人部分https://bbs.robomaster.com/article/22843
## 参考文献
[1] 陈阳,王洪玺,张兰勇.轮腿式平衡机器人控制[J].信息与控制,2023,52(05):648-659.DOI:10.13976/j.cnki.xk.2023.2533.
[2] V. Klemm et al., "Ascento: A Two-Wheeled Jumping Robot," 2019 International Conference on Robotics and Automation (ICRA), 2019, pp. 7515-7521, doi: 10.1109/ICRA.2019.8793792.
[3] 湖南大学跃鹿战队开源
[4] 轮腿倒立摆机器人运动速度估计 (哈尔滨工程大学创梦之翼战队 2024)
[5] [上海交通大学-云汉交龙 RM2023-平衡步兵控制系统开源] [https://bbs.robomaster.com/wiki/4574/9430]
## 鸣谢
在此感谢以下战队提供的帮助与交流(排名不分先后):
武汉工程大学 Nautilus电子科技大学中山学院 RoboBraver哈尔滨工程大学 创梦之翼,中南大学 FYT华南理工大学 华南虎,上海交通大学 交龙,湖南大学 跃鹿,东北大学 T-DT辽宁科技大学 COD太原理工大学 TRoMaC首都师范大学 WPIE上海科技大学 Magician重庆大学 千里,北京理工大学 追梦,广东工业大学 DynamicX南京航空航天大学 长空御风,浙江大学 Hello World。
特别感谢中南大学FYT战队及首都师范大学WPIE战队在2024赛季南部区域赛期间所提供的帮助以及感谢湖南大学Neo Zng在23赛季国赛备赛期间的鼎力相助还有武汉工程大学刘嘉诚同学和电子科技大学中山学院柳幸之同学在23及24赛季期间长时间的技术交流。
如有问题可以与我多多交流,谢谢!