[AMD AECG=빅터 마요랄-빌체스(Victor Mayoral-Vilches)] 로봇 공학자들이 기존 프로세서 아키텍처의 한계에 직면하면서 향후 성능, 보안, 안전 문제를 해결할 수 있는 개별화(customization)와 병렬화가 요구되고 있다.

로보틱스 애플리케이션을 다루는 소프트웨어 개발자들은 필요한 성능을 충족하고, 실시간성과 일관성을 갖춘 성능을 보장하면서도, 적절한 안전과 보안을 유지해야 하는 등 점점 더 큰 어려움에 직면하고 있다.

[이미지=게티이미지뱅크]

머신 기술의 핵심인 스칼라(CPU) 프로세서 아키텍처의 범용적 특성과 성능 확장에 대한 한계는 오늘날 산업용 로봇의 다양한 요구사항을 충족하는 데 있어 걸림돌이 되고 있다. 대표적인 문제점으로 성능의 일관성에 영향을 미치는 비효율성과 과도한 전력 소모, 보안 문제 등이 지적되고 있다. 특히, 보안 기능 업데이트를 위한 하드웨어 재구성이 불가능해 진화하는 사이버 위협에 대한 대응 능력이 취약하다는 단점이 있다.

최근에는 로보틱스 요건에 보다 부합하는 새로운 세대의 컴퓨팅 플랫폼이 등장하고 있다. 이러한 모듈은 로봇 공학자들이 유연한 컴퓨팅 아키텍처를 구현할 수 있는 이기종 프로세싱 요소로 구성되어 있다. 이 글에서는 CPU, DSP, GPU, FPGA 및 ASIC을 비롯해 로봇 공학자들이 사용할 수 있는 다양한 컴퓨팅 리소스 구성을 검토 및 평가하고자 한다. 각각의 솔루션은 고유의 강점을 가지고 있으며, 로보틱스 기술의 진화에 따라 각각의 역할을 수행해 나갈 것이다. 

로보틱스 애플리케이션을 위한 컴퓨팅 기술

스칼라 프로세서(Scalar Processor - CPU)

CPU는 스칼라 프로세싱(Scalar Processing) 요소로, 다양한 의사결정 트리와 광범위한 라이브러리, 복잡한 알고리즘을 효율적으로 처리할 수 있다. CPU는 높은 유연성을 갖추고 있으며 멀티 코어 프로세서를 통해 동시에 실행되는 다양한 작업을 처리할 수 있지만, 기본 하드웨어는 고정되어 있다. 아직도 대부분의 CPU는 메모리에서 프로세서로 데이터를 가져와 연산을 수행한 다음, 다시 메모리에 쓰기 작업을 수행하는 프로그램-저장(Stored-Program) 컴퓨팅 원리로 작동한다.

이 아키텍처의 핵심은 ALU(Arithmetic Logic Unit)이며, 이는 모든 동작에 있어 데이터는 입/출력 과정을 통해 이동해야 한다. 기본적으로 각 CPU는 한 번에 하나의 명령을 순차적으로 수행하며, 작업을 완료하기까지 많은 단계가 필요하다.

이러한 단점에도 불구하고, 스칼라 CPU는 최신 로봇 아키텍처에서 핵심적인 역할을 수행하고 있다. 감지와 구동, 인지 등을 위한 다양한 하위 시스템 및 구성 요소 전반에 걸쳐 정보의 흐름을 조정하는 데 매우 적합하다.

벡터 프로세서(Vector Processor)

DSP 및 GPU와 같은 벡터 프로세싱(Vector Processing) 요소들은 병렬화가 가능한 하위 컴퓨팅 기능에서는 보다 효율적이지만, 유연하지 않은 메모리 계층 구조로 인해 지연과 효율성 저하가 발생한다. 

GPU 아키텍처는 일부 특정 작업 수행에 최적화된 많은 수의 코어가 탑재되어 있으며, 이러한 코어들의 연산을 동시에 수행하는 것이 가장 효율적이다. 벡터 프로세서는 대량의 데이터를 병렬 처리할 수 있기 때문에 로보틱스 분야에서 CPU가 가진 주요 단점을 
해결할 수 있다.

FPGA(Field Programmable Gate Array)

범용 프로세싱 유닛과 메모리로 이루어진 프로세서들과 달리 FPGA는 프로그래밍을 통해 특정 컴퓨팅 기능을 수행하는데 필요한 성능을 정밀하게 커스터마이징할 수 있다. 이는 저지연성에 초점을 맞추는 실시간 애플리케이션 실행에 매우 효과적이지만, 더 복잡한 프로그래밍 과정을 필요로 한다. 또, 재구성 및 재프로그래밍 과정으로 인해 스칼라, 벡터 프로세서에 비해 컴파일 시간이 더 길다는 특성이 있다.

로봇 설계자는 FPGA를 활용해 소프트웨어를 통해 다시 프로그래밍하거나 조정할 수 있는, 즉, 런타임 재구성이 가능한 로봇 하드웨어를 구현할 수 있다. 이러한 엔진은 데이터 흐름을 보다 빠르고, 효율적으로 처리할 수 있기 때문에 센서 및 액추에이터 등을 연결하는 인터페이스는 물론, 네트워크용 하드웨어의 연산을 수행하는 데 매우 적합하다. 또한 설계자는 커스텀 하드웨어 가속 커널을 만들어 벡터 프로세서에 할당해야 하는 데이터 프로세싱 작업을 처리할 수도 있다. 

ASIC(Application-Specific Integrated Circuit)

ASIC은 FPGA와 마찬가지로 사용자가 프로세싱 요소를 커스터마이징할 수 있다. 그러나 한번 완료되면 수정이 불가능하다는 차이점이 있다. 이러한 고정된 아키텍처는 대량생산에 적합한 최적의 비용, 탁월한 성능 및 전력 효율성을 제공한다. 반면 ASIC은 개발하는데 수개월에서 수년에 달하는 오랜 기간이 소요된다. 이로 인해, 향후 더욱 높아지는 로봇의 생산성 요건에 대한 적응이 불가능하다. 

로봇 알고리즘 및 아키텍처는 빠르게 진화하고 있으며, 이에 대한 적응 능력은 매우 중요하다. ASIC 기반 가속기는 최첨단 알고리즘의 발전 속도를 따라가기 어려운 특성이 있다. ASIC 개발에 소요되는 시간을 감안하면, 생산에 들어간 직후, 또는 그 이전 단계에 이미 알고리즘의 진화가 시작될 수 있다. 따라서 현 단계의 로봇 기술 생애 주기에서는 ASIC 사용이 제한될 수밖에 없다. 

적응형 컴퓨팅으로 로보틱스 구현

로봇은 센서에서 컴퓨팅 엔진, 그리고 최종단의 액추에이터에 이르기까지 머신 전반에 걸쳐 지속적으로 데이터를 교환하는 일련의 네트워크로 구성된다. 이러한 정보 교환 네트워크를 로봇의 신경 시스템으로 시각화할 수 있다. 인간의 신경계와 마찬가지로, 이러한 정보 교환 과정에서는 일관성과 실시간 응답성이 매우 중요하다. 따라서 고정된 아키텍처를 가진 스칼라 및 벡터 프로세서를 이용해 이러한 성능을 달성하는 것은 상당히 어렵다.

FPGA 및 ASIC에 구현된 고도의 커스텀 병렬 아키텍처는 이러한 한계를 극복할 수 있다. 특히 FPGA는 로봇을 위한 소프트웨어 정의 하드웨어 구현을 가능하게 함으로써 로보틱스 분야의 소프트웨어 개발 접근 방식에 근본적인 변화를 가져오고 있다. CPU의 사전 정의된 아키텍처 및 제약 조건 내에서 동작하는 CPU 프로그래밍 기능 대신, FPGA로 로봇 동작을 구현하면 원하는 작업을 수행하는 아키텍처 자체를 프로그래밍할 수 있다. 

FPGA SOM(System-on-Module)은 높은 일관성과 응답성을 갖춘 로보틱스 플랫폼을 제공한다. [사진=AMD AECG]
FPGA SOM(System-on-Module)은 높은 일관성과 응답성을 갖춘 로보틱스 플랫폼을 제공한다. [사진=AMD AECG]

일관성 있는 실시간 동작이 가능한 적응형 로봇을 구현하고자 하는 로봇 공학자에게는 FPGA의 유연성을 적절히 활용할 수 있는 툴과 하드웨어가 필요하다. 한 가지 예로, AMD AECG 크리아(Kria) K26과 같은 SOM(System-on-Module)은 엣지 애플리케이션을 위해 설계된 솔루션으로 고속 인터페이스와 메모리 및 온보드 전원을 갖추고 있다.

SOM은 프로그래밍 가능한 논리 소자와 DSP 슬라이스를 제공하는 징크 울트라스케일+( Zynq UltraScale+) MPSoC를 내장하고 있으며, 쿼드 코어 애플리케이션 프로세서 조합 및 듀얼 코어 실시간 프로세서 조합, 2D/3D GPU를 통해 스칼라 및 벡터 연산 작업을 처리할 수 있다. 

하드웨어 가속 로보틱스를 위한 필수 라이브러리 및 유틸리티. [이미지=AMD AECG]
하드웨어 가속 로보틱스를 위한 필수 라이브러리 및 유틸리티. [이미지=AMD AECG]

이러한 SOM 외에도, 산업용 등급의 로보틱스 솔루션을 구현하기 위해서는 적절한 라이브러리와 유틸리티가 필요하다. 크리아 로보틱스 스택(Kria Robotics Stac, KRS)은 실질적인 로봇 애플리케이션 개발 플랫폼인 ROS(Robot Operating System)와 밀접하게 통합되어 손쉽게 하드웨어 가속을 이용할 수 있도록 해준다. SOM은 로보틱스 및 산업 자동화 애플리케이션의 성능을 향상시킬 수 있도록 ROS 2를 네이티브 지원한다.

크리아 로보틱스 스택은 ROS 2 소프트웨어 개발 키트(Software Development Kit, SDK)를 사용하며, ROS 2 생태계와의 밀접한 협업을 통해 높은 신뢰성과 응답성을 갖춘 모듈 기반의 로봇 시스템을 구현하고 있다. 이는 QoS(Quality of Service) 메커니즘, 실시간 네트워크 표준인 TSN(Time Sensitive Networking)과 같이 보편적으로 사용되는 기술을 활용할 수 있으며, 애플리케이션 수준의 가속 커널과 ROS 통신 미들웨어, FPGA와 상호작용을 용이하게 하는 런타임 툴도 포함한다. 또, 하이퍼바이저를 통해 가상 머신을 활용한 복합적인 중요 기능들도 지원한다. 

FPGA를 활용한 적응형 가속 컴퓨팅은 산업용 로봇의 성능을 향상시키고, 에너지 효율을 개선하는 동시에, 미래 지향적인 유연성과 보안 기능을 구현할 수 있다. 이러한 차세대 머신을 구현하기 위해서는 FPGA와 스칼라 프로세서, GPU를 통합하는 SOM과 같은 적절한 하드웨어는 물론, ROS 2와 같이 로봇 공학자들에게 익숙한 프레임워크, 손쉽게 사용할 수 있는 소프트웨어 및 툴 등 다양한 요소가 필요하다.
 

이 기사를 공유합니다
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지