ROS 2 부품으로 AMR 및 AGV 통합 간소화
DigiKey 북미 편집자 제공
2026-03-10
자율 이동 로봇(AMR) 및 무인 운반 차량(AGV)에는 센서, 모터, 내비게이션, 인공 지능(AI) 기반 의사 결정을 비롯한 여러 서브시스템에 걸쳐 긴밀한 협력이 필요합니다. 이러한 서브시스템을 모두 통합하는 것은 개발자에게 어려운 과제입니다.
로봇 운영 체제(ROS)는 이러한 복잡성을 해결하는 길을 제공합니다. ROS는 표준화된 통신 프레임워크와, 재사용 가능 패키지로 구성된 대규모 에코시스템을 제공하는 개방 소스 로보틱스 미들웨어입니다. 네이티브 ROS 지원을 제공하는 부품을 선택하면 설계자는 소프트웨어로 주소 지정이 가능한 기능을 갖춘 사전 제작된 하드웨어 모듈을 사용할 수 있어 브링업 시간을 줄이고 상호 운용성을 높일 수 있습니다.
이 기사에서는 AMR 및 AGV 설계자들이 직면한 과제와 ROS가 어떻게 도움을 줄 수 있는지를 간략하게 검토합니다. 그런 다음 모터 컨트롤러, 관성 측정 장치(IMU), 비행 시간(ToF) 센서를 비롯한 Analog Devices(ADI)의 ROS 호환 하드웨어를 소개하고 이러한 부품을 ROS 소프트웨어 스택과 통합하여 제품 개발을 가속화하는 방법을 설명합니다.
AMR 및 AGV의 통합 과제
AMR 또는 AGV 설계에서 통합 작업은 초기 일정의 상당 부분을 차지할 수 있습니다. 하드웨어 계층에서 팀은 부품을 설계하고 인터페이스를 설계하며 신호 무결성 및 타이밍을 검증해야 합니다. 소프트웨어 계층에서는 드라이버를 불러오고 데이터 흐름을 정의하며 시스템이 실제 조건에서 예측 가능하게 동작하는지 확인해야 합니다.
숙련된 팀은 사내 설계를 통해 이러한 목표를 충족할 수 있지만 그 과정에서 기성품 기능을 재창조해야 하는 경우가 많습니다. 이러한 노력은 정당화하기가 어려울 수 있으며, 기존의 접근 방식으로 인해 팀이 독점적인 인터페이스에 종속될 수 있는 경우에 특히 그렇습니다. 요구 사항이 진화할 경우, 부품을 대체하려면 소프트웨어 스택의 상당 부분을 재작업해야 할 수 있습니다.
ROS가 통합 과제를 해결하는 방법
ROS는 이러한 문제를 해결하도록 만들어졌습니다. 이름과 달리 ROS는 고전적 관점에서 운영 체제가 아닙니다. 대신, ROS는 광범위한 도구, 라이브러리, 규칙을 제공하는 오픈 소스 프레임워크입니다.
ROS의 핵심 개념은 복잡한 로보틱스 응용 제품을 모듈식 노드로 구조화하는 것입니다(그림 1). 이러한 매우 작은 크기의 프로세스는 센서 데이터를 읽거나 모터 속도를 제어하는 등의 특정 작업을 수행합니다.
그림 1: ROS의 기본 빌딩 블록에는 패키지, 노드, 메시지, 서비스가 포함되어 있습니다(이미지 출처: Analog Devices, modified by Kenton Williston).
노드는 다음 두 개의 주요 메커니즘을 통해 통신합니다.
- 토픽: 연속 데이터 스트리밍(예: 센서 피드)에 적합한 퍼블리셔-구독자 모델
- 서비스: 빈도가 낮은 동작(예: 장치 구성 및 초기화)에 최적인 요청-응답 모델
여러 노드와 이러한 노드의 종속성(연결된 토픽 및 서비스)을 패키지 내에 통합하여 더 포괄적인 기능을 제공할 수 있습니다. 예를 들어, Analog Devices는 AGV 및 AMR용으로 설계된 센서 및 액추에이터 모듈에 대한 ROS 드라이버 패키지를 만들었습니다. 이러한 패키지는 하드웨어를 ROS 기반 시스템으로 통합하는 데 필요한 노드, 메시지 정의, 구성 파일을 캡슐화합니다.
ROS가 AMR 및 AGV 설계를 간소화하는 방법
이 모듈식 아키텍처는 상호 운용성을 실현하고 개발을 가속화합니다. 하드웨어 계층에서는 ROS가 카메라 및 모터 컨트롤러와 같은 부품에 대한 표준화된 인터페이스를 제공합니다. 이를 통해, 통합 속도가 향상되며 설계자가 벤더에 대한 종속과 라이선스 비용에서 벗어날 수 있습니다.
소프트웨어 계층에서는 ROS가 설계자가 복잡한 로봇을 개발, 테스트, 배포, 유지하는 데 도움을 주는 도구 및 미들웨어를 제공합니다. 이 프레임워크의 현재 버전인 ROS 2는 AMR 및 AGV에 특히 유용한 기능을 제공합니다. 여기에는 다음이 포함됩니다.
- Nav2 내비게이션 스택 - 동작 트리, 금지 구역, 속도 제한 등을 지원합니다.
- 정교한 위치 지정 알고리즘 - AMR 및 AGV가 환경을 파악할 수 있도록 지원하는 매핑 및 현지화 도구를 포함합니다.
- 시뮬레이션, 시각화, 로깅 도구와의 통합 - 개발과 진단 기능을 모두 지원합니다.
ROS 2는 일반적으로 Linux 기반 컴퓨터에서 실행됩니다(다른 OS도 지원됨). ROS 2는 또한 Zephyr 및 FreeRTOS와 같은 실시간 운영 체제(RTOS)를 사용하는 마이크로 컨트롤러 장치(MCU)에서 직접 실행되는 변형 제품인 마이크로 ROS를 지원합니다.
ROS 2 통합을 통한 모터 제어
ROS 2의 전위를 설명하기 위해, 드라이브 컨트롤의 복잡성을 고려해 보겠습니다. 대부분의 AMR 및 AGV는 서로 다른 드라이브 구성을 사용하는데, 이때 독립적으로 제어되는 두 개의 휠 세트가 전진 운동 및 회전을 가능하게 합니다. 이 아키텍처에는 두 휠을 동시에 구동하면서 내비게이션 시스템에서 조정된 명령을 허용하는 모터 컨트롤러가 필요합니다.
ADI의 TMCM-2611-AGV(그림 2)는 이러한 요구 사항을 즉시 해결합니다. Trinamic Motor Controller Module(TMCM) 제품군에 속하는 이 기판은 AGV 및 AMR 견인 응용 분야를 위해 설계된 3상 브러시리스 DC(BLDC) 모터를 위한 2축 서보 드라이브 플랫폼입니다. 각 축은 증분식 직각 인코더 또는 디지털 홀 효과 센서를 통한 위치 피드백으로 최대 14암페어(A) RMS(48V 기준)까지 모터를 구동할 수 있습니다.
그림 2: TMCM-2611-AGV는 3상 BLDC 모터를 위한 2축 컨트롤러/드라이버입니다(이미지 출처: Analog Devices).
adi_tmcl ROS 2 드라이버는 주로 토픽을 통해 이 하드웨어를 ROS 2 에코시스템에 연결합니다(그림 3). 예를 들어, 내비게이션 스택은 /cmd_vel_X 토픽을 통해 휠의 각 세트에 속도 명령을 게시할 수 있습니다. adi_tmcl 드라이버는 이러한 토픽을 구독하고 명령을 Trinamic Motion Control Language(TMCL) 프레임에 변환하며 Linux 네이티브 SocketCAN 인터페이스를 통해 CAN 버스에 전송합니다.
그림 3: TMCL ROS2 드라이버 패키지는 강력한 인터페이스 세트를 통합합니다(이미지 출처: Analog Devices).
다른 방향에서는 adi_tmcl 드라이버가 모터 피드백을 /tmc_info_X 토픽에 게시하여 속도, 위치, 토크, 상태 정보를 제공합니다. 다른 노드는 애플리케이션 수준의 주행 거리 측정 계산, 진단 또는 폐쇄 루프 제어를 위해 이 데이터를 구독할 수 있습니다.
이 양방향 흐름은 ROS 2가 모듈식 시스템 설계를 구현하는 방법을 설명합니다. 내비게이션 알고리즘은 TMCL 또는 CAN 버스에 대한 정보를 알 필요가 없으며, 단순하게 표준 속도 메시지를 게시하고 피드백을 수신하면 됩니다.
adi_tmcl 드라이버는 또한 초기화 및 파라미터 액세스 같은 작업을 위한 서비스를 사용합니다. 예를 들어, /tmcl_gap_all은 모든 축 파라미터 값을 검색하고 /tmcl_ggp_all은 컨트롤러 기판에 대한 모든 전역 파라미터 값을 검색합니다.
위치 추적을 위한 관성 측정
휠 인코더를 통해 시스템은 휠 이동 거리를 기반으로 위치를 예측하지만, 휠 주행 거리 측정만으로는 정확한 위치를 추적하기에 불충분한 경우가 많습니다. 휠 슬립과 고르지 않은 표면으로 인해 시간이 지날수록 큰 오차를 일으킬 수 있습니다. 이는 GPS 신호가 안정적이지 않고 지속적인 수정을 제공할 수 없는 많은 실내 환경에서 특히 우려되는 부분입니다.
IMU는 AMR 및 AGV가 추측 계산 정확도를 향상시키기 위해 사용할 수 있는 독립적인 모션 참조를 제공합니다. 좋은 예로, 15mm × 15mm × 5mm BGA 패키지에 포함된 3축 자이로스코프 및 3축 가속기를 통해 6자유도 정밀 관성 감지를 제공하는 ADIS16500/05/07 제품군을 들 수 있습니다. 공장 보정은 각 센서의 민감도, 편향, 정렬, 온도 보상을 특성화하여 시스템 설계에 대한 통합 부담을 줄여 줍니다.
대표적인 예로 ADIS16500AMLZ가 있습니다(그림 4). 이 부품은 ±2000˚/s 자이로스코프 범위, 8.1°/hr의 자이로스코프 작동 중 편향 안정도, 0.29°/√hr의 각도 랜덤 워크를 제공합니다. 이러한 사양은 시간 경과에 따른 드리프트를 줄이는 데 도움을 주어, 외부 연결 간 추측 계산 성능을 향상시킵니다.
그림 4: ADIS16500AMLZ는 콤팩트한 BGA 패키지의 정밀 MEMS IMU입니다(이미지 출처: Analog Devices).
ROS 2 통합의 경우 ADIS16500/05/07 제품군은 imu_ros2 드라이버로 지원됩니다. 이 드라이버는 LibIIO를 통해 Linux 산업용 I/O 서브시스템을 활용합니다. 이 드라이버의 출력은 확장 칼만 필터를 구현하여 IMU와 추측 계산 데이터를 통합하는 일반적인 ROS 2 센서 융합 패키지(예: robot_localization)와 호환됩니다.
IMU를 실험해 보려는 설계자는 ADIS16500/PCBZ 평가 기판으로 시작할 수 있습니다(그림 5). 이 기판은 표준 2mm 피치 리본 케이블과 호환되는 16핀 헤더를 통해 IMU의 SPI 인터페이스에 노출됩니다.
그림 5: ADIS16500/PCBZ 평가 기판은 16핀 헤더를 통해 SPI 인터페이스에 노출됩니다(이미지 출처: Analog Devices).
장애물 인식을 위한 깊이 감지
장애물 인식은 또 다른 표준 AMR/AGV 기능입니다. LiDAR는 더 먼 거리에서 장애물을 인식하는 데 뛰어나지만, 대부분의 응용 분야에서는 낮은 곳의 장애물, 바닥 불연속 또는 LiDAR의 스캔 면을 벗어난 장애물을 인식하기 위해 근거리 감지도 필요합니다. ToF 깊이 카메라는 넓은 시야에 걸쳐 조밀한 깊이 이미지를 제공하여 이러한 간극을 해결합니다.
ADTF3175BMLZ ToF 모듈(그림 6)은 이러한 요구 사항에 매우 적합합니다. CMOS 깊이 센서와 조명 광학을 결합하는 이 모듈은 75˚ × 75° 시야에서 최대 1024 × 1024 해상도로 깊이 및 유효 밝기(AB) 프레임을 캡처합니다. 해상도와 적용 범위의 이러한 조합으로 이 모듈은 다양한 높이에서 장애물이 나타날 수 있는 창고와 제조 환경의 안전 영역 모니터링 및 바닥 감지에 매우 적합합니다.
그림 6: ADTF3175BMLZ ToF 모듈은 CMOS 깊이 센서와 조명 광학을 결합합니다(이미지 출처: Analog Devices).
adi_3dtof_adtf31xx 드라이버를 사용하면 표준 ROS 2 메시지 형식을 사용하여 깊이 및 AB 프레임을 게시함으로써 카메라 데이터에 손쉽게 액세스할 수 있습니다. 이러한 출력은 포인트 클라우드 생성, 바닥 감지, 안전 버블 모니터링과 같은 작업을 위해 일반적인 인식 패키지와 직접 통합됩니다. 이 드라이버는 또한 파일 재생 모드를 지원하므로, 실제 하드웨어 연결 없이도 알고리즘 개발 및 테스트가 가능합니다.
개발 및 프로토타이핑을 위해 EVAL-ADTF3175D-NXZ 키트(그림 7)는 완전한 센서 플랫폼을 제공합니다. 이 키트의 가장 눈에 띄는 특징은 Linux를 실행하는 Arm® 기반의 기판으로, ROS 2 노드를 직접 호스트할 수 있다는 것입니다. 또한, 센서는 깊이 데이터를 이더넷을 통해 별도의 ROS 2 호스트에 스트리밍하여 다양한 시스템 아키텍처에 유연성을 제공할 수 있습니다.
그림 7: EVAL-ADTF3175D-NXZ 평가 키트에는 Arm 기반의 Linux 호스트가 포함되어 있습니다(이미지 출처: Analog Devices).
Analog Devices Autonomous Mobot(ADAM) 레퍼런스 플랫폼은 이러한 ROS 호환 부품이 배터리 관리, 전력 변환, 통신을 위한 추가 솔루션과 통합되어 완전한 AMR 시스템을 구성하는 방식을 보여줍니다.
결론
ROS 호환 부품을 선택하면 AMR/AGV 설계와 개발의 복잡성을 크게 줄일 수 있습니다. 다양한 센서와 액추에이터를 위한 ROS 2 드라이버를 제공하는 ADI와 같은 검증된 부품 소스를 사용하면 신뢰할 수 있는 파트너가 될 수 있습니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.


