简而言之。 我们推荐的本地化系统设计方法采用V模型:这是一条从需求到量产的结构化路径,能够以最低的风险、成本和时间周期实现目标。V模型的左侧负责定义和设计;右侧则负责验证和扩展。左侧的每一项决策都会在右侧转化为测试项或约束条件,且每变更一次,成本大约会增加10倍。
最棘手的定位问题,很少是关于定位本身的。它们其实关乎系统设计。
在 Point One 的现场工程工作中,机器人和自动驾驶团队最初可能会就我们RTK 网络或 定位引擎的校正问题向我们咨询,但几分钟之内,讨论很可能就会扩展到定位栈中的所有组件以及它们之间的交互方式。
如果不把这些组件层面的决策做好,就无法实现高质量的定位。在探讨具体组件、常见错误或最佳实践之前,有必要先明确V模型以及那种能以最低风险、最低成本和最短工期实现量产的方法论。
本地化系统设计定义
系统设计是一门学科,旨在在着手详细设计和制造之前,明确要构建什么、如何进行架构设计以及如何进行测试。如果设计得当,就能形成一套清晰的需求规范、满足这些需求的架构,以及能够验证其有效性的验证计划。
定位系统是一套能够为机器人、车辆或设备确定其在现实世界中位置的技术栈。 Point One 专注于GNSS和惯性融合技术,但我们的工作绝不仅限于此;我们为客户正在设计的整个技术栈提供全方位支持。该技术栈涵盖了最终输出位置所需的一切要素:天线、GNSS 接收机、IMU、特定机器运动固有的平台动力学特性,以及日益重要的将摄像头和激光雷达与 GNSS/INS 解决方案进行传感器融合的技术。
下面的示例均来自基于GNSS定位的堆栈,因为这是我们与客户合作时投入时间最多的领域。
V型模型,从形状上看
V模型方法是航空航天、国防和汽车开发领域中广泛采用的系统工程方法标准。我们已将其专门适应于本地化工作。
左侧是定义开发内容的部分:需求、系统设计、详细设计,每个阶段都比前一个更具体。底部是制造首批硬件并进行验证的阶段:EVT(工程验证测试)。右侧则是验证系统在集成度和规模不断提升的情况下能否正常运行的阶段:DVT(设计验证测试)、PVT(生产验证测试)以及量产。
V型模型右侧的每一步,都是对左侧所做决策的验证。例如,在EVT阶段对构建进行验证,在DVT阶段对详细设计进行验证,在PVT阶段对系统设计进行验证,而在验收阶段对需求进行验证。
左侧的每一个决策都会在右侧产生一个测试或约束。如果你在左侧草率行事,右侧就会暴露问题。在发现问题之前,你在右侧走得越远,修复的成本就越高。
V模型各阶段解析
要求
一切都要从一个问题开始,其他所有事情都取决于这个问题:你究竟想实现什么?
对于本地化系统,表面上的答案通常是一个数字,比如“我们需要10厘米的精度”。但这只是参数,而非需求。真正的问题在于:
- 您实际上需要哪些位置输出?是绝对位置、姿态、速度,还是这三者都有?
- 该职位对哪些业务成果至关重要?用于采集测绘级地图数据的无人机,与导航至门前的配送机器人,其需求截然不同。
- 该系统将在何种环境下运行?开阔地带、城市峡谷、室内、树冠下,还是以上全部?
- 当GNSS信号丢失时,“足够好”是什么意思?系统允许出现故障,还是必须继续运行?
- 该应用程序对可靠性有何要求?适用于多大规模的车队?
问题不仅在于精度有多高,还在于精度是否足以满足特定需求。一个无人机测绘团队和一个自动驾驶团队都可能给出“3厘米”这个数值,但这两个说法背后的要求所指向的硬件等级、校正策略和惯性测量单元(IMU)等级却截然不同。
我们投入大量时间,帮助客户将精度目标转化为真正的需求,这些需求充分考虑了环境、动态因素、失效模式以及业务成果。
系统设计
一旦需求明确,系统设计阶段就是从宏观层面确定系统架构的阶段。该应用需要哪些传感器?它们如何相互作用?性能目标需要什么样的硬件配置?根据复杂程度的不同,这一阶段可能很快,也可能很长。
在此阶段,您并非在布局最终的PCB(印刷电路板)。您正在构建一个能够真实体现目标系统硬件特性的原型,有时会利用开发套件和参考硬件,并在投入详细设计之前,测试该原型是否满足要求。
这是 Point One 发挥最大效用的领域之一。我们备有常见的硬件设备(接收器、惯性测量单元、天线、开发套件,以及在代表性计算平台上运行的定位引擎),以便您无需自行采购和集成所有设备,即可进行早期测试。这将“我们认为该架构可行”到“我们已通过测试证实其可行”所需的时间从数月缩短至数周。
详细设计
详细设计将经过验证的架构转化为可制造的产品:原理图、机械CAD、物料清单(BOM)以及PCB布局。这两个阶段之间的界限可能并不清晰,但这种区分至关重要。系统设计用于验证系统的工作原理;而详细设计则将其转化为可制造的产品。
在系统经过验证之前就进行详细设计,是导致项目给自己带来高昂返工成本的最常见原因之一。
EVT,工程验证测试
在V型模型的底层,EVT是指客户设计的电路板首次交付到客户手中,通常为5到10块。其目标非常明确:验证硬件是否正常工作。我们能否从接收器接收数据?IMU是否在进行数据流传输?系统是否产生了我们预期的输出结果?
EVT 主要涉及实验室测试和工程验证,而非现场验证。关键问题在于:“我们制定的设计能否达到预期效果?”
EVT 并非性能测试。您目前还无法了解系统如何应对严重的多路径干扰,也无法了解IMU在平台实际动态条件下的表现。这些内容将在随后的 DVT 阶段进行验证。
DVT,设计验证测试
DVT 将问题从“硬件是否正常工作”转变为“集成系统是否满足业务和技术要求”。现在,您可以在与实际应用环境相似的场景中进行测试,测试规模为数百级,且数据流经客户的实际技术栈。
这就是平台动态开始发挥作用的地方。摩托车就是一个很好的例子。在EVT阶段,你会在试验台上验证芯片和电路板的输出是否正确。DVT则意味着将摩托车开到赛道上,验证系统能否应对过弯时的实际姿态变化,例如在急转弯时姿态输出的表现如何。目标已不再是“接收器是否报告了位置”。 而是“定位系统能否应对平台实际的运动状态?”
在与客户合作时,Point One 深度参与了深静脉血栓(DVT)相关工作。您如何在更广泛的系统中利用位置输出、优化集成以及处理边界情况,这些都通过我们的 API、定位引擎和校正网络在此处得以实现。
在DVT阶段做出的选择,决定了该系统能否顺利过渡到PVT阶段。
PVT,生产验证测试
在PVT阶段,问题就变成了:我们能否可靠地进行大规模生产?挑战也从“设计是否可行”转变为“生产流程是否可行”。
经过PVT测试后,设计应已趋于稳定。此时通常已经历过几次10倍的迭代,即从5台、50台到500台,这会暴露出在小批量生产时无法显现的问题。PVT测试旨在验证生产流程:测试台架、验证软件、校准程序以及质量控制措施。此时,生产出可正常工作的产品已不再是衡量标准;关键在于能否稳定地批量生产。
这也是您构建生产线上所用验证工具的地方,以便在产品出货前对其进行固件烧录和确认。这是一项涵盖硬件和软件验证的独立工作,其重要性往往容易被低估。Point One 可协助制定这些测试计划,包括API集成以及测试环境中为实现大规模验证所需具备的各项功能。
批量生产与市场接受度
在批量生产中,目标很简单:每件下线的產品都必须每次都符合规格要求。本地化堆栈作为生产流程的一部分进行烧录和配置,而PVT验证现已成为生产放行环节。验收是确认最初设定的要求已得到满足的最终确认。
倒退的代价
V型模型之所以重要,是因为随着项目向右推进,每个阶段更改决策的成本都会急剧上升,每个阶段大约增加10倍。需求变更只需开一次会;系统设计变更只需几天时间重新工作;但一旦原理图定稿,就会产生实际开支;一旦原型机制造完成,就不得不进行模具改造;一旦进入量产阶段,就可能面临产品召回的风险。
这套计算逻辑就是左侧论点的核心依据。同样的决定,如果是左侧做出的,还是由右侧发现的,其结果就是一场五分钟的谈话与长达六个月的延误之间的区别。
留在内环还是外环
当后期出现左侧缺口时,项目就会陷入两种循环之一。外层循环是:需求、设计、开发、电子验证测试(EVT)、失败、重来——数月时间和预算就此付诸东流。内层循环是:需求、概念验证、系统设计、详细设计,且各阶段之间持续反馈:紧凑、低成本、快速。
让你始终掌握最新动态的习惯是:在未验证某项架构之前,不要过早地锁定它。我们建议你保留两到三个备选方案,直到数据告诉你该放弃哪些方案为止。
尺度的变化改变了衡量标准简体中文(大陆)
V型模型并非一次性流程;每次规模的跃升都是一次过渡,需要重新运行V型模型。从10块电路板扩展到100块,意味着规模扩大了10倍,在完全适应之前,你需要经历几次这样的跃升。 关键在于每个规模层级的变化:在10个设备时,你可以手动调试每一台设备;在1000个设备时,单位经济性成为主导因素,选择一款廉价的惯性测量单元(IMU)将影响整个机队的成本;在10,000个设备时,1%的故障率意味着现场将有100台设备出现问题。
每次跳跃都会揭示出上一层中未曾显现的新环境和要求,这会让你再次回到左侧。
下一步:V模型左侧常见的错误
能够按时交付的团队,并不是那些拥有最优秀工程师或最大预算的团队。而是那些在投入硬件之前就实施了结构化“左侧”流程的团队:将需求视为一场对话,尽早进行真实环境测试,并从生产环境倒推制定验证计划。我们将在后续文章中深入探讨我们如何运行这一流程。
这些问题并非孤立存在。一个虽然具备所有正确组件,但配置错误或在错误环境下进行测试的系统,是无法正常工作的。关键在于系统作为整体的表现如何。
在下一篇文章中,我们将逐一分析“左侧”阶段最常见的错误:将接收器规格直接复制粘贴为需求、为封装选择天线位置、在不建模信号中断情况的前提下选定最便宜的惯性测量单元(IMU)、假设蜂窝网络无处不在,以及在停车场进行验证。这些错误在“左侧”阶段本可避免,但一旦进入“右侧”阶段,修正起来将异常艰难。
V模型无法缩短。你只能选择将时间花在哪个环节上——是成本较低的一端,还是成本较高的一端。
常见问题解答
在本地化系统设计中,什么是V模型?
V模型是一个将产品从概念阶段推进到批量生产的结构化框架。左侧通过需求分析、系统设计和详细设计来定义和设计产品;右侧则通过规模逐步扩大的EVT、DVT和PVT来进行验证。左侧的每一项设计决策都与右侧的一项测试或约束相对应。
什么是本地化系统?
负责生成可靠定位结果的完整系统包括:GNSS天线和接收机、IMU、平台特有的运动动力学模型,以及将所有数据融合在一起的定位引擎软件。许多系统还会将摄像头、激光雷达或车轮编码器数据与GNSS和惯性测量数据进行融合。
EVT、DVT 和 PVT 之间有什么区别?
EVT(工程验证)用于确认设计好的电路板能够正常工作,通常在实验室中使用5至10个样机进行验证。DVT(设计验证)用于确认集成系统在具有代表性的实际使用条件下,以更大批量满足要求。PVT(生产验证)用于确认该设计能够大规模可靠地投产,其中包括用于验证每个单元的生产线工装。
为什么在V型模型的后期,设计变更的成本会上升?
每个阶段都会增加更多工作量,而这些工作量都需要通过变更来撤销。需求变更只需简短沟通;原理图变更意味着返工;原型制作完成后的变更意味着重新制作模具;生产阶段的变更甚至可能导致产品召回。成本大约每增加一个阶段就会上升一个数量级,这就是为什么早期、低成本的验证具有如此大的杠杆作用。