Nav2 행동트리와 복구 동작: 경로 실패·막힘·센서 오류에서 다시 움직이는 방법

Nav2 행동트리와 복구 동작: 경로 실패·막힘·센서 오류에서 다시 움직이는 방법의 핵심 구조와 판단 기준을 정리한 대표 이미지

Nav2 행동트리는 ComputePath·FollowPath·ClearCostmap·Spin·Wait·BackUp 같은 동작을 성공·실패·실행 중 상태로 조합해 재계획과 복구 순서를 정합니다. 복구는 무조건 반복하는 기능이 아니라 오류 원인·공간 안전·재시도 한계와 운영자 호출 조건을 분리해야 합니다.

Nav2 코스트맵 레이어: 정적 지도·장애물·인플레이션·금지 구역을 합치는 방법

Nav2 코스트맵 레이어: 정적 지도·장애물·인플레이션·금지 구역을 합치는 방법의 핵심 구조와 판단 기준을 정리한 대표 이미지

Nav2 코스트맵은 SLAM 지도를 그대로 따라가는 화면이 아니라 static·obstacle·voxel·inflation layer와 keepout 같은 filter를 겹쳐 planner와 controller가 사용할 이동 비용으로 바꾼 격자입니다. 잘못된 장애물 누적은 marking·clearing·TF·센서 범위·레이어 결합 순서에서 찾아야 합니다.

URDF와 SDF 차이: 로봇 모델·센서·물리 시뮬레이션을 어디까지 표현하나

URDF와 SDF 차이: 로봇 모델·센서·물리 시뮬레이션을 어디까지 표현하나의 핵심 구조와 판단 기준을 정리한 대표 이미지

URDF는 ROS에서 한 로봇의 링크·조인트·형상과 관성 구조를 공유하기 좋고, SDF는 로봇뿐 아니라 센서·마찰·조명·물리 엔진·여러 모델이 놓인 월드까지 표현합니다. 둘 중 하나를 고르는 문제라기보다 기준 모델과 시뮬레이션 확장을 어디에 둘지 정해야 변환 손실을 줄일 수 있습니다.

rosbag2 기록과 재생: QoS·타임스탬프·대용량 센서 데이터를 잃지 않는 방법

rosbag2 기록과 재생: QoS·타임스탬프·대용량 센서 데이터를 잃지 않는 방법의 핵심 구조와 판단 기준을 정리한 대표 이미지

rosbag2는 timestamp가 붙은 ROS 2 메시지를 저장하고 재생하지만, 기록 성공 표시만으로 데이터 완전성이 보장되지는 않습니다. QoS 호환성, 수신 시각과 메시지 시각, 저장 장치 처리량, 캐시·분할·압축 정책과 재생 clock을 함께 검증해야 같은 실험을 재현할 수 있습니다.

로봇 시간 동기화: PTP·NTP·하드웨어 타임스탬프로 센서 시계를 맞추는 방법

로봇 시간 동기화: PTP·NTP·하드웨어 타임스탬프로 센서 시계를 맞추는 방법의 핵심 구조와 판단 기준을 정리한 대표 이미지

로봇 센서 시간 동기화는 장치 시계·NIC의 PTP Hardware Clock·운영체제 시계·ROS timestamp가 같은 기준을 따르게 만드는 작업입니다. Offset·drift·jitter를 구분하고 PTP와 NTP, 하드웨어 타임스탬프의 경계를 검증해야 센서 융합과 데이터 기록이 실제 측정 순서를 보존합니다.

ROS 2 Lifecycle Node: 로봇 노드를 안전하게 시작·중지·복구하는 상태 관리

ROS 2 Lifecycle Node: 로봇 노드를 안전하게 시작·중지·복구하는 상태 관리의 핵심 구조와 판단 기준을 정리한 대표 이미지

ROS 2 Lifecycle Node는 노드를 켜고 끄는 단순 스위치가 아니라 configure·activate·deactivate·cleanup·shutdown 전이를 통해 자원 준비와 실제 동작을 분리하는 상태 기계입니다. 의존 노드의 시작 순서와 오류 복구 정책을 명시하면 부분 장애를 전체 재부팅 없이 다룰 수 있습니다.

ROS 2 Executor와 Callback Group: 제어 주기와 센서 콜백이 서로 막히는 이유

ROS 2 Executor와 Callback Group: 제어 주기와 센서 콜백이 서로 막히는 이유의 핵심 구조와 판단 기준을 정리한 대표 이미지

ROS 2 Executor는 구독·타이머·서비스 콜백을 운영체제 스레드에서 실행하고, Callback Group은 어떤 콜백이 병렬로 실행될 수 있는지 정합니다. Multi-Threaded Executor를 선택하는 것만으로 병렬성이 생기지 않으며, 기본 그룹·블로킹 호출·공유 잠금이 제어 주기를 막는지 측정해야 합니다.

ros2_control 구조: 하드웨어 인터페이스와 컨트롤러 매니저를 연결하는 방법

ros2_control 구조: 하드웨어 인터페이스와 컨트롤러 매니저를 연결하는 방법의 핵심 구조와 판단 기준을 정리한 대표 이미지

ros2_control은 로봇 드라이버와 제어기를 state interface·command interface로 분리하고, Controller Manager가 자원 소유권과 read–update–write 주기를 관리하게 합니다. 연결 실패를 찾으려면 URDF 선언부터 실제 인터페이스 노출까지 같은 이름과 주기로 이어지는지 확인해야 합니다.