새소식

로봇,ROS,SLAM/ROS2 기초 공부

[ROS2] ROS2 Package, Node, Launch 개요

  • -

패키지란?

 

- ROS2에서 소프트웨어 구성의 기본 단위 

- 특정 ROS2 프로그램에 포함된 모든 파일, 즉 모든 CPP 파일, Python 파일, 설정 파일, 파라미터 파일을 가지고 있음

- ROS2 프로그램을 패키지로 구성하면 다른 개발자/사용자와 훨씬 쉽게 공유 가능함 

- 패키지 유형 

  - Python Package

  - C++ Package 

 

 

노드란? 

 

- 노드는 ROS2에서 연산을 수행하는 최소 단위의 실행 프로세스 

- 전체 로봇 시스템은 많은 노드로 구성됨 

- ROS2에서는 단일 launch 파일에 하나 이상의 노드(C++ 또는 Python 프로그램 등)가 포함될 수 있음

- 각 노드는 특정 작업을 담당하며, 여러 노드가 서로 통신하며 복잡한 로봇 시스템을 구성 

   - 예: 휠 모터 제어용 노드, 레이저 거리 측정기 제어용 노드 등등 

- 통신 방식 

   - Topic: 발생/구독 모델을 사용한 비동기 통신 

   - Service: 요청/응답 모델을 사용한 동기 통신 

   - Action: 장기 실행 작업을 위한 비동기 통신 

   - Parameters: 노드의 구성 값을 저장하고 공유 

 

 

Lanch 파일이란? 

 

- 여러 ROS2 노드와 그 매개변수를 정의하고 실행하는 스크립트 

 

- 목적 

   - 복잡한 로봇 시스템의 여러 컴포넌트를 쉽게 시작 

   - 노드 실행 순서 관리 

   - 실행 시 매개변수 설정 

   - 조건부 실행 및 이벤트 처리 

 

- 파일 형식 

   - Pyrthon (.py) 

   - XML (.xml)

   - YAML (.yaml) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.