Chapter 1268. 목표 전달과 수락/거부 처리 (Goal Submission and Accept/Reject Handling) Chapter 1268. 목표 전달과 수락/거부 처리 (Goal Submission and Accept/Reject Handling) 1268.1목표 전달의 개념과 전체 흐름 1268.2목표(Goal)의 구조적 정의 1268.3목표 메시지 필드 설계 원칙 1268.4목표 데이터의 직렬화와 전송 1268.5목표 UUID 생성과 할당 1268.6UUID v4 알고리즘과 고유성 보장 1268.7UUID 충돌 확률 분석 1268.8클라이언트 측 목표 전송 절차 1268.9Goal 메시지 생성과 필드 초기화 1268.10목표 매개변수의 유효성 검증 1268.11범위 검사와 타입 검증 1268.12물리적 제약 조건 검증 1268.13안전 제약 조건 검증 1268.14async_send_goal() 호출 시퀀스 1268.15SendGoal 서비스 요청 메시지 구성 1268.16SendGoalOptions 설정 1268.17목표 전송 전 서버 가용성 확인 1268.18서버 비가용 시 목표 전송 실패 처리 1268.19목표 전송의 네트워크 수준 동작 1268.20DDS를 통한 SendGoal 서비스 호출 1268.21Zenoh를 통한 SendGoal 서비스 호출 1268.22서버 측 목표 수신과 처리 절차 1268.23SendGoal 서비스 요청 수신 1268.24handle_goal 콜백 호출 시점 1268.25handle_goal 콜백의 실행 컨텍스트 1268.26목표 수락 판정 로직 설계 1268.27무조건 수락 패턴 1268.28조건부 수락 패턴 1268.29자원 기반 수락 판정 1268.30CPU 부하 기반 수락/거부 1268.31메모리 가용량 기반 수락/거부 1268.32동시 활성 목표 수 기반 수락/거부 1268.33작업 공간 기반 수락 판정 1268.34로봇 작업 영역 내 목표 좌표 검증 1268.35충돌 검사 기반 수락/거부 1268.36안전 기반 수락 판정 1268.37비상 정지 상태에서의 목표 거부 1268.38배터리 수준 기반 수락/거부 1268.39환경 조건 기반 수락/거부 1268.40우선순위 기반 수락 판정 1268.41목표 우선순위 비교 로직 1268.42기존 목표와의 충돌 감지 1268.43GoalResponse 반환값의 의미와 처리 1268.44ACCEPT_AND_EXECUTE 반환 시 동작 1268.45즉시 실행 시작의 시퀀스 1268.46실행 스레드 할당 1268.47ACCEPT_AND_DEFER 반환 시 동작 1268.48지연 실행의 개념과 사용 사례 1268.49지연된 목표의 큐잉 전략 1268.50지연된 목표의 실행 트리거 1268.51REJECT 반환 시 동작 1268.52거부 사유 전달 방법 1268.53클라이언트 측 거부 응답 처리 1268.54SendGoal 서비스 응답 메시지 구성 1268.55accepted 필드의 의미 1268.56stamp 필드의 의미와 사용 1268.57클라이언트 측 목표 응답 처리 1268.58goal_response_callback 호출 시점 1268.59GoalHandle 수신과 유효성 확인 1268.60수락된 GoalHandle의 활용 1268.61거부 시 GoalHandle의 null 상태 처리 1268.62목표 수락 후 handle_accepted 콜백 1268.63handle_accepted 콜백의 역할 1268.64GoalHandle의 execute() 호출 1268.65별도 스레드에서의 실행 시작 1268.66std::thread 기반 실행 패턴 1268.67스레드 풀 기반 실행 패턴 1268.68다중 목표 수락 전략 1268.69단일 목표 정책(Single Goal Policy) 1268.70기존 목표 취소 후 신규 목표 수락 1268.71다중 목표 병렬 정책(Parallel Goal Policy) 1268.72다중 목표 큐잉 정책(Queued Goal Policy) 1268.73목표 큐의 구현과 관리 1268.74큐 크기 제한과 오버플로우 처리 1268.75우선순위 큐 기반 목표 관리 1268.76목표 선점(Preemption) 구현 1268.77선점의 정의와 사용 시나리오 1268.78기존 목표 취소 후 신규 목표 실행 1268.79선점 시 기존 목표의 정리(Cleanup) 절차 1268.80선점 응답 생성과 전달 1268.81목표 전달의 타이밍 분석 1268.82클라이언트 전송에서 서버 수신까지의 지연 1268.83수락 판정 처리 시간 분석 1268.84응답 전달 시간 분석 1268.85종단 간 목표 전달 지연 최적화 1268.86목표 전달의 오류 처리 1268.87서비스 호출 타임아웃 1268.88네트워크 단절 시 처리 1268.89직렬화 오류 처리 1268.90서버 비정상 종료 시 클라이언트 처리 1268.91목표 전달의 보안 고려사항 1268.92비인가된 목표 요청 방지 1268.93목표 데이터 무결성 검증 1268.94네비게이션 목표 전달과 수락/거부 예제 1268.95NavigateToPose 목표 전달 구현 1268.96목표 좌표 유효성 검증 1268.97장애물 근접 목표 거부 로직 1268.98매니퓰레이션 목표 전달과 수락/거부 예제 1268.99PickAndPlace 목표 전달 구현 1268.100도달 불가능 좌표 거부 로직 1268.101드론 비행 목표 전달과 수락/거부 예제 1268.102비행 목표 고도 유효성 검증 1268.103비행 금지 구역 거부 로직 1268.104목표 전달의 단위 테스트 작성 1268.105수락 시나리오 테스트 1268.106거부 시나리오 테스트 1268.107타임아웃 시나리오 테스트 1268.108동시 다중 목표 전달 테스트 1268.109목표 전달과 수락/거부 처리의 모범 사례 요약