精工爱普生如何利用Unity提高产品开发效率

精工爱普生公司,以提供广泛的工业机械而闻名,首次发布其集成软件Epson RC+(以下简称RC+)已超过20年。该软件旨在支持其内部机器人的部署和维护。自那时起,它经历了多次版本升级,并在2024年9月发布了最新版本RC+ 8.0。Unity被采用于RC+ 8.0模拟器的开发,这是一个旨在验证机器人运动的软件工具。
在保留模拟器前一版本提供的功能的同时,使用Unity进行重新开发的决定是由两个主要目标驱动的:通过开发版本8.0适应RC+显著重构的核心,并解决开发中的个体依赖挑战。
由于这是制造解决方案运营部首次使用Unity,该部门负责RC+的开发,团队利用Unity的付费支持服务以确保产品质量和开发速度感。
本案例研究突显了精工爱普生团队如何利用Unity成功建立解决开发中个体依赖挑战的路径,提高软件质量和整体体验,并解决与扩大部门内团队结构相关的问题。
简化开发:采用现代技术栈不仅促进了开发团队的扩展,还改善了开发过程中的个体依赖。这导致了一个开发环境,使得更新(如功能添加和维护)变得显著更容易。
- 3D技术:采用Unity及其先进的3D渲染能力带来了几个好处,包括与前一版本相比更快的渲染速度。
- 增强体验:此外,开发人员能够在开发过程中调试并可视化检查3D对象,从而增强整体体验。
- 专家支持:Unity的付费支持服务,集成成功,提供了对项目评审和Unity工程师咨询的访问。通过利用此服务,团队能够显著提高软件的质量。
克服遗留软件中的复杂性和依赖性
Epson RC+自推出以来经历了持续的升级,演变成一款获得众多客户广泛支持的产品。第七代——RC+ 7.0——于2012年12月发布。虽然随着时间的推移实施了小幅更新以增强其功能,但时间的推移暴露了用户界面(UI)中的缺陷。这导致了对基本模型的彻底改造的需求,而不是小幅更新,最终导致了RC+ 8.0的开发。
然而,在RC+ 7.0开发时,出现了两个主要挑战。第一个是对特定团队成员在功能开发上的过度依赖,第二个是软件的高复杂性。
由于RC+作为一个集成软件,支持从部署到维护由精工爱普生提供的各种机器人,因此它提供了广泛的功能。这导致了一个架构,其中这些功能变得错综复杂,使得在引入额外功能时,难以理解新功能可能如何影响系统。
为了解决这些挑战,RC+ 8.0的开发于2017年开始,重点是创建一个共享各种功能的组件的公共平台,并重新组织架构。这些努力旨在提高开发速度和软件质量。

重建RC+模拟器:解决技术和结构障碍
RC+ 包含一个用于验证机器人运动的模拟器,但这也面临挑战。MS 规划与设计部的模拟器开发负责人西谷正信先生解释道:“在 RC+ 8.0 开发的初期,精工爱普生公司最初考虑重用 7.0 版本中使用的模拟器,但很快就出现了问题。”
虽然 RC+ 7.0 是用 C++ 编写的,但 8.0 版本切换到了 C#。此外,UI 框架从之前使用的 Windows Forms 转变为 WPF。由于 RC+ 系统的这些结构性变化,模拟器的某些功能停止工作。
此外,模拟器的开发由一个独立于开发主 RC+ 应用程序的团队处理。然而,由于模拟器的平台基于 OpenGL,合格人员的可用性,无论是在公司内部还是外部,都有限,这使得扩展开发团队变得具有挑战性。
更复杂的是,同一部门还发布了几款除了 RC+ 之外的包含 3D 表现的软件。然而,这些软件产品都是在不同的环境中开发的,并且各自独立维护。这常常导致西谷所说的“重新发明轮子”,造成效率低下。
彻底改革 RC+ 模拟器:为什么 Unity 是明确的选择
为了与使用 C# 和 WPF 构建的现代环境保持一致,决定引入一个 3D 引擎并重新开发模拟器,同时在整个部门建立一个统一的 3D 开发环境。2021 年 3 月,开始评估潜在的 3D 引擎。
西谷和开发团队仔细考虑了各种游戏引擎和开源 3D 引擎,并进行了广泛的测试。最终,他们决定采用 Unity。他强调了这一决定的关键原因:“能够复制现有模拟器的功能,适合移动开发,日语信息丰富,以及活跃的开发者社区,这些都起到了决定性作用。”


升级RC+模拟器:Unity的好处
在2021年10月,西谷和他的团队决定采用Unity,并开始对RC+模拟器进行改造。负责实际开发的户田俊表示,使用Unity的好处在于:“在调试时能够直观地检查3D对象,使开发变得更加容易。”
尽管开发是新的,但它是通过追踪RC+ 7.0模拟器的功能开始的。实施过之前版本的西谷解释道:“与我使用OpenGL开发模拟器时相比,尽管使用的是相同的3D数据,但我感觉视觉效果得到了显著提升。”
他还对未来添加新功能时更高效的开发表示乐观,这得益于Unity带来的变化。

通过专家支持加速创新
该部门最初在采用Unity的同时,注册了付费支持计划Essential Success。
“由于这是我们部门第一次使用Unity,我们担心自己解决问题可能会花费很多时间。我们认为付费支持是必要的,以便快速解决各种问题,并以紧迫感生产高质量的产品。” - 西谷正信
在2023年11月,精工爱普生公司将支持计划升级为Integrated Success。此次升级的目标是进行项目评审,以便他们能够从Unity的高级工程师那里获得直接的技术指导。在2024年4月,Unity工程师访问了位于长野县的精工爱普生公司总部。
“在渲染复杂的大规模CAD模型时,耗时非常长,因此我们让Unity团队专注于这一方面,”户田在项目评审中回顾道。“他们不仅识别了瓶颈,而且通过直接沟通解决问题的过程也提供了宝贵的见解,例如在调试过程中如何使用分析工具。这对未来的开发来说是一次非常有意义的经历。”

心态的转变:自信地拥抱创新
直到现在,Unity在RC+8.0开发中的角色并未公开,但西谷和精工爱普生公司的销售部门希望积极推广,以进一步扩大RC+8.0的影响力。
开发环境也经历了各种变化。
西谷先生解释道:"在我们使用OpenGL的日子里,开发新功能是困难的……开发团队对实际能实现什么持怀疑态度,并担心如何处理可能出现的任何问题。"
在实施Unity后,团队发现通过在线搜索可以轻松获得解决挑战的知识和解决方案。这种转变在团队内部创造了一种新氛围,他们感到有信心应对开发过程中可能出现的任何障碍。
团队的韧性:克服依赖挑战
RC+模拟器最初由大约四名成员的团队开发,最高时扩展到六名。西谷强调,Unity的采用为进一步扩展开发团队铺平了道路,并帮助解决了开发中长期存在的个人依赖问题。
"虽然他们并不是专门作为模拟器开发人员被雇佣的,但一些团队成员在加入公司时已经有了Unity的经验,其他几位在引入Unity后开始学习。"通过让这些成员参与,我们看到了加强开发框架的潜力。这与之前版本的开发相比,代表了一个重大变化。"
未来会怎样
目前,模拟器开发团队正在制定下一个更新的计划。即将更新的目标是扩大模拟的范围。
在这个阶段,RC+仅限于模拟机器人的运动。然而,西谷分享了精工爱普生公司的未来计划:"我们旨在将其发展为一种软件,也可以用来模拟我们公司提供的各种外部设备。"
"他补充道:"我们期待在推进这一愿景时,利用Unity提供的多样化功能。"
通过拥抱新技术和培养创新文化,精工爱普生公司不仅加强了其开发框架,还为更具可扩展性、高效性和面向未来的工业自动化方法奠定了基础。