KR20230016499A - 비지도 학습을 이용하여 의도를 추정하기 위한 방법 - Google Patents
비지도 학습을 이용하여 의도를 추정하기 위한 방법 Download PDFInfo
- Publication number
- KR20230016499A KR20230016499A KR1020210098062A KR20210098062A KR20230016499A KR 20230016499 A KR20230016499 A KR 20230016499A KR 1020210098062 A KR1020210098062 A KR 1020210098062A KR 20210098062 A KR20210098062 A KR 20210098062A KR 20230016499 A KR20230016499 A KR 20230016499A
- Authority
- KR
- South Korea
- Prior art keywords
- robot hand
- kernel
- intention
- biosignal
- kernel matrix
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 25
- 230000006870 function Effects 0.000 claims description 62
- 239000011159 matrix material Substances 0.000 claims description 41
- 238000013507 mapping Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000013480 data collection Methods 0.000 claims description 2
- 238000011017 operating method Methods 0.000 claims 1
- 210000003811 finger Anatomy 0.000 description 39
- 238000002567 electromyography Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 14
- 210000003813 thumb Anatomy 0.000 description 11
- 210000003205 muscle Anatomy 0.000 description 10
- 238000007405 data analysis Methods 0.000 description 5
- 230000005057 finger movement Effects 0.000 description 5
- 210000004556 brain Anatomy 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 210000003169 central nervous system Anatomy 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000411545 Punargentus Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000004932 little finger Anatomy 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004118 muscle contraction Effects 0.000 description 1
- 230000003387 muscular Effects 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 210000000278 spinal cord Anatomy 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/0009—Gripping heads and other end effectors comprising multi-articulated fingers, e.g. resembling a human hand
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/02—Hand grip control means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/06—Control stands, e.g. consoles, switchboards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/08—Gripping heads and other end effectors having finger members
- B25J15/10—Gripping heads and other end effectors having finger members with three or more finger members
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/015—Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36435—Electromyographical, myoelectric control signal
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40264—Human like, type robot arm
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Neurology (AREA)
- Biomedical Technology (AREA)
- Neurosurgery (AREA)
- Dermatology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manufacturing & Machinery (AREA)
- Manipulator (AREA)
Abstract
로봇 핸드 시스템은, 생체 센서, 복수의 손가락을 포함하는 로봇 핸드, 및 상기 생체 센서 및 상기 로봇 핸드와 연결되는 제어부를 포함하고, 상기 제어부는, 상기 생체 센서를 통해 생체 신호를 획득하고, 적어도 하나의 커널 함수가 적용된 kPCA를 상기 생체 신호에 적용함으로써 움직임 의도를 추정하고, 및 상기 추정된 움직임 의도에 대응하는 제어 명령을 상기 로봇 핸드에 전달하도록 설정할 수 있다.
Description
본 문서에 개시되는 실시예들은 비지도 학습을 이용하여 의도를 추정하기 위한 기술과 관련된다.
EMG(electromyography)는 근육이 힘을 생성할 때 근육 수축과 관련된 중요한 정보를 획득하기 위한 기술이다. EMG를 이용한 기술은 인간의 신체가 움직이는 동안에 인간의 의도(intention)를 추정할 수 있게 한다. 예를 들어, 로봇 핸드(robot hand) 기술은 인간의 움직임에 대한 의도를 추정하고, 추정된 결과를 통해 로봇 핸드를 움직이게 한다. SPC(simultaneous and proportional control) 알고리즘은 이러한 로봇 핸드와의 상호작용을 위하여 이용되는 솔루션의 일 예이다.
움직임에 대한 의도를 분석하는 기술 중 하나로써 지도 학습(supervised learning) 방법이 소개되고 있다. 지도 학습은 분류(classification) 방식에 기반하여 의도를 추정하는 방법으로써, 분류 방식은 로지스틱 회귀(logistic regression)와 서포트 벡터 머신(support vector machine)을 이용한다.
분류 방식은 이미 지정된 클래스(classes) 만을 인식할 수 있고 동시(simultaneous) 활성화가 자연스럽지 않으며 비례(proportional) 추정이 어렵다는 단점을 가지고 있으므로, 로봇 핸드에 SPC 명령을 출력하기에 적합하지 않을 수 있다. 예를 들어, 지도 학습에 따른 로봇 핸드 기술은 개별적인 손가락 움직임을 정확히 인지하기가 어려우므로, 손가락의 일부가 절단된 환자의 움직임 의도를 정확하게 추정하지 못할 수 있다.
지도 학습에 기반한 추정 방법은 부자연스러운 움직임의 단점을 극복하기 위하여 로드 셀(load cell)이나 힘 센서(force sensor)와 같은 추가적인 하드웨어를 필요로 한다. 그러나, 손가락의 일부가 절단된 환자에게 이러한 하드웨어 장비는 호환성 측면에서 적합하지 않을 수 있다.
또한, 신체의 움직임 의도를 추정하기 위해서는 복잡한 알고리즘이 수행되어야 하므로 로봇 핸드 시스템은 EMG 신호를 분석하기 위하여 온라인 분석을 이용해야 하며 이 경우 로봇 핸드 시스템의 사용성 및 휴대성이 저하될 수 있다.
본 문서에 개시되는 실시예들은 분류 방식에 기반하는 지도 학습 기반 의도 추정의 단점을 보완하기 위하여 비지도 학습(unsupervised learning)에 따른 의도 추정 방법을 제공하고자 한다.
본 문서에 개시되는 일 실시 예에 따른 생체 센서, 복수의 손가락을 포함하는 로봇 핸드, 및 상기 생체 센서 및 상기 로봇 핸드와 연결되는 제어부를 포함하고, 상기 제어부는, 상기 생체 센서를 통해 생체 신호를 획득하고, 적어도 하나의 커널 함수가 적용된 커널 PCA(kernel principle component analysis, kPCA)를 상기 생체 신호에 적용함으로써 움직임 의도를 추정하고, 및 상기 추정된 움직임 의도에 대응하는 제어 명령을 상기 로봇 핸드에 전달하도록 설정할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 로봇 핸드 시스템의 동작 방법은, 생체 신호를 획득하는 동작, 적어도 하나의 커널 함수가 적용된 kPCA를 상기 생체 신호에 적용함으로써 움직임 의도를 추정하는 동작, 및 상기 추정된 움직임 의도에 대응하여 로봇 핸드를 작동하는 동작을 포함할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 컴퓨터 판독 가능한 비일시적 기록 매체는, 생체 신호를 획득하는 단계, 적어도 하나의 커널 함수가 적용된 kPCA를 상기 생체 신호에 적용함으로써 움직임 의도를 추정하는 단계, 및 상기 추정된 움직임 의도에 대응하여 로봇 핸드를 작동하는 단계를 실행하기 위한 프로그램을 저장할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 로봇 핸드 시스템은 로봇 핸드를 움직이기 위한 사용자 손의 움직임 의도를 보다 정확하게 추정할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 로봇 핸드 시스템은 학습 과정에서 생성되는 비례적인 힘의 양을 설명할 필요가 없으며, 로봇 핸드에 대한 SPC 제어에 최적화된 추정 결과를 도출할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 로봇 핸드 시스템은 PCA 알고리즘을 이용하여 개별적인 손가락에 대한 더 나은 제어 명령을 사용할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 로봇 핸드 시스템은 손가락의 일부가 절단된 사용자의 움직임 의도를 보다 효율적으로 파악하여 로봇 핸드를 움직일 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 로봇 핸드 시스템은 오프라인 분석을 통해서도 EMG 신호를 분석할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시예들에 따른 로봇 핸드 시스템을 도시한다.
도 2는 다양한 실시예들에 따른 로봇 핸드 시스템의 블록도를 도시한다.
도 3은 다양한 실시예들에 따라 손 움직임을 위한 인체의 기능을 설명한다.
도 4는 다양한 실시예들에 따라 추정된 움직임 의도에 따라서 로봇 핸드를 움직이기 위한 동작 흐름도를 도시한다.
도 5는 다양한 실시예들에 따라 매핑 함수(mapping function)를 학습하기 위한 동작 흐름도를 도시한다.
도 6은 다양한 실시예들에 따라 움직임 의도를 추정하기 위한 동작 흐름도를 도시한다.
도 7은 다양한 실시예들에 따른 생체 센서의 블록도를 도시한다.
도 8은 다양한 실시예들에 따라 EMG 신호를 기록하기 위한 동작 블록도를 도시한다.
도 9는 다양한 실시예들에 따라 움직임을 산출하기 위한 동작 블록도를 도시한다.
도 10은 다양한 실시예들에 따라 로봇 핸드에 제어 명령을 전달하기 위한 동작 블록도를 도시한다.
도 11a 내지 11d는 다양한 실시예들에 따라 손가락 별로 움직임 의도를 추정하기 위한 알고리즘을 나타낸다.
도 12a 내지 12c는 다양한 실시예들에 따른 움직임 의도 추정 결과를 나타내는 그래프를 도시한다.
도 13a 내지 13b는 다양한 실시예들에 따른 로봇 핸드의 움직임을 나타낸다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 2는 다양한 실시예들에 따른 로봇 핸드 시스템의 블록도를 도시한다.
도 3은 다양한 실시예들에 따라 손 움직임을 위한 인체의 기능을 설명한다.
도 4는 다양한 실시예들에 따라 추정된 움직임 의도에 따라서 로봇 핸드를 움직이기 위한 동작 흐름도를 도시한다.
도 5는 다양한 실시예들에 따라 매핑 함수(mapping function)를 학습하기 위한 동작 흐름도를 도시한다.
도 6은 다양한 실시예들에 따라 움직임 의도를 추정하기 위한 동작 흐름도를 도시한다.
도 7은 다양한 실시예들에 따른 생체 센서의 블록도를 도시한다.
도 8은 다양한 실시예들에 따라 EMG 신호를 기록하기 위한 동작 블록도를 도시한다.
도 9는 다양한 실시예들에 따라 움직임을 산출하기 위한 동작 블록도를 도시한다.
도 10은 다양한 실시예들에 따라 로봇 핸드에 제어 명령을 전달하기 위한 동작 블록도를 도시한다.
도 11a 내지 11d는 다양한 실시예들에 따라 손가락 별로 움직임 의도를 추정하기 위한 알고리즘을 나타낸다.
도 12a 내지 12c는 다양한 실시예들에 따른 움직임 의도 추정 결과를 나타내는 그래프를 도시한다.
도 13a 내지 13b는 다양한 실시예들에 따른 로봇 핸드의 움직임을 나타낸다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 1은 다양한 실시예들에 따른 로봇 핸드 시스템을 도시한다.
도 1을 참조하면, 로봇 핸드 시스템은 생체 센서(10), 제어 장치(20), 로봇 핸드(30), 및 디스플레이 장치(40)를 포함할 수 있다. 도 1은 로봇 핸드 시스템의 각 구성들이 개별적으로 존재하는 실시예를 도시하지만, 로봇 핸드 시스템은 하나의 통합된 모듈로 존재할 수 있다.
생체 센서(10)는 생체 신호를 측정하도록 설정될 수 있다. 생체 신호는 예를 들어, 사용자의 근육의 움직임을 나타내는 EMG 신호이고, 이 경우, 생체 센서(10)는 EMG 전극(electrodes)을 포함하는 EMG 센서일 수 있다. EMG 센서는 예를 들어 지정된 개수의 채널(예: 8개)을 통해 EMG 신호를 측정할 수 있다. EMG 전극은 은(silver)으로 구성될 수 있다. 사용자의 개별적인 손가락 움직임을 효율적으로 감지하기 위하여, EMG 전극은 사용자의 신체에 적절히 배치되어야 한다. 예를 들어, EMG 전극은 사용자의 팔에 부착될 수 있다. 손가락의 움직임과 관련된 EMG 신호를 획득하기 위한 타겟 근육은, 엄지의 경우 장수무지굴근(flexor pollicis longus muscle)과 긴엄지벌림근(abductor pollicis longus muscle), 검지의 경우 천지굴근(flexor digitorum superficialis), 중지의 경우 요측수근굴근(flexor carpi radialis)과 장장근(palmaris longus)이고, 약지의 경우 심수지굴근(flexor digitorum profundus)일 수 있다.
제어 장치(20)는 생체 센서(10)를 통해 획득된 생체 신호를 처리 및 분석함으로써 사용자 손의 움직임 의도를 추정할 수 있다. 비지도 학습을 통해 움직임 의도를 추정하기 위하여, 제어 장치(20)는 적어도 하나의 커널 함수(kernel function)를 이용하는 비선형(non linear) 커널 PCA를 생체 신호에 적용할 수 있다. 제어 장치(20)는 추정된 움직임 의도에 따라서 로봇 핸드(30)를 작동하기 위한 제어 명령을 생성할 수 있다. 움직임 의도를 추정하는 구성과 제어 명령을 생성하는 구성은 통합된 구성이거나 개별적인 구성일 수 있다. 제어 장치(20)는 CPU(central processing unit) 또는 프로세서와 같은 하드웨어 장치일 수도 있으며, 프로그램 또는 어플리케이션과 같은 명령어들(instructions)을 저장하는 기록 매체일 수 있다.
로봇 핸드(30)는 제어 장치(20)로부터 전달 받은 제어 명령에 따라서 사용자 손과 실질적으로 동일하게 작동할 수 있다. 예를 들어, 참조번호 1 내지 2에 도시된 바와 같이 로봇 핸드(30)는 사용자 손과 동일하게 손가락 중 일부를 접거나 펼 수 있다. 이하의 설명에서는 편의를 위하여 4개의 손가락(엄지, 검지, 중지, 약지)을 가지는 로봇 핸드(30)의 형태 및 동작을 나타내지만, 로봇 핸드(30)는 사용자의 손과 실질적으로 동일한 형태를 가질 수 있다.
디스플레이 장치(40)는 예를 들어, 추정된 움직임 의도를 시각적인 형태로 출력함으로써 사용자에게 피드백을 제공할 수 있다. 예를 들어, 디스플레이 장치(40)는 그래프나 표, 또는 그 밖의 GUI(graphic user interface) 형태로 피드백을 제공할 수 있다. 실시예에 따라서, 로봇 핸드 시스템은 디스플레이 장치(40)를 포함하지 않을 수 있다.
도 2는 다양한 실시예들에 따른 로봇 핸드 시스템의 블록도를 도시한다.
도 2를 참조하면, 로봇 핸드 시스템(100)은 생체 센서(110), 제어부(120), 로봇 핸드(130), 및 출력부(140)를 포함할 수 있다. 도 2에 도시된 각 구성 중 도 1에 도시된 구성과 명칭이 동일한 구성은 동일하거나 유사한 기능을 수행하며, 중복된 설명은 생략한다.
제어부(120)(예: 도 1의 제어 장치(20))는 생체 센서(110), 로봇 핸드(130), 및 출력부(140)와 연결되어 로봇 핸드 시스템(100)의 전반적인 기능을 수행할 수 있다. 제어부(120)는 데이터 분석부(122)와 로봇 제어부(124)를 포함할 수 있다. 데이터 분석부(122)는 비지도 학습에 기반하여 사용자 손가락 각각에 대한 움직임 의도를 추정할 수 있다. 로봇 제어부(124)는 추정된 움직임 의도에 따라서 로봇 핸드(130)가 움직일 수 있도록 제어 명령을 생성할 수 있다. 예를 들어, 로봇 제어부(124)는 PID(proportional, integral, derivative) 위치 제어 알고리즘(position control algorithm)에 기반하여 제어 명령을 생성할 수 있다.
출력부(140)는 도 1의 디스플레이 장치(40)와 같이 추정된 움직임 의도에 대한 시각적인 피드백을 제공할 수 있다. 다른 실시예에서, 출력부(140)는 음향 또는 진동 중 적어도 하나를 더 출력할 수 있다.
도 3은 다양한 실시예들에 따라 손 움직임을 위한 인체의 기능을 설명한다.
인간의 손에 대한 제어는 뇌(310)에서 개별적인 손가락까지 이동하는 복잡한 신경망으로 구성될 수 있다. 원심성(efferent) 명령은 시냅스 시스템을 통해 뇌(310)로부터 중추 신경계(320)를 통하여 내려갈 수 있다. 신경망은 모든 레이어(layer)가 하나의 단위를 구성하는 멀티레이어 구조를 가질 수 있다. 중추 신경계(320)는 뇌(310)로부터 전달된 명령을 근육계로 전달하여 손가락을 제어할 수 있으며, 움직임 명령은 뇌(310)로부터 의도될 수 있다. 이러한 의도는 이간의 신경계로 전달되는 원심성 명령으로 나뉠 수 있다. 명령은 척수(330)를 통해 이동하여 각각의 손가락을 움직이는(360) 팔의 개별적인 근육(340, 350)을 제어할 수 있다. 근육 시너지(synergies)를 형성하는 근육의 조합은 손가락 움직임을 초래하는 복수의 층으로 나누어 질 수 있다. 실시예들에 따른 로봇 핸드 시스템(100)은 이러한 인체의 구조를 모방하여 움직임 의도를 추정하기 위하여 커널 함수가 적용된 커널 PCA를 이용하여 SPC를 위한 멀티레이어 아키텍처를 구현할 수 있다.
도 4는 다양한 실시예들에 따라 추정된 움직임 의도에 따라서 로봇 핸드를 움직이기 위한 동작 흐름도를 도시한다. 도 4를 포함하여 이하의 동작 흐름도에 포함된 동작들은 로봇 핸드 시스템(100)에 의하여 구현되거나, 로봇 핸드 시스템(100)에 포함된 각 구성(예: 제어부(120))에 의하여 구현될 수 있다.
도 4를 참조하면, 동작 410에서, 로봇 핸드 시스템(100)은 생체 신호를 획득할 수 있다. 예를 들어, 생체 센서(110)는 지정된 개수(예: 8개)의 채널을 통해 복수의 EMG 신호를 측정할 수 있다.
동작 420에서, 로봇 핸드 시스템(100)은 적어도 하나의 커널 함수가 적용된 kPCA를 생체 신호에 적용함으로써 움직임 의도를 추정할 수 있다. PCA 알고리즘은 데이터셋(dataset)에서 특징점(feature) 개수를 차원적으로 줄이기 위하여 이용될 수 있다. kPCA는 PCA를 적용하기 이전에 데이터셋 패턴을 구별하기 위하여 커널 트릭(kernel trick)을 더 포함하며, 커널 트릭을 통해 로봇 핸드 시스템(100)은 데이터셋의 특징점에 대하여 비선형 매핑을 수행할 수 있다. 데이터셋의 분류 정확도를 높이기 위하여 로봇 핸드 시스템(100)은 적어도 하나의 커널 함수가 적용된 kPCA 알고리즘을 이용할 수 있다.
EMG 신호의 경우, 커널 함수가 적용된 kPCA 알고리즘은 학습 과정에서 출력 데이터를 제공하지 않고 움직이는 손가락에 대한 정보만을 제공하므로 비지도 학습 방식으로 이용될 수 있다. 또한, 커널 함수가 적용된 kPCA 알고리즘을 통해 로봇 핸드 시스템(100)은 근육 움직임 패턴의 비선형 특성을 감지하고, 복수의 층으로 구성된 인체의 원심성 명령 구조를 최대한 따라할 수 있으며, 손가락 각각의 움직임과 관련된 근육 시너지를 알 수 있다. 또한, 데이터셋의 차원(dimension)을 비선형적으로 증가시킬 수 있는 커널 함수의 적용은 활성화되지 않은 DOF(degree of freedom)의 추정을 억제하면서 활성화된 DOF에 집중할 수 있다. 커널 함수가 적용된 kPCA 알고리즘에 기반한 비지도 학습(또는 세미 비지도 학습)은 복수의 손가락 각각에 대한 매핑 함수(mapping function)를 산출(또는 evaluate)할 수 있다. 따라서, 로봇 핸드 시스템(100)은 출력 값이 없이도 실시간 구현을 위한 손가락 각각의 매핑 함수를 구할 수 있으며, 손가락의 일부가 절단된 환자의 EMG 측정을 통해 손가락 각각의 움직임을 판단할 수 있다.
동작 430에서, 로봇 핸드 시스템(100)은 추정된 움직임 의도에 대응하여 로봇 핸드(130)을 작동시킬 수 있다. 예를 들어, 제어부(120)는 추정된 움직임 의도에 따른 제어 명령을 생성하여 로봇 핸드(130)에게 전달할 수 있다.
동작 440에서, 로봇 핸드 시스템(100)은 추정된 움직임 의도에 대한 피드백을 출력부(140)를 통해 출력할 수 있다. 실시예에서, 로봇 핸드 시스템(100)은 동작 440을 생략할 수 있다.
도 5는 다양한 실시예들에 따라 매핑 함수(mapping function)를 학습하기 위한 동작 흐름도를 도시한다.
도 5를 참조하면, 동작 510에서, 로봇 핸드 시스템(100)은 학습을 위한 생체 신호를 획득할 수 있다. 예를 들어, 8개의 채널(8개의 전극) A, B, C, D, E, F, G, H를 통해 획득된 EMG 신호의 데이터셋 'X'는 로 표현되며, T는 측정된 기록의 시간 샘플을, d는 차원(diemensions)의 개수(즉, 8개)를 나타낼 수 있다.
동작 520에서, 로봇 핸드 시스템(100)은 획득된 생체 신호에 대한 제1 커널 행렬을 산출할 수 있다. 제1 커널 행렬 'K'는 적어도 하나의 커널 함수에 기반하여 산출될 수 있다. 예를 들어 하이퍼볼릭 탄젠트(Hyperbolic tangent) 함수가 커널 함수로 이용되는 경우, 제1 커널 행렬은 로 표현될 수 있다. 다른 예를 들어 다항(polynomial) 함수가 이용되는 경우, 제1 커널 행렬은 로 표현될 수 있다. 다른 예를 들어 가우시안(Gaussian) 함수가 커널 함수로 이용되는 경우, 제1 커널 행렬은 로 표현될 수 있으며, Y와 b는 학습 단계에서 선택될 수 있다.
제1 커널 행렬은 중심화(centering)되지 않았으므로, 동작 530에서, 로봇 핸드 시스템(100)은 제1 커널 행렬을 중심화할 수 있다. 예를 들어, 중심화된 제1 커널 행렬 Kcentered는 하기의 [수학식 1]로 산출될 수 있다.
[수학식 1]에서 1T는 TxT 크기인 행렬을 의미할 수 있다.
동작 540에서, 로봇 핸드 시스템(100)은 중심화된 제1 커널 행렬에 대한 고유 벡터(eigenvector)를 산출할 수 있다. 고유 벡터는 중심화된 제1 커널 행렬의 주 성분(priciple component)을 의미할 수 있다. 실시예에서, 로봇 핸드 시스템(100)은 SVD(single value decomposition) 알고리즘을 이용하여 고유 벡터를 산출할 수 있다. 고유 벡터 'P'는 로 표현될 수 있다.
동작 550에서, 로봇 핸드 시스템(100)은 매핑 함수 'U'를 산출할 수 있다. 손가락 각각의 매핑 함수를 산출하기 위하여 제1 커널 행렬의 분산(variance)을 최대화시키는 고유 벡터를 선택할 필요가 있으며, 이러한 고유 벡터는 데이터셋의 주 성분으로 참조될 수 있다. 따라서, 로봇 핸드 시스템(100)은 고유 벡터 P의 첫번째 열(column)을 선택함으로써 매핑 함수 U(또는 매핑 행렬 U)를 산출할 수 있으며, 매핑 함수는 로 표현될 수 있다. 학습된 매핑 함수는 이후 획득된 생체 신호에 대응하는 움직임 의도를 추정하기 위하여 이용될 수 있다.
실시예에서, 로봇 핸드 시스템(100)은 고유값(eigenvalue) 의 제곱근을 이용하여 고유 벡터의 성분을 정규화(normalize)함으로써, 특정 손가락의 매핑 함수를 최종적으로 산출할 수 있다. 예를 들어, 엄지(thumb) 손가락의 매핑 함수 Uthumb는 하기의 [수학식 2]로 산출될 수 있다.
동일한 방식으로, 로봇 핸드 시스템(100)은 검지(index), 중지(middle), 약지(ring), 및 소지(pinkle) 손가락 각각의 매핑 함수를 산출할 수 있다.
도 6은 다양한 실시예들에 따라 움직임 의도를 추정하기 위한 동작 흐름도를 도시한다. 도 6에 도시된 동작들은 도 5에 의하여 학습된 매핑 함수를 이용하여 실시간으로 움직임 의도를 추정하는 동작(예: 도 4의 동작 420)의 일 예를 나타낸다.
도 6을 참조하면, 동작 610에서, 로봇 핸드 시스템(100)은 생체 신호를 획득할 수 있다. 예를 들어, 엄지 손가락에 대한 EMG 신호의 데이터셋 'Z'는 로 표현될 수 있으며, t는 시간 샘플의 개수를, d는 차원의 개수(예, EMG 채널이 8개인 경우, d=8)를 나타낼 수 있다.
동작 620에서, 로봇 핸드 시스템(100)은 생체 신호에 기반하여 제2 커널 행렬을 산출할 수 있다. 제2 커널 행렬은 도 5의 동작 510에서 획득된 데이터셋 X와 동작 610에서 획득된 데이터셋 Z로부터 산출될 수 있다. 예를 들어 하이퍼볼릭 탄젠트 함수가 커널 함수로 이용되는 경우, 제2 커널 행렬 Kz은 하기의 [수학식 3]에 기반하여 산출될 수 있다.
다른 예를 들어 다항 함수가 이용되는 경우, 제2 커널 행렬은 하기의 [수학식 4]에 기반하여 산출될 수 있다.
다른 예를 들어 가우시안 함수가 이용되는 경우, 제2 커널 행렬은 하기의 [수학식 5]에 기반하여 산출될 수 있다.
[수학식 5]에서 Z, X, 및 Kz의 크기는 동일하다.
동작 630에서, 로봇 핸드 시스템(100)은 제2 커널 행렬을 중심화할 수 있다. 예를 들어, 중심화된 제2 커널 행렬 Kcentered는 하기의 [수학식 6]을 통해 산출될 수 있다.
1nxm은 지정된 크기(n, m)를 가지는 행렬을 의미하며, n은 T, m은 t일 수 있다.
동작 640에서, 로봇 핸드 시스템(100)은 매핑 함수 및 중심화된 제2 커널 행렬에 기반하여 움직임 의도를 추정할 수 있다. 예를 들어, 엄지 손가락에 대한 매핑 함수 Uthumb와 중심화된 제2 커널 행렬 Kcentered의 곱에 의하여 엄지 손가락에 대한 움직임 의도를 나타내는 출력 값 Ythumb가 산출될 수 있다. 동일한 원리로, 검지, 중지, 약지, 및 소지 손가락 각각에 대한 움직임 의도를 나타내는 출력 값 Yindex, Ymiddle, Yring, 및 Ypinkle이 각각 산출될 수 있다.
도 7은 다양한 실시예들에 따른 생체 센서(110)의 블록도를 도시한다.
도 7을 참조하면, 생체 센서(110)는 은(silver)으로 구성된 EMG 전극(710)뿐만 아니라 기준 전압 제공부(730)를 통해 기준 전압(예: 1.65V)이 제공되는 기준 전극(720)을 포함할 수 있다. 계측 증폭기(instrumentation amplifier)(740)는 EMG 전극(710)을 통해 수신된 신호를 지정된 이득(gain)(예: 100dB)만큼 증폭시킬 수 있다. 필터(750)는 예를 들어, 3차 BPF(band pass filter)일 수 있다. 필터(750)는 지정된 주파수(예: 16.3 내지 613Hz)로 신호를 필터링 할 수 있다. 전력 공급기(760)는 생체 센서(110)에 단방향으로 지정된 전원(예: 3.3V)을 공급할 수 있다. 이득 제어부(770)는 필터링된 신호를 지정된 이득 값(예: 20dB)으로 조절할 수 있다. 데이터 수집부(780)는 이득 값이 조절된 신호에 대한 데이터(예: 데이터셋)를 수집할 수 있다.
도 8은 다양한 실시예들에 따라 EMG 신호를 기록하기 위한 동작 블록도를 도시한다.
도 8을 참조하면, 데이터 분석부(122)는 로우(raw) EMG 신호를 획득할 수 있다. 데이터 분석부(122)는 BSF(band stop filter)를 이용하여 3차례에 걸쳐 주파수 필터링을 할 수 있다. BSF는 3차 또는 8차 필터일 수 있다. 각각의 BSF는 서로 다른 주파수 대역을 지원할 수 있다. 예를 들어, 데이터 분석부(122)는 58 내지 62 Hz, 178 내지 182 Hz, 및 50 내지 150 Hz로 필터링을 할 수 있다. 데이터 분석부(122)는 필터링을 통해 신호의 절대 값을 획득할 수 있다. 데이터 분석부(122)는 LPF(low pass filter) 엔벨로프 감지기(envelope detector)를 통해 지정된 주파수(예: 1.5Hz)에서 신호를 컷 오프(cut off)하고, 이후 신호를 기록할 수 있다.
도 9는 다양한 실시예들에 따라 움직임을 산출하기 위한 동작 블록도를 도시한다.
도 9를 참조하면, 매핑 함수 학습 단계(901)에서, 데이터 분석부(122)는 기록된 신호에 기반하여 제1 커널 행렬을 산출하고, 산출된 제1 커널 행렬을 중심화할 수 있다. 데이터 분석부(122)는 중심화된 제1 커널 행렬에 kPCA 알고리즘을 적용함으로써 매핑 함수를 학습할 수 있다. 움직임 산출 단계(902)에서, 데이터 분석부(122)는 신호를 획득하고 획득된 신호에 기반하여 제2 커널 행렬을 산출하고, 산출된 제2 커널 행렬을 중심화할 수 있다. 데이터 분석부(122)는 중심화된 제2 커널 행렬에 학습된 매핑 함수를 적용함으로써 움직임을 산출할 수 있다.
도 10은 다양한 실시예들에 따라 로봇 핸드에 제어 명령을 전달하기 위한 동작 블록도를 도시한다.
도 10을 참조하면, 생체 센서(110)는 EMG 신호를 획득하고, 신호를 필터링할 수 있다. 데이터 분석부(122)는 필터링된 신호에 적어도 하나의 커널 함수가 적용된 kPCA 알고리즘을 적용함으로써 움직임 의도를 추정할 수 있다. 로봇 제어부(124)는 움직임 의도를 나타내는 값에 이동평균필터를 적용함으로써 로봇 핸드(130) 제어 명령을 생성할 수 있다. 로봇 핸드(130)는 생성된 제어 명령에 따라서 동작할 수 있다.
도 11a 내지 11d는 다양한 실시예들에 따라 손가락 별로 움직임 의도를 추정하기 위한 알고리즘을 나타낸다. 도 11a 내지 도 11d는 동일한 생체 신호에 대하여 엄지 손가락, 검지 손가락, 중지 손가락, 및 약지 손가락에 대응하는 kPCA 모델의 응답을 나타낸다. 약지 손가락이 움직일 때, 약지 손가락에 대한 추정 값(0.1132)은 다른 손가락에 대한 추정 값 대비 높게 나타낼 수 있다.
도 12a 내지 12c는 다양한 실시예들에 따른 움직임 의도 추정 결과를 나타내는 그래프를 도시한다. 도 12a는 하이퍼볼릭 탄젠트 함수, 도 12b는 다항 함수, 도 12c는 가우시안 함수를 각각 커널 함수로 이용할 때의 추정 결과를 나타낸다. 또한, 각 도면에서 왼쪽 상단의 그래프(1201, 1205, 1209)는 엄지 손가락이 움직일 때, 오른쪽 상단의 그래프(1202, 1206, 1210)는 검지 손가락이 움직일 때, 왼쪽 하단의 그래프(1203, 1207, 1211)는 중지 손가락이 움직일 때, 오른쪽 하단의 그래프(1204, 1208, 1202)는 약지 손가락이 움직일 때의 결과를 나타낸다.
도 13a 내지 13b는 다양한 실시예들에 따른 로봇 핸드의 움직임을 나타낸다.
도 13a는 하나의 손가락을 움직일 때 로봇 핸드(130)의 움직임을, 도 13b는 적어도 둘 이상의 손가락을 움직일 때 로봇 핸드(130)의 움직임을 나타낸다. 로봇 핸드 시스템(100)은 사용자의 손가락 별로 움직임 의도를 정확하게 추정할 수 있으므로, 하나 이상의 손가락 움직임에 대응하여 로봇 핸드(130)에 포함된 손가락을 작동시킬 수 있다.
Claims (11)
- 로봇 핸드 시스템에 있어서,
생체 센서;
복수의 손가락을 포함하는 로봇 핸드(robot hand); 및
상기 생체 센서 및 상기 로봇 핸드와 연결되는 제어부를 포함하고, 상기 제어부는,
상기 생체 센서를 통해 생체 신호를 획득하고,
적어도 하나의 커널 함수가 적용된 kPCA(kernel kernel principle component analysis)를 상기 생체 신호에 적용함으로써 움직임 의도를 추정하고, 및
상기 추정된 움직임 의도에 대응하는 제어 명령을 상기 로봇 핸드에 전달하도록 설정된, 로봇 핸드 시스템. - 청구항 1에 있어서, 출력부를 더 포함하고,
상기 제어부는,
상기 출력부를 통해 상기 추정된 움직임 의도를 나타내는 GUI(graphic user interface)를 출력하도록 설정된, 로봇 핸드 시스템. - 청구항 1에 있어서, 상기 제어부는,
상기 적어도 하나의 커널 함수를 이용하여 기록된 생체 신호에 대한 제1 커널 행렬을 산출하고,
상기 제1 커널 행렬을 중심화하고,
상기 제1 커널 행렬에 대한 고유 벡터를 산출하고, 및
상기 고유 벡터에 기반하여 매핑 함수(mapping function)를 학습하도록 설정된, 로봇 핸드 시스템. - 청구항 3에 있어서, 상기 제어부는,
상기 적어도 하나의 커널 함수를 이용하여 상기 생체 신호에 대한 제2 커널 행렬을 산출하고,
상기 제2 커널 행렬을 중심화하고, 및
상기 학습된 매핑 함수와 상기 중심화된 제2 커널 행렬에 기반하여 상기 움직임 의도를 추정하도록 설정된, 로봇 핸드 시스템. - 청구항 1에 있어서, 상기 생체 센서는,
신호를 수신하도록 설정된 복수의 전극;
상기 수신된 신호를 측정 및 증폭하도록 설정된 계측 증폭기;
상기 증폭된 신호를 지정된 주파수 대역에서 필터링하도록 설정된 필터;
상기 필터링된 신호의 이득(gain)을 지정된 값으로 조절하도록 설정된 이득 제어부; 및
상기 이득이 조절된 신호로부터 상기 생체 신호에 대한 데이터를 수집하도록 설정된 데이터 수집부를 포함하는, 로봇 핸드 시스템. - 청구항 1에 있어서, 상기 제어부는,
상기 추정된 움직임 의도에 이동평균필터를 적용함으로써 상기 제어 명령을 생성하도록 설정된, 로봇 핸드 시스템. - 로봇 핸드 시스템의 동작 방법에 있어서,
생체 신호를 획득하는 동작;
적어도 하나의 커널 함수가 적용된 kPCA를 상기 생체 신호에 적용함으로써 움직임 의도를 추정하는 동작; 및
상기 추정된 움직임 의도에 대응하여 로봇 핸드를 작동하는 동작을 포함하는, 방법. - 청구항 7에 있어서,
상기 추정된 움직임 의도를 나타내는 GUI(graphic user interface)를 출력 하는 동작을 더 포함하는, 방법. - 청구항 7에 있어서,
상기 적어도 하나의 커널 함수에 기반하여 기록된 생체 신호에 대한 제1 커널 행렬을 산출하는 동작;
상기 제1 커널 행렬을 중심화하는 동작;
상기 제1 커널 행렬에 대한 고유 벡터를 산출하는 동작; 및
상기 고유 벡터에 기반하여 매핑 함수를 학습하는 동작을 더 포함하는, 방법. - 청구항 9에 있어서, 상기 움직임 의도를 추정하는 동작은,
상기 적어도 하나의 커널 함수에 기반하여 상기 생체 신호에 대한 제2 커널 행렬을 산출하는 동작;
상기 제2 커널 행렬을 중심화하는 동작; 및
상기 학습된 매핑 함수와 상기 중심화된 제2 커널 행렬에 기반하여 상기 움직임 의도를 추정하는 동작을 포함하는, 방법. - 컴퓨터 판독가능한 비일시적 기록 매체에 있어서,
생체 신호를 획득하는 단계;
적어도 하나의 커널 함수가 적용된 kPCA를 상기 생체 신호에 적용함으로써 움직임 의도를 추정하는 단계; 및
상기 추정된 움직임 의도에 대응하여 로봇 핸드를 작동하는 단계;를 실행하기 위한 프로그램을 저장하는 컴퓨터 판독가능한 비일시적 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210098062A KR20230016499A (ko) | 2021-07-26 | 2021-07-26 | 비지도 학습을 이용하여 의도를 추정하기 위한 방법 |
US17/844,361 US20230021447A1 (en) | 2021-07-26 | 2022-06-20 | Method for Estimating Intention Using Unsupervised Learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210098062A KR20230016499A (ko) | 2021-07-26 | 2021-07-26 | 비지도 학습을 이용하여 의도를 추정하기 위한 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230016499A true KR20230016499A (ko) | 2023-02-02 |
Family
ID=84977429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210098062A KR20230016499A (ko) | 2021-07-26 | 2021-07-26 | 비지도 학습을 이용하여 의도를 추정하기 위한 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230021447A1 (ko) |
KR (1) | KR20230016499A (ko) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5003336B2 (ja) * | 2007-07-31 | 2012-08-15 | ソニー株式会社 | 検出装置、ロボット装置、および入力装置 |
CN109219856A (zh) * | 2016-03-24 | 2019-01-15 | 宝利根 T·R 有限公司 | 用于人类及机器人协作的系统及方法 |
JP6590416B2 (ja) * | 2017-07-10 | 2019-10-16 | トヨタ自動車株式会社 | リハビリ評価装置、リハビリ評価装置の作動方法およびリハビリ評価プログラム |
US11472028B2 (en) * | 2019-12-06 | 2022-10-18 | Mitsubishi Electric Research Laboratories, Inc. | Systems and methods automatic anomaly detection in mixed human-robot manufacturing processes |
US11768504B2 (en) * | 2020-06-10 | 2023-09-26 | AI Incorporated | Light weight and real time slam for robots |
-
2021
- 2021-07-26 KR KR1020210098062A patent/KR20230016499A/ko unknown
-
2022
- 2022-06-20 US US17/844,361 patent/US20230021447A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230021447A1 (en) | 2023-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Krasoulis et al. | Improved prosthetic hand control with concurrent use of myoelectric and inertial measurements | |
Naseer et al. | fNIRS-based brain-computer interfaces: a review | |
Phinyomark et al. | Surface electromyography (EMG) signal processing, classification, and practical considerations | |
Lekha et al. | Real-time non-invasive detection and classification of diabetes using modified convolution neural network | |
CN107589782B (zh) | 用于可穿戴设备的姿势控制接口的方法和装置 | |
EP2571461B1 (en) | Direct neural interface system and method of calibrating it | |
Hashemi et al. | EMG–force modeling using parallel cascade identification | |
JP7070253B2 (ja) | パフォーマンス計測装置、パフォーマンス計測方法及びパフォーマンス計測プログラム | |
Idowu et al. | Neuro-evolutionary approach for optimal selection of EEG channels in motor imagery based BCI application | |
Gargava et al. | Controlling an arduino robot using Brain Computer Interface | |
KR20200115692A (ko) | 생체신호를 이용한 딥러닝 기반 실시간 감정인식 시스템 및 이를 이용한 방법 | |
CN113116321A (zh) | 基于pso-grnn神经网络的无创连续血压测量系统 | |
Condori et al. | Embedded Brain Machine Interface based on motor imagery paradigm to control prosthetic hand | |
Shahmohammadi et al. | On lightmyography: A new muscle machine interfacing method for decoding human intention and motion | |
Anwer et al. | Evaluation of data processing and artifact removal approaches used for physiological signals captured using wearable sensing devices during construction tasks | |
Jo et al. | Development of a mathematical model for age-dependent radial artery pulse wave analysis based on pulse waveform decomposition | |
Sakr et al. | Regressing force-myographic signals collected by an armband to estimate torque exerted by the wrist: A preliminary investigation | |
Zeng et al. | Robustness of combined sEMG and ultrasound modalities against muscle fatigue in force estimation | |
KR20230016499A (ko) | 비지도 학습을 이용하여 의도를 추정하기 위한 방법 | |
KR20220151985A (ko) | 비지도 학습을 이용하여 의도를 추정하기 위한 방법 | |
Veer et al. | Electromyographic classification of effort in muscle strength assessment | |
KR102512006B1 (ko) | 뇌파 정보에 기초하여 대상 객체의 동작을 제어하는 뇌-컴퓨터 인터페이스 장치 및 이의 구동 방법 | |
Qian et al. | Affective recognition using EEG signal in human-robot interaction | |
Singh et al. | Improved Classification of Mental Workload Using One Dimensional Convolutional Neural Network and SMOTE Technique | |
Lv et al. | An online heart rate variability analysis method based on sliding window Hurst series |