Fixed Frame과 RobotModel

노드는 다 떴는데, RViz 화면이 텅 비었다면?

빈 화면

그냥 켠 rviz2는 아무것도 모릅니다

display.launch.py를 6편처럼 띄워 둔 채 새 터미널에서 rviz2만 켜 봅니다. 같은 TF가 흐르는데도 새 창에는 격자뿐입니다. 설정 파일 없이 켠 RViz는 기준 프레임이 map이고, 디스플레이도 Grid 하나뿐이기 때문입니다.

Fixed Frame

모든 것을 그릴 기준 프레임

Fixed Frame은 RViz가 모든 데이터를 이 프레임 기준으로 바꿔 그리는 기준입니다(12강). 지금 TF 나무에는 map이 없습니다. 지도는 15강에서 만듭니다. 그러니 뿌리 link인 base_link를 고릅니다.

칸에 직접 쳐 넣거나, 펼쳐서 지금 있는 프레임 가운데서 고릅니다.

RobotModel

로봇 모양은 RobotModel을 더해야

기준을 맞춰도 로봇을 그리는 디스플레이가 없으면 보이지 않습니다. Add를 눌러 RobotModel을 더합니다. By topic 탭에서 /robot_description 아래의 RobotModel을 고르면 토픽까지 한 번에 맞춰집니다.

Description Topic

/robot_description을 골라 줍니다

By display type으로 더했다면 RobotModel을 펼쳐 Description Topic에 /robot_description을 넣습니다. 5편에서 본 대로 이 토픽은 Transient Local이라, RViz를 늦게 켜도 모델을 받습니다.

점검표

안 보이면 이 순서로 봅니다

위에서부터 하나씩 확인합니다. 1번은 ros2 node list, 5번은 ros2 topic echo /joint_states --once로 봅니다. 관절 값이 없으면 그 아래 link들이 원점에 하얗게 몰려 보입니다.

아직은

라이다 점은 14강에서 봅니다

지금은 라이다 데이터를 내보내는 곳이 없습니다. urdf_tutorial 모델에는 센서가 없고, 진짜 라이다도 붙어 있지 않습니다. LaserScan을 더해도 받을 메시지가 없습니다. 시뮬레이터 라이다가 /scan을 내는 14강 8편에서 봅니다.

다음 강

로봇이 없어도 센서 데이터를 만들 수 있을까요?

14강 1편로봇 없이 로봇 만들기 13강 목록