KR-20260061659-A - Reinforcement Learning Method for Autonomous Excavation Trajectory Generation and System for the Same
Abstract
본 문서는 자율 굴착 궤적 생성을 위한 강화학습 방법 및 이를 위한 시스템에 대한 것이다. 제안하는 방법은, 특정 시점에서, 강화학습 에이전트의 행동에 대한, 굴착 영역에 대한 변수, 굴착기의 조인트 각도 관련 변수, 및 상기 굴착기의 버켓 적재중량을 관찰하도록 환경을 설정하고; 그리고 상기 굴착기의 버켓 적재중량 및 상기 굴착기의 조인트 각도 변화량에 기반하여 상기 강화학습의 보상을 수행하는 것을 포함하되, 상기 강화학습의 보상은 굴착 궤적 생성을 위한 소정의 에피소드를 모두 적용한 후에 산정하여 적용하는 것을 특징으로 한다.
Inventors
- 유재진
- 김기선
Assignees
- 에이치디한국조선해양 주식회사
- 에이치디현대인프라코어 주식회사
- 에이치디건설기계 주식회사
Dates
- Publication Date
- 20260506
- Application Date
- 20241028
Claims (13)
- 자율 굴착 궤적 생성을 위한 강화학습 방법에 있어서, 특정 시점에서, 강화학습 에이전트의 행동에 대한, 굴착 영역에 대한 변수, 굴착기의 조인트 각도 관련 변수, 및 상기 굴착기의 버켓 적재중량을 관찰하도록 환경을 설정하고; 그리고 상기 굴착기의 버켓 적재중량 및 상기 굴착기의 조인트 각도 변화량에 기반하여 상기 강화학습의 보상을 수행하는 것을 포함하되, 상기 강화학습의 보상은 굴착 궤적 생성을 위한 소정의 에피소드를 모두 적용한 후에 산정하여 적용하는 것을 특징으로 하는 자율 굴착 궤적 생성 강화학습 방법.
- 제 1 항에 있어서, 상기 굴착 영역에 대한 변수는, 굴착 시작 지점의 좌표, 굴착 종료 지점의 좌표 및 굴착 영역 슬라이싱 맵을 포함하는, 자율 굴착 궤적 생성 강화학습 방법.
- 제 1 항에 있어서, 상기 굴착기의 조인트 각도 관련 변수는, 현재 상기 굴착기의 조인트 각도 및 과거 상기 굴착기의 조인트 각도 변화 히스토리를 포함하는, 자율 굴착 궤적 생성 강화학습 방법.
- 제 1 항에 있어서, 상기 굴착기의 버켓 적재중량에 기반한 상기 강화학습의 보상은, 상기 굴착기의 버켓 적재중량이 클수록 높은 보상을 부여하도록 설정되는, 자율 굴착 궤적 생성 강화학습 방법.
- 제 1 항에 있어서, 상기 굴착기의 조인트 각도 변화량에 기반한 상기 강화학습의 보상은, 상기 굴착기의 조인트 각도 변화량이 작을수록 높은 보상을 부여하도록 설정되는, 자율 굴착 궤적 생성 강화학습 방법.
- 제 1 항에 있어서, 상기 강화학습의 보상을 수행하는 것은, 상기 굴착기가 물리적으로 닿지 않는 궤적을 생성하는 경우, 상기 굴착기의 버켓 적재중량이 소정 제한 용량을 넘는 경우, 또는 생성한 굴착 포인트의 지면 부분이 일직선 상에 존재하지 않는 경우, 중 하나 이상의 경우에 패널티를 부여하는 것을 포함하는, 자율 굴착 궤적 생성 강화학습 방법.
- 제 1 항에 있어서, 상기 강화학습의 보상은, 상기 굴착 궤적 생성을 위한 에피소드를 수행하는 과정의 보상 값을 리플레이 버퍼에 저장 후, 상기 굴착 궤적 생성을 위한 에피소드를 모두 적용한 후에 상기 리플레이 버퍼에 저장된 보상 값을 적용하여 상기 강화학습 에이전트의 가중치를 업데이트하는, 자율 굴착 궤적 생성 강화학습 방법.
- 자율 굴착 궤적 생성을 위한 강화학습 시스템에 있어서, 굴착 영역에 대한 변수, 굴착기의 조인트 각도 관련 변수, 및 상기 굴착기의 버켓 적재중량을 포함하는 강화학습 환경 데이터를 저장하는 메모리; 및 특정 시점에서, 강화학습 에이전트의 행동, 상기 에이전트의 행동에 따른 상기 강화학습 환경 데이터의 관찰, 그리고 상기 관찰 결과에 따른 강화학습의 보상을 수행하도록 구성되는 프로세서를 포함하되, 상기 프로세서는, 상기 강화학습의 보상을 굴착 궤적 생성을 위한 에피소드를 모두 적용한 후에 상기 굴착기의 버켓 적재중량 및 상기 굴착기의 조인트 각도 변화량에 기반하여 수행하는, 자율 굴착 궤적 생성 강화학습 시스템.
- 제 8 항에 있어서, 상기 메모리는, 상기 굴착 궤적 생성을 위한 에피소드를 수행하는 과정의 보상 값을 저장하도록 구성되는 리플레이 버퍼를 포함하며, 상기 프로세서는, 상기 굴착 궤적 생성을 위한 소정 에피소드를 모두 적용한 후에 상기 리플레이 버퍼에 저장된 보상 값을 적용하여 상기 강화학습 에이전트의 가중치를 업데이트하도록 구성되는, 자율 굴착 궤적 생성 강화학습 시스템.
- 제 8 항에 있어서, 상기 에이전트는, 상기 강화학습 환경 데이터와 상호 작용을 수행하며 행동을 수행하는 행위자 네트워크(actor network); 및 상기 행위자 네트워크의 행동 정책에 대해 평가를 수행하여 상기 행위자 네트워크의 행동 정책을 개선하도록 구성되는 평가 네트워크(critic network)를 포함하는, 자율 굴착 궤적 생성 강화학습 시스템.
- 제 10 항에 있어서, 상기 평가 네트워크는, 상기 굴착기의 버켓 적재중량이 클수록 높은 보상을 부여하도록 학습되는, 자율 굴착 궤적 생성 강화학습 시스템.
- 제 10 항에 있어서, 상기 평가 네트워크는, 상기 굴착기의 조인트 각도 변화량이 작을수록 높은 보상을 부여하도록 학습되는, 자율 굴착 궤적 생성 강화학습 시스템.
- 제 10 항에 있어서, 상기 평가 네트워크는, 상기 굴착기가 물리적으로 닿지 않는 궤적을 생성하는 경우, 상기 굴착기의 버켓 적재중량이 소정 제한 용량을 넘는 경우, 또는 생성한 굴착 포인트의 지면 부분이 일직선 상에 존재하지 않는 경우, 중 하나 이상의 경우에 패널티를 부여하도록 학습되는, 자율 굴착 궤적 생성 강화학습 시스템.
Description
자율 굴착 궤적 생성을 위한 강화학습 방법 및 이를 위한 시스템{Reinforcement Learning Method for Autonomous Excavation Trajectory Generation and System for the Same} 이하의 설명은 굴착 궤적을 위한 강화학습에 대한 것으로서, 구체적으로 강화학습을 이용하여 굴착 궤적을 자율적으로 생성하는 방법 및 이를 위한 시스템에 대한 것이다. 도 1은 굴착기 장비의 굴착 궤적 생성 방식을 설명하기 위한 도면이다. 현재 굴착기 장비의 굴착을 위한 궤적을 만들 때, 도 1의 (A) 및 (B)에 도시된 바와 같이 인지 센서 기반으로 현재 지형을 인지하고, PCD(Point Cloud Data)에서 기울기(Slope), 지형 고도(depth) 등과 같은 특징을 추출하여 전문가를 모사할 수 있는 굴착 궤적을 생성하는 방법을 사용하고 있다. 다만, 이러한 방식은 지형의 상태 변화를 고려하지 않은 개별적인(discrete)한 궤적을 생성하는 방식으로, 굴착 작업이 이뤄짐에 따라 지면의 높이가 매번 다른 상황에서 같은 규격의 궤적을 적용하는 것에는 한계가 있다. 최근에는 전문가의 행동을 모사할 수 있는 강화학습 기반의 굴착 에이전트 개발과 관련된 연구들이 이루어지고 있다. 구체적으로, Data-driven approach를 위한 시뮬레이터/실차 운전자 데이터를 확보한 뒤 인공 신경망 기반 굴착기 시뮬레이터를 학습하고, 이후 인공신경망 시뮬레이터를 활용하여 강화학습 기반 가상 운전자 모델을 개발하는 내용이 주를 이루고 있다. 그러나, 이러한 연구에서는 실제 굴착 궤적이 주어졌다는 가정으로 모션을 제어하는 연구가 대부분이며, 현실 적용성이 떨어지는 간단한 에어모션(선긋기) 시뮬레이션 실험을 진행하는데 제안되고 있다. 따라서, 실제 굴착이 가능한 궤적을 생성하는 방법에 대해서는 연구가 부족한 상황이다. 도 1은 굴착기 장비의 굴착 궤적 생성 방식을 설명하기 위한 도면이다. 도 2는 본 발명의 일 실시예에 따라 자율 굴착 궤적 생성을 위한 강화학습 방법을 설명하기 위한 도면이다. 도 3은 도 2와 관련하여 상술한 자율 굴착 궤적 생성을 위한 강화학습 방법을 보다 구체적으로 설명하기 위한 도면이다. 도 4 및 도 5는 본 발명의 일 실시예에 따라 생성되는 슬라이싱 맵과 이에 따른 굴착 지점 좌표의 개념을 예를 들어 설명하기 위한 도면이다. 도 6 및 도 7은 본 발명의 일 실시예에 따른 굴착기 조인트 각도 변수에 대해 설명하기 위한 도면이다. 도 8 및 도 9는 본 발명의 일 실시예에 따른 시뮬레이션 환경을 설명하기 위한 도면이다. 도 10은 본 발명의 일 실시예에 따른 자율 굴착 궤적 생성을 위한 강화학습 시스템 구성을 설명하기 위한 도면이다. 이하에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 도 2는 본 발명의 일 실시예에 따라 자율 굴착 궤적 생성을 위한 강화학습 방법을 설명하기 위한 도면이다. 도 2에 도시된 실시예의 자율 굴착 궤적 생성을 위한 강화학습 방법은, 먼저 특정 시점에서, 강화학습 에이전트의 행동에 대한 굴착 영역에 대한 변수, 굴착기의 조인트 각도 관련 변수, 및 상기 굴착기의 버켓 적재중량을 관찰하도록 환경을 설정한다(S210). 이와 같은 환경 설정 하에서, 에이전트는 각 단계별 행동을 수행하며, 이와 같은 에이전트의 행동에 대한 보상이 산정될 수 있다(S220). 본 발명의 일 실시예에서, 강화학습의 보상은 굴착기의 버켓 적재중량 및 상기 굴착기의 조인트 각도 변화량에 기반하여 산정되는 것을 제안한다. 한편, 본 발명의 일 실시예에서, 상기 강화학습의 보상은 굴착 궤적 생성을 위한 소정의 에피소드를 모두 적용한 후(S230)에 산정하여 적용(S240)하는 것을 제안한다. 즉, 효율적인 굴착 궤적을 생성하기 위해, 에이전트의 각 단계별 행동 각각에 대해 보상을 적용하는 것이 아닌, 궤적 생성을 위한 소정의 에피소드를 모두 적용한 후 산정된 보상을 적용하여 전체 굴착 궤적을 최적화할 수 있다. 이에 따라, 본 실시예에서는 도 2에 도시된 바와 같이, 소정의 에피소드를 모두 적용하지 않은 경우(S230), 에이전트는 각 단계별로 행동을 지속하며, 각 단계별 보상을 산정(S220)하는 것을 반복하며, 해당 에피소드 종료 시점에서 보상을 적용(S240)할 수 있다. 도 3은 도 2와 관련하여 상술한 자율 굴착 궤적 생성을 위한 강화학습 방법을 보다 구체적으로 설명하기 위한 도면이다. 본 발명의 일 실시예에서는 자율 굴착 궤적 생성을 위해 강화학습 에이전트 학습이 가능한 환경을 구축하고, 에이전트의 학습이 잘 이뤄졌는지 확인을 위해 파이썬 가상환경에서 시뮬레이션을 진행하는 것을 제안한다. 강화학습 에이전트 학습을 위한 환경 구성 강화학습 에이전트는 환경과 학습 주체를 필요로 하며, 학습 주체는 환경의 상태를 인식하고, 행동을 취할 수 있어야 한다. 일반적으로 학습 주체가 취한 행동은 환경의 상태에 변화를 일으키며, 에이전트의 학습을 위해 고려해야 할 사항은 다음과 같다. 1) 관측(Observation) 관측은 특정 시점 t에서 에이전트와 상호작용을 하는 환경의 상태이다. 도 3에 도시된 바와 같이 관측 공간에서는 아래의 변수들을 초기화할 수 있다. (1) 굴착 시작 지점의 좌표, 굴착 종료 지점의 좌표 (2) 굴착 영역 슬라이싱 맵: 굴착 시작 지점부터 굴착 종료 지점까지 굴착 하고자 하는 지형의 고도 정보 (3) 현재 굴착기의 조인트 각도(스윙,붐,암,버켓 각도) (4) 과거 굴착기의 조인트 각도 변화 히스토리 즉, 도 2와 관련한 실시예에서, 굴착 영역에 대한 변수는, (1) 굴착 시작 지점의 좌표, 굴착 종료 지점의 좌표 및 (2) 굴착 영역 슬라이싱 맵을 포함하는 것으로 볼 수 있다. 또한, 도 2와 관련한 실시예에서, 굴착기의 조인트 각도 관련 변수는, (3) 현재 상기 굴착기의 조인트 각도 및 (4) 과거 상기 굴착기의 조인트 각도 변화 히스토리를 포함하는 것으로 볼 수 있다. 도 4 및 도 5는 본 발명의 일 실시예에 따라 생성되는 슬라이싱 맵과 이에 따른 굴착 지점 좌표의 개념을 예를 들어 설명하기 위한 도면이다. 본 실시예에서 슬라이싱 맵은 강화학습을 위한 하나의 에피소드(episode) 학습 시 확률분포기반으로 랜덤 지형을 생성할 수 있다. 예를 들어, 하나의 학습 에피소드에서 슬라이싱 맵이 도 4의 (A)에 도시된 바와 같이 생성된 경우, 이에 따라 도 4의 (B)에 도시된 바와 같은 굴착 궤적이 생성될 수 있으며, 다른 하나의 학습 에피소드에서 슬라이싱 맵이 도 5의 (A)에 도시된 바와 같이 생성된 경우, 이에 따라 도 5의 (B)에 도시된 바와 같은 굴착 궤적이 생성될 수 있다. 도 6 및 도 7은 본 발명의 일 실시예에 따른 굴착기 조인트 각도 변수에 대해 설명하기 위한 도면이다. 구체적으로, 도 6은 굴착기의 붐, 암, 버켓 조인트 각도의 개념을 예시적으로 도시하고 있다. 붐의 조인트 위치(610)는 r축과 z축의 좌표로 나타내어질 수 있으며, (r0, z0)로 표기할 수 있다. 붐의 조인트 각도(φbm)를 이용하여 암의 조인트 위치(620)를 아래와 같이 나타낼 수 있다. [수학식 1] 한편, 암의 조인트 각도(φarm)를 이용하여 버켓의 조인트 위치(630)는 아래와 같이 나타낼 수 있다. [수학식 2] 아울러, 버캐의 조인트 각도(φbkt)를 이용하여 버켓 말단(640)은 아래와 같이 나타낼 수 있다. [수학식 3] 또한, 도 7은 굴착기의 스윙 각도의 개념을 예시적으로 도시하고 있다. 본 발명에서 제안하는 실시예들을 상술한 바와 같이, 전문가의 굴착기 운전을 모사하는 종래 기술과 달리, 굴착 궤적 자체를 강화학습을 통해 생성하는 시스템을 제안하며, 종래 전문가 모사 방식의 경우, 굴착 궤적 자체가 관찰 공간에서 관찰되는 변수가 되는데 반해, 굴착 영역에 대한 변수뿐만 아니라, 도 5 및 도 6과 같은 굴착기의 조인트 각도 관련 변수를 관찰 공간의 변수로 설정하여 운용하는 것을 제안한다. 예를 들어, 도 5에서 설명한 붐의 조인트 각도(φbm), 암의 조인트 각도(φarm), 버켓의 조인트 각도(φbkt)를 변수로 설정할 수 있으며, 추가적으로 도 6의 스윙 각도(θ) 역시 관찰 공간에 변수로 설정할 수 있다. 다시, 도 3을 참조하면, 환경 상태 초기화 단계에서, 에이전트의 동작 공간은 굴착 궤적 포인트에서의 굴착기 조인트 각도의 최소 범위와 최대 범위가 설정될 수 있다. 2) 행동(Action) 본 발명의 일 실시예에서 행동은 특정 시점 t+1에 에이전트가 취한 행동을 의미하며, 행동의 변수는 굴착 궤적 포인트의 굴착기 조인트 각도(스윙, 붐, 암, 버켓의 각도)를 포함할 수 있다. 3) 에이전트(Agent) 에이전트는 환경과 상호작용을 하며, 학습을 진행하여 가장 최적의 행동을 도출하는 주체이다. 처음에 거의 uniform random policy에서 시작하여, 학습이 진행됨에 따라 좋은 행동의 확률을 높여간다. 굴착 궤적을 생성하기 위한 에이전트의 학습을 위해 본 발명의 일 실시예에서는 도 3에 도시된 바와 같이 행위자 네트워크(actor network)와 평가 네트워크(critic network)로 구성하는 것을 제안한다. 행위자 네트워크와 평가 네트워크는 학습이 동시에 이뤄질 수 있으며, 각 네트워크의 특징은 다음과 같다. (1) 행위자 네트워크 행동을 도출하기 위한 네트워크로 환경과 상호작용을 담당하는 역할을 한다. 평가 네트워크의 가치평가를 활용하여 정책을 개선하며, 본 발명의 일 실시예에서는, 굴