URDF 니 먼데!

dmn_nmd·2025년 11월 19일

Robotics

목록 보기
1/3

URDF 니 먼데!

로봇과 실시간 움직임을 웹상에서 구현하기 위해 개발자 인터페이스를 구축하고 있습니다. 기존의 gltf와 같은 단순히 외형을 로드하는 모델과는 근본적으로 접근 방식이 다릅니다... URDF를 사용하여 로봇 모델을 로드, 구성하고 이를 기반으로 로봇의 실제 움직임을 반영해야 합니다.

URDF... 그래서 필수적인 규격인 URDF에 대해 아주 간단히 살펴보았습니다.


1. URDF의 정의 및 구성

URDF는 Unified Robot Description Format의 약자로, 로봇의 특징을 기술하기 위한 XML 기반 사양입니다. URDF는 ROS(Robot Operating System) 환경에서 로봇 모델링의 기본 요소로 사용됩니다.

URDF는 소프트웨어가 상호 작용할 수 있도록 로봇에게 "디지털 바디(Digital Body)"를 부여하는 것과 같습니다. 디바디바디디디바

핵심 목적

URDF의 주요 목적은 다음과 같습니다:

  • 로봇의 운동학적 구조(Kinematics), 동역학 파라미터(Dynamics), 시각적 표현(visual), 충돌 모델(collision)을 설명합니다.
  • 다양한 소프트웨어 구성 요소(예: 시뮬레이터, 플래너)가 로봇의 물리적 특성공통된 형식으로 이해할 수 있도록 정보를 제공합니다.

구조적 구성 요소

URDF는 복잡한 로봇 시스템을 링크(Link)조인트(Joint)계층적 트리 구조로 단순화하여 표현합니다. (구성 요소에 대해 추가 작성 예정)

구성 요소설명주요 태그 및 속성
링크 (<link>)로봇의 물리적 구성 요소(강체)를 나타냅니다. 각 링크는 시뮬레이션에 필요한 다양한 속성을 가집니다.관성(inertial), 시각(visual), 충돌(collision) 속성. inertial에는 질량(mass), 무게중심(origin), 회전 관성 행렬(inertia)이 포함됩니다.
조인트 (<joint>)부모 링크(Parent Link)자식 링크(Child Link)를 연결하며, 링크의 상대적 운동을 정의합니다. .Continuous (무제한 회전, 예: 바퀴), Revolute (제한된 회전), Prismatic (선형 슬라이딩), Fixed (강체 연결)가 가장 일반적입니다.

2. URDF 번들 및 구성 요소

URDF 모델은 URDF 파일(.urdf) 자체와 로봇 링크의 외형을 설명하는 메시 파일들을 포함하는 URDF 번들(URDF Bundle)로 구성됩니다.

시각적 기하학 (<visual>)

  • 이 요소는 시각화 도구에서 로봇이 어떻게 보이는지를 정의합니다.
  • <geometry> 태그를 사용하여 형태를 정의합니다: box, cylinder, sphere와 같은 기본 도형 또는 mesh 파일을 사용합니다.
  • 메시 포맷: 시각화를 위해 STL, DAE(COLLADA), OBJ 파일 형식이 사용됩니다. 특히 DAE는 색상 및 텍스처 정보를 지원하며, OBJ는 더 높은 수준의 디테일(자유 곡선)을 지원합니다. STL은 시각화 메시로 가장 흔하게 사용되는 파일 유형입니다. (파일 포맷에 대해 추가 작성 예정)

충돌 기하학 (<collision>)

  • 이 요소는 시뮬레이션 및 충돌 감지 등에 사용되는 물리 충돌 계산용 기하학을 정의합니다.
  • 충돌 감지 작업을 더 빠르게 처리하고 계산 효율성을 높이기 위해, 시각적 표현에 사용되는 복잡하고 상세한 메시 파일 대신 단순화된 기하학적 형태(예: 실린더, 상자)를 충돌 요소에 사용하는 경우가 많습니다.
  • 충돌 메시로 가장 많이 사용되는 CAD 유형은 STL입니다.

3. Xacro의 정의 및 목적

URDF 파일을 직접 작성하는 것은 코드 중복(특히 동일한 부품을 여러 번 사용할 때)과 유지보수 어려움으로 이어질 수 있습니다. 이를 해결하기 위해 Xacro라는 도구가 사용됩니다.

  • Xacro는 XML 매크로 언어의 약자입니다 (Xacro = XML macro).
  • Xacro 파일은 매크로(템플릿)와 변수를 사용하여 복잡한 로봇 설명을 단순화하는 URDF 파일의 설계도와 같습니다.
  • Xacro 파일을 통해 URDF 파일을 생성하는 입력 템플릿을 작성할 수 있습니다. Xacro 프로세서는 이 템플릿을 해석하여 최종 URDF 파일을 출력합니다.
  • 주요 기능: 상수(properties) 지정, 간단한 수학 연산, 매크로 정의(템플릿) 등을 통해 코드의 양을 줄이고 가독성과 유지보수성을 향상시킵니다.
profile
일잘러가 되어야지

0개의 댓글