Chapter 648. ROS2 서비스와 액션 (ROS2 Services and Actions) Chapter 648. ROS2 서비스와 액션 (ROS2 Services and Actions) 648.1서비스 통신의 개념과 원리 648.2요청-응답(Request-Response) 패턴 648.3서비스와 토픽의 차이점 비교 648.4서비스 인터페이스 정의(.srv 파일) 648.5.srv 파일의 구조와 문법 648.6요청 메시지와 응답 메시지의 분리 648.7커스텀 서비스 인터페이스 생성 648.8표준 서비스 인터페이스 패키지(std_srvs) 648.9Trigger 서비스 648.10SetBool 서비스 648.11Empty 서비스 648.12서비스 서버(Service Server) 생성과 구성 648.13rclcpp에서의 서비스 서버 구현 648.14rclpy에서의 서비스 서버 구현 648.15서비스 서버의 콜백 함수 구현 648.16서비스 클라이언트(Service Client) 생성과 구성 648.17rclcpp에서의 서비스 클라이언트 구현 648.18rclpy에서의 서비스 클라이언트 구현 648.19동기식 서비스 호출 648.20비동기식 서비스 호출 648.21Future 객체를 이용한 비동기 결과 처리 648.22서비스 호출의 타임아웃 관리 648.23서비스 가용성 대기(wait_for_service) 648.24서비스 이름 규칙과 네임스페이스 648.25서비스의 발견(Discovery) 메커니즘 648.26서비스의 QoS 정책 설정 648.27서비스 서버의 동시성 처리 648.28서비스 콜백 그룹과 Executor 연계 648.29서비스 기반 시스템 설계 패턴 648.30서비스의 오류 처리 전략 648.31서비스의 보안과 접근 제어 648.32서비스 모니터링과 디버깅 도구 648.33ros2 service CLI 명령어 활용 648.34액션 통신의 개념과 원리 648.35액션의 필요성과 서비스와의 차이 648.36장기 실행 작업에서의 액션 활용 648.37액션 인터페이스 정의(.action 파일) 648.38.action 파일의 구조와 문법 648.39목표(Goal) 메시지 정의 648.40결과(Result) 메시지 정의 648.41피드백(Feedback) 메시지 정의 648.42커스텀 액션 인터페이스 생성 648.43액션 서버(Action Server) 생성과 구성 648.44rclcpp에서의 액션 서버 구현 648.45rclpy에서의 액션 서버 구현 648.46액션 서버의 목표 수락 콜백 648.47액션 서버의 취소 콜백 648.48액션 서버의 실행 콜백(execute_callback) 648.49액션 서버에서의 피드백 발행 648.50액션 서버에서의 결과 반환 648.51액션 클라이언트(Action Client) 생성과 구성 648.52rclcpp에서의 액션 클라이언트 구현 648.53rclpy에서의 액션 클라이언트 구현 648.54목표 전송(send_goal)과 응답 처리 648.55피드백 구독과 진행 상태 모니터링 648.56결과 수신과 최종 상태 확인 648.57액션 목표 취소(cancel_goal) 요청 648.58다중 목표 동시 처리 648.59목표 상태 머신(Goal State Machine) 648.60목표 상태: Accepted 648.61목표 상태: Executing 648.62목표 상태: Canceling 648.63목표 상태: Succeeded 648.64목표 상태: Aborted 648.65목표 상태: Canceled 648.66액션의 내부 구현 구조 648.67액션과 토픽 및 서비스의 결합 관계 648.68액션 상태 토픽(_action/status) 648.69액션 피드백 토픽(_action/feedback) 648.70액션 목표 서비스(_action/send_goal) 648.71액션 결과 서비스(_action/get_result) 648.72액션 취소 서비스(_action/cancel_goal) 648.73액션의 QoS 정책 설정 648.74액션의 동시성 처리와 Executor 연계 648.75액션 기반 시스템 설계 패턴 648.76선점형(Preemptive) 액션 서버 설계 648.77액션의 오류 처리와 복구 전략 648.78액션의 보안과 접근 제어 648.79액션 모니터링과 디버깅 도구 648.80ros2 action CLI 명령어 활용 648.81rqt_action을 이용한 시각적 모니터링 648.82내비게이션에서의 액션 활용 사례 648.83매니퓰레이션에서의 액션 활용 사례 648.84서비스와 액션의 선택 기준 648.85서비스와 액션의 조합 설계 패턴 648.86대규모 시스템에서의 서비스와 액션 구조화