link
몸통 한 덩어리를 글로 적으려면 무엇을 알려 줘야 할까?
link란
함께 움직이는 한 덩어리
링크(link)는 휘지 않는 부품 한 덩어리입니다. urdf_tutorial의 R2D2 닮은 모델은 몸통, 머리, 다리, 바퀴 같은 link 16개로 되어 있습니다. link마다 같은 이름의 프레임이 하나씩 생깁니다.
세 칸
보이는 모양, 부딪히는 모양, 무게
link 안에는 세 가지를 적을 수 있습니다. RViz에 그리기만 하려면 <visual>만 있으면 됩니다. <collision>과 <inertial>은 물리를 흉내 내는 시뮬레이터가 씁니다(14강).
모양
기본 도형은 세 가지
<geometry> 안에 box, cylinder, sphere 가운데 하나를 적습니다. 길이는 모두 미터입니다. 복잡한 모양은 3D 도구로 만든 파일을 mesh로 불러옵니다.
mesh 파일 경로는 package://urdf_tutorial/meshes/l_finger.dae처럼 패키지 기준으로 적습니다.
기준점
모양은 link 원점 기준으로 놓입니다
도형은 기본으로 그 가운데가 link의 원점에 놓입니다. <visual> 안의 <origin>으로 옮기고 돌립니다. xyz는 미터, rpy(roll, pitch, yaw)는 라디안입니다. 1.57075는 약 90°입니다.
색
material로 색을 정합니다
색은 위에서 이름을 붙여 한 번 정의하고, <visual>에서 이름으로 가져다 씁니다. rgba는 빨강, 초록, 파랑, 불투명도를 0~1 값으로 적습니다.
따라 하기
joint에 자리를 안 적으면 겹칩니다
ros2 launch urdf_tutorial display.launch.py model:=urdf/02-multipleshapes.urdf
두 link를 잇는 joint는 있지만 <origin>이 없어 둘 다 원점에 놓입니다. 그래서 원기둥과 상자가 같은 자리에 겹쳐 보입니다.
다음 편