해당 실습 자료는 한양대학교 Road Balance - ROS 2 for G Camp와 ROS 2 Documentation: Foxy, 표윤석, 임태훈 <ROS 2로 시작하는 로봇 프로그래밍> 루피페이퍼(2022) 를 참고하여 작성하였습니다.
앞선 장에서 Service에 대해 배워보았습니다. 간단하게 정리하자면 node가 Service를 사용하여 통신할 때 데이터 요청(
request)을 보내는 node를 Client Node라고 하고 요청에 응답(response)하는 Server Node라고 합니다. 요청과 응답의 구조는.srv파일에 의해 결정됩니다.
request하고, Server Node에서는 연산 결과를 response합니다.ros2_ws/src 디렉토리에 이동하신 다음 새로운 패키지를 생성합니다.$ ros2 pkg create py_srvcli --build-type ament_python --dependencies rclpy example_interfaces
새로운 패키지 이름은 py_srvcli 으로 동명의 디렉토리에 패키지 기본 구성이 생성된 것을 확인 할 수 있을 겁니다.
추가로 --dependencies 인수를 통해 패키지 환경 설정 파일 package.xml 에 필요한 종속성 패키지인 rclpy , example_interfaces 가 자동으로 추가됩니다.
example_interfaces 는 request와 response 을 구성하는 데에 필요한 .srv 파일이 포함된 패키지 입니다.
int64 a
int64 b
---
int64 sum
메시지를 포함하는 간단한 데이터 구조 및 메시지들이 나열된 배열 구조는 단순 자료형을 기반으로하며 정의시 아래와 같이 기술합니다.
해당 실습 자료는 한양대학교 Road Balance - ROS 2 for G Camp와 ROS 2 Documentation: Foxy, 표윤석, 임태훈 <ROS 2로 시작하는 로봇 프로그래밍> 루피페이퍼(2022) 를 참고하여 작성하였습니다.
앞선 장에서 Service에 대해 배워보았습니다. 간단하게 정리하자면 node가 Service를 사용하여 통신할 때 데이터 요청(
request)을 보내는 node를 Client Node라고 하고 요청에 응답(response)하는 Server Node라고 합니다. 요청과 응답의 구조는.srv파일에 의해 결정됩니다.
request하고, Server Node에서는 연산 결과를 response합니다.ros2_ws/src 디렉토리에 이동하신 다음 새로운 패키지를 생성합니다.$ ros2 pkg create py_srvcli --build-type ament_python --dependencies rclpy example_interfaces
새로운 패키지 이름은 py_srvcli 으로 동명의 디렉토리에 패키지 기본 구성이 생성된 것을 확인 할 수 있을 겁니다.
추가로 --dependencies 인수를 통해 패키지 환경 설정 파일 package.xml 에 필요한 종속성 패키지인 rclpy , example_interfaces 가 자동으로 추가됩니다.
example_interfaces 는 request와 response 을 구성하는 데에 필요한 .srv 파일이 포함된 패키지 입니다.
int64 a
int64 b
---
int64 sum
