해당 실습 자료는 한양대학교 Road Balance - ROS 2 for G Camp와 ROS 2 Documentation: Foxy, 표윤석, 임태훈 <ROS 2로 시작하는 로봇 프로그래밍> 루피페이퍼(2022) 를 참고하여 작성하였습니다.
이번 장에서는 SSD를 이용한 detection 프로그램을 구현해봅니다. 구현되는 detection 프로세스는 image_tools 패키지를 이용하여 센서 (웹캠)로부터 이미지를 받아 이미지 msg를 publishing하는 publisher (cam2image)와 이미지 정보를 받아
SSD모델을 이용하여 detection을 수행하는 subscriber (detection_system)으로 구성됩니다.
ros2_ws/src 디렉토리에 이동하신 다음 새로운 패키지를 생성합니다.(ros2_ws/src)
$ ros2 pkg create ssd_detection --build-type ament_python --dependencies rclpy image_tools
ssd_detection 으로 동명의 디렉토리에 패키지 기본 구성이 생성된 것을 확인 할 수 있습니다. (ros2_ws/src/ssd_detection)--dependencies를 통해 본 실습에 필요한 종속성을 추가합니다. 앞서 언급한 바에 따라, 이번 실습에서는 image_tools 패키지를 활용합니다. 환경 설정 파일에 해당하는 package.xml 에 필요한 패키지인 rclpy, image_tools 패키지를 추가합니다.$ cd ros2_ws/src/ssd_detection
$ gdown <https://drive.google.com/uc?id=**1Ahk3PruYPJMK1wql8pHTt6DLcV5mJbKo**&export=download>
sensor_msgs.msg의 Image 메시지를 활용합니다. 우리는 필요에 따라 ROS2의 다양한 메시지를 활용할 수 있습니다. 다음 링크는 ROS2의 규격화된 메시지를 담은 위키입니다. 만약 우리가 원하는 유형의 메시지가 없더라도, 커스텀 메시지를 작성 및 활용하여 ROS2의 메시지로 통신할 수 있습니다. 우리가 사용할 Image 메시지를 자세히 봅시다.