履带四足复合机器人这个题目,乍一看像是给研究生准备的机械电子综合课题,但放到本科毕业设计的范畴里,只要把需求边界收得住,它完全可以做成一个结构清晰、亮点明确的实物原型。我见过不少学生把这类“多运动模态”当成万金油,结果要么只做了个会动的底盘,要么四条腿根本撑不起车体,最后答辩全靠PPT硬撑。这篇文章我就结合自己做这类移动平台的经历,把履带四足复合机器人的设计思路、机械选型、控制方案和调试现场完整拆一遍,尤其是那些说明书上不会写的坑。
1. 项目概述与需求拆解
1.1 一个机器人为什么要有两种移动方式
先说清楚“复合”这两个字的价值在哪里。普通履带底盘的优势是接地面积大、越障抓地力强、控制简单,但它有个天然短板——遇到垂直障碍物(比如台阶、门槛)或者沟壑时,车身倾斜度大,通过性全凭底盘长度和驱动扭矩硬扛。四足机器人恰好相反,它可以通过腿部关节主动抬升机身、跨越峭壁,结构化地形适应能力极强,但四条腿在平地上走起来又慢又费电,控制复杂度也高得离谱。
履带四足复合机器人解决的不仅是“两种机构装在一起”的问题,而是“用两种模态互为备份”:平地快速转场用履带,复杂地形越障用四足,中间还可以做半履带半腿的过渡姿态。这个思路在巡检、勘测和紧急搜救场景里非常实用,做成毕业设计也有很强的展示效果。
1.2 毕业设计的需求边界怎么定
毕设最怕的就是目标设置得太大。履带四足复合机器人往大了做,可以做成消防侦察平台的构型,带机械臂、云台和自主导航;但本科周期一般只有十六周左右,留给机械加工和软件调试的时间非常有限,所以我在立项时把需求收敛成三条:
- 平台自重控制在10kg以内,能扛得住实验室常见的减速带和台阶;
- 具备两套独立的行走模态:履带差速驱动模式和四足步态模式,两种模式之间能实现一键切换;
- 使用单一主控完成运动控制,不依赖外部计算设备,预留遥控和简单的传感器接口。
这三条约束直接决定了后续所有选型。如果谁能把这三条扎实做完,并且在答辩现场演示履带模式跑一圈、四足模式上下台阶,这个题目的完成度已经能评优了。
1.3 总体架构与模块划分
整个系统的技术框架可以分成四个层次:机械结构层、驱动执行层、感知与控制层,以及用户交互层。
机械结构层包括履带底盘、四足腿部和升降机构;驱动执行层包括关节电机、履带电机和对应的驱动器;感知与控制层以舵机控制板加主控MCU为核心,接收IMU姿态数据和遥控指令;交互层就是上位机或者手柄,用来发送模式切换指令。
四个层次之间是低耦合的,任何一个模块坏了都能单独替换,这也是复合移动机器人能快速迭代的前提。
2. 机械结构设计与关键参数计算
2.1 复合构型的取舍:一体式还是独立式
做复合移动平台,首先得想清楚腿和履带的相对位置关系。我见过两类主流方案。
第一类是“履带腿一体式”,每条腿的末端直接安装一条小型履带轮组,四足站立时,四条末端履带跟地面接触,相当于四个“履带脚”;转换为履带模式时,把腿部关节锁死成固定姿态,四条末端履带同时驱动,整个机器人像一辆履带车一样往前跑。这个方案的好处是没有额外的升降机构,重量轻,机械简单;缺点是履带对地面的附着力不如整条底盘直接压地,跑起来容易打滑。
第二类是“独立履带底盘加可收纳腿部”,车体中央装有两套大型履带,四足机构通过腰部和跨关节执行器,可以整组抬起或者放下。履带模式下腿完全离开地面,底盘全面着地,跟普通履带车等效;四足模式下履带悬空,腿作为唯一的支撑机构。这个方案控制更清晰,不同模态之间互不干扰,缺陷是底盘和腿部加起来机构复杂,钣金加工量很大。
如果让我给毕设建议,我推荐第一种“履带腿一体式”。原因很简单:加工难度低,重量容易做小,而且模式切换只需要改变腿部关节角度,不需要单独设计一套升降机构。但为了和大家讨论透彻,这里我把两种方案的结构参数放在一起对比。
| 设计参数 | 履带腿一体式 | 独立底盘加腿部 |
|---|---|---|
| 机械复杂度 | 中低 | 高 |
| 整体重量 | 轻(约8kg) | 重(约12kg以上) |
| 履带模式附着力 | 中 | 高 |
| 四足模式稳定性 | 好 | 好 |
| 加工成本 | 低 | 高 |
| 适合场景 | 室内外平整台阶地形 | 野外复杂地形 |
2.2 履带模块的参数计算
履带模块的设计核心是“速度需求倒推电机参数”。我给自己定的指标是平地速度0.8m/s,履带轮的直径初步取80mm。轮子周长约0.25m,要达到0.8m/s,轮子转速需要约3.2转/秒,也就是约192rpm。
根据这个转速需求,我选择了带行星减速器的直流电机,减速比1:30到1:50之间。为什么不用常规TT马达?因为TT马达的轴径和扭矩都不够,额定扭矩普遍只有2-3kg·cm,直驱80mm的主动轮爬个坡就烧了。行星减速电机常用的规格是12V供电,空载转速300rpm左右,堵转扭矩能达到15kg·cm以上,足够驱动一台8kg的机器人以0.6m/s的速度爬15度坡。
再算一下履带的驱动力矩需求。8kg机器人满载后的滚动阻力系数在硬质地面约0.1,四履带同时驱动,所需的牵引力约为8×9.8×0.1=7.84N。而负载主要集中在前两条履带,分配不均时前轮需要承受约6N的推进力,乘以80mm履带轮的半径0.04m,得到单侧履带所需扭矩约为0.24Nm,也就是约2.4kg·cm。听起来不大,但考虑到启动瞬间的加速力矩、爬坡时的重力分量和履带与地面的压紧损失,实际选型要留3到5倍裕量,所以我最后选择了堵转扭矩大于1Nm的减速电机,这样即使在四足末端履带同时着地时,推进力也不会被卡死。
2.3 四足腿部关节布局与自由度数量
四足腿部的配置直接决定了运动控制算法的复杂程度。最简单的双关节方案是“髋-膝”结构,两条腿只有侧摆关节和屈膝关节,正面看是平面运动,跨障碍的能力有限,但胜在控制简单。
我采用的是主流四足机器人常用的“外展髋、大腿髋、小腿膝”三关节布局,每条腿三个舵机,总共12个关节自由度和4个履带电机自由度。这个布局的优点在于:侧摆关节可以让腿在垂直平面内调整足端横向位置,增强稳定性;大腿和小腿的屈伸则提供前后迈步的行程。
关节舵机的参数需要按腿部杠杆受力来算。假设机器人总重8kg,站立时单条腿承载约2kg力,即20N;大腿长度约15cm,膝关节感受到的重力臂约12cm,那么静态下肢关节需要2.4Nm的扭矩。考虑到抬腿和缓冲时脚底冲击力会超过两倍自重,我选用了单关节峰值扭矩4Nm以上的数字舵机,大约相当于市面上标称40kg·cm级别的大扭矩舵机,这个余量在实测中足够了。
2.4 加工材料与装配工艺
机械结构材料的选择是一个容易被忽视但影响很大的环节。很多学生直接用3D打印整机,结果打印件韧性不够,舵机安装座在连续运转中开裂。
我的做法是:底盘框架用6061铝合金板材线切割,厚度3mm;腿部连杆用碳纤维管加铝合金法兰接头;舵机支架和履带轮毂用PLA或PETG打印,并预留2.5mm沉头孔。这套组合兼顾了刚性和加工速度。所有受力部位都在铝合金和碳纤维管上,3D打印件只承担非承重的结构支架,这样整个平台能扛住长时间桌面测试的震动。
装配时有几个细节值得注意:舵机安装座的螺丝孔必须预留0.2mm的间隙,金属舵机发热后塑料底座会轻微变形,螺钉拧太死反而会卡住舵机输出轴;腿部连接销轴用带法兰的轴套固定,而不是直接靠螺丝锁死,避免舵机输出轴承受轴向弯矩;履带的张紧轮要选用可调节偏心轮结构,否则使用一段时间后履带松弛会掉链子。
3. 驱动选型与控制系统硬件方案
3.1 关节电机怎么选:舵机、无刷还是行星减速电机
这里可能是毕设最纠结的选型。我列个对比表:
| 电机类型 | 扭矩 | 控制精度 | 成本 | 体积 | 毕设推荐度 |
|---|---|---|---|---|---|
| 大型模拟/数字舵机 | 高 | 中 | 低 | 大 | 高 |
| 带编码器的无刷关节电机 | 高 | 高 | 高 | 中 | 中 |
| 行星减速直流电机加编码器 | 中 | 中 | 中 | 中 | 低 |
实际操作中,履带四足复合机器人这种以演示和验证为主的毕设,最合适的就是搭载角度反馈的数字舵机。它内部自带减速器和位置反馈,控制简单,只要发PWM信号就能工作,不用自己算PID和换向逻辑。无刷关节电机性能虽好,但需要配套的伺服驱动器、母线和上位机调参软件,光调试周期就要多出两周,对毕设进度压力很大。
3.2 主控选型:单核心还是双核心
复合机器人的控制任务可以拆成两类:一类是高频、实时的运动控制,比如腿部步态节拍、舵机角度输出;另一类是低频、复杂的决策逻辑,比如模式切换、传感器融合、串口通信。
如果全部塞进一块STM32F407里,逻辑会非常拥挤,中断优先级稍微一乱,舵机角度更新就卡一下,机器人直接腿抖。我的方案是采用双核心架构:STM32F407负责实时运动控制和舵机驱动,树莓派或者高性能ESP32负责模式切换和串口协议解析,两个MCU之间用UART通信,像“底层硬件驱动+上层决策调度”一样协作。
STM32F407有多个定时器资源和丰富的中断通道,可以同时输出12路舵机PWM而不冲突;树莓派或者ESP32处理IMU数据、手柄指令和远程控制命令,只给底控发送简洁的指令帧,例如“切换LEG模式”、“设定航向角30度”。
3.3 电源系统设计与供电隔离
复合机器人的电源是整个硬件部分最容易翻车的地方。履带减速电机启动时瞬间电流可能达到5A以上,如果和舵机共用一组电源,会导致舵机供电电压剧烈波动,轻则舵机抖动,重则主控复位。
我的解决办法是“主电源分区供电”:整机采用一块3S锂聚合物电池(11.1V)作为主电源,分成两个独立支路:一路通过5V/10A的大降压模块给舵机供电;另一路通过12V升压模块给履带电机驱动板供电;主控板和通信模块单独使用一个5V/3A的稳压模块。三个供电支路之间用共地方式连接,但功率级和信号级地线做单点接地,用示波器实测,舵机供电端的电压纹波控制在0.3V以内。
3.4 传感器配置:姿态和地形判断
基础版复合平台至少要配备一个姿态传感器,我用的是MPU6050六轴IMU,上电后要在静态状态下做陀螺仪零偏校准,采集200帧数据取平均作为初始偏差。
如果想做简单的自主模式切换,可以在车头安装一个超声波测距模块或激光测距模块用于检测台阶边缘,同时配合IMU的俯仰角判断底盘是否抬起。需要注意的是,单纯靠俯仰角切换模式很不稳定,机器人上下坡时IMU俯仰角会持续变化,所以实际切换逻辑要加“持续触发条件”:俯仰角大于25度并且持续500ms以上,才判定为进入四足模式;防止瞬时抖动造成误切换。
4. 运动控制与模式切换实现
4.1 四足腿部运动学建模
四足运动控制的第一步是运动学建模。以髋关节侧摆角、大腿髋关节角和小腿膝关节角为未知数,足端目标位置作为输入,可以用几何方法解出目标关节角度。
对于单腿的三自由度模型,建模思路分两步。第一步,把三关节近似看成在小腿和足端投影平面上的二维二连杆模型:由足端相对髋关节的水平和垂直位置,先求大腿和膝关节的角度;第二步,由足端横向偏移量和根节点偏置,反算侧摆角。
我实际用的公式是几何法推导,因为有标准的三角形余弦定理可查。这里不展开推导细节,只提醒一句:不要把机器人所有坐标系都放在机体中心,一定要在每条腿的髋关节处单独建立局部坐标系,这样后续调参和排查数学错误时会更省事。
4.2 步态规划:三角步态和爬行步态
初版测试建议从“静态爬行步态”开始,也就是每条腿在摆动相时其余三条腿保持不动,重心始终落在支撑三角形内。静态步态慢,但稳定性最好,也不会出现因为重心迁移计算错误导致翻车的现象。等静态步态稳定后,再切换成对角小跑步态,这时“左前和右后”两条腿同时摆动,机身会进入动态平衡状态,对IMU和角速度反馈的要求更高。
步态节拍可以用状态机实现。每个节拍周期定义“摆动腿集合”和“支撑腿集合”,在一个周期内按占空比把腿部相位切分成摆动相和支撑相:
- 支撑相:足端相对机身沿身体运动方向后移,推动身体前进;
- 摆动相:足端抬起,从后往前摆动到新的期望落点。
支撑相和摆动相的切换要平滑,尤其是在换相瞬间若足端点速度不连续,机身会抖一下。普通毕设可以采用五次多项式插值规划足端轨迹,保证位置、速度、加速度连续。
4.3 履带模式控制:差速与直行修正
履带机构本质上是一个差速驱动模型,左右两组履带的转速差决定了航向角。只需要对左右履带电机的PWM占空比做差分控制,就能实现前进、后退和原地转向。
但履带模式在运行中碰到一个麻烦——两套履带驱动的机械不对称会造成直行跑偏。我在程序里单独加了一个“直行系数”:空载状态下先把左右履带PWM占空比开到50%,实测左、右履带每分钟的转速,然后计算出速度差比例系数,在需要直行时对其中一侧的PWM做线性补偿。这个系数每换一次电池电压都会发生变化,所以要在上位机留一个参数配置入口,做一次标定后固化保存。
4.4 模式切换状态机设计
模式切换是复合机器人的灵魂,也是答辩时最容易出彩的环节。我用一个有限状态机来管理全局模式,状态依次是“履带行驶模式”“姿态过渡模式”“四足步行模式”。
切换逻辑是这样的:
- 从履带模式切换到四足模式时,先让履带电机进入平滑减速状态,速度在1秒内从设定值降到零,防止急停造成机身前倾;
- 然后驱动腿部关节从“折叠收藏位”移动到“站立支撑位”,这个过程要分步执行,先伸腿侧展,再伸直大腿,最后用小腿支撑让轮子轻微离开地面;
- 履带驱动电机保持在最低占空比10%左右,让末端履带带速跟踪足端移动速度,避免切换瞬间打滑;
- 确认四条腿都进入支撑相后,再正式切换状态标志,进入四足步态。
我踩过一个大坑:切换过程中如果直接让履带电机断电,中央底盘的惯性会让整机在履带和地面之间产生滑动,导致腿部落点偏移。所以“履带减速”这个动作必须出现在腿部下地之前,哪怕只是电制动,也能明显提高切换稳定性。
4.5 步态控制器与IMU融合
在四足模式实际行走时,纯靠位置闭环开环世界步态,遇到不平地面很容易摔倒。我给每条腿的支撑相加了一个简单的“虚拟弹簧”阻抗控制逻辑:通过IMU感知机身的横滚和俯仰角,当机身向一侧倾斜时,对应一侧的腿在支撑相时自动增加下压深度和迈步幅度,形成一个类似身体平衡的负反馈。
这个算法不需要复杂的动力学建模,核心就是PID的变体。比例项用机身角度误差,微分项用角速度误差,输出叠加到腿部关节角的目标值上。我调参时把P取到0.3,D取到0.05,效果就已经不错了,没有再引入积分项,因为机器人低速状态下姿态稳态误差本来就很小,加了积分项反而容易产生过冲。
5. 实操过程与调试现场记录
5.1 先仿真再上真机:用Webots验证步态
做运动控制最怕的就是直接上真机调试,摔一台机器人损失太大。我强烈建议在仿真环境里先把步态和参数跑通,再移植到实物。我用Webots搭建了一个约10kg的四足平台模型,把末端加装履带轮,手动规划了一个三角步态和越障步态,仿真时长大约跑了30分钟就发现了一堆问题:
- 步态周期太短时,机器人起步阶段有严重的前后点头,原因是支持相足端轨迹的初速度不为零;
- 抬腿高度过低,遇到5cm的障碍会直接踢到小腿;
- 四足模式下底盘履带还在带最小电压,导致腿摆动时车身产生附加滑动。
这些问题如果在真机上一一排查,不仅要反复拆装机,还容易损坏舵机。仿真环境里改参数只需要几分钟,省下了至少一周的调试时间。
5.2 单关节调试:从舵机校准开始
硬件上电后的第一个环节,是把每条腿的三个舵机单独校准到自己设计的中位角度。我用的是基于Arduino的舵机测试工具,把每个关节调到0度,然后量实际角度和理论角度的偏差,把这个差值存到EEPROM里作为关节零点补偿。
这里建议一定不要把零点补偿和软件角度混在一起处理。我调试时发现,关节零偏最大值通常有3到5度,如果不补偿,四条腿站立时是歪的,后面所有运动学计算全部失真。补偿完成后,再用姿态仪贴在机身平面上,检查四条腿是否在同一平面,这一步是后续所有步态实验可靠性的前提。
5.3 联调全流程:由单腿迈步到整机行走
联调时我把过程拆成了四个阶段,每过一关才进入下一关:
第一阶段是“单腿摆动测试”,单独控制每一条腿在空间内做小幅度圆形轨迹,观察舵机是否有抖动、卡涩和过温现象。 第二阶段是“对角步态空载测试”,机器人悬空,四条腿离地,只跑规划和脚底轨迹,重点确认四腿之间不会互相碰撞,也不会打到履带底盘。 第三阶段是“支撑相测试”,机身在低速支撑状态,逐步增加腿部下压和机身前移比例,观察履带末端是否有打滑现象。 第四阶段是“整机步态测试”,在平坦地面实现两三个周期的三角步态行走。
每进入下一阶段之前,我都会把电机电流和IMU数据录一遍,一旦发现异常,比如某个舵机电流突然升高,系统日志能帮我快速定位是哪条腿出了问题,而不是靠肉眼从头查。
5.4 切换参数整定与标定流程
模式切换的速度是一个重要的调参点。我在这台机器人上实测,履带到四足的完整切换时间控制在2.5秒左右最合适:太快履带和腿部同时动作容易让整车重心失稳;太慢则显得拖沓,演示效果不好。
给操作者一个建议:切换过程不要用串口直接发送“切换”两个字符,而应该设计成协议帧,包含帧头、CRC校验、模式字段等。否则在调试现场遇到一串噪声信号,机器人就可能意外进入四足模式,直接翻车。我产品化的协议帧是:0xAA 0x55 + 模式字 + 效验字节,接收端收到后先校验再执行。
6. 常见问题与避坑经验实录
6.1 腿部与履带发生干涉
这个问题在机械设计阶段就要仔细检查。常见的情况是:四足步态摆动腿时,大腿向外展开,正好扫到履带张紧轮,直接把固定螺丝撞掉。解决思路有三条:一是调整腿部侧摆角的运动范围限制,我的实现是在舵机控制函数里加硬限位保护,避免关节角超限;二是在机械结构上给张紧轮做内凹设计,让它在足端轨迹平面之外;三是加装限位开关,当腿部真的碰到机械限位时,状态机强制进入安全模式并停止运动。
6.2 舵机过载抖动与高温
四足机器人最容易烧的就是腿部舵机,特别是站立时承受全功率的膝盖关节。我的排查经验是:先检查腿部的机械阻尼。很多抖动不是控制问题,而是舵机输出轴和连杆之间的齿轮间隙太大。我调试时发现,某条腿的大腿连接端使用了一个公差很大的轴套,导致负载反向转动时齿轮存在空回,舵机就在目标点附近不停震荡。
解决办法:把轴套更换成紧配的622轴承,同时给大腿和小腿的连杆增加轴向预紧力。如果依然抖动,再检查PID速度和位置增益,把位置增益调低10%到20%往往就能稳定。
6.3 电池电压跌落导致的复位
履带电机启动时瞬态电流极高,如果电池内阻偏大,整机电压会瞬间从11.1V跌到9V以下,舵机控制芯片就看门狗复位。这个问题很难从软件根除,硬件上的解决方案是加一个大容量电容组作为储能模块,并调高BEC模块的输入耐压范围。我在舵机驱动支路前并联了一个4700uF/16V的固态电容,实测启动时电压跌落从1.8V降到了0.4V,系统稳定性大幅改善。
6.4 履带打滑与转弯漂移
履带在四足模式中作为“末端足底”时,如果履带段处于滚动状态但四个足底的摩擦系数不一致,整个机器人会出现明显漂移。我采取的办法是:在步行模式时,把履带电机设成“被拖拽滑行”状态,也就是不驱动履带转动,只让轮体随腿部运动自然滚动;另外在履带表面贴了一层颗粒硅胶,增加对瓷砖和水泥地的附着能力。
6.5 给毕设同学的避坑清单
简单整理一下我在整个项目里踩过的坑和对应的预防手段:
| 现象 | 根因 | 解决方式 |
|---|---|---|
| 腿动一下主控就重启 | 舵机电流冲击电源 | 单独供电支路,并联大电容 |
| 四条腿站立歪斜 | 舵机零点未校准 | 上电做零偏补偿并存储 |
| 步态周期中机身点头 | 足端轨迹速度不连续 | 改用五次多项式规划 |
| 履带模式跑不直 | 左右电机差异 | 加直行补偿系数 |
| 切换模式时腿乱摆 | 串口数据误触发 | 协议帧加校验和使能位 |
| 舵机支架断裂 | 负载全集中在打印件 | 承重结构改用铝合金 |
6.6 实测数据表现
最后放一组我在标准测试环境下跑的实测数据,方便大家对照自己的项目估算参数:
- 整机重量:8.6kg(含电池)
- 履带模式平直行驶速度:0.62m/s,单次充电持续行驶约25分钟
- 四足模式平均步速:0.20m/s,单次充电连续步行约18分钟
- 可跨越台阶高度:12cm,适应约20度斜坡
- 模式从履带切到四足的完整时间:2.4秒
这组数据对一台10kg级的复合移动平台来说中规中矩,但作为毕业设计演示已经足够。
我个人在实际操作中的体会是,这种复合机器人的项目,最考验的不是哪个单一环节有多深,而是整个系统能不能顺畅地“合”起来。履带和四足是两个完全不同的运动模态,它们对机械刚度、控制周期和电源储备的要求都不太一样,能把矛盾点调平,项目就成功了一大半。如果你也正在做类似的题目,建议从第一条腿的选型开始就保持整机的重量余量意识,不要在某个模块上堆太多花活,最后的调试时间和稳定性,比任何炫技参数都更能决定你答辩时的状态。