履足复合机器人在本项目中有两种行驶模式:
四足总共有8个自由度DOF,单腿各有两个自由度DOF,全端结构融入履带机构,配备直流电机驱动。
机器人主控板MCU模组为ESP32-WROVER-E,能够实现针对总线的舵机 PWM舵机 包括其他硬件资源在内的DC电机控制:
履带车的形状可以在平坦或稍崎岖的地形上保持较高的行驶速度,降低四足爬行功率
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
16路PWM舵机驱动:
PCA9685
串行总线舵机选型:型号:HTS-35H,额定电压:9.0~12.6V,串行通信波特率115200,额定扭矩35kg.cm/3.5N.m。通信需要将UART根据幻尔舵机商家提供的通信协议手册和原理图,采用74HC126D实现;
PWM舵机选型【经济方案】:型号:MG996R,额定扭矩:13kg.cm/1.3N.m。常见的大舵机和扩展板应该没有问题。注意箭头的电源电压(注意电源连接,主控板和扩展板可通过铜柱连接)
型号:型号:JGA额定电压为25-370-1260:12.0V,减速比:1:103,空载转速:60转/分钟。V1.在0版本中,TB6612FNG驱动考虑到价格问题,后续计划使用RZ7899/DRV8833替代】;
六轴加速传感器:MPU6050。通常选择,支持源代码的定义DMP获得四元数后,再解算Pitch、Roll角(yaw而且QFN包装可能不容易焊接。
芯片供电:3.3V与5V供电均采用LDO实现,即SCJT1117-3.3与SCJT1117-5.0.(由于压差大,建议贴散热器)
电源选择:放电率35C的3S聚合物航模电机,但考虑到安全问题,3节放电率为10C18650动力锂电池也可以驱动
机器人总重量(加电源)称量可达3.0kg。 目前,大多数结构部件都是结构部件FDM式3D采用印刷技术制造PLA因此,推荐主要参数:0.15mm层高,70%填充。一些需要少量的支撑部件,如履带壳-主壳、手柄、身体前侧板等
履带足
二自由度串联腿
四足形态:
8自由度
履行模式:
4电机驱动
预留二自由度云台
3D打印结构
VSCode PlatformIO目前,机器人主控系统主要包括底层驱动和运动控制两部分。
总线舵机串行通信
直流电机驱动
六轴加速传感器通信
OLED屏幕驱动
读取拨轮编码器
WS2812B-RGB灯珠驱动
蜂鸣器驱动
WiFi通信配置
单腿正解FK
单腿逆解IK
姿态逆解
计算足端摆线轨迹
Trot步态模式
Walk步态模式
*VMC算法 -- 伪闭环(待测试)
Adafruit_NeoPixel: WS2812B灯珠驱动控制(有点小)bug,第一个灯珠有些不受控制,需要更改)
Adafruit_PWM_Servo_Driver_Library: PCA9685通信和驱动库
MPU6050:加速度传感器
U8g2:用于0.96寸 OLED屏幕驱动
- p>Hiwonde.h/.cpp: 串行总线舵机通信库
ServoDrive.h/.cpp: PWM舵机驱动控制库(PCA9685)
IOs.h/.cpp: GPIO引脚配置及控制库
IMU.h/.cpp: MPU6050加速度传感器通信库
DCMotorDrive.h/.cpp: 直流电机驱动控制库
FKIK.h/.cpp: 单腿正逆解库
MotionControl.h/.cpp: 机器人运动及姿态控制库
注意:需要开启定位、通知权限
基于Android端开发
采用WIFI作为无线通讯模式
采用TCP作为传输层协议
(摄像头后续再用)
彩蛋:
https://oshwhub.com/PCBguy/2e3UWJAkJbkpLge9zfKt6Q9YRR9SX1Nb