🦾 六足步行机器人

仿生机器人的经典之作,18个自由度的六足平台,
实现了多种步态和复杂地形适应能力。

项目起源

六足机器人是我个人最喜欢的项目之一。从3D建模设计到运动学编程,完整体验了一个仿生机器人的诞生过程。

六足机器人整体

机械设计

3D建模

使用 SolidWorks 进行精确建模,确保:

  • 关节运动范围合理(±60°)
  • 重心位置平衡
  • 结构强度满足要求

3D建模

材料选择

  • 机身:碳纤维板(轻量化)
  • 关节:高强度尼龙(耐磨)
  • 舵机:MG996R(扭矩大)

实物组装

运动学分析

正向运动学

根据关节角度计算足端位置:

1
2
3
4
5
6
7
8
9
10
def forward_kinematics(theta1, theta2, theta3):
"""
计算足端坐标
theta1: 髋关节角度
theta2: 大腿关节角度
theta3: 小腿关节角度
"""
x = L1*cos(theta1) + L2*cos(theta1+theta2) + L3*cos(theta1+theta2+theta3)
y = L1*sin(theta1) + L2*sin(theta1+theta2) + L3*sin(theta1+theta2+theta3)
return (x, y)

逆向运动学

给定足端位置,求解关节角度(使用几何法 + 迭代优化)

步态算法

1. 三角步态

最稳定的步态,始终保持3只脚着地:

  • 奇数腿组(1,3,5)同时抬起
  • 偶数腿组(2,4,6)保持支撑
  • 交替进行,形成稳定行走

2. 波浪步态

更加灵活,适合快速移动:

  • 腿部依次抬起(1→2→3→4→5→6)
  • 形成波浪状运动
  • 速度快但稳定性略低

3. 自适应步态

根据地形自动调整:

  • 平坦地面:使用快速波浪步态
  • 崎岖地形:切换稳定三角步态
  • 障碍物前:启动跨越步态

调试过程

控制系统

硬件架构

  • 主控:Arduino Mega 2560
  • 舵机驱动:PCA9685(16通道PWM)
  • 传感器
    • 超声波(避障)
    • 陀螺仪(姿态)
    • 触觉传感器(足端压力)

软件架构

1
2
3
4
5
6
主控制循环
├── 传感器数据采集
├── 步态规划
├── 运动学解算
├── 舵机角度输出
└── 稳定性控制

项目成果

经过多次迭代优化:

改进前

  • 行走不稳定,容易摔倒
  • 耗电量大,续航短
  • 对地形适应能力差

改进后
改进版本

  • ✅ 稳定行走,可适应10°斜坡
  • ✅ 续航提升至40分钟
  • ✅ 可跨越2cm障碍物
  • ✅ 支持远程遥控

测试照片

技术挑战

1. 舵机同步

18个舵机需要精确同步,任何延迟都会导致步态混乱。
解决方案:使用专用舵机驱动板 + 时间戳同步

2. 稳定性控制

六足行走时重心不断变化,需要实时调整。
解决方案:引入陀螺仪反馈 + PID姿态控制

3. 能耗优化

舵机耗电巨大,需要优化功耗。
解决方案

  • 优化步态减少不必要的动作
  • 使用高效电源管理模块
  • 待机时舵机断电

后续计划

  • 添加摄像头视觉导航
  • 实现 SLAM 建图功能
  • 开发手机 App 远程控制
  • 参加机器人竞赛

六足机器人是一个非常适合学习的项目,涉及机械、电子、编程多个领域。如果你也想做一个,欢迎交流!

avatar
c10
机器人开发者 / 技术分享 / 摄影爱好者
Follow Me
Announcement
欢迎来到我的技术博客!🚀
这里记录我的机器人项目和技术心得。
持续更新中...