/Slave_basketball_bot_controller

This is the second version of the basketball bot controller(SLAVE).

Primary LanguageC

Slave_basketball_bot_controller

This is the second version of the basketball bot controller(SLAVE).

第二代篮球机器人底盘STM32F4主控程序

底盘为三轮全向结构

  • main.c内状态机处理来自上位机的串口接收队列消息:
    • 设置世界坐标系速度
    • 设置机器人坐标系速度
    • 读取世界坐标系x,y,w坐标
    • 重置编码器数据
  • TF.c内包含速度解算与里程解算:
    • 世界坐标系速度解算为三轮速度
    • 机器人坐标系速度解算为三轮速度
    • 三轮脉冲速度解算为世界坐标系实际速度,积分得世界坐标系里程坐标
  • 与STM32F1采用CAN通信,实现里程清零与里程请求
  • 与三轮电机驱动盒采用CAN通信,实现三轮速度设置
  • 注意:
    • 电机驱动盒下发速度为 转/min
    • 驱动盒设置最小速度为零,当下发速度小于5转/min,(0.03m/s,0.1rad/s)时间超过10s电机会不受控制;
    • 电机最大转速5600转/min,减速比27,转换为世界坐标系速度不得超过1.1m/s
    • 三号电机与驱动盒的电源线接法为反向;
    • 驱动盒不上电编码器不会有计数;
    • 2,3号轮子打滑很严重,电池放前面会好一点
    • 采用串口1接收陀螺仪数据 陀螺仪发送速度最大50hz/s
    • CAN2为家政组陀螺仪接收
    • 串口4为 君越陀螺仪 接收,用于卡尔曼滤波
  • 展望:
    • 编码器采集功能可以尝试放在可以F4实现,这样就不用F1了,并且省去CAN通信的过程
    • 请认真接好每一根线,所有线都要贴敷在铝材上,所有电源线都不要太长
    • 由于驱动盒的田宫接口不容易拔下(空间狭小),将电机,编码器与驱动盒的所有连接线都在中间加一个田宫接口,保证驱动盒可以方便取下
    • 电路板上接口不要用杜邦线和类似CAN接口的螺丝接口,全部使用插拔式田宫接口,保证电路板方便取下且稳定连接
    • 将与上位机通信的串口线的CH340芯片画在板子上,软件组只需使用USB线即可,用于陀螺仪通信的232转TTL也画在板子上
    • 请务必搞懂电机驱动盒的pid调速机制(与编码器脉冲的关系)
    • 利用F4的USART2尝试做一个遥控器,方便后期调试