본문으로 건너뛰기

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 노드를 빌드하고 실행하는 데 필요한 다른 라이브러리를 설치합니다.
  • ros2 및 colcon 패키지를 설치합니다.
  • 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)에서 인식, 계획 및 제어 노드를 호스팅할 준비가 되어 있습니다.