본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2023 ROS 스터디] 오준호 #3주차 - ROS 기본 프로그래밍

반응형

앞서 강의 내용중에 있었던 노드간의 통신 방식들에 대해 직접 실습해보는 시간이었다.

 

우선 topic에 대해 실습하였다.

단방향 통신방법이다.

 

강의에서 하라는 대로 

1) 패키지를 설치하고

2) package.xml 수정

3) CMakeLists.txt 수정

4) MsgTutorial.msg 파일작성

5) topic_publisher.cpp, topic_subscriber.cpp 파일 작성

6) 빌드한 후 실행 한 결과

 

다음과 같이 이쁘게 통신을 하고 있는 것을 확인할 수 있다.

 

이후에는 service 통신 방법에 대해서 실습하였다.

양방향으로 통신이 필요할 때 사용한다.

 

topic 과 마찬가지로 작업을 한 후에 실행한다면

다음과 같이 통신하고 있는 것을 알 수 있다.

 

 따라하는 과정에서 복붙하지 않고 전부 따라 써보면서 군대 가기 전 마지막으로 느껴보았던,, cpp을 오랜만에 손끝으로 느껴보았다.

역시 오랜만에 해 보아도 오타 하나때문에 많은 시간을 낭비하게 하는 cpp,, 여전하구나

새삼 느끼는 거지만 cpp 공부 다시 열심히 해야할 것 같다.

 

열심히 에러와 싸우면서 여기까지 왔지만, 결국

git clone 으로 ros_tutorials 전부 가져왔다.

 

 이후 진행하는 실습에서는 service_server.cpp 소스를 수정하여 사칙연산을 할 수 있도록 만드는 실습이었다.

열심히 수정하고났더니, 선생님께서는 이미 ros_tutorials_parameter로 친절하게 만들어놓았고, 그걸로 실행하였다.

분하고 오기가 생겨서 이 악물고 내가 직접 수정한 파일로 실행하였다.

 

 

 

다음으로는 roslaunch에 대해서 실습하였다.

roslaunch는 rosrun과 다르게 하나 이상의 정해진 노드를 실행시킬 수 있다는 점이 있다.

오늘 실습도 역시 재미있었다 ^^ 

반응형