src, build, install, devel
2024. 4. 19.



### 1. src (source)
`src` 폴더는 프로젝트의 소스 코드를 포함합니다. 여기에는 패키지 구성 파일, ROS 노드, 라이브러리, 그리고 필요한 추가적인 스크립트들이 포함될 수 있습니다. 예를 들어, 로봇의 움직임을 제어하는 Python 또는 C++ 코드 파일들이 이 폴더 안에 저장됩니다.

### 예시:
- `my_robot_node.cpp` : 로봇의 핵심 기능을 실행하는 C++ 코드 파일.
- `CMakeLists.txt` 및 `package.xml` : 각 ROS 패키지의 빌드 옵션과 의존성을 설명하는 설정 파일들.

### 2. build
`build` 폴더는 소스 코드를 컴파일하는 과정에서 생성된 중간 파일들을 저장하는 곳입니다. CMake를 사용하여 소스 코드를 컴파일할 때, 이 폴더에는 Makefile, CMake 파일, 그리고 각종 오브젝트 파일(.o) 및 종속성 체크를 위한 파일들이 생성됩니다.

### 예시:
- CMake 캐시, 설정 파일 등 빌드 프로세스에 필요한 스크립트와 파일들.

### 3. devel
`devel` 폴더는 빌드된 실행 파일과 라이브러리, 스크립트, 기타 필요한 파일들을 포함합니다. 이 폴더의 내용은 로컬에서 바로 실행이 가능하며, ROS 환경 설정 파일(`setup.bash` 등)을 포함하여 로컬 개발 환경에서 ROS 패키지를 손쉽게 사용할 수 있게 합니다.

### 예시:
- 실행 가능한 파일(`my_robot_node`)
- 로컬 환경 설정 스크립트(`setup.bash`)

### 4. install
`install` 폴더는 최종적으로 설치된 파일들을 저장하는 곳입니다. 이 폴더는 `devel` 폴더와 유사한 구조를 가지지만, 프로젝트를 배포할 때 사용됩니다. 즉, 사용자가 패키지를 설치하고 전체 시스템에 통합할 때 필요한 파일들이 이 곳에 포함됩니다.

### 예시:
- 설치된 실행 파일과 라이브러리
- 시스템 환경 설정 스크립트(`setup.sh`)

이렇게 각 폴더는 개발의 다양한 단계에서 중요한 역할을 하며, ROS 프로젝트의 효율적인 관리와 무결성 유지를 위해 필수적입니다. 소스 코드의 컴파일에서부터 로컬 개발, 최종 설치에 이르기까지 각 단계를 명확히 분리함으로써 개발 과정을 체계적으로 관리할 수 있습니다.