
글/ 마크 루니(Mark Looney) 애플리케이션 엔지니어, 아나로그디바이스(Analog Devices)
관성 센서 솔루션을 처음으로 평가해 보는 사람들에게, 기존의 컴퓨팅 및 I/O 자원은 데이터 속도와 동기화 기능이 제한적이어서 센서 기능에 대한 적절한 현장 평가가 어려울 수 있다. 가장 일반적인 과제 중 하나는 가용한 최고의 성능과 디지털 후처리 성능을 위해, MEMS IMU가 요구하는 데이터 속도로 시간적으로 일치하는(time-coherent) 데이터 캡처를 구현하는 일이다. 컴퓨팅 플랫폼의 메인 루프는 속도가 10Hz 정도로 느릴 수 있으며, 센서를 통해 데이터가 업데이트되는 인터럽트 구동 방식(interrupt-driven)의 데이터 캡처를 지원할 수 없는 플랫폼 상에서 실행되곤 한다.
이 글에서는 시스템 개발자가 MEMS IMU에서 저속의 비동기식 컴퓨팅 루프와 고성능 데이터 캡처 및 처리(>1000Hz) 간의 격차를 해결하는 데 사용할 수 있는 기법에 대해 알아본다.
과제 식별
PNT(position navigation timing) 기술 전문가인 다나 고워드(Dana Goward)는 최근 발표한 기고를 통해 우리 사회가 GPS 기술이 제공하는 PNT 서비스에 과도하게 의존하고 있다고 지적했다.(참고자료 1) 기존 GPS/GNSS PNT 서비스에 대한 일련의 복잡한 위협에 직면하여, 내비게이션 플랫폼 개발자는 현재 PNT 전략의 취약성을 해결하는 데 도움이 되는 새로운 기술을 신속하게 평가해야 한다. 자율주행차(autonomous vehicle, AV)를 위한 유도항법제어(guidance navigation control, GNC)는 PNT 서비스의 끊김 또는 장애와 관련된 일련의 복잡한 위협을 식별해야 하는 그러한 시스템의 한 예이다.
실제로 많은 AV 개발자와 운영자는 자신들의 플랫폼에 처음으로 관성 센서를 추가하는 것을 고려할 수밖에 없는 여러 가지 문제에 직면하고 있다. MEMS 관성 측정 장치(inertial measurement unit, IMU)를 처음 사용할 경우, 가용한 최고의 성능을 지원하는 샘플 속도로 데이터 일관성을 구축하는 것은 상당히 까다로운 과제일 수 있다. 초기 프로토타이핑 및 예비 현장 실험에서도 샘플 속도와 동기화가 중요한 요소이며, 특히 시스템 개발자가 개발 과정에서 장기적 요구사항을 파악하기 위해 예비 결과에 의존하는 경우 큰 영향을 미칠 수 있다. 따라서 MEMS IMU의 주요 동작 속성을 파악하고 최적화하는 것이 첫 단계에서 해야 할 중요한 작업이다.
MEMS IMU
MEMS IMU는 일반적으로 3개의 상호 직교하는 축 방향을 비롯하여, 3축 선형 가속도, 3축 각속도(자이로스코프) 감지를 포함한다. 그림 1은 각 센서의 극성과 축 지정과 함께 관성 좌표계를 보여준다.
자율주행 지상차량(AGV) 활용 사례
그림 2는 관성 항법 및 추적을 위해 비디오, 바퀴 기반 주행기록계, GPS를 사용하는 AGV의 메인 프로세싱 루프의 개략적인 순서를 나타낸 것이다. 점선으로 표시된 부분은 이 루프 안에서 ADIS16576 MEMS IMU로부터 6개의 관성 센서를 읽는 동작을 추가하는 것을 보여준다.
예를 들면, 메인 루프는 비디오와 바퀴 기반 주행기록계로부터 50Hz의 메인 루프 속도로 데이터를 수집하는 한편, 10Hz 속도로 GPS/PNT 데이터를 업데이트한다. 이 1세대 AGV는 공군 기지에서 건물 간 기본적인 보급품 배송 서비스를 제공한다. 차세대 AGV 운영자는 부분적인 GPS 끊김 현상(2개의 GPS 위성만 가용한 상황 등)에 대처하기 위해 추가적인 센서를 평가해야 하며, 복잡한 오프로드 지형에서 속도를 두 배로 높일 수 있도록 GNC로 업그레이드할 필요가 있다. ADIS16576 MEMS IMU는 이러한 평가에 적합한 첫 번째 후보이다.
첫 번째 과제는 루프 업데이트 속도와 MEMS IMU가 가용한 최고의 성능과 동작을 제공할 수 있는 샘플 속도 간의 큰 격차(80배)를 해결하는 것이다. GNC 시스템의 프로세싱 루프를 증가시키려면 대폭적인 변경이 필요하지만, 이는 첫 번째 프로토타입과 예비 현장 실험에는 비실용적이다. 그렇다면 예비 현장 실험에서 이 특정 활용 사례에 대해 MEMS IMU의 이점을 가장 잘 평가할 수 있으려면 어떻게 해야 할까? 해답은 데이터 감소, 시간 일관성, 동기화(참고자료 2) 및 버퍼링과 같은 동작 속성들을 최적으로 조합하는 데 있다.
데이터 감소
데이터 속도를 낮추는 것은 더 느린 속도로 데이터를 수집하는 정도로 간단하게 해결할 수 있다. 그러나 이 방법은 신호가 언더샘플링되기 때문에, 특히 AGV 플랫폼이 피드백 감지를 위해 MEMS IMU에 많이 의존하는 조건(매우 동적인 동작 및 환경 프로파일)에서 오차가 발생할 수 있다. MEMS IMU 코어 센서(가속도계, 자이로스코프)와 신호 체인은 대부분의 다른 AGV 센싱 플랫폼보다 넓은 대역폭을 갖는 경우가 많다. 따라서 대역폭을 줄이는 것이 관성 신호에서 데이터 속도를 낮추는 전략의 일부로 포함되어야 한다.
이러한 취약성에 대처하는 한 가지 편리한 방법은 MEMS IMU의 신호 체인에 디지털 필터링을 사용하는 것이다. 예를 들어 그림 2의 시스템에 ADIS16576을 채택할 경우, 바틀렛(Bartlett) FIR 필터를 스테이지당 64탭으로 설정하면 컷오프 주파수를 약 20Hz로 줄일 수 있다. 데시메이션 필터를 각 데이터 업데이트에 대해 평균 80개의 순차적 샘플로 설정하면 출력 데이터 속도(output data rate, ODR)가 50Hz로 감소한다. 이러한 필터를 사용할 때는 데이터 폭이 그에 따른 비트 증가를 지원하는지 확인해야 한다. 이 특정 사례에서 시스템 프로세서는 각 관성 센서에 대해 2개의 16비트 레지스터(전체 32비트)를 확보해야 한다. 버스트 읽기(burst-read) 명령을 사용하고, 직렬 클럭 주파수가 8MHz이고, 통신 오버헤드에 4μs를 할당하는 경우, 이 요구사항(32비트 관성 센서 데이터)을 수용하면 통신 시퀀스 시간이 24μs에서 40μs로 증가한다.
시간 일관성
데이터 속도와 관련 대역폭을 최적화했다면, 그 다음 최적화는 IMU 데이터 샘플링과 시스템 클럭 레퍼런스 간의 시간 일관성을 구축하는 데서 달성할 수 있다. 예시를 위해 이 시스템의 레퍼런스로서 비디오 동기화(50Hz)를 정의해 보자. 공장 디폴트 구성으로 동작할 경우, ADIS16576은 내부 클럭 레퍼런스를 사용하므로 비디오 동기화와 일부 불일치가 발생하는 것은 불가피하다. IMU의 ODR이 비디오 동기화보다 느리면, 그 결과 때때로 갱신되지 않은 이전 데이터를 읽게 된다. 반대로 IMU의 ODR이 비디오 동기화보다 빠르면, 샘플 누락이 발생할 수 있다. 그 발생 빈도는 각 클럭 간 불일치 크기에 따라 달라질 것이다. 또 다른 제한은 IMU 데이터의 지연이 전체 샘플 주기(20ms = 1/50Hz)에 따라 달라지는 것일 것이다.
보다 강력한 시간 일관성을 구현할 수 있는 두 가지 방법이 있다. 첫 번째 방법은 IMU의 데이터 준비 신호를 사용하여 IMU 데이터 수집을 트리거하는 것이다. 그림 3은 두 가지 다른 동작 후 IMU 데이터를 검사하는 순서도를 보여준다. 이 방법은 데이터 샘플 누락 문제가 없어 50Hz의 메인 루프 속도로 IMU 데이터의 시간에 일치하는 흐름을 구축할 수 있다. 또한 이 컨셉트는 GNC 프로세싱과 비디오 읽기 사이에, IMU에서 새로운 데이터를 검사하도록 확장할 수 있다.
그림 3. IMU 인터럽트가 있는 AGV 프로세싱 순서 개략도
동기화
시간 일관성과 정밀한 지연을 구축하는 또 다른 방법은 MEMS IMU에 외부 동기화 기능을 사용하는 것이다. ADIS16576은 두 가지 주요 옵션인 직접 모드와 스케일링 모드를 제공한다. 스케일링 동기화 모드를 활용하는 것은 그림 2의 순서도에 가장 적합한 모드이다. 시스템 클럭이 50Hz에서 동작하고 이 디바이스는 4000Hz에서 최고의 성능을 제공하므로 클럭 스케일은 80배로 설정한다. 온보드 필터링과 함께 사용할 경우, 결과는 여전히 20Hz 대역폭과 ODR이 되지만, 시스템 클럭 레퍼런스(비디오 동기화)에 대해 고정된 지연 시간을 갖는다.
데이터 버퍼링
데이터 버퍼링은 최대 데이터 샘플 속도가 중요하지만 초기 현장 실험에 사용할 수 있는 플랫폼이 동기식 데이터 통신 서비스만 제공할 수 있는 경우에 유용한 기법이다. 시스템 설계자는 IMU를 선택할 때 데이터 버퍼링을 요구사항에 포함시키거나, 또는 IMU를 연계된 임베디드 프로세서와 함께 사용함으로써 데이터 버퍼링을 구현할 수 있다.
그림 2의 사례를 동일하게 사용할 경우, ADIS16576의 모든 온보드 필터링 기능을 비활성화한 상태에서, 이 온보드 FIFO는 메인 루프의 1사이클 동안 80개의 샘플을 수집한다. 이 설정은 IMU의 신호 체인에서 어떠한 필터링도 사용하지 않으므로, 시스템은 16비트 데이터 형식을 사용함으로써 통신 시간을 최적화할 수 있다. 따라서 이 AGV 프로세서는 8MHz의 직렬 클럭과 각 16비트 통신 세그먼트 사이에 6μs의 스톨(stall) 시간을 사용할 경우, 6개의 모든 관성 샘플에 대해 4ms 이내에 80개의 샘플을 모두 수집할 수 있다.
결론
MEMS IMU에서 최고의 성능을 끌어내려면 상당한 구조 변경이 필요할 수 있다. 그러나 이러한 업그레이드에 대규모 투자를 하기 전에, 가용한 디지털 기능을 최적화하면 AGV 개발자는 해당 활용 사례를 보다 쉽게 평가하고 궁극적으로 가장 중요한 작동 목표를 만족하는 신뢰할 수 있는 요구사항을 개발할 수 있다. MEMS IMU 응답을 시간적으로 일치하게 제공하는 프로토타이핑을 신속하게 구축하는 것은 기존 PNT 서비스에 대한 증가하는 위협에 대처함은 물론 미션 프로파일을 확장하고자 하는 AV 개발자에게 중요한 단계가 될 것이다.
참고자료
1. Dana Goward. “US Dangerously Behind, PNT Leadership Needed.”
GPS World, July 2024.
2. Mark Looney. “Synchronizing MEMS IMUs with GPS in Autonomous Vehicles.”
Inside GNSS, May 2024.
저자 소개
마크 루니(Mark Looney)는 아나로그디바이스(Analog Devices)의 애플리케이션 엔지니어이다. 1998년에 ADI에 입사한 후 센서 신호 처리, 고속 아날로그-디지털 컨버터 및 DC-DC 전력 변환 분야에서 경력을 쌓았다. 네바다대학교 리노 캠퍼스에서 전기공학 학사(1994년)와 석사 학위(1995년)를 받았으며, 여러 편의 글을 발표했다. ADI에 합류하기 전에는 자동차 전장 부품 및 교통 솔루션 회사 IMATS의 창업을 도왔으며, 인터포인트 코퍼레이션(Interpoint Corporation)에서 설계 엔지니어로 근무했다.