新浪财经

一句话就能控制车内设备是如何实现的?

中国质量新闻网

关注

现在大部分新能源汽车上,只要坐在驾驶位上,随口说有点冷,1-2秒后,空调温度自动调高了两度,主驾座椅加热开启,后排车窗悄悄升了上去。整个过程你没有碰任何按键,也不需要说“打开空调、调到26℃、打开座椅加热”这种标准指令,这就是当下新势力车型主打的AI大模型座舱体验。让不少消费者觉得十分便捷。那么,这句话最终如何变成物理动作的?

语音指令要穿过的“链条”

要理解语音控车,必须先知道汽车的电子电气架构长什么样。十多年前的汽车多采用分布式架构,每个功能一个ECU(电子控制单元),一辆车数百个ECU各自为政,线束缠成麻花。

现在的主流新能源车型乃至一部分燃油车开始采用域集中式架构,整个车辆由几个控制器控制,还部署了一定的算力。

如智驾域,负责收发摄像头、毫米波雷达、激光雷达、GNSS、IMU信号,作为驾驶决策;座舱域,负责屏幕、语音、HUD、娱乐系统,是人机交互的主要单元;车控域,负责车身、底盘、动力,直接对接MCU和各类执行电机。

这几个域之间靠网关做报文路由和隔离,另外配备5G把车连到云端和手机。这里有一个关键的硬件分层,理解了它就理解了为什么语音指令不能直接控制车。

在座舱内大致可以分为2类控制器,第一类是传统的MCU,这类芯片都是微控制器,运行的是AUTOSAR实时系统,具有算力小、响应快、只做确定性控制的特点,负责对驱动电机、阀门、继电器一类的控制。

另外一类是中央控制芯片,如座舱SoC,运行的是Linux/Android一类的(大模型)系统,具有大算力(数十TOPS)、秒级响应、为复杂问题反应的特点,即便SoC或系统死机,但不影响车辆正常运行。

这就是SoC+MCU的双芯结构,就是语音控车链路的物理基础。大模型再聪明,它跑在座舱SoC上;而真正让空调电机转起来的,是车控域里那个连操作系统都没有的实时MCU,中间有车控框架、网关、CAN/LIN总线等硬件隔离,这些不同的隔离层负责翻译、信号进出等。

以简单的一句语音控制为例,一句话从声音变成动作,大致需要五层结构实现:

车内乘客说话时,车辆通过布置在车内的4到6个麦克风,利用声波到达不同麦克风的时间差和相位差进行声源定位,判断声音来自主驾、副驾还是后排,当主驾说“打开车窗”,只有主驾车窗会动,而不会打开副驾车窗。同时并把拾音方向对准说话人,压制其他方向的噪音。

由于车内是一个充满反射和混响的区域,音响发出的歌声、导航声、乘客的对话、外部的风噪路噪等,算法通过空间采样把这些混响成分区分开,只保留目标方向的人声。

经过前端处理的干净人声,接下来被唤醒引擎拾取。这一步依靠轻量级神经网络模型,车辆唤醒后即常驻,听到“你好某某”或自定义唤醒词后被激活。但同时要控制误唤醒,不能因为收音机里提到唤醒词就自作主张搭话。

同时,车机并不知道乘客讲话是否完成,因此唤醒后会持续监听,判断是否讲完,才把整段音频送到后端。这一步决定了系统会不会出现是说一半就抢跑的情况。

语音识别,把声音转成文字,目前的主流方案采用端云协同——常用指令在端侧进行本地识别,复杂长句和方言上传到大模型云端进行识别。到这一步,“有点冷”三个字终于变成了文本,但车机还是不知道你要干什么,现在轮到大模型上场。

从听懂话到理解意图

和传统语音助手对比,此前的语音助手走的是一套流水线式的自然语言理解:意图分类器,乘客的话分到预定义的意图槽里,如打开空调归到空调控制,导航到公司归到导航设置。槽位填充从句子里抠参数,如调到26℃抠出温度=26,副驾抠出位置=副驾。规则引擎将意图+槽位映射到预设的车控指令——车辆完成指令。

这套系统的致命问题是,它只能处理标准话,如“打开空调、调到26℃”,系统才听得懂。如果乘客说“有点冷”,它不知道要干嘛,更不在它的意图分类里,于是无从执行。更致命的问题是传统系统是“单线程模式”,说完一句,它处理完一句,乘客必须每次都说完整指令。

大模型上车后,这一点被彻底改变。当“有点冷”这三个字进入大模型后,可以理解模糊语义。大模型见过互联网上海量的自然语言,它知道“有点冷”在车舱场景下意味着温度需要调高,而不是字面意义上的觉得寒冷。它不需要你把指令说成标准格式,说“太冷了、温度有点低、能不能暖和点”,它都能映射到同一个意图。

其次,多轮上下文推理。乘客先说“导航到最近的充电桩”,再说“顺便找个附近的咖啡店”,大模型能理解附近指的是充电桩附近而不是当前位置附近,这种跨轮次的指代消解和上下文关联,是小模型和规则系统根本做不到的。

最后是任务分解与规划。这才是一句话控车最核心的能力。你说“有点冷”,大模型不是只做调空调这一件事——它会基于对场景的理解,自主规划出一串动作:空调温度上调2度——主驾座椅加热开启——如果车窗开着,升起车窗——如果外循环进风,切换内循环。

这不是预设好的场景模式,而是大模型根据说话人的语义、当前车辆状态(车窗开着吗?空调几度?座椅加热关着吗?)实时推理出来的动作序列。但大模型本身只会输出文字,它怎么知道该调用哪个车控功能?这就涉及一个关键技术——Function Calling(函数调用)。

车厂把所有可用的车控能力封装成一组函数,每个函数有清晰的名称、入参、出参。大模型在理解你的意图后,不是输出一段文字回复,而是输出一个结构化的调用请求。车机收到这个结构化请求后,校验参数合法,然后执行对应的车控动作。这个机制把大模型负责想和车机负责做干净地分离开——大模型不需要知道空调电机怎么转,它只需要决定“调26度、主驾位、开座椅加热”。

当然,车辆安全是首位的,大模型有这么多权限,但也不能为所欲为。比如,当乘客说“有点冷”,它会不会误判成“打开雨刮”?更严重的是——它会不会在你高速行驶时随意转向,或者擅自加速或制动?这就涉及权限的边界。

例如高危级别的(硬件)动作,如转向机、制动系统、驱动系统等,车载大模型是无权触碰,只能建议,必须驾驶员手动确认。中等级别的如车灯、空调、座椅、车窗等可根据驾驶员指令自主执行,但受行车状态约束。

此前某车型在夜晚因驾驶员口令,导致车辆关闭了外部照明灯光而出事故,后来《汽车及挂车外部照明和光信号装置的安装要求(征求意见稿)》明文规定,禁止通过语音对灯具进行关闭操作、禁止用手势对灯具进行操作控制。

最后是低风险硬件,如导航系统、收音机等,AI可自由调用。例如,打开后备箱,是一个看似风险较低的指令,但当车速为120km/h时,就属于危险操作了。大模型输出的结构化指令,在到达执行层之前还要过一道独立的安全校验。这道校验不依赖大模型,而是一套确定性的规则引擎,如同防火墙一样,确定指令能够安全执行。

具体而言,安全校验负责检查几件事:车辆状态约束。当车辆处于行驶状态下,不管是车速120km/h时,或者是低速倒车时,“打开后备箱”指令将被拦截。

结语

回到开头那个问题:为什么“有点冷”三个字就能让空调、座椅、车窗同时动起来?因为这一句话穿过了五层技术门槛,将人声从噪音里捞出来变成文字,大模型理解并规划动作,安全闸门校验能否执行,最后车控框架把指令翻译成MCU能执行的电信号执行层。

加载中...