CN108492882B - 一种碰撞检测方法及装置 - Google Patents
一种碰撞检测方法及装置 Download PDFInfo
- Publication number
- CN108492882B CN108492882B CN201810183505.4A CN201810183505A CN108492882B CN 108492882 B CN108492882 B CN 108492882B CN 201810183505 A CN201810183505 A CN 201810183505A CN 108492882 B CN108492882 B CN 108492882B
- Authority
- CN
- China
- Prior art keywords
- component
- model
- boundary
- spatial position
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/50—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Pathology (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种碰撞检测方法及装置,该方法包括:对于待检测的可运动部件即第一部件、以及可能与第一部件发生碰撞的其它部件即第二部件,将第一部件和第二部件按照多面体进行建模,得到对应第一部件的N面体的第一模型和对应第二部件的M面体的第二模型;然后,根据第一部件的运动过程,在各个检测时刻,确定各检测时刻第一模型的空间位置以及第二模型的空间位置;根据第一模型的空间位置以及第二模型的空间位置是否符合碰撞条件,判断第一部件与第二部件是否发生碰撞。可见,本申请通过对部件进行抽象建模并利用部件模型对部件的运行轨迹进行模拟,可以在不使用碰撞感应装置的情况下,检测出部件之间是否发生碰撞。
Description
技术领域
本申请涉及检测技术领域,尤其涉及一种碰撞检测方法及装置。
背景技术
医用加速器系统主要用于恶性肿瘤的放射治疗,在治疗过程中,医用加速器系统的诸多部件会移动,比如,治疗床、治疗头、机架等部件,部件在移动过程中有相互碰撞的潜在可能,这种碰撞可能会给医用加速器系统带来严重伤害,还可能危及操作者和患者的人身安全。
现有医用加速器系统中,选择为治疗头安装碰撞感应装置,治疗头在运动过程中,如果碰撞感应装置检测到治疗头接触到治疗床、机架等其它部件后,会立即触发运动停止电路,控制治疗头停止运动。
然而,由于医用加速器系统的运动部件众多且形状各异,运动轨迹复杂,不可能处处都安装碰撞感应装置,因而只能在某些部件处安装碰撞感应装置来防止部分部件之间发生碰撞。而且,碰撞感应装置需要占用空间,会对正常的治疗过程造成很多不便。
发明内容
本申请实施例的主要目的在于提供一种碰撞检测方法及装置,能够在降低硬件成本及节省空间位置的情况下,检测部件之间是否发生碰撞。
本申请实施例提供了一种碰撞检测方法,所述方法应用于一种包括至少一个可运动部件的目标系统,其中,待检测的可运动部件被定义为第一部件,除所述第一部件以外的可运动部件或不可运动部件被定义为第二部件;所述方法包括:
将所述第一部件和所述第二部件按照多面体进行建模,得到对应所述第一部件的N面体的第一模型和对应所述第二部件的M面体的第二模型;
根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置;
根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞。
可选的,所述将所述第一部件和所述第二部件按照多面体进行建模,包括:
利用至少一个多棱柱模拟所述第一部件的尺寸和形状,将所述第一部件按照多面体进行建模;
利用至少一个多棱柱模拟所述第二部件的尺寸和形状,将所述第二部件按照多面体进行建模。
可选的,所述目标系统为放射治疗系统。
可选的,所述根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置,包括:
获取待治疗对象的放射治疗计划;
根据所述放射治疗计划中记录的关于所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
可选的,所述方法还包括:
为所述第一模型设置第一边界,并为所述第二模型设置第二边界;
则,所述根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞,包括:
使所述第一模型的边界与所述第一边界重叠,并使所述第二模型的边界与所述第二边界重叠;
根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;
若是,则确定所述第一部件与所述第二部件发生碰撞,若否,则确定所述第一部件与所述第二部件未发生碰撞。
可选的,若确定所述第一部件与所述第二部件未发生碰撞,则所述方法还包括:
使所述第一模型的边界在所述第一边界内部,和/或,使所述第二模型的边界在所述第二边界内部,其中,所述第一边界与所述第二边界分别形成一个多面体;
根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;
若是,则确定所述第一部件与所述第二部件即将发生碰撞,若否,则确定所述第一部件与所述第二部件相互远离。
可选的,所述根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠,包括:
根据所述第一模型的空间位置,确定所述第一边界所形成的多面体的空间位置,以及,根据所述第二模型的空间位置,确定所述第二边界所形成的多面体的空间位置;
生成第一数学表达式以及第二数学表达式,其中,所述第一数学表达式用于描述所述第一边界所形成的多面体的外形和空间位置,所述第二数学表达式用于描述所述第二边界所形成的多面体的外形和空间位置;
将所述第一数学表达式与所述第二数学表达式联立成不等式组;
判断所述不等式组的解集是否为空集;若是,则确定所述第一边界与所述第二边界之间未发生边界重叠,若否,则确定所述第一边界与所述第二边界之间发生边界重叠。
本申请实施例还提供了一种碰撞检测装置,所述装置用于检测一种包括至少一个可运动部件的目标系统,其中,待检测的可运动部件被定义为第一部件,除所述第一部件以外的可运动部件或不可运动部件被定义为第二部件;所述装置包括:
部件建模单元,用于将所述第一部件和所述第二部件按照多面体进行建模,得到对应所述第一部件的N面体的第一模型和对应所述第二部件的M面体的第二模型;
位置检测单元,用于根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置;
碰撞检测单元,用于根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞。
本申请实施例还提供了一种碰撞检测装置,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述任一项所述的方法。
本实施例提供的一种碰撞检测方法及装置,对于待检测的可运动部件即第一部件、以及可能与第一部件发生碰撞的其它部件即第二部件,可以基于部件外形,将第一部件和第二部件按照多面体进行建模,得到对应第一部件的N面体的第一模型和对应第二部件的M面体的第二模型;然后,根据第一部件的计划运动过程或实际运行过程,通过第一模型与第二模型模拟第一部件与第二部件的运行轨迹;在模拟过程中,确定各检测时刻第一模型的空间位置以及第二模型的空间位置,并根据位置检测结果是否符合碰撞条件,来判断第一部件与第二部件之间是否发生碰撞。可见,本实施例通过对部件进行抽象建模并利用部件模型对部件的运行轨迹进行模拟,可以在不使用碰撞感应装置的情况下,检测出部件之间是否发生碰撞。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种碰撞检测方法的流程示意图之一;
图2A为本申请实施例提供的治疗床面板建模结果示意图;
图2B为本申请实施例提供的球体建模结果示意图之一;
图2C为本申请实施例提供的球体建模结果示意图之二;
图3为本申请实施例提供的一种碰撞检测方法的流程示意图之二;
图4为本申请实施例提供的一种碰撞检测方法的流程示意图之三;
图5为本申请实施例提供的边界参数示意图;
图6A为本申请实施例提供的点接触示意图;
图6B为本申请实施例提供的线接触或面接触示意图;
图6C为本申请实施例提供的块接触示意图;
图7为本申请实施例提供的边界重叠判断方法的流程示意图;
图8为本申请实施例提供的一种碰撞检测装置的组成示意图;
图9为本申请实施例提供的一种碰撞检测装置的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在医用加速器系统中,现有技术通过为治疗头安装碰撞检测装置,在治疗头运行过程中,通过碰撞检测装置检测是否有其它部件进入治疗头下表面的一个预设保护区域,如果治疗床进入到了该预设保护区域,说明治疗头很可能碰撞到治疗床,这时,治疗头会被终止运动或者输出安全预警提示,以防止治疗头与治疗床产生物理碰撞。然而,由于医用加速器系统的运动部件众多且形状各异,运动轨迹复杂,不可能处处都安装碰撞感应装置,因而只能在某些部件(比如治疗头)处安装碰撞感应装置来防止部分部件之间发生碰撞,而且,碰撞感应装置需要占用空间,会对正常的治疗过程造成很多不便。
为解决上述缺陷,本申请实施例提供了一种碰撞检测方法,可以为加速器系统的全部部件、或为加速器系统中可能发生碰撞的各个部件进行分别建模,并利用各个部件模型,预先模拟或同步模拟各个部件的真实运行过程,在模拟环境中,判断各个部件模型之间是否发生碰撞,从而根据判断结果确定各个部件之间在真实运行过程中是否会发生碰撞。
需要说明的是,本申请提供的碰撞检测方法,应用于一种包括至少一个可运动部件的目标系统,本申请不限制所述目标系统的类型,所述目标系统可以是医用加速器系统、也可以是其它具有可运动部件的系统。实际应用中,当所述目标系统处于运行状态下时,其所包括的某些部件可能会发生运动,比如医用加速器系统中的治疗床、治疗头、机架等,将这样的部件定义为可运动部件,而所述目标系统中不会发生运动的部件,将其定义为不可运动部件。
下面结合具体实施例对本申请提供的碰撞检测方法进行具体介绍。
第一实施例
在本实施例中,对于所述目标系统中每一待检测的可运动部件,为了将该待检测的可运动部件与其它可运动部件以及不可运动部件进行区分,本实施例将该待检测的可运动部件定义为第一部件,并且,将除所述第一部件以外的可运动部件或不可运动部件定义为第二部件。
基于此,参见图1,为本实施例提供的一种碰撞检测方法的流程示意图,该碰撞检测方法包括以下步骤:
S101:将所述第一部件和所述第二部件按照多面体进行建模,得到对应所述第一部件的N面体的第一模型和对应所述第二部件的M面体的第二模型。
需要说明的是,本实施例是基于第一部件的外形特征,如尺寸和形状,利用至少一个多棱柱进行模拟,将第一部件抽象为一个多面体,即N面体(N大于或等于4),利用该N面体来完全或近似表达第一部件的外形特征,并通过建模得到该N面体的模型即第一模型。同样地,本实施例是基于第二部件的外形特征,如尺寸和形状,利用至少一个多棱柱进行模拟,将第二部件抽象为另一个多面体,即M面体(M大于或等于4),利用该M面体来完全或近似表达第二部件的外形特征,并通过建模得到该M面体的模型即第二模型。
在本实施例中,当所述目标系统的某个部件是不规则部件时,可以将该部件进行部件拆分,并将拆分出的每一子部件作为一个独立的建模对象,即将每一子部件作为第一部件或第二部件,按照多面体对其进行建模。例如,若某部件的主体结构上具有一些凸起物,则可以该部件的主体部分、凸起部分拆分开来,并将拆分出的每一部分按照多面体进行建模;又例如,若某部件(或某部件上的部分结构)由多个相对规则的子部件组合而成,则可以将该部件(或该部件上的部分结构)的多个子部件拆分开来,并将每一子部件分别按照多面体进行建模。
可以理解的是,在对部件进行建模时,可以对建模繁琐度以及建模结果精度进行综合考虑。例如,以容易发生碰撞的治疗床面板为例,如图2A所示,如果治疗床面板是规则的长方体,则在对治疗床面板进行建模后,可以得到6面体样式的模型;如果治疗床面板不是规则的长方体,比如治疗床面板的8个角为圆边时,为了简化建模过程,可以建模得到上述6面体样式的模型,而为了提高建模精度,可以将这8个圆边分别由一个或多个面近似表达。又例如,当某部件为球体时,为了简化建模过程,可以选择较少面进行建模,比如图2B左侧图,而为了提高建模精度,可以选择较多面进行建模,比如图2B右侧图。
S102:根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
为了避免所述目标系统的各部件之间在真实运动过程中发生碰撞,作为一种示例,可以预先模拟各部件的运行轨迹,以便进行碰撞预测。具体地,可以预先获取所述目标系统中各个部件的运行计划,从该运行计划中,确定出为所述第一部件设定的运行轨迹,这样,在按照运行计划控制所述第一部件与所述第二部件进行真实运行之前,利用所述第一模型模拟所述第一部件的运行轨迹,同时,利用所述第二模型模拟所述第二部件的运行轨迹(当第二部件也发生运动行为时),在模拟过程的各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
为了确定所述目标系统的各部件之间在真实运行过程中是否发生碰撞,作为另一种示例,可以同步模拟各个部件的运行轨迹,以便进行碰撞实时检测。具体地,可以预先获取所述目标系统中各个部件的运行计划,从该运行计划中,确定出为所述第一部件设定的运行轨迹,这样,在按照运行计划控制所述第一部件与所述第二部件进行真实运行的同时,利用所述第一模型模拟所述第一部件的运行轨迹,同时,利用所述第二模型模拟所述第二部件的运行轨迹(当第二部件也发生运动行为时),在真实运行过程的各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
S103:根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞。
若通过步骤S102预先模拟各部件的运行轨迹,则在预模拟过程的各个检测时刻,可以根据所述第一模型的空间位置以及所述第二模型的空间位置,判断当前检测时刻所述第一模型与所述第二模型在模拟环境中是否发生接触,如果发生接触,则预测所述第一部件与所述第二部件在真实运行过程中将会发生碰撞,否则不会发生碰撞。
进一步地,如果预测结果表明所述第一部件与所述第二部件在真实运行过程中将会发生碰撞,则所述目标系统可以被禁止实施相应的运行计划,或者,可以通过语音、灯光、文字等一种或组合方式,输出表征“可能发生部件碰撞”的提示信息,以提示用户该运行计划不可实施,这样用户便会取消该运行计划。
若通过步骤S102同步模拟各个部件的运行轨迹,则在部件真实运行的各个检测时刻,可以根据所述第一模型的空间位置以及所述第二模型的空间位置,判断当前检测时刻所述第一模型与所述第二模型在模拟环境中是否发生接触,如果发生接触,则确定所述第一部件与所述第二部件在真实运行过程中已经发生碰撞,否则没有发生碰撞。
进一步地,如果同步检测结果表明所述第一部件与所述第二部件在真实运行过程中已经发生碰撞,则所述目标系统可以被终止运行相应的运行计划,即各个运动部件被停止运行,还可以进一步通过语音、灯光、文字等一种或组合方式,输出表征“已经发生部件碰撞”的提示信息,以提示用户对碰撞现场进行处理。
综上,本实施例提供的一种碰撞检测方法,对于待检测的可运动部件即第一部件、以及可能与第一部件发生碰撞的其它部件即第二部件,可以基于部件外形,将第一部件和第二部件按照多面体进行建模,得到对应第一部件的N面体的第一模型和对应第二部件的M面体的第二模型;然后,根据第一部件的计划运动过程或实际运行过程,通过第一模型与第二模型模拟第一部件与第二部件的运行轨迹;在模拟过程中,确定各检测时刻第一模型的空间位置以及第二模型的空间位置,并根据位置检测结果是否符合碰撞条件,来判断第一部件与第二部件之间是否发生碰撞。可见,本实施例通过对部件进行抽象建模并利用部件模型对部件的运行轨迹进行模拟,可以在不使用碰撞感应装置的情况下,检测出部件之间是否发生碰撞。
第二实施例
需要说明的是,本实施例将具体介绍上述第一实施例中S101和S102的具体实现方式,其它相关内容请参见第一实施例。
参见图3,为本实施例提供的一种碰撞检测方法的流程示意图,该碰撞检测方法包括以下步骤:
S301:利用至少一个多棱柱模拟所述第一部件的尺寸和形状,将所述第一部件按照多面体进行建模,得到对应所述第一部件的N面体的第一模型;以及,利用至少一个多棱柱模拟所述第二部件的尺寸和形状,将所述第二部件按照多面体进行建模,得到对应所述第二部件的M面体的第二模型。
在本实施例中,可以将一些常见多棱柱(比如三棱柱、四棱柱等)预先存入图形库中,当需要对所述目标系统的各个部件进行模型时,从该图形库中挑选多棱柱进行部件建模。
具体地,对第一部件进行建模时,可以基于第一部件的外形特征,具体可以基于第一部件的尺寸和形状,确定第一部件是否可以由上述图像库中的一种常见多棱柱来表达;若可以,则直接使用该多棱柱或者调整该多棱柱的棱长等参数后,以此多棱柱作为用来表达第一部件外形的N面体;若不可以,则从上述图形库中选择多个相同或多个不同的多棱柱,直接使用这些多棱柱或者调整这些多棱柱的棱长等参数后,利用这些多棱柱进行面拼接,以拼接出的多面体作为用来表达第一部件外形的N面体;之后,通过对N面体进行建模,得到第一部件的模型即第一模型。
同样地,对第二部件进行建模时,可以基于第二部件的外形特征,具体可以基于第二部件的尺寸和形状,确定第二部件是否可以由上述图像库中的一种常见多棱柱来表达;若可以,则直接使用该多棱柱或者调整该多棱柱的棱长等参数后,以此多棱柱作为用来表达第二部件外形的M面体;若不可以,则从上述图形库中选择多个相同或多个不同的多棱柱,直接使用这些多棱柱或者调整这些多棱柱的棱长等参数后,利用这些多棱柱进行面拼接,以拼接出的多面体作为用来表达第二部件外形的M面体;之后,通过对M面体进行建模,得到第二部件的模型即第二模型。
仍以图2A所示的治疗床面板为例,该治疗床面板包括6个面,可以利用四棱柱来表达该治疗床面板。再以图2B所示的球体为例,该球体可以由多个相同规格的三棱柱拼接而成,形成该球体的每一面为三棱柱的三角形面。当然,本实施例不限制多棱柱的拼接方式,再以图2C所示的球体为例,球体还可以由多个不同大小的多棱柱罗列而成,该多棱柱至少具有五个棱,比如图2C所示的球体由多个八棱柱罗列而成,图2C左侧图为该球体的侧视图,其中每一长条代表一个八棱柱,将多个八棱柱逐个罗列起来便形成一个近似球体,图2C右侧图为该球体的俯视图。
S302:根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
需要说明的是,本步骤S302与第一实施例中的步骤S102一致,相关之处请参见第一实施例的介绍,在此不再赘述。
更具体地,所述目标系统可以是放射治疗系统,比如加速器系统,基于此,在本实施例中的一种实现方式中,本步骤S302可以包括:获取待治疗对象的放射治疗计划;根据所述放射治疗计划中记录的关于所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
在本实现方式中,所述待治疗对象通常为一名患者,在利用所述放射治疗系统对患者进行放射治疗之前,医生会预先为患者制定一套放射治疗计划,在该放射治疗计划中,通常涉及所述放射治疗系统的各个部件的运行计划,因此,可以根据该运行计划确定出所述第一部件的运行轨迹,同时确定出所述第二部件处于静止状态还是运行状态、以及运行状态下的运行轨迹,基于这些信息,可以基于所述第一部件的运行轨迹以及其运行过程中所述第二部件的状态,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
例如,假设所述第一部件为治疗头、所述第二部件为治疗床,基于医生为患者制定的放射治疗计划,可以从中确定出治疗头、治疗床何时处于静止状态、何时处于运动状态,以及运动的方向和幅度等,从而可以基于这些信息,确定出治疗头、治疗床的运行轨迹,进而可以在模拟环境中模拟其运行状态,以在模拟过程的各个检测时间,根据该运行状态确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
需要说明的是,在第一实施例中的步骤S102中提到,可以预先模拟各部件的运行轨迹、也可以同步模拟各部件的运行轨迹。在预先模拟过程中,基于下面S303的碰撞判断结果,若针对患者制定的治疗计划信息本身有错误而导致碰撞可能发生,能够在计划实施之前进行预测并取消;在同步模拟过程中,基于下面S303的碰撞判断结果,若针对患者制定的治疗计划信息本身有错误而导致碰撞真实发生,能够在碰撞真实发生时阻止计划继续实施。
S303:根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞。
需要说明的是,步骤S303与第一实施例中的步骤S103一致,相关之处请参见第一实施例的介绍,在此不再赘述。
综上,本实施例提供的一种碰撞检测方法,对于待检测的可运动部件即第一部件、以及可能与第一部件发生碰撞的其它部件即第二部件,可以基于部件外形,利用至少一个多棱柱,将第一部件和第二部件按照多面体进行建模,得到对应第一部件的N面体的第一模型和对应第二部件的M面体的第二模型;然后,获取待治疗对象的放射治疗计划,根据所述放射治疗计划中记录的关于第一部件的计划运动过程或实际运行过程,通过第一模型与第二模型模拟第一部件与第二部件的运行轨迹;在模拟过程中,确定各检测时刻第一模型的空间位置以及第二模型的空间位置,并根据位置检测结果是否符合碰撞条件,来判断第一部件与第二部件之间是否发生碰撞。可见,本实施例利用多棱柱对部件进行抽象建模并利用部件模型对部件的运行轨迹进行模拟,可以在不使用碰撞感应装置的情况下,检测出部件之间是否发生碰撞。
第三实施例
需要说明的是,本实施例将对第一实施例中的S103、或者第二实施例中的S303的具体实现方式进行具体介绍。
参见图4,为本实施例提供的一种碰撞检测方法的流程示意图,该碰撞检测方法包括以下步骤:
S401:将所述第一部件和所述第二部件按照多面体进行建模,得到对应所述第一部件的N面体的第一模型和对应所述第二部件的M面体的第二模型。
需要说明的是,本步骤S401与第一实施例中的步骤S101一致,相关之处请参见第一实施例,在此不再赘述;本步骤S401还可以采用第二实施例中的S301进行替代,相关之处请参见第二实施例,在此不再赘述。
S402:为所述第一模型设置第一边界,并为所述第二模型设置第二边界;使所述第一模型的边界与所述第一边界重叠,并使所述第二模型的边界与所述第二边界重叠。
当创建第一模型后,可以为第一模型设置边界,该边界被定义为第一边界,该第一边界可以与第一模型在模拟环境中的边界重叠、也可以不重叠,其中,边界重叠表示第一模型的边界与该第一边界完全相同,边界不重叠表示第一模型的边界与该第一边界不完全相同。例如,如图5所示,当边界参数a被设置为0时,表示第一模型的边界与该第一边界完全相同;当边界参数a被设置为大于0时,表示第一模型的边界在该第一边界内。
当创建第二模型后,可以为第二模型设置边界,该边界被定义为第二边界,该第二边界可以与第二模型在模拟环境中的边界重叠、也可以不重叠,其中,边界重叠表示第二模型的边界与该第二边界完全相同,边界不重叠表示第二模型的边界与该第二边界不完全相同。例如,如图5所示,当边界参数b被设置为0时,表示第二模型的边界与该第二边界完全相同;当边界参数b被设置为大于0时,表示第二模型的边界在该第二边界内。
可以理解的是,为了检测第一部件与第二部件是否发生碰撞,可以将边界参数a和边界参数b设置为0,以使第一模型的边界与第一边界重叠,并使第二模型的边界与第二边界重叠。
需要说明的是,边界参数a和边界参数b可以在配置文件中预先配置,当执行本实施例时,从该配置文件中读取,当然,也可以由用户人工设置。
S403:根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
需要说明的是,本步骤S403与第一实施例中的步骤S102一致,相关之处请参见第一实施例的介绍,在此不再赘述。当然,本步骤S403也可以具体采用第二实施例中的步骤S302的具体实现方式来实现,相关之处请参见第二实施例的介绍,在此不再赘述。
S404:根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;若是,则确定所述第一部件与所述第二部件发生碰撞,若否,则确定所述第一部件与所述第二部件未发生碰撞。
在本步骤中,第一边界与第二边界之间发生边界重叠,是指第一边界与第二边界之间发生接触,即二者之间发生点接触、或线接触、或面接触。例如,如图6A-6B所示,假设第一模型的边界与第一边界完全相同、第二模型的边界与第二边界完全相同;在图6A中,当第一边界与第二边界之间存在一个或多个接触点时,即发生点接触;在图6B中,当第一边界与第二边界之间的接触部分形成一条线时,即发生线接触,当第一边界与第二边界之间的接触部分形成一个面时,即发生面接触。
可以理解的是,当第一边界与第二边界发生点接触、或线接触、或面接触,则说明第一模型与第二模型之间发生边界重叠,从而说明第一部件与第二部件发生碰撞,否则说明第一部件与第二部件未发生碰撞。
进一步地,在当前检测时刻,本实施例还可以在确定第一部件与第二部件未发生碰撞之后,判断第一部件与第二部件是否即将发生碰撞。具体地,可以设定一个距离阈值,若第一模型与第二模型之间的距离小于该距离阈值,便认为第一部件与第二部件即将发生碰撞,否则认为第一部件与第二部件相互远离。
因此,若通过步骤S404确定第一部件与第二部件未发生碰撞之后,还可以包括以下步骤S405-S406:
S405:使所述第一模型的边界在所述第一边界内部,和/或,使所述第二模型的边界在所述第二边界内部,其中,所述第一边界与所述第二边界分别形成一个多面体。
当第一模型的边界在第一边界内部时,第一边界可以被设置为多面体,该多面体可以与第一模型的面数相同、也可以不同。同样地,当第二模型的边界在第二边界内部时,第二边界可以被设置为多面体,该多面体可以与第二模型的面数相同、也可以不同。
如图5所示,可以通过设置第一模型的边界参数a和/或第二模型的边界参数b,来设置上述距离阈值。具体地,假设该距离阈值为L,可以使边界参数a=L、或使边界参数b=L、或使a+b=L。
S406:根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;若是,则确定所述第一部件与所述第二部件即将发生碰撞,若否,则确定所述第一部件与所述第二部件相互远离。
在本步骤中,第一边界与第二边界之间发生边界重叠,是指第一边界与第二边界之间发生接触,即二者之间发生点接触、或线接触、或面接触、或块接触。例如,如图6A-6C所示,假设第一模型的边界在第一边界内部和/或第二模型的边界在第二边界内部;在图6A中,当第一边界与第二边界之间存在一个或多个接触点时,即发生点接触;在图6B中,当第一边界与第二边界之间的接触部分形成一条线时,即发生线接触,当第一边界与第二边界之间的接触部分形成一个面时,即发生面接触;在图6C中,当第一边界与第二边界之间的接触部分形成一区块时,即发生块接触。
在当前检测时刻,当第一边界与第二边界发生点接触、或线接触、或面接触、或块接触,则说明第一模型与第二模型之间的距离很近,从而说明第一部件与第二部件即将发生碰撞,否则说明第一部件与第二部件之间的距离较远。
综上,本实施例提供的一种碰撞检测方法,对于待检测的可运动部件即第一部件、以及可能与第一部件发生碰撞的其它部件即第二部件,可以基于部件外形,将第一部件和第二部件按照多面体进行建模,得到对应第一部件的N面体的第一模型和对应第二部件的M面体的第二模型;然后,根据第一部件的计划运动过程或实际运行过程,通过第一模型与第二模型模拟第一部件与第二部件的运行轨迹;在模拟过程中,确定各检测时刻第一模型的空间位置以及第二模型的空间位置,并根据位置检测结果确定模型边界是否重叠,以此判断第一部件与第二部件之间是否发生碰撞或是否即将发生碰撞。可见,本实施例通过对部件进行抽象建模并利用部件模型对部件的运行轨迹进行模拟,可以在不使用碰撞感应装置的情况下,检测出部件之间是否发生碰撞或是否即将发生碰撞。
第四实施例
需要说明的是,关于第三实施例中的S404或S406中“根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠”,本实施例将对其具体实现方式进行具体介绍。
参见图7,为本实施例提供的边界重叠判断方法的流程示意图,该边界重叠判断方法具体可以包括:
S701:根据所述第一模型的空间位置,确定所述第一边界所形成的多面体的空间位置;以及,根据所述第二模型的空间位置,确定所述第二边界所形成的多面体的空间位置。
可以理解的是,由于第一边界是为第一模型设置的边界,因此,第一模型的边界与第一边界之间的相对位置关系是固定的,基于此,当通过第三实施例中的S403确定当前检测时刻所述第一模型的空间位置后,可以基于第一模型的边界与第一边界之间的相对位置关系,确定出第一边界所形成的多面体在当前检测时刻的空间位置。
同样地,由于第二边界是为第二模型设置的边界,因此,第二模型的边界与第二边界之间的相对位置关系是固定的,基于此,当通过第三实施例中的S403确定当前检测时刻所述第二模型的空间位置后,可以基于第二模型的边界与第二边界之间的相对位置关系,确定出第二边界所形成的多面体在当前检测时刻的空间位置。
S702:生成第一数学表达式以及第二数学表达式,所述第一数学表达式用于描述所述第一边界所形成的多面体的外形和空间位置,所述第二数学表达式用于描述所述第二边界所形成的多面体的外形和空间位置。
需要说明的是,由于第一边界是为第一模型设置的边界,基于第一模型的固有外形,可以预先确定出第一边界所形成的多面体的外形;同样地,由于第二边界是为第二模型设置的边界,基于第二模型的固有外形,可以预先确定出第二边界所形成的多面体的外形。
为便于描述,将第一边界所形成的多面体定义为多面体1。本实施例中,在通过S701确定出多面体1在当前检测时刻的空间位置后,可以生成第一数学表达式,用来描述多面体1在当前检测时刻的外形和空间位置。
假设多面体1包括m个面,这m个面所围成的空间可以用以下m个不等式组成的不等式组来表示,该不等式组即为所述第一数学表达式:
其中,A1、B1、C1、D1、A2、B2、C2、D2…Am、Bm、Cm、Dm为常数,x、y、z表示三维模拟空间中的坐标。
同样地,将第二边界所形成的多面体定义为多面体2。本实施例中,在通过S701确定出多面体2在当前检测时刻的空间位置后,可以生成第二数学表达式,用来描述多面体2在当前检测时刻的外形和空间位置。
假设多面体2包括n个面,这n个面所围成的空间可以用以下n个不等式组成的不等式组来表示,该不等式组即为所述第二数学表达式:
其中,A1'、B1'、C1'、D1'、A2'、B2'、C2'、D2'…An'、Bn'、Cn'、Dn'为常数,x、y、z表示三维模拟空间中的坐标。
S703:将所述第一数学表达式与所述第二数学表达式联立成不等式组。
由于描述多面体1的外形和空间位置的第一数学表达式是线性不等式组、且描述多面体2的外形和空间位置的第二数学表达式也是线性不等式组,通过将第一数学表达式与第二数学表达式进行联立并对联立不等式组进行求解,绕开了非线性不等式组的求解问题,转化成了线性规划问题,而线性规划问题目前已经有了成熟可靠的求解方法。
在求解该联立不等式组时,可以使用经典通用的线性规划解法比如单纯形法进行求解,或者可以采用其它“判定由线性不等式围成的空间是否为空”的算法,本实施例不限定具体的求解方法。
S704:判断联立不等式组的解集是否为空集;若是,则确定所述第一边界与所述第二边界之间未发生边界重叠,若否,则确定所述第一边界与所述第二边界之间发生边界重叠。
如果该联立不等式组的解集为空集,即该联立不等式组无解,则说明第一边界所形成的多面体1与第二边界所形成的多面体2在三维模拟空间上不相交,从而说明第一边界与第二边界之间未发生边界重叠。反之,如果该联立不等式组的解集不为空集,即该联立不等式组有解,则说明第一边界所形成的多面体1与第二边界所形成的多面体2在三维模拟空间上相交,从而说明第一边界与第二边界之间发生了边界重叠。
综上,本实施例提供的一种边界重叠判断方法,关于为第一部件设置的第一边界、以及为第二部件设置的第二边界,通过生成描述第一边界所形成的多面体的数据表达式,并且生成描述第二边界所形成的多面体的数据表达式,将这两个数学表达式合并成不等式组并对该不等式组进行求解,根据是否有解可以判断第一边界与第二边界是否发生边界重叠,从而可以判断第一部件与第二部件是否发生碰撞或是否即将发生碰撞。与现有技术相比,这种方式无需为每一部件安装碰撞感应装置,即能够在降低硬件成本及节省空间位置的情况下,检测部件之间是否发生碰撞或是否即将发生碰撞。
第五实施例
参见图8,为本申请实施例提供的一种碰撞检测装置的组成示意图,所述装置800用于检测一种包括至少一个可运动部件的目标系统,其中,待检测的可运动部件被定义为第一部件,除所述第一部件以外的可运动部件或不可运动部件被定义为第二部件;所述装置包括800:
部件建模单元801,用于将所述第一部件和所述第二部件按照多面体进行建模,得到对应所述第一部件的N面体的第一模型和对应所述第二部件的M面体的第二模型;
位置检测单元802,用于根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置;
碰撞检测单元803,用于根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞。
在本申请的一种实施方式中,所述部件建模单元801可以包括:
第一建模子单元,用于利用至少一个多棱柱模拟所述第一部件的尺寸和形状,将所述第一部件按照多面体进行建模;
第二建模子单元,用于利用至少一个多棱柱模拟所述第二部件的尺寸和形状,将所述第二部件按照多面体进行建模。
在本申请的一种实施方式中,所述目标系统为放射治疗系统。
在本申请的一种实施方式中,所述位置检测单元802可以包括:
计划获取子单元,用于获取待治疗对象的放射治疗计划;
位置检测子单元,用于根据所述放射治疗计划中记录的关于所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
在本申请的一种实施方式中,所述装置800还可以包括:
边界设置单元,用于为所述第一模型设置第一边界,并为所述第二模型设置第二边界;
则,所述碰撞检测单元803可以包括:
边界赋予子单元,用于使所述第一模型的边界与所述第一边界重叠,并使所述第二模型的边界与所述第二边界重叠;
重叠判断子单元,用于根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;
碰撞检测子单元,用于若发生边界重叠,则确定所述第一部件与所述第二部件发生碰撞,若未发生边界重叠,则确定所述第一部件与所述第二部件未发生碰撞。
在本申请的一种实施方式中,所述边界赋予子单元,还用于若确定所述第一部件与所述第二部件未发生碰撞,使所述第一模型的边界在所述第一边界内部,和/或,使所述第二模型的边界在所述第二边界内部;
所述重叠判断子单元,还用于根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;
所述碰撞检测子单元,还用于若发生边界重叠,则确定所述第一部件与所述第二部件即将发生碰撞,若未发生边界重叠,则确定所述第一部件与所述第二部件相互远离。
在本申请的一种实施方式中,所述重叠判断子单元可以包括:
位置确定子单元,用于根据所述第一模型的空间位置,确定所述第一边界所形成的多面体的空间位置,以及,根据所述第二模型的空间位置,确定所述第二边界所形成的多面体的空间位置;
表达式生成子单元,用于生成第一数学表达式以及第二数学表达式,其中,所述第一数学表达式用于描述所述第一边界所形成的多面体的外形和空间位置,所述第二数学表达式用于描述所述第二边界所形成的多面体的外形和空间位置;
不等式联立子单元,用于将所述第一数学表达式与所述第二数学表达式联立成不等式组;
结果判定子单元,判断所述不等式组的解集是否为空集;若是,则确定所述第一边界与所述第二边界之间未发生边界重叠,若否,则确定所述第一边界与所述第二边界之间发生边界重叠。
第六实施例
参见图9,为本申请实施例提供的一种碰撞检测装置的硬件结构示意图,所述碰撞检测装置900用于检测一种包括至少一个可运动部件的目标系统,其中,待检测的可运动部件被定义为第一部件,除所述第一部件以外的可运动部件或不可运动部件被定义为第二部件。所述碰撞检测装置900包括存储器901和接收器902,以及分别与所述存储器901和所述接收器902连接的处理器903,所述存储器901用于存储一组程序指令,所述处理器903用于调用所述存储器901存储的程序指令执行如下操作:
将所述第一部件和所述第二部件按照多面体进行建模,得到对应所述第一部件的N面体的第一模型和对应所述第二部件的M面体的第二模型;
根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置;
根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞。
在本申请的一种实施方式中,所述处理器903还用于调用所述存储器901存储的程序指令执行如下操作:
利用至少一个多棱柱模拟所述第一部件的尺寸和形状,将所述第一部件按照多面体进行建模;
利用至少一个多棱柱模拟所述第二部件的尺寸和形状,将所述第二部件按照多面体进行建模。
在本申请的一种实施方式中,所述目标系统为放射治疗系统。
在本申请的一种实施方式中,所述处理器903还用于调用所述存储器901存储的程序指令执行如下操作:
获取待治疗对象的放射治疗计划;
根据所述放射治疗计划中记录的关于所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
在本申请的一种实施方式中,所述处理器903还用于调用所述存储器901存储的程序指令执行如下操作:
为所述第一模型设置第一边界,并为所述第二模型设置第二边界;
使所述第一模型的边界与所述第一边界重叠,并使所述第二模型的边界与所述第二边界重叠;
根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;
若是,则确定所述第一部件与所述第二部件发生碰撞,若否,则确定所述第一部件与所述第二部件未发生碰撞。
在本申请的一种实施方式中,所述处理器903还用于调用所述存储器901存储的程序指令执行如下操作:
若确定所述第一部件与所述第二部件未发生碰撞,则使所述第一模型的边界在所述第一边界内部,和/或,使所述第二模型的边界在所述第二边界内部,其中,所述第一边界与所述第二边界分别形成一个多面体;
根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;
若是,则确定所述第一部件与所述第二部件即将发生碰撞,若否,则确定所述第一部件与所述第二部件相互远离。
在本申请的一种实施方式中,所述处理器903还用于调用所述存储器901存储的程序指令执行如下操作:
根据所述第一模型的空间位置,确定所述第一边界所形成的多面体的空间位置,以及,根据所述第二模型的空间位置,确定所述第二边界所形成的多面体的空间位置;
生成第一数学表达式以及第二数学表达式,其中,所述第一数学表达式用于描述所述第一边界所形成的多面体的外形和空间位置,所述第二数学表达式用于描述所述第二边界所形成的多面体的外形和空间位置;
将所述第一数学表达式与所述第二数学表达式联立成不等式组;
判断所述不等式组的解集是否为空集;若是,则确定所述第一边界与所述第二边界之间未发生边界重叠,若否,则确定所述第一边界与所述第二边界之间发生边界重叠。
在一些实施方式中,所述处理器1103可以为中央处理器(Central ProcessingUnit,CPU),所述存储器1101可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,所述接收器1102可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式(Asynchronous Transfer Mode,ATM)接口。所述处理器1103、接收器1102和存储器1101可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application Specific Integrated Circuit,ASIC)。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种碰撞检测方法,其特征在于,所述方法应用于一种包括至少一个可运动部件的目标系统,其中,待检测的可运动部件被定义为第一部件,除所述第一部件以外的可运动部件或不可运动部件被定义为第二部件;所述方法包括:
将所述第一部件和所述第二部件按照多面体进行建模,得到对应所述第一部件的N面体的第一模型和对应所述第二部件的M面体的第二模型;所述第一模型用于表征所述第一部件的外形特征,所述第二模型用于表征所述第二部件的外形特征;
预先获取所述目标系统中各个部件的运行计划,并从所述运行计划中,确定出为所述第一部件设定的运行轨迹以及为所述第二部件设定的运行轨迹;
根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置,所述运动过程包括模拟过程;
所述在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置,包括:
利用所述第一模型模拟所述第一部件的运行轨迹,以及利用所述第二模型模拟所述第二部件的运行轨迹,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置;
根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞;
若确定所述第一部件与所述第二部件发生碰撞,控制所述目标系统停止所述运行计划或输出提示信息,所述提示信息用于提示用户所述运行计划不可实施。
2.根据权利要求1所述的方法,其特征在于,所述外形特征包括尺寸和形状,所述将所述第一部件和所述第二部件按照多面体进行建模,包括:
利用至少一个多棱柱模拟所述第一部件的尺寸和形状,将所述第一部件按照多面体进行建模;
利用至少一个多棱柱模拟所述第二部件的尺寸和形状,将所述第二部件按照多面体进行建模。
3.根据权利要求1或2所述的方法,其特征在于,所述目标系统为放射治疗系统。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置,包括:
获取待治疗对象的放射治疗计划;
根据所述放射治疗计划中记录的关于所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为所述第一模型设置第一边界,并为所述第二模型设置第二边界;
则,所述根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞,包括:
使所述第一模型的边界与所述第一边界重叠,并使所述第二模型的边界与所述第二边界重叠;
根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;
若是,则确定所述第一部件与所述第二部件发生碰撞,若否,则确定所述第一部件与所述第二部件未发生碰撞。
6.根据权利要求5所述的方法,其特征在于,若确定所述第一部件与所述第二部件未发生碰撞,则所述方法还包括:
使所述第一模型的边界在所述第一边界内部,和/或,使所述第二模型的边界在所述第二边界内部,其中,所述第一边界与所述第二边界分别形成一个多面体;
根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠;
若是,则确定所述第一部件与所述第二部件即将发生碰撞,若否,则确定所述第一部件与所述第二部件相互远离。
7.根据权利要求5或6所述的方法,其特征在于,所述根据所述第一模型的空间位置以及所述第二模型的空间位置,判断所述第一边界与所述第二边界之间是否发生边界重叠,包括:
根据所述第一模型的空间位置,确定所述第一边界所形成的多面体的空间位置,以及,根据所述第二模型的空间位置,确定所述第二边界所形成的多面体的空间位置;
生成第一数学表达式以及第二数学表达式,其中,所述第一数学表达式用于描述所述第一边界所形成的多面体的外形和空间位置,所述第二数学表达式用于描述所述第二边界所形成的多面体的外形和空间位置;
将所述第一数学表达式与所述第二数学表达式联立成不等式组;
判断所述不等式组的解集是否为空集;若是,则确定所述第一边界与所述第二边界之间未发生边界重叠,若否,则确定所述第一边界与所述第二边界之间发生边界重叠。
8.一种碰撞检测装置,其特征在于,所述装置用于检测一种包括至少一个可运动部件的目标系统,其中,待检测的可运动部件被定义为第一部件,除所述第一部件以外的可运动部件或不可运动部件被定义为第二部件;所述装置包括:
部件建模单元,用于将所述第一部件和所述第二部件按照多面体进行建模,得到对应所述第一部件的N面体的第一模型和对应所述第二部件的M面体的第二模型;所述第一模型用于表征所述第一部件的外形特征,所述第二模型用于表征所述第二部件的外形特征;
位置检测单元,用于预先获取所述目标系统中各个部件的运行计划,并从所述运行计划中,确定出为所述第一部件设定的运行轨迹以及为所述第二部件设定的运行轨迹;
所述位置检测单元,用于根据所述第一部件的运动过程,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置,所述运动过程包括模拟过程或真实运行过程;
所述位置检测单元,具体用于利用所述第一模型模拟所述第一部件的运行轨迹,以及利用所述第二模型模拟所述第二部件的运行轨迹,在各个检测时刻,确定各检测时刻所述第一模型的空间位置以及所述第二模型的空间位置;
碰撞检测单元,用于根据所述第一模型的空间位置以及所述第二模型的空间位置是否符合碰撞条件,判断所述第一部件与所述第二部件是否发生碰撞,若确定所述第一部件与所述第二部件发生碰撞,控制所述目标系统停止所述运行计划或输出提示信息,所述提示信息用于提示用户所述运行计划不可实施。
9.根据权利要求8所述的装置,其特征在于,所述外形特征包括尺寸和形状,所述部件建模单元包括:
第一建模子单元,用于利用至少一个多棱柱模拟所述第一部件的尺寸和形状,将所述第一部件按照多面体进行建模;
第二建模子单元,用于利用至少一个多棱柱模拟所述第二部件的尺寸和形状,将所述第二部件按照多面体进行建模。
10.一种碰撞检测装置,其特征在于,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810183505.4A CN108492882B (zh) | 2018-03-06 | 2018-03-06 | 一种碰撞检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810183505.4A CN108492882B (zh) | 2018-03-06 | 2018-03-06 | 一种碰撞检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108492882A CN108492882A (zh) | 2018-09-04 |
CN108492882B true CN108492882B (zh) | 2021-08-31 |
Family
ID=63341520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810183505.4A Active CN108492882B (zh) | 2018-03-06 | 2018-03-06 | 一种碰撞检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108492882B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814970B (zh) * | 2020-06-28 | 2021-02-23 | 盾钰(上海)互联网科技有限公司 | 基于神经网络的实时物理引擎增强计算方法、介质及系统 |
CN112291390B (zh) * | 2020-10-28 | 2022-05-06 | Oppo广东移动通信有限公司 | 显示装置的装配方法、装配装置以及存储介质 |
CN115048824B (zh) * | 2022-08-15 | 2022-12-06 | 北京华航唯实机器人科技股份有限公司 | 一种碰撞检测方法、装置及计算机可读介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506820A (zh) * | 2002-12-05 | 2004-06-23 | �Ҵ���˾ | 确定物体是否会碰撞的仪器和方法 |
CN101615305A (zh) * | 2009-07-24 | 2009-12-30 | 腾讯科技(深圳)有限公司 | 碰撞检测的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404039B (zh) * | 2008-03-28 | 2010-06-16 | 华南师范大学 | 一种虚拟手术的方法及其装置 |
JP5073065B2 (ja) * | 2009-01-15 | 2012-11-14 | 三菱電機株式会社 | 衝突判定装置および衝突判定プログラム |
-
2018
- 2018-03-06 CN CN201810183505.4A patent/CN108492882B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506820A (zh) * | 2002-12-05 | 2004-06-23 | �Ҵ���˾ | 确定物体是否会碰撞的仪器和方法 |
CN101615305A (zh) * | 2009-07-24 | 2009-12-30 | 腾讯科技(深圳)有限公司 | 碰撞检测的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108492882A (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108492882B (zh) | 一种碰撞检测方法及装置 | |
CN102800102B (zh) | 图像处理设备和图像处理方法 | |
US10373359B2 (en) | Method and device for erasing a writing path on an infrared electronic white board, and a system for writing on an infrared electronic white board | |
US11986330B2 (en) | Method and system for generating object 3D point cloud in medical imaging system | |
US10828508B2 (en) | Detecting collision | |
CN104424649A (zh) | 检测运动物体的方法和系统 | |
WO2015017630A1 (en) | Predictive collision avoidance for radiotherapy | |
JP5785074B2 (ja) | モデル生成装置、モデル生成方法及びモデル生成プログラム | |
CN108845747A (zh) | 一种防误触控方法、装置和终端设备 | |
KR20180015228A (ko) | 장면 공간 모니터링을 통한 사람-컴퓨터 상호 작용 | |
CN109591009A (zh) | 机器人系统 | |
CN104915088B (zh) | 一种信息处理方法和电子设备 | |
CN112348845A (zh) | 用于停车位检测和跟踪的系统和方法 | |
US7877210B2 (en) | System and method for projecting b-rep outlines to detect collisions along a translational path | |
JP2014090896A (ja) | 粒子線治療用干渉チェック装置 | |
JP6092472B2 (ja) | 拘束および非拘束曲線ネットワークの変更 | |
CN113139531A (zh) | 困倦状态检测方法及装置、电子设备、可读存储介质 | |
CN111311760B (zh) | 一种三维建筑物展示方法、系统、装置及存储介质 | |
CN117719500B (zh) | 车辆碰撞检测方法、装置、电子设备及存储介质 | |
CN114245093B (zh) | 基于红外和热感的投影操作方法、电子设备及存储介质 | |
KR101278082B1 (ko) | 개체 충돌 감지 기반의 전자 문서 편집 장치 및 방법 | |
US9563340B2 (en) | Object manipulator and method of object manipulation | |
US10761814B2 (en) | Method and system for visualizing a block diagram | |
JP5316352B2 (ja) | 妨害電磁波制御方法、妨害電磁波制御プログラム及びロボット | |
CN117519142A (zh) | 一种机器人的运动规划方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 110179 No. 177-1 Innovation Road, Hunnan District, Shenyang City, Liaoning Province Applicant after: DongSoft Medical System Co., Ltd. Address before: 110179 No. 177-1 Innovation Road, Hunnan District, Shenyang City, Liaoning Province Applicant before: Dongruan Medical Systems Co., Ltd., Shenyang |
|
GR01 | Patent grant | ||
GR01 | Patent grant |