Unity 검색

시뮬레이션을 이용한 안전한 중장비 자동화

2021년 12월 20일 산업 분야 | 13 분 소요
Real machine on the left, digital twin on the right
Real machine on the left, digital twin on the right
다루는 주제
공유

유니티의 머신러닝용 실시간 3D 개발 플랫폼을 사용하면 엔지니어가 복잡한 자율 작업 기계를 안전하게 설계 및 개발하고, 테스트할 수 있습니다. 유니티의 검증된 솔루션 파트너인 Algoryx의 Daniel Lindmark가 기고한 이번 블로그 포스팅에서 자세한 내용을 알아보세요.

모든 산업에서 자동화가 일어나고 있습니다. 이제 공장 내 작업 현장에는 안전 케이지 안에서 정밀하고 반복적인 자동화 작업을 수행하는 로봇 팔이 배치되어 있고, 대형 창고에서는 정해진 경로를 따라 운전하며 물품을 가져오고 배달하는 로봇이 사용됩니다. 지하 광산에서는 대형 휠 로더가 작업자(사람)를 태우지 않은 상태로 사전에 프로그래밍된 경로를 따라 작업을 진행합니다. 

그러나 여전히 많은 산업 현장에서 실제 작업자와 사람의 노동력이 사용되고 있습니다. 건설이나 벌목, 채굴과 같은 산업 현장은 대개 구조화되지 않고 환경 변화가 심하며, 당연하게도 사람이 일하기 가장 위험한 곳입니다.

 

computer simulated crane picking up dirt
자동화된 작업과 자동화되지 않은 작업: 공장의 단순하고 조직화된 환경과 지하 광산의 훨씬 복잡한 환경 비교

물리적 정확도의 중요성

Algoryx는 10년 이상 중장비의 물리 시스템을 전체적으로 시뮬레이션해왔습니다. Algoryx의 핵심 제품인 AGX Dynamics는 다물체 및 다영역 동역학의 수치 시뮬레이션용 SDK입니다.

Algoryx는 산업 분야에서 실질적인 문제를 해결하기 위해 이상적인 모델이 아닌 기본 물리 원칙을 따르고 복잡한 실제 세계를 모델링할 수 있는 수치해석 방법을 개발했습니다. 예를 들어 레일 등의 유간이나 탄소성 빔, 조인트의 한계 각도, 부서지기 쉬운 조인트, 구간 선형 모델 등을 고려하여 모델링할 수 있습니다.

이는 모두 현실에서 일어날 수 있는 일반적인 현상으로, 적절하게 모델링하지 않으면 시뮬레이션을 통해 실제 문제를 해결할 수 없습니다. AGX Dynamics의 가변 타임 스테퍼를 사용하면 이상화되지 않은 모델의 충돌과 같은 불연속적이거나 원활하지 않은 물리적 현상을 실시간으로, 또는 더 빠르게 시뮬레이션할 수 있습니다. 각 타임 스텝마다 기하학적이고 전역적으로 상황을 해결하여 불연속적인 물리적 현상을 시뮬레이션할 수 있으며, 그 결과 매우 긴 시뮬레이션 시간을 거쳐 물리가 안정화됩니다. 대규모 희소 시스템을 기계적 정밀도로 해결할 수 있는 Algoryx의 신속한 직접 솔버(direct solver)와 함께 사용하면 특별한 작업 없이도 질량비가 높은 '경직된' 시스템을 시뮬레이션할 수 있습니다.

기계 역학은 엔진 유형, 기어 박스, 차동 장치, 유압 장치, 타이어, 트랙 및 케이블이나 와이어 등 변형 가능한 물체를 비롯해 다양한 기계 구성 요소에 따라 달라지며 기계는 환경과 상호 작용할 수 있어야 합니다. 배라면 물에 떠 있어야 하고 휠 로더라면 흙을 싣고 달려야 합니다. 모든 구성 요소는 같은 프레임워크를 사용해 모델링되어 긴밀하게 결합된 통합 시뮬레이션으로 이어집니다. 이와 같은 모델과 수치 해석의 조합은 최신 과학 논문을 기반으로 합니다.

업계 파트너는 AGX Dynamics의 성능과 정확도를 신뢰하고 전문 교육용 시뮬레이터나 엔지니어링 툴에 AGX Dynamics를 사용합니다. 작업자는 교육용 시뮬레이터에서 안전하고 효율적인 방식으로 기계를 제어하는 방법을 배웁니다. 모델의 정확도가 높아서 대체로 눈과 손의 협응력에 해당하는 작업자의 기량이 현실에도 잘 반영될 수 있습니다.

반면 엔지니어링 툴의 경우 조인트에 실제 가해지는 힘을 측정하거나 전기 구동계의 에너지 소비를 측정하는 등 기계가 환경과 상호 작용하는 동안 기계 역학을 심층적으로 분석해야 합니다. 사용자는 현실에서도 동일하게 동작할 것이라는 확신을 주어 초기에 디자인 의사 결정을 내릴 수 있게 하는 시뮬레이션에 높은 가치를 둡니다. 이제 AGX Dynamics와 Unity가 통합되었으므로 강력한 기능의 Unity 에디터를 이용해 기계와 환경 모델을 설정하고, 이를 AGX Dynamics로 시뮬레이션할 수 있습니다.

Crane picking up a box
와이어
robotic arm fixing a car door
케이블과 케이블 손상
Granular
입자
Terrain
터레인
Drivetrain, tires and tracks
구동계와 타이어, 트랙
Hydrodynamics and wind
유체 역학과 바람

시뮬레이션을 현실에 적용하기

차량의 작업을 자동화하는 것은 공장에서 픽앤플레이스(pick-and-place)를 계속 반복하는 로봇을 자동화하는 것보다 훨씬 어렵습니다. 다양하게 바뀌는 환경으로 인해 문제가 복잡해질 뿐만 아니라 작업의 역학 관계도 복잡해집니다. 매우 숙련된 작업자는 경험이 적은 이에 비해 차량과 상호 작용하는 물체의 역학 관계를 활용하여 작업 효율을 크게 개선할 수 있습니다.

무엇을 측정해야 하는지, 그리고 측정값을 차량 제어와 어떻게 연결하고 어떤 자동화 결정을 내려야 하는지는 해결하기 매우 어려운 문제입니다. 실제 작업자는 곧잘 시야나 소리, 차량의 반동력 등 다양한 감각적인 요소를 기반으로 직감에 따라 결정을 내립니다. 처음에는 교육 시뮬레이터에서, 이후에는 실제 기계를 다루면서 수천 시간 동안 달라 보이지만 유사한 상황을 다루며 직감이 형성됩니다. 교육 시뮬레이터는 실제 기계를 운전할 때 얻을 수 있는 경험을 성공적으로 전수하기 위해 정확한 물리를 시뮬레이션해야 합니다.

Physical training simulator, images courtesy of Oryx Simulations
실제 교육 시뮬레이터, 이미지 제공: Oryx Simulations

강화 학습은 기존 솔루션과 달리 최근 몇 년 동안 이와 같은 복잡한 환경을 파악할 수 있다는 가능성을 보여 주었습니다. 강화 학습을 사용하면 자동화 엔지니어는 자동화 문제의 모든 부분을 개별적으로 해결한 다음 각 부분을 연결하지 않아도 됩니다.

해결해야 할 작업을 파악한 후, 해결에 사용할 수 있는 동작과 관찰 값을 정의한 다음 에이전트를 환경에 배치하여 주변을 살펴보고 문제를 해결하는 방법을 '알아내도록' 할 수 있습니다. 이론상으로는 쉬워 보이지만, 실제로는 하나의 작업을 해결하기 위해 살펴봐야 하는 환경이 매우 많고 훈련도 많이 필요하며, 실제 기계에서 강화 학습을 하기에는 위험하고 비용도 많이 듭니다.

그렇다면 해결책은 무엇일까요? 실제 세계가 아닌 시뮬레이션에서 학습하는 것입니다. 시뮬레이션에서는 기계에 손상이 가지도 않고 실시간보다 빠르게 시뮬레이션할 수 있으며 막대한 비용을 들이지 않고도 여러 시뮬레이션을 동시에 진행할 수 있습니다. 그러나 실제 작업자와 마찬가지로 학습된 경험을 시뮬레이션에서 실제 기계로 전달하여 유용하게 사용하려면 정확한 물리를 시뮬레이션해야 합니다. 모델이 잘못된 경우 에이전트가 학습하는 솔루션이 현실에서는 작동하지 않을 수 있습니다.

A sample of elements that constitute reinforcement learning
강화 학습을 구성하는 요소 예시

Unity 엔진과 Unity 머신러닝 에이전트(ML-Agents)를 사용하면 여러 에이전트를 사용하는 환경을 쉽게 모델링할 수 있습니다. Unity SystemGraph를 사용하여 에이전트가 주변 환경을 관찰하는 데 사용하는 다양한 시각 센서를 시뮬레이션할 수 있습니다.

처음에는 에이전트가 작업을 해결하기 위해 어떤 동작을 수행해야 하는지 알지 못하지만, 이전 상태-행동 변화를 기준으로 보상을 제공하면 ML-Agents의 강화 학습 알고리즘은 최대의 보상을 받을 수 있는 규칙을 찾고, 최종적으로는 에이전트가 작업을 해결할 수 있게 됩니다. 이를 빠르고 정확한 물리를 제공하는 Unity용 AGX Dynamics와 함께 사용하면 중장비를 모델링하고 훈련하여 시뮬레이션만 사용해 매우 복잡한 문제를 지능적이고 자율적으로 해결할 수 있습니다.

 

자율 벌목 작업: 통나무 잡기 제어

스웨덴 우메오 대학의 Jennifer Andersson은 Algoryx와 협력하여 강화 학습을 사용해 벌목용 크레인 작업자가 통나무를 잡는 동작을 자동화하는 방법을 연구했습니다. 숙련된 실제 작업자는 나무와 충돌하지 않으면서 울퉁불퉁한 땅을 다니며 벌목 기계의 하단에서 작동하는 크레인을 제어하여 여러 통나무를 잡을 수 있습니다. 이는 여러 구동기를 직관적이지 않은 방식으로 조정해야 하는 작업으로 작업자에게 정신적, 육체적으로 무척 피로가 쌓이는 작업입니다. 

Unity와 ML-Agents로 제작하고 Unity용 AGX Dynamics에서 시뮬레이션한 환경에서 강화 학습을 실행하여 에이전트는 통나무 하나를 잡기 위해 목재 운반 차량의 크레인에 달린 6개의 조인트를 개별적으로 제어하도록 훈련되었습니다. 최선의 제어 방식을 채택하여 97%의 확률로 통나무를 잡을 수 있었으며 전략과 주기가 숙련된 작업자와 유사했습니다. 예를 들어 에이전트는 목재를 집는 동안 하단에서 작동하는 집게의 흔들림을 활용할 수 있었으며, 주기는 개선되었지만 익히기 어려운 기술입니다. 

또한 연구를 통해 보상 함수에 에너지 최적화 목표가 있는 에이전트는 에너지 최적화 목표 없이 훈련된 에이전트에 비해 소비되는 에너지를 크게 줄이는 것으로 나타났습니다. 더 자세한 내용은 IROS(International Conference on Intelligent Robots and Systems) 2021에서 발표된 과학 논문(동영상PDF)을 참조하시기 바랍니다.

IROS 2021에서 발표한 실제 목재 잡기 동작과 가상 시뮬레이션 동작 비교

지하 광산에서의 연속적으로 자율 적재하기

또 다른 예로 Algoryx는 세계적인 터널 건설 및 광산 개발 장비 제조업체인 Epiroc과 협력하여 대형 지하 광산 휠 로더인 ST-18의 적재를 자동화했습니다. ST-18은 버킷에 18톤의 발파암을 적재할 수 있으며 전 세계의 많은 광산에서 매일 사용되고 있습니다. 지하 연층갱도를 앞으로 몰면 갱도 끝부분이 발파되어 다음 발파 전에 제거해야 하는 커다란 암석 파편(폐석) 더미가 생깁니다.

시뮬레이션에서 에이전트는 뎁스 이미지를 사용하여 적재 위치를 계획하고, 이어서 여러 번 적재하는 동안 버킷을 효율적으로 채우도록 차량을 제어하게끔 훈련되었습니다. 에이전트는 스로틀, 스티어링, 버킷 들기 및 기울이기를 제어함으로써 적재 위치를 계획하고 버킷을 채울 뿐 아니라 충돌을 피하고 차량이 미끄러지지 않게 운행할 수 있게 되었습니다. 최상의 결과는 보상 함수에 에너지 소비에 대한 페널티를 포함하여 얻은 것으로 평균적으로 최대 수용력의 75%를 채울 수 있었습니다. 자세한 내용은 Machines에 게재된 과학 논문을 참조하시기 바랍니다.

Unity용 AGX Dynamics를 사용하면 엔지니어는 복잡한 자율 작업 기계를 안전하게 설계하고 개발하며 테스트할 수 있습니다. 앞선 예시는 Algoryx에서 머신러닝에 Unity 플랫폼을 사용한 수많은 사례 중 두 가지에 해당합니다. Algoryx는 유니티와 함께 자동화하기 어려운 다양한 유형의 작업을 먼저 시뮬레이션하고 해결하여 더 나은 세상을 만들고 있습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

훈련을 받은 후 작업을 해결하는 차량

Unity용 AGX Dynamics를 사용하면 엔지니어는 복잡한 자율 작업 기계를 안전하게 설계하고 개발하며 테스트할 수 있습니다. 앞선 예시는 Algoryx에서 머신러닝에 Unity 플랫폼을 사용한 수많은 사례 중 두 가지에 해당합니다. Algoryx는 유니티와 함께 자동화하기 어려운 다양한 유형의 작업을 먼저 시뮬레이션하고 해결하여 더 나은 세상을 만들고 있습니다.

자세히 알아보기

산업 분야 시나리오에 시뮬레이션을 적용할 수 있는지 알아보고 싶으신가요? Algoryx에서 가상 프로토타입, 교육 시뮬레이터 및 디지털 트윈 제작을 어떻게 지원하는지 알아보세요.

또는 Algoryx에 직접 연락하여 기계 자율화 방안에 대해 문의하실 수 있습니다.

2021년 12월 20일 산업 분야 | 13 분 소요
다루는 주제