# 四足机器人项目综合指南 (Project Guide) ## 1. 项目概览 本项是一个基于 **RoboMentors Board (STM32F427IIH6)** 开发的四足机器人控制系统。核心执行器采用 **灵足 RS02** 系列关节电机,通过 CAN 总线(MIT 协议)进行控制。系统基于 **FreeRTOS** 实时操作系统构建。 ## 2. 硬件架构 - **控制器**: 大疆 RoboMaster A 型板兼容主控 (STM32F427IIH6)。 - **电机**: 8 个灵足 RS02 关节电机。 - **传感器**: 板载 MPU6500 IMU (用于姿态感知)。 - **遥控器**: RadioLink AT9S Pro (通过 DBUS 接口连接)。 ## 3. 电机与 CAN 总线配置 机器人共有 4 条腿,每条腿 2 个关节(大腿/小腿)。 - **CAN1 总线**: 控制前部两条腿(ID 1, 2, 3, 4)。 - **CAN2 总线**: 控制后部两条腿(ID 1, 2, 3, 4)。 ### 电机 ID 映射 | 腿部位置 | 关节 ID | 总线 | | :--- | :--- | :--- | | 左前 (FL) | 1, 2 | CAN1 | | 右前 (FR) | 3, 4 | CAN1 | | 左后 (RL) | 1, 2 | CAN2 | | 右后 (RR) | 3, 4 | CAN2 | ## 4. 遥控器操作手册 (AT9S Pro) ### 基础通道 - **左摇杆 (上下, Ch3)**: **步态使能**。推杆 (>200) 进入行走模式;回中或下拉保持站立。 - **右摇杆 (左右, Ch1)**: 预留转向。 - **右摇杆 (上下, Ch2)**: 预留前进/后退。 ### 辅助开关 | 开关 | 通道 | 功能定义 | 操作说明 | | :---: | :---: | :---: | :--- | | **SwA** | Ch10 | **起立/趴下** | **上**: 起立 (Stand);**下**: 趴下 (Prone) | | **SwD** | Ch7 | **急停/使能** | **上**: 正常使能;**下**: **软急停** (切断输出) | | **SwC** | Ch8 | **方向控制** | **下**: 前进;**中**: 原地踏步;**上**: 后退 | | **SwG** | Ch5 | **转向控制** | **上**: 左转;**中**: 直行;**下**: 右转 | ## 5. 核心功能说明 ### 5.1 零点校准模式 在 `lingzu_task.c` 中开启 `#define CALIBRATE_ZERO_POINT` 宏: 1. 上电后有 5 秒窗口期,此时电机无力矩。 2. 手动将机器人腿部摆放至标准零位。 3. 5 秒后系统自动将当前位置记录为电机的绝对零点。 ### 5.2 运动控制 - **逆运动学 (IK)**: 位于 `leg.c`,负责将足端 $(x, y, z)$ 坐标转换为关节角度。 - **步态规划**: 位于 `Movement.c`,实现了 Trot (对角小跑) 步态。 ## 6. 开发与调试注意事项 - **DBUS 接口**: 信号是标准 UART 的反相形式,波特率固定为 **100kbps**。 - **电机初始化**: 系统启动时会自动循环尝试使能所有电机,直到收到反馈。若电机指示灯异常,请检查物理连接并利用 SwD 开关重启使能。 - **安全第一**: 调试新步态时,请务必架空机器人,并随时准备拨动 **SwD** 执行急停。 - **软硬件匹配**: 本固件专为灵足 RS02 电机设计,不支持普通的 DJI M3508/M2006 电机作为动力关节。