巡检机器人的研发进入第八天,系统发布了任务进度更新。
“叮——【智能巡检机器人】任务进度:78%。机械结构完成度:95%。电子系统完成度:85%。软件算法完成度:90%。”
“任务评价:进度正常,但宿主在‘误差控制’方面表现欠佳。建议宿主提高对精度要求的重视程度。”
林默看着这条评价,有点不服气。
“我这精度还不够?室外识别准确率94.7%,路径跟踪误差不到10厘米,这放在本科生的项目里已经是顶尖水平了。”
“叮——系统不是在评价任务完成度,而是在评价宿主对‘精度’的态度。宿主在设计过程中,多次采用‘差不多就行’的近似计算,缺乏对误差来源的系统性分析。这种态度在民用产品中可以接受,但在高精度要求的国防、航天领域,是不可接受的。”
林默沉默了。
系统说得对。他确实习惯了“差不多就行”——刀片角度大概多少、电机转速大概多快、传感器阈值大概设多少,全都是“大概”,没有严格的计算和验证。
“我知道了,以后注意。”
“叮——为了帮助宿主建立误差控制的意识,系统将在后续任务中加入精度考核指标。不达标将影响任务评价和奖励。”
“行行行,你说什么都是对的。”
林默嘴上敷衍着,心里已经开始盘算怎么在巡检机器人的最终测试中把精度提上去。
---
又过了三天,巡检机器人的所有功能都开发完毕了。
林默给机器人做了一次完整的性能测试,数据如下:
·自主导航精度:路径偏差±12厘米
·目标识别准确率:94.7%
·识别定位误差:±8厘米
·云端数据上传成功率:99.2%
·单次充电续航:2小时15分钟
他把数据整理成报告,发给苏清颜看。
苏清颜看完,沉默了一会儿。
“你这个定位误差,标注的是±8厘米?”
“对,实测平均值。”
“你知道±8厘米意味着什么吗?”苏清颜看着他,“如果这个机器人在工厂里巡检,8厘米的误差可能导致它撞上设备。如果它在仓库里盘点货物,8厘米的误差可能让它扫错货架。”
“所以呢?”
“所以你的精度不够。”苏清颜毫不客气地说,“至少要做到±3厘米以内,才有实用价值。”
林默揉了揉太阳穴。
“±3厘米?你当我是做精密机床的?”
“那你至少要做到±5厘米。”苏清颜退了一步,“±8厘米太粗糙了。”
林默想了想,觉得苏清颜说得有道理。
“行,我再优化一下。”
---
接下来的两天,林默泡在实验室里,对机器人的导航和定位系统做了全面优化。
他重新校准了GPS模块的坐标系,优化了里程计的积分算法,加了一个卡尔曼滤波器来融合GPS和里程计的数据。
一番操作下来,导航精度从±12厘米提升到了±6厘米,定位误差从±8厘米压缩到了±5厘米。
“±5厘米,够了吧?”林默问苏清颜。
苏清颜看了一眼数据,点了点头:“勉强可以。”
林默在报告里把定位误差标注为“±5厘米”,然后把报告提交给了系统。
“叮——任务进度更新。宿主在报告中标注的定位误差为±5厘米。系统将进行独立验证测试。”
“验证就验证,怕你?”
---
第二天上午,系统发布了验证测试的结果。
“叮——独立验证测试完成。宿主标注的定位误差:±5厘米。系统实测误差:±15厘米。”
林默愣住了。
“多少?±15厘米?差了三倍?”
“叮——系统使用了更高精度的测量设备(激光测距仪+高精度GPS基站),测得宿主的机器人定位误差为±15厘米。宿主在测试中使用的卷尺测量方法,存在系统性的测量误差。”
林默张了张嘴,说不出话来。
他承认,他用的是卷尺。从机器人停下的位置,到目标点的位置,拉一把卷尺,肉眼读数。确实不够精确。
“那……这个结果会影响任务评价吗?”
“叮——不影响任务完成度。但系统将记录这次‘标注误差与实际误差不符’的事件,作为宿主未来研发的参考。”
林默松了口气,但心里还是有点不舒服。
差了整整三倍,这误差也太大了。
“叮——系统提示:宿主的‘误差标注’虽然在数值上不准确,但系统发现了一个有趣的现象。”
“什么现象?”
“宿主的机器人,实际定位误差±15厘米,恰好在某些应用场景中产生了意想不到的优势。”
林默没听懂:“什么意思?”
---
当天下午,苏清颜拉着林默去做实地的“极限测试”。
他们选了学校最复杂的一片区域——机械工程系楼后面的“小树林”。
说是树林,其实是一片多年没人打理的杂木林,里面种着各种叫不出名字的树,地面坑坑洼洼,到处是凸起的树根和掉落的枯枝。
“你确定要在这里测?”林默看着这片树林,有点犹豫。
“最复杂的环境,才能测出极限性能。”苏清颜已经把机器人放在了林子边上,“开始吧。”
机器人启动,履带碾过枯枝,发出咔嚓咔嚓的声音,缓缓驶入树林。
林默设定的路径是一条直径十米的圆形,机器人需要绕一圈,回到起点。
前半圈还算顺利。机器人避开了几棵粗大的树干,绕过了一个小土坡,履带在落叶上留下两道浅浅的痕迹。
走到第七个点的时候,问题出现了。