니케이로보틱스_2023/06_NEC의 로봇 동작 생성 기술이 진화

책 커버 표지
목차

요약

Nikkei Robotics_2023.6 (p20-25)

Sexy Technology
NEC의 로봇 동작 생성 기술이 진화
스킬의 능동학습과 대폭적인 고도화 실현
 
NEC가 자체 로봇 제어 기술을 강화하고 있다. 최신 개발 성과를 소개하는 발표회를 2023년 3월에 개최, 난잡하게 놓인 물건을 로봇 팔이 지정 장소로 옮기는 ‘Pick & Place’ 태스크 등을 시연했다. 물건 위치나 각도 등의 실행 전후의 조건을 지시하기만 하면 ‘Pick’ ‘Move’와 같은 개별 동작 계열과 팔의 궤도를 자동 생성해 실행할 수 있는 것이 특징이다.

NEC는 이전부터 로봇의 동작을 자동 생성하는 기술을 개발해 왔다. 이번 기술이 기존 기술들보다 강화한 점은 크게 2가지다. 우선, 로봇의 개별 동작(스킬이라고 부른다)을 사람이 프로그래밍하는 대신에 시뮬레이터를 이용해 능동적으로 학습하는 기술을 도입한 점. 다른 하나는 동작 계열의 생성에 비선형 계획법을 도입함으로써 계산 시간을 크게 단축했다는 점이다.

-- 새로운 작업에 단시간에 대응 --
NEC의 제어 기술은 (1)동작 계열이나 궤도 생성을 담당하는 태스크/동작플래너와, (2)개개의 스킬을 실행하는 제어 방책이라는 2단계 구성을 채택하고 있다. 스킬의 학습방법은 (2), 비선형 계획법의 도입은 (1)의 개량에 해당한다.

스킬 학습 기술은 2022년 10월에 열린 ‘International Conference on Intelligent Robots and Systems(IROS 2022)’, 비선형 계획법은 2021년 6월에 열린 ‘International Conference on Robotics and Automation(ICRA 2021)’에서 각각 보고되었다.

스킬 학습 기술의 이점은 DNN을 이용한 학습을 통해 제어 방책을 일반화하여 학습 데이터에 없었던 상황에도 적절하게 대처할 수 있다는 것이다. 후술하는 시뮬레이터를 이용한 실험에서는 학습 후의 스킬을 랜덤하게 생성한 조건에 적용한 결과, 작업 성공률은 90% 이상이었다.

학습에 필요한 시간은 수일 정도이다. 반면에 시뮬레이터를 이용한 강화학습으로 동일한 스킬을 획득하기 위해서는 학습에 수개월이 걸린다고 NEC는 주장하고 있다.

태스크/동작플래너의 개량에서는 NEC의 기존 방식에서 이용했던 혼합정수 선형계획법(MILP: mixed-integer linear programming)을, 경사면을 이용해 최적화하는 비선형 계획법(NLP: nonlinear programming)으로 변경했다. 전자는 고려할 상태가 증가함에 따라서 처리 시간이 크게 증대하기 때문이다.

NLP를 사용함으로써 MILP에서는 5분 이상 걸렸던 동작 계열의 입안을 9초만에 실행할 수 있다는 것을 확인했다. NLP의 도입을 통해 로봇의 자세와 같은 비선형의 다이내믹에도 대응할 수 있게 되었다.

이러한 강화를 통해 NEC의 기술은 다양한 작업에 단기간에 로봇을 적용시키는 용도로 이용할 수 있게 되었다고 NEC는 보고 있다. NEC는 취급 품목이나 레이아웃이 다양하고 빈번하게 바뀌는 물류 현장 등을 대상으로, 24년 중에 이번 기술을 실용화할 방침이다.

-- 스킬의 조건을 동시에 획득 --
이하에서는 시연에서 중심적인 역할을 담당한 스킬 학습 기술을 상세하게 해설한다.
이 기술의 큰 특징은 스킬의 제어 방책과 아울러 스킬을 실행 가능한 초기 상태(사전 조건)와, 실행을 통해 얻어지는 결과의 범위(사후 조건)를 아울러 학습할 수 있다는 것이다. 사전/사후 조건을 획득할 수 있는 능력은 여러 스킬을 연계할 때 큰 의미를 갖는다. 어떤 기술의 사후 조건이 별개 스킬의 사전 조건과 겹친다면, 전자 다음에 후자를 실행할 수 있다고 알 수 있기 때문이다.

이 기능을 이용하면 제어 방책의 상위에 위치하는 태스크/동작플래너는 동작 계열을 생성할 때 어느 스킬을 조합할 수 있는지 쉽게 판단할 수 있게 된다. 다만 실제로 태스크/동작플래너가 어떻게 사전/사후 조건을 활용할지는 불분명하다.

-- 조건 별로 함수로 판정 --
개발한 기술에서는 사전/사후 조건의 범위를 명시적으로 보이는 것이 아니라 특정 조건이 사전/사후 조건에 들어맞는지 여부를 함수로 판단한다. 이 함수를 구축할 때 이용하는 것이 Level Set 추정(LSE: Level Set Estimation)이라고 부르는 기술이다.

LSE는 블랙박스 함수를 대상으로, 어느 입력치에 대응하는 함수값이 특정 역치의 위가 될지 아래가 될지를 추정하는 문제를 푼다. 가능한 한 소수의 데이터(입력치에 대한 함수값) 측정으로 이 함수의 근사 모델을 구축할 수 있는 것이 특징이다.

LSE에서는 가우스 과정(GP: Gaussian Process) 등 모델의 불확실성을 정량적으로 평가할 수 있는 기계학습 기법을 사용해, 모델의 개선을 가장 잘 전망할 수 있는 입력치를 다음 번의 측정점으로 선택한다. 측정한 데이터에 의한 학습과 개선 효과가 높은 점에서의 측정을 반복함으로써 모델의 학습을 효율적으로 진행할 수 있다.

NEC는 블랙박스 함수로서 제어 방책에 대한 입력(사전/사후 조건에 상당)과, 스킬이 성공했는지 여부를 판단하는 값 사이의 함수를 상정했다. 이 함수의 값이 역치(이번 기술에서는 0)보다 작아지면 스킬은 성공한다고 간주할 수 있고, 대응하는 입력치는 사전/사후 조건에 해당하게 된다. NEC는 블랙박스 함수의 근사 모델을 Level Set 함수라고 부르며, 스킬의 제어 방책과 동시에 학습할 수 있도록 했다.

-- 조건 벡터를 입력해 동작 --
제어 방책과 Level Set 함수에 대한 입력은 조건 벡터라고 불린다. 유저는 이 벡터를 사용해, 스킬의 초기상태(사전 조건)와 목표상태(사후 조건)를 지정한다. 아울러 작업 대상의 치수 등 환경 파라미터도 설정할 수 있도록 했다.

조건 벡터를 받은 제어 방책은 2단계로 제어를 실행한다. 우선 상위 방책이 조건 벡터에 대응하는 제어 파라미터를 출력. 이 파라미터는 로봇의 동작 궤도를 정의하는 것이며, 하위 방책은 로봇의 동작이 지정된 궤도에 따르도록 제어 신호를 출력한다.

한편으로 Level Set 함수는 받은 조건 벡터에 대해 스킬이 성공할지 어떨지 예측치를 출력한다. 스킬 학습의 틀에서는 이 함수는 다음에 설명하는 학습에 이용만 할 뿐이며 스킬 제어에는 사용하지 않는다. 이 결과는 앞에서 말했듯이 플래너에는 유익한 정보가 될 것으로 보인다.

-- 학습 데이터를 효율적으로 수집 --
제어의 상위 방책은 DNN으로, Level Set 함수는 베이지안 뉴럴 네트워크(BNN)로 모델화하였고, 모두 로봇과 환경을 포함하는 시스템 전체의 시뮬레이터로 수집한 데이터를 사용해 학습시킨다.

데이터의 수집에서는 랜덤하게 발생시킨 조건 벡터와 제어 파라미터를 사용해 제어를 마지막까지 실행하고(롤 아웃), 성패의 판단에 대응하는 손실함수 값 계산을 반복한다. 이를 통해 조건 벡터, 제어 파라미터, 성패를 나타내는 함수값을 연결한 데이터를 수집하는 것이다.

다만 무턱대고 실행하면 방대한 시행 횟수가 필요해지기 때문에 효율적으로 데이터를 수집하기 위한 아이디어를 여러 개 담았다. 우선, PI(path integral control)라 불리는 최적화 기법을 통해 손실함수를 작게 하는 제어 파라미터를 쉽게 구하도록 했다.

Level Set 함수의 학습에는 앞에서 말했듯이 수집하는 데이터를 효율적으로 선택하는 시스템이 있다. 또한 Level Set 함수에 BNN을 이용한 이유는 대부분의 기존 방식이 사용하는 GP에서는 블랙박스 함수의 입력 증대에 대응하기 어렵기 때문이다.

Level Set 함수를 학습한 후에 상위 방책을 학습시키는 것도 데이터 수집의 효율화를 노린 결과다. 학습 후의 Level Set 함수에서 조사하는 조건 벡터를 좁히는데 있어서 학습용 데이터 셋의 초기값을 현실적인 값으로 설정할 수 있다. 또한 학습 후의 상위 방책을 데이터의 수집에 사용함으로써 Level Set 함수의 정밀도를 보다 높일 수 있다.

상위 방책과 Level Set 함수는 모두 데이터의 수집과 모델 학습을 계속해서 반복한다. Level Set 함수의 학습에서 효율적인 데이터 수집을 촉구하는 열쇠는 획득함수이다. 이 획득함수는 다음에 평가하는 조건 벡터를 선택하는 역할을 담당한다. LSE에서는 함수 전체가 아니라 역치에 가까운 영역에서의 함수의 거동을 정확하게 근사하는 것이 중요하다.

NEC는 역치 근방의 데이터를 중점적으로 수집할 수 있도록 획득함수를 설정했다. 한편으로 상위 방책의 학습에서는 랜덤하게 생성한 조건 벡터에서 역치를 밑도는 것을 Level Set 함수로 선택함으로써 역치 이하의 영역 전체에서 데이터를 수집하고 있다.

-- 고성능을 시뮬레이터로 확인 --
NEC는 개발한 기법의 성능을 시뮬레이션을 이용해 확인했다. 스킬로서 2륜 로봇이 장해물을 피해 목적지에 도달하는 동작과, 로봇 팔이 파지한 블록을 지정 장소로 옮기는 동작을 선택해 조건을 설정했다.

비교 대상으로 선택한 것은 미국 MIT가 로봇의 동작계획용으로 개발한 기존의 LSE 기술(arXiv 번호: 2006.06444)이다. 이 방식이 이용하는 GP를 BNN으로 치환하는 등의 개량을 하여 비교 베이스라인으로 했다.

이번 기술과 베이스라인을 각각 사용해 로봇에게 스킬을 학습시킬 때 랜덤하게 발생시킨 조건 벡터를 부여해 스킬의 성공률을 조사했다. 또한 학습 후의 Level Set 함수의 예측 능력을 조사하기 위해 Level Set 함수의 예측과 실제 스킬의 성패를 비교한 적합률과 F1값을 이용하고 있다.

실제 결과를 보면, 두 스킬 모두 모든 지표에서 NEC의 기술이 베이스라인을 웃돌았다. 특히 2륜 로봇의 장해물 회피 실험에서는 NEC의 우위성이 분명하게 드러났다. NEC는 블록을 옮기는 스킬보다 난이도가 높았던 것이 이 차이를 낳았다고 생각한다.

실제로 블록을 옮기는 스킬에서는 Level Set 함수의 경신 횟수가 낮을 때부터 높은 성공률을 실현하고 있다. 앞에서 소개한 90% 이상의 성공률은 이 스킬의 실험 결과이며, 베이스라인의 성공률은 가장 높은 수치도 80%에 미치지 못했다.

 -- 끝 --

Copyright © 2020 [Nikkei Robotics] / Nikkei Business Publications, Inc. All rights reserved.

TOP

목차

TOP