第一节
我奉命拆掉梧桐巷口最后一套旧式信号控制器的那晚,系统连续三次报出:行人检测,零。
可旧行人灯却在十九点十二分准时变绿。
那盏灯立在梧桐巷口,灯杆掉了漆,底座被雨水泡出一圈锈。旁边的新式感应灯已经装好,黑色摄像头对着斑马线,控制柜里亮着一排蓝色指示灯。旧灯像个没收到通知的退休员工,仍然准点上班。
我叫顾临,路衡智能的现场维护员。今晚十二点前,我要拆掉旧控制箱,完成梧桐巷口的智能化改造验收。
项目负责人袁工说过,只要这次验收按时通过,我的转正申请就能一起递上去。
我在公司干了两年零八个月,合同续过两次。每次谈转正,袁工都说再等一个项目。这次总算轮到我。
所以我没打算让一盏旧灯坏了计划。
我对这种项目有种近乎职业病的紧张。现场交付表上有几十项勾选,电压、接地、相位冲突、通讯延迟,每一项都能决定一盏灯能不能接入系统。过去两年,我最常做的事就是拿着图纸和工具在路边蹲到天黑。有人觉得维护员只会换灯泡,我倒不在意。只要设备能正常工作,谁来做都一样。可转正之后,我至少不用每半年重新解释一次自己为什么还留在公司。
“你看见没有?”我把平板递给同事小梁,“行人请求数是零,旧灯却自己放行。”
小梁扫了一眼:“定时相位没清干净吧。老控制器的程序还在。”
“我也这么想。”
我打开控制柜。新旧控制线路并排走着,旧控制器上贴着一张褪色标签:19:12,行人相位,保留。
没有签名,也没有工单编号。
“谁留的?”我问。
小梁耸肩:“上个维护班组吧。拆了就完事。”
十九点十二分,行人灯再次变绿。
路口空着。两辆车从南边驶来,车速不快,看到行人灯亮起,还是停在停止线前。三秒后,绿灯熄灭,车辆通行。
系统屏幕上跳出一行字:
【本周期行人检测:0】
我盯着那行字,忽然觉得有点不对。
我把数据往前翻了三个月。旧控制器每天都在十九点十二分启动,持续二十秒,周末也不例外。新系统上线后,行人请求数从第一天起就是零。它没有出现过一次波动,也没有哪一天因为天气、节假日或临时活动改变过数值。
真实的路口不会这么整齐。
我做过不少老城区改造,哪怕是平时几乎没人经过的小路,也会有送货的人、遛狗的人、赶公交的人。一个路口连续十九天没有任何行人请求,不是绝对不可能,但值得多看一眼。
如果旧控制器只是程序残留,为什么它每天都在同一时间启动?如果没有行人,为什么要保留一个固定的行人相位?
袁工的电话就在这时打进来。
“顾临,现场怎么样?”
“新控制器正常,旧控制器有个十九点十二分的固定行人相位,我准备清掉。”
“对,清掉。那是历史遗留。数据上已经连续十九天零行人了,保留固定相位会影响车流效率。”
“我想再确认一下。”
电话那头停了一秒。
“确认什么?系统数据、施工图、现场都对过了。今晚验收,明早客户就要接管。你别在最后一步给自己加工作量。”
“明白。”
挂断电话后,我看了看控制柜上的那张标签。
19:12。
我把它拍了下来,没有立刻拔线。
第二天,我提前半小时来到路口。
这一次,我没盯着屏幕,而是站在斑马线对面,看着人行道。
十九点十一分,巷子里走出一个女人。
她四十多岁,穿深灰色外套,右手拿着一根白色手杖。她沿着地面凸起的黄色盲道慢慢走到路口,在路沿前停下。她没有摸索按钮,也没有向任何人求助,只把手杖尖轻轻点在地面上,等着。
十九点十二分,行人灯变绿。
女人抬起头,听了两声提示音,随后稳稳地走过斑马线。
她走得不快,却没有犹豫。
我低头看平板。
【本周期行人检测:0】
我抬起头时,她已经走到对面。
她显然知道这盏灯会在什么时候亮。
我追过去,隔着半条人行道喊她:“您好,打扰一下。”
她停下脚步,侧过脸:“是问路吗?”
“不是。我是路口信号灯维护人员,想问您是不是每天这个时间从这里过?”
“差不多。周一到周五,七点十二分。”
“您知道这盏灯会准时变绿?”
“知道。”
“您怎么知道的?”
女人笑了笑:“因为它一直这样。”
我看着她手里的白色手杖,又看向身后的摄像头。
“系统显示,这个路口已经十九天没有行人了。”
“那是系统的事。”她说,“我每天都从这里走。”
她叫唐宁,在附近的社区夜读室做无障碍阅读培训。每周一到周五,她七点下课,沿着梧桐巷口去公交站。
“以前这里有按钮吗?”我问。
“有,在旧灯杆右边。后来修路,栏杆挪过,按钮也换了位置。我找不到了,就记住了灯的时间。”
“您没有报修?”
“报过。手机上的报修页面让我拍按钮的照片。我连按钮在哪儿都不知道,怎么拍?”
她说得平静,像是在讲一件早就习惯的事。
我问她平时几点下课,她说夜读室的课程通常七点结束,偶尔有人问得多,就会拖到七点十分。她从来不赶时间,宁愿在路边多等一会儿,也不愿意在车辆密集的时候凭声音猜测车距。
“以前这盏灯的提示音是什么样?”我问。
“短短两声,绿灯亮的时候会再响一次。后来换了新灯,声音变得很轻。我听不清,就只能记住旧灯的时间。”
她说完,伸手摸了摸灯杆。
“你们新装的这个,表面很光滑。旧灯杆上有一圈凸起,我以前走到这里,手杖碰一下就知道到了。现在没有了,我得多走几步找边缘。”
我这才注意到,新灯杆底部确实没有给手杖留下明显的触碰标记。设计图里只标了按钮高度和设备位置,没有标出一个人如何靠近它。
我问她为什么不走前面一百多米的地下通道。
“能走。”她说,“但坡道经常停着电动车,扶手中间有一段松了。绕过去要多走十分钟。不是不能走,是这条路明明在这里,偏偏要我证明自己走得过。”
她把手杖收回身侧。
“你们要拆灯?”
“今晚验收。”
“那你们拆吧。”她说,“我只是告诉你,我每天都走。”
她没有求我留下灯,也没有问我能不能帮忙。
这让我更难回答。
第二节
唐宁走远后,我重新站回控制柜旁。
新系统的检测范围是一块半透明的蓝色区域,覆盖斑马线前方两米。按图纸,只要有人站在等待区,摄像头就能识别并触发行人请求。
我沿着蓝色区域走了一遍,又顺着地上的盲道往回走。
盲道从巷子里出来,沿着路边直通路口。它的终点却落在斑马线外侧,离系统标注的等待区差了将近两米。
我蹲下去,摸了摸盲道的砖面。
砖没有问题。问题在于,盲道把人带到的地方,根本不是系统认为行人应该站的位置。
我打开施工图。
图纸上,盲道的终点和斑马线起点重合。现场却不一样。道路翻修时,斑马线向东移了两米,盲道没有跟着改。新信号灯的检测区按图纸生成,按钮则装在了新灯杆的另一侧。
从盲道走来的人,先到旧灯杆旁边,再到新灯杆背面。按钮被一块临时护栏挡着,摄像头也看不见他们。
我把现场照片和图纸叠在一起,偏差清清楚楚。
这不是系统故障。系统只是在认真执行一张错误的地图。
小梁看完后说:“那就改一下检测区呗。”
“检测区能改,按钮也能挪。但要重新做现场测试,今晚来不及。”
“把按钮挪到盲道边上不就行了?”
“还要看轮椅能不能够到,手杖能不能摸到。按钮不是贴墙上就算无障碍。”
小梁挠了挠头:“那你跟袁工说。”
我拨通袁工的电话,把发现的问题说了一遍。
袁工没有马上反驳,只问:“你确定这是导致零检测的原因?”
“我还没做完测试,但位置偏差是确定的。”
“有没有实际漏检?”
“昨天有一个低视力用户从盲道走过,系统没有记录。”
“一个人?”
“目前看到一个。”
袁工叹了口气:“顾临,我们不能因为一个人,就把整个路口的改造推倒重来。新系统不是只看一个摄像头,检测区、车流相位、行人请求都有联动。你要改,得有测试报告。”
“我知道。”
“今晚先按计划验收。你把问题记在后续优化清单里,我让产品组安排复核。”
“如果今晚拆掉旧控制器,她明天怎么过?”
“她可以走前面的地下通道。”
“她说那边不安全。”
“她说不安全,和实际不安全是两回事。我们得按标准来。”
袁工没有恶意。他要对整条线路负责。一个路口延误,可能牵连后面十几个点位;一盏灯固定放行,也可能让车辆无故等待,甚至造成新的风险。
我也知道这些。
可我看着盲道的终点,突然想起昨天那句“这条路明明在这里”。
“我再做一次现场测试。”我说。
“顾临,今天是验收最后一天。”
“我知道。”
“你转正的材料也在我桌上。”
我没说话。
袁工把电话挂了。
我打开控制柜,把旧控制器的程序备份下来。它并不复杂,只是一条固定相位指令,每天十九点十二分启动,持续二十秒。
程序最末尾有一行注释:
【过渡期保留,待无障碍通道改造完成后撤销。】
注释后面没有日期。
我顺着控制柜里的旧工单编号,找到了上一任维护员的名字:邵建国。
我拨了他的电话。
电话响了五声才接通。
“哪位?”
“邵师傅吗?我是路衡智能的顾临,负责梧桐巷口改造。旧控制器上有您留下的固定行人相位,我想问一下,当年为什么要保留?”
对面沉默了一会儿。
“你们现在才拆?”
“今晚验收。”
“那你们先别拆。”
邵师傅的声音一下子严肃起来。
“那条盲道还在吗?”
“在。”
“按钮呢?”
“换过位置。”
“那就对了。”他说,“当年就说过,盲道没改完之前,不能把那段固定相位撤掉。”
“当年是什么情况?”
“你过来一趟吧。电话里说不清。”
我看了一眼时间。
十九点四十六分。
离验收截止还有四个小时。
第三节
邵师傅住在梧桐巷往北两站路的小区。
他退休三年,家里堆着拆下来的旧灯罩、接线端子和几本发黄的维护手册。门一开,他先问我:“你们是不是把那条路的数据当真了?”
我把平板递给他。
邵师傅看着连续十九天的零,笑了一声。
“这数字倒是漂亮。”
“您当年为什么设十九点十二分?”
“那时候附近有个视障者活动室,晚上七点下课。几个人一起过路口,走得慢。旧信号灯的按钮在他们够得着的地方,后来修路,施工队把杆子挪了,按钮也跟着换了位置。可盲道没动。”
“那您就设了固定相位?”
“先设三个月,等施工队把盲道接上。后来他们说下一批施工一起做,我就把时间写进了控制器。每晚七点十二分亮二十秒,至少让他们有个准头。”
“为什么没有工单?”
邵师傅把手里的茶杯放下。
“那时候我不是项目负责人,只是维护员。现场先做临时措施,工单后来补。结果我还没等到补单,人就退休了。你们接手时,应该能查到那张旧施工记录。”
我在系统里搜了一遍,确实有一条记录,只是附件已经失效,状态标注为“待后续施工”。
那条记录的创建时间是三年前。备注里写着“周一至周五,晚间活动结束后集中通行”,后面还有一行小字:“待盲道接驳完成,恢复感应控制。”
我把记录放大,发现经办人一栏是邵建国,处理状态却一直停在“临时措施”。它没有被关闭,也没有被转交给下一家维护公司。旧系统里,这种记录通常不会自动同步到新平台。只要原来的设备还能运行,现场人员就会默认它已经解决。
“当时为什么没人催施工?”我问。
邵师傅看着窗外:“催过。施工队说要跟路口整体改造一起做。后来预算调整,先把机动车道修了,盲道那一段就往后排。每次问,都说下一批。”
“那批人后来呢?”
“有人搬走,有人换了路线,也有人还在走。你问我具体多少,我不知道。”
他停了一会儿。
“你们现在的系统很聪明,能把每辆车的速度、方向、等待时间算出来。可要是它没把人走的路画进去,再聪明也没用。”
“活动室还在吗?”我问。
“搬过一次。后来改成夜读室了。唐宁你认识吗?以前她就在那里帮忙。”
我点点头。
“她每天还走那条路?”
“今天见到了。”
邵师傅摇头:“我以为他们早就不走了。前两年我去过一次,门锁着,里面空了。我就没再管。”
“所以您不知道固定相位还在保护谁。”
“我只知道那条路没改完。至于还有没有人走,我没数据。”
这句话让我想起袁工。
我们都在用数据判断一条路有没有人走。邵师傅当年留下了一个固定相位,却没有留下完整的使用记录;新系统接手后,只看见十九天零请求,就把它当成无用程序。
一个人凭经验保留了灯,另一个系统凭数据准备拆掉灯。
中间那条盲道,没人真正走过。
我问邵师傅:“您能跟我去现场吗?”
“去干什么?”
“做一次测试。”
他把茶杯里的水喝完,站起来找外套。
“走。”
回到路口时,袁工也来了。
他看见邵师傅,先打了招呼:“邵师傅,您怎么也来了?”
“我留下的程序,你们要拆,我总得看看。”
袁工没有接这句话,只对我说:“顾临,我已经把现场偏差报给客户了。对方同意先做一次验证,但时间只有四十分钟。验证不通过,今晚照常验收。”
“可以。”
“还有,测试期间不能随意切换信号相位。你们只能用维护模式,现场要有人看守。”
“明白。”
袁工转向邵师傅:“您当年的固定相位,是临时措施,不能无限期保留。我们今天要解决的是现在的问题,不是替旧程序找理由。”
“我没说要留旧程序。”邵师傅说,“我只想看看现在的人还能不能从那条路走过去。”
两个人都没再说话。
我把维护模式切到测试状态,先让新系统按正常逻辑运行。
唐宁答应过来,但她说要等夜读室结束课程。
我们决定先用自己的人做模拟。
小梁沿盲道走到路口,站在唐宁昨天停下的位置。
系统没有反应。
他往东挪了半步,还是没有。
再往前两步,摄像头终于识别到行人,屏幕上的检测框亮起。
“看到了。”小梁说。
“退回去。”
小梁退回盲道终点。
检测框消失。
我把检测区域放大,才发现蓝色区域的边缘正好从他的脚边擦过去。只要他沿着盲道停下,系统就认为那里没有等待行人。
“不是识别不到人。”我说,“是人站的位置不在它的地图里。”
袁工蹲下来,看了看盲道和斑马线之间的距离。
“现场测一下。”
我拿出测距仪。
盲道终点到检测区边缘,一点八六米。
新按钮中心到盲道边缘,二点四一米。
袁工看完数据,脸色沉了下来。
“图纸上不是这样。”
“施工变更没同步到信号系统。”
“谁确认的竣工图?”
“我还没查到。”
“先别追责任。把测试做完。”
他这次没有催我拆灯。
我把盲道终点、按钮位置和检测区叠在一张图上。三条线没有一条重合。那一刻我终于明白,系统里连续十九天的零,不是路口没人,而是这条路从来没有被系统当成一条路。
第四节
十九点零五分,唐宁到了。
她身后跟着两个人,一个拿着折叠手杖,另一个推着小型助行器。三个人没有急着过马路,先站在盲道起点,听我说明测试流程。
“我们需要你们按平时的路线走,不用配合系统。”我说,“走到平常等灯的位置,停下来就行。”
唐宁问:“如果灯不亮呢?”
“我们会切到维护模式,保证车辆停住。”
“那就开始吧。”
她没有多问。
三个人依次沿盲道走来。唐宁走在最前面,手杖轻轻敲着地面;拿折叠手杖的男人走得慢,每隔几步就停一下;推助行器的女人则沿着盲道边缘走,避免轮子卡进砖缝。
他们都停在同一个位置。
系统屏幕上的行人检测数,仍然是零。
袁工盯着屏幕:“换一个角度。”
小梁调整摄像头,检测框还是没有出现。
唐宁抬起头:“你们是不是在看我站在哪里?”
“对。”我说。
“那你们看错了。”她指了指脚下,“我们是沿着盲道走到这里的。盲道让我停在这里,不是让我再往前找一个看不见的按钮。”
她说完,把手杖尖往前探了探。
手杖碰到了路沿。
“我能感觉到路沿,也能听见车声。可我不知道你们把按钮装在哪儿。你们让我再往前走两米,我就要走进车道了。”
袁工没有说话。
推助行器的女人补了一句:“我以前也走这条路。后来有一次,灯没亮,旁边的车又一直转弯,我就不走了。绕地下通道太远,但总比被车撞强。”
“你们都报过问题吗?”我问。
“报过。”唐宁说,“社区也报过。后来有人来拍了照片,说会处理。再后来,系统升级了,页面上显示没有异常。”
她指向新按钮所在的位置。
“你们把按钮放在那边,盲道却把人带到这边。要是一个人视力不好,他怎么知道要绕过去找按钮?”
我顺着她指的方向看去。
按钮藏在新灯杆背面,离盲道终点两米多。它旁边还有一块护栏,护栏底部没有留出手杖探测的空间。
这不是一个人没找到按钮的问题。
是所有按照盲道行走的人,都被引到了系统检测范围之外。
我把检测区域和盲道路径同时投到平板上。
两条线像两条互不相干的路。
“现在请你们原路返回。”我说。
唐宁没有动。
“我们还没过马路。”
“测试结束了。”
“可我们平时要过马路。”
我愣了一下。
她说得没错。我们让他们走到路边,记录了一次漏检,然后准备结束测试。可他们每天要做的事情,是从这里过到对面。
我看向袁工。
袁工点了点头:“维护模式,全红。安排一名现场人员看车,做一次完整过街测试。”
我把信号切到全红,确认两侧车辆全部停下,再示意唐宁三人通过。
他们走得很慢。
唐宁走在最前面。她先听提示音,再用手杖确认路沿,随后沿着斑马线走。走到中间时,一辆右转电动车突然从停车线后面挤出来。
小梁喊了一声。
我按下维护控制器的紧急停止键,路口所有方向保持红灯。
电动车停在斑马线前,骑车的人骂了一句:“你们干什么?全红了还不让走?”
袁工走过去解释:“正在做安全测试,请等一下。”
那人看了看我们身上的工牌,嘟囔着绕到另一侧。
唐宁已经走到对面。
她回头问:“刚才那辆车,是你们控制的吗?”
“不是。”我说,“所以我们必须把这段测试做完整。”
她点了点头。
“我每天走这里的时候,也会遇到这样的车。”
我低头看了一眼平板。
检测日志里,刚才三个人走过斑马线的全过程,仍然没有生成一次行人请求。
系统没有出错。
它只是没有看见他们。
我把测试视频保存下来,连同测距数据、施工图偏差和唐宁等人的现场记录,一起上传到项目工单。
袁工看完,终于说:“这不是简单调个摄像头角度能解决的。”
“对。”我说,“按钮要移,盲道和斑马线要重新衔接,检测区域也要按实际路线改。”
“工期呢?”
“至少一天。”
“今晚验收不可能过。”
我没有回答。
他看着我:“顾临,你知道这意味着什么吗?”
我知道。
第五节
晚上八点四十,测试结束。
唐宁三人回了夜读室。她走之前,把一张折起来的纸交给我。
“这是我们之前整理的出行问题。”她说,“不一定对你们有用,你可以看看。”
纸上写着四个路口的名称,旁边标注了“按钮找不到”“盲道断开”“提示音太小”“过街时间不够”。
每一条后面都有日期。
最早的一条,是两年前。
我问:“这些问题都报过吗?”
“报过一部分。有的地方后来修了,有的地方换了灯,换完反而更难走。”
“为什么不继续报?”
唐宁看着我:“你们每次都让我们重新描述一遍。说了很多次,最后还是回到起点。人会累的。”
她没有责怪我。
但我把那张纸握在手里,觉得比被人骂一顿更难受。
袁工把我叫到车边。
“先说清楚,你准备怎么处理?”
“申请暂停旧控制器拆除,保留临时相位,明天完成按钮和检测区调整,再做一次联合测试。”
“旧控制器的固定相位不能长期保留。它没有实时检测,可能在没有行人的时候放行,也可能在车辆拥堵时造成冲突。”
“我知道,所以只保留到新系统通过测试。”
“谁来承担临时相位的风险?”
“我提交现场安全评估,您审核,客户确认后执行。”
袁工看着我:“你想把责任写到自己名下?”
“我负责现场维护。”
“你只是维护员,不是项目负责人。”
“所以我会把问题和建议都写清楚,不越权决定。”
袁工没有立刻答应。
他拿起平板,重新看了一遍测试视频。
“这次确实是设计和现场不一致。你把数据整理出来,我去跟客户沟通。”
我松了口气。
“但你别以为这样就没事了。”他补充,“项目延误一天,违约责任要有人解释。你原本的转正材料,我也不能按原计划提交。”
我点头。
“明白。”
“你不后悔?”
我想了想。
“如果今晚拆掉,明天有人在这里摔倒,或者被车撞,我会后悔。”
袁工没再说话。
晚上九点半,我开始写安全评估。
写到最后一栏时,系统弹出提示:
【是否确认:本路口不存在有效行人需求?】
下面有两个选项:
【确认无需求,继续验收】
【存在未识别风险,申请复核】
我盯着这两个按钮看了很久。
过去十九天的系统数据全是零。施工图上的盲道与斑马线完全重合。验收流程也没有要求维护员必须亲自走一遍盲道。
如果我点第一个,今晚就能完成验收。
如果点第二个,项目会自动进入复核流程,旧控制器不能拆除,验收时间顺延。我的工单会被单独记录,延误原因也会落在我的名字下面。
我把手指放在第二个按钮上。
还没按下去,手机响了。
是邵师傅。
“你们测试了?”
“测了。确实漏检。”
“那就好。”
“好?”
“至少你们知道问题在哪儿了。”
我把情况告诉他。
邵师傅说:“我当年留那二十秒,不是为了让灯永远亮着。是因为那时候盲道没接好,大家又每天要从那里过。我不懂你们现在的算法,但我知道,人走到路口,得有地方等,得知道什么时候能走。”
“我准备申请复核。”
“那就按规矩办。别为了留一盏旧灯,把新灯也弄成旧灯。”
我笑了一下。
“您放心。”
挂断电话,我点下了第二个按钮。
页面跳出一条确认信息:
【复核申请已提交。项目验收暂停。】
我把手机放回口袋。
转正的事,大概又要往后拖了。
第六节
第二天早上七点,袁工带着客户代表和施工班组来到现场。
客户代表姓许,是负责片区交通设施维护的工程师。他看完测试报告,先问了一个问题:
“为什么系统连续十九天没有检测到行人?”
我把原因讲了一遍:施工后斑马线向东移动,盲道没有同步调整;新按钮安装在灯杆背面,盲道终点无法自然引导行人到达;检测区域按旧图纸生成,与实际等待位置错开。
许工翻着现场照片。
“也就是说,系统的零,不代表没有人,只代表没有人进入它设置的检测区域。”
“对。”
“那旧控制器为什么能正常放行?”
“因为它是固定相位,每天十九点十二分放行二十秒,不需要检测到行人。”
许工点头:“先把实际路径重新测一遍。”
施工班组拿出测量工具。
唐宁也来了。她没有带手杖以外的东西,只拿着昨天那张问题清单。
许工问她:“您愿意配合我们做一次无障碍测试吗?”
“可以。”唐宁说,“但我希望你们别只让我走一遍。还有几位老人也会走这里,最好让他们一起来。”
“可以安排。”
她转身给夜读室打了电话。
一个小时后,又来了两个人。
一个叫老许,七十岁,视力很弱,走路时需要有人提醒路沿位置;另一个叫阿乔,二十多岁,视野有缺损,能看见正前方,却很难判断侧面车辆。
他们不是来替我们证明谁对谁错的。
他们只想把平时怎么走路,原原本本走给我们看。
测试开始前,施工人员把护栏挪开。
唐宁沿盲道走到路口,停在原来的位置。老许走得更慢,手杖碰到路沿后,他先向左探了一下,再向右探,确认前方没有障碍。阿乔则在离路沿半米的位置停住,抬头寻找提示音的方向。
三个人停的位置不一样。
但都在原检测区外。
许工看了看检测图:“这个区域要重新划。”
“按钮也要移。”我说。
“按钮放在哪里?”
我没有马上回答。
我把唐宁昨天交给我的问题清单递过去。
“先听他们的路线,再决定位置。”
唐宁走到灯杆旁边,伸手摸了摸外壳。
“按钮最好在盲道自然到达的位置,不要让我绕着杆子找。高度也别太高,手杖能摸到,手能按到。提示音不要太轻,旁边车多的时候听不见。”
老许补充:“绿灯时间也得够。我走得慢,二十秒不一定能过完。”
阿乔说:“声音提示要有方向感。现在有些路口一直响,我分不清是哪个方向放行。”
许工把这些意见逐条记下来。
我没有急着给出一个能解决所有问题的漂亮方案。唐宁需要按钮能被手杖找到,老许需要更长的过街时间,阿乔需要方向明确的提示音。三个人的需求并不完全一样,但都指向同一件事:系统不能只按一个理想行人的身高、速度和站位设计。
我让施工人员先测量斑马线实际长度,再用三个人的行走速度做多轮模拟。按钮的位置要让轮椅使用者能够靠近,也不能让盲道上的人为了按按钮而横向绕行。提示音需要分方向,但不能大到盖过车辆声音。检测区域既要覆盖等待区,也不能误把旁边的人行道当成过街请求。
这些调整没有神奇的技术含量,麻烦在于每一项都要到现场验证。设计图上多画一个方框很容易,真正让不同的人都能用,需要有人站在路口反复走。
“先把最低限度的安全条件做出来。”我说,“按钮放在盲道终点附近,检测区域覆盖整个等待区;行人相位根据实际过街距离计算,慢行测试时留足清空时间;提示音区分方向,并且不依赖单一声音。”
“这些都要复测。”
“对。”
“预算呢?”
“需要增加一个低位按钮和一组提示音模块,检测区可以重新标定,不需要换主控制器。”
许工看向施工人员:“先按这个方案出现场变更单,费用另算。”
袁工没有再反对。
上午十点,新的按钮装到了盲道自然到达的位置。施工人员重新划定检测区域,把盲道终点和斑马线之间的断点补齐。摄像头角度也向下调整了一点,避免只识别站在正中间的人。
但新系统第一次测试时,仍然没有通过。
唐宁站在按钮前,按下去,系统有反应。
她往后退半步,检测框消失。
老许按下按钮,系统识别到请求,却在绿灯即将结束时仍然显示剩余时间不足。
阿乔听了提示音,说:“左右两个方向听起来一样。”
问题一个接一个冒出来。
许工把测试表放在车头上:“今天先不验收。把问题改完,再来。”
袁工看了一眼时间。
“看来今天也得加班了。”
我说:“我可以留下。”
他看着我:“你本来就该留下。”
第七节
下午四点,新的方案终于有了雏形。
按钮被移到盲道终点旁,按钮下方加了凸起标记,手杖可以触碰到。摄像头检测区覆盖了整块等待区域,行人请求不再只依赖按钮。提示音分成两个方向,音量也经过现场测试。
绿灯时间没有简单地加长,而是根据实际过街距离重新计算,并设置了清空时间。这样既能让行动较慢的人安全通过,也不至于让车辆一直等待。
最重要的是,旧控制器的固定相位被取消了。
它完成了自己的工作。
晚上六点四十分,许工让我们做最后一次联合测试。
唐宁、老许和阿乔站在盲道起点。
这一次,我没有先看屏幕。
我站在他们旁边,听着手杖敲击地面的声音,看着他们一步步走到等待区。
唐宁按下按钮。
提示音响起。
系统显示:
【行人请求:1】
老许走到按钮旁,等待区检测框亮起。
【行人请求:2】
阿乔走到最外侧。
【行人请求:3】
三个数字依次出现在屏幕上。
袁工看着检测框,问:“能不能让他们同时站在不同位置?”
我点头。
三个人按各自平时的习惯站开。
检测框没有消失。
“开始放行。”许工说。
行人灯变绿,提示音响起。
唐宁先走,老许慢一点,阿乔走到一半时停了一下,确认侧面车辆已经停止,再继续往前。
他们都通过了。
系统的行人计数停在三。
袁工把手里的测试表翻到最后一页。
“还差一个。”
我看着他。
他指了指对面:“你过去,按平时的方式走回来。”
我走到对面,沿着盲道走到等待区。
检测框亮起。
【行人请求:4】
我站在唐宁旁边,第一次以一个普通行人的身份等绿灯。
那二十秒很长。
车辆停住,提示音响起,绿灯亮起。
我们四个人一起走过斑马线。
我特意站在最后,没有催任何人。老许过到一半时,手杖碰到斑马线边缘的排水槽,他停下来重新找方向。阿乔听见右侧有电动车刹车声,脚步也慢了半拍。唐宁没有回头,只把手杖向前伸了一点,给后面的人留出空间。
从车辆驾驶员的角度看,这段时间也许显得很长。可如果把他们的动作压缩成系统里的一条“行人请求”,就只剩一个数字,甚至连这个数字都没有。
我忽然明白,为什么唐宁不愿意把问题说成“请你们帮我”。她要的不是一次特殊照顾。她只是希望每天经过这里的人,不必先证明自己值得被看见。
我把测试日志导出时,发现三个人的行走速度差异很大。若只按平均速度设置绿灯,老许仍然可能走不完。我们需要的不只是让系统识别到人,还要让它给不同速度的人留下足够的清空时间。
到达对面后,许工在验收表上写下“通过现场联合测试,后续持续观察”。
但袁工没有立刻签字。
他看着旧控制箱:“旧控制器可以拆了。”
我点点头。
“这次拆。”
我们拆掉旧控制器时,邵师傅也来了。
他站在旁边,看着那块褪色的标签被取下来。
“十九点十二分。”他念了一遍,“这回可以退休了。”
我把标签放进工具箱。
邵师傅问:“你留它干什么?”
“留个记录。”
“记录什么?”
“记录这盏灯以前为什么亮。”
邵师傅笑了。
“行。别把它写成故障。”
晚上八点,项目验收完成。
我把旧控制器的程序备份、原始施工图、现场测量数据和变更后的参数一并归档。旧控制器拆下来后,线头逐一做了绝缘处理,柜内留下新的接线图和维护编号。那张写着“19:12”的标签没有被扔进废料袋,而是贴进了项目记录本,旁边注明:临时固定相位,因无障碍路径未完成而保留;后经现场联合测试,已由新系统替代。
袁工把报告递给我:“你这次的工单写得很细,客户认可了。但原来的交付时间延误一天,转正材料要重新走流程。”
我点头。
“我知道。”
“你要是今晚直接拆了,昨天就能验收。”
“我知道。”
袁工看着我,似乎还想说什么,最后只拍了拍我的肩膀。
“明天上午来办公室。”
我以为他要找我谈处罚。
第八节
第二天上午,我准时去了办公室。
袁工把一份新的合同放在桌上。
“先看一下。”
我翻开第一页。
不是转正合同,是三个月的项目续约。
我抬头看他。
“你不是说转正材料要重新走流程?”
“是要重新走。你这次把问题发现了,也把方案落地了,但项目延误是事实,不能因为结果不错就当没发生。”
“明白。”
“不过,后面还有一批路口要改。公司准备单独做无障碍现场测试,你跟着许工的组跑一段时间。”
我看着合同。
“我负责测试?”
“先负责现场。以后能不能做成专岗,看你自己。”
我签了字。
三个月,不算长。
但至少这一次,合同上写的是我真正要做的事。
袁工把合同收好,又递给我一份新项目的点位清单。上面有二十七个路口,分布在老城区和新建片区,有的已经完成智能化改造,有的还在施工。
“先别想着一下子把所有地方都改好。”他说,“每个点位先做现场复核。图纸、设备、真实路线,三样对不上,就别急着点验收。”
我看着清单,问:“这次有测试人员吗?”
“有。社区那边愿意组织体验员,具体安排你和许工对接。”
我点点头。
走出办公室时,手机里跳出一条消息,是唐宁发来的。她问我,新按钮旁边的凸起标记以后会不会被清洁人员当成杂物拆掉。
我把问题转给袁工,随后回复她:会在维护图纸里单独标注,也会加进巡检清单。
她回了一个“好”。
没有感谢,也没有多说什么。
我反而觉得这样很好。路口改造不该靠某个人记得她曾经来过。下一任维护员看见图纸,就应该知道那块标记不能随便拆。
下午,我又去了梧桐巷口。
新灯已经正常运行。唐宁从夜读室出来,走到盲道终点,摸到按钮下方的凸起标记,按下去。
提示音响起。
系统显示:
【行人请求:1】
她没有急着走,等绿灯亮起后,才慢慢通过。
我站在路边,没有上前帮忙。
她走到对面时,转过头,冲我点了一下头。
我也点头回应。
旁边的屏幕还在刷新数据。
过去十九天,系统每天记录的行人数量都是零。
今天,第一条有效请求出现了。
我看着那一格数字,忽然想起唐宁说过的话:
“这条路明明在这里,偏偏要我证明自己走得过。”
现在,她不用再证明了。
路口的系统终于知道有人经过。
可我更愿意记住另一件事:在系统看见他们之前,他们一直都在这里。
我把工具箱放进车里,最后看了一眼路口。
新灯杆上没有旧标签,也没有十九点十二分的固定程序。
只有一盏正常工作的行人灯。
它不会为了某个人提前亮起,也不会因为没有数据就假装没人经过。
它会等人走到该等的位置,再给出一个可以安全通过的绿灯。
那天晚上,梧桐巷口的行人计数第一次不再是零。
四。
四个人,四次请求。
不是奇迹。
只是这一次,路口终于把人算了进去。