From 23d5d9e1bd34d075a7fb80f8a16fec7507c7b74f Mon Sep 17 00:00:00 2001 From: Kyle Rush Date: Thu, 9 May 2019 09:55:43 -0400 Subject: [PATCH 01/11] Add sonar and circle config files --- .circleci/config.yml | 99 +++++++++++++++++++++++++++++ .sonarqube/sonar-scanner.properties | 27 ++++++++ 2 files changed, 126 insertions(+) create mode 100644 .circleci/config.yml create mode 100644 .sonarqube/sonar-scanner.properties diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..85f9107 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,99 @@ +version: 2 +# Copyright (C) 2018-2019 LEIDOS. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# + +# Configuration file for Circle CI +# CI will report failure if any executed command returns and error status +# Operations performed are as follows +# Build source code +# Run unit tests for C++ and Java +# Run static code analyzer for SourceCloud +# Upload test results +# Every run command should start with source ${INIT_ENV} to ensure all default dependancies are available + +jobs: + build: + # Pull docker image from docker hub + # XTERM used for better catkin_make output + docker: + - image: usdotfhwastol/carma-base-ci:2.8.4 + user: carma + environment: + TERM: xterm # use xterm to get full display output from build + INIT_ENV: /home/carma/.base-image/init-env.sh + working_directory: "/opt/carma/" + # Execution steps + steps: + - run: + name: Create src folder + command: | + source ${INIT_ENV} + mkdir src + cd src + mkdir CARMAVelodyneLidarDriver + mkdir CARMAMsgs + - checkout: + path: src/CARMAVelodyneLidarDriver + - run: + name: Pull CARMAMsgs + command: | + source ${INIT_ENV} + git clone -b develop --depth 1 git@github.com:usdot-fhwa-stol/CARMAMsgs.git src/CARMAMsgs + - run: + name: Pull CARMADriverUtils + command: | + source ${INIT_ENV} + git clone -b develop --depth 1 git@github.com:usdot-fhwa-stol/CARMADriverUtils.git src/CARMADriverUtils + - run: + name: Build Driver + command: | + source ${INIT_ENV} + build-wrapper-linux-x86-64 --out-dir /opt/carma/bw-output bash make_with_coverage.bash -m -e /opt/carma/ -o ./coverage_reports/gcov + - run: + name: Run C++ Tests + command: | + source ${INIT_ENV} + bash make_with_coverage.bash -t -e /opt/carma/ -o ./coverage_reports/gcov + # Run SonarCloud analysis + # PR Branchs and number extracted from Circle variables and github api + # Circle CI seems to make a change to the base branch, so we must fetch --force to ensure correct git file change stats + # SONAR_SCANNER_TOKEN MUST be secured as an environment variable in Circle CI NOT in this file. + # The following sonar settings MUST be set in SonarCloud UI NOT in this file + # sonar.pullrequest.provider + # sonar.pullrequest.github.endpoint + # sonar.pullrequest.github.token.secured + # sonar.pullrequest.github.repository + # Use -X on sonar-scanner to enable debug output + - run: + name: Run Sonar Scanner + command: | + source ${INIT_ENV} + if [ -z "${CIRCLE_PULL_REQUEST}" ]; then + echo "Non-PR Build Detected. Running analysis on ${CIRCLE_BRANCH}" + cd src/CARMAVelodyneLidarDriver + sonar-scanner -Dproject.settings=.sonarqube/sonar-scanner.properties -Dsonar.login=${SONAR_SCANNER_TOKEN} + exit 0; + fi + echo "PR branch ${CIRCLE_BRANCH}" + echo "Repo name ${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}" + echo "URL ${CIRCLE_PULL_REQUEST}" + export PR_NUM=`echo ${CIRCLE_PULL_REQUEST} | cut -d'/' -f7` + echo "PR number ${PR_NUM}" + export BASE_BRANCH_URL="https://api.github.com/repos/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/pulls/${PR_NUM}" + export TARGET_BRANCH=$(curl "$BASE_BRANCH_URL" | jq '.base.ref' | tr -d '"') + echo "Target Branch = ${TARGET_BRANCH}" + cd src/CARMAVelodyneLidarDriver + git fetch --force origin ${TARGET_BRANCH}:${TARGET_BRANCH} + sonar-scanner -Dproject.settings=.sonarqube/sonar-scanner.properties -Dsonar.login=${SONAR_SCANNER_TOKEN} -Dsonar.pullrequest.base=${TARGET_BRANCH} -Dsonar.pullrequest.branch=${CIRCLE_BRANCH} -Dsonar.pullrequest.key=${PR_NUM} diff --git a/.sonarqube/sonar-scanner.properties b/.sonarqube/sonar-scanner.properties new file mode 100644 index 0000000..6dc65fd --- /dev/null +++ b/.sonarqube/sonar-scanner.properties @@ -0,0 +1,27 @@ +# Copyright (C) 2018-2019 LEIDOS. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# Configuration file for Sonar Scanner used for CI + +sonar.projectKey=usdot-fhwa-stol_CARMAVelodyneLidarDriver +sonar.organization=usdot-fhwa-stol +sonar.cfamily.build-wrapper-output=/opt/carma/bw-output +sonar.host.url=https://sonarcloud.io +sonar.sources=velodyne_lidar_driver_wrapper/src/ +sonar.cfamily.gcov.reportsPath=/opt/carma/coverage_reports/gcov +sonar.tests=velodyne_lidar_driver_wrapper/test/ +# Set Git as SCM sensor +sonar.scm.disabled=false +sonar.scm.enabled=true +sonar.scm.provider=git \ No newline at end of file From 945d0f5f4ef2fa4f2cdc2c7ad27c1b654e574956 Mon Sep 17 00:00:00 2001 From: qswawrq Date: Thu, 9 May 2019 07:22:58 -0700 Subject: [PATCH 02/11] initial commit --- velodyne_lidar_driver_wrapper/CMakeLists.txt | 92 +++++++++++++++++++ .../config/parameters.yaml | 2 + .../include/velodyne_lidar_driver_wrapper.h | 51 ++++++++++ .../velodyne_lidar_driver_wrapper.launch | 8 ++ velodyne_lidar_driver_wrapper/package.xml | 14 +++ velodyne_lidar_driver_wrapper/src/main.cpp | 23 +++++ .../src/velodyne_lidar_driver_wrapper.cpp | 57 ++++++++++++ 7 files changed, 247 insertions(+) create mode 100644 velodyne_lidar_driver_wrapper/CMakeLists.txt create mode 100644 velodyne_lidar_driver_wrapper/config/parameters.yaml create mode 100644 velodyne_lidar_driver_wrapper/include/velodyne_lidar_driver_wrapper.h create mode 100644 velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver_wrapper.launch create mode 100644 velodyne_lidar_driver_wrapper/package.xml create mode 100644 velodyne_lidar_driver_wrapper/src/main.cpp create mode 100644 velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp diff --git a/velodyne_lidar_driver_wrapper/CMakeLists.txt b/velodyne_lidar_driver_wrapper/CMakeLists.txt new file mode 100644 index 0000000..a1ca6b8 --- /dev/null +++ b/velodyne_lidar_driver_wrapper/CMakeLists.txt @@ -0,0 +1,92 @@ +cmake_minimum_required(VERSION 2.8.3) +project(velodyne_lidar_driver_wrapper) + +## Compile as C++11, supported in ROS Kinetic and newer +add_compile_options(-std=c++11) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + cav_driver_utils + cav_msgs + sensor_msgs + roscpp +) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( + LIBRARIES ${PROJECT_NAME} + CATKIN_DEPENDS cav_driver_utils cav_msgs sensor_msgs roscpp +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( + include + ${catkin_INCLUDE_DIRS} +) + +## Declare a C++ executable +## With catkin_make all packages are built within a single CMake context +## The recommended prefix ensures that target names across packages don't collide +file(GLOB_RECURSE headers */*.hpp */*.h) +add_executable( ${PROJECT_NAME}_node + ${headers} + src/main.cpp + src/velodyne_lidar_driver_wrapper.cpp) + +## Specify libraries to link a library or executable target against +target_link_libraries( ${PROJECT_NAME}_node ${catkin_LIBRARIES}) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# install(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables and/or libraries for installation +install(TARGETS ${PROJECT_NAME}_node + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +## Mark cpp header files for installation +install(DIRECTORY include/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} + FILES_MATCHING PATTERN "*.h" + PATTERN ".svn" EXCLUDE +) + +## Mark other files for installation (e.g. launch and bag files, etc.) +install(DIRECTORY + launch + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +) + +############# +## Testing ## +############# + + diff --git a/velodyne_lidar_driver_wrapper/config/parameters.yaml b/velodyne_lidar_driver_wrapper/config/parameters.yaml new file mode 100644 index 0000000..b21a4c0 --- /dev/null +++ b/velodyne_lidar_driver_wrapper/config/parameters.yaml @@ -0,0 +1,2 @@ +# Timeout threshold for point cloud message, in seconds +point_cloud_timeout: 0.2 diff --git a/velodyne_lidar_driver_wrapper/include/velodyne_lidar_driver_wrapper.h b/velodyne_lidar_driver_wrapper/include/velodyne_lidar_driver_wrapper.h new file mode 100644 index 0000000..010870f --- /dev/null +++ b/velodyne_lidar_driver_wrapper/include/velodyne_lidar_driver_wrapper.h @@ -0,0 +1,51 @@ +#pragma once + +/* + * Copyright (C) 2019 LEIDOS. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +#include +#include + +class VelodyneLidarDriverWrapper : public cav::DriverWrapper +{ + +public: + VelodyneLidarDriverWrapper(int argc, char **argv, const std::string &name = "velodyne_lidar_driver_wrapper"); + virtual ~VelodyneLidarDriverWrapper(); + +private: + + ros::Subscriber point_cloud_sub_; + ros::Time last_update_time_; + double point_cloud_timeout_; + + /** + * @brief Callback for handling point cloud message + */ + void point_cloud_cb(const sensor_msgs::PointCloud2ConstPtr& msg); + + /** + * @brief Check lidar data output timeout + */ + void checkLidarTimeout(); + + //cav::DriverWrapper members + virtual void initialize(); + virtual void pre_spin(); + virtual void post_spin(); + virtual void shutdown(); + +}; diff --git a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver_wrapper.launch b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver_wrapper.launch new file mode 100644 index 0000000..ed23a0b --- /dev/null +++ b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver_wrapper.launch @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/velodyne_lidar_driver_wrapper/package.xml b/velodyne_lidar_driver_wrapper/package.xml new file mode 100644 index 0000000..b8e1a8d --- /dev/null +++ b/velodyne_lidar_driver_wrapper/package.xml @@ -0,0 +1,14 @@ + + + velodyne_lidar_driver_wrapper + 0.0.1 + CARMA velodyne lidar driver wrapper package + carma + Apache 2.0 + carma + catkin + cav_driver_utils + cav_msgs + sensor_msgs + roscpp + diff --git a/velodyne_lidar_driver_wrapper/src/main.cpp b/velodyne_lidar_driver_wrapper/src/main.cpp new file mode 100644 index 0000000..2450131 --- /dev/null +++ b/velodyne_lidar_driver_wrapper/src/main.cpp @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2019 LEIDOS. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +#include "velodyne_lidar_driver_wrapper.h" + +int main(int argc, char**argv) +{ + VelodyneLidarDriverWrapper wrapper(argc,argv); + return wrapper.run(); +} diff --git a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp new file mode 100644 index 0000000..396ffbc --- /dev/null +++ b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2019 LEIDOS. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +#include "velodyne_lidar_driver_wrapper.h" + +VelodyneLidarDriverWrapper::VelodyneLidarDriverWrapper(int argc, char **argv, const std::string &name) : DriverWrapper (argc, argv, name) {} + +VelodyneLidarDriverWrapper::~VelodyneLidarDriverWrapper() {} + +void VelodyneLidarDriverWrapper::initialize() { + + // Set driver type + status_.sensor = true; + status_.position = true; + + // Initilize the subscriber for point cloud data + point_cloud_sub_ = nh_->subscribe("/velodyne_packets", 1, &VelodyneLidarDriverWrapper::point_cloud_cb, this); + + private_nh_->param("point_cloud_timeout", point_cloud_timeout_, 0.3); + +} + +void VelodyneLidarDriverWrapper::pre_spin() +{ + checkLidarTimeout(); +} + +void VelodyneLidarDriverWrapper::post_spin() {} + +void VelodyneLidarDriverWrapper::shutdown() {} + +void VelodyneLidarDriverWrapper::point_cloud_cb(const sensor_msgs::PointCloud2ConstPtr &msg) { + last_update_time_ = ros::Time::now(); + status_.status = cav_msgs::DriverStatus::OPERATIONAL; +} + +void VelodyneLidarDriverWrapper::checkLidarTimeout() +{ + if(last_update_time_.isZero() || + ros::Time::now() - last_update_time_ > ros::Duration(point_cloud_timeout_)) + { + status_.status = cav_msgs::DriverStatus::OFF; + } +} From 6ad9a5d6f48633971dbf52177ad782bc280c3ff3 Mon Sep 17 00:00:00 2001 From: qswawrq Date: Thu, 9 May 2019 11:00:01 -0400 Subject: [PATCH 03/11] Disable unit test --- .sonarqube/sonar-scanner.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.sonarqube/sonar-scanner.properties b/.sonarqube/sonar-scanner.properties index 6dc65fd..3b6a722 100644 --- a/.sonarqube/sonar-scanner.properties +++ b/.sonarqube/sonar-scanner.properties @@ -19,9 +19,9 @@ sonar.organization=usdot-fhwa-stol sonar.cfamily.build-wrapper-output=/opt/carma/bw-output sonar.host.url=https://sonarcloud.io sonar.sources=velodyne_lidar_driver_wrapper/src/ -sonar.cfamily.gcov.reportsPath=/opt/carma/coverage_reports/gcov -sonar.tests=velodyne_lidar_driver_wrapper/test/ +# sonar.cfamily.gcov.reportsPath=/opt/carma/coverage_reports/gcov +# sonar.tests=velodyne_lidar_driver_wrapper/test/ # Set Git as SCM sensor sonar.scm.disabled=false sonar.scm.enabled=true -sonar.scm.provider=git \ No newline at end of file +sonar.scm.provider=git From c052f3e72bb0be9cb804e1dc3027d61a64c7086a Mon Sep 17 00:00:00 2001 From: qswawrq Date: Thu, 9 May 2019 11:03:12 -0400 Subject: [PATCH 04/11] Update velodyne_lidar_driver_wrapper.cpp --- .../src/velodyne_lidar_driver_wrapper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp index 396ffbc..14b67e1 100644 --- a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp +++ b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp @@ -27,7 +27,7 @@ void VelodyneLidarDriverWrapper::initialize() { status_.position = true; // Initilize the subscriber for point cloud data - point_cloud_sub_ = nh_->subscribe("/velodyne_packets", 1, &VelodyneLidarDriverWrapper::point_cloud_cb, this); + point_cloud_sub_ = nh_->subscribe("/velodyne_points", 1, &VelodyneLidarDriverWrapper::point_cloud_cb, this); private_nh_->param("point_cloud_timeout", point_cloud_timeout_, 0.3); From 0c3d3b609a15d698aead93ef1a46e6b48a79d6c7 Mon Sep 17 00:00:00 2001 From: qswawrq Date: Thu, 9 May 2019 11:07:19 -0400 Subject: [PATCH 05/11] give initial value to native member variable --- .../src/velodyne_lidar_driver_wrapper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp index 14b67e1..b7bbe5b 100644 --- a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp +++ b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp @@ -16,7 +16,7 @@ #include "velodyne_lidar_driver_wrapper.h" -VelodyneLidarDriverWrapper::VelodyneLidarDriverWrapper(int argc, char **argv, const std::string &name) : DriverWrapper (argc, argv, name) {} +VelodyneLidarDriverWrapper::VelodyneLidarDriverWrapper(int argc, char **argv, const std::string &name) : DriverWrapper (argc, argv, name), point_cloud_timeout_(0.3) {} VelodyneLidarDriverWrapper::~VelodyneLidarDriverWrapper() {} From 064904d28e6848aa6d6afe07bf61c3f9433c2d5f Mon Sep 17 00:00:00 2001 From: Michael McConnell Date: Thu, 23 May 2019 10:11:44 -0400 Subject: [PATCH 06/11] Update driver type for carma3 --- .../src/velodyne_lidar_driver_wrapper.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp index b7bbe5b..1e7f014 100644 --- a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp +++ b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp @@ -23,8 +23,7 @@ VelodyneLidarDriverWrapper::~VelodyneLidarDriverWrapper() {} void VelodyneLidarDriverWrapper::initialize() { // Set driver type - status_.sensor = true; - status_.position = true; + status_.lidar = true; // Initilize the subscriber for point cloud data point_cloud_sub_ = nh_->subscribe("/velodyne_points", 1, &VelodyneLidarDriverWrapper::point_cloud_cb, this); From 4977596fb8cd7d5429c3422f3789f5cddda97203 Mon Sep 17 00:00:00 2001 From: Michael McConnell Date: Thu, 23 May 2019 18:28:12 -0400 Subject: [PATCH 07/11] Add launch file for full driver launch to velodyne --- .../launch/velodyne_lidar_driver.launch | 30 +++++++++++++++++++ .../velodyne_lidar_driver_wrapper.launch | 8 ----- .../launch/velodyne_lidar_wrapper.launch | 26 ++++++++++++++++ 3 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch delete mode 100644 velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver_wrapper.launch create mode 100644 velodyne_lidar_driver_wrapper/launch/velodyne_lidar_wrapper.launch diff --git a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch new file mode 100644 index 0000000..efd3f1b --- /dev/null +++ b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + diff --git a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver_wrapper.launch b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver_wrapper.launch deleted file mode 100644 index ed23a0b..0000000 --- a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver_wrapper.launch +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_wrapper.launch b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_wrapper.launch new file mode 100644 index 0000000..91996e1 --- /dev/null +++ b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_wrapper.launch @@ -0,0 +1,26 @@ + + + + + + + + + + From 9a649befb058a6438e0317b0c536fbcbb70d1d8d Mon Sep 17 00:00:00 2001 From: Michael McConnell Date: Thu, 23 May 2019 18:56:48 -0400 Subject: [PATCH 08/11] Add launch file for full driver --- .../launch/velodyne_lidar_driver.launch | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch index efd3f1b..7b79c67 100644 --- a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch +++ b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch @@ -18,13 +18,17 @@ This file is used to launch a CARMA compatible lidar driver for velodyne VLP-32C --> + + + + - - + + From 35dcf43b1a03c00cca883c36863f4de48adc1b7a Mon Sep 17 00:00:00 2001 From: Michael McConnell Date: Fri, 24 May 2019 08:12:28 -0400 Subject: [PATCH 09/11] Fix xml syntax and package name in driver launch file --- .../launch/velodyne_lidar_driver.launch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch index 7b79c67..9ce32f1 100644 --- a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch +++ b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch @@ -19,11 +19,11 @@ --> - - + + - + From 63d8024ba1bbba6aec202149837f642108b4324b Mon Sep 17 00:00:00 2001 From: Michael McConnell Date: Wed, 26 Jun 2019 10:56:31 -0400 Subject: [PATCH 10/11] Make topic name relative in wrapper --- .../src/velodyne_lidar_driver_wrapper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp index 1e7f014..61f95c3 100644 --- a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp +++ b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp @@ -26,7 +26,7 @@ void VelodyneLidarDriverWrapper::initialize() { status_.lidar = true; // Initilize the subscriber for point cloud data - point_cloud_sub_ = nh_->subscribe("/velodyne_points", 1, &VelodyneLidarDriverWrapper::point_cloud_cb, this); + point_cloud_sub_ = nh_->subscribe("velodyne_points", 1, &VelodyneLidarDriverWrapper::point_cloud_cb, this); private_nh_->param("point_cloud_timeout", point_cloud_timeout_, 0.3); From 561387d921928abe22acca5ac78a0bf340dc3c45 Mon Sep 17 00:00:00 2001 From: Michael McConnell Date: Mon, 1 Jul 2019 10:35:10 -0400 Subject: [PATCH 11/11] Fix topic name in driver launch file --- .../launch/velodyne_lidar_driver.launch | 1 + .../src/velodyne_lidar_driver_wrapper.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch index 9ce32f1..8cc0586 100644 --- a/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch +++ b/velodyne_lidar_driver_wrapper/launch/velodyne_lidar_driver.launch @@ -23,6 +23,7 @@ + diff --git a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp index 1e7f014..61f95c3 100644 --- a/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp +++ b/velodyne_lidar_driver_wrapper/src/velodyne_lidar_driver_wrapper.cpp @@ -26,7 +26,7 @@ void VelodyneLidarDriverWrapper::initialize() { status_.lidar = true; // Initilize the subscriber for point cloud data - point_cloud_sub_ = nh_->subscribe("/velodyne_points", 1, &VelodyneLidarDriverWrapper::point_cloud_cb, this); + point_cloud_sub_ = nh_->subscribe("velodyne_points", 1, &VelodyneLidarDriverWrapper::point_cloud_cb, this); private_nh_->param("point_cloud_timeout", point_cloud_timeout_, 0.3);