기초 단계

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

 

 

 

 

 이번 장에서는 디버깅에 사용하는 rqt_console과 rqt_logger_level, 여러 노드를 한번에 시작할때 쓰는 roslaunche를 알아보자

 

 

 

2. rqt_console과 rqt_logger_level

- rqt_console은 노드의 출력을 보여주는 ROS 로깅 프레임워크

- rqt_logger_level로는 노드의 로그 레벨(디버그, 알림, 경고, 에러, 페이탈)을 바꿔줄수 있음

이라는데 뭔가 잘안되서 그냥 패스

 

2.2 roslaunch 사용하기

사용법 : roslaunch [package] [filename.launch]

 

아래의 코드대로 비기너 튜토리얼로가서 런치파일을 만들자

 

group ns는 네임 스페이스를 별개로 두는 태그이고,

이 네임스페이스로 turtlesim 패키지의 turtlesim_node 노드를 sim이란 이름으로 각각 실행

네임스페이스를 둬서 두 터틀심 노드 이름 중복을 막음

이번에는 터틀심의 미믹 노드로 미믹 노드의 input을 turtlesim1/turtle1으로 매핑

ouput을 turtlesim2/turtle1으로 매핑

즉 tutlesim1에 대한 입력을 turtlesim2에 보내 반영시킨다.

 

이번에는 먼저 rostopic 명령어로 먼저 거북이 조작 명령을 퍼블리시하고

 rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

 

roslaunch 해주면

roslaunch beginner_tutorials turtlemimic.launch

 

 

터틀심 노드가 2개 돌면서 미믹 노드로 터틀심 1에 준 입력이 터틀심2로 매핑되서 똑같이 움직인다. 

 

 

+ Recent posts