0引言
机器人编程仿真软件是工业机器人应用与研究中不可缺少的工具。本文介绍的医疗编程仿真系统是基于工业机器人离线编程软件HedraCAM所做的医疗项目应用,相对于工业机器人,医疗应用对机器人硬件要求更高的洁净度和清洁度,对软件的要求也更高。HedraCAM软件具有强大的图形化编程能力,可以方便地提取拓扑路径,生成机器人能够直接运行的加工程序。其简便的可达性分析功能可协助用户进行路径优化,模拟编程仿真结果与实际机器人运行结果一致,可以很好地辅助实际生产,缩短加工周期。
机器人放射治疗系统的核心是交互式机器人技术,基于6轴机器人,可达到0.05mm的定位精度。该系统由机器人系统、实时影像追踪定位、红外同步追踪摄像机、治疗计划系统、质量保证和质量控制6个子系统组成[1],这套完全一体化的系统可实时收到由于呼吸运动引起患者肿瘤位置改变的反馈,基于这种反馈,该机器人系统在运动中持续追踪肿瘤的的动态位置,自动持续地以低于毫米级的精度投射每一次的治疗光束[2]。
机器人系统由3台机器人(治疗床机器人、C型臂影像系统、粒子束治疗机器人)组成,结合机器人安全系统和复杂动态建模系统,机器人需要在所有硬件和软件组件之间进行大量实时数据交换,3台机器人的扫描编程控制软件是保证放射治疗安全、高效的关键。
1HedraCAM编程仿真系统功能
1.1布局搭建
HedraCAM采用基于三角网格的模型技术,其显著优点是轻量化。HedraCAM具有丰富的模型组件库,并提供超过10种建模元素,用户可以随意组合,实现自定义模型的搭建。同时,该系统能够读取市场主流CAD软件,包括CATIAUGSPro/ESolidedgeSolidworks等软件生成的数模文件,支持的文件格式有*.3ds,*.dwg,*.dxf,*.dgn,*.stl,*.STEP,*.IGES等。通过该系统,用户既可以导入机器人原始模型,也可以参考机械图纸确定机器人各结构尺寸,然后在PRO/E三维实体建模下构建出机器人各个部件的三维模型,完成各零件建模后,在组件模式下进行装配。所有定义的组件均可实现参数化、自由修改大小长度等相关属性。
1.2运动控制
通过HedraCAM搭建的各运动模型需要相应的运动控制算法支持,以驱动和管理机器人的动作,如图1所示。HedraCAM是一个高度可定制模拟器,几乎每一个编程仿真的步骤都可以由用户定义,同时HedraCAM还可通过模板或者Python脚本编程定制相应的机器人以及自动化工具的运动控制。在工业机器人领域,其算法可支持多个旋转轴机器人或机床、以及生产线上相应的工装夹具、人员、传送带等辅助设施,也支持串联、并联、各种滑轨与变位机的联动。

图1运动控制算法
1.3拓扑路径
现有的路径生成方法,只能对理想化模型进行路径生成,如果模型文件过于复杂,碎片太多,生成的切割路径就会有很多错误。HedraCAM软件可以将复杂的模型文件进行修复,删除非法数据,保留有用信息,同时将组成模型的各个碎片进行整合,使之变成一个理想化的完整模型,再用成熟的拓扑技术生成机器人路径,如图2所示。

图2拓扑路径
1.4碰撞检测
碰撞检测(如图3所示)是机器人轨迹规划、计算机编程仿真等领域的重要问题之一。HedraCAM可以通过灵活的方式对两个实体之间进行碰撞检测,其碰撞检测模块可实现在几何组件中快速判断各种干扰与碰撞,以及计算多个组件间的最小距离,并在界面中实时显示。用户可使用碰撞检测编辑器自定义碰撞测试,碰撞状态可视化,显示不同颜色。
图3碰撞检测
1.5编程虚拟仿真
编程虚拟仿真可对生成的机器人路径轨迹进行虚拟运行,运行过程中,可任意启动或者关闭碰撞检测,其位置可达性检测等功能可以暂停或者继续模拟,或者重置模拟。用户可在虚拟和真实时间模式之间进行切换,任意控制增加或减少编程仿真步长,实现加速模拟和减速模拟。同时,用户还可以将整个编程仿真过程记录成PDF动画或MP4视频文件。
2HedraCAM编程仿真系统医疗应用
医疗系统由各医疗硬件设备、图像处理系统、位置跟踪系统、机器人、患者等要素组成,如图4所示。医疗系统应用软件作为整个医疗系统的重要组成部分,主要由离线构建系统和在线实施系统两个子部分组成。在给肿瘤患者制订相应治疗计划时,整个医疗系统的运作流程如下:首先离线系统根据患者的肿瘤特性,生成原始离散点位,并输入相关的参数进行筛选,从而获得安全可达的工作区域,其次图像系统根据安全工作区域选取最佳治疗点集,然后离线软件对治疗点集进行路径规划,使之满足应用需求,最后利用编程仿真系统模拟验证治疗路径的可行性。治疗计划制作完毕后,在线系统可以远程控制治疗室机器人设备运行,从而对患者进行治疗,并同步编程仿真现场设备的运行状态,意外情况下可使用紧急控制系统,位置跟踪系统作为第三方标定系统,可实时监控位置偏差是否满足需要。
图4 医疗系统要素
2.1离线构建系统
2.1.1 场景布局搭建
本次应用参考射波刀(Cyber knife)机器人手术平台[3],来建设放射治疗机器人手术平台。放射治疗机器人手术平台如图5所示,由两台六关节串联机器人组成,分别为治疗头机器人和治疗床机器人,如图5中组件1和组件8。治疗头机器人接外部轴——旋转轴变位机(c臂影像系统图5中组件3),治疗床机器人接外部轴——平移轴滑轨(图5中组件7),变位机与滑轨连接,治疗床与治疗床机器人法兰连接(图5中组件6和8连接),c臂中心即是治疗球中心。在对患者肿瘤进行治疗时,治疗床机器人将患者肿瘤中心送至c臂中心,然后治疗头机器人再根据医生制定的治疗计划对肿瘤中心进行放射性治疗,在这过程中c臂做跟随运动。
图5放射治疗机器人手术平台
( 注:1、治疗头机器人 2、治疗头 3、c臂 4、患者 5、治疗球 6、治疗床 7、滑轨 8、治疗床机器人)
2.1.2 安全工作空间
针对人体肿瘤需要构建治疗安全区域。治疗安全区域是当治疗床机器人将人体肿瘤中心送至治疗球中心位置时,治疗头机器人TCP沿着该区域运动,机器人手术系统中各个组件之间的距离在安全距离(如表1)之外,不会发生碰撞的球面区域集合。本文所介绍的实验分头部肿瘤和盆腔肿瘤,在表1组件之间的安全距离限定下,通过框架碰撞检测实验构造头部治疗安全区域(如图7所示)和盆腔治疗安全区域(如图6所示)。

表1 组件之间的安全距离限定

图6盆腔安全工作空间

图7 头部安全工作空间
2.1.3 路径规划
医生根据肿瘤患者的身体情况,对全部可达工作空间的离散点位集合进行筛选处理,选择某些特定的球面点作为最佳治疗点位,但这些初始治疗点位集合是无序的,需要对其进行路径规划。路径规划的总体原则是利用球面圆弧过渡,在同一纬度上或者同一经度上的点,如果在本区域内圆弧过渡的是不同经纬度的点,则需要经过球面经纬度的直角过渡点进行过渡。
图8中红色的A、E点代表治疗点位,蓝色的C点代表球面直角过渡点,绿色的B、D点代表圆弧的辅助过渡点。从图中我们可以看出,A、B、C和C、D、E分别构成一个简单的圆弧运动。

图8 球面过渡示意图
具体实验方案为定点治疗和拉弧治疗,如图9、图10所示。定点治疗是指在安全区域选取特定的治疗点,治疗头机器人运动到治疗点处于静止时,根据需要定时开粒子光束,粒子光束关闭后,机器人通过下一个治疗点,进行同样的粒子光束开关操作,治疗点之间根据需要外加特定的过渡点,以避免实际操作中机器人碰撞和不可达等情况。拉弧治疗是指在安全区域选取特定的弧段进行拉弧操作,即从弧端拉到弧末,中间过程中,粒子光束处于打开状态,当切换弧段时,粒子光束关闭。

图9 定点治疗

图10 拉弧治疗
2.1.4 治疗计划保存
通过模拟编程仿真确认路径安全可靠后,可以将经过筛选并且通过路径规划过的治疗计划,保存成特定形式的数据文件,供在线控制系统调用。如图11所示。
图11 治疗计划数据文件
2.2 在线实施系统
2.2.1 实时通信配置
在线控制机器人的基础依赖于机器人控制器是否能够和上位机进行实时数据传输。基于C/S模型的机器人控制器与外部计算机之间的通信原理:当服务器运行服务器端程序时,响应并执行来自客户端的服务请求,最后向客户端返回计算结果;而当客户机运行客户端程序时,是向服务器发出请求,从而获得服务器响应。
本应用场景中使用的KUKA机器人,EthernetKRL是其多种外部通信选项之一[4]。该模块首先需要配置数据通信频道的数据格式,然后在机器人控制系统中写入相应的控制程序代码,再分别通过相关接口接收外部系统数据以及发送数据到外部系统,通过这种方式可实现上位机软件与机器人控制器之间的实时通信功能,如图12、图13所示。
图12 KUKA机器人通信原理

图13 KUKA机器人通信配置
2.2.2 远程在线控制
在线控制功能面板由治疗计划数据管理、连接状态显示、治疗运行控制、紧急状态控制、实时数据文件保存等功能组成,如图14所示。连接状态表示当前软件与机器人控制器特定频道的连接状态,共分为白色、绿色和红色3种颜色,分别代表初始状态、连接成功和连接失败。
在对患者进行实际治疗时,首先尝试与机器人建立实时状态和运动控制频道的网络通信,当两个频道的通信全部连接成功后,即加载所要实施的治疗计划,然后点击开始治疗按钮,机器人控制系统即驱动机器人运动到目标治疗点位,对患者进行治疗。在治疗过程中,如果发生意外情况需要进行中断治疗,可以使用暂停治疗功能,命令机器人马上中断当前正在执行的动作,并停在原处。此时,一般会有两种情形,一种是需要进行继续治疗,那么继续治疗功能按钮会命令机器人执行暂停之前的治疗计划,直到完整的治疗计划结束。而另外一种情形是治疗需要就此停止,治疗结束。
图14 在线控制面板
2.2.3 同步编程仿真
在线控制面板中的实时数据存储模块,可以将治疗过程中机器人控制系统的实时数据以20ms左右的频率保存到指定文件中,该文件包括机器人的实时笛卡尔坐标信息、各关节轴角度以及姿态信息等数据,用户可对该文件进行查看分析。同时,编程仿真引擎中的各个机器人根据实时状态频道传输过来的实时位置信息,在软件中经过特殊编程处理,可以实现编程仿真面板中的各运动组件与实际设备动作同步,如图15所示。医生可以在监控室检查编程仿真界面,远程监控治疗室的设备运行状态。
图15 同步编程仿真
3结论
本文主要介绍了HedraCAM软件功能,以及基于HedraCAM软件的医疗应用,通过搭建放射治疗机器人手术平台,对患者肿瘤进行治疗。
机器人在医疗行业的应用成为当前发展趋势[5],而机器人放射医疗系统作为当今最先进的肿瘤治疗技术,适用于全身各部位肿瘤的治疗,不但对体部肿瘤治疗具有明显优势,而且对肺癌、肝癌、胰腺癌、头颈部肿瘤、前列腺癌、腹膜后肿瘤、各种局限性淋巴结转移、局部复发等治疗均具有非常高的有效率[6]。只需1-5天的照射,整个治疗过程大约需要30~90分钟即可杀死肿瘤组织,是唯一无伤口、无痛苦、无流血、无麻醉和无需恢复期的全身放射手术形式,术后患者即可回家,这不仅使患者减轻了痛苦,同时也带来了治愈的希望。
参考文献
[1]房爱玲.Cyberknife的系统构成及临床应用[J].医疗卫生装备,2009,4(30):104-105.
[2]袁智勇.机器人辅助的放射外科治疗系统——射波刀[J].开卷有益:求医问药,2007(1):8-9.
[3]Schweikard A,Shiomi H,Adler J.Respiration tracking in radiosurgery without fiducials[J].The International Journal of Medical Robotics and Computer Assisted Surgery,2005,1(2):19-27.
[4]KR C2/KR C3 Expert Programming KUKA System Software(KSS) Release 5.1 BETA[Z].KUKA Roboter GmbH.
[5]TroccazJ.Medical Robotics[M].British Library Cataloguing-in-Publication Data,2011.
[6]Goldschmidt M H, Hendrick M J. Tumors of the Skin and Soft Tissues[J]. Tumors in Domestic Animals Fourth Edition, 2002, 434(5):393-400.