随着可开采油气储藏变得越来越稀少,石油公司通常只好钻探三维井,延伸数千米才能到达新储层。在钻探过程中需要精确的导向控制,以便最大程度地接触储层并避免碰到现有油井。
Baker Hughes 正在开发先进的定向钻探服务,综合多种算法,帮助油气运营商在其储层中精确地放置井孔。这些算法在井下环境受强烈振动的嵌入式处理器上运行,在钻孔时准确测量井孔的倾角和方位角。Baker Hughes 工程师使用基于模型的设计,开发和改进算法,并减少对现场测试的依赖。
使用 Kymera 混合钻头的 AutoTrak 曲线旋转式可导向系统
“在我们的行业中,现场测试既困难又昂贵。”Baker Hughes 的信号处理和控制职能经理 Oliver Hoehn 博士说,“借助基于模型的设计,我们能够创建一种模拟井孔的环境并运行硬件在环测试,以此验证开发中的新构想,在将我们的固件部署到现场之前加以检验。”
挑战
使用来自磁力计和加速度计的信号对钻探系统的倾角和方位角进行计算。井下振动和冲击使这些信号失真,导致随井深而增加的井孔位置的不确定性。Baker Hughes 之前曾采用 C 语言手工编写的测量算法来处理传感器信号。但是,该公司认为,对于某些复杂的钻探情形,系统性能还可以显著的改进。
由于工程团队缺乏钻探系统的模型,他们没有办法再现现场遇到的情形,也没有办法在整套系统内测试算法。因此,很难比较算法执行结果。而且,该公司发现,用 C 语言手工编写的算法容易出错,经常产生不匹配原始规范的执行结果。
解决方案
Baker Hughes 采用MATLAB 和Simulink的基于模型的设计,建立了新的开发流程。他们从在桌面仿真中测试现有算法开始,然后使用建模和自动代码生成来改进算法。
Baker Hughes 工程师在Simulink中创建了一个环境模型,用来捕捉井孔冲击和振动的影响,还创建了一些传感器模型,包括滤波器、模数转换器和其他电气和机械组件。然后,该团队使用 S 函数创建现有 C 算法的Simulink模块。他们将这些模块与环境模型和传感器模型组合起来,运行系统级的仿真。
该团队与 Baker Hughes 的其他专家一起创建了测试用例,以便再现钻探情形,在Simulink中运行仿真,在这些情形下测试现有算法。该团队利用仿真的结果,调试和改进现有 C 算法,指导对硬件设计的改进,包括模拟滤波器。
“我们利用自己的设计技能和知识为客户增加价值,而不是通过编写代码。Simulink 和 Embedded Coder 使我们能够将资源和重点从代码实现转移到系统设计和系统级的测试,从而加快了开发进度。”
—— Ingolf Wassermann, Baker Hughes
为了执行硬件在环 (HIL) 测试,该团队使用 Embedded Coder 从环境模型和传感器模型中生成代码,并部署到实时处理器。此设置让该团队能够首次在实验室内运行整个系统的测试,包括算法、传感器和环境。
对仿真和 HIL 结果进行分析,为算法改进提供了机会,该团队在 Simulink 中重新设计和改进原始 C 算法,实现了算法改进。在这个阶段,该团队为新设计中的每个功能开发了 Simulink 单元测试。这些测试贯穿整个开发过程不间断运行。
他们使用 Simulink Check 和 Simulink Coverage 检查是否符合 MathWorks Automotive Advisory Board (MAAB) 建模标准,并测量他们的测试用例的模型覆盖率。
使用 Embedded Coder,他们为其生产浮点处理器从 Simulink 算法模型生成了系统代码的算法部分。这大约占整套系统的一半代码。
该小组将他们的系统模型分享给 Baker Hughes 内的其他工程团队,使这些团队能够在他们自己的项目上运行系统级的测试。
结果
最大限度地减少了昂贵的现场测试。“一次现场测试的花费可能超过 10 万美元,但即使付出这么大的代价,也不能再现我们客户遇到的复杂情形。”Hoehn 说,“利用基于模型的设计,通过仿真和 HIL 测试,我们能够仿真现实条件,进行较少的现场测试。”
未来开发工作量减半。“我们用 Simulink 和 Embedded Coder 为 HIL 测试而开发的模型库和框架已经被其他 Baker Hughes 团队使用。”Hoehn 说,“对于未来的项目,我们希望这种重用将会减少开发算法系统所需资源的 50%。”
改进了固件质量。“我们利用基于模型的设计开发的固件质量有了很大的改进,从而提高可靠性和可重用性。”Hoehn 说。Baker Hughes 系统架构师 Ingolf Wassermann 补充说,“现在我们具有一致的 HIL 测试设置,可用来测量我们在质量改进方面的进展,而且已经改进了我们的整个开发流程。”
全部0条评论
快来发表一下你的评论吧 !