今日推荐: 六足机器人(hexapod robot)控制板


项目参与人员:


功能要求

基于小脚丫FPGA板和树莓派设计六足机器人控制和驱动系统。

  • 摄像头采集
  • 避障
  • 手机遥控

性能要求

  • 运动流畅
  • 电源能够保障持续工作20分钟以上

方案综述:

  • 1.控制电源模块:为Raspberry Pi、FPGA模块供电。
  • 2.执行电源模块:为驱动模块供电,能满足驱动模块的总电流要求。
  • 3.Raspberry Pi :控制中心。接收上位机的控制信息,控制FPGA输出正确的PWM波形。
  • 4.FPGA:数据处理模块,控制驱动板。
  • 5.驱动模块:驱动18个舵机使六足协调运动。
  • 6.通讯:(模块间的通信协议)
    • Pi–FPGA:uart/I2C
    • Pi–PC:socket

购买清单:

关键元器件及参数:

  • 舵机:LDX-218

  • 自恢复电阻丝

实施计划:

第一阶段:实现六足机器人的各个模块连接
  • FPGA :
    • PWM :测试 PWM波形测试(1.波形周期 2.最小步进距离)
    • 确定与树莓派通信接口:Uart/I2C
    • 数据分析 :通信数据格式
  • Pi:
    • Uart/I2C
    • 摄像头
  • 舵机:
    • 0点的确定
    • 特性
    • 驱动电流
    • 执行精度
  • 电源:
    • CKCY BUCK2+模块
  • 原理图:
    • 18路PWM产生模块
    • 18路舵机驱动模块
第二阶段:实现项目任务的一部分
  • FPGA:PWM+缓冲器或驱动器(做控制与驱动隔离)
  • 电源:根据CKCY BUCK2+电源模块,自己设计电源模块
  • 舵机:实现一条腿的控制
  • 制板
第三阶段:实现传感器任务
  • PI:加入摄像头和超声波功能
  • FPGA:通过I2C挂载传感器
  • 电源:根据LM2596电源模块,自己设计电源模块
  • 舵机:实现简单的移动
  • 制板
实体结构:

简单模块化设计

  • 模块设计

  • 安装方式


原理图

Raspberry_Pi-FPGA转接板:sheet1.pdf

电机驱动板:drive.pdf

PCB制造设计

PCB图
Raspberry_Pi-FPGA转接板:

电机驱动板:

BOM表

  • BOM表 fpga_pi

  • BOM表 fpgadrive18pwm

PCB焊接、调试

  • 逐次增加舵机数量,调试18路舵机同时启动

  • 六足机器人直走演示:

  • 六足机器人打招呼:

FPGA连接和Verilog编程

  • FPGA连接图

  • 六足机器人实物连接图
  • Verilog编程

六足_单舵机_code.7z

六足_四态_code.7z

系统测试

  • 出现的问题:机器人走直线时,出现向右的偏差。
    • 问题解决:适当调节右边的前后舵机度数

项目简要总结

项目完成情况

硬件方面

舵机选型

电池选型

舵机驱动板

  1. 原理图设计
  2. PCB设计、打板和焊接


Raspberry Pi与小脚丫FPGA扩展板

  1. 原理图设计
  2. PCB设计、打板和焊接

资源查找方面:

实现了两套控制系统

  1. 六足机器人的步态固化在FPGA内部,树莓派只需要发送简单的命令就可以控制六足机器人前进、原地转动。
  2. 树莓派通过控制协议,让小脚丫FPGA针对某一个舵机进行控制。
  3. 实现了树莓派摄像头的web访问。

现在存在的问题

  1. 电路板上的标注不够详细,对焊接和调试造成了困难。
  2. 两套软件需要对小脚丫FPGA重新烧写程序才能切换。
  3. 六足机器人的舵机线未作整理。
  4. 超声波模块未增加到系统中。

遗憾:

  1. FPGA锁相环如何使用
  2. IP核如何移植
  3. FPGA的内部结构
  4. 未能自己设计电源

#### 项目达到的指标

  • 系统工作20分钟
  • 摄像头web访问

参考文献


Diamond安装及调试

相关参考资料: