로봇과 실시간 움직임을 웹상에서 구현하기 위해 개발자 인터페이스를 구축하고 있습니다. 기존의 gltf와 같은 단순히 외형을 로드하는 모델과는 근본적으로 접근 방식이 다릅니다... URDF를 사용하여 로봇 모델을 로드, 구성하고 이를 기반으로 로봇의 실제 움직임을 반영해야 합니다.
URDF... 그래서 필수적인 규격인 URDF에 대해 아주 간단히 살펴보았습니다.
URDF는 Unified Robot Description Format의 약자로, 로봇의 특징을 기술하기 위한 XML 기반 사양입니다. URDF는 ROS(Robot Operating System) 환경에서 로봇 모델링의 기본 요소로 사용됩니다.
URDF는 소프트웨어가 상호 작용할 수 있도록 로봇에게 "디지털 바디(Digital Body)"를 부여하는 것과 같습니다. 디바디바디디디바
URDF의 주요 목적은 다음과 같습니다:
URDF는 복잡한 로봇 시스템을 링크(Link)와 조인트(Joint)의 계층적 트리 구조로 단순화하여 표현합니다. (구성 요소에 대해 추가 작성 예정)
| 구성 요소 | 설명 | 주요 태그 및 속성 |
|---|---|---|
링크 (<link>) | 로봇의 물리적 구성 요소(강체)를 나타냅니다. 각 링크는 시뮬레이션에 필요한 다양한 속성을 가집니다. | 관성(inertial), 시각(visual), 충돌(collision) 속성. inertial에는 질량(mass), 무게중심(origin), 회전 관성 행렬(inertia)이 포함됩니다. |
조인트 (<joint>) | 부모 링크(Parent Link)와 자식 링크(Child Link)를 연결하며, 링크의 상대적 운동을 정의합니다. . | Continuous (무제한 회전, 예: 바퀴), Revolute (제한된 회전), Prismatic (선형 슬라이딩), Fixed (강체 연결)가 가장 일반적입니다. |
URDF 모델은 URDF 파일(.urdf) 자체와 로봇 링크의 외형을 설명하는 메시 파일들을 포함하는 URDF 번들(URDF Bundle)로 구성됩니다.
<visual>)<geometry> 태그를 사용하여 형태를 정의합니다: box, cylinder, sphere와 같은 기본 도형 또는 mesh 파일을 사용합니다.<collision>)URDF 파일을 직접 작성하는 것은 코드 중복(특히 동일한 부품을 여러 번 사용할 때)과 유지보수 어려움으로 이어질 수 있습니다. 이를 해결하기 위해 Xacro라는 도구가 사용됩니다.