다음 ROS 공식 문서를 따라서 진행하였습니다.

ROS/Tutorials/WritingPublisherSubscriber(python) - ROS Wiki

트러블 슈팅 1 🏀

catkin_install_python(PROGRAMS scripts/talker.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

## ERROR 
catkin_install_python() called without required DESTINATION argument.

→ CMakeLists.txt에서도 순서가 중요하다. 코드의 중간에 추가해서 에러가 났었고, 맨 마지막에 추가하여 해결하였다.

결과

스크린샷 2024-03-30 오후 8.23.41.png

스크린샷 2024-03-30 오후 8.23.58.png

ROS Communication

  1. 마스터 구동 roscore
  2. subscriber node 구동 rosrun packagename nodename
  3. publisher node 구동 rosrun packagename nodename
  4. 마스터는 subscriber node에게 publisher 정보 알림
  5. 마스터로부터 받은 publisher 정보를 이용해 TCPROS 접속 요청
  6. subscriber node에 접속 응답 → 자신의 TCP URL 주소와 포트번호 전송
  7. TCPROS를 이용하여 퍼블리셔 노드와 직접 연결