轮腿机器人调试与代码实现补充
本文基于 RoboMaster C 型开发板,分享轮腿机器人的基础代码编写与调试经验。默认读者已熟悉底盘代码、INS 任务(陀螺仪解算)、电机 CAN 协议及遥控器 Dbus 协议,并理解五连杆运动学解算与 VMC 的基本思路。调试过程中,状态变量的单位与正负号极性是最关键的难点。
硬件选型
| 材料选型 | 型号 | 数量 | 单价 | | --- | --- | --- | | 关节电机 | DM-J8009P-2EC | 4 | 1369.00 | | 轮毂电机 | 瓴控 MF9025V2(16T) | 2 | 990.00 | | 腿及电机固定板 | 碳板加工 | - | 900.00 | | 车架 | 铝管加工 | - | 500.00 | | 橡胶充气轮胎 | 伊诺华 8x1 1/4 内外胎 | 2 | 50.00 | | 开发板 | RoboMaster C 型开发板 | 1 | - |
注:目前所选用的关机电机和轮毂电机暂未出现缺陷。轮胎选型可参考相关开源社区资料。
电机 ID 分配
开发板放置
软件架构说明
轮腿建模参考哈工程方法,双腿分开建模;五连杆解算参考玺佬的五连杆运动学解算与 VMC。
任务封装
| 任务 | 作用 |
|---|---|
| INS_task.c | 解算陀螺仪数据,得到三轴加速度计、三轴弧度 |
| Uart1_task.c | 向上位机发送数据,配合 vofa+ 调试 PID |
| chassisR_task.c | 调用 VMC_calc.c 函数结合 MATLAB 计算 K 矩阵,输出轮毂及关节力矩 |
模块封装
| 模块 | 作用 |
|---|---|
| CAN_receive.c | 所有电机协议及功能函数封装 |
| remote_control.c | 遥控器 Dbus 协议函数封装 |
算法封装
| 算法 | 作用 |
|---|---|


