# master_ER **Repository Path**: flying-rat/master_-er ## Basic Information - **Project Name**: master_ER - **Description**: ER407主控程序。 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-01-22 - **Last Updated**: 2023-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # master_ER #### 介绍 ER主控程序 #### 简介 1. 芯片:stm32f407zgt6 2. 外设库:hal库 3. IDE:Clion + stm32cubeMX 4. 操作系统:Freertos #### 主要任务 1. 执行舵轮底盘运动学解算并将控制信息下发到底盘控制板 2. 与视觉设备通信并控制云台瞄准 3. 接收遥控器控制信息 4. 接收定位仪位置信息 5. 接收激光采集板的距离信息 #### 主要内容 1. 添加了ARM的DSP库 2. 优化了舵轮运动学解算程序 3. 优化了can的发送程序 4. 添加了宇树A1电机的相关API #### 注意事项 1. debug串口为usart1,使用dma发送。关于printf的重定向在文件 printf.c 中。 2. can的接收中断服务程序都在文件 can_rec.c中的fifo0回调函数中。 3. 宇树A1电机的通信串口只能为1或6,波特率4.8M,控制时要考虑485总线的带宽和阻塞问题。 4. freertos的任务中必须要有死循环,即使你的任务很简单且只需要执行一次,也请不要删除任务中的死循环。 #### 关于三舵轮底盘运动学解算的坐标系和角度定义 1. 机器人坐标系以后轮连线为x轴,向右为正方向,两后轮连线中点的垂线为y轴,轮系的角度定义基于该坐标系,当速度指向x轴正方向时为0度,绕原点逆时针旋转为正(与极坐标系下的角度定义类似) 2. 世界坐标系与机器人坐标系之间只差一个偏航角,可以直接从定位仪数据中读取,减去即可