unified robot description format (urdf)fetter/eng10026/urdf.pdf · • o robô pode ter um...

43
Unified Robot Description Format (URDF) Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10026 Robótica A Copyright (c) Walter Fetter Lages – p.1

Upload: lamnga

Post on 18-Nov-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Unified Robot Description Format(URDF)

Walter Fetter Lages

[email protected]

Universidade Federal do Rio Grande do Sul

Escola de Engenharia

Departamento de Sistemas Elétricos de Automação e Energia

ENG10026 Robótica A

Copyright (c) Walter Fetter Lages – p.1

Page 2: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Introdução

• URDF é uma especificação XML para descreverrobôs.

• Apenas estruturas em árvore podem serrepresentadas• Não é apropriada para robôs paralelos

• A especificação cobre:• Cinemática• Dinâmica• Representação visual• Modelo de colisão

Copyright (c) Walter Fetter Lages – p.2

Page 3: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Modelo

• A descrição consiste de elos e juntas

• Outros tags XML podem ser incluidos mas sãoignorados• Podem ser utilizados por outros subsistemas,

como simuladores e controladores

Copyright (c) Walter Fetter Lages – p.3

Page 4: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Modelo

<robot name="mob">

<link> ... </link>

<link> ... </link>

<link> ... </link>

<joint> .... </joint>

<joint> .... </joint>

<joint> .... </joint>

</robot>

Copyright (c) Walter Fetter Lages – p.4

Page 5: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Elo

• Nome

• Parâmetros de inércia

• Propriedades visuais

• Propriedades de colisão

Copyright (c) Walter Fetter Lages – p.5

Page 6: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Elo

<link name="elo1">

<inertial> ... </inertial>

<visual> ... </visual>

<collision> ... </collision>

</link>

Copyright (c) Walter Fetter Lages – p.6

Page 7: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<inertial>

• Propriedades de inércia do elo

<origin>: Centro de massa em relação ao sistemade referência do elo

xyz: offset em x, y, zrpy: ângulos de rolamento, arfagem e guinada

<mass>: Massa do elo

<inertia>: elementos da matriz de inércia: ixx,ixy, ixz, iyy, iyz e izz

Copyright (c) Walter Fetter Lages – p.7

Page 8: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<inertial>

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

Copyright (c) Walter Fetter Lages – p.8

Page 9: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Momento de Inércia

Ixx =∫ ∫ ∫

(

y2 + z2)

ρdv

Iyy =∫ ∫ ∫

(

x2 + z2)

ρdv

Izz =∫ ∫ ∫

(

x2 + y2)

ρdv

Ixy =∫ ∫ ∫

(xy) ρdv

Ixz =∫ ∫ ∫

(xz) ρdv

Iyz =∫ ∫ ∫

(yz) ρdv

dv: diferencial de volume

ρ: densidade volumétrica de massaCopyright (c) Walter Fetter Lages – p.9

Page 10: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Momentos de Inércia - Cubo

Ixx =m

12

(

l2 + h2)

Iyy =m

12

(

w2 + h2)

Izz =m

12

(

w2 + l2)

Ixy = Ixz = Iyz = 0Copyright (c) Walter Fetter Lages – p.10

Page 11: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Momentos de Inércia - Cilindro

Izz =mr2

2

Ixx = Iyy =m

12

(

3r2 + h2)

)

I = I = I = 0Copyright (c) Walter Fetter Lages – p.11

Page 12: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Momentos de Inércia - Esfera

Ixx = Iyy = Izz =2mr2

5Ixy = Ixz = Iyz = 0

Copyright (c) Walter Fetter Lages – p.12

Page 13: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<visual>

• Propriedades visuais do elo

name: (opcional) nome do elo

<origin>: (opcional) Sistema de coordenadas doelemento visual em relação so sistema decoordenadas do elo

xyz: offset em x, y, zrpy: ângulos de rolamento, arfagem e guinada

Copyright (c) Walter Fetter Lages – p.13

Page 14: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<visual>

<geometry>: Forma visual o objeto

<box>: a origem da caixa está no seu centrosize: atributo com as três dimensões da

caixa. A origem está no centro.

<cylinder>: a origem do cilindro está no seucentroradius: raio do cilindrolength: comprimento do cilindro

<sphere>: a origem da esfera está no seucentroradius: raio do cilindro

<mesh>: mesh especificado no formato Collada(.dae) ou StereoLitography (.stl)filename: nome do arquivoscale: (opcional) escala Copyright (c) Walter Fetter Lages – p.14

Page 15: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<visual>

<material>: (optional) material do elementovisual

name: nome do material

<color>: (optional) cor do materialrgba: cor do material representado por

red/green/blue/alpha, na faixa [0,1]

<texture>: (optional) texturafilename: arquivo especificando a textura

Copyright (c) Walter Fetter Lages – p.15

Page 16: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<visual>

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

Copyright (c) Walter Fetter Lages – p.16

Page 17: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<collision>

• Propriedades de colisão do elo

name: (opcional) nome do elo

<origin>: (opcional) Sistema de coordenadas doelemento de colisão em relação so sistema decoordenadas do elo

xyz: offset em x, y, zrpy: ângulos de rolamento, arfagem e guinada

<geometry>: Forma de colisão o objeto,especificada de maneira semelhante à formavisual

Copyright (c) Walter Fetter Lages – p.17

Page 18: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<collision>

<collision>

<origin xyz="0 0 0" rpy="0 0 0"/>

<geometry>

<cylinder radius="1" length="0.5"/>

</geometry>

</collision>

Copyright (c) Walter Fetter Lages – p.18

Page 19: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Junta• Nome

• Tipo

• Propriedades: origem (opcional), elo pai, elofilho, eixo (opcional), calibragem (opcional),dinâmica (opcional), limites (opcional, excetopara revolutas e prismáticas), mímica (opcional),controlador de segurança (opcional)

Copyright (c) Walter Fetter Lages – p.19

Page 20: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Junta

<joint name="..." type="...">

<parent link="..." />

<child link="..." />

<axis xyz="0 0 1" />

</joint>

Copyright (c) Walter Fetter Lages – p.20

Page 21: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Tipo da Junta

revolute: junta rotacional

continuous: junta rotacional, sem limite, comouma roda

prismatic: junta prismática

fixed: junta fixa, que não se move

floating: movimento nos 6 graus de liberdade

planar: movimento no plano perpendicular ao eixo

Copyright (c) Walter Fetter Lages – p.21

Page 22: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<origin>

• Origem da junta

• Transformação do elo pai para o elo filho

xyz (opcional): offset em x, y, z

rpy (opcional): ângulos de rolamento, arfagem eguinada

Copyright (c) Walter Fetter Lages – p.22

Page 23: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<parent> e <child>

• Elos Pai e Filho da Junta (obrigatórios)

• parâmetro link: nome do elo pai ou filho

Copyright (c) Walter Fetter Lages – p.23

Page 24: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<axis>

• Eixo da junta (opcional)

xyz: componentes do versor descrevendo o eixo dajunta

Copyright (c) Walter Fetter Lages – p.24

Page 25: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<calibration>

• Calibragem da junta (opcional)

rising (opcional): quando movendo na direçãopositiva esta posição gera uma borda de subida

falling (opcional): quando movendo na direçãopositiva esta posição gera uma borda de descida

Copyright (c) Walter Fetter Lages – p.25

Page 26: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<dynamics>

• Dinâmica da junta (opcional)

damping (opcional): amortecimento da junta

(Ns/m para juntas prismáticas e Nms/rad parajuntas rotacionais)

friction (opcional): fricção na junta (N parajuntas prismáticas e Nm para juntas rotacionais)

Copyright (c) Walter Fetter Lages – p.26

Page 27: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<limit>

• Limites da junta (opcional, exceto para juntasprismáticas e rotacionais)

lower (opcional): limite inferior da posição dajunta

upper (opcional): limite superior da posição dajunta

effort: máximo esforço na junta (em valorabsoluto)

velocity: máxima velocidade na junta (em valorabsoluto)

Copyright (c) Walter Fetter Lages – p.27

Page 28: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<mimic>

• A junta mimetiza outra junta, eventualmente comum multiplicador e um offset (opcional).value=multipliner * joint + offset.

joint: junta mimetizada

multiplier (opcional): multiplicador (default =1)

offset (opcional): offset (default = 0)

Copyright (c) Walter Fetter Lages – p.28

Page 29: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<safety_controller>

• Controlador de segurança da junta (opcional)

• Estabelece saturções por software para a junta

soft_lower_limit (opcional): limite inferior apartir do qual o controlador de segurança começaa atuar

soft_upper_limit (opcional): limite superior apartir do qual o controlador de segurança começaa atuar

k_position (opcional): relação entre os limitesde posição e velocidade

k_velocity: relação entre os limites de esforço evelocidade

Copyright (c) Walter Fetter Lages – p.29

Page 30: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Controlador de Segurança

Copyright (c) Walter Fetter Lages – p.30

Page 31: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Controlador de Segurança

Copyright (c) Walter Fetter Lages – p.31

Page 32: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Junta

<joint name="joint_1" type="revolute">

<parent link="parent_name" />

<child link="child_name" />

<axis xyz="0 0 1" />

<limit effort="30" lower="−2.6" upper="2.6" velocity="2.0" />

<safety_controller k_velocity="0.5" />

<dynamics damping="0.9" friction="0.42" />

</joint>

Copyright (c) Walter Fetter Lages – p.32

Page 33: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Transmissão

• Associa uma junta a um atuador

• Parâmetros:• Nome• Tipo• Junta• Atuador

Copyright (c) Walter Fetter Lages – p.33

Page 34: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Transmissão

<transmission name="simple_trans">

<type>transmission_interface/SimpleTransmission</type>

<joint name="foo_joint">

<hardwareInterface>EffortJointInterface</hardwareInterface>

</joint>

<actuator name="foo_motor">

<mechanicalReduction>50</mechanicalReduction>

</actuator>

</transmission>

Copyright (c) Walter Fetter Lages – p.34

Page 35: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<type>

• Tipo da transmissão

transmission_interface/SimpleTransmission:

transmissão simples

transmission_interface/DifferentialTransmission:

transmissão diferencial

Copyright (c) Walter Fetter Lages – p.35

Page 36: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<joint>

• Junta associada à transmissão

name: nome da junta

<hardwareInterface>: tipo de interface dehardware da junta

EffortJointInterface: Junta acionadapor esforço (torque ou força)

VelocityJointInterface: Juntaacionada por velocidade

PositionJointInterface: Juntaacionada por posição

Copyright (c) Walter Fetter Lages – p.36

Page 37: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

<actuator>

• Atuador associado à transmissão

name: nome do atuador

<mechanicalReduction>: Redução natransmissão

Copyright (c) Walter Fetter Lages – p.37

Page 38: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Gazebo• Para que robôs descritos em URDF funcionem

adequadamente no Gazebo é necessário quesigam algumas convenções:• Cada elo deve ter um elemento <inertia>• Cada elo pode ter um elemento <gazebo>

• converter cores para o formado do Gazebo• converter arquivos stl para arquivos dae• adicionar plugins para sensores

• Cada junta pode ter um elemento <gazebo>• configurar o amortecimento da junta• adicionar plugins para o atuador

• O robô pode ter um elemento <gazebo>• O elo <link name="world"/> pode ser

usado para fixar rigidamente o robô noambiente

Copyright (c) Walter Fetter Lages – p.38

Page 39: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Elementos <gazebo> para Elos<material>: Material do elemento visual

<gravity>: se true, usar gravidade

<dampingFactor>: fator de amortecimento de velocidade

<maxVel>: máxima velocidade de correção em contatos

<minDepth>: profundidade mínima de contato antes do

impulso de correção

<mu1>, <mu2>: coeficientes de fricção

<fdir1>: direção de mu1

<kp>: rigidez de contato

<kd>: amortecimento de contato

<selfCollide>: se true o elo pode colidir com outros elos

<maxContacts>: número máximo de contatos

<laserRetro>: intensidade de retorno do sensor laser

Copyright (c) Walter Fetter Lages – p.39

Page 40: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Material

• Os materiais estão descritos em/usr/share/gazebo/media/meterials/scripts/gazebo.material

Copyright (c) Walter Fetter Lages – p.40

Page 41: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Elementos <gazebo> para Elos

<gazebo reference="link2">

<mu1>0.2</mu1>

<mu2>0.2</mu2>

<material>Gazebo/Black</material>

</gazebo>

Copyright (c) Walter Fetter Lages – p.41

Page 42: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Elementos <gazebo> para Juntas

<kp>: rigidez

<kd>: amortecimento

<stopCfm>: força de restrição quando não parada

<stopErp>: parâmetro de redução de erro

<provideFeedback>: quando em true permitea juna publicar força e torque via um plugin doGazebo

<cfmDamping>: quando em true usar CFM parasimular o amortecimento, permitindoamortecimento infinito

<fudgeFactor>: escala para a força em exessoquando a junta está no limite, entre zero e um.

Copyright (c) Walter Fetter Lages – p.42

Page 43: Unified Robot Description Format (URDF)fetter/eng10026/urdf.pdf · • O robô pode ter um elemento  ... Material do elemento visual : se true, ... intensidade

Elementos <gazebo> para Robôs

<static>: quando em true o robô é imóvel

Copyright (c) Walter Fetter Lages – p.43