From c3e6cdaf11eda5fb16fb0e5b5274b75a4148ea2b Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 7 Apr 2020 21:42:18 -0700 Subject: [PATCH 1/7] Add omnimapper_common package for common cmake --- omnimapper_common/CMakeLists.txt | 13 +++++++++ .../cmake/omnimapper_package.cmake | 27 +++++++++++++++++++ .../omnimapper_common-extras.cmake | 3 +++ omnimapper_common/package.xml | 16 +++++++++++ 4 files changed, 59 insertions(+) create mode 100644 omnimapper_common/CMakeLists.txt create mode 100644 omnimapper_common/cmake/omnimapper_package.cmake create mode 100644 omnimapper_common/omnimapper_common-extras.cmake create mode 100644 omnimapper_common/package.xml diff --git a/omnimapper_common/CMakeLists.txt b/omnimapper_common/CMakeLists.txt new file mode 100644 index 0000000..eda1c68 --- /dev/null +++ b/omnimapper_common/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.5) +project(omnimapper_common NONE) + +find_package(ament_cmake_core REQUIRED) + +ament_package( + CONFIG_EXTRAS "omnimapper_common-extras.cmake" +) + +install( + DIRECTORY cmake + DESTINATION share/${PROJECT_NAME} +) diff --git a/omnimapper_common/cmake/omnimapper_package.cmake b/omnimapper_common/cmake/omnimapper_package.cmake new file mode 100644 index 0000000..5ba01c9 --- /dev/null +++ b/omnimapper_common/cmake/omnimapper_package.cmake @@ -0,0 +1,27 @@ +# +# Standard Omnimapper project setup +# +# @public +# +macro(omnimapper_package) + + # Default to C99 + if(NOT CMAKE_C_STANDARD) + set(CMAKE_C_STANDARD 99) + endif() + + # Default to C++14 + if(NOT CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 14) + endif() + + if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + add_compile_options( + -Wall + -Wextra + -Wpedantic + -Werror + -Wdeprecated + ) + endif() +endmacro() diff --git a/omnimapper_common/omnimapper_common-extras.cmake b/omnimapper_common/omnimapper_common-extras.cmake new file mode 100644 index 0000000..f17aa3e --- /dev/null +++ b/omnimapper_common/omnimapper_common-extras.cmake @@ -0,0 +1,3 @@ +set(AMENT_BUILD_CONFIGURATION_KEYWORD_SEPARATOR ":") + +include("${omnimapper_common_DIR}/omnimapper_package.cmake") diff --git a/omnimapper_common/package.xml b/omnimapper_common/package.xml new file mode 100644 index 0000000..2aa26d6 --- /dev/null +++ b/omnimapper_common/package.xml @@ -0,0 +1,16 @@ + + + omnimapper_common + 0.0.0 + Common support functionality used throughout the Omnimapper stack + Ruffin White + TODO: License declaration + + ament_cmake_core + + ament_cmake_core + + + ament_cmake + + From a93ef83de858948b84d7b243e572b8c5288ad832 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 7 Apr 2020 21:43:17 -0700 Subject: [PATCH 2/7] Use omnimapper_common in package cmake --- omnimapper_ros/CMakeLists.txt | 12 +++--------- omnimapper_ros/package.xml | 1 + omnimapper_ros_msgs/CMakeLists.txt | 17 +++-------------- omnimapper_ros_msgs/package.xml | 2 ++ 4 files changed, 9 insertions(+), 23 deletions(-) diff --git a/omnimapper_ros/CMakeLists.txt b/omnimapper_ros/CMakeLists.txt index c97c628..c50edae 100644 --- a/omnimapper_ros/CMakeLists.txt +++ b/omnimapper_ros/CMakeLists.txt @@ -1,15 +1,6 @@ cmake_minimum_required(VERSION 3.5) project(omnimapper_ros) -# Default to C++14 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 14) -endif() - -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-Wall -Wextra -Wpedantic) -endif() - # find dependencies find_package(Boost REQUIRED COMPONENTS timer) find_package(GTSAM REQUIRED) @@ -18,6 +9,7 @@ find_package(ament_cmake REQUIRED) find_package(geometry_msgs REQUIRED) find_package(laser_geometry REQUIRED) find_package(omnimapper REQUIRED) +find_package(omnimapper_common REQUIRED) find_package(omnimapper_ros_msgs REQUIRED) find_package(pcl_conversions REQUIRED) find_package(rclcpp REQUIRED) @@ -33,6 +25,8 @@ find_package(PkgConfig REQUIRED) pkg_check_modules(csm REQUIRED csm) link_directories(${csm_LIBRARY_DIRS}) +omnimapper_package() + include_directories( include ) diff --git a/omnimapper_ros/package.xml b/omnimapper_ros/package.xml index a456bf8..b8ec5f8 100644 --- a/omnimapper_ros/package.xml +++ b/omnimapper_ros/package.xml @@ -10,6 +10,7 @@ ament_cmake omnimapper + omnimapper_common omnimapper_ros_msgs rclcpp diff --git a/omnimapper_ros_msgs/CMakeLists.txt b/omnimapper_ros_msgs/CMakeLists.txt index a55ea0e..691fb74 100644 --- a/omnimapper_ros_msgs/CMakeLists.txt +++ b/omnimapper_ros_msgs/CMakeLists.txt @@ -1,23 +1,12 @@ cmake_minimum_required(VERSION 3.5) project(omnimapper_ros_msgs) -# Default to C99 -if(NOT CMAKE_C_STANDARD) - set(CMAKE_C_STANDARD 99) -endif() - -# Default to C++14 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 14) -endif() - -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-Wall -Wextra -Wpedantic) -endif() - find_package(ament_cmake REQUIRED) +find_package(omnimapper_common REQUIRED) find_package(rosidl_default_generators REQUIRED) +omnimapper_package() + set(srv_files "srv/OutputMapTSDF.srv" "srv/PublishModel.srv" diff --git a/omnimapper_ros_msgs/package.xml b/omnimapper_ros_msgs/package.xml index 802c4a4..cf22ee8 100644 --- a/omnimapper_ros_msgs/package.xml +++ b/omnimapper_ros_msgs/package.xml @@ -10,6 +10,8 @@ ament_cmake rosidl_default_generators + omnimapper_common + rosidl_default_runtime ament_lint_auto From 662efa76d6ca1fc7c758b4f587266eede32ec2a3 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 7 Apr 2020 21:48:03 -0700 Subject: [PATCH 3/7] Remove old notes --- omnimapper_ros/NOTES.md | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 omnimapper_ros/NOTES.md diff --git a/omnimapper_ros/NOTES.md b/omnimapper_ros/NOTES.md deleted file mode 100644 index 5e2aedd..0000000 --- a/omnimapper_ros/NOTES.md +++ /dev/null @@ -1,9 +0,0 @@ -``` -tf::Quaternion --> tf2::Quaternion -tf::Transform --> tf2::Transform -tf::StampedTransform --> geometry_msgs::TransformStamped - - -nh_->advertise --> ros_node_->create_publisher - -``` From 7ab7d22df99abef3ad15ed49642a6e4819a5839b Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 7 Apr 2020 22:01:57 -0700 Subject: [PATCH 4/7] Move license file to root of repo --- omnimapper_ros/LICENSE => LICENSE | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename omnimapper_ros/LICENSE => LICENSE (100%) diff --git a/omnimapper_ros/LICENSE b/LICENSE similarity index 100% rename from omnimapper_ros/LICENSE rename to LICENSE From 50c5a5e0cca0f48afaf6180dd209dbdc81b5a387 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 7 Apr 2020 22:03:05 -0700 Subject: [PATCH 5/7] Clean up licence file --- LICENSE | 57 ++++++++++++++++----------------------------------------- 1 file changed, 16 insertions(+), 41 deletions(-) diff --git a/LICENSE b/LICENSE index e840144..76f2868 100644 --- a/LICENSE +++ b/LICENSE @@ -1,55 +1,30 @@ +BSD 3-Clause License + Copyright (c) 2019, The Regents of the University of California +Copyright (c) 2014, Georgia Tech Research Corporation All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of the University of California nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE REGENTS OF THE UNIVERSITY OF CALIFORNIA BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -Copyright (c) 2014, Georgia Tech Research Corporation -Atlanta, Georgia 30332-0415 -All Rights Reserved - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - * Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From c57d721a6df770054feb253a2929e85cbdc34522 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 7 Apr 2020 22:07:27 -0700 Subject: [PATCH 6/7] Fix license tag --- omnimapper_common/package.xml | 2 +- omnimapper_ros/package.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/omnimapper_common/package.xml b/omnimapper_common/package.xml index 2aa26d6..37f0603 100644 --- a/omnimapper_common/package.xml +++ b/omnimapper_common/package.xml @@ -4,7 +4,7 @@ 0.0.0 Common support functionality used throughout the Omnimapper stack Ruffin White - TODO: License declaration + BSD-3-Clause ament_cmake_core diff --git a/omnimapper_ros/package.xml b/omnimapper_ros/package.xml index b8ec5f8..d5f63f3 100644 --- a/omnimapper_ros/package.xml +++ b/omnimapper_ros/package.xml @@ -5,7 +5,7 @@ 0.0.0 TODO: Package description shengye - TODO: License declaration + BSD-3-Clause ament_cmake From 0b1c0b79c43ad932e459adf490a71d9ba4760737 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 7 Apr 2020 23:26:15 -0700 Subject: [PATCH 7/7] Add skelton for omnimapper_gazebo package --- omnimapper_gazebo/CMakeLists.txt | 12 ++++++++++++ omnimapper_gazebo/package.xml | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 omnimapper_gazebo/CMakeLists.txt create mode 100644 omnimapper_gazebo/package.xml diff --git a/omnimapper_gazebo/CMakeLists.txt b/omnimapper_gazebo/CMakeLists.txt new file mode 100644 index 0000000..81c102f --- /dev/null +++ b/omnimapper_gazebo/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.5) +project(omnimapper_ros) + +# find dependencies +find_package(omnimapper_common REQUIRED) + +omnimapper_package() + +install(DIRECTORY launch + DESTINATION share/${PROJECT_NAME}) + +ament_package() diff --git a/omnimapper_gazebo/package.xml b/omnimapper_gazebo/package.xml new file mode 100644 index 0000000..06fe35f --- /dev/null +++ b/omnimapper_gazebo/package.xml @@ -0,0 +1,21 @@ + + + + omnimapper_ros + 0.0.0 + Includes gazebo launch file for Omnimapper + Ruffin White + BSD-3-Clause + + ament_cmake + + omnimapper + omnimapper_common + + launch_xml + turtlebot3_simulations + + + ament_cmake + +