医用机器人控制点研究
2023-01-02谢能曹其新王金武
谢能 曹其新 王金武
1 上海市医疗器械化妆品审评核查中心 (上海 200020)
2 上海交通大学 (上海 200240)
3 上海交通大学医学院附属第九人民医院 (上海 200011)
内容提要: 本文旨在通过对医用机器人的导航控制系统,运动控制系统,视觉识别控制系统,操作控制系统的风险点加以识别和研究,为后期的监管打下扎实的基础。
随着达芬奇腹腔镜手术机器人在全球的推广应用机器人,医用机器人也作为一个独立的分支,开始步入人们的视线。
在这个领域中,伴随着人工智能技术、语音视觉识别技术的不断深化应用,医用机器人也开始渗透到临床应用的方方面面中。
其中有用于手术的医用机器人,针对不同的组织器官软硬条件,手术要求也各不相同,开始分化为专用的单科手术机器人[1]。如骨科手术机器人偏重于骨组织,如脊柱病灶部位的切除、置换手术。在手术操作过程中,要求精准定位病灶部位,通过影像导航,实时精确的切除病灶,置换骨植入物。在该手术中,对于手术机器人的定位精度、人机协调性、工作鲁棒性、反馈灵敏性都提出了极高的要求。
医用采样机器人在大规模的核酸采样和抽血中开始慢慢采用。当前的采样工作,均采用人工采样[2]。工作量大,重复性强,医生患者双方的传染风险都很高。采样机器人通过机器人视觉识别、定位合理的采样部位,结合力反馈传感器装置,做到采样过程的力度可控,在保证采样的有效性的同时,能更有效的防止病毒的传播和感染。同时标准化的操作流程,可保证采样动作的一致性,进一步提高采样的有效性。
齿科手术机器人用于种植牙手术,机器人结合CT、MRI图像完成患者齿部的位置定位,结合手术导航系统和手术导板来完成种植牙的种植,能有效的避免在手术中碰触敏感面部口腔神经,导致的面部瘫痪等不良手术风险。
穿刺机器人可以通过精准的图像定位,减少主观因素的影响,降低劳动强度和患者射线辐射量,极大的提高手术效率和精确度,减少伤害的产生[3]。
医用放疗手术机器人可以克服目前的放疗设备过大,转动不灵活,设备占用空间过大。同时由于转动不灵活导致无法提高对应的摆放精度。医用放疗手术机器人进行了轻量化的机构设计,具有多角度、多关节的摆放能力,对应的摆放精度、灵活性和空间占用率都得到了大幅度的提高。保证了整个放疗手术的有效性和快捷性。
这些医用机器人部分解决了,目前全球范围内的医疗资源不均衡现状。地处偏远地区的患者,也能够由发达地区的医学专家远程进行手术操作。同时由于目前大量复杂手术的学习曲线时间过长,成本过高。成长为一个熟练的手术医生,需要进行大量的手术演练和手术实操案例的培训。医用手术机器人,可以大幅缩短这一过程,帮助医生迅速达到标准化的手术操作水平。
同时医用机器人在大规模的疫情中,作为采样的辅助力量,可以大幅解放医疗人员的人力资源,用于医疗行为,为应对大规模的疫情爆发进行必要的资源支持。
整个医用机器人的操作流程基本遵循了“感应-决策-行为-反馈”的闭环流程。
医用机器人系统基本划分为导航控制系统,运动控制系统,视觉识别控制系统,操作控制系统等。根据不同系统的要求,对控制点加以分析和探讨。
1.导航控制系统
目前手术应用操作的安全技术要求越来越高,有些已在毫米级要求以下,而这样的手术操作精准性的要求,对手术导航定位系统的手术定位提出了极高的要求。
医用机器人的导航系统分为磁定位系统、光学导航系统[4]。
1.1 光学导航系统
光学导航系统就是在患者的表面贴上对应的光学标签,进行手术过程中的导航和定位的系统。但是这一系统最大问题是手术准备期进行定位点设定,粘帖和手术导航规划的安排时间过长。而目前大量的门诊需求,和手术的时效性来说,存在过长的时间准备期。由于只能根据体表光学定位点来进行导航,对于体内的情况无法进行追踪,存在较大的使用不便性。
1.2 磁导航系统
磁定位系统的磁定位器集成在医疗器械操作端内。在磁场发生器的作用下,在设定磁场范围内,对磁感应线圈追踪所处的位置。但是由于磁场范围较小,机械臂的运动范围受到了较大的影响,同时由于在检查过程中可能会使用到核磁共振类等设备,可能产生较大的电磁干扰影响,对手术的操作和视觉的清晰程度,产生不同程度的影响。
1.3 导航系统误差分析和控制
导航系统误差比较大的原因,主要来自于图像的成像和实际的患者体位偏差,以及呼吸过程的扰动带来组织的不断运动和变化。其二是定位技术的原因,不同的定位技术都有其优点和缺陷,不同的定位技术带来了对应的系统误差。第三是不同的导航算法,由于算法的不同,导致整个系统定位精度也会发生很大的区别。第四是影像的干扰,由于患者成像过程中会出现伪影,伪影会使得影像存在一定的差异,导致整体导航的漂移。
应在导航应用注意图像的成像质量、患者的手术体位、算法的补偿说明。
2.运动控制系统
运动控制系统主要包括运动和动力学模型的建立,轨迹规划和插补计算,视觉伺服系统控制等。
2.1 运动学模型
空间中的位置需要被准确的记录,不但要记录目标坐标系的坐标值。也要记录目标坐标系和世界坐标系之间的方向关系,是构建机器人运动模型的核心技术。
正向运动学分析和逆向运动学分析是医用机器人运动学建模的主要的手段。
正向运动学分析,就是根据医用机械臂的各关节位姿,来求导出机械臂末端的空间位姿。逆向运动学分析,就是根据医用机器人工作末端的空间位姿,来反向求解机器人各关节的空间位姿。
正向运动学分析,由于根据各机械臂关节的空间位姿,能求出工作末端的唯一解。而逆向运动学分析,根据机械臂末端的空间位姿,可以求出的各机械臂关节的空间位姿,存在一解、多解、无数解的情况,所以逆运动学分析比正向运动学分析复杂很多。目前逆运动学分析一般采用解析法、几何法和相应的其他人工智能算法来加以辅助,方便求出对应解中的最优解。
运动学模型分析只是求出对应的末端工作器空间位姿,但是在实际的操作中,末端工作器会发生微小的变形操作,而这些微小的变化应通过微分运动学的方式来加以研究,得出相应的模型。
应在核查审评过程中,加强对运动学模型算法及末端工作器的微分运动学模型加以关注,明确对应的运动控制要求。
2.2 奇异点问题
在运动学建模中常用的为D-H(Denavit-Hartenberg)模型方法。在该模型中会遇到的奇异点问题,即医用机器人的机械臂,多轴的轴线处在同一轴线,即关节角度为零度时,这时会产生三种情况。
首先,机器人的自由度减少,无法正常的进行运动。其次,机器人的关节角速度会突然增大,导致机器人的运动失控,严重的可能发生医害事故。第三种情况会出现,可能医用机器人无法进行正常的逆运动学求解,得出无数解进而死机导致手术过程的突然中断。
针对多轴机器人,奇异点可能存在于腕部、肩部、肘部等。在实际的监管过程中,应要求提供运动规划的模型算法说明和具体的指令说明,明确在可运动范围内如何避开奇异点,以防止伤害事故的发生。
2.3 误差补偿和控制
从医用机器人的定位误差来说,主要是有系统误差和随机误差两种形式的误差存在。
系统误差主要是由机械臂的尺寸等相关的几何参数导致的,在设计过程中和生产过程中机械臂的设计尺寸和实际的机械臂尺寸存在一定的误差,每个机械臂单元误差的叠加导致整个系统误差。
另一方面医用机器人还有随机误差。随机误差是由于在不同的使用环境中,如机器人使用操作环境的温度不同,对于使用的产品的材料有不同的热膨胀和收缩系数,导致随机误差的产生。在机器人的运转中,长期的使用会带来摩擦和润滑剂性能的下降,因素叠加,会产生不同的随机误差。随机误差就是带有一定的随机性,这些叠加的不确定性的误差就叫做随机误差。
针对系统误差,一般使用几何参数标定的方法来进行坐标标定。主要是对整个医用机器人进行几何参数的标定。一般将底座设为坐标原点,每个关节、机械臂的坐标系参考坐标原点进行标定。采用的常用方法是基于模型的叠加方法。
另一种是无参数的标定方法。无参数的标定是直接针对手术机器人的末端的来进行参数的标定。在该过程中,一般会使用到智能的算法。目前尚未成为医用机器人使用的标定主流方法。
也有采用含有多参数的位姿传递矩阵来进行误差补偿[5]。针对目前不少医用机器人采用柔性构件的实际情况,将柔性构件定义为弹性弹簧来加以分析,建立了机器人的柔度误差补偿模型[6]。通过根据机器人的工作空间进行虚拟仿真环境下网络化的划分,采用数据点采样的形式来进行跟踪和采样,最后在网格空间中加以参数误差补偿。
采用自适应的方法建立神经网络模糊算法加以补偿,有通过附加控制算法来保证定位的精度,有通过增加激光跟踪仪加以跟踪来进行验证的方式,明确补偿误差补偿方式的可靠性。应明确提供机器人的运动执行算法中把误差补偿要求加以带入。
由于机器人的实时控制,受限于工作场合和实际的工程进展,存在很多的不确定性,目前大部分用医用机器人采用的误差补偿方法均为离线补偿模式,应要求提供对应的误差补偿方法的算法说明,包含相应的误差补偿模型算法。
医用机器人在不同的工况及负载情况下,对应的运动学位姿误差也是不尽相同的。应针对不同的工况、负载情况加以验证。高负载和低负载情况下的受力情况不同,应提供相应的误差补偿算法说明,通过对应的正向和逆向的运动学模型来得到末端位置误差模型。
3.视觉识别控制系统
离线误差补偿方法,虽然可以极大的提高机器人末端的定位精度,但是还是无法实时的获取医用机器人的定位参数,一旦在实际操作过程中,遇到突发情况或临时需要进行调整时,无法进行有效的切换,存在较大的风险隐患。在实际使用过程中,目前有机构逐步尝试采用实时视觉识别的方法加以误差补偿,在机器人的工作末端头部,装配实时监控系统,来保证实施定位的精确性和有效性。
在早期的医用机器人中,大部分的医用机器人采用的是离线模型及示教的方式进行路径规划,而一旦手术过程发生变化时,不得不使用重新设计的方式,这一过程极大影响了手术效率和提高了手术风险。目前有大量的医用机器人开始采用视觉识别的方法,通过视觉采集的信号加以提取和分析,进行跟踪和检测,并驱动机械臂末端进行相应的动作,提高手术效率和降低手术风险。
3.1 手眼标定
医用机器人的手眼标定问题,机器人的手即机器人的末端,眼睛即为摄像头。通过摄像头看到的物体信息,传递给控制系统,然后由控制系统发出指令去驱动机械臂运动。
目前在主要采用两种方式,一种是Eye-in-hand模式,就是将识别摄像头安置在机械臂操作末端上。Eye-in-hand这种模式优点在于良好的动作跟随性、识别精度高。另外一种模式是Eye-to-hand模式,Eye-to-hand模式识别误差精度不如Eye-in-hand,但是对误差的容忍度较高。在使用视觉识别过程中,摄像机多采用单目、双目及多目的系统[7]。多目系统对于是视觉识别占用的运算资料量大,目前使用的数量并不多。双目系统能进行精确的标识,对于手术的操作具有极大的便利性。
应明确机器人系统的手眼标定控制要求。因为图像传感器中的感光像素的单元长度、宽度均不同,会影响相应最终的识别成像效果和控制系统操作。进行参数的检验,并进行标定。提供对应的标定说明。摄像头实时拍摄物体图像,物体的投影会在图像传感器的感光元器件表面形成像素点,同时摄像头和工作面之间的运动位置在不断变化,应明确对应的成像雅克比特征矩阵和机械臂的运动学雅克比特征矩阵之间的关系,即明确摄像头和机械臂的内部和外部参数的标定。
3.2 算法模型控制
机器人视觉识别与控制,主要是从图像中对特定区域进行检测、提取,按照提取出的区域特定位置特征比对预期位置特征,符合预设范围的,医用机器人的末端按照规划路径予以行动。
简单而又快速的从图像中去识别出特定的区域部位,是识别难点和关键点。
从图像包含的识别区域,要进行填充,提取出对应的特征部位,进行相应特征区域分割和轮廓提取,最后结合分类器进行图片的视觉识别。
目前常用的填充算法有泛洪算法(Flood Fill),该算法主要是在图像中设置若干种子点作为起始点,然后比较种子点和周边相邻像素点的像素值,当两者之差不超过设定值时,对比较的像素点设定为某一颜色。
填充算法的一个关键参数,是阈值大小的选择。阈值设置过大,图像的选择范围也会更大,造成选择范围过大。如何选择合理的阈值大小范围,是保证目标特征,快速准确提取的一个关键。
数学形态学进行结构化元素的操作,基本有消融和膨胀两种处理方式。当输入的图像里面,相邻元素在结构化元素的确认范围内,即使对应元素的输出值为零像素或者为非零值。形态学的这种处理方式。对于二元图像能快速的处理图像中多余的噪声。
提取轮廓首先选取预定的种子点,然后对初始点进行编码。按照轮廓点进行相应的比较和赋值,形成链码。经过不断的重复上述的操作,直到完成对轮廓的跟踪。
支持向量机(SVM)是在分类检测中应用比较广泛的方法。适用于训练样本数量不是特别大的场景。在目前的医用领域有比较多的应用,可以很大程度上解决机器学习的维数灾难问题。对应的神经网络、深度学习算法也在不断的完善中。SVM原理主要是把训练用的样本数据,映射到一个高纬度的坐标空间中,然后取得最优的线性分类器成为高维空间中的一种超平面,然后将工作中遇到的类似数据进行分类和检测。
对于SVM算法要考虑何种类型的图像作为原型,来产生特定的特征向量是核心关键。在实际的验证过程中,会发现针对不同的人体体位,相机的位置不同,产生的识别效率和精度也是不一致的。
应针对上述填充算法阈值选择,数学形态学的操作要求,轮廓的提取算法,机器学习的算法及样本模型加以明确要求,使后期的使用风险得以控制。
3.3 视觉识别控制
目前采用的实时视觉识别监测方法主要存在以下的问题。
3.3.1 景深问题
由于目前的视觉识别控制系统主要是将三维的图像投影到二维的图像传感器上,处于二维平面感知系统,无法获得在Z轴向上的深度信息。造成在使用中定位的不准确,造成医生在使用过程中无法感知到在深度方向上的位置信息,使得手术失败。
有单位尝试使用深度相机,通过红外、结构光测距来进行深度的反馈。但在狭窄、运动、漫反射的狭小手术空间内,由于测距数据的不准确使得深度信息不够准确,容易导致手术事故。
针对上述问题,应提供对应的控制算法说明和结构优化设计控制要求加以补偿。
3.3.2 图像清晰度
由于部分医用机器人的手术操作环境都处于狭窄、多血液、模糊狭小的空间内。使用的摄像头等多为微型摄像头,存在图像机畸变严重的问题。特别是在边缘部分,图像的畸变现象尤为明显。如何处理图像的畸变,以保证观察点位置和实际标定位置的一致性,必须在相应的控制算法,及标定说明中加以明确,并应明确对应误差补偿算法能在控制指令得以实施。
3.3.3 延迟性
由于医用机器人操作中,主手(医生手术控制端)到从手(机器人末端)操作位置,存在一定的反馈延迟性。会存在手术末端尚未执行相对应动作,而手术控制端已经开始执行下一个动作的情况。由于手术动作和视觉反馈延迟,造成整个手术定位的漂移。位置的漂移又会导致实际工作中的手术器械的碰撞,器械和组织见的非预期擦碰等手术问题。
应明确视觉识别中,对应视觉延迟补偿的算法说明和具体控制要求。
4.操作控制系统
目前的操作控制系统,广义上分为封闭式控制系统、半开放式控制系统和开放式控制系统。其中封闭式控制系统,多采用专用的机器人语言和专用操作系统。在操作上具有封闭、黑盒处理的特点。可扩展性、一致性、容错性均不足,难以迅速吸收、迭代外部的一些新的功能软件。
目前越来越的企业和研究机构开始大量使用开放性软件操作平台,ROS操作系统进行二次开发和实际医用[8]。
机器人操作系统ROS(Robot Operating System)是一个开发机器人系统的分布式软件操作系统框架,有大量的工具库集成。可以在Linux、Windows等操作平台上运转,类似于机器人运行的操作系统。ROS机器人操作系统涉及三个层级,文件系统层级、计算机图像层级、社区层架,是一个开放的系统架构。该控制系统类似于机器人界的Windows系统。具有良好的人机交互性和拓展性,拥有丰富的平台资源,全球数以万计的开发者正不断的加以开发。
在ROS系统中有Moveit轨迹规划开源软件。该软件含有开源的OMPL数据库(Open Motion Planning Library),可以使用合适的算法进行运动路径的规划。Moveit轨迹规划工具功能强大,含有运动轨迹规划、运动学算法选择、碰撞检验等,具有强大的功能。同时通过Rviz三维可视化工具及运动规划软件,可以驱动计算机按照虚拟软件现实进行操作,是接下来医用机器人操作开发的一个基础性的平台。
在ROS系统中有Find Object_2D功能包,是一种基于模板匹配的物体识别和检测功能包,通过它提供的识别功能,可以标记并进行特征检测,根据识别的特征点去比对预期特征点,进而驱动机械臂运动。在ROS下的Rviz软件中加以仿真和实时驱动。
要求提供对应开放平台的二次开发说明,对应的操作系统版本控制要求是接一个时期需要不断思考的控制点。
5.展望
医用机器人领域日新月异,每天全球都在传来激动人心的临床应用新进展。如何规范医用机器人的开发和控制,规避对应的风险点,是每一个行业从业者接下来需要不断学习和思考的要求。