Method, program and apparatus for controlling endoscope device

The method addresses the challenge of controlling flexible endoscope scopes by using data on actual and target movement states to calculate and apply torque, resulting in precise and delicate control, thereby enhancing procedural efficiency and patient comfort.

JP2025092474AActive Publication Date: 2025-06-19MEDINTECH INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024211945
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-08
Filing Date
2024-12-05
Publication Date
2025-06-19
Estimated Expiration
2044-12-05

AI Technical Summary

Technical Problem

Existing endoscopic control technologies face challenges in accurately and delicately controlling the movement of flexible endoscope scopes within the body, particularly due to the soft and irregular nature of the digestive tract and the complexity of movements required during procedures.

Method used

A method for controlling an endoscope device that involves obtaining data on the actual and target movement states of the scope, including position, speed, and acceleration, and using this data to calculate and apply torque to the motor, thereby ensuring precise control and minimizing errors.

Benefits of technology

This solution enables accurate and delicate control of the endoscope scope, reducing errors between user intent and scope movement, which improves procedural convenience and patient stability during endoscopic procedures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025092474000001_ABST
    Figure 2025092474000001_ABST
Patent Text Reader

Abstract

To provide a method, computer program, and apparatus for controlling a motor of an endoscope device so that a scope of the endoscope device can move to a position desired by a user at a speed desired by the user.SOLUTION: A method of controlling an endoscope device 100 implemented with a computing device including at least one processor can include: obtaining first data regarding the actual movement state of a motor included in an endoscope device and second data regarding the target movement state of a scope 150 included in the endoscope device; and controlling the motor based on the obtained first data and second data.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to endoscopic control technology, and specifically, to a method, a computer program, and an apparatus for controlling a motor for the movement of a scope of an endoscopic device.

Background Art

[0002] An endoscope is a general term for a medical instrument that observes organs by inserting a scope into the body without performing a procedure or autopsy. An endoscope inserts a scope into the human body, irradiates light, and visualizes the light reflected from the surface of the inner wall. The types of endoscopes are classified according to the purpose and body part, and can be roughly classified into a rigid endoscope in which the endoscope tube is formed of metal and a flexible endoscope typified by a gastrointestinal endoscope.

[0003] Since a flexible endoscope device contains various devices inside, it is vulnerable to impact, and the inside of the digestive tract into which the flexible endoscope is inserted is also a very soft tissue and has an irregular shape. In addition, since the shape of the inside of the digestive tract varies from patient to patient, even experienced medical staff may not find the process of inserting the endoscope easy.

[0004] Here, as the endoscopic procedure is performed, the endoscope scope is inserted into the digestive tract while being twisted or bent according to the shape of the digestive tract. At the initial stage of the procedure, since the shape of the scope is relatively simple, the operator can bend or move the scope to a desired angle without applying much force. However, as the procedure progresses to the later stage or involves complex movements during the procedure, controlling the scope while considering the characteristics of the scope that are deformed every moment may cause great inconvenience to the operator.

[0005] In addition, due to the characteristics of the endoscopic procedure of being inserted into the body, fine control of the scope is required, so a technology for controlling the scope by reflecting the physical changes that occur in the endoscopic device in the procedure situation is required.

Prior Art Documents

Patent Document

[0006]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0007] The present disclosure is for solving the problems of the above-described prior art, and relates to a method, a computer program, and an apparatus for controlling a motor of an endoscope device so that a scope can move at a desired position and speed.

[0008] However, the technical problems to be achieved by the present embodiment are not limited to the technical problems as described above, and other technical problems may exist.

Means for Solving the Problems

[0009] According to an embodiment of the present disclosure for realizing the problems as described above, a method for controlling an endoscope device is disclosed. The method may include obtaining first data about an actual movement state of a motor included in the endoscope device and second data about a target movement state of a scope included in the endoscope device, and controlling the motor based on the obtained first data and second data.

[0010] As an alternative, the actual movement state of the motor may include at least one of an actual position of the motor measured by a sensor or an actual speed of the motor.

[0011] As an alternative, the target movement state of the scope may include at least one of a target position of the scope, a target speed of the scope, or a target acceleration of the scope calculated by the endoscope device.

[0012] As an alternative, the step of controlling the motor based on the acquired first data and second data may include: acquiring third data regarding the estimated movement state of the scope based on the acquired first data and second data; and calculating torque for controlling the motor based on the acquired first data, second data, and third data.

[0013] As an alternative, the estimated movement state of the scope may include at least one of the estimated position of the scope or the 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.

[0014] As an alternative, the step of acquiring third data regarding the estimated movement state of the scope based on the acquired first data and second data may include: determining whether backlash occurs with respect to 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; and generating the third data based on the first compensation data regarding the amount of backlash determined by the actual position data of the motor, the actual speed data of the motor, and the presence or absence of backlash determined.

[0015] As an alternative, the torque may include: a first torque for controlling the motor so that the scope follows the desired position and speed of the user; and a second torque for minimizing the error generated by the control with the first torque.

[0016] As an alternative, the first torque can be calculated using a first controller including a mathematical model having the second data and the third data as input variables.

[0017] As an alternative, the mathematical model included in the first controller can include sliding mode control.

[0018] As an alternative, the second torque can be calculated using a second controller that includes a mathematical model with the first data and the second data as input variables.

[0019] As an alternative, the mathematical model included in the second controller can include a nonlinear compensator.

[0020] As an alternative, the step of controlling the motor based on the acquired first data and second data can include the step of calculating the position of the motor based on target position data of the motor determined by the second data and second compensation data regarding the amount of backlash generated depending on the presence or absence of backlash with respect to the scope.

[0021] As an alternative, the second compensation data can be a combination of an estimated value for the amount of backlash generated based on the first data and the current state value at the time when the backlash occurred.

[0022] As an alternative, the second compensation data can be updated each time the backlash occurs.

[0023] According to an embodiment of the present disclosure for realizing the above-described problems, a computer program stored in a computer-readable storage medium, when the computer program is executed by one or more processors, causes operations for controlling an endoscope device to be performed. The operations may include an operation of acquiring first data regarding an actual movement state of a motor included in the endoscope device and second data regarding a target movement state of a scope included in the endoscope device, and an operation of controlling the motor based on the acquired first data and second data.

[0024] According to an embodiment of the present disclosure for realizing the above-described problems, a computing device for controlling an endoscope device is disclosed. The device includes a processor including at least one core, and a memory including program code executable by the processor. The processor can acquire first data regarding an actual movement state of a motor included in the endoscope device and second data regarding a target movement state of a scope included in the endoscope device, and control the motor based on the acquired first data and second data.

Advantages of the Invention

[0025] According to an embodiment of the present disclosure, by controlling the position, speed, and torque of the motor so that the scope of the endoscope device follows the desired position and speed of the user, accurate and delicate scope control is possible. That is, 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 a sense of stability can be given to the patient during the procedure.

Brief Description of the Drawings

[0026]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Mode for Carrying Out the Invention

[0027] Hereinafter, embodiments of the present disclosure will be described in detail so that those having ordinary knowledge in the technical field of the present disclosure (hereinafter referred to as those skilled in the art) can easily implement them with reference to the accompanying drawings. The embodiments presented in the present disclosure are provided so that those skilled in the art can use or implement the content 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 can 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. Also, for the sake of clarity in the description of the present disclosure, the reference numerals of the parts not related to the description of the present disclosure can 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, in this disclosure, unless otherwise specified or the meaning is not clear from the context, "x uses a or b" should be understood to mean one of the natural inclusive substitutions. For example, in this disclosure, unless otherwise specified or the meaning is not clear from the context, "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 should be understood to include all possible combinations of one or more of the related concepts listed.

[0031] The terms "comprising" and / or "including" as used in this disclosure should be understood to mean that a particular feature and / or component is present. However, the terms "comprising" and / or "including" should be understood not 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 the context clearly indicates a singular form, the singular generally should be interpreted to include "one or more".

[0033] The term "the Nth (N is a natural number)" as used in this disclosure can be understood as an expression used to distinguish the components of this disclosure from each other according to a predetermined criterion such as a functional perspective, a structural perspective, or for the convenience of explanation. For example, in this disclosure, components that perform different functional roles can be distinguished as the first component or the second component. However, components that are substantially the same within the technical idea of this disclosure but need to be distinguished for the convenience of explanation can also be distinguished as the first component or the second component.

[0034] On the one hand, the terms "module" or "unit" used in the present disclosure can be understood as terms indicating an independent functional unit that processes computing resources, such as a computer-related entity, firmware, software or a part thereof, hardware or a part thereof, or a combination of software and hardware. Here, a "module" or "unit" may be a unit composed of a single element, or may be a unit represented as a combination or set of multiple elements. For example, as a concept of protocol, a "module" or "unit" can indicate a hardware element of a computing device or a set thereof, an application program that performs a specific function of software, a processing procedure embodied by the execution of software, or a set of instruction words for the execution of a program. Also, as a broad concept, a "module" or "unit" may indicate the computing device itself that constitutes a system, or an application executed on the computing device. However, since the above concepts are only examples, the "module" or "unit" concept can be defined in various ways within the scope understandable by those skilled in the art based on the content of the present disclosure.

[0035] The term "model" used in the present disclosure can be understood as a system embodied using mathematical concepts and language to solve a specific problem, a set of software units for solving a specific problem, or an abstract model for a processing procedure for solving a specific problem. For example, a neural network "model" can indicate an entire system embodied as a neural network having problem-solving ability through learning. Here, the neural network can have problem-solving ability by optimizing parameters that connect nodes or neurons through learning. A neural network "model" can include a single neural network, or can also include a set of neural networks combined from multiple neural networks.

[0036] As used in this disclosure, the term "acquire" can 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 above explanations of the terms are for helping to understand this disclosure. Therefore, it should be noted that when the above terms are not explicitly described as limiting matters of the content of this disclosure, the content of this disclosure is not used in the sense of limiting the technical idea.

[0038] FIG. 1 is a configuration diagram of an endoscope device according to an embodiment of this disclosure.

[0039] Referring to FIG. 1, the endoscope device 100 according to an embodiment of this disclosure can be a flexible endoscope, specifically, a gastrointestinal endoscope. The endoscope device 100 can include a configuration capable of acquiring medical images taken inside the digestive tract, and, if necessary, a configuration capable of inserting instruments and performing treatment or procedures while viewing the medical images.

[0040] The endoscope device 100 can include an output unit 110, a control unit 120, a drive unit 130, a pump unit 140, and a scope 150, and can further include a light source unit (not shown).

[0041] The output unit 110 can include a display for displaying medical images. The output unit 110 can include a display module capable of outputting 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 three-dimensional display (3D display), etc., or implementing a touch screen.

[0042] The output unit 110 can include various means for providing medical images or information about medical images. The output unit 110 can display the medical images acquired by the scope 150 or the medical images processed by the control unit 120. In addition to visual means, the output unit 110 can provide information via auditory means, and can include, for example, a speaker for audibly providing an alarm for a medical image. On the other hand, in FIG. 2, a single output unit 110 is shown, but the number of output units 110 can be plural. In this case, the output unit 110 for displaying the medical images acquired by the scope 150 and the output unit 110 for displaying the information processed by the control unit 120 can be distinguished.

[0043] The control unit 120 can control the overall operation of the endoscope device 100. For example, the control unit 120 can perform operations such as the shooting operation of medical images by the scope 150, the processing operation of the acquired medical images, the control operations for performing medical operations such as washing water injection and suction, and a series of calculations for controlling the movement of the scope 150. The control unit 120 can include all types of devices capable of processing data. According to an exemplary embodiment, the control unit 120 can be a data processing device built into hardware that has a physically structured circuit for performing functions represented by codes or instructions included in a program. As an example of a data processing device built into hardware, it can include processing devices such as a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc., but the technical idea of the present disclosure is not limited thereto.

[0044] The control unit 120 can control the movement of the scope 150 via the drive unit 130 connected to the scope 150. That is, the control unit 120 can generate a control signal provided to the drive unit 130 to control the movement of the scope 150.

[0045] Exemplarily, a series of operations for the endoscope device 100 of the present disclosure to control the scope 150 can be executed as follows. The user can input the degree of curvature or the direction of curvature of the scope 150 via the operation unit. The input information is transmitted to the control unit 120, and the control unit 120 can process the input information and generate a signal to be provided to the drive unit 130. For example, the control unit 120 can calculate the position, angle, angular velocity, etc. of the motor corresponding to the degree of curvature or the direction of curvature set by the user and provide them to the drive unit 130. The drive unit 130 can generate power based on the signal of the control unit 120 and transmit it to the scope 150. Therefore, the scope 150 can move or curve corresponding to the value input by the user.

[0046] The drive unit 130 can provide the power required for the process of the scope 150 being inserted into the body or moving while curving inside the body. For example, the drive unit 130 can include a motor connected to the wire inside the scope 150 and a tension adjustment unit for adjusting the tension of the wire.

[0047] The drive unit 130 can control the power of the motor to control the scope 150 in various directions. For example, a plurality of motors can be configured corresponding to the direction in which the insertion part at the end of the scope 150 is to be bent. Or, a plurality of motors can be configured corresponding to the wires inside the scope 150. Specifically, the drive unit 130 can include a first motor for determining the x-axis movement of the scope 150 and a second motor for determining the y-axis movement of the scope 150. The control of the drive unit 130 can determine the x-axis position, y-axis position, z-axis position, roll, pitch, and yaw values at the end of the scope 150, but the configuration of the drive unit 130 is not limited to this.

[0048] The tension adjustment unit can receive power from a motor and generate tension by pulling the wire inside the scope 150. As a result, the scope 150 can be bent. The tension adjustment unit can adjust the tension acting on the plurality of 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 can include at least one of an air pump that injects air into the body through the scope 150, a suction pump that provides negative pressure or vacuum and inhales air from the body through the scope 150, and a water pump that injects cleaning water into the body through the scope 150. Each pump can include a valve for controlling the flow of fluid. The pump unit 140 can be opened and closed by the control unit 120. At least one of the suction pump, the water pump, and the air pump can be opened and closed by a control signal of a computing device or under the control of the control unit 120.

[0050] The scope 150 can include an insertion part 152 that is inserted into the digestive tract, and an operation part 151 that controls the movement of the insertion part 152 and receives input from the user to perform various operations.

[0051] The insertion part 152 is configured to bend flexibly, and one end thereof is connected to the driving part 130, so that the driving part 130 can determine the degree of bending or the bending direction. Since medical imaging and the performance of a surgical operation are carried out at the end of the insertion part 152, the scope 150 can include a plurality of cables and tubes extending to the end of the insertion part 152. Inside the scope 150, a light source lens 153, an objective lens 154, a working channel 155, and an air and water channel 156 can be provided. Through the working channel 155, tools for the treatment and disposal of lesions can be inserted during the endoscopic surgical process. Air can be injected and washing water can be supplied through the air and water channel 156. On the other hand, in FIG. 2, the air and water channel 156 is shown as the passage for supplying the washing water, but it is not limited thereto. Exemplarily, a separate water jet channel (not shown) can be provided inside the scope 150, and the washing water can also be supplied through the water jet channel.

[0052] On the other hand, in this specification, the expression described that the scope 150 is bent by the control part 120 or the driving part 130 may mean that at least a part of the scope 150, for example, the insertion part 152 is bent.

[0053] The operation part 151 can include a plurality of input buttons that provide various functions (such as image shooting, washing water injection, etc.) so that an endoscopic surgeon can control the orientation of the insertion part 152 and perform a surgical operation through the working channel 155 and the air and water channel 156. For example, the operation part can include a plurality of buttons for indicating the direction of the scope 150 or an input device in the form of a joystick.

[0054] The light source unit can include a light source that irradiates light into the body through the endoscope scope 150. The light source unit can include an illumination device that generates white light, or can include a plurality of illumination devices that generate lights with different wavelength bands. Through the light source unit, the type of light source, the intensity of light, the white balance, etc. can be set. On the other hand, the above-described setting items can also be set through the control unit 120. The light generated by the light source unit can be transmitted to the scope 150 through a path such as an optical fiber.

[0055] FIG. 2 is a block diagram showing a computing device according to an embodiment of the present disclosure.

[0056] A computing device 200 according to an embodiment of the present disclosure may be a hardware device or a part of a hardware device that performs comprehensive processing and calculation of data, or may be a computer environment based on software connected by a communication network. For example, the computing device 200 may be a subordinate device built into the endoscope device and performing an intensive data processing function necessary for the control of the endoscope device. The computing device 200 may be an independent device such as a server that performs an intensive data processing function necessary for the control of the endoscope device through wired or wireless communication with the endoscope device. The above description is only an example related to the type of the computing device 200, so the type of the computing device 200 can be configured in various ways within the scope understandable by those skilled in the art based on the content of the present disclosure.

[0057] Referring to FIG. 2, a computing device 200 according to an embodiment of the present disclosure can include a processor 210, a memory 220, and a network unit 230. However, since FIG. 2 is only an example, the computing device 200 can include other configurations for implementing a computer environment. Also, only a part of the above-described configurations can be included in the computing device 200.

[0058] The processor 210 according to an embodiment of the present disclosure can be understood as a constituent unit including hardware and / or software for executing computing operations. For example, the processor 210 can read a computer program and execute the processing of data that can be obtained in the control process of the endoscope device. The processor 210 for executing 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), or a field programmable gate array (FPGA), etc. Since the types of the above-described processor 210 are merely examples, the types of the processor 210 can be configured in various ways within the scope understandable by those skilled in the art based on the content of the present disclosure.

[0059] The processor 210 can calculate the torque that enables the scope of the endoscope device to follow the desired position and speed of the user. Also, the processor 210 can calculate the position or speed of the motor. And the processor 210 can control the motor by inputting at least one of the calculated torque, the position or speed of the motor. For example, as in the endoscope device 100 of FIG. 1, when 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, and an error may occur between the control command of the user and the movement of the scope 150. The processor 210 performs calculations based on the data about the target movement state of the scope 150 and the data about the estimated movement state of the scope 150, and can calculate the torque for reducing the error between the control command and the movement of the scope 150 or calculate the position and speed of the motor. That is, the processor 210 can control the position of the motor or the torque of the motor in parallel. Here, the control of the position of the motor can be understood as control considering kinematics. And the control of the torque of the motor can be understood as control considering dynamics.

[0060] The memory 220 according to an embodiment of the present disclosure can be understood as a component unit including hardware and / or software for storing and managing data processed by the computing device 200. That is, the memory 220 can store any form of data generated or determined by the processor 210 and any form of data received by the network unit 230. For example, the memory 220 can include at least one type of storage medium such as a flash memory type, a hard disk type, a multimedia card micro type, a card type memory, a RAM (random access memory), an SRAM (static random access memory), a ROM (read-only memory), an EEPROM (electrically erasable programmable read-only memory), a PROM (programmable read-only memory), a magnetic memory, a magnetic disk, and an optical disk. Further, the memory 220 can also include a database system for controlling and managing data in a predetermined system. Since the types of the memory 220 described above are merely examples, the types of the memory 220 can be configured in various ways within the scope understandable by those skilled in the art based on the content of the present disclosure.

[0061] The memory 220 can structure and organize and manage data, combinations of data, program code executable by the processor 210, etc., necessary for the processor 210 to execute operations. For example, the memory 220 can store program code for operating the processor 210 to calculate torque using a mathematical model and various types of data generated by the execution of the program code. Further, the memory 220 can store various types of data transmitted and received via the network unit 230 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 can be understood as a component that transmits and receives data via any known wired or wireless communication system. For example, the network unit 230 can execute data transmission and reception 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), fifth-generation mobile communication (5G), ultrawide-band wireless communication, ZigBee, radio frequency (RF) communication, wireless LAN, wireless fidelity, near field communication (NFC), or Bluetooth (registered trademark). Since the above-described communication systems are merely examples, the wired or wireless communication system for data transmission and reception of the network unit 230 can be variously applied in addition to the above-described examples.

[0063] On the other hand, the data to be processed by the processor 210 can be stored in the memory 220 or received via the network unit 230, and the data generated by the processor 210 can be stored in the memory 220 or transmitted externally via the network unit 230.

[0064] FIG. 3 is a block diagram of a configuration for control according to an embodiment of the present disclosure.

[0065] Referring to FIG. 3, the 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 an 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 provided 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 provided in the endoscope device, the scope estimation model 330, the first controller 340, and the second controller 350 can be understood as software units implemented by the control unit. When the computing device is an independent device from the endoscope device, the computing device can obtain data generated by the sensor 310 or the operation unit 320 through wired or wireless communication with the endoscope device. Then, the computing device can execute operations necessary for control based on the data obtained from the sensor 310 or the operation unit 320 through the scope estimation model 330, the first controller 340, and the second controller 350.

[0066] The sensor 310 can sense the actual movement of the motor included in the endoscope device and generate first data about the actual movement state of the motor. Here, the actual movement state of the motor can 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 can sense at which position the motor is or at what speed the motor is moving due to the movement. Then, the sensor 310 can generate first data about the actual movement state of the motor based on the sensed value.

[0067] The operation unit 320 can receive user input and generate second data regarding the target movement state of the motor. Here, the target movement state of the scope can include at least one of the target position of the scope, the target speed of the scope, or the target acceleration of the scope, which is calculated by an instruction using a joystick included in the endoscope device. That is, the operation unit 320 can acquire a user instruction via the joystick. Then, the operation unit 320 can generate second data indicating where to move the scope or at what speed or acceleration to move the scope according to the user instruction.

[0068] The scope estimation model 330 can estimate the 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 can include at least one of the estimated position of the scope or the estimated speed of the scope, which is 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 can be used as a reference parameter for calculating the estimated position or the estimated speed. That is, the scope estimation model 330 can calculate an estimated value regarding where the scope moves or at what speed the scope moves 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 can 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 can serve to control the motor so that the scope follows the desired position and speed of the user. That is, the first controller 340 can calculate the first torque input to the motor through a mathematical model with 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 can include a sliding mode control.

[0070] The second controller 350 can calculate a second torque for controlling the motor based on the first data and the third data. Here, the second torque can serve to minimize the error generated by the control by the first torque. That is, the second controller 350 can calculate a second torque that compensates for the error through a mathematical model with the first data and the second data as input variables so that the control by the first torque is accurately performed. Here, the mathematical model included in the second controller 350 can 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, an operation unit 320 according to an embodiment of the present disclosure can receive user input via a joystick. Here, the user input can be an instruction that determines how the scope moves. The operation unit 320 can calculate a target position of the scope and a target speed of the scope based on the user input via a filter 321. Here, the filter 321 can be a moving average filter or a Kalman filter, but the present disclosure is not limited thereto. Then, the operation unit 320 can calculate a target acceleration of the scope by additional calculation with respect to the target speed of the scope calculated via the filter 321. That is, the operation unit 320 can calculate a target position of the scope, a target speed of the scope, 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 an embodiment of the present disclosure.

[0074] Referring to FIG. 5, a scope estimation model 330 according to an embodiment of the present disclosure can receive an actual position of the motor and an actual speed of the motor measured via a sensor 310, and a target speed of the scope calculated via an operation unit 320. The scope estimation model 330 can input the actual position of the motor and the actual speed of the motor to a motion state estimator 331 to estimate the motion state of the scope. Here, the target speed of the scope can be used as a reference parameter for estimating the motion state. And the motion state of the scope can include information about whether backlash compensation is required. In other words, the scope estimation model 330 can determine the presence or absence of backlash via the motion state estimator 331.

[0075] The scope estimation model 330 can calculate the amount of backlash generated based on the movement state of the scope estimated via the movement state estimator 331 and the actual position of the motor measured via the sensor 310. Specifically, when it is determined that backlash has occurred via the movement state estimator 331, the scope estimation model 330 can input the actual position of the motor into the backlash model 332 to calculate the amount of backlash generated. Here, the backlash model 332 can be a model generated by modeling the tendency of the amount of backlash generated based on the actual position of the motor and the estimated position of the motor. When it is determined that no backlash has occurred via the movement state estimator 331, the scope estimation model 330 may not execute the operation of the backlash model 332.

[0076] The scope estimation model 330 can calculate the estimated position and the estimated speed of the scope based on the actual position and the actual speed of the motor measured via the sensor 310 and the backlash amount calculated via the backlash model 332. Specifically, the scope estimation model 330 can input the actual position and the actual speed of the motor and the backlash amount into the pose estimator 333 to calculate the estimated position and the estimated speed of the scope. Here, when it is determined via the motion state estimator 331 that backlash has occurred, the pose estimator 333 determines that when backlash occurs, the angle of the motor changes but the angle of the scope does not change, and can estimate the position of the scope before the occurrence of backlash as the current position of the scope where backlash has occurred. On the other hand, when it is determined via the motion state estimator 331 that no backlash has occurred, the pose estimator 333 can utilize the maximum angle of the motor corresponding to the maximum angle of the scope to estimate the current position of the scope where no backlash has occurred. Then, the pose estimator 333 can calculate the estimated speed of the scope based on the change in the estimated position of the scope. On the other hand, the pose estimator 333 can also execute an operation based on a machine learning model. Here, the machine learning model can be a model that has been pre-learned to perform a time series prediction for calculating the estimated position of the scope based on the actual position of the motor, the actual speed of the motor, and the backlash amount. For example, the machine learning model can include a multi-layer perceptron (MLP), a vanilla recurrent neural network, a long-short term memory (LSTM), and the like.

[0077] FIG. 6 is a block diagram of a first controller according to an embodiment of the present disclosure.

[0078] Referring to FIG. 6, a first controller 340 according to an embodiment of the present disclosure can receive the estimated position and estimated velocity of the scope calculated via the scope estimation model 330, and the target position and target velocity of the scope calculated via the operation unit 320. The first controller 340 can 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 can calculate an inertial force based on the estimated position of the scope using an inertial force calculator 342. The first controller 340 can calculate a 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 can calculate a force due to the scope shape based on the estimated position of the scope using a spring effect calculator 344. Then, the first controller 340 can perform additional calculations based on the values calculated via each calculator 341, 342, 343, 344, and calculate a first torque input to the motor for controlling 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 follows.

Equation

[0079] The first controller 340 can calculate a first torque that can minimize the end-following error that may occur in the process of controlling the scope by a combination of the arithmetic units 341, 342, 343, and 344 that reflect the physical characteristics of the endoscopic device corresponding to the number 1.

[0080] FIG. 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 can acquire the actual speed of the motor measured via the sensor 310 and the target speed of the scope generated via the operation unit 320. The second controller 350 can generate a second torque for compensating for the friction generated by the internal wire of the scope and the friction between the motor and the gear based on the target speed of the scope and the actual speed of the motor. Here, the second controller 350 can generate the second torque by performing modeling for Coulomb-viscous friction and modeling for Stribeck friction.

[0081] On the other hand, 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 be executed. The position control of the motor can be understood as a control based on kinematics that, unlike the torque control, focuses on sending the motor to a desired position without considering the force or friction due to the spring shape of the endoscopic wire.

[0082] The position control of the motor can be executed based on the target position of the motor and the backlash state determined based on the estimated position of the scope calculated by the operation unit 320. Here, the backlash state can include an estimated value for the amount of backlash generated based on the backlash model 332 and the current angle at the time when the backlash occurs when the backlash occurs. For example, the position calculation for the position control of the motor can be expressed as follows in Equation 2.

Equation

[0083]

Number

[0084] Here, JPEG2025092474000014.jpg699JPEG2025092474000015.jpg653JPEG2025092474000016.jpg698JPEG2025092474000017.jpg641 can be updated each time backlash occurs.

[0085] That is, the position control of the motor of the present disclosure can be executed based on the position of the motor calculated based on Equation 2 and Equation 3. With such position control, the present disclosure can quickly compensate for the value caused by backlash within a certain time in a situation where backlash occurs, and the scope can also move in response to the user's command.

[0086] FIG. 8 is a flowchart showing a control method of an endoscope apparatus according to an embodiment of the present disclosure.

[0087] Referring to FIG. 8, a computing device according to an embodiment of the present disclosure can acquire first data regarding the actual movement state of a motor included in an endoscope device and second data regarding the target movement state of a scope included in the endoscope device (S100). Here, the first data can include at least one of the actual position data of the motor measured by a sensor or the actual speed data of the motor. And the second data can include at least one of the target position data of the scope, the target speed data of the scope, or the target acceleration data of the scope calculated via the endoscope device. When the computing device is a configuration belonging to the endoscope device, the computing device can correspond to the control unit of the endoscope device. When the computing device is a device independent of the endoscope device, the computing device can receive the first data and the second data via wired or wireless communication with the endoscope device.

[0088] The computing device can control the motor based on the first data and the second data acquired in S100 (S200). Here, the control of the motor can be classified into torque control and position control. For the torque control of the motor, the computing device can acquire third data regarding the estimated movement state of the scope based on the first data and the second data. Specifically, the computing device can determine whether backlash occurs with respect to 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. And the computing device can generate the third data based on the first compensation data regarding the amount of backlash generated determined by the actual position data of the motor, the actual speed data of the motor, and the occurrence of backlash. When the third data is generated, the computing device can calculate the torque for controlling the motor based on the first data, the second data, and the third data. The description of the specific calculation process for the torque control of the motor quotes the descriptions of FIGS. 3 to 7 above.

[0089] For motor position control, the computing device can calculate the position of the motor based on the target position data of the motor determined by the second data and the second compensation data regarding the amount of backlash generated, which is determined by the presence or absence of backlash with respect to the scope. Here, the target position data of the motor can be determined by the target position data of the scope included in the second data. And the second compensation data can be a combination of an estimated value for the amount of backlash generated calculated based on the first data and the current state value at the time when backlash occurs. The specific calculation process for motor position control quotes the descriptions of Equations 2 and 3 mentioned above.

[0090] The above description of the present disclosure is for illustrative purposes, and it will be understandable that those with ordinary knowledge in the technical field to which the present disclosure pertains can easily transform it into other specific forms without changing the technical idea and essential features of the present disclosure. Therefore, it must be understood that the embodiments described above are exemplary in all aspects and not restrictive. For example, each component described as a single type can also be implemented in a distributed manner, and similarly, the components described as distributed can also be implemented in a combined form.

Explanation of Reference Numerals

[0091] 100 Endoscope device 110 Output unit 120 Control unit 130 Driving unit 140 Pump unit 150 Scope 200 Computing device 210 Processor 220 Memory 230 Network 310 Sensor 320 Operation unit 321 Filter 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 for controlling an endoscope, the method being performed by a computing device including at least one processor, the method comprising: obtaining first data on an actual motion state of a motor included in an endoscope device and second data on a target motion state of a scope included in the endoscope device; controlling the motor based on the acquired first and second data; A method comprising:

2. The method of claim 1 , wherein the actual motion state of the motor comprises at least one of an actual position of the motor or an actual speed of the motor measured by a sensor.

3. The method according to claim 1 , wherein 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, calculated via the endoscopic device.

4. controlling the motor based on the acquired first data and second data, obtaining third data about an estimated motion state of the scope based on the obtained first and second data; calculating a torque for controlling the motor based on the acquired first data, second data, and third data; The method of claim 1 , comprising:

5. 5. The method of claim 4, wherein the estimated motion 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.

6. The step of acquiring third data about an estimated motion state of the scope based on the acquired first data and second data includes: determining whether a 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 occurrence or non-occurrence of the backlash; The method of claim 4 , comprising:

7. 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 caused by control using the first torque; The method of claim 4 , comprising:

8. 8. The method of claim 7, wherein the first torque is calculated by a first controller including a mathematical model having the second data and the third data as input variables.

9. The method of claim 8 , wherein the mathematical model included in the first controller comprises a sliding mode control.

10. The method of claim 7 , wherein the second torque is calculated by a second controller that includes a mathematical model that has the first data and the second data as input variables.

11. The method of claim 8 , wherein the mathematical model included in the second controller includes a nonlinear compensator.

12. controlling the motor based on the acquired first data and second data, 2. The method of claim 1, further comprising: calculating a position of the motor based on target position data of the motor determined by the second data and second compensation data for an amount of backlash determined by whether or not backlash occurs with respect to the scope.

13. 13. The method according to claim 12, wherein the second compensation data is a combination of an estimated value for the amount of backlash generated based on the first data and a current state value at the time when the backlash occurs.

14. The method of claim 12 , wherein the second compensation data is updated each time the backlash occurs.

15. A computer program stored on a computer-readable storage medium, comprising: The computer program, when executed by one or more processors, performs an operation for controlling an endoscope, The operation includes: acquiring first data on an actual motion state of a motor included in an endoscope device and second data on a target motion state of a scope included in the endoscope device; controlling the motor based on the acquired first data and second data; A computer program comprising:

16. 1. A computing device for controlling an endoscope, comprising: a processor including at least one core; a memory containing program code executable by the processor; Including, The processor, obtaining first data on an actual motion state of a motor included in an endoscope device and second data on a target motion state of a scope included in the endoscope device; An apparatus for controlling the motor based on the acquired first and second data.

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