From c899084193a02efe39eba99c13dd3664b9eb808b Mon Sep 17 00:00:00 2001
From: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Date: Mon, 14 Oct 2013 09:54:42 +0200
Subject: [PATCH] navigation: initial commit

This commit includes all navigation packages except robot_pose_ekf.
The robot_pose_ekf requires bfl, which we could not provide yet.
---
 recipes-ros/navigation/amcl_1.11.4.bb         |  8 ++
 ...0001-check-for-CATKIN_ENABLE_TESTING.patch | 64 ++++++++++++++
 .../navigation/base-local-planner_1.11.4.bb   | 12 +++
 .../navigation/carrot-planner_1.11.4.bb       |  8 ++
 .../clear-costmap-recovery_1.11.4.bb          | 10 +++
 recipes-ros/navigation/costmap-2d_1.11.4.bb   | 13 +++
 .../navigation/dwa-local-planner_1.11.4.bb    | 10 +++
 .../navigation/fake-localization_1.11.4.bb    |  8 ++
 .../navigation/global-planner_1.11.4.bb       |  8 ++
 ...0001-check-for-CATKIN_ENABLE_TESTING.patch | 85 +++++++++++++++++++
 recipes-ros/navigation/map-server_1.11.4.bb   | 10 +++
 .../navigation/move-base-msgs_1.11.4.bb       |  8 ++
 recipes-ros/navigation/move-base_1.11.4.bb    |  9 ++
 .../navigation/move-slow-and-clear_1.11.4.bb  |  8 ++
 recipes-ros/navigation/nav-core_1.11.4.bb     |  8 ++
 ...0001-check-for-CATKIN_ENABLE_TESTING.patch | 38 +++++++++
 recipes-ros/navigation/navfn_1.11.4.bb        | 11 +++
 recipes-ros/navigation/navigation.inc         |  9 ++
 .../navigation/rotate-recovery_1.11.4.bb      |  9 ++
 ...0001-check-for-CATKIN_ENABLE_TESTING.patch | 46 ++++++++++
 recipes-ros/navigation/voxel-grid_1.11.4.bb   | 10 +++
 21 files changed, 392 insertions(+)
 create mode 100644 recipes-ros/navigation/amcl_1.11.4.bb
 create mode 100644 recipes-ros/navigation/base-local-planner/0001-check-for-CATKIN_ENABLE_TESTING.patch
 create mode 100644 recipes-ros/navigation/base-local-planner_1.11.4.bb
 create mode 100644 recipes-ros/navigation/carrot-planner_1.11.4.bb
 create mode 100644 recipes-ros/navigation/clear-costmap-recovery_1.11.4.bb
 create mode 100644 recipes-ros/navigation/costmap-2d_1.11.4.bb
 create mode 100644 recipes-ros/navigation/dwa-local-planner_1.11.4.bb
 create mode 100644 recipes-ros/navigation/fake-localization_1.11.4.bb
 create mode 100644 recipes-ros/navigation/global-planner_1.11.4.bb
 create mode 100644 recipes-ros/navigation/map-server/0001-check-for-CATKIN_ENABLE_TESTING.patch
 create mode 100644 recipes-ros/navigation/map-server_1.11.4.bb
 create mode 100644 recipes-ros/navigation/move-base-msgs_1.11.4.bb
 create mode 100644 recipes-ros/navigation/move-base_1.11.4.bb
 create mode 100644 recipes-ros/navigation/move-slow-and-clear_1.11.4.bb
 create mode 100644 recipes-ros/navigation/nav-core_1.11.4.bb
 create mode 100644 recipes-ros/navigation/navfn/0001-check-for-CATKIN_ENABLE_TESTING.patch
 create mode 100644 recipes-ros/navigation/navfn_1.11.4.bb
 create mode 100644 recipes-ros/navigation/navigation.inc
 create mode 100644 recipes-ros/navigation/rotate-recovery_1.11.4.bb
 create mode 100644 recipes-ros/navigation/voxel-grid/0001-check-for-CATKIN_ENABLE_TESTING.patch
 create mode 100644 recipes-ros/navigation/voxel-grid_1.11.4.bb

diff --git a/recipes-ros/navigation/amcl_1.11.4.bb b/recipes-ros/navigation/amcl_1.11.4.bb
new file mode 100644
index 0000000..97cb20a
--- /dev/null
+++ b/recipes-ros/navigation/amcl_1.11.4.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "amcl is a probabilistic localization system for a robot moving in 2D."
+SECTION = "devel"
+LICENSE = "LGPL"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=20;endline=20;md5=58d727014cda5ed405b7fb52666a1f97"
+
+DEPENDS = "dynamic-reconfigure message-filters nav-msgs roscpp rostest std-srvs tf"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/base-local-planner/0001-check-for-CATKIN_ENABLE_TESTING.patch b/recipes-ros/navigation/base-local-planner/0001-check-for-CATKIN_ENABLE_TESTING.patch
new file mode 100644
index 0000000..25994e9
--- /dev/null
+++ b/recipes-ros/navigation/base-local-planner/0001-check-for-CATKIN_ENABLE_TESTING.patch
@@ -0,0 +1,64 @@
+From 3d0a814884fdf638f8f8f11078113c0568e120bb Mon Sep 17 00:00:00 2001
+From: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
+Date: Sun, 13 Oct 2013 18:13:01 +0200
+Subject: [PATCH] check for CATKIN_ENABLE_TESTING
+
+---
+ base_local_planner/CMakeLists.txt | 30 ++++++++++++++++--------------
+ base_local_planner/package.xml    |  2 +-
+ 2 files changed, 17 insertions(+), 15 deletions(-)
+
+diff --git a/base_local_planner/CMakeLists.txt b/base_local_planner/CMakeLists.txt
+index a924092..6637ee7 100644
+--- a/base_local_planner/CMakeLists.txt
++++ b/base_local_planner/CMakeLists.txt
+@@ -125,17 +125,19 @@ install(DIRECTORY include/${PROJECT_NAME}/
+   PATTERN ".svn" EXCLUDE
+ )
+ 
+-catkin_add_gtest(base_local_planner_utest
+-	test/gtest_main.cpp
+-	test/utest.cpp
+-	test/velocity_iterator_test.cpp
+-	test/footprint_helper_test.cpp
+-	test/trajectory_generator_test.cpp
+-	test/map_grid_test.cpp)
+-target_link_libraries(base_local_planner_utest
+-    base_local_planner trajectory_planner_ros
+-    )
+-
+-
+-catkin_add_gtest(line_iterator
+-    test/line_iterator_test.cpp)
++if(CATKIN_ENABLE_TESTING)
++  catkin_add_gtest(base_local_planner_utest
++    test/gtest_main.cpp
++    test/utest.cpp
++    test/velocity_iterator_test.cpp
++    test/footprint_helper_test.cpp
++    test/trajectory_generator_test.cpp
++    test/map_grid_test.cpp)
++  target_link_libraries(base_local_planner_utest
++      base_local_planner trajectory_planner_ros
++      )
++
++
++  catkin_add_gtest(line_iterator
++      test/line_iterator_test.cpp)
++endif()
+diff --git a/base_local_planner/package.xml b/base_local_planner/package.xml
+index d9f1de2..3420396 100644
+--- a/base_local_planner/package.xml
++++ b/base_local_planner/package.xml
+@@ -13,7 +13,7 @@
+     <license>BSD</license>
+     <url>http://wiki.ros.org/base_local_planner</url>
+ 
+-    <buildtool_depend>catkin</buildtool_depend>
++    <buildtool_depend version_gte="0.5.68">catkin</buildtool_depend>
+ 
+     <build_depend>std_msgs</build_depend>
+     <build_depend>nav_msgs</build_depend>
+-- 
+1.8.1.2
+
diff --git a/recipes-ros/navigation/base-local-planner_1.11.4.bb b/recipes-ros/navigation/base-local-planner_1.11.4.bb
new file mode 100644
index 0000000..0596804
--- /dev/null
+++ b/recipes-ros/navigation/base-local-planner_1.11.4.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "This package provides implementations of the Trajectory Rollout and Dynamic Window approaches to local robot navigation on a plane."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=13;endline=13;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "angles costmap-2d dynamic-reconfigure geometry-msgs libeigen message-generation \
+  nav-core nav-msgs pcl-conversions pcl-ros pluginlib rosconsole roscpp rospy std-msgs tf \
+  voxel-grid visualization-msgs"
+
+require navigation.inc
+
+SRC_URI += "file://0001-check-for-CATKIN_ENABLE_TESTING.patch;striplevel=2"
diff --git a/recipes-ros/navigation/carrot-planner_1.11.4.bb b/recipes-ros/navigation/carrot-planner_1.11.4.bb
new file mode 100644
index 0000000..54a1ac4
--- /dev/null
+++ b/recipes-ros/navigation/carrot-planner_1.11.4.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "This planner attempts to find a legal place to put a carrot for the robot to follow."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=13;endline=13;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "base-local-planner costmap-2d libeigen nav-core pluginlib roscpp tf"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/clear-costmap-recovery_1.11.4.bb b/recipes-ros/navigation/clear-costmap-recovery_1.11.4.bb
new file mode 100644
index 0000000..51ca6ff
--- /dev/null
+++ b/recipes-ros/navigation/clear-costmap-recovery_1.11.4.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "This package provides a recovery behavior for the navigation stack that \
+   attempts to clear space by reverting the costmaps used by the navigation stack to \
+  the static map outside of a given area."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=12;endline=12;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "costmap-2d libeigen nav-core pluginlib roscpp tf"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/costmap-2d_1.11.4.bb b/recipes-ros/navigation/costmap-2d_1.11.4.bb
new file mode 100644
index 0000000..6fe9454
--- /dev/null
+++ b/recipes-ros/navigation/costmap-2d_1.11.4.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "This package provides an implementation of a 2D costmap that takes in sensor \
+  data from the world, builds a 2D or 3D occupancy grid of the data (depending \
+  on whether a voxel based implementation is used), and inflates costs in a \
+  2D costmap based on the occupancy grid and a user specified inflation radius."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=18;endline=18;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "dynamic-reconfigure geometry-msgs laser-geometry map-msgs message-filters \
+  message-generation nav-msgs pcl-conversions pcl-ros pluginlib roscpp rostest \
+  sensor-msgs std-msgs tf visualization-msgs voxel-grid"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/dwa-local-planner_1.11.4.bb b/recipes-ros/navigation/dwa-local-planner_1.11.4.bb
new file mode 100644
index 0000000..d1cc037
--- /dev/null
+++ b/recipes-ros/navigation/dwa-local-planner_1.11.4.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "This package provides an implementation of the Dynamic Window Approach to \
+  local robot navigation on a plane."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=19;endline=19;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "base-local-planner costmap-2d dynamic-reconfigure libeigen nav-core \
+  nav-msgs pluginlib pcl-conversions roscpp tf"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/fake-localization_1.11.4.bb b/recipes-ros/navigation/fake-localization_1.11.4.bb
new file mode 100644
index 0000000..427745f
--- /dev/null
+++ b/recipes-ros/navigation/fake-localization_1.11.4.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "A ROS node that simply forwards odometry information."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "angles roscpp rosconsole nav-msgs geometry-msgs tf message-filters rospy"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/global-planner_1.11.4.bb b/recipes-ros/navigation/global-planner_1.11.4.bb
new file mode 100644
index 0000000..4ee2985
--- /dev/null
+++ b/recipes-ros/navigation/global-planner_1.11.4.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "A path planner library and node."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5"
+
+DEPENDS = "costmap-2d dynamic-reconfigure geometry-msgs nav-core nav-msgs navfn pluginlib roscpp tf"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/map-server/0001-check-for-CATKIN_ENABLE_TESTING.patch b/recipes-ros/navigation/map-server/0001-check-for-CATKIN_ENABLE_TESTING.patch
new file mode 100644
index 0000000..169f26c
--- /dev/null
+++ b/recipes-ros/navigation/map-server/0001-check-for-CATKIN_ENABLE_TESTING.patch
@@ -0,0 +1,85 @@
+From 74a2a421f3802b5bddf8be794e16af9bef4ae1fc Mon Sep 17 00:00:00 2001
+From: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
+Date: Mon, 14 Oct 2013 08:47:46 +0200
+Subject: [PATCH] check for CATKIN_ENABLE_TESTING
+
+---
+ map_server/CMakeLists.txt | 39 +++++++++++++++++++++------------------
+ map_server/package.xml    |  2 +-
+ 2 files changed, 22 insertions(+), 19 deletions(-)
+
+diff --git a/map_server/CMakeLists.txt b/map_server/CMakeLists.txt
+index 09bef0f..3f41a21 100644
+--- a/map_server/CMakeLists.txt
++++ b/map_server/CMakeLists.txt
+@@ -32,6 +32,12 @@ target_link_libraries(map_server
+     ${catkin_LIBRARIES}
+ )
+ 
++add_executable(map_server-map_saver src/map_saver.cpp)
++set_target_properties(map_server-map_saver PROPERTIES OUTPUT_NAME map_saver)
++target_link_libraries(map_server-map_saver
++    ${catkin_LIBRARIES}
++    )
++
+ # copy test data to same place as tests are run
+ function(copy_test_data)
+     cmake_parse_arguments(PROJECT "" "" "FILES" ${ARGN})
+@@ -40,26 +46,23 @@ function(copy_test_data)
+     endforeach()
+ endfunction()
+ 
+-copy_test_data( FILES
+-    test/testmap.bmp
+-    test/testmap.png )
+-catkin_add_gtest(${PROJECT_NAME}_utest test/utest.cpp test/test_constants.cpp)
+-target_link_libraries(${PROJECT_NAME}_utest image_loader SDL SDL_image)
+-
+-add_executable(rtest test/rtest.cpp test/test_constants.cpp)
+-target_link_libraries( rtest
+-    gtest
+-    ${catkin_LIBRARIES}
+-)
+-add_dependencies(rtest nav_msgs_gencpp)
++## Tests
++if(CATKIN_ENABLE_TESTING)
++  copy_test_data( FILES
++      test/testmap.bmp
++      test/testmap.png )
++  catkin_add_gtest(${PROJECT_NAME}_utest test/utest.cpp test/test_constants.cpp)
++  target_link_libraries(${PROJECT_NAME}_utest image_loader SDL SDL_image)
+ 
+-add_executable(map_server-map_saver src/map_saver.cpp)
+-set_target_properties(map_server-map_saver PROPERTIES OUTPUT_NAME map_saver)
+-target_link_libraries(map_server-map_saver
+-    ${catkin_LIBRARIES}
+-    )
++  add_executable(rtest test/rtest.cpp test/test_constants.cpp)
++  target_link_libraries( rtest
++      gtest
++      ${catkin_LIBRARIES}
++  )
++  add_dependencies(rtest nav_msgs_gencpp)
+ 
+-add_rostest(test/rtest.xml)
++  add_rostest(test/rtest.xml)
++endif()
+ 
+ ## Install executables and/or libraries
+ install(TARGETS map_server-map_saver map_server image_loader
+diff --git a/map_server/package.xml b/map_server/package.xml
+index 2b336de..811734a 100644
+--- a/map_server/package.xml
++++ b/map_server/package.xml
+@@ -12,7 +12,7 @@
+     <url>http://wiki.ros.org/map_server</url>
+     <license>BSD</license>
+ 
+-    <buildtool_depend>catkin</buildtool_depend>
++    <buildtool_depend version_gte="0.5.68">catkin</buildtool_depend>
+ 
+     <build_depend>roscpp</build_depend>
+     <build_depend>rostest</build_depend>
+-- 
+1.8.1.2
+
diff --git a/recipes-ros/navigation/map-server_1.11.4.bb b/recipes-ros/navigation/map-server_1.11.4.bb
new file mode 100644
index 0000000..2fcca7c
--- /dev/null
+++ b/recipes-ros/navigation/map-server_1.11.4.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = " map_server provides the map_server ROS Node, which offers map data as a ROS Service."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=13;endline=13;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "libsdl-image nav-msgs roscpp rostest tf yaml-cpp"
+
+require navigation.inc
+
+SRC_URI += "file://0001-check-for-CATKIN_ENABLE_TESTING.patch;striplevel=2"
diff --git a/recipes-ros/navigation/move-base-msgs_1.11.4.bb b/recipes-ros/navigation/move-base-msgs_1.11.4.bb
new file mode 100644
index 0000000..2206685
--- /dev/null
+++ b/recipes-ros/navigation/move-base-msgs_1.11.4.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "Holds the action description and relevant messages for the move_base package"
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=12;endline=12;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "actionlib-msgs geometry-msgs message-generation roscpp"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/move-base_1.11.4.bb b/recipes-ros/navigation/move-base_1.11.4.bb
new file mode 100644
index 0000000..14ede2d
--- /dev/null
+++ b/recipes-ros/navigation/move-base_1.11.4.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=12;endline=12;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "actionlib costmap-2d dynamic-reconfigure geometry-msgs message-generation move-base-msgs \
+  nav-core nav-msgs pluginlib roscpp rospy std-msgs std-srvs tf visualization-msgs"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/move-slow-and-clear_1.11.4.bb b/recipes-ros/navigation/move-slow-and-clear_1.11.4.bb
new file mode 100644
index 0000000..3385508
--- /dev/null
+++ b/recipes-ros/navigation/move-slow-and-clear_1.11.4.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "move_slow_and_clear"
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=12;endline=12;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "costmap-2d geometry-msgs nav-core pluginlib roscpp"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/nav-core_1.11.4.bb b/recipes-ros/navigation/nav-core_1.11.4.bb
new file mode 100644
index 0000000..99a2e84
--- /dev/null
+++ b/recipes-ros/navigation/nav-core_1.11.4.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "This package provides common interfaces for navigation specific robot actions."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=12;endline=12;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "costmap-2d geometry-msgs std-msgs tf"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/navfn/0001-check-for-CATKIN_ENABLE_TESTING.patch b/recipes-ros/navigation/navfn/0001-check-for-CATKIN_ENABLE_TESTING.patch
new file mode 100644
index 0000000..24261ac
--- /dev/null
+++ b/recipes-ros/navigation/navfn/0001-check-for-CATKIN_ENABLE_TESTING.patch
@@ -0,0 +1,38 @@
+From be3ed623e765267ad3a64088295bdb63781c535b Mon Sep 17 00:00:00 2001
+From: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
+Date: Sun, 13 Oct 2013 19:52:14 +0200
+Subject: [PATCH] check for CATKIN_ENABLE_TESTING
+
+---
+ navfn/CMakeLists.txt | 4 +++-
+ navfn/package.xml    | 2 +-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/navfn/CMakeLists.txt b/navfn/CMakeLists.txt
+index 005d7eb..2a29409 100644
+--- a/navfn/CMakeLists.txt
++++ b/navfn/CMakeLists.txt
+@@ -121,4 +121,6 @@ endif (NAVFN_HAVE_FLTK AND NAVFN_HAVE_NETPBM AND NOT APPLE)
+ #   message (STATUS "pgm.h not found (optional)")
+ # endif (NAVFN_HAVE_NETPBM)
+ 
+-add_subdirectory(test)
++if(CATKIN_ENABLE_TESTING)
++  add_subdirectory(test)
++endif()
+diff --git a/navfn/package.xml b/navfn/package.xml
+index bf44445..99e6589 100644
+--- a/navfn/package.xml
++++ b/navfn/package.xml
+@@ -13,7 +13,7 @@
+     <license>BSD</license>
+     <url>http://wiki.ros.org/navfn</url>
+ 
+-    <buildtool_depend>catkin</buildtool_depend>
++    <buildtool_depend version_gte="0.5.68">catkin</buildtool_depend>
+ 
+     <build_depend>costmap_2d</build_depend>
+     <build_depend>geometry_msgs</build_depend>
+-- 
+1.8.1.2
+
diff --git a/recipes-ros/navigation/navfn_1.11.4.bb b/recipes-ros/navigation/navfn_1.11.4.bb
new file mode 100644
index 0000000..b2378f2
--- /dev/null
+++ b/recipes-ros/navigation/navfn_1.11.4.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "navfn provides a fast interpolated navigation function that can be used to create plans for a mobile base."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=13;endline=13;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "costmap-2d geometry-msgs nav-core nav-msgs pcl-conversions pcl-ros \
+  pluginlib rosconsole roscpp tf visualization-msgs"
+
+require navigation.inc
+
+SRC_URI += "file://0001-check-for-CATKIN_ENABLE_TESTING.patch;striplevel=2"
diff --git a/recipes-ros/navigation/navigation.inc b/recipes-ros/navigation/navigation.inc
new file mode 100644
index 0000000..7678324
--- /dev/null
+++ b/recipes-ros/navigation/navigation.inc
@@ -0,0 +1,9 @@
+SRC_URI = "https://github.com/ros-planning/${ROS_SPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_SP}.tar.gz"
+SRC_URI[md5sum] = "cddadf97a28ccffe93c0d662639801d5"
+SRC_URI[sha256sum] = "402f1800577d22a168882aa99754d99cfd0a54e9a02a1ec804c351cd327d7540"
+
+S = "${WORKDIR}/${ROS_SP}/${ROS_BPN}"
+
+inherit catkin
+
+ROS_SPN = "navigation"
diff --git a/recipes-ros/navigation/rotate-recovery_1.11.4.bb b/recipes-ros/navigation/rotate-recovery_1.11.4.bb
new file mode 100644
index 0000000..cedac0d
--- /dev/null
+++ b/recipes-ros/navigation/rotate-recovery_1.11.4.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "This package provides a recovery behavior for the navigation stack that attempts \
+  to clear space by performing a 360 degree rotation of the robot."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=12;endline=12;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "base-local-planner costmap-2d libeigen nav-core pluginlib roscpp tf"
+
+require navigation.inc
diff --git a/recipes-ros/navigation/voxel-grid/0001-check-for-CATKIN_ENABLE_TESTING.patch b/recipes-ros/navigation/voxel-grid/0001-check-for-CATKIN_ENABLE_TESTING.patch
new file mode 100644
index 0000000..941f557
--- /dev/null
+++ b/recipes-ros/navigation/voxel-grid/0001-check-for-CATKIN_ENABLE_TESTING.patch
@@ -0,0 +1,46 @@
+From 72fbc995dd302f356b891fb93e9d0cdc6416cdb8 Mon Sep 17 00:00:00 2001
+From: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
+Date: Sun, 13 Oct 2013 14:11:47 +0200
+Subject: [PATCH] check for CATKIN_ENABLE_TESTING
+
+---
+ voxel_grid/CMakeLists.txt | 12 +++++++-----
+ voxel_grid/package.xml    |  2 +-
+ 2 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/voxel_grid/CMakeLists.txt b/voxel_grid/CMakeLists.txt
+index d8e0f54..767dd2e 100644
+--- a/voxel_grid/CMakeLists.txt
++++ b/voxel_grid/CMakeLists.txt
+@@ -35,8 +35,10 @@ install(DIRECTORY include/${PROJECT_NAME}/
+   PATTERN ".svn" EXCLUDE
+ )
+ 
+-catkin_add_gtest(voxel_grid_tests test/voxel_grid_tests.cpp)
+-target_link_libraries(voxel_grid_tests
+-    voxel_grid
+-    ${catkin_LIBRARIES}
+-    )
++if(CATKIN_ENABLE_TESTING)
++  catkin_add_gtest(voxel_grid_tests test/voxel_grid_tests.cpp)
++  target_link_libraries(voxel_grid_tests
++      voxel_grid
++      ${catkin_LIBRARIES}
++      )
++endif()
+diff --git a/voxel_grid/package.xml b/voxel_grid/package.xml
+index 8a4ec86..459bcb3 100644
+--- a/voxel_grid/package.xml
++++ b/voxel_grid/package.xml
+@@ -12,7 +12,7 @@
+     <license>BSD</license>
+     <url>http://wiki.ros.org/voxel_grid</url>
+ 
+-    <buildtool_depend>catkin</buildtool_depend>
++    <buildtool_depend version_gte="0.5.68">catkin</buildtool_depend>
+ 
+     <build_depend>roscpp</build_depend>
+ 
+-- 
+1.8.1.2
+
diff --git a/recipes-ros/navigation/voxel-grid_1.11.4.bb b/recipes-ros/navigation/voxel-grid_1.11.4.bb
new file mode 100644
index 0000000..18ca16c
--- /dev/null
+++ b/recipes-ros/navigation/voxel-grid_1.11.4.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "voxel_grid provides an implementation of an efficient 3D voxel grid."
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://package.xml;beginline=12;endline=12;md5=01c2bc31767ccb3a68e12f02612b2a97"
+
+DEPENDS = "roscpp"
+
+require navigation.inc
+
+SRC_URI += "file://0001-check-for-CATKIN_ENABLE_TESTING.patch;striplevel=2"
-- 
GitLab