이번에는 (뭐 언제나 그렇듯) 그냥 기초 이야기를 해보죠. 메세지입니다. 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로 해당 토픽을 열람해보면..
이렇게 제가 정한 대로 잘 나타나네요^^
짠~, 오늘은 매세지 만들기~ 한 번 해보았습니다^^
'Robot > Robot Program - ROS' 카테고리의 다른 글
ROS melodic에서 영상인식 YOLOv3 패키지 세팅하기 (42) | 2019.11.26 |
---|---|
rosed의 에디터를 sublime text로 변경하기 (6) | 2019.05.23 |
ROS Service 튜토리얼과 turtlesim에 테스트해보기 (4) | 2019.05.13 |
VSCode로 ROS 패키지 생성해서, 간단한 subscribe 노드 만들어 보기 (12) | 2019.02.18 |
ROS의 node와 topic을 예제를 통해 알아볼까? (22) | 2019.02.11 |
역기구학을 풀 때 도움을 줄 수 있는 Python 모듈 - ikpy - (21) | 2018.08.20 |
ROS에서 아두이노로 만든 로봇 제어하기 - 일단은 LED 깜빡거리기 (19) | 2018.07.13 |