通过模型为基础的设计,Ponsse减少收割机控制软件的开发时间

挑战

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

解决方案

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

结果

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

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

Juha Inberg,Ponsse

Ponsse的蝎子木收割机。


Ponsse蝎子是一艘八轮木质收割机,旨在在崎岖的森林地形中工作。该机器的独特框架由三个段由关节组成,接头旋转多达12%。该框架使得中心段的机舱能够保持水平,而轮式前后段适用于地形的变化。即使在不平坦的地面上,液压平流控制也保持中心段稳定。

通过使用MATLAB使用基于模型的设计开发收割机的控制软件®和模拟金宝app®,Ponse工程师减半他们的开发时间和改进的代码质量。

“基于模型的设计的快速原型设计了我们的设计过程,导致开发时间更短,开发成本降低,”Ponsse的理事,技术和研发。“我们从我们的Simulink模型生成的嵌入式代码非常可靠,并且当我们手工写入C代金宝app码时,我们常常遇到的编程错误。”

挑战

由于蝎子的框架结构与Ponsse的其他收割机模型完全不同,因此该项目需要新的机械,电气和控制系统。通过这么多新的开发和许多未知数,工程团队希望在致力于实施之前运行众多模拟以验证设计选择。此外,他们希望在部署到生产ECU之前通过多次迭代创建实时原型并通过多次迭代进行完善。

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

解决方案

PONSE工程师采用MATLAB和SIMULINK采用基于模型的设计,以完成蝎子调平系统。金宝app他们获得了Mathworks工程师进行的九天内拥有九天的工具的熟练程度。课程覆盖了MATLAB,SIMULINK和StateFlow金宝app®对于系统级设计,以及模型架构的高级主题,包括验证和验证。

在Simulink中工金宝app作,工程师开发了一种控制模型,该控制模型从加速度计和陀螺仪中的输入,并致动液压阀以保持蝎子的中心帧水平。要清除传感器信号的噪声,团队使用使用信号处理工具箱™和Control系统工具箱™设计的过滤器。

它们使用在型流中创建的状态机建模了蝎子的各种操作模式。

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

该团队使用此实时原型进行实际蝎子硬件进行测试。基于结果,它们在再生和重新测试更新的原型之前对控制模型进行了微小的变化。

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

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

自从他们成功完成蝎子项目以来,Ponsse工程师已经使用了基于模型的设计来开发嵌入式控制器,用于在Ponse产品线中的其他收割机,从蝎子控制设计中重用过滤器和模型组件。

结果

  • 开发时间减少一年或更长时间。“基于模型的设计使我们能够在一年内完成蝎子控制器的初始开发,”Inberg说。“它将使用我们的传统发展过程来完成两年的时间来完成项目。”
  • 编码错误消除了。“使用嵌入式编码器生成的代码中没有编程错误,”Inberg说。“因此,我们可以将所有调试努力集中在模型上。”
  • 实现了80%的模型重用。“在我们的第一个基于模型设计的项目之后,我们开始在另一台机器的平整控制器上工作,”Inberg报告。“我们能够从蝎子项目中重用大约80%的设计,将我们节省了大量时间。”