说实话,搞了这么多年移动机器人,底盘的坑踩得比天上的星星还多。今天不聊那些高深的理论,就说点实在的——设计一台能在真实环境里跑起来的移动机器人,到底得死磕哪些地方。
驱动布置:差速还是四驱?

先拿驱动下手。最常见的两种方案:两轮差速和四轮独立驱动。差速简单、便宜、好控制,但有个致命的毛病——转向时轮子要打滑。你想想,硬地面上两个轮子要绕着瞬心转,轮子和地面之间纯滑动的摩擦力能大到让你怀疑人生。所以室内平地上跑还好,一旦上了地毯或者有点砂石,那叫一个痛苦。
四驱呢?四个轮子独立驱动,配合合适的转向策略,比如差速转向或者阿克曼转向,问题就缓解了。但代价是电机数量翻倍,驱动器、编码器、布线…全翻倍。说实话,如果你是做原型验证,两轮差速就够了,我们实验室第一代机器人就是两轮,跑起来像喝醉了一样。
还有一个邪门玩意——麦克纳姆轮。我第一次用的时候,简直被它的横向移动惊艳到了!但后来发现,它对地面的平整度要求极高,一颗小石子都能让它抖成筛子。而且加工精度不够的话,轮子磨损很快,那声音比杀猪还难听。如果做室内对接任务,麦克纳姆轮是真香;但户外?算了吧。
选型的时候别光看能跑,还要看维护成本。你算一笔账:四个轮子加四个电机,那驱动器的IGBT模块烧起来可是不眨眼的。所以,可靠性才是第一位的。
悬挂与重心:别让机器人在台阶上翻跟头
很多人觉得底盘就是一块板加四个轮子,大错特错。地面从来不是平的,哪怕看起来平的地面,也有几毫米的起伏。这时候没有悬挂,你就等着整个机器人像蛆一样扭动吧。
悬挂设计要考虑的是轮子与地面的接触力。硬悬挂下,可能有一个轮子悬空,那驱动力的损失可不是闹着玩的。但悬挂也不是越软越好,太软了,转弯的时候侧倾严重,姿态估计都给带偏。
重心位置是一个特别容易被忽略的点。我记得有个项目,机器人在平地上跑得好好的,一上坡就翘头。查了半天,是电池放得太靠后,重心在轮轴后面——这不是等死吗?我当时就想抽自己两巴掌,这个物理常识都没注意到。
计算重心其实很简单:把每个部件的重量乘以x、y坐标加起来除以总重量,就得到了质心坐标。但关键是,要让重心投影落在两轮连线的中点附近,前后偏差不要超过轴距的10%,否则制动和加速时,轴荷转移会瞬间让抓地力失衡。

再说说悬挂的行程。室外机器人建议至少20mm的行程,否则过个减速带都能让编码器丢步。我们后来在悬挂上加了弹簧预紧调节螺纹,虽然调试麻烦点,但总比天天换滤震垫要强。
电机与减速器:算不清这几个数,车就跑不动
电机选型是门玄学。好多新手上来就挑个大功率电机,觉得有力气就行。但功耗呢?发热呢?你用的电池是锂电池,容量有限,一个大功率电机直接让你续航打个五折,何必呢。
核心公式就两个:加速时的驱动力F = ma + mg·sinθ + μ·mg·cosθ,以及匀速时的驱动力F_匀速 = mg·sinθ + μ·mg·cosθ。把最大速度、加速度、坡度和摩擦系数带进去,就能算出来所需的轮端扭矩。
然后就是减速比。轮子转速n = v / (π·D),其中D是轮径。电机额定转速一般在3000~5000rpm,减速比i = n_电机 / n_轮。举个例子,要求0.5m/s,轮径0.15m,轮子转速大约63.7rpm,如果电机额定3000rpm,那减速比就是47左右。但别取整数啊,要用行星减速器,而且减速比一定不能是整数,否则齿轮磨损会集中在某一两个齿上,寿命骤降——这是经验之谈。
还有,输出扭矩要乘以一个安全系数,我通常取1.5~2。因为实际中还要考虑惯性负载和冲击载荷,不能光算稳态的。

电机发热是另一个大问题。你先用额定功率去选型,但实际工况往往是峰值扭矩远超额定。所以最好做一下热平衡计算,实测一下电流波形,不然电机烧掉就是一瞬间的事。
传感器布置:影响导航的隐蔽因素

这个我是吃过亏的。激光雷达装上去了,但位置太低,过门槛的时候直接撞掉。摄像头装在车头,结果镜头上全是泥土,定位直接瞎了。
传感器的布置要遵循几个原则:一是视野开阔,不能被车体遮挡;二是高度要适当,避开地面喷溅的污物;三是振动隔离,尤其是底盘振动大的,可以考虑加个减震支架。
另外,IMU的位置要尽量靠近质心,不然角速度测量会被线加速度耦合干扰。我们之前把IMU放在车头,结果一加速就误报转弯,差点撞墙。
不得不提的是,电缆的走线也会影响传感器信号。电机驱动的PWM大电流线一定要和信号线分开走,不然干扰起来,编码器数据就是一片噪声。上次我们就是因为这个,整个底盘抖动得像帕金森,排查了三天。
结语
其实移动机器人的底盘设计,很多时候就是靠这些细节堆出来的。没有哪一步能拍脑袋决定,每一个参数都是算出来的,每一个结构改出来都要去跑几圈验证。别怕踩坑,但踩了坑得记住。
还是要唠叨一句:先建模,再选件,最后才动手画图。物理模型算不对,后面全是白搭。
就说这些,希望能帮到正在为底盘头疼的你。