diff --git a/Robot_Development/catkin_ws/build/CMakeCache.txt b/Robot_Development/catkin_ws/build/CMakeCache.txt
index 7b086f27a1f1618695755b4ab0cf926b7e551639..65b5101a2a694456f70f2c480223f29edd494864 100644
--- a/Robot_Development/catkin_ws/build/CMakeCache.txt
+++ b/Robot_Development/catkin_ws/build/CMakeCache.txt
@@ -277,8 +277,7 @@ camera_calibration_parsers_DIR:PATH=/opt/ros/kinetic/share/camera_calibration_pa
 //Value Computed by CMake
 camera_info_manager_BINARY_DIR:STATIC=/home/nvidia/catkin_ws/build/libraries/image_common/camera_info_manager
 
-//The directory containing a CMake configuration file for camera_info_manager.
-camera_info_manager_DIR:PATH=/home/nvidia/catkin_ws/devel/share/camera_info_manager/cmake
+camera_info_manager_DIR:PATH=
 
 //Dependencies for the target
 camera_info_manager_LIB_DEPENDS:STATIC=general;/opt/ros/kinetic/lib/libcamera_calibration_parsers.so;general;image_transport;general;/opt/ros/kinetic/lib/libmessage_filters.so;general;/usr/lib/aarch64-linux-gnu/libtinyxml2.so;general;/opt/ros/kinetic/lib/libclass_loader.so;general;/usr/lib/libPocoFoundation.so;general;/usr/lib/aarch64-linux-gnu/libdl.so;general;/opt/ros/kinetic/lib/libroscpp.so;general;/usr/lib/aarch64-linux-gnu/libboost_signals.so;general;/opt/ros/kinetic/lib/librosconsole.so;general;/opt/ros/kinetic/lib/librosconsole_log4cxx.so;general;/opt/ros/kinetic/lib/librosconsole_backend_interface.so;general;/usr/lib/aarch64-linux-gnu/liblog4cxx.so;general;/usr/lib/aarch64-linux-gnu/libboost_regex.so;general;/opt/ros/kinetic/lib/libroscpp_serialization.so;general;/opt/ros/kinetic/lib/libxmlrpcpp.so;general;/opt/ros/kinetic/lib/librostime.so;general;/opt/ros/kinetic/lib/libcpp_common.so;general;/usr/lib/aarch64-linux-gnu/libboost_thread.so;general;/usr/lib/aarch64-linux-gnu/libboost_chrono.so;general;/usr/lib/aarch64-linux-gnu/libboost_date_time.so;general;/usr/lib/aarch64-linux-gnu/libboost_atomic.so;general;/usr/lib/aarch64-linux-gnu/libpthread.so;general;/usr/lib/aarch64-linux-gnu/libconsole_bridge.so;general;/opt/ros/kinetic/lib/libroslib.so;general;/opt/ros/kinetic/lib/librospack.so;general;/usr/lib/aarch64-linux-gnu/libpython2.7.so;general;/usr/lib/aarch64-linux-gnu/libboost_filesystem.so;general;/usr/lib/aarch64-linux-gnu/libboost_program_options.so;general;/usr/lib/aarch64-linux-gnu/libboost_system.so;general;/usr/lib/aarch64-linux-gnu/libtinyxml.so;
@@ -585,7 +584,7 @@ CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_NM
 CMAKE_NM-ADVANCED:INTERNAL=1
 //number of local generators
-CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=14
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=13
 //ADVANCED property for variable: CMAKE_OBJCOPY
 CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: CMAKE_OBJDUMP
diff --git a/Robot_Development/catkin_ws/build/CMakeFiles/Makefile.cmake b/Robot_Development/catkin_ws/build/CMakeFiles/Makefile.cmake
index 41a98b458f4d0a522f8b1eede0cd9ad8b07244d4..4e2fd66a76033c0a5ccfb0d7110af54197cada16 100644
--- a/Robot_Development/catkin_ws/build/CMakeFiles/Makefile.cmake
+++ b/Robot_Development/catkin_ws/build/CMakeFiles/Makefile.cmake
@@ -29,10 +29,6 @@ set(CMAKE_MAKEFILE_DEPENDS
   "rosjet/jet_navigation/catkin_generated/ordered_paths.cmake"
   "rosjet/jet_navigation/catkin_generated/package.cmake"
   "rosjet/jet_serial/catkin_generated/package.cmake"
-  "usb_cam/catkin_generated/ordered_paths.cmake"
-  "usb_cam/catkin_generated/package.cmake"
-  "/home/nvidia/catkin_ws/devel/share/camera_info_manager/cmake/camera_info_managerConfig-version.cmake"
-  "/home/nvidia/catkin_ws/devel/share/camera_info_manager/cmake/camera_info_managerConfig.cmake"
   "/home/nvidia/catkin_ws/devel/share/image_transport/cmake/image_transportConfig-version.cmake"
   "/home/nvidia/catkin_ws/devel/share/image_transport/cmake/image_transportConfig.cmake"
   "/home/nvidia/catkin_ws/src/CMakeLists.txt"
@@ -56,8 +52,6 @@ set(CMAKE_MAKEFILE_DEPENDS
   "/home/nvidia/catkin_ws/src/rosjet/jet_navigation/package.xml"
   "/home/nvidia/catkin_ws/src/rosjet/jet_serial/CMakeLists.txt"
   "/home/nvidia/catkin_ws/src/rosjet/jet_serial/package.xml"
-  "/home/nvidia/catkin_ws/src/usb_cam/CMakeLists.txt"
-  "/home/nvidia/catkin_ws/src/usb_cam/package.xml"
   "/opt/ros/kinetic/share/camera_calibration_parsers/cmake/camera_calibration_parsersConfig-version.cmake"
   "/opt/ros/kinetic/share/camera_calibration_parsers/cmake/camera_calibration_parsersConfig.cmake"
   "/opt/ros/kinetic/share/catkin/cmake/../package.xml"
@@ -169,9 +163,6 @@ set(CMAKE_MAKEFILE_DEPENDS
   "/opt/ros/kinetic/share/std_msgs/cmake/std_msgs-msg-extras.cmake"
   "/opt/ros/kinetic/share/std_msgs/cmake/std_msgsConfig-version.cmake"
   "/opt/ros/kinetic/share/std_msgs/cmake/std_msgsConfig.cmake"
-  "/opt/ros/kinetic/share/std_srvs/cmake/std_srvs-msg-extras.cmake"
-  "/opt/ros/kinetic/share/std_srvs/cmake/std_srvsConfig-version.cmake"
-  "/opt/ros/kinetic/share/std_srvs/cmake/std_srvsConfig.cmake"
   "/opt/ros/kinetic/share/xmlrpcpp/cmake/xmlrpcpp-extras.cmake"
   "/opt/ros/kinetic/share/xmlrpcpp/cmake/xmlrpcppConfig-version.cmake"
   "/opt/ros/kinetic/share/xmlrpcpp/cmake/xmlrpcppConfig.cmake"
@@ -193,10 +184,8 @@ set(CMAKE_MAKEFILE_DEPENDS
   "/usr/share/cmake-3.5/Modules/FindGTest.cmake"
   "/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake"
   "/usr/share/cmake-3.5/Modules/FindPackageMessage.cmake"
-  "/usr/share/cmake-3.5/Modules/FindPkgConfig.cmake"
   "/usr/share/cmake-3.5/Modules/FindPythonInterp.cmake"
   "/usr/share/cmake-3.5/Modules/FindThreads.cmake"
-  "/usr/share/cmake-3.5/Modules/MultiArchCross.cmake"
   "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-C.cmake"
   "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-CXX.cmake"
   "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU.cmake"
@@ -240,7 +229,6 @@ set(CMAKE_MAKEFILE_PRODUCTS
   "rosjet/jet_navigation/CMakeFiles/CMakeDirectoryInformation.cmake"
   "libraries/image_common/image_transport/CMakeFiles/CMakeDirectoryInformation.cmake"
   "libraries/image_common/camera_info_manager/CMakeFiles/CMakeDirectoryInformation.cmake"
-  "usb_cam/CMakeFiles/CMakeDirectoryInformation.cmake"
   "rosjet/jet_control/CMakeFiles/CMakeDirectoryInformation.cmake"
   )
 
@@ -302,11 +290,4 @@ set(CMAKE_DEPEND_INFO_FILES
   "libraries/image_common/camera_info_manager/CMakeFiles/run_tests_camera_info_manager_rostest_tests_unit_test.test.dir/DependInfo.cmake"
   "libraries/image_common/camera_info_manager/CMakeFiles/_run_tests_camera_info_manager_rostest.dir/DependInfo.cmake"
   "libraries/image_common/camera_info_manager/CMakeFiles/_run_tests_camera_info_manager_rostest_tests_unit_test.test.dir/DependInfo.cmake"
-  "usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/DependInfo.cmake"
-  "usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/DependInfo.cmake"
-  "usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/DependInfo.cmake"
-  "usb_cam/CMakeFiles/usb_cam_node.dir/DependInfo.cmake"
-  "usb_cam/CMakeFiles/usb_cam.dir/DependInfo.cmake"
-  "usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/DependInfo.cmake"
-  "usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/DependInfo.cmake"
   )
diff --git a/Robot_Development/catkin_ws/build/CMakeFiles/Makefile2 b/Robot_Development/catkin_ws/build/CMakeFiles/Makefile2
index c29a00807261c5cf4e00853a2a9a6688fad108b0..ef0b2c26cd830fff2c1762c886bcafa7a9680870 100644
--- a/Robot_Development/catkin_ws/build/CMakeFiles/Makefile2
+++ b/Robot_Development/catkin_ws/build/CMakeFiles/Makefile2
@@ -2169,268 +2169,6 @@ clean: libraries/image_common/camera_info_manager/CMakeFiles/_run_tests_camera_i
 
 .PHONY : clean
 
-#=============================================================================
-# Directory level rules for directory usb_cam
-
-# Convenience name for "all" pass in the directory.
-usb_cam/all: usb_cam/CMakeFiles/usb_cam_node.dir/all
-usb_cam/all: usb_cam/CMakeFiles/usb_cam.dir/all
-
-.PHONY : usb_cam/all
-
-# Convenience name for "clean" pass in the directory.
-usb_cam/clean: usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/clean
-usb_cam/clean: usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/clean
-usb_cam/clean: usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/clean
-usb_cam/clean: usb_cam/CMakeFiles/usb_cam_node.dir/clean
-usb_cam/clean: usb_cam/CMakeFiles/usb_cam.dir/clean
-usb_cam/clean: usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/clean
-usb_cam/clean: usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/clean
-
-.PHONY : usb_cam/clean
-
-# Convenience name for "preinstall" pass in the directory.
-usb_cam/preinstall:
-
-.PHONY : usb_cam/preinstall
-
-#=============================================================================
-# Target rules for target usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir
-
-# All Build rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/all:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/depend
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/nvidia/catkin_ws/build/CMakeFiles --progress-num= "Built target std_srvs_generate_messages_lisp"
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/all
-
-# Build rule for subdir invocation for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-	$(MAKE) -f CMakeFiles/Makefile2 usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/rule
-
-# Convenience name for target.
-std_srvs_generate_messages_lisp: usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/rule
-
-.PHONY : std_srvs_generate_messages_lisp
-
-# clean rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/clean:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/clean
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/clean
-
-# clean rule for target.
-clean: usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/clean
-
-.PHONY : clean
-
-#=============================================================================
-# Target rules for target usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir
-
-# All Build rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/all:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/depend
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/nvidia/catkin_ws/build/CMakeFiles --progress-num= "Built target std_srvs_generate_messages_eus"
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/all
-
-# Build rule for subdir invocation for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-	$(MAKE) -f CMakeFiles/Makefile2 usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/rule
-
-# Convenience name for target.
-std_srvs_generate_messages_eus: usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/rule
-
-.PHONY : std_srvs_generate_messages_eus
-
-# clean rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/clean:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/clean
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/clean
-
-# clean rule for target.
-clean: usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/clean
-
-.PHONY : clean
-
-#=============================================================================
-# Target rules for target usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir
-
-# All Build rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/all:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/depend
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/nvidia/catkin_ws/build/CMakeFiles --progress-num= "Built target std_srvs_generate_messages_nodejs"
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/all
-
-# Build rule for subdir invocation for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-	$(MAKE) -f CMakeFiles/Makefile2 usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/rule
-
-# Convenience name for target.
-std_srvs_generate_messages_nodejs: usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/rule
-
-.PHONY : std_srvs_generate_messages_nodejs
-
-# clean rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/clean:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/clean
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/clean
-
-# clean rule for target.
-clean: usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/clean
-
-.PHONY : clean
-
-#=============================================================================
-# Target rules for target usb_cam/CMakeFiles/usb_cam_node.dir
-
-# All Build rule for target.
-usb_cam/CMakeFiles/usb_cam_node.dir/all: libraries/image_common/image_transport/CMakeFiles/image_transport.dir/all
-usb_cam/CMakeFiles/usb_cam_node.dir/all: libraries/image_common/camera_info_manager/CMakeFiles/camera_info_manager.dir/all
-usb_cam/CMakeFiles/usb_cam_node.dir/all: usb_cam/CMakeFiles/usb_cam.dir/all
-	$(MAKE) -f usb_cam/CMakeFiles/usb_cam_node.dir/build.make usb_cam/CMakeFiles/usb_cam_node.dir/depend
-	$(MAKE) -f usb_cam/CMakeFiles/usb_cam_node.dir/build.make usb_cam/CMakeFiles/usb_cam_node.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/nvidia/catkin_ws/build/CMakeFiles --progress-num=39,40 "Built target usb_cam_node"
-.PHONY : usb_cam/CMakeFiles/usb_cam_node.dir/all
-
-# Include target in all.
-all: usb_cam/CMakeFiles/usb_cam_node.dir/all
-
-.PHONY : all
-
-# Build rule for subdir invocation for target.
-usb_cam/CMakeFiles/usb_cam_node.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 14
-	$(MAKE) -f CMakeFiles/Makefile2 usb_cam/CMakeFiles/usb_cam_node.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-.PHONY : usb_cam/CMakeFiles/usb_cam_node.dir/rule
-
-# Convenience name for target.
-usb_cam_node: usb_cam/CMakeFiles/usb_cam_node.dir/rule
-
-.PHONY : usb_cam_node
-
-# clean rule for target.
-usb_cam/CMakeFiles/usb_cam_node.dir/clean:
-	$(MAKE) -f usb_cam/CMakeFiles/usb_cam_node.dir/build.make usb_cam/CMakeFiles/usb_cam_node.dir/clean
-.PHONY : usb_cam/CMakeFiles/usb_cam_node.dir/clean
-
-# clean rule for target.
-clean: usb_cam/CMakeFiles/usb_cam_node.dir/clean
-
-.PHONY : clean
-
-#=============================================================================
-# Target rules for target usb_cam/CMakeFiles/usb_cam.dir
-
-# All Build rule for target.
-usb_cam/CMakeFiles/usb_cam.dir/all: libraries/image_common/image_transport/CMakeFiles/image_transport.dir/all
-usb_cam/CMakeFiles/usb_cam.dir/all: libraries/image_common/camera_info_manager/CMakeFiles/camera_info_manager.dir/all
-	$(MAKE) -f usb_cam/CMakeFiles/usb_cam.dir/build.make usb_cam/CMakeFiles/usb_cam.dir/depend
-	$(MAKE) -f usb_cam/CMakeFiles/usb_cam.dir/build.make usb_cam/CMakeFiles/usb_cam.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/nvidia/catkin_ws/build/CMakeFiles --progress-num=37,38 "Built target usb_cam"
-.PHONY : usb_cam/CMakeFiles/usb_cam.dir/all
-
-# Include target in all.
-all: usb_cam/CMakeFiles/usb_cam.dir/all
-
-.PHONY : all
-
-# Build rule for subdir invocation for target.
-usb_cam/CMakeFiles/usb_cam.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 12
-	$(MAKE) -f CMakeFiles/Makefile2 usb_cam/CMakeFiles/usb_cam.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-.PHONY : usb_cam/CMakeFiles/usb_cam.dir/rule
-
-# Convenience name for target.
-usb_cam: usb_cam/CMakeFiles/usb_cam.dir/rule
-
-.PHONY : usb_cam
-
-# clean rule for target.
-usb_cam/CMakeFiles/usb_cam.dir/clean:
-	$(MAKE) -f usb_cam/CMakeFiles/usb_cam.dir/build.make usb_cam/CMakeFiles/usb_cam.dir/clean
-.PHONY : usb_cam/CMakeFiles/usb_cam.dir/clean
-
-# clean rule for target.
-clean: usb_cam/CMakeFiles/usb_cam.dir/clean
-
-.PHONY : clean
-
-#=============================================================================
-# Target rules for target usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir
-
-# All Build rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/all:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/depend
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/nvidia/catkin_ws/build/CMakeFiles --progress-num= "Built target std_srvs_generate_messages_cpp"
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/all
-
-# Build rule for subdir invocation for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-	$(MAKE) -f CMakeFiles/Makefile2 usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/rule
-
-# Convenience name for target.
-std_srvs_generate_messages_cpp: usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/rule
-
-.PHONY : std_srvs_generate_messages_cpp
-
-# clean rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/clean:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/clean
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/clean
-
-# clean rule for target.
-clean: usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/clean
-
-.PHONY : clean
-
-#=============================================================================
-# Target rules for target usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir
-
-# All Build rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/all:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/depend
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/nvidia/catkin_ws/build/CMakeFiles --progress-num= "Built target std_srvs_generate_messages_py"
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/all
-
-# Build rule for subdir invocation for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-	$(MAKE) -f CMakeFiles/Makefile2 usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/nvidia/catkin_ws/build/CMakeFiles 0
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/rule
-
-# Convenience name for target.
-std_srvs_generate_messages_py: usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/rule
-
-.PHONY : std_srvs_generate_messages_py
-
-# clean rule for target.
-usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/clean:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/clean
-.PHONY : usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/clean
-
-# clean rule for target.
-clean: usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/clean
-
-.PHONY : clean
-
 #=============================================================================
 # Directory level rules for directory rosjet/jet_control
 
diff --git a/Robot_Development/catkin_ws/build/CMakeFiles/TargetDirectories.txt b/Robot_Development/catkin_ws/build/CMakeFiles/TargetDirectories.txt
index 7aba5c180d28660fbe27838b6cd9b8aec2d1e8f5..33b7a08c46116a524039c1e24f65d2b0e89a70af 100644
--- a/Robot_Development/catkin_ws/build/CMakeFiles/TargetDirectories.txt
+++ b/Robot_Development/catkin_ws/build/CMakeFiles/TargetDirectories.txt
@@ -138,20 +138,6 @@
 /home/nvidia/catkin_ws/build/libraries/image_common/camera_info_manager/CMakeFiles/_run_tests_camera_info_manager_rostest.dir
 /home/nvidia/catkin_ws/build/libraries/image_common/camera_info_manager/CMakeFiles/install/strip.dir
 /home/nvidia/catkin_ws/build/libraries/image_common/camera_info_manager/CMakeFiles/_run_tests_camera_info_manager_rostest_tests_unit_test.test.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/install.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/rebuild_cache.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/edit_cache.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/usb_cam_node.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/usb_cam.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/list_install_components.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/install/strip.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/install/local.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir
-/home/nvidia/catkin_ws/build/usb_cam/CMakeFiles/test.dir
 /home/nvidia/catkin_ws/build/rosjet/jet_control/CMakeFiles/list_install_components.dir
 /home/nvidia/catkin_ws/build/rosjet/jet_control/CMakeFiles/install.dir
 /home/nvidia/catkin_ws/build/rosjet/jet_control/CMakeFiles/rebuild_cache.dir
diff --git a/Robot_Development/catkin_ws/build/CMakeFiles/progress.marks b/Robot_Development/catkin_ws/build/CMakeFiles/progress.marks
index e85087affded170efcbc6f9672a6fc671d839ed0..f64f5d8d85ac0230d36724bd7e6ba351a95b4942 100644
--- a/Robot_Development/catkin_ws/build/CMakeFiles/progress.marks
+++ b/Robot_Development/catkin_ws/build/CMakeFiles/progress.marks
@@ -1 +1 @@
-31
+27
diff --git a/Robot_Development/catkin_ws/build/CTestTestfile.cmake b/Robot_Development/catkin_ws/build/CTestTestfile.cmake
index 6efac9deeb73a9c037497ff053e76f2cdf1fb339..913365b831f0dff6b428677196b522c7e2ddd6e5 100644
--- a/Robot_Development/catkin_ws/build/CTestTestfile.cmake
+++ b/Robot_Development/catkin_ws/build/CTestTestfile.cmake
@@ -14,5 +14,4 @@ subdirs(rosjet/jet_driver)
 subdirs(rosjet/jet_navigation)
 subdirs(libraries/image_common/image_transport)
 subdirs(libraries/image_common/camera_info_manager)
-subdirs(usb_cam)
 subdirs(rosjet/jet_control)
diff --git a/Robot_Development/catkin_ws/build/Makefile b/Robot_Development/catkin_ws/build/Makefile
index f73c9c47a6d7ea94fb28d67b9b739665417d8755..f56389a82c3d5e4667294318fe70466286d3382a 100644
--- a/Robot_Development/catkin_ws/build/Makefile
+++ b/Robot_Development/catkin_ws/build/Makefile
@@ -893,97 +893,6 @@ _run_tests_camera_info_manager_rostest_tests_unit_test.test/fast:
 	$(MAKE) -f libraries/image_common/camera_info_manager/CMakeFiles/_run_tests_camera_info_manager_rostest_tests_unit_test.test.dir/build.make libraries/image_common/camera_info_manager/CMakeFiles/_run_tests_camera_info_manager_rostest_tests_unit_test.test.dir/build
 .PHONY : _run_tests_camera_info_manager_rostest_tests_unit_test.test/fast
 
-#=============================================================================
-# Target rules for targets named std_srvs_generate_messages_lisp
-
-# Build rule for target.
-std_srvs_generate_messages_lisp: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 std_srvs_generate_messages_lisp
-.PHONY : std_srvs_generate_messages_lisp
-
-# fast build rule for target.
-std_srvs_generate_messages_lisp/fast:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_lisp.dir/build
-.PHONY : std_srvs_generate_messages_lisp/fast
-
-#=============================================================================
-# Target rules for targets named std_srvs_generate_messages_eus
-
-# Build rule for target.
-std_srvs_generate_messages_eus: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 std_srvs_generate_messages_eus
-.PHONY : std_srvs_generate_messages_eus
-
-# fast build rule for target.
-std_srvs_generate_messages_eus/fast:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_eus.dir/build
-.PHONY : std_srvs_generate_messages_eus/fast
-
-#=============================================================================
-# Target rules for targets named std_srvs_generate_messages_nodejs
-
-# Build rule for target.
-std_srvs_generate_messages_nodejs: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 std_srvs_generate_messages_nodejs
-.PHONY : std_srvs_generate_messages_nodejs
-
-# fast build rule for target.
-std_srvs_generate_messages_nodejs/fast:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_nodejs.dir/build
-.PHONY : std_srvs_generate_messages_nodejs/fast
-
-#=============================================================================
-# Target rules for targets named usb_cam_node
-
-# Build rule for target.
-usb_cam_node: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 usb_cam_node
-.PHONY : usb_cam_node
-
-# fast build rule for target.
-usb_cam_node/fast:
-	$(MAKE) -f usb_cam/CMakeFiles/usb_cam_node.dir/build.make usb_cam/CMakeFiles/usb_cam_node.dir/build
-.PHONY : usb_cam_node/fast
-
-#=============================================================================
-# Target rules for targets named usb_cam
-
-# Build rule for target.
-usb_cam: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 usb_cam
-.PHONY : usb_cam
-
-# fast build rule for target.
-usb_cam/fast:
-	$(MAKE) -f usb_cam/CMakeFiles/usb_cam.dir/build.make usb_cam/CMakeFiles/usb_cam.dir/build
-.PHONY : usb_cam/fast
-
-#=============================================================================
-# Target rules for targets named std_srvs_generate_messages_cpp
-
-# Build rule for target.
-std_srvs_generate_messages_cpp: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 std_srvs_generate_messages_cpp
-.PHONY : std_srvs_generate_messages_cpp
-
-# fast build rule for target.
-std_srvs_generate_messages_cpp/fast:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_cpp.dir/build
-.PHONY : std_srvs_generate_messages_cpp/fast
-
-#=============================================================================
-# Target rules for targets named std_srvs_generate_messages_py
-
-# Build rule for target.
-std_srvs_generate_messages_py: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 std_srvs_generate_messages_py
-.PHONY : std_srvs_generate_messages_py
-
-# fast build rule for target.
-std_srvs_generate_messages_py/fast:
-	$(MAKE) -f usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/build.make usb_cam/CMakeFiles/std_srvs_generate_messages_py.dir/build
-.PHONY : std_srvs_generate_messages_py/fast
-
 # Help Target
 help:
 	@echo "The following are some of the valid targets for this Makefile:"
@@ -1053,13 +962,6 @@ help:
 	@echo "... run_tests_camera_info_manager_rostest_tests_unit_test.test"
 	@echo "... _run_tests_camera_info_manager_rostest"
 	@echo "... _run_tests_camera_info_manager_rostest_tests_unit_test.test"
-	@echo "... std_srvs_generate_messages_lisp"
-	@echo "... std_srvs_generate_messages_eus"
-	@echo "... std_srvs_generate_messages_nodejs"
-	@echo "... usb_cam_node"
-	@echo "... usb_cam"
-	@echo "... std_srvs_generate_messages_cpp"
-	@echo "... std_srvs_generate_messages_py"
 .PHONY : help
 
 
diff --git a/Robot_Development/catkin_ws/build/catkin_generated/generate_cached_setup.py b/Robot_Development/catkin_ws/build/catkin_generated/generate_cached_setup.py
index fff31836e08739aa031e869e1913173e417860b7..611bcb4af358d7807ab9cbe58926f39c0c435494 100644
--- a/Robot_Development/catkin_ws/build/catkin_generated/generate_cached_setup.py
+++ b/Robot_Development/catkin_ws/build/catkin_generated/generate_cached_setup.py
@@ -12,7 +12,7 @@ try:
     from catkin.environment_cache import generate_environment_script
 except ImportError:
     # search for catkin package in all workspaces and prepend to path
-    for workspace in "/opt/ros/kinetic".split(';'):
+    for workspace in "/home/nvidia/catkin_ws/devel;/opt/ros/kinetic".split(';'):
         python_path = os.path.join(workspace, 'lib/python2.7/dist-packages')
         if os.path.isdir(os.path.join(python_path, 'catkin')):
             sys.path.insert(0, python_path)
diff --git a/Robot_Development/catkin_ws/build/catkin_generated/installspace/_setup_util.py b/Robot_Development/catkin_ws/build/catkin_generated/installspace/_setup_util.py
index 247588e19cb0a8edf2442030d809e2f3b539acc8..9d0167bd6998e719ca0be5d5b8fbd5af9f378da7 100755
--- a/Robot_Development/catkin_ws/build/catkin_generated/installspace/_setup_util.py
+++ b/Robot_Development/catkin_ws/build/catkin_generated/installspace/_setup_util.py
@@ -262,7 +262,7 @@ if __name__ == '__main__':
             sys.exit(1)
 
         # environment at generation time
-        CMAKE_PREFIX_PATH = '/opt/ros/kinetic'.split(';')
+        CMAKE_PREFIX_PATH = '/home/nvidia/catkin_ws/devel;/opt/ros/kinetic'.split(';')
         # prepend current workspace if not already part of CPP
         base_path = os.path.dirname(__file__)
         if base_path not in CMAKE_PREFIX_PATH:
diff --git a/Robot_Development/catkin_ws/build/catkin_generated/order_packages.cmake b/Robot_Development/catkin_ws/build/catkin_generated/order_packages.cmake
index c84b2db4b048352ff623e0cd88c0e40e532f8dd6..0a32bfe6dc5b42cef293a99d9d8ab5404bec0e8b 100644
--- a/Robot_Development/catkin_ws/build/catkin_generated/order_packages.cmake
+++ b/Robot_Development/catkin_ws/build/catkin_generated/order_packages.cmake
@@ -40,10 +40,6 @@ list(APPEND CATKIN_ORDERED_PACKAGES "camera_info_manager")
 list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "libraries/image_common/camera_info_manager")
 list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
 list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
-list(APPEND CATKIN_ORDERED_PACKAGES "usb_cam")
-list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "usb_cam")
-list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
-list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
 list(APPEND CATKIN_ORDERED_PACKAGES "jet_control")
 list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "rosjet/jet_control")
 list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
diff --git a/Robot_Development/catkin_ws/build/catkin_generated/order_packages.py b/Robot_Development/catkin_ws/build/catkin_generated/order_packages.py
index 981cf685a4614cb21906b5b3ac2514f70f6d3a5d..8a9d1da3b08f3cacafafb19d3094133894d1fa4f 100644
--- a/Robot_Development/catkin_ws/build/catkin_generated/order_packages.py
+++ b/Robot_Development/catkin_ws/build/catkin_generated/order_packages.py
@@ -2,4 +2,4 @@
 source_root_dir = "/home/nvidia/catkin_ws/src"
 whitelisted_packages = "".split(';') if "" != "" else []
 blacklisted_packages = "".split(';') if "" != "" else []
-underlay_workspaces = "/opt/ros/kinetic".split(';') if "/opt/ros/kinetic" != "" else []
+underlay_workspaces = "/home/nvidia/catkin_ws/devel;/opt/ros/kinetic".split(';') if "/home/nvidia/catkin_ws/devel;/opt/ros/kinetic" != "" else []
diff --git a/Robot_Development/catkin_ws/build/catkin_generated/setup_cached.sh b/Robot_Development/catkin_ws/build/catkin_generated/setup_cached.sh
index dea9ebc0449e12741cd36f4d9f3daa36d850b830..153d4c89d0a54b43facef34465998aa56bc5c38e 100755
--- a/Robot_Development/catkin_ws/build/catkin_generated/setup_cached.sh
+++ b/Robot_Development/catkin_ws/build/catkin_generated/setup_cached.sh
@@ -7,9 +7,4 @@
 # new environment variables
 
 # modified environment variables
-export CMAKE_PREFIX_PATH="/home/nvidia/catkin_ws/devel:$CMAKE_PREFIX_PATH"
-export LD_LIBRARY_PATH="/home/nvidia/catkin_ws/devel/lib:$LD_LIBRARY_PATH"
-export PKG_CONFIG_PATH="/home/nvidia/catkin_ws/devel/lib/pkgconfig:$PKG_CONFIG_PATH"
-export PWD="/home/nvidia/catkin_ws/build"
-export ROSLISP_PACKAGE_DIRECTORIES="/home/nvidia/catkin_ws/devel/share/common-lisp"
-export ROS_PACKAGE_PATH="/home/nvidia/catkin_ws/src:$ROS_PACKAGE_PATH"
\ No newline at end of file
+export PWD="/home/nvidia/catkin_ws/build"
\ No newline at end of file
diff --git a/Robot_Development/catkin_ws/build/catkin_generated/stamps/Project/_setup_util.py.stamp b/Robot_Development/catkin_ws/build/catkin_generated/stamps/Project/_setup_util.py.stamp
index 247588e19cb0a8edf2442030d809e2f3b539acc8..9d0167bd6998e719ca0be5d5b8fbd5af9f378da7 100755
--- a/Robot_Development/catkin_ws/build/catkin_generated/stamps/Project/_setup_util.py.stamp
+++ b/Robot_Development/catkin_ws/build/catkin_generated/stamps/Project/_setup_util.py.stamp
@@ -262,7 +262,7 @@ if __name__ == '__main__':
             sys.exit(1)
 
         # environment at generation time
-        CMAKE_PREFIX_PATH = '/opt/ros/kinetic'.split(';')
+        CMAKE_PREFIX_PATH = '/home/nvidia/catkin_ws/devel;/opt/ros/kinetic'.split(';')
         # prepend current workspace if not already part of CPP
         base_path = os.path.dirname(__file__)
         if base_path not in CMAKE_PREFIX_PATH:
diff --git a/Robot_Development/catkin_ws/build/catkin_make.cache b/Robot_Development/catkin_ws/build/catkin_make.cache
index 99c5fca8a13ece1c830b3d09c700466db828ad63..43e1c734561fb43f90545d78c05da11cf32661f7 100644
--- a/Robot_Development/catkin_ws/build/catkin_make.cache
+++ b/Robot_Development/catkin_ws/build/catkin_make.cache
@@ -1,2 +1,2 @@
-lane_demo:lane_detection:libraries/image_common/camera_info_manager:libraries/image_common/image_transport:rosjet/jet_bringup:rosjet/jet_control:rosjet/jet_description:rosjet/jet_driver:rosjet/jet_navigation:rosjet/jet_serial:usb_cam
+lane_demo:lane_detection:libraries/image_common/camera_info_manager:libraries/image_common/image_transport:rosjet/jet_bringup:rosjet/jet_control:rosjet/jet_description:rosjet/jet_driver:rosjet/jet_navigation:rosjet/jet_serial
 -DCATKIN_DEVEL_PREFIX=/home/nvidia/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/nvidia/catkin_ws/install -G Unix Makefiles
\ No newline at end of file
diff --git a/Robot_Development/catkin_ws/build/cmake_install.cmake b/Robot_Development/catkin_ws/build/cmake_install.cmake
index 5c376900076050ad7b677c43e3a83910d4113b2f..5c19ef9221588c1a47e598f354c19b7e509948f5 100644
--- a/Robot_Development/catkin_ws/build/cmake_install.cmake
+++ b/Robot_Development/catkin_ws/build/cmake_install.cmake
@@ -126,7 +126,6 @@ if(NOT CMAKE_INSTALL_LOCAL_ONLY)
   include("/home/nvidia/catkin_ws/build/rosjet/jet_navigation/cmake_install.cmake")
   include("/home/nvidia/catkin_ws/build/libraries/image_common/image_transport/cmake_install.cmake")
   include("/home/nvidia/catkin_ws/build/libraries/image_common/camera_info_manager/cmake_install.cmake")
-  include("/home/nvidia/catkin_ws/build/usb_cam/cmake_install.cmake")
   include("/home/nvidia/catkin_ws/build/rosjet/jet_control/cmake_install.cmake")
 
 endif()
diff --git a/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/CXX.includecache b/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/CXX.includecache
index 248a862c5e69d69f610099f85bf0bf0e6c6fc08b..b1cf10b38759c2e8cba304b3a77d3184b16a5acd 100644
--- a/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/CXX.includecache
+++ b/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/CXX.includecache
@@ -17,6 +17,8 @@ std_msgs/Int16.h
 /home/nvidia/catkin_ws/src/lane_demo/src/std_msgs/Int16.h
 std_msgs/UInt64.h
 /home/nvidia/catkin_ws/src/lane_demo/src/std_msgs/UInt64.h
+std_msgs/Float64.h
+/home/nvidia/catkin_ws/src/lane_demo/src/std_msgs/Float64.h
 
 /opt/ros/kinetic/include/geometry_msgs/Twist.h
 string
@@ -700,6 +702,22 @@ ros/forwards.h
 
 /opt/ros/kinetic/include/rosconsole/macros_generated.h
 
+/opt/ros/kinetic/include/std_msgs/Float64.h
+string
+-
+vector
+-
+map
+-
+ros/types.h
+-
+ros/serialization.h
+-
+ros/builtin_message_traits.h
+-
+ros/message_operations.h
+-
+
 /opt/ros/kinetic/include/std_msgs/Int16.h
 string
 -
diff --git a/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/depend.internal b/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/depend.internal
index 526bb1edf3b7d6dfe0de24539c81ef54b24ffbed..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/depend.internal
+++ b/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/depend.internal
@@ -1,68 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.5
-
-lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o
- /home/nvidia/catkin_ws/src/lane_demo/src/lane_demo.cpp
- /opt/ros/kinetic/include/geometry_msgs/Twist.h
- /opt/ros/kinetic/include/geometry_msgs/Vector3.h
- /opt/ros/kinetic/include/ros/advertise_options.h
- /opt/ros/kinetic/include/ros/advertise_service_options.h
- /opt/ros/kinetic/include/ros/assert.h
- /opt/ros/kinetic/include/ros/builtin_message_traits.h
- /opt/ros/kinetic/include/ros/common.h
- /opt/ros/kinetic/include/ros/console.h
- /opt/ros/kinetic/include/ros/console_backend.h
- /opt/ros/kinetic/include/ros/datatypes.h
- /opt/ros/kinetic/include/ros/duration.h
- /opt/ros/kinetic/include/ros/exception.h
- /opt/ros/kinetic/include/ros/exceptions.h
- /opt/ros/kinetic/include/ros/forwards.h
- /opt/ros/kinetic/include/ros/init.h
- /opt/ros/kinetic/include/ros/macros.h
- /opt/ros/kinetic/include/ros/master.h
- /opt/ros/kinetic/include/ros/message.h
- /opt/ros/kinetic/include/ros/message_event.h
- /opt/ros/kinetic/include/ros/message_forward.h
- /opt/ros/kinetic/include/ros/message_operations.h
- /opt/ros/kinetic/include/ros/message_traits.h
- /opt/ros/kinetic/include/ros/names.h
- /opt/ros/kinetic/include/ros/node_handle.h
- /opt/ros/kinetic/include/ros/param.h
- /opt/ros/kinetic/include/ros/parameter_adapter.h
- /opt/ros/kinetic/include/ros/platform.h
- /opt/ros/kinetic/include/ros/publisher.h
- /opt/ros/kinetic/include/ros/rate.h
- /opt/ros/kinetic/include/ros/ros.h
- /opt/ros/kinetic/include/ros/roscpp_serialization_macros.h
- /opt/ros/kinetic/include/ros/rostime_decl.h
- /opt/ros/kinetic/include/ros/serialization.h
- /opt/ros/kinetic/include/ros/serialized_message.h
- /opt/ros/kinetic/include/ros/service.h
- /opt/ros/kinetic/include/ros/service_callback_helper.h
- /opt/ros/kinetic/include/ros/service_client.h
- /opt/ros/kinetic/include/ros/service_client_options.h
- /opt/ros/kinetic/include/ros/service_server.h
- /opt/ros/kinetic/include/ros/service_traits.h
- /opt/ros/kinetic/include/ros/single_subscriber_publisher.h
- /opt/ros/kinetic/include/ros/spinner.h
- /opt/ros/kinetic/include/ros/static_assert.h
- /opt/ros/kinetic/include/ros/steady_timer.h
- /opt/ros/kinetic/include/ros/steady_timer_options.h
- /opt/ros/kinetic/include/ros/subscribe_options.h
- /opt/ros/kinetic/include/ros/subscriber.h
- /opt/ros/kinetic/include/ros/subscription_callback_helper.h
- /opt/ros/kinetic/include/ros/this_node.h
- /opt/ros/kinetic/include/ros/time.h
- /opt/ros/kinetic/include/ros/timer.h
- /opt/ros/kinetic/include/ros/timer_options.h
- /opt/ros/kinetic/include/ros/topic.h
- /opt/ros/kinetic/include/ros/transport_hints.h
- /opt/ros/kinetic/include/ros/types.h
- /opt/ros/kinetic/include/ros/wall_timer.h
- /opt/ros/kinetic/include/ros/wall_timer_options.h
- /opt/ros/kinetic/include/rosconsole/macros_generated.h
- /opt/ros/kinetic/include/std_msgs/Int16.h
- /opt/ros/kinetic/include/std_msgs/String.h
- /opt/ros/kinetic/include/std_msgs/UInt64.h
- /opt/ros/kinetic/include/xmlrpcpp/XmlRpcDecl.h
- /opt/ros/kinetic/include/xmlrpcpp/XmlRpcValue.h
diff --git a/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/depend.make b/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/depend.make
index 96246cc94dee125148a631ebfaafb1ab4711928a..eb41427b60a2f3136a46d4ad8eeb2108304957c0 100644
--- a/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/depend.make
+++ b/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/depend.make
@@ -60,6 +60,7 @@ lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o: /opt/ros/kinetic/include
 lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o: /opt/ros/kinetic/include/ros/wall_timer.h
 lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o: /opt/ros/kinetic/include/ros/wall_timer_options.h
 lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o: /opt/ros/kinetic/include/rosconsole/macros_generated.h
+lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o: /opt/ros/kinetic/include/std_msgs/Float64.h
 lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o: /opt/ros/kinetic/include/std_msgs/Int16.h
 lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o: /opt/ros/kinetic/include/std_msgs/String.h
 lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o: /opt/ros/kinetic/include/std_msgs/UInt64.h
diff --git a/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o b/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o
index 0f013079fe494ec364b6e6dfb179d9eaa1d1b609..8df85e6fb68ba8dc4b8d52d46a7e363c555fcbc2 100644
Binary files a/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o and b/Robot_Development/catkin_ws/build/lane_demo/CMakeFiles/lane_demo.dir/src/lane_demo.cpp.o differ
diff --git a/Robot_Development/catkin_ws/build/lane_demo/catkin_generated/installspace/lane_demoConfig.cmake b/Robot_Development/catkin_ws/build/lane_demo/catkin_generated/installspace/lane_demoConfig.cmake
index 06974190f07e7e78577bf7eca5d63f979623bc83..ac25874fd6ad9802cb6d932a838d4158d83edbe2 100644
--- a/Robot_Development/catkin_ws/build/lane_demo/catkin_generated/installspace/lane_demoConfig.cmake
+++ b/Robot_Development/catkin_ws/build/lane_demo/catkin_generated/installspace/lane_demoConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/build/lane_detection/catkin_generated/installspace/lane_detectionConfig.cmake b/Robot_Development/catkin_ws/build/lane_detection/catkin_generated/installspace/lane_detectionConfig.cmake
index ed2a7cc49c2328d54fc83212dd150dc153cec4a6..924f66e5eb22bd52450aa23f57c855c3b75bec31 100644
--- a/Robot_Development/catkin_ws/build/lane_detection/catkin_generated/installspace/lane_detectionConfig.cmake
+++ b/Robot_Development/catkin_ws/build/lane_detection/catkin_generated/installspace/lane_detectionConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/build/libraries/image_common/camera_info_manager/catkin_generated/installspace/camera_info_managerConfig.cmake b/Robot_Development/catkin_ws/build/libraries/image_common/camera_info_manager/catkin_generated/installspace/camera_info_managerConfig.cmake
index 84676d72d72e26ddd2a5518445717989ad06acd0..96f1ef963e4e48c9738ce45d07602e9b30e6cde6 100644
--- a/Robot_Development/catkin_ws/build/libraries/image_common/camera_info_manager/catkin_generated/installspace/camera_info_managerConfig.cmake
+++ b/Robot_Development/catkin_ws/build/libraries/image_common/camera_info_manager/catkin_generated/installspace/camera_info_managerConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/build/libraries/image_common/image_transport/catkin_generated/installspace/image_transportConfig.cmake b/Robot_Development/catkin_ws/build/libraries/image_common/image_transport/catkin_generated/installspace/image_transportConfig.cmake
index fb8c45fb82e117825ffc41600d3714ef33629527..08835c0f19e0a12ef55e66d6668b7c09f3f9ebcf 100644
--- a/Robot_Development/catkin_ws/build/libraries/image_common/image_transport/catkin_generated/installspace/image_transportConfig.cmake
+++ b/Robot_Development/catkin_ws/build/libraries/image_common/image_transport/catkin_generated/installspace/image_transportConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/build/rosjet/jet_bringup/catkin_generated/installspace/jet_bringupConfig.cmake b/Robot_Development/catkin_ws/build/rosjet/jet_bringup/catkin_generated/installspace/jet_bringupConfig.cmake
index 1d628e3a5a4acfc7d338419a81ae77e7183a34f1..44e3c703cd03958491cbd8952c9aaad69a714afe 100644
--- a/Robot_Development/catkin_ws/build/rosjet/jet_bringup/catkin_generated/installspace/jet_bringupConfig.cmake
+++ b/Robot_Development/catkin_ws/build/rosjet/jet_bringup/catkin_generated/installspace/jet_bringupConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/build/rosjet/jet_control/catkin_generated/installspace/jet_controlConfig.cmake b/Robot_Development/catkin_ws/build/rosjet/jet_control/catkin_generated/installspace/jet_controlConfig.cmake
index 284271e260df737601b5d0f79478b0f0cc2a2e17..dbbd8575f11b1b11380675fc42598973bd00291d 100644
--- a/Robot_Development/catkin_ws/build/rosjet/jet_control/catkin_generated/installspace/jet_controlConfig.cmake
+++ b/Robot_Development/catkin_ws/build/rosjet/jet_control/catkin_generated/installspace/jet_controlConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/build/rosjet/jet_description/catkin_generated/installspace/jet_descriptionConfig.cmake b/Robot_Development/catkin_ws/build/rosjet/jet_description/catkin_generated/installspace/jet_descriptionConfig.cmake
index c2bbd4d44724e85798e10d530c56a71996b96d4d..4cb2cd998dc8dd56fb9b6417239ef30c532fc648 100644
--- a/Robot_Development/catkin_ws/build/rosjet/jet_description/catkin_generated/installspace/jet_descriptionConfig.cmake
+++ b/Robot_Development/catkin_ws/build/rosjet/jet_description/catkin_generated/installspace/jet_descriptionConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/build/rosjet/jet_driver/catkin_generated/installspace/jet_driverConfig.cmake b/Robot_Development/catkin_ws/build/rosjet/jet_driver/catkin_generated/installspace/jet_driverConfig.cmake
index fbbac8f6c29ef2c00aabd06215fa4e0a9eefbc22..5c543219d99b5469ae3f099766f8ab06c2bc2c00 100644
--- a/Robot_Development/catkin_ws/build/rosjet/jet_driver/catkin_generated/installspace/jet_driverConfig.cmake
+++ b/Robot_Development/catkin_ws/build/rosjet/jet_driver/catkin_generated/installspace/jet_driverConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/build/rosjet/jet_navigation/catkin_generated/installspace/jet_navigationConfig.cmake b/Robot_Development/catkin_ws/build/rosjet/jet_navigation/catkin_generated/installspace/jet_navigationConfig.cmake
index 0fc8190d4cdaf903115153eb26a7477f2ec12aca..7a80d3634b06d59afc90eeae22edb4659f7f67ce 100644
--- a/Robot_Development/catkin_ws/build/rosjet/jet_navigation/catkin_generated/installspace/jet_navigationConfig.cmake
+++ b/Robot_Development/catkin_ws/build/rosjet/jet_navigation/catkin_generated/installspace/jet_navigationConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/build/rosjet/jet_serial/catkin_generated/installspace/jet_serialConfig.cmake b/Robot_Development/catkin_ws/build/rosjet/jet_serial/catkin_generated/installspace/jet_serialConfig.cmake
index ca6ed6707fc1f1e80872431d6bbf84b4de158633..76bca410a62dab9d776363fcd74b438a6a413be2 100644
--- a/Robot_Development/catkin_ws/build/rosjet/jet_serial/catkin_generated/installspace/jet_serialConfig.cmake
+++ b/Robot_Development/catkin_ws/build/rosjet/jet_serial/catkin_generated/installspace/jet_serialConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/install/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/install/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/_setup_util.py b/Robot_Development/catkin_ws/devel/_setup_util.py
index 247588e19cb0a8edf2442030d809e2f3b539acc8..9d0167bd6998e719ca0be5d5b8fbd5af9f378da7 100755
--- a/Robot_Development/catkin_ws/devel/_setup_util.py
+++ b/Robot_Development/catkin_ws/devel/_setup_util.py
@@ -262,7 +262,7 @@ if __name__ == '__main__':
             sys.exit(1)
 
         # environment at generation time
-        CMAKE_PREFIX_PATH = '/opt/ros/kinetic'.split(';')
+        CMAKE_PREFIX_PATH = '/home/nvidia/catkin_ws/devel;/opt/ros/kinetic'.split(';')
         # prepend current workspace if not already part of CPP
         base_path = os.path.dirname(__file__)
         if base_path not in CMAKE_PREFIX_PATH:
diff --git a/Robot_Development/catkin_ws/devel/lib/lane_demo/lane_demo b/Robot_Development/catkin_ws/devel/lib/lane_demo/lane_demo
index eed045d1ee0600574c80a29983b06ed0e44e40ed..82bc15b162c34b55be5e9404dad1c3241142a40c 100755
Binary files a/Robot_Development/catkin_ws/devel/lib/lane_demo/lane_demo and b/Robot_Development/catkin_ws/devel/lib/lane_demo/lane_demo differ
diff --git a/Robot_Development/catkin_ws/devel/share/camera_info_manager/cmake/camera_info_managerConfig.cmake b/Robot_Development/catkin_ws/devel/share/camera_info_manager/cmake/camera_info_managerConfig.cmake
index d01ea34c102da66386e9fa9827479d80e19f89cc..8d79d566f45632b480c874a0eeb87d14decd1c5b 100644
--- a/Robot_Development/catkin_ws/devel/share/camera_info_manager/cmake/camera_info_managerConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/camera_info_manager/cmake/camera_info_managerConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/share/image_transport/cmake/image_transportConfig.cmake b/Robot_Development/catkin_ws/devel/share/image_transport/cmake/image_transportConfig.cmake
index d4b3d9cc13a8898066b7557883cc397143016761..53491f934761b382e8636bbd9605e199a1ad934c 100644
--- a/Robot_Development/catkin_ws/devel/share/image_transport/cmake/image_transportConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/image_transport/cmake/image_transportConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/share/jet_bringup/cmake/jet_bringupConfig.cmake b/Robot_Development/catkin_ws/devel/share/jet_bringup/cmake/jet_bringupConfig.cmake
index cbd131a673c42164521cb373e82332aaec5f27de..c727258c6a9b7ec7ca6926a09c68fcc1277d3028 100644
--- a/Robot_Development/catkin_ws/devel/share/jet_bringup/cmake/jet_bringupConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/jet_bringup/cmake/jet_bringupConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/share/jet_control/cmake/jet_controlConfig.cmake b/Robot_Development/catkin_ws/devel/share/jet_control/cmake/jet_controlConfig.cmake
index 536b09663a2b0e3e66616ac9b0c94fc703f4879d..876db1432aad854da64a78a5b9cca010996a7669 100644
--- a/Robot_Development/catkin_ws/devel/share/jet_control/cmake/jet_controlConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/jet_control/cmake/jet_controlConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/share/jet_description/cmake/jet_descriptionConfig.cmake b/Robot_Development/catkin_ws/devel/share/jet_description/cmake/jet_descriptionConfig.cmake
index 94fe8db2f04170481b24afe11f8f50cfc2ff27c9..d0f5b833e6fff6556927840d52dd122fb4321e93 100644
--- a/Robot_Development/catkin_ws/devel/share/jet_description/cmake/jet_descriptionConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/jet_description/cmake/jet_descriptionConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/share/jet_driver/cmake/jet_driverConfig.cmake b/Robot_Development/catkin_ws/devel/share/jet_driver/cmake/jet_driverConfig.cmake
index a66461124bfcf29f60759fb86621c304655553d9..9e02546de6c0728bd3a163eb691d8b2b4141c4a9 100644
--- a/Robot_Development/catkin_ws/devel/share/jet_driver/cmake/jet_driverConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/jet_driver/cmake/jet_driverConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/share/jet_navigation/cmake/jet_navigationConfig.cmake b/Robot_Development/catkin_ws/devel/share/jet_navigation/cmake/jet_navigationConfig.cmake
index 0fcc55609583d6500b6365a3e36a771d204f5f8f..c6532669e84405fc67e3bb9112d6681087697bfa 100644
--- a/Robot_Development/catkin_ws/devel/share/jet_navigation/cmake/jet_navigationConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/jet_navigation/cmake/jet_navigationConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/share/jet_serial/cmake/jet_serialConfig.cmake b/Robot_Development/catkin_ws/devel/share/jet_serial/cmake/jet_serialConfig.cmake
index a59378663f2f1f9e75f1691f87408807e913c5a3..185e680021212161403ef25cb2527c124a73d541 100644
--- a/Robot_Development/catkin_ws/devel/share/jet_serial/cmake/jet_serialConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/jet_serial/cmake/jet_serialConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/share/lane_demo/cmake/lane_demoConfig.cmake b/Robot_Development/catkin_ws/devel/share/lane_demo/cmake/lane_demoConfig.cmake
index 56ea0a58b088e5c08d21e5e0c3f0bdeb48016934..1c18f3d2e18ef325203f100191b7fa12330fddc9 100644
--- a/Robot_Development/catkin_ws/devel/share/lane_demo/cmake/lane_demoConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/lane_demo/cmake/lane_demoConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/devel/share/lane_detection/cmake/lane_detectionConfig.cmake b/Robot_Development/catkin_ws/devel/share/lane_detection/cmake/lane_detectionConfig.cmake
index f8f06d26260ba9ad5d69f29fc0e0ab146f3efc2b..336dc8e93858b80381f2c36918c266a0b7327117 100644
--- a/Robot_Development/catkin_ws/devel/share/lane_detection/cmake/lane_detectionConfig.cmake
+++ b/Robot_Development/catkin_ws/devel/share/lane_detection/cmake/lane_detectionConfig.cmake
@@ -129,7 +129,7 @@ foreach(library ${libraries})
     set(lib_path "")
     set(lib "${library}-NOTFOUND")
     # since the path where the library is found is returned we have to iterate over the paths manually
-    foreach(path /home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
+    foreach(path /home/nvidia/catkin_ws/devel/lib;/home/nvidia/catkin_ws/devel/lib;/opt/ros/kinetic/lib)
       find_library(lib ${library}
         PATHS ${path}
         NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
diff --git a/Robot_Development/catkin_ws/src/lane_demo/src/lane_demo.cpp b/Robot_Development/catkin_ws/src/lane_demo/src/lane_demo.cpp
index d9ffec31cf6e1b193b2b099c341731be87ab4710..76b1477d7e1f5af518c09fb54403d7d4dd4ad390 100644
--- a/Robot_Development/catkin_ws/src/lane_demo/src/lane_demo.cpp
+++ b/Robot_Development/catkin_ws/src/lane_demo/src/lane_demo.cpp
@@ -3,14 +3,15 @@
 #include "geometry_msgs/Twist.h"
 #include "std_msgs/Int16.h"
 #include "std_msgs/UInt64.h"
-
+#include "std_msgs/Float64.h"
+#include <math.h>
 #define LINEAR_SPEED 0.7
-#define ANGULAR_SPEED 0.5
+#define ANGULAR_SPEED 1.75
 #define TURN_DURATION 500
-#define OBJECT_DIST_NEAR 30
+#define OBJECT_DIST_NEAR 35
 #define OBJECT_DIST_SAFE 60
 
-enum STATE { FORWARD, REVERSE, TURN };
+enum STATE { FORWARD, STOP};
 
 class SenseAndAvoid
 {
@@ -21,7 +22,11 @@ class SenseAndAvoid
     void leftEncoderCallback(const std_msgs::UInt64::ConstPtr& msg);
     void rightEncoderCallback(const std_msgs::UInt64::ConstPtr& msg);
     void sonarCallback(const std_msgs::Int16::ConstPtr& msg);
-	void chatterCallback(const std_msgs::String::ConstPtr& msg);
+	void sonar_1Callback(const std_msgs::Int16::ConstPtr& msg);
+	void sonar_3Callback(const std_msgs::Int16::ConstPtr& msg);
+	void Lanes(const std_msgs::String::ConstPtr& msg);
+	void Lane_Distance(const std_msgs::Float64::ConstPtr& msg);
+	void errorCallback();
 
     ros::NodeHandle nh;
 
@@ -30,11 +35,15 @@ class SenseAndAvoid
     ros::Subscriber left_encoder_sub;
     ros::Subscriber right_encoder_sub;
     ros::Subscriber sonar_sub;
-    ros::Subscriber sub;
+	ros::Subscriber sonar_1_sub;
+	ros::Subscriber sonar_3_sub;
+    ros::Subscriber lanes_sub;
+	ros::Subscriber lane_distance_sub;
 	
     geometry_msgs::Twist vel_msg;
 
-    int left_count, right_count;
+    int left_count, right_count, left_sonar, right_sonar;
+	float lane_distance, Kp, Kv, Kd, integral_error, cur_error, derivative_error, prev_error;
 
     STATE state;
 };
@@ -42,18 +51,34 @@ SenseAndAvoid::SenseAndAvoid()
 {
   left_encoder_sub = nh.subscribe<std_msgs::UInt64>("/arduino/encoder_left_value", 10, &SenseAndAvoid::leftEncoderCallback, this);
   right_encoder_sub = nh.subscribe<std_msgs::UInt64>("/arduino/encoder_right_value", 10, &SenseAndAvoid::rightEncoderCallback, this);
-  sonar_sub = nh.subscribe<std_msgs::Int16>("/arduino/sonar_1", 10, &SenseAndAvoid::sonarCallback, this);
+  sonar_sub = nh.subscribe<std_msgs::Int16>("/arduino/sonar_2", 10, &SenseAndAvoid::sonarCallback, this);
+  sonar_1_sub = nh.subscribe<std_msgs::Int16>("/arduino/sonar_1", 10, &SenseAndAvoid::sonar_1Callback, this);
+  sonar_3_sub = nh.subscribe<std_msgs::Int16>("/arduino/sonar_3", 10, &SenseAndAvoid::sonar_3Callback, this);
   vel_pub = nh.advertise<geometry_msgs::Twist>("/cmd_vel", 10);
-  sub = nh.subscribe<std_msgs::String>("chatter", 10, &SenseAndAvoid::chatterCallback, this);
+  lanes_sub = nh.subscribe<std_msgs::String>("/lanes", 10, &SenseAndAvoid::Lanes, this);
+  lane_distance_sub = nh.subscribe<std_msgs::Float64>("/lane_distance", 10, &SenseAndAvoid::Lane_Distance, this);
   state = FORWARD;
   left_count = 0;
   right_count = 0;
+  cur_error = 0;
+  Kp = .016;
+  Kv = 0;
+  Kd = 0.035;
+}
+
+void SenseAndAvoid::Lanes(const std_msgs::String::ConstPtr& msg)
+{
+  if(msg->data.compare("No Lanes") == 0)
+  {
+	  state = STOP;
+  }
 }
 
-void SenseAndAvoid::chatterCallback(const std_msgs::String::ConstPtr& msg)
+void SenseAndAvoid::Lane_Distance(const std_msgs::Float64::ConstPtr& msg)
 {
-  ROS_INFO("I heard: [%s]", msg->data.c_str());
+	lane_distance = msg->data;
 }
+
 void SenseAndAvoid::leftEncoderCallback(const std_msgs::UInt64::ConstPtr& msg)
 {
   left_count += msg->data;
@@ -64,41 +89,35 @@ void SenseAndAvoid::rightEncoderCallback(const std_msgs::UInt64::ConstPtr& msg)
   right_count += msg->data;
 }
 
+void SenseAndAvoid::sonar_1Callback(const std_msgs::Int16::ConstPtr& msg)
+{
+	left_sonar = msg->data;
+}
+
+void SenseAndAvoid::sonar_3Callback(const std_msgs::Int16::ConstPtr& msg)
+{
+	right_sonar = msg->data;
+}
+
 void SenseAndAvoid::sonarCallback(const std_msgs::Int16::ConstPtr& msg)
 {
-  if(state == FORWARD && msg->data < OBJECT_DIST_NEAR && msg->data > 0) {
-    ROS_INFO("REVERSE");
-    state = REVERSE;
-    vel_msg.linear.x = -LINEAR_SPEED;
-    vel_msg.angular.z = 0;
-    vel_pub.publish(vel_msg);
-  }
-  else if (state == FORWARD) {
-    vel_msg.linear.x = LINEAR_SPEED;
+  if((msg->data < OBJECT_DIST_NEAR || left_sonar < OBJECT_DIST_NEAR || right_sonar < OBJECT_DIST_NEAR) && msg->data > 0 || state == STOP) {
+    ROS_INFO("OBJECT IN THE WAY OR NO LANES, STOP");
+	vel_msg.linear.x = 0;
     vel_msg.angular.z = 0;
     vel_pub.publish(vel_msg);
   }
-  else if(state == REVERSE && msg->data > OBJECT_DIST_SAFE) {
-    ROS_INFO("TURN");
-    state = TURN;
-    vel_msg.linear.x = 0;
-    vel_msg.angular.z = ANGULAR_SPEED;
-    left_count = 0;
-    right_count = 0;
-    vel_pub.publish(vel_msg);
-  }
-  else if (state == TURN && left_count > TURN_DURATION) {
-    state = FORWARD;
-    ROS_INFO("FORWARD");
-    vel_msg.linear.x = LINEAR_SPEED;
-    vel_msg.angular.z = 0;
-    left_count = 0;
-    right_count = 0;
-    vel_pub.publish(vel_msg);
-  }
   else
   {
-    state = FORWARD;
+	ROS_INFO("PID Control");
+	cur_error = lane_distance;
+	ROS_INFO_STREAM(cur_error);
+    integral_error += cur_error;
+	derivative_error = cur_error - prev_error;
+	vel_msg.angular.z = (Kp * cur_error) + (Kv * integral_error) + (Kd * derivative_error);
+	vel_msg.linear.x = LINEAR_SPEED;
+	vel_pub.publish(vel_msg);
+	prev_error = cur_error;
   }
 }
 
@@ -106,7 +125,7 @@ void SenseAndAvoid::sonarCallback(const std_msgs::Int16::ConstPtr& msg)
 int main(int argc, char **argv)
 {
   ros::init(argc, argv, "lane_demo");
-  
+
   SenseAndAvoid lane_demo;
 
   ros::spin();
diff --git a/Robot_Development/catkin_ws/src/lane_detection/src/detect.py b/Robot_Development/catkin_ws/src/lane_detection/src/detect.py
index 3d1b7f651fb0afd336d3e0d7a25b4b6ee7717247..c657ef259f96238320954a9485991ce3f3ae9784 100755
--- a/Robot_Development/catkin_ws/src/lane_detection/src/detect.py
+++ b/Robot_Development/catkin_ws/src/lane_detection/src/detect.py
@@ -1,22 +1,25 @@
-#!/usr/bin/python2
+#!/usr/bin/python
 
 import numpy as np
 import rospy
 import matplotlib.pyplot as plt
 import cv2
+from imutils.video import WebcamVideoStream
+from imutils.video import FPS
 from std_msgs.msg import String
 from std_msgs.msg import Float64
 
-pub = rospy.Publisher('chatter', String, queue_size=10)
-rospy.init_node('talker')
-rate = rospy.Rate(10) # 10hz
+pub = rospy.Publisher('lanes', String, queue_size=10)
+pub1 = rospy.Publisher('lane_distance', Float64, queue_size=10)
+rospy.init_node('lane_detection')
+rate = rospy.Rate(1000)  # 1000hz
+width = 325
+
 
-width = 275
 # Converts picture to grayscale and applies filter to picture
 # params
 # pic : a numpy array of pixel values to represent a picture
 def formatImg(pic):
-
     # Convert picture to gray scale
     gray = cv2.cvtColor(pic, cv2.COLOR_BGR2GRAY)
 
@@ -25,61 +28,63 @@ def formatImg(pic):
 
     return img_filter
 
+
 # pre-processes and performs edge detection on an image
 # params
 # pic: a numpy array of pixel values for an image in gray scale
 def detect_edge(pic):
-
     # Perform canny edge detection
     img_edge = cv2.Canny(pic, 50, 150)
 
     # return new edge image
     return img_edge
 
+
 # Define the region of in which the lanes will be in the cameras view
 # params
 # pic: original image to apply the pre-set region of interest too
 def ROI(pic):
     height = pic.shape[0]
-    triangle = np.array([[(100, height), (600, height), (350, 100)]])
+    triangle = np.array([[(250, height), (1100, height), (550, 250)]])
     mask = np.zeros_like(pic)
     cv2.fillPoly(mask, triangle, 255)
     roi = cv2.bitwise_and(pic, mask)
     return roi
 
+
 # Define the region of in which the lanes will be in the cameras view
 # params
 # pic: original image to apply the pre-set region of interest too
 def ROI_real(pic):
     height = pic.shape[0]
-    triangle = np.array([[(0, height), (620, height), (430, 250), (150, 250)]])
+    triangle = np.array([[(0, height), (145, 300), (475, 300), (600, height)]], dtype=np.int32)
     mask = np.zeros_like(pic)
     cv2.fillPoly(mask, triangle, 255)
     roi = cv2.bitwise_and(pic, mask)
     return roi
 
+
 # Get all possible HoughLines and return them
 # params
 # edge_pic: the image with the edge detection performed
 def getLines(edge_pic):
-    return cv2.HoughLinesP(edge_pic, 1, np.pi / 180, 100, maxLineGap=80, minLineLength=20)
+    return cv2.HoughLinesP(edge_pic, 1, np.pi / 180, 50, maxLineGap=80, minLineLength=10)
+
 
 # Apply the passed in lines the the original picture
 # params
 # original_pic:
 # lines: Array of lines in the form (x1, x2, y1, y2)
 def applyLines(original_pic, lines):
-
     # If there is no lines return the original photo
     if lines is None:
         return original_pic
 
     # Loop through all possible lines
     for line in lines:
-
         # parse the array to individual variables
         x1, y1, x2, y2 = line.reshape(4)
-        #print(line)
+        # print(line)
 
         # Draw the lines on the original picture
         cv2.line(original_pic, (x1, y1), (x2, y2), (255, 0, 0), 3)
@@ -88,157 +93,121 @@ def applyLines(original_pic, lines):
     return original_pic
 
 
-# Find the two average lines given the set of lines
-# params
-# pic: the original image
-# lines: An array of lines in the form (x1, x2, y1, y2)
-def find_poly_lane(pic, lines):
-
-        # Collections for the negative and positive sloped lines
-        left_lines_points = [[],[]]  # Negative slope
-        right_lines_points = [[],[]] # Positive slope
-        #print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Start~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
-        for line in lines:
-            x1, y1, x2, y2 = line[0]
-            parameters = np.polyfit((x1, x2), (y1, y2), 1)
-            #print("Slope, intercept")
-            #print(parameters)
-            slope = parameters[0]
-            intercept = parameters[1]
-
-            if (slope < 1 and slope > -1):
-                #print("Line ignored");
-                x = 1
-
-            elif(slope < 0):
-                #print("left insert")
-                left_lines_points[0].append(x1)
-                left_lines_points[0].append(x2)
-                left_lines_points[1].append(y1)
-                left_lines_points[1].append(y2)
-
-            else:
-                #print("right insert")
-                right_lines_points[0].append(x1)
-                right_lines_points[0].append(x2)
-                right_lines_points[1].append(y1)
-                right_lines_points[1].append(y2)
-
-        #print("POINTS")
-        #print(right_lines_points[0])
-        #print(left_lines_points[0])
-
-        if right_lines_points[0]:
-            z = np.polyfit(right_lines_points[0], right_lines_points[1], 1)
-            f = np.poly1d(z)
-            #print(f)
-
-            right_x_new = np.linspace(np.amin(right_lines_points[0]), np.amax(right_lines_points[0]), 150)
-            right_y_new = f(right_x_new)
+def find_middle(leftPoints, rightPoints):
+    middle_lines = [[], []]
 
-        else:
-            right_x_new = []
-            right_y_new = []
+    if leftPoints[1] == []:
+        print(
+            "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Caught the empty list~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
+        return 0
 
-        if left_lines_points[0]:
-            z = np.polyfit(left_lines_points[0], left_lines_points[1], 1)
-            f = np.poly1d(z)
-        #   print(f)
+    elif rightPoints[1] == []:
+        print(
+            "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Caught the empty list~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
+        return 0
 
-            left_x_new = np.linspace(np.amin(left_lines_points[0]), np.amax(left_lines_points[0]), 150)
-            left_y_new = f(left_x_new)
+    else:
+        for x in range(150):
+            midPoint = (rightPoints[0][149 - x] + leftPoints[0][x]) / 2
 
-        else:
-            left_x_new = []
-            left_y_new = []
+            middle_lines[1].append(leftPoints[1][x])
+            middle_lines[0].append(midPoint)
 
-        #print("New left")
-        #print(left_x_new)
-        #print(left_y_new)
+    return middle_lines
 
-        return [right_x_new, right_y_new], [left_x_new, left_y_new]
 
 # Find the two average lines given the set of lines
 # params
 # pic: the original image
 # lines: An array of lines in the form (x1, x2, y1, y2)
-# Deprecated???
-def find_average_lane(pic, lines):
-
-        # Collections for the negative and positive sloped lines
-        left_lines  = [] # Negative slope
-        left_lines_points = [[],[]]  # Negative slope
-        right_lines = [] # Positive slope
-        right_lines_points = [[],[]] # Positive slope
-
-        for line in lines:
-            x1, y1, x2, y2 = line[0]
-            parameters = np.polyfit((x1, x2), (y1, y2), 1)
-            print("Slope, intercept")
-            print(parameters)
-            slope = parameters[0]
-            intercept = parameters[1]
-
-            if(slope < 0):
-                print("Left insert")
-                left_lines.append((slope, intercept))
-                left_lines_points[0].append(x1)
-                left_lines_points[0].append(x2)
-                left_lines_points[1].append(y1)
-                left_lines_points[1].append(y2)
-
-            else:
-                print("Right insert")
-                right_lines.append((slope, intercept))
-                right_lines_points[0].append(x1)
-                right_lines_points[0].append(x2)
-                right_lines_points[1].append(y1)
-                right_lines_points[1].append(y2)
-
-        if not left_lines:
-            print("Left is empty")
-            left_line = [0, 0, 0, 0]
+def find_poly_lane(pic, lines):
+    # Collections for the negative and positive sloped lines
+    left_lines_points = [[], []]  # Negative slope
+    right_lines_points = [[], []]  # Positive slope
+    # print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Start~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
+    for line in lines:
+        x1, y1, x2, y2 = line[0]
+        parameters = np.polyfit((x1, x2), (y1, y2), 1)
+        # print("Slope, intercept")
+        # print(parameters)
+        slope = parameters[0]
+        intercept = parameters[1]
+
+        if (slope < 1 and slope > -1):
+            # print("Line ignored");
+            x = 1
+
+        elif (slope < 0):
+            # print("left insert")
+            left_lines_points[0].append(x1)
+            left_lines_points[0].append(x2)
+            left_lines_points[1].append(y1)
+            left_lines_points[1].append(y2)
 
         else:
-            left_average = np.average(left_lines, axis=0)
-            left_line = make_coordinates(pic, left_average)
-            print("Left Line: ")
-            print(left_line)
+            # print("right insert")
+            right_lines_points[0].append(x1)
+            right_lines_points[0].append(x2)
+            right_lines_points[1].append(y1)
+            right_lines_points[1].append(y2)
 
-        if not right_lines:
-            print("Right is emtpy")
-            right_line = [0, 0, 0, 0]
+    # print("POINTS")
+    # print(right_lines_points[0])
+    # print(left_lines_points[0])
 
-        else:
-            right_average = np.average(right_lines, axis=0)
-            right_line = make_coordinates(pic, right_average)
-            print("Right line : ")
-            print(right_line)
+    if right_lines_points[0]:
+        z = np.polyfit(right_lines_points[0], right_lines_points[1], 1)
+        f = np.poly1d(z)
+        # print(f)
+
+        right_x_new = np.linspace(np.amin(right_lines_points[0]), np.amax(right_lines_points[0]), 150)
+        right_y_new = f(right_x_new)
 
-        print("Left fit")
-        print(left_line)
+    else:
+        right_x_new = []
+        right_y_new = []
+
+    if left_lines_points[0]:
+        z = np.polyfit(left_lines_points[0], left_lines_points[1], 1)
+        f = np.poly1d(z)
+        #   print(f)
+
+        left_x_new = np.linspace(np.amin(left_lines_points[0]), np.amax(left_lines_points[0]), 150)
+        left_y_new = f(left_x_new)
+
+    else:
+        left_x_new = []
+        left_y_new = []
+
+    # print("New left")
+    ##print(left_x_new)
+    # print(left_y_new)
+
+    return [right_x_new, right_y_new], [left_x_new, left_y_new]
 
-        print("\nRight fit")
-        print(right_line)
-        return np.array([left_line, right_line])
 
 def make_coordinates(image, line_parameters):
-    print(line_parameters)
+    # print(line_parameters)
     slope, intercept = line_parameters
     y1 = image.shape[0]
-    y2 = int(y1*(1/2))
-    x1 = int((y1 - intercept)/slope)
+    y2 = int(y1 * (1 / 2))
+    x1 = int((y1 - intercept) / slope)
     x2 = int((y2 - intercept) / slope)
     return np.array([x1, y1, x2, y2])
 
+
 def detectDeparture(left, car, right):
     a = 9999999
-    b = 999999  
+    b = 999999
+    left_lane = 0
+    right_lane = 0
+
     try:
         parametersLeft = np.polyfit((left[0][0], left[0][-1]), (left[1][0], left[1][-1]), 1)
         leftEq = np.poly1d(parametersLeft)
         leftPosition = (310 - parametersLeft[1]) / parametersLeft[0]
         a = car - leftPosition
+        left_lane = 1
 
     except IndexError:
         print("Left lane does not exist")
@@ -247,73 +216,100 @@ def detectDeparture(left, car, right):
         rightEq = np.poly1d(parametersRight)
         rightPosition = (310 - parametersRight[1]) / parametersRight[0]
         b = rightPosition - car
+        right_lane = 1
 
     except IndexError:
         print("Right lane does not exist")
-    area = width / 3
 
-    if(area > a):
-        print("Drift Left")
-    elif(area > b):
-        print("Drift right")
-    else:
-        print("On course")
+    if (left_lane == 0 and right_lane == 0):
+        return "No Lanes"
 
 
-video = cv2.VideoCapture(1)
-plt.ion()
-def talker():
-    hello_str = "hello world %s" % rospy.get_time()
-    rospy.loginfo(hello_str)
-    pub.publish(hello_str)
+def detectDepartureNew(midPoints):
+    midx = 300
+    midy = 400
+    for x in range(150):
+        if (myround(midPoints[1][x]) == 400):
+            print(midPoints[0][x] - midx)
+            return midPoints[0][x] - midx
+
+
+def myround(x):
+    return int(5 * round(float(x) / 5))
+
+
+def lane_status(lane_distance):
+    rospy.loginfo(lane_distance)
+    pub1.publish(lane_distance)
     rate.sleep()
 
+
+def lanes_detected(lanes):
+    rospy.loginfo(lanes)
+    pub.publish(lanes)
+    rate.sleep()
+
+
+# video = cv2.VideoCapture("test2.mp4")
+# video = cv2.VideoCapture("highway.mp4")
+
+
+video = WebcamVideoStream(src=1).start()
+plt.ion()
+
 while not rospy.is_shutdown():
-    ret, frame = video.read()
+    frame = video.read()
+    # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
+    # frame = cv2.imread("../frame.jpeg")
     frame_edge = detect_edge(frame)
 
-    if not ret:
-        video = cv2.VideoCapture(1)
-        continue
-
     new_img = formatImg(frame)
 
     wEdges = detect_edge(new_img)
 
     cropped = ROI_real(wEdges)
-    
-    lines = getLines(cropped)
+    # cropped = ROI(wEdges)
 
+    lines = getLines(cropped)
 
     if lines is None:
         x = 0
 
     else:
         Rpoints, Lpoints = find_poly_lane(new_img, lines)
-        #(type(Rpoints[0][0]))
-        plt.cla()
-        plt.clf()
 
-        plt.scatter(Rpoints[0], Rpoints[1])
-        plt.scatter(Lpoints[0], Lpoints[1])
+        Mpoints = find_middle(Lpoints, Rpoints)
 
-        plt.scatter(310, 300)
+        # (type(Rpoints[0][0]))
+        #plt.cla()
+        #plt.clf()
 
-        plt.imshow(frame, zorder=0)
+        #plt.scatter(Rpoints[0], Rpoints[1])
+        #plt.scatter(Lpoints[0], Lpoints[1])
+        lanes = detectDeparture(Lpoints, 400, Rpoints)
+        lanes_detected(lanes)
+        if (Mpoints != 0):
+            #plt.scatter(Mpoints[0], Mpoints[1])
+            lane_distance = detectDepartureNew(Mpoints)
+            lane_status(lane_distance)
 
-        detectDeparture(Lpoints, 310, Rpoints)
+        else:
+            print("No midpoint calculated")
+        # plt.scatter(310, 300)
 
-        plt.pause(.001)
+        #plt.imshow(frame, zorder=0)
 
+        #plt.pause(.001)
 
     lane = applyLines(frame, lines)
 
-    cv2.imshow("edges", wEdges)
-    cv2.imshow("cropped", cropped)
+    # cv2.imshow("edges", wEdges)
+    # cv2.imshow("cropped", cropped)
     cv2.imshow("frame", lane)
 
-    key = cv2.waitKey(25)
+    key = cv2.waitKey(1)
     if key == 27:
         break
+
 video.release()
-cv2.destroyAllWindows()
\ No newline at end of file
+cv2.destroyAllWindows()
diff --git a/Robot_Development/catkin_ws/src/lane_detection/src/detect_old.py b/Robot_Development/catkin_ws/src/lane_detection/src/detect_old.py
new file mode 100755
index 0000000000000000000000000000000000000000..032a84c800d13ce16c4e82cab8681da75261f8c4
--- /dev/null
+++ b/Robot_Development/catkin_ws/src/lane_detection/src/detect_old.py
@@ -0,0 +1,282 @@
+    #!/usr/bin/python2
+
+import numpy as np
+#import rospy
+import matplotlib.pyplot as plt
+import cv2
+
+from imutils.video import WebcamVideoStream
+from imutils.video import FPS
+#from std_msgs.msg import String
+#from std_msgs.msg import Float64
+
+#pub = rospy.Publisher('lane_status', String, queue_size=10)
+#rospy.init_node('lane_status')
+#rate = rospy.Rate(100)  # 100hz
+width = 325
+
+# Converts picture to grayscale and applies filter to picture
+# param`s
+# pic : a numpy array of pixel values to represent a picture
+def formatImg(pic):
+    # Convert picture to gray scale
+    gray = cv2.cvtColor(pic, cv2.COLOR_BGR2GRAY)
+
+    # Apply filter to image
+    img_filter = cv2.GaussianBlur(gray, (5, 5), 0)
+
+    return img_filter
+
+
+# pre-processes and performs edge detection on an image
+# params
+# pic: a numpy array of pixel values for an image in gray scale
+def detect_edge(pic):
+    # Perform canny edge detection
+    img_edge = cv2.Canny(pic, 50, 150)
+
+    # return new edge image
+    return img_edge
+
+
+# Define the region of in which the lanes will be in the cameras view
+# params
+# pic: original image to apply the pre-set region of interest too
+def ROI(pic):
+    height = pic.shape[0]
+    triangle = np.array([[(0, height), (650, height), (325, 100)]])
+    mask = np.zeros_like(pic)
+    cv2.fillPoly(mask, triangle, 255)
+    roi = cv2.bitwise_and(pic, mask)
+    return roi
+
+
+# Define the region of in which the lanes will be in the cameras view
+# params
+# pic: original image to apply the pre-set region of interest too
+def ROI_real(pic):
+    height = pic.shape[0]
+    triangle = np.array([[(0, height), (145, 300), (475, 300), (600, height)]])
+    mask = np.zeros_like(pic)
+    cv2.fillPoly(mask, triangle, 255)
+    roi = cv2.bitwise_and(pic, mask)
+    return roi
+
+
+# Get all possible HoughLines and return them
+# params
+# edge_pic: the image with the edge detection performed
+def getLines(edge_pic):
+    return cv2.HoughLinesP(edge_pic, 1, np.pi / 180, 100, maxLineGap=80, minLineLength=20)
+
+
+# Apply the passed in lines the the original picture
+# params
+# original_pic:
+# lines: Array of lines in the form (x1, x2, y1, y2)
+def applyLines(original_pic, lines):
+    # If there is no lines return the original photo
+    if lines is None:
+        return original_pic
+
+#    print("Frame lines")
+#    print(lines)
+
+#    lines = lines[0]
+    # Loop through all possible lines
+    for line in lines:
+
+        # parse the array to individual variables
+        x1, y1, x2, y2 = line.reshape(4)
+
+        # Draw the lines on the original picture
+        cv2.line(original_pic, (x1, y1), (x2, y2), (255, 0, 0), 3)
+
+    # return the original picture with the lines drawn on
+    return original_pic
+
+
+# Find the two average lines given the set of lines
+# params
+# pic: the original image
+# lines: An array of lines in the form (x1, x2, y1, y2)
+def find_poly_lane(pic, lines):
+    # Collections for the negative and positive sloped lines
+    left_lines_points = [[], []]  # Negative slope
+    right_lines_points = [[], []]  # Positive slope
+  
+#    print("poly") 
+#    print(lines) 
+   
+  #  lines = lines[0]
+    for line in lines:
+	print("Averaged line")
+	print(line)
+        x1, y1, x2, y2 = line.reshape(4)
+        parameters = np.polyfit((x1, x2), (y1, y2), 1)
+        # print("Slope, intercept")
+        # print(parameters)
+        slope = parameters[0]
+        intercept = parameters[1]
+
+        if (slope < 1 and slope > -1):
+            print("Line ignored");
+            x = 1
+
+        elif (slope < 0):
+            print("left insert")
+            left_lines_points[0].append(x1)
+            left_lines_points[0].append(x2)
+            left_lines_points[1].append(y1)
+            left_lines_points[1].append(y2)
+
+        else:
+            print("right insert")
+            right_lines_points[0].append(x1)
+            right_lines_points[0].append(x2)
+            right_lines_points[1].append(y1)
+            right_lines_points[1].append(y2)
+
+    if right_lines_points[0]:
+        z = np.polyfit(right_lines_points[0], right_lines_points[1], 1)
+        f = np.poly1d(z)
+
+        right_x_new = np.linspace(np.amin(right_lines_points[0]), np.amax(right_lines_points[0]), 150)
+        right_y_new = f(right_x_new)
+
+    else:
+        right_x_new = []
+        right_y_new = []
+
+    if left_lines_points[0]:
+        z = np.polyfit(left_lines_points[0], left_lines_points[1], 1)
+        f = np.poly1d(z)
+
+        left_x_new = np.linspace(np.amin(left_lines_points[0]), np.amax(left_lines_points[0]), 150)
+        left_y_new = f(left_x_new)
+
+    else:
+        left_x_new = []
+        left_y_new = []
+
+    return [right_x_new, right_y_new], [left_x_new, left_y_new]
+
+def make_coordinates(image, line_parameters):
+    slope, intercept = line_parameters
+    y1 = image.shape[0]
+    y2 = int(y1 * (1 / 2))
+    x1 = int((y1 - intercept) / slope)
+    x2 = int((y2 - intercept) / slope)
+    return np.array([x1, y1, x2, y2])
+
+
+def detectDeparture(left, car, right):
+    a = 9999999
+    b = 999999
+
+    try:
+        parametersLeft = np.polyfit((left[0][0], left[0][-1]), (left[1][0], left[1][-1]), 1)
+        leftEq = np.poly1d(parametersLeft)
+        leftPosition = (310 - parametersLeft[1]) / parametersLeft[0]
+        a = car - leftPosition
+        left_lane = 1
+
+    except IndexError:
+        print("Left lane does not exist")
+        left_lane = 0
+    try:
+        parametersRight = np.polyfit((right[0][0], right[0][-1]), (right[1][0], right[1][-1]), 1)
+        rightEq = np.poly1d(parametersRight)
+        rightPosition = (310 - parametersRight[1]) / parametersRight[0]
+        b = rightPosition - car
+        right_lane = 1
+
+    except IndexError:
+        print("Right lane does not exist")
+        right_lane = 0
+    area = width / 4
+
+    #print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
+    if left_lane == 0 and right_lane == 0:
+        direction = "No lane detected"
+        print("No lanes detected")
+    elif (area > a):
+        direction = "Drift Left"
+        print("Drift left")
+    elif (area > b):
+        direction = "Drift Right"
+        print("Drift right")
+    else:
+        direction = "On Course"
+        print("On course")
+    #print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
+    return direction
+
+def lane_status(direction):
+    rospy.loginfo(direction)
+    pub.publish(direction)
+    rate.sleep()
+
+
+# For debugging purposes
+# Displays lanes on video feed
+plt.ion()
+
+# Threaded frame capture object
+video = WebcamVideoStream(src=1).start()
+
+# Run until robot is shut down
+#while not rospy.is_shutdown():
+
+while True:
+
+    # Get video frame
+    frame = video.read()
+
+    # Get the edge detection
+    frame_edge = detect_edge(frame)
+
+    new_img = formatImg(frame)
+
+    wEdges = detect_edge(new_img)
+
+    cropped = ROI_real(wEdges)
+
+    lines = getLines(cropped)
+
+    if lines is None:
+        x = 0
+
+    else:
+        Rpoints, Lpoints = find_poly_lane(new_img, lines)
+
+ #       plt.cla()
+#        plt.clf()
+
+     #   plt.scatter(Rpoints[0], Rpoints[1])
+     #   plt.scatter(Lpoints[0], Lpoints[1])
+
+    #    plt.scatter(310, 400)
+
+ #       plt.imshow(frame, zorder=0)
+
+        direction = detectDeparture(Lpoints, 400, Rpoints)
+#        lane_status(direction)
+#        plt.pause(.001)
+
+    lane = applyLines(frame, lines)
+
+    # Display edge detection
+    #cv2.imshow("edges", wEdges)
+
+    # Display cropped edge detection
+    #cv2.imshow("cropped", cropped)
+
+    # Show original image with all lines detected
+    cv2.imshow("frame", lane)
+
+    key = cv2.waitKey(20)
+    if key == 27:
+        break
+video.release()
+v2.destroyAllWindows()
diff --git a/Robot_Development/catkin_ws/src/lane_detection/src/roi.py b/Robot_Development/catkin_ws/src/lane_detection/src/roi.py
new file mode 100644
index 0000000000000000000000000000000000000000..ea7102918a75e58c4b587b10446877d6a6d07073
--- /dev/null
+++ b/Robot_Development/catkin_ws/src/lane_detection/src/roi.py
@@ -0,0 +1,19 @@
+import matplotlib.pyplot as plt
+import cv2
+
+video = cv2.VideoCapture(1)
+
+plt.ion
+
+while True:
+	ret, frame = video.read()
+
+	key = cv2.waitKey(25)
+	if key == 27:
+		break
+	
+	plt.imshow(frame, zorder=0)
+	plt.pause(.001)
+
+video.release()
+cv2.destroyAllWindows()
diff --git a/Robot_Development/catkin_ws/src/rosjet/jet_bringup/launch/jet_real.launch b/Robot_Development/catkin_ws/src/rosjet/jet_bringup/launch/jet_real.launch
index 59f4395d5b19c7d344cc5e08afe676bfbfba4bfc..6c064f3d8c5587de05933f7150aa9813c6eb75d9 100644
--- a/Robot_Development/catkin_ws/src/rosjet/jet_bringup/launch/jet_real.launch
+++ b/Robot_Development/catkin_ws/src/rosjet/jet_bringup/launch/jet_real.launch
@@ -4,8 +4,8 @@
   <include file="$(find jet_serial)/launch/jet_serial.launch" />
 
   <node pkg="joy" type="joy_node" name="joy_node">
-    <param name="dev" value="/dev/input/js0" />
-    <param name="deadzone" value="0.3" />
+    <param name="dev" value="/dev/input/js4" />
+    <param name="deadzone" value="0.2" />
     <param name="autorepeat_rate" value="20" />
   </node>
 
@@ -13,23 +13,15 @@
     <param name="axis_linear" value="1" />
     <param name="axis_angular" value="0" />
     <param name="scale_linear" value="1" />
-    <param name="scale_angular" value="2.5" />
+    <param name="scale_angular" value="-2.5" />
   </node>
-<!--
-  <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
-    <param name="video_device" value="/dev/video1" />
-    <param name="image_width" value="800" />
-    <param name="image_height" value="600" />
-    <param name="pixel_format" value="mjpg" />
-    <param name="camera_frame_id" value="usb_cam" />
-    <param name="io_method" value="mmap"/>
-  </node>
--->
+
    <include file="$(find jet_description)/launch/jet_upload.launch"/>
 
    <include file="$(find jet_control)/launch/jet_control.launch"/>
 
    <include file="$(find jet_driver)/launch/jet_driver.launch"/>
 
-    <include file="$(find lane_detection)/launch/lane_detection.launch"/>
+   <include file="$(find lane_detection)/launch/lane_detection.launch"/>
+
 </launch>