基于SVM的机械臂变导纳控制方法、装置及设备与流程

文档序号:35210438发布日期:2023-08-24 04:05阅读:32来源:国知局
基于SVM的机械臂变导纳控制方法、装置及设备与流程

本发明涉及机械臂控制领域,具体指一种基于svm的机械臂变导纳控制方法、装置及设备。


背景技术:

1、现有骨科手术机器人采用的控制方法通常为导纳控制和阻抗控制这两种方式。阻抗控制是指输入位移而输出力的控制方式,它对模型参数的不确定性具有很强的鲁棒性,可以限制相互作用的力,然而阻抗控制不能提供足够的刚性行为和补偿摩擦,导致在柔性环境和自由运动时的精度较差。导纳控制的底层控制逻辑为位置控制,是研究输入力与输出速度之间的关系问题,控制刚性高,更适合与柔性环境相互交互或者是在自由环境中进行操作的场景。因此,在骨科手术中,为了达到手术高精度要求,导纳控制是首选。

2、导纳控制可实时监测机械臂所受外力fext,并根据计算并指令机械臂末端位置x变化多少,其中,表示位置变化,单位通常为米或毫米,表示导纳系数。机械臂在受到同样外力fext作用时,高导纳系数会让机械臂顺外力方向快速移动,而低导纳系数仅会让机械臂移动一小步,换个角度讲,高导纳模式下,拖拽阻力更小,推拽更轻松,因此往往会选择高导纳系数来让人在拖拽机械臂时更省力。然而在机械臂末端工具与高刚性物体(例如骨头)接触后,无法避免机械臂向反方向弹跳。所以选用高导纳系数,在机械臂接触骨骼时,会克服骨骼的弹性力压迫骨骼,并导致机械臂受到更大的反向弹力,这个反向弹力大于医生推力,致使机械臂受合外力与医生推力方向相反,导纳算法会根据规则指令机械臂向反向移动。在手术中,机械臂不受医生意图运动,在碰到骨骼时引起弹跳是不被允许的,为此,在传统的导纳控制中,导纳系数不得已被调低,这样虽然可以解决“接触弹跳”问题,但同时会增加医生拖拽阻力,降低手术效率,拖拽柔顺性也因此被牺牲。

3、因此,亟需一种机械臂变导纳控制方法,能够实现在避免碰撞弹跳的同时,尽可能提高拖拽柔顺性。


技术实现思路

1、本发明的目的在于解决上述背景技术中描述的现有技术方案的缺点,提供一种基于svm的机械臂变导纳控制方法、装置及设备,其中svm为支持向量机,是一种用于分类与回归分析中分析数据的监督式学习模型与相关的学习算法。本发明提供的方法与步骤均在骨骼模型上进行预演实验,利用svm模型进行了碰撞检测,在此基础上实现了变导纳控制,可以实现在自由拖拽场景下,通过设置高导纳系数,提高机械臂拖拽的柔顺性;在切削骨骼模型的场景下,通过设置低导纳系数,避免碰撞弹跳,可以在保证手术安全的前提下,提高手术效率。

2、本发明通过以下技术方案予以实现:第一方面,本发明提供一种基于svm的机械臂变导纳控制方法,其特征在于,包括以下步骤:

3、s101,在导纳控制模式下,操作者拖拽机械臂做无碰撞运动,并建立力学信号滑动窗口作为模型的特征向量,对svm模型进行训练;

4、s102,获取当前机械臂末端的状态信息;

5、s103,根据s102中获得的相关信息,取最新的n组力学信号,建立力学信号滑动窗口作为机械臂当前状态的特征向量,输入到已经训练完成的svm模型,进行碰撞检测,并根据检测结果设置相应的截骨区域;

6、s104,计算当前机械臂末端工具位置与截骨区域的最小距离l,判断当前机械臂末端工具位置是否在截骨区域附近,并设置相应导纳系数;

7、s105,根据计算机械臂末端位移,并向机械臂发出控制指令,使得机械臂沿外力方向移动,实现变导纳控制;

8、其中,为导纳系数,fext为机械臂所受外力大小;

9、s106,继续拖拽机械臂运动,重复上述s102-105步骤,直至操作者停止拖拽机械臂。

10、进一步地,所述svm模型采用一类支持向量机(ocsvm)模型。

11、进一步地,所述一类支持向量机(ocsvm)模型使用高斯核函数。

12、进一步地,s101中所述在导纳控制模式下,操作者拖拽机械臂做无碰撞运动,并建立力学信号滑动窗口作为模型的特征向量,对svm模型进行训练,包括:

13、在导纳控制模式下,操作者拖拽机械臂做无碰撞运动,并记录时域力学信号,得到m组连续记录的力学数据;

14、从m组数据样本中提取(m-n+1)个力学信号滑动窗口,其中m>n,n为每个力学信号滑动窗口大小;

15、每一个力学信号滑动窗口由n组连续的力学信号组成,第一个力学信号滑动窗口为数据1到n,第二个力学信号滑动窗口为2到(n+1),以此类推,最后一个力学信号滑动窗口为数据(m-n+1)到m;

16、把(m-n+1)组力学滑动窗口作为训练数据,对svm进行训练,ocsvm是一类支持向量机模型,在模型训练时,由于训练数据中不存在碰撞信号,异常分数设置为0。

17、进一步地,s102中所述获取当前机械臂末端的状态信息,包括:

18、获取当前机械臂末端的运动状态、位置数据以及操作者施加的外力。

19、进一步地,s103中所述取最新的n组力学信号,建立力学信号滑动窗口作为机械臂当前状态的特征向量,输入到已经训练完成的svm模型,进行碰撞检测,并根据检测结果设置相应的截骨区域,包括:

20、在每一个迭代中,取机械臂最新的n组力学信号,建立力学信号滑动窗口作为机械臂当前状态的特征向量,输入到已经训练完成的svm模型中;

21、svm模型对当前样本进行评分,并输出评分值;

22、如果评分值小于0,为异常分数,判断结果为碰撞,则记录当前机械臂末端工具位置为截骨位置,并以当前机械臂末端工具位置为球心,设立半径大小为r的球形区域为截骨区域;

23、如果评分值大于0,为正常分数,判断结果为无碰撞,说明机械臂并没有接触骨模型,则不做调整。

24、进一步地,s104中所述计算当前机械臂末端工具位置与截骨区域的最小距离l,判断当前机械臂末端工具位置是否在截骨区域附近,并设置相应导纳系数,包括:

25、计算当前机械臂末端工具位置与截骨区域的最小距离l;

26、如果最小距离l小于或者等于阈值,则说明当前机械臂末端工具位置在截骨区域附近,则设置低导纳系数;

27、如果最小距离l大于阈值,则说明当前机械臂末端工具位置不在截骨区域附近,则设置高导纳系数。

28、第二方面,本发明提供一种基于svm的机械臂变导纳控制装置,该装置包括:

29、训练模块,在导纳控制模式下,操作者拖拽机械臂做无碰撞运动,并建立力学信号滑动窗口作为模型的特征向量,对svm模型进行训练;

30、获取数据模块,用于获取当前机械臂末端的运动状态、位置数据以及操作者施加的外力;

31、碰撞检测模块,为了获得与当前环境相适应的导纳系数,根据获取数据模块中获得的相关信息,取最新的n组力学信号,建立力学信号滑动窗口作为机械臂当前状态的特征向量,输入到已经训练完成的svm模型,进行碰撞检测;

32、判断模块,在每一个迭代中,计算当前机械臂末端工具位置与截骨区域的最小距离l,判断当前机械臂末端工具位置是否在截骨区域附近;

33、计算模块,根据计算机械臂末端位移,并向机械臂发出控制指令,使得机械臂沿外力方向移动,实现变导纳控制;

34、运动模块,继续拖拽机械臂运动,重复上述步骤,直至操作者停止拖拽机械臂。

35、第三方面,本发明提供一种基于svm的机械臂变导纳控制设备,所述设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序指令,其中,所述处理器用于执行存储器中存储的计算机程序指令,以实现上述所述基于svm的机械臂变导纳控制方法。

36、第四方面,本发明提供一种基于svm的机械臂变导纳控制存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述所述基于svm的机械臂变导纳控制方法。

37、本发明提供一种基于svm的机械臂变导纳控制方法、装置及设备,通过ocsvm模型,识别了机械臂接触骨骼模型的时刻,记录了截骨区域,之后实时根据对机械臂末端刀具位置与此截骨位置的比对,实现了机械臂的被自由拖拽场景和医生拖拽机械臂截骨/磨骨场景的区分,从而实时调节导纳系数,实现变导纳机械臂控制,即在自由拖拽场景下,设置高导纳系数,提高机械臂拖拽的柔顺性;在切削骨骼模型的场景下,降低导纳系数,避免碰撞弹跳。相比较传统的固定导纳系数控制机械臂而言,本发明提供的方法在保证了手术安全的前提下,提高了手术效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1