KR20230134890A - 다관절 로봇의 구동을 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램 - Google Patents

다관절 로봇의 구동을 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20230134890A
KR20230134890A KR1020220032265A KR20220032265A KR20230134890A KR 20230134890 A KR20230134890 A KR 20230134890A KR 1020220032265 A KR1020220032265 A KR 1020220032265A KR 20220032265 A KR20220032265 A KR 20220032265A KR 20230134890 A KR20230134890 A KR 20230134890A
Authority
KR
South Korea
Prior art keywords
value
output
robot
model
driving
Prior art date
Application number
KR1020220032265A
Other languages
English (en)
Inventor
주성문
현동준
김익준
이종환
Original Assignee
한국원자력연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국원자력연구원 filed Critical 한국원자력연구원
Priority to KR1020220032265A priority Critical patent/KR20230134890A/ko
Publication of KR20230134890A publication Critical patent/KR20230134890A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

다관절 로봇의 구동을 위한 기구학 모델링 방법이 개시된다. 본 발명의 일 측면에 따른 다관절 로봇의 구동을 위한 기구학 모델링 방법은 복수의 관절을 구비하는 로봇의 기구학 모델을 형성하기 위한 기구학 모델링 방법에 있어서, 상기 로봇의 구동과 관련된 출력값을 제공하는 물리 모델의 출력 오차값을 추정하는 인공 신경망 모델을 구축하고 학습시키는 단계; 상기 물리 모델에 입력값을 입력하여 출력 근사값을 획득하는 단계; 상기 인공 신경망 모델에 상기 입력값을 입력하여 상기 출력 오차값을 추정하는 단계; 및 상기 출력 근사값과 상기 출력 오차값을 합산하여 최종 출력값을 산출하는 단계;를 포함하고, 상기 인공 신경망 모델을 구축하고 학습시키는 단계는, 상기 로봇을 실제로 구동시켜 상기 로봇의 구동과 관련된 제1 입력값 및 이에 대응되는 제1 출력값을 포함하는 학습 데이터를 수집하는 단계; 상기 제1 출력값과, 상기 물리 모델에 상기 제1 입력값을 입력하여 획득된 제1 출력 근사값 사이의 차이값인 제1 출력 오차값을 계산하는 단계; 및 상기 제1 입력값과 상기 제1 출력 오차값 사이의 상관관계를 학습하도록 상기 인공 신경망 모델을 학습시키는 단계;를 포함할 수 있다.

Description

다관절 로봇의 구동을 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램 {Method, apparatus and computer program for forming kinematic model for actuation of articulated robot}
본 발명은 다관절 로봇의 구동을 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램에 관한 것으로, 보다 상세하게는 복수의 관절을 구비하는 로봇의 기구학 모델을 형성하기 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램에 관한 것이다.
기구학 모델은 다관절 메니퓰레이터(이하 로봇팔 또는 다관절 로봇)의 끝단의 위치 및 자세와 관절각 사이의 관계를 기술하는 모델이다.
세부적으로 관절각이 주어졌을 때 끝단의 위치와 자세를 계산하는 모델을 순기구학 또는 정기구학(forward kinematics) 모델이라고 하며, 반대로 끝단의 위치와 자세가 주어졌을 때 해당하는 관절각을 계산하는 모델을 역기구학(inverse kinematics) 모델이라고 한다.
이상적인 경우 로봇팔의 설계 정보로부터 기구학 모델을 구하는데 필요한 정보를 얻을 수 있으나 로봇팔의 기계적 공차 또는 사용중 발생하는 변형 등을 고려하기 위해 일반적으로 로봇팔을 구동하면서 끝단의 위치와 자세, 관절각을 측정하여 수치 최적화를 통해 수학적인 기구학 모델의 파라미터를 계산하는 방식으로 기구학 모델링 작업을 수행하고 있다.
그러나 이 경우 계산해야 하는 파라미터의 개수가 많아서 오차의 발생시 어떤 파라미터에 오차가 있는지 알기 어렵고, 비선형 최적화 계산을 수행해야 하므로 수렴 값을 찾기도 어려우며 물리적으로 의미 없는 파라미터 값이 되기도 하므로 로봇팔 사용자가 직접 기구학 모델을 구하기 어려워 별도의 전문가가 필요한 경우가 많은 실정이다.
또한 역기구학 모델링의 경우 관절이 많아서 여유 자유도가 존재하면 로봇팔 끝단의 특정 위치와 자세에 해당하는 관절각이 여러 개 존재할 수 있다. 이럴 경우 물리적 제약이나 사용자의 선호도에 따라 특정한 관절각을 선택해서 사용해야 하는 문제가 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 다관절 로봇의 제어의 정확도를 보다 향상시킬 수 있는, 다관절 로봇의 구동을 위한 기구학 모델 장치 및 기구학 모델링 방법을 제공하는 것이다.
본 발명의 다른 목적은 전문가의 개입 없이도 용이하게 기구학 모델의 오차를 보정할 수 있는, 다관절 로봇의 구동을 위한 기구학 모델 장치 및 기구학 모델링 방법을 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 복수의 관절을 구비하는 로봇의 기구학 모델을 형성하기 위한 기구학 모델링 방법에 있어서, 상기 로봇의 구동과 관련된 출력값을 제공하는 물리 모델의 출력 오차값을 추정하는 인공 신경망 모델을 구축하고 학습시키는 단계; 상기 물리 모델에 입력값을 입력하여 출력 근사값을 획득하는 단계; 상기 인공 신경망 모델에 상기 입력값을 입력하여 상기 출력 오차값을 추정하는 단계; 및 상기 출력 근사값과 상기 출력 오차값을 합산하여 최종 출력값을 산출하는 단계;를 포함하고, 상기 인공 신경망 모델을 구축하고 학습시키는 단계는, 상기 로봇을 실제로 구동시켜 상기 로봇의 구동과 관련된 제1 입력값 및 이에 대응되는 제1 출력값을 포함하는 학습 데이터를 수집하는 단계; 상기 제1 출력값과, 상기 물리 모델에 상기 제1 입력값을 입력하여 획득된 제1 출력 근사값 사이의 차이값인 제1 출력 오차값을 계산하는 단계; 및 상기 제1 입력값과 상기 제1 출력 오차값 사이의 상관관계를 학습하도록 상기 인공 신경망 모델을 학습시키는 단계;를 포함하는, 다관절 로봇의 구동을 위한 기구학 모델링 방법이 제공된다.
본 발명의 다른 측면에 따르면, 복수의 관절을 구비하는 로봇의 구동을 위한 기구학 모델 장치에 있어서, 상기 장치는 메모리 및 제어부를 포함하고, 상기 메모리는, 상기 로봇의 구동과 관련된 제1 입력값 및 이에 대응되는 제1 출력값을 포함하고, 상기 로봇을 실제로 구동시켜 수집된 학습 데이터를 저장하며, 임의의 입력값에 대하여 상기 로봇의 구동과 관련된 출력값을 제공하는 물리 모델을 저장하고, 상기 학습 데이터를 학습하여 상기 물리 모델의 출력 오차값을 추정하는 인공 신경망 모델을 저장하며, 상기 제어부는, 상기 제1 출력값과, 상기 물리 모델에 상기 제1 입력값을 입력하여 획득된 제1 출력 근사값 사이의 차이값인 제1 출력 오차값을 계산하고, 상기 제1 입력값과 상기 제1 출력 오차값 사이의 상관관계를 학습하도록 상기 인공 신경망 모델을 학습시키며, 상기 물리 모델에 입력값을 입력하여 출력 근사값을 획득하고, 상기 인공 신경망 모델에 상기 입력값을 입력하여 상기 출력 오차값을 추정한 후, 상기 출력 근사값과 상기 출력 오차값을 합산하여 최종 출력값을 산출하는, 다관절 로봇의 구동을 위한 기구학 모델 장치가 제공된다.
상기의 구성에 따라, 본 발명에 실시예에 따른 다관절 로봇의 구동을 위한 기구학 모델 장치 및 방법은 다관절 로봇의 기계적 공차 및 물리적 변형 등이 반영된 실측 데이터를 기초로 학습된 인공 신경망 모델을 통해 물리 모델의 출력 오차값을 산출한 후 이를 최종 출력값에 반영함으로써 다관절 로봇의 제어 정확도를 향상시킬 수 있다.
또한, 본 발명의 실시예에 따른 다관절 로봇의 구동을 위한 기구학 모델 장치 및 방법은 물리 모델과 관련된 특수한 지식을 겸비한 전문가의 도움 없이도 인공 신경망 모델 만으로 상기 출력 오차값을 산출할 수 있으므로, 다관절 로봇의 유지 편의성을 향상시킬 수 있다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른 기구학 모델 장치가 이용되는 다관절 로봇의 일 예시를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 기구학 모델 장치의 입출력의 일 예시를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 기구학 모델 장치의 각 구성을 개략적으로 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 기구학 모델 장치에 포함된 인공 신경망 모델의 구조를 개략적으로 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 기구학 모델링 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 기구학 모델링 방법의 일부분을 구체적으로 설명하기 위한 순서도이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해서 도면에서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.
본 명세서 및 청구범위에 사용된 단어와 용어는 통상적이거나 사전적인 의미로 한정 해석되지 않고, 자신의 발명을 최선의 방법으로 설명하기 위해 발명자가 용어와 개념을 정의할 수 있는 원칙에 따라 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
도 1은 본 발명의 일 실시예에 따른 기구학 모델 장치가 이용되는 다관절 로봇의 일 예시를 도시한 도면이다. 도 2는 본 발명의 일 실시예에 따른 기구학 모델 장치의 입출력의 일 예시를 도시한 도면이다.
본 발명의 일 실시예에 따른 다관절 로봇의 구동을 위한 기구학 모델 장치(100, 이하 '기구학 모델 장치'라고 함)는 도 1에 도시된 바와 같이 복수의 관절을 구비하는 로봇(200)의 구동에 이용되는 장치로서, 로봇(200)의 구동과 관련된 다양한 물리량을 수치적으로 계산하거나 해석하는 장치이다.
예를 들면, 본 발명의 일 실시예에 따른 기구학 모델 장치(100)는 도 2에 도시된 바와 같이 다관절 로봇(200)의 각 관절각(입력값(80))이 주어졌을 때 끝단의 위치 및 자세(출력값(90))를 계산하는 순기구학 모델(forward kinematics) 또는 이와 반대로 끝단의 위치와 자세(입력값(80))가 주어졌을 때 이에 대응되는 관절각(출력값(90))을 계산하는 역기구학(inverse kinematics) 모델일 수 있다. 그러나, 본 발명의 일 실시예에 따른 기구학 모델 장치(100)는 순기구학 모델 및 역기구학 모델 외에도 로봇의 거동을 공간적으로 해석하는 다양한 기구학 모델로 이용될 수 있음을 밝혀 둔다.
이때, 본 발명의 일 실시예에 따른 기구학 모델 장치(100)는 이미 설계된 물리 모델(40) 외에 다관절 로봇(200)의 제작 오차에 따른 기계적 공차, 장시간 구동에 따른 이격의 증가 또는 물리적 변형에서 비롯되는 물리 모델(40)의 출력 오차값을 보완하도록 특유의 인공 신경망 모델(30)을 포함하는데, 이하 도면을 통해 이를 중심으로 기술하기로 한다.
도 3은 본 발명의 일 실시예에 따른 기구학 모델 장치의 각 구성을 개략적으로 도시한 도면이다. 도 4는 본 발명의 일 실시예에 따른 기구학 모델 장치에 포함된 인공 신경망 모델의 구조를 개략적으로 도시한 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 기구학 모델 장치(100)는 메모리(10) 및 제어부(50)를 포함할 수 있다.
먼저, 메모리(10)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(Random Access Memory), ROM(Read Only Memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(Permanent Mass Storage Device)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
본 발명의 일 실시예에서, 도 3을 참조하면, 메모리(10)는 학습 데이터(20), 물리 모델(40) 및 인공 신경망 모델(30)을 저장할 수 있다.
먼저, 학습 데이터(20)는 후술될 인공 신경망 모델(30)의 기계 학습(machine learning)을 위한 데이터로서, 로봇(200)의 구동과 관련된 제1 입력값(80') 및 이에 대응되는 제1 출력값(90')을 포함할 수 있다.
이때, 제1 입력값(80') 및 제1 출력값(90')은 후술될 입력값(80) 및 출력값(90)과 동일한 의미를 가지는 물리량일 수 있으나, 인공 신경망 모델(30)의 학습에 이용되는 학습 데이터로서의 기능을 명확히 특정하기 위하여 상기 입력값(80) 및 출력값(90)과 별도로 지칭한다.
구체적으로, 제1 입력값(80')과 입력값(80)은 로봇(200)의 운동 해석과 관련된 다양한 물리량 일 수 있다.
일례로, 본 발명의 일 실시예에 따른 기구학 모델 장치(100)가 순기구학 모델 장치로 이용될 경우, 제1 입력값(80')은 관절각이고, 제1 출력값(90')은 다관절 로봇(200)의 관절에 상기 관절각이 형성되었을 때 마련되는 끝단의 위치 또는 자세 일 수 있다.
반대로, 본 발명의 일 실시예에 따른 기구학 모델 장치(100)가 역기구학 모델 장치로 이용될 경우, 제1 입력값(80')은 끝단의 위치 또는 자세이고, 제1 출력값(90')은 상기 끝단의 위치 또는 자세가 되었을 때 관절에 형성되는 상기 관절각 일 수 있다.
본 발명의 일 실시예에서, 상기 제1 입력값(80')과 입력값(80)을 포함하는 학습 데이터(20)는 다관절 로봇(200)을 실제 구동시켜 수집된 실측 데이터일 수 있다. 이러한 학습 데이터(20)는 물리 모델(40) 측으로 입력된 임의의 입력값(80) 및 상기 입력값(80)을 기초로 하여 상기 물리 모델(40)로부터 산출된 출력값(90)과 비교하여, 실제로 측정된 데이터라는 점에서 구분될 수 있다.
그리고, 학습 데이터(20)는 앞서 기술한 바와 같이 인공 신경망 모델(30)의 기계 학습을 위한 데이터로 이용될 수 있다. 이와 관련하여 상기 인공 신경망 모델(30)은 로봇(200)의 구동과 관련된 실측 데이터(학습 데이터)를 기초로 학습함으로써 후술될 물리 모델(40)이 생성한 출력 근사값(91)에 내재된 출력 오차값(92)을 추정할 수 있다. 이에 대해서는 인공 신경망 모델(30)과 관련된 설명을 통해 자세히 기술하기로 한다.
이를 위해, 본 발명의 일 실시예에 따른 기구학 모델 장치(100)의 사용자는 상기 학습 데이터(20)를 충분히 확보하기 위하여 사전에 다관절 로봇(200)의 관절각 및 끝단의 위치 등을 다양화하며 복수의 제1 입력값(80')과 이에 대응되는 제1 출력값(90')을 한 쌍으로 하는 복수의 학습 데이터 세트를 실측하여 수집할 수 있다.
그리고, 상기 학습 데이터(20)는 다관절 로봇(200)의 구동에 따라 새로 갱신될 수 있다. 예를 들어, 다관절 로봇(200)의 관절 결합부의 이격에 따른 기계적 공차는 시간의 흐름에 따라 점차 증가될 수 있으며 이에 따라 물리 모델(40)의 출력 오차도 증가될 수 있다. 이 점을 고려하여, 본 발명의 일 실시예에 따른 기구학 모델 장치(100)의 인공 신경망 모델(30)은 소정 기간 마다 상기 변화가 반영되어 갱신된 학습 데이터(20)를 통해 다시 학습됨으로써 보다 정확도 높은 출력 오차값(92)을 추정할 수 있다.
다시 도 3을 참조하면, 메모리(10)는 임의의 입력값(80)에 대하여 이에 대응되는 출력 근사값(91)을 제공하는 물리 모델(40)을 저장할 수 있다.
이때, 물리 모델(40)은 다관절 로봇(200)을 구성하는 각 구성요소 사이의 역학적 관계를 기술하는 동역학 모델일 수 있으며, 이를 위해 각 관절에 적절한 좌표계를 설정하고 이들 좌표계 간의 상대적인 위치를 기술하는 복수의 파라미터를 이용하여 표현될 수 있다.
일례로, 상기 물리 모델(40)은 전술한 순기구학 모델 또는 역기구학 모델일 수 있으며, 이 경우, 입력값으로 입력된 특정 관절각(또는 끝단의 위치 또는 자세)에 대하여 이에 대응되는 끝단의 위치 또는 자세(또는 관절각)를 출력값으로 제공할 수 있다. 이러한 출력값을 기초로 다관절 로봇의 각 관절이 제어될 수 있으며 사용자가 원하는 작업을 수행할 수 있다.
본 발명의 일 실시예에서, 메모리(10)가 물리 모델(40)을 포함한다는 것의 의미는, 기구학 모델 장치(100) 내에 별개의 물리 모델(40)이 부재한 경우 가상의 물리 모델을 포함하는 것으로 가정하는 것까지 포함하는 개념임을 밝혀 둔다. 이 경우(실존하는 물리 모델(40)이 부재하는 경우), 본 발명의 일 실시예에 따른 기구학 모델 장치(100)는 실존하는 물리 모델(40) 대신 임의의 입력값에 대하여 출력 근사값으로서 항상 0을 출력하는 가상의 물리 모델을 포함하는 것으로 해석될 수 있으며, 이러한 가상의 물리 모델을 통해 후술될 본 발명의 일 실시예에 따른 최종 출력값의 도출이 이루어질 수 있다.
한편, 상기 물리 모델(40)은 다관절 로봇(200)을 제작, 판매한 제작사에 의하여 최초 제공됨에 따라 최초 제작 시점의 다관절 로봇(200)의 운동 특성을 반영하고 있다. 따라서, 최초 구매 후 다관절 로봇(200)의 반복 사용에 따라 예를 들어 구동 와이어와 같은 각 구성요소에 물리적인 변형이 누적될 경우, 물리 모델(40)은 상기 물리적인 변형을 반영하지 못할 수 있으며, 그 결과 다관절 로봇(200)의 제어 정확도는 점차 저하될 수 있다.
즉, 물리 모델(40)은 로봇(200)의 목적하는 기능 수행을 위하여 정확한 출력값을 제공하여야 함에도 상기 물리적인 변형에 의해 필연적으로 오차가 포함된 낮은 정확도의 출력값을 제공하게 된다. 이하, 본 명세서에서, 물리 모델(40)이 출력하는 출력값은 상기 오차가 포함되어 있을 수 있음을 강조하기 위하여 출력 근사값(91) 또는 제1 출력 근사값(미도시)이라 지칭하기로 한다.
한편, 상기 물리적인 변형을 반영하기 위해서는 물리 모델(40)을 구성하는 주요 파라미터(예. DH 파라미터)의 보정을 필요로 한다. 그러나, 현실적으로 물리 모델(40)과 관련된 정보는 다관절 로봇(200)의 제작 회사만이 제한적으로 취급 가능한 경우가 많으며, 다관절 로봇(200)의 사용자가 개별적으로 보정하기가 용이하지 않은 문제점이 있다.
이러한 문제점을 해결하기 위해, 본 발명의 일 실시예에 따른 기구학 모델 장치(100)는 물리 모델(40)의 출력 오차값(92)을 추정하는 인공 신경망 모델(30)을 포함할 수 있다.
본 발명의 일 실시예에서, 인공 신경망 모델(30)은 동물의 두뇌를 구성하는 생물학적 신경망에 착안된 컴퓨팅 시스템을 지칭할 수 있으며, 물리 모델(40)이 제공하는 출력 근사값에 포함된 출력 오차값을 추정하기 위해 학습된 신경망일 수 있다.
이때, 인공 신경망 모델(30)은 도 4에 도시된 바와 같이, 인공 뉴런(neuron)(또는 뉴런)들이 연결된 구조를 가질 수 있고, 뉴런들 간 연결은 시냅스(synapse)로 지칭될 수 있다. 이때, 뉴런은 수신된 신호를 처리할 수 있고, 처리된 신호를 시냅스를 통해서 다른 뉴런에 전송할 수 있으며 뉴런의 출력은 "액티베이션(activation)"으로 지칭될 수 있다. 뉴런 및/또는 시냅스는 변동할 수 있는 가중치(weight)를 가질 수 있고, 가중치에 따라 뉴런에 의해서 처리된 신호의 영향력이 증가하거나 감소할 수 있다. 특히 개개의 뉴런에 관련된 가중치는 바이어스(bias)로서 지칭될 수 있다.
보다 상세하게, 도 3을 참조하면, 상기 인공 신경망 모델(30)은 메모리(10)에 저장된 상태에서 제어부(50)에 의해 제어될 수 있다. 그러나, 도 3은 본 발명의 일 실시예에 따른 기구학 모델 장치(100)를 개념적으로 도시한 일례에 불과하며, 도시된 예와 달리 달리 인공 신경망 모델(30)은 제어부(50) 내에 직접 저장된 상태에서 구동될 수도 있음을 밝혀 둔다.
한편, 인공 신경망 모델(30)은 앞서 설명한 바와 같이 다관절 로봇(200)의 구동과 관련된 실측 데이터인 학습 데이터(20)를 기초로 학습될 수 있다.
구체적으로, 인공 신경망 모델(30)은 도 4에 도시된 바와 같이 실측값 성격의 제1 입력값(80')과, 제1 출력 오차값(92') 사이의 상관 관계를 학습할 수 있다. 여기서 제1 출력 오차값(92')은 제1 입력값(80')에 대응되는 실측값인 제1 출력값(90')과, 상기 제1 입력값(80')을 전술한 물리 모델(40)에 입력할 경우 획득되는 제1 출력 근사값(미도시)의 차이값일 수 있다. 이때, 제1 출력 근사값(미도시)은 전술한 바와 같이 물리 모델(40)이 물리적 변형을 반영하지 않음에 따라 오차가 반영된 상태의 출력값일 수 있다.
이처럼, 입력값과, 상기 입력값으로부터 발생되는 출력 오차값 사이의 상관 관계에 대하여 충분히 학습된 인공 신경망 모델(30)은 상기 학습 결과를 기초로 추후 임의의 입력값이 입력되었을 때 예상되는 출력 오차값(92)을 추정할 수 있다. 이러한 출력 오차값(92)은 물리 모델(40)이 출력하는 출력 근사값(91)에 대한 보정값으로 이용될 수 있으며, 이를 통해 본 발명의 일 실시예에 따른 기구학 모델 장치(100)는 로봇(200)의 운동을 보다 정확히 제어할 수 있다.
한편, 본 발명의 일 실시예에서, 실존하는 물리 모델(40)이 부재할 경우, 제어부(50)는 전술한 바와 같이 출력 근사값이 0인 것으로 판단할 수 있으며, 이에 따라 인공 신경망 모델(30)은 제1 입력값(80')과 제1 출력값(90') 사이의 상관 관계를 학습할 수 있다.
본 발명의 일 실시예에 따른 기구학 모델 장치(100)는 전술한 인공 신경망 모델(30) 및 물리 모델(40)을 통합적으로 제어하는 제어부(50)를 포함할 수 있다.
먼저, 제어부(50)는 인공 신경망 모델(30)을 학습시킬 수 있다. 보다 상세하게, 제어부(50)는 학습 데이터(20)의 제1 출력값(90')과, 물리 모델(40)로부터 획득된 제1 출력 근사값(미도시)로부터 제1 출력 오차값(92')을 계산한 후 이를 인공 신경망 모델(30) 측으로 제공할 수 있다. 그 후, 인공 신경망 모델(30)이 제1 입력값(80')과 제1 출력 오차값(92') 사이의 상관 관계를 학습하도록 인공 신경망 모델(30)을 제어할 수 있다.
그리고, 제어부(50)는 물리 모델(40) 및 인공 신경망 모델(30)을 이용하여 임의의 입력값에 대하여 오차가 보정된 상태의 최종 출력값을 산출할 수 있다.
즉, 도 3에 도시된 바와 같이 제어부(50)는 사용자가 입력한 임의의 입력값(80)에 대하여 물리 모델(40)로부터 획득된 출력 근사값(91)과, 인공 신경망 모델(30)로부터 추정된 출력 오차값(92)을 합산하여 최종 출력값(93)을 산출할 수 있다. 이때, 상기 최종 출력값(90)은 출력 오차값(92)이 반영됨으로써 상술한 로봇(200)의 기계적 공차 또는 물리적 변형에 의한 오차가 보완된 출력값일 수 있다. 이에 따라 다관절 로봇(200)은 보다 목적하는 위치 또는 각도와 근접하도록 정확하게 제어될 수 있다.
도 5는 본 발명의 일 실시예에 따른 기구학 모델링 방법을 설명하기 위한 순서도이다. 도 6은 본 발명의 일 실시예에 따른 기구학 모델링 방법의 일부분을 구체적으로 설명하기 위한 순서도이다. 이하, 도 1 내지 도 4를 참고하여 설명하되, 도 1 내지 도 4에서 설명한 내용과 중복되는 내용은 설명을 간략히 하거나 생략할 수 있다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 다관절 로봇의 구동을 위한 기구학 모델링 방법(이하, '기구학 모델링 방법'이라함)은 물리 모델의 출력 오차값(92)을 추정하는 인공 신경망을 구축하고 학습시킬 수 있다.(S10)
이때, 도 6을 참조하면, 인공 신경망 모델(30)을 구축하고 학습시키는 단계(S10)는 세부적으로 학습 데이터(20)를 수집하는 단계(S11), 제1 출력 오차값(92')을 계산하는 단계(S12) 및 인공 신경망 모델(30)을 학습시키는 단계(S13)를 포함할 수 있다.
먼저, 사용자는 학습 데이터(20)를 수집하는 단계(S11)에서는 실제 다관절 로봇(200)의 자세 및 위치를 달리하며 복수의 제1 입력값(80') 및 이에 대응되는 제1 출력값(90') 세트를 수집하고 이를 메모리(10)에 저장할 수 있다. 특히, 사용자는 소정 주기마다 학습 데이터(20)를 수집하는 단계(S11)를 반복함으로써 인공 신경망 모델(30)이 상술한 기계적 오차 및 물리적 변형을 반영할 수 있도록 학습 데이터를 제공할 수 있다.
다음으로, 제어부(50)는 학습 데이터(20)의 제1 출력값(90')과, 물리 모델(40)로부터 도출된 제1 출력 근사값(미도시) 사이의 차이값인 제1 출력 오차값(92')을 계산할 수 있다. 이때, 제1 출력 근사값(미도시)은 제1 출력값(90')에 대응되는 제1 입력값(80')을 물리 모델(40)에 입력하여 획득된 값일 수 있다.
그리고, 제어부(50)는 인공 신경망 모델(30)이 산출된 제1 출력 오차값(92')과 제1 입력값(80') 사이의 상관 관계를 학습하도록 인공 신경망 모델(30)을 학습시킬 수 있다. 이처럼 인공 신경망 모델(30)은 실측 데이터를 기초로 학습됨으로써 추후 특정 입력값에 대하여 예상되는 출력 오차값을 추정할 수 있다.
본 발명의 일 실시예에서, 제어부(50)는 인공 신경망 모델(30)을 학습시킨 후에 뒤따르는 복수의 과정을 통해서 최종 출력값을 도출할 수 있다.
먼저, 제어부(50)는 물리 모델(40)에 임의의 입력값을 입력하여 출력 근사값을 획득할 수 있다.(S20) 이러한 출력 근사값(91)은 로봇(200)의 기계적 공차 또는 물리적 변형에 의해 소정 오차값을 포함한 값일 수 있다.
다음으로, 제어부(50)는 인공 신경망 모델(30)에 상기 입력값(80)을 입력하여 출력 오차값(92)을 추정할 수 있다.(S30) 정확한 추정을 위하여 인공 신경망 모델(30)은 충분한 학습 데이터(20)를 통해 입력값(80)과 출력 오차값(92) 사이의 상관 관계를 미리 학습할 수 있다.
다음으로, 제어부는 물리 모델(40)로부터 획득된 출력 근사값과, 인공 신경망 모델(30)로부터 추정된 출력 오차값(92)을 합산하여 최종 출력값(90)을 산출할 수 있다. 이러한 최종 출력값(90)은 물리 모델(40) 만을 이용한 출력 근사값 대비 물리적 변형 등에 의한 오차가 보정되어 다관절 로봇(200)의 운동 정확도를 보다 향상시킬 수 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 저장하는 것일 수 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
살펴본 바와 같이, 본 발명의 일 실시예에 따른 기구학 모델 장치(100) 또는 기구학 모델링 방법은 기존재하는 물리 모델(40)의 출력 오차를, 로봇(200)의 운동 특성을 반영하여 학습된 인공 신경망 모델(30)을 통해 보정함으로써 로봇(200)의 기계적 공차 및 물리적 변형에도 불구하고 보다 정확한 제어 성능을 담보할 수 있다.
또한, 상기 보정 작업은 물리 모델(40) 변경과 같은 특수한 관계자의 도움 없이도 인공 신경망 모델(30) 만으로 이루어질 수 있어 로봇(200)의 사용자로 하여금 편의성을 제공해 줄 수 있다.
이상에서 본 발명의 일 실시예에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시예에 의해 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 사상범위 내에 든다고 할 것이다.
10: 메모리 20: 학습 데이터
30: 인공 신경망 모델 40: 물리 모델
50: 제어부 80: 입력값
90: 출력값 91: 출력 근사값
92: 출력 오차값 93: 최종 출력값
100: 기구학 모델 장치

Claims (11)

  1. 복수의 관절을 구비하는 로봇의 기구학 모델을 형성하기 위한 기구학 모델링 방법에 있어서,
    상기 로봇의 구동과 관련된 출력값을 제공하는 물리 모델의 출력 오차값을 추정하는 인공 신경망 모델을 구축하고 학습시키는 단계;
    상기 물리 모델에 입력값을 입력하여 출력 근사값을 획득하는 단계;
    상기 인공 신경망 모델에 상기 입력값을 입력하여 상기 출력 오차값을 추정하는 단계; 및
    상기 출력 근사값과 상기 출력 오차값을 합산하여 최종 출력값을 산출하는 단계;를 포함하고,
    상기 인공 신경망 모델을 구축하고 학습시키는 단계는,
    상기 로봇을 실제로 구동시켜 상기 로봇의 구동과 관련된 제1 입력값 및 이에 대응되는 제1 출력값을 포함하는 학습 데이터를 수집하는 단계;
    상기 제1 출력값과, 상기 물리 모델에 상기 제1 입력값을 입력하여 획득된 제1 출력 근사값 사이의 차이값인 제1 출력 오차값을 계산하는 단계; 및
    상기 제1 입력값과 상기 제1 출력 오차값 사이의 상관관계를 학습하도록 상기 인공 신경망 모델을 학습시키는 단계;를 포함하는, 다관절 로봇의 구동을 위한 기구학 모델링 방법.
  2. 제1 항에 있어서,
    상기 입력값 및 상기 제1 입력값은 관절 각도이고,
    상기 출력값 및 상기 제1 출력값은 상기 로봇의 끝단 위치 또는 자세와 관련된 공간 좌표값인, 다관절 로봇의 구동을 위한 기구학 모델링 방법.
  3. 제1 항에 있어서,
    상기 입력값 및 상기 제1 입력값은 상기 로봇의 끝단 위치 또는 자세와 관련된 공간 좌표값이고,
    상기 출력값 및 상기 제1 출력값은 관절 각도인, 다관절 로봇의 구동을 위한 기구학 모델링 방법.
  4. 제1 항에 있어서,
    상기 인공 신경망 모델을 구축하고 학습시키는 단계는, 상기 인공 신경망 모델이 상기 로봇의 누적된 기계적 공차 또는 물리적 변형을 반영하여 상기 출력 오차값을 추정할 수 있도록 소정 기간 마다 상기 학습 데이터를 갱신하여 반복 수행되는, 다관절 로봇의 구동을 위한 기구학 모델링 방법.
  5. 제4 항에 있어서,
    상기 인공 신경망 모델을 구축하고 학습시키는 단계는, 상기 또는 물리적 변형이 허용 수준 이상인 것으로 판단되는 경우, 상기 로봇에 대하여 상기 기계적 공차를 해소하기 위한 기계적 교정 작업을 완료된 후에 수행되는, 다관절 로봇의 구동을 위한 기구학 모델링 방법.
  6. 컴퓨터를 이용하여 제1 항 내지 제5 항 중 어느 한 항의 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램.
  7. 복수의 관절을 구비하는 로봇의 구동을 위한 기구학 모델 장치에 있어서, 상기 장치는 메모리 및 제어부를 포함하고,
    상기 메모리는,
    상기 로봇의 구동과 관련된 제1 입력값 및 이에 대응되는 제1 출력값을 포함하고, 상기 로봇을 실제로 구동시켜 수집된 학습 데이터를 저장하며,
    임의의 입력값에 대하여 상기 로봇의 구동과 관련된 출력값을 제공하는 물리 모델을 저장하고,
    상기 학습 데이터를 학습하여 상기 물리 모델의 출력 오차값을 추정하는 인공 신경망 모델을 저장하며,
    상기 제어부는,
    상기 제1 출력값과, 상기 물리 모델에 상기 제1 입력값을 입력하여 획득된 제1 출력 근사값 사이의 차이값인 제1 출력 오차값을 계산하고, 상기 제1 입력값과 상기 제1 출력 오차값 사이의 상관관계를 학습하도록 상기 인공 신경망 모델을 학습시키며,
    상기 물리 모델에 입력값을 입력하여 출력 근사값을 획득하고, 상기 인공 신경망 모델에 상기 입력값을 입력하여 상기 출력 오차값을 추정한 후, 상기 출력 근사값과 상기 출력 오차값을 합산하여 최종 출력값을 산출하는, 다관절 로봇의 구동을 위한 기구학 모델 장치.
  8. 제7 항에 있어서,
    상기 제어부는,
    상기 메모리에 상기 물리 모델이 부재할 경우, 임의의 입력값에 대하여 상기 출력 근사값으로서 항상 0을 출력하는 가상의 물리 모델이 존재하는 것으로 가정하는, 다관절 로봇의 구동을 위한 기구학 모델 장치.
  9. 제7 항에 있어서,
    상기 입력값 및 상기 제1 입력값은 관절 각도이고,
    상기 출력값 및 상기 제1 출력값은 상기 로봇의 끝단 위치 또는 자세와 관련된 공간 좌표값인, 다관절 로봇의 구동을 위한 기구학 모델 장치.
  10. 제7 항에 있어서,
    상기 입력값 및 상기 제1 입력값은 상기 로봇의 끝단 위치 또는 자세와 관련된 공간 좌표값이고,
    상기 출력값 및 상기 제1 출력값은 관절 각도인, 다관절 로봇의 구동을 위한 기구학 모델 장치.
  11. 제7 항에 있어서,
    상기 제어부는, 상기 로봇의 누적된 기계적 공차 또는 물리적 변형을 반영할 수 있도록 소정 기간 마다 상기 로봇의 구동과 관련된 학습 데이터를 갱신하여 반복 수행되는, 다관절 로봇의 구동을 위한 기구학 모델 장치.
KR1020220032265A 2022-03-15 2022-03-15 다관절 로봇의 구동을 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램 KR20230134890A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220032265A KR20230134890A (ko) 2022-03-15 2022-03-15 다관절 로봇의 구동을 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220032265A KR20230134890A (ko) 2022-03-15 2022-03-15 다관절 로봇의 구동을 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20230134890A true KR20230134890A (ko) 2023-09-22

Family

ID=88190055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220032265A KR20230134890A (ko) 2022-03-15 2022-03-15 다관절 로봇의 구동을 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20230134890A (ko)

Similar Documents

Publication Publication Date Title
CN110385720B (zh) 一种基于深度神经网络的机器人定位误差补偿方法
CN110355751B (zh) 控制装置和机器学习装置
CN111872934B (zh) 一种基于隐半马尔可夫模型的机械臂控制方法及系统
CN114761966A (zh) 用于以轨迹为中心的基于模型的强化学习的稳健优化的系统及方法
KR101234797B1 (ko) 로봇 및 산출된 공분산을 이용한 로봇의 위치 추정 방법
EP3743250A1 (en) Reinforcement learning for contact-rich tasks in automation systems
CN111752151A (zh) 一种工业叶片磨抛加工自适应力跟踪与补偿方法及系统
JP7295421B2 (ja) 制御装置及び制御方法
CN111890351A (zh) 机器人及其控制方法、计算机可读存储介质
WO2021033471A1 (ja) 制御装置、制御方法、及び制御プログラム
CN113910218A (zh) 基于运动学与深度神经网络融合的机器人标定方法和装置
CN115781685A (zh) 一种基于强化学习的高精度机械臂控制方法及系统
Mazare et al. Adaptive variable impedance control for a modular soft robot manipulator in configuration space
WO2017134735A1 (ja) ロボットシステム、ロボットの最適化システム、およびロボットの動作計画学習方法
JP7180696B2 (ja) 制御装置、制御方法およびプログラム
Heyn et al. Application of artificial neural networks in force-controlled automated assembly of complex shaped deformable components
JP7263987B2 (ja) 制御装置、制御方法、及び制御プログラム
CN111531543B (zh) 基于生物启发式神经网络的机器人自适应阻抗控制方法
Çallar et al. Hybrid learning of time-series inverse dynamics models for locally isotropic robot motion
KR20230134890A (ko) 다관절 로봇의 구동을 위한 기구학 모델링 방법, 장치 및 컴퓨터 프로그램
Langsfeld Learning task models for robotic manipulation of nonrigid objects
Lowrey et al. Real-time state estimation with whole-body multi-contact dynamics: A modified UKF approach
WO2021033472A1 (ja) 制御装置、制御方法、及び制御プログラム
JP6988969B1 (ja) 自動操縦ロボットを制御する操作推論学習モデルの学習システム及び学習方法
CN115284276A (zh) 基于长短期记忆网络的机器人关节力矩控制方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal