Multi-leaf collimator blade driving system and method

By combining feedback and feedforward control signals, the motion factors of the multi-leaf collimator blades are compensated, and the problem of blade motion lag is solved and the accuracy of the control system is improved.

CN116173428BActive Publication Date: 2025-08-26SHANGHAI UNITED IMAGING HEALTHCARE
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202310071197.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-03-12
Publication Date
2025-08-26
Estimated Expiration
2040-03-12

AI Technical Summary

Technical Problem

During the movement of the multi-leaf collimator (MLC) blades, the motion lags due to gravity, friction, acceleration and other factors, reducing the control accuracy of the control system.

Method used

In combination with feedback control and feedforward control, a plurality of control signals are generated to compensate for blade movement, including control signals generated based on the target position, velocity, acceleration and current angle, driving the blade movement through the driving circuit.

Benefits of technology

The motion control accuracy of the multi-leaf collimator blades is improved, the motion hysteresis is reduced, and the dynamic following accuracy of the control system is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116173428B_ABST
    Figure CN116173428B_ABST
Patent Text Reader

Abstract

A method for driving blades of a multi-leaf collimator (MLC). The method may include obtaining a target position for the blades; identifying a current position of the blades; generating a first control signal based on the target position of the blades and the current position of the blades; generating a second control signal based on at least one of a target velocity of the blades, a target acceleration of the blades, and a current angle of the blades; generating a third control signal based on the first control signal and the second control signal; and / or providing the third control signal to a drive circuit, causing the drive circuit to generate a drive signal to drive the blades toward the target position.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Description of the case

[0002] This application is a divisional application filed for the Chinese application with application date of March 12, 2020, application number 202080003818.2, and invention name “Multi-leaf collimator blade driving system and method”. Technical Field

[0003] The present invention generally relates to a multi-leaf collimator, and more particularly to a multi-leaf collimator blade driving system and method. Background Art

[0004] Radiation therapy has been widely used in cancer treatment, in which ionizing radiation (e.g., X-rays) is directed to a treatment area (e.g., a tumor). Radiation therapy can alleviate symptoms in a subject. Generally, it is desirable to confine the radiation so that the radiation dose is maximized in the treatment area and minimized in the healthy tissue of the subject. A multi-leaf collimator (MLC) plays an important role in collimating the radiation. The MLC can have at least two leaf pairs, and the leafs can typically be driven by a drive motor (e.g., through a closed-loop control system), which can provide relatively high spatial resolution and accuracy. However, during the treatment process, one or more motion factors associated with the leaf (e.g., gravity, friction, acceleration, deceleration, etc.) can affect the movement of the leaf, thereby causing a lag in the movement of the leaf, and / or reducing the control accuracy of the control system. Therefore, it is desirable to provide compensation for the motion control of the leaf of the MLC to improve the control accuracy. Summary of the Invention

[0005] In one aspect of the present disclosure, a method for driving blades of a multi-leaf collimator (MLC) is provided. The method can be implemented on a machine including at least one processor and a storage device. The method can include: obtaining a target position of the blade; identifying a current position of the blade; generating a first control signal based on the target position of the blade and the current position of the blade; generating a second control signal based on at least one of a target velocity of the blade, a target acceleration of the blade, and a current angle of the blade; generating a third control signal based on the first control signal and the second control signal; and / or providing the third control signal to a drive circuit to cause the drive circuit to generate a drive signal to drive the blade toward the target position.

[0006] In some embodiments, generating a second control signal based on at least one of the target velocity of the blade, the target acceleration of the blade, and the current angle of the blade includes: obtaining the target acceleration of the blade; and / or generating a first component of the second control signal based on the target acceleration of the blade and a first gain.

[0007] In some embodiments, generating the first component of the second control signal based on the target acceleration of the blade and a first gain includes generating the first component of the second control signal by multiplying the target acceleration of the blade by the first gain.

[0008] In some embodiments, the first gain is related to the mass of the blade and characteristics of a driving circuit.

[0009] In some embodiments, the MLC is mounted on a frame, and the first gain is determined according to the following steps, including: positioning the frame at an initial angle of 0°; detecting at least two velocity curves by driving the blade from a stationary state under the action of at least two fourth control signals; generating an acceleration curve based on the at least two velocity curves, the acceleration curve illustrating a relationship between at least two accelerations and the at least two fourth control signals; and / or assigning a slope of the acceleration curve as the first gain.

[0010] In some embodiments, generating a second control signal based on at least one of the target speed of the blade, the target acceleration of the blade, and the current angle of the blade includes: obtaining the target speed of the blade and the current angle of the blade; and / or generating a second component of the second control signal based on the target speed of the blade, the current angle of the blade, and at least one of a second gain, a third gain, and a fourth gain.

[0011] In some embodiments, generating the second component of the second control signal includes: determining a first product of the cosine of the current angle of the blade multiplied by the second gain; determining a second product of the sine of the current angle of the blade multiplied by a third gain; determining the sum of the first product and the second product; adjusting the sum according to the direction of the target speed of the blade; determining a third product of the target speed of the blade multiplied by the fourth gain; and / or generating the second component of the second control signal based on the sum and the third product.

[0012] In some embodiments, the MLC is mounted on a rack, and the second gain is determined according to the following steps, including: positioning the rack at an initial angle of 0°; driving the blade to move from a stationary state by increasing a fourth control signal from 0 to a critical value, wherein the blade starts to move under the action of the fourth control signal having the critical value; and / or determining the second gain according to the critical value.

[0013] In some embodiments, the MLC is mounted on a collimator, which is mounted on a gantry, and the third gain is determined according to the following steps, including: positioning the gantry at an angle of 90°; positioning the collimator at an initial angle of 0°; driving the blades to move upward from a stationary state by increasing a fourth control signal from 0 to a first critical value, wherein the blades begin to move upward under the action of the fourth control signal having the first critical value; driving the blades to move downward from a stationary state by increasing the fourth control signal from 0 to a second critical value, wherein the blades begin to move downward under the action of the fourth control signal having the second critical value; and / or determining the third gain based on a difference between the first critical value and the second critical value.

[0014] In some embodiments, the MLC is mounted on a frame, and the fourth gain is determined according to the following steps, including: positioning the frame at an initial angle of 0°; detecting at least two speeds of the blade in steady-state motion under the action of at least two fourth control signals; generating a speed curve, which describes the relationship between the at least two speeds and the at least two fourth control signals; and / or designating the slope of the speed curve as the fourth gain.

[0015] In some embodiments, generating a second control signal based on at least one of the target velocity of the blade, the target acceleration of the blade, and the current angle of the blade includes: obtaining the current angle of the blade; and generating a third component of the second control signal based on the current angle of the blade and a fifth gain.

[0016] In some embodiments, generating the third component of the second control signal based on the current angle of the blade and a fifth gain includes generating the third component of the second control signal by multiplying the sine of the current angle of the blade by the fifth gain.

[0017] In some embodiments, the MLC is mounted on a collimator, the collimator is mounted on a gantry, and the fifth gain is determined according to the following steps, including: positioning the gantry at an angle of 90°; positioning the collimator at an initial angle of 0°; driving the blades to move upward from a stationary state by increasing a fourth control signal from 0 to a first critical value, wherein the blades begin to move upward under the action of the fourth control signal having the first critical value; driving the blades to move downward from a stationary state by increasing the fourth control signal from 0 to a second critical value, wherein the blades begin to move downward under the action of the fourth control signal having the second critical value; and / or determining the fifth gain based on the sum of the first critical value and the second critical value.

[0018] In some embodiments, generating a first control signal based on the target position of the blade and the current position of the blade includes: determining a first difference between the target position of the blade and the current position of the blade; generating an output signal of the position control loop by inputting the first difference into a position control loop; identifying the current speed of the blade; determining a second difference between the output signal of the position control loop and the current speed of the blade; and / or generating the first control signal based on the second difference and a speed control loop.

[0019] In some embodiments, identifying the current speed of the blade includes: detecting the current speed of the blade using a displacement sensor or an encoder.

[0020] In some embodiments, identifying the current position of the blade includes: detecting the current position of the blade using a displacement sensor or an encoder.

[0021] In some embodiments, the MLC is mounted on a collimator, and the collimator is mounted on a gantry. The method further comprises determining a current angle of the blade based on a current angle of the collimator and a current angle of the gantry.

[0022] In some embodiments, the third control signal is a pulse width modulation (PWM) signal.

[0023] In another aspect of the present disclosure, a system for driving blades of a multi-leaf collimator (MLC) is provided. The system includes at least one storage device storing an instruction set; and at least one processor in communication with the storage device, wherein when executing the instruction set, the at least one processor is configured to cause the system to perform the following operations, including: obtaining a target position of the blade; identifying a current position of the blade; generating a first control signal based on the target position of the blade and the current position of the blade; generating a second control signal based on at least one of a target velocity of the blade, a target acceleration of the blade, and a current angle of the blade; generating a third control signal based on the first control signal and the second control signal; and providing the third control signal to a drive circuit to cause the drive circuit to generate a drive signal to drive the blade toward the target position.

[0024] In another aspect of the present disclosure, a non-transitory computer-readable medium is provided. The non-transitory computer-readable medium includes at least one set of instructions for driving blades of a multi-leaf collimator (MLC). When executed by one or more processors of a computing device, the at least one set of instructions causes the computing device to perform a method comprising: obtaining a target position of the blade; identifying a current position of the blade; generating a first control signal based on the target position of the blade and the current position of the blade; generating a second control signal based on at least one of a target velocity of the blade, a target acceleration of the blade, and a current angle of the blade; generating a third control signal based on the first control signal and the second control signal; and generating a drive signal by providing the third control signal to a drive circuit to drive the blade toward the target position.

[0025] Some additional features of the present application may be explained in the following description. Some additional features of the present application will be apparent to those skilled in the art through study of the following description and accompanying drawings, or through understanding the production or operation of the embodiments. The features of the present application may be realized and achieved through practice or use of the methods, means, and combinations of various aspects of the specific embodiments described below. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The present application will be further described by way of exemplary embodiments. These exemplary embodiments will be described in detail with reference to the accompanying drawings. These embodiments are non-limiting exemplary embodiments, in which the same numbers in the various figures represent similar structures, wherein:

[0027] Figure 1 shows a schematic diagram of an exemplary radiation therapy system according to some embodiments of the present disclosure;

[0028] Figure 2 A schematic diagram illustrating hardware and / or software components of an exemplary computing device on which a processing device may be implemented according to some embodiments of the present disclosure;

[0029] Figure 3 A schematic diagram illustrating hardware and / or software components of an exemplary mobile device 300 on which a terminal may be implemented according to some embodiments of the present disclosure;

[0030] Figure 4 shows a block diagram of an exemplary processing device according to some embodiments of the present disclosure;

[0031] Figure 5 A flow chart illustrating an exemplary process for driving the blades of a multi-leaf collimator according to some embodiments of the present disclosure is shown;

[0032] Figure 6A flowchart illustrating an exemplary process for generating a feedback control signal according to some embodiments of the present disclosure is shown;

[0033] Figure 7 A flow chart illustrating an exemplary process for generating a feedforward control signal according to some embodiments of the present disclosure is shown;

[0034] Figure 8 A block diagram illustrating an exemplary control system for generating a compensated control signal using feedback control and feedforward control according to some embodiments of the present disclosure is shown;

[0035] Figure 9 A schematic diagram illustrating exemplary sliding friction when a blade of an MLC moves in a horizontal direction according to some embodiments of the present disclosure;

[0036] Figure 10 a schematic diagram illustrating exemplary sliding friction when a blade of an MLC moves in the direction of gravity according to some embodiments of the present disclosure; and

[0037] Figure 11 A schematic diagram illustrating exemplary pressure on a blade at an angle θ according to some embodiments of the present disclosure. DETAILED DESCRIPTION

[0038] In order to more clearly illustrate the technical solutions of the embodiments of the present application, a brief introduction to the drawings required for use in the description of the embodiments will be given below. However, it will be apparent to those skilled in the art that the present application can be implemented without these details. In other examples, known methods, procedures, systems, components and / or circuits have been described at a relatively high level without detailed description to avoid unnecessary ambiguity in certain aspects of the present disclosure. Various modifications to the disclosed embodiments will be apparent to those skilled in the art, and the general principles defined in the present disclosure may be applied to other embodiments and application scenarios without departing from the spirit and scope of the present application. Therefore, the present disclosure is not limited to the embodiments shown, but is in the broadest scope consistent with the claims.

[0039] The terms used in this disclosure are for the purpose of describing specific example embodiments only and are not intended to be limiting. As used in this disclosure, the singular forms "a," "an," and "the" may also include the plural forms, unless the context clearly indicates an exception. It should also be understood that the terms "comprises" and "includes" as used in this disclosure merely indicate the presence of the features, integers, steps, operations, components, and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps, operations, components, parts, and / or combinations thereof.

[0040] It is understood that the terms "system," "engine," "unit," "module," and / or "block" used herein are methods for distinguishing different components, elements, parts, portions, or assemblies at different levels in ascending order. However, these terms may be replaced by other expressions if the same purpose can be achieved.

[0041] Generally, the terms "module," "unit," or "block" as used herein refer to logic embodied in hardware or firmware, or a collection of software instructions. The modules, units, or blocks described in this disclosure may be implemented as software and / or hardware and may be stored in any type of non-transitory computer-readable medium or another storage device. In some embodiments, software modules / units / blocks may be compiled and linked into an executable program. It will be understood that software modules may be callable from other modules / units / blocks or from themselves, and / or may be called in response to detected events or interrupts. Software modules / units / blocks configured to be executed on a computing device may be provided on a computer-readable medium (e.g., Figure 2 ), the computer-readable medium may be, for example, a compact disc, a digital video disc, a flash drive, a magnetic device, a compact disc or any other tangible medium, or as a digital download (and may be initially stored in a compressed or installable format, requiring installation, decompression or decryption before execution). The software code herein may be stored in part or in whole in a storage device of the executing computing device for execution by the computing device. The software instructions may be embedded in firmware such as an EPROM. It should also be understood that hardware modules / units / blocks may be included in connected logical components, such as gates and triggers, and / or may be included in programmable units, such as programmable gate arrays or processors. The modules / units / blocks or computing device functions described herein may be implemented as software modules / units / blocks, but may be represented in hardware or firmware. Generally, the modules / units / blocks described herein refer to logical modules / units / blocks, which may be combined with other modules / units / blocks or divided into sub-modules / sub-units / sub-blocks, although they are physical organizations or storage devices. This description may apply to a system, an engine, or a portion thereof.

[0042] It will be understood that, unless the context clearly indicates otherwise, when a unit, engine, module, or block is referred to as being "on," "connected," or "coupled to" another unit, engine, module, or block, it may be directly on, connected, coupled, or in communication with the other unit, engine, module, or block, or there may be intervening units, engines, modules, or blocks. In this disclosure, the term "and / or" may include any one or more of the relevant listed items or any combination thereof.

[0043] These and other features and characteristics of the present disclosure, as well as the functions and methods of operation of the related structural elements, as well as the assembly of components and manufacturing economies, will become more apparent from the following description of the accompanying drawings. These drawings form a part of the present disclosure. However, it should be understood that the drawings are for illustration and description purposes only and are not intended to limit the scope of the present disclosure. It should be understood that the drawings are not drawn to scale.

[0044] The flowcharts used in this disclosure illustrate operations performed by the systems illustrated in some embodiments of the present disclosure. It should be clearly understood that the operations of the flowcharts may not be performed in order. Instead, the various steps may be performed in reverse order or simultaneously. Furthermore, one or more additional operations may be added to these flowcharts. One or more operations may also be deleted from the flowcharts.

[0045] The present disclosure relates to systems and methods for driving one or more leaves of a multi-leaf collimator (MLC). Due to the presence of one or more motion factors (e.g., gravity, friction, acceleration, deceleration, etc.), conventional closed-loop feedback control of the MLC leaves may cause movement lag of the leaves, thereby reducing the control accuracy of the control system. For example, if the speed of the leaves frequently accelerates or decelerates during processing, using only feedback control may cause acceleration lag. Due to the acceleration lag, the leaves cannot move at the required acceleration in time, resulting in large errors. As another example, if the MLC or the leaves of the MLC begin to move from a stationary state, there may be friction forces (e.g., sliding friction, viscous friction, etc.) that hinder the movement of the leaves or MLC. Viscous friction can be related to the speed of the leaves. Since the initial driving force output by the driving device of the MLC is usually less than the friction force when using only feedback control, the leaves or MLC may remain static for a period of time in the initial stage of driving, thereby causing position lag and velocity lag. One reason the initial driving force is smaller than the friction force is that, when using only feedback control, there may be position errors (between the desired position and the current position) and / or speed errors (between the desired speed and the current speed). As another example, when the MLC rotates together with the gantry of the radiation delivery device, the weight of the blades of the MLC may vary, thereby reducing the dynamic tracking accuracy of the feedback control.

[0046] In the present disclosure, feedforward control can be combined with closed-loop feedback control, and feedforward compensation can be introduced into the closed-loop feedback control to reduce or eliminate the motion lag of the blade. Feedforward control can generate one or more control signals associated with motion factors (e.g., gravity, friction, acceleration or deceleration, etc.) based on a predetermined target speed, a predetermined target acceleration and / or the current angle of the blade. The control signal can be used to reduce or eliminate the influence of motion factors on the motion of the blade. The system and method in the present disclosure can combine the advantages of feedback control and feedforward control and improve the control accuracy of the control system. Specifically, in some embodiments, the system and method in the present disclosure can obtain a target position of the blade; identify the current position of the blade; generate a first control signal based on the target position of the blade and the current position of the blade; generate a second control signal based on at least one of the target speed of the blade, the target acceleration of the blade and the current angle of the blade; generate a third control signal based on the first control signal and the second control signal; and provide the third control signal to the drive circuit so that the drive circuit generates a drive signal to drive the blade toward the target position.

[0047] Figure 1 Schematic diagram of an exemplary radiation therapy system according to some embodiments of the present disclosure is shown. Figure 1 As shown, the radiotherapy system 100 includes a radiation delivery device 110, a network 120, one or more terminals 130, a processing device 140, and a storage device 150. In some embodiments, the one or more terminals 130 are used as one or more host computers (or master computers), and the processing device 140 is used as a lower computer (or slave computer). The components in the radiotherapy system 100 are connected in one or more of a variety of ways. By way of example only, the radiation delivery device 110 can be directly connected to the processing device 140 (e.g., via an optical fiber (e.g., a Peripheral Component Interconnect Express (PCI-E) cable)). As another example, the radiation delivery device 110 can be connected to the processing device 140 through the network 120, as indicated by a double-headed arrow linking the radiation delivery device 110 and the network 120. As yet another example, the storage device 150 can be connected to the processing device 140 directly or through the network 120. As yet another example, terminal 130 may be directly connected to processing device 140 (as indicated by the double-headed arrow in the dashed line linking terminal 130 and processing device 140 ) or connected through network 120 .

[0048] In some embodiments, the radiation delivery device 110 can be a radiation therapy (RT) device. In some embodiments, the RT device can deliver one or more radiation beams to a treatment area (e.g., a tumor) of an object (e.g., a patient) to alleviate the symptoms of the object. In some embodiments, the RT device includes a linear accelerator (also referred to as a "linear accelerator"). The linear accelerator can generate and emit a radiation beam (e.g., an X-ray beam) from a treatment head. The radiation beam can pass through one or more collimators (e.g., an MLC) formed into certain shapes and enter the object. In some embodiments, the radiation beam can include electrons, photons, or other types of radiation. In some embodiments, the energy of the radiation beam is in the megavoltage range (e.g., >1 MeV) and is therefore referred to as a megavoltage beam. The treatment head can be connected to a gantry. The gantry can rotate, for example, clockwise or counterclockwise around a gantry rotation axis. In some embodiments, the treatment head can rotate with the gantry. In some embodiments, the RT device further includes a bed configured to support the object during radiation therapy.

[0049] In some embodiments, the radiation delivery device 110 may further include one or more MLCs ( Figure 1 (not shown in the figure). The MLC is configured to calibrate the radiation beam of the radiation delivery device 110 and / or define its beam shape. In some embodiments, the MLC includes at least two blades. The at least two blades can form an aperture that can define or change the shape of the beam. In some embodiments, one or more blades of the MLC can be moved according to the treatment plan. In some embodiments, the shape of the aperture can be changed according to the desired sub-field shape of the treatment plan.

[0050] In some embodiments, the radiation delivery device 110 may further include one or more driving circuits ( Figure 1 (not shown). In some embodiments, the drive circuit can generate a drive signal to drive the blades of the MLC toward the target position during treatment. In some embodiments, the drive circuit can be disposed in the radiation delivery device 110 and can communicate with the processing device 140 via a connection between the radiation delivery device 110 and the processing device 140. For example, the processing device 140 can provide (or send) a control signal to the drive circuit, and in response, the drive circuit can generate a drive signal to drive the blades toward the target position.

[0051] In some embodiments, the radiation delivery device 110 may further include one or more actuators configured to actuate the blades for movement. In some embodiments, each blade may be actuated by an actuator. Exemplary actuators may include motors, compressed gas contained in one or more cylinders, and the like. In the following description, electric motors are described for illustrative purposes, and it should be noted that any other type of actuator may be used to actuate the blades for movement when using the drive methods and systems of the present disclosure.

[0052] In some embodiments, the radiation delivery device 110 may further include one or more position detection devices ( Figure 1 (not shown in the figure). The position detection device can be configured to directly or indirectly detect the current position of the blade and / or the current speed of the blade. In some embodiments, the position detection device can detect the displacement of the blade, and the current position of the blade can be determined based on the displacement of the blade and the initial position of the blade and the current speed of the corresponding blade. Therefore, the flow rate of the blade can be determined based on the displacement of the blade and the time of the blade movement. Exemplary position detection devices may include magnetic displacement sensors (e.g., Hall effect sensors), grating displacement sensors, encoders (e.g., encoders mounted on actuators (e.g., motors, cylinders, etc.)), potentiometers (e.g., potentiometers mounted on motors), etc. or any combination thereof. In some embodiments, the blades may have corresponding position detection devices.

[0053] By way of example only, a magnetic displacement sensor may be used to detect the current position and / or current speed of the blade. The magnetic displacement sensor may include a magnetic element and / or a magnetic sensor corresponding to the magnetic element. In some embodiments, the magnetic element may include a bar magnet. In some embodiments, the magnetic sensor may include a Hall effect sensor. In some embodiments, the magnetic element may be disposed on the blade, and the magnetic sensor may be disposed on the housing of the MLC (see FIG. Figure 9-10 ). Alternatively, the magnetic sensor can be provided on the blade, and the magnetic element can be provided on the housing of the MLC. If the magnetic element moves together with the blade and relative to the magnetic sensor, the magnetic field sensed by the magnetic sensor can change, and a pulse signal can be output by the magnetic sensor. In some embodiments, the displacement of the blade can be determined based on the number (or count) of pulses output by the Hall effect sensor, and thus, the position and / or speed of the blade can be determined as described above.

[0054] As another example, an encoder can be used to detect the current position and / or current speed of the blade. In some embodiments, the encoder can be mounted on an actuator (e.g., a motor) and detect the number of revolutions (or counts) of the actuator. The displacement of the blade can be determined based on the number of revolutions (or counts) of the actuator, and thus, the position and / or speed of the blade can be determined as described above.

[0055] As another example, a potentiometer can be used to detect the current position and / or current speed of the blade. In some embodiments, the potentiometer can be mounted on an actuator (e.g., a motor). If the actuator actuates the blade to cause it to move, the potentiometer can output a resistance or voltage signal corresponding to the displacement of the blade. The displacement of the blade can be determined based on the resistance output by the potentiometer, and thus, the position and / or speed of the blade can be determined as described above.

[0056] In some embodiments, the blade may have two corresponding position detection devices. For example, the blade may have a magnetic displacement sensor and a potentiometer. The displacement of the blade detected by the two position detection devices can be used to determine whether the position feedback related to the detected position is abnormal (i.e., whether the encoder is abnormal).

[0057] In some embodiments, the current position of the blade and / or the current speed of the blade may be transmitted to the processing device 140 (e.g., the control signal generation module 406) to generate a control signal. In some embodiments, the current position of the blade may be used as an input to a position control loop (e.g., Figure 8 In some embodiments, the current speed of the blade can be used as an input to a speed control loop (e.g., Figure 8 More description of the generation of control signals can be found elsewhere in this disclosure (e.g., Figure 8 In some embodiments, the current position of the blade and / or the current speed of the blade may be further sent to terminal 130 for display.

[0058] In some embodiments, the object to be treated or scanned (also referred to as an imaging object) may include the body, matter, etc., or any combination thereof. In some embodiments, the object may include a specific part of the body, such as the head, chest, abdomen, etc., or any combination thereof. In some embodiments, the object may include a specific organ, such as the breast, esophagus, trachea, bronchi, stomach, gallbladder, small intestine, colon, bladder, ureter, uterus, fallopian tube, etc.

[0059] The network 120 may include any suitable network that facilitates the exchange of information and / or data of the radiotherapy system 100. In some embodiments, one or more components of the radiotherapy system 100 (e.g., the radiation delivery device 110, the terminal 130, the processing device 140, the storage device 150, etc.) may transmit information and / or data with one or more other components of the radiotherapy system 100 via the network 120. For example, the processing device 140 may obtain user instructions from the terminal 130 via the network 120. In some embodiments, the control device of the MLC and the lower computer may be connected via a peripheral component interconnect express (PCI-E) cable. In some embodiments, the processing device 140 may serve as the lower computer, and the processing device 140 may directly obtain data corresponding to the blades of the MLC via the PCI-E cable. The network 120 may be and / or include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN), a wide area network (WAN), etc.), a wired network (e.g., Ethernet), a wireless network (e.g., an 802.11 network, a Wi-Fi network, etc.), a cellular network (e.g., a Long Term Evolution (LTE) network), a frame relay network, a virtual private network (“VPN”), a satellite network, a telephone network, a router, a hub, a switch, a server computer, and / or any combination thereof. By way of example only, the network 120 may include a cable network, a wired network, a fiber optic network, a telecommunications network, an intranet, a wireless local area network (WLAN), a metropolitan area network (MAN), a public switched telephone network (PSTN), a Bluetooth™ network, a ZigBee™ network, a near field communication (NFC) network, etc., or any combination thereof. In some embodiments, the network 120 may include one or more network access points. For example, the network 120 may include wired and / or wireless network access points, such as base stations and / or Internet exchange points, through which one or more components of the radiation therapy system 100 may connect to the network 120 to exchange data and / or information.

[0060] The terminal 130 can facilitate the interaction between the user and the radiation therapy system 100. The terminal 130 may include a mobile device 131, a tablet computer 132, a laptop computer 133, etc., or any combination thereof. In some embodiments, the mobile device 131 may include a smart home device, a wearable device, a mobile device, a virtual reality device, an augmented reality device, etc., or any combination thereof. For example only, the terminal 130 may include Figure 3The mobile device shown. In some embodiments, smart home devices may include smart lighting devices, smart appliance control devices, smart monitoring devices, smart TVs, smart cameras, intercoms, etc., or any combination thereof. In some embodiments, wearable devices may include bracelets, shoes and socks, glasses, helmets, watches, clothing, backpacks, smart accessories, etc., or any combination thereof. In some embodiments, mobile devices may include mobile phones, personal digital assistants (PDAs), gaming devices, navigation devices, point of sale (POS) devices, laptop computers, tablet computers, desktop computers, etc., or any combination thereof. In some embodiments, virtual reality devices and / or augmented reality devices may include virtual reality helmets, virtual reality glasses, virtual reality goggles, augmented reality helmets, augmented reality glasses, augmented reality goggles, etc., or any combination thereof. For example, virtual reality devices and / or augmented reality devices may include Google Glass TM , Oculus Rift TM , Hololens TM , GearVR TM Etc. In some embodiments, one or more terminals 130 may be part of the processing device 140. In some embodiments, one or more terminals 130 may remotely operate the radiation delivery device 110. In some embodiments, one or more terminals 130 may operate the radiation delivery device 110 via a wireless connection. In some embodiments, one or more terminals 130 may receive information and / or instructions input by a user and transmit the received information and / or instructions to the radiation delivery device 110 or the processing device 140 via the network 120. In some embodiments, one or more terminals 130 may receive data and / or information from the processing device 140. In some embodiments, one or more terminals 130 may be part of the processing device 140. In some embodiments, the terminal 130 may be omitted. In some embodiments, one or more terminals 130 may include a control handle, a control box, a console, etc.

[0061] The processing device 140 can process data and / or information obtained from the radiation delivery device 110, the terminal 130 and / or the storage device 150. For example, the processing device 140 can obtain a target position of the blade. As another example, the processing device 140 can identify the current position of the blade. As yet another example, the processing device 140 can generate a first control signal based on the target position of the blade and the current position of the blade. As yet another example, the processing device 140 can generate a second control signal based on at least one of the target velocity of the blade, the target acceleration of the blade and the current angle of the blade. As yet another example, the processing device 140 can generate a third control signal based on (e.g., by summing) the first control signal and the second control signal. As yet another example, the processing device 140 can provide the third control signal to the drive circuit, causing the drive circuit to generate a drive signal to drive the blade toward the target position.

[0062] In some embodiments, the processing device 140 may be a computer, a user console, a single server or a server group, etc. The server group may be centralized or distributed. In some embodiments, the processing device 140 may be local or remote. For example, the processing device 140 may access information and / or data stored in the radiation delivery device 110, the terminal 130 and / or the storage device 150 via the network 120. As another example, the processing device 140 may be directly connected to the radiation delivery device 110, the terminal 130 and / or the storage device 150 to access the stored information and / or data. In some embodiments, the processing device 140 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, etc., or any combination thereof. In some embodiments, the processing device 140 may be provided by a computer having a plurality of computer systems such as: Figure 2 The computing device 200 may implement one or more of the components shown.

[0063] In some embodiments, the components of the radiotherapy system 100 (e.g., the radiation delivery device 110, the terminal 130, and the processing device 140) can communicate with each other during the treatment process. For example, before the treatment process, the terminal 130 can send instructions or information related to the target position of the blade to the processing device 140. The processing device 140 can determine a preset speed and / or preset acceleration based on the target position, and / or store the preset speed and / or preset acceleration. As another example, before the treatment process, the preset speed and / or preset acceleration can be determined by the terminal 130 and / or stored in the terminal 130. Alternatively, the terminal 130 can send the preset speed and / or preset acceleration to the processing device 140, and the preset speed and / or preset acceleration can be stored in the processing device 140. As another example, during the treatment process, the processing device 140 can obtain the preset speed and / or preset acceleration from the terminal 130. As another example, during treatment, the radiation delivery device 110 may transmit the current position and / or current velocity of the blade to the processing device 140. The processing device 140 may drive the blade to move based on a preset velocity, a preset acceleration, the current position and / or the current velocity. As another example, the processing device 140 may send the current position and / or current velocity of the blade to the terminal 130 for display.

[0064] The storage device 150 can store data, instructions, and / or any other information. In some embodiments, the storage device 150 can store data obtained from the radiation delivery device 110, the terminal 130, and / or the processing device 140. For example, the storage device 150 can store treatment plans, parameters related to trajectory generation, parameters related to motion control (e.g., parameters related to feedback control and / or feedforward control (e.g., one or more gains of the control system)), parameters related to the motion state of the blade (e.g., gravity, friction, velocity, acceleration, target position, current position, etc.), etc. In some embodiments, the storage device 150 can store data and / or instructions that the processing device 140 can execute or use to perform the exemplary methods described in this disclosure. In some embodiments, the storage device 150 can include a mass storage device, a removable storage device, a volatile read-write memory, a read-only memory (ROM), etc., or any combination thereof. Exemplary mass storage devices can include magnetic disks, optical disks, solid-state drives, etc. Exemplary removable storage devices can include flash drives, floppy disks, optical disks, memory cards, zip disks, magnetic tapes, etc. Exemplary volatile read-write memory may include random access memory (RAM). Exemplary RAM may include dynamic random access memory (DRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), static random access memory (SRAM), thyristor random access memory (T-RAM), and zero capacitance random access memory (Z-RAM). Exemplary ROM may include mask ROM (MROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), compact disc ROM (CD-ROM), and digital versatile disk ROM. In some embodiments, the storage device 150 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, or any combination thereof.

[0065] In some embodiments, the storage device 150 can be connected to the network 120 to communicate with one or more other components of the radiation therapy system 100 (e.g., the processing device 140, the terminal 130, etc.). One or more components of the radiation therapy system 100 can access data or instructions stored in the storage device 150 via the network 120. In some embodiments, the storage device 150 can be directly connected to or communicate with one or more other components of the radiation therapy system 100 (e.g., the processing device 140, the terminal 130, etc.). In some embodiments, the storage device 150 can be part of the processing device 140. In some embodiments, the processing device 140 can be connected to or communicate with the radiation delivery device 110 via the network 120 or at a back end of the processing device 140.

[0066] Figure 2 1 is a schematic diagram illustrating exemplary hardware and / or software components of an exemplary computing device on which processing device 140 may be implemented according to some embodiments of the present disclosure. Figure 2 As shown, the computing device 200 may include a processor 210, a memory 220, an input / output (I / O)

[0067] 230 and communication port 240.

[0068] The processor 210 can execute computer instructions (e.g., program code) and perform the functions of the processing device 140 in accordance with the techniques described in this disclosure. The computer instructions may include, for example, routines, programs, objects, components, data structures, processes, modules, and functions that perform the specific functions described in this disclosure. For example, the processor 210 can process data obtained from the radiation delivery device 110, the terminal 130, the storage device 150, and / or any other component of the radiotherapy system 100. In some embodiments, the processor 210 can determine the preset positions of the blades based on information related to the treatment plan. The treatment plan can be obtained from a treatment planning system (TPS) associated with the radiotherapy system 100. The information related to the treatment plan may include preoperative medical images representing internal anatomical information of the object to be treated or imaged. In some embodiments, the processor 210 can perform trajectory generation based on the preset positions. In some embodiments, the processor 210 can perform motion control based on the generated trajectory. In some embodiments, the processor 210 may include one or more hardware processors, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC), an application-specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), a central processing unit (CPU), a graphics processing unit (GPU), a physical processing unit (PPU), a microcontroller unit, a digital signal processor (DSP), a field programmable gate array (FPGA), an advanced RISC machine (ARM), a programmable logic device (PLD), any circuit or processor capable of performing one or more functions, etc., or any combination thereof.

[0069] For illustrative purposes only, only one processor is described in the computing device 200. However, it should be noted that the computing device 200 in the present disclosure may also include multiple processors. Therefore, the operations and / or method steps described in the present disclosure as being performed by one processor may also be performed jointly or separately by multiple processors. For example, if in the present disclosure, the processor of the computing device 200 performs operation A and operation B simultaneously, it should be understood that operation A and operation B may also be performed jointly or separately by two or more different processors in the computing device 200 (e.g., the first processor performs operation A, the second processor performs operation B, or the first processor and the second processor jointly perform operations A and B).

[0070] The memory 220 can store data / information obtained from the radiation delivery device 110, the terminal 130, the storage device 150, and / or any other component of the radiation therapy system 100. In some embodiments, the memory 220 may include a mass storage device, a removable storage device, a volatile read-write memory, a read-only memory (ROM), or the like, or any combination thereof. For example, the mass storage device may include a magnetic disk, an optical disk, a solid-state drive, or the like. The removable storage device may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, or the like. The volatile read-write memory may include a random access memory (RAM). The RAM may include dynamic RAM (DRAM), double data rate synchronous dynamic RAM (DDR SDRAM), static RAM (SRAM), thyristor RAM (T-RAM), zero capacitor RAM (Z-RAM), or the like. ROM may include mask ROM (MROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), compact disc ROM (CD-ROM), and digital versatile disk ROM. In some embodiments, memory 220 may store one or more programs and / or instructions to execute the exemplary methods described in this disclosure. For example, memory 220 may store a program for driving the blades of an MLC.

[0071] The I / O 230 may input and / or output signals, data, information, and the like. In some embodiments, the I / O 230 may enable a user to interact with the processing device 140. In some embodiments, the I / O 230 may include input devices and output devices. Examples of input devices may include a keyboard, a mouse, a touch screen, a microphone, or the like, or a combination thereof. Examples of output devices may include a display device, a speaker, a printer, a projector, or the like, or a combination thereof. Examples of display devices may include a liquid crystal display (LCD), a light emitting diode (LED)-based display, a flat panel display, a curved screen, a television device, a cathode ray tube (CRT), a touch screen screen, or the like, or a combination thereof.

[0072] The communication port 240 can be connected to a network (e.g., network 120) to facilitate data communication. The communication port 240 can establish a connection between the processing device 140 and the radiation delivery device 110, the terminal 130, and / or the storage device 150. The connection can be a wired connection, a wireless connection, any other communication connection that can enable data transmission and / or reception, and / or any combination of these connections. The wired connection can include, for example, an electrical cable, an optical cable, a telephone line, etc., or any combination thereof. The wireless connection can include, for example, a Bluetooth® connection. TM Connection, Wi-Fi TM Connection, WiMax TM In some embodiments, the communication port 240 may be a wireless communication port, a WLAN connection, a ZigBee connection, a mobile network connection (e.g., 3G, 4G, 5G, etc.), or a combination thereof. In some embodiments, the communication port 240 may be and / or include a standardized communication port, such as RS232, RS485, etc. In some embodiments, the communication port 240 may be a specially designed communication port. For example, the communication port 240 may be designed according to the Digital Imaging and Communications in Medicine (DICOM) protocol.

[0073] Figure 3 Schematic diagram illustrating exemplary hardware and / or software components of an exemplary mobile device 300 on which terminal 130 may be implemented according to some embodiments of the present disclosure. Figure 3 As shown, mobile device 300 may include a communication platform 310, a display 320, a graphics processing unit (GPU) 330, a central processing unit (CPU) 340, an I / O 350, a memory 360, and a storage 390. In some embodiments, any other suitable components, including but not limited to a system bus or controller (not shown), may also be included in mobile device 300. In some embodiments, a mobile operating system 370 (e.g., iOS 11) may be used to control the operation of the mobile device 300. TM 、Android TM 、Windows Phone TM 300 ). One or more applications 380 may be loaded from storage 390 into memory 360 for execution by CPU 340. Applications 380 may include a browser or any other suitable mobile application for receiving and rendering information related to image processing or other information from processing device 140. User interaction with the information stream may be enabled via I / O 350 and provided to processing device 140 and / or other components of radiation therapy system 100 via network 120. In some embodiments, a user may input parameters into radiation therapy system 100 via mobile device 300.

[0074] In order to implement the above-mentioned modules, units and their functions, a computer hardware platform may be used as one or more elements (e.g., Figure 1The computer system 100 is a computer system that is used as a hardware platform for the processing device 140 and / or other components of the radiotherapy system 100 described in the present disclosure. Because these hardware elements, operating systems, and programming languages ​​are common, it can be assumed that those skilled in the art will be familiar with these technologies and that they can provide the information required for imaging according to the techniques described in this disclosure. The computer with the user interface can be used as a personal computer (PC) or other type of workstation or terminal device. After being properly programmed, the computer with the user interface can be used as a server. It is assumed that those skilled in the art will also be familiar with the structure, procedures, or general operation of this type of computing device.

[0075] Figure 4 1. A block diagram of an exemplary processing device according to some embodiments of the present disclosure is shown. The processing device 140 may include an acquisition module 402, an identification module 404, a control signal generation module 406, a drive signal generation module 408, a transmission module 410, and a control module 412.

[0076] The acquisition module 402 can acquire information related to the radiation therapy system 100. For example, the acquisition module 402 can acquire a target position of a blade. In some embodiments, the target position of a blade can be acquired from the storage device 150 or an external data source. In some embodiments, the acquisition module 402 can acquire a target acceleration of the blade, a target velocity of the blade, a current position of the blade, a current velocity of the blade, and / or a current angle of the blade. Further description of the acquisition module 402 can be found elsewhere in this disclosure (e.g., Figure 5 and Figure 7 and its description).

[0077] The identification module 404 can identify one or more current states associated with the blade. For example, the identification module 404 can identify the current position of the blade. As another example, the identification module 404 can identify the current speed of the blade (see Figure 8 ). Further description of the identification module 404 can be found elsewhere in this disclosure (e.g., Figure 5-6 and its description).

[0078] The control signal generation module 406 may generate one or more control signals for driving the blade to move. For example, the control signal generation module 406 may generate a first control signal. As another example, the control signal generation module 406 may generate a second control signal. As another example, the control signal generation module 406 may generate a third control signal based on the first control signal and / or the second control signal. In some embodiments, the control signal generation module 406 may determine a first difference between the target position of the blade and the current position of the blade. In some embodiments, the control signal generation module 406 may use the first difference as input to generate an output signal of a position control loop. In some embodiments, the control signal generation module 406 may determine a second difference between the output signal of the position control loop and the current velocity of the blade. In some embodiments, the control signal generation module 406 may generate a first component of a second control signal. The first component of the second control signal may be an acceleration feedforward control signal. In some embodiments, the control signal generation module 406 may generate a second component of the second control signal. The second component of the second control signal may be a friction feedforward control signal. In some embodiments, the control signal generation module 406 may generate a third component of the second control signal. The third component of the second control signal may be a gravity feedforward control signal. In some embodiments, the control signal generation module 406 can generate a second control signal based on the first component, the second component, and / or the third component. In some embodiments, the control signal generation module 406 can generate a third control signal (i.e., a compensated control signal). Further description of the control signal generation module 406 can be found elsewhere in this disclosure (e.g., Figure 5-8 and its description).

[0079] The drive signal generation module 408 can enable the drive circuit to generate a drive signal. More description of the drive signal generation module 408 can be found elsewhere in this disclosure (e.g., Figure 5 Operation 512 and its description in ).

[0080] The transmission module 410 can provide or send the third control signal to the driving circuit. More description of the transmission module 410 can be found elsewhere in this disclosure (e.g., Figure 5 Operation 512 and its description in ).

[0081] The control module 412 can control the movement of the blade toward the target position. Further description of the control module 412 can be found elsewhere in this disclosure (e.g., Figure 5 Operation 512 and its description in ).

[0082] It should be noted that the above description of the processing device 140 is provided for illustrative purposes only and is not intended to limit the scope of the present disclosure. A person of ordinary skill in the art may make various changes and modifications based on the description of the present disclosure. However, such changes and modifications do not depart from the scope of the present disclosure. For example, the acquisition module 402 and the identification module 404 may be integrated into a single module.

[0083] Figure 5 A flow chart illustrating an exemplary process for driving the leaves of a multi-leaf collimator (MLC) according to some embodiments of the present disclosure is shown. In some embodiments, at least a portion of process 500 may be performed by processing device 140 (e.g., at Figure 2 For example, process 500 may be stored in a storage device (e.g., storage device 150, memory 220, memory 390) in the form of instructions (e.g., application program) and executed by processing device 140 (e.g., Figure 2 The processor 210 shown, Figure 3 The CPU340 or Figure 4 The operations of the process shown below are for illustration purposes only. In some embodiments, process 500 may be accomplished using one or more additional operations not described and / or without one or more operations discussed. Figure 5 The order in which the operations of process 500 are illustrated and described below is not intended to be limiting.

[0084] In some embodiments, process 500 may be performed after a radiation therapy treatment planning process and / or a trajectory generation process. In some embodiments, parameters such as gantry velocity, blade velocity, dose rate, and the like, as well as limits on one or more parameters, may be considered during the treatment planning process. After the treatment planning process, at least two discrete control points may be determined. The control points may identify target positions for the blades. The trajectory generation process may generate a trajectory for the blade motion between the two control points and specify a velocity change (i.e., a velocity profile) (and / or an acceleration change (i.e., an acceleration profile)) of the blade between the two control points over time. In some embodiments, trajectory generation may be performed based on a trapezoidal velocity model, a double velocity model, or the like. Further description of the trajectory generation process may be found in U.S. patent application Ser. No. 15 / 182,080, filed on June 14, 2016, entitled “UNIFIED TRACETORY GENERATION PROCESS AND SYSTEM,” the contents of which are incorporated herein by reference. The treatment planning process and trajectory generation process may be performed according to any method known to one of ordinary skill in the art. Thus, one or more target positions (i.e., position distributions), one or more preset velocities, and one or more preset accelerations of the blade can be determined after the radiation therapy planning process and trajectory generation process. In some embodiments, the target positions (i.e., position distributions), preset velocities (i.e., velocity distributions), and / or preset accelerations (i.e., acceleration distributions) can be stored in the storage device 150 for further use. In some embodiments, process 500 can be performed in real time during the radiation therapy process based on the target positions, preset velocities, and / or preset accelerations of the blade. It should be noted that although process 500 only illustrates the driving process of one blade, other blades in the MLC can be driven similarly.

[0085] At 502, a target position for a blade may be acquired. The target position for the blade may be acquired by the processing device 140 (e.g., acquisition module 402) or the terminal 130 (e.g., CPU 340). In some embodiments, the target position for the blade may include a desired position for the blade at a control point. In some embodiments, the target position for the blade may include a desired position for the blade between two control points. In some embodiments, at least two target positions for the blade may be predetermined during the radiation therapy planning process and / or trajectory generation process. For example, in some embodiments, a position profile showing how positions (between control points or target positions) change over time may be obtained after trajectory generation, and a target position for the blade corresponding to a next time point may be determined based on the position profile. In some embodiments, the target position for the blade may be acquired from the storage device 150 or an external data source. It should be noted that although process 500 illustrates only one target position, movement of the blade to other target positions may be similarly determined; movement of each of the at least two blades of the MLC to a different target position may be similarly determined.

[0086] In 504, the current position of the blade may be identified. The current position of the blade may be identified by the processing device 140 (e.g., the identification module 404). In some embodiments, the current position of the blade may refer to the actual position of the blade at the current point in time during the processing. In some embodiments, the current position of the blade may be detected by a position detection device (e.g., a displacement sensor, a Hall effect sensor, an encoder, a potentiometer, etc.). In some embodiments, the position detection device may detect a signal associated with the current position and / or current speed of the blade. In some embodiments, the position detection device or other components of the radiation delivery device 110 may further process the signal and / or identify the current position and / or current speed of the blade. In some embodiments, the radiation delivery device 110 may transmit the current position of the blade to the processing device 140. In some embodiments, the radiation delivery device 110 may transmit the signal associated with the current position and / or current speed of the blade to the processing device 140, and the processing device 140 may further process the signal and / or identify the current position of the blade. Further description of the position detection device may be found elsewhere in this disclosure (e.g., Figure 1 and its description).

[0087] At 506, a first control signal may be generated based on the target position of the blade and the current position of the blade. In some embodiments, the first control signal may be generated by the processing device 140 (e.g., the control signal generation module 406). In some embodiments, the first control signal may be configured to control the blade speed (i.e., the speed of movement of the blade). In some embodiments, the first control signal may be in the form of a pulse width modulated (PWM) signal (see Figure 8 812 is shown. A PWM signal may be a way of generating an analog signal using a digital source (e.g., a digital signal). A PWM signal may include two main components that define its behavior: a duty cycle and a frequency. The duty cycle may describe the amount of time that the control signal is in a high (i.e., on) state as a percentage of the total time it takes to complete one cycle. The frequency may determine how quickly the PWM completes one cycle (e.g., 1000 Hz may correspond to 1000 cycles per second), and therefore how quickly it switches between high and low states. In some embodiments, the processing device 140 may adjust the duty cycle of the PWM signal to achieve different blade speeds.

[0088] In some embodiments, the first control signal may be generated by closed-loop feedback control, and thus, the first control signal may be a feedback control signal. In some embodiments, the feedback control signal may be generated based on a difference between a target position of the blade and a current position of the blade. In some embodiments, the feedback control signal may be generated by inputting the difference between the target position of the blade and the current position of the blade into one or more control loops. Exemplary control loops may include a position loop (see Figure 8 808 in), speed loop (see Figure 8 810 in), etc., or any combination thereof. More description about the generation of the first control signal can be found elsewhere in this disclosure (e.g., Figure 6 and Figure 8 and its description).

[0089] At 508, a second control signal may be generated based on the target speed of the blade, the target acceleration of the blade, and / or the current angle of the blade. In some embodiments, the second control signal may be generated by the processing device 140 (e.g., the control signal generation module 406). In some embodiments, the second control signal may be configured to compensate for the first control signal to more effectively and accurately control the blade speed. In some embodiments, the second control signal may also be in the form of a pulse width modulated (PWM) signal (see Figure 8 The second PWM signal 814 is shown).

[0090] In some embodiments, the second control signal can be generated by feedforward control, and therefore, the second control signal can be a feedforward control signal. In some embodiments, the feedforward control signal can be generated based on a first component associated with a target acceleration of the blade, a second component associated with a target velocity of the blade and / or a current angle of the blade, and / or a third component associated with the current angle of the blade. In some embodiments, the first component can be an acceleration feedforward control signal, which is configured to reduce or eliminate the effects of acceleration and / or deceleration on the motion of the blade. The second component can be a friction feedforward control signal, which is configured to reduce or eliminate friction (e.g., sliding friction and / or viscous friction (see Figure 7 and 9 -11)) on the blade motion. The third component may be a gravity feedforward control signal configured to reduce or eliminate the effect of changes in gravity conditions during gantry (or MLC) rotation on the blade motion. Further description of the second control signal may be found elsewhere in this disclosure (e.g., Figure 7-11 and its description).

[0091] In some embodiments, the target velocity of the blade may include a desired velocity for the blade corresponding to a next time point (or next control point) immediately following the current time point (or current control point) in the trajectory. In some embodiments, the target velocity of the blade may be determined based on a velocity profile obtained during trajectory generation. In some embodiments, the target acceleration of the blade may include a desired acceleration for the blade corresponding to a next time point following the current time point in the trajectory between two control points. In some embodiments, the target acceleration of the blade may be determined based on an acceleration profile obtained during trajectory generation.

[0092] In some embodiments, the current angle of the blade at the current point in time may refer to the actual angle of the blade at the current point in time (e.g., relative to the horizontal plane) during the treatment process. In some embodiments, the MLC is mounted on a collimator, and the collimator is mounted on a gantry of the radiation delivery device 110, and the current angle of the MLC may be determined based on the current angle of the collimator relative to a predetermined reference angle (e.g., 0°) and the current angle of the gantry relative to the predetermined reference angle (e.g., 0°). In some embodiments, the predetermined reference angle of the gantry (e.g., 0°) may correspond to the position of the gantry when a component of the gantry (e.g., the collimator) is closest to the highest point of the gantry along the rotation trajectory. In some embodiments, the predetermined reference angle of the collimator (e.g., 0°) may correspond to the position of the collimator when the collimator is closest to the front end of the gantry. In some embodiments, the current angle of the blade at the current point in time may be determined based on the following equation:

[0093] sin(α)=sin(β)*cos(θ), (1)

[0094] Wherein, α refers to the current angle of the blade at the current time point, β refers to the current angle of the gantry relative to a predetermined reference angle of the gantry (e.g., 0°) at the current time point, and θ refers to the current angle of the collimator relative to a predetermined reference angle of the collimator (e.g., 0°) at the current time point. In some embodiments, the current angle of the blade, the current angle of the gantry, and / or the current angle of the collimator at the current time point can be described in a coordinate system specified by the International Electrotechnical Commission (IEC). In some embodiments, the current angle of the gantry and / or the current angle of the collimator at the current time point can be obtained from a control system associated with the gantry and / or the collimator. In some embodiments, the current angle of the gantry and / or the current angle of the collimator at the current time point can be determined by an angle detection device (e.g., one or more angle sensors associated with the gantry and / or the collimator).

[0095] According to equation (1), if the current angle of the collimator at the current time point is 0° and the current angle of the gantry at the current time point is 90°, the current angle of the blade at the current time point can be determined to be 90°. If the current angle of the collimator at the current time point is 90° and the current angle of the gantry at the current time point is 0°, the current angle of the blade at the current time point can be determined to be 0°. If the current angle of the collimator at the current time point is 45° and the current angle of the gantry at the current time point is 45°, the current angle of the blade at the current time point can be determined to be 30°. More description about the determination of the current angle of the blade can be found in Chinese patent application No. 201810960823.7, entitled “Method and system for compensating for position error of a multi-leaf collimator” filed on August 22, 2018, the contents of which are incorporated herein by reference.

[0096] At 510, a third control signal may be generated based on the first control signal and the second control signal. The third control signal may be generated by the processing device 140 (e.g., the control signal generation module 406). In some embodiments, the third control signal may be generated based on the first control signal compensated by the second control signal. The third control signal may more accurately and effectively control the blade speed. In some embodiments, the third control signal may be in the form of a pulse width modulated (PWM) signal (see Figure 8 Further description of the third control signal can be found elsewhere in this disclosure (e.g., Figure 8 and its description).

[0097] In 512, the drive circuit can be caused to generate a drive signal by providing a third control signal to the drive circuit. According to the drive signal, the blade is moved toward the target position. In some embodiments, the processing device 140 (e.g., the drive signal generation module 408) can provide the third signal to the drive circuit so that the drive circuit can generate the drive signal accordingly. In some embodiments, the drive circuit can be installed on a radiation delivery device (e.g., the radiation delivery device 110) and / or communicate with the radiation delivery device. In some embodiments, the drive circuit may include one or more driver chips. In some embodiments, the drive signal may include an electric current generated by the driver chip. In some embodiments, the movement of the blade toward the target position can be controlled by the processing device 140 (e.g., the control module 412) through the drive circuit.

[0098] By way of example only, in some embodiments, a third control signal may be provided or sent (e.g., by the processing device 140 (e.g., the transmission module 410)) to the drive circuit. In some embodiments, in response to the third control signal, the drive circuit may generate a drive signal to control the blade to move toward the target position. Thus, the blade may be controlled to move (substantially) at a target acceleration of the blade and a target velocity of the blade, and approach the target position of the blade. If an electric motor is used as the actuator, the direction and rotational speed of the motor may be adjusted according to the drive signal to move the blade toward the target position.

[0099] It should be noted that the above description of process 500 is for illustration and purpose only and does not limit the scope of application of the present disclosure. A person skilled in the art may make various changes and modifications based on the description of the present disclosure. However, such changes and modifications do not depart from the scope of the present disclosure. For example, operations 502 and 504 may be integrated into a single operation. In some embodiments, the control signal generation module 406 may obtain a target position of the blade and identify the current position of the blade.

[0100] Figure 6 FIGURE 6 is a flow chart illustrating an exemplary process for generating a feedback control signal according to some embodiments of the present disclosure. In some embodiments, at least a portion of process 600 may be performed by processing device 140 (e.g., at Figure 2 For example, the process 600 may be stored in a storage device (e.g., storage device 150, memory 220, memory 390) in the form of instructions (e.g., application program) and executed by a processing device 140 (e.g., Figure 2 The processor 210 shown, Figure 3 The CPU 340 or Figure 4The operations of the process shown below are for illustration purposes only. In some embodiments, process 600 may be accomplished using one or more additional operations not described and / or one or more operations not discussed. Figure 6 The order in which the operations of process 600 are shown and described below is not intended to be limiting. In some embodiments, the operations of process 600 may be performed according to Figure 5 Operation 506 is shown.

[0101] In 602, a first difference between a target position of the blade (e.g., the target position of the blade obtained in 502) and a current position of the blade (e.g., the current position of the blade identified in 504) may be determined. In some embodiments, the first difference between the target position of the blade and the current position of the blade may be determined by the processing device 140 (e.g., the control signal generation module 406). Further description of the target position and the current position may be found elsewhere in this disclosure (e.g., Figure 5 In some embodiments, the blade may be positioned based on its current position (see operations 502 and 504 and their descriptions). Figure 8 The position feedback signal shown in Figure 8 The first difference is determined by the difference between the position feedback signal in Figure 8 The first difference signal 818 in ).

[0102] At 604, a position control loop may be generated by inputting the first difference into the position control loop (eg, Figure 8 In some embodiments, the output signal of the position control loop may be generated by the processing device 140 (eg, the control signal generation module 406).

[0103] In some embodiments, the position control loop may receive the target position of the blade and the current position of the blade as input (or directly receive the first difference as input) and generate a speed command signal as output. Specifically, in some embodiments, the first difference may be processed (e.g., obtained or amplified) by a position proportional gain to generate the speed command signal.

[0104] In some embodiments, the position control loop can receive as input the target position of the blade, the current position of the blade, and / or the obtained target speed of the blade, and generate a speed command signal as output. Specifically, the first difference can be processed (e.g., amplified or obtained) by a position proportional gain, and the speed command can be generated by adding the obtained first difference to the obtained target speed. That is, in some embodiments, the position control loop can be used to introduce feedforward speed control in the generation of the speed command signal. Further description of the position control loop can be found elsewhere in this disclosure (e.g., Figure 8 and its description).

[0105] At 606, the current speed of the blade may be identified (see Figure 8 , speed feedback signal shown). The current speed of the blade can be identified by the processing device 140 (e.g., the identification module 404). In some embodiments, the current speed of the blade at the current point in time may refer to the actual speed of the blade at the current point in time during the processing process. In some embodiments, the current speed of the blade can be detected by a position detection device (e.g., a Hall effect sensor, an encoder, a potentiometer, etc.). In some embodiments, the position detection device can detect a signal associated with the current position and / or current speed of the blade. In some embodiments, the position detection handle or other component of the radiation delivery device 110 can further process the signal, and / or identify the current position and / or current speed of the blade. In some embodiments, the radiation delivery device 110 can transmit the current speed of the blade to the processing device 140. In some embodiments, the radiation delivery device 110 can transmit the signal associated with the current position and / or current speed of the blade to the processing device 140, and the processing device 140 can further process the signal, and / or identify the current speed of the blade. More description of the position detection device can be found elsewhere in this disclosure (e.g., Figure 1 and its description).

[0106] At 608, a second difference between the output signal of the position control loop and the current speed of the blade may be determined. In some embodiments, the second difference between the output signal of the position control loop and the current speed of the blade may be determined by the processing device 140 (e.g., the control signal generation module 406). In some embodiments, the second difference between the output signal of the position control loop and the current speed of the blade may be determined based on the current speed of the blade (see Figure 8 The speed feedback signal shown) and the output signal of the position control loop (see Figure 8 ) to determine the second difference (see Figure 8 The second difference signal 820 in ).

[0107] At 610, the second difference may be input into a speed control loop (e.g., Figure 8 In some embodiments, the first control signal may be generated by the processing device 140 (e.g., the control signal generation module 406). In some embodiments, the speed control loop may receive the output signal of the position control loop and the current speed as input (or directly receive the second difference as input) and generate the first control signal (see Figure 8 ). Further description of the speed control loop can be found elsewhere in this disclosure (e.g., Figure 8 and its description).

[0108] It should be noted that the above description of process 600 is provided for illustrative purposes only and is not intended to limit the scope of the present disclosure. For those of ordinary skill in the art, various changes and modifications can be made based on the description of the present disclosure. However, these changes and modifications do not depart from the scope of the present disclosure. For example, operations 606 and 608 can be integrated into a single operation.

[0109] Figure 7 FIG. 7 is a flow chart illustrating an exemplary process for generating a feedforward control signal according to some embodiments of the present disclosure. In some embodiments, at least a portion of process 700 may be performed by processing device 140 (e.g., at Figure 2 For example, process 700 may be stored in a storage device (e.g., storage device 150, memory 220, memory 390) in the form of instructions (e.g., an application program) and executed by processing device 140 (e.g., Figure 2 The processor 210 shown, Figure 3 The CPU 340 or Figure 4 The operations of the process shown below are for illustration purposes only. In some embodiments, process 700 may be completed with one or more additional operations described above and / or one or more operations not discussed. In addition, Figure 7 The order in which the operations of process 700 are shown and described below is not intended to be limiting. In some embodiments, the operations of process 700 may be performed according to Figure 5 Operation 508 is shown.

[0110] In 702, a target acceleration of the blade may be obtained. In some embodiments, the target acceleration of the blade may be obtained by the processing device 140 (e.g., the obtaining module 402). In some embodiments, the target acceleration of the blade may be obtained from the storage device 150 or an external data source. Further description of the target acceleration of the blade may be found elsewhere in this disclosure (e.g., Figure 5 and its description).

[0111] At 704 , a first component of the second control signal may be generated based on the target acceleration of the blade and / or the first gain. In some embodiments, the first component of the second control signal may be generated by the processing device 140 (eg, the control signal generation module 406 ).

[0112] In some embodiments, the first component of the second control signal may be an acceleration feedforward control signal. In some embodiments, the acceleration feedforward control signal may be configured to compensate for an acceleration error between a target acceleration and a current acceleration of the blade (i.e., a difference between the target acceleration and the current acceleration of the blade) and eliminate (or reduce) acceleration lag. In some embodiments, the acceleration feedforward control signal may be related to the target acceleration of the blade and a first gain corresponding to the acceleration feedforward control (i.e., an acceleration feedforward gain). In some embodiments, the acceleration feedforward control signal may be generated according to equation (2), as shown below:

[0113] AccelerationFF=Ka*ref_a, (2)

[0114] Wherein, AccelerationFF refers to the acceleration feedforward control signal (i.e., the first component of the second control signal), Ka refers to the first gain corresponding to the acceleration feedforward control, and ref_a refers to the target acceleration of the blade. In some embodiments, Ka may be related to the mass of the blade and / or one or more characteristics of the drive circuit. The characteristics of the drive circuit may include drive power (e.g., drive voltage), drive circuit (e.g., impedance of the drive circuit, one or more parameters of electronic components of the drive circuit, etc.), and / or one or more characteristics of the drive motor. In some embodiments, Ka can be predetermined based on one or more experimental tests.

[0115] In an exemplary experimental test, the gantry was positioned at an initial angle of 0°. In some embodiments, if the collimator angle (e.g., the angle of the MLC housing) is 90°, or the gantry angle is 0°, the initial angle of the blades (e.g., relative to the horizontal plane) may be 0°. At least two velocity profiles may be detected by driving the blades from a stationary state and / or at the initial angle of the blades under the action of at least two fourth control signals. In some embodiments, the fourth control signal may be a PWM signal used to drive the blades from a stationary state. In some embodiments, the fourth control signal may be generated by a control device of the MLC (e.g., processing device 140). An operator may set a desired PWM duty cycle via the control device. For example, the operator may initially set the PWM duty cycle to 20% to drive the blades from a stationary state. The PWM duty cycle may then be increased by 20% multiple times (e.g., 40%, 60%, 80%, and 100%) to drive the blades from a stationary state again. Each time the PWM duty cycle is increased by 20%, the blades are driven to move again from a stationary state. Under the action of each of the at least two fourth control signals, a velocity curve can be obtained, and the acceleration can be determined by calculating the derivative of the velocity curve. Therefore, an acceleration curve can be generated based on the at least two velocity curves, and the acceleration curve illustrates the relationship between the at least two accelerations and the at least two fourth control signals. In some embodiments, the slope of the acceleration curve can be designated as the first gain (i.e., Ka). In some embodiments, the slope of the acceleration curve can be determined based on a least squares algorithm. In some embodiments, when determining the first gain, a closed-loop feedback control signal (e.g., a feedback control signal) may not be used (or the feedback control signal may be set to 0).

[0116] At 706, the target velocity of the blade and / or the current angle of the blade may be obtained. In some embodiments, the target velocity of the blade and / or the current angle of the blade may be obtained by the processing device 140 (e.g., the obtaining module 402). In some embodiments, the target velocity of the blade may be obtained from the storage device 150 or an external data source. In some embodiments, the current angle of the blade may be obtained based on the current angle of the collimator and the current angle of the gantry. Further description of the target velocity of the blade and / or the current angle of the blade may be found elsewhere in this disclosure (e.g., Figure 5 Operation 508 and its description in ).

[0117] At 708, a second component of the second control signal may be generated based on the target speed of the blades, the current angle of the blades, the second gain, the third gain, and / or the fourth gain. In some embodiments, the second component of the second control signal may be generated by the processing device 140 (e.g., the control signal generation module 406).

[0118] In some embodiments, the second component of the second control signal may be a friction feed-forward control signal. In some embodiments, the friction feed-forward control signal may be used to compensate for position error and / or velocity error to eliminate (or reduce) position lag and / or velocity lag. In some embodiments, the friction in the blade motion may include one or more sliding frictions (see Figure 9-10 ), one or more viscous frictions, etc. Therefore, the friction feedforward control signal may include a sliding friction feedforward control signal and / or a viscous friction feedforward control signal. In some embodiments, the second component of the second control signal may be determined by adding the sliding friction feedforward control signal (e.g., see equation (3)) and the viscous friction feedforward control signal (e.g., see equation (5)).

[0119] By way of example only, with reference to equations (3) and (5), a first product of the cosine of the current angle of the blade multiplied by the second gain may be determined; a second product of the sine of the current angle of the blade multiplied by the third gain may be determined; a sum of the first product and the second product may be determined; the sum may be adjusted based on the direction of the target velocity of the blade; and / or a third product of the target velocity of the blade multiplied by the fourth gain may be determined; and a second component of the second control signal may be generated based on the sum and the third product.

[0120] In some embodiments, the sliding friction feedforward control signal may relate to the direction of the target velocity of the blade, the current angle of the blade, a second gain corresponding to the sliding friction feedforward control in the horizontal direction (i.e., sliding friction), and / or a third gain corresponding to the sliding friction feedforward control in the direction of gravity (i.e., sliding friction feedforward gain in the direction of gravity).

[0121] In some embodiments, the sliding friction feedforward control signal can be generated according to equation (3), as shown below:

[0122]

[0123] Among them, SlideFrictionFF represents the sliding friction feedforward control signal, K sf_h refers to the second gain (i.e., the sliding friction feedforward gain in the horizontal direction), is the third gain (i.e., the sliding friction feedforward gain in the direction of gravity), sign(ref_v) is the direction of the target velocity of the blade, ref_v is the target velocity of the blade, θ is the current angle of the blade, and cosθ is the pressure coefficient of the blade in the horizontal direction (see Figure 11 ), sinθ refers to the pressure coefficient of the blade in the direction of gravity (see Figure 11 In some embodiments, the second gain K may be predetermined based on one or more experimental tests. kf_h and / or third gain

[0124] In an exemplary experimental test, the gantry is positioned at an initial angle of 0°. In some embodiments, if the angle of the collimator is 90°, or the angle of the gantry is 0°, the initial angle of the blade (e.g., relative to the horizontal plane) can be 0°. By increasing (e.g., from 0 to a critical value) the fourth control signal, the blade can be driven from a stationary state and / or move at the initial angle of the blade, so that the blade may begin to move under the action of the fourth control signal having a critical value. The critical value can refer to a threshold value. If the fourth control signal exceeds the threshold value, the blade may begin to move. In some embodiments, the fourth control signal can be generated by a control device of the MLC (e.g., the processing device 140). The operator can set the desired PWM duty cycle through the control device. In some embodiments, the second gain K can be determined based on the critical value. sf_h In some embodiments, the critical value can be directly specified as the second gain K sf_h For example, if the critical value is 60%, then K can be determined to be sf_h In some embodiments, the critical value multiplied by a coefficient (eg, a coefficient less than 1 (eg, 0.9)) may be designated as the second gain K sf_h For example, if the critical value is 60%, then K can be determined to be sf_h In some embodiments, when determining the second gain, the closed-loop feedback control signal (eg, the feedback control signal) may not be used (or the feedback control signal may be set to 0).

[0125] In an exemplary experimental test, the gantry was positioned at an angle of 90° and the collimator was positioned at an initial angle of 0°. In some embodiments, if the angle of the collimator is 0° and the angle of the gantry is 90°, the initial angle of the blade (e.g., relative to the horizontal plane) can be 90°. In some embodiments, the blade can be driven from a stationary state and / or to move upward at the initial angle of the blade by increasing the fourth control signal (e.g., from 0 to a first critical value), and thus, the blade can begin to move upward under the action of the fourth control signal having a first critical value. In some embodiments, the blade can be driven from a stationary state and / or to move downward at the initial angle of the blade by increasing the fourth control signal (e.g., from 0 to a second critical value), and thus, the blade can begin to move downward under the action of the fourth control signal having a second critical value. The first critical value can refer to a first threshold value. If the fourth control signal exceeds the first threshold value, the blade can begin to move upward. The second critical value can refer to a second threshold value. If the fourth control signal exceeds the second threshold value, the blade can begin to move downward. In some embodiments, the third gain can be determined based on the difference between the first critical value and the second critical value. As shown in equation (4):

[0126] K sf_v =(PWM1-PWM2) / 2, (4)

[0127] Where PWM1 refers to the first critical value, and PWM2 refers to the second critical value. For example, if the first critical value is 80%, the second critical value is 30%, then K sf_v , can be determined to be 25%.In some embodiments, when determining the third gain, the closed-loop feedback control signal (eg, the feedback control signal) may not be used (or the feedback control signal may be set to 0).

[0128] In some embodiments, the viscous friction feedforward control signal may be related to the target speed of the blade and / or a fourth gain corresponding to the viscous friction feedforward control (i.e., the viscous friction feedforward gain). In some embodiments, the viscous friction feedforward control signal may be generated according to equation (5), as shown below:

[0129] ViscousfrictionFF=K vf *ref-v, (5)

[0130] Among them, ViscousfrictionFF refers to the viscous friction feedforward control signal, K vf Refers to the fourth gain (ie, the viscous friction feedforward gain), and ref_v refers to the target speed of the blade. In some embodiments, the fourth gain K may be predetermined based on one or more experimental tests. vf .

[0131] In an exemplary experimental test, the gantry was positioned at an initial angle of 0°. In some embodiments, if the angle of the collimator is 90°, or the angle of the gantry is 0°, the initial angle of the blade (e.g., relative to the horizontal plane) can be 0°. In some embodiments, under the action of at least two fourth control signals, at least two speeds of the blade in steady-state motion and / or at the initial angle of the blade can be detected. In some embodiments, the fourth control signal can be generated by a control device of the MLC (e.g., processing device 140). The operator can set the desired PWM duty cycle through the control device. In some embodiments, a speed curve is generated, which illustrates the relationship between at least two speeds and at least two fourth control signals. In some embodiments, the slope of the speed curve can be specified as a fourth gain K vf In some embodiments, the slope of the speed curve may be determined based on a least squares algorithm. In some embodiments, a closed-loop feedback control signal (eg, a feedback control signal) may not be used (or the feedback control signal may be set to 0) when determining the fourth gain.

[0132] In 710, a third component of the second control signal may be generated based on the current angle of the blade and / or the fifth gain. In some embodiments, the third component of the second control signal may be generated by the processing device 140 (e.g., the control signal generation module 406). In some embodiments, the third component of the second control signal may be a gravity feedforward control signal. In some embodiments, the gravity feedforward control signal may be configured to reduce or eliminate the effect of changes in gravity conditions on the blade motion during the rotation of the gantry (or MLC). In some embodiments, the third component of the second control signal may be related to the current angle of the blade and / or to a fifth gain (i.e., a gravity feedforward gain) corresponding to the gravity feedforward control. In some embodiments, the gravity feedforward control signal may be generated by multiplying the sine of the current angle of the blade by the fifth gain, as shown below:

[0133] GravityFF=K g *sinθ, (6)

[0134] Among them, GravityFF refers to the gravity feedforward control signal, K g refers to the fifth gain (i.e., gravity feedforward gain), θ refers to the current angle of the blade (see Figure 11 ).

[0135] In some embodiments, K may be predetermined based on one or more experimental tests similar to those described in operation 708. g For example,

[0136] K can be determined according to the following equation (7): g :

[0137] K g =(PWM1+PWM2) / 2, (7)

[0138] Here, PWM1 refers to the first critical value described in operation 708, and PWM2 refers to the second critical value described in operation 708. For example, if the first critical value is 80% and the second critical value is 30%, then K g It may be determined to be 55%.In some embodiments, when determining the fifth gain, the closed-loop feedback control signal (eg, the feedback control signal) may not be used (or the feedback control signal may be set to 0).

[0139] At 712, a second control signal may be generated based on the first component, the second component, and / or the third component. In some embodiments, the second control signal may be generated by the processing device 140 (e.g., the control signal generation module 406). In some embodiments, the second control signal may be generated based on the sum of the first component, the second component, and / or the third component, as shown in Equation (8):

[0140] TotalFF=AccelerationFF+SlideFrictionFF+ViscousfrictionFF+GravityFF, (8)

[0141] Here, TotalFF refers to the second control signal.

[0142] It should be noted that the above description of process 700 is provided for illustrative purposes only and is not intended to limit the scope of the present disclosure. For those skilled in the art, various changes and modifications can be made based on the description of the present disclosure. However, these changes and modifications do not depart from the scope of the present disclosure. For example, process 700 may further include operations for obtaining a first gain, a second gain, a third gain, a fourth gain, and a fifth gain. In some embodiments, one or more operations for generating the component of the second control signal may be omitted. For example, operation 704 may be omitted, and the second control signal may be determined based on the second component and the third component. As another example, operation 708 may be omitted, and the second control signal may be determined based on the first component and the third component. As another example, operation 710 may be omitted, and the second control signal may be determined based on the first component and the second component.

[0143] Figure 8 A block diagram of an exemplary control system for generating a compensated control signal using feedback control and feedforward control according to some embodiments of the present disclosure is shown. In some embodiments, a third control signal (i.e., a compensated control signal) may be generated by processing device 140 (e.g., control signal generation module 406). Control system 800 may include feedback control 804 and feedforward control 806. Feedback control 804 may generate a first PWM signal 812. Feedforward control 806 may generate a second PWM signal 814. Compensated PWM signal 816 may be generated based on first PWM signal 812 and second PWM signal 814 (e.g., by adding first PWM signal 812 and second PWM signal 814).

[0144] In some embodiments, the trajectory generator 802 may generate the trajectory of the blade of the MLC based on one or more control points (ie, one or more target positions) determined during the treatment planning process. Figure 8As shown, trajectory generator 802 can generate a velocity profile, a position profile, and / or an acceleration profile. The velocity profile can show the target velocity of the blade over time, and the target velocity of the blade can correspond to the velocity at a point in time in the velocity profile. The position profile can show the target position of the blade over time, and the target position of the blade can correspond to the position at a point in time in the velocity profile. The acceleration profile can show the target acceleration of the blade over time, and the target acceleration of the blade can correspond to the acceleration at a point in time in the velocity profile. In some embodiments, trajectory generator 802 can be omitted from control system 800, and therefore, the velocity profile, position profile, and / or acceleration profile can be obtained from storage device 150.

[0145] In some embodiments, the feedback control 804 can use a proportional-integral-derivative (PID) control technique to generate the first PWM signal 812. The feedback control 804 can include a position loop 808 and a velocity loop 810. In some embodiments, the position loop 808 can receive a position profile, a position feedback signal, and / or a derived velocity profile as inputs and generate a velocity command signal. Specifically, a first difference signal 818 can be obtained based on the position profile and the position feedback signal (e.g., by subtracting the position feedback signal from the position profile). Further description of the position feedback signal can be found elsewhere in this disclosure (e.g., Figure 1 and Figure 5 and its description). The first difference signal 818 can be processed (e.g., amplified or gained) by a position proportional gain. The velocity profile can be processed (e.g., amplified or gained) by a velocity feedforward gain to generate a obtained velocity profile. The velocity command signal can be generated by adding the gained first difference signal and the gained velocity profile.

[0146] In some embodiments, the speed loop 810 can receive a speed command signal and / or a speed feedback signal as input and generate a first PWM signal 812. Specifically, a second difference signal 820 can be obtained based on the speed command signal and the speed feedback signal (e.g., by subtracting the speed feedback signal from the speed command signal). Further description of the speed feedback signal can be found elsewhere in this disclosure (e.g., Figure 1 and Figure 5 and its description). The second difference signal 820 can be processed (e.g., amplified or gained) by a speed proportional gain to obtain a second difference signal after proportional gain. The second difference signal 820 can also be processed (e.g., amplified or gained) by a speed integral gain to obtain a second difference signal after integral gain. The first PWM signal 812 can be obtained by adding the second difference signal after proportional gain and the second difference signal after integral gain.

[0147] The feedforward control 806 may receive a velocity profile, an acceleration profile, and / or a blade ( Figure 8 814. In some embodiments, the feedforward control 806 may generate the second PWM signal 814 based on the first component, the second component, and / or the third component (e.g., by adding the first component, the second component, and / or the third component). Further description of the generation of the different components of the second PWM signal 814 may be found elsewhere in this disclosure (e.g., Figure 7 and its description).

[0148] It should be noted that the above description of the control system 800 is provided for illustrative purposes only and is not intended to limit the scope of the present disclosure. It will be apparent to those skilled in the art that various changes and modifications may be made based on the description of the present disclosure. However, such changes and modifications do not depart from the scope of the present disclosure.

[0149] Figure 9 A schematic diagram illustrating exemplary sliding friction of a blade of an MLC when the blade moves in a horizontal direction, according to some embodiments of the present disclosure. Figure 10 Schematic diagram illustrating exemplary sliding friction of a blade of an MLC when the blade moves in the direction of gravity, according to some embodiments of the present disclosure. Figure 9-10 A cross-sectional view of an MLC is shown. Figure 9-10 The MLC may include a housing 901, a blade guide 902, one or more blades 903, one or more screws 904, and one or more nuts 905. The movement of the screw 904 relative to the nut 905 may be driven by an actuator (e.g., a motor). The movement of the screw 904 relative to the nut 905 may cause the blade 903 to move. In some embodiments, the housing 901 may be driven to move and cause the blade 903 to move. In some embodiments, the blade 903 may be driven to move relative to the housing 901. In some embodiments, the housing 901 and the blade 903 may move independently.

[0150] like Figure 9 As shown, when the blade 903 moves in the horizontal direction, the sliding friction between the blade 903 and the blade guide 902 may act on the blade 903. When the housing 901 moves in the horizontal direction, the housing 901 and the guide rail (in the Figure 9In some embodiments, the sliding friction between the blade 903 and the blade guide 902 may be related to the pressure N (between the blade 903 and the blade guide 902) perpendicular to the friction direction (i.e., the weight of the blade 903). In some embodiments, the sliding friction of the housing 901 may be related to the pressure (between the housing 901 and the guide rail) perpendicular to the friction direction (i.e., the weight of the housing 901).

[0151] like Figure 10 As shown, when blade 903 moves in the direction of gravity, the gravity of blade 903 is G, and the pressure between blade 903 and blade guide 902 can be 0. Therefore, the sliding friction between blade 903 and blade guide 902 can be 0. Similarly, when housing 901 moves in the direction of gravity, the pressure between housing 901 and the guide rail can be 0, and therefore, the sliding friction between housing 901 and the guide rail can be 0. However, sliding friction may exist between screw 904 and nut 905.

[0152] Figure 11 Schematic diagram showing exemplary pressure of a blade at an angle θ according to some embodiments of the present disclosure. Figure 11 As shown, the pressure of the blade 1101 at the angle θ (0°≤θ≤90°) can be determined based on the inclined plane model. In some embodiments, the pressure of the blade 1101 at the angle θ can be related to the first pressure coefficient of the blade 1101 in the horizontal direction and / or the second pressure coefficient of the blade in the gravity direction. In some embodiments, the first pressure coefficient can be the cosine of the angle θ. In some embodiments, the second pressure coefficient can be the sine of the angle θ. Figure 9-10 As shown, the sliding friction of the blade 1101 can be determined in the horizontal direction and the gravity direction based on the first pressure coefficient and the second pressure coefficient, respectively.

[0153] The basic concepts have been described above. It will be apparent to those skilled in the art after reading this disclosure that the above disclosure is provided for illustrative purposes only and does not limit the present disclosure. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements, and amendments to the present disclosure. Such modifications, improvements, and amendments are intended to be addressed by the present disclosure and are within the spirit and scope of the exemplary embodiments of the present disclosure.

[0154] At the same time, the present disclosure uses specific words to describe the embodiments of the present disclosure. For example, the terms "one embodiment", "an embodiment", and / or "some embodiments" indicate that the specific features, structures, or characteristics described in conjunction with the embodiment are included in at least one embodiment of the present disclosure. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different places in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures, or characteristics in one or more embodiments of the present disclosure may be appropriately combined.

[0155] Furthermore, it will be understood by those skilled in the art that aspects of the present disclosure may be illustrated and described in terms of a number of patentable categories or situations, including any new and useful process, machine, product, or combination of substances, or any new and useful improvement thereof. Thus, aspects of the present disclosure may be implemented entirely in hardware, entirely in software (including firmware, resident software, microcode, etc.), or by combining software and hardware implementations, which are generally referred to herein as "units," "modules," or "systems." Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.

[0156] A computer-readable signal medium may include a propagated data signal embodying computer program code, for example, in baseband or as part of a carrier wave. Such propagated signals may take a variety of forms, including electromagnetic, optical, or any suitable combination. A computer-readable signal medium may be any computer-readable medium, other than a computer-readable storage medium, that can be coupled to an instruction execution system, apparatus, or device to communicate, propagate, or transfer a program for use. Program code on a computer-readable signal medium may be propagated via any suitable medium, including radio, cable, fiber optic cable, RF, or any combination of the foregoing.

[0157] The computer program code for performing the operations of various aspects of the present disclosure can be written in any combination of one or more programming languages, including conventional process programming languages ​​such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, such as "C" programming language, Visual Basic, Fortran 2103, Perl, COBOL 2102, PHP, ABAP, dynamic programming languages ​​(such as Python, Ruby and Groovy) or other programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network (including a local area network (LAN) or a wide area network (WAN)), or a connection can be established with an external computer (for example, by using the Internet of an Internet service provider) or in a cloud computing environment or as a service (such as software as a service (SaaS)).

[0158] In addition, unless expressly stated in the claims, the order of the processing elements and sequences described in the present disclosure, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of the present disclosure. Although the above disclosure discusses some of the invention embodiments currently considered useful through various examples, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the spirit and scope of the embodiments of the present disclosure. For example, although the implementation of the various components described above can be embodied in a hardware device, it can also be implemented as a pure software solution, for example, installation on an existing server or mobile device.

[0159] Similarly, it should be noted that in order to simplify the presentation of this disclosure and thereby facilitate understanding of one or more inventive embodiments, the foregoing descriptions of the embodiments of this disclosure sometimes combine multiple features into a single embodiment, figure, or description thereof. However, this disclosure should not be interpreted as reflecting an intention that the claimed subject matter requires more features than those expressly recited in each claim. Rather, the subject matter of the invention may have fewer features than the single embodiment described above.

[0160] In some embodiments, the numbers representing quantities or properties used to describe and claim certain embodiments of the present disclosure should be understood as being modified in some cases by the terms "about", "approximately" or "substantially". For example, unless otherwise stated, "about", "approximately" or "substantially" can indicate a ±20% variation of the value it describes. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may vary depending on the desired characteristics of the individual embodiments. In some embodiments, the numerical parameters should take into account the specified number of significant digits and adopt the general method of retaining digits. Although the numerical fields and parameters used to confirm the breadth of their range in some embodiments of the present disclosure are approximate values, in specific embodiments, the settings of such numerical values ​​are as accurate as possible within the feasible range.

[0161] All patents, patent applications, patent application publications, and other materials (such as papers, books, specifications, publications, records, things, and / or the like) referred to herein are hereby incorporated by reference in their entirety for all purposes, except any prosecution record related to such documents, any such documents that are inconsistent or conflicting with this document, or any such documents that limit the broad scope of the claims that may or may not be related to this document. For example, if there is any inconsistency or conflict between the description, definitions, and / or use of terms associated with any incorporated material and the terminology associated with this document, the description, definitions, and / or use of terminology in this document will control.

[0162] Finally, it should be understood that the embodiments described in this disclosure are intended only to illustrate the principles of the embodiments of the present disclosure. Other variations may also fall within the scope of this disclosure. Therefore, by way of example and not limitation, alternative configurations of the embodiments of the present disclosure may be considered consistent with the teachings of this disclosure. Accordingly, the embodiments of the present disclosure are not limited to the embodiments explicitly described and illustrated in this disclosure.

Claims

1. A method of driving leaves of a multi-leaf collimator (MLC) implemented on a machine comprising at least one processor and a storage device, characterized in that, include: obtaining a target position of the blade; identifying a current position of the blade; generating a first control signal based on the target position of the blade and the current position of the blade; generating a second control signal based on at least one of a target velocity of the blade, a target acceleration of the blade, and a current angle of the blade, comprising: Acquire the target speed of the blade and the current angle of the blade; as well as generating a second component of the second control signal based on the target speed of the blade, the current angle of the blade, and at least one of a second gain, a third gain, and a fourth gain, wherein the second component of the second control signal is a friction feedforward control signal, the second gain corresponds to sliding friction feedforward control in a horizontal direction, the third gain corresponds to sliding friction feedforward control in a gravity direction, and the fourth gain corresponds to viscous friction feedforward control; Compensating the first control signal by the second control signal to generate a third control signal; and By providing the third control signal to the driving circuit, the driving circuit generates a driving signal to drive the blade to move toward the target position.

2. The method according to claim 1, wherein The generating a second control signal based on at least one of a target speed of the blade, a target acceleration of the blade, and a current angle of the blade comprises: acquiring the target acceleration of the blade; and A first component of the second control signal is generated based on the target acceleration of the blade and a first gain.

3. The method according to claim 1, characterized in that Generating the second component of the second control signal includes: determining a first product of a cosine of a current angle of the blade and the second gain; determining a second product of the sine of the current angle of the blade multiplied by the third gain; determining a sum of the first product and the second product; adjusting the sum according to the direction of the target speed of the blade; determining a third product of the target speed of the blade multiplied by the fourth gain; and A second component of the second control signal is generated based on the sum and the third product.

4. The method according to any one of claims 1 to 3, characterized in that The MLC is mounted on a rack, and the second gain is determined according to the following steps, including: Positioning the rack at an initial angle of 0°; driving the blade to move from a stationary state by increasing a fourth control signal from 0 to a critical value, wherein the blade starts to move under the action of the fourth control signal having the critical value; and The second gain is determined according to the critical value.

5. The method according to any one of claims 1 to 3, characterized in that The MLC is mounted on a collimator, the collimator is mounted on a gantry, and the third gain is determined according to the following steps, including: Positioning the rack at an angle of 90°; Positioning the collimator at an initial angle of 0°; driving the blade to move upward from a stationary state by increasing a fourth control signal from 0 to a first critical value, wherein the blade begins to move upward under the action of the fourth control signal having the first critical value; driving the blade to move downward from a stationary state by increasing the fourth control signal from 0 to a second critical value, wherein the blade begins to move downward under the action of the fourth control signal having the second critical value; and The third gain is determined based on a difference between the first critical value and the second critical value.

6. The method according to any one of claims 1 to 3, characterized in that The MLC is mounted on a rack, and the fourth gain is determined according to the following steps, including: Positioning the rack at an initial angle of 0°; detecting at least two speeds of the blade in steady-state motion under the action of at least two fourth control signals; generating a speed curve illustrating a relationship between the at least two speeds and the at least two fourth control signals; and The slope of the speed curve is designated as the fourth gain.

7. The method according to any one of claims 1 to 3, wherein The generating a second control signal based on at least one of a target speed of the blade, a target acceleration of the blade, and a current angle of the blade comprises: Obtaining the current angle of the blade; and A third component of the second control signal is generated based on the current angle of the blade and a fifth gain.

8. The method according to claim 7, characterized in that The step of generating a third component of the second control signal based on the current angle of the blade and a fifth gain includes: A third component of the second control signal is generated by multiplying the sine of the current angle of the blade by the fifth gain.

9. The method according to claim 7, characterized in that The MLC is mounted on a collimator, the collimator is mounted on a gantry, and the fifth gain is determined according to the following steps, including: Positioning the rack at an angle of 90°; Positioning the collimator at an initial angle of 0°; driving the blade to move upward from a stationary state by increasing a fourth control signal from 0 to a first critical value, wherein the blade begins to move upward under the action of the fourth control signal having the first critical value; driving the blade to move downward from a stationary state by increasing the fourth control signal from 0 to a second critical value, wherein the blade begins to move downward under the action of the fourth control signal having the second critical value; and The fifth gain is determined based on the sum of the first critical value and the second critical value.

10. A system for driving leaves of a multi-leaf collimator (MLC), comprising: at least one storage device storing an instruction set; as well as at least one processor in communication with the storage device, wherein, when executing the set of instructions, the at least one processor is configured to cause the system to perform the following operations, including: obtaining a target position of the blade; identifying a current position of the blade; generating a first control signal based on the target position of the blade and the current position of the blade; generating a second control signal based on at least one of a target velocity of the blade, a target acceleration of the blade, and a current angle of the blade, comprising: acquiring the target speed of the blade and the current angle of the blade; and generating a second component of the second control signal based on the target speed of the blade, the current angle of the blade, and at least one of a second gain, a third gain, and a fourth gain, wherein the second component of the second control signal is a friction feedforward control signal, the second gain corresponds to sliding friction feedforward control in a horizontal direction, the third gain corresponds to sliding friction feedforward control in a gravity direction, and the fourth gain corresponds to viscous friction feedforward control; Compensating the first control signal by the second control signal to generate a third control signal; and By providing the third control signal to the driving circuit, the driving circuit generates a driving signal to drive the blade to move toward the target position.

Citation Information

Patent Citations

  • Method and system for compensating position errors of multi-leaf gratings

    CN109011216B

  • Unified trajectory generation process and system

    US10456103B2

  • High bandwidth binary multi-leaf collimator design

    CN107924730A

  • Motion control method and device

    CN108785877A