이 페이지 에서는 package 생성 및 구성, pub&sub node 생성 방법에 대해 다룹니다.

1. 워크 스페이스 생성


먼저 catkin_ws 라는 작업 공간을 생성해 줍니다.

$ mkdir -p catkin_ws/src

2. 패키지 생성


ko/ROS/Tutorials/catkin/CreatingPackage - ROS Wiki

워크스페이스의 src 디렉토리에서 catkin_create_pkg 라는 명령어를 이용하여 패키지를 생성합니다.

이때 원하는 패키지의 이름과 해당 패키지에서 필요로하는 의존성 라이브러리들을 정의해 줍니다.

(의존성 라이브러리는 CMakeList.txt 파일에서 수정할 수 있습니다.)

$ cd ~/catkin_ws/src
$ catkin_create_pkg [패키지명] [의존성1] [의존성2] [의존성3..]
예시) $ catkin_create_pkg test_pkg std_msgs rospy roscpp

패키지 구성

다음은 ros catkin 패키지의 기본적인 구성입니다.

패키지를 생성하게 되면 다음과 같은 기본 구성을 갖추게 됩니다.

workspace_folder/        -- 작업공간
  src/                   -- 소스 폴더
    CMakeLists.txt       -- catkin이 제공하는 '최상위'의 CMake 파일,
    package_1/
      CMakeLists.txt     -- package_1에 대한 CMakeLists.txt 파일
      package.xml        -- package_1에 대한 매니패스트
      src/               -- package_1에 대한 소스코드가 담기는 폴더
    ...
    package_n/
      CMakeLists.txt     -- package_n에 대한 CMakeLists.txt 파일
      package.xml        -- package_n에 대한 매니패스트
      src/               -- package_n에 대한 소스코드가 담기는 폴더

3. 패키지 빌드


패키지를 새로 생성하였기 때문에 빌드를 한번 해줍니다.

❗빌드는 워크스페이스의 최상단 디렉토리에서 진행해줘야 함에 유의합니다.