TIKI-MINI로 시작하는 ROS2 실무
목차

시작하기

0.3이 매뉴얼 보는 법

안내 박스 5종류

본문 곳곳에 색이 다른 박스가 나옵니다. 종류별로 읽는 태도가 다릅니다.

그 외 장 끝에는 확인 문제가 있습니다. 질문을 누르면 답이 펼쳐지니, 먼저 스스로 답해 본 뒤 눌러 보세요.

예시: 이렇게 펼쳐지는 확인 문제입니다. 안내 박스 중 '반드시 읽고 넘어가야' 하는 것은?

주의 박스와 안전 박스입니다. 안전 박스는 특히 실기기에서 사람과 장비를 보호하는 내용입니다.

터미널 블록 읽는 법

셸 명령은 어두운 코드 블록에 나오고, 복사 버튼을 누르면 복사됩니다. 이 매뉴얼은 다음 규칙을 따릅니다.

  • 입력할 명령: 줄 맨 앞에 $를 붙이지 않습니다. 복사해서 그대로 붙여 넣으면 되도록 하려는 것입니다.
  • 예상 출력: 별도의 블록으로 나누고 블록 위에 "예상 출력"이라고 표시합니다.
  • #으로 시작하는 부분은 설명 주석입니다. 입력해도 무관합니다.
  • 여러 터미널이 필요하면 "터미널 1", "터미널 2"처럼 구분해 적습니다.
  • <이름>처럼 꺾쇠로 둘러싼 부분은 내 환경에 맞게 바꿔 넣을 값입니다. 꺾쇠 자체는 입력하지 않습니다.

예시입니다.

# 현재 ROS 배포판 이름을 확인합니다 (ROS2를 설치한 뒤 사용 가능)
printenv ROS_DISTRO

예상 출력

humble

또한 명령 앞에 어디서 실행하는지(Windows인지 VM 안인지)를 적습니다. 별도 언급이 없으면 Ubuntu VM의 터미널(Ctrl+Alt+T)에서 실행합니다.

코드 실행기 사용법

1부 이론 장에서는 Python 코드를 브라우저에서 바로 실행합니다. 아래 상자에서 ▶ 실행을 눌러 보세요.

LIVE

첫 실행기 체험: hello_node

해볼 것

  • 로그 문장을 바꾸고 다시 실행해 보세요.
  • create_timer(1.0, ...)의 1.0을 0.5로 바꾸면 3초 동안 몇 번 출력될까요?
  • 잘못된 코드(예: 괄호를 하나 지우기)를 넣으면 오류가 어떻게 표시되는지 확인해 보세요.

결과는 탭으로 나뉩니다. 출력 탭에는 로그가 나오고, 노드와 토픽이 있는 예제에서는 토픽 탭과 노드 그래프 탭에서 연결 상태가 보입니다. 시간은 가상으로 흘러서 3초 분량도 거의 즉시 끝납니다.

실행기의 한계

실제 ROS2의 동작은 3부에서 환경을 만든 뒤 터미널에서 확인합니다. 에뮬레이터에서 쓴 코드는 실제 rclpy와 같은 형태이므로 개념 연습용으로 충분합니다.

막혔을 때

  1. 오류 메시지를 끝까지 읽습니다. 마지막 몇 줄에 원인이 있는 경우가 많습니다.
  2. 명령을 다시 확인합니다. 오타, 대소문자, 공백, 따옴표 누락이 가장 흔한 원인입니다. 복사 버튼으로 다시 붙여 넣어 보세요.
  3. 어디서 실행했는지 확인합니다. Windows 터미널인지 VM 터미널인지, 새 터미널에서 환경 설정(source)을 불러왔는지 보세요(3.3장).
  4. 앞 장의 단계를 건너뛰지 않았는지 확인합니다.
  5. 스냅샷이 있다면 되돌립니다. 설치가 꼬였을 때 가장 빠른 방법입니다(3.2장).
  6. 검색할 때는 오류 메시지의 핵심 문구와 ROS 2 Humble을 함께 넣습니다. 다른 배포판의 답은 맞지 않을 수 있습니다.
  7. 해결되지 않으면 실행한 명령, 전체 오류 메시지, VM 설정을 함께 정리해 강사나 질문 채널에 문의합니다.

한눈에 정리

  1. 박스는 목표, 팁, 참고, 주의, 안전의 5종류이며 주의와 안전은 반드시 읽는다.
  2. 터미널 명령에는 $를 붙이지 않으며 예상 출력은 별도 블록이다.
  3. <이름> 형태는 내 값으로 바꿔 넣는다.
  4. 코드 실행기는 에뮬레이터이며 실제 ROS2가 아니다.
  5. 막히면 오류 전문, 오타, 실행 위치, 앞 단계 순으로 확인한다.

확인 문제

Q1. 코드 블록의 명령 앞에 `$`가 없습니다. 입력할 때 어떻게 하나요?

그대로 복사해 붙여 넣으면 됩니다. 이 매뉴얼은 $ 프롬프트 표시를 붙이지 않습니다.

Q2. 코드 실행기에서 정상 동작한 코드는 실제 ROS2에서도 항상 같은 결과가 나오나요?

항상 그렇지는 않습니다. 실행기는 모의 rclpy로 DDS, QoS, 네트워크 등을 흉내 내지 않습니다. 개념 연습용이며 실제 동작은 3부 이후 환경에서 확인합니다.

Q3. 명령에 `<패키지>` 같은 표기가 있으면 무슨 뜻인가요?

내 환경에 맞는 값으로 바꿔 넣으라는 뜻입니다. 꺾쇠 자체는 입력하지 않습니다.

다음 장

다음부터는 본격적인 학습입니다. 1부에서 ROS2가 무엇인지부터 살펴봅니다.