【毕业设计】履带四足复合机器人

嵌入式Linux

共 2212字,需浏览 5分钟

 ·

2022-06-21 13:15

1.项目简介


本项目中,履足式复合机器人拥有两种行进模式:四足行进模式、履带行进模

式,应对不同场景及地形时能够切换形态。四足形态下整体总共拥有8个自由度DOF,单腿各具备2个自由度DOF,足端结构融入了履带机构,各履带机构配备1个直流电机驱动。


该机器人主控板的MCU模组为ESP32-WROVER-E,能够实现针对总线舵机+PWM舵机+直流电机的控制,同时包括其他硬件资源:六轴加速度传感器、OLED屏幕接口、RGB灯珠、蜂鸣器等。


履带车形态在平坦或稍崎岖的地貌上能够保持较高的行进速度,降低了四足爬行的功

bilibili视频链接:https://www.bilibili.com/video/bv1aU4y197CP

初始草稿:


最初的构想来源——《使命召唤11:高级战争》中的“泰坦”重型坦克:



2.电控硬件功能

2.1 主控板:

2.1.1 电机驱动:

  • 6路串行总线舵机接口:

    PH2.0-3P,74HC126D

  • 4路直流电机驱动:

    TB6612FNG


2.1.2 指示器件:

  • 1颗 六轴加速度传感器:

    MPU6050

  • 1块 拨轮编码器:

    MITSUMI

  • 1颗 普普通通的 微型无源蜂鸣器:

    DET402-G

  • 1颗 普普通通的 发光LED:

    0603

  • 1处 0.96寸4针OLED屏幕接口:

    HDR-1*4P-F

  • 3颗 普普通通的 RGB灯珠:

    WS2812B-2020


2.1.3 拓展接口:

  • 2路拓展IIC接口:

    PH2.0-4P

  • 1路WS2812B灯珠接口:

    HDR-M-2.54-3P


2.2 拓展板:

  • 16路PWM舵机驱动:

    PCA9685



3.选型简述

3.1 电机选型:

  1. 串行总线舵机选型:型号:HTS-35H,额定电压:9.0~12.6V,串行通信波特率115200,额定扭矩:35kg.cm/3.5N.m。通信需要将UART全双工转半双工,根据幻尔舵机商家提供的通信协议手册和原理图,采用74HC126D实现;



  2. PWM舵机选型【经济方案】:型号:MG996R,额定扭矩:13kg.cm/1.3N.m。常见的大舵机,配合拓展板应该也没什么问题,箭头处注意供电电压。(注意供电连接,主控板与拓展板可通过铜柱连接电源)





  3. 直流电机选型:型号:JGA25-370-1260,额定电压:12.0V,减速比:1:103,空载转速:60转/分钟。主控V1.0版本中,采用TB6612FNG驱动【考虑到价格问题,后续打算用RZ7899/DRV8833替代】;



3.2 其他选型:

  1. 六轴加速度传感器:MPU6050。通常选择,源代码中定义支持了采用DMP获取四元数后,再解算得Pitch、Roll角(yaw角太飘),而且QFN封装可能不太好焊。


  2. 芯片供电:3.3V与5V供电均采用LDO实现,即SCJT1117-3.3与SCJT1117-5.0。(由于压差较大,建议贴散热片)


  3. 电源选型:采用放电倍率35C的3S聚合物航模电机,但考虑到安全问题,经测试3节放电倍率10C的18650动力锂电池也能驱动

    航模电池:(危险,但带劲)


    18650动力锂电池:



4.实物图片

主控板:


16路PWM舵机---拓展板:


组合图:



5.机械结构设计

所述机器人整体总重量(加电源)经称量可达3.0kg。

目前大部分结构零件以FDM式3D打印技术制造,采用PLA材质,故主要参数推荐:0.15mm层高,70%填充。部分需要少量支撑零件,如履带外壳——主壳、提手、躯体前侧板等

设计特点:

  • 履带足

  • 二自由度串联腿

  • 四足形态:

    8自由度

  • 履行模式:

    4电机驱动

  • 预留二自由度云台

  • 3D打印结构




6.控制系统软件设计

VSCode+PlatformIO平台开发,目前机器人主控系统主要包括2部分:底层驱动,运动控制。


6.1 底层驱动内容:

  • 串行总线舵机通信

  • 直流电机驱动

  • 六轴加速度传感器通信

  • OLED屏幕驱动

  • 拨轮编码器读取

  • WS2812B-RGB灯珠驱动

  • 蜂鸣器驱动

  • WiFi通信配置


6.2 运动控制内容:

  • 单腿正解FK

  • 单腿逆解IK

  • 姿态逆解

  • 足端摆线轨迹计算

  • Trot步态模式

  • Walk步态模式

  • *VMC算法 -- 伪闭环(待测试)


6.3 代码文件说明:

lib:

  • Adafruit_NeoPixel: WS2812B灯珠驱动控制(有点小bug,第1个灯珠有些不受控制,待更改)

  • Adafruit_PWM_Servo_Driver_Library: PCA9685通信及驱动库

  • MPU6050:加速度传感器

  • U8g2:用于0.96寸 OLED屏幕驱动


src/Drive:

  • Hiwonde.h/.cpp: 串行总线舵机通信库

  • ServoDrive.h/.cpp: PWM舵机驱动控制库(PCA9685)

  • IOs.h/.cpp: GPIO引脚配置及控制库

  • IMU.h/.cpp: MPU6050加速度传感器通信库

  • DCMotorDrive.h/.cpp: 直流电机驱动控制库


src/Dynamics:

  • FKIK.h/.cpp: 单腿正逆解库

  • MotionControl.h/.cpp: 机器人运动及姿态控制库



7.远程控制App设计

注意:需要开启定位、通知权限

设计特点:

  • 基于Android端开发

  • 采用WIFI作为无线通讯模式

  • 采用TCP作为传输层协议


8.实物样机



(摄像头后续再用)


彩蛋:

资料下载链接

https://oshwhub.com/PCBguy/2e3UWJAkJbkpLge9zfKt6Q9YRR9SX1Nb

 

     

浏览 71
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报