본문 바로가기

ROS (Robot Operating System)

[ROS: Robot Operating System] 3-1. ROS 파일시스템

1. ROS의 파일 시스템 

- Stack (ROS의 스택은 높은 수준의 라이브러리를 구성하는 패키지의 집합) > Package

 

1.2. ROS의 파일시스템 레벨

- 메타 패키지 (Meta Package): 현재 패키지와 관련된 다른 패키지들을 나타내준다. 

- 패키지 (Package): ROS의 가장 기초가 되는 구성으로, 라이브러리, 도구, 실행 파일 등이 포함되어 있다. 

- 패키지 매니페스트 (Package Manifest): 패키지를 설명하는 메타 데이터를 제공한다. 

- 메세지 타입: ROS에서 토픽을 주고 받는 메세지의 데이터 구조를 제공한다. 

- 서비스 타입: ROS에서 서비스를 위한 요청과 응답을 주고 받는다. 

 

2. 설치파일 구성

- ROS의 설치파일은 크게 "ROS 설치 폴더"와 "사용자 작업 폴더"로 구성되어 있다. 

 

2.1. ROS 설치 폴더

- ROS를 설치하면 desktop에 /opt 폴더에 /ros가 생성된다. 필자의 ROS 버전이 Melodic Morenia 이기 때문에 아래 화면과 같이 /melodic으로 생성되었다. 

- bin, etc, include, lib 등 및 환경설정 파일들이 포함되어 있다. 

- 현재 ROS가 설치되어 있는 폴더로 이동하려면 roscd를 입력하면된다.  

  • /bin 실행가능한 바이너리 파일
  • /etc ros 및 catkin 관련 설정파일
  • /include 헤더파일
  • /lib 라이브러리 파일
  • /share ros 패키지
  • env.* 환경설정 파일
  • setup.* 환경설정 파일

 

 

2.2. 사용자 작업 폴더

- ROS는 빌드시스템으로 catkin (캐킨)을 사용한다. catkin은 ROS에서 코드를 빌드하고 구성하는데 사용되는 방법으로, 다른 빌드시스템보다 ROS 패키지를 외부에서 가져온 코드나 통합하거나, 혹은 만든 소프트웨어를 릴리즈하고자 할 때 유연성을 보장한다. 

- catkin 설치법은 이전 포스팅을 참고 바란다. (https://neosla.tistory.com/37?category=825336)

  • /build catkin 빌드 시스템의 빌드 환경 파일
  • /devel catkin 빌드 시스템에 의해 빌드된 msg, srv 헤더파일 및 사용자 패키지 라이브러리 및 실행파일
  • /src 사용자 패키지