Modelagem e simulação de robôs (1) -Formato de descrição de robô unificado-URDF

Modelagem e simulação de robôs (1) -Formato de descrição de robô unificado-URDF

Visão geral

URDF (Unified Robot Description Format) é um formato de descrição de modelo de robô muito importante no ROS. O ROS também fornece um analisador C ++ para arquivos URDF, que pode analisar modelos de robô descritos no formato XML em arquivos URDF.
Antes de usar o arquivo URDF para construir o modelo do robô, é necessário entender as marcas XML comumente usadas no arquivo URDF.

1. tag <link>

A tag <link> é usada para descrever a aparência e as propriedades físicas de uma parte do corpo rígido do robô, incluindo tamanho, cor, forma, matriz inercial, propriedades de colisão, etc.
A estrutura do link do robô é geralmente conforme mostrado na figura, e a sintaxe de descrição URDF básica é a seguinte:Insira a descrição da imagem aqui

<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>

Incluindo 3 sub-tags
<inercial>: descreve os parâmetros inerciais do link, usados ​​principalmente na parte de cálculo da dinâmica do robô;
<visual>: descreve os parâmetros de aparência da parte do link do robô, tamanho, cor, forma e outra aparência informações;
<colisão>: descreve as propriedades de colisão do
link ; há outra parte-chave do
link , ou seja, o sistema de coordenadas. A origem do link é a coordenada inicial. Quando todo o link é criado, ele é criado em relação ao link sistema de coordenadas de origem;

2. tag <joint>

A tag <join> é usada para conectar duas partes específicas do link; ela descreve as propriedades cinemáticas e dinâmicas da junta do robô, incluindo a posição e o limite de velocidade do movimento da junta. De acordo com a forma de movimento das articulações, ela pode ser dividida em seis tipos.
Insira a descrição da imagem aqui
Como as articulações humanas, a principal função das articulações do robô é conectar dois elos de corpo rígido, que são chamados de elo pai e elo filho, respectivamente, conforme mostrado na figura.
A junta azul representa um eixo de movimento e a junta azul pode girar em torno do eixo azul, ou seja, o link filho pode girar para cima e para baixo em torno da junta.
Junção serve para conectar dois links, que precisam ser divididos em um relacionamento primário e secundário. A junção primária é o link pai e a junção filho é o link filho. Na descrição em formato xml, esses dois links devem existir.
Insira a descrição da imagem aqui
A sintaxe de descrição da tag <join> é a seguinte:

 <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>

O link pai e o link filho da junta devem ser especificados, e outras propriedades da junta também podem ser definidas. Subtags
:
<calibração>: a posição de referência da junta, usada para calibrar a posição absoluta da junta;
<dinâmica>: descreve as propriedades físicas da junta, como valor de amortecimento, atrito físico estático, etc., que são frequentemente usado na simulação dinâmica;
<limite>: Descreve alguns valores limites de movimento, incluindo as posições dos limites superior e inferior do movimento da articulação, limite de velocidade, limite de torque, etc .;
<mimic>: descreve a relação entre a articulação e o juntas;
<safety_controller>: descreve os parâmetros do controlador de segurança. Proteja o movimento das articulações do robô;

3. tag <robot>

<robot> é a marca superior do modelo completo do robô. Ambas as marcas <link> e <joint> devem ser incluídas na marca <robot>. Conforme mostrado na figura, um modelo de robô completo consiste em uma série de <link> e <junta>.
Insira a descrição da imagem aqui

O nome do robô pode ser definido na tag <robot> e sua sintaxe básica é a seguinte:

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

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

4. A tag <gazebo>

A tag <gazebo> é usada para descrever os parâmetros necessários para a simulação do modelo do robô no Gazebo, incluindo as propriedades do material do robô, o plug-in do gazebo e assim por diante. Esta tag não é uma parte necessária do modelo do robô e só precisa ser adicionada durante a simulação do Gazebo.
A sintaxe básica da tag é a seguinte:

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

Acho que você gosta

Origin blog.csdn.net/weixin_45661757/article/details/113201514
Recomendado
Clasificación