Chapter 1300. BehaviorTree.CPP ROS2 연동 (BehaviorTree.CPP ROS2 Integration) Chapter 1300. BehaviorTree.CPP ROS2 연동 (BehaviorTree.CPP ROS2 Integration) 1300.1BehaviorTree.CPP ROS2 연동의 개요 1300.2behaviortree_ros2 패키지의 구조 1300.3behaviortree_ros2의 설치와 빌드 1300.4behaviortree_ros2의 의존성 관리 1300.5BtActionNode 기반 클래스의 구조 1300.6BtActionNode의 ROS2 액션 클라이언트 캡슐화 1300.7BtActionNode의 골 (Goal) 생성 인터페이스 1300.8BtActionNode의 피드백 (Feedback) 처리 인터페이스 1300.9BtActionNode의 결과 (Result) 처리 인터페이스 1300.10BtActionNode의 타임아웃 관리 1300.11BtActionNode의 Halt 시 액션 취소 1300.12BtActionNode의 서버 대기 메커니즘 1300.13BtActionNode의 구현 예제 1300.14BtServiceNode 기반 클래스의 구조 1300.15BtServiceNode의 ROS2 서비스 클라이언트 캡슐화 1300.16BtServiceNode의 요청 (Request) 생성 인터페이스 1300.17BtServiceNode의 응답 (Response) 처리 인터페이스 1300.18BtServiceNode의 타임아웃 관리 1300.19BtServiceNode의 서비스 대기 메커니즘 1300.20BtServiceNode의 구현 예제 1300.21BtTopicSubNode 기반 클래스의 구조 1300.22BtTopicSubNode의 토픽 구독 캡슐화 1300.23BtTopicSubNode의 메시지 수신과 반환 상태 결정 1300.24BtTopicSubNode의 구현 예제 1300.25BtTopicPubNode 기반 클래스의 구조 1300.26BtTopicPubNode의 토픽 발행 캡슐화 1300.27BtTopicPubNode의 구현 예제 1300.28ROS2 노드 핸들의 관리 1300.29TreeExecutionServer를 통한 ROS2 노드 제공 1300.30노드 핸들의 블랙보드를 통한 공유 1300.31다중 노드 핸들의 관리 전략 1300.32TreeExecutionServer의 구조와 동작 1300.33TreeExecutionServer의 트리 로딩 1300.34TreeExecutionServer의 Tick 실행 관리 1300.35TreeExecutionServer의 상태 보고 1300.36TreeExecutionServer의 트리 전환 1300.37ROS2 파라미터와 행동 트리의 연동 1300.38ROS2 파라미터의 블랙보드 포트 매핑 1300.39런타임 파라미터 변경의 트리 반영 1300.40ROS2 런치 파일과 행동 트리의 연동 1300.41런치 파일에서의 트리 XML 경로 설정 1300.42런치 파일에서의 노드 파라미터 설정 1300.43런치 파일에서의 플러그인 설정 1300.44ROS2 생명주기 노드와 행동 트리의 연동 1300.45생명주기 노드 상태 전이와 트리 실행 연동 1300.46생명주기 노드의 설정 단계에서 트리 로딩 1300.47생명주기 노드의 활성화 단계에서 트리 실행 1300.48ROS2 진단 (Diagnostics)과 행동 트리의 연동 1300.49행동 트리 상태의 진단 메시지 발행 1300.50노드별 실행 상태의 진단 보고 1300.51ROS2 TF2와 행동 트리의 연동 1300.52TF2 기반 좌표 변환의 블랙보드 통합 1300.53좌표 프레임 데이터의 조건 노드 활용 1300.54ROS2 bag과 행동 트리의 연동 1300.55행동 트리 실행 로그의 bag 기록 1300.56bag 재생을 통한 트리 동작 분석 1300.57행동 트리 플러그인의 ROS2 패키지화 1300.58플러그인 매니페스트의 작성 1300.59pluginlib 기반 노드 등록 1300.60플러그인의 동적 로딩 1300.61Nav2 행동 트리 연동 아키텍처 1300.62Nav2 BtNavigator의 구조 1300.63Nav2의 기본 행동 트리 XML 분석 1300.64Nav2 커스텀 노드의 추가 방법 1300.65Nav2 행동 트리의 커스터마이징 1300.66MoveIt2 행동 트리 연동 아키텍처 1300.67MoveIt2 Task Constructor와 행동 트리 1300.68ROS2 Zenoh 환경에서의 행동 트리 연동 1300.69DDS 기반 통신에서의 행동 트리 노드 성능 1300.70Zenoh 기반 통신에서의 행동 트리 노드 성능 1300.71ROS2 QoS 설정과 행동 트리 노드 1300.72신뢰성 QoS와 행동 트리 토픽 노드 1300.73최선 노력 QoS와 실시간 센서 데이터 1300.74ROS2 연동 행동 트리 노드의 테스트 전략 1300.75모의 ROS2 서비스/액션 서버를 활용한 테스트 1300.76launch_testing을 활용한 통합 테스트 1300.77시뮬레이션 환경에서의 연동 테스트 1300.78ROS2 연동 행동 트리의 디버깅 전략 1300.79ROS2 CLI 도구를 활용한 디버깅 1300.80rqt를 활용한 토픽/서비스/액션 모니터링 1300.81Groot2를 활용한 실시간 디버깅 1300.82ROS2 연동 행동 트리의 성능 최적화 1300.83ROS2 통신 오버헤드 최소화 전략 1300.84콜백 처리 효율화 전략 1300.85ROS2 연동의 모범 사례 1300.86ROS2 연동의 안티패턴