多电机驱动的牙弓曲线发生器控制程序操作界面
摘要: 传统的牙弓曲线形态获得方法是基于手工方式的,具有很大的随机性,会带来很多人为因素引起的误差.关于人类牙弓的大小和形态,已有大量的研究.许多研究者提出了各自研究的理想弓形,通过建立数学模型来模拟牙弓形态,但没有一个统一的、理想的弓形适合于所有患者,而且所有的对牙弓曲线的研究还只处于模拟和仿真阶段,国内外都没有一个用于自动生成牙弓曲线的装置.电机驱动的牙弓曲线发生器是多操作机排牙机器人系统中的关键部分,牙弓曲线的获得正是通过它的变形得到的,这样不仅实现了牙弓曲线获得的定量化、标准化和自动化,而且还提高了牙弓曲线获得的效率和精度.而它与真正牙弓曲线的吻合程度是最终全口义齿牙列误差产生的重要原因191,所以对它的运动分析和运动控制就显得至关重要.
1 引言(Introduction)
人类口腔内的天然牙列全部丧失后,就形成了无牙颌.当牙列丧失后,患者的颌面形态发生了变化,发音和咀嚼功能也受到严重影响.为恢复无牙颌患者的颌面形态及生理功能,保护颌面组织和下颌关节的健康,需要及时地为患者进行全口义齿的修复.在制作全口义齿之前,需要根据患者的颌弓形态来设计和生成新的适合患者要求的牙弓形态和牙弓曲线.传统的牙弓曲线形态获得方法是基于手工方式的,具有很大的随机性,会带来很多人为因素引起的误差.关于人类牙弓的大小和形态,已有大量的研究.许多研究者提出了各自研究的理想弓形,通过建立数学模型来模拟牙弓形态,但没有一个统一的、理想的弓形适合于所有患者,而且所有的对牙弓曲线的研究还只处于模拟和仿真阶段,国内外都没有一个用于自动生成牙弓曲线的装置.电机驱动的牙弓曲线发生器是多操作机排牙机器人系统中的关键部分,牙弓曲线的获得正是通过它的变形得到的,这样不仅实现了牙弓曲线获得的定量化、标准化和自动化,而且还提高了牙弓曲线获得的效率和精度.而它与真正牙弓曲线的吻合程度是最终全口义齿牙列误差产生的重要原因191,所以对它的运动分析和运动控制就显得至关重要.
为了实现牙弓曲线发生器控制的高可靠性、高精度和协调控制的特点,以及满足牙弓曲线发生器变形形成的牙弓曲线与患者真正牙弓曲线的吻合误差要求,并基于性能价格比考虑,我们在分析多电机驱动的牙弓曲线发生器运动学的基础上,提出采用工业控制计算机和输入输出板卡为控制器的闭环控制方式,结合VC++6.0开发平台、采用多线程技术实现牙弓曲线发生器的协调控制,使牙弓曲线发生器运动平滑,为此开辟工作线程执行发送脉冲的工作,同时不断检测光电编码器和限位开关的位置反馈信息.这样既实现了机器人的闭环实时控制,
又给用户提供了友好的人机交互控制界面.
2多电机驱动的牙弓曲线发生器运动分析
多电机驱动的牙弓曲线发生器结构如图l所示.工作原理为:用一个弹性可变形材料作为牙弓曲线发生器,经多目标函数优化得出5个点来拟合牙弓曲线,由于位于对称线上的控制点是固定的,所以最终只需要通过滑台机构的运动改变弹性材料上4个控制点的位置就可以改变曲线形状,使其逼近真正的牙弓曲线.为了实现平面内任一点的运动,每个控制点需要2个电机驱动,则需要8个电机来实现牙弓曲线发生器的驱动.
图1 多电机驱动的牙弓曲线发生器结构图
2.1牙弓曲线的量化模型
长期以来,U腔修复学一直是定性研究的科学,它的发展是以经验积累和归纳总结为主要方式.这种定性的分析无法用准确的语言将口腔修复医生积累的经验记录下来,这大大阻碍了口腔修复学的发展.为了定量处理问题,许多口腔修复学家都对颌弓、牙弓的几何形态进行了深入的研究,目前主要有两种数学描述模型:Beta方程模型和l幂函数模型.本文选择比较成熟的幂函数模型作为描述弓形曲线的定量描述方程.颌弓参数与牙弓参数的转换关系见文.无牙颌弓和人工牙列(牙弓)具有相似的数学描述特性,都可以用如下的数学模型表达出来:
式中a、β届为弓形特征参数,由如下拟合公式计算:
[#page#]
式中S、W、L分别表示半侧颌弓及半侧牙弓的弧长、弓宽和弓氏,σ、μ和τ为拟合常数,σ=10.889,μ=0.88,τ=3.
2.2牙弓啦线发生器的数学模型
牙弓曲线发生器的数学模型是将牙弓曲线方程沿法线方向向外偏移58.5 mm得到的.
给定平面参数曲线:
c(t)=[x(t),y(t)]t∈[0,1]
Co(f)=c(t)+d·N(t)t∈[0,1]
其中N(t)为曲线c(e)在参数t处的单位法向量,即
将牙弓曲线方程写成平面参数方程的形式:
由于幂函数处处有切线,这里,偏移曲线在牙弓曲线的外侧,其偏移量d=-58.5 mm,其生成的
等距偏移曲线Co(f)的方程为:
Co(t)=c(t)一58.5·N(t)
接下来需要求N(t),由于
所以
故而可知牙弓曲线发生器在牙弓曲线方程坐标系中的参数方程为:
其中参数t是指牙弓曲线上的某点的横坐标.
将牙弓曲线极限位置处的牙弓参数s、w、L代入式(2),求解出12和p,将这两个参数代入式(8)
就可以得到牙弓曲线发生器在牙弓曲线坐标系中的参数方程.[#page#]
2.3牙弓曲线发生器位置控制点的计算
牙弓曲线和牙弓曲线发生器的位置关系如图2所示.在设计牙弓曲线发生器的结构时,经过多目标函数优化得出,采用5个控制点运动所形成的牙弓曲线与理想的牙弓曲线之间的误差最小,并且此时弧长S1=75.5 lllin,S2=73.8 real.由于牙弓曲线发生器的弧长蜀S1和S2不变,所以根据弧长相等的原则就可以计算牙弓曲线发生器初始位置和目标位置控制点的坐标.具体的计算方法为:将牙弓曲线极限位置处的牙弓参数S、w、L代入式(2),求解出a和口,这样就可以得到牙弓曲线和牙弓曲线发生器方程,由于牙弓曲线发生器方程是参数方程,对该方程积分求解弧K比较麻烦,所以采用逐次逼近的方法来计算弧长.就是将曲线分成很多微小段,将x和Y值一点一点累加,以直角三角形的斜边长近似为曲线的弧长,求出每~小段的弧长后,一点一点累加,判断每一次累加的结果是否超过总弧长S1或者S2,如果超过则程序停止,并输出此时点的坐标,得出牙弓曲线发生器初始位置和目标位置处控制点的坐标.
图2牙弓曲线和牙弓曲线发生器的位置关系
3多电机驱动的牙弓曲线发生器的控制系统
3.1多电机驱动的牙弓曲线发生器控制系统的硬件设计
多电机驱动的牙弓曲线发生器具有运动范围小、承受载荷小的特点,因此我们将步进电机型号选择
35BYHJ30-01,步进电机驱动器型号选择SH.2H042Ma.其中步进电机是四相混合式步进电机,具有体积小、振动小、力矩人、精度高的特点,步进电机配有减速器,减速比1:30.为了实现各关节的定位控制,机器人采用LBJ-002-2048型增量型光电旋转编码器作为反馈元件,每关节一个,分别装在各自的旋转轴上.上控机的ISA槽插有北京中泰计算机技术研究所生产的PC6401数字I/O板卡,控制软件通过数字I/O卡和光电隔离板PS004向步进电机驱动器发送脉冲,步进电机驱动器将脉冲转换为步进电机控制信号控制步进电机旋转,带动滑台运动.滑台运动带动光电码盘旋转,光电旋转编码器向外发送计数脉冲,控制程序通过数字I/O板对这些信号进行采集,以判断各个滑台相对于初始位置的位置,再根据反馈信息决定如何控制滑台的运动.控制系统的结构框图如图3所示.本控制系统主要对多电机驱动的牙弓曲线发生器的8个步进电机进行同步运动控制、运动状态的监控和运动位置的显示.
图3 多电机驱动的牙弓曲线发生器控制系统[#page#]
3.2多电机驱动的牙弓曲线发生器控制软件设计
(1)控制软件总体设计
多电机驱动的牙弓曲线发生器控制软件要实现的功能主要有:对多电机驱动的牙弓曲线发生器进行运动参数计算、运动规划和参数设置;实时驱动步进电机转动,实现机械关节运动;实时采集光电编码器发回的脉冲,以决定机械关节的运动位置,实现各个关节运动状态和运动位置的实时显示;实现牙弓曲线发生器的八轴联动,以减小牙弓曲线发生器变形所产生的反作用力,并能够根据设定,自动运行到要求位置;友好的人机交互控制界面,随时控制机器人的运动与停I卜.系统控制模块的流程如图4所示.为实现控制系统所要求的功能,控制软件需要开展多个T作,并且多数情况下要求这几个工作并行执行.Windows操作系统具有的多线程机制,为解决这一问题提供了可行之路.
根据硬件控制系统的需求,在硬件白检及初始化中应该一次性完成“打开设备”和“设置初始参数”,在程序结束时完成“关闭设备”.执行控制方案应放在各个相廊的处理线程中进行,避免实时同步控制造成主线稃的阻塞.PC6401开关量运动控制卡提供了一些常用的开发函数库,可以直接供应用程序调用。本控制系统是在Windows XP下采用VC++6.0语言实现,在开发时需将相应的动态链接库文件加载到工程中.
图4多电机驱动的牙弓曲线发生器控制软件程序流程
(2)步进电机驱动模块
步进电机控制线程的程序流程如图5所示.该控制线程主要是实时监测光电编码器反馈值,并作出是否继续发送脉冲的判断,同时实现高精度和稳定性的脉冲发送.
由于多电机驱动的牙弓曲线发生器采用了开关量的接口卡PC6401配合光电隔离板与IPC机结合构成的硬件控制系统,同时由于对牙弓曲线发生器的控制实质上就是给驱动牙弓曲线发生器的步进电机发送一系列有规则的方波脉冲信号,所以在控制的过程中需要采用高精度的软件定时技术来实现方波脉冲信号的输出.
图5步进电机控制线程程序流程图
Windows系统是抢先式的多任务系统,通常的利用消息映射机制实现定时的SetTimer()函数在本系统当中是不可取的,因为这种方式所产生的时间间隔不稳定,这主要冈为它所产生的WM_TIMER消息的优先级较低,因而也就不能保证对此消息的响应能够实时发生,这在电机的实时控制系统中是不可接受的.另外,采用“CPU时间戳”的软件定时方式虽然能够达到纳秒级的定时,但是定时的稳定性比较差,数据抖动严重,波动剧烈.因此就需要使用定时精度更高且满足工业控制和实时检测系统稳定性要求的定时函数Que秽心rformanceFrequency()ueryPerformanceCounterO,其精度与CPU的时钟频率有关,要求计算机从硬件上支持精确定时器,它们都是对系统计数器进行访问,对于不同计算机,系统计数器的频率可能不一样.函数Query.Performance CounterO用来读取系统计数器中的计数值;函数QueryPerformanceFrequency()用来读取系统计数器频率,返同一个存有频率值的LARGE.INTEGER类型的结构体.应用该方法可以达到微秒级的精确定时,同时该定时方法至少能够精确达到
1 kHz的脉冲发送频率.无论从脉冲发送频率的精度还是稳定性考虑,该定时方法输出的频率误差较小,且比较稳定,频率波动小,符合多电机驱动的牙弓曲线发生器对运动控制精度的要求.
(3)状态监控模块
当多电机驱动的牙弓曲线发生器由丁-故障而产生预定动作以外的运动时,操作人员可通过计算机界面上的按钮,令各关节忽略计算机定位指令而应急制动,同时计算机定位指令序列暂停发生.状态监控模块由PC640l开关量接口卡实时检测限位开关的状态,当检测到限位开关闭合的信号后将停止向相应的步进电机发送脉冲指令,停止电机运动,该部分主要对各关节及其控制系统各组成部分的运行状态以及机器人操作的位置状态等进行监控.
应用上述方法,可以实现多电机驱动的牙弓曲线发生器的多轴联动和精确运动控制。
4实验研究和误差分析[#page#]
4.1实验研究
(1)实验用例的选择
为了使实验更具有代表性,实验结果不欠其一般性,我们选取了临床上比较有代表性的无牙颌形态作为实验用例.该患者的无牙颌弓参数见图7.根据文计算得出的患者牙弓参数见图7.
图7患者的颌弓参数
(2)实验系统平台
多电机驱动的牙弓曲线发生器装置己成功应用在了多操作机排牙机器人实验样机系统中,实验样机系统如图9所示.由图可知,该实验系统主要由多操作机排牙机器人样机、工业控制计算机、排牙运动规划和控制软件以及开关量接口卡和光电隔离板组成.
图8患者的牙弓参数
图9多操作机排牙机器人样机实验平台
表l 多电机驱动的牙弓曲线发生器实际控制点坐标值(mm)
4.2误差分析
经过多次实验,得到了多电机驱动的牙弓曲线发生器机构实际控制点坐标,具体数据见表1.为了分析控制的精度,在此以单点法线方向的最大值,即整个牙弓曲线发生器上的任意点在法线方向上与理论曲线的误差最大值,作为误差评判指标.单点误差的计算示意图见图10.点A是牙弓曲线上任意一点,经过点A作曲线的切线,再作过A点的切线的垂线,该垂线与拟合曲线相交于点B,线段AB的长度即为我们所要求的单点误差.具体的计算方法:根据点A的坐标,求出点A处曲线的导数(切线斜率),得到过A点的法线方程;然后求出法线与拟合曲线的交点曰的坐标,利用两点间距离公式求出AB两点间的距离.但是这种方法计算量比较大.冈此,我们可近似计算AB两点间的距离,过A点作x轴的垂线与拟合曲线相交于C点,拟合曲线方程可以求出,因此可以求出C点坐标,进而知道AC两点间的距离.由于A、B两点间的距离比较小,理论曲线上A点的切线与拟合曲线上B点的切线可以看作近似平行,因此,Zot=么口,设切线的斜率是髟,则K=tana,有:
通过单点误差的计算原理,利用Matlab编程计算,可以得剑单个点的误差的平方值.运行结果表明:当弓宽方向(工方向)坐标为37.25 mm时,单点误差的平方值最大为5.1 l mnl2,单点最大误差为2.26 mm,符合系统的误差要求.
图10牙弓曲线发生器的单点误差
4.3排牙实验结果分析
该系统作为多操作机排牙机器人系统中的关键部分,已经成功戍用在了多操作机排牙机器人实验系统中.以哈尔滨医科人学附属二院的某患者为例,进行了实际的排牙实验.图11为多操作机排牙机器人制作出的下牙列,从图中可以看出,其各个牙外表面所形成的曲线光滑清晰,牙间距离合适,各个牙的位置和姿态较好,后牙形成了良好的凹向下的曲线,补偿曲线曲度和横颌曲线合理.
图11 机器人系统制作的下牙列
5结论(Conclusion)
多电机驱动的牙弓曲线发生器是多操作机排牙机器人系统中的关键部分,实际应用表明,该系统能够根据患者颌弓要求计算出牙弓曲线发生器控制点位置,能够有效地实现多电机驱动的牙弓曲线发生器的运动控制并能满足多操作机排牙机器人对精度和同步协调运动的要求.多线程技术的应用,解决了多电机驱动的牙弓曲线发生器的运动控制与用户操作界面的冲突问题,大大提高了程序执行的效率;把各个任务放在不同的线程中执行,解决了控
制系统中多任务并发执行时产生的系统响应滞后的问题,实现了机器人运动的实时联动控制.通过高精度的软件定时发送脉冲,可以精确控制步进电机的运动速度和定位,从而大大提高了系统的定位精度.
本文由大比特收集整理(www.big-bit.com)
暂无评论