Professional Documents
Culture Documents
http://www.ros.org/wiki/urdf
URDF and You ROSCON2012 MAY19, 2012 David Lu!!
Outline
XML Specification
TOOLS
LIMITATIONS
ROSCON2012
MAY19, 2012
David Lu!!
ROSCON2012
MAY19, 2012
David Lu!!
TOPOLOGY
<?xml version="1.0"?> <robot name="dembones"> <link name="head" /> <link name="neck" /> <link name="shoulder" /> <link name="le t!arm" /> <link name="right!arm" /> <link name="back" /> <joint name="joint1" t"pe=" ixed"> <parent link="head"/> <child link="neck"/> </joint> <joint name="joint#" t"pe=" ixed"> <parent link="neck"/> <child link="shoulder"/> </joint> ... </robot>
Head
Neck
Shoulder
Left Arm
Back
Right Arm
ROSCON2012
MAY19, 2012
David Lu!!
Body
Base
URDF and You ROSCON2012
ROSCON2012
MAY19, 2012
David Lu!!
Geometry of joints
<param name="robot!description" text ile="%& ind roscon!urd '/urd /0()le$is.urd " />
ROSCON2012
MAY19, 2012
David Lu!!
10
/1oi t2states
/tf
11
/1oi t2states
/tf
12
ROSCON2012
MAY19, 2012
David Lu!!
13
14
/1oi t2states
/tf
15
/1oi t2states
/3od#2state
<node name="joint!state!publisher" t"pe="joint!state!publisher" pkg="joint!state!publisher"> <rosparam param="source_list"> head_state! body_state" </rosparam> </node>
URDF and You ROSCON2012 MAY19, 2012 David Lu!!
16
Forward Kinematics
5oi t State 'ra sform
Inverse Kinematics
http://www.ros.org/wiki/arm2 a6igatio
ROSCON2012
MAY19, 2012
David Lu!!
17
ROSCON2012
MAY19, 2012
David Lu!!
18
ROSCON2012
MAY19, 2012
David Lu!!
19
ROSCON2012
MAY19, 2012
David Lu!!
20
ROSCON2012
MAY19, 2012
David Lu!!
21
ROSCON2012
MAY19, 2012
David Lu!!
22
ROSCON2012
MAY19, 2012
David Lu!!
23
ROSCON2012
MAY19, 2012
David Lu!!
24
ROSCON2012
MAY19, 2012
David Lu!!
25
CollisionS: GEOMETRY
<link name="base!link"> <visual> <geometr"> <mesh ilename= "package.//pr#!description/meshes/base!v0/base.dae"/> </geometr"> </visual> <collision> <geometr"> <mesh ilename= "package.//pr#!description/meshes/base!v0/base!/.stl"/> </geometr"> </collision> </link>
26
27
SIMULATION: Gazebo
<transmission name="r!shoulder!pan!trans" t"pe="pr#!mechanism!model/4imple5ransmission"> <joint name="r!shoulder!pan!joint"/> <actuator name="r!shoulder!pan!motor"/> <mechanical6eduction>+2.1--#(-#100</mechanical6eduction> </transmission> <ga*ebo re erence="r!gripper!r! inger!link"> <turn7ravit"8 >true</turn7ravit"8 > <mu1 value="-00.0"/><mu# value="-00.0"/> <kp value="1000000.0"/><kd value="1.0"/> </ga*ebo>
28
Python
urdf2p#tho 1oi t2state2pu3lisher
ROSCON2012
MAY19, 2012
David Lu!!
29
TOOLS: CONVERSION
)*++, , ()*++,"orati-e esi'n ,cti-ity) .-con (/ds0 ase0 "yu0 o"10 stl0 stl" and more) simmechanics#to#urd2 (), $ro'rams)
30
TOOLS: XACRO
STATISTICS
/544 /444 &544 &444 3544 3444 544 4 erratic create nao "&3 careo"ot rosie $r& 6um"er o2 +ines
http://www.ros.org/wiki/<acro
URDF and You ROSCON2012 MAY19, 2012 David Lu!!
31
TOOLS: XACRO
LAUNCHING
<param name="robot!description" text ile="%& ind roscon!urd '/urd /0()le$is.urd " /> <param name="robot!description" command="%& ind xacro'/xacro.p" %& ind roscon!urd '/urd /11)xacro.xacro" />
ROSCON2012
MAY19, 2012
David Lu!!
32
TOOLS: XACRO
Properties
<xacro)property name="*idth" value="'+" /> <xacro)property name="bodylen" value="'," /> <link name="base!link"> <visual> <geometr"> <c"linder radius="-.*idth/+/" length="-.bodylen/"/> </geometr"> </visual> <collision> <geometr"> <c"linder radius="-.*idth/+/" length="-.bodylen/"/> </geometr"> </collision> </link> <joint name=,base!to!arm, t"pe=, ixed,> ... <origin x"*=,& -.bodylen/+/ &,/> </joint>
ROSCON2012
MAY19, 2012
David Lu!!
33
TOOLS: XACRO
FULL MACRO
<xacro)macro name="leg" params="prefix reflect"> <link name="-.prefix/_leg"> <visual> <geometr"> <box si*e="%9leglen: .# .1"/> </geometr"> <origin x"*="0 0 )%9leglen/#:"/> </visual> </link> <joint name="base!to!%9pre ix:!leg" t"pe=" ixed"> <parent link="base!link"/> <child link="%9pre ix:!leg"/> <origin xy#="-.reflect0*idth/ & '+(" /> </joint> </xacro)macro> <xacro)leg prefix="right" reflect="1" /> <xacro)leg prefix="left" reflect="21" />
ROSCON2012
MAY19, 2012
David Lu!!
34
Red
/ree
.ellow
Red
Blue
/ree
.ellow
URDF and You ROSCON2012 MAY19, 2012 David Lu!!
35
Functional :ears Flexi"le 7aterials )ertain Ty$es o2 ;oints Uno$timized )om$lex 7odels
ROSCON2012
MAY19, 2012
David Lu!!
36
URDF
To$o'ra$hy :eometry <isual ;oint Ty$es )ollision
SRDF/YAML
>ierarchy ?inematic )hains *ther =emantic .n2ormation
Parameterization
URDF and You ROSCON2012 MAY19, 2012 David Lu!!
7odular Pieces 37
NAME: a-id +uAA Website: cse@wustl@edu!Bd-l3 Email: da-idluCwustl@edu REPOSITORY:! tinyurl@com!roscon%urd2 Twitter: C$ro"a"lyda-id Clewisthero"ot LINKS:
UR F To$olo'y :eometry +aunch <isual Tools *ther Pro$s@ Dacro