KR20210065738A - 강화학습을 이용한 7축 로봇 제어 방법 - Google Patents

강화학습을 이용한 7축 로봇 제어 방법 Download PDF

Info

Publication number
KR20210065738A
KR20210065738A KR1020190154831A KR20190154831A KR20210065738A KR 20210065738 A KR20210065738 A KR 20210065738A KR 1020190154831 A KR1020190154831 A KR 1020190154831A KR 20190154831 A KR20190154831 A KR 20190154831A KR 20210065738 A KR20210065738 A KR 20210065738A
Authority
KR
South Korea
Prior art keywords
axis robot
action
policy
state
reinforcement learning
Prior art date
Application number
KR1020190154831A
Other languages
English (en)
Other versions
KR102281119B1 (ko
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 KR1020190154831A priority Critical patent/KR102281119B1/ko
Publication of KR20210065738A publication Critical patent/KR20210065738A/ko
Application granted granted Critical
Publication of KR102281119B1 publication Critical patent/KR102281119B1/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/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/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • B25J9/046Revolute coordinate type
    • 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/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Feedback Control In General (AREA)

Abstract

본 발명의 일 실시 예는 7축 로봇의 제어에 강화학습 알고리즘(reinforcement learning algorithm)을 이용함으로써, 7자유도를 갖는 다관절 로봇에 대한 제어 성능을 향상시키는 기술을 제공한다. 본 발명의 실시 예에 따른 강화학습을 이용한 7축 로봇 제어 방법은, 순차적으로 연결된 제1 내지 제6링크부, 상기 제6링크부와 결합하고 작업을 수행하는 엔드이펙터(End-effector), 및 각각의 관절을 회전시키기 위한 제1 내지 제7서보모터를 포함하는 7축 로봇에 대해 강화학습을 구성하는 파리미터(parameter)를 설정하고, 상태(State)와 행동(Action)을 설정하는 설정 단계; 상기 엔드이펙터의 기준점의 위치 오차와 각도 오차에 대한 행동요령 평가(Policy Evaluation)가 일정한 기준 오차 이내에서 수행되고, 전체 오차가 최소인 행동(Action)에 대해서 행동요령 개선(Policy Improvement)의 보상(Reward)을 수행하는 보상 수행 단계; 전체 오차가 최소인 행동(Action)에 해당하는 최적의 행동요령(Optimal Policy)을 도출하는 행동요령 도출 단계; 및 상기 최적의 행동요령(Optimal Policy)에 따른 제어신호를 상기 제1 내지 제7서보모터 각각에 전달하여 상기 7축 로봇이 작동하는 작동 단계;를 포함한다.

Description

강화학습을 이용한 7축 로봇 제어 방법 {METHOD FOR CONTROLLING 7-AXIS ROBOT USING REINFORCEMENT LEARNING}
본 발명은 강화학습을 이용한 7축 로봇 제어 방법에 관한 것으로, 더욱 상세하게는, 7축 로봇의 제어에 강화학습 알고리즘(reinforcement learning algorithm)을 이용함으로써, 7자유도를 갖는 다관절 로봇에 대한 제어 성능을 향상시키는 기술에 관한 것이다.
미래의 4차 산업혁명의 주된 관심은 스마트팩토리를 이용한 제조업의 혁신이며, 다관절 로봇은 스마트팩토리를 구성하는 기본 구성단위(entity)로서, 다관절 로봇의 기술 발전이 스마트팩토리의 구현에 중요한 역할을 수행할 수 있다.
최근, 다관절 로봇은 기존의 자동화 제어 방법에 다양한 첨단기술이 융합된 형태로 발전되고 있다. 특히, 5G기반의 연결성(connectivity)을 통해 로봇 간의 연결 뿐만 아니라, 공장 내의 사람과 환경으로부터 양질의 정보를 주고 받으며 실시간(real time) 최적 제어를 수행한다. 뿐만 아니라, 인공지능의 딥러닝(deep learning) 기술을 통해 로봇의 인지능력이 발달하고, 빅데이터 기반의 기술을 통해 고장 예지와 진단을 통해 유지보수 시스템과 의사결정 능력이 점점 발달하고 있다. 이러한 기술을 통해 로봇이 스스로 최적의 작업방법을 익히거나, 로봇들이 협동하여 수준 높은 작업을 수행하거나 축적된 정보를 통해 스마트팩토리를 고장과 위험요소로부터 관리하기도 한다.
상기와 같은 스마트팩토리의 구현을 위한 다양한 작업의 수행을 위해, 7개의 자유도를 가지는 다관절 로봇을 인공지능 알고리즘을 통해 제어하는 방법에 대한 연구 개발이 수행되고 있는데, 7자유도를 갖는 다관절 로봇은 여유 관절(redundant joint)이라는 특성을 갖고 있어 조작성과 유연성이 높은 반면에 해석적인 어려움이 더욱 증가하는 문제점이 있다. 구체적으로, 7축 로봇은 이론상으로 역 기구학 식을 유도하는 것이 매우 어려운 문제점이 있다.
대한민국 공개특허 제10-2019-0040506호(발명의 명칭: 로봇 조작을 위한 심층 강화 학습)에서는, 하나 이상의 프로세서에 의해 구현되는 방법으로서, 복수의 로봇 각각에 의해, 각 에피소드가 태스크에 대한 강화 학습 정책을 나타내는 정책 신경망에 기초하여 태스크를 수행하는 탐색인, 복수의 에피소드의 수행 중에: 상기 로봇들에 의해 상기 에피소드 동안 생성된 로봇 경험 데이터의 인스턴스를 버퍼에 저장하는 단계와, 상기 로봇 경험 데이터의 각 인스턴스는 에피소드들 중 대응하는 하나의 에피소드 동안 생성되고, 상기 대응하는 에피소드에 대한 정책 신경망을 위한 대응 정책 파라미터를 갖는 정책 신경망을 사용하여 생성된 대응 출력에 적어도 부분적으로 기초하여 생성되고; 상기 정책 신경망의 업데이트된 정책 파라미터를 반복적으로 생성하는 단계와, 상기 반복적으로 생성하는 단계의 반복들 각각은 상기 반복 동안 버퍼내의 로봇 경험 데이터의 하나 이상의 인스턴스의 그룹을 사용하여 상기 업데이트된 정책 파라미터를 생성하는 단계를 포함하는 방법이 개시되어 있다.
대한민국 공개특허 제10-2019-0040506호
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 강화학습을 통해 어려운 수식의 필요 없이 7축 로봇 팔을 제어할 수 있는 방법을 제공하는 것이다.
그리고, 본 발명의 목적은, 해석이 용이하지 않은 식의 사용을 배제하여 7축 로봇에 대한 설계 제약을 최소화시키는 제어 방법을 제공하는 것이다.
본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 구성은, 순차적으로 연결된 제1 내지 제6링크부, 상기 제6링크부와 결합하고 작업을 수행하는 엔드이펙터(End-effector), 및 각각의 관절을 회전시키기 위한 제1 내지 제7서보모터를 포함하는 7축 로봇에 대해 강화학습을 구성하는 파리미터(parameter)를 설정하고, 상태(State)와 행동(Action)을 설정하는 설정 단계; 상기 엔드이펙터의 기준점의 위치 오차와 각도 오차에 대한 행동요령 평가(Policy Evaluation)가 일정한 기준 오차 이내에서 수행되고, 전체 오차가 최소인 행동(Action)에 대해서 행동요령 개선(Policy Improvement)의 보상(Reward)을 수행하는 보상 수행 단계; 전체 오차가 최소인 행동(Action)에 해당하는 최적의 행동요령(Optimal Policy)을 도출하는 행동요령 도출 단계; 및 상기 최적의 행동요령(Optimal Policy)에 따른 제어신호를 상기 제1 내지 제7서보모터 각각에 전달하여 상기 7축 로봇이 작동하는 작동 단계;를 포함한다.
본 발명의 실시 예에 있어서, 상기 설정 단계에서, 상기 상태(State)는 상기 엔드이펙터의 기준점의 3차원 위치 좌표(x, y 및 z)일 수 있다.
본 발명의 실시 예에 있어서, 상기 설정 단계에서, 상기 행동(Action)은 상기 제1 내지 제7서보모터 각각의 회전 각도(θ1~ θ7)일 수 있다.
본 발명의 실시 예에 있어서, 상기 보상 수행 단계는, 현재 행동요령(Current policy)을 대체하는 후보 행동요령(Candidate policy)을 도출하는 후보 행동요령 연산 단계; 상기 후보 행동요령(Candidate policy)을 이용하여, 현재 상태(Current state)를 대체하는 후보 상태(Candidate state)를 도출하는 후보 상태 연산 단계; 및 상기 후보 상태(Candidate state)을 이용하여, 상기 엔드이펙터의 기준점 상태(State)의 오차(error)에 대한 함수인 상태행동 가치함수를 도출하는 가치함수 도출 단계;를 포함할 수 있다.
본 발명의 실시 예에 있어서, 상기 보상 수행 단계는, 상기 상태행동 가치함수의 한계 값(Qlimit)이 상기 상태행동 가치함수의 최소 값(Qmin) 이상인지 여부를 판단하는 한계 판단 단계;를 더 포함할 수 있다.
본 발명의 실시 예에 있어서, 상기 보상 수행 단계는, 상기 한계 판단 단계 수행 후, 다음 행동요령(next policy)을 도출하여 상기 다음 행동요령(next policy)을 상기 현재 행동요령(Current policy)에 대입하는 업데이트를 수행하는 행동요령 개선 단계;를 더 포함할 수 있다.
본 발명의 실시 예에 있어서, 상기 7축 로봇은, 상부면이 평면으로 형성되는 베이스를 더 포함할 수 있다.
본 발명의 실시 예에 있어서, 상기 제1서보모터, 상기 제4서보모터 및 상기 제7서보모터는 상기 베이스의 상부면에 대해 수직 축인 수직회전축을 중심으로 회전력을 생성할 수 있다.
본 발명의 실시 예에 있어서, 상기 제2서보모터, 상기 제3서보모터, 상기 제5서보모터 및 상기 제6서보모터는 상기 수직회전축에 수직된 축인 수평회전축을 중심으로 회전력을 생성할 수 있다.
상기와 같은 구성에 따른 본 발명의 효과는, 강화학습 알고리즘을 이용하여 7축 로봇의 작동을 제어함으로써, 역 기구학 식을 유도하지 않으면서도 7축 로봇에 대한 제어를 수행할 수 있고, 더 나아가, 7축 로봇에 대한 제어 성능을 향상시킬 수 있다는 것이다.
그리고, 본 발명의 효과는, 해석이 용이하지 않은 역 기구학 식 등의 사용을 배제하여 7축 로봇에 대한 설계 제약을 최소화시키는 제어 방법을 구현함으로써, 7축 로봇의 사용 범위를 확대시킬 수 있다는 것이다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시 예에 따른 7축 로봇에 대한 사시도이다.
도 2는 본 발명의 다른 실시 예에 따른 7축 로봇에 대한 사시도이다.
도 3은 본 발명의 일 실시 예에 따른 7축 로봇의 파라미터 설정에 대한 모식도이다.
도 4는 본 발명의 일 실시 예에 따른 보상 수행 단계와 행동요령 도출 단계의 수행에 대한 순서도이다.
도 5는 본 발명의 일 실시 예에 따른 행동요령의 결과에 대한 그래프이다.
도 6은 본 발명의 일 실시 예에 따른 7축 로봇의 작동 정확도에 대한 이미지이다.
도 7은 본 발명의 일 실시 예에 따른 7축 로봇의 작동 중 목적 함수 에러에 대한 그래프이다.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시 예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결(접속, 접촉, 결합)"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 첨부된 도면을 참고하여 본 발명에 대하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 7축 로봇에 대한 사시도이고, 도 2는 본 발명의 다른 실시 예에 따른 7축 로봇에 대한 사시도이며, 도 3은 본 발명의 일 실시 예에 따른 7축 로봇의 파라미터 설정에 대한 모식도이다. 그리고, 도 4는 본 발명의 일 실시 예에 따른 보상 수행 단계와 행동요령 도출 단계의 수행에 대한 순서도이다.
먼저, 본 발명의 7축 로봇 제어 방법에 이용되는 본 발명의 7축 로봇에 대해 설명하기로 한다. 본 발명의 7축 로봇은, 7개의 자유도(DOF, degree-of-freedom)를 구비하는 다관절 로봇으로써, 순차적으로 연결된 제1 내지 제6링크부(260), 제6링크부(260)와 결합하고 작업을 수행하는 엔드이펙터(300)(End-effector), 및 각각의 관절을 회전시키기 위한 제1 내지 제7서보모터(170)를 포함할 수 있다. 그리고, 상부면이 평면으로 형성되는 베이스(400)를 더 포함할 수 있다. 여기서, 제1서보모터(110), 제4서보모터(140) 및 제7서보모터(170)는 베이스(400)의 상부면에 대해 수직 축인 수직회전축을 중심으로 회전력을 생성할 수 있다. 또한, 제2서보모터(120), 제3서보모터(130), 제5서보모터(150) 및 제6서보모터(160)는 수직회전축에 수직된 축인 수평회전축을 중심으로 회전력을 생성할 수 있다.
구체적으로, 제1링크부(210)의 일단은 베이스(400)와 결합하여 베이스(400)에 의해 고정 지지되고, 제1링크부(210)는 베이스(400)의 상부면에 대해 수직 축인 수직회전축을 중심으로 회전력을 생성하는 제1서보모터(110)를 구비할 수 있다. 또한, 제2링크부(220)의 일단이 제1링크부(210)의 타단과 결합하고, 제2링크부(220)는, 제1서보모터(110)에 의해 회전하며, 수직회전축에 수직된 축인 수평회전축을 중심으로 회전력을 생성하는 제2서보모터(120)를 구비할 수 있다.
제3링크부(230)의 일단이 제2링크부(220)의 타단과 결합하고, 제3링크부(230)는, 제2서보모터(120)에 의해 회전하며, 수평회전축을 중심으로 회전력을 생성하는 제3서보모터(130)를 구비할 수 있다. 또한, 제4링크부(240)의 일단이 제3링크부(230)의 타단과 결합할 수 있다. 그리고, 제4링크부(240)는, 제3서보모터(130)에 의해 회전하며, 수직회전축을 중심으로 회전력을 생성하고 제3링크부(230)의 타단과 연결되는 제4서보모터(140)를 일단에 구비하고, 수평회전축을 중심으로 회전력을 생성하는 제5서보모터(150)를 타단에 구비할 수 있다. 꺽인 부위가 없는 다른 링크부들과 달리, 제4링크부(240)는 일단과 타단 사이에 꺽인 부위를 구비할 수 있다.
제5링크부(250)의 일단이 제4링크부(240)의 타단과 결합하고, 제5링크부(250)는, 제5서보모터(150)에 의해 회전하며, 수평회전축을 중심으로 회전력을 생성하는 제6서보모터(160)를 구비할 수 있다. 또한, 제6링크부(260)의 일단이 제5링크부(250)의 타단과 결합하고, 제6링크부(260)는, 제6서보모터(160)에 의해 회전하며, 수직회전축을 중심으로 회전력을 생성하는 제7서보모터(170)를 구비할 수 있다. 그리고, 엔드이펙터(300)의 일단이 제6링크부(260)의 타단과 결합하고, 엔드이펙터(300)는, 제7서보모터(170)에 의해 회전하고, 엔드이펙터(300)의 기준점인 엔드이펙터(300)의 타단이 작업 대상과 접촉 가능할 수 있다. 여기서, 엔드이펙터(300)가, 도 1과 도 3에서 보는 바와 같이, 도형 또는 글자 등을 형성하기 위한 펜의 형상인 경우 엔드이펙터(300)의 기준점이 엔드이펙터(300)의 타단이 되는 것이고, 도 2에서 보는 바와 같이, 엔드이펙터(300)가 집게 기기인 경우에는 기준점이 변경될 수도 있다. 다만, 이하의 기재에서는, 엔드이펙터(300)가 펜의 형상인 경우에 대해 설명하기로 한다.
본 발명의 7축 로봇 제어 방법에서는, 상기된 7축 로봇에 대해 강화학습을 구성하는 파리미터(parameter)를 설정하고, 상태(State)와 행동(Action)을 설정하는 설정 단계;가 수행될 수 있다. 여기서, 상태(State)는 엔드이펙터(300)의 기준점의 3차원 위치 좌표(x, y 및 z)일 수 있다. 그리고, 행동(Action)은 제1 내지 제7서보모터(170) 각각의 회전 각도(θ1~ θ7) 일 수 있다. 여기서, 엔드이펙터(300)의 작업 대상이 되며 베이스(400) 상에 위치하는 용지와 엔드이펙터(300)의 기준점이 접촉하는 경우, z좌표 값은 0으로 설정될 수 있다. 그리고, 엔드이펙터(300)의 기준점이 사각형인 용지의 어느 하나의 꼭지점에 위치하는 경우, x좌표 값과 y좌표 값은 각각 0으로 설정될 수 있다. 그리고, 도 1과 도 3에서와 같은 정지 상태(전체 서보모터가 PAUSE)인 경우, 각각의 회전 각도(θ1~ θ7)의 값이 0으로 설정될 수 있다.
그리고, 각각의 서보모터(servo motor)의 회전 각도 변화(Δθ1~Δθ7)는, 시계 방향(CW), 반시계 방향(CCW) 및 정지(PAUSE)의 3가지 경우의 변화를 수행하며, 이에 따라, 7개의 서보모터에 의한 행동(Action)에 대한 경우의 수는 총 2,187(=37)으로 형성되며, 이에 대한 정리는 하기의 (표 1)에서 확인할 수 있다. 다만, (표 1)에서 보는 바와 같이, 모든 서보모터가 정지된 경우(a1094)에 대해서는 강화학습에서 제외시킬 수 있다.
Actions The rotational variations of seven servo motors
an Δθ1 Δθ2 Δθ3 Δθ4 Δθ5 Δθ6 Δθ7
a1 CW CW CW CW CW CW CW
a2 CW CW CW CW CW CW PAUSE
a3 CW CW CW CW CW CW CCW
... ... ... ... ... ... ... ...
a1093 PAUSE PAUSE PAUSE PAUSE PAUSE PAUSE CW
a1094(N/A) PAUSE PAUSE PAUSE PAUSE PAUSE PAUSE PAUSE
a1095 PAUSE PAUSE PAUSE PAUSE PAUSE PAUSE CCW
... ... ... ... ... ... ... ...
a2185 CCW CCW CCW CCW CCW CCW CW
a2186 CCW CCW CCW CCW CCW CCW PAUSE
a2187 CCW CCW CCW CCW CCW CCW CCW
상기된 설정 단계 수행 이 후, 엔드이펙터(300)의 기준점의 위치 오차와 각도 오차에 대한 행동요령 평가(Policy Evaluation)가 일정한 기준 오차 이내에서 수행되고, 전체 오차가 최소인 행동(Action)에 대해서 행동요령 개선(Policy Improvement)의 보상(Reward)을 수행하는 보상 수행 단계;가 수행될 수 있다. 그리고, 상기된 보상 수행 단계 수행 이 후, 전체 오차가 최소인 행동(Action)에 해당하는 최적의 행동요령(Optimal Policy)을 도출하는 행동요령 도출 단계;가 수행될 수 있다. 보상 수행 단계와 행동요령 도출 단계는, 도 4에서 보는 바와 같이 반복 수행되는 행동요령 반복(Policy Iteration)에 의해 수행될 수 있으며, 이하, 행동요령 반복(Policy Iteration)에 대해 설명하기로 한다.
먼저, 시작 단계인 단계 S100에서, 설정 단계에서 설정된 파리미터(parameter)에 대한 초기 상태(s0)와 초기 행동요령(π0)을 입력할 수 있다. 그리고, 단계 S210에서, 단계 S100에서 입력된 초기 상태와 초기 행동을 기준으로, 현재 상태(Current state)인 (s)를 확정할 수 있다. 다음으로, 단계 S220에서, 현재 행동요령(Current policy)인 (π)를 확정할 수 있다.
다음으로, 단계 S230에서, 현재 행동요령(Current policy)를 대체하는 후보 행동요령(Candidate policy)을 도출하는 후보 행동요령 연산 단계가 수행될 수 있다. 각각의 에피소드(episode)에서, 본 발명의 7축 로봇 장치는, 초기 상태(s0) 및 초기 행동요령(π0)으로부터 지정된 에피소드 상태(se)로 이동함으로써, 엔드이펙터(300)를 초기 위치(또는, 초기 행동요령)에서 요구된 자세로 이동시킬 수 있다. 여기서, 첨자 e는 에피소드 번호를 의미하고, 행동요령 반복(Policy iteration)에서, 현재 행동요령(Current policy) (ð)이 하기의 [수식 1]과 [수식 2]에 의해 업데이트 되도록 구현할 수 있다.
[수식 1]
Figure pat00001
[수식 2]
Figure pat00002
여기서,
Figure pat00003
는 1x2186의 행렬(
Figure pat00004
1094제외)이며, 행동에 따라 다음 반복에 대한 후보 행동요령(Candidate policy)일 수 있다. a는 일련의 행동과 1x2186 매트릭스이다. 그리고, 학습률(learning rate) ρ는 얼마나 많은 현재 행동요령(Current policy)이 하기의 [수식 3]에 의해 다음 행동요령(next policy)으로 업데이트되는지에 대한 것이며, 초기 학습률(ρ0)은 10일 수 있다. 이는, 실험적으로 결정되는 것으로써, 이에 한정되는 것은 아니다.
[수식 3]
Figure pat00005
여기서, 비례 상수인 c는 6이며, 이와 같은 값도 실험적으로 결정될 수 있다. 다만, 학습률(ρ)이 5 내지 10의 범위를 초과하면 학습률(ρ)이 각각 5와 10으로 대체될 수 있다.
그리고, 단계 S240에서, 후보 행동요령(Candidate policy)을 이용하여, 현재 상태(Current state)를 대체하는 후보 상태(Candidate state)를 도출하는 후보 상태 연산 단계가 수행될 수 있다. 상기와 같은 학습률(ρ)의 대체 값도 경험적으로 확정될 수 있으며, 기구학 방정식(fFK, Forward Kinematics equation)을 통한 [수식 4]와 [수식 5]에 후보 행동요령(Candidate policy) (
Figure pat00006
)을 대입함으로써 후보 상태(Candidate state) (
Figure pat00007
)를 도출할 수 있다. 기구학 방정식은, 강화학습 프로그램에 저장된 함수일 수 있다. 이와 같은 기구학 방정식은, 강화학습 프로그램의 생성 전에 Denavit-Hartenberg 공식을 이용하여 본 발명의 7축 로봇 장치의 작동에 대한 순 기구학 식을 유도한 후, 강화학습 프로그램에 저장하여 함수와 같이 사용할 수 있다. 이는 기존의 공식을 이용하는 사항으로써, 상세한 설명은 생략하기로 한다.
[수식 4]
Figure pat00008
[수식 5]
Figure pat00009
여기서, 후보 상태(Candidate state) (
Figure pat00010
)는 1x2186의 행렬일 수 있다.
그 후, 단계 S250에서, 후보 상태(Candidate state) (
Figure pat00011
)를 이용하여, 엔드이펙터(300)의 기준점 상태(State)의 오차(error)에 대한 함수인 상태행동 가치함수(state-action-value function)를 도출하는 가치함수 도출 단계가 수행될 수 있다. 단계 S230 내지 단계 S260에 의한 행동요령 평가(policy evaluation)에서는, 후보 행동(candidate actions) 및 이와 관련된 모든 행동요령(policy)에 대해 Q로 표시된 상태행동 가치함수(state-action-value function)를 계산할 수 있다. 대부분의 상태행동 가치함수는, 미래의 모든 보상을 기대하도록 계산하는 Bellman-equation을 사용한다. 그러나, 실제로는, x, y, z, α, β 및 γ의 오류가 너무 많기 때문에, 수정된 상태행동 가치함수가 이용될 수 있다. 상태행동 가치함수(Q)는, 하기의 [수식 6]과 [수식 7]으로 표현된 엔드이펙터(300)의 상태 오차로 정의될 수 있다.
[수식 6]
Figure pat00012
[수식 7]
Figure pat00013
여기서, 수정된 상태행동 가치함수 Q는 1x2186의 행렬일 수 있다. fPE는 행동요령 평가 함수이며, 하기의 [수식 8]에 의해 표현될 수 있다.
[수식 8]
Figure pat00014
SP와 SO는 하기의 [수식 9]에 표시된 위치와 방향의 하위 상태일 수 있다. 그리고, k1과 k2는 하기의 [수식 10]에 의해 계산되며, 각각 4.31과 2.43의 값을 가질 수 있다.
[수식 9]
Figure pat00015
[수식 10]
Figure pat00016
,
Figure pat00017
여기서, 모든 파라미터의 제한 값(xlimit, ylimit, zlimit, αlimit, βlimit 및 γlimit)을 정의함으로써, 오류에 대한 신뢰성과 강화학습에 의한 제어의 재현성을 제공할 수 있다. 구체적으로, 각각의 서보모터의 분해능은 각각의 링크부 간 결합 공간의 신뢰성 한계로 0.29도/펄스의 기준 파라미터로 이용될 수 있다. 그리고, 직교 공간(Cartesian space)의 신뢰성 한계로, 서보모터 각각의 회전 각도(θ1~ θ7)는, 0°, 90°, -90°, 0°, 0°, 0°, 0° 일 때 상기된 기구학 방정식(fFK) 에서 계산될 수 있다. 여기서, 모든 행동(Actions), 0.29의 학습률(learning rate) 값, 2.3954의 xlimit 값, 0.5475의 ylimit 값, 0.8205의 zlimit 값, 0.0088의 αlimit 값, 1.1600의 βlimit 값, 그리고, 0.8701의 γlimit 값이 이용될 수 있다.
또한, 단계 S260에서, 상태행동 가치함수의 한계 값(Qlimit)이 상태행동 가치함수의 최소 값(Qmin) 이상인지 여부를 판단하는 한계 판단 단계;를 수행할 수 있다. 상태행동 가치함수의 한계 값(Qlimit)은, 행동요령 반복(Policy Iteration)의 중지 한계 값이며, 하기의 [수식 11]에 의해 연산될 수 있다.
[수식 11]
Figure pat00018
단계 S260에서, 중지 한계 값인 상태행동 가치함수의 한계 값(Qlimit)이 상태동작 가치함수의 최소 값(Qmin) 미만으로 판단되는 경우, 단계 S270으로 이동하여, 다음 행동요령(next policy)(π')을 도출하여 다음 행동요령(next policy)(π')을 단계 S220의 현재 행동요령(Current policy)에 대입하는 업데이트를 수행하는 행동요령 개선(Policy improvement) 단계;를 수행할 수 있다. 여기서, 다음 행동요령(next policy)(π')은 하기의 [수식 12]에 의해 계산될 수 있다. [수식 12]에 표시된 것처럼, 상태행동 가치함수의 최소 값(Qmin)의 동작이 다음 반복 동작으로 선택될 수 있다. 즉, 상기와 같은 단계 S270의 업데이트는, 한 가지 행동(Action)만 다음 행동요령(next policy)(π')에 영향을 준다는 데에 의미가 있을 수 있다.
[수식 12]
Figure pat00019
그리고, 단계 S260에서, 중지 한계 값인 상태행동 가치함수의 한계 값(Qlimit)이 상태동작 가치함수의 최소 값(Qmin) 이상으로 판단되는 경우, 단계 S300에서, 전체 오차가 최소인 행동(Action)에 해당하는 최적의 행동요령(Optimal Policy)(π*)을 도출하는 행동요령 도출 단계;가 수행될 수 있다.
단계 S300 수행 후, +1의 보상(reward)으로 다음 에피소드로 이동할 수 있고, 각 에피소드의 행동요령 반복(Policy Iteration)의 최대 수(iMAX)는 50으로 설정될 수 있다. 다만, 이에 한정되는 것은 아니다. 에피소드가 행동요령 반복의 최대 수(iMAX) 내에서 최적의 행동요령(Optimal Policy)을 찾지 못하면 강화학습 알고리즘이 하이퍼파라미터(hyperparameters)를 조정하고 재교육할 수 있다. 그리고, 요구되는 총 에피소드가 종료될 때까지 행동요령 반복(Policy Iteration)이 반복될 수 있다.
즉, 상기된 행동요령 도출 단계(S300) 수행 이 후, 단계 S410에서, 최적의 행동요령(Optimal Policy)에 따른 제어신호를 제1 내지 제7서보모터(170) 각각에 전달하여 7축 로봇이 작동하는 작동 단계;가 수행될 수 있고, 동시에 최종 상태(Last state)인지 판단할 수 있다. 최종 상태(Last state)로써 에피소드가 종료된 것으로 판단되는 경우, 단계 S500으로 이동하여, 행동요령 반복(Policy Iteration)이 종료될 수 있다. 그리고, 최종 상태(Last state)가 아니라고 판단되는 경우, 단계 S420으로 이동하여 다음 상태(next state)(s')를 단계 S220의 현재 상태(Current state)에 대입하는 업데이트를 수행하고, 행동요령 반복(Policy Iteration)이 다시 반복되어 수행될 수 있다.
상기와 같은 7축 로봇의 실체적인 제어를 위하여, 본 발명의 7축 로봇 제어 방법을 실행하는 프로그램을 기록하여 컴퓨터 판독 가능한 것을 특징으로 하는 기록매체가 제조될 수 있다.
상기와 같이, 강화학습 알고리즘을 이용하여 7축 로봇의 작동을 제어함으로써, 역 기구학 식을 유도하지 않으면서도 7축 로봇에 대한 제어를 수행할 수 있고, 더 나아가, 7축 로봇에 대한 제어 성능을 향상시킬 수 있다.
도 5는 본 발명의 일 실시 예에 따른 행동요령의 결과에 대한 그래프이다. 도 5의 (a)는, 각각의 상태(state)에 대해서 제1서보모터(110) 내지 제4서보모터(140) 각각의 최적의 행동요령(Optimal Policy), 즉, 최적의 회전 각도(Degree)를 나타낸 것이고, 도 5의 (b)는 제5서보모터(150) 내지 제7서보모터(170) 각각의 최적의 행동요령(Optimal Policy), 즉, 최적의 회전 각도(Degree)를 나타낸 것이다. 그리고, 도 6은 본 발명의 일 실시 예에 따른 7축 로봇의 작동 정확도에 대한 이미지이며, 도 7은 본 발명의 일 실시 예에 따른 7축 로봇의 작동 중 목적 함수 에러에 대한 그래프이다.
도 6에서, 총 121(11x11)개의 마름모꼴 형상은 요구되는 상태(state)에 대한 표시이고, 요구되는 상태(state)에 대한 표시 각각에 표시된 점 형상은 최적의 행동요령(Optimal Policy)에 의한 결과일 수 있다. 그리고, 도 7에서, Eref라인은 에러 기준 값을 의미하고, E라인은 목적 함수 에러(Objective Function Error) 값을 나타낼 수 있다.
도 5에서 보는 바와 같이, 각각의 서보모터의 최적의 행동요령(Optimal Policy)이 각각 상이하게 형성되면서, 도 6에서 보는 바와 같이, 각각의 상태(state)에 대한 최적의 행동요령(Optimal Policy)이 수행됨을 확인할 수 있다. 즉, 본 발명의 실시 예에서, 7축 로봇의 에피소드는 사전에 정해진 각각의 마름모꼴 형상(상태, state)에 점 형상을 형성하는 것이고, 도 6에서 이와 같은 에피소드가 최적의 행동(Action)으로 수행됨을 확인할 수 있다. 그리고, 도 7에서 보는 바와 같이, 이와 같은 최적의 행동요령(Optimal Policy)에 의한 7축 로봇의 작동 오차가 에러 기준 값 미만으로 계속 유지되어, 7축 로봇의 작동 성능이 향상됨을 확인할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110 : 제1서보모터 120 : 제2서보모터
130 : 제3서보모터 140 : 제4서보모터
150 : 제5서보모터 160 : 제6서보모터
170 : 제7서보모터 210 : 제1링크부
220 : 제2링크부 230 : 제3링크부
240 : 제4링크부 250 : 제5링크부
260 : 제6링크부 300 : 엔드이펙터
400 : 베이스

Claims (10)

  1. 순차적으로 연결된 제1 내지 제6링크부, 상기 제6링크부와 결합하고 작업을 수행하는 엔드이펙터(End-effector), 및 각각의 관절을 회전시키기 위한 제1 내지 제7서보모터를 포함하는 7축 로봇에 대해 강화학습을 구성하는 파리미터(parameter)를 설정하고, 상태(State)와 행동(Action)을 설정하는 설정 단계;
    상기 엔드이펙터의 기준점의 위치 오차와 각도 오차에 대한 행동요령 평가(Policy Evaluation)가 일정한 기준 오차 이내에서 수행되고, 전체 오차가 최소인 행동(Action)에 대해서 행동요령 개선(Policy Improvement)의 보상(Reward)을 수행하는 보상 수행 단계;
    전체 오차가 최소인 행동(Action)에 해당하는 최적의 행동요령(Optimal Policy)을 도출하는 행동요령 도출 단계; 및
    상기 최적의 행동요령(Optimal Policy)에 따른 제어신호를 상기 제1 내지 제7서보모터 각각에 전달하여 상기 7축 로봇이 작동하는 작동 단계;를 포함하는 것을 특징으로 하는 강화학습을 이용한 7축 로봇 제어 방법.
  2. 청구항 1에 있어서,
    상기 설정 단계에서, 상기 상태(State)는 상기 엔드이펙터의 기준점의 3차원 위치 좌표(x, y 및 z)인 것을 특징으로 하는 강화학습을 이용한 7축 로봇 제어 방법.
  3. 청구항 1에 있어서,
    상기 설정 단계에서, 상기 행동(Action)은 상기 제1 내지 제7서보모터 각각의 회전 각도(θ1~ θ7)인 것을 특징으로 하는 강화학습을 이용한 7축 로봇 제어 방법.
  4. 청구항 1에 있어서,
    상기 보상 수행 단계는,
    현재 행동요령(Current policy)을 대체하는 후보 행동요령(Candidate policy)을 도출하는 후보 행동요령 연산 단계;
    상기 후보 행동요령(Candidate policy)을 이용하여, 현재 상태(Current state)를 대체하는 후보 상태(Candidate state)를 도출하는 후보 상태 연산 단계; 및
    상기 후보 상태(Candidate state)을 이용하여, 상기 엔드이펙터의 기준점 상태(State)의 오차(error)에 대한 함수인 상태행동 가치함수를 도출하는 가치함수 도출 단계;를 포함하는 것을 특징으로 하는 강화학습을 이용한 7축 로봇 제어 방법.
  5. 청구항 4에 있어서,
    상기 보상 수행 단계는, 상기 상태행동 가치함수의 한계 값(Qlimit)이 상기 상태행동 가치함수의 최소 값(Qmin) 이상인지 여부를 판단하는 한계 판단 단계;를 더 포함하는 것을 특징으로 하는 강화학습을 이용한 7축 로봇 제어 방법.
  6. 청구항 5에 있어서,
    상기 보상 수행 단계는, 상기 한계 판단 단계 수행 후, 다음 행동요령(next policy)을 도출하여 상기 다음 행동요령(next policy)을 상기 현재 행동요령(Current policy)에 대입하는 업데이트를 수행하는 행동요령 개선 단계;를 더 포함하는 것을 특징으로 하는 강화학습을 이용한 7축 로봇 제어 방법.
  7. 청구항 1에 있어서,
    상기 7축 로봇은, 상부면이 평면으로 형성되는 베이스를 더 포함하는 것을 특징으로 하는 강화학습을 이용한 7축 로봇 제어 방법.
  8. 청구항 7에 있어서,
    상기 제1서보모터, 상기 제4서보모터 및 상기 제7서보모터는 상기 베이스의 상부면에 대해 수직 축인 수직회전축을 중심으로 회전력을 생성하는 것을 특징으로 하는 강화학습을 이용한 7축 로봇 제어 방법.
  9. 청구항 8에 있어서,
    상기 제2서보모터, 상기 제3서보모터, 상기 제5서보모터 및 상기 제6서보모터는 상기 수직회전축에 수직된 축인 수평회전축을 중심으로 회전력을 생성하는 것을 특징으로 하는 강화학습을 이용한 7축 로봇 제어 방법.
  10. 청구항 1 내지 청구항 9 중 선택되는 어느 하나의 항에 기재된 강화학습을 이용한 7축 로봇 제어 방법을 실행하는 프로그램을 기록하여 컴퓨터 판독 가능한 것을 특징으로 하는 기록매체.
KR1020190154831A 2019-11-27 2019-11-27 강화학습을 이용한 7축 로봇 제어 방법 KR102281119B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190154831A KR102281119B1 (ko) 2019-11-27 2019-11-27 강화학습을 이용한 7축 로봇 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190154831A KR102281119B1 (ko) 2019-11-27 2019-11-27 강화학습을 이용한 7축 로봇 제어 방법

Publications (2)

Publication Number Publication Date
KR20210065738A true KR20210065738A (ko) 2021-06-04
KR102281119B1 KR102281119B1 (ko) 2021-07-26

Family

ID=76391820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190154831A KR102281119B1 (ko) 2019-11-27 2019-11-27 강화학습을 이용한 7축 로봇 제어 방법

Country Status (1)

Country Link
KR (1) KR102281119B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114789444A (zh) * 2022-05-05 2022-07-26 山东省人工智能研究院 一种基于深度强化学习和阻抗控制的柔顺人机接触方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070120512A1 (en) * 2005-11-16 2007-05-31 Alin Albu-Schaffer Method for controlling a robot arm, and robot for implementing the method
JP4059742B2 (ja) * 2002-09-26 2008-03-12 株式会社国際電気通信基礎技術研究所 コミュニケーションロボット
KR20140136828A (ko) * 2013-05-21 2014-12-01 삼성전자주식회사 원격 조종 시스템 및 그 제어방법
JP5726052B2 (ja) * 2011-03-08 2015-05-27 株式会社神戸製鋼所 多関節型ロボットの制御装置,制御方法及び制御プログラム
KR20190040506A (ko) 2016-09-15 2019-04-18 구글 엘엘씨 로봇 조작을 위한 심층 강화 학습

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4059742B2 (ja) * 2002-09-26 2008-03-12 株式会社国際電気通信基礎技術研究所 コミュニケーションロボット
US20070120512A1 (en) * 2005-11-16 2007-05-31 Alin Albu-Schaffer Method for controlling a robot arm, and robot for implementing the method
JP5726052B2 (ja) * 2011-03-08 2015-05-27 株式会社神戸製鋼所 多関節型ロボットの制御装置,制御方法及び制御プログラム
KR20140136828A (ko) * 2013-05-21 2014-12-01 삼성전자주식회사 원격 조종 시스템 및 그 제어방법
KR20190040506A (ko) 2016-09-15 2019-04-18 구글 엘엘씨 로봇 조작을 위한 심층 강화 학습

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114789444A (zh) * 2022-05-05 2022-07-26 山东省人工智能研究院 一种基于深度强化学习和阻抗控制的柔顺人机接触方法
CN114789444B (zh) * 2022-05-05 2022-12-16 山东省人工智能研究院 一种基于深度强化学习和阻抗控制的柔顺人机接触方法

Also Published As

Publication number Publication date
KR102281119B1 (ko) 2021-07-26

Similar Documents

Publication Publication Date Title
US20180036882A1 (en) Layout setting method and layout setting apparatus
JP6576255B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
US20190291271A1 (en) Controller and machine learning device
CN110682286B (zh) 一种协作机器人实时避障方法
CN108015766B (zh) 一种非线性约束的原对偶神经网络机器人动作规划方法
CN108908347B (zh) 一种面向冗余移动机械臂容错型重复运动规划方法
JP2022176917A (ja) ロボットデバイスを制御するための方法
JP2019135076A (ja) 軌道生成方法および軌道生成装置
CN115401699B (zh) 工业机器人精度可靠性分析方法、装置、设备及存储介质
Langsfeld et al. Robotic bimanual cleaning of deformable objects with online learning of part and tool models
JP2019193975A (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
KR102281119B1 (ko) 강화학습을 이용한 7축 로봇 제어 방법
CN112207833B (zh) 一种运动路径的规划方法、系统、主机及存储介质
Cursi et al. Task accuracy enhancement for a surgical macro-micro manipulator with probabilistic neural networks and uncertainty minimization
US10022868B2 (en) Inverse kinematic solution for multi-joint link mechanism, and teaching-data creating device using the inverse kinematic solution
US11607806B2 (en) Techniques for generating controllers for robots
JP7531733B2 (ja) 異なるドメイン内のタスク間の転送
CN112276906B (zh) 一种运动速度的控制方法、系统、主机及存储介质
Su et al. Adaptive coordinated motion constraint control for cooperative multi-manipulator systems
Yu et al. Motion planning for human-robot collaboration based on reinforcement learning
JP2021070096A (ja) 制御方法、制御装置、ロボット装置、物品の製造方法、動作プログラム作成方法、動作プログラム作成装置、表示装置、制御プログラムおよび記録媒体
JP2021146433A (ja) 制御装置、ロボット装置、シミュレーション装置、制御方法、シミュレーション方法、物品の製造方法、プログラム及び記録媒体
JP6398777B2 (ja) ロボット制御装置、制御方法、及び制御プログラム
CN117055361B (zh) 基于滑模模型预测控制的移动机器人控制方法
Lai A fast task planning system for 6R articulated robots based on inverse kinematics

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant