From a1eb7482f8c5c1122f86da029c82e8b67b74ac81 Mon Sep 17 00:00:00 2001 From: Pierre Laclau Date: Wed, 24 Jan 2018 22:08:00 +0100 Subject: [PATCH] Renamed node to 'processing_lidar_objects' --- CMakeLists.txt | 2 +- README.md | 12 ++++++------ .../displays/circle_visual.h | 4 ++-- .../displays/obstacles_display.h | 10 +++++----- .../displays/segment_visual.h | 4 ++-- .../obstacle_extractor.h | 14 +++++++------- .../obstacle_publisher.h | 8 ++++---- .../obstacle_tracker.h | 14 +++++++------- .../panels/obstacle_extractor_panel.h | 4 ++-- .../panels/obstacle_publisher_panel.h | 2 +- .../panels/obstacle_tracker_panel.h | 2 +- .../panels/scans_merger_panel.h | 4 ++-- .../scans_merger.h | 4 ++-- .../utilities/circle.h | 8 ++++---- .../utilities/figure_fitting.h | 10 +++++----- .../utilities/kalman.h | 0 .../utilities/math_utilities.h | 6 +++--- .../utilities/point.h | 4 ++-- .../utilities/point_set.h | 6 +++--- .../utilities/segment.h | 8 ++++---- .../utilities/tracked_obstacle.h | 6 +++--- launch/demo.launch | 12 ++++++------ launch/lidar_objects.launch | 8 ++++---- launch/nodelets.launch | 8 ++++---- launch/nodes.launch | 8 ++++---- msg/Obstacles.msg | 4 ++-- nodelet_plugins.xml | 18 +++++++++--------- package.xml | 2 +- rviz_plugins.xml | 12 ++++++------ src/displays/circle_visual.cpp | 4 ++-- src/displays/obstacles_display.cpp | 8 ++++---- src/displays/segment_visual.cpp | 4 ++-- src/nodelets/obstacle_extractor_nodelet.cpp | 8 ++++---- src/nodelets/obstacle_publisher_nodelet.cpp | 8 ++++---- src/nodelets/obstacle_tracker_nodelet.cpp | 8 ++++---- src/nodelets/scans_merger_nodelet.cpp | 8 ++++---- src/nodes/obstacle_extractor_node.cpp | 4 ++-- src/nodes/obstacle_publisher_node.cpp | 4 ++-- src/nodes/obstacle_tracker_node.cpp | 4 ++-- src/nodes/scans_merger_node.cpp | 4 ++-- src/obstacle_extractor.cpp | 14 +++++++------- src/obstacle_publisher.cpp | 8 ++++---- src/obstacle_tracker.cpp | 12 ++++++------ src/panels/obstacle_extractor_panel.cpp | 6 +++--- src/panels/obstacle_publisher_panel.cpp | 6 +++--- src/panels/obstacle_tracker_panel.cpp | 6 +++--- src/panels/scans_merger_panel.cpp | 6 +++--- src/scans_merger.cpp | 4 ++-- 48 files changed, 165 insertions(+), 165 deletions(-) rename include/{obstacle_detector => processing_lidar_objects}/displays/circle_visual.h (95%) rename include/{obstacle_detector => processing_lidar_objects}/displays/obstacles_display.h (88%) rename include/{obstacle_detector => processing_lidar_objects}/displays/segment_visual.h (95%) rename include/{obstacle_detector => processing_lidar_objects}/obstacle_extractor.h (91%) rename include/{obstacle_detector => processing_lidar_objects}/obstacle_publisher.h (94%) rename include/{obstacle_detector => processing_lidar_objects}/obstacle_tracker.h (91%) rename include/{obstacle_detector => processing_lidar_objects}/panels/obstacle_extractor_panel.h (97%) rename include/{obstacle_detector => processing_lidar_objects}/panels/obstacle_publisher_panel.h (98%) rename include/{obstacle_detector => processing_lidar_objects}/panels/obstacle_tracker_panel.h (98%) rename include/{obstacle_detector => processing_lidar_objects}/panels/scans_merger_panel.h (97%) rename include/{obstacle_detector => processing_lidar_objects}/scans_merger.h (97%) rename include/{obstacle_detector => processing_lidar_objects}/utilities/circle.h (93%) rename include/{obstacle_detector => processing_lidar_objects}/utilities/figure_fitting.h (96%) rename include/{obstacle_detector => processing_lidar_objects}/utilities/kalman.h (100%) rename include/{obstacle_detector => processing_lidar_objects}/utilities/math_utilities.h (96%) rename include/{obstacle_detector => processing_lidar_objects}/utilities/point.h (98%) rename include/{obstacle_detector => processing_lidar_objects}/utilities/point_set.h (94%) rename include/{obstacle_detector => processing_lidar_objects}/utilities/segment.h (94%) rename include/{obstacle_detector => processing_lidar_objects}/utilities/tracked_obstacle.h (97%) diff --git a/CMakeLists.txt b/CMakeLists.txt index d2d2ba1..de42702 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 2.8.3) -project(obstacle_detector) +project(processing_lidar_objects) set(CMAKE_CXX_FLAGS "-std=c++11 -fpermissive ${CMAKE_CXX_FLAGS} -Wfatal-errors\ ") diff --git a/README.md b/README.md index 1447bcf..889ecdd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# The obstacle_detector package +# The processing_lidar_objects package -The `obstacle_detector` package provides utilities to detect and track obstacles from data provided by 2D laser scanners. Detected obstacles come in a form of line segments or circles. The package was designed for a robot equipped with two laser scanners therefore it contains several additional utilities. The working principles of the method are described in an article provided in the `resources` folder. +The `processing_lidar_objects` package provides utilities to detect and track obstacles from data provided by 2D laser scanners. Detected obstacles come in a form of line segments or circles. The package was designed for a robot equipped with two laser scanners therefore it contains several additional utilities. The working principles of the method are described in an article provided in the `resources` folder. The package requires [Armadillo C++](http://arma.sourceforge.net) library for compilation and runtime. @@ -126,7 +126,7 @@ The package comes with Rviz panel for this node. ### 1.3. The obstacle_tracker node -This node tracks and filters the circular obstacles with the use of Kalman filter. It subscribes to messages of custom type `obstacle_detector/Obstacles` from topic `raw_obstacles` and publishes messages of the same type under topic `tracked_obstacles`. The tracking algorithm is applied only to the circular obstacles, hence the segments list in the published message is simply a copy of the original segments. The tracked obstacles are supplemented with additional information on their velocity. +This node tracks and filters the circular obstacles with the use of Kalman filter. It subscribes to messages of custom type `processing_lidar_objects/Obstacles` from topic `raw_obstacles` and publishes messages of the same type under topic `tracked_obstacles`. The tracking algorithm is applied only to the circular obstacles, hence the segments list in the published message is simply a copy of the original segments. The tracked obstacles are supplemented with additional information on their velocity. -----------------------

@@ -206,12 +206,12 @@ The package provides three custom message types. All of their numerical values a - `geometry_msgs/Point last_point` - end point of the segment. * `Obstacles` - `Header header` - - `obstacle_detector/SegmentObstacle[] segments` - - `obstacle_detector/CircleObstacle[] circles` + - `processing_lidar_objects/SegmentObstacle[] segments` + - `processing_lidar_objects/CircleObstacle[] circles` ## 3. The launch files -Provided launch files are good examples of how to use `obstacle_detector` package. They give a full list of parameters used by each of provided nodes. +Provided launch files are good examples of how to use `processing_lidar_objects` package. They give a full list of parameters used by each of provided nodes. * `demo.launch` - Plays a rosbag with recorded scans and starts all of the nodes with Rviz configured with appropriate panels. * `nodes_example.launch` - Runs all of the nodes with their parameters set to default values. * `nodelets_example.launch` - Runs all of the nodelets with their parameters set to default values. diff --git a/include/obstacle_detector/displays/circle_visual.h b/include/processing_lidar_objects/displays/circle_visual.h similarity index 95% rename from include/obstacle_detector/displays/circle_visual.h rename to include/processing_lidar_objects/displays/circle_visual.h index 35de349..5595b5b 100644 --- a/include/obstacle_detector/displays/circle_visual.h +++ b/include/processing_lidar_objects/displays/circle_visual.h @@ -36,7 +36,7 @@ #pragma once #ifndef Q_MOC_RUN -#include +#include #include #include @@ -55,7 +55,7 @@ class CircleVisual virtual ~CircleVisual(); - void setData(const obstacle_detector::CircleObstacle& circle); + void setData(const processing_lidar_objects::CircleObstacle& circle); void setFramePosition(const Ogre::Vector3& position); void setFrameOrientation(const Ogre::Quaternion& orientation); void setMainColor(float r, float g, float b, float a); diff --git a/include/obstacle_detector/displays/obstacles_display.h b/include/processing_lidar_objects/displays/obstacles_display.h similarity index 88% rename from include/obstacle_detector/displays/obstacles_display.h rename to include/processing_lidar_objects/displays/obstacles_display.h index 7538234..807e955 100644 --- a/include/obstacle_detector/displays/obstacles_display.h +++ b/include/processing_lidar_objects/displays/obstacles_display.h @@ -39,7 +39,7 @@ #include #include -#include +#include #include #include @@ -48,14 +48,14 @@ #include #include -#include "obstacle_detector/displays/circle_visual.h" -#include "obstacle_detector/displays/segment_visual.h" +#include "processing_lidar_objects/displays/circle_visual.h" +#include "processing_lidar_objects/displays/segment_visual.h" #endif namespace obstacles_display { -class ObstaclesDisplay: public rviz::MessageFilterDisplay +class ObstaclesDisplay: public rviz::MessageFilterDisplay { Q_OBJECT public: @@ -73,7 +73,7 @@ private Q_SLOTS: void updateThickness(); private: - void processMessage(const obstacle_detector::Obstacles::ConstPtr& obstacles_msg); + void processMessage(const processing_lidar_objects::Obstacles::ConstPtr& obstacles_msg); std::vector< boost::shared_ptr > circle_visuals_; std::vector< boost::shared_ptr > segment_visuals_; diff --git a/include/obstacle_detector/displays/segment_visual.h b/include/processing_lidar_objects/displays/segment_visual.h similarity index 95% rename from include/obstacle_detector/displays/segment_visual.h rename to include/processing_lidar_objects/displays/segment_visual.h index 8605658..44cd1c0 100644 --- a/include/obstacle_detector/displays/segment_visual.h +++ b/include/processing_lidar_objects/displays/segment_visual.h @@ -36,7 +36,7 @@ #pragma once #ifndef Q_MOC_RUN -#include +#include #include #include @@ -56,7 +56,7 @@ class SegmentVisual virtual ~SegmentVisual(); - void setData(const obstacle_detector::SegmentObstacle& segment); + void setData(const processing_lidar_objects::SegmentObstacle& segment); void setFramePosition(const Ogre::Vector3& position); void setFrameOrientation(const Ogre::Quaternion& orientation); void setColor(float r, float g, float b, float a); diff --git a/include/obstacle_detector/obstacle_extractor.h b/include/processing_lidar_objects/obstacle_extractor.h similarity index 91% rename from include/obstacle_detector/obstacle_extractor.h rename to include/processing_lidar_objects/obstacle_extractor.h index 0e10ff7..85233cd 100644 --- a/include/obstacle_detector/obstacle_extractor.h +++ b/include/processing_lidar_objects/obstacle_extractor.h @@ -40,14 +40,14 @@ #include #include #include -#include +#include -#include "obstacle_detector/utilities/point.h" -#include "obstacle_detector/utilities/segment.h" -#include "obstacle_detector/utilities/circle.h" -#include "obstacle_detector/utilities/point_set.h" +#include "processing_lidar_objects/utilities/point.h" +#include "processing_lidar_objects/utilities/segment.h" +#include "processing_lidar_objects/utilities/circle.h" +#include "processing_lidar_objects/utilities/point_set.h" -namespace obstacle_detector +namespace processing_lidar_objects { class ObstacleExtractor @@ -121,4 +121,4 @@ class ObstacleExtractor std::string p_frame_id_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/obstacle_publisher.h b/include/processing_lidar_objects/obstacle_publisher.h similarity index 94% rename from include/obstacle_detector/obstacle_publisher.h rename to include/processing_lidar_objects/obstacle_publisher.h index eb10f3b..e35cb8d 100644 --- a/include/obstacle_detector/obstacle_publisher.h +++ b/include/processing_lidar_objects/obstacle_publisher.h @@ -37,9 +37,9 @@ #include #include -#include +#include -namespace obstacle_detector +namespace processing_lidar_objects { class ObstaclePublisher @@ -67,7 +67,7 @@ class ObstaclePublisher ros::ServiceServer params_srv_; ros::Timer timer_; - obstacle_detector::Obstacles obstacles_; + processing_lidar_objects::Obstacles obstacles_; double t_; // Parameters @@ -90,4 +90,4 @@ class ObstaclePublisher std::string p_frame_id_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/obstacle_tracker.h b/include/processing_lidar_objects/obstacle_tracker.h similarity index 91% rename from include/obstacle_detector/obstacle_tracker.h rename to include/processing_lidar_objects/obstacle_tracker.h index e243eb2..c3bd74a 100644 --- a/include/obstacle_detector/obstacle_tracker.h +++ b/include/processing_lidar_objects/obstacle_tracker.h @@ -40,12 +40,12 @@ #include #include #include -#include +#include -#include "obstacle_detector/utilities/tracked_obstacle.h" -#include "obstacle_detector/utilities/math_utilities.h" +#include "processing_lidar_objects/utilities/tracked_obstacle.h" +#include "processing_lidar_objects/utilities/math_utilities.h" -namespace obstacle_detector +namespace processing_lidar_objects { class ObstacleTracker { @@ -56,7 +56,7 @@ class ObstacleTracker { private: bool updateParams(std_srvs::Empty::Request& req, std_srvs::Empty::Response& res); void timerCallback(const ros::TimerEvent&); - void obstaclesCallback(const obstacle_detector::Obstacles::ConstPtr new_obstacles); + void obstaclesCallback(const processing_lidar_objects::Obstacles::ConstPtr new_obstacles); void initialize() { std_srvs::Empty empt; updateParams(empt.request, empt.response); } @@ -87,7 +87,7 @@ class ObstacleTracker { ros::Timer timer_; double radius_margin_; - obstacle_detector::Obstacles obstacles_; + processing_lidar_objects::Obstacles obstacles_; std::vector tracked_obstacles_; std::vector untracked_obstacles_; @@ -109,4 +109,4 @@ class ObstacleTracker { std::string p_frame_id_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/panels/obstacle_extractor_panel.h b/include/processing_lidar_objects/panels/obstacle_extractor_panel.h similarity index 97% rename from include/obstacle_detector/panels/obstacle_extractor_panel.h rename to include/processing_lidar_objects/panels/obstacle_extractor_panel.h index dd6fccd..250b7ba 100644 --- a/include/obstacle_detector/panels/obstacle_extractor_panel.h +++ b/include/processing_lidar_objects/panels/obstacle_extractor_panel.h @@ -49,7 +49,7 @@ #include #include -namespace obstacle_detector +namespace processing_lidar_objects { class ObstacleExtractorPanel : public rviz::Panel @@ -119,4 +119,4 @@ private Q_SLOTS: std::string p_frame_id_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/panels/obstacle_publisher_panel.h b/include/processing_lidar_objects/panels/obstacle_publisher_panel.h similarity index 98% rename from include/obstacle_detector/panels/obstacle_publisher_panel.h rename to include/processing_lidar_objects/panels/obstacle_publisher_panel.h index ba331c2..6cc131b 100644 --- a/include/obstacle_detector/panels/obstacle_publisher_panel.h +++ b/include/processing_lidar_objects/panels/obstacle_publisher_panel.h @@ -51,7 +51,7 @@ #include #include -namespace obstacle_detector +namespace processing_lidar_objects { class ObstaclePublisherPanel : public rviz::Panel diff --git a/include/obstacle_detector/panels/obstacle_tracker_panel.h b/include/processing_lidar_objects/panels/obstacle_tracker_panel.h similarity index 98% rename from include/obstacle_detector/panels/obstacle_tracker_panel.h rename to include/processing_lidar_objects/panels/obstacle_tracker_panel.h index 2ffd7de..97fc018 100644 --- a/include/obstacle_detector/panels/obstacle_tracker_panel.h +++ b/include/processing_lidar_objects/panels/obstacle_tracker_panel.h @@ -49,7 +49,7 @@ #include #include -namespace obstacle_detector +namespace processing_lidar_objects { class ObstacleTrackerPanel : public rviz::Panel diff --git a/include/obstacle_detector/panels/scans_merger_panel.h b/include/processing_lidar_objects/panels/scans_merger_panel.h similarity index 97% rename from include/obstacle_detector/panels/scans_merger_panel.h rename to include/processing_lidar_objects/panels/scans_merger_panel.h index 27ce5e5..ca20e5a 100644 --- a/include/obstacle_detector/panels/scans_merger_panel.h +++ b/include/processing_lidar_objects/panels/scans_merger_panel.h @@ -48,7 +48,7 @@ #include #include -namespace obstacle_detector +namespace processing_lidar_objects { class ScansMergerPanel : public rviz::Panel @@ -111,4 +111,4 @@ private Q_SLOTS: std::string p_target_frame_id_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/scans_merger.h b/include/processing_lidar_objects/scans_merger.h similarity index 97% rename from include/obstacle_detector/scans_merger.h rename to include/processing_lidar_objects/scans_merger.h index 0bbcd58..1de59c9 100644 --- a/include/obstacle_detector/scans_merger.h +++ b/include/processing_lidar_objects/scans_merger.h @@ -43,7 +43,7 @@ #include #include -namespace obstacle_detector +namespace processing_lidar_objects { class ScansMerger @@ -100,4 +100,4 @@ class ScansMerger std::string p_target_frame_id_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/utilities/circle.h b/include/processing_lidar_objects/utilities/circle.h similarity index 93% rename from include/obstacle_detector/utilities/circle.h rename to include/processing_lidar_objects/utilities/circle.h index 614284c..417a635 100644 --- a/include/obstacle_detector/utilities/circle.h +++ b/include/processing_lidar_objects/utilities/circle.h @@ -35,10 +35,10 @@ #pragma once -#include "obstacle_detector/utilities/point.h" -#include "obstacle_detector/utilities/segment.h" +#include "processing_lidar_objects/utilities/point.h" +#include "processing_lidar_objects/utilities/segment.h" -namespace obstacle_detector +namespace processing_lidar_objects { class Circle @@ -66,4 +66,4 @@ class Circle std::vector point_sets; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/utilities/figure_fitting.h b/include/processing_lidar_objects/utilities/figure_fitting.h similarity index 96% rename from include/obstacle_detector/utilities/figure_fitting.h rename to include/processing_lidar_objects/utilities/figure_fitting.h index 0161742..8eeb851 100644 --- a/include/obstacle_detector/utilities/figure_fitting.h +++ b/include/processing_lidar_objects/utilities/figure_fitting.h @@ -37,11 +37,11 @@ #include -#include "obstacle_detector/utilities/point.h" -#include "obstacle_detector/utilities/segment.h" -#include "obstacle_detector/utilities/circle.h" +#include "processing_lidar_objects/utilities/point.h" +#include "processing_lidar_objects/utilities/segment.h" +#include "processing_lidar_objects/utilities/circle.h" -namespace obstacle_detector +namespace processing_lidar_objects { /* @@ -200,4 +200,4 @@ Circle fitCircle(const std::list& point_set) return Circle(center, radius); } -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/utilities/kalman.h b/include/processing_lidar_objects/utilities/kalman.h similarity index 100% rename from include/obstacle_detector/utilities/kalman.h rename to include/processing_lidar_objects/utilities/kalman.h diff --git a/include/obstacle_detector/utilities/math_utilities.h b/include/processing_lidar_objects/utilities/math_utilities.h similarity index 96% rename from include/obstacle_detector/utilities/math_utilities.h rename to include/processing_lidar_objects/utilities/math_utilities.h index ce61970..0c29bfc 100644 --- a/include/obstacle_detector/utilities/math_utilities.h +++ b/include/processing_lidar_objects/utilities/math_utilities.h @@ -39,9 +39,9 @@ #include #include -#include "obstacle_detector/utilities/point.h" +#include "processing_lidar_objects/utilities/point.h" -namespace obstacle_detector +namespace processing_lidar_objects { inline double signum(double x) { return (x < 0.0) ? -1.0 : 1.0; } @@ -98,4 +98,4 @@ inline bool checkPointInLimits(const geometry_msgs::Point32& p, double x_min, do return true; } -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/utilities/point.h b/include/processing_lidar_objects/utilities/point.h similarity index 98% rename from include/obstacle_detector/utilities/point.h rename to include/processing_lidar_objects/utilities/point.h index f325242..bd9c5e3 100644 --- a/include/obstacle_detector/utilities/point.h +++ b/include/processing_lidar_objects/utilities/point.h @@ -38,7 +38,7 @@ #include #include -namespace obstacle_detector +namespace processing_lidar_objects { class Point @@ -87,4 +87,4 @@ class Point double y; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/utilities/point_set.h b/include/processing_lidar_objects/utilities/point_set.h similarity index 94% rename from include/obstacle_detector/utilities/point_set.h rename to include/processing_lidar_objects/utilities/point_set.h index b0ad481..7866c44 100644 --- a/include/obstacle_detector/utilities/point_set.h +++ b/include/processing_lidar_objects/utilities/point_set.h @@ -37,9 +37,9 @@ #include -#include "obstacle_detector/utilities/point.h" +#include "processing_lidar_objects/utilities/point.h" -namespace obstacle_detector +namespace processing_lidar_objects { typedef std::list::iterator PointIterator; @@ -54,5 +54,5 @@ class PointSet bool is_visible; // The point set is not occluded by any other point set }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/utilities/segment.h b/include/processing_lidar_objects/utilities/segment.h similarity index 94% rename from include/obstacle_detector/utilities/segment.h rename to include/processing_lidar_objects/utilities/segment.h index 26ba730..6cb7b24 100644 --- a/include/obstacle_detector/utilities/segment.h +++ b/include/processing_lidar_objects/utilities/segment.h @@ -37,10 +37,10 @@ #include -#include "obstacle_detector/utilities/point.h" -#include "obstacle_detector/utilities/point_set.h" +#include "processing_lidar_objects/utilities/point.h" +#include "processing_lidar_objects/utilities/point_set.h" -namespace obstacle_detector +namespace processing_lidar_objects { class Segment @@ -118,4 +118,4 @@ class Segment std::vector point_sets; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects diff --git a/include/obstacle_detector/utilities/tracked_obstacle.h b/include/processing_lidar_objects/utilities/tracked_obstacle.h similarity index 97% rename from include/obstacle_detector/utilities/tracked_obstacle.h rename to include/processing_lidar_objects/utilities/tracked_obstacle.h index 67dfc2a..a08c2df 100644 --- a/include/obstacle_detector/utilities/tracked_obstacle.h +++ b/include/processing_lidar_objects/utilities/tracked_obstacle.h @@ -35,10 +35,10 @@ #pragma once -#include -#include "obstacle_detector/utilities/kalman.h" +#include +#include "processing_lidar_objects/utilities/kalman.h" -namespace obstacle_detector +namespace processing_lidar_objects { class TrackedObstacle { diff --git a/launch/demo.launch b/launch/demo.launch index 5cebdbe..4ac66f5 100644 --- a/launch/demo.launch +++ b/launch/demo.launch @@ -2,7 +2,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -31,7 +31,7 @@ - + @@ -54,7 +54,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -89,7 +89,7 @@ - + diff --git a/launch/lidar_objects.launch b/launch/lidar_objects.launch index b34c889..680c4d0 100644 --- a/launch/lidar_objects.launch +++ b/launch/lidar_objects.launch @@ -5,7 +5,7 @@ - + @@ -29,7 +29,7 @@ - + @@ -45,7 +45,7 @@ - - + \ No newline at end of file diff --git a/launch/nodelets.launch b/launch/nodelets.launch index e06c15d..9a36e00 100644 --- a/launch/nodelets.launch +++ b/launch/nodelets.launch @@ -3,7 +3,7 @@ - + @@ -22,7 +22,7 @@ - + @@ -45,7 +45,7 @@ - + @@ -61,7 +61,7 @@ - + diff --git a/launch/nodes.launch b/launch/nodes.launch index 4e87400..02cbaf8 100644 --- a/launch/nodes.launch +++ b/launch/nodes.launch @@ -1,7 +1,7 @@ - + @@ -20,7 +20,7 @@ - + @@ -43,7 +43,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/msg/Obstacles.msg b/msg/Obstacles.msg index ae63b42..7cae082 100644 --- a/msg/Obstacles.msg +++ b/msg/Obstacles.msg @@ -1,4 +1,4 @@ Header header -obstacle_detector/SegmentObstacle[] segments -obstacle_detector/CircleObstacle[] circles +processing_lidar_objects/SegmentObstacle[] segments +processing_lidar_objects/CircleObstacle[] circles diff --git a/nodelet_plugins.xml b/nodelet_plugins.xml index 63550af..8a34bb6 100644 --- a/nodelet_plugins.xml +++ b/nodelet_plugins.xml @@ -1,31 +1,31 @@ - + - Scans Merger Nodelet - Obstacle Extractor Nodelet - Obstacle Tracker Nodelet - Obstacle Publisher Nodelet diff --git a/package.xml b/package.xml index f7cee95..48e4c1a 100644 --- a/package.xml +++ b/package.xml @@ -1,6 +1,6 @@ - obstacle_detector + processing_lidar_objects 1.0.0 Detect obstacles in form of line segments and circles from 2D laser scans. Mateusz Przybyla diff --git a/rviz_plugins.xml b/rviz_plugins.xml index bfd46f4..70afd2c 100644 --- a/rviz_plugins.xml +++ b/rviz_plugins.xml @@ -1,7 +1,7 @@ - + Scans Merger Panel. @@ -9,7 +9,7 @@ Obstacle Extractor Panel. @@ -17,7 +17,7 @@ Obstacle Tracker Panel. @@ -25,7 +25,7 @@ Obstacle Publisher Panel. @@ -38,7 +38,7 @@ Obstacles Display - obstacle_detector/Obstacles + processing_lidar_objects/Obstacles diff --git a/src/displays/circle_visual.cpp b/src/displays/circle_visual.cpp index 6d71a2f..87db362 100644 --- a/src/displays/circle_visual.cpp +++ b/src/displays/circle_visual.cpp @@ -33,7 +33,7 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/displays/circle_visual.h" +#include "processing_lidar_objects/displays/circle_visual.h" namespace obstacles_display { @@ -52,7 +52,7 @@ CircleVisual::~CircleVisual() { scene_manager_->destroySceneNode(frame_node_2_); } -void CircleVisual::setData(const obstacle_detector::CircleObstacle& circle) { +void CircleVisual::setData(const processing_lidar_objects::CircleObstacle& circle) { Ogre::Vector3 pos(circle.center.x, circle.center.y, 0.25); obstacle_->setPosition(pos); diff --git a/src/displays/obstacles_display.cpp b/src/displays/obstacles_display.cpp index c905c4b..23071c7 100644 --- a/src/displays/obstacles_display.cpp +++ b/src/displays/obstacles_display.cpp @@ -33,7 +33,7 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/displays/obstacles_display.h" +#include "processing_lidar_objects/displays/obstacles_display.h" namespace obstacles_display { @@ -47,13 +47,13 @@ ObstaclesDisplay::ObstaclesDisplay() { } void ObstaclesDisplay::onInitialize() { - MessageFilterDisplay::onInitialize(); + MessageFilterDisplay::onInitialize(); } ObstaclesDisplay::~ObstaclesDisplay() {} void ObstaclesDisplay::reset() { - MessageFilterDisplay::reset(); + MessageFilterDisplay::reset(); circle_visuals_.clear(); segment_visuals_.clear(); } @@ -89,7 +89,7 @@ void ObstaclesDisplay::updateThickness() { s->setWidth(width); } -void ObstaclesDisplay::processMessage(const obstacle_detector::Obstacles::ConstPtr& obstacles_msg) { +void ObstaclesDisplay::processMessage(const processing_lidar_objects::Obstacles::ConstPtr& obstacles_msg) { circle_visuals_.clear(); segment_visuals_.clear(); diff --git a/src/displays/segment_visual.cpp b/src/displays/segment_visual.cpp index 1921ff9..0fed1a1 100644 --- a/src/displays/segment_visual.cpp +++ b/src/displays/segment_visual.cpp @@ -33,7 +33,7 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/displays/segment_visual.h" +#include "processing_lidar_objects/displays/segment_visual.h" namespace obstacles_display { @@ -49,7 +49,7 @@ SegmentVisual::~SegmentVisual() { scene_manager_->destroySceneNode(frame_node_); } -void SegmentVisual::setData(const obstacle_detector::SegmentObstacle& segment) { +void SegmentVisual::setData(const processing_lidar_objects::SegmentObstacle& segment) { Ogre::Vector3 p1(segment.first_point.x, segment.first_point.y, 0.0); Ogre::Vector3 p2(segment.last_point.x, segment.last_point.y, 0.0); line_->addPoint(p1); diff --git a/src/nodelets/obstacle_extractor_nodelet.cpp b/src/nodelets/obstacle_extractor_nodelet.cpp index 617d2b3..865a40a 100644 --- a/src/nodelets/obstacle_extractor_nodelet.cpp +++ b/src/nodelets/obstacle_extractor_nodelet.cpp @@ -36,9 +36,9 @@ #include #include -#include "obstacle_detector/obstacle_extractor.h" +#include "processing_lidar_objects/obstacle_extractor.h" -namespace obstacle_detector +namespace processing_lidar_objects { class ObstacleExtractorNodelet : public nodelet::Nodelet @@ -68,7 +68,7 @@ class ObstacleExtractorNodelet : public nodelet::Nodelet std::shared_ptr obstacle_extractor_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects #include -PLUGINLIB_EXPORT_CLASS(obstacle_detector::ObstacleExtractorNodelet, nodelet::Nodelet) +PLUGINLIB_EXPORT_CLASS(processing_lidar_objects::ObstacleExtractorNodelet, nodelet::Nodelet) diff --git a/src/nodelets/obstacle_publisher_nodelet.cpp b/src/nodelets/obstacle_publisher_nodelet.cpp index 270101b..b27d1a5 100644 --- a/src/nodelets/obstacle_publisher_nodelet.cpp +++ b/src/nodelets/obstacle_publisher_nodelet.cpp @@ -36,9 +36,9 @@ #include #include -#include "obstacle_detector/obstacle_publisher.h" +#include "processing_lidar_objects/obstacle_publisher.h" -namespace obstacle_detector +namespace processing_lidar_objects { class ObstaclePublisherNodelet : public nodelet::Nodelet @@ -68,7 +68,7 @@ class ObstaclePublisherNodelet : public nodelet::Nodelet std::shared_ptr obstacle_publisher_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects #include -PLUGINLIB_EXPORT_CLASS(obstacle_detector::ObstaclePublisherNodelet, nodelet::Nodelet) +PLUGINLIB_EXPORT_CLASS(processing_lidar_objects::ObstaclePublisherNodelet, nodelet::Nodelet) diff --git a/src/nodelets/obstacle_tracker_nodelet.cpp b/src/nodelets/obstacle_tracker_nodelet.cpp index 78244a3..9289099 100644 --- a/src/nodelets/obstacle_tracker_nodelet.cpp +++ b/src/nodelets/obstacle_tracker_nodelet.cpp @@ -36,9 +36,9 @@ #include #include -#include "obstacle_detector/obstacle_tracker.h" +#include "processing_lidar_objects/obstacle_tracker.h" -namespace obstacle_detector +namespace processing_lidar_objects { class ObstacleTrackerNodelet : public nodelet::Nodelet @@ -68,7 +68,7 @@ class ObstacleTrackerNodelet : public nodelet::Nodelet std::shared_ptr obstacle_tracker_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects #include -PLUGINLIB_EXPORT_CLASS(obstacle_detector::ObstacleTrackerNodelet, nodelet::Nodelet) +PLUGINLIB_EXPORT_CLASS(processing_lidar_objects::ObstacleTrackerNodelet, nodelet::Nodelet) diff --git a/src/nodelets/scans_merger_nodelet.cpp b/src/nodelets/scans_merger_nodelet.cpp index a9fa11c..d985d32 100644 --- a/src/nodelets/scans_merger_nodelet.cpp +++ b/src/nodelets/scans_merger_nodelet.cpp @@ -36,9 +36,9 @@ #include #include -#include "obstacle_detector/scans_merger.h" +#include "processing_lidar_objects/scans_merger.h" -namespace obstacle_detector +namespace processing_lidar_objects { class ScansMergerNodelet : public nodelet::Nodelet @@ -68,7 +68,7 @@ class ScansMergerNodelet : public nodelet::Nodelet std::shared_ptr scans_merger_; }; -} // namespace obstacle_detector +} // namespace processing_lidar_objects #include -PLUGINLIB_EXPORT_CLASS(obstacle_detector::ScansMergerNodelet, nodelet::Nodelet) +PLUGINLIB_EXPORT_CLASS(processing_lidar_objects::ScansMergerNodelet, nodelet::Nodelet) diff --git a/src/nodes/obstacle_extractor_node.cpp b/src/nodes/obstacle_extractor_node.cpp index 09c95bc..ba05d38 100644 --- a/src/nodes/obstacle_extractor_node.cpp +++ b/src/nodes/obstacle_extractor_node.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/obstacle_extractor.h" +#include "processing_lidar_objects/obstacle_extractor.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; int main(int argc, char** argv) { ros::init(argc, argv, "obstacle_extractor", ros::init_options::NoRosout); diff --git a/src/nodes/obstacle_publisher_node.cpp b/src/nodes/obstacle_publisher_node.cpp index 6ff875a..0b846dc 100644 --- a/src/nodes/obstacle_publisher_node.cpp +++ b/src/nodes/obstacle_publisher_node.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/obstacle_publisher.h" +#include "processing_lidar_objects/obstacle_publisher.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; int main(int argc, char** argv) { ros::init(argc, argv, "obstacle_publisher", ros::init_options::NoRosout); diff --git a/src/nodes/obstacle_tracker_node.cpp b/src/nodes/obstacle_tracker_node.cpp index efb9400..1d034d4 100644 --- a/src/nodes/obstacle_tracker_node.cpp +++ b/src/nodes/obstacle_tracker_node.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/obstacle_tracker.h" +#include "processing_lidar_objects/obstacle_tracker.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; int main(int argc, char** argv) { ros::init(argc, argv, "obstacle_tracker", ros::init_options::NoRosout); diff --git a/src/nodes/scans_merger_node.cpp b/src/nodes/scans_merger_node.cpp index 19c08e2..b45e75a 100644 --- a/src/nodes/scans_merger_node.cpp +++ b/src/nodes/scans_merger_node.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/scans_merger.h" +#include "processing_lidar_objects/scans_merger.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; int main(int argc, char** argv) { ros::init(argc, argv, "scans_merger", ros::init_options::NoRosout); diff --git a/src/obstacle_extractor.cpp b/src/obstacle_extractor.cpp index 8a30ebc..e73d891 100644 --- a/src/obstacle_extractor.cpp +++ b/src/obstacle_extractor.cpp @@ -33,12 +33,12 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/obstacle_extractor.h" -#include "obstacle_detector/utilities/figure_fitting.h" -#include "obstacle_detector/utilities/math_utilities.h" +#include "processing_lidar_objects/obstacle_extractor.h" +#include "processing_lidar_objects/utilities/figure_fitting.h" +#include "processing_lidar_objects/utilities/math_utilities.h" using namespace std; -using namespace obstacle_detector; +using namespace processing_lidar_objects; ObstacleExtractor::ObstacleExtractor(ros::NodeHandle& nh, ros::NodeHandle& nh_local) : nh_(nh), nh_local_(nh_local) { p_active_ = false; @@ -111,11 +111,11 @@ bool ObstacleExtractor::updateParams(std_srvs::Empty::Request &req, std_srvs::Em else if (p_use_pcl_) pcl_sub_ = nh_.subscribe("pcl", 10, &ObstacleExtractor::pclCallback, this); - obstacles_pub_ = nh_.advertise("raw_obstacles", 10); + obstacles_pub_ = nh_.advertise("raw_obstacles", 10); } else { // Send empty message - obstacle_detector::ObstaclesPtr obstacles_msg(new obstacle_detector::Obstacles); + processing_lidar_objects::ObstaclesPtr obstacles_msg(new processing_lidar_objects::Obstacles); obstacles_msg->header.frame_id = p_frame_id_; obstacles_msg->header.stamp = ros::Time::now(); obstacles_pub_.publish(obstacles_msg); @@ -403,7 +403,7 @@ bool ObstacleExtractor::compareCircles(const Circle& c1, const Circle& c2, Circl } void ObstacleExtractor::publishObstacles() { - obstacle_detector::ObstaclesPtr obstacles_msg(new obstacle_detector::Obstacles); + processing_lidar_objects::ObstaclesPtr obstacles_msg(new processing_lidar_objects::Obstacles); obstacles_msg->header.stamp = stamp_; if (p_transform_coordinates_) { diff --git a/src/obstacle_publisher.cpp b/src/obstacle_publisher.cpp index 2ea1475..fbdc471 100644 --- a/src/obstacle_publisher.cpp +++ b/src/obstacle_publisher.cpp @@ -33,10 +33,10 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/obstacle_publisher.h" +#include "processing_lidar_objects/obstacle_publisher.h" using namespace std; -using namespace obstacle_detector; +using namespace processing_lidar_objects; ObstaclePublisher::ObstaclePublisher(ros::NodeHandle& nh, ros::NodeHandle& nh_local) : nh_(nh), nh_local_(nh_local) { p_active_ = false; @@ -93,7 +93,7 @@ bool ObstaclePublisher::updateParams(std_srvs::Empty::Request& req, std_srvs::Em if (p_active_ != prev_active) { if (p_active_) { - obstacle_pub_ = nh_.advertise("obstacles", 10); + obstacle_pub_ = nh_.advertise("obstacles", 10); timer_.start(); } else { @@ -219,7 +219,7 @@ void ObstaclePublisher::fissionExample(double t) { } void ObstaclePublisher::publishObstacles() { - obstacle_detector::ObstaclesPtr obstacles_msg(new obstacle_detector::Obstacles); + processing_lidar_objects::ObstaclesPtr obstacles_msg(new processing_lidar_objects::Obstacles); *obstacles_msg = obstacles_; obstacles_msg->header.stamp = ros::Time::now(); diff --git a/src/obstacle_tracker.cpp b/src/obstacle_tracker.cpp index 52efe1b..d98096f 100644 --- a/src/obstacle_tracker.cpp +++ b/src/obstacle_tracker.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/obstacle_tracker.h" +#include "processing_lidar_objects/obstacle_tracker.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; using namespace arma; using namespace std; @@ -92,12 +92,12 @@ bool ObstacleTracker::updateParams(std_srvs::Empty::Request &req, std_srvs::Empt if (p_active_ != prev_active) { if (p_active_) { obstacles_sub_ = nh_.subscribe("raw_obstacles", 10, &ObstacleTracker::obstaclesCallback, this); - obstacles_pub_ = nh_.advertise("tracked_obstacles", 10); + obstacles_pub_ = nh_.advertise("tracked_obstacles", 10); timer_.start(); } else { // Send empty message - obstacle_detector::ObstaclesPtr obstacles_msg(new obstacle_detector::Obstacles); + processing_lidar_objects::ObstaclesPtr obstacles_msg(new processing_lidar_objects::Obstacles); obstacles_msg->header.frame_id = obstacles_.header.frame_id; obstacles_msg->header.stamp = ros::Time::now(); obstacles_pub_.publish(obstacles_msg); @@ -120,7 +120,7 @@ void ObstacleTracker::timerCallback(const ros::TimerEvent&) { publishObstacles(); } -void ObstacleTracker::obstaclesCallback(const obstacle_detector::Obstacles::ConstPtr new_obstacles) { +void ObstacleTracker::obstaclesCallback(const processing_lidar_objects::Obstacles::ConstPtr new_obstacles) { if (new_obstacles->circles.size() > 0) radius_margin_ = new_obstacles->circles[0].radius - new_obstacles->circles[0].true_radius; @@ -463,7 +463,7 @@ void ObstacleTracker::updateObstacles() { } void ObstacleTracker::publishObstacles() { - obstacle_detector::ObstaclesPtr obstacles_msg(new obstacle_detector::Obstacles); + processing_lidar_objects::ObstaclesPtr obstacles_msg(new processing_lidar_objects::Obstacles); obstacles_.circles.clear(); diff --git a/src/panels/obstacle_extractor_panel.cpp b/src/panels/obstacle_extractor_panel.cpp index 23f8810..8b06186 100644 --- a/src/panels/obstacle_extractor_panel.cpp +++ b/src/panels/obstacle_extractor_panel.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/panels/obstacle_extractor_panel.h" +#include "processing_lidar_objects/panels/obstacle_extractor_panel.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; using namespace std; ObstacleExtractorPanel::ObstacleExtractorPanel(QWidget* parent) : rviz::Panel(parent), nh_(""), nh_local_("obstacle_extractor") { @@ -331,4 +331,4 @@ void ObstacleExtractorPanel::load(const rviz::Config& config) { } #include -PLUGINLIB_EXPORT_CLASS(obstacle_detector::ObstacleExtractorPanel, rviz::Panel) +PLUGINLIB_EXPORT_CLASS(processing_lidar_objects::ObstacleExtractorPanel, rviz::Panel) diff --git a/src/panels/obstacle_publisher_panel.cpp b/src/panels/obstacle_publisher_panel.cpp index 8bc9b58..57da150 100644 --- a/src/panels/obstacle_publisher_panel.cpp +++ b/src/panels/obstacle_publisher_panel.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/panels/obstacle_publisher_panel.h" +#include "processing_lidar_objects/panels/obstacle_publisher_panel.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; using namespace std; ObstaclePublisherPanel::ObstaclePublisherPanel(QWidget* parent) : rviz::Panel(parent), nh_(""), nh_local_("obstacle_publisher") { @@ -325,4 +325,4 @@ void ObstaclePublisherPanel::load(const rviz::Config& config) { } #include -PLUGINLIB_EXPORT_CLASS(obstacle_detector::ObstaclePublisherPanel, rviz::Panel) +PLUGINLIB_EXPORT_CLASS(processing_lidar_objects::ObstaclePublisherPanel, rviz::Panel) diff --git a/src/panels/obstacle_tracker_panel.cpp b/src/panels/obstacle_tracker_panel.cpp index 8e5a481..d506f12 100644 --- a/src/panels/obstacle_tracker_panel.cpp +++ b/src/panels/obstacle_tracker_panel.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/panels/obstacle_tracker_panel.h" +#include "processing_lidar_objects/panels/obstacle_tracker_panel.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; using namespace std; ObstacleTrackerPanel::ObstacleTrackerPanel(QWidget* parent) : rviz::Panel(parent), nh_(""), nh_local_("obstacle_tracker") { @@ -225,4 +225,4 @@ void ObstacleTrackerPanel::load(const rviz::Config& config) { } #include -PLUGINLIB_EXPORT_CLASS(obstacle_detector::ObstacleTrackerPanel, rviz::Panel) +PLUGINLIB_EXPORT_CLASS(processing_lidar_objects::ObstacleTrackerPanel, rviz::Panel) diff --git a/src/panels/scans_merger_panel.cpp b/src/panels/scans_merger_panel.cpp index 8aab6ab..05e49f6 100644 --- a/src/panels/scans_merger_panel.cpp +++ b/src/panels/scans_merger_panel.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/panels/scans_merger_panel.h" +#include "processing_lidar_objects/panels/scans_merger_panel.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; using namespace std; ScansMergerPanel::ScansMergerPanel(QWidget* parent) : rviz::Panel(parent), nh_(""), nh_local_("scans_merger") { @@ -305,4 +305,4 @@ void ScansMergerPanel::load(const rviz::Config& config) { } #include -PLUGINLIB_EXPORT_CLASS(obstacle_detector::ScansMergerPanel, rviz::Panel) +PLUGINLIB_EXPORT_CLASS(processing_lidar_objects::ScansMergerPanel, rviz::Panel) diff --git a/src/scans_merger.cpp b/src/scans_merger.cpp index 8e3e07d..39c76ea 100644 --- a/src/scans_merger.cpp +++ b/src/scans_merger.cpp @@ -33,9 +33,9 @@ * Author: Mateusz Przybyla */ -#include "obstacle_detector/scans_merger.h" +#include "processing_lidar_objects/scans_merger.h" -using namespace obstacle_detector; +using namespace processing_lidar_objects; using namespace std; ScansMerger::ScansMerger(ros::NodeHandle& nh, ros::NodeHandle& nh_local) : nh_(nh), nh_local_(nh_local) {