기초 단계

1. ROS 설치하고, 설정하기

2. ROS 파일 시스템 살펴보기

3. ROS 패키지 만들기

4. ROS 패키지 빌드하기

5. ROS 노드에 대해서 이해하기

6. ROS Topic을 이해하기

7. ROS 서비스와 파라미터 이해하기

8. rqt_console과 ros launch 사용하기

9. rosed로 파일 수정하기

10. ROS msg와 srv 만들기

11. C++로 간단한 퍼블리셔와 서브스크라이버 작성하기

12. 파이썬으로 간단한 퍼블리셔와 서브스크라이버 작성하기

13. 간단한 퍼블리셔와 서브스크라이버에 대해서 살펴보기

14. 간단한 서비스와 클라이언트 코드 작성하기(C++)

15. 간단한 서비스와 클러이언트 코드 쓰기(파이썬)

16. 간단한 서비스와 클라이언트에 대해서 알아보기

17. 데이터를 녹음하고 재생하기

18. bag file에서 메시지 읽기

19. roswtf 시작하기

20. ROS wifi 살펴보기

21. 다음에 할께 뭐가 있을까?

 

 

 

 

1. 선행할거

튜토리얼 설치하는 내용인데 했으니 패스

 

2. ROS 그래프 컨셉 개요!

- 노드 : 다른 노드와 통신이 가능한 단위? 노드? 실행 가능한 프로그램쯤 될거같다.

- 메시지 : ROS의 데이터 타입으로 어느 주제로 퍼블리싱과 서브스크라이빙 할때 씀

- 토픽 : 노드는 한 토픽으로 메시지를 퍼블리시 하고, 메시지를 수신할 수 있음

- 마스터 : ROS의 네임 서비스

- rosout : ros버전 stdout/stderr

- roscore : 마스터 + rosout + 파라미터 서버

 

3. 노드

 ROS 패키지에서 실행하는 파일이며, 다른 노드와 통신할수 있도록 ros client library를 사용함. 이걸로 노드가 어느 토픽/주제로 메시지를 퍼블리시하거나 서브스크라이브 할수있고, 서비스도 제공하거나 쓸수도 있다.

 

4. client libraries

- 노드가 통신하는데 필요

- rospy : 파이썬 클라이언트 라이브러리

- roscpp : c++ 클라이언트 라이브러라

 

5. roscore

- ROS를 사용하려면 실행해야함. 마스터와 rosout, 파라미터 서버가 동작하기 시작한다 (진짜 오랜만이다)

 

 

6. rosnode 사용하기

 원래 쓰던 터미널에는 roscore가 돌고있으니 새 터미널을 열어서 roscore가 뭘하는질 보자 

rosnode list : 실행중인 rosnode 목록

 

rosout 노드만 돌고있는데, 이 노드는  다른 노드들의 디버깅 출력들을 모아서 보여준다.

rosnode info /rosou으로는  rosout 노드의 정보를 보자

 

정보를 보니 /rosout_agg라는 토픽으로 퍼블리시하고있고, /rosout이라는 토픽을 서브스크라이브하고있다.

이건 rostopic을 봐야알듯

 

 

 

 

7. rosrun 사용하기

 이제 ros패키지를 제대로 사용해볼 때가 됬다. rosrun은 아래의 문법으로 패키지에 있는 노드를 실행하는 명령이다. 

rosrun [package_name] [node_name]

 

 turtlesim 패키지의 turtlesim_node를 rosrun으로 실행해보자!

 

거북이 시뮬레이터가 켜졌다.

 

아까 썻던 rosnode list 명령을 주면 turtlesim 노드가 추가된걸 볼수 있다.

rosrun 할대 노드이름을 변경할수도 있나보다.

+ Recent posts