Control method, program and device for endoscope device
The method and apparatus for controlling endoscope motors through data acquisition and torque calculation address the challenge of precise endoscope control in flexible endoscopes, ensuring accurate alignment with user intent and improving procedural efficiency and patient comfort.
Patent Information
- Application Number
- JP2024211945
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-12-08
- Filing Date
- 2024-12-05
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2044-12-05
AI Technical Summary
Existing endoscopic devices, particularly flexible endoscopes, face challenges in precise control due to their vulnerability to impacts and the irregular and varying shape of the digestive tract, making it difficult for surgeons to maneuver the scope accurately during procedures.
A method and apparatus for controlling endoscope motors by acquiring data on the actual and target motion states, estimating the scope's movement, and calculating torque to minimize errors, using sliding mode control and nonlinear compensators to ensure the scope follows the user's desired position and speed.
This approach enables accurate and precise control of the endoscope, reducing errors and enhancing procedural convenience and patient comfort by aligning the scope's movement with the user's intentions.
Smart Images

Figure 0007812582000017 
Figure 0007812582000018 
Figure 0007812582000019
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to endoscopic control technology, and more particularly to a method, computer program, and apparatus for controlling motors for scope movement in an endoscopic device. [Background technology]
[0002] An endoscope is a medical instrument that is inserted into the body to observe organs without performing surgery or autopsy. An endoscope is inserted into the human body, irradiates light, and visualizes the light reflected from the surface of the inner wall. Endoscopes are classified according to the purpose and body part they are used for. They can be broadly divided into rigid endoscopes, whose tubes are made of metal, and flexible endoscopes, such as digestive endoscopes.
[0003] Flexible endoscopes are vulnerable to impacts because they contain various devices inside, and the inside of the digestive tract into which the flexible endoscope is inserted is made of very soft tissue and has an irregular shape. Also, because the shape of the inside of the digestive tract varies from patient to patient, the process of inserting the endoscope can be difficult even for experienced medical staff.
[0004] During endoscopic surgery, the endoscope is inserted into the digestive tract while twisting or bending according to the shape of the digestive tract. At the beginning of the procedure, the shape of the scope is relatively simple, allowing the surgeon to bend or move the scope to a desired angle without exerting much force. However, as the procedure progresses or becomes more complex during the procedure, controlling the scope while taking into account the constantly changing characteristics of the scope can cause significant inconvenience to the surgeon.
[0005] Furthermore, because endoscopic procedures require precise control of the scope, which is inserted into the body, technology is needed to control the scope while reflecting physical changes that occur in the endoscopic device during the procedure. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Korean Patent No. 10-1940046 Summary of the Invention [Problem to be solved by the invention]
[0007] The present disclosure is intended to solve the problems of the prior art described above, and relates to a method, a computer program, and an apparatus for controlling a motor of an endoscopic device so that the scope can be moved at a position and speed desired by the user.
[0008] However, the technical objectives to be achieved by this embodiment are not limited to those described above, and other technical objectives may exist. [Means for solving the problem]
[0009] To achieve the above object, one embodiment of the present disclosure provides a method for controlling an endoscope apparatus, the method including the steps of: acquiring first data on an actual motion state of a motor included in the endoscope apparatus and second data on a target motion state of a scope included in the endoscope apparatus; and controlling the motor based on the acquired first and second data.
[0010] Alternatively, the actual motion state of the motor may include at least one of an actual position of the motor or an actual speed of the motor measured by a sensor.
[0011] Alternatively, the target motion state of the scope may include at least one of a target position of the scope, a target velocity of the scope, or a target acceleration of the scope, calculated by the endoscope device.
[0012] Alternatively, the step of controlling the motor based on the acquired first data and second data may include the steps of: acquiring third data regarding an estimated motion state of the scope based on the acquired first data and second data; and calculating a torque for controlling the motor based on the acquired first data, second data, and third data.
[0013] Alternatively, the estimated movement state of the scope may include at least one of an estimated position of the scope or an estimated speed of the scope calculated based on actual position data of the motor included in the first data and actual speed data of the motor included in the first data.
[0014] Alternatively, the step of acquiring third data on the estimated movement state of the scope based on the acquired first data and second data may include the steps of determining whether backlash occurs in the scope based on actual position data of the motor included in the first data and actual speed data of the motor included in the first data, and generating the third data based on the actual position data of the motor, the actual speed data of the motor, and first compensation data on the amount of backlash determined based on the determined whether backlash occurs.
[0015] Alternatively, the torque may include a first torque that controls the motor so that the scope follows the position and speed desired by the user, and a second torque that minimizes an error caused by control by the first torque.
[0016] Alternatively, the first torque may be calculated using a first controller including a mathematical model that uses the second data and the third data as input variables.
[0017] Alternatively, the mathematical model included in the first controller may include a sliding mode control.
[0018] Alternatively, the second torque may be calculated using a second controller that includes a mathematical model that uses the first data and the second data as input variables.
[0019] Alternatively, the mathematical model included in the second controller may include a nonlinear compensator.
[0020] Alternatively, controlling the motor based on the acquired first data and second data may include calculating a position of the motor based on target position data of the motor determined by the second data and second compensation data for a backlash occurrence amount determined depending on whether a backlash occurs with respect to the scope.
[0021] Alternatively, the second compensation data may be a combination of an estimated value for the amount of backlash calculated based on the first data and a current state value at the time the backlash occurs.
[0022] Alternatively, the second compensation data may be updated each time the backlash occurs.
[0023] According to one embodiment of the present disclosure, there is provided a computer program stored in a computer-readable storage medium, the computer program being configured to perform operations for controlling an endoscope when executed by one or more processors, the operations including: acquiring first data regarding an actual motion state of a motor included in the endoscope and second data regarding a target motion state of a scope included in the endoscope; and controlling the motor based on the acquired first and second data.
[0024] In order to achieve the above object, one embodiment of the present disclosure provides a computing device for controlling an endoscope device, the device including a processor including at least one core and a memory including program code executable by the processor, the processor being capable of acquiring first data regarding an actual motion state of a motor included in the endoscope device and second data regarding a target motion state of a scope included in the endoscope device, and controlling the motor based on the acquired first and second data. [Effects of the Invention]
[0025] According to an embodiment of the present disclosure, accurate and precise scope control is possible by controlling the position, speed, and torque of a motor so that the scope of an endoscopic device follows the position and speed desired by a user. In other words, by reducing the error between the user's operation and the movement of the scope, the convenience and satisfaction of the procedure can be improved and the patient can feel more stable during the procedure. [Brief explanation of the drawings]
[0026] [Figure 1] 1 is a configuration diagram of an endoscope apparatus according to an embodiment of the present disclosure. [Figure 2] FIG. 1 is a block diagram illustrating a computing device according to one embodiment of the present disclosure. [Figure 3] FIG. 2 is a block diagram of a configuration for control according to one embodiment of the present disclosure. [Figure 4] FIG. 2 is a block diagram of an operation unit according to an embodiment of the present disclosure. [Figure 5] FIG. 1 is a block diagram of a scope estimation model according to one embodiment of the present disclosure. [Figure 6] FIG. 2 is a block diagram of a first controller according to an embodiment of the present disclosure. [Figure 7] FIG. 2 is a block diagram of a second controller according to an embodiment of the present disclosure. [Figure 8] 10 is a flowchart illustrating a control method for an endoscope apparatus according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0027] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement the present disclosure. The embodiments presented in this disclosure are provided to enable those skilled in the art to use or practice the contents of the present disclosure. Therefore, various modifications to the embodiments of the present disclosure will be apparent to those skilled in the art. That is, the present disclosure may be embodied in various different forms and is not limited to the following embodiments.
[0028] Throughout the specification of the present disclosure, the same or similar reference numerals refer to the same or similar components. In addition, in order to clearly explain the present disclosure, reference numerals of parts that are not relevant to the explanation of the present disclosure may be omitted from the drawings.
[0029] The term "or" as used in this disclosure is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or otherwise clear from the context in this disclosure, "x uses a or b" should be understood to mean one of the natural inclusive permutations. For example, unless otherwise specified or otherwise clear from the context in this disclosure, "x uses a or b" can be interpreted as either x uses a, x uses b, or x uses both a and b.
[0030] The term "and / or" as used in this disclosure must be understood to indicate and include all possible combinations of one or more of the associated listed concepts.
[0031] The terms "comprises" and / or "comprising" as used in this disclosure should be understood to mean that the specified features and / or components are present. However, the terms "comprises" and / or "comprising" should not be understood to exclude the presence or addition of one or more other features, other components and / or combinations thereof.
[0032] In this disclosure, unless otherwise specified or clear from the context as referring to the singular form, the singular should generally be construed as including "one or more."
[0033] The term "Nth (N is a natural number)" used in this disclosure can be understood as an expression used to distinguish components of the present disclosure from one another based on a predetermined criterion, such as functional, structural, or convenience of description. For example, in this disclosure, components that perform different functional roles can be classified as a first component or a second component. However, components that are substantially identical within the technical concept of the present disclosure but must be distinguished for convenience of description can also be classified as a first component or a second component.
[0034] Meanwhile, the terms "module" or "unit" used in this disclosure may be understood to refer to an independent functional unit that processes computing resources, such as a computer-related entity, firmware, software or a portion thereof, hardware or a portion thereof, or a combination of software and hardware. Here, a "module" or "unit" may refer to a unit composed of a single element or a unit expressed as a combination or collection of multiple elements. For example, as a concept of connotation, a "module" or "unit" may refer to a hardware element or a collection of hardware elements of a computing device, an application program that performs a specific software function, a processing procedure implemented by executing software, or a collection of instructions for executing a program. Furthermore, as a broad concept, a "module" or "unit" may refer to a computing device itself that constitutes a system, or an application executed on a computing device. However, the above concepts are merely examples, and the concepts of "module" and "unit" may be defined in various ways within the scope of what one skilled in the art can understand based on the contents of this disclosure.
[0035] The term "model" as used in this disclosure may be understood as a system implemented using mathematical concepts and language to solve a specific problem, a set of software units for solving a specific problem, or an abstract model of a processing process for solving a specific problem. For example, a neural network "model" may refer to a system implemented as a neural network that has problem-solving capabilities through learning. Here, a neural network may have problem-solving capabilities by optimizing parameters connecting nodes or neurons through learning. A neural network "model" may include a single neural network or a neural network ensemble that combines multiple neural networks.
[0036] The term "acquire" as used in this disclosure may be understood to mean not only receiving data via a wired or wireless communication network with an external device or system, but also generating data in an on-device form.
[0037] The explanations of the above terms are intended to facilitate understanding of the present disclosure. Therefore, unless the above terms are explicitly stated as matters limiting the contents of the present disclosure, it should be noted that the contents of the present disclosure are not intended to limit the technical ideas.
[0038] FIG. 1 is a configuration diagram of an endoscope apparatus according to an embodiment of the present disclosure.
[0039] 1, an endoscopic device 100 according to an embodiment of the present disclosure may be a flexible endoscope, specifically a gastrointestinal endoscope. The endoscopic device 100 may include a configuration for acquiring medical images of the inside of the gastrointestinal tract, and a configuration for inserting a tool and performing treatment or procedure while viewing the medical images, if necessary.
[0040] The endoscope device 100 may include an output unit 110, a control unit 120, a driving unit 130, a pump unit 140, and a scope 150, and may further include a light source unit (not shown).
[0041] The output unit 110 may include a display that displays medical images. The output unit 110 may include a display module that outputs visualized information, such as a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFTLCD), an organic light-emitting diode (OLED), a flexible display, a 3D display, or the like, or may implement a touch screen.
[0042] The output unit 110 may include various means for providing medical images or information about the medical images. The output unit 110 may display medical images acquired by the scope 150 or medical images processed by the control unit 120. The output unit 110 may provide information through auditory means in addition to visual means, and may include a speaker for audibly providing an alarm for the medical image. While FIG. 2 shows a single output unit 110, there may be multiple output units 110. In this case, the output unit 110 that displays medical images acquired by the scope 150 and the output unit 110 that displays information processed by the control unit 120 may be distinguished.
[0043] The control unit 120 may control the overall operation of the endoscopic device 100. For example, the control unit 120 may perform operations such as capturing medical images using the scope 150, processing the acquired medical images, controlling medical operations such as spraying irrigation water or suction, and a series of calculations for controlling the movement of the scope 150. The control unit 120 may include any type of device capable of processing data. According to an exemplary embodiment, the control unit 120 may be a data processing device embedded in hardware having circuits physically structured to perform functions expressed by code or instructions contained in a program. Examples of data processing devices embedded in hardware include processing devices such as a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA), but the technical concept of the present disclosure is not limited thereto.
[0044] The control unit 120 can control the movement of the scope 150 through the driving unit 130 connected to the scope 150. That is, the control unit 120 can generate a control signal to be provided to the driving unit 130 to control the movement of the scope 150.
[0045] For example, a series of operations in which the endoscopic device 100 of the present disclosure controls the scope 150 may be performed as follows. The user may input the degree or direction of bending of the scope 150 via the operation unit. The input information is transmitted to the control unit 120, which may process the input information and generate a signal to be provided to the driving unit 130. For example, the control unit 120 may calculate the position, angle, angular velocity, etc. of a motor corresponding to the degree or direction of bending set by the user and provide the calculated signal to the driving unit 130. The driving unit 130 may generate power based on the signal from the control unit 120 and transmit the power to the scope 150. Thus, the scope 150 may move or bend according to the value input by the user.
[0046] The driving unit 130 may provide power necessary for the scope 150 to be inserted into the body or to move while bending inside the body. For example, the driving unit 130 may include a motor connected to a wire inside the scope 150 and a tension adjusting unit that adjusts the tension of the wire.
[0047] The driver 130 controls the power of the motors to control the scope 150 in various directions. For example, a plurality of motors may be configured corresponding to the direction in which the insertion portion at the end of the scope 150 is to be bent. Alternatively, a plurality of motors may be configured corresponding to the wires inside the scope 150. Specifically, the driver 130 may include a first motor that determines the x-axis movement of the scope 150 and a second motor that determines the y-axis movement of the scope 150. The x-axis position, y-axis position, z-axis position, roll, pitch, and yaw values of the end of the scope 150 may be determined by controlling the driver 130, but the configuration of the driver 130 is not limited thereto.
[0048] The tension adjustment unit receives power from the motor and generates tension by pulling the wires inside the scope 150. This allows the scope 150 to bend. The tension adjustment unit adjusts the tension acting on the multiple wires 1000 inside the scope 150 so that the scope 150 can be bent according to the determined bending amount and bending direction.
[0049] The pump unit 140 may include at least one of an air pump that injects air into the interior of the body through the scope 150, a suction pump that provides negative pressure or vacuum to draw air from the interior of the body through the scope 150, and a water pump that injects cleansing water into the interior of the body through the scope 150. Each pump may include a valve for controlling the flow of fluid. The pump unit 140 may be opened or closed by the control unit 120. At least one of the suction pump, water pump, and air pump may be opened or closed by a control signal from a computing device or by control of the control unit 120.
[0050] The scope 150 may include an insertion section 152 that is inserted into the inside of the digestive tract, and an operation section 151 that controls the movement of the insertion section 152 and receives input from a user to perform various operations.
[0051] The insertion section 152 is configured to be flexibly bendable, and one end of the insertion section 152 is connected to the actuator 130, allowing the degree or direction of bending to be determined by the actuator 130. Because medical imaging and treatment are performed at the distal end of the insertion section 152, the scope 150 may include multiple cables and tubes extending to the distal end of the insertion section 152. The scope 150 may include a light source lens 153, an objective lens 154, a working channel 155, and an air and water channel 156. Tools for treating and managing lesions during endoscopic surgery may be inserted through the working channel 155. Air may be injected and cleansing water may be supplied through the air and water channel 156. While FIG. 2 illustrates the air and water channel 156 as a passage for supplying cleansing water, the present invention is not limited thereto. For example, a separate water jet channel (not shown) may be provided inside the scope 150, and cleansing water may also be supplied through the water jet channel.
[0052] Meanwhile, in this specification, the expression that the scope 150 is bent by the control unit 120 or the drive unit 130 may mean that at least a part of the scope 150, for example, the insertion section 152, is bent.
[0053] The operation unit 151 may include a plurality of input buttons that provide various functions (such as image capture and spraying of irrigation water) so that the endoscopist can control the orientation of the insertion unit 152 and perform surgery through the working channel 155 and the air and water channels 156. For example, the operation unit may include a plurality of buttons or a joystick-type input device that indicates the direction of the scope 150.
[0054] The light source unit may include a light source that irradiates light into the inside of the body through the endoscope 150. The light source unit may include a lighting device that generates white light, or may include a plurality of lighting devices that generate light of different wavelength bands. The type of light source, light intensity, white balance, etc. may be set through the light source unit. Meanwhile, the above-mentioned setting items may also be set through the control unit 120. The light generated by the light source unit may be transmitted to the scope 150 through a path such as an optical fiber.
[0055] FIG. 2 is a block diagram illustrating a computing device according to one embodiment of the present disclosure.
[0056] The computing device 200 according to one embodiment of the present disclosure may be a hardware device or part of a hardware device that performs comprehensive data processing and calculations, or may be a software-based computing environment connected via a communication network. For example, the computing device 200 may be a slave device built into an endoscope device and performing intensive data processing functions necessary for controlling the endoscope device. The computing device 200 may also be an independent device such as a server that performs intensive data processing functions necessary for controlling the endoscope device via wired or wireless communication with the endoscope device. The above description is merely an example of the type of computing device 200, and various types of computing device 200 may be configured within the scope of what would be understood by one skilled in the art based on the contents of this disclosure.
[0057] 2, a computing device 200 according to an embodiment of the present disclosure may include a processor 210, a memory 220, and a network unit 230. However, since FIG. 2 is merely an example, the computing device 200 may include other components for implementing a computer environment. Also, the computing device 200 may include only some of the disclosed components.
[0058] The processor 210 according to an embodiment of the present disclosure can be understood as a component including hardware and / or software for performing computing operations. For example, the processor 210 can read a computer program and process data acquired during the control of an endoscope device. The processor 210 for performing such data processing can include a central processing unit (CPU), a general-purpose graphics processing unit (GPGPU), a tensor processing unit (TPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc. The types of processor 210 described above are merely examples, and various types of processor 210 can be configured within the scope of what would be understood by one skilled in the art based on the present disclosure.
[0059] The processor 210 can calculate torque to allow the scope of the endoscopic device to follow the user's desired position and velocity. The processor 210 can also calculate the position or velocity of the motor. The processor 210 can then input at least one of the calculated torque, motor position, or motor velocity to control the motor. For example, as in the endoscopic device 100 of FIG. 1, if the end of the scope 150 and the drive unit 130 are separated by a certain distance or more, the power of the drive unit 130 cannot be completely transmitted to the end of the scope 150 via the wire, which can result in an error between the user's control command and the movement of the scope 150. The processor 210 can perform calculations based on data regarding the target movement state of the scope 150 and data regarding the estimated movement state of the scope 150, and can calculate torque or the motor position and velocity to reduce the error between the control command and the movement of the scope 150. That is, the processor 210 can control the motor position or motor torque in parallel. Here, control of the motor position can be understood as control taking kinematics into consideration. The control of the motor torque can be understood as a control that takes dynamics into consideration.
[0060] The memory 220 according to an embodiment of the present disclosure may be understood as a component including hardware and / or software for storing and managing data processed by the computing device 200. That is, the memory 220 may store any type of data generated or determined by the processor 210 and any type of data received by the network unit 230. For example, the memory 220 may include at least one type of storage medium selected from the group consisting of flash memory, hard disk, multimedia card micro, card-type memory, random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, and optical disk. The memory 220 may also include a database system that manages data in a predetermined manner. The types of memory 220 described above are merely examples, and various configurations of the memory 220 are possible within the scope of what one skilled in the art would understand based on the present disclosure.
[0061] The memory 220 may structure and organize and manage data, a combination of data, and program code executable by the processor 210, which are required for the processor 210 to perform calculations. For example, the memory 220 may store program code that causes the processor 210 to calculate torque using a mathematical model, and various data generated by the execution of the program code. The memory 220 may also store various data transmitted and received via the network unit 230, which will be described later, for use in the torque calculation by the processor 210.
[0062] The network unit 230 according to an embodiment of the present disclosure may be understood as a component that transmits and receives data via any known wired or wireless communication system. For example, the network unit 230 may transmit and receive data using a wired or wireless communication system such as a local area network (LAN), wideband code division multiple access (WCDMA), long term evolution (LTE), wireless broadband internet (WiBro), 5G, ultra-wideband, ZigBee, radio frequency (RF) communication, wireless LAN, wireless fidelity (WiFi), near field communication (NFC), or Bluetooth. The above-described communication systems are merely examples, and various other wired or wireless communication systems for transmitting and receiving data by the network unit 230 may be used.
[0063] Meanwhile, data to be processed by the processor 210 may be stored in the memory 220 or may be received via the network unit 230, and data generated by the processor 210 may be stored in the memory 220 or may be transmitted to the outside via the network unit 230.
[0064] FIG. 3 is a block diagram of a configuration for control according to one embodiment of the present disclosure.
[0065] Referring to FIG. 3 , control according to an embodiment of the present disclosure can be performed by a sensor 310, an operation unit 320, a scope estimation model 330 implemented by the endoscope device or a computing device, a first controller 340, and a second controller 350 included in the endoscope device. When the computing device is included in the endoscope device, the computing device can be understood to correspond to the control unit of the endoscope device. Therefore, when the computing device is included in the endoscope device, the scope estimation model 330, the first controller 340, and the second controller 350 can be understood to be software units implemented by the control unit. When the computing device is a device independent from the endoscope device, the computing device can acquire data generated by the sensor 310 or the operation unit 320 via wired or wireless communication with the endoscope device. Then, the computing device can perform calculations required for control based on the data acquired from the sensor 310 or the operation unit 320 via the scope estimation model 330, the first controller 340, and the second controller 350.
[0066] The sensor 310 may sense the actual movement of a motor included in the endoscope device and generate first data regarding the actual movement state of the motor. Here, the actual movement state of the motor may include at least one of the actual position of the motor or the actual speed of the motor measured by a sensor provided in the motor. That is, the sensor 310 may sense the position or speed at which the motor is moving. Then, the sensor 310 may generate first data regarding the actual movement state of the motor based on the sensed value.
[0067] The operation unit 320 can receive a user input and generate second data regarding a target movement state of the motor. Here, the target movement state of the scope can include at least one of a target position of the scope, a target velocity of the scope, or a target acceleration of the scope, calculated according to a command using a joystick included in the endoscope device. That is, the operation unit 320 can acquire a user command via the joystick. Then, the operation unit 320 can generate second data indicating a position to which the scope should be moved or a speed or acceleration at which the scope should be moved according to the user command.
[0068] The scope estimation model 330 may estimate a movement state of the scope based on the first data generated by the sensor 310 and the second data generated by the operation unit 320, and generate third data regarding the estimated movement state of the scope. Here, the estimated movement state of the scope may include at least one of an estimated position of the scope or an estimated speed of the scope calculated based on the actual position data of the motor included in the first data and the actual speed data of the motor included in the first data. Here, the target speed data of the scope included in the second data may be used as a reference parameter for calculating the estimated position or the estimated speed. That is, the scope estimation model 330 may calculate an estimate of the position or speed at which the scope will move based on the actual movement state of the motor and the target movement state of the scope, and generate the third data.
[0069] The first controller 340 may calculate a first torque for controlling the motor based on the second data generated by the operation unit 320 and the third data generated by the scope estimation model 330. Here, the first torque may serve to control the motor so that the scope follows the position and speed desired by the user. That is, the first controller 340 may calculate the first torque to be input to the motor through a mathematical model using the second data and the third data as input variables so that the scope can be accurately controlled according to the user's intention. Here, the mathematical model included in the first controller 340 may include sliding mode control.
[0070] The second controller 350 may calculate a second torque for controlling the motor based on the first data and the third data. Here, the second torque may serve to minimize errors that occur in control using the first torque. That is, the second controller 350 may calculate the second torque that compensates for errors so that control using the first torque can be performed accurately through a mathematical model using the first data and the second data as input variables. Here, the mathematical model included in the second controller 350 may include a nonlinear compensator.
[0071] FIG. 4 is a block diagram of an operation unit according to an embodiment of the present disclosure.
[0072] Referring to FIG. 4 , the operation unit 320 according to an embodiment of the present disclosure may receive a user input via a joystick. Here, the user input may be a command that determines how the scope moves. The operation unit 320 may calculate a target position and a target velocity of the scope based on the user input via a filter 321. Here, the filter 321 may be a moving average filter or a Kalman filter, but the present disclosure is not limited thereto. The operation unit 320 may then calculate a target acceleration of the scope by performing an additional operation on the target velocity of the scope calculated via the filter 321. That is, the operation unit 320 may calculate a target position, a target velocity, and a target acceleration of the scope based on the user input.
[0073] FIG. 5 is a block diagram of a scope estimation model according to one embodiment of the present disclosure.
[0074] 5, according to an embodiment of the present disclosure, the scope estimation model 330 may receive the actual position and speed of the motor measured via the sensor 310 and the target speed of the scope calculated via the operation unit 320. The scope estimation model 330 may input the actual position and speed of the motor to the motion state estimator 331 to estimate the motion state of the scope. Here, the target speed of the scope may be used as a reference parameter for estimating the motion state. The motion state of the scope may include information on whether backlash compensation is required. In other words, the scope estimation model 330 may determine whether backlash occurs via the motion state estimator 331.
[0075] The scope estimation model 330 may calculate the amount of backlash based on the motion state of the scope estimated via the motion state estimator 331 and the actual position of the motor measured via the sensor 310. Specifically, if it is determined via the motion state estimator 331 that backlash has occurred, the scope estimation model 330 may input the actual position of the motor to the backlash model 332 to calculate the amount of backlash. Here, the backlash model 332 may be a model generated by modeling the tendency of the amount of backlash based on the actual position of the motor and the estimated position of the motor. If it is determined via the motion state estimator 331 that backlash has not occurred, the scope estimation model 330 may not perform the calculation of the backlash model 332.
[0076] The scope estimation model 330 may calculate an estimated position and an estimated velocity of the scope based on the actual position and actual velocity of the motor measured via the sensor 310 and the amount of backlash calculated via the backlash model 332. Specifically, the scope estimation model 330 may input the actual position and actual velocity of the motor and the amount of backlash to the pose estimator 333 to calculate an estimated position and an estimated velocity of the scope. Here, if it is determined through the motion state estimator 331 that a backlash has occurred, the pose estimator 333 may determine that when a backlash occurs, the angle of the motor changes but the angle of the scope does not change, and estimate the position of the scope before the backlash occurred as the position of the current scope where the backlash has occurred. On the other hand, if it is determined through the motion state estimator 331 that a backlash has not occurred, the pose estimator 333 may estimate the position of the current scope where the backlash has not occurred by using the maximum angle of the motor corresponding to the maximum angle of the scope. The pose estimator 333 may then calculate an estimated velocity of the scope based on a change in the estimated position of the scope. Meanwhile, the pose estimator 333 may perform calculations based on a machine learning model. Here, the machine learning model may be a model pre-trained to perform time series prediction that calculates an estimated position of the scope based on the actual position, actual speed, and amount of backlash of the motor. For example, the machine learning model may include a multi-layer perceptron (MLP), a vanilla recurrent neural network, a long-short term memory (LSTM), etc.
[0077] FIG. 6 is a block diagram of a first controller according to one embodiment of the present disclosure.
[0078] Referring to FIG. 6 , according to an embodiment of the present disclosure, a first controller 340 may receive the estimated position and velocity of the scope calculated via the scope estimation model 330, as well as the target position and target velocity of the scope calculated via the operation unit 320. The first controller 340 may calculate a sliding surface based on the estimated position and estimated velocity of the scope and the target position, target velocity, and target acceleration of the scope using a sliding surface calculator 341. The first controller 340 may calculate an inertial force based on the estimated position of the scope using an inertial force calculator 342. The first controller 340 may calculate the Coriolis effect based on the estimated position, estimated velocity, and target velocity of the scope using a Coriolis effect calculator 343. The first controller 340 may calculate a force due to the scope shape based on the estimated position of the scope using a spring effect calculator 344. The first controller 340 performs additional calculations based on the values calculated by the calculators 341, 342, 343, and 344, and calculates a first torque to be input to the motor to control the movement of the scope according to the user's intention. Here, the first torque calculated by the calculation of the first controller 340 can be expressed as the following Equation 1.
number
[0079] The first controller 340 can calculate a first torque that can minimize edge tracking errors that may occur during the scope control process by combining calculators 341, 342, 343, and 344 that reflect the physical characteristics of the endoscope device corresponding to equation 1.
[0080] 7 is a block diagram of a second controller according to an embodiment of the present disclosure. Referring to FIG. 7, a second controller 350 according to an embodiment of the present disclosure may acquire an actual speed of the motor measured via a sensor 310 and a target speed of the scope generated via an operation unit 320. The second controller 350 may generate a second torque to compensate for friction generated by the internal wire of the scope and friction between the motor and gears based on the target speed of the scope and the actual speed of the motor. Here, the second controller 350 may generate the second torque by performing modeling for Coulomb-viscous friction and modeling for Stribeck friction.
[0081] Meanwhile, in addition to the torque control of the motor performed via the first torque and the second torque, the position control of the motor can also be performed. Unlike the torque control, the position control of the motor can be understood as a kinematic control that focuses on moving the motor to a desired position without considering the force or friction due to the spring shape of the endoscope wire.
[0082] The motor position control can be performed based on the target position and backlash state of the motor, which are determined based on the estimated position of the scope calculated by the operation unit 320. Here, the backlash state can include, when backlash occurs, an estimated value for the amount of backlash calculated based on the backlash model 332 and the current angle at the time the backlash occurred. For example, position calculation for controlling the motor position can be expressed as the following Equation 2.
number
[0083]
number
[0084] where: JPEG0007812582000013.jpg699JPEG0007812582000014.jpg653JPEG0007812582000015.jpg698JPEG0007812582000016.jpg641 can be updated each time a backlash occurs.
[0085] That is, the motor position control of the present disclosure can be performed based on the motor position calculated based on Equations 2 and 3. By using this position control, the present disclosure can quickly compensate for the backlash within a certain period of time in a situation where backlash occurs, allowing the scope to move again in response to a user command.
[0086] FIG. 8 is a flowchart illustrating a control method for an endoscope apparatus according to an embodiment of the present disclosure.
[0087] 8, a computing device according to an embodiment of the present disclosure may acquire first data regarding an actual movement state of a motor included in an endoscopic device and second data regarding a target movement state of a scope included in the endoscopic device (S100). Here, the first data may include at least one of actual position data of the motor or actual speed data of the motor measured by a sensor. And the second data may include at least one of target position data of the scope, target speed data of the scope, or target acceleration data of the scope calculated via the endoscopic device. If the computing device is a configuration that belongs to the endoscopic device, the computing device may correspond to a control unit of the endoscopic device. If the computing device is a device independent of the endoscopic device, the computing device may receive the first data and the second data via wired or wireless communication with the endoscopic device.
[0088] The computing device may control the motor based on the first data and the second data acquired in S100 (S200). Here, motor control may be divided into torque control and position control. For motor torque control, the computing device may acquire third data regarding an estimated movement state of the scope based on the first data and the second data. Specifically, the computing device may determine whether backlash occurs in the scope based on the actual position data of the motor included in the first data and the actual speed data of the motor included in the first data. The computing device may then generate third data based on the actual position data of the motor, the actual speed data of the motor, and first compensation data regarding the amount of backlash determined based on whether backlash occurs. Once the third data is generated, the computing device may calculate torque for motor control based on the first data, the second data, and the third data. For a detailed description of the calculation process for motor torque control, please refer to the descriptions of FIGS. 3 to 7 above.
[0089] For controlling the position of the motor, the computing device may calculate the position of the motor based on target position data of the motor determined by the second data and second compensation data for the amount of backlash determined depending on whether backlash occurs in the scope. Here, the target position data of the motor may be determined based on the target position data of the scope included in the second data. The second compensation data may be a combination of an estimated value for the amount of backlash calculated based on the first data and a current state value at the time when backlash occurs. The description of Equation 2 and Equation 3 above is referred to for a specific calculation process for controlling the position of the motor.
[0090] The above description of the present disclosure is for illustrative purposes only, and it will be understood by those skilled in the art that the present disclosure may be easily modified into other specific forms without changing the technical spirit or essential features of the present disclosure. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and are not limiting. For example, each component described as a single type may be implemented in a distributed form, and similarly, each component described as a distributed type may be implemented in a combined form. [Explanation of symbols]
[0091] 100 Endoscopic device 110 Output section 120 control section 130 Drive unit 140 Pump section 150 Scope 200 Computing Devices 210 processors 220 memory 230 Network 310 Sensor 320 Control unit 321 filters 330 Scope Estimation Model 331 Motion State Estimator 332 Backlash Model 333 Pose Estimator 340 First Controller 341 Sliding Surface Calculator 342 Inertial force calculator 343 Coriolis Effect Calculator 344 Spring Effect Calculator 350 Second Controller
Claims
1. 1. A method of operating a computing device including at least one processor, comprising: The processor is configured to perform the following steps: acquiring first data on an actual movement state of a motor included in a flexible endoscope device and second data on a target movement state of a scope included in the flexible endoscope device; and controlling the motor based on the acquired first data and second data; controlling the motor based on the acquired first data and second data, acquiring third data about an estimated motion state of the scope based on the acquired first data and second data; calculating a torque for controlling the motor based on the acquired first data, second data, and third data; method.
2. The actual movement state of the motor includes at least one of an actual position of the motor or an actual speed of the motor measured by a sensor; The method of claim 1.
3. the target motion state of the scope includes at least one of a target position of the scope, a target velocity of the scope, or a target acceleration of the scope, which is calculated via the flexible endoscope device; The method of claim 1.
4. the estimated movement state of the scope includes at least one of an estimated position of the scope or an estimated speed of the scope calculated based on actual position data of the motor included in the first data and actual speed data of the motor included in the first data; The method of claim 1.
5. The step of acquiring third data regarding an estimated motion state of the scope based on the acquired first data and second data includes: determining whether backlash occurs in the scope based on actual position data of the motor included in the first data and actual speed data of the motor included in the first data; generating the third data based on actual position data of the motor, actual speed data of the motor, and first compensation data for an amount of backlash occurrence determined according to the determined presence or absence of backlash occurrence; The method of claim 1.
6. The torque is a first torque that controls the motor so that the scope follows a user's desired position and velocity; a second torque for minimizing an error occurring in control by the first torque, The method of claim 1.
7. The first torque is calculated by a first controller including a mathematical model having the second data and the third data as input variables. The method of claim 6.
8. The mathematical model included in the first controller includes a sliding mode control. The method of claim 7.
9. The second torque is calculated by a second controller including a mathematical model having the first data and the second data as input variables. The method of claim 6.
10. The mathematical model included in the second controller includes a nonlinear compensator. The method of claim 7.
11. controlling the motor based on the acquired first data and second data, calculating a position of the motor based on target position data of the motor determined by the second data and second compensation data for a backlash amount determined depending on whether backlash occurs with respect to the scope; The method of claim 1.
12. the second compensation data is a combination of an estimated value for the amount of backlash that is calculated based on the first data and a current state value at the time when the backlash occurs; The method of claim 11.
13. The second compensation data is updated every time the backlash occurs. The method of claim 11.
14. A computer program stored on a computer-readable storage medium, comprising: The computer program, when executed by one or more processors, performs operations for controlling a flexible endoscope, The operation is acquiring first data on an actual movement state of a motor included in a flexible endoscope device and second data on a target movement state of a scope included in the flexible endoscope device; and controlling the motor based on the acquired first data and second data. The operation of controlling the motor based on the acquired first data and second data includes: acquiring third data about an estimated motion state of the scope based on the acquired first data and second data; and calculating a torque for controlling the motor based on the acquired first data, second data, and third data. Computer program.
15. A computing device for control of a flexible endoscope, comprising: a processor including at least one core; a memory containing program code executable by the processor; The processor: acquiring first data on an actual movement state of a motor included in a flexible endoscope device and second data on a target movement state of a scope included in the flexible endoscope device; acquiring third data about an estimated motion state of the scope based on the acquired first data and second data; calculating a torque for controlling the motor based on the acquired first data, second data, and third data; Device.
Citation Information
Patent Citations
Endoscope system
JP2009136618A
Medical device
JP2013248119A
Control system of continuum robot and its control method
JP2023028474A
Endoscope apparatus and control method thereof
KR101940046B1