메시지와 토픽, 그리고 서비스

384 views
Skip to first unread message

조현성

unread,
Apr 18, 2016, 9:00:12 PM4/18/16
to 한국 ROS 사용자
메시지와 토픽, 그리고 서비스에 대해 명확한 개념을 확립하고자 

제가 이해한게 맞는지 여쭤보고싶습니다~

노드 끼리 통신을 하는 방식(메시지를 주고받는)은

토픽방식과 서비스방식 이렇게 두 가지가 있고

토픽이라는 것은 어떠한 한 주제라고 생각하면 그 주제를 마스터에 등록하고

원하는 서브스크라이버가 마스터에게 퍼블리셔 정보를 요청하고

퍼블리셔와 서브스크라이버가 직접연결 한 후 한쪽으로만(퍼블리셔 - 서브스크라이버) 데이터를 보내는 건가요?

그리고 메시지는 데이터라고 생각하면 되는건가요?

그러면 토픽방식이나 서비스방식이나 메시지라는 것은 존재하는 것 인가요?

간단한 질문이지만 저 나름대로 용어 혼란이와서 여쭤봅니다~

이 외에 추가 설명이 있으시다면 해주세요!


Yoonseok Pyo

unread,
Apr 18, 2016, 9:21:39 PM4/18/16
to 조현성, 한국 ROS 사용자
네. 말씀하신 내용들은 모두 맞습니다.

2016년 4월 19일 (화) 오전 10:00, 조현성 <cat9...@gmail.com>님이 작성:
--
이 메일은 Google 그룹스 '한국 ROS 사용자' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 korea-ros-use...@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 korea-r...@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/korea-ros-users에서 이 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.
--
//------------------------------------------------------------------------------
Yoonseok Pyo, Ph.D.,
Research Engineer / R&D Dept. Platform Team
ROBOTIS CO., LTD. (http://www.robotis.com)
#1505 Ace High End Tower NO. 3, Gasan-dong 145,
GasanDigital 1-ro, GeumCheon-gu, Seoul, Korea 153-787

Follow ROBOTIS on TwitterFacebookLinkedin
Personal Website (http://www.robotpilot.net)
//------------------------------------------------------------------------------

HyungRyul Kim

unread,
Apr 18, 2016, 9:52:55 PM4/18/16
to 조현성, 한국 ROS 사용자
네 말씀하신 내용들이 대체로 맞습니다.
http://wiki.ros.org/ROS/Patterns/Communication 에 나온 것과 같이 노드간에 통신하는 방식은 토픽과 서비스, 액션이 있는데 액션의 경우 토픽의 조합이므로 말씀하신대로 토픽과 서비스 방식이라고 이해하셔도 될 것 같습니다.

토픽과 서비스는 비동기(센서 데이터와 같이 끊임 없는 데이터 스트림에 적합)와 동기(IK 계산요청과 같이 비교적 빨리 끝나는 작업을 노드에 요청 후 대기/응답) 통신 방식이라고 생각하시면 됩니다. 로봇의 이동과 같이 오래 걸리는 작업의 경우 action을 이용합니다. 
메시지는 어떤 각 노드간에 어떤 형식의 데이터 주고 받을 것인지를 정해 놓은 규격입니다. 그래야 데이터를 받을 때, 그 규격대로 해석을 해야 의미있는 값을 읽을 수 있겠죠? ROS의 메시지 규격은 ROS Message types과 ROS Service types의 두 가지가 있으니 참고하시기 바랍니다.

마지막으로 Topic이 실제로 어떻게 전송되는지는 다음 위키 페이지의 레이저 센서 노드에서 scan 정보를 받아오는 그림을 참조하시면 좋을 것 같습니다. 말씀하신대로 마스터는 중계 역할만하고 실제 데이터는 노드간에 직접 전송됩니다.

2016년 4월 19일 오전 10:00, 조현성 <cat9...@gmail.com>님이 작성:
Reply all
Reply to author
Forward
0 new messages