본문으로 건너뛰기

ROS 2를 Modalix 시스템 온 모듈(SoM) DevKit에 설치합니다.

이 가이드를 사용하여 로봇 운영 체제 2(ROS 2)를 Modalix SoM DevKit에 설치하고, 이 시스템이 물리적 AI 워크로드에 어떻게 적용되는지 알아보세요.

ROS 2는 무엇인가요?

ROS 2는 2세대 로봇 운영 체제로, 로봇 및 물리적 AI 애플리케이션을 구축하기 위한 오픈 소스 소프트웨어 라이브러리 및 도구 세트입니다. 이는 단일 운영 체제가 아닙니다. Linux에서 실행되는 미들웨어 계층으로, 센서, 액추에이터, 인식 모델, 플래너, 컨트롤러와 같은 독립적인 로봇 프로세스가 서로를 찾고 데이터를 교환할 수 있도록 합니다.

주요 기능은 다음과 같습니다.

  • 노드 기반 아키텍처. 각 기능(카메라 드라이버, 감지기, 모터 컨트롤러, SLAM 스택)은 독립적인 노드로 실행됩니다. 노드는 런타임에 구성되므로 동일한 인식 노드를 매우 다른 로봇에 걸쳐 재사용할 수 있습니다.
  • DDS 기반 통신. ROS 2는 실시간, 동료 간 게시/구독 메시징을 위한 데이터 배포 서비스(DDS) 표준을 기반으로 하며, 구성 가능한 서비스 품질(신뢰성, 지속성, 마감 시간, 활성 상태)을 제공합니다. 이는 안전이 중요한 요소이고 시간 제약이 있는 로봇 공학에 필수적인 요구 사항입니다.
  • 표준 메시지 유형. 일반적인 메시지 정의의 방대한 카탈로그(sensor_msgs, geometry_msgs, nav_msgs, vision_msgs 등)를 통해 서로 다른 공급업체의 인식, 계획 및 제어 구성 요소가 사용자 지정 연결 코드를 사용하지 않고도 상호 운용할 수 있습니다.
  • 다양한 플랫폼에서 사용 가능하며 실시간 환경에 최적화됨. ROS 2는 Linux에서 실행되며, ARM64 및 x86_64를 지원하고, 실시간 커널 및 마이크로컨트롤러 스택(마이크로 ROS)과 함께 작동하도록 설계되었습니다.
  • 다양한 도구 생태계. 3D 시각화를 위한 rviz2, 내부 검사를 위한 rqt, 센서 데이터 기록 및 재생을 위한 rosbag2, 그리고 선언적 방식으로 시스템을 시작하고 구성하기 위한 ros2 launch를 제공합니다.

ROS 2를 Modalix 시스템 온 모듈(SoM)에서 실행해야 하는 이유는 무엇인가요?

자율 이동 로봇, 드론, 로봇 팔, AMR(자율 이동 로봇), 그리고 작동 기능을 갖춘 스마트 카메라를 포함한 물리적 AI 시스템은 센서, 제어 및 안전을 위해 높은 처리량의 신경망 추론결정론적 소프트웨어 프레임워크 모두 필요합니다. Modalix SoM은 이러한 조합을 지원합니다.

  • 인지 작업을 MLA로 오프로드하고, ROS 2는 Arm 코어에서 실행합니다. 인지 노드(객체 감지, 분할, 깊이, 자세, BEV 융합)는 MLSoC의 MLA를 호출할 수 있으며, ROS 2 게시자는 결과를 표준 vision_msgs 또는 sensor_msgs 형식으로 전달합니다. 따라서 독점적인 IPC가 필요하지 않습니다.
  • 단일 보드, 풀 스택. 카메라 입력, 머신 러닝 추론, ROS 2 미들웨어, 계획 및 모터 제어 기능을 모두 동일한 Modalix 시스템 온 모듈(SoM)에서 실행하여 별도의 보조 컴퓨팅 보드의 필요성을 줄일 수 있습니다.
  • 전력 효율적인 엣지 배포. Modalix의 와트당 성능은 드론, AMR, 휴대용 검사 장치와 같은 배터리로 작동하는 플랫폼을 지원합니다.
  • eLxr Debian 기반. Modalix SoM은 eLxr Debian에서 파생된 런타임을 실행하므로, 일반적인 경우에는 표준 ROS 2 apt 패키지를 문제없이 설치할 수 있습니다. 즉, 크로스 컴파일이나 사용자 지정 Yocto 레이어가 필요하지 않습니다.

필수 조건

정보

Modalix SoM에 ROS 2를 설치하려면 eLxr 런타임에서 실행되는 SDK 버전 2.1.0 이상이 필요합니다. 런타임을 확인하거나 변환하려면 eLxr로 변환을 참조하십시오.

다음과 같은 것들도 필요합니다.

  • Modalix 시스템 온 모듈(DevKit)이 켜지고 네트워크 또는 직렬 콘솔을 통해 접속할 수 있습니다.
  • sima-cli가 DevKit에 설치되었습니다.
  • 패키지 다운로드를 위해 DevKit에 활성 상태의 인터넷 연결이 필요합니다.

ROS 2를 설치합니다.

sima-cli는 Modalix SoM에 적합한 ROS 2 배포판을 다운로드하고, apt 소스를 구성하며, 기본 패키지와 표준 도구를 설치하는 설치 프로그램을 제공합니다.

1단계: sima-cli를 사용하여 ROS 2를 설치합니다.

Modalix 셸에서 다음 명령을 실행합니다.

sima@modalix:~$ sima-cli install tools/ros2

설치 프로그램:

  • 필요한 Debian bookworm 및 ROS 2 apt 저장소를 추가하고, ROS 서명 키도 함께 추가합니다.
  • 빌드에 필요한 종속성( cmake, colcon, vcstool), Qt 및 OpenCV 개발 패키지, GStreamer 플러그인 세트, 그리고 SoM에서 ROS 2 노드를 빌드하고 실행하는 데 필요한 다른 라이브러리를 설치합니다.
  • ros2colcon 패키지를 설치합니다.
  • source /usr/local/ros2/local_setup.bash/home/sima/.bash_profile에 추가하여 사용자가 로그인할 때마다 ROS 2 환경이 자동으로 로드되도록 하고, 현재 셸에서 해당 파일을 소싱합니다.
2단계. 설치 확인

sima-cli install tools/ros2가 완료되면 설치 프로그램이 현재 셸에서 ROS 2 환경을 활성화합니다. ros2 CLI를 PATH에서 실행할 수 있는지 확인하세요.

sima@modalix:~$ ros2

그런 다음 두 개의 셸에서 표준 송신/수신 데모를 실행하여 DDS 미들웨어가 전체적으로 제대로 작동하는지 확인합니다.

sima@modalix:~$ ros2 run demo_nodes_cpp talker

동일한 장치에서 두 번째 셸을 실행합니다.

sima@modalix:~$ ros2 run demo_nodes_py listener

수신자는 송신자가 메시지를 게시할 때마다 I heard: [Hello World: N] 메시지를 출력해야 합니다. ROS 2는 SiMa.ai의 머신 러닝 파이프라인과 함께 Modalix 시스템 온 모듈(SoM)에서 인식, 계획 및 제어 노드를 호스팅할 준비가 되어 있습니다.