티스토리 뷰
이전에 대회에 나갔을 때 기존에 있는 패키지를 바탕으로 코드를 수정하면서 원하는 방향으로 로봇이 움직이도록 만들었다. 이때 내가 처음부터 작성한 코드가 아니기에 조금만 수정해도 오류가 발생했다. 코딩, 프로그래밍을 한 것이 처음이었기에 이때부터 디버깅이라고 해야할지 로그를 남기는 것의 필요성이 중요하게 다가왔다. 하지만 ROS에서 로그를 남기는 방법이 다양해서 어떤 방법을 사용할지 몰라 그냥 print를 이용했었다. ㅎㅎ 이번에 로그 관련 강의가 올라와 이 부분이 궁금해 먼저 글을 써보려고 한다.
우선 혹시 모르기 때문에 rqt 관련 파일?을 설치한다.
sudo apt install ros-humble-rqt*
터틀심 실행하고 rqt를 실행하자!
플러그인 - 로깅 - 콘솔 선택
rqt 플러그인으로 로그를 관찰할 수 있음
- rqt로만 로그 확인할 수 있는 것은 아님
rqt로 토픽 다루기
플러그인 - visulization - plot
/turtle1/pose 입력
제거 가능
화살표축 누르면 축 수정 가능
토픽 모니터링도 할 수 있다~
다만 값 업데이트 되는 게 느리다 때문에 빠르게 발행되는 토픽이라면 위와 같이 그래프로 보는 것이 낫다
플러그인 - 토픽 - message publisher
토픽 입력하고 값 수정하여 발행도 가능
원하는 토픽 값을 입력하고 체크하면 발행 가능
직진 명령
ros2 topic pub -r 1 /turtle1/cmd_vel geometry_msgs/msg/Twist “{linear: {x: 2., y: 0., z: 0.}, angular: {x: 0., z: 0.}}”
혹은 rqt로 위와 같이 쉽게 publish 가능
거북이가 벽에 부딪히면 rqt log console에 기록이 남음
디버그, 로그 레벨
info - warn - error - fatal 로 뒤로 갈수록 치명적인 에러임
여러 터미널에서의 로그 기록을 확인할 수 있음
로그 기능 코드로 구현하기
self.get_logger().info('표기할 문구')
.info는 앞에서 말한 레벨을 의미하는데 단순히 정보를 전달할 목적의 로그이다.
특정 작업을 실시할 때라던지 사용할 수 있다.
다시 빌드하고 해당하는 노드를 실행하면 터미널에 [INFO] 와 함께 로그가 뜬 것을 볼 수 있다.
'전공 > ROS' 카테고리의 다른 글
ROS2 서비스 서버, 클라이언트 만들기 (0) | 2024.11.17 |
---|---|
ROS2 서비스 정의 만들기 (1) | 2024.11.16 |
ROS2 여러 토픽 구독, 발행하기 (1) | 2024.11.14 |
ROS2 메시지 패키지 만들기, 메시지 정의하기 (0) | 2024.11.13 |
ROS2 발행 노드 publisher 만들고 실행해보기 2 (0) | 2024.11.12 |
- Total
- Today
- Yesterday
- 파스타
- mealy
- 경북대
- 계산방법
- f-91w
- 오블완
- 북문
- 알뜰폰요금제
- 알뜰 요금제
- 할인
- 시계 줄
- 교체
- 티스토리챌린지
- 리브모바일
- 리브엠
- 문서 스캔
- 네이버페이
- 카카오페이
- 맛집
- 타란튤라
- 알리익스프레스
- 배송기간
- 메쉬 밴드
- 카시오
- 방향장
- f-94w
- a모바일
- Liiv M
- 10만포인트
- 방어동작
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |