Preceyes采用基于模型的设计流程加速全球首款眼科手术机器人的开发

挑战

开发一套实时控制系统,用于人类眼内机器人辅助手术

解决方案

采用MATLAB和Simulink基于模型的设计流程,对控制系统进行建模和仿真,并使用Simulink Coder和Simulink Real-Time将其部署到实时目标上

结果

  • 核心控制器软件的开发仅需一名工程师
  • 患者手术安全得到保障
  • 产品化路线图准备就绪

“ MATLAB和Simulink提供了独立的集成开发平台,可以支撑我们整个开发流程,以及我们机器人系统所需的所有组件和协议,让我们得以快速开发一套安全、实时的设备,以用于临床研究。”

Maarten Beelen, Preceyes

PRECEYES手术系统。该系统操纵着进入眼内的手术器械, 并由图中左侧的运动控制器控制,主刀医生手动操作着该控制器。(图片来自Preceyes,版权所有)


玻璃体视网膜手术,整个手术需要在眼内进行,手术时需要较高的精准度和稳定度,对于人工手术来说难度极大。随着人口老龄化的加剧,玻璃体视网膜类疾病患者数量大幅攀升,亟待研发具备更高手术精度的新治疗方案。比如,视网膜静脉阻塞的一个潜在疗法,即把一根直径仅有人类发丝直径大小的细针插入至阻塞处并保持静止10分钟,这种手术,即使对于经验最丰富的外科医生来说,也是几乎不可能完成的。

2016年,英国牛津约翰·拉德克里夫医院的外科医生,实施了全球首例机器人辅助视网膜眼内手术。他们借助了PRECEYES外科手术系统(PRECEYES Surgical System),即一个机器臂助手,该机器臂会衡量主刀医生的动作,并能过滤医生的手部抖动,达到了前所未有的手术稳定度和精准度。

最近,Preceyes开始在鹿特丹眼科医院实施了临床试验。他们成功地将新研发的距离传感器集成到机器人中,并完成了机器人和传感器相结合的验证。该传感器能够测量手术器械和视网膜之间的距离。依托该传感器所带来的安全性和实时距离数据,对于要求苛刻的视网膜手术,这种方案能确保提供更高的手术安全性和手术效果。此外,它将是培训和评估的宝贵数据来源。Preceyes的工程师使用基于模型的设计流程,借助MATLAB®,Simulink®,和Simulink Real-Time™设计并实现了该机器人控制系统。

 “作为一个精益创业公司,在设计最终产品之前,我们必须在不损害安全的前提下快速实现第一版的发布,以获得临床反馈,并建立相关临床证明。” Preceyes联合创始人和产品集成经理,Maarten Beelen说到。“Simulink和Simulink Real-Time使我们能够快速完成控制器的设计,验证,以及在实时仿真系统上的部署和用户测试。传统的软件开发流程可能会大大延长我们的开发时间。”

挑战

Preceyes为其外科手术系统制定了雄心勃勃的目标。大大增加的手术精确度不仅使新的疗法成为可能,还能对现有疗法进行改善,比如视网膜上长出的病变膜剥离,以及眼房水更换。在实现这些目标的过程中,Preceyes团队始终坚持两个优先原则:确保患者手术安全,以及尽可能高效地生产出一台临床研究设备。

为了在限定的开发时间和安全性要求下完成设计目标,Preceyes的工程师们需要借助建模和仿真技术的优势,这种技术在多个行业的安全攸关的应用中已经大量使用。具体来说,工程师们需要对复杂的控制逻辑进行建模,接着对其设计进行功能验证,首先通过仿真,然后部署到真实的机器人上进行实时测试。除了实时控制软件之外,该团队还需要开发一套运行在PC上的非实时应用程序,通过该程序的接口,主治医师在手术前和手术过程中可以配置系统的设置。

解决方案

Preceyes采用了基于模型的设计流程,借助MATLAB,Simulink和Simulink Real-Time加速其RPECEYES 外科手术系统实时控制软件的开发。

为了建立机器人的运动学和动力学模型,Preceyes的工程师们采用了系统辨识的方法,借助Simulink Real-Time对机器人的11个电机产生激励信号,然后分别测量各自由度的响应。

在MATLAB中对这些测量数据进行分析和拟合后,工程师们在Simulink中建立了能够描述在给定作用力下做出准确响应的机器人被控对象模型。

接着,团队开发了一个控制器模型,该模型处理来自系统操纵杆的输入信号和大约60路传感器(包括光学和磁编码器)信号,并产生相应的电机控制信号,驱动手术器械,以响应外科医生的手部动作。在模型中,工程师们利用Simulink Real-Time中的EtherCAT模块与机器人的EtherCAT网络节点进行通信。

团队使用Stateflow®对系统各工作模式进行了顺序逻辑建模,包括校正,初始化和自我验证。

在对控制器的基本功能和控制逻辑进行仿真验证后,工程师们借助Simulink Coder™从模型生成代码,并将编译后的目标码部署到一台运行Simulink Real-Time的实时目标机上。该目标机通过EtherCAT网络与机器人上的传感器和电机进行通信。

为了改善和增强控制器功能,团队对模型进行了改进,通过仿真对其进行了检查,然后使用SimulinkReal-Time在实际的机器人上进行测试。

工程师们使用了MATLAB 提供的UI开发工具GUIDE,开发了一款触摸屏应用软件,医生可以在手术中通过该应用改变手术设置,以及接收视觉和听觉反馈。

PRECEYES手术系统的安全性和有效性已经在14例外科手术中得到了验证。该公司已经计划在一些顶级的外科手术站点进行更多临床验证,其中包括与鹿特丹眼科医院为期两年的合作。该公司还正致力于CE认证和下一代产品的批量化生产。

图为鹿特丹眼科医院所使用的PRECEYES外科手术系统(手术准备阶段)。(图片来自Preceyes,版权所有)

结果

  • 核心控制器软件的开发仅需一名工程师 “使用MATLAB和Simulink,我不必亲自再为控制器编写一个底层架构。作为开发第一个版本时唯一的软件工程师,这是一个巨大的优势——事实上,如果采用传统开发流程,我怀疑一个工程师很难独自完成这项工作。”Beelen说到。 “我们开发的控制器软件被咨询工程师广泛地评审, 因为Simulink模型良好的可读性、需求可追溯性和生成报告的能力,使得评审过程变得非常容易。”
  • 患者手术安全得到保障 “我总是说我不会轻易把医疗设备推向市场,除非我完全有信心将它用在我自己或所爱的人身上。”Beelen解释道,“通过我们在Simulink模型中实现的安全机制,我100%放心,软件不会出现任何问题。”
  • 产品化路线图准备就绪 “在将我们的手术系统进行产品化时,使用Embedded Coder针对嵌入式处理器,从现有的控制器模型直接生成代码,我们将缩减开发时间。” Beelen说到,“产品化过程中,我们将遵循更正规的开发和测试流程,改善版本控制的方法,扩大开发团队规模,并且继续使用Simulink基于模型的测试、验证和确认功能。”