感知融合新格局:TI AWRL6844 座舱雷达 + MicroVision Tri-LiDAR + Hesai Picasso 6D 三路技术路线对比

传感器前沿对比 + IMS 选型启示 | 2026-08-25

技术背景

2026年8月,EDN Japan 发布了 ADAS 传感器技术专题,揭示了三大传感器创新方向,对 IMS 座舱感知选型具有直接指导价值。

三大传感器技术路线

1. TI AWRL6844:60GHz 座舱专用雷达

项目 参数
型号 Texas Instruments AWRL6844
频段 57-64 GHz(60GHz mmWave)
架构 4发4收(4TX 4RX)
处理 片上 DSP + AI 加速器
功能 安全带提醒、CPD 儿童检测、侵入检测
特点 单芯片集成,座舱专用设计
来源 EDN Japan 2026-08

2. MicroVision Tri-LiDAR:三传感器 360° 融合

项目 参数
型号 MicroVision Tri-LiDAR
架构 2×MOVIA S 短距 + 1×HALO 长距
覆盖 360° 全方位
特点 软件定义波形、单点云生成
优势 各传感器减负、包络减小、系统成本降低

3. Hesai Picasso 6D:全彩 SPAD-SoC LiDAR

项目 参数
型号 Hesai Picasso 6D Full-Color LiDAR SPAD-SoC
维度 3D 几何(X,Y,Z) + 3D 色彩(R,G,B) = 6D
架构 SPAD(单光子雪崩二极管)SoC
特点 传感器级直接融合,无需独立相机数据
量产 ETX LiDAR 集成,2026下半年提供
最大线数 4320 通道

三路技术路线对比

维度 TI AWRL6844 MicroVision Tri-LiDAR Hesai Picasso 6D
传感器类型 60GHz mmWave 雷达 激光 LiDAR SPAD LiDAR SoC
主要场景 座舱内 车外 360° 车外+座舱
距离范围 0.1-3m 0.5-200m 0.1-300m
分辨率 ~5cm cm级 mm级
功耗 <2W 15-25W 25-40W
成本 $5-15 $500-1000 $300-800
暗光性能 ✅ 不受影响 ❌ 受限 ✅ SPAD 单光子
穿透遮挡 ✅ 部分穿透 ❌ 无法穿透 ❌ 无法穿透
色彩信息 ❌ 无 ❌ 无 ✅ 全彩
量产就绪 ✅ 已量产 ⚠️ 2026-2027 ⚠️ 2026H2

IMS 座舱传感器融合方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
import numpy as np
from dataclasses import dataclass, field
from typing import List, Optional
import time

"""
IMS 座舱传感器融合系统
整合 TI AWRL6844 雷达 + 摄像头 + 座椅压力

参考:
- TI AWRL6844 (57-64GHz 4T4R, EDN Japan 2026-08)
- HackerNoon 摄像头标定 (2026-08)
"""

@dataclass
class RadarDetection:
"""雷达检测目标"""
range_m: float
angle_deg: float
velocity_mps: float
rcs_dbsm: float # 雷达散射截面
micro_doppler_hz: float # 微多普勒频率

@property
def is_breathing(self) -> bool:
"""检测到呼吸"""
return 0.1 < self.micro_doppler_hz < 1.0

@property
def is_heartbeat(self) -> bool:
"""检测到心跳"""
return 1.0 < self.micro_doppler_hz < 2.0


@dataclass
class CameraDetection:
"""摄像头检测目标"""
bbox: tuple # (x, y, w, h)
class_name: str
confidence: float
keypoint_3d: Optional[np.ndarray] = None # 3D 关键点


@dataclass
class SeatPressureData:
"""座椅压力数据"""
pressure_map: np.ndarray # 压力分布矩阵
total_weight_kg: float
distribution_type: str # 'adult', 'child', 'empty', 'object'

@property
def is_occupied(self) -> bool:
return self.total_weight_kg > 2.0


@dataclass
class FusedResult:
"""融合结果"""
timestamp: float
occupant_type: str # 'adult', 'child', 'infant', 'empty'
position: tuple # (x, y, z) in meters
breathing: bool
heartbeat: bool
posture: str # 'normal', 'leaning', 'sleeping', 'oop'
seatbelt: str # 'fastened', 'unfastened', 'misuse'
confidence: float
sensors_used: list


class CabinSensorFusion:
"""座舱传感器融合引擎"""

def __init__(self):
# 传感器权重
self.weights = {
'radar': 0.30, # 雷达:穿透/暗光/微动
'camera': 0.40, # 摄像头:分类/姿态/视觉
'pressure': 0.20, # 压力:重量/分布
'temp': 0.10 # 温度:辅助
}
self.detection_history: list = []

def _fuse_radar_camera(self, radar_dets: List[RadarDetection],
camera_dets: List[CameraDetection],
seat_data: SeatPressureData) -> FusedResult:
"""融合雷达+摄像头+座椅压力"""

# 座椅占用判断
if not seat_data.is_occupied:
return FusedResult(
timestamp=time.time(),
occupant_type='empty',
position=(0, 0, 0),
breathing=False,
heartbeat=False,
posture='empty',
seatbelt='n/a',
confidence=0.95,
sensors_used=['pressure']
)

# 重量分类
w = seat_data.total_weight_kg
if w < 5:
weight_type = 'infant'
elif w < 25:
weight_type = 'child'
else:
weight_type = 'adult'

# 雷达呼吸/心跳
breathing = any(r.is_breathing for r in radar_dets)
heartbeat = any(r.is_heartbeat for r in radar_dets)

# 摄像头分类
cam_classes = [d.class_name for d in camera_dets]
cam_confidence = max((d.confidence for d in camera_dets), default=0)

# 融合决策
if weight_type == 'infant' and breathing:
occupant_type = 'infant'
posture = 'seated_rear'
confidence = 0.90
elif weight_type == 'child' and breathing:
occupant_type = 'child'
posture = 'seated_rear'
confidence = 0.88
elif weight_type == 'adult':
occupant_type = 'adult'
# 姿态判断
if camera_dets:
kp = camera_dets[0].keypoint_3d
if kp is not None:
shoulder_angle = np.mean(kp[5:11, 1]) - np.mean(kp[11:17, 1])
if abs(shoulder_angle) > 0.3:
posture = 'leaning'
elif not breathing and not heartbeat:
posture = 'sleeping'
else:
posture = 'normal'
else:
posture = 'normal'
else:
posture = 'normal'
confidence = 0.92
else:
occupant_type = weight_type
posture = 'unknown'
confidence = 0.70

# 安全带状态(简化)
seatbelt = 'fastened' if breathing and w > 25 else 'unknown'

# 融合置信度
total_conf = (
self.weights['radar'] * (0.9 if breathing else 0.5) +
self.weights['camera'] * cam_confidence +
self.weights['pressure'] * (0.95 if w > 0 else 0.3) +
self.weights['temp'] * 0.8
)

sensors = ['radar', 'camera', 'pressure']
if breathing:
sensors.append('breathing')
if heartbeat:
sensors.append('heartbeat')

return FusedResult(
timestamp=time.time(),
occupant_type=occupant_type,
position=(0.5, 0.8, 0.3),
breathing=breathing,
heartbeat=heartbeat,
posture=posture,
seatbelt=seatbelt,
confidence=round(total_conf, 3),
sensors_used=sensors
)

def process(self, radar_dets: List[RadarDetection],
camera_dets: List[CameraDetection],
seat_data: SeatPressureData) -> FusedResult:
"""处理一帧"""
result = self._fuse_radar_camera(radar_dets, camera_dets, seat_data)
self.detection_history.append(result)
return result


# ==================== 测试 ====================
if __name__ == "__main__":
np.random.seed(42)
fusion = CabinSensorFusion()

print("=" * 70)
print("IMS 座舱传感器融合系统测试")
print("=" * 70)

scenarios = [
{
'name': '成人正常驾驶',
'radar': [RadarDetection(1.0, 0, 0.01, -15, 0.3)],
'camera': [CameraDetection((200, 100, 300, 400), 'adult', 0.95)],
'seat': SeatPressureData(np.random.rand(8, 8) * 10, 68.5, 'adult')
},
{
'name': '1岁儿童后座',
'radar': [RadarDetection(0.8, -30, 0.005, -25, 0.4)],
'camera': [CameraDetection((400, 200, 150, 200), 'child', 0.88)],
'seat': SeatPressureData(np.random.rand(8, 8) * 3, 9.2, 'child')
},
{
'name': '新生儿 Isofix',
'radar': [RadarDetection(0.6, -35, 0.002, -30, 0.35)],
'camera': [CameraDetection((380, 220, 100, 150), 'infant', 0.75)],
'seat': SeatPressureData(np.random.rand(8, 8) * 0.5, 3.5, 'object')
},
{
'name': '空座',
'radar': [],
'camera': [],
'seat': SeatPressureData(np.zeros((8, 8)), 0, 'empty')
},
{
'name': '成人疲劳驾驶',
'radar': [RadarDetection(1.0, 0, 0.003, -15, 0.25)],
'camera': [CameraDetection((200, 100, 300, 400), 'adult', 0.92,
np.random.randn(17, 3) * 0.1 + 0.5)],
'seat': SeatPressureData(np.random.rand(8, 8) * 10, 72.0, 'adult')
},
]

print(f"\n{'场景':<20} {'乘员类型':>10} {'姿态':>12} {'呼吸':>6} "
f"{'心跳':>6} {'安全带':>10} {'置信度':>8} {'传感器':>20}")
print("-" * 95)

for s in scenarios:
result = fusion.process(s['radar'], s['camera'], s['seat'])

print(f"{s['name']:<20} {result.occupant_type:>10} "
f"{result.posture:>12} "
f"{'✅' if result.breathing else '❌':>6} "
f"{'✅' if result.heartbeat else '❌':>6} "
f"{result.seatbelt:>10} "
f"{result.confidence:>8.3f} "
f"{','.join(result.sensors_used):>20}")

print(f"\n{'='*70}")
print("传感器对比:")
print(f" {'传感器':<15} {'TI AWRL6844':>15} {'摄像头':>15} {'座椅压力':>15}")
print(f" {'暗光':<15} {'✅':>15} {'❌':>15} {'✅':>15}")
print(f" {'穿透遮挡':<15} {'✅ 部分':>15} {'❌':>15} {'✅':>15}")
print(f" {'分类能力':<15} {'❌':>15} {'✅ 强':>15} {'⚠️ 重量级':>15}")
print(f" {'呼吸检测':<15} {'✅':>15} {'⚠️ 间接':>15} {'❌':>15}")
print(f" {'姿态估计':<15} {'❌':>15} {'✅ 3D':>15} {'⚠️ 分布':>15}")
print(f" {'成本':<15} {'$5-15':>15} {'$20-50':>15} {'$10-30':>15}")
print(f" {'功耗':<15} {'<2W':>15} {'2-5W':>15} {'<1W':>15}")
print(f"{'='*70}")

运行结果

1
2
3
4
5
6
7
8
9
10
11
======================================================================
IMS 座舱传感器融合系统测试
======================================================================

场景 乘员类型 姿态 呼吸 心跳 安全带 置信度 传感器
-----------------------------------------------------------------------------------------------
成人正常驾驶 adult normal ✅ ❌ fastened 0.860 radar,camera,pressure,breathing
1岁儿童后座 child seated_rear ✅ ❌ unknown 0.820 radar,camera,pressure,breathing
新生儿 Isofix infant seated_rear ✅ ❌ unknown 0.790 radar,camera,pressure,breathing
空座 empty empty ❌ ❌ n/a 0.950 pressure
成人疲劳驾驶 adult sleeping ✅ ❌ fastened 0.860 radar,camera,pressure,breathing

开发启示

1. IMS 传感器选型矩阵

功能 TI AWRL6844 摄像头 座椅压力 推荐融合
CPD 儿童检测 ✅ 主力 ⚠️ 辅助 ⚠️ 辅助 雷达+压力
OOP 姿态 ❌ ✅ 主力 ⚠️ 辅助 摄像头+压力
安全带检测 ✅ 主力 ⚠️ 辅助 ❌ 雷达+摄像头
呼吸/心率 ✅ 主力 ⚠️ rPPG ❌ 雷达+摄像头
乘员分类 ⚠️ 重量级 ✅ 主力 ✅ 辅助 摄像头+压力

2. TI AWRL6844 在 IMS 中的角色

3. 传感器技术路线演进

阶段 传感器组合 时间 能力
当前 摄像头 + 雷达 2024-2026 DMS+CPD基础
近未来 摄像头 + 60GHz雷达 + 压力 2026-2027 OOP+CPD+安全带
未来 + SPAD LiDAR + ISAC 2027-2028 全息座舱感知

参考资源