diff --git a/urdf_tutorial/01-myfirst.urdf b/urdf_tutorial/01-myfirst.urdf
new file mode 100644
index 0000000..4180a5c
--- /dev/null
+++ b/urdf_tutorial/01-myfirst.urdf
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/02-multipleshapes.urdf b/urdf_tutorial/02-multipleshapes.urdf
new file mode 100644
index 0000000..53deaad
--- /dev/null
+++ b/urdf_tutorial/02-multipleshapes.urdf
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/03-origins.urdf b/urdf_tutorial/03-origins.urdf
new file mode 100644
index 0000000..926e1c7
--- /dev/null
+++ b/urdf_tutorial/03-origins.urdf
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/04-materials.urdf b/urdf_tutorial/04-materials.urdf
new file mode 100644
index 0000000..bb9c5ca
--- /dev/null
+++ b/urdf_tutorial/04-materials.urdf
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/05-visual.urdf b/urdf_tutorial/05-visual.urdf
new file mode 100644
index 0000000..ff82229
--- /dev/null
+++ b/urdf_tutorial/05-visual.urdf
@@ -0,0 +1,247 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/06-flexible.urdf b/urdf_tutorial/06-flexible.urdf
new file mode 100644
index 0000000..0875c17
--- /dev/null
+++ b/urdf_tutorial/06-flexible.urdf
@@ -0,0 +1,264 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/07-physics.urdf b/urdf_tutorial/07-physics.urdf
new file mode 100644
index 0000000..9416037
--- /dev/null
+++ b/urdf_tutorial/07-physics.urdf
@@ -0,0 +1,415 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/08-macroed.urdf.xacro b/urdf_tutorial/08-macroed.urdf.xacro
new file mode 100644
index 0000000..d51fe2b
--- /dev/null
+++ b/urdf_tutorial/08-macroed.urdf.xacro
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/CMakeLists.txt b/urdf_tutorial/CMakeLists.txt
new file mode 100644
index 0000000..f8f1c9c
--- /dev/null
+++ b/urdf_tutorial/CMakeLists.txt
@@ -0,0 +1,30 @@
+cmake_minimum_required(VERSION 2.4.6)
+include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
+
+# Set the build type. Options are:
+# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
+# Debug : w/ debug symbols, w/o optimization
+# Release : w/o debug symbols, w/ optimization
+# RelWithDebInfo : w/ debug symbols, w/ optimization
+# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
+#set(ROS_BUILD_TYPE RelWithDebInfo)
+
+rosbuild_init()
+
+#set the default path for built executables to the "bin" directory
+set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
+#set the default path for built libraries to the "lib" directory
+set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
+
+#uncomment if you have defined messages
+#rosbuild_genmsg()
+#uncomment if you have defined services
+#rosbuild_gensrv()
+
+#common commands for building c++ executables and libraries
+#rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
+#target_link_libraries(${PROJECT_NAME} another_library)
+#rosbuild_add_boost_directories()
+#rosbuild_link_boost(${PROJECT_NAME} thread)
+#rosbuild_add_executable(example examples/example.cpp)
+#target_link_libraries(example ${PROJECT_NAME})
diff --git a/urdf_tutorial/Makefile b/urdf_tutorial/Makefile
new file mode 100644
index 0000000..b75b928
--- /dev/null
+++ b/urdf_tutorial/Makefile
@@ -0,0 +1 @@
+include $(shell rospack find mk)/cmake.mk
\ No newline at end of file
diff --git a/urdf_tutorial/display.launch b/urdf_tutorial/display.launch
new file mode 100644
index 0000000..4edccd2
--- /dev/null
+++ b/urdf_tutorial/display.launch
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/gazebo.launch b/urdf_tutorial/gazebo.launch
new file mode 100644
index 0000000..74fd130
--- /dev/null
+++ b/urdf_tutorial/gazebo.launch
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/urdf_tutorial/images/flexible.png b/urdf_tutorial/images/flexible.png
new file mode 100644
index 0000000..575a498
Binary files /dev/null and b/urdf_tutorial/images/flexible.png differ
diff --git a/urdf_tutorial/images/materials.png b/urdf_tutorial/images/materials.png
new file mode 100644
index 0000000..0c38f6c
Binary files /dev/null and b/urdf_tutorial/images/materials.png differ
diff --git a/urdf_tutorial/images/multipleshapes.png b/urdf_tutorial/images/multipleshapes.png
new file mode 100644
index 0000000..f29cde3
Binary files /dev/null and b/urdf_tutorial/images/multipleshapes.png differ
diff --git a/urdf_tutorial/images/myfirst.png b/urdf_tutorial/images/myfirst.png
new file mode 100644
index 0000000..c6e7a9d
Binary files /dev/null and b/urdf_tutorial/images/myfirst.png differ
diff --git a/urdf_tutorial/images/origins.png b/urdf_tutorial/images/origins.png
new file mode 100644
index 0000000..72a268a
Binary files /dev/null and b/urdf_tutorial/images/origins.png differ
diff --git a/urdf_tutorial/images/visual.png b/urdf_tutorial/images/visual.png
new file mode 100644
index 0000000..b41adca
Binary files /dev/null and b/urdf_tutorial/images/visual.png differ
diff --git a/urdf_tutorial/mainpage.dox b/urdf_tutorial/mainpage.dox
new file mode 100644
index 0000000..a6d61dc
--- /dev/null
+++ b/urdf_tutorial/mainpage.dox
@@ -0,0 +1,26 @@
+/**
+\mainpage
+\htmlinclude manifest.html
+
+\b urdf_tutorial is ...
+
+
+
+
+\section codeapi Code API
+
+
+
+
+*/
diff --git a/urdf_tutorial/manifest.xml b/urdf_tutorial/manifest.xml
new file mode 100644
index 0000000..32c7548
--- /dev/null
+++ b/urdf_tutorial/manifest.xml
@@ -0,0 +1,14 @@
+
+
+
+ urdf_tutorial
+
+
+ Lu David
+ BSD
+
+ http://ros.org/wiki/urdf_tutorial
+
+
+
+
diff --git a/urdf_tutorial/r2d2.xacro b/urdf_tutorial/r2d2.xacro
new file mode 100644
index 0000000..85a021e
--- /dev/null
+++ b/urdf_tutorial/r2d2.xacro
@@ -0,0 +1,277 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 50.0
+ 50.0
+ 100000000.0
+ 1.0
+ Gazebo/Fish
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100
+ left_back_wheel_joint
+ right_back_wheel_joint
+ ${width}
+ ${wheeldiam}
+ 5
+
+
+
+
+ true
+ 100.0
+ base_link
+ base_pose_ground_truth
+ 0.01
+ map
+ 25.7 25.7 0
+ 0 0 0
+
+
+
+
+
+ true
+ 1000.0
+
+
+
+
+
diff --git a/urdf_tutorial/urdf.vcg b/urdf_tutorial/urdf.vcg
new file mode 100644
index 0000000..cd9e661
--- /dev/null
+++ b/urdf_tutorial/urdf.vcg
@@ -0,0 +1,44 @@
+Background\ ColorR=0.0941176
+Background\ ColorG=0
+Background\ ColorB=0.466667
+Fixed\ Frame=/base_link
+Target\ Frame=
+Grid.Alpha=0.5
+Grid.Cell\ Size=0.5
+Grid.ColorR=0.898039
+Grid.ColorG=0.898039
+Grid.ColorB=0.898039
+Grid.Enabled=1
+Grid.Line\ Style=0
+Grid.Line\ Width=0.03
+Grid.Normal\ Cell\ Count=0
+Grid.OffsetX=0
+Grid.OffsetY=0
+Grid.OffsetZ=0
+Grid.Plane=0
+Grid.Plane\ Cell\ Count=10
+Grid.Reference\ Frame=
+Robot\ Model.Alpha=1
+Robot\ Model.Collision\ Enabled=0
+Robot\ Model.Enabled=1
+Robot\ Model.Robot\ Description=robot_description
+Robot\ Model.TF\ Prefix=
+Robot\ Model.Update\ Interval=0
+Robot\ Model.Visual\ Enabled=1
+Robot\:\ Robot\ Model\ Link\ base_linkShow\ Axes=0
+Robot\:\ Robot\ Model\ Link\ base_linkShow\ Trail=0
+Robot\:\ Robot\ Model\ Link\ legShow\ Axes=0
+Robot\:\ Robot\ Model\ Link\ legShow\ Trail=0
+Tool\ 2D\ Nav\ GoalTopic=goal
+Tool\ 2D\ Pose\ EstimateTopic=initialpose
+Camera\ Type=rviz::OrbitViewController
+Camera\ Config=1.15779 3.76081 2.16475 0 0 0
+Property\ Grid\ State=selection=.Global StatusTopStatus;expanded=.Global Options,Grid.Enabled,Robot Model.Enabled;scrollpos=0,0;splitterpos=150,285;ispageselected=1
+[Display0]
+Name=Grid
+Package=rviz
+ClassName=rviz::GridDisplay
+[Display1]
+Name=Robot Model
+Package=rviz
+ClassName=rviz::RobotModelDisplay
diff --git a/urdf_tutorial/xacrodisplay.launch b/urdf_tutorial/xacrodisplay.launch
new file mode 100644
index 0000000..c05d16b
--- /dev/null
+++ b/urdf_tutorial/xacrodisplay.launch
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+