diff --git a/config/blue_lab.yaml b/config/blue_lab.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e5f517d1e2699569b59287704140b577705612d6
--- /dev/null
+++ b/config/blue_lab.yaml
@@ -0,0 +1,9 @@
+color_id: blue
+H_center: 233
+H_window: 3
+S_center: 215
+S_window: 10
+V_center: 131
+V_window: 33
+max_area: 100000
+min_area: 10
diff --git a/config/green_lab.yaml b/config/green_lab.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..00d14fb0fc9e4290abf714f586ddc7747cbd3dc1
--- /dev/null
+++ b/config/green_lab.yaml
@@ -0,0 +1,9 @@
+color_id: green
+H_center: 134
+H_window: 14
+S_center: 122
+S_window: 35
+V_center: 44
+V_window: 9
+max_area: 100000
+min_area: 10
diff --git a/config/red_lab.yaml b/config/red_lab.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..85f4dc94764ae2126199f996e13c2749dca08fc6
--- /dev/null
+++ b/config/red_lab.yaml
@@ -0,0 +1,9 @@
+color_id: red
+H_center: 348
+H_window: 6
+S_center: 185
+S_window: 21
+V_center: 90
+V_window: 27
+max_area: 100000
+min_area: 10
diff --git a/config/yellow_lab.yaml b/config/yellow_lab.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3928b143072c9211bbe60758e495d1df2cdc54de
--- /dev/null
+++ b/config/yellow_lab.yaml
@@ -0,0 +1,9 @@
+color_id: yellow
+H_center: 48
+H_window: 6
+S_center: 228
+S_window: 20
+V_center: 132
+V_window: 21
+max_area: 100000
+min_area: 10
diff --git a/launch/visual_gps.launch b/launch/visual_gps.launch
index 22bcbb4782ad668d994340a71a87957ab4675c65..72fc9973f724e825fab1251140fa87359e555f21 100644
--- a/launch/visual_gps.launch
+++ b/launch/visual_gps.launch
@@ -1,52 +1,50 @@
+<?xml version="1.0"?>
 <!-- -->
 <launch>
-  <node pkg="nodelet" type="nodelet" name="visual_gps_nodelet"  args="manager" output="screen">
-    
-  </node>
 
-  <node pkg="nodelet" type="nodelet" name="blob_detector_color1" args="load iri_blob_detector/BlobDetectorNodelet visual_gps_nodelet" output="screen">
+  <arg name="positions_file" default="lab_position.yaml"/>
+  <arg name="positions_path" default="$(find iri_visual_gps)/config"/>
+  
+  <arg name="config_yaml_file_location" default="$(find iri_visual_gps)/config"/>
+
+  <node name="blob1"
+        pkg="iri_blob_detector"
+        type="iri_blob_detector"
+        output="screen">
     <remap from="~/image_in/image_raw" to="/usb_cam/image_raw"/>
     <remap from="~/image_in/camera_info" to="/usb_cam/camera_info"/>
     <remap from="~/blobs" to="/visual_gps/color1_blobs"/>
-    <rosparam file="$(find iri_blob_detector)/config/red_conf.yaml" command="load" />
+    <rosparam file="$(arg config_yaml_file_location)/green_lab.yaml" command="load" />
   </node>
-  <node pkg="nodelet" type="nodelet" name="blob_detector_color2" args="load iri_blob_detector/BlobDetectorNodelet visual_gps_nodelet" output="screen">
+  
+  <node name="blob2"
+        pkg="iri_blob_detector"
+        type="iri_blob_detector"
+        output="screen">
     <remap from="~/image_in/image_raw" to="/usb_cam/image_raw"/>
     <remap from="~/image_in/camera_info" to="/usb_cam/camera_info"/>
     <remap from="~/blobs" to="/visual_gps/color2_blobs"/>
-    <rosparam file="$(find iri_blob_detector)/config/blue_conf.yaml" command="load" />
+    <rosparam file="$(arg config_yaml_file_location)/red_lab.yaml" command="load" />
   </node>
-  <node pkg="nodelet" type="nodelet" name="blob_detector_color3" args="load iri_blob_detector/BlobDetectorNodelet visual_gps_nodelet" output="screen">
+  
+  <node name="blob3"
+        pkg="iri_blob_detector"
+        type="iri_blob_detector"
+        output="screen">
     <remap from="~/image_in/image_raw" to="/usb_cam/image_raw"/>
     <remap from="~/image_in/camera_info" to="/usb_cam/camera_info"/>
     <remap from="~/blobs" to="/visual_gps/color3_blobs"/>
-    <rosparam file="$(find iri_blob_detector)/config/green_conf.yaml" command="load" />
+    <rosparam file="$(arg config_yaml_file_location)/yellow_lab.yaml" command="load" />
   </node>
-  <node pkg="nodelet" type="nodelet" name="blob_detector_color4" args="load iri_blob_detector/BlobDetectorNodelet visual_gps_nodelet" output="screen">
+  
+  <node name="blob4"
+        pkg="iri_blob_detector"
+        type="iri_blob_detector"
+        output="screen">
     <remap from="~/image_in/image_raw" to="/usb_cam/image_raw"/>
     <remap from="~/image_in/camera_info" to="/usb_cam/camera_info"/>
     <remap from="~/blobs" to="/visual_gps/color4_blobs"/>
-    <rosparam file="$(find iri_blob_detector)/config/yellow_conf.yaml" command="load" />
-  </node>
-  <node pkg="nodelet" type="nodelet" name="camera" args="load libuvc_camera/driver visual_gps_nodelet" output="screen">
-<!--    <param name="vendor" value="0x046d"/>
-    <param name="product" value="0x0805"/>
-    <param name="serial" value="AB659260"/>-->
-    <!-- If the above parameters aren't unique, choose the first match: -->
-    <param name="index" value="0"/>
-    <!-- Image size and type -->
-    <param name="width" value="640"/>
-    <param name="height" value="480"/>
-    <!-- choose whichever uncompressed format the camera supports: -->
-    <param name="video_mode" value="uncompressed"/> <!-- or yuyv/nv12/mjpeg -->
-    <param name="frame_rate" value="15"/>
-    <param name="timestamp_method" value="start"/> <!-- start of frame -->
-    <param name="camera_info_url" value="file:///tmp/cam.yaml"/>
-    <param name="auto_exposure" value="0"/> <!-- use aperture_priority auto exposure -->
-    <param name="auto_exposure_priority" value="0"/>
-    <param name="exposure_absolute" value="0.90"/> <!-- use aperture_priority auto exposure -->
-    <remap from="/image_raw" to="/usb_cam/image_raw"/>
-    <remap from="/camera_info" to="/usb_cam/camera_info"/>
+    <rosparam file="$(arg config_yaml_file_location)/blue_lab.yaml" command="load" />
   </node>
 
   <node pkg="iri_visual_gps" 
@@ -55,6 +53,6 @@
         output="screen">
     <remap from="~/camera/camera_info" to="/usb_cam/camera_info"/>
     <remap from="~/set_camera_params" to="/usb_cam/set_parameters"/>
-    <rosparam file="$(find iri_visual_gps)/config/default_params.yaml" command="load" />
+    <rosparam file="$(arg positions_path)/$(arg positions_file)" command="load" />
   </node>
 </launch>
diff --git a/launch/visual_gps_nodelets.launch b/launch/visual_gps_nodelets.launch
new file mode 100644
index 0000000000000000000000000000000000000000..c5312ea486fb1874523c7759b41c5cafc2f81fbd
--- /dev/null
+++ b/launch/visual_gps_nodelets.launch
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!-- -->
+<launch>
+  <node pkg="nodelet" type="nodelet" name="visual_gps_nodelet"  args="manager" output="screen">
+    
+  </node>
+
+  <node pkg="nodelet" type="nodelet" name="blob_detector_color1" args="load iri_blob_detector/BlobDetectorNodelet visual_gps_nodelet" output="screen">
+    <remap from="~/image_in/image_raw" to="/usb_cam/image_raw"/>
+    <remap from="~/image_in/camera_info" to="/usb_cam/camera_info"/>
+    <remap from="~/blobs" to="/visual_gps/color1_blobs"/>
+    <rosparam file="$(find iri_blob_detector)/config/red.yaml" command="load" />
+  </node>
+  <node pkg="nodelet" type="nodelet" name="blob_detector_color2" args="load iri_blob_detector/BlobDetectorNodelet visual_gps_nodelet" output="screen">
+    <remap from="~/image_in/image_raw" to="/usb_cam/image_raw"/>
+    <remap from="~/image_in/camera_info" to="/usb_cam/camera_info"/>
+    <remap from="~/blobs" to="/visual_gps/color2_blobs"/>
+    <rosparam file="$(find iri_blob_detector)/config/blue.yaml" command="load" />
+  </node>
+  <node pkg="nodelet" type="nodelet" name="blob_detector_color3" args="load iri_blob_detector/BlobDetectorNodelet visual_gps_nodelet" output="screen">
+    <remap from="~/image_in/image_raw" to="/usb_cam/image_raw"/>
+    <remap from="~/image_in/camera_info" to="/usb_cam/camera_info"/>
+    <remap from="~/blobs" to="/visual_gps/color3_blobs"/>
+    <rosparam file="$(find iri_blob_detector)/config/green.yaml" command="load" />
+  </node>
+  <node pkg="nodelet" type="nodelet" name="blob_detector_color4" args="load iri_blob_detector/BlobDetectorNodelet visual_gps_nodelet" output="screen">
+    <remap from="~/image_in/image_raw" to="/usb_cam/image_raw"/>
+    <remap from="~/image_in/camera_info" to="/usb_cam/camera_info"/>
+    <remap from="~/blobs" to="/visual_gps/color4_blobs"/>
+    <rosparam file="$(find iri_blob_detector)/config/yellow.yaml" command="load" />
+  </node>
+  <node pkg="nodelet" type="nodelet" name="camera" args="load libuvc_camera/driver visual_gps_nodelet" output="screen">
+<!--    <param name="vendor" value="0x046d"/>
+    <param name="product" value="0x0805"/>
+    <param name="serial" value="AB659260"/>-->
+    <!-- If the above parameters aren't unique, choose the first match: -->
+    <param name="index" value="0"/>
+    <!-- Image size and type -->
+    <param name="width" value="640"/>
+    <param name="height" value="480"/>
+    <!-- choose whichever uncompressed format the camera supports: -->
+    <param name="video_mode" value="uncompressed"/> <!-- or yuyv/nv12/mjpeg -->
+    <param name="frame_rate" value="15"/>
+    <param name="timestamp_method" value="start"/> <!-- start of frame -->
+    <param name="camera_info_url" value="file:///tmp/cam.yaml"/>
+    <param name="auto_exposure" value="0"/> <!-- use aperture_priority auto exposure -->
+    <param name="auto_exposure_priority" value="0"/>
+    <param name="exposure_absolute" value="0.90"/> <!-- use aperture_priority auto exposure -->
+    <remap from="/image_raw" to="/usb_cam/image_raw"/>
+    <remap from="/camera_info" to="/usb_cam/camera_info"/>
+  </node>
+
+  <node pkg="iri_visual_gps" 
+        type="iri_visual_gps" 
+        name="visual_gps" 
+        output="screen">
+    <remap from="~/camera/camera_info" to="/usb_cam/camera_info"/>
+    <remap from="~/set_camera_params" to="/usb_cam/set_parameters"/>
+    <rosparam file="$(find iri_visual_gps)/config/lab_position.yaml" command="load" />
+  </node>
+</launch>
diff --git a/launch/visual_gps_sim.launch b/launch/visual_gps_sim.launch
index b57a28ef84cb43575b3b73ae59d7c61c16aaad27..dca24e9680685d9146a2280606bc6c882b48ac4b 100644
--- a/launch/visual_gps_sim.launch
+++ b/launch/visual_gps_sim.launch
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <!-- -->
 <launch>