ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

自主导航小车组装全流程:从底盘搭建到传感器安装的避坑指南

自主导航小车组装全流程:从底盘搭建到传感器安装的避坑指南

1. 从零搭建一台自主导航小车:组装环节到底在装什么

很多人第一次接触自主导航项目,注意力全在算法和代码上,觉得组装无非就是拧螺丝、插线头,没什么技术含量。但实际做过几个项目之后你会发现,组装环节才是整个系统能不能跑起来的地基。一台自主导航小车,组装阶段决定了传感器能不能装到正确的位置、线束会不会干扰信号、重心分布会不会导致运动控制异常、后续调试时能不能快速定位问题。我见过太多案例,算法调了一周没效果,最后发现是雷达装歪了两度,或者电机线序接反了。

这篇文章围绕自主导航项目的组装环节展开,把从底盘搭建、传感器安装、线束管理到上电前检查的完整流程拆开讲清楚。适合正在做自主导航小车、移动机器人或者类似嵌入式项目的朋友参考,不管你是刚入门的新手,还是已经做过几台车想优化组装流程的老手,都能从中找到可以直接用的方法和避坑经验。

组装这件事,核心目标只有三个:结构稳固、位置准确、走线可靠。听起来简单,但每一个背后都有一堆细节。下面我按实际操作的顺序,把整个组装过程拆成几个大块来讲,中间会穿插参数选择的依据、常见错误的排查方法,以及我自己踩过的坑。

2. 组装前的整体方案确认与物料清点

2.1 先确认运动构型再动手

在拿起螺丝刀之前,有一件事比什么都重要:确认你的运动构型。自主导航小车常见的底盘构型有两轮差速、四轮差速、麦克纳姆轮全向、阿克曼转向几种。不同的构型决定了电机数量、安装位置、轮子选型,甚至影响后续导航算法的选择。

两轮差速是最常见的入门方案,两个驱动轮加一个或两个万向轮,结构简单、控制容易,适合室内平坦地面。四轮差速动力更强,但转弯时轮胎会有侧滑磨损,对地面要求高一些。麦克纳姆轮可以实现全向移动,但效率低、对地面平整度极其敏感,而且四个轮子的安装角度必须非常精确,差一点就会导致运动方向偏移。阿克曼转向更接近真实车辆,适合室外场景,但机械结构复杂,组装难度最大。

我个人的建议是:第一次做自主导航项目,选两轮差速。不是因为别的,就是因为它的组装容错率高,出了问题容易排查。等你把整套导航流程跑通了,再换构型也不迟。

确认构型之后,把对应的物料清单列出来。以两轮差速为例,你需要:底盘板(亚克力或铝合金)、两个带编码器的直流减速电机、两个驱动轮、一个或两个万向轮、电机驱动模块、主控板、激光雷达、IMU、电池及电源管理模块、各种螺丝铜柱和线材。物料清点的时候不要只看数量,还要检查规格。比如电机轴径和轮子孔径是否匹配,螺丝长度是否适合你的底盘厚度,这些细节如果等到装到一半才发现,会很耽误时间。

2.2 工具准备与安全注意事项

工具方面,基础配置包括:十字螺丝刀套装、内六角扳手、剥线钳、压线钳、万用表、扎带和热缩管。如果有条件,建议备一把游标卡尺,用来测量安装孔距和传感器位置,比用尺子量准确得多。

注意:电烙铁和热熔胶枪在组装中很常用,但使用时一定要注意通风和防烫。热熔胶固定传感器时不要涂太多,否则后续想调整位置会很麻烦。

安全方面,最容易出问题的是电池。锂电池在组装阶段就要注意正负极不要接反,电源线不要有裸露的线头碰到一起。我习惯在正式接通电源之前,先用万用表测一遍所有电源节点的电压和极性,确认无误再上电。这个习惯帮我避免过至少两次烧板子的事故。

3. 底盘与驱动系统的组装细节

3.1 电机安装与轮子对中

底盘组装的第一步是固定电机。大多数底盘板会预留电机安装孔位,但孔位不一定完全匹配你的电机型号。如果孔位对不上,不要硬拧,那样会导致电机外壳变形,影响内部齿轮运转。正确的做法是用转接板或者自己重新打孔。

电机固定好之后,装轮子。这里有一个容易被忽略的细节:轮子必须与电机轴同心。如果轮子装歪了,转动时会有明显的径向跳动,编码器读数和实际位移之间就会产生误差,导航时表现为走直线走不直。检查方法很简单,把车架空,手动转轮子,从侧面观察轮子边缘是否在一个平面上稳定旋转。如果有跳动,松开顶丝重新对中再锁紧。

两个驱动轮安装完成后,要确认它们在同一轴线上。用一根长直杆或者激光水平仪贴着两个轮子的外侧面对比,偏差控制在1到2毫米以内。这个精度听起来苛刻,但实际做起来并不难,关键是你要有这个意识去检查。

3.2 万向轮的选型与安装位置

万向轮的作用是提供支撑和被动跟随。选型时注意轮子直径不要和驱动轮差太多,否则车身会前倾或后仰,影响IMU的读数。一般来说,万向轮直径比驱动轮小10%到20%是可以接受的,但最好尽量接近。

安装位置上,万向轮应该放在驱动轴的前方或后方,具体取决于你的重心分布。原则是:重心尽量靠近驱动轮轴线,这样驱动轮承受的重量大,抓地力好,万向轮只承担辅助支撑。如果重心太靠前或靠后,驱动轮容易打滑,编码器里程计会严重失真。

我一般会把电池和主控板放在驱动轴正上方或附近,这样重心自然就落在驱动轮上了。万向轮安装在底盘的另一端,稍微留一点离地间隙的调节空间,方便后续根据实际重量微调。

3.3 底盘刚性与减震处理

底盘刚性直接影响传感器数据的质量。如果底盘太软,车在运动时会产生形变,激光雷达扫出来的点云就会抖动,IMU的数据也会有额外噪声。亚克力底盘便宜但刚性一般,铝合金底盘贵一些但稳定性好很多。如果预算有限,可以在亚克力底盘上加装加强筋或者用铜柱做多层结构来提升刚性。

减震方面,室内平坦地面其实不需要太复杂的减震,但电机振动是客观存在的。可以在电机和底盘之间加一层薄橡胶垫,能有效减少高频振动传递到传感器。注意橡胶垫不要太厚太软,否则电机会晃动,反而影响传动精度。

4. 传感器安装:位置决定数据质量

4.1 激光雷达的安装高度与水平校准

激光雷达是自主导航的核心传感器,它的安装位置直接决定了建图和定位的精度。安装高度上,一般建议雷达扫描面离地20到40厘米。太低容易扫到地面杂物和轮子,太高则会错过低矮障碍物。具体高度还要看你的应用场景,如果是桌面级小车,15到20厘米也可以。

水平校准是重中之重。雷达如果倾斜,扫出来的点云就不是一个平面,而是一个斜面,建图时墙壁会变成斜线,定位会持续漂移。校准方法:把车放在水平桌面上,用手机上的水平仪App放在雷达顶面,调整安装支架直到气泡居中。更精确的做法是用游标卡尺测量雷达底面到桌面的距离,在雷达四周取四个点,确保四个点的高度差在1毫米以内。

提示:雷达安装支架最好设计成可微调的,比如用长圆孔配合螺丝,这样后续发现倾斜还能补救。一旦用热熔胶或强力胶固定死,再想调就非常困难了。

4.2 IMU的安装方向与减震

IMU提供加速度和角速度数据,是里程计融合和姿态估计的关键。安装IMU时,坐标系方向必须和车身坐标系一致。大多数IMU模块上会标注X、Y、Z轴方向,安装时让X轴指向车头前方,Y轴指向左侧,Z轴指向正上方。如果装反了,后续在代码里虽然可以通过旋转矩阵修正,但会增加不必要的复杂度,而且容易出错。

IMU对振动非常敏感,必须做减震处理。常见的做法是用3M双面胶加海绵垫,或者用专门的减震板。我试过直接把IMU用螺丝拧在底盘上,结果电机一转,角速度数据就全是噪声,根本没法用。后来换成厚海绵双面胶粘贴,数据质量立刻好了很多。注意IMU不要安装在靠近电机或轮子的位置,尽量放在车身中心附近。

4.3 编码器的接线与信号检查

编码器通常和电机集成在一起,接线时要注意电源线和信号线的区分。编码器一般需要5V供电,A相和B相信号输出。接线前先用万用表确认电机驱动板的编码器接口定义,不要凭颜色猜。我见过有人把编码器电源接到电机驱动输出上,一上电编码器就烧了。

接好线之后,不要急着写代码,先手动转轮子,用万用表或者示波器看A相和B相是否有方波输出。如果没有信号,检查接线是否松动、编码器供电是否正常。这个步骤花五分钟,能省掉后面半小时的调试困惑。

5. 线束管理与电源系统组装

5.1 走线规划与信号干扰规避

线束管理看起来是小事,但它是组装质量的重要体现。走线混乱不仅影响美观,更会导致信号干扰和接触不良。规划走线时遵循几个原则:电源线和信号线分开走,强电和弱电不要捆在一起;线束尽量短,多余的线盘起来用扎带固定,不要随意垂落;过孔和转角处加保护,用热缩管或缠绕管防止线材磨损。

电机线是主要的干扰源,因为电机转动时会产生高频噪声。电机线最好双绞,并且远离IMU和编码器信号线。如果空间允许,电机线走在底盘下方,传感器线走在底盘上方,物理隔离效果最好。

5.2 电池选型与电源分配

电池选型要考虑电压、容量和放电倍率。常见的自主导航小车用3S或4S锂电池,电压11.1V或14.8V。电压选择取决于电机和驱动板的额定电压,不要超压使用。容量方面,一般5Ah到10Ah可以满足大多数室内小车的续航需求。放电倍率要留有余量,电机启动瞬间电流可能是额定电流的3到5倍,电池放电倍率不够会导致电压骤降,主控板复位。

电源分配上,建议使用独立的电源模块或者分电板,把电池电压转换成主控板需要的5V、传感器需要的5V或3.3V、电机驱动需要的电压。每一路最好有独立的开关或保险丝,方便单独断电调试。我在调试阶段会只给主控和传感器供电,电机驱动单独用一个开关控制,这样代码跑飞的时候可以直接切断电机电源,避免小车失控乱撞。

5.3 上电前检查清单

正式上电之前,按照下面的清单逐项检查:

检查项检查方法合格标准
电源极性万用表测电池输出和各级电源输入正负极无短路,电压在预期范围
电机线序手动转动轮子,观察编码器计数方向两轮同向前进时计数同向增加
传感器供电万用表测各传感器供电引脚电压稳定,无波动
线束固定手动轻拉各接头无松动,无裸露线头
机械紧固检查所有螺丝和顶丝无松动,轮子无轴向窜动

这个清单我每次装车都会过一遍,花不了十分钟,但能避免绝大多数上电即烧的悲剧。

6. 组装完成后的初步验证与常见问题排查

6.1 静态测试:不写代码先验硬件

组装完成后,不要急着烧录导航程序。先做静态测试:上电,观察主控板指示灯是否正常,传感器是否发热异常,电机是否发出异响。然后用简单的测试程序让电机低速转动,观察两个轮子的转向和转速是否一致。如果一边快一边慢,检查电机驱动板的PWM信号和编码器反馈。

激光雷达和IMU的测试可以用厂商提供的上位机工具,看数据是否正常刷新。雷达应该能看到周围环境的点云轮廓,IMU静止时角速度应该接近零,加速度Z轴接近重力加速度。如果数据明显异常,先排查接线和供电,再怀疑硬件损坏。

6.2 动态测试:直线行驶与转向验证

静态测试通过后,把车放到地面上做动态测试。先测试直线行驶:给两个电机相同的PWM值,看车是否能走直线。如果跑偏,可能是轮子对中不好、电机特性不一致或者重心偏移。可以在代码里做简单的PID修正,但前提是机械误差不能太大。

再测试原地转向:给两个电机相反的PWM值,看车是否能绕中心旋转。如果旋转中心明显偏离车身中心,说明两个驱动轮的摩擦力或负载不一致,需要检查万向轮是否阻力过大或者底盘是否倾斜。

6.3 常见问题速查表

现象可能原因排查方法
上电后主控板不启动电源电压不足或极性接反万用表测主控供电引脚
电机不转驱动板使能脚未拉高或PWM信号缺失示波器测驱动板输入信号
编码器计数异常接线松动或信号线受干扰手动转轮子看计数变化
雷达点云缺失供电不足或数据线接触不良检查雷达供电电压和USB连接
IMU数据噪声大减震不足或附近有振动源重新做减震处理,远离电机
小车走不直轮子对中差或重心偏移检查轮子同心度和电池位置

6.4 我踩过的几个坑

第一个坑是螺丝胶用太多。有一次为了防松,在电机支架螺丝上涂了大量螺纹胶,结果后来想换电机的时候拧不下来,最后只能用钻头把螺丝打掉,差点把底盘报废。后来我改用尼龙防松螺母,效果一样好,而且可拆卸。

第二个坑是线材选太细。电机线一开始用了26AWG的线,跑起来之后线皮发烫,电压降也大。后来换成20AWG,问题解决。电机线的载流量要按堵转电流来选,不能按额定电流。

第三个坑是雷达和IMU装在同一块板上。那块板子刚性不够,车一动雷达和IMU一起晃,两个传感器的数据都受影响。后来把IMU移到主控板上,雷达单独用金属支架固定,数据质量明显提升。

7. 组装完成后的收尾与后续调试衔接

组装完成后,还有几件收尾工作要做。一是把所有螺丝再紧一遍,特别是电机支架和轮子顶丝,振动会让它们慢慢松动。二是整理线束,用扎带把线固定好,避免运动时甩动。三是拍几张照片记录当前的组装状态,后续如果拆装,可以对照恢复。

另外,建议在组装阶段就预留一些调试接口,比如把主控的串口和USB引到方便插拔的位置,把电机的使能脚引出一个跳线帽,方便单独控制。这些小的预留会让后续调试轻松很多。

从组装到调试的衔接上,我的习惯是组装完成后先跑一遍最基础的运动测试和传感器数据读取,确认硬件没问题,再开始跑建图和导航算法。这样如果后面算法效果不好,我可以确定问题出在算法层面而不是硬件层面,排查范围小很多。

整个组装环节,说到底就是一句话:把每一个细节做到可验证。不要凭感觉觉得装好了,要用万用表、用水平仪、用测试程序去验证。组装阶段多花一小时检查,调试阶段就能少花一整天排查。这个投入产出比,做过的人都懂。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进