APP下载

基于MATLAB软件的机器人手术规划与仿真模拟

2019-05-09孙梦哲詹诗薇韩文卿陈骁俊MOOIWEIJUN陈伟邱晓慧ZINMARAUNG唐荣高柴岗

组织工程与重建外科杂志 2019年2期
关键词:执行器建模机械

孙梦哲 詹诗薇 韩文卿 陈骁俊 MOOI WEI JUN 陈伟 邱晓慧 ZIN MAR AUNG 唐荣高 柴岗

整形手术除了安全之外,精确是其重要内容[1]。在依靠经验及直觉的传统手术基础上,近年来涌现出许多导航参与的提高手术精确度的方法,如手术导板引导截骨线以及基于夹板与标志板的光学导航等[2-4]。但前者对术野的暴露范围有更高的要求且受软组织影响较大,后者存在设备不够轻巧及遮挡术野的问题[5]。磁导航以其灵巧轻便的装置特点,在颅颌面整形外科手术的临床应用中具有巨大潜力[6]。

增强现实(AR)技术也是近些年的热点,增强现实系统把术前在计算机内规划的手术方案叠加显示在手术真实的视野中,指导手术过程[7]。但是,在虚拟图像的投射和按照视觉图像信息执行手术操作过程中,不可避免地会出现误差以及反应时间上的延迟[8]。此外,投影设备所占空间也是手术中的一个不利因素。

外科手术中,机器人参与执行手术也是降低与术前规划之间的误差,减少手术创伤,缩短手术时间的有效方法。比如:腔镜手术机器人可以用人手无法达到的关节灵活度快速高效地完成手术,同时通过细颤过滤降低手术误差[9];骨科手术机器人在高应力条件下对精度的把控远超传统的徒手截骨[10]。

本实验由机器人执行截骨平面钻孔操作,省去术中呈现术前规划并覆盖于真实术野,以及按照该结果进行截骨的过程,可减少人为误差,节省系统所需费用,并降低设备体积。考虑到安全性与实际术中的可行性,我们首先使用MATLAB软件进行仿真模拟与手术预演,具体报道如下。

1 资料与方法

1.1 临床资料

选取上海交通大学医学院附属第九人民医院整复外科11例颏部前移手术患者的影像学数据,在CT三维平扫之后,将患者的影像学数据以DICOM格式保存。具体的扫描参数如下:Light Speed 16排螺旋CT(GE公司,美国)进行头颅扫描(5 mm体积扫描),球管电流180 mA,电压120 KV,矩阵512×512,厚0.625 mm,薄层三维重建。

1.2 手术规划

在三维重建软件(Mimics15.0,Materialise公司,比利时)中,导入患者的DICOM数据,利用CT的阈值将患者的下颌骨进行分离,以STL格式保存,并进行三维打印(Projet 660,3Dsystem,美国)。截骨方案设计:在该颅颌骨数据中,根据下颌孔到颏孔的阈值进行下牙槽神经的标记,由Frankling水平面和鼻根-蝶鞍-鼻基点垂直面进行摆正,在距离颏点下方4 mm并保证神经安全的情况下设计相应的截骨平面,并在截骨平面上按照相应的角度设计钻孔路径的引导方案(图1)。

1.3 机器人选择

本实验中,我们使用优傲机器人UR5来完成实验(UR5,Universal Robot公司,丹麦)。 UR5 机器人可通过编程来移动工具,并使用电信号与其他机器进行通信。它是由挤压铝管和关节组成的手臂,在实际操作过程中可使用自带编程界面 PolyScope,用户可轻松对机器人进行编程,使其沿着所需的运动轨迹来移动工具。

1.4 MATLAB建模

基于MATLAB的建模,包括手术环境的搭建、机器人本体与末端的建模。该实验中采用了UR5机器人的数据,并将机器人各关节之间几何关系用DH参数表表述。D-H参数法即在每一个机械臂的关节上建立直角坐标系的矩阵方法。

1.5 手术过程模拟

根据术前规划在控制软件中选择钻孔路径,把打孔路径的起始点与终末点进行标记,即设置打孔路径,然后拖动机器人末端执行器根据轨迹完成打孔,按照初始点-移至打孔路径起始点及位资调整-沿路径打孔至终末点-退回起始点-平移至下一打孔路径起始点及位姿调整-循环上述打孔过程,停止后末端执行器离开手术环境。在此过程中,导航系统实时追踪手术打孔的位置和方向实行导航监控,即通过机器人通讯的接口,实时接收机器人末端执行器的位置与角度信息,呈现于机器人控制软件界面,当位姿误差超过一定值后可手动启动机械臂急停制动。

2 结果

UR5机器人是有6个旋转轴(自由度)的关节型机器人,其每一个关节的旋转度均为360°(图2)。

本实验采用UR5机器人的数据,并将机器人各关节之间几何关系用D-H参数表表述(图3)。通过该表描述相邻连杆关节坐标系的关系,以此定义各关节的坐标系,分析出机器人的结构,然后获取DH参数表用于在MATLAB环境下进行建模(图4)。

在MATLAB软件环境下,利用 MATLAB ROBOICS仿真工具箱,根据以上D-H参数表使用Link()程序建立连杆,再用Robot()程序将连杆相连建模机械臂构建六自由度UR5机器人对象模型,命令如下:

L1=Link([0 0.89459 0 1.570796 0]);

L2=Link([0 0-0.425 0 0]);

L3=Link([0 0-0.39225 0 0]);

L4=Link([0 0.10915 0 1.570796 0]);

L5=Link([0 0.09465 0-1.570796 0]);

L6=Link([0 0.0823 0 0 0]);

robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','UR5');

D-H参数确定步骤如下:首先确定UR5机器人自由度为n=6,设定沿着Za轴移动距离d。d是代数变量,可正可负,设定Xa轴绕Za轴旋转θ角度,得到Xb轴,然后沿Xb方向移动距离a,移动后坐标原点到达关节B的中心。由此可确定Xb轴的方向,Za轴绕Xb轴旋转α角度,确定Z轴的方向。随后重复直到6轴全部确定得到机械臂模型参数,即DH参数。UR5机器人的正运动学:机械臂的正向比于其他语言软件,使完成相同的工作流程更加简捷;并且MATLAB主要面对科学计算、可视化以及交互式程序设计的高科技计算环境,具有方便的数据可视化功能,图形处理便捷高效,可用于科学计算和绘图。本实验选用MATLAB进行机械臂模拟以及对机器人运动路径仿真,是因为其具有完备的图形处理功能,还能实现计算结果和编程的可视化,将向动学是指己知各关节的参数,求末端执行器相对于基坐标系的位姿,其反映的是由关节空间向工作空间的映射关系。根据所求D-H参数,指定关节角为θ=[0,0,0,0,0,0]。通过MATLAB软件求得正解末端执行器位姿P。机械臂的逆运动学是指已知末端执行器的位姿,通过末端执行器到达此位姿时各个关节形成的关节变量的大小。实质上是求位姿运动的反解,是从笛卡尔空间到关节空间的映射。在实现机器人末端有效控制环节逆运动学求解占有非常重要的位置。一般情况下,机器人的工作任务是在笛卡尔坐标系中表示的,从末端执行器运动控制到模拟轨迹规划都需要逆运动学求得关节角,证实该机械臂可行性同时实现具体的控制,在MATLAB环境下通过程序指令可求得逆解,指令如下:q=robot.ikine(p)(图 5)。

图1 术前设计方案Fig.1 Preoperative design

图4 实验平台建模示意图(RoboDK)Fig.4 Experimental platform modeling schematic(RoboDK)

图2 UR机器人结构Fig.2 Structure of UR robot

图3 UR5机器人D-H参数Fig.3 D-H parameters of UR5 robot

图5 手术轨迹仿真截图(局部放大图),机器人手臂夹持钻头沿术前设计轨迹自动钻孔Fig.5 Partial enlarged screenshot of surgical trajectory simulation,automatic drilling along the preoperative designed trajectory with the drill bit clamped by the robot arm

3 讨论

基于影像学数据,进行个性化手术方案的精确设计已在临床广泛使用。使用手术导板或各式导航设备可帮助执行精确操作,以实现规划的手术效果。相比于传统依靠经验的术式,在精准性和手术效率上都有提高。

本实验计划在软件中进行手术轨迹仿真预演后,由机器人执行截骨钻孔。机器人自动定位打孔在消除人为误差、提高精确度的基础上,可有效缩短手术时间与创面暴露时间,利于减少术中出血,降低感染风险,可降低术后疼痛感,恢复更快。简洁的设备组成使操作简便,降低了出错几率,可最大限度地降低术中误差。

用MATLAB来解决数学问题和建立坐标系相量和矩阵用图形表现出来,作图包含二维和三维图像,可以使图像可视化、对图像进行处理、用动画的方式表达轨迹等;而且在开发环境中,使用者可以方便地控制多个文件和图形窗口。编程方面支持函数嵌套和条件中断等,为前期编程和程序修改提供便捷。

MATLAB软件环境下进行手术规划与仿真模拟,预演证实可行性后,由多自由度机器人机械臂执行操作,相较于组成结构复杂、末端负荷大的设备系统,不仅灵活性好,也拥有更高的精确度,且尤为适用于术野较小的手术(如颅颌面手术等)。通过手术仿真,可以提前预测机械臂执行操作中动作是否顺畅、连贯,沿预设路径是否发生与手术床和术者的阻挡。手术仿真的意义在于保障机械臂执行操作的可行性,提高机器人参与手术的安全性。

虽然目前仍未真正实行机器人操作,但在证明其可行性后,模型实验、动物实验甚至临床实验就有了实现的可能。我们希望在解决机械臂的承受力问题后,使完全由机器人执行截骨手术成为可能。

猜你喜欢

执行器建模机械
多场下压电喷油器执行器电学特性试验研究
更正说明
自动驾驶汽车执行器故障冗余算法
基于FLUENT的下击暴流三维风场建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
调试机械臂
求距求值方程建模
X-431实测篇2010年奔驰B200空调执行器电机学习
基于PSS/E的风电场建模与动态分析
简单机械