패스트캠퍼스 환급챌린지 27일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
오늘은 Rviz2가 가지고 있는 기능들에 대해서
실습하는 시간을 가졌다.
[오늘의 수강 영상]
[오늘의 실습]
Rviz2란?
이미지, 포인트 클라우드, 레이저, 운동 변환, 로봇 모델 등을 볼 수 있는 시각화 도구이다.
중요한 점은 Rviz2는 시뮬레이터가 아닌 시각화 도구로써
주로 시뮬레이션또는 실제 로봇의
퍼블리싱된 토픽을 시각화하는 목적으로 사용된다.
시뮬레이션을 연 후에 rviz2라고 터미널에
작성하여 Rviz2를 작동시킨다.
작동시키면 아래와 같은 화면이 나오게 된다.
1. 중앙 패널
2. 디스플레이 패널
3. 뷰 패널
1. Global Options
Global Options란?
전체적인 환경 설정을 관리하는 디스플레이 타입이다.
이는, 특정 데이터나 디스플레이 항목에만 영향을 미치는 것이 아니라,
Rviz2의 전체적인 시각화 및 동작 방식을 제어한다.
제일 먼저 해줘야할 것은 디스플레이 패널 위쪽에 있는
Global Options → Fixed Frame에서
우리가 사용하는 로봇에 있는 Frame으로 변경해줘야한다.
이렇게해야 우리가 원하는 정보를 볼 수가 있다.
2. TF
TF란?
좌표 변환(Transform) 정보를 관리하고,
로봇 시스템 내에서 다양한 좌표계(Frame) 간의 변환을
쉽게 처리할 수 있도록 도와주는 디스플레이 타입이다.
디스플레이 패널 밑에 있는 Add를 눌러서
TF를 추가해주면 아래와 같이 나오게 되는데
여기서 Frames 밑에 있는 것들을 키고 끄고를 해주면
원하는 Frame(좌표)만 볼 수 있게 된다.
3. RobotModel
RobotModel이란?
로봇의 물리적 구성을 모델링하는 방법을 제공하는 디스플레이 타입이다.
Rviz2에서는 이를 통해 로봇의 3D 구조,
각 부품의 위치, 모션 등을 확인한다.
Add에서 RobotModel을 추가해주고
Description Topic에서 로봇의 모델을 불러와주면
다음과 같이 로봇 위에 frame들이 나타날 수 있게 된다.
4. LaserScan
LaserScan이란?
레이저 거리 측정기와 같은 센서에서 발생한 데이터를
시각화하는 디스플레이 타입이다.
Add에서 LaserScan을 추가한 후
/scan_raw라는 topic을 불러오게 되면
로봇에 달린 LiDAR의 데이터들을
볼 수 있게 된다.
여기서 size는 point들의 두께를 늘려서
조금 더 선명하게 볼 수 있도록 하는 것이며
여기서 Color Transformer를 FlatColor로 변경하면
원하는 색상으로 데이터들을 볼 수 있게 된다.
5. PointCloud2
PointCloud2란?
3D 점군 데이터를 표현하는 디스플레이 타입이다.
이는 다양한 센서(예: LiDAR, Depth 카메라 등)에서
발생하는 3D 점군 데이터를 처리하는데 사용된다.
이와 같이 보고자하는 Topic을 설정해주면
아래와 같이 로봇이 현재 보고 있는 것들을
시각화할 수 있다.
6. Group
Group이란?
여러 개의 디스플레이를 그룹화하여
동시에 제어할 수 있게 해주는 디스플레이 타입이다.
이를 사용하면, 그룹을 사용하면 여러 개의 디스플레이 요소를
하나의 단위로 묶어 관리할 수 있어, 설정이나 가시성 제어가 편해진다.
한마디로 말해 폴더 역활을 해주어서
아래와 같이 원하는 것끼리 묶을 수 있다.
이와 같이 6가지의 디스플레이 타입을 보았다.
이것말고도 많은 디스플레이 타입이 있지만
앞으로 차근차근 하나씩 알아가보도록 하자.
마지막으로 로봇을 움직일 때
시점의 차이를 변화시키는 Global Options의 Fixed Frame에 대해서 알아본 후
로봇이 움직일 때 로봇이 움직이는대로
화면이 따라서 움직여질 수 있게 하는 방법도 알아보도록 하자.
먼저, Global Options에서 FixedFrame을
base_link(로봇 중심 좌표)로 설정하면서
로봇이 움직이면 아래 동영상과 같이 base_link를 포함하고 있는
로봇은 가만히 있고 주변 환경이 이동하는 것처럼 볼 수 있다.
그리고 이때, 로봇 안에 똑같이 frame이라고 해도
Fixed Frame을 로봇 중앙에 있는 frame으로
설정하면 다음과 같이 평면도 로봇 중앙으로 바뀌며
로봇 바닥에 있는 frame으로 설정하면
다음과 같이 평면이 로봇 바닥으로 가는 것을 볼 수 있다.
다음으로, Fixed Frame을 odom(로봇의 초기 위치)으로
설정하면 odom frame은 가만히 있고
로봇이 이동하는 것을 볼 수 있다.
마지막으로, 이번에는 뷰 패털에 있는
Targer Frame을 로봇에 있는 frame으로
변경해주면 로봇이 이동할 때 화면도 함께 따라서
움직이도록 할 수 있다.
이렇게 되면 로봇이 이동할 때 화면에서
잃어버릴 위험이 없으니 편리하게 이용할 수 있다.
오늘 이렇게 Rviz2에 대해서 실습을 해봤다.
Rviz2를 수업에서나 평소에 연구를 통해
사용해볼 때 어떤걸 우선순위로 둬야하고
어떤 걸 만져야 어떤게 켜지는지 감 만을 가지고
살아가고 있었어서 한번은 제대로 배우고 싶다고 생각했었는데
이번 기회를 통해 많은 것들 다시 알게되고
습득하고 여러가지 새로운 디스플레이 타입과
tip들도 알게 된 것 같아서 너무 알찬 시간이였다.
#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
🚨[D-1] 4월 1일 00시 강의 가격 최대 13% 인상! | 패스트캠퍼스
오늘 자정 이후 비싸집니다. 가격 인상 전 지금이 3월 마지막 기회! 지금 바로 시작하세요.
fastcampus.co.kr