Anti-collision method, device, equipment, medium and program product of six-degree-of-freedom treatment bed
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUNAN HUICAI CORNING TECH CO LTD
- Filing Date
- 2025-06-17
- Publication Date
- 2026-08-07
AI Technical Summary
[0003]现有主流技术主要依赖人工测量与三维建模,技术人员需耗费大量时间对治疗室内墙壁、机柜及所有设备进行精确手工测量,并在CAD制图软件或三维建模软件手动构建场景模型
[0015](1) By distinguishing obstacles in the treatment room scene, the point data corresponding to different categories of obstacles are processed differently;
Smart Images

Figure CN120913864B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of intelligent collision avoidance, and more specifically to a collision avoidance method, apparatus, device, medium, and program product for a point cloud-based six-degree-of-freedom treatment bed. Background Technology
[0002] In the radiotherapy process, the automated operation of large, high-precision equipment such as treatment beds and accelerator gantry is key to improving treatment efficiency and accuracy.
[0003] Current mainstream technologies mainly rely on manual measurement and 3D modeling. Technicians need to spend a lot of time making precise manual measurements of the walls, cabinets and all equipment in the treatment room, and manually build scene models in CAD or 3D modeling software.
[0004] For devices with complex joint motion, such as six-DOF treatment beds, a simplified approach is often used by creating their maximum motion envelope. However, this method cannot dynamically adjust the collision avoidance threshold or detection accuracy in real time based on the actual motion state of the device or changes in the environment during collision avoidance warnings. Furthermore, when the device's range of motion or the environmental layout changes, it is often necessary to manually reconstruct the bounding box model, and the geometric simplification of the bounding box itself sacrifices the realism of the detection, making it difficult to accurately capture the subtle spatial relationships between the complex shape of the device and obstacles. Summary of the Invention
[0005] In view of the above problems, this disclosure provides a collision prevention method, device, equipment, medium and program product for a six-degree-of-freedom treatment bed, which can meet the real-time safety protection requirements of a six-degree-of-freedom treatment bed under high-speed and high-precision motion in a radiotherapy room setting.
[0006] According to the first aspect of this disclosure, a collision avoidance method for a point cloud-based six-degree-of-freedom treatment bed is provided, comprising: acquiring point cloud data of a static environment in a radiotherapy room; performing point cloud reconstruction processing on the point cloud data to generate a static point cloud model; detecting the motion speed of multiple dynamic obstacles in the static environment; classifying and collecting point cloud data of dynamic obstacles based on a comparison result between the motion speed and a preset speed threshold; fusing the point cloud data of a first dynamic obstacle among the multiple dynamic obstacles with the static point cloud model to obtain a background point cloud model, wherein the motion speed of the first dynamic obstacle is lower than a preset speed threshold; acquiring a local dynamic point cloud model of the six-degree-of-freedom treatment bed; calculating the minimum static distance between the local dynamic point cloud model and the background point cloud model, and the minimum dynamic distance between the local dynamic point cloud model and the point cloud data of a second dynamic obstacle among the multiple dynamic obstacles, wherein the motion speed of the second dynamic obstacle is not lower than a preset speed threshold; and controlling the motion state of the six-degree-of-freedom treatment bed based on a comparison result between the smaller of the minimum static distance and the minimum dynamic distance and a safe distance threshold.
[0007] According to embodiments of this disclosure, when the movement speed of any one of the multiple dynamic obstacles is lower than a preset movement threshold, the corresponding dynamic obstacle is identified as a first dynamic obstacle, and point cloud data of the first dynamic obstacle is obtained through low-frequency scanning; when the movement speed of any one of the multiple dynamic obstacles is not lower than the preset movement threshold, the corresponding dynamic obstacle is identified as a second dynamic obstacle, and point cloud data of the second dynamic obstacle is obtained through a sensing device.
[0008] According to the embodiments of this disclosure, the point cloud data of the first dynamic obstacle is registered to the coordinate system of the static point cloud model through a rigid body transformation matrix; the overlapping area between the point cloud data of the first dynamic obstacle and the static point cloud model is identified; when the overlapping area is identified, the static point cloud model is reconstructed based on the point cloud data in the overlapping area to obtain the background point cloud model; when the overlapping area cannot be identified, the point cloud data of the first dynamic obstacle is superimposed on the static point cloud model to obtain the background point cloud model.
[0009] According to embodiments of this disclosure, point cloud data within the overlapping area is weighted and fused with a static point cloud model to obtain fused point cloud data; the fused point cloud data is then reconstructed to obtain a background point cloud model.
[0010] According to embodiments of this disclosure, motion sensors are used to collect sub-point cloud data of n sub-components of a six-degree-of-freedom treatment bed in a local coordinate system. The n sub-components are connected according to a kinematic chain relationship, and the parent index of the nth sub-component is n-1. For the sub-point cloud data of the nth sub-component, the following operations are performed: the rotation and translation of the nth sub-component relative to its corresponding parent are obtained by the motion sensors; the pose transformation matrix is determined based on the rotation and translation; based on the coordinate transformation matrix and the pose transformation matrix, the kinematic transformation chain is calculated on the sub-point cloud data to obtain the point cloud data in the target space coordinate system. The coordinate transformation matrix is determined by the positional relationship of the six-degree-of-freedom treatment bed relative to the coordinate system of the radiotherapy room. When the index n of the treatment bed sub-component increases to N, the N corresponding point cloud data are used as the point cloud data of the six-degree-of-freedom treatment bed.
[0011] According to embodiments of this disclosure, a spatial index structure for the background point cloud model and a spatial index structure for the second dynamic obstacle are constructed. Point cloud data in the local dynamic point cloud model are used as the query point set, which includes m point cloud data points, m = 1, 2, 3, ..., M. The following operations are performed on the m point cloud data points in the query point set: the nearest neighbor of the m-th point cloud data point in the background point cloud model is determined using the spatial index structure of the background point cloud model; the Euclidean distance between the m-th point cloud data point and its nearest neighbor is calculated; when the query point set index m increases to M, the minimum value among the M Euclidean distances is taken as the minimum static distance; the nearest neighbor of the m-th point cloud data point in the point cloud data of the second dynamic obstacle is determined using the spatial index structure of the second dynamic obstacle; the Euclidean distance between the m-th point cloud data point and its corresponding nearest neighbor is calculated; when the query point set index m increases to M, the minimum value among the M Euclidean distances is taken as the minimum dynamic distance.
[0012] According to embodiments of this disclosure, the smaller of the minimum static distance and the minimum dynamic distance is used as the predicted distance value; when the predicted distance is less than or equal to the safe distance threshold, a first-level control command is generated to control the six-degree-of-freedom treatment bed to immediately stop moving; when the predicted distance is greater than the safe distance threshold, a second-level control command is generated to control the six-degree-of-freedom treatment bed to immediately decelerate or issue a warning signal.
[0013] Another aspect of this disclosure discloses a collision avoidance device for a six-degree-of-freedom treatment bed based on point clouds. The device includes: a cloud model generation module, which acquires point cloud data of a static environment in a radiotherapy room, performs point cloud reconstruction processing on the point cloud data, and generates a static point cloud model; a classification and acquisition module, which detects the movement speed of multiple dynamic obstacles in the static environment, and classifies and acquires point cloud data of dynamic obstacles based on the comparison result of the movement speed with a preset speed threshold; a model update module, which fuses the point cloud data of a first dynamic obstacle among multiple dynamic obstacles with the static point cloud model to obtain a fused background point cloud model, wherein the movement speed of the first dynamic obstacle is lower than the preset speed threshold; a distance calculation module, which acquires a local dynamic point cloud model of the six-degree-of-freedom treatment bed, and calculates the minimum static distance between the local dynamic point cloud model and the background point cloud model, and the minimum dynamic distance between the local dynamic point cloud model and the point cloud data of a second dynamic obstacle among multiple dynamic obstacles, wherein the movement speed of the second dynamic obstacle is not lower than the preset speed threshold; and an operation control module, which controls the movement state of the six-degree-of-freedom treatment bed based on the comparison result of the smaller value of the minimum static distance and the minimum dynamic distance with a safe distance threshold.
[0014] The collision avoidance method, apparatus, device, medium, and program product for a point cloud-based six-degree-of-freedom therapy bed provided in this disclosure have at least the following beneficial effects:
[0015] (1) By distinguishing obstacles in the treatment room scene, the point data corresponding to different categories of obstacles are processed differently;
[0016] (2) Based on high-density real object surface point cloud, distance calculation can accurately perceive objects, ensure millimeter-level collision detection accuracy, and significantly improve the safety of the treatment process;
[0017] (3) Real-time point cloud data is used to dynamically construct and update scene point cloud models, and distance calculation is combined to optimize the efficiency and effect of collision detection, which significantly improves the realism, real-time performance and flexibility of the anti-collision method. Attached Figure Description
[0018] The foregoing contents, as well as other objects, features, and advantages of this disclosure, will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:
[0019] Figure 1 A flowchart illustrating a six-degree-of-freedom treatment bed anti-collision method according to an embodiment of the present disclosure is shown schematically.
[0020] Figure 2 A schematic diagram illustrating the structure of a six-degree-of-freedom treatment bed anti-collision device according to an embodiment of the present disclosure is shown; and
[0021] Figure 3 A block diagram schematically illustrates an electronic device suitable for implementing a six-degree-of-freedom treatment bed anti-collision method according to an embodiment of the present disclosure. Detailed Implementation
[0022] The embodiments of the present disclosure will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the disclosure. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure for ease of explanation. However, it will be apparent that one or more embodiments may be practiced without these specific details. Furthermore, descriptions of well-known structures and techniques are omitted in the following description to avoid unnecessarily obscuring the concepts of the present disclosure.
[0023] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0024] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0025] When using expressions such as "at least one of A, B and C", they should generally be interpreted in accordance with the meaning that is commonly understood by those skilled in the art (e.g., "a system having at least one of A, B and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B and C, etc.).
[0026] Figure 1 A flowchart illustrating a collision avoidance method for a six-degree-of-freedom treatment bed according to an embodiment of the present disclosure is shown schematically.
[0027] like Figure 1 As shown, the anti-collision method of the point cloud-based six-degree-of-freedom treatment bed in this embodiment includes operations S110 to S150.
[0028] The S110 is operated to acquire point cloud data of the static environment in the radiotherapy room. After point cloud reconstruction processing is performed on the point cloud data, a static point cloud model is generated.
[0029] In this embodiment of the disclosure, the static environment includes walls and immovable equipment in a hospital radiotherapy room setting, such as fixed cabinets.
[0030] A high-precision laser scanner can acquire a massive amount of 3D coordinate points on surfaces such as walls, ceilings, floors, and all fixed equipment within a radiotherapy room in a single scan, creating a static environment point cloud. The topological structure of these 3D coordinate points is then mapped and reconstructed to obtain a high-density, high-precision static point cloud model, which is then fixed in a world coordinate system. Optionally, the base point of the world coordinate system can be set to a corner of the radiotherapy room or the center point of the support plate of the six-degree-of-freedom treatment bed.
[0031] During operation S120, the movement speed of multiple dynamic obstacles in a static environment is detected. Based on the comparison results between the movement speed and the preset speed threshold, point cloud data of the dynamic obstacles are collected and classified.
[0032] In this embodiment of the disclosure, there can be multiple dynamic obstacles in the static environment, and the dynamic obstacles include a first dynamic obstacle. By detecting the movement speed of multiple obstacles in the radiotherapy room and setting a preset speed threshold, the speed of multiple obstacles is compared with the preset speed threshold. When the movement speed of the dynamic obstacle is higher than the preset speed threshold, point cloud data is collected in real time by sensors. When the movement speed of the dynamic obstacle is lower than the preset speed threshold, point cloud data is collected by low-frequency scanning.
[0033] It should be noted that the preset speed threshold is optional, and different preset speed thresholds can be set according to different operating times of the radiotherapy room.
[0034] In operation S130, the point cloud data of the first dynamic obstacle among multiple dynamic obstacles is fused with the static point cloud model to obtain the fused background point cloud model. The movement speed of the first dynamic obstacle is lower than a preset speed threshold.
[0035] In this embodiment, the first dynamic obstacle includes a series of non-fixed equipment or furniture such as chairs and cabinets in the radiotherapy room. Point cloud data representing the outline of the first dynamic obstacle is fused with static point cloud models representing the outlines of walls and fixed equipment to obtain a fused background point cloud model. This background point cloud model can completely reflect the internal structural background point cloud model of the radiotherapy room.
[0036] It should be noted that the first dynamic obstacle is a non-fixed obstacle, and its position or state can change due to external forces. Optionally, the point cloud data of the first dynamic obstacle can be obtained by inputting its actual position information or by collecting point cloud data of the first dynamic obstacle using a low-frequency sensor. For the static point cloud model and the point cloud data of the first dynamic obstacle, the real-time position information is dynamically placed into the static point cloud model in the world coordinate system, and fused to form a relatively stable background point cloud model. This background point cloud model represents the overall structure of objects with fixed positions or infrequent movements within the radiotherapy room.
[0037] In operation S140, a local dynamic point cloud model of the six-degree-of-freedom treatment bed is acquired, and the minimum static distance between the local dynamic point cloud model and the background point cloud model is calculated, as well as the minimum dynamic distance between the local dynamic point cloud model and the point cloud data of the second dynamic obstacle among multiple dynamic obstacles. The movement speed of the second dynamic obstacle is not lower than a preset speed threshold.
[0038] In this embodiment of the disclosure, the second dynamic obstacle includes medical personnel and rapidly moving equipment, such as IV stands and wheelchairs. The local dynamic point cloud model of the six-degree-of-freedom treatment bed includes multiple point cloud data of the six-degree-of-freedom treatment bed sub-components, which represent the positional information of various sub-devices of the six-degree-of-freedom treatment bed.
[0039] For each point cloud data point in the local dynamic point cloud model, using that point cloud data point as the target point cloud data point, the system iterates through multiple point cloud data points in the background point cloud model, calculating the distance between the target point cloud data point and each point cloud data point in the background point cloud model. This process is repeated to calculate the distances between the multiple target point cloud data points in the local dynamic point cloud model and each point cloud data point in the background point cloud model. Then, the minimum distance between the multiple target point cloud data points and each point cloud data point in the background point cloud model is taken as the minimum static distance between the local dynamic point cloud model of the six-degree-of-freedom treatment bed and static obstacles in the radiotherapy room.
[0040] For example, the local dynamic point cloud model includes 5 target point cloud data points, and the background point cloud model includes 6 point cloud data points. Based on the above method, the distance between each target point cloud data point and each point cloud data point in the background point cloud model can be calculated, obtaining 30 distance values. Then, the minimum distance can be determined from the 30 distance values, and this minimum distance can be used as the minimum static distance between the local dynamic point cloud model of the six-degree-of-freedom treatment bed and the static obstacles in the radiotherapy room.
[0041] For each point cloud data point in the local dynamic point cloud model, this point cloud data point is used as the target point cloud data point. This process is repeated to traverse the multiple point cloud data points in the second dynamic obstacle, calculating the distance between the target point cloud data point and each point cloud data point in the second dynamic obstacle. This process is repeated to calculate the distances between the multiple target point cloud data points in the local dynamic point cloud model and each point cloud data point in the second dynamic obstacle. Then, the minimum distance between the multiple target point cloud data points and each point cloud data point in the second dynamic obstacle is taken as the minimum dynamic distance between the local dynamic point cloud model of the six-degree-of-freedom treatment bed and the second dynamic obstacle.
[0042] For example, the local dynamic point cloud model includes four target point cloud data points, and the point cloud data of the second dynamic obstacle includes five point cloud data points. Based on the above method, the distance values between each target point cloud data point and each point cloud data point in the point cloud data of the second dynamic obstacle can be calculated, resulting in 20 distance values. Then, the minimum distance can be determined from these 20 distances, and this minimum distance can be used as the minimum dynamic distance between the local dynamic point cloud model of the six-degree-of-freedom treatment bed and the second dynamic obstacle.
[0043] In operation S150, the motion state of the six-degree-of-freedom treatment bed is controlled based on the comparison result of the smaller value of the minimum static distance and the minimum dynamic distance with the safe distance threshold.
[0044] In this embodiment, the smaller value between the minimum static distance and the minimum dynamic distance is selected as the warning reference distance. The warning reference distance is compared with the safety distance threshold, and the motion state of the six-degree-of-freedom treatment bed is controlled according to the comparison result, so that the six-degree-of-freedom treatment bed avoids dynamic and static obstacles. In this way, distance calculation is performed based on high-density real object surface point clouds, abandoning the oversimplified envelope model, which can accurately perceive the subtle spatial relationships of objects, ensure millimeter-level collision detection accuracy, and significantly improve the safety of the treatment process.
[0045] The operation process of S110 to S150 will be explained in detail below.
[0046] In the above operation S110, a laser scanner is used to perform a high-precision scan of the static environment of the radiotherapy room (such as walls, building structure, and static objects in the radiotherapy room) to obtain point cloud data spatial structure point data of the static environment. Then, a static point cloud model with accurate scale is constructed using modeling tools. This static point cloud model is a three-dimensional model and is imported into the graphics engine to generate a virtual space that corresponds to the real physical scene at a 1:1 scale.
[0047] The above operation S120 may further include operations S121 to S122.
[0048] In operation S121, when the movement speed of any dynamic obstacle among multiple dynamic obstacles is lower than a preset movement threshold, the corresponding dynamic obstacle is identified as the first dynamic obstacle, and the point cloud data of the first dynamic obstacle is obtained by low-frequency scanning.
[0049] In this embodiment of the disclosure, the velocity of multiple dynamic obstacles in the radiotherapy room is continuously measured. When the velocity of a dynamic obstacle is lower than a preset threshold, the corresponding dynamic obstacle is classified as a first dynamic obstacle, and the point cloud data of the first dynamic obstacle is obtained by low-frequency scanning.
[0050] It should be noted that continuous motion monitoring of multiple dynamic obstacles in the radiotherapy room can also be performed. When the motion of a dynamic obstacle is detected to be intermittent, the corresponding dynamic obstacle is classified as the first dynamic obstacle, and the point cloud data of the first dynamic obstacle is obtained by low-frequency scanning.
[0051] In operation S122, when the movement speed of any dynamic obstacle among multiple dynamic obstacles is not lower than a preset movement threshold, the corresponding dynamic obstacle is identified as the second dynamic obstacle, and the point cloud data of the second dynamic obstacle is obtained through the sensing device.
[0052] It should be noted that, optionally, by continuously monitoring the motion status of multiple dynamic obstacles in the radiotherapy room, when the motion status of a dynamic obstacle is detected to be continuously moving, the corresponding dynamic obstacle is classified as a second dynamic obstacle. The point cloud data of the second dynamic obstacle is obtained in real time through sensors. By acquiring differentiated point cloud data of dynamic obstacles in the radiotherapy room, the amount of data to be processed is reduced, and the computational efficiency is improved.
[0053] The above operation S130 may further include operations S131 to S134.
[0054] In operation S131, the point cloud data of the first dynamic obstacle is registered to the coordinate system of the static point cloud model through a rigid body transformation matrix.
[0055] In this embodiment of the disclosure, the point cloud data of the first dynamic obstacle is transformed into the coordinate system of the static point cloud model according to the rigid body transformation matrix T. The matrix form of T is as follows:
[0056]
[0057] Where, R∈R {3×3} Characterizes the rotation matrix, t∈R {3} The translation vectors R and t can both be obtained by converting point cloud data acquired from sensors.
[0058] In operation S132, the overlapping area between the point cloud data of the first dynamic obstacle and the static point cloud model is identified. When the overlapping area is identified, the static point cloud model is reconstructed based on the point cloud data within the overlapping area to obtain the background point cloud model.
[0059] In this embodiment of the disclosure, the point cloud data of the first dynamic obstacle is retrieved and compared with the point cloud data in the static point cloud model by spatial hashing or KD tree. The result of the comparison is used to identify whether there is an overlapping area between the point cloud data of the first dynamic obstacle and the static model. When an overlapping area is identified, the static point cloud model is reconstructed based on the point cloud data in the overlapping area to obtain the reconstructed background point cloud model.
[0060] In operation S132, the static point cloud model is reconstructed based on the point cloud data within the overlapping area to obtain the background point cloud model, including operations S1321 to S1322.
[0061] In operation S1321, the point cloud data in the overlapping area is weighted and fused with the static point cloud model to obtain the fused point cloud data.
[0062] In operation S1322, the fused point cloud data is reconstructed to obtain the reconstructed background point cloud model.
[0063] In this embodiment of the disclosure, when an overlapping region is identified, the point cloud data within the overlapping region is linearly interpolated using a weighting coefficient α:
[0064] P_fused =α*P_dynamic+(1-α)*P_static
[0065] Among them, P_fused represents the reconstructed background point cloud model, P_dynamic represents the point cloud data in the overlapping area, and the weight coefficient α is determined by the movement speed of the dynamic obstacle or the confidence of the point cloud. For example, for low-speed dynamic obstacles such as a moving chair, α approaches 0.5, and for high-confidence static points such as walls, α approaches 0, and static point cloud models are preferred to be retained.
[0066] In operation S133, when the overlapping area cannot be identified, the point cloud data of the first dynamic obstacle is superimposed on the static point cloud model to obtain the background point cloud model.
[0067] In this embodiment of the disclosure, when an overlapping area cannot be identified, the point cloud data in the non-overlapping area is retained, and the point cloud data of the first dynamic obstacle is directly superimposed on the static point cloud model to obtain the background point cloud model.
[0068] It should be noted that after obtaining the fused background point cloud model, a spatial index data structure, such as a KD-Tree or Spatial Hashing, is constructed for the background point cloud model. Since the background point cloud model is relatively stable, the index is only rebuilt locally when the position of the first dynamic obstacle is updated. The construction of the spatial index data of the background point cloud model can greatly speed up the subsequent query process of point cloud data in the background point cloud model.
[0069] The above operation S140 may further include operations S141 to S142.
[0070] In operation S141, a spatial index structure for the background point cloud model is constructed. Point cloud data in the local dynamic point cloud model is used as the query point set, which includes m point cloud data, m=1,2,3,…,M. For the m-th point cloud data in the query point set, the following operations are performed: the nearest neighbor of the m-th point cloud data in the background point cloud model is determined through the spatial index structure of the background point cloud model; the Euclidean distance between the m-th point cloud data and the nearest neighbor is calculated; when the query point set index m increases to M, the minimum value among the M Euclidean distances is taken as the minimum static distance.
[0071] In this embodiment, all point cloud data in the local dynamic point cloud model of the six-degree-of-freedom treatment bed are used as the query object. Through the constructed background point cloud model KD-Tree or equivalent efficient index, each point cloud data in the local dynamic point cloud model is used as the target point cloud data. The nearest neighbor points in the background point cloud model are calculated to obtain the nearest neighbor distance between the target point cloud data and the nearest neighbor points in the background point cloud model. By traversing all the nearest neighbor distances, the minimum nearest neighbor distance d_bg is determined. The minimum value d_bg represents the minimum distance between the treatment bed and the static obstacle and the first dynamic obstacle.
[0072] In operation S142, a spatial index structure for the second dynamic obstacle is constructed. The nearest neighbor of the m-th point cloud data in the point cloud data of the second dynamic obstacle is determined through the spatial index structure of the second dynamic obstacle. The Euclidean distance between the m-th point cloud data and its corresponding nearest neighbor is calculated. When the query point set index m increments by M, the minimum value among the M Euclidean distances is taken as the minimum dynamic distance.
[0073] In this embodiment, all point cloud data in the local dynamic point cloud model of the six-degree-of-freedom treatment bed are used as the query object. Through the equivalent and efficient index of the constructed second dynamic obstacle point cloud data, the nearest neighbor points of each point cloud data in the local dynamic point cloud model and the second dynamic obstacle point cloud data are calculated to obtain the nearest neighbor distance between the two. The minimum nearest neighbor distance d_dyn is determined, and the minimum value d_dyn represents the minimum distance d_dyn between the six-degree-of-freedom treatment bed and the static obstacle and the second dynamic obstacle.
[0074] It should be noted that the global minimum distance value d_min is the minimum of d_bg and d_dyn. The global minimum distance d_min = min(d_bg, d_dyn) represents the shortest distance between the six-degree-of-freedom treatment bed and any type of obstacle in the environment at the current moment. Index structures such as KD-Tree optimize the average time complexity of nearest neighbor search from O(N) to O(logN), ensuring that complex query calculations can be completed within the strict real-time control cycle.
[0075] It should be noted that before S140, the motion sensor collects the sub-point cloud data of n sub-components of the six-degree-of-freedom treatment bed in the local coordinate system in real time. The n sub-components are connected according to the kinematic chain relationship, and the parent index of the nth sub-component is n-1.
[0076] For the sub-point cloud data of the i-th treatment bed sub-component, perform the following operations:
[0077] The rotation and translation of the nth treatment bed sub-component relative to its corresponding parent body are obtained through motion sensors; the pose transformation matrix is determined based on the rotation and translation; based on the coordinate system transformation matrix and the pose transformation matrix, a motion transformation chain is calculated on the sub-point cloud data to obtain the point cloud data in the target space coordinate system, wherein the coordinate system transformation matrix is determined by the positional relationship of the six-degree-of-freedom treatment bed relative to the coordinate system of the radiotherapy room; when the index n of the treatment bed sub-component itself increases to N, the N corresponding point cloud data are used as the point cloud data of the six-degree-of-freedom treatment bed.
[0078] In this embodiment of the disclosure, the six-degree-of-freedom treatment bed is composed of i rigid sub-components, which are linked by kinematic chains, where i = 1, 2, 3. .
[0079] Let W be the coordinate system of the radiotherapy room, and let L be the coordinate system of the i-th sub-component. i The following point cloud data is:
[0080]
[0081] in, It is a three-dimensional column vector [x, y, z] T .
[0082] At time t, the attitude transformation of the i-th component relative to its parent component (i-1), obtained from the sensor, can be represented by a 4×4 homogeneous transformation matrix. express:
[0083]
[0084] in, It is a 3×3 rotation matrix. It is a 3×1 translation vector, where the rotation matrix and translation vector are determined in real time by the sensor data corresponding to the rigid sub-component.
[0085] For any point on the rigid sub-component i Its coordinates in the W coordinate system of the radiotherapy room The kinematic chain relationship from the local coordinates of rigid sub-component i to the coordinate system of the radiotherapy room can be calculated using the following formula:
[0086]
[0087] in, It is the transformation matrix of the equipment base relative to the coordinate system of the radiotherapy room. Optionally, the sliding base of the six-degree-of-freedom treatment bed can be set as the base point.
[0088] By transforming all local data points of rigid sub-component i, the world coordinate point cloud of rigid sub-component i at time t is obtained. The complete dynamic point cloud data of the six-degree-of-freedom therapy bed It is the union of the point cloud data of all its sub-components in the coordinate system of the radiotherapy room:
[0089]
[0090] It should be noted that the six-degree-of-freedom treatment bed is composed of several sub-components with independent degrees of motion. Position sensors are deployed on each axis or slide rail to acquire its posture changes in real time. By extracting point data from each component, multiple point datasets are used to form a vertex set based on the local coordinate system. Based on the current sensor data and the preset kinematic model, the transformation matrix of each sub-component in the world coordinate system is calculated. Then, its local point set is mapped to the actual spatial point set in the world coordinate system and combined in real time to form the dynamic structural point set of the current device as a whole.
[0091] The above operation S150 may further include operations S151 to S152.
[0092] In operation S151, the smaller value between the minimum static distance and the minimum dynamic distance is used as the predicted distance value; when the predicted distance is less than or equal to the safe distance threshold, a first-level control command is generated to control the six-degree-of-freedom treatment bed to immediately terminate its movement.
[0093] In this embodiment of the disclosure, when the global minimum distance d_min is less than a preset safe distance threshold, a six-degree-of-freedom treatment bed stop motion command is immediately triggered to prevent collisions.
[0094] When operating S152, if the predicted distance is greater than the safe distance threshold, a second-level control command is generated to control the six-degree-of-freedom treatment bed to immediately decelerate or issue a warning signal.
[0095] In this embodiment of the disclosure, when the global minimum distance d_min is greater than the safe distance threshold, a warning signal, such as an audible and visual alarm, can be triggered, or a second-level control command can be generated to cause the six-degree-of-freedom treatment bed to decelerate, providing a buffer time for operator intervention or automatic system adjustment.
[0096] It should be noted that custom distance information can also be output, such as the minimum distance d_bg between the local dynamic point cloud model and the second dynamic obstacle, the minimum distance d_dyn between the six-degree-of-freedom treatment bed and the static obstacle and the second dynamic obstacle, or the nearest distance in a specific area. This information is used by the control strategy and does not depend on the specific path planning algorithm implementation. Instead, it is an independent and fully functional environmental distance perception method. The method design achieves functional decoupling and has system compatibility and integrability.
[0097] The method provided by the embodiments of this disclosure has the following beneficial effects:
[0098] First, distance calculation is performed based on high-density real object surface point clouds, abandoning the oversimplified envelope model. This enables accurate object perception, ensuring millimeter-level collision detection accuracy and significantly improving the safety of the treatment process.
[0099] Second, by utilizing automated or semi-automated laser scanning technology and programmed point cloud processing procedures, the time-consuming and labor-intensive manual measurement and modeling processes in traditional solutions are replaced, greatly shortening the system deployment and calibration time and significantly reducing implementation costs.
[0100] Third, by driving the attitude changes of the point cloud of each component in real time through sensors, the virtual model and the physical device can achieve microsecond-level pose synchronization. Combined with KD-Tree spatial indexing and optimized nearest neighbor search algorithm, it ensures that the real-time distance calculation of complex scenes is completed within a high-speed motion control cycle, such as 10ms, and outputs accurate minimum distance values. It also supports setting multiple levels of safety thresholds, including warning, deceleration and stop, to realize hierarchical management of collision risk and provide valuable early intervention time for operators or control systems.
[0101] Fourth, it can be completed by updating point cloud data or configuration parameters, without the need for complex code-level modifications to the core collision detection algorithm. The system can automatically or quickly adapt to the new environment, making maintenance extremely convenient.
[0102] Based on the above-described six-degree-of-freedom treatment bed anti-collision method, this disclosure also provides a six-degree-of-freedom treatment bed anti-collision device. The following will be combined with... Figure 2 The device is described in detail.
[0103] Figure 2 The diagram schematically illustrates a structural block diagram of a point cloud-based six-degree-of-freedom treatment bed anti-collision device according to an embodiment of the present disclosure.
[0104] like Figure 2 As shown, the six-degree-of-freedom treatment bed anti-collision device 200 of this embodiment includes a cloud model generation module 210, a classification and acquisition module 220, a cloud model update module 230, a distance calculation and detection module 240, and an operation control module 250.
[0105] The cloud model generation module 210 is used to acquire point cloud data of the static environment in the radiotherapy room, and after performing point cloud reconstruction processing on the point cloud data, a static point cloud model is generated. In one embodiment, the cloud model generation module 210 can be used to perform the operation S210 described above, which will not be repeated here.
[0106] The classification and acquisition module 220 is used to detect the movement speed of dynamic obstacles in a static environment. Based on the comparison result between the movement speed and a preset speed threshold, it classifies and acquires point cloud data of the dynamic obstacles. The classification and acquisition module 220 can be used to perform the operation S220 described above, which will not be repeated here.
[0107] The cloud model update module 230 is used to fuse the point cloud data of the first dynamic obstacle with the static point cloud model to obtain a fused background point cloud model. The movement speed of the first dynamic obstacle is lower than a preset speed threshold. The cloud model update module 230 can be used to perform the operation S230 described above, which will not be repeated here.
[0108] The distance calculation module 240 is used to acquire a local dynamic point cloud model of the six-degree-of-freedom treatment bed, and to calculate the minimum static distance between the local dynamic point cloud model and the background point cloud model, and the minimum dynamic distance between the local dynamic point cloud model and the point cloud data of the second dynamic obstacle, wherein the movement speed of the second dynamic obstacle is higher than or equal to a preset speed threshold. The distance calculation module 240 can be used to perform the operation S240 described above, which will not be repeated here.
[0109] The operation control module 250 is used to control the movement of the six-degree-of-freedom treatment bed based on a comparison between the smaller of the minimum static distance and the minimum dynamic distance and a safe distance threshold. The control module 250 can be used to execute the operation S250 described above, which will not be repeated here.
[0110] According to embodiments of this disclosure, any multiple modules among the cloud model generation module 210, classification and acquisition module 220, cloud model update module 230, distance calculation module 240, and operation control module 250 can be merged into one module, or any one of these modules can be split into multiple modules. Alternatively, at least some of the functions of one or more of these modules can be combined with at least some of the functions of other modules and implemented in one module. According to embodiments of this disclosure, at least one of the cloud model generation module 210, classification and acquisition module 220, cloud model update module 230, distance calculation module 240, and operation control module 250 can be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any suitable combination of any of these three implementation methods. Alternatively, at least one of the cloud model generation module 210, classification and acquisition module 220, cloud model update module 230, distance calculation module 240, and operation control module 250 can be at least partially implemented as a computer program module, which can perform corresponding functions when the computer program module is run.
[0111] Figure 3 A block diagram schematically illustrates an electronic device suitable for implementing a six-degree-of-freedom treatment bed anti-collision method according to an embodiment of the present disclosure.
[0112] like Figure 3 As shown, an electronic device 300 according to an embodiment of this disclosure includes a processor 301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 302 or a program loaded from a storage portion 308 into a random access memory (RAM) 303. The processor 301 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 301 may also include onboard memory for caching purposes. The processor 301 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of this disclosure.
[0113] RAM 303 stores various programs and data required for the operation of electronic device 300. Processor 301, ROM 302, and RAM 303 are interconnected via bus 304. Processor 301 performs various operations of the method flow according to embodiments of the present disclosure by executing programs in ROM 302 and / or RAM 303. It should be noted that programs may also be stored in one or more memories other than ROM 302 and RAM 303. Processor 301 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in one or more memories.
[0114] According to embodiments of this disclosure, the electronic device 300 may further include an input / output (I / O) interface 305, which is also connected to a bus 304. The electronic device 300 may also include one or more of the following components connected to the input / output (I / O) interface 305: an input section 306 including a keyboard, mouse, etc.; an output section 307 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN card, modem, etc. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the input / output (I / O) interface 305 as needed. A removable medium 311, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 310 as needed so that computer programs read from it can be installed into the storage section 308 as needed.
[0115] This disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs that, when executed, implement the method according to the embodiments of this disclosure.
[0116] According to embodiments of this disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, such as including, but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this disclosure, the computer-readable storage medium may include ROM 302 and / or RAM 303 and / or one or more memories other than ROM 302 and RAM 303 described above.
[0117] Embodiments of this disclosure also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code enables the computer system to implement the six-degree-of-freedom treatment bed anti-collision method provided in embodiments of this disclosure.
[0118] When the computer program is executed by the processor 301, it performs the functions defined in the system / apparatus of this disclosure embodiments. According to embodiments of this disclosure, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0119] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and may be downloaded and installed via communication section 309, and / or installed from removable medium 311. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0120] In such an embodiment, the computer program can be downloaded and installed from a network via communication section 309, and / or installed from removable medium 311. When the computer program is executed by processor 301, it performs the functions defined in the system of this disclosure embodiment. According to embodiments of this disclosure, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0121] According to embodiments of this disclosure, program code for executing the computer programs provided in embodiments of this disclosure can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can execute entirely on a user's computing device, partially on a user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0122] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0123] Those skilled in the art will understand that the features described in the various embodiments of this disclosure can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in this disclosure. In particular, the features described in the various embodiments of this disclosure can be combined and / or combined in various ways without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.
[0124] The embodiments of this disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of this disclosure. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of this disclosure, and all such substitutions and modifications should fall within the scope of this disclosure.
Claims
1. A collision avoidance method for a six-degree-of-freedom therapeutic bed based on point clouds, characterized in that, include: Obtain point cloud data of the static environment in the radiotherapy room, and generate a static point cloud model after performing point cloud reconstruction processing on the point cloud data. The movement speed of multiple dynamic obstacles in the static environment is detected, and point cloud data of the dynamic obstacles are collected according to the comparison results between the movement speed and the preset speed threshold. The point cloud data of the first dynamic obstacle among the plurality of dynamic obstacles is fused with the static point cloud model to obtain a fused background point cloud model, wherein the movement speed of the first dynamic obstacle is lower than the preset speed threshold. The motion sensor collects the sub-point cloud data of n sub-components of the six-degree-of-freedom treatment bed in the local coordinate system in real time. The n sub-components are connected according to the kinematic chain relationship. The parent index of the nth sub-component is n-1. The six-degree-of-freedom treatment bed is composed of n sub-components, where n=1,2,3,…,N. For the sub-point cloud data of the nth treatment bed sub-component, the following operations are performed: The rotation and translation of the nth treatment bed sub-component relative to its corresponding parent body are obtained through a motion sensor. The pose transformation matrix is determined based on the rotation and translation amounts; Based on the coordinate system transformation matrix and the pose transformation matrix, a motion transformation chain is calculated on the sub-point cloud data to obtain point cloud data in the target space coordinate system. The coordinate system transformation matrix is determined by the positional relationship of the six-degree-of-freedom treatment bed relative to the coordinate system of the radiotherapy room. When the index n of the treatment bed sub-component is incremented to N, the N corresponding point cloud data are used as the point cloud data of the six-degree-of-freedom treatment bed. Obtain a local dynamic point cloud model of the six-degree-of-freedom treatment bed from the point cloud data of the six-degree-of-freedom treatment bed, calculate the minimum static distance between the local dynamic point cloud model and the background point cloud model, and the minimum dynamic distance between the local dynamic point cloud model and the point cloud data of the second dynamic obstacle among the multiple dynamic obstacles, wherein the movement speed of the second dynamic obstacle is not lower than the preset speed threshold. The motion state of the six-degree-of-freedom treatment bed is controlled based on the comparison result between the smaller value of the minimum static distance and the minimum dynamic distance and the safe distance threshold.
2. The method according to claim 1, characterized in that, The process of detecting the movement speed of multiple dynamic obstacles in the static environment, and classifying and collecting point cloud data of the dynamic obstacles based on the comparison results of the movement speed with a preset speed threshold, includes: When the movement speed of any one of the plurality of dynamic obstacles is lower than the preset speed threshold, the corresponding dynamic obstacle is identified as the first dynamic obstacle, and the point cloud data of the first dynamic obstacle is obtained by low-frequency scanning. When the speed of any one of the multiple dynamic obstacles is not lower than the preset speed threshold, the corresponding dynamic obstacle is identified as the second dynamic obstacle, and the point cloud data of the second dynamic obstacle is obtained through a sensing device.
3. The method according to claim 1, characterized in that, The step of fusing the point cloud data of the first dynamic obstacle among the plurality of dynamic obstacles with the static point cloud model to obtain the background point cloud model includes: The point cloud data of the first dynamic obstacle is registered to the coordinate system of the static point cloud model through a rigid body transformation matrix; Identify the overlapping area between the point cloud data of the first dynamic obstacle and the static point cloud model. When the overlapping area is identified, reconstruct the static point cloud model based on the point cloud data within the overlapping area to obtain the background point cloud model. When the overlapping area cannot be identified, the point cloud data of the first dynamic obstacle is superimposed on the static point cloud model to obtain the background point cloud model.
4. The method according to claim 3, characterized in that, The step of reconstructing the static point cloud model based on the point cloud data within the overlapping area to obtain the background point cloud model includes: The point cloud data within the overlapping area is weighted and fused with the static point cloud model to obtain the fused point cloud data. The fused point cloud data is reconstructed to obtain the background point cloud model.
5. The method according to claim 1, characterized in that, The calculation of the minimum static distance between the local dynamic point cloud model and the background point cloud model, and the minimum dynamic distance between the local dynamic point cloud model and the point cloud data of the second dynamic obstacle among the plurality of dynamic obstacles, includes: Construct the spatial index structure of the background point cloud model and the spatial index structure of the second dynamic obstacle; Using the point cloud data in the local dynamic point cloud model as the query point set, the query point set includes m point cloud data, m=1,2,3,…M. The following operation is performed on the m-th point cloud data in the query point set: The nearest neighbor of the i-th point cloud data in the background point cloud model is determined by the spatial index structure of the background point cloud model. Calculate the Euclidean distance between the m-th point cloud data and the nearest neighbor point; When the index m of the query point set is incremented to M, the minimum value among the M Euclidean distances is taken as the minimum static distance; The nearest neighbor of the m-th point cloud data in the point cloud data of the second dynamic obstacle is determined by the spatial index structure of the second dynamic obstacle; Calculate the Euclidean distance between the m-th point cloud data and its corresponding nearest neighbor; When the index m of the query point set is incremented to M, the minimum value among the M Euclidean distances is taken as the minimum dynamic distance.
6. The method according to claim 1, characterized in that, The step of controlling the motion state of the six-degree-of-freedom treatment bed based on the comparison result of the smaller value of the minimum static distance and the minimum dynamic distance with the safety distance threshold includes: The smaller value between the minimum static distance and the minimum dynamic distance is used as the predicted distance value; When the predicted distance is less than or equal to the safe distance threshold, a first-level control command is generated to control the six-degree-of-freedom treatment bed to terminate its movement. When the predicted distance is greater than the safe distance threshold, a second-level control command is generated to control the six-degree-of-freedom treatment bed to decelerate or issue a warning signal.
7. A collision avoidance device for a six-degree-of-freedom therapeutic bed based on point clouds, characterized in that, include: The cloud model generation module acquires point cloud data of the static environment in the radiotherapy room, performs point cloud reconstruction processing on the point cloud data, and generates a static point cloud model. A classification and acquisition module detects the movement speed of multiple dynamic obstacles in the static environment and classifies and acquires point cloud data of the dynamic obstacles based on the comparison results of the movement speed with a preset speed threshold. A motion sensor is used to acquire in real time the sub-point cloud data of n sub-components of the six-degree-of-freedom treatment bed in the local coordinate system. The n sub-components are connected according to a kinematic chain relationship, and the parent index of the nth sub-component is n-1. The six-degree-of-freedom treatment bed is composed of n sub-components, where n=1,2,3,…,N. For the sub-point cloud data of the nth sub-component, the following operations are performed: the rotation and translation of the nth sub-component relative to its corresponding parent are acquired by the motion sensor; a pose transformation matrix is determined based on the rotation and translation. Based on the coordinate system transformation matrix and the pose transformation matrix, a motion transformation chain is calculated on the sub-point cloud data to obtain point cloud data in the target space coordinate system. The coordinate system transformation matrix is determined by the positional relationship of the six-degree-of-freedom treatment bed relative to the coordinate system of the radiotherapy room. When the index n of the treatment bed sub-component increases to N, the N corresponding point cloud data are used as the point cloud data of the six-degree-of-freedom treatment bed. The cloud model update module fuses the point cloud data of the first dynamic obstacle among the multiple dynamic obstacles with the static point cloud model to obtain a fused background point cloud model, wherein the movement speed of the first dynamic obstacle is lower than the preset speed threshold. The distance calculation module obtains a local dynamic point cloud model of the six-degree-of-freedom treatment bed from the point cloud data of the six-degree-of-freedom treatment bed, calculates the minimum static distance between the local dynamic point cloud model and the background point cloud model, and the minimum dynamic distance between the local dynamic point cloud model and the point cloud data of the second dynamic obstacle among the multiple dynamic obstacles, wherein the movement speed of the second dynamic obstacle is not lower than the preset speed threshold. The operation control module controls the motion state of the six-degree-of-freedom treatment bed based on the comparison result between the smaller value of the minimum static distance and the minimum dynamic distance and the safe distance threshold.
8. An electronic device, comprising: One or more processors; Memory, used to store one or more computer programs. The characteristic feature is that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, It stores a computer program or instructions thereon, which, when executed by a processor, implement the steps of the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Obstacle avoidance method for surgical robot
CN110613511A
Obstacle detection method and device
CN115311646A
Point cloud fusion method and device, three-dimensional scanning equipment and storage medium
CN115701871A
Obstacle visibility analysis method and device, intelligent terminal and storage medium
CN117237924A
Radiotherapy methods, systems, and workflow-oriented graphical user interfaces
WO2022146769A1