Methods, systems, and storage media of controlling gantry rotation
By calculating the planned rotation speed and average speed of the CT gantry, a speed compensation value is obtained to correct the speed control gantry rotation, which solves the problem of large gantry rotation error in the existing technology and realizes precise gantry rotation control.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-30
- Publication Date
- 2026-03-24
AI Technical Summary
In the existing technology, the CT gantry rotation control system has the problem of large error. In particular, since the speed control loop of the servo motor is embedded in the firmware of a third-party driver, the host computer cannot participate in the fine-tuning of the PID control loop, resulting in a large gantry rotation error.
By acquiring the planned rotation speed and average speed of the rack, calculating the speed compensation value, and determining the correction speed based on the planned rotation speed and speed compensation value, the rack is controlled to rotate at the correction speed, thus achieving precise rack rotation control.
It effectively reduces the cumulative error of rack rotation, improves the accuracy of rotation control, avoids errors or termination of use caused by excessive discrepancies in the actual rack position, and achieves precise rack rotation control.
Smart Images

Figure CN115530859B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of medical devices, and in particular to a method, system and storage medium for controlling gantry rotation. BACKGROUND
[0002] A rotation control system of a gantry such as a computed tomography (CT) mainly controls the rotation of the gantry through a host computer, controls a motor, and relies on an angle encoder to feed back the current real-time position and make accurate adjustment on the speed and position.
[0003] In the related art, the motor in the rotation control system is generally a servo motor. Since the speed control loop of the servo motor is embedded in the firmware of a third-party driver, the host computer can only participate in the issuance of the gantry rotation speed command and cannot participate in the proportion integral differential (PID) control loop fine adjustment. Moreover, the rotation driver in the related art integrates a chip internally, has an internal clock, and has a time difference with the clock of the main controller. The clock deviation between the master and the slave will cause a deviation in the speed calculation, resulting in a large error.
[0004] At present, there is no effective solution to the problem of large error in controlling the rotation of the gantry in the related art. SUMMARY
[0005] Embodiments of the present application provide a method, system and storage medium for controlling the rotation of a gantry to at least solve the problem of large error in controlling the rotation of the gantry in the related art.
[0006] In a first aspect, the embodiments of the present application provide a method for controlling the rotation of a gantry, the method comprising:
[0007] obtaining a planned rotation speed of the gantry, and obtaining an average speed at which the gantry rotates at the planned rotation speed;
[0008] calculating a speed compensation value according to the planned rotation speed and the average speed, and determining a corrected speed according to the planned rotation speed and the speed compensation value;
[0009] controlling the gantry to rotate at the corrected speed.
[0010] In some embodiments, the calculating a speed compensation value according to the planned rotation speed and the average speed, and determining a corrected speed according to the planned rotation speed and the speed compensation value comprises the following steps:
[0011] controlling the gantry to rotate a preset number of turns, obtaining a single-turn rotation speed corresponding to each turn, and calculating the average speed according to a plurality of the single-turn rotation speeds;
[0012] calculating the speed compensation value according to the planned rotation speed and the average speed, and further calculating the correction speed according to the planned rotation speed and the speed compensation value.
[0013] In some embodiments, the calculating the correction speed according to the planned rotation speed and the speed compensation value comprises:
[0014] multiplying the speed compensation value by the planned rotation speed to obtain a first error value, and calculating the correction speed according to the planned rotation speed and the first error value.
[0015] In some embodiments, the calculating the speed compensation value according to the planned rotation speed and the average speed, and determining the correction speed according to the planned rotation speed and the speed compensation value comprises:
[0016] obtaining at least two of the planned rotation speeds, and obtaining an average speed of gantry rotation corresponding to each of the planned rotation speeds;
[0017] calculating a speed compensation value corresponding to each of the planned rotation speeds according to the average speed, and obtaining an average compensation value according to a plurality of the speed compensation values;
[0018] calculating the correction speed corresponding to each of the planned rotation speeds according to each of the planned rotation speeds and the average compensation value.
[0019] In some embodiments, the calculating the correction speed according to the planned rotation speed and the average compensation value comprises:
[0020] multiplying the average compensation value by the planned rotation speed to obtain a second error value, and calculating the correction speed according to the planned rotation speed and the second error value.
[0021] In some embodiments, before the obtaining the preset planned rotation speed of the gantry, the method further comprises:
[0022] in a case where a rotation correction command is received, generating a correction protocol corresponding to the rotation correction command; wherein the correction protocol instructs to obtain the planned rotation speed and the average speed to calculate the correction speed.
[0023] In a second aspect, the embodiments of the present application provide a system for controlling gantry rotation, the system comprising a gantry and a controller;
[0024] The controller is configured to obtain a preset planned rotation speed of the gantry, and obtain an average speed of the gantry rotating at the planned rotation speed;
[0025] The controller is further configured to calculate a speed compensation value according to the planned rotation speed and the average speed, and determine a corrected speed according to the planned rotation speed and the speed compensation value;
[0026] The gantry is configured to rotate according to the corrected speed sent by the controller.
[0027] In some embodiments, the system further comprises a motor, and the motor is provided with a speed control loop;
[0028] The controller is further configured to control the speed control loop according to the corrected speed, thereby controlling the rotation of the gantry.
[0029] In some embodiments, the gantry is a CT gantry.
[0030] In a third aspect, the embodiments of the present application provide a storage medium having a computer program stored thereon, and the program is executed by a processor to implement the method for controlling the rotation of the gantry according to the first aspect.
[0031] Compared with the related art, the method, system and storage medium for controlling the rotation of the gantry provided by the embodiments of the present application obtain a planned rotation speed of the gantry, and obtain an average speed of the gantry rotating at the planned rotation speed; calculate a speed compensation value according to the planned rotation speed and the average speed, and determine a corrected speed according to the planned rotation speed and the speed compensation value; and control the gantry to rotate at the corrected speed, thereby solving the problem of large error in the rotation of the gantry, and realizing accurate control of the rotation of the gantry. BRIEF DESCRIPTION OF DRAWINGS
[0032] The accompanying drawings, which are included to provide a further understanding of the present application, constitute a part of the present application, and the illustrative embodiments of the present application and their description serve to explain the present application, and do not constitute improper limitations on the present application. In the drawings:
[0033] Figure 1 is an application scenario schematic diagram of a method for controlling the rotation of a gantry according to an embodiment of the present application;
[0034] Figure 2 is a flowchart of a method for controlling the rotation of a gantry according to an embodiment of the present application;
[0035] Figure 3 is a flowchart of another method for controlling the rotation of a gantry according to an embodiment of the present application;
[0036] Figure 4This is a timing diagram of a method for controlling the rotation of a frame according to an embodiment of this application;
[0037] Figure 5 This is a structural block diagram of a device for controlling the rotation of a frame according to an embodiment of this application;
[0038] Figure 6 This is a structural block diagram of a system for controlling the rotation of a frame according to an embodiment of this application;
[0039] Figure 7 This is a schematic diagram illustrating a measured compensation effect according to an embodiment of this application;
[0040] Figure 8 This is a structural diagram of the internal structure of a computer device according to an embodiment of this application. Detailed Implementation
[0041] To make the objectives, technical solutions, and advantages of this application clearer, the application is described and illustrated below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the application. All other embodiments obtained by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application. Furthermore, it is understood that although the efforts made in such a development process may be complex and lengthy, for those skilled in the art related to the content disclosed in this application, modifications to design, manufacturing, or production based on the technical content disclosed in this application are merely conventional technical means and should not be construed as insufficient disclosure of the content of this application.
[0042] In this application, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment that is mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments without conflict.
[0043] Unless otherwise defined, the technical or scientific terms used in this application shall have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The terms “a,” “an,” “an,” “the,” and similar words used in this application do not indicate quantity limitation and may indicate singular or plural. The terms “comprising,” “including,” “having,” and any variations thereof used in this application are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that includes a series of steps or modules (units) is not limited to the listed steps or units, but may also include steps or units not listed, or may include other steps or units inherent to these processes, methods, products, or devices. The terms “connected,” “linked,” “coupled,” and similar words used in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. “Multiple” used in this application means two or more. “And / or” describes the relationship between related objects, indicating that three relationships may exist; for example, “A and / or B” can represent: A alone, A and B simultaneously, and B alone. The terms “first,” “second,” “third,” etc., used in this application are merely to distinguish similar objects and do not represent a specific ordering of the objects.
[0044] This embodiment provides an application scenario for a method of controlling the rotation of a frame. Figure 1 This is a schematic diagram illustrating an application scenario of a method for controlling the rotation of a frame according to an embodiment of this application, such as... Figure 1 As shown, this application environment includes a terminal device 12 and a server device 14. The terminal device 12 communicates with the server device 14 via a network. The server device 14 receives the planned rotation speed of the rack sent by the terminal device 12, as well as the average rotation speed of the rack at the planned rotation speed. Based on the planned rotation speed and the average speed, a speed compensation value is calculated, and a correction speed is determined, ultimately controlling the rack to rotate at the corrected speed. The terminal device 12 can be, but is not limited to, various smartphones, personal computers, laptops, and tablets, and the server device 14 can be implemented using a standalone server device or a server cluster consisting of multiple server devices.
[0045] In this embodiment, a method for controlling the rotation of the frame is provided. Figure 2 This is a flowchart of a method for controlling the rotation of a frame according to an embodiment of this application, as shown below. Figure 2 As shown, the process includes the following steps:
[0046] Step S202: Obtain the planned rotation speed of the rack and the average speed at which the rack rotates at the planned rotation speed.
[0047] The planned rotation speed mentioned above refers to the speed at which a specified gantry can be rotated, preset by the user. Once the gantry rotation speed is set to this planned speed, the gantry will rotate according to that speed. This planned rotation speed can be represented by `target_speed` and can be measured in microseconds (µs). It is understood that after setting the planned rotation speed, the gantry's rotation speed will fluctuate as it rotates. Therefore, the average speed can be calculated based on information such as the rotation duration and number of rotations. This average speed can be represented by `average_speed` and can be measured in µs. It is understood that the gantry can be a CT gantry, a scanning gantry, or other gantry capable of rotating at different angles; further details will not be provided here.
[0048] Step S204: Calculate the speed compensation value based on the planned rotation speed and the average speed, and determine the correction speed based on the planned rotation speed and the speed compensation value.
[0049] It should be noted that the rotation control system of CT scanners typically uses servo motors. Speed stability is achieved when |planned rotation speed – current speed| < tolerable error. This condition must be met at all times during speed stability. The current speed stability requirement is that speed fluctuations should be less than 2%. Actual collected data is shown below for reference; controlling speed fluctuations within 0.05% meets the speed stability requirement. However, even if the speed meets the stability requirement, a constant deviation exists. For example, if the planned rotation speed is 60 rpm, but the actual average speed is only 59.99 rpm per rotation, which is slower each time, a constant deviation will accumulate over time, leading to cumulative deviation. To observe more precise data, 1,000,000 µs can be used as the planned rotation speed. All measured data are in µs. Statistical analysis is provided below: Tests on the 860001 prototype showed that at a rotation speed of 1,000,000 µs, the average time per revolution was 1,000,293 µs, meaning an average slowdown of 293 µs per revolution. This affects protocols such as CT line placement based on expected positions. As time accumulates, the initially recorded position, due to the slower average rotation speed, cannot be accurately reached within the expected time range, leading to scan failure. A test showed that maintaining rotation at 1 second speed for 130 seconds resulted in a cumulative rotation error of 37.7 ms (>10 ms), exceeding the system requirements. Therefore, a speed compensation value can be calculated based on the single revolution or cumulative rotation time to correct the rack rotation speed.
[0050] The speed compensation value mentioned above can be obtained by calculating the difference between the average speed and the planned rotation speed. The cumulative error is calculated over a time span. Since the rotation is adjusted in real time, it fluctuates around the planned rotation speed. However, even a servo controller struggles to mitigate the cumulative error caused by long-term rotation. For example, if the target rotation speed of the CT gantry is 1 second, and the fluctuation error is within 0.001 seconds, then the average speed after 10 minutes of rotation is 0.9992 seconds. If the starting point of rotation is 0 degrees, the position after 10 minutes is calculated as follows: Theoretical time: 1 × 10 × 60 = 600 seconds (returning to 0 degrees); Actual time: 0.9992 × 10 × 60 = 599.52 seconds (currently at 172.8 degrees). It should be noted that 1 second of rotation speed means rotating 360 degrees in 1 second; 600 seconds - 599.52 seconds = 0.48 seconds; 0.48 × 360 = 172.8 degrees.
[0051] The calculations above show that while the speed fluctuation in a single cycle meets the requirements and the real-time fluctuation is very small, from a macroscopic perspective, we expect the gantry to return to its starting position after 1 second and to be near its starting position after 10 minutes. However, actual testing revealed that after 10 minutes, the gantry's ending position deviates significantly from its initial reference point. This affects the CT scanning protocol based on position data acquisition, resulting in a large accumulated error. This leads to a significant discrepancy between the predicted position based on theoretical speed and the actual position, causing CT scan termination and impacting usability.
[0052] Therefore, compensation for accumulated errors is necessary. In related technologies, compensation methods for accumulated frame errors are mostly for single-turn or real-time control, with less emphasis on cumulative error compensation. This application's embodiment calculates the time delay caused by the average speed error under stable speed conditions and compensates for it with the planned rotation speed, thereby minimizing the impact of accumulated errors.
[0053] Step S206: Control the frame to rotate at the corrected speed.
[0054] After the above-mentioned correction speed is calculated through step S204, the correction speed can be sent to the frame as the updated target speed so that the frame can rotate according to the correction speed.
[0055] In related technologies, the servo motor cannot be precisely controlled during rack rotation control, resulting in deviations in speed calculation and large errors in rack rotation control. However, in the embodiments of this application, through steps S202 to S206, a speed compensation value is calculated using the planned rotation speed of the rack and the average speed of the rack rotating at the planned rotation speed. Based on this speed compensation value and the planned rotation speed, a correction speed over a certain time span is obtained to compensate for the accumulated error. This macroscopically eliminates the impact of the accumulated error of the rotation control system on the control accuracy, avoids rack usage errors or terminations caused by excessively large discrepancies in the actual rack position, solves the problem of large errors in rack rotation control, and realizes a method for precise rack rotation control.
[0056] In some embodiments, a method for controlling the rotation of a rack is provided. Figure 3 This is a flowchart of another method for controlling the rotation of a frame according to an embodiment of this application, such as... Figure 3 As shown, the process includes Figure 2 The steps S202 and S206 shown herein also include the following steps:
[0057] Step S302: Control the frame to rotate a preset number of revolutions, obtain the single-revolution speed corresponding to each revolution, and calculate the average speed based on multiple single-revolution speeds.
[0058] After performing step S202, the rack can begin to rotate stably according to the planned rotation speed, and the average speed can be calculated. Specifically, the user can preset the number of rotations required for the rack to rotate stably; after the rack speed stabilizes, the time for each rotation is recorded, and the single-rotation speed can be calculated based on the recorded time for each rotation. This single-rotation speed can be represented by cycle_speed and is expressed in microseconds (µs); a total of single-rotation speeds within the preset number of rotations are recorded, and the formula for calculating the average speed is shown in Formula 1:
[0059] average_speed(us)=sum(cycle_speed) / N Formula 1
[0060] Where sum() is the summation function; N represents the preset number of revolutions, and N is a natural number greater than 1. It is understood that the average speed can also be obtained by recording the total time taken for the frame to rotate the preset number of revolutions, and calculating the average speed based on the ratio of the total time to the preset number of revolutions; this will not be elaborated further here.
[0061] It should be noted that the total time for the frame to rotate according to the preset number of revolutions each time should be greater than 10 minutes, that is, the stable rotation time of the frame is greater than 10 minutes. At this time, the speed fluctuation of the frame rotation is very small, and the difference between the average speeds calculated according to different total times can be ignored, thereby improving the accuracy of controlling the frame rotation.
[0062] Step S304: Calculate the speed compensation value based on the planned rotation speed and the average speed, and then calculate the corrected speed based on the planned rotation speed and the speed compensation value.
[0063] The aforementioned speed compensation value can be represented by calibration_coefficient; the calculation formula for this speed compensation value is shown in Formula 2:
[0064] calibration_coefficient=(average_speed–target_speed) / target_speed formula 2
[0065] Therefore, the speed compensation value mentioned above indicates the ratio of the difference between the average speed and the calculated rotational speed to the planned rotational speed. Based on the calculated speed compensation value, the planned rotational speed is compensated to obtain the corrected speed that actually needs to be sent to the rack.
[0066] Through steps S302 to S304 above, the average speed is calculated from the single-rotation speed obtained when the frame rotates a preset number of times, and the speed compensation value and correction speed are calculated. This avoids speed compensation errors caused by short frame rotation time and improves the accuracy of frame rotation control.
[0067] In some embodiments, the calculation of the corrected speed based on the planned rotational speed and the speed compensation value further includes the following steps: multiplying the speed compensation value by the planned rotational speed to obtain a first error value, and calculating the corrected speed based on the planned rotational speed and the first error value.
[0068] The first error value mentioned above refers to the value calculated based on the speed compensation value and the planned rotation speed. This first error value can be represented by Error1 and can be expressed in microseconds (µs). The calculation formula for this first error value is shown in Formula 3.
[0069] Error1=target_speed×calibration_coefficient Formula 3
[0070] Therefore, after calculating the first error value based on Formula 3 above, the planned rotation speed can be corrected according to the first error value to obtain the actual corrected speed to be issued; this corrected speed can be represented by new_target_speed and can be in microseconds (µs); the calculation formula for this corrected speed is shown in Formula 4:
[0071] new_target_speed=target_speed-Error1 Formula 4
[0072] Through the above embodiments, a first error value is calculated based on the speed compensation value and the planned rotation speed, and a correction speed is calculated based on the planned rotation speed and the first error value, thereby realizing the accurate calculation of the cumulative error of the frame rotation and further improving the accuracy of controlling the frame rotation.
[0073] In some embodiments, step S204 above further includes the following steps:
[0074] Step S402: Obtain at least two planned rotation speeds and obtain the average speed of the rack rotation corresponding to each planned rotation speed; calculate the speed compensation value corresponding to each planned rotation speed based on the average speed, and obtain the average compensation value based on multiple speed compensation values.
[0075] Specifically, repeat steps S202 to S206 above to calculate the commonly used speed parameters for scanning, so as to obtain at least two different planned rotation speeds, and then calculate the average speed corresponding to each planned rotation speed. Based on the corresponding planned rotation speed and average speed, the speed compensation values, namely coef_1, coef_2, ..., coef_M, can be calculated according to Formula 2 above. Under different speed parameters, the mean of the above speed compensation values is calculated, that is, the average compensation value. This average compensation value can be represented by aver_coef, and its calculation formula is shown in Formula 5:
[0076] aver_coef=(coef_1+coef_2+…+coef_M) / M Formula 5
[0077] Where M represents the number of times different speed parameters are scanned, and M is a natural number greater than 1.
[0078] Step S404: Calculate the corrected speed corresponding to each planned rotation speed based on the planned rotation speed and the average compensation value.
[0079] The average compensation value mentioned above is the average of the corresponding speed compensation values calculated at the planned rotation speed for each scan. Based on the calculated average compensation value, speed compensation is performed on each planned rotation speed, so as to obtain the corresponding actual correction speed that needs to be sent to the rack.
[0080] Through steps S402 to S404, the speed compensation value under different speed parameters is calculated and the average value of different speed compensation values is taken, thereby effectively improving the accuracy of the speed compensation value and thus improving the accuracy of controlling the rotation of the frame.
[0081] In some embodiments, step S404 above further includes the following steps: multiplying the average compensation value by the planned rotation speed to obtain a second error value, and calculating the correction speed based on the planned rotation speed and the second error value.
[0082] The second error value mentioned above refers to the value calculated based on the average compensation value and the planned rotation speed. This second error value can be represented by Error2 and can be expressed in microseconds (µs). Similar to Formula 3 above, the formula for calculating this second error value is shown in Formula 6.
[0083] Error2=target_speed×aver_coef Formula 6
[0084] Therefore, after calculating the second error value based on Formula 6 above, the rotation speeds of each of the above plans can be corrected according to the second error value to obtain the corrected speed that actually needs to be issued; this corrected speed can be represented by new_target_speed and can be expressed in microseconds (µs); the calculation formula for this corrected speed is shown in Formula 7:
[0085] new_target_speed=target_speed-Error2 Formula 7
[0086] In Formula 7 above, target_speed represents any planned rotation speed.
[0087] In some embodiments, before performing step S202, the method for controlling the rotation of the frame further includes the following steps: upon receiving a rotation correction command, generating a correction protocol corresponding to the rotation correction command; wherein the correction protocol indicates that the planned rotation speed and the average speed are obtained to calculate the correction speed.
[0088] Specifically, the aforementioned terminal device is equipped with and displays a calibration interface; the user can send the aforementioned rotation calibration command to the processor by interacting with the calibration interface by clicking or touching the calibration buttons on the calibration interface. Upon receiving the rotation calibration command, the processor parses and processes it to generate a calibration protocol including information such as speed parameters and total rotation time. Then, by executing the calibration protocol, the processor controls the rack to rotate accordingly, and the calibration speed is calculated through steps S202 to S206. Through this embodiment, based on the rotation calibration command from the terminal device, the calibration protocol is executed to control the rack rotation, allowing users to easily set control parameters and improving the user experience.
[0089] In some embodiments, after performing step S204, the method for controlling rack rotation further includes the following steps: calculating a correction result based on the correction speed and storing the correction result in a correction table. Through these embodiments, storing the correction result in a correction table on a server allows operators of the rack rotation control system to subsequently view historical records in the table. This enables them to trace and optimize the error compensation algorithm for rack rotation based on the historical records, further improving the accuracy of rack rotation control.
[0090] The embodiments of this application will be described in detail below with reference to practical application scenarios. Figure 4 This is a timing diagram of a method for controlling the rotation of a frame according to an embodiment of this application, as shown below. Figure 4 As shown, the cumulative error compensation system includes a server, a repeater, a player, and a rotator. The server's calibration interface sends a rotation calibration command to instruct rotation calibration and executes the calibration protocol. The repeater forwards the rotation calibration protocol to the player, which then executes the relevant calibration processes. The rotator performs cyclical control of rotation and stopping rotation based on multiple received planned rotation speeds, performs speed correction calculations, and returns the calibration result to the server, which saves the result. Alternatively, the server sends a cancellation command to the player, which instructs the rotator to stop rotating and returns a pause command, saving the result of calibration failure.
[0091] It should be understood that, although Figures 2-3 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figures 2-3At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0092] In this embodiment, a cumulative error compensation device for CT gantry rotation is provided. This device is used to implement the above embodiments and preferred embodiments, and details already described will not be repeated. As used below, the terms "module," "unit," "subunit," etc., can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0093] Figure 5 This is a structural block diagram of a device for controlling the rotation of a frame according to an embodiment of this application, as shown below. Figure 5 As shown, the device includes: an acquisition module 52, a compensation module 54, and a correction module 56. The acquisition module 52 is used to acquire the planned rotational speed of the frame and the average rotational speed of the frame at the planned rotational speed; the compensation module 54 is used to calculate a speed compensation value based on the planned rotational speed and the average speed, and to determine a correction speed based on the planned rotational speed and the speed compensation value; the compensation and correction module 56 is used to control the frame to rotate at the correction speed.
[0094] Through the above embodiments, the compensation module 54 calculates the speed compensation value by using the planned rotation speed of the frame and the average speed of the frame when rotating at the planned rotation speed. Based on the speed compensation value and the planned rotation speed, the correction speed within a certain time span is obtained to compensate for the cumulative error. This macroscopically eliminates the impact of the cumulative error of the rotation control system on the control accuracy, avoids the occurrence of frame usage errors or termination due to excessively large discrepancies in the actual position of the frame, solves the problem of large errors in controlling the frame rotation, and realizes a device for accurately controlling the frame rotation.
[0095] In some embodiments, the compensation module 54 is further configured to control the frame to rotate a preset number of revolutions, obtain the single-revolution rotation speed corresponding to each revolution, and calculate the average speed based on multiple single-revolution rotation speeds; the compensation module 54 calculates the speed compensation value based on the planned rotation speed and the average speed, and then calculates the corrected speed based on the planned rotation speed and the speed compensation value.
[0096] In some embodiments, the compensation module 54 is further configured to multiply the speed compensation value by the planned rotation speed to obtain a first error value, and calculate the corrected speed based on the planned rotation speed and the first error value.
[0097] In some embodiments, the compensation module 54 is further configured to obtain at least two planned rotational speeds and obtain the average speed of rack rotation corresponding to each planned rotational speed; the compensation module 54 calculates the speed compensation value corresponding to each planned rotational speed according to the average speed, and obtains an average compensation value based on multiple speed compensation values; the compensation module 54 calculates the corrected speed corresponding to each planned rotational speed according to each planned rotational speed and the average compensation value.
[0098] In some embodiments, the compensation module 54 is further configured to multiply the average compensation value by the planned rotation speed to obtain a second error value, and to calculate the correction speed based on the planned rotation speed and the second error value.
[0099] In some embodiments, the aforementioned device for controlling the rotation of the frame further includes a protocol module; the protocol module is used to generate a correction protocol corresponding to the rotation correction command upon receiving the rotation correction command; wherein the correction protocol indicates that the planned rotation speed and the average speed are obtained to calculate the correction speed.
[0100] It should be noted that the above modules can be functional modules or program modules, and can be implemented through software or hardware. For modules implemented through hardware, the above modules can reside in the same processor; or the above modules can be located in different processors in any combination.
[0101] In this embodiment, a system for controlling the rotation of a frame is provided. Figure 6 This is a structural block diagram of a system for controlling the rotation of a frame according to an embodiment of this application, such as... Figure 6 As shown, the system includes a frame 62 and a controller 64; the controller 64 is used to obtain a preset planned rotation speed of the frame 62 and to obtain the average rotation speed of the frame 62 at the planned rotation speed; the controller 64 is also used to calculate a speed compensation value based on the planned rotation speed and the average speed, and to determine a correction speed based on the planned rotation speed and the speed compensation value; the frame 62 is used to rotate according to the correction speed sent by the controller 64.
[0102] Through the above embodiments, the controller 64 calculates the speed compensation value based on the planned rotation speed of the frame 62 and the average speed of the frame 62 when rotating at the planned rotation speed. Based on the speed compensation value and the planned rotation speed, the corrected speed within a certain time span is obtained to compensate for the cumulative error. This macroscopically eliminates the influence of the cumulative error of the rotation control system on the control accuracy, avoids the occurrence of frame usage errors or termination due to excessively large actual position differences of the frame 62, solves the problem of large error in controlling the rotation of the frame 62, and realizes a device for accurately controlling the rotation of the frame 62.
[0103] In some embodiments, the system also includes a motor equipped with a speed control loop; the controller 64 is also configured to control the speed control loop according to the corrected speed, thereby controlling the rotation of the frame 62.
[0104] in, Figure 7 This is a schematic diagram illustrating a measured compensation effect according to an embodiment of this application. Figure 7 For example, based on the actual measurement of the prototype, the average speed delay on prototype 860001 is 293µs. The speed compensation value calculated according to Formula 2 is shown below:
[0105] calibration_coefficient=(average_speed–target_speed) / target_speed
[0106] =(1000293-1000000) / 1000000=0.000293
[0107] The resulting speed compensation value is 0.000293. This speed compensation value is applied to the speed control loop. To observe the data more clearly, the speed unit is expressed in microseconds (µs). The actual effect after compensation is as follows: Figure 4 As shown; according to the actual measurement, the average speed per revolution is basically consistent with the planned rotation speed, and the fluctuation of the speed per revolution is within 3us; after 130s of actual rotation, the cumulative rotation error is only 49us, which is much smaller than the 10ms required by the system, thus meeting the control requirements.
[0108] Through the above embodiments, the effect of cumulative error compensation can be detected by applying the speed compensation value to the speed control loop and conducting actual measurements. Furthermore, the above experiments demonstrate that the cumulative error compensation method in this application embodiment can effectively reduce the differences caused by the hardware control of the rack 62 rotation control system. The compensated speed data is more stable, and the rotation control is more precise, thereby improving the performance of the rack. This enables the rack rotation control of this application to meet more complex and demanding working conditions and has high practical value.
[0109] In some embodiments, the gantry 62 is a CT gantry.
[0110] In this embodiment, a computer device is provided, which may be a server. Figure 8 This is a structural diagram of the internal structure of a computer device according to an embodiment of this application, such as... Figure 8 As shown. The computer device includes a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores calibration speeds. The network interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements the aforementioned method for controlling the rack rotation.
[0111] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0112] This embodiment also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.
[0113] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.
[0114] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:
[0115] S1, obtain the planned rotation speed of the rack, and obtain the average speed at which the rack rotates at the planned rotation speed.
[0116] S2, calculate the speed compensation value based on the planned rotation speed and the average speed, and determine the correction speed based on the planned rotation speed and the speed compensation value.
[0117] S3 controls the frame to rotate at the corrected speed.
[0118] It should be noted that the specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.
[0119] Furthermore, in conjunction with the methods for controlling rack rotation in the above embodiments, this application embodiment can provide a storage medium for implementation. This storage medium stores a computer program; when executed by a processor, the computer program implements any of the methods for controlling rack rotation in the above embodiments.
[0120] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0121] Those skilled in the art should understand that the technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments have been described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0122] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A method for controlling the rotation of a frame, characterized in that, The method includes: Obtain the planned rotation speed of the rack, and obtain the average speed at which the rack rotates at the planned rotation speed; A speed compensation value is calculated based on the planned rotational speed and the average speed, and a correction speed is determined based on the planned rotational speed and the speed compensation value, including: The frame is controlled to rotate a preset number of revolutions, the single-revolution speed corresponding to each revolution is obtained, and the average speed is calculated based on the multiple single-revolution speeds. Calculate the difference between the planned rotation speed and the average speed. Calculate the speed compensation value based on the ratio of the difference to the planned rotation speed. Multiply the speed compensation value by the planned rotation speed to obtain a first error value. Subtract the first error value from the planned rotation speed to calculate the corrected speed. The frame is controlled to rotate at the corrected speed.
2. The method according to claim 1, characterized in that, The step of calculating the speed compensation value based on the planned rotation speed and the average speed, and determining the correction speed based on the planned rotation speed and the speed compensation value, includes: Obtain at least two of the planned rotation speeds, and obtain the average speed of rack rotation corresponding to each of the planned rotation speeds; Calculate the speed compensation value corresponding to each of the planned rotation speeds based on the average speed, and obtain the average compensation value based on the multiple speed compensation values; The corrected speed corresponding to each planned rotation speed is calculated based on each planned rotation speed and the average compensation value.
3. The method according to claim 2, characterized in that, The step of calculating the correction speed corresponding to each planned rotation speed based on each planned rotation speed and the average compensation value includes: The average compensation value is multiplied by the planned rotation speed to obtain the second error value, and the corrected speed is calculated by subtracting the second error value from the planned rotation speed.
4. The method according to any one of claims 1 to 3, characterized in that, Before obtaining the planned rotational speed of the rack, the method further includes: Upon receiving a rotation correction command, a correction protocol corresponding to the rotation correction command is generated; wherein the correction protocol indicates that the planned rotation speed and the average speed are obtained to calculate the correction speed.
5. A system for controlling the rotation of a frame, characterized in that, The system includes a rack and a controller; The controller is used to obtain a preset planned rotation speed of the rack, and to obtain the average speed at which the rack rotates at the planned rotation speed; The controller is also configured to calculate a speed compensation value based on the planned rotation speed and the average speed, and determine a correction speed based on the planned rotation speed and the speed compensation value, including: controlling the frame to rotate a preset number of revolutions, obtaining the single-revolution rotation speed corresponding to each revolution, and calculating the average speed based on multiple single-revolution rotation speeds; The controller is also used to calculate the difference between the planned rotation speed and the average speed calculation, obtain the speed compensation value based on the ratio of the difference to the planned rotation speed, multiply the speed compensation value by the planned rotation speed to obtain a first error value, and subtract the first error value from the planned rotation speed to calculate the corrected speed; The frame is used to rotate according to the correction speed sent by the controller.
6. The system according to claim 5, characterized in that, The system also includes a motor, which is equipped with a speed control loop; The controller is also used to control the speed control loop according to the correction speed, thereby controlling the rotation of the frame.
7. The system according to claim 5 or 6, characterized in that, The gantry is a CT gantry.
8. A storage medium, characterized in that, The storage medium stores a computer program, wherein the computer program is configured to execute the method for controlling the rotation of the frame as described in any one of claims 1 to 4 when it is run.
Citation Information
Patent Citations
Correcting method and system for rotation speed of CT machine
CN105534541A