开源机械爪CheapClaw:低成本DIY机器人末端执行器设计与实现
1. 项目概述与核心价值最近在折腾一些硬件自动化项目偶然在GitHub上发现了一个名为“CheapClaw”的开源项目作者是polyuiislab。这个项目名字直译过来就是“廉价机械爪”一下子就抓住了我的眼球。作为一个长期在创客圈和硬件DIY领域摸爬滚打的老手我深知一个稳定、灵活且成本可控的机械臂末端执行器也就是我们常说的“爪子”对于自动化项目意味着什么。市面上的成品机械爪要么是玩具级的精度和力度感人要么是工业级的让人钱包颤抖。而这个项目恰恰瞄准了中间那个巨大的空白地带——用极低的成本实现相当不错的抓取性能。简单来说CheapClaw是一个基于3D打印和标准五金件设计的开源机械爪。它的核心目标就是用最少的钱办最多的事。你不需要昂贵的CNC加工也不需要复杂的伺服控制系统通过精心设计的结构、随处可见的舵机和螺丝螺母就能组装出一个抓力可观、动作可靠的机械爪。无论是用于桌面级的物品分拣、教育演示还是集成到你的机器人项目里作为“手”它都是一个极具性价比的选择。这个项目特别适合硬件爱好者、学生创客、以及任何想低成本入门机器人末端执行器设计的朋友。接下来我就结合自己多年的实操经验把这个项目的里里外外、从设计思路到组装调试的坑都给你盘清楚。2. 项目整体设计与思路拆解2.1 核心设计哲学成本与性能的平衡术CheapClaw的设计哲学非常清晰就是在保证基本功能可靠的前提下将成本压缩到极致。这听起来简单做起来却需要大量的权衡。作者polyuiislab显然深谙此道。整个设计围绕几个核心原则展开第一最大化利用3D打印。所有结构件包括爪子的手指、手掌基座、传动连杆全部设计为可通过FDM熔融沉积3D打印机打印的模型。这意味着只要你有一台几百块钱的入门级3D打印机比如Ender-3系列就能“凭空”制造出绝大部分零件。材料成本就是一卷几十元的PLA或PETG线材单只爪子的材料成本可以控制在十元以内。这是成本控制的基石。第二标准化与易获取。除了3D打印件项目所需的其余零件全部是标准件几个MG90S这类常见的9克微型舵机、M3螺丝螺母套装、以及可能用到的轴承。这些零件在任何电子元器件商城、淘宝、拼多多都能轻易买到价格透明且低廉。避免了需要定制特殊规格零件的麻烦和额外开销。第三结构简洁传动高效。机械爪的传动机构采用了经典的四连杆机构变体。通过一个舵机驱动一组对称的连杆带动左右两个手指实现同步的开合动作。这种设计的好处是结构稳定力传递直接并且通过杠杆原理可以在舵机扭矩一定的情况下在指尖获得更大的夹持力。同时对称设计保证了抓取时受力均衡物体不易偏移。第四开源与可扩展。项目所有3D模型文件STL格式、零件清单BOM、甚至组装说明都完全开源。你不仅可以下载下来直接用还可以根据自己抓取物体的大小、形状去修改手指的模型比如加装硅胶套增加摩擦力或者修改指尖形状适应特定物体。这种开放性赋予了项目极强的生命力。2.2 方案选型背后的深层考量为什么选择舵机驱动而不是步进电机或气动为什么是两指平行夹持而不是三指仿生这些选择背后都有其现实考量。驱动方式选择舵机舵机是一个集成了电机、减速齿轮组和位置反馈的“一体化执行单元”。对于机械爪这种需要精确控制角度开合程度的应用舵机是性价比最高的选择。它接收标准的PWM脉宽调制信号控制器如Arduino、树莓派只需要发一个简单的信号就能让它转到指定角度并保持住省去了额外的电机驱动电路和复杂的位置闭环控制算法。虽然扭矩相对有限但对于抓取几百克以内的日常物品经过结构放大后完全够用。两指平行夹持结构相比三指或更多手指的仿生手两指平行夹持结构在机械设计上最简单控制也最直接一个舵机控制开合。它能很好地应对大多数方块状、圆柱状物体如积木、笔、小盒子。虽然灵活性不如多指但在“低成本实现可靠抓取”这个首要目标下两指结构是最优解。它的设计、打印、组装复杂度都是最低的。材料选择PLA/PETG3D打印材料首选PLA因为它打印容易强度对于这个应用也足够。如果环境温度较高或需要更好韧性可以选用PETG。作者通常不会推荐ABS因为其打印难度大、有气味对家庭环境不友好这与项目“易于复现”的初衷相悖。3. 核心细节解析与实操要点3.1 机械结构深度剖析CheapClaw的机械结构是其灵魂所在理解透了组装和调试才能得心应手。1. 基座与舵机舱这是整个爪子的“躯干”。它不仅要牢固地固定驱动舵机还要为整个爪子提供与机械臂或支架连接的接口。设计上通常会有多个螺丝孔位兼容不同的安装方式。舵机被嵌入基座内部通过螺丝紧固确保其工作时自身不会晃动所有的扭矩都用于驱动手指。2. 传动连杆机构这是将舵机旋转运动转化为手指开合运动的关键。通常由一对左右对称较短的“驱动连杆”和一对较长的“从动连杆”组成。驱动连杆一端连接在舵机的摆臂舵盘上另一端通过销轴与从动连杆和手指连接。当舵机转动时驱动连杆推动从动连杆从而带动手指绕其固定在基座上的转轴旋转实现开合。这里的几何尺寸设计至关重要它决定了爪子的开合范围、指尖的运动轨迹以及力的放大倍数。3. 手指设计手指是直接接触物体的部分。它的设计需要考虑 *抓取面通常会有防滑纹路或预留槽位方便粘贴橡胶片、硅胶管或防滑垫以增大摩擦力。 *转轴孔需要与基座上的轴可能是螺丝或专用轴精密配合既要转动灵活又不能有太大间隙。这里常常会设计加入微型轴承如685ZZ来减少摩擦让动作更顺滑尤其是在抓取较重物体时能有效防止卡顿。 *与连杆的连接点这个连接点的位置决定了力臂长短影响抓力。通常设计在手指中部靠下的位置以实现较好的力传递效率。4. 紧固件与标准件全部使用M3规格的螺丝、螺母、垫片。建议购买一整套M3不锈钢螺丝包各种长度都有非常方便。对于转动关节处如果不用轴承可以考虑使用“螺丝螺母垫片”的组合通过调节螺母松紧来控制关节的阻尼太紧会卡死太松则晃动。注意打印件的孔洞尤其是螺丝孔和轴孔尺寸可能需要根据你的打印机精度进行微调。通常需要在3D建模软件中设置“孔洞补偿”Hole Horizontal Expansion比如增加0.2mm以确保螺丝能顺利拧入而不会撑裂打印件。这是组装前必须考虑的问题。3.2 电子与控制部分解析电子部分极其简单这也是项目“廉价”的另一体现。1. 舵机选型最常用的是MG90S金属齿轮舵机。它价格便宜约10元/个扭矩适中约1.8kg·cm金属齿轮比塑料齿轮更耐用。一个爪子只需要一个舵机。如果你的抓取物体更重可以考虑扭矩更大的型号如MG996R约10kg·cm但价格和体积也会相应增加。2. 供电舵机工作电流较大尤其在堵转手指夹住物体无法闭合时。绝对不要直接使用开发板如Arduino Uno上的5V引脚供电那会瞬间导致开发板重启或损坏。必须使用独立的外接5V电源。一个简单的方案是使用一个5V/2A以上的手机充电头搭配一个DC电源插座模块或者直接用一块3S锂电池11.1V配合一个5V降压模块如LM2596。确保电源能提供至少1.5A的持续电流。3. 控制信号舵机有三根线电源红5V、地线棕/黑GND、信号线橙/白Signal。信号线连接到微控制器如Arduino的任何一个支持PWM输出的数字引脚旁边有~标记。控制代码非常简单利用Arduino的Servo库几行代码就能实现角度控制。#include Servo.h Servo myClaw; // 创建舵机对象 int clawPin 9; // 舵机信号线接在引脚9 void setup() { myClaw.attach(clawPin); // 初始化舵机 myClaw.write(90); // 初始位置设为半开角度范围通常0-180需校准 } void loop() { myClaw.write(0); // 闭合爪子 delay(1000); myClaw.write(90); // 打开爪子 delay(1000); }4. 完整组装与调试实操流程4.1 材料与工具准备清单在开始之前请确保你备齐了所有东西。以下是基于一个标准CheapClaw的清单3D打印件PLA/PETG材质手掌基座 x1左手指 x1右手指 x1驱动连杆 x2从动连杆 x2可选舵机摆臂/舵盘 x1通常直接用舵机自带的标准五金件与电子件MG90S金属齿轮舵机 x1M3x10mm螺丝 约10颗M3x6mm螺丝 若干用于固定舵机M3螺母 约10个M3垫片小号 若干强烈推荐685ZZ微型轴承 x2用于手指转轴M3x20mm螺丝 x2用作带轴承的手指转轴杜邦线公对公3根5V/2A以上独立电源 1个Arduino Uno/Nano开发板 1块工具3D打印机层高0.2mm填充率20%以上即可小型十字螺丝刀尖嘴钳可选小锉刀或手钻用于修整打印件孔洞。4.2 分步组装指南组装顺序很重要乱序可能会让你无法安装某些螺丝。第一步处理打印件与安装轴承检查所有打印件用工具清理支撑材料和毛刺。关键步骤如果使用轴承将两个685ZZ轴承分别压入左右手指的转轴孔中。可以用M3螺丝作为辅助轻轻敲击进去确保轴承外圈与打印件紧密贴合内圈可以自由转动。如果不使用轴承此步跳过但后续转动摩擦力会较大。第二步安装手指转轴取两根M3x20mm的长螺丝。将螺丝依次穿过基座侧壁的孔 - 垫片 - 手指穿过轴承内孔或直接穿过打印件孔- 另一侧基座侧壁的孔 - 垫片 - M3螺母。先不要完全拧紧螺母让手指能够自由转动但无明显轴向窜动即可。这一步是预组装方便后续连接连杆。第三步组装连杆与舵机将舵机放入基座的舵机舱内用M3x6mm的短螺丝从底部固定。注意舵机输出轴的方向要与设计一致。将舵机自带的十字舵盘安装到输出轴上用附带的小螺丝拧紧。取两根驱动连杆用M3螺丝和螺母将其一端固定在舵盘的两个对称孔上距离轴心等距。同样先不要拧死保持活动状态。取两根从动连杆用M3螺丝和螺母将其一端与驱动连杆的另一端连接起来。此时你得到了两个“V”形的连杆组合。最后将两个从动连杆的另一端分别用M3螺丝和螺母连接到左右手指上预留的连接孔。注意左右对称。第四步整体紧固与调整现在缓慢转动舵盘可以手动转或者给舵机轻微通电观察整个机构的运动。手指应该平滑地开合没有卡滞或干涉。如果运动顺畅开始按顺序逐步拧紧所有螺丝螺母。顺序建议是先紧固所有连杆之间的连接点再紧固手指转轴处的螺母最后检查舵机固定螺丝。拧紧手指转轴螺母时要边拧边活动手指感觉阻力适中即可。太紧会卡死太松会导致爪子晃动、精度下降。给舵机通电通过控制器让其从0度转到180度观察全程运动是否平滑、有无异响。手动在指尖施加一点阻力感受其抓力。4.3 校准与软件调试硬件组装完毕软件校准决定了爪子的实际使用效果。1. 角度校准舵机的理论控制范围是0-180度但对应到机械爪的实际物理开合范围可能只是其中的一段比如30度到150度。上传一个简单的测试程序让舵机缓慢从0度运动到180度。观察并记录当爪子完全闭合两指尖刚好接触或达到最小间距时舵机的角度值例如45度。当爪子张开到最大且机构不卡死的位置时舵机的角度值例如135度。这两个值就是你的爪子安全的工作范围。在正式的控制程序中应将舵机角度限制在这个区间内防止强行超限转动损坏舵机或机械结构。2. 抓取逻辑优化简单的开合控制是不够的。一个健壮的抓取逻辑应该包含位置控制myClaw.write(openAngle)和myClaw.write(closeAngle)。超时与堵转检测进阶可以通过检测舵机电流或监控其是否到达指令位置来实现简易的“触觉”。更简单的方法是在发出闭合指令后延迟一个时间如0.5秒就认为抓取动作完成。虽然不精确但对很多应用足够了。力度控制模拟通过控制闭合的最终角度来模拟力度。不完全闭合到closeAngle而是闭合到一个中间角度用于抓取易碎品。// 示例带校准和简单延时抓取的逻辑 #include Servo.h Servo claw; int clawPin 9; int openAngle 135; // 校准后的张开角度 int closeAngle 45; // 校准后的闭合角度 int softCloseAngle 70; // 轻柔抓取的角度 void setup() { claw.attach(clawPin); } void grabObject(bool gentle false) { int targetAngle gentle ? softCloseAngle : closeAngle; claw.write(targetAngle); delay(500); // 等待抓取动作完成 } void releaseObject() { claw.write(openAngle); delay(300); // 等待张开动作完成 }5. 性能测试、优化与常见问题排查5.1 基础性能测试组装调试好后需要进行一些测试来量化其能力最大开距测量爪子完全张开时两指尖的距离。这决定了它能抓取物体的最大尺寸。重复定位精度反复让爪子在开、合两个位置间运动多次用卡尺测量指尖位置的重复性误差。好的组装可以达到1-2mm以内的精度这对于很多分拣任务足够了。最大静抓力这是关键指标。可以用一个弹簧秤钩住爪子指尖让爪子闭合抓住弹簧秤的钩子然后缓慢拉动弹簧秤直到爪子打滑或机构变形读取此刻的力值。一个设计良好的CheapClaw使用MG90S舵机抓取几百万的物体应该没有问题。耐久性测试让它连续空载开合数百次观察是否有螺丝松动、结构磨损或异响。5.2 进阶优化技巧如果你不满足于基础性能可以尝试以下优化增加指尖摩擦力在指尖粘贴硅胶防滑垫、热缩管、或粗糙的砂纸抓取效果立竿见影。减重设计如果用于无人机或小型移动机器人可以对非承重的打印件进行“镂空”设计在保证强度的前提下挖掉多余材料减轻整体重量。更换舵机摆臂舵机自带的塑料摆臂可能强度不够。可以自己设计打印一个更长的摆臂这能增大爪子的开合范围或者打印一个更短的摆臂这能在牺牲范围的同时增加指尖抓力杠杆原理。这是调节爪子性能的一个非常有效的手段。并联舵机增加抓力高级对于重型版本可以设计让两个舵机共同驱动一个手指扭矩直接翻倍。但这需要重新设计传动结构复杂度大增。5.3 常见问题与解决方案实录以下是我在复现和教学过程中遇到的一些典型问题及解决方法问题现象可能原因排查与解决方案手指运动卡顿、不流畅1. 转轴或连杆连接处过紧摩擦太大。2. 各转动关节的轴心不平行存在别劲。3. 打印件存在毛刺或支撑残留干涉。1. 逐一检查每个关节的螺丝螺母适当调松直到能灵活转动但又无明显间隙。2. 重新组装确保所有轴安装到位平行度良好。3. 仔细检查并清理所有运动路径上的打印瑕疵。舵机异响、发热严重甚至不动1. 机械结构卡死舵机负载过大。2. 供电不足电压过低或电流不够。3. 控制信号不稳定或舵机损坏。1.立即断电手动转动机构找到卡滞点并排除。2. 使用万用表测量供电电压是否稳定在5V左右确保电源有足够电流输出能力≥1.5A。3. 更换信号线或换一个舵机测试。抓取物体时打滑1. 指尖摩擦力不足。2. 抓力不够物体太重或舵机扭矩不足。3. 爪子开合范围与物体尺寸不匹配。1. 粘贴防滑材料硅胶垫、砂纸、热熔胶条。2. 检查舵机型号考虑升级扭矩更大的舵机如MG996R。优化结构确保力有效传递。3. 调整抓取姿态或修改手指模型使其更贴合物体形状。控制精度差每次位置不一样1. 结构存在较大间隙虚位。2. 舵机本身精度差廉价舵机通病。3. 电源纹波大干扰控制信号。1. 紧固所有连接件在关键关节使用轴承替代简单轴套。2. 考虑更换精度更高的数字舵机或通过软件多次往复运动后定位来“消除”间隙影响。3. 在舵机电源端并联一个100-470uF的电解电容稳压滤波。打印件螺丝孔拧裂1. 打印件孔洞尺寸偏小。2. 拧螺丝时用力过猛。3. 打印材料太脆如PLA在特定条件下。1. 在切片软件中增加“孔洞水平扩展”补偿如0.2mm。2. 拧螺丝时先反向旋入几下感觉顺了再正向拧入力度适中。3. 使用韧性更好的PETG材料打印受力结构件。实操心得组装顺序是王道。一定要先进行“预组装”把所有零件松松地连在一起确保整个机构能完整、顺畅地运动一遍后再逐步紧固。切忌上来就把一个地方拧死。轴承是性价比最高的升级。花一两块钱加两个轴承对手指转动的顺滑度提升是巨大的能显著降低舵机负载提高响应速度和寿命。供电是隐形杀手。至少一半的“舵机抽风”问题都出在供电上。一个独立的、足功率的5V电源是系统稳定的基石。理解“软限位”和“硬限位”。软件中设置的角度范围是“软限位”保护的是舵机信号。但真正的安全要靠机械结构的“硬限位”设计即物理上无法超过某个位置。在修改设计或强力抓取时要时刻注意机械硬限位避免舵机堵转烧毁。这个CheapClaw项目完美地诠释了“简单即美”的工程哲学。它没有用到任何高深的技术却通过巧妙的设计和整合解决了一个实际需求。通过亲手制作它你不仅能获得一个实用的机械爪更能深入理解连杆传动、舵机控制、3D打印设计协同等核心知识。无论是作为学习项目还是作为你下一个机器人作品的得力助手它都值得你花上一个周末的时间去折腾一番。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2583569.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!