ROS 워크스페이스 생성과 빌드 시스템(catkin_make)

minho-log·2026년 3월 4일

ROS Noetic

목록 보기
3/3

<공부 주제>

ROS Noetic의 작업 공간(catkin_ws) 설정 및 빌드 프로세스 이해

<공부한 내용 정리>

ROS에서 소스코드를 작성하고 실행하려면, 단순히 폴더를 만드는 게 아니라 ROS 빌드 시스템이 인식할 수 있는 워크스페이스(Workspace) 형식을 갖춰야 한다. Noetic에서는 주로 catkin 빌드 시스템을 사용한다.

  1. 워크스페이스 구조
    기본적으로 다음과 같은 3가지 주요 폴더로 구성된다.
  • src/: 우리가 만든 패키지(소스코드)가 들어가는 곳. (가장 중요!)
  • build/: 빌드 과정에서 생성되는 중간 파일들이 저장되는 곳.
  • devel/: 빌드가 완료된 실행 파일과 환경 설정 파일(setup.bash)이 있는 곳.
  1. 워크스페이스 생성 과정
# 1. 폴더 생성 (반드시 src 폴더까지 한 번에!)
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/

# 2. 초기 빌드 실행 (작업 공간 초기화)
catkin_make
  1. 환경 등록 (Overlay 설정)
    우리가 만든 패키지를 ROS가 인식하게 하려면, 워크스페이스의 setup.bash를 불러와야 한다.
source ~/catkin_ws/devel/setup.bash

매번 입력하기 번거로우므로 ~/.bashrc에 추가해두는 것이 국룰이다.

<예제 / 실습 코드>

새로운 패키지를 하나 만들어서 빌드하는 과정을 실습

  1. 패키지 생성 (의존성 포함)
cd ~/catkin_ws/src
# catkin_create_pkg [패키지명] [의존성1] [의존성2]
catkin_create_pkg my_first_pkg std_msgs rospy roscpp
  • std_msgs: 기본 데이터 타입 (문자열, 숫자 등)
  • rospy: 파이썬용 ROS 라이브러리
  • roscpp: C++용 ROS 라이브러리
  1. 빌드 실행
cd ~/catkin_ws
catkin_make

성공하면 build와 devel 폴더가 업데이트된다.

<헷갈렸던 점>

  • catkin_make 위치: 반드시 catkin_ws의 루트(최상위) 폴더에서 실행해야 한다. src 안에서 실행하면 에러가 난다.
  • 패키지 인식 문제: 패키지를 분명히 만들었는데 rospack find로 안 찾아진다면? source ~/catkin_ws/devel/setup.bash를 실행했는지 꼭 확인해야 한다. (이거 10년 차들도 가끔 까먹는다.)

<오늘의 정리>

  • catkin_ws는 ROS 개발의 베이스캠프다.
  • 소스코드는 반드시 src 폴더 안에 패키지 형태로 넣어야 한다.
  • 빌드는 catkin_make 명령어로 수행하며, 빌드 후에는 devel/setup.bash를 로드해야 한다.
profile
개발 공부를 하며 직접 부딪히고 공부한 것을 기록합니다.

0개의 댓글