기초 단계

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. 다음에 할께 뭐가 있을까?

 

 

ROS 패키지 만들기

- 이번 튜토리얼에서는 패키지 만드는 프로그램인 catkin과 rospack으로 의존 관계를 목록화하는걸 다룬다.

 

1. catkin 패키지는 어떻게 구성될까?

여기서 패키지는 catkin 패키지를 말하며 다음의 요소들을 가지고 있어야 한다!

- package.xml : 그 패키지의 메타 정보

- CMakeList.txt : catkin 패키지는 CMakeLists.txt가 있어야 함.

- 그 패키지의 폴더

 

2. catkin 작업 공간 내 패키지

- catkin 패키지들을 catkin 작업 공간에 두고 쓰는걸 추천하며, 각 패키지는 독립적으로도 빌드 할수 있다.

 

* catkin 작업공간 생성하기

- catkin 패키지를 만들기 전에 catkin 패키지들을 빌드할수 있는 작업공간부터 만들자!

ref : http://wiki.ros.org/catkin/Tutorials/create_a_workspace

 

 

위 코드대로 진행하면

홈 디렉토리에다가 catkin_ws 만들고 거기다가 catkin_make 해서 진행하자

 

위 catkin 작업공간 폴더 구조대로 src 폴더내에 CMakeLists.txt가 생성되었다.

 

이제 다시 패키지 생성 페이지로 돌아와서

3. catkin 패키지 만들기

 

위 코드대로 해서 작업 공간 내 src 폴더다가 패키지 생성하자

코드를 보니 이름은  beginner_tutorials, std_msgs, rospy, roscpp를 의존하나보다

패키지 생성 문법도 catkin_create_pkg <package_name> [depend1] [depend2]란다

 

 

실제 실행해보면

앞에서 본 데로 보유자, 라이센스, 의존관계 같은것들이 나온다.

 

 

4. catkin 작업공간 빌드하고, 설정파일 소싱하기

여기 내용대로 진행하면

 

빌드가 잘 진행 된다.

 

 

만든 작업공간을 ROS 환경에다가 추가하도록 source /catkin_ws/devel/setup.bash 명령어를 주자

안하면 등록이 안되서 내가 만든 패키지를 못찾는다.

rosls roscpp를 하면 잘 찾고, 결과도 나오지만 beginner_tutorials는 빌드 했어도 못찾는다.

하지만 위 소싱 명령어를 주면 이제 ros 명령어들이 잘 동작된다.

이 과정이 번거로우면 저거.. ~/ 디렉토리에 어떤 파일에 추가하면 되는데 이름이 기억안나니 pass

 

 

5. 패키지 의존관계

- 아까 catkin_create_pkg 명령으로 beginner_tutorial 패키지를 생성할때 뒤에 의존 패키지들을 추가로 줬었는데, 이 1차적인 의존 패키지들을 rospack으로도 볼수 있다. (해당 패키지 package.xml에서도 볼수있는데 위에서 이미 cat했으니 pass)

 

1차 의존관계라 옵션이 depends1인가 보다.

 

 

 

+ Recent posts