System and method for controlling a robotic finger
The system uses unsupervised learning algorithms to estimate finger movements from electromyography signals, addressing the challenge of accurately controlling robotic fingers without additional hardware, thereby improving user convenience and reducing costs.
Patent Information
- Application Number
- JP2021122830
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-09-21
- Filing Date
- 2021-07-27
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2041-07-27
AI Technical Summary
Existing robotic finger control systems struggle to accurately interpret user intentions for finger movements without additional hardware, particularly for forearm amputees who cannot connect sensors to their fingers.
A system and method using a kernel matrix-based mapping function through unsupervised learning algorithms to estimate finger movements from electromyography signals, eliminating the need for additional hardware by calculating kernel matrix values and mapping functions based on electromyogram signals.
Accurately grasps user finger intentions, enabling simultaneous and proportional control of robotic fingers without additional hardware, enhancing user convenience and reducing costs.
Smart Images

Figure 0007725279000010 
Figure 0007725279000011 
Figure 0007725279000012
Abstract
Description
[Technical Field]
[0001] The present invention relates to a system and method for controlling a robotic finger, and more particularly to a technology for accurately estimating and acting on a user's intention to move a robotic finger. [Background technology]
[0002] Recently, there has been a lot of research into robotic hands that mimic the human hand and have multiple finger mechanisms.
[0003] The robot hand has a palm having a palm and a back, and a thumb mechanism, an index finger mechanism, a middle finger mechanism, a ring finger mechanism, and a little finger mechanism that correspond to human fingers, respectively.
[0004] Therefore, it is important to accurately understand the user's intention to move which finger based on the electromyography signal from the electromyography electrodes attached to each finger, and to move the finger in accordance with the user's intention. Summary of the Invention [Problem to be solved by the invention]
[0005] An embodiment of the present invention provides a system and method for controlling a robotic finger that can accurately grasp the intention of a user's finger movement by calculating a kernel matrix-based mapping function based on an unsupervised learning algorithm when controlling the robotic finger.
[0006] An embodiment of the present invention provides a system and method for controlling a robotic finger that uses an unsupervised learning algorithm that does not require an output, thereby eliminating the need for additional hardware to obtain an output and making it possible to estimate the intention of the finger movements of a forearm amputee to whom sensors, etc. cannot be connected, and that can accurately control the robotic finger by estimating the intention of the finger movements.
[0007] The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the following description. [Means for solving the problem]
[0008] A system for controlling a robot finger according to an embodiment of the present invention includes a processor that performs learning by applying at least one electromyogram signal to a learning algorithm and calculates a kernel matrix-based mapping function, and a storage unit that stores data and algorithms operated by the processor, wherein the processor may apply a polynomial function to the at least one electromyogram signal to calculate kernel matrix values, and may calculate the kernel matrix values and the mapping function to output a signal for controlling the robot finger.
[0009] In one embodiment, the processor may include calculating the kernel matrix values using a quadratic polynomial function.
[0010] In one embodiment, the processor may include summing and squaring each of the at least one or more electromyogram signals to calculate the kernel matrix values.
[0011] In one embodiment, the processor may be configured to calculate a covariance matrix of the kernel matrix values.
[0012] In one embodiment, the processor may include calculating eigenvectors of the covariance matrix.
[0013] In one embodiment, the processor may be configured to calculate the mapping function using the eigenvectors.
[0014] In one embodiment, the processor may include, when the at least one electromyogram signal is input, calculating the kernel matrix values, multiplying the kernel matrix values by the mapping function, respectively, summing the multiplied values, and outputting a signal for controlling the robot finger.
[0015] In one embodiment, the processor may include calculating a mapping function for each finger.
[0016] In one embodiment, the learning algorithm includes a semi-unsupervised algorithm, which may include Principle Component Analysis (PCA), Non-Negative Matrix Factorization (NMF), or NMF with Hadamard Product (NMF-HP).
[0017] In one embodiment, the processor may include calculating a factorization-based matrix after calculating the kernel matrix values.
[0018] In one embodiment, the processor may include applying a multiplicative update formula to the factorization-based matrix to calculate the mapping function.
[0019] In one embodiment, the device may further include an EMG electrode device for outputting the at least one electromyogram signal.
[0020] In one embodiment, the EMG electrode device may include at least one EMG electrode for measuring a voltage signal flowing through the user's body, an amplifier for amplifying an electromyogram signal received from the EMG electrode, a filter for filtering the signal amplified by the amplifier, and a gain unit for providing gain to the filtered signal.
[0021] A method for controlling a robot finger according to an embodiment of the present invention may include the steps of: applying at least one pre-stored electromyogram signal to a learning algorithm to perform learning, and calculating and storing a kernel matrix-based mapping function; when at least one electromyogram signal is input, applying a polynomial function to the at least one electromyogram signal to calculate kernel matrix values; and calculating the kernel matrix values and the mapping function to output a signal for controlling a robot finger.
[0022] In one embodiment, the learning algorithm may include Principle Component Analysis (PCA), Non-Negative Matrix Factorization (NMF), or NMF with Hadamard Product (NMF-HP).
[0023] In one embodiment, calculating and storing the mapping function may include summing and squaring each of the at least one or more electromyogram signals to calculate the kernel matrix values.
[0024] In one embodiment, calculating and storing the mapping function may further include calculating a covariance matrix of the kernel matrix values.
[0025] In one embodiment, calculating and storing the mapping function may further include calculating the eigenvectors of the covariance matrix.
[0026] In one embodiment, calculating and storing the mapping function may further include calculating the mapping function using the eigenvectors.
[0027] In one embodiment, the step of outputting a signal for controlling the robot finger may include the step of multiplying each of the kernel matrix values by the mapping function, summing the multiplied values, and outputting a signal for controlling the robot finger. [Effects of the Invention]
[0028] When controlling a robotic finger, this technology calculates a kernel matrix-based mapping function based on an unsupervised learning algorithm, making it possible to accurately grasp the user's intention in finger movements and increasing user convenience.
[0029] Compared to supervised learning algorithms that perform simultaneous and proportional control using output proportional values from additional force (pressure) sensors, this technology uses an unsupervised learning algorithm that can perform simultaneous and proportional control even without output proportional values, thereby eliminating the need for additional hardware and reducing costs.
[0030] Therefore, this technique can estimate the intention of each finger movement of a patient without hands who cannot connect sensors with their fingers, and can be applied to the control of robotic fingers.
[0031] In addition, various other effects may be provided that are directly or indirectly understood by this document. [Brief explanation of the drawings]
[0032] [Figure 1] 1 is a block diagram illustrating a system configuration including a system for controlling a robotic finger according to an embodiment of the present invention. [Figure 2] 1 is a detailed configuration diagram of an EMG electrode device according to an embodiment of the present invention. [Figure 3] 1 is a flowchart illustrating a method for controlling a robot finger according to an embodiment of the present invention. [Figure 4] 4 is a flowchart showing the signal processing steps of FIG. 3 in concrete terms. [Figure 5] 4 is a flowchart showing the learning steps of FIG. 3 in concrete terms. [Figure 6a] 1 is a flowchart illustrating a learning process using a PCA algorithm according to an embodiment of the present invention. [Figure 6b] 1 is a flowchart illustrating a learning process using a PCA algorithm according to an embodiment of the present invention. [Figure 6c] 1 is a flowchart illustrating a learning process using an NMF algorithm according to an embodiment of the present invention. [Figure 7a] 4 is a flowchart showing the individual finger control steps of FIG. 3 in a concrete manner. [Figure 7b] 7b is a diagram for specifically explaining a process of outputting individual finger signals by applying the kernel matrix and mapping function of FIG. 7a. FIG. [Figure 8a] 10 is a graph illustrating an example of output by each robot finger according to an embodiment of the present invention. [Figure 8b] 10 is a graph illustrating an example of output by each robot finger according to an embodiment of the present invention. [Figure 8c] 10 is a graph illustrating an example of output by each robot finger according to an embodiment of the present invention. [Figure 8d] 10 is a graph illustrating an example of output by each robot finger according to an embodiment of the present invention. [Figure 9] 10 is an example screen shot of controlling a robotic finger according to one embodiment of the present invention. [Figure 10] 1 illustrates a computer system according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0033] Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. When assigning reference numerals to components in each drawing, it should be noted that the same reference numerals are used for the same components even if they are depicted in different drawings. Furthermore, when describing the embodiments of the present invention, if it is determined that a detailed description of related known structures or functions would hinder understanding of the embodiments of the present invention, such detailed description will be omitted.
[0034] When describing components of an embodiment of the present invention, terms such as "first," "second," "A," "B," "(a)," and "(b)" may be used. These terms are used to distinguish the component from other components and do not limit the nature, order, or sequence of the components. Unless otherwise defined, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as meanings consistent with the meanings they have in the context of the relevant art, and should not be interpreted in an idealized or overly formal sense unless expressly defined in this application.
[0035] The present invention uses a semi-unsupervised algorithm that uses electromyography signals to estimate the user's intention to manipulate a robotic hand. That is, the technology using electromyography signals can capture important information about muscle contractions when muscles generate force. These characteristics of electromyography signals allow us to estimate the intention of the natural movements of the human body.
[0036] In the present invention, to control a robotic finger, we use a kernel matrix that can mimic the multi-layer structure of the individual finger movements of a human hand and improve the performance of semi-unsupervised algorithms to mimic the multi-layer structure of the human body.
[0037] Semi-unsupervised algorithms use kernels to find mapping functions for each finger using a decomposition and rule-based learning approach, mimicking the multi-layer structure of the human body. The most common application of kernel techniques is dimensionality reduction, which reduces the number of features in a dataset for faster supervised learning. Kernel techniques involve nonlinear mapping of an inherent dataset, and such high-dimensional transformations allow unsupervised algorithms to be applied to complex spatial structures with lower dimensions that would otherwise be impossible to apply unsupervised algorithms to.
[0038] The most useful advantage of the semi-unsupervised algorithm is that it can find the mapping function for each finger even without the output value, and the individual mapping function for each finger can be found by the division and regular learning approach. This allows for a forearm amputee who cannot input data using a keyboard, for example, to imagine moving their fingers using their arm muscles, obtain muscle movement patterns based on electromyogram signals, and move a robotic finger.
[0039] Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.
[0040] FIG. 1 is a block diagram showing the configuration of a vehicle system including a system for controlling a robot finger according to an embodiment of the present invention, and FIG. 2 is a detailed configuration diagram of an EMG electrode device according to an embodiment of the present invention.
[0041] In this invention, electromyography electrodes are used to detect muscle contractions when the muscles generate force, and the user's intended finger movements are accurately estimated based on a semi-unsupervised learning algorithm, and simultaneous and proportional control (SPC) commands are output to the robotic finger to move the robotic finger as desired by the user.
[0042] In this case, the learning algorithm may include a multi-layer algorithm such as Principle Component Analysis (PCA), Non-Negative Matrix Factorization (NMF), or NMF with Hadamard Product (NMF-HP) algorithm.
[0043] 1, a system for controlling a robotic finger according to an embodiment of the present invention can include a robotic finger control device 100 and an EMG electrode device 200. The robotic finger control device 100 and the EMG electrode device 200 can be formed integrally with an internal control unit of the robot, or can be embodied as separate devices and connected to an external control unit by separate connection means.
[0044] The control device 100 of the robotic finger grasps the user's intention to move the finger, converts the user's intention signal of the finger movement into a neural command, and then converts the neural command into individual muscle fibers to control the movement of individual fingers.
[0045] In this case, in order to accurately grasp the user's intention of the finger movement, the robot finger control device 100 implements a kernel hierarchy using electrode signals measured by EMG electrodes as shown in FIG. 2, calculates and stores a mapping function based on a learning algorithm such as PCA, NMF, or NMF-HP, and then, when an electrode signal is input later, applies the pre-stored mapping function to accurately grasp the user's intention of the finger movement and control the robot to move the corresponding finger.
[0046] The robotic finger control device 100 may include a communication unit 110, a storage unit 120, and a processor 130.
[0047] The communication unit 110 is a hardware device implemented with various electronic circuits for transmitting and receiving signals via a wireless or wired connection, and in the present invention, can communicate with the EMG electrode device 200.
[0048] As an example, the communication unit 110 can receive an EMG electrode signal from the EMG electrode device 200 .
[0049] The storage unit 120 may store data and / or algorithms required for the processor 130 to operate.
[0050] As an example, the storage unit 120 may store multi-layer algorithms such as Principle Component Analysis (PCA), Non-Negative Matrix Factorization (NMF), or NMF with Hadamard Product (NMF-HP) algorithms.
[0051] The storage unit 120 may include at least one type of storage medium, such as a flash memory type, a hard disk type, a micro type, and a card type (e.g., a Secure Digital Card (SD card) or an eXtream Digital Card (XD card)), and a Random Access Memory (RAM), a Static RAM (SRAM), a Read-Only Memory (ROM), a Programmable ROM (PROM), an Electrically Erasable PROM (EEPROM), a Magnetic RAM (MRAM), a magnetic disk, and an optical disk type memory.
[0052] The processor 130 may be electrically connected to the communication unit 110, the storage unit 120, etc., and may be an electrical circuit that can electrically control each component and execute software instructions, thereby performing various data processing and calculations described below.
[0053] The processor 130 is capable of processing signals transmitted between the components of the robotic finger control device 100 .
[0054] The processor 130 may apply at least one electromyogram signal to a learning algorithm to perform learning, calculate a kernel matrix-based mapping function, apply a polynomial function to at least one electromyogram signal to calculate kernel matrix values, and calculate the kernel matrix values and the mapping function to output a signal for controlling the robot finger.
[0055] In this case, the polynomial function is a quadratic polynomial function, and the processor 130 can calculate the kernel matrix value by summing and squaring at least one of the EMG signals (A, B, C, D, E, F, G, H). The method for calculating the kernel matrix value will be described in more detail later with reference to FIG. 6a.
[0056] The processor 130 calculates a covariance matrix of the kernel matrix values based on a PCA algorithm, calculates eigenvectors of the covariance matrix, and then calculates the mapping function using the eigenvectors. The method for calculating the mapping function based on the PCA algorithm will be described in more detail later with reference to Figure 6a.
[0057] When at least one electromyogram signal (e.g., 8 channels) is input, the processor 130 calculates kernel matrix values (e.g., increased to 36 channels), multiplies the kernel matrix values by mapping functions calculated and stored by learning, sums up each multiplication value, and outputs a signal for controlling the robot finger.
[0058] The processor 130 may calculate mapping functions for each finger, i.e., the mapping functions may be calculated in the order of the thumb, index finger, middle finger, ring finger, etc., and stored in the storage unit 120.
[0059] After calculating the kernel matrix values based on the NMF algorithm, the processor 130 may calculate a factorization-based matrix and apply a multiplication update formula to the factorization-based matrix to calculate the mapping function. The method for calculating the mapping function based on the NMF algorithm will be described in more detail below with reference to FIG. 6c.
[0060] The EMG electrode device 200 detects electromyogram signals using electrodes attached to the user's arm, hand, fingers, etc., and provides the signals to the robot finger control device 100.
[0061] Referring to FIG. 2, the EMG electrode device 200 includes at least one electrode 211, 212 attached to the user's body, an amplifier section 220, a band-pass filter 230, a gain section 240, and an EMG signal output section 250.
[0062] The amplifier 220 amplifies the signal received from at least one of the electrodes 211 and 212. For example, the gain margin of the amplifier 220 can be set to 100.
[0063] The bandpass filter 230 filters the signal amplified by the amplifier 220, and can output a signal with a bandwidth of, for example, 20 to 450 Hz.
[0064] The gain section 240 provides a gain to the signal output to the bandpass filter 230, and the gain may be set as 20, for example.
[0065] The EMG signal output unit 250 can provide the signal output via the gain unit 240 to the robot finger control device 100 as an EMG signal.
[0066] Hereinafter, a method for controlling a robot finger according to an embodiment of the present invention will be described in detail with reference to Fig. 3. Fig. 3 is a flowchart illustrating a method for controlling a robot finger according to an embodiment of the present invention.
[0067] Hereinafter, it is assumed that the control device 100 of the robotic finger in Figure 1 performs the process in Figure 3. Also, in the description of Figure 3, the operations described as being performed by the device can be understood to be controlled by the processor 130 of the control device 100 of the robotic finger.
[0068] Referring to FIG. 3, the robot finger control device 100 receives an input of an electrode signal from the EMG electrode device 200 (S101).
[0069] The control device 100 of the robot finger processes the input EMG electrode signals (S102).
[0070] The robot finger control device 100 performs learning on the processed signal based on an unsupervised algorithm (S103).
[0071] The robot finger control device 100 executes individual finger control as a result of the learning (S104). At this time, the individual finger control may be performed as simultaneous and proportional control (SPC).
[0072] FIG. 4 is a flowchart showing the signal processing steps of FIG.
[0073] When the robot finger control device 100 receives an EMG electrode signal from the EMG electrode device 200 (310), it performs first band-stop filtering (320), second band-stop filtering (330), and third band-stop filtering (340) and performs absolute value processing (350), and then performs low-pass filter envelope detection (360). In this case, the low-pass filter envelope detection filters high-frequency signals with an inductor, filters low-frequency signals with a capacitor, and obtains a mid-band signal from a resistor.
[0074] In this case, the bandwidth of the first bandstop filtering 320 is 58 to 62 Hz, the bandwidth of the second bandstop filtering 330 is 178 to 182 Hz, and the bandwidth of the third bandstop filtering 340 is 50 to 150 Hz. In addition, when detecting the low-pass filter envelope, the cutoff can be set to 1.5 Hz.
[0075] Thereafter, the robotic finger control device 100 stores (records) the EMG signal that has undergone low-pass filter envelope detection and is output (370). For this purpose, the robotic finger control device 100 may include a plurality of band-stop filters (BSFs) and low-pass filter envelope detectors for signal processing.
[0076] FIG. 5 is a flowchart showing the learning steps of FIG.
[0077] 5, processor 130 calculates a kernel matrix (420) using stored finger signals (410). Applying the kernel matrix based on the electrode signals of eight channels can derive 36 matrix values. Then, processor 130 applies an algorithm such as PCA, NMF, or NMF-HP to the 36 matrix values (430) to obtain a mapping function by learning the mapping function (440).
[0078] The process of learning the mapping function using each algorithm will be specifically described below with reference to FIGS. 6a to 6c.
[0079] FIG. 6a is a flowchart illustrating the learning process using the PCA algorithm according to one embodiment of the present invention.
[0080] Referring to FIG. 6a, the processor 130 of the robotic finger control device 100 records (stores) EMG electrode signals (510).
[0081] Let us assume that the EMG electrode consists of eight channels (A, B, C, D, E, F, G, H). X∈R T×8 where X is the data set, T is the finger signal storage time, and R is the real number. The signals are stored in the order of thumb, index finger, middle finger, ring finger, and little finger. Below, we will explain an example of storing the finger movement signal of the thumb and applying the PCA algorithm for this.
[0082] The processor 130 calculates the kernel matrix (520). The processor 130 calculates the kernel matrix using a quadratic polynomial kernel. The processor 130 uses a quadratic polynomial function V with eight variables, as shown in the following mathematical formula (Equation 1):
[0083]
number
[0084]
number
[0085] In other words, after adding up all eight channels (dimensions) A, B, C, D, E, F, G, and H, the individual values of the squared values become the kernel matrix value (Y), which increases to 36 channels (dimensions).
[0086] In this case, a kernel matrix can be applied to each channel, where the number of kernels obtained from the individual terms of V is 36.
[0087] The processor 130 calculates (530) a covariance (Σ) matrix of the kernel matrix as shown in the following mathematical formula (Equation 3):
[0088]
number
[0089] That is, where Σ is the covariance matrix of the kernel matrix “Y”, and the covariance matrix is Σ∈R 36×36 It can be expressed as:
[0090] Processor 130 can then use a singular-value decomposition (SVD) algorithm to obtain eigenvectors (540) as follows:
[0091]
number
[0092] In this case, P is an eigenvector function, and the eigenvector means a value indicating which of the 36 dimensions has the most variance.
[0093] Processor 130 then performs a mapping function calculation (550).
[0094] To calculate the mapping function for individual finger activation, an eigenvector that maximizes the variance of the kernel matrix data must be selected. Therefore, processor 130 selects the most variable value from the kernel matrix data as the eigenvector, and can calculate the mapping matrix for the thumb as shown in the following mathematical formula (5). The mapping matrix may be composed of eigenvector 1, eigenvector 2, ..., etc.
[0095]
number
[0096] Next, the processor 130 calculates mapping functions for the remaining fingers (560). Equation 5 is a MATLAB-based equation. Equation 5 selects only the first column of the P matrix, where the first column indicates the eigenvector with the largest variance. Thus, the order of vectors that maximizes data variance may be configured as column 1, column 2, etc. of the P matrix, where column 1 indicates the vector with the largest variance among the data obtained from the kernel matrix, and P is the eigenvector matrix. Referring to FIG. 6b, PC1 indicates the eigenvector with the largest variance among the data obtained from the kernel matrix, and PC2 indicates the eigenvector with the second largest variance.
[0097] The processor 130 can repeat the steps 510 to 570 to calculate the mapping functions (U_index, U_middle, U_ring, and U_pinkie) for the remaining fingers.
[0098] Processor 130 applies the mapping function to the test set or data set to validate the algorithm (570).
[0099] That is, processor 130 may ascertain from the data set or test set (if available) using the following matrix multiplication for each individual finger: For example, a thumb mapping matrix may be used, which may be shown as the following mathematical equation (Equation 6):
[0100]
number
[0101] Here, V represents a function of the mathematical formula (Equation 1).
[0102] FIG. 6c is a flowchart illustrating the training process of the NMF algorithm according to one embodiment of the present invention.
[0103] As in the PCA algorithm, after the EMG signals are recorded 610, the processor 130 calculates 620 a kernel matrix, which is given by the above mathematical formula (Equation 2).
[0104] Processor 130 then calculates (630) an NMF algorithm-based factorized matrix.
[0105] The matrix is decomposed as V=WH, and the size of the matrix is W∈R. T×1 and H∈R 1×36 can be selected.
[0106] The processor 130 uses the matrix H to calculate the mapping function in the next step. Using the NMF algorithm, the processor 130 can calculate the matrices W and H using a multiplication update formula, as shown in the following mathematical equation (7):
[0107]
number
[0108] Processor 130 then performs a mapping function calculation (640).
[0109] When calculating the mapping function for each finger using the NMF algorithm, the matrix H found in the previous step must be calculated. Therefore, the mapping matrix for the thumb is obtained as shown in the following mathematical formula (Equation 8).
[0110]
number
[0111] H + is the Moore-Penrose pseudoinverse of the matrix H.
[0112] Thereafter, processor 130 calculates (650) mapping functions for the remaining fingers.
[0113] Processor 130 may then repeat steps 610-650 described above to calculate the mapping functions (U_index, U_middle, U_ring, and U_pinkie) for the remaining fingers.
[0114] At this time, the process of calculating the mapping function by performing the steps 610 to 650 corresponds to the learning step in Fig. 3. The mapping function calculated in this way is stored as the value of the mapping coefficients in Fig. 7b.
[0115] The processor 130 may apply a mapping function to the test set or data set, such as in the following mathematical equation (Equation 9), to output a final finger signal (660).
[0116]
number
[0117] where Z_thumb is the output signal for moving the thumb, Y is the kernel matrix value, and U_thumb is the mapping function.
[0118] As such, although Figures 6a to 6c only disclose examples of applying the PCA algorithm and the NMF algorithm to a kernel matrix, the NMF-HP algorithm can also obtain accurate output values by applying a kernel matrix.
[0119] FIG. 7a is a flowchart specifically illustrating the individual finger control steps of FIG. 3, and FIG. 7b is a diagram specifically illustrating the process of outputting individual finger signals by applying the kernel matrix and mapping function of FIG. 7a.
[0120] When EMG electrode signals are input (710), the processor 130 performs filtering (720) and calculates a kernel matrix (730). For example, when EMG electrode signals of eight channels are input, the number of channels is increased to 36 by calculating the kernel matrix.
[0121] Processor 130 then applies the mapping function to each of the kernel matrix values of the augmented channel (740), i.e., processor 130 multiplies each of the kernel matrix values of the augmented channel by the mapping function.
[0122] The processor 130 sums up the values to which the mapping function has been applied and outputs the sum as one individual finger signal.
[0123] 8a to 8d are graphs showing examples of outputs for each robot finger according to an embodiment of the present invention.
[0124] Figure 8a shows that when the user intends to move the thumb, the output signal strength of the thumb is greater than that of the remaining fingers. Figure 8b shows that the index finger, Figure 8c shows that the middle finger, and Figure 8d shows that the ring finger are greater than those of the remaining fingers.
[0125] FIG. 9 is an example screen shot of the control of a robotic finger according to one embodiment of the present invention.
[0126] Referring to FIG. 9, in response to the movement of the user's finger, the movement of the user's finger 911 can be grasped based on the signal from the EMG electrode 913, and the robot finger 912 can be controlled to move like the user's actual hand.
[0127] 9 shows an example in which only the thumb of the robotic fingers is bent when the user bends only the thumb, 902 shows an example of the index finger, 903 shows an example of the middle finger, 904 shows an example of the ring finger, and 905 shows an example of the little finger.
[0128] In this way, the present invention adds up electrode signals of multiple channels input based on a kernel matrix, increases the number by the number obtained by calculating the square root of each channel, multiplies the mapping function learned and stored by a learning algorithm by the kernel matrix value, and then sums up each value to output a final finger output signal.
[0129] Therefore, instead of inputting electrode signals from multiple channels, the accuracy of the finger output signal can be increased by increasing the number of electrode signals for each channel based on the kernel matrix and then applying the mapping function.
[0130] FIG. 10 illustrates a computer system according to one embodiment of the present invention.
[0131] Referring to FIG. 10, computer system 1000 may include at least one processor 1100, memory 1300, user interface input device 1400, user interface output device 1500, storage 1600, and network interface 1700, all connected via a bus 1200.
[0132] The processor 1100 may be a central processing unit (CPU) or a semiconductor device that executes processing based on instructions stored in the memory 1300 and / or the storage 1600. The memory 1300 and the storage 1600 may include various types of volatile or non-volatile storage media. For example, the memory 1300 may include a read-only memory (ROM) and a random access memory (RAM).
[0133] Thus, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by processor 1100, or in a combination of the two. A software module may also reside in a storage medium (i.e., memory 1300 and / or storage 1600) such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, or a CD-ROM.
[0134] An exemplary storage medium may be coupled to processor 1100 such that processor 1100 can read information from, and record information to, the storage medium. In the alternative, the storage medium may be integral to processor 1100. The processor and the storage medium may reside in an application specific integrated circuit (ASIC). The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[0135] The above description is merely an illustrative example of the technical concept of the present invention, and various modifications and variations can be made by a person having ordinary knowledge in the technical field to which the present invention pertains without departing from the essential characteristics of the present invention.
[0136] Therefore, the embodiments disclosed in the present invention are for the purpose of illustration and not for the purpose of limiting the technical idea of the present invention. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.
Claims
1. a processor for applying at least one electromyogram signal to a learning algorithm to perform learning and calculate a kernel matrix-based mapping function; a storage unit in which data and algorithms driven by the processor are stored; The processor: applying a polynomial function to the at least one electromyogram signal to calculate a kernel matrix value; computing the kernel matrix value and the mapping function to output a signal for controlling a robot finger; The processor: A system for controlling a robotic finger, comprising: summing and squaring each of the at least one electromyogram signal to calculate the kernel matrix value.
2. The processor:
2. The system for controlling a robotic finger according to claim 1, wherein the kernel matrix values are calculated using a quadratic polynomial function.
3. The processor: The system for controlling a robot finger according to claim 1 , wherein a covariance matrix is calculated from the kernel matrix values.
4. The processor:
4. A system for controlling a robotic finger according to claim 3, characterized in that the eigenvectors of the covariance matrix are calculated.
5. The processor:
5. The system for controlling a robot finger according to claim 4, wherein the eigenvectors are used to calculate the mapping function.
6. A processor that applies at least one electromyogram signal to a learning algorithm to perform learning and calculate a kernel matrix-based mapping function; a storage unit in which data and algorithms driven by the processor are stored; The processor: applying a polynomial function to the at least one electromyogram signal to calculate a kernel matrix value; computing the kernel matrix value and the mapping function to output a signal for controlling a robot finger; The processor: a system for controlling a robot finger, characterized in that, when the at least one electromyogram signal is input, the system calculates kernel matrix values, multiplies the kernel matrix values by the mapping functions, adds up the multiplied values, and outputs a signal for controlling the robot finger.
7. A processor that applies at least one electromyogram signal to a learning algorithm to perform learning and calculate a kernel matrix-based mapping function; a storage unit in which data and algorithms driven by the processor are stored; The processor: applying a polynomial function to the at least one electromyogram signal to calculate a kernel matrix value; computing the kernel matrix value and the mapping function to output a signal for controlling a robot finger; The processor: A system for controlling a robotic finger, comprising: calculating a finger-specific mapping function.
8. A processor that applies at least one electromyogram signal to a learning algorithm to perform learning and calculate a kernel matrix-based mapping function; a storage unit in which data and algorithms driven by the processor are stored; The processor: applying a polynomial function to the at least one electromyogram signal to calculate a kernel matrix value; computing the kernel matrix value and the mapping function to output a signal for controlling a robot finger; The learning algorithm: A system for controlling a robotic finger, comprising a semi-unsupervised algorithm.
9. The semi-unsupervised algorithm 9. A system for controlling a robot finger according to claim 8, characterized in that it comprises PCA (Principle Component Analysis), NMF (Non Negative Matrix Factorization) or NMF-HP (NMF with Hadamard Product).
10. A processor that applies at least one electromyogram signal to a learning algorithm to perform learning and calculate a kernel matrix-based mapping function; a storage unit in which data and algorithms driven by the processor are stored; The processor: applying a polynomial function to the at least one electromyogram signal to calculate a kernel matrix value; computing the kernel matrix value and the mapping function to output a signal for controlling a robot finger; The processor: A system for controlling a robot finger, comprising: calculating a factorization-based matrix after calculating the kernel matrix values.
11. The processor: The system for controlling a robot finger according to claim 10, wherein the mapping function is calculated by applying a multiplication update formula to the factorization-based matrix.
12. A processor that applies at least one electromyogram signal to a learning algorithm to perform learning and calculate a kernel matrix-based mapping function; a storage unit in which data and algorithms driven by said processor are stored; The processor: applying a polynomial function to the at least one electromyogram signal to calculate a kernel matrix value; computing the kernel matrix value and the mapping function to output a signal for controlling a robot finger; further comprising an EMG electrode device for outputting the at least one electromyogram signal; The EMG electrode device at least one or more EMG electrodes for measuring voltage signals across the user's body; an amplifier that amplifies the electromyogram signal received from the EMG electrodes; a filter that filters the signal amplified by the amplifier; a gain section that provides gain to the filtered signal.
13. applying at least one pre-stored electromyogram signal to a learning algorithm to perform learning, and calculating and storing a kernel matrix-based mapping function; When at least one electromyogram signal is input, applying a polynomial function to the at least one electromyogram signal to calculate a kernel matrix value; calculating the kernel matrix values and the mapping function to output a signal for controlling a robot finger; The method for controlling a robot finger, wherein the learning algorithm includes PCA (Principle Component Analysis), NMF (Non Negative Matrix Factorization), or NMF-HP (NMF with Hadamard Product).
14. A step of applying at least one or more pre-stored electromyogram signals to a learning algorithm to perform learning, and calculating and storing a kernel matrix-based mapping function; When at least one electromyogram signal is input, applying a polynomial function to the at least one electromyogram signal to calculate a kernel matrix value; calculating the kernel matrix values and the mapping function to output a signal for controlling a robot finger; The step of calculating and storing the mapping function comprises:
10. A method for controlling a robot finger, comprising the step of adding and squaring each of the at least one electromyogram signal to calculate the kernel matrix value.
15. The step of calculating and storing the mapping function comprises: The method for controlling a robot finger according to claim 14, further comprising the step of calculating a covariance matrix of the kernel matrix values.
16. The step of calculating and storing the mapping function comprises:
16. The method for controlling a robotic finger according to claim 15, further comprising the step of calculating eigenvectors of the covariance matrix.
17. The step of calculating and storing the mapping function comprises:
17. The method for controlling a robotic finger according to claim 16, further comprising the step of calculating the mapping function using the eigenvectors.
18. A step of applying at least one or more pre-stored electromyogram signals to a learning algorithm to perform learning, and calculating and storing a kernel matrix-based mapping function; When at least one electromyogram signal is input, applying a polynomial function to the at least one electromyogram signal to calculate a kernel matrix value; calculating the kernel matrix values and the mapping function to output a signal for controlling a robot finger; The step of outputting a signal for controlling the robot finger comprises: A method for controlling a robot finger, comprising the steps of multiplying each of the kernel matrix values by the mapping function, adding up the multiplied values, and outputting a signal for controlling the robot finger.
Citation Information
Patent Citations
Action recognition device for hand, artificial hand operation device, and composite sensor
JP2014050590A
Neural Interface
US20210315509A1