用户故事

通过基于模型的设计,Ponsse将收割机控制软件的开发时间至少缩短了一年

挑战

减少新木材收割机的开发时间

解决方案

使用基于模型的设计来建模和模拟控制系统,为硬件测试构建实时原型,并生成生产C代码

结果

  • 开发时间缩短了一年或更长时间
  • 消除编码错误
  • 实现80%的模型重用

“从我们的Simulink模型中生成无错误代码的能力使我们的控制工程师能够专注于算法设计,而我们的软金宝app件工程师则可以专注于固件层编程。结果是开发速度更快,质量更好,成本更低。”

Juha Inberg, Ponsse

庞斯的蝎子木材收割机。


庞斯蝎子是一款八轮木材收割机,设计用于崎岖的森林地形。这台机器独特的框架由三个部分组成,由旋转12%的关节连接。这个框架使客舱的中心部分保持水平,而轮式前和后部分调整到地形的变化。液压调平控制使中心段即使在不平坦的地面上也保持稳定。

利用MATLAB软件,采用基于模型的设计方法开发了收割机的控制软件®和仿真软金宝app件®Ponsse的工程师将开发时间缩短了一半,并提高了代码质量。

“基于模型的快速原型设计加快了我们的设计过程,缩短了开发时间,降低了开发成本,”Ponsse的技术和研发总监Juha Inberg说。“我们从Simulink模型生成的嵌入式代码非常可靠,并且没有我们过去手写C代码时金宝app遇到的编程错误。”

挑战

由于蝎子式收割机的框架结构与庞斯公司其他型号的收割机完全不同,因此该项目需要新的机械、电气和控制系统。由于有如此多的新开发和如此多的未知,工程团队希望在承诺实现之前运行大量的模拟来验证设计选择。此外,他们希望创建一个实时原型,并在将其部署到生产ECU之前通过多次迭代对其进行优化。

在之前的项目中,Ponsse控制工程师在MATLAB中开发和调试算法,软件工程师手动将算法翻译成c。随着控制算法的复杂性从一个项目增加到另一个项目,这种方法变得难以维持。在C代码中引入人为错误的风险增加了,并且从算法的初始设计到硬件验证之间有很长的时间间隔。Ponsse希望缩短这个间隔,最小化编码错误,并减少整体开发时间。

解决方案

Ponsse工程师采用基于模型的设计,结合MATLAB和Simulink完成了Scorpion调平系统。金宝app他们通过由MathWorks工程师进行的9天现场培训,熟练掌握了这些工具。课程包括MATLAB、Simulink和Stateflow金宝app®系统级设计,以及模型架构的高级主题,包括验证和验证。

在Simulink中,金宝app工程师们开发了一个控制模型,处理来自加速度计和陀螺仪的输入,并驱动液压阀,以保持蝎子的中心框架水平。为了去除传感器信号中的噪声,该团队使用了使用信号处理工具箱™和控制系统工具箱™设计的滤波器。

他们用statflow中创建的状态机模拟了Scorpion的各种操作模式。

在通过开环仿真验证控制模型的功能后,工程师们构建了一个原型控制器,使用Simulink Coder™和Simulink Real-Time™从他们的模型生成一个实时应用程序,并将其部署到Speedgoat目标计算机硬件上。金宝app

该团队使用这个实时原型在实际的蝎子硬件上进行测试。基于这些结果,他们对控制模型做了一些小改动,然后重新生成并重新测试了一个更新的原型。

然后,他们从他们的模型中为蝎子的ECU(一个ARM)生成C代码®皮质®处理器)与嵌入式编码器®

他们将生成的代码与ECU的固件和其他低级接口代码集成在一起,并对其进行了测试,首先在第三方模拟器中进行测试,然后在实际的蝎子收割机上进行测试。

自从成功完成Scorpion项目后,Ponsse工程师们使用基于模型的设计为Ponsse产品线中的其他收割机开发嵌入式控制器,重用了Scorpion控制设计中的滤波器和模型组件。

结果

  • 开发时间缩短了一年或更长时间。“基于模型的设计使我们能够在一年内完成蝎子控制器的初步开发,”Inberg说。“如果使用传统的开发流程,我们至少要花两年时间才能完成这个项目。”
  • 消除编码错误。“我们用Embedded Coder生成的代码中没有编程错误,”Inberg说。“因此,我们可以将所有的调试工作都集中在模型上。”
  • 实现80%的模型重用。“在我们的第一个基于模型设计的项目之后,我们开始为另一台机器设计水平控制器,”Inberg报告说。“我们能够重用蝎子项目中80%的设计,这为我们节省了大量的时间。”