본문으로 바로가기

이번에는 (뭐 언제나 그렇듯) 그냥 기초 이야기를 해보죠. 메세지입니다. ROS에서는 이미 로봇에서 사용할 만한 메세지는 거의 다 정의되어서 사용되는 것 같기도 하지만, 또 분명 사용자가 자신의 메세지를 정의해서 사용해야할 때가 있을 겁니다. 그럴때는 어떻게 하는지 보도록 하죠^^

지난번에서 간단히 만든 basic_subscribe에 넣어 보도록 하죠. 먼저 msg 폴더를 만듭니다.

그리고, Direction.msg 파일을 만들어서

간단히 저렇게 필요한 메세지 유형을 잡아줍니다.

이제.. package.xml 파일을 열어서 build_depend와 exec_depend에 위 그림처럼 항목을 잡습니다.

그리고, CMakeLists.txt파일에서 add_message_files와

generate_messages와

catkin_package

find_package에 각각 그림처럼 주석을 해제하고 추가항목을 작성해 둡니다.

그리고, talk_pose.py 파일을 만들어서, turtle1/pose에서 자세를 받아서, 방금 만든 메세지에 맞춰 publish하도록 작성해 보았습니다.

먼저, 충분히 터미널을 만들고, 이 아이는 terminator입니다.^^

그리고, roscore 실행~

거북이 rosrun turtlesim turtlesim_node 실행

키보드로 거북이를 움직이는 rosrun turtlesim turtle_teleop_key 실행~

이 타이밍에 rqt_graph로 토픽과 노드의 상황을 보죠. 딱, 지난번과 비슷하죠.

이제 방금 만든 rosrun basic_subscribe talke_pose.py 실행 (실행 권한을 주셔야 합니다.^^)

이제 토픽과 노드가 추가되었네요~

topic list를 보면, angle_basic이 보입니다.

rostopic echo로 해당 토픽을 열람해보면..

이렇게 제가 정한 대로 잘 나타나네요^^

짠~, 오늘은 매세지 만들기~ 한 번 해보았습니다^^


댓글을 달아 주세요

  1. BlogIcon 핑구야 날자 2019.03.04 12:22 신고

    메세치 처리를 위해 어떻게 스트럭처를 가져가느냐가 참 중요할 것 같아요.

  2. BlogIcon 공수래공수거 2019.03.04 17:48 신고

    남은 하루,내일도 힘내시기 바랍니다.

  3. BlogIcon 멜로요우 2019.03.04 19:02 신고

    자신만의 메세지를 적용하는법인가요? 사실 봐도 이쪽 계열에 아시는 분은 아시겠죠? ㅠ

  4. BlogIcon GeniusJW 2019.03.04 22:29 신고

    ㅎㅎ~
    잘은 모르지만
    보구 갑니다~~

  5. BlogIcon 북두협객 2019.03.05 07:15 신고

    간단한 응용법을 직접 손보여주시구 친절도 하셔라~

  6. BlogIcon peterjun 2019.03.05 22:17 신고

    메시지 만들기군요.
    저에게 어려운 이야기지만, 즐겁게 하고 계심이 글에 묻어나네요. ㅎㅎ

  7. BlogIcon 청결원 2019.03.06 06:45 신고

    오늘 뿌연 미세먼지 많은 날이지만
    건강 유의 하시고 포스팅 잘 보고 갑니다~