본문 바로가기

Robot/Robot Program - ROS

ROS에서 새로운 메세지 유형 만들어 사용하기

이번에는 (뭐 언제나 그렇듯) 그냥 기초 이야기를 해보죠. 메세지입니다. 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로 해당 토픽을 열람해보면..

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

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

반응형