ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

自主导航小车组装指南:从底盘选型到上电调试的完整流程

自主导航小车组装指南:从底盘选型到上电调试的完整流程 1. 从零搭建一台自主导航小车为什么“组装”这一步最容易被低估很多人做自主导航项目注意力几乎全放在算法上——SLAM建图、路径规划、PID调参觉得这些才是“硬核”的部分。但真正动过手的人都知道一台自主导航小车能不能跑起来组装环节决定了后面所有环节的上限。我自己前前后后装过五六台不同构型的导航小车踩过的坑几乎都集中在组装阶段轮子装歪了导致里程计飘得离谱雷达装高了导致地面反射噪声大电池重心偏了导致转弯时轮胎打滑线束没固定好跑两圈就绞进轮子里。这些问题在算法层面几乎无法补救只能拆了重装。所以这篇内容我想把“组装”这个环节单独拎出来从底盘结构、传感器布局、电气走线、重心配平这几个维度把一台自主导航小车从散件到能上电跑通的过程讲透。适合正在做导航小车、ROS移动机器人、AGV原型或者课程设计的同学参考也适合已经装过一台但总觉得“哪里不对劲”的朋友对照排查。整篇内容基于常见的差速驱动两轮万向轮构型展开这是目前入门和进阶最主流的方案零件通用性强调试资料也最多。2. 组装前的整体方案设计与选型思路2.1 为什么差速两轮构型是自主导航的首选自主导航小车的底盘构型有好几种差速驱动、阿克曼转向、麦克纳姆轮全向、履带式。我一开始也纠结过要不要上麦克纳姆轮毕竟全向移动听起来很酷。但实际用下来差速两轮万向轮这个经典构型才是性价比和可靠性的最优解。原因很直接。差速驱动的运动学模型简单左右轮速差直接对应线速度和角速度v (vL vR) / 2ω (vR - vL) / LL是轮距。这个模型在ROS的diff_drive_controller里有现成实现里程计计算不容易出错。麦克纳姆轮虽然能横移但对地面平整度要求极高四个轮子必须同时着地稍微有点地面不平就会出现某个轮子悬空打滑里程计直接崩掉。阿克曼转向适合高速场景但低速下转弯半径大在室内狭窄环境里很吃亏。差速构型的另一个好处是零件标准化程度高。直流减速电机、橡胶轮、万向轮、电机驱动板这些在市面上都有大量成熟产品价格从几十到几百不等选型空间大。我建议新手直接用带编码器的直流减速电机编码器分辨率至少11线霍尔编码器配合减速比30:1以上这样低速控制精度够用。2.2 底盘材料的选择亚克力、铝合金还是3D打印底盘板材的选择直接影响组装难度和整车刚性。我三种都用过说说各自的真实体验。亚克力板是最常见的入门选择便宜、好加工、绝缘。但它的致命缺点是脆。螺丝拧太紧会裂摔一下会裂电机震动久了螺丝孔周围也会出现裂纹。我第一台车就是亚克力底盘跑了大概两周电机座附近的板子就裂了。如果你预算有限只能用亚克力记得在螺丝孔周围加垫片分散应力电机座最好用金属的。铝合金板是我现在最推荐的方案。刚性足够重量适中散热好电机驱动板可以直接贴上去散热加工精度也高。缺点是贵一些而且需要专门的工具切割。不过现在很多套件都是铝合金底盘直接买现成的就行省去加工麻烦。3D打印底盘适合有打印机、想快速迭代结构的朋友。优点是改设计方便想加个传感器支架直接建模打印。但要注意打印方向和填充率受力方向要垂直于打印层纹否则容易层间剥离。填充率建议30%以上关键受力部位可以到50%。另外PLA材料在夏天车内高温下会软化如果小车要在温度高的环境跑用PETG或ABS更稳。2.3 电机与轮径的匹配计算这一步很多人直接跳过拿到什么电机就用什么结果发现要么跑太快控制不住要么扭矩不够爬不上小坡。其实只要算一下就能避免。假设你选的电机额定转速是200 RPM输出轴轮子直径65mm那么小车的最大线速度是v π × D × n / 60 3.14 × 0.065 × 200 / 60 ≈ 0.68 m/s这个速度对于室内导航来说偏快了。室内导航一般希望最大速度在0.3~0.5 m/s这样激光雷达的扫描频率跟得上建图不会因为移动太快而出现畸变。所以要么选转速低一点的电机比如150 RPM要么在代码里限制最大PWM输出。扭矩方面差速小车需要的扭矩主要克服摩擦力和加速惯性。粗略估算3kg的小车在普通地板上摩擦系数取0.05需要的驱动力约1.5N分配到两个轮子各0.75N。轮子半径0.0325m所需扭矩0.024 N·m。一般减速电机堵转扭矩都在0.5 N·m以上所以扭矩通常不是问题速度匹配才是关键。3. 核心部件组装细节与实操要点3.1 电机安装平行度和垂直度决定里程计精度电机装歪是里程计漂移的头号元凶。两个电机如果不平行小车走直线时实际是在画弧但编码器以为自己在走直线里程计和实际轨迹就会越差越远。我的做法是先把两个电机座固定在底盘上不要一次性拧死螺丝稍微松一点然后把两个轮子装上用一把长直尺或者一根拉直的线贴着两个轮子的侧面调整电机座位置让两个轮子侧面在同一条直线上。确认后再逐个拧紧螺丝拧的时候对角线交替拧避免电机座受力变形。还有一个细节电机轴和轮毂的连接。有些轮毂是用顶丝固定在电机轴上的顶丝一定要拧到电机轴的铣平面上。如果电机轴没有铣平面自己用锉刀锉一个小平面出来否则顶丝拧再紧大扭矩下轮子也会打滑。我遇到过跑着跑着一边轮子掉了的情况就是因为顶丝没顶在平面上。3.2 万向轮的安装高度与位置万向轮看似简单但装不好会带来两个问题一是小车整体倾斜二是转弯时万向轮拖拽导致打滑。万向轮的安装高度要保证底盘与地面平行。具体做法是先把两个驱动轮装好把小车放在平整桌面上然后在底盘前部或后部取决于万向轮位置垫东西让底盘达到水平再测量万向轮安装面到桌面的距离这个距离就是万向轮支架需要的高度。如果万向轮支架高度不可调就需要加垫片。万向轮的位置也有讲究。差速小车通常是一个万向轮放在两个驱动轮的中轴线上前后位置根据重心来定。如果万向轮太靠前重心偏后驱动轮压力大转弯阻力大太靠后重心偏前万向轮压力大容易卡顿。我的经验是万向轮放在距离驱动轴1.5~2倍轮距的位置比较合适这样重心大致落在驱动轮和万向轮之间两个驱动轮有足够的正压力提供抓地力。3.3 激光雷达的安装高度与避震激光雷达是导航小车的眼睛装不好直接影响建图质量。两个关键点高度和避震。高度方面雷达扫描平面要避开地面反射和底盘遮挡。太低的话地面反射光会进入雷达产生大量噪声点太高的话可能扫不到低矮障碍物。一般建议雷达扫描平面距离地面15~25cm。另外要确保雷达扫描平面内没有遮挡物比如底盘边缘、螺丝头、线束这些都会在雷达数据里形成固定障碍点建图时很烦人。避震方面雷达对震动很敏感。电机震动、轮子过坎的冲击都会让雷达数据产生畸变。我通常会在雷达和支架之间垫一层2~3mm的橡胶垫或者硅胶垫螺丝不要拧太死留一点弹性。如果预算够可以买带减震结构的雷达支架。还有一个容易忽略的点雷达的朝向。雷达的零度方向要和车头方向一致否则后面配置TF变换时容易搞混。我习惯在雷达外壳上贴一个小标记标明零度方向装的时候对准车头。3.4 电气走线与接插件处理走线是组装里最琐碎但最不能马虎的部分。线走不好轻则信号干扰重则短路烧板。强电和弱电要分开走。电机线是大电流PWM信号编码器线和传感器线是弱信号两者平行走线容易产生耦合干扰。我的做法是电机线走底盘一侧传感器线走另一侧如果必须交叉尽量垂直交叉。接插件方面电机线建议用XT30或MR30这类航模接插件接触电阻小能承受大电流。编码器线用XH2.54或PH2.0就够了。所有接插件都要做防呆处理比如用不同颜色的热缩管区分左右电机或者用不同数量的针脚。我吃过亏有一次左右电机插反了上电后小车原地转圈还好没烧板子。线束固定也很重要。用扎带把线束固定在底盘上留出适当的余量不要让线绷得太紧也不要让线垂下来碰到轮子或地面。我一般每隔5~8cm打一个扎带固定点转弯处的线束要留出弯曲半径避免长期弯折导致内部断线。4. 完整组装流程与上电前检查4.1 组装顺序从下到上从机械到电气组装顺序很重要顺序错了可能要返工。我总结的流程是底盘→电机→驱动轮→万向轮→电机驱动板→主控板→传感器→电池→走线→上电检查。先装电机和轮子是因为这时候底盘还是“光板”操作空间大螺丝刀好伸进去。如果先装了主控板和传感器再装电机手都伸不进去。电机驱动板装在底盘上位置要靠近电机缩短电机线长度减少压降和干扰。主控板装在底盘上层远离电机驱动板避免电磁干扰。传感器安装顺序也有讲究。先装激光雷达因为雷达支架通常比较高先装好雷达再装其他矮的传感器不会互相妨碍。IMU惯性测量单元要装在靠近车体中心的位置并且远离电机和电机驱动板因为IMU对磁场和震动都很敏感。我一般把IMU装在主控板旁边用尼龙柱架空下面垫减震垫。4.2 重心配平与静态测试所有部件装完后要做重心配平。把小车放在一根手指上或者一个支点上找到平衡点。理想情况下重心应该落在两个驱动轮连线中点稍微靠万向轮一侧的位置这样驱动轮有足够正压力万向轮也不会压力过大。如果重心偏了可以通过调整电池位置来配平。电池通常是整车最重的部件把电池往前或往后挪几厘米重心就会明显变化。我一般用魔术贴固定电池方便调整位置。静态测试包括用手推动小车感受轮子转动是否顺畅有没有卡顿检查所有螺丝是否拧紧特别是电机座和轮毂的螺丝检查线束是否固定好有没有碰到运动部件。4.3 上电前检查清单上电前一定要做一次全面检查我整理了一个清单每次装完新机都过一遍检查项检查内容常见问题电源极性电池正负极是否接反接反会烧主控和驱动板电压匹配电池电压是否在驱动板和主控额定范围内过高烧板过低无法工作电机线左右电机是否接对接反导致原地转圈编码器线编码器A/B相是否接对接反导致里程计方向相反短路检查用万用表测电源正负极之间电阻短路会烧电池螺丝紧固所有受力螺丝是否拧紧松动导致震动和异响线束固定线束是否远离运动部件绞入轮子导致断线雷达朝向雷达零度是否对准车头建图方向错乱提示第一次上电建议用限流电源把电流限制在0.5A左右如果接反或短路限流电源会保护不会烧板子。确认没问题后再用电池供电。5. 常见问题与排查技巧实录5.1 小车跑不直总是往一边偏这是最常见的问题原因通常有三个电机转速不一致、轮子直径不一致、机械阻力不一致。排查方法先把小车架空让轮子悬空给两个电机相同的PWM看两个轮子的转速是否一致。如果转速明显不同可能是电机个体差异需要在代码里做PID闭环控制用编码器反馈来补偿。如果转速一致但跑起来还是偏检查轮子直径用卡尺量一下两个轮子的实际直径差0.5mm以上就会导致明显偏移。最后检查机械阻力用手转轮子感受两边阻力是否一致如果一边明显更紧可能是电机座装歪了或者轴承有问题。5.2 里程计漂移严重走一圈回来位置差很多里程计漂移除了电机不平行还有几个原因轮子打滑、编码器分辨率不够、轮距参数设置错误。轮子打滑通常是因为轮胎材质太硬或者地面太滑。橡胶轮胎在瓷砖地面上容易打滑可以换成硅胶轮胎或者增加轮子配重。编码器分辨率不够的话低速时每个脉冲对应的位移太大积分误差就大。建议编码器分辨率至少11线配合30:1减速比输出轴每转330个脉冲对应65mm轮径的位移分辨率约0.6mm够用了。轮距参数L设置错误也会导致角速度计算错误。L是两个驱动轮中心之间的距离不是底盘宽度。用卡尺量准设置到ROS参数里。5.3 激光雷达建图有大量噪点或固定障碍雷达噪点通常来自几个方面地面反射、透明物体、强光干扰、雷达安装不牢。地面反射的噪点表现为雷达数据里出现一圈距离很近的点。解决办法是提高雷达高度或者在雷达下方加遮光罩。透明物体玻璃、亚克力雷达是扫不到的这是原理限制只能靠其他传感器补充。强光干扰在阳光直射下比较明显室内一般还好。雷达安装不牢会导致数据抖动检查螺丝和减震垫。固定障碍点通常是雷达扫描平面内有遮挡物比如底盘边缘、螺丝头、线束。把小车放在原地打开雷达可视化看哪些角度有固定障碍点然后对应去检查那个方向有什么东西挡住了。5.4 上电后主控板不启动或频繁重启这个问题通常是电源问题。电池电压不够、电源线压降太大、主控板供电不足都会导致。先测电池电压满电应该是多少带载后掉到多少。如果带载后电压掉得厉害说明电池内阻大或者容量不够。然后测主控板供电电压如果低于额定值检查电源线和接插件换粗一点的线或者更好的接插件。电机启动瞬间电流很大会导致电压瞬间跌落如果主控板和电机共用一路电源电机启动时主控就可能重启。解决办法是主控和电机驱动分开供电或者在大电容上并联一个1000uF以上的电解电容缓冲。5.5 常见问题速查表现象可能原因排查方法解决方案跑不直电机不平行、轮径不一致、阻力不一致架空看转速、量轮径、手转轮子调平行、换轮子、修机械里程计漂移打滑、编码器分辨率低、轮距错检查轮胎、算分辨率、量轮距换轮胎、换编码器、改参数雷达噪点多地面反射、安装不牢、遮挡看雷达可视化、检查螺丝调高度、加减震、清遮挡主控重启电压跌落、供电不足测带载电压、测主控电压分开供电、加电容、换电池电机异响螺丝松、齿轮磨损、线束干涉听声音定位、检查螺丝拧紧、换电机、固定线束6. 组装完成后的调试准备与个人经验组装完成、上电检查通过后不要急着跑算法。先做几个基础测试用手推小车走直线看编码器读数是否合理原地旋转看角速度积分是否接近实际旋转角度把小车放在地上给固定PWM看实际速度和编码器计算速度是否一致。这几个测试能帮你提前发现大部分组装问题。我个人在组装环节最大的体会是不要赶。我见过太多人为了快点看到小车跑起来螺丝随便拧拧线随便接接结果后面调算法调了一周都调不好最后发现是组装问题。组装花两个小时认真做后面能省两天调试时间。另外每装完一个部件就检查一下不要全装完了再检查那时候拆都难拆。还有一个实用小技巧用手机拍下组装过程的照片特别是接线部分。后面如果线松了或者接错了翻照片比翻笔记快得多。我每次装新机都会拍十几张照片标注好左右电机、编码器、电源线的接法后面维护的时候省了很多事。最后再分享一个关于螺丝胶的经验。电机座和轮毂的螺丝建议涂一点中强度螺丝胶比如乐泰243因为电机震动很容易让螺丝松动。但不要用高强度螺丝胶否则以后想拆都拆不下来。底盘上的螺丝如果经常拆装可以用弹簧垫圈代替螺丝胶效果也不错。
返回列表