AEGLOSLAB ROS 2 Jazzy 대전

부록 부록

A.4 용어집·약어

A.4.1 이 부록의 사용법

용어를 몰라서 막히는 경우가 생각보다 많다. 특히 ROS 2는 미들웨어·제어·인지·빌드 시스템의 용어가 섞여 있어, 한 영역에서 온 사람에게 다른 영역의 용어가 장벽이 된다.

이 부록은 이 책에서 쓴 용어의 짧은 정의와 해당 장을 모은다. 정의는 이 책의 맥락에서의 의미이며, 정확한 정의는 해당 장과 원문을 보라.

정직: 일부 용어는 문맥·구현에 따라 의미가 다르게 쓰인다(확인 필요). 여기 정의는 이 책이 사용한 의미다.

A.4.2 핵심 개념 — 그래프와 통신

용어의미장
노드(node)ROS 그래프의 참여 단위1.1
토픽(topic)이름 있는 단방향 데이터 흐름1.4
서비스(service)요청-응답1.7
액션(action)장시간 작업·피드백·취소1.8
파라미터노드가 소유하는 설정 값1.9
QoSQuality of Service — 전달 정책1.5·1.6
RELIABLE·BEST_EFFORT신뢰성 — 유실을 복구하나1.5.3.2
TRANSIENT_LOCAL·VOLATILE내구성 — 늦게 온 구독자에게도 주나(래치)1.5.3.3
KEEP_LAST·KEEP_ALL히스토리 — 무엇을 얼마나 보관하나1.5.3.1
BEST_AVAILABLE상대에 맞춰 자동으로 낮춤1.5.3.8
디스커버리참여자가 서로를 찾는 과정3.3
도메인통신 격리 단위(ROS_DOMAIN_ID)1.5.8
리매핑이름을 실행 시 바꾸기1.1.5
네임스페이스이름의 계층 접두1.1.6
그래프노드·토픽 등의 전체 연결1.1
생애주기 노드상태 전이가 명시된 노드1.12
컴포넌트프로세스에 적재 가능한 노드1.13

A.4.3 실행 모델

용어의미장
실행기(executor)콜백을 선택·실행하는 주체2.2
대기 집합(wait set)준비된 엔티티를 기다리는 구조2.2.3
콜백 그룹콜백의 동시 실행 정책 단위2.3
MutuallyExclusive동시에 하나만2.3.3
Reentrant동시 실행 허용2.3.3
스핀(spin)실행기를 구동하는 것2.2.4
인트라프로세스 통신같은 프로세스 내 복사 없는 전달2.7.5
지터(jitter)주기의 변동2.5.6
WCET최악 실행 시간12.1.3
결정성같은 입력에 같은 결과·순서12.5

A.4.4 미들웨어

용어의미장
DDSData Distribution Service — 통신 표준3.1
RTPS/DDSI-RTPSDDS의 유선 프로토콜3.2
rmwROS Middleware 추상 인터페이스3.5
rclROS Client Library 공통 C 계층2.1
rclcpp·rclpyC++·Python 클라이언트 라이브러리2.1
DomainParticipantDDS의 도메인 참여 주체3.1
DataWriter·DataReaderDDS의 발행·구독 엔티티3.1
SPDP·SEDP참여자·엔드포인트 디스커버리3.3.4
Discovery Server중앙화된 디스커버리3.4
제로 카피복사 없는 전달12.3.5
대여 메시지(loaned)미들웨어 소유 버퍼에 직접 작성12.3.5
type hash메시지 정의의 해시1.3.5

A.4.5 좌표·모델

용어의미장
tf2좌표 변환 라이브러리5.2
프레임(frame)좌표계5.1
map·odom·base_linkREP 105의 표준 프레임5.1.7
optical frame광학 축 규약 프레임7.1.4
정적 변환시간에 불변인 변환5.1.5
URDF로봇 기술 형식5.3
xacroURDF 매크로 전처리5.4
SDF시뮬레이션 기술 형식5.6
SRDFMoveIt 의미 정보9.1
링크·조인트강체·관절5.3
관성 텐서질량 분포5.3.5
오도메트리자체 운동 추정7.6

A.4.6 하드웨어·제어

용어의미장
ros2_control하드웨어·컨트롤러 프레임워크6.1
하드웨어 컴포넌트실제 장치와의 접점6.2
상태·명령 인터페이스읽기·쓰기 채널6.2.4
컨트롤러제어 알고리즘 플러그인6.4·6.5
컨트롤러 체이닝컨트롤러 연결6.4
realtime_tools실시간 안전 유틸리티6.5.6
mock 하드웨어가짜 하드웨어 백엔드6.2.8
micro-ROSMCU용 ROS 26.8
HILHardware In the Loop14.6.6
PREEMPT_RT리눅스 실시간 패치12.2.2
SCHED_FIFO실시간 스케줄링 정책12.2.3
우선순위 역전낮은 우선순위가 높은 것을 막음12.2.4
mlockall메모리 잠금12.3.3

A.4.7 센서·인지

용어의미장
image_transport이미지 전송 추상화·압축7.2.7
cv_bridgeROS↔OpenCV 변환7.2
CameraInfo카메라 내부 파라미터7.3
PointCloud2점군 메시지7.4
운동 왜곡스캔 중 이동으로 인한 왜곡7.5.6
message_filters다중 토픽 동기화7.7.5
근사 동기화시각이 가까운 것끼리 묶기7.7.5
센서 융합여러 센서 결합7.6
EKF·UKF확장·무향 칼만 필터7.6
PTP·NTP시각 동기 프로토콜7.7.6
캘리브레이션파라미터 실측 보정7.3.6·9.6.4

A.4.8 항법·조작

용어의미장
Nav2ROS 2 항법 스택8.1
코스트맵주행 비용 격자8.4
인플레이션장애물 주변 비용 확산8.4.4
AMCL적응형 몬테카를로 측위8.3
SLAM동시 측위·지도작성8.2
폐루프(loop closure)이전 장소 재인식8.2
전역·지역 계획기경로·속도 생성8.5
행동 트리(BT)항법 로직 구조8.6
복구 동작막혔을 때의 대응8.7.2
collision_monitor근접 감시·감속8.7.3
MoveIt 2매니퓰레이션 프레임워크9.1
역기구학(IK)자세→관절각9.2
OMPL샘플링 기반 계획 라이브러리9.2
Planning Scene계획용 환경 표현9.3
MoveIt Servo실시간 자코비안 제어9.4
MTCTask Constructor — 다단계 작업9.5

A.4.9 시뮬·도구·품질

용어의미장
Gazebo(Harmonic 등)시뮬레이터10.2
ros_gzGazebo↔ROS 2 브리지10.2.4
RTFReal Time Factor — 시뮬 시간 비율10.2.8
Sim2Real 간극시뮬과 실기의 차이10.6
도메인 랜덤화파라미터를 무작위로 변화10.6.4
rosbag2·MCAP기록 도구·저장 형식11.2
RViz23D 시각화11.4
PlotJuggler시계열 분석 도구11.5.7
ros2_tracing·LTTng실행 추적11.6
REPROS Enhancement ProposalA.3
colcon·ament빌드 도구·빌드 시스템4.1·4.5
rosdep시스템 의존성 해결4.6
bloom릴리스 도구4.9
pluginlib플러그인 로딩15.4.3
launch_testinglaunch 기반 통합 시험14.6.2

A.4.10 보안·운영

용어의미장
SROS 2ROS 2 보안 도구13.2
DDS-SecurityDDS 보안 표준·플러그인13.3
enclave보안 신원 단위13.2.4
키스토어인증서·키 저장소13.2.3
거버넌스 파일도메인 보안 정책13.3.4
권한 파일참여자별 허용 목록13.3.4
위협 모델무엇을 지키고 무엇을 막나13.1
OTA원격 소프트웨어 갱신14.8.7
카나리 배포소수에 먼저 적용14.8.7
A/B 파티션원자적 갱신·롤백 구조14.8.7
프로비저닝로봇 초기 설정14.8.6
플릿운영되는 로봇 집단14.9
강등 운전기능 일부 상실 시 제한 운전14.2.6
워치독생존·정상 감시14.2.5

A.4.11 자주 혼동되는 용어 쌍

쌍구분
안전(safety) vs 보안(security)물리적 위해 방지 vs 침해 방지 — 14.10.8
실시간 vs 빠름데드라인 보장 vs 평균 속도 — 12.1.2
지연 vs 지터크기 vs 변동 — 11.7.2
map vs odom점프하나 정확 vs 연속하나 드리프트 — 5.1.7
노드 vs 프로세스논리 단위 vs 실행 단위 — 2.7
서비스 vs 액션즉답 vs 장시간 — 1.7.8
검증(verification) vs 타당성(validation)맞게 만들었나 vs 맞는 것을 만들었나 — 14.10.3
RELIABLE vs "안전"재전송 정책일 뿐 — 1.6.3.1
시뮬 통과 vs 동작 증명회귀 감지 vs 보장 — 14.6.4
폐기(deprecated) vs 제거(removed)경고 vs 컴파일 실패 — 15.1.5

견해: "안전"과 "보안"을 한국어에서 혼용하지 않도록 주의하라. 영어로는 safety/security로 명확히 갈리지만 한국어 대화에서는 섞이기 쉽다. 문서에서는 영어 병기를 권한다 — 14.10.6에서 "안전 기능"과 "위험 완화 조치"를 구분하라고 한 것과 같은 이유다.

A.4.12 약어 표

약어원어장
AMCLAdaptive Monte Carlo Localization8.3
BTBehavior Tree8.6
CDRCommon Data Representation1.3.3
DDSData Distribution Service3.1
EKFExtended Kalman Filter7.6
HILHardware In the Loop14.6.6
IDLInterface Definition Language1.3
IK / FKInverse / Forward Kinematics9.2
IMUInertial Measurement Unit7.1
LTSLong Term Support15.2.2
MTCMoveIt Task Constructor9.5
OMPLOpen Motion Planning Library9.2
OTAOver The Air (update)14.8.7
PTP / NTPPrecision / Network Time Protocol7.7.6
QoSQuality of Service1.6
REPROS Enhancement ProposalA.3
RMWROS MiddleWare3.5
RTFReal Time Factor10.2.8
RTPSReal Time Publish Subscribe3.2
SBOMSoftware Bill of Materials14.7.5
SLAMSimultaneous Localization And Mapping8.2
SDFSimulation Description Format5.6
SRDFSemantic Robot Description Format9.1
URDFUnified Robot Description Format5.3
WCETWorst Case Execution Time12.1.3

A.4.13 이 책 고유의 표기

표기의미
(확인 필요)버전·환경에 따라 달라질 수 있어 독자가 확인해야 하는 값·동작(목차 4)
> 견해:저자의 판단 — 사실이 아니며 근거를 함께 적음
> 함정:실무에서 자주 걸리는 지점
> 정직:이 책의 한계·미검증 사항
RJ-NN-MM장·절 참조(CLD-03)
★코드·표에서 특히 중요한 항목