一种基于时序轨迹点的ct床运动控制方法及其系统的制作方法

文档序号:6294073阅读:213来源:国知局
一种基于时序轨迹点的ct床运动控制方法及其系统的制作方法
【专利摘要】本发明公开了一种基于时序轨迹点的CT床的运动控制方法,包括:接收第一段轨迹点数据;接收启动运动指令,控制电机进入运动状态并执行第一段轨迹点数据;反馈具有电机启动时间信息的状态字数据;接收基于状态字数据的第二段轨迹点数据;接收轨迹运行数据;依次执行第一段轨迹点数据与第二段轨迹点数据之后,执行轨迹运行数据,控制电机进行相应的轨迹运动。本发明消除了网络延时对电机运行精度的影响,提高了控制精度。本发明还公开了一种基于时序轨迹点的CT床的运动控制系统。
【专利说明】一种基于时序轨迹点的CT床运动控制方法及其系统
【技术领域】
[0001]本发明涉及医疗器械【技术领域】,尤其涉及一种基于时序轨迹点的CT床运动控制方法及其系统。
【背景技术】
[0002]目前,在计算机断层扫描成像系统(CT, Computed Tomography)中,对CT床的控制主要是采用闭环式驱动器对电机进行直接控制,为了使电机能够在精确的时间点运行,就需要高精度的时钟和实时系统以在精确的时间点发生运动控制命令。如果让CT床在某一时刻启动开始运行,并按照规划的位置和速度运行,现有的方法是在启动时刻发送运动的命令。在分布式的系统中,数据传输的过程中会产生网络延时。现有的方法需要考虑网络延时,网络延时将对控制器发送启动命令以及CT床的运动轨迹的精确度造成负面影响。所以控制器发送启动命令的时间需要精确控制,且网络延时影响了 CT床的控制精度。现有的CT床的运动精度依赖于系统的实时性,扫描系统的设计较为复杂。

【发明内容】

[0003]本发明克服了现有技术中运动控制系统复杂、依赖于系统的实时性、控制精度低等缺陷,提出了一种基于时序轨迹点的CT床运动控制方法及其系统。
[0004]本发明提出了一种基于时序轨迹点的CT床运动控制方法,包括:
[0005]接收第一段轨迹点数据;
[0006]接收启动运动指令,控制电机进入运动状态并执行所述第一段轨迹点数据;
[0007]反馈具有所述电机启动时间信息的状态字数据;
[0008]接收基于所述状态字数据的第二段轨迹点数据;
[0009]接收轨迹运行数据;
[0010]依次执行所述第一段轨迹点数据与第二段轨迹点数据之后,执行所述轨迹运行数据,控制所述电机进行相应的轨迹运动。
[0011]本发明还提出了一种基于时序轨迹点的CT床运动控制系统,包括控制单元、运动控制器和电机,其特征在于:
[0012]所述控制单元向所述运动控制器发送第一段轨迹点数据和启动运动指令,控制所述电机进入运动状态并执行所述第一段轨迹点数据;
[0013]所述运动控制器将具有所述电机启动时间信息的状态字数据反馈至所述控制单元;
[0014]所述控制单元根据所述状态字数据向所述运动控制器发送第二段轨迹点数据,然后发送轨迹运行数据;
[0015]所述运动控制器在执行所述第二段轨迹点数据以控制所述电机之后,执行所述轨迹运行数据,控制所述电机进行轨迹运动。
[0016]其中,所述控制单元与所述运动控制器保持时间同步。[0017]其中,所述运动控制器具有内部缓存区;所述内部缓存区至少能存储2个数据点长度的数据。
[0018]其中,所述运动控制器具有内部缓存区;所述内部缓存区存储接收到的所述第一段轨迹点数据、第二段轨迹点数据与轨迹运行数据中的至少一个。
[0019]其中,所述第一段轨迹点数据和第二段轨迹点数据为运动位置与速度等于零的数据。
[0020]其中,所述控制单元发送的所述第二段轨迹点数据的时间长度为T2,其表达式为:
[0021]T2 = Ts-TO-Tl
[0022]其中,Ts表示所述电机实际需要开始运行的时刻;T0表示所述电机的启动时间;Tl表示所述控制单元发送的所述第一段轨迹点数据的时间长度。
[0023]其中,所述运动控制器向所述控制单元反馈所述运动控制器的状态信息。
[0024]其中,所述状态信息包括所述运动控制器中内部缓存区的空余数据点个数或者当前执行的数据点个数。
[0025]本发明的运动控制器能够返回电机启动的时间,该过程中返回的时间精度为微秒级。
[0026]本发明的运动控制器具有内部缓存区来存储接收到的轨迹点,使控制单元无需与电机实时通信,控制点只需与运动控制器保持时间上的同步即可。
[0027]本发明不需要考虑网络延时对于控制精度的影响,使控制系统的设计结构得到了简化。
[0028]本发明能够精确地控制电机的启动时间。本发明通过获取电机启动的时间戳计算轨迹点数据,电机执行轨迹点数据并在精确地准时启动。本发明消除了在数据传输过程中网络延时对于电机控制的影响。
[0029]本发明能够精确地控制CT床的运动轨迹。本发明能够准时启动电机,并使电机根据轨迹运行数据运动,消除了由于网络延时对电机的运动状态的影响,提高了 CT床的运动轨迹的精确度。
【专利附图】

【附图说明】
[0030]图1是本发明中基于时序轨迹点的CT床运动控制方法的流程图。
[0031]图2是本发明中基于时序轨迹点的CT床运动控制系统的结构图。
[0032]图3是基于时序轨迹点的CT床运动控制方法的时序示意图。
[0033]图4是运动控制器反馈状态信息的流程图。
【具体实施方式】
[0034]结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
[0035]图1至图4中,1-控制单元,2-运动控制器,3-电机。
[0036]图2显示的是基于时序轨迹点的CT床运动控制系统的结构图。控制单元I与运动控制器2保持时间同步。运动控制器2能够控制电机3的工作状态。运动控制器2至少具有2个数据点长度的内部缓存区存储接收到的轨迹点数据(dummy data),用于存储相应的轨迹点数据。
[0037]本发明的基于时序轨迹点的CT床运动控制方法,如图1所示,包括:
[0038]步骤一:接收第一段轨迹点数据。
[0039]步骤二:接收启动运动指令,控制电机3进入运动状态并执行第一段轨迹点数据。
[0040]步骤三:反馈具有电机3启动时间信息的状态字数据。
[0041]步骤四:接收基于状态字数据的第二段轨迹点数据。
[0042]步骤五:接收轨迹运行数据。
[0043]步骤六:依次执行第一段轨迹点数据与第二段轨迹点数据之后,执行轨迹运行数据,控制电机3进行相应的轨迹运动。
[0044]控制单元I发送的第一段轨迹点数据和第二段轨迹点数据均为运动位置与速度等于零的数据,电机3执行第一段轨迹点数据和第二段轨迹点数据时保持静止。第二段轨迹点数据根据电机3的实际需要运动时刻、第一段轨迹点数据的时间长度以及状态字数据中的时间信息计算得出时间长度,第二段轨迹点数据的时间长度为:T2 = Ts-TO-Tl ;其中,Τ2表示控制单元发送的第二段轨迹点数据的时间长度;Ts表示电机3实际需要运行的时刻;T0表示状态字数据中电机3的启动时间;T1表示控制单元发送的第一段轨迹点数据的时间长度。
[0045]进一步地,运动控制器2能实时或按一定周期地向控制单元I反馈状态信息,包括其内部缓存区中的空余数据点个数或当前正在被执行的数据点个数。例如,运动控制器2实时向控制单元I反馈状态信息,控制单元I可随时了解内部缓存区的情况,并判断是否发送轨迹点数据;或者每当执行步骤四之前,运动控制器2向控制单元I反馈其内部缓存器的存储情况,控制单元I根据运动控制器2的存储情况可判断是否向运动控制器2发送轨迹运行数据。内部缓存区可存储第一段轨迹点数据、第二段轨迹点数据与轨迹运行数据中的至少一个。
[0046]例如,运动控制器2的内部缓存区能够存储K个数据点。控制单元I向运动控制器2发送第二段轨迹点数据后,电机3在执行内部缓存区里的数据点(第一段轨迹点数据和第二段轨迹点数据)的运行轨迹。运动控制器2可以实时或按一定周期的向控制单元I发送内部缓存区状态,即当前内部缓存区中空余的数据点个数,或者当前内部缓存区中正在执行的数据点个数。若正在执行的数据点个数为K,则内部缓存区中没有空余数据点,若正在执行的数据点个数小于K,则内部缓存区中有空余数据点。
[0047]如图4所示,若当前内部缓存区中没有空余数据点,则电机3继续执行内部缓存区里的数据点。电机3重复执行上述数据点,直到当前内部缓存区中有空余数据点,则控制单元I向运动控制器2发送轨迹运行数据,并存入内部缓存区的空余数据点中。电机3采用先进先出的方式执行内部缓存区中的数据点,电机3按照内部缓存区中存储的数据点的先后顺序依次执行第一段轨迹点数据、第二段轨迹点数据与轨迹运行数据。
[0048]本实施例中,运动控制器2采用Copley_ack555系列控制器,支持CANopen协议栈,具有32个PVT数据缓存器。PTV是一种轨迹点类型,每一个轨迹点包括3个变量:P、T、V, P表示此轨迹点的位置,V表示此轨迹点的速度,T表示此轨迹点相对于前一个轨迹点的相对时间。运动控制器2能够立即返回电机3的启动状态字,但是没有时间戳。为了得到电机3启动的精确时间,控制单元I使用带有时间戳的CAN控制器来接收CAN消息,并采用CAN总线与运动控制器2连接,每一个CAN消息都有具体的时间戳。
[0049]控制单元I和运动控制器2之间的通信过程如图3所示,控制单元I向运动控制器2发送第一段轨迹点数据。第一段轨迹点数据由多个运动位置与速度为O的轨迹点数据组成,第一段轨迹点数据的时间长度为Tl。运动控制器2将第一段轨迹点数据存入其内部缓存区中,控制单兀I再向运动控制器2发送启动运动指令,当运动控制器2接收到启动运动指令后,电机3被启动,电机3由运动控制器2驱动,开始执行存储在内部缓存区中的第一轨迹点数据。电机3的实际启动的时刻记作T0,运动控制器2将带有电机3已启动的状态字数据通过带有TO时间戳的CAN消息发送给控制单元I。
[0050]控制单元I得到此时间信息以后,得知电机3已启动,并且以该时间戳TO记为电机3的启动时间,控制单元I根据电机3的轨迹运行的时刻Ts计算出还需要填充的第二段轨迹点数据的时间长度T2。其中,第二段轨迹点数据的时间长度T2 = Ts-TO-TljPW电机3启动后,电机3执行完第一段轨迹点数据与第二段轨迹点数据时恰巧为电机3轨迹(Trajectory)运动时刻Ts。控制单元I向运动控制器2发送第二段轨迹点数据,运动控制器2将第二段轨迹点数据存入内部缓存区中。待第二段轨迹点数据发送完毕之后,控制单元I向运动控制器2发送轨迹运行数据。
[0051]当电机3执行完第一段轨迹点数据时,继续执行存储于内部缓存区的第二段轨迹点数据。直到电机3执行完第二段轨迹点数据时,电机3自动执行轨迹运行数据。电机3在Ts时刻根据轨迹运行数据进行运动。
[0052]上述整个过程,控制单元I不需要实时的控制电机3,而是通过电机3自身提供的启动时间信息TO来控制电机3运行的轨迹。由于整个过程是基于时间序列的运动控制,所以控制单元I和运动控制器2之间需要时间上保持同步,而这种机制在很多总线式系统中都是支持的,比如CANopen。
[0053]本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
【权利要求】
1.一种基于时序轨迹点的CT床运动控制方法,其特征在于,包括: 接收第一段轨迹点数据; 接收启动运动指令,控制电机(3)进入运动状态并执行所述第一段轨迹点数据; 反馈具有所述电机(3)启动时间信息的状态字数据; 接收基于所述状态字数据的第二段轨迹点数据; 接收轨迹运行数据; 依次执行所述第一段轨迹点数据与第二段轨迹点数据之后,执行所述轨迹运行数据,控制所述电机(3)进行相应的轨迹运动。
2.一种基于时序轨迹点的CT床运动控制系统,包括控制单元(I)、运动控制器(2)和电机(3),其特征在于: 所述控制单元(I)向所述运动控制器(2)发送第一段轨迹点数据和启动运动指令,控制所述电机(3)进入运动状态并执行所述第一段轨迹点数据; 所述运动控制器(2)将具有所述电机(3)启动时间信息的状态字数据反馈至所述控制单元⑴; 所述控制单元(I)根据所述状态字数据向所述运动控制器(2)发送第二段轨迹点数据,然后发送轨迹运行数据; 所述运动控制器(2)在执行所述第二段轨迹点数据以控制所述电机(3)之后,执行所述轨迹运行数据,控制所述`电机(3)进行轨迹运动。
3.如权利要求2所述的基于时序轨迹点的CT床运动控制系统,其特征在于,所述控制单元(I)与所述运动控制器(2)保持时间同步。
4.如权利要求2所述的基于时序轨迹点的CT床运动控制系统,其特征在于,所述运动控制器(2)具有内部缓存区;所述内部缓存区至少能存储2个数据点长度的数据。
5.如权利要求2所述的基于时序轨迹点的CT床运动控制系统,其特征在于,所述运动控制器(2)具有内部缓存区;所述内部缓存区存储接收到的所述第一段轨迹点数据、第二段轨迹点数据与轨迹运行数据中的至少一个。
6.如权利要求2所述的基于时序轨迹点的CT床运动控制系统,其特征在于,所述第一段轨迹点数据和第二段轨迹点数据为运动位置与速度等于零的数据。
7.如权利要求2所述的基于时序轨迹点的CT床运动控制系统,其特征在于,所述控制单元(I)发送的所述第二段轨迹点数据的时间长度为T2,其表达式为:
T2 = Ts-TO-Tl 其中,Ts表示所述电机(3)实际需要开始运行的时刻;T0表示所述电机(3)的启动时间;T1表示所述控制单元(I)发送的所述第一段轨迹点数据的时间长度。
8.如权利要求2所述的基于时序轨迹点的CT床运动控制系统,其特征在于,所述运动控制器(2)向所述控制单元(I)反馈所述运动控制器(2)的状态信息。
9.如权利要求8所述的基于时序轨迹点的CT床运动控制系统,其特征在于,所述状态信息包括所述运动控制器(2)中内部缓存区的空余数据点个数或者当前执行的数据点个数。
【文档编号】G05B19/19GK103869747SQ201210537521
【公开日】2014年6月18日 申请日期:2012年12月13日 优先权日:2012年12月13日
【发明者】谭珍珠 申请人:上海联影医疗科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1