본문으로 건너뛰기

M05 · ROS 2 통신·실행·관측 도구

모듈 목표와 소주제별 준비 상태·권장 선수를 확인하세요.

전체 커리큘럼

모듈 목표

  • 왜 메시지가 안 오는지 증거를 들어 진단하고 통신 방식을 선택.

원안의 선수 안내: M01, M03. 실제 보충은 아래 소주제별 권장 선수를 참고하세요.

M05.01워크스페이스·패키지·빌드·노드·Executor

학습 목표

  • 워크스페이스·패키지·빌드 산출물·터미널 환경의 역할을 구별하고 소스 변경이 실행에 반영되는 경로를 설명한다.
  • 노드·프로세스·Executor·콜백의 관계를 설명하고 가정한 단일 스레드 실행 기록의 대기 시간을 계산한다.
  • 패키지 탐색 실패와 콜백 지연을 구별하여 가상 기록에서 다음 확인 증거를 선택한다.
학습 단위 열기 →

권장 선수

M01의 경로·프로세스·재현 환경과 일반 Python 코딩을 사용한다. 기본 활동의 센서/명령 역할은 제공된 가상 노드와 입력으로 설명한다. 실제 장치를 연결할 때는 M03.06의 BOM·배선·인터페이스 계약을 추가로 확인한다. ROS 설치 없이 표와 로그로 기본 활동을 수행하며 실제 ROS 실행 여부와 구분한다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: 워크스페이스·패키지·빌드·노드·Executor · 본문

M05.02Topic·Service·Action·Parameter와 인터페이스

학습 목표

  • 연속 관측·짧은 요청/응답·진행 관측과 취소가 필요한 작업·노드 설정을 구분하여 통신 방식을 선택한다.
  • 메시지 자료형과 단위/시간/좌표의 의미 계약을 구별하고 Action의 goal·feedback·result를 해석한다.
  • 응답 시간초과·취소 요청·파라미터 변경 기록에서 보장되지 않은 결론과 추가 증거를 설명한다.
학습 단위 열기 →

권장 선수

M05.01의 노드·Executor·콜백과 M01의 자료형, M02의 단위를 사용한다. ROS 2 Jazzy 문서 기준의 종이 인터페이스 설계이며 실제 서비스 호출·Action 송신·로봇 동작은 수행하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: Topic·Service·Action·Parameter와 인터페이스 · 본문

M05.03DDS·QoS·통신 발견·네임스페이스

학습 목표

  • DDS 기반 통신의 발견 조건과 도메인·네임스페이스·이름의 역할을 구별하여 완전한 Topic 이름을 구한다.
  • 발행자가 제공하는 QoS와 구독자가 요구하는 QoS의 호환을 판정하고 가정한 대기 자료의 나이를 계산한다.
  • 메시지 미수신을 발견·이름/타입·QoS·실행 지연의 증거로 나누어 진단하고 정책 변경의 한계를 설명한다.
학습 단위 열기 →

권장 선수

M05.01의 노드와 실행기, M05.02의 Topic과 자료형이 선수다. ROS 2 Jazzy의 DDS 기반 RMW를 기준으로 합성 설정표를 읽는다. 실제 도메인 변경·방화벽 조작·ROS 실행은 필요 없다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: DDS·QoS·통신 발견·네임스페이스 · 본문

M05.04Launch·설정·Lifecycle·로그·진단

학습 목표

  • Launch의 프로세스 실행과 노드의 준비 상태를 구별하고 이름이 바뀐 노드의 설정 적용 대상을 판정한다.
  • Lifecycle의 주요 상태와 성공/실패 전이를 추적하여 가상 구성·활성화 소요 시간을 계산한다.
  • 로그 수준·진단 상태·기록 시각을 대조하여 오류 부재를 과장하지 않고 추가 증거와 복구 조건을 제안한다.
학습 단위 열기 →

권장 선수

M05.01~03의 프로세스·Parameter·네임스페이스를 사용한다. Ubuntu 24.04/ROS 2 Jazzy 문서 기준의 합성 설정·로그 해석이며 실제 Launch 실행이나 하드웨어 활성화는 하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: Launch·설정·Lifecycle·로그·진단 · 본문

M05.05tf2·RViz·rqt와 rosbag2/MCAP 입문

학습 목표

  • 변환의 source·target·시각을 명시하고 가상 좌표계 연결에서 점을 변환한다.
  • RViz·rqt·원시 메시지 관측의 역할을 구별하여 표시 실패에 필요한 증거를 선택한다.
  • rosbag2와 MCAP의 역할을 설명하고 기록 범위·재생 배속·시간 조건에서 재현 주장의 한계를 판정한다.
학습 단위 열기 →

권장 선수

M02.02의 좌표 변환과 M05.01~04의 이름·QoS·시각 기록을 사용한다. 기본 실습은 종이 변환과 합성 메타데이터 해석이다. 실제 bag 재생이나 로봇 명령 송신은 하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: tf2·RViz·rqt와 rosbag2/MCAP 입문 · 본문

M05.06시뮬레이션 시간·실물 시간·주기·네트워크 장애

학습 목표

  • System·ROS·Steady 시간의 용도와 use_sim_time의 영향을 설명하고 비교 가능한 시각을 구별한다.
  • 동일 시계의 합성 실행 기록에서 주기·jitter·처리 시간·기한 초과를 계산한다.
  • 관측의 나이와 마지막 수신 뒤 경과 시간을 구별하여 통신 단절·시간 점프·재연결의 판정 조건을 제안한다.
학습 단위 열기 →

권장 선수

M01.06의 주기와 지연, M05.01의 Executor, M05.03의 QoS, M05.05의 기록 시각을 사용한다. Ubuntu 24.04/ROS 2 Jazzy 문서 기준의 종이 로그 활동이며 실제 장애 주입·ROS 실행·실물 연결은 하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

학습 범위: 기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

교재 본문: 시뮬레이션 시간·실물 시간·주기·네트워크 장애 · 본문
← 전체 목차의 로봇 시스템 영역