diff --git a/launch/spawn_sign.launch b/launch/description.launch
similarity index 60%
rename from launch/spawn_sign.launch
rename to launch/description.launch
index d2e4fa52a8551d05f5da4a2618271de1ba7965f8..0fffe8cc859cde31ddb5c73e80e5d88075f9cfdc 100644
--- a/launch/spawn_sign.launch
+++ b/launch/description.launch
@@ -1,40 +1,28 @@
 <!-- -->
 <launch>
-  <arg name="name"  default="stop1"/>
+  <arg name="name"  default="stop"/>
   <arg name="tag"   default="alvar0"/>
   <arg name="type"  default="stop"/>
-  <arg name="x"     default="0.5"/>
-  <arg name="y"     default="-0.5"/>
-  <arg name="yaw"   default="3.14159"/>
   <arg name="model" default="sign"/>
   <arg name="model_path"  default="$(find sign_description)/urdf/$(arg model).xacro"/>
-  <arg name="parent"      default="map"/>
+  <arg name="state_publisher" default="true"/>
   <arg name="rviz"        default="false"/>
 
   <param name="$(arg name)_description" 
          command="$(find xacro)/xacro --inorder '$(arg model_path)' 
                   name:=$(arg name)
                   tag:=$(arg tag)
-                  type:=$(arg type)
-                  parent:=$(arg parent)
-                  x:=$(arg x)
-                  y:=$(arg y)
-                  yaw:=$(arg yaw)">
+                  type:=$(arg type)">
   </param>
 
   <node name="$(arg name)_state_publisher"
         pkg ="robot_state_publisher"
-        type="robot_state_publisher">
+        type="robot_state_publisher"
+        if="$(arg state_publisher)">
     <!--<param name="tf_prefix" value="/$(arg name)" type="str" />-->
     <remap from="robot_description" to="$(arg name)_description" />
     <remap from="/joint_states" to="/$(arg name)/joint_states" />
   </node>
-  
-  <node name="spawn_urdf_$(arg name)"
-        pkg ="gazebo_ros" 
-        type="spawn_model"
-        args="-param /$(arg name)_description -urdf -model $(arg name) -x 0 -y 0 -z 0 -Y 0">
-  </node>
         
   <node name="$(arg name)_rviz" pkg="rviz" type="rviz"
         if="$(arg rviz)"
diff --git a/launch/spawn.launch b/launch/spawn.launch
new file mode 100644
index 0000000000000000000000000000000000000000..f6554503bfa29e1664eb8e9c439afcc703064af3
--- /dev/null
+++ b/launch/spawn.launch
@@ -0,0 +1,31 @@
+<!-- -->
+<launch>
+  <arg name="name"  default="stop1"/>
+  <arg name="model" default="sign"/>
+  <arg name="tag"   default="alvar0"/>
+  <arg name="type"  default="stop"/>
+  <arg name="x"     default="0.5"/>
+  <arg name="y"     default="-0.5"/>
+  <arg name="yaw"   default="3.14159"/>
+  <arg name="parent" default="map"/>
+  <arg name="rviz"   default="false"/>
+
+ <include file="$(find sign_description)/launch/description.launch">
+    <arg name="name"  value="$(arg name)"/>
+    <arg name="tag"   value="$(arg tag)"/>
+    <arg name="type"  value="$(arg type)"/>
+    <arg name="model" value="$(arg model)"/>
+    <arg name="rviz"  value="$(arg rviz)"/>
+ </include>
+  
+  <node name="spawn_urdf_$(arg name)"
+        pkg ="gazebo_ros" 
+        type="spawn_model"
+        args="-param /$(arg name)_description -urdf -model $(arg name) -x $(arg x) -y $(arg y) -z 0 -Y $(arg yaw)">
+  </node>
+        
+  <node name="static_tf_$(arg name)_base_link_to_$(arg parent)" pkg="tf" type="static_transform_publisher"
+      args="$(arg x) $(arg y) 0 $(arg yaw) 0 0 $(arg parent) $(arg name)_base_link 100">
+  </node>
+
+</launch>
\ No newline at end of file
diff --git a/urdf/sign.xacro b/urdf/sign.xacro
index 5e8b9fbe60d3c655977731fa472d759efc092232..5e9fb4eb92f75f36b20047e3526e5d2197304c5b 100644
--- a/urdf/sign.xacro
+++ b/urdf/sign.xacro
@@ -2,15 +2,10 @@
 <robot name="$(arg name)" xmlns:xacro="http://www.ros.org/wiki/xacro">
 
   <xacro:include filename="$(find sign_description)/urdf/signs/sign_macro.xacro" />
-
-  <link name="$(arg parent)">
-  </link>
   
   <xacro:sign name="$(arg name)"
-              parent="$(arg parent)"
               tag_dae="$(arg tag)"
               top_panel_dae="$(arg type)">
-    <origin xyz="$(arg x) $(arg y) 0" rpy="0 0 $(arg yaw)"/>
   </xacro:sign>
 
 </robot>
\ No newline at end of file
diff --git a/urdf/signs/sign_macro.xacro b/urdf/signs/sign_macro.xacro
index 2ab78a5a07259d92a90bfc10d5263de3878926af..bd9567aaa4a4773a4740aa687146847d2e0de0a4 100644
--- a/urdf/signs/sign_macro.xacro
+++ b/urdf/signs/sign_macro.xacro
@@ -19,8 +19,6 @@
 
   <xacro:macro name="sign" 
                params="name:=sign                
-                       parent:=map 
-                       *origin
                        tag_dae:=alvar0
                        top_panel_dae:=stop
                        box_gazebo_material:=Gazebo/White">
@@ -45,12 +43,6 @@
         </geometry>
       </collision>
     </link>
-    
-    <joint name="joint_${parent}_to_${name}_base_link" type="fixed">
-      <xacro:insert_block name="origin" /> 
-      <parent link="${parent}"/>
-      <child link="${name}_base_link"/>
-    </joint>
 
     <gazebo reference="${name}_base_link">
       <material>${box_gazebo_material}</material>
@@ -120,8 +112,19 @@
     </joint>
 
     <gazebo>
-      <static>1</static>
+      <static>true</static>
+    </gazebo>
+
+    <!--
+    <gazebo>
+      <plugin name="${name}_ground_truth" filename="libgazebo_ros_p3d.so">
+        <frameName>map</frameName>
+        <bodyName>${name}_base_link</bodyName>
+        <topicName>${name}_odom_ground_truth</topicName>
+        <updateRate>5.0</updateRate>
+      </plugin>
     </gazebo>
+    -->
 
   </xacro:macro>