1. 从零搭建一台步兵机器人:硬件选型的底层逻辑
很多人第一次接触RoboMaster,脑子里想的都是“我要写多牛的算法”“我要用多贵的激光雷达”,结果硬件选型阶段就翻车了。我见过太多队伍,电控和机械各干各的,最后底盘装好了发现电池塞不进去,或者云台转起来线束直接绞断。硬件基础这件事,说白了就是让机械、电控、算法三拨人能在同一张图纸上对话。这篇讲义面向的是刚进队的新队员,或者想自己复现一台步兵机器人的独立开发者,我会把从底盘到云台、从电源到通信的每一层硬件逻辑拆开讲,重点不是告诉你“买什么”,而是告诉你“为什么这么选”。
1.1 底盘运动学决定了电机和轮系的选型边界
步兵机器人的底盘通常采用麦克纳姆轮四轮布局,这种布局的核心优势是可以在不改变车头朝向的前提下实现全向移动。但很多人不知道的是,麦克纳姆轮的辊子角度直接决定了受力效率。市面上常见的辊子角度有45度和60度两种,45度方案在横向平移时效率更高,但纵向加速度会略逊一筹。如果你主打的是快速横移绕后,45度是首选;如果你更看重直线冲刺抢中心点,60度方案在纵向力的传递上更有优势。
选完轮子角度,接下来就是电机。步兵机器人常用的无刷电机KV值一般在300到500之间,配合减速箱使用。这里有一个容易被忽略的参数:减速比。假设你选了一台KV=400的电机,额定电压24V,那么理论空载转速是400×24=9600rpm。如果你用1:19的减速箱,输出轴转速大约是505rpm。再配上直径60mm的轮子,线速度就是π×0.06×505/60≈1.58m/s。这个速度在7米见方的场地上已经够用了,但如果你想要更快的冲刺,要么提高电压,要么换更高KV的电机,要么减小减速比。不过减速比太小会导致扭矩不足,加速时电机容易堵转。
注意:电机选型时一定要看持续电流和峰值电流两个参数。很多新手只看峰值扭矩,结果连续跑两分钟电机就烫得摸不得。步兵机器人一场比赛打下来至少三分钟,持续电流才是决定你能不能撑到结束的关键。
1.2 电源系统不是“能供电就行”
RoboMaster的官方规则对电池有明确限制,但即使抛开规则,从工程角度讲,电源系统的设计也直接决定了整台车的稳定性。常见的动力电池是6S锂聚合物电池,标称电压22.2V,满电25.2V。这个电压等级下,你需要考虑三件事:第一,电池的放电倍率是否足够。假设你的四个底盘电机峰值各拉20A,云台两个电机各拉5A,再加上开发板、图传、灯效等杂项约3A,总峰值电流接近93A。如果你的电池是5000mAh、10C放电,最大持续放电就是50A,显然不够。你需要至少20C以上的电池,或者并联两组。
第二,电源分配板的设计。很多队伍直接用分电板把电池电压分给各个电调,但忽略了地线回流的路径。大电流下,地线上的压降会导致信号参考电平漂移,表现为电机偶尔抽风或者开发板复位。正确的做法是采用星型接地,所有电调的地线单独回到分电板的同一个铜柱上,而不是串联着走。
第三,电压监测。电池从25.2V放到21V的过程中,电机响应会明显变软。如果你不做电压补偿,PID参数在低电量时就会表现得和满电时完全不同。我习惯在代码里做一个简单的电压前馈,把输出电压乘以一个系数,让电机在不同电量下保持一致的响应。
1.3 云台两轴与三轴的取舍
步兵机器人的云台通常是两轴(偏航+俯仰),但有些队伍会尝试三轴(加一个横滚)。从硬件角度讲,两轴结构简单、线束好走、重量轻,适合大多数场景。三轴的优势在于可以主动补偿底盘倾斜,让弹道更稳定,但代价是增加一个电机、一个电调、一套机械结构,以及更复杂的线束管理。如果你不是打高精度射击,两轴完全够用。
云台电机的选型上,偏航轴需要承受整个云台的转动惯量,通常用大扭矩无刷电机配合谐波减速器或者行星减速器。俯仰轴负载小一些,可以用小一号的电机。这里的关键参数是转动惯量匹配。如果电机扭矩远大于负载惯量所需,云台会显得“神经质”,稍微给一点PID输出就猛冲;如果扭矩不足,云台会软绵绵的,跟枪跟不上。一个经验公式是:电机额定扭矩除以减速比后的输出扭矩,应该略大于负载重力矩加上动态加速矩的1.5倍。
1.4 通信总线的选择:CAN还是串口
底盘和云台之间、主控和电调之间,通信方式的选择直接影响系统的实时性和可靠性。CAN总线在RoboMaster圈子里是主流,原因是它差分传输、抗干扰强、支持多主发送,而且硬件上只需要两根线。相比之下,串口是单端信号,长距离传输容易受电机干扰,尤其是在大电流走线旁边。我实测过,同样走线布局下,串口在电机启动瞬间的误码率明显高于CAN。
但CAN也有坑。第一,终端电阻必须加,通常是120欧姆,加在总线两端。很多新手忘了加,结果通信时好时坏。第二,波特率要统一,常见的是1Mbps,但如果你总线上挂的设备多、线又长,可以降到500kbps提高稳定性。第三,CAN的报文ID分配要有规划,不要随便写,否则后期调试时根本分不清哪条报文是谁发的。
2. 主控与电调:从原理图到实际布线的关键细节
选完电机和电池,接下来就是主控和电调。这部分是硬件基础里最容易出问题的地方,因为涉及强弱电混合、信号完整性、散热等多个维度。我见过太多队伍在实验室里跑得好好的,一上赛场就各种复位、丢包、烧板子。问题往往不是代码写错了,而是硬件层面埋了雷。
2.1 主控板的选型:性能、接口与生态的三角平衡
RoboMaster队伍常用的主控方案有几类:官方开发板、STM32自绘板、以及一些高性能嵌入式平台。官方开发板的优势是接口定义统一、社区资料多、和官方电调配合好,但性能上限有限。STM32自绘板灵活度高,可以根据需求裁剪外设,但需要自己处理电源树和信号隔离。高性能平台算力强,可以跑更复杂的算法,但功耗和散热需要额外设计。
选型时我建议先列一个接口清单:需要几路CAN、几路PWM、几路串口、几路SPI/I2C、多少路ADC。然后看主控芯片能不能同时满足。比如STM32F407有2路CAN、14路定时器、3路SPI、3路I2C,对于步兵机器人来说基本够用。如果你要加激光测距、陀螺仪、灰度传感器、OLED屏幕,就要仔细算引脚够不够。
另一个容易被忽略的是主控的供电。很多主控板支持宽电压输入,但板载的DC-DC在输入电压接近下限时效率会下降,导致输出纹波变大。如果你的陀螺仪对电源噪声敏感,就会出现零漂。我的做法是给陀螺仪单独加一个LDO,把数字电源和模拟电源分开。
2.2 电调固件与驱动方式:方波还是FOC
电调驱动无刷电机有两种主流方式:方波驱动(六步换相)和FOC(磁场定向控制)。方波驱动简单、成本低、响应快,但低速时转矩脉动大,噪音也大。FOC驱动平滑、噪音小、低速扭矩好,但算法复杂,对MCU算力有要求。
对于底盘电机,方波驱动其实够用,因为底盘电机通常工作在较高转速区间,转矩脉动被轮子的惯性滤掉了。但对于云台电机,尤其是需要低速平滑跟随的俯仰轴,FOC的优势非常明显。我实测过同一颗云台电机,方波驱动下低速跟枪会有明显的顿挫感,换FOC后几乎感觉不到。
如果你用官方电调,固件通常是锁定的,你只能通过CAN发送目标电流或目标转速。如果你自研电调,建议从方波入手,跑通了再上FOC。FOC的电流环需要精确的相电流采样,对运放和ADC的时序要求很高,新手直接上FOC容易卡在采样噪声上。
2.3 强弱电分离与信号隔离的实操经验
机器人内部空间狭小,强弱电走线往往被迫靠得很近。电机线里流的是几十安培的PWM电流,上升沿非常陡,辐射干扰很强。信号线如果和电机线平行走,很容易被耦合进噪声。我的做法是:第一,电机线尽量双绞,减少环路面积。第二,信号线远离电机线至少2厘米,如果空间不允许,就在中间加一块接地铜箔作为屏蔽。第三,CAN总线和串口线使用屏蔽双绞线,屏蔽层单端接地。
还有一个细节是电调的电源输入电容。电机启动瞬间会从电池抽取大电流,导致电调输入端的电压瞬间跌落。如果电调板上没有足够的输入电容,这个跌落会传导到整个电源网络,影响主控和其他设备。我通常会在每个电调的电源输入端并联一个低ESR的电解电容(比如470μF)和一个陶瓷电容(比如10μF),前者储能,后者滤高频。
2.4 散热设计:别等烧了才想起来
步兵机器人连续跑三分钟,电调和电机的发热量相当可观。我测过一台典型的步兵机器人,底盘电机电调在室温25度下连续跑三分钟后,散热片温度能到70度以上。如果夏天比赛场馆温度高,或者你开了更高的电流限制,温度还会更高。
散热设计要从三个层面考虑:第一,电调本身的散热片面积要够,如果原厂散热片太小,可以自己加一块铝板。第二,车体内要有风道,利用底盘运动时的气流带走热量。第三,如果条件允许,加一个小风扇对着电调吹。但风扇本身也耗电,而且会增加故障点,所以要权衡。
提示:不要用导热胶把电调完全封死在碳板上,那样热量反而散不出去。正确的做法是用尼龙柱架空电调,让空气能从底部流过。
3. 传感器与执行器:让机器人“感知”和“动作”的硬件基础
一台步兵机器人要能自动瞄准、能稳定行驶,离不开传感器和执行器的配合。这部分硬件基础决定了你的算法上限。很多人算法调不好,其实不是PID参数的问题,而是传感器数据本身就有问题。
3.1 陀螺仪与加速度计:姿态解算的硬件前提
云台和底盘的姿态控制依赖IMU,通常是六轴陀螺仪加加速度计。选型时最关键的参数不是量程,而是零偏稳定性和噪声密度。零偏稳定性决定了你的角度积分多久会漂,噪声密度决定了你滤波后的延迟。
我对比过几款常见的IMU,发现零偏稳定性差异很大。有的模块在常温下零偏稳定,但一发热就漂得厉害。所以IMU的安装位置要远离发热源,比如不要贴在电调旁边。另外,IMU的安装方向要和机械设计对齐,如果装歪了,解算出来的姿态角就会有固定偏差。我的习惯是在机械上做一个定位槽,保证IMU每次安装的角度一致。
加速度计用来做倾角补偿,但底盘运动时的振动会引入很大的噪声。所以加速度计的数据必须低通滤波,截止频率通常设在10Hz到20Hz之间。截止频率太低会导致倾角响应慢,太高则滤不掉振动。这个参数需要根据实际车体的振动特性来调。
3.2 灰度传感器与视觉模块的硬件配合
灰度传感器用于识别地面上的引导线,视觉模块用于识别装甲板和目标。这两类传感器的硬件设计有一个共同点:都需要稳定的光照条件。灰度传感器对地面反光敏感,如果场地灯光不均匀,读数就会跳变。我的做法是给灰度传感器加遮光罩,减少环境光干扰,同时用恒流源驱动红外发射管,保证发射强度稳定。
视觉模块的选型要考虑帧率和延迟。高帧率意味着更快的目标更新,但数据量也更大,对主控的处理能力有要求。如果主控算力有限,可以选择带硬件加速的视觉模块,或者把图像处理放在模块内部完成,只输出目标坐标。这样主控只需要处理坐标数据,负担小很多。
3.3 执行器:舵机与无刷电机的控制差异
除了电机,步兵机器人上可能还会用到舵机,比如用于弹仓拨弹或者某些机械结构。舵机的控制方式是PWM,周期通常20ms,脉宽0.5ms到2.5ms对应角度。舵机的响应速度比无刷电机慢,但控制简单,不需要额外的电调。
无刷电机的控制则复杂得多。如果你用CAN电调,通常发送的是目标电流值,电调内部有电流环、速度环、位置环。你需要根据负载特性选择控制模式。底盘电机一般用速度环或电流环,云台电机用位置环或电流环。这里有一个经验:云台偏航轴用位置环时,如果PID的D项太大,电机会发出高频啸叫,这是因为D项放大了编码器的量化噪声。解决办法是给D项加一个低通滤波,或者降低编码器分辨率要求。
3.4 线束管理:最不起眼但最致命
线束管理是硬件基础里最容易被轻视的部分,但它直接决定了机器人的可靠性和维护效率。我见过太多队伍,比赛打到一半线断了,或者云台转几圈线绞成一团。线束管理的核心原则是:第一,所有线束都要有固定点,不能悬空。第二,运动部位的线束要留足余量,并且用软硅胶线,不能用硬质线。第三,插头要选带卡扣的,普通杜邦线在振动环境下很容易松脱。
云台过线是一个经典难题。偏航轴无限位旋转时,线束会跟着转,转几圈就绞断了。解决方案有两种:一是用滑环,但滑环体积大、成本高、而且需要定期维护。二是限制偏航轴旋转范围,比如正负180度,然后用螺旋线束。我倾向于第二种,因为结构简单、可靠性高。螺旋线束的绕法有讲究,要保证在正负180度范围内,线束的扭转应力均匀分布,不会在某一端过度拉伸。
4. 从图纸到实车:装配、调试与可靠性验证
硬件设计完成只是第一步,装配和调试才是真正考验功力的地方。很多在图纸上看起来完美的设计,装到车上就会发现各种干涉、重心偏移、共振等问题。这一章我会按照实际装配的顺序,把每个环节的注意事项讲清楚。
4.1 机械装配的顺序与力矩控制
装配步兵机器人时,顺序很重要。我的习惯是先装底盘框架,再装轮系和电机,然后装电源和电调,最后装云台和主控。这样每一步都有足够的操作空间,不会出现“装到最后发现螺丝拧不进去”的情况。
螺丝的力矩控制经常被忽略。碳板上的螺纹如果拧得太紧,会滑丝;拧得太松,振动后会松脱。我的经验是:M3螺丝拧到碳板上,力矩大约0.5到0.8牛米,手感是“紧但不费力”。如果有条件,用扭矩螺丝刀。另外,所有螺丝都建议加螺纹胶,尤其是电机座和轮毂上的螺丝。但要注意,螺纹胶分低强度、中强度、高强度,机器人上一般用中强度,方便后期拆卸。
4.2 重心分配与配重策略
步兵机器人的重心位置直接影响行驶稳定性和云台响应。重心太高,急转弯时容易翻车;重心太靠前或靠后,四个轮子的抓地力不均匀。理想的重心应该在底盘几何中心略靠后、高度尽量低的位置。
电池是整台车最重的部件,通常放在底盘中央偏后的位置。电调可以放在电池两侧,主控和视觉模块放在云台上方或底盘前部。如果重心还是偏高,可以在底盘底部加配重块。但配重会增加整体重量,影响加速度,所以要权衡。我的做法是先装好所有部件,然后用两根手指托住底盘前后,找到平衡点,再根据平衡点调整电池位置。
4.3 上电前的静态检查清单
第一次上电是最容易烧东西的时刻。我总结了一个静态检查清单,每次新装车或者大改之后都会过一遍:
- 用万用表测电池输出电压,确认在正常范围。
- 测电源分配板各输出端的对地电阻,确认没有短路。
- 检查所有电调的信号线极性,确认没有插反。
- 检查CAN总线的终端电阻,确认两端都有120欧姆。
- 检查所有插头是否插紧,尤其是电池插头。
- 确认主控的固件已经烧录,并且CAN波特率配置正确。
这个清单看起来简单,但能避免90%的上电烧板事故。我见过有人电池插头插反,瞬间烧掉四个电调,损失惨重。
4.4 分阶段调试:从单电机到整机联调
上电之后不要急着让整车跑起来,要分阶段调试。第一阶段,只给主控和IMU供电,确认IMU数据正常,没有零漂。第二阶段,给单个电调供电,用调试工具发送小电流指令,确认电机转向正确、编码器读数正常。第三阶段,四个底盘电机一起上电,做低速旋转测试,确认CAN通信没有丢包。第四阶段,加上云台电机,测试云台跟随和限位。第五阶段,整机联调,跑PID。
每个阶段都要记录数据,比如电机空载电流、IMU零偏、CAN丢包率。这些数据在后期排查问题时非常有用。我习惯用一个简单的表格记录每次调试的参数和现象,这样如果换了零件或者改了代码,可以快速对比。
4.5 振动与共振:实车跑起来才会暴露的问题
实验室里跑得好好的车,一到场上高速行驶就可能出现共振。共振的来源通常是电机转速和车体固有频率耦合。表现是车体在某个速度区间剧烈抖动,云台画面模糊,甚至螺丝松脱。
解决共振有两种思路:一是改变车体固有频率,比如增加碳板厚度、加加强筋、改变电池位置。二是避开共振转速区间,在代码里限制电机转速。我倾向于第一种,因为限制转速会影响性能。但改变结构需要反复试错,比较耗时。一个快速验证的方法是:用手机慢动作录像拍车体在共振时的振动形态,找到振动最大的部位,然后针对性加强。
4.6 可靠性验证:连续跑圈与冲击测试
比赛前一定要做可靠性验证。我的做法是让机器人连续跑圈至少十分钟,模拟比赛强度。跑圈过程中监测电机温度、电调温度、电池电压、CAN丢包率。如果温度超过80度,就要考虑降电流或者加强散热。如果CAN丢包率超过千分之一,就要检查线束和终端电阻。
冲击测试也很重要。步兵机器人在场上难免碰撞,所以要测试正面撞击、侧面撞击、从台阶上掉下来等情况。测试时重点看插头会不会松、线束会不会断、碳板会不会裂。我见过一台车在测试时被撞了一下,电池插头松了,整台车瞬间断电。后来换了带卡扣的插头,问题就解决了。
5. 常见硬件故障的排查思路与修复案例
硬件故障排查是每个机器人开发者必须掌握的技能。这一章我不会给你一个万能排查表,而是通过几个真实案例,展示排查的思路和方法。这些案例都是我在实际调试中遇到的,经过脱敏处理,但技术细节保留。
5.1 电机间歇性停转:从现象到根因的排查链路
现象:底盘某个电机在行驶中偶尔停转,停转时间很短,可能几十毫秒,但足以导致车体跑偏。重新上电后故障消失,但跑一会儿又出现。
排查第一步:看CAN通信。用CAN分析仪抓取报文,发现故障时该电机的CAN报文确实丢失了。但其他电机的报文正常,说明不是总线整体问题。
排查第二步:检查该电机的电源线。用示波器测电调输入端的电压,发现故障时电压有瞬间跌落。但电池电压正常,说明是线路阻抗问题。
排查第三步:检查插头和线缆。发现该电机的电源线在插头处有轻微氧化,接触电阻变大。大电流时压降增大,电调欠压保护,导致停转。
修复:更换插头和线缆,问题解决。这个案例告诉我们,间歇性故障往往不是代码问题,而是接触不良。排查时要善用示波器和CAN分析仪,抓取故障瞬间的数据。
5.2 云台低速抖动:机械谐振还是控制参数问题
现象:云台俯仰轴在低速跟随时出现明显抖动,频率大约10Hz。提高PID的D项后抖动加剧,降低D项后抖动减轻但跟随变慢。
排查第一步:判断是机械问题还是控制问题。用手轻轻转动云台,感觉是否有卡顿。如果没有卡顿,说明机械顺滑。
排查第二步:用信号发生器给电机发送正弦扫频信号,观察云台响应。发现在10Hz附近有明显的幅值放大,说明是机械谐振。
排查第三步:检查机械结构。发现俯仰轴的同步带张力不足,导致传动刚度低,形成谐振。调整同步带张力后,谐振频率移到更高频段,抖动消失。
这个案例说明,控制参数不能解决所有问题。遇到振荡时,先排除机械谐振,再调参数。
5.3 主控随机复位:电源纹波与地弹的隐蔽影响
现象:机器人在急加速或急转弯时,主控偶尔复位。复位后代码从头开始跑,导致控制中断。
排查第一步:监测主控电源。用示波器测主控3.3V电源,发现急加速时有明显的电压跌落和纹波。
排查第二步:检查电源树。发现主控的供电和电调供电共用一条线,电调的大电流波动通过共阻抗耦合到了主控。
排查第三步:检查地线。发现主控的地线和电调的地线是串联的,地电流导致地弹。
修复:给主控单独走一条电源线和地线,直接从分电板引出,不与电调共用。同时在主控电源输入端加LC滤波。问题解决。
这个案例的教训是:强弱电分离不只是信号线,电源线和地线也要分离。星型接地是解决地弹的有效方法。
5.4 电池续航骤降:内阻增大与电芯不一致
现象:同一块电池,用了半年后,续航从五分钟降到两分钟。充电后电压正常,但一加载就掉压。
排查第一步:测电池内阻。用内阻测试仪测每片电芯的内阻,发现其中一片内阻明显高于其他。
排查第二步:检查电芯一致性。用平衡充电器看充电时的电压曲线,发现高内阻的那片电芯先到4.2V,其他还在4.0V。
结论:电芯老化不一致,导致整组电池可用容量下降。修复:更换电池组,或者把不一致的电芯单独平衡。但锂聚合物电池不建议自己拆解,有安全风险,直接换新更稳妥。
这个案例提醒我们,电池是消耗品,要定期检查内阻和一致性。比赛前一定要用状态良好的电池。
6. 硬件迭代与版本管理:让每一次改动都有迹可循
硬件开发和软件开发一样,需要版本管理。但很多队伍不重视硬件版本管理,导致改了一版机械,电控不知道,代码里的参数还是旧的,一跑就出问题。这一章我分享一些硬件版本管理的实操经验。
6.1 硬件版本号的命名规则
我建议硬件版本号采用三段式:主版本号.次版本号.修订号。主版本号在架构大改时递增,比如从两轴云台改成三轴。次版本号在功能模块增减时递增,比如增加了一个传感器。修订号在修bug或微调时递增,比如改了螺丝孔位。
每次改版都要在机械图纸、电路原理图、代码仓库里同步更新版本号。代码里可以用宏定义把硬件版本号写进去,运行时可以通过调试接口读出来。这样如果发现某台车行为异常,先确认硬件版本,再排查问题。
6.2 变更记录:改了什么、为什么改、影响谁
变更记录是硬件版本管理的核心。每次改动都要记录:改了什么部件、为什么改、影响了哪些其他模块、需要谁配合。比如你改了底盘电机的减速比,那么代码里的速度环PID参数需要重新调,机械上的电机座可能需要重新加工,电池的续航也会变化。
我习惯用一个共享表格记录变更,表头包括:日期、版本号、变更内容、变更原因、影响范围、负责人、验证状态。这个表格所有队员都能看,避免信息不对称。
6.3 兼容性设计:让新老版本能共存
比赛期间,往往会有多台车同时调试。如果硬件版本不兼容,备件就没法互换。所以设计时要考虑兼容性。比如接插件选型,尽量统一型号,不要这版用XT30,下版用XT60。如果必须换,就做一个转接线,让老设备也能用。
软件上也要考虑兼容性。如果新硬件增加了一个传感器,代码里要用条件编译,让老硬件也能跑。这样调试时不会因为一台车改了硬件,其他车就动不了。
6.4 备件管理与赛场应急
赛场上的硬件故障往往需要快速更换备件。所以备件管理很重要。我的做法是:易损件(比如轮子、同步带、插头、螺丝)至少备两套。关键件(比如电机、电调、主控)至少备一套。备件要放在一个专门的盒子里,按类别分格,贴上标签。
赛场应急包还要包括:万用表、烙铁、焊锡、热缩管、扎带、螺纹胶、备用线材、常用工具。我见过有队伍到了赛场发现烙铁坏了,到处借,耽误了大量时间。所以工具也要有备份。
7. 从硬件基础到系统思维:一些个人体会
写了这么多,最后分享几点我在硬件开发中的个人体会。这些不是技术细节,但可能比技术细节更重要。
第一,硬件问题往往不是孤立的。电机停转可能是电源问题,云台抖动可能是机械问题,主控复位可能是地线问题。排查时要跳出模块思维,从系统层面看信号和能量的流动。
第二,数据比感觉可靠。调试时不要凭感觉说“好像好了”,要用示波器、CAN分析仪、温度计去测。我习惯把每次调试的数据记录下来,这样问题复现时可以直接对比。
第三,留余量。电源功率留20%余量,结构强度留安全系数,代码参数留调整空间。比赛时往往会有意外情况,余量就是你的容错能力。
第四,多和机械、算法队友沟通。硬件是机械和算法的桥梁,如果你不了解机械的约束和算法的需求,设计出来的硬件很可能两边都不讨好。我每周都会和队友过一遍进度,确认接口定义和参数变化。
第五,别怕改版。第一版硬件有问题很正常,重要的是快速迭代。但每次改版都要有记录、有验证,不能越改越乱。
硬件基础这件事,说到底就是让机器人能稳定地跑起来、打出去。算法再牛,硬件不稳定,一切都是零。希望这篇讲义能帮你少走一些弯路,把更多时间花在真正有价值的创新上。