고객사례

基于模型的设计使收割机控制软件的开发时间缩短至少一年

挑战

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

解决方案

利用基于模型的设计对控制系统进行建模和仿真,建立实时原型进行硬件测试,生成产品C代码

结果

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

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

Juha Inberg, Ponsse
Ponsse的Scorpion木材收割机。

Ponsse的Scorpion木材收割机。


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

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

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

挑战

由于Scorpion的框架结构完全不同于Ponsse的其他收割机模型,该项目需要新的机械、电气和控制系统。由于有如此多的新开发和未知因素,工程团队希望在实施之前进行多次模拟,以验证设计选择。此外,他们希望创建一个实时原型,并在将其部署到生产ECU之前通过多次迭代来完善它。

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

解决方案

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

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

他们使用在statflow中创建的状态机为Scorpion的各种操作模式建模。

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

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

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

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

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

结果

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