자율 이동 로봇(AMR)은 인기가 높아지고 기능이 발전하고 있으며, 특히 Analog Devices와 같은 제조업체는 탐색을 돕기 위해 점점 더 지능적인 센서와 제어 시스템을 개발하는 중입니다. 이 문서에서는 ROS2 패키지, ADI ToF 센서, ADI 관성 측정 장치 및 NVIDIA Jetson AGX Orin 개발자 키트를 사용하여 ROS2 장착 로봇에서 AMR 탐색을 수행하는 방법에 대해 자세히 알아봅니다.
소개
- 이 사이트는 ROS2 패키지, EVAL-ADTF3175D-NXZ 비행시간법 센서, ADIS16470 관성 측정 장치, NVIDIA Jetson AGX Orin 개발자 키트를 사용하여 ROS2 지원 로봇에서 자율 이동 로봇 탐색을 수행하려는 로봇 개발자를 위한 것입니다.
- 여기에는 하드웨어 및 소프트웨어 요건에 대한 정보, 개별 구성 요소에 대한 설정 지침, AGX Orin 키트와 센서를 연결하는 지침, RTAB-Map 및 센서 융합을 사용한 로봇 탐색에 대한 자습서가 포함되어 있습니다.
목차
- AMR 개요 시스템에는 다양한 부분이 어떻게 상호 연결되는지 보여 주는 시스템 블록 다이어그램에 대한 간략한 세부 정보가 포함되어 있습니다.
- 전체 탐색 파이프라인을 실행하기에 앞서 AGX Orin 키트, EVAL-ADTF3175D-NXZ 모듈, ADIS16470 IMU에 대한 전제 조건을 설정해야 합니다. ROS2 설정 및 필요한 종속 소프트웨어 패키지에 대한 정보는 소프트웨어 요건에서 확인할 수 있습니다.
- 향후 소프트웨어 종속성 오류를 방지하려면 이 단계를 주의 깊게 따르는 것이 좋습니다. ToF 설정은 EVAL-ADTF3175D-NXZ 이미지를 플래싱하는 표준 방법을 소개합니다.
- AGX Orin의 USB를 통해 관성 측정 장치 ADIS16470을 연결하려면 추가 연결이 필요합니다. IMU 설정에서 ADIS16470에 대한 구체적인 설정 지침이 제공됩니다.
- Tof와 AGX Orin의 인터페이스의 지침을 따르려면 AGX Orin의 EVAL-ADTF3175D-NXZ에서 발생하는 IR 및 심도 데이터에 액세스할 수 있어야 합니다. ROS2 소프트웨어 스택과의 통합을 간소화하기 위해 이 데이터는 ROS2 주제로 표시됩니다.
- 마찬가지로 Imu와 AGX Orin의 인터페이스의 지침에 따라 ROS2 주제에서 ADIS16470 IMU 데이터에 액세스할 수 있습니다.
- AMR이 자율 탐색을 수행하려면 주변 맵을 만드는 것이 중요합니다. 당사의 경우에는 잘 알려진 RTAB-Map 알고리즘을 사용하여 비행시간법 센서 데이터로 맵을 만들었습니다. RTAB-Map 라이브러리는 ROS2 패키지로 제공됩니다. TOF와 RTABMAP의 인터페이스의 지침에 따라 RTAB-Map이 EVAL-ADTF3175D-NXZ 센서에서만 작동하는지 확인하십시오.
- AMR에 대한 TOF 자습서를 통한 탐색 및 AMR에 대한 TOF 자습서를 통한 센서 융합 및 탐색 모두 EIC에서 개발한 AMR에서 수행되는 자율 탐색에 대한 포괄적인 자습서를 제공합니다. 이 AMR은 AGX Orin으로 제어되며 외부 센서 EVAL-ADTF3175D-NXZ 및 ADIS16470이 연결되었습니다.
- 독자적인 맞춤형 AMR을 보유하고 있는 고객이라면 NON-EIC AMR 작업의 특별 가이드를 참조하여 이 가이드에 언급된 시스템과 AMR을 통합하는 방법에 대해 알아보십시오. 이 섹션에서는 또한 이 시스템을 필요에 따라 맞춤화할 수 있도록 하는 소프트웨어 변경 사항에 대해 설명합니다.
개요 시스템
- 그림 1은 ToF 기반 AMR 탐색 시스템의 상위 수준 시스템 블록 다이어그램을 보여 줍니다. 전체 소프트웨어 스택은 로봇 작동 시스템(ROS)으로 설계되었습니다. 당사의 AMR에서 AGX Orin 키트는 코어 프로세서 역할을 담당했으며, 여기에서 도커를 통해 모든 ROS2 Humble 노드가 실행되고 AMR의 동작이 제어되었습니다. 외부 센서로는 EVAL-ADTF3175D-NXZ 및 ADIS16470이 AGX Orin에 연결되었습니다. EVAL-ADTF3175D-NXZ에는 센서 드라이버와 ROS 노드 패키지를 포함하는 I.MX8 임베디드 보드가 장착되어 있습니다. 이 센서는 AGX Orin에 USB로 연결되어 있으며 모든 주제를 ROS1 형식으로 게시합니다.

AMR 탐색 시스템 블록 다이어그램
- 이 시스템은 ROS2에서 개발되었기 때문에 당사는 ToF의 ROS1 항목을 ROS2로 포팅하는 데 AGX Orin 내부의 ros1 브리지 패키지를 사용했습니다. 탐색에 사용되는 다른 ROS2 Humble 노드로는 RTAB-Map 노드, ROBOT LOCALIZATION 노드, NAV2 노드, IMU Driver 노드가 있으며, 위 그림과 같이 ROS2 Humble Docker 컨테이너 내에서 실행됩니다.
- EIC가 개발한 AMR에서는 마이크로 ROS 에이전트를 사용하여 하위 수준 모터 제어 및 휠 주행 거리 측정을 처리했습니다. Jetson AGX Orin에서는 직렬 인터페이스를 통해 마이크로컨트롤러와 통신하는 마이크로 ROS 에이전트가 실행되었습니다. 또한 마이크로컨트롤러는 Jetson에서 나오는 제어 신호를 모터 드라이버로 보내고 휠 인코더 피드백을 Jetson에 제공합니다. 이 설정은 EIC에서 개발한 AMR에만 적용 가능합니다. 맞춤형 AMR의 경우 하위 수준 모터 제어 및 휠 인코더 피드백 메커니즘을 처리하기 위한 설정이 다를 수 있습니다. 자세한 내용은 블로그를 참조하십시오(여기 클릭).
참고: RTAB-Map은 동시 위치추정 및 매핑(SLAM) 알고리즘을 활용하기 위해 외부 주행 거리 측정을 입력으로 사용합니다. EIC가 개발한 AMR의 경우 당사는 휠 주행 거리 측정을 외부 주행 거리 측정 소스로 사용했습니다. ROBOT_LOCALIZATION(EKF) 패키지를 사용하여 IMU 데이터와 휠 주행 거리 측정을 결합하는 방식으로, 주행 거리 측정을 개선하기 위해 센서 융합을 사용했습니다.