로봇 모델링 및 시뮬레이션 (1)-통합 로봇 설명 형식 -URDF

로봇 모델링 및 시뮬레이션 (1)-통합 로봇 설명 형식 -URDF

개요

URDF (Unified Robot Description Format)는 ROS에서 매우 중요한 로봇 모델 설명 형식입니다. ROS는 URDF 파일에서 XML 형식으로 설명 된 로봇 모델을 구문 분석 할 수있는 URDF 파일 용 C ++ 파서를 제공합니다.
URDF 파일을 사용하여 로봇 모델을 빌드하기 전에 URDF 파일에서 일반적으로 사용되는 XML 태그를 이해해야합니다.

1. <link> 태그

<link> 태그는 크기, 색상, 모양, 관성 매트릭스, 충돌 속성 등을 포함하여 로봇 강체 부분의 모양과 물리적 속성을 설명하는 데 사용됩니다.
로봇의 링크 구조는 일반적으로 그림과 같으며 기본 URDF 설명 구문은 다음과 같습니다.여기에 사진 설명 삽입

<link name="my_link">
   <inertial>
     <origin xyz="0 0 0.5" rpy="0 0 0"/>
     <mass value="1"/>
     <inertia ixx="100"  ixy="0"  ixz="0" iyy="100" iyz="0" izz="100" />
   </inertial>

   <visual>
     <origin xyz="0 0 0" rpy="0 0 0" />
     <geometry>
       <box size="1 1 1" />
     </geometry>
     <material name="Cyan">
       <color rgba="0 1.0 1.0 1.0"/>
     </material>
   </visual>

   <collision>
     <origin xyz="0 0 0" rpy="0 0 0"/>
     <geometry>
       <cylinder radius="1" length="0.5"/>
     </geometry>
   </collision>
 </link>

3 개의 하위 태그 포함
<관성> : 로봇 역학의 계산 부분에서 주로 사용되는 링크의 관성 매개 변수 설명;
<시각적> : 로봇 링크 부분의 모양 매개 변수, 크기, 색상, 모양 및 기타 모양을 설명합니다. 정보;
<충돌> :
링크 의 충돌 속성을 설명합니다. 링크의 또 다른 핵심 부분이 있습니다. 즉, 좌표계
링크 원점은 시작 좌표입니다. 전체 링크가 생성되면 링크를 기준으로 생성됩니다. 원점 좌표계;

2. <joint> 태그

<join> 태그는 두 개의 특정 링크 부품을 연결하는 데 사용되며 관절 동작의 위치 및 속도 제한을 포함하여 로봇 관절의 운동학 및 역학 속성을 설명합니다. 관절의 움직임 형태에 따라 6 가지 유형으로 나눌 수 있습니다.
여기에 사진 설명 삽입
인간 관절과 마찬가지로 로봇 관절의 주요 기능은 그림과 같이 각각 상위 링크와 하위 링크라고하는 두 개의 강체 링크를 연결하는 것입니다.
파란색 관절은 모션 축을 나타내고 파란색 관절은 파란색 축을 중심으로 회전 할 수 있습니다. 즉, 하위 링크가 관절을 중심으로 위아래로 회전 할 수 있습니다.
Joint는 두 개의 링크를 연결하는 것으로 1 차 및 2 차 관계로 구분해야합니다. 1 차 조인트는 상위 링크이고 하위 조인트는 하위 링크입니다. xml 형식의 설명에서이 두 링크가 존재해야합니다.
여기에 사진 설명 삽입
<join> 태그의 설명 구문은 다음과 같습니다.

 <joint name="my_joint" type="floating">
    <origin xyz="0 0 1" rpy="0 0 3.1416"/>
    <parent link="link1"/>
    <child link="link2"/>

    <calibration rising="0.0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="30" velocity="1.0" lower="-2.2" upper="0.7" />
    <safety_controller k_velocity="10" k_position="15" soft_lower_limit="-2.0" soft_upper_limit="0.5" />
 </joint>

관절의 상위 링크와 하위 링크를 지정해야하며 관절의 다른 속성도 설정할 수 있습니다. Subtags
:
<calibration> : 관절의 절대 위치를 보정하는 데 사용되는 관절의 기준 위치;
<dynamics> : 흔히 발생하는 감쇠 값, 물리적 정적 마찰 등과 같은 관절의 물리적 특성을 설명합니다. 다이나믹 시뮬레이션에 사용됨;
<제한> : 관절 동작의 상한 및 하한 위치, 속도 제한, 토크 제한 등을 포함하여 동작의 일부 제한 값을
설명합니다 . <모방> : 관절과 기존의 관계를 설명합니다. joints;
<safety_controller> : 안전 컨트롤러 매개 변수를 설명합니다. 로봇 관절의 움직임을 보호하십시오.

3. <robot> 태그

<robot>은 전체 로봇 모델의 최상위 태그입니다. <link> 및 <joint> 태그는 모두 <robot> 태그에 포함되어야합니다. 그림과 같이 완전한 로봇 모델은 일련의 <link>와 <joint>로 구성됩니다.
여기에 사진 설명 삽입

로봇의 이름은 <robot> 태그에 설정할 수 있으며 기본 구문은 다음과 같습니다.

<robot name="pr2">
  <link> ... </link>
  <link> ... </link>
  <link> ... </link>

  <joint>  ....  </joint>
  <joint>  ....  </joint>
  <joint>  ....  </joint>
</robot>

4. <gazebo> 태그

<gazebo> 태그는 로봇 재료의 속성, gazebo 플러그인 등을 포함하여 Gazebo에서 로봇 모델의 시뮬레이션에 필요한 매개 변수를 설명하는 데 사용됩니다. 이 태그는 로봇 모델의 필수 부분이 아니며 Gazebo 시뮬레이션 중에 만 추가하면됩니다.
태그의 기본 구문은 다음과 같습니다.

<gazebo reference="link_1">
    <material>Gz=azebo/Black</material>
</gazebo>

추천

출처blog.csdn.net/weixin_45661757/article/details/113201514