From d378b78c6eba5912d5679ad1cbdccab0159b164e Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 16 Mar 2016 10:37:46 -0400 Subject: [PATCH 001/105] segmenter updates and build fixes --- CMakeLists.txt | 12 +-- launch/object_on_table_segmenter.launch | 4 +- package.xml | 4 +- src/object_on_table_segmenter.cpp | 117 ++++++++++++------------ 4 files changed, 70 insertions(+), 67 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 543d3e0e..834d27ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,10 +4,12 @@ project(object_on_table_segmenter) ## Find catkin macros and libraries ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages +find_package(PCL REQUIRED) find_package(catkin REQUIRED COMPONENTS + PCL + tf pcl_conversions - pcl_ros sensor_msgs ) @@ -15,8 +17,6 @@ find_package(catkin REQUIRED COMPONENTS ## System dependencies are found with CMake's conventions # find_package(Boost REQUIRED COMPONENTS system) -find_package(PCL REQUIRED) - ## Uncomment this if the package has a setup.py. This macro ensures ## modules and global scripts declared therein get installed ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html @@ -105,7 +105,7 @@ find_package(PCL REQUIRED) catkin_package( # INCLUDE_DIRS include # LIBRARIES object_on_table_segmenter -# CATKIN_DEPENDS pcl_conversion pcl_ros sensor_msgs +# CATKIN_DEPENDS pcl_conversion sensor_msgs # DEPENDS system_lib ) @@ -118,12 +118,9 @@ catkin_package( # include_directories(include) include_directories( ${catkin_INCLUDE_DIRS} - ${PCL_INCLUDE_DIRS} ) ## Declare a C++ library -link_directories(${PCL_LIBRARY_DIRS}) -add_definitions(${PCL_DEFINITIONS}) # add_library(object_on_table_segmenter # src/${PROJECT_NAME}/object_on_table_segmenter.cpp @@ -144,7 +141,6 @@ add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) ## Specify libraries to link a library or executable target against target_link_libraries(object_on_table_segmenter ${catkin_LIBRARIES} - ${PCL_LIBRARIES} ) ############# diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index 2574e0e4..5fa4d48f 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -6,8 +6,9 @@ - + + @@ -27,6 +28,7 @@ + diff --git a/package.xml b/package.xml index 83cc4c19..d7fb49b1 100644 --- a/package.xml +++ b/package.xml @@ -41,11 +41,11 @@ catkin pcl_conversion - pcl_ros sensor_msgs + tf pcl_conversion - pcl_ros sensor_msgs + tf diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 4c84c53f..35af26f8 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -23,20 +23,20 @@ // include to convert from messages to pointclouds and vice versa #include - +#include // for segment object above table #include #include -bool dist_viewer, distance_limit_enable[3],haveTable,update_table; -double limitX[2],limitY[2],limitZ[2]; +bool dist_viewer ,haveTable,update_table; std::string POINTS_IN; std::string save_directory, object_name, load_directory; +std::string tableTFname; int cloud_save_index; ros::Subscriber pc_sub; pcl::PCDWriter writer; pcl::PointCloud::Ptr tableHull(new pcl::PointCloud); - +tf::TransformListener * listener; // function getch is from http://answers.ros.org/question/63491/keyboard-key-pressed/ int getch() { @@ -52,42 +52,45 @@ int getch() return c; } -pcl::PointCloud::Ptr cloud_filter_distance(pcl::PointCloud::Ptr cloud_input) +pcl::PointCloud::Ptr cloud_filter_distance(pcl::PointCloud::Ptr cloud_input, const tf::StampedTransform &transform) { //std::cerr << "Cloud points before distance filtering: " << cloud_input->points.size() << std::endl; - pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud); - - pcl::PassThrough pass; - *cloud_filtered = *cloud_input; - - pass.setInputCloud (cloud_filtered); - pass.setKeepOrganized(true); - - if (distance_limit_enable[0]) + double region = 0.5; + for (unsigned int i = 0; i < 3; i++) { - pass.setFilterFieldName ("x"); - pass.setFilterLimits (limitX[0], limitX[1]); - pass.filter (*cloud_filtered); - } - if (distance_limit_enable[1]) - { - pass.setFilterFieldName ("y"); - pass.setFilterLimits (limitY[0], limitY[1]); - pass.filter (*cloud_filtered); - } - if (distance_limit_enable[2]) - { - pass.setFilterFieldName ("z"); - pass.setFilterLimits (limitZ[0], limitZ[1]); - pass.filter (*cloud_filtered); + pcl::PassThrough pass; + std::cerr << "cloud input organized" << cloud_input->isOrganized() << std::endl; + pass.setInputCloud (cloud_input); + pass.setKeepOrganized(true); + std::string axisName; + double positionToSegment; + + switch (i){ + case 0: + axisName = "x"; + positionToSegment = transform.getOrigin().getX(); + break; + case 1: + axisName = "y"; + positionToSegment = transform.getOrigin().getY(); + break; + default: + axisName = "z"; + positionToSegment = transform.getOrigin().getZ(); + break; + } + std::cerr << "Segmenting axis: " << axisName << "max: " << positionToSegment + region << " min: " << positionToSegment - region << std::endl; + pass.setFilterFieldName (axisName); + pass.setFilterLimits (positionToSegment - region, positionToSegment + region); + pass.filter (*cloud_input); + std::cerr << "cloud output organized" << cloud_input->isOrganized() << std::endl; } - //std::cerr << "Cloud after distance filtering: " << cloud_filtered->points.size() << std::endl; - return cloud_filtered; + return cloud_input; } -void segmentCloudAboveTable(pcl::PointCloud::Ptr cloud_input, pcl::PointCloud::Ptr convexHull) +void segmentCloudAboveTable(pcl::PointCloud::Ptr &cloud_input, const pcl::PointCloud::Ptr &convexHull) { - + std::cerr << "cloud input organized" << cloud_input->isOrganized() << std::endl; std::cerr << "\nSegment object above table \n"; // Prism object. pcl::ExtractPolygonalPrismData prism; @@ -95,7 +98,7 @@ void segmentCloudAboveTable(pcl::PointCloud::Ptr cloud_input, prism.setInputPlanarHull(convexHull); // from 1 cm above table to 50 cm above table - prism.setHeightLimits(0.01f, 0.5f); + prism.setHeightLimits(0.015f, 0.5f); pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices); prism.segment(*objectIndices); @@ -107,6 +110,7 @@ void segmentCloudAboveTable(pcl::PointCloud::Ptr cloud_input, extract.setKeepOrganized(true); extract.filter(*objects); *cloud_input = *objects; + std::cerr << "cloud output organized" << cloud_input->isOrganized() << std::endl; } pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud::Ptr negative) @@ -146,12 +150,9 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud::Ptr input_cloud) +void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_filtered) { std::cerr << "Object Segmentation process begin \n"; - // Remove point outside certain distance - pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud); - cloud_filtered = cloud_filter_distance(input_cloud); if (dist_viewer) { std::cerr << "See distance filtered cloud. Press q to quit viewer. \n"; @@ -161,7 +162,7 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr input_clou { } dist_viewer = false; - writer.write (save_directory+"distance_filtered.pcd", *cloud_filtered, true); + writer.write (load_directory+"distance_filtered.pcd", *cloud_filtered, true); } // Get Normal Cloud @@ -214,11 +215,11 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr input_clou pcl::OrganizedConnectedComponentSegmentation euclidean_segmentation (euclidean_cluster_comparator_); euclidean_segmentation.setInputCloud (cloud_filtered); euclidean_segmentation.segment (euclidean_labels, euclidean_label_indices); - + unsigned int initialIndex = cloud_save_index; // save detected cluster data for (size_t i = 0; i < euclidean_label_indices.size (); i++) { - if (euclidean_label_indices[i].indices.size () > 1000) + if (euclidean_label_indices[i].indices.size () > 500) { pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud); pcl::ExtractIndices extract; @@ -233,12 +234,12 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr input_clou std::stringstream ss; ss << save_directory << object_name << cloud_save_index << ".pcd"; writer.write (ss.str (), *cloud_cluster, true); - std::cerr << "Saved " << save_directory << object_name << cloud_save_index << ".pcd" << std::endl; + std::cerr << "Saved " << save_directory << object_name << cloud_save_index << ".pcd \tcluster size: "<< euclidean_label_indices[i].indices.size () << std::endl; cloud_save_index++; } } - std::cerr << "Segmentation done.\n Waiting keypress to get new data \n"; + std::cerr << "Segmented object: " << cloud_save_index - initialIndex <<". Segmentation done.\n Waiting for keypress to get new data \n"; } void callback(const sensor_msgs::PointCloud2 &pc) @@ -254,7 +255,20 @@ void callback(const sensor_msgs::PointCloud2 &pc) else { pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud); - cloud_filtered = cloud_filter_distance(cloud); + std::string tableTFparent; + listener->getParent(tableTFname,ros::Time(0),tableTFparent); + if (listener->waitForTransform(tableTFparent,tableTFname,ros::Time::now(),ros::Duration(1.5))) + { + std::cerr << "Table TF with name: '" << tableTFname << "' found with parent frame: " << tableTFparent << std::endl; + tf::StampedTransform transform; + listener->lookupTransform(tableTFparent,tableTFname,ros::Time(0),transform); + cloud_filtered = cloud_filter_distance(cloud, transform); + } + else{ + std::cerr << "Fail to get TF: "<< tableTFname << std::endl; + return; + } + if (dist_viewer) { std::cerr << "See distance filtered cloud. Press q to quit viewer. \n"; @@ -303,18 +317,9 @@ int main (int argc, char** argv) nh.param("load_table",load_table,false); nh.param("update_table",update_table,false); nh.param("load_directory",load_directory,std::string("./data")); + nh.param("tableTF", tableTFname,std::string("/tableTF")); - - //getting other parameters - nh.param("limit_X",distance_limit_enable[0],false); - nh.param("limit_Y",distance_limit_enable[1],false); - nh.param("limit_Z",distance_limit_enable[2],true); - nh.param("xMin",limitX[0],0.0d); - nh.param("yMin",limitY[0],0.0d); - nh.param("zMin",limitZ[0],0.0d); - nh.param("xMax",limitX[1],0.0d); - nh.param("yMax",limitY[1],0.0d); - nh.param("zMax",limitZ[1],1.5d); + listener = new (tf::TransformListener); bool justCaptureEnvironment; nh.param("environment_only",justCaptureEnvironment,false); @@ -361,7 +366,7 @@ int main (int argc, char** argv) r.sleep(); } } - + delete (listener); ros::shutdown(); return (0); } From 7ed2898fdfac11717b4b96c4224358bc225b2861 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Thu, 17 Mar 2016 12:32:20 -0400 Subject: [PATCH 002/105] teach marker --- launch/object_on_table_segmenter.launch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index 5fa4d48f..ac3fcfbf 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -4,11 +4,11 @@ - + - + @@ -22,7 +22,7 @@ - + From 09c222f347cb1b91902da52dd54581a71956bbb1 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Wed, 30 Mar 2016 15:40:15 -0400 Subject: [PATCH 003/105] added source data recording for object on table segmenter --- src/object_on_table_segmenter.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 35af26f8..c246f472 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -249,6 +249,9 @@ void callback(const sensor_msgs::PointCloud2 &pc) pcl::fromROSMsg(pc, *cloud); if (haveTable) { + std::stringstream ss; + ss << save_directory << object_name << cloud_save_index << "_original_cloud.pcd"; + writer.write (ss.str (), *cloud, true); segmentCloudAboveTable(cloud,tableHull); cloud_segmenter_and_save(cloud); } From ce2073b9310f2657c9fbd755fca0c58835538ec4 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 30 Mar 2016 15:43:05 -0400 Subject: [PATCH 004/105] fixes to object on table segmentation: set aboveTable area from rosparam --- README.md | 7 +++++++ launch/object_on_table_segmenter.launch | 5 ++++- src/object_on_table_segmenter.cpp | 8 +++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 69ab3697..056a90a1 100644 --- a/README.md +++ b/README.md @@ -24,3 +24,10 @@ pcl_in : Input point cloud topic name. Default: ```/camera/depth_registered/poi viewer : See first distance filtered pcl and save it. Default: ```false``` save_directory : Location of save directory. Default: ```$(find object_on_table_segmenter)/result``` +save_index = 0 + +laod_directory + +tableTF : marker we are going to use + + diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index ac3fcfbf..dd3e65be 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -13,7 +13,7 @@ - + @@ -40,6 +40,9 @@ + + + diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 35af26f8..7443cb65 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -37,6 +37,8 @@ ros::Subscriber pc_sub; pcl::PCDWriter writer; pcl::PointCloud::Ptr tableHull(new pcl::PointCloud); tf::TransformListener * listener; +double aboveTableMin; +double aboveTableMax; // function getch is from http://answers.ros.org/question/63491/keyboard-key-pressed/ int getch() { @@ -98,7 +100,8 @@ void segmentCloudAboveTable(pcl::PointCloud::Ptr &cloud_input prism.setInputPlanarHull(convexHull); // from 1 cm above table to 50 cm above table - prism.setHeightLimits(0.015f, 0.5f); + //prism.setHeightLimits(0.135f, 0.5f); + prism.setHeightLimits(aboveTableMin,aboveTableMax); pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices); prism.segment(*objectIndices); @@ -319,6 +322,9 @@ int main (int argc, char** argv) nh.param("load_directory",load_directory,std::string("./data")); nh.param("tableTF", tableTFname,std::string("/tableTF")); + nh.param("aboveTableMin",aboveTableMin,0.135); + nh.param("aboveTableMax",aboveTableMax,0.50); + listener = new (tf::TransformListener); bool justCaptureEnvironment; From 27dc51743e43a120d782935eebfc7b42ca3ca3f3 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 30 Mar 2016 16:08:28 -0400 Subject: [PATCH 005/105] optionally collect data at a certain rate automatically --- launch/object_on_table_segmenter.launch | 3 + src/object_on_table_segmenter.cpp | 126 +++++++++++++++--------- 2 files changed, 83 insertions(+), 46 deletions(-) diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index dd3e65be..e78d11a5 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -43,6 +43,9 @@ + + + diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 61fd45f1..4b8e5fb5 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -30,7 +30,7 @@ bool dist_viewer ,haveTable,update_table; std::string POINTS_IN; -std::string save_directory, object_name, load_directory; +std::string save_directory, object_name, load_directory, original_directory; std::string tableTFname; int cloud_save_index; ros::Subscriber pc_sub; @@ -39,6 +39,10 @@ pcl::PointCloud::Ptr tableHull(new pcl::PointCloud::Ptr cloud_filter_distance(pcl::PointCloud::Ptr cloud_filter_distance(pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud, Eigen::aligned_allocator > > regions; mps.segmentAndRefine (regions); - + pcl::PointCloud::Ptr boundary(new pcl::PointCloud); boundary->points = regions[0].getContour(); @@ -158,14 +162,14 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil std::cerr << "Object Segmentation process begin \n"; if (dist_viewer) { - std::cerr << "See distance filtered cloud. Press q to quit viewer. \n"; - pcl::visualization::CloudViewer viewer ("Distance Filtered Cloud Viewer"); - viewer.showCloud (cloud_filtered); - while (!viewer.wasStopped ()) - { - } - dist_viewer = false; - writer.write (load_directory+"distance_filtered.pcd", *cloud_filtered, true); + std::cerr << "See distance filtered cloud. Press q to quit viewer. \n"; + pcl::visualization::CloudViewer viewer ("Distance Filtered Cloud Viewer"); + viewer.showCloud (cloud_filtered); + while (!viewer.wasStopped ()) + { + } + dist_viewer = false; + writer.write (load_directory+"distance_filtered.pcd", *cloud_filtered, true); } // Get Normal Cloud @@ -222,24 +226,24 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil // save detected cluster data for (size_t i = 0; i < euclidean_label_indices.size (); i++) { - if (euclidean_label_indices[i].indices.size () > 500) + if (euclidean_label_indices[i].indices.size () > 500) { - pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud); - pcl::ExtractIndices extract; - - pcl::PointIndices::Ptr object_cloud_indices (new pcl::PointIndices); - *object_cloud_indices = euclidean_label_indices[i]; - extract.setInputCloud(cloud_filtered); - extract.setIndices(object_cloud_indices); - extract.setKeepOrganized(true); - extract.filter(*cloud_cluster); - - std::stringstream ss; - ss << save_directory << object_name << cloud_save_index << ".pcd"; - writer.write (ss.str (), *cloud_cluster, true); - std::cerr << "Saved " << save_directory << object_name << cloud_save_index << ".pcd \tcluster size: "<< euclidean_label_indices[i].indices.size () << std::endl; - cloud_save_index++; - } + pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud); + pcl::ExtractIndices extract; + + pcl::PointIndices::Ptr object_cloud_indices (new pcl::PointIndices); + *object_cloud_indices = euclidean_label_indices[i]; + extract.setInputCloud(cloud_filtered); + extract.setIndices(object_cloud_indices); + extract.setKeepOrganized(true); + extract.filter(*cloud_cluster); + + std::stringstream ss; + ss << save_directory << object_name << cloud_save_index << ".pcd"; + writer.write (ss.str (), *cloud_cluster, true); + std::cerr << "Saved " << save_directory << object_name << cloud_save_index << ".pcd \tcluster size: "<< euclidean_label_indices[i].indices.size () << std::endl; + cloud_save_index++; + } } std::cerr << "Segmented object: " << cloud_save_index - initialIndex <<". Segmentation done.\n Waiting for keypress to get new data \n"; @@ -250,11 +254,16 @@ void callback(const sensor_msgs::PointCloud2 &pc) pcl::PointCloud::Ptr cloud (new pcl::PointCloud); // convert sensor_msgs::PointCloud2 to pcl::PointXYZRGBA pcl::fromROSMsg(pc, *cloud); - if (haveTable) + if (haveTable and keyPress) { - std::stringstream ss; - ss << save_directory << object_name << cloud_save_index << "_original_cloud.pcd"; - writer.write (ss.str (), *cloud, true); + std::stringstream ss; + ss << original_directory << "/" << object_name << cloud_save_index << "_original_cloud.pcd"; + std::cout << "original saved to :" << ss.str() << "\n"; + try { + writer.write (ss.str (), *cloud, true); + } catch (pcl::IOException e) { + ROS_ERROR("could not write to %s!",ss.str().c_str()); + } segmentCloudAboveTable(cloud,tableHull); cloud_segmenter_and_save(cloud); } @@ -265,10 +274,10 @@ void callback(const sensor_msgs::PointCloud2 &pc) listener->getParent(tableTFname,ros::Time(0),tableTFparent); if (listener->waitForTransform(tableTFparent,tableTFname,ros::Time::now(),ros::Duration(1.5))) { - std::cerr << "Table TF with name: '" << tableTFname << "' found with parent frame: " << tableTFparent << std::endl; - tf::StampedTransform transform; - listener->lookupTransform(tableTFparent,tableTFname,ros::Time(0),transform); - cloud_filtered = cloud_filter_distance(cloud, transform); + std::cerr << "Table TF with name: '" << tableTFname << "' found with parent frame: " << tableTFparent << std::endl; + tf::StampedTransform transform; + listener->lookupTransform(tableTFparent,tableTFname,ros::Time(0),transform); + cloud_filtered = cloud_filter_distance(cloud, transform); } else{ std::cerr << "Fail to get TF: "<< tableTFname << std::endl; @@ -281,8 +290,8 @@ void callback(const sensor_msgs::PointCloud2 &pc) pcl::visualization::CloudViewer viewer ("Distance Filtered Cloud Viewer"); viewer.showCloud (cloud_filtered); while (!viewer.wasStopped ()) - { - } + { + } } tableHull = getTableConvexHull(cloud_filtered); if (update_table) @@ -316,10 +325,14 @@ int main (int argc, char** argv) //getting save parameters nh.param("save_directory",save_directory,std::string("./result")); + nh.param("original_directory",original_directory,std::string("./original")); nh.param("object",object_name,std::string("cloud_cluster_")); nh.param("pcl_viewer",dist_viewer,false); nh.param("save_index",cloud_save_index,0); + nh.param("time_step",time_step,0.1); + nh.param("run_auto",run_auto,false); + nh.param("load_table",load_table,false); nh.param("update_table",update_table,false); nh.param("load_directory",load_directory,std::string("./data")); @@ -365,14 +378,35 @@ int main (int argc, char** argv) ros::Rate r(10); // 10 hz int key = 0; - while (ros::ok()) - { - key = getch(); - if ((key == 's') || (key == 'S')) + if (not run_auto) { + while (ros::ok()) + { + key = getch(); + if ((key == 's') || (key == 'S')) + ros::spinOnce(); + else if ((key == 'q') || (key == 'Q')) + break; + r.sleep(); + } + } else { + // run loop with time + while (ros::ok()) { + + if (not haveTable) { + key = getch(); + if ((key == 's') || (key == 'S')) + ros::spinOnce(); + else if ((key == 'q') || (key == 'Q')) + break; + } else if (not keyPress) { + std::cout << "Press any key to start data collection...\n"; + key = getch(); + keyPress = true; + } + ros::spinOnce(); - else if ((key == 'q') || (key == 'Q')) - break; - r.sleep(); + ros::Duration(time_step).sleep(); + } } } delete (listener); From 618122c61e61ad6b290b67686d34741ee646aa28 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 30 Mar 2016 16:14:43 -0400 Subject: [PATCH 006/105] data collection setup --- launch/object_on_table_segmenter.launch | 2 ++ src/object_on_table_segmenter.cpp | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index e78d11a5..cc1ef0ca 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -2,6 +2,7 @@ + @@ -16,6 +17,7 @@ + diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 4b8e5fb5..6bb05f53 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -257,9 +257,10 @@ void callback(const sensor_msgs::PointCloud2 &pc) if (haveTable and keyPress) { std::stringstream ss; - ss << original_directory << "/" << object_name << cloud_save_index << "_original_cloud.pcd"; + ss << original_directory << object_name << cloud_save_index << "_original_cloud.pcd"; std::cout << "original saved to :" << ss.str() << "\n"; try { + std::cerr << "cloud of size " << cloud->size() << " read in from topic!\n"; writer.write (ss.str (), *cloud, true); } catch (pcl::IOException e) { ROS_ERROR("could not write to %s!",ss.str().c_str()); @@ -324,8 +325,8 @@ int main (int argc, char** argv) nh.param("POINTS_IN", POINTS_IN,std::string("/camera/depth_registered/points")); //getting save parameters - nh.param("save_directory",save_directory,std::string("./result")); - nh.param("original_directory",original_directory,std::string("./original")); + nh.param("save_directory",save_directory,std::string("result/")); + nh.param("original_directory",original_directory,std::string("original/")); nh.param("object",object_name,std::string("cloud_cluster_")); nh.param("pcl_viewer",dist_viewer,false); nh.param("save_index",cloud_save_index,0); From f4cc638ea190011d5ca248f1b5dbab69541f6fef Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 30 Mar 2016 16:42:33 -0400 Subject: [PATCH 007/105] examples in readme; launch file modified to change time --- README.md | 6 ++++++ launch/object_on_table_segmenter.launch | 5 ++++- src/object_on_table_segmenter.cpp | 9 +++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 056a90a1..ecf9c119 100644 --- a/README.md +++ b/README.md @@ -31,3 +31,9 @@ laod_directory tableTF : marker we are going to use +## Examples + +``` +roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_vert_ tableTF:=ar_marker_2 loadTable:=false num_to_capture:=200 +roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_horizontal_ tableTF:=ar_marker_2 loadTable:=false num_to_capture:=200 +``` diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index cc1ef0ca..51a85910 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -10,6 +10,8 @@ + + @@ -47,7 +49,8 @@ - + + diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 6bb05f53..798ae071 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -42,6 +42,7 @@ double aboveTableMax; double time_step; bool keyPress = false; bool run_auto; +int num_to_capture = 0; // function getch is from http://answers.ros.org/question/63491/keyboard-key-pressed/ int getch() @@ -330,6 +331,7 @@ int main (int argc, char** argv) nh.param("object",object_name,std::string("cloud_cluster_")); nh.param("pcl_viewer",dist_viewer,false); nh.param("save_index",cloud_save_index,0); + nh.param("num_to_capture",num_to_capture,200); nh.param("time_step",time_step,0.1); nh.param("run_auto",run_auto,false); @@ -391,6 +393,7 @@ int main (int argc, char** argv) } } else { // run loop with time + int count = 0; while (ros::ok()) { if (not haveTable) { @@ -405,6 +408,12 @@ int main (int argc, char** argv) keyPress = true; } + ++count; + + if (num_to_capture > 0 && count >= num_to_capture) { + break; + } + ros::spinOnce(); ros::Duration(time_step).sleep(); } From f2af54db165e875f24d2b7b64f599e418fd4a4f0 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Wed, 30 Mar 2016 20:59:08 -0400 Subject: [PATCH 008/105] Auto add directory for object on table (If not exist) Had a param to use tf frame surface instead of searching biggest plane for object segmentation --- CMakeLists.txt | 4 ++ launch/object_on_table_segmenter.launch | 41 ++++++++++---------- package.xml | 3 ++ src/object_on_table_segmenter.cpp | 50 +++++++++++++++++++++++-- 4 files changed, 73 insertions(+), 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 834d27ba..3fc06fd4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,10 +5,12 @@ project(object_on_table_segmenter) ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages find_package(PCL REQUIRED) +find_package(Boost REQUIRED) find_package(catkin REQUIRED COMPONENTS PCL tf + pcl_ros pcl_conversions sensor_msgs ) @@ -118,6 +120,7 @@ catkin_package( # include_directories(include) include_directories( ${catkin_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} ) ## Declare a C++ library @@ -141,6 +144,7 @@ add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) ## Specify libraries to link a library or executable target against target_link_libraries(object_on_table_segmenter ${catkin_LIBRARIES} + ${Boost_LIBRARIES} ) ############# diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index 51a85910..58884470 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -1,18 +1,22 @@ - + - + - - - - - + + + + + - + + + + + @@ -32,20 +36,13 @@ - - - - - - - - - - - - - - + + + + + + + diff --git a/package.xml b/package.xml index d7fb49b1..e0d0dbae 100644 --- a/package.xml +++ b/package.xml @@ -43,9 +43,12 @@ pcl_conversion sensor_msgs tf + pcl_ros + pcl_conversion sensor_msgs tf + pcl_ros diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 798ae071..0d9b5a08 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -24,10 +24,15 @@ // include to convert from messages to pointclouds and vice versa #include #include +// for using tf surface +#include // for segment object above table #include #include +// for creating directory automatically +#include + bool dist_viewer ,haveTable,update_table; std::string POINTS_IN; std::string save_directory, object_name, load_directory, original_directory; @@ -43,6 +48,9 @@ double time_step; bool keyPress = false; bool run_auto; int num_to_capture = 0; +bool useTFsurface; +bool useRosbag; + // function getch is from http://answers.ros.org/question/63491/keyboard-key-pressed/ int getch() @@ -250,6 +258,33 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil std::cerr << "Segmented object: " << cloud_save_index - initialIndex <<". Segmentation done.\n Waiting for keypress to get new data \n"; } +pcl::PointCloud::Ptr useTFConvexHull(tf::StampedTransform transform, double distance = 0.5) +{ + pcl::PointCloud::Ptr tableTmp(new pcl::PointCloud); + for (int i = -1; i < 2; i+=2) + for (int j = -1; j < 2; j+=2) + { + pcl::PointXYZRGBA tmp; + tmp.x = i * distance; + tmp.y = j * distance; + tmp.z = 0; + tableTmp->push_back(tmp); + } + pcl::PointCloud::Ptr tfTable(new pcl::PointCloud); + pcl_ros::transformPointCloud (*tableTmp, *tfTable, transform); + writer.write (load_directory+"TF_boundary.pcd", *tfTable, true); + + pcl::PointCloud::Ptr convexHull(new pcl::PointCloud); + + pcl::ConvexHull hull; + hull.setInputCloud(tfTable); + // Make sure that the resulting hull is bidimensional. + hull.setDimension(2); + hull.reconstruct(*convexHull); + writer.write (load_directory+"TFconvexHull.pcd", *tfTable, true); + return convexHull; +} + void callback(const sensor_msgs::PointCloud2 &pc) { pcl::PointCloud::Ptr cloud (new pcl::PointCloud); @@ -273,11 +308,11 @@ void callback(const sensor_msgs::PointCloud2 &pc) { pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud); std::string tableTFparent; + tf::StampedTransform transform; listener->getParent(tableTFname,ros::Time(0),tableTFparent); - if (listener->waitForTransform(tableTFparent,tableTFname,ros::Time::now(),ros::Duration(1.5))) + if (useRosbag || listener->waitForTransform(tableTFparent,tableTFname,ros::Time::now(),ros::Duration(1.5))) { std::cerr << "Table TF with name: '" << tableTFname << "' found with parent frame: " << tableTFparent << std::endl; - tf::StampedTransform transform; listener->lookupTransform(tableTFparent,tableTFname,ros::Time(0),transform); cloud_filtered = cloud_filter_distance(cloud, transform); } @@ -295,7 +330,11 @@ void callback(const sensor_msgs::PointCloud2 &pc) { } } - tableHull = getTableConvexHull(cloud_filtered); + if (useTFsurface) + tableHull = useTFConvexHull(transform); + else + tableHull = getTableConvexHull(cloud_filtered); + if (update_table) writer.write (load_directory+"/table.pcd", *tableHull, true); haveTable = true; @@ -340,6 +379,8 @@ int main (int argc, char** argv) nh.param("update_table",update_table,false); nh.param("load_directory",load_directory,std::string("./data")); nh.param("tableTF", tableTFname,std::string("/tableTF")); + nh.param("useTFsurface",useTFsurface,false); + nh.param("useRosbag",useRosbag,false); nh.param("aboveTableMin",aboveTableMin,0.135); nh.param("aboveTableMax",aboveTableMax,0.50); @@ -348,6 +389,9 @@ int main (int argc, char** argv) bool justCaptureEnvironment; nh.param("environment_only",justCaptureEnvironment,false); + boost::filesystem::create_directories(load_directory); + boost::filesystem::create_directories(original_directory); + boost::filesystem::create_directories(save_directory); if (justCaptureEnvironment) { From 862ec1a06363e1166ec855121eb5820f1574221c Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Wed, 30 Mar 2016 21:00:28 -0400 Subject: [PATCH 009/105] Reduce the distance around TF when using tf surface for object segmentation --- src/object_on_table_segmenter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 0d9b5a08..2aece217 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -265,8 +265,8 @@ pcl::PointCloud::Ptr useTFConvexHull(tf::StampedTransform tra for (int j = -1; j < 2; j+=2) { pcl::PointXYZRGBA tmp; - tmp.x = i * distance; - tmp.y = j * distance; + tmp.x = i * distance/2; + tmp.y = j * distance/2; tmp.z = 0; tableTmp->push_back(tmp); } From 861e48dc10a65d5c43db79e5c11bd2b47c8baccc Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 31 Mar 2016 00:19:13 -0400 Subject: [PATCH 010/105] Make cloud clusterization optional (useful when only detecting one object) Change output directory location --- launch/object_on_table_segmenter.launch | 9 ++++++--- src/object_on_table_segmenter.cpp | 25 ++++++++++++++++++------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index 58884470..cbc12b4b 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -1,8 +1,8 @@ - - + + @@ -14,8 +14,10 @@ + + @@ -41,9 +43,10 @@ + - + diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 2aece217..d06c3c05 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -50,7 +50,7 @@ bool run_auto; int num_to_capture = 0; bool useTFsurface; bool useRosbag; - +bool doCluster; // function getch is from http://answers.ros.org/question/63491/keyboard-key-pressed/ int getch() @@ -166,6 +166,15 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud cloud_input) +{ + std::stringstream ss; + ss << save_directory << object_name << cloud_save_index << ".pcd"; + writer.write (ss.str (), cloud_input, true); + std::cerr << "Saved " << save_directory << object_name << cloud_save_index << ".pcd"; + cloud_save_index++; +} + void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_filtered) { std::cerr << "Object Segmentation process begin \n"; @@ -247,17 +256,16 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil extract.setKeepOrganized(true); extract.filter(*cloud_cluster); - std::stringstream ss; - ss << save_directory << object_name << cloud_save_index << ".pcd"; - writer.write (ss.str (), *cloud_cluster, true); - std::cerr << "Saved " << save_directory << object_name << cloud_save_index << ".pcd \tcluster size: "<< euclidean_label_indices[i].indices.size () << std::endl; - cloud_save_index++; + saveCloud(*cloud_cluster); + std::cerr << "\tcluster size: "<< euclidean_label_indices[i].indices.size () << std::endl; } } std::cerr << "Segmented object: " << cloud_save_index - initialIndex <<". Segmentation done.\n Waiting for keypress to get new data \n"; } + + pcl::PointCloud::Ptr useTFConvexHull(tf::StampedTransform transform, double distance = 0.5) { pcl::PointCloud::Ptr tableTmp(new pcl::PointCloud); @@ -302,7 +310,9 @@ void callback(const sensor_msgs::PointCloud2 &pc) ROS_ERROR("could not write to %s!",ss.str().c_str()); } segmentCloudAboveTable(cloud,tableHull); - cloud_segmenter_and_save(cloud); + if (doCluster) + cloud_segmenter_and_save(cloud); + else saveCloud(*cloud); } else { @@ -381,6 +391,7 @@ int main (int argc, char** argv) nh.param("tableTF", tableTFname,std::string("/tableTF")); nh.param("useTFsurface",useTFsurface,false); nh.param("useRosbag",useRosbag,false); + nh.param("doCluster",doCluster,true); nh.param("aboveTableMin",aboveTableMin,0.135); nh.param("aboveTableMax",aboveTableMax,0.50); From 006de760d4ca801aad31750f75e6d37067928452 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Sun, 3 Apr 2016 23:08:38 -0400 Subject: [PATCH 011/105] added pcd2png_segment_gt.cpp, initially a direct copy of https://github.com/PointCloudLibrary/pcl/blob/master/tools/pcd2png.cpp specifically: https://github.com/PointCloudLibrary/pcl/blob/4dc321083192a61803b79d226a81bc26f528dd5d/tools/pcd2png.cpp --- CMakeLists.txt | 6 + src/pcd2png_segment_gt.cpp | 312 +++++++++++++++++++++++++++++++++++++ 2 files changed, 318 insertions(+) create mode 100644 src/pcd2png_segment_gt.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 3fc06fd4..8a7484ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,6 +136,7 @@ include_directories( ## Declare a C++ executable add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) +add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) ## Add cmake target dependencies of the executable ## same as for the library above @@ -147,6 +148,11 @@ target_link_libraries(object_on_table_segmenter ${Boost_LIBRARIES} ) +target_link_libraries(pcd2png_segment_gt + ${catkin_LIBRARIES} + ${Boost_LIBRARIES} +) + ############# ## Install ## ############# diff --git a/src/pcd2png_segment_gt.cpp b/src/pcd2png_segment_gt.cpp new file mode 100644 index 00000000..4546c6e7 --- /dev/null +++ b/src/pcd2png_segment_gt.cpp @@ -0,0 +1,312 @@ +/* + * Software License Agreement (BSD License) + * + * Point Cloud Library (PCL) - www.pointclouds.org + * Copyright (c) 2013-, Open Perception, Inc. + * + * 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 copyright holder(s) 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 + * COPYRIGHT OWNER 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. + * + */ + +/** \brief PCD 2 PNG converter + * + * This converter takes three inputs: names of the input PCD and output PNG files, and the name of the field. + * + * \author Sergey Alexandrov + * + */ + +#include + +#include +#include +#include +#include +#include +#include + +using namespace pcl; +using namespace pcl::io; +using namespace pcl::console; + +void +printHelp (int, char **argv) +{ + std::cout << std::endl; + std::cout << "****************************************************************************" << std::endl; + std::cout << "* *" << std::endl; + std::cout << "* PCD 2 PNG CONVERTER - Usage Guide *" << std::endl; + std::cout << "* *" << std::endl; + std::cout << "****************************************************************************" << std::endl; + std::cout << std::endl; + std::cout << "Usage: " << argv[0] << " [Options] input.pcd output.png" << std::endl; + std::cout << std::endl; + std::cout << "Options:" << std::endl; + std::cout << std::endl; + std::cout << " --help : Show this help" << std::endl; + std::cout << " --no-nan : Paint NaN (infinite) points with black color regardless of" << std::endl; + std::cout << " field contents" << std::endl; + std::cout << " --field : Set the field to extract data from. Supported fields:" << std::endl; + std::cout << " - normal" << std::endl; + std::cout << " * rgb (default)" << std::endl; + std::cout << " - label" << std::endl; + std::cout << " - z" << std::endl; + std::cout << " - curvature" << std::endl; + std::cout << " - intensity" << std::endl; + std::cout << " --scale : Apply scaling to extracted data (only for z, curvature, and" << std::endl; + std::cout << " intensity fields). Supported options:" << std::endl; + std::cout << " - : Scale by a fixed number" << std::endl; + std::cout << " - auto : Auto-scale to the full range" << std::endl; + std::cout << " - no : No scaling" << std::endl; + std::cout << " If the option is omitted then default scaling (depends on" << std::endl; + std::cout << " the field type) will be used." << std::endl; + std::cout << " --colors : Choose color mapping mode for labels (only for label field)." << std::endl; + std::cout << " Supported options:" << std::endl; + std::cout << " - mono : Shades of gray" << std::endl; + std::cout << " - rgb : Randomly generated RGB colors" << std::endl; + std::cout << " * glasbey : Fixed colors from the Glasbey table¹ (default)" << std::endl; + std::cout << std::endl; + std::cout << "Notes:" << std::endl; + std::cout << std::endl; + std::cout << "¹) The Glasbey lookup table is a color table structured in a maximally" << std::endl; + std::cout << " discontinuous manner. Adjacent color bins are chosen to be as distinct" << std::endl; + std::cout << " from one another as possible (see https://github.com/taketwo/glasbey)." << std::endl; + std::cout << " The label with the smallest id will be assigned the first color from the" << std::endl; + std::cout << " table, the second smallest will have the second color, and so on. Thus," << std::endl; + std::cout << " if you have several clouds with the same labels, you will get repetitive" << std::endl; + std::cout << " consistently colored PNG images." << std::endl; +} + +bool +loadCloud (const std::string &filename, pcl::PCLPointCloud2 &cloud) +{ + TicToc tt; + print_highlight ("Loading "); print_value ("%s ", filename.c_str ()); + + tt.tic (); + if (loadPCDFile (filename, cloud) < 0) + return (false); + print_info ("[done, "); print_value ("%g", tt.toc ()); print_info (" ms : "); print_value ("%d", cloud.width * cloud.height); print_info (" points]\n"); + print_info ("Available dimensions: "); print_value ("%s\n", pcl::getFieldsList (cloud).c_str ()); + + return (true); +} + +void +saveImage (const std::string &filename, const pcl::PCLImage& image) +{ + TicToc tt; + tt.tic (); + print_highlight ("Saving "); print_value ("%s ", filename.c_str ()); + savePNGFile (filename, image); + print_info ("[done, "); print_value ("%g", tt.toc ()); print_info (" ms : "); print_value ("%d", image.width * image.height); print_info (" points]\n"); +} + +template bool +parseScaleOption (int argc, char** argv, T& pcie) +{ + std::string scaling = "default"; + pcl::console::parse_argument (argc, argv, "--scale", scaling); + print_info ("Scaling: "); print_value ("%s\n", scaling.c_str()); + if (scaling == "default") + { + // scaling option omitted, use whatever defaults image extractor has + } + else if (scaling == "no") + { + pcie.setScalingMethod(pcie.SCALING_NO); + } + else if (scaling == "auto") + { + pcie.setScalingMethod(pcie.SCALING_FULL_RANGE); + } + else + { + try + { + float factor = boost::lexical_cast (scaling); + pcie.setScalingMethod(pcie.SCALING_FIXED_FACTOR); + pcie.setScalingFactor(factor); + } + catch (const boost::bad_lexical_cast&) + { + print_error ("The value of --scale option should be \"no\", \"auto\", or a floating point number.\n"); + return false; + } + } + return true; +} + +template bool +parseColorsOption (int argc, char** argv, T& pcie) +{ + std::string colors = "glasbey"; + pcl::console::parse_argument (argc, argv, "--colors", colors); + print_info ("Colors: "); print_value ("%s\n", colors.c_str()); + if (colors == "mono") + { + pcie.setColorMode(pcie.COLORS_MONO); + } + else if (colors == "rgb") + { + pcie.setColorMode(pcie.COLORS_RGB_RANDOM); + } + else if (colors == "glasbey") + { + pcie.setColorMode(pcie.COLORS_RGB_GLASBEY); + } + else + { + return false; + } + return true; +} + +/* ---[ */ +int +main (int argc, char** argv) +{ + print_info ("Convert a PCD file to PNG format.\nFor more information, use: %s --help\n", argv[0]); + + if (argc < 3 || pcl::console::find_switch (argc, argv, "--help")) + { + printHelp (argc, argv); + return (-1); + } + + // Parse the command line arguments for .pcd and .png files + std::vector pcd_file_index = parse_file_extension_argument (argc, argv, ".pcd"); + std::vector png_file_index = parse_file_extension_argument (argc, argv, ".png"); + + if (pcd_file_index.size () != 1 || png_file_index.size () != 1) + { + print_error ("Need one input PCD file and one output PNG file.\n"); + return (-1); + } + + std::string pcd_filename = argv[pcd_file_index[0]]; + std::string png_filename = argv[png_file_index[0]]; + + // Load the input file + pcl::PCLPointCloud2::Ptr blob (new pcl::PCLPointCloud2); + if (!loadCloud (pcd_filename, *blob)) + { + print_error ("Unable to load PCD file.\n"); + return (-1); + } + + // Check if the cloud is organized + if (blob->height == 1) + { + print_error ("Input cloud is not organized.\n"); + return (-1); + } + + bool paint_nans_with_black = pcl::console::find_switch (argc, argv, "--no-nan"); + print_info ("Paint infinite points with black: "); print_value ("%s\n", paint_nans_with_black ? "YES" : "NO"); + + std::string field_name = "rgb"; + parse_argument (argc, argv, "--field", field_name); + print_info ("Field name: "); print_value ("%s\n", field_name.c_str()); + + + pcl::PCLImage image; + bool extracted; + if (field_name == "normal") + { + PointCloud cloud; + fromPCLPointCloud2 (*blob, cloud); + PointCloudImageExtractorFromNormalField pcie; + pcie.setPaintNaNsWithBlack (paint_nans_with_black); + extracted = pcie.extract(cloud, image); + } + else if (field_name == "rgb") + { + PointCloud cloud; + fromPCLPointCloud2 (*blob, cloud); + PointCloudImageExtractorFromRGBField pcie; + pcie.setPaintNaNsWithBlack (paint_nans_with_black); + extracted = pcie.extract(cloud, image); + } + else if (field_name == "label") + { + PointCloud cloud; + fromPCLPointCloud2 (*blob, cloud); + PointCloudImageExtractorFromLabelField pcie; + pcie.setPaintNaNsWithBlack (paint_nans_with_black); + if (!parseColorsOption(argc, argv, pcie)) + return (-1); + extracted = pcie.extract(cloud, image); + } + else if (field_name == "z") + { + PointCloud cloud; + fromPCLPointCloud2 (*blob, cloud); + PointCloudImageExtractorFromZField pcie; + pcie.setPaintNaNsWithBlack (paint_nans_with_black); + if (!parseScaleOption(argc, argv, pcie)) + return (-1); + extracted = pcie.extract(cloud, image); + } + else if (field_name == "curvature") + { + PointCloud cloud; + fromPCLPointCloud2 (*blob, cloud); + PointCloudImageExtractorFromCurvatureField pcie; + pcie.setPaintNaNsWithBlack (paint_nans_with_black); + if (!parseScaleOption(argc, argv, pcie)) + return (-1); + extracted = pcie.extract(cloud, image); + } + else if (field_name == "intensity") + { + PointCloud cloud; + fromPCLPointCloud2 (*blob, cloud); + PointCloudImageExtractorFromIntensityField pcie; + pcie.setPaintNaNsWithBlack (paint_nans_with_black); + if (!parseScaleOption(argc, argv, pcie)) + return (-1); + extracted = pcie.extract(cloud, image); + } + else + { + print_error ("Unsupported field \"%s\".\n", field_name.c_str()); + return (-1); + } + + if (!extracted) + { + print_error ("Failed to extract an image from field \"%s\".\n", field_name.c_str()); + return (-1); + } + saveImage (png_filename, image); + + return (0); +} From 8a52f5fb51ccbbcc5a5492921ac7bbd77636ad2d Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 4 Apr 2016 04:11:49 -0400 Subject: [PATCH 012/105] INTERMEDIATE CODE: Initial implementation of pcd2png_segment_gt for ground truth point cloud to png conversion written but untested. --- src/pcd2png_segment_gt.cpp | 309 +++++++++++++++++++++++++++++++++++-- 1 file changed, 294 insertions(+), 15 deletions(-) diff --git a/src/pcd2png_segment_gt.cpp b/src/pcd2png_segment_gt.cpp index 4546c6e7..b55e0391 100644 --- a/src/pcd2png_segment_gt.cpp +++ b/src/pcd2png_segment_gt.cpp @@ -37,9 +37,10 @@ /** \brief PCD 2 PNG converter * - * This converter takes three inputs: names of the input PCD and output PNG files, and the name of the field. + * This converter takes 4 inputs: names of the input PCD and Ground Truth PCD files, the output PNG and PNG Ground Truth files, and the name of the field. * * \author Sergey Alexandrov + * \author Andrew Hundt * */ @@ -56,30 +57,282 @@ using namespace pcl; using namespace pcl::io; using namespace pcl::console; +////////////////////////////////////////////////////////////////////////////////////// +/** \brief Image Extractor which uses the data present in the "rgb" or "rgba" fields + * to produce a color image with rgb8 encoding. + * \author Sergey Alexandrov + * \ingroup io + */ + +////////////////////////////////////////////////////////////////////////////////////// +/** \brief Image Extractor which uses the data present in the "label" field to produce + * either monochrome or RGB image where different labels correspond to different + * colors. + * See the documentation for ColorMode to learn about available coloring options. + * \author Sergey Alexandrov + * \ingroup io + */ +template +class PointCloudImageExtractorGTLabelFromRGBField : public PointCloudImageExtractor +{ + typedef typename PointCloudImageExtractor::PointCloud PointCloud; + + public: + typedef boost::shared_ptr > Ptr; + typedef boost::shared_ptr > ConstPtr; + + /** \brief Different modes for color mapping. */ + enum ColorMode + { + /// Shades of gray (according to label id) + /// \note Labels using more than 16 bits will cause problems + COLORS_MONO, + /// Randomly generated RGB colors + COLORS_RGB_RANDOM, + /// Fixed RGB colors from the [Glasbey lookup table](http://fiji.sc/Glasbey), + /// assigned in the ascending order of label id + COLORS_RGB_GLASBEY, + }; + + /** \brief Constructor. */ + PointCloudImageExtractorGTLabelFromRGBField (int foreground_label =1, int background_label = 0, const ColorMode color_mode = COLORS_MONO) + : foreground_label_(foreground_label),background_label_(background_label),color_mode_ (color_mode) + { + } + + /** \brief Destructor. */ + virtual ~PointCloudImageExtractorGTLabelFromRGBField () {} + + /** \brief Set color mapping mode. */ + inline void + setColorMode (const ColorMode color_mode) + { + color_mode_ = color_mode; + } + + protected: + + virtual bool + extractImpl (const PointCloud& cloud, pcl::PCLImage& img) const; + + // Members derived from the base class + using PointCloudImageExtractor::paint_nans_with_black_; + + private: + + int foreground_label_; + int background_label_; + ColorMode color_mode_; + +}; + +// /////////////////////////////////////////////////////////////////////////////////////////// +// template bool +// pcl::io::PointCloudImageExtractorGTLabelFromRGBField::extractImpl (const PointCloud& cloud, pcl::PCLImage& img) const +// { +// std::vector fields; +// int field_idx = pcl::getFieldIndex (cloud, "rgb", fields); +// if (field_idx == -1) +// { +// field_idx = pcl::getFieldIndex (cloud, "rgba", fields); +// if (field_idx == -1) +// return (false); +// } +// +// int field_z_idx = pcl::getFieldIndex (cloud, "z", fields); +// if (field_z_idx == -1) +// return (false); +// +// const size_t offset = fields[field_idx].offset; +// const size_t z_offset = fields[field_z_idx].offset; +// +// img.encoding = "rgb8"; +// img.width = cloud.width; +// img.height = cloud.height; +// img.step = img.width * sizeof (unsigned char) * 3; +// img.data.resize (img.step * img.height); +// +// for (size_t i = 0; i < cloud.points.size (); ++i) +// { +// uint32_t val; +// pcl::getFieldValue (cloud.points[i], offset, val); +// img.data[i * 3 + 0] = (val >> 16) & 0x0000ff; +// img.data[i * 3 + 1] = (val >> 8) & 0x0000ff; +// img.data[i * 3 + 2] = (val) & 0x0000ff; +// } +// +// return (true); +// } + + +/////////////////////////////////////////////////////////////////////////////////////////// +template bool +PointCloudImageExtractorGTLabelFromRGBField::extractImpl (const PointCloud& cloud, pcl::PCLImage& img) const +{ + std::vector fields; + int field_idx = pcl::getFieldIndex (cloud, "rgb", fields); + if (field_idx == -1) + { + field_idx = pcl::getFieldIndex (cloud, "rgba", fields); + if (field_idx == -1) + return (false); + } + + int field_z_idx = pcl::getFieldIndex (cloud, "z", fields); + if (field_z_idx == -1) + return (false); + + const size_t offset = fields[field_idx].offset; + const size_t z_offset = fields[field_z_idx].offset; + + switch (color_mode_) + { + case COLORS_MONO: + { + img.encoding = "mono16"; + img.width = cloud.width; + img.height = cloud.height; + img.step = img.width * sizeof (unsigned short); + img.data.resize (img.step * img.height); + unsigned short* data = reinterpret_cast(&img.data[0]); + for (size_t i = 0; i < cloud.points.size (); ++i) + { + + if(!pcl::isFinite (cloud.points[i])){ + + } else { + uint32_t val; + pcl::getFieldValue (cloud.points[i], offset, val); + // data[i] = static_cast(val); + data[i] = static_cast(foreground_label_); + + } + } + break; + } + case COLORS_RGB_RANDOM: + { + img.encoding = "rgb8"; + img.width = cloud.width; + img.height = cloud.height; + img.step = img.width * sizeof (unsigned char) * 3; + img.data.resize (img.step * img.height); + + std::srand(std::time(0)); + std::map colormap; + + for (size_t i = 0; i < cloud.points.size (); ++i) + { + uint32_t val; + pcl::getFieldValue (cloud.points[i], offset, val); + if (colormap.count (val) == 0) + { + colormap[val] = i * 3; + img.data[i * 3 + 0] = static_cast ((std::rand () % 256)); + img.data[i * 3 + 1] = static_cast ((std::rand () % 256)); + img.data[i * 3 + 2] = static_cast ((std::rand () % 256)); + } + else + { + memcpy (&img.data[i * 3], &img.data[colormap[val]], 3); + } + } + break; + } + case COLORS_RGB_GLASBEY: + { + img.encoding = "rgb8"; + img.width = cloud.width; + img.height = cloud.height; + img.step = img.width * sizeof (unsigned char) * 3; + img.data.resize (img.step * img.height); + + std::srand(std::time(0)); + std::set labels; + std::map colormap; + + // First pass: find unique labels + /// @todo should a black label be given in the !pcl::isFinite case? + for (size_t i = 0; i < cloud.points.size (); ++i) + { + // If we need to paint NaN points with black do not waste colors on them + if (paint_nans_with_black_ && !pcl::isFinite (cloud.points[i])) + continue; + // uint32_t val; + // pcl::getFieldValue (cloud.points[i], offset, val); + // labels.insert (val); + labels.insert(foreground_label_); + } + + // Assign Glasbey colors in ascending order of labels + // Note: the color LUT has a finite size (256 colors), therefore when + // there are more labels the colors will repeat + //size_t color = 0; + for (std::set::iterator iter = labels.begin (); iter != labels.end (); ++iter) + { + //colormap[*iter] = color % GlasbeyLUT::size (); + colormap[*iter] = foreground_label_ % GlasbeyLUT::size (); + //++color; + } + + // Second pass: copy colors from the LUT + for (size_t i = 0; i < cloud.points.size (); ++i) + { + /// @todo should we be continuing when it is not finite? + uint32_t val; + pcl::getFieldValue (cloud.points[i], offset, val); + memcpy (&img.data[i * 3], GlasbeyLUT::data () + colormap[val] * 3, 3); + } + + break; + } + } + + return (true); +} + + void printHelp (int, char **argv) { std::cout << std::endl; std::cout << "****************************************************************************" << std::endl; std::cout << "* *" << std::endl; - std::cout << "* PCD 2 PNG CONVERTER - Usage Guide *" << std::endl; + std::cout << "* PCD 2 PNG SEGMENTATION GROUND TRUTH CONVERTER - Usage Guide *" << std::endl; std::cout << "* *" << std::endl; std::cout << "****************************************************************************" << std::endl; std::cout << std::endl; - std::cout << "Usage: " << argv[0] << " [Options] input.pcd output.png" << std::endl; + std::cout << "Usage: " << argv[0] << " [Options] input.pcd input_ground_truth.pcd output_source_data.png output_ground_truth_data.png" << std::endl; std::cout << std::endl; std::cout << "Options:" << std::endl; std::cout << std::endl; std::cout << " --help : Show this help" << std::endl; - std::cout << " --no-nan : Paint NaN (infinite) points with black color regardless of" << std::endl; - std::cout << " field contents" << std::endl; - std::cout << " --field : Set the field to extract data from. Supported fields:" << std::endl; + std::cout << " --nan-class : Paint NaN (infinite) points with their own class color " << std::endl; + std::cout << " this overrides the default of always making nan black" << std::endl; + std::cout << " --foreground-class : The Class ID integer of foreground/nonzero data" << std::endl; + std::cout << " in the ground truth cloud. Supported options:" << std::endl; + std::cout << " - : id to assign valid ground truth data" << std::endl; + std::cout << " --background-class : The Class ID integer of invalid data in the" << std::endl; + std::cout << " ground truth cloud. Supported options:" << std::endl; + std::cout << " - : id to assign valid ground truth data (default: 0)"<< std::endl; + std::cout << " --field : Set the field to extract foreground data from." << std::endl; + std::cout << " Ground truth data is currently always extracted from rgb." << std::endl; + std::cout << " Supported fields:" << std::endl; std::cout << " - normal" << std::endl; std::cout << " * rgb (default)" << std::endl; std::cout << " - label" << std::endl; std::cout << " - z" << std::endl; std::cout << " - curvature" << std::endl; std::cout << " - intensity" << std::endl; + std::cout << " --colors : Choose color mapping mode for labels (only for label field)." << std::endl; + std::cout << " Supported options:" << std::endl; + std::cout << " - mono : Shades of gray representing direct label values." << std::endl; + std::cout << " mono is easiest to load into caffe but has poor" << std::endl; + std::cout << " visibility because of similar gray color values" << std::endl; + std::cout << " - rgb : Randomly generated RGB colors" << std::endl; + std::cout << " * glasbey : Fixed colors from the Glasbey table¹ (default)" << std::endl; + std::cout << " high visibility colors but labels need to be" << std::endl; + std::cout << " mapped back to sequential integers in caffe." << std::endl; std::cout << " --scale : Apply scaling to extracted data (only for z, curvature, and" << std::endl; std::cout << " intensity fields). Supported options:" << std::endl; std::cout << " - : Scale by a fixed number" << std::endl; @@ -87,11 +340,6 @@ printHelp (int, char **argv) std::cout << " - no : No scaling" << std::endl; std::cout << " If the option is omitted then default scaling (depends on" << std::endl; std::cout << " the field type) will be used." << std::endl; - std::cout << " --colors : Choose color mapping mode for labels (only for label field)." << std::endl; - std::cout << " Supported options:" << std::endl; - std::cout << " - mono : Shades of gray" << std::endl; - std::cout << " - rgb : Randomly generated RGB colors" << std::endl; - std::cout << " * glasbey : Fixed colors from the Glasbey table¹ (default)" << std::endl; std::cout << std::endl; std::cout << "Notes:" << std::endl; std::cout << std::endl; @@ -195,7 +443,7 @@ main (int argc, char** argv) { print_info ("Convert a PCD file to PNG format.\nFor more information, use: %s --help\n", argv[0]); - if (argc < 3 || pcl::console::find_switch (argc, argv, "--help")) + if (argc < 5 || pcl::console::find_switch (argc, argv, "--help")) { printHelp (argc, argv); return (-1); @@ -205,20 +453,29 @@ main (int argc, char** argv) std::vector pcd_file_index = parse_file_extension_argument (argc, argv, ".pcd"); std::vector png_file_index = parse_file_extension_argument (argc, argv, ".png"); - if (pcd_file_index.size () != 1 || png_file_index.size () != 1) + if (pcd_file_index.size () != 2 || png_file_index.size () != 2) { print_error ("Need one input PCD file and one output PNG file.\n"); return (-1); } std::string pcd_filename = argv[pcd_file_index[0]]; + std::string pcd_gt_filename = argv[pcd_file_index[1]]; std::string png_filename = argv[png_file_index[0]]; + std::string png_gt_filename = argv[png_file_index[1]]; // Load the input file pcl::PCLPointCloud2::Ptr blob (new pcl::PCLPointCloud2); + pcl::PCLPointCloud2::Ptr blob_gt (new pcl::PCLPointCloud2); if (!loadCloud (pcd_filename, *blob)) { - print_error ("Unable to load PCD file.\n"); + print_error ("Unable to load PCD input file 1.\n"); + return (-1); + } + + if (!loadCloud (pcd_gt_filename, *blob_gt)) + { + print_error ("Unable to load PCD ground truth input file 1.\n"); return (-1); } @@ -229,7 +486,14 @@ main (int argc, char** argv) return (-1); } - bool paint_nans_with_black = pcl::console::find_switch (argc, argv, "--no-nan"); + // Check if the cloud is organized + if (blob_gt->height == 1) + { + print_error ("Input ground truth cloud is not organized.\n"); + return (-1); + } + + bool paint_nans_with_black = !pcl::console::find_switch (argc, argv, "--nan-class"); print_info ("Paint infinite points with black: "); print_value ("%s\n", paint_nans_with_black ? "YES" : "NO"); std::string field_name = "rgb"; @@ -300,6 +564,20 @@ main (int argc, char** argv) print_error ("Unsupported field \"%s\".\n", field_name.c_str()); return (-1); } + + // Ground Truth image is always extracted from RGB + pcl::PCLImage gt_image; + + { + + PointCloud gt_cloud; + fromPCLPointCloud2 (*blob_gt, gt_cloud); + PointCloudImageExtractorGTLabelFromRGBField pcie; + pcie.setPaintNaNsWithBlack (paint_nans_with_black); + if (!parseColorsOption(argc, argv, pcie)) + return (-1); + extracted = pcie.extract(gt_cloud, gt_image); + } if (!extracted) { @@ -307,6 +585,7 @@ main (int argc, char** argv) return (-1); } saveImage (png_filename, image); + saveImage (png_gt_filename, gt_image); return (0); } From 2413565f4f60150229f5369c205eada158960880 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Mon, 4 Apr 2016 20:12:04 -0400 Subject: [PATCH 013/105] planning time changed; adding preferred orientation to camera; smart move test --- src/pcd2png_segment_gt.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pcd2png_segment_gt.cpp b/src/pcd2png_segment_gt.cpp index b55e0391..1ac0d3fa 100644 --- a/src/pcd2png_segment_gt.cpp +++ b/src/pcd2png_segment_gt.cpp @@ -52,6 +52,7 @@ #include #include #include +//#include using namespace pcl; using namespace pcl::io; From 4bf12c5d69e0048c30f54dbc7eb19aea0f802bc9 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 4 Apr 2016 21:50:33 -0400 Subject: [PATCH 014/105] pcd2png_segment_gt.cpp should now compile for both pcl 1.8 and pcl 1.7.2 --- CMakeLists.txt | 3 +- src/pcd2png_segment_gt.cpp | 361 ++++++++++++++++++++++++++++++++++++- 2 files changed, 360 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a7484ec..4f7bd1b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,6 +137,7 @@ include_directories( ## Declare a C++ executable add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) +target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) ## Add cmake target dependencies of the executable ## same as for the library above @@ -149,7 +150,7 @@ target_link_libraries(object_on_table_segmenter ) target_link_libraries(pcd2png_segment_gt - ${catkin_LIBRARIES} + ${PCL_LIBRARIES} ${Boost_LIBRARIES} ) diff --git a/src/pcd2png_segment_gt.cpp b/src/pcd2png_segment_gt.cpp index b55e0391..d67429bd 100644 --- a/src/pcd2png_segment_gt.cpp +++ b/src/pcd2png_segment_gt.cpp @@ -46,6 +46,7 @@ #include +#include #include #include #include @@ -57,6 +58,360 @@ using namespace pcl; using namespace pcl::io; using namespace pcl::console; + +#include + +#if PCL_VERSION_COMPARE(<, 1, 8, 0) +#include +namespace pcl +{ + + struct RGB; + + PCL_EXPORTS RGB + getRandomColor (double min = 0.2, double max = 2.8); + + /** Color lookup table consisting of 256 colors structured in a maximally + * discontinuous manner. Generated using the method of Glasbey et al. + * (see https://github.com/taketwo/glasbey) */ + class PCL_EXPORTS GlasbeyLUT + { + + public: + + /** Get a color from the lookup table with a given id. + * + * The id should be less than the size of the LUT (see size()). */ + static RGB at (unsigned int color_id); + + /** Get the number of colors in the lookup table. + * + * Note: the number of colors is different from the number of elements + * in the lookup table (each color is defined by three bytes). */ + static size_t size (); + + /** Get a raw pointer to the lookup table. */ + static const unsigned char* data (); + + }; + +} + + +#if 0 +/// Lookup table +static const unsigned char GLASBEY_LUT[] = +{ + 77 , 175, 74 , + 228, 26 , 28 , + 55 , 126, 184, + 152, 78 , 163, + 255, 127, 0 , + 255, 255, 51 , + 166, 86 , 40 , + 247, 129, 191, + 153, 153, 153, + 0 , 0 , 255, + 255, 0 , 255, + 0 , 255, 248, + 0 , 255, 0 , + 0 , 101, 255, + 255, 255, 180, + 52 , 68 , 1 , + 0 , 0 , 68 , + 96 , 0 , 41 , + 158, 147, 0 , + 116, 0 , 185, + 255, 0 , 114, + 0 , 149, 125, + 209, 186, 255, + 255, 183, 156, + 240, 0 , 174, + 208, 255, 245, + 0 , 255, 176, + 170, 255, 93 , + 0 , 207, 255, + 255, 190, 1 , + 241, 117, 255, + 52 , 74 , 167, + 150, 166, 103, + 255, 114, 114, + 171, 100, 109, + 161, 0 , 41 , + 160, 135, 255, + 105, 86 , 121, + 178, 21 , 105, + 0 , 3 , 123, + 255, 221, 236, + 160, 238, 173, + 237, 161, 77 , + 0 , 141, 255, + 0 , 97 , 109, + 1 , 238, 98 , + 81 , 0 , 78 , + 128, 103, 66 , + 0 , 108, 44 , + 209, 224, 94 , + 155, 0 , 255, + 0 , 45 , 223, + 88 , 28 , 0 , + 166, 2 , 162, + 165, 205, 239, + 84 , 121, 0 , + 76 , 109, 80 , + 122, 180, 0 , + 104, 204, 204, + 145, 95 , 255, + 214, 208, 177, + 185, 130, 176, + 130, 120, 194, + 128, 96 , 0 , + 247, 161, 255, + 10 , 65 , 119, + 232, 102, 54 , + 7 , 191, 131, + 105, 54 , 171, + 10 , 177, 0 , + 215, 191, 105, + 198, 66 , 249, + 140, 255, 145, + 135, 60 , 105, + 254, 170, 191, + 130, 173, 255, + 161, 35 , 0 , + 197, 255, 0 , + 40 , 153, 180, + 215, 83 , 185, + 255, 77 , 161, + 128, 175, 147, + 216, 91 , 124, + 193, 144, 91 , + 210, 196, 0 , + 232, 39 , 73 , + 76 , 52 , 116, + 159, 206, 110, + 138, 147, 187, + 140, 5 , 114, + 0 , 56 , 183, + 191, 105, 0 , + 83 , 58 , 0 , + 94 , 224, 0 , + 121, 99 , 99 , + 212, 123, 104, + 89 , 160, 99 , + 146, 58 , 54 , + 231, 46 , 215, + 93 , 245, 200, + 191, 147, 133, + 255, 211, 89 , + 171, 77 , 214, + 0 , 121, 0 , + 60 , 14 , 107, + 255, 82 , 1 , + 112, 115, 43 , + 0 , 172, 245, + 255, 184, 240, + 1 , 210, 111, + 203, 151, 0 , + 95 , 114, 129, + 183, 215, 17 , + 80 , 110, 231, + 201, 25 , 87 , + 218, 250, 203, + 255, 148, 103, + 255, 217, 163, + 198, 172, 199, + 78 , 139, 135, + 197, 255, 134, + 38 , 0 , 165, + 197, 208, 211, + 193, 117, 225, + 111, 0 , 128, + 147, 255, 238, + 125, 62 , 254, + 112, 213, 78 , + 198, 76 , 61 , + 155, 48 , 82 , + 0 , 199, 176, + 118, 6 , 0 , + 2 , 106, 192, + 140, 167, 49 , + 189, 81 , 145, + 254, 162, 38 , + 134, 138, 106, + 0 , 68 , 17 , + 122, 73 , 61 , + 255, 251, 239, + 127, 94 , 193, + 181, 140, 48 , + 66 , 235, 255, + 189, 140, 218, + 190, 0 , 138, + 132, 177, 185, + 90 , 54 , 202, + 0 , 35 , 131, + 251, 139, 149, + 74 , 0 , 225, + 0 , 106, 90 , + 106, 199, 155, + 104, 169, 217, + 255, 239, 134, + 44 , 94 , 130, + 126, 0 , 78 , + 196, 214, 145, + 160, 238, 255, + 222, 215, 255, + 255, 87 , 126, + 170, 161, 255, + 81 , 120, 60 , + 255, 242, 91 , + 168, 130, 145, + 158, 153, 64 , + 211, 123, 156, + 255, 0 , 3 , + 210, 118, 197, + 0 , 41 , 111, + 198, 178, 125, + 211, 255, 169, + 109, 215, 130, + 41 , 90 , 0 , + 235, 193, 183, + 114, 58 , 0 , + 140, 96 , 155, + 163, 223, 193, + 255, 142, 63 , + 66 , 155, 1 , + 83 , 96 , 152, + 106, 133, 230, + 255, 85 , 72 , + 141, 216, 0 , + 162, 102, 73 , + 79 , 0 , 146, + 190, 0 , 30 , + 165, 0 , 193, + 81 , 84 , 255, + 0 , 148, 74 , + 203, 0 , 255, + 121, 54 , 71 , + 215, 255, 97 , + 163, 178, 0 , + 111, 154, 68 , + 120, 93 , 222, + 254, 187, 126, + 112, 0 , 27 , + 204, 59 , 0 , + 0 , 165, 167, + 151, 255, 0 , + 104, 41 , 124, + 138, 89 , 113, + 255, 94 , 224, + 86 , 91 , 48 , + 75 , 255, 76 , + 204, 190, 67 , + 255, 224, 0 , + 49 , 126, 85 , + 145, 196, 135, + 187, 64 , 79 , + 255, 130, 233, + 205, 127, 68 , + 105, 195, 223, + 161, 213, 81 , + 165, 183, 240, + 125, 255, 180, + 126, 255, 111, + 67 , 255, 145, + 154, 138, 83 , + 46 , 145, 231, + 118, 121, 0 , + 154, 2 , 222, + 185, 119, 255, + 255, 0 , 62 , + 131, 28 , 170, + 177, 70 , 183, + 217, 0 , 115, + 186, 196, 95 , + 97 , 46 , 97 , + 84 , 134, 167, + 81 , 54 , 145, + 107, 117, 107, + 51 , 15 , 80 , + 215, 139, 143, + 255, 247, 203, + 255, 86 , 192, + 153, 91 , 0 , + 255, 1 , 156, + 183, 79 , 19 , + 235, 255, 146, + 211, 1 , 224, + 178, 167, 144, + 217, 97 , 0 , + 134, 91 , 38 , + 175, 151, 206, + 0 , 182, 63 , + 210, 40 , 179, + 2 , 213, 42 , + 94 , 84 , 160, + 136, 48 , 0 , + 255, 110, 163, + 144, 121, 157, + 153, 61 , 225, + 237, 87 , 255, + 87 , 24 , 206, + 117, 143, 207, +}; + +/// Number of colors in Glasbey lookup table +static const std::size_t GLASBEY_LUT_SIZE = sizeof (GLASBEY_LUT) / (sizeof (GLASBEY_LUT[0]) * 3); + +#endif + +pcl::RGB +pcl::GlasbeyLUT::at (unsigned int color_id) +{ + assert (color_id < GLASBEY_LUT_SIZE); + pcl::RGB color; + color.r = GLASBEY_LUT[color_id * 3 + 0]; + color.g = GLASBEY_LUT[color_id * 3 + 1]; + color.b = GLASBEY_LUT[color_id * 3 + 2]; + return (color); +} + +size_t +pcl::GlasbeyLUT::size () +{ + return GLASBEY_LUT_SIZE; +} + +const unsigned char* +pcl::GlasbeyLUT::data () +{ + return GLASBEY_LUT; +} + +pcl::RGB +pcl::getRandomColor (double min, double max) +{ + double sum; + static unsigned stepRGBA = 100; + double r, g, b; + do + { + sum = 0; + r = (rand () % stepRGBA) / static_cast (stepRGBA); + while ((g = (rand () % stepRGBA) / static_cast (stepRGBA)) == r) {} + while (((b = (rand () % stepRGBA) / static_cast (stepRGBA)) == r) && (b == g)) {} + sum = r + g + b; + } + while (sum <= min || sum >= max); + pcl::RGB color; + color.r = uint8_t (r * 255.0); + color.g = uint8_t (g * 255.0); + color.b = uint8_t (b * 255.0); + return (color); +} + +#endif // PCL_VERSION_COMPARE(<, 1, 8, 0) + ////////////////////////////////////////////////////////////////////////////////////// /** \brief Image Extractor which uses the data present in the "rgb" or "rgba" fields * to produce a color image with rgb8 encoding. @@ -455,7 +810,7 @@ main (int argc, char** argv) if (pcd_file_index.size () != 2 || png_file_index.size () != 2) { - print_error ("Need one input PCD file and one output PNG file.\n"); + print_error ("Need two input PCD files and two output PNG files.\n"); return (-1); } @@ -465,8 +820,8 @@ main (int argc, char** argv) std::string png_gt_filename = argv[png_file_index[1]]; // Load the input file - pcl::PCLPointCloud2::Ptr blob (new pcl::PCLPointCloud2); - pcl::PCLPointCloud2::Ptr blob_gt (new pcl::PCLPointCloud2); + pcl::PCLPointCloud2::Ptr blob (new pcl::PCLPointCloud2()); + pcl::PCLPointCloud2::Ptr blob_gt (new pcl::PCLPointCloud2()); if (!loadCloud (pcd_filename, *blob)) { print_error ("Unable to load PCD input file 1.\n"); From cfce499f65af8568534e51b71aaae8134f2e8e91 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Tue, 5 Apr 2016 10:49:22 -0400 Subject: [PATCH 015/105] fixing CMakeLists error in object_on_table_segmenter --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f7bd1b2..e2b955ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,7 +137,7 @@ include_directories( ## Declare a C++ executable add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) -target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) +#target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) ## Add cmake target dependencies of the executable ## same as for the library above From 618081bc769d65a02e8054ef4e837872331f6c12 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 13:24:13 -0400 Subject: [PATCH 016/105] improved pcd2png_segment_gt to take params and attempt pcl 1.7.2 support --- src/pcd2png_segment_gt.cpp | 68 ++++++++++++++++++++++++++++---------- 1 file changed, 51 insertions(+), 17 deletions(-) diff --git a/src/pcd2png_segment_gt.cpp b/src/pcd2png_segment_gt.cpp index ac9bfc5b..b93a5a97 100644 --- a/src/pcd2png_segment_gt.cpp +++ b/src/pcd2png_segment_gt.cpp @@ -45,6 +45,7 @@ */ #include +#include #include #include @@ -53,7 +54,6 @@ #include #include #include -//#include using namespace pcl; using namespace pcl::io; @@ -658,7 +658,7 @@ printHelp (int, char **argv) std::cout << "* *" << std::endl; std::cout << "****************************************************************************" << std::endl; std::cout << std::endl; - std::cout << "Usage: " << argv[0] << " [Options] input.pcd input_ground_truth.pcd output_source_data.png output_ground_truth_data.png" << std::endl; + std::cout << "Usage: " << argv[0] << " [Options] input.pcd input_ground_truth.pcd [output_source_data.png output_ground_truth_data.png]" << std::endl; std::cout << std::endl; std::cout << "Options:" << std::endl; std::cout << std::endl; @@ -709,13 +709,13 @@ printHelp (int, char **argv) } bool -loadCloud (const std::string &filename, pcl::PCLPointCloud2 &cloud) +loadCloud (const std::string &filename, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f& blob_origin, Eigen::Quaternionf& blob_orientation) { TicToc tt; print_highlight ("Loading "); print_value ("%s ", filename.c_str ()); tt.tic (); - if (loadPCDFile (filename, cloud) < 0) + if (loadPCDFile (filename, cloud,blob_origin,blob_orientation) < 0) return (false); print_info ("[done, "); print_value ("%g", tt.toc ()); print_info (" ms : "); print_value ("%d", cloud.width * cloud.height); print_info (" points]\n"); print_info ("Available dimensions: "); print_value ("%s\n", pcl::getFieldsList (cloud).c_str ()); @@ -809,27 +809,48 @@ main (int argc, char** argv) std::vector pcd_file_index = parse_file_extension_argument (argc, argv, ".pcd"); std::vector png_file_index = parse_file_extension_argument (argc, argv, ".png"); - if (pcd_file_index.size () != 2 || png_file_index.size () != 2) + if (pcd_file_index.size () != 2 || (png_file_index.size () != 2 && png_file_index.size() != 0)) { print_error ("Need two input PCD files and two output PNG files.\n"); return (-1); } - + + std::string png_filename; + std::string png_gt_filename; std::string pcd_filename = argv[pcd_file_index[0]]; std::string pcd_gt_filename = argv[pcd_file_index[1]]; - std::string png_filename = argv[png_file_index[0]]; - std::string png_gt_filename = argv[png_file_index[1]]; + if(png_file_index.size() == 0) + { + png_filename = pcd_filename; + png_gt_filename = pcd_gt_filename; + boost::filesystem::change_extension(png_filename, "png").string(); + boost::filesystem::change_extension(png_gt_filename, "png").string(); + + } else { + png_filename = argv[png_file_index[0]]; + png_gt_filename = argv[png_file_index[1]]; + } + + int background_class = 0; + int foreground_class = 1; + + parse(argc, argv, "--foreground-class", foreground_class); + parse(argc, argv, "--background-class", background_class); + // Load the input file pcl::PCLPointCloud2::Ptr blob (new pcl::PCLPointCloud2()); pcl::PCLPointCloud2::Ptr blob_gt (new pcl::PCLPointCloud2()); - if (!loadCloud (pcd_filename, *blob)) + Eigen::Vector4f blob_origin, blob_gt_origin; + Eigen::Quaternionf blob_orientation, blob_gt_orientation; + + if (!loadCloud (pcd_filename, *blob,blob_origin,blob_orientation)) { print_error ("Unable to load PCD input file 1.\n"); return (-1); } - if (!loadCloud (pcd_gt_filename, *blob_gt)) + if (!loadCloud (pcd_gt_filename, *blob_gt,blob_gt_origin,blob_gt_orientation)) { print_error ("Unable to load PCD ground truth input file 1.\n"); return (-1); @@ -921,27 +942,40 @@ main (int argc, char** argv) return (-1); } + int ret = 0; + + if (!extracted) + { + print_error ("Failed to extract original image from field \"%s\".\n", field_name.c_str()); + ret |=1; + } + else + { + saveImage (png_filename, image); + } + + // Ground Truth image is always extracted from RGB pcl::PCLImage gt_image; { - PointCloud gt_cloud; + PointCloud gt_cloud; fromPCLPointCloud2 (*blob_gt, gt_cloud); - PointCloudImageExtractorGTLabelFromRGBField pcie; + PointCloudImageExtractorGTLabelFromRGBField pcie(foreground_class,background_class); pcie.setPaintNaNsWithBlack (paint_nans_with_black); if (!parseColorsOption(argc, argv, pcie)) return (-1); extracted = pcie.extract(gt_cloud, gt_image); } - + if (!extracted) { - print_error ("Failed to extract an image from field \"%s\".\n", field_name.c_str()); - return (-1); + print_error ("Failed to extract ground truth image from field \"%s\".\n", field_name.c_str()); + ret |=3; } - saveImage (png_filename, image); + saveImage (png_gt_filename, gt_image); - return (0); + return (ret); } From 5f6533bc20dc66840c45a6c6a5f3e3149efa214a Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 14:38:11 -0400 Subject: [PATCH 017/105] segmentation conversion works in pcd2png_segment_gt.cpp! --- src/pcd2png_segment_gt.cpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/pcd2png_segment_gt.cpp b/src/pcd2png_segment_gt.cpp index b93a5a97..af7fed4f 100644 --- a/src/pcd2png_segment_gt.cpp +++ b/src/pcd2png_segment_gt.cpp @@ -525,6 +525,7 @@ class PointCloudImageExtractorGTLabelFromRGBField : public PointCloudImageExtrac template bool PointCloudImageExtractorGTLabelFromRGBField::extractImpl (const PointCloud& cloud, pcl::PCLImage& img) const { + char black[3] = {0,0,0}; std::vector fields; int field_idx = pcl::getFieldIndex (cloud, "rgb", fields); if (field_idx == -1) @@ -555,10 +556,10 @@ PointCloudImageExtractorGTLabelFromRGBField::extractImpl (const PointClo { if(!pcl::isFinite (cloud.points[i])){ - + data[i] = static_cast(background_label_); } else { uint32_t val; - pcl::getFieldValue (cloud.points[i], offset, val); + pcl::getFieldValue (cloud.points[i], z_offset, val); // data[i] = static_cast(val); data[i] = static_cast(foreground_label_); @@ -573,14 +574,15 @@ PointCloudImageExtractorGTLabelFromRGBField::extractImpl (const PointClo img.height = cloud.height; img.step = img.width * sizeof (unsigned char) * 3; img.data.resize (img.step * img.height); + std::srand(std::time(0)); std::map colormap; for (size_t i = 0; i < cloud.points.size (); ++i) { - uint32_t val; - pcl::getFieldValue (cloud.points[i], offset, val); + float_t val; + pcl::getFieldValue (cloud.points[i], z_offset, val); if (colormap.count (val) == 0) { colormap[val] = i * 3; @@ -634,10 +636,17 @@ PointCloudImageExtractorGTLabelFromRGBField::extractImpl (const PointClo // Second pass: copy colors from the LUT for (size_t i = 0; i < cloud.points.size (); ++i) { - /// @todo should we be continuing when it is not finite? - uint32_t val; - pcl::getFieldValue (cloud.points[i], offset, val); - memcpy (&img.data[i * 3], GlasbeyLUT::data () + colormap[val] * 3, 3); + + if (paint_nans_with_black_ && !pcl::isFinite (cloud.points[i])) + { + // copy the color 3 channel black memory addresses into the image + memcpy (&img.data[i * 3], black, 3); } + else + { + std::size_t offset_into_colormap = colormap[foreground_label_]; + // copy the color 3 channel memory addresses into the image + memcpy (&img.data[i * 3], GlasbeyLUT::data () + offset_into_colormap * 3, 3); + } } break; From e9df39d177be4fdf93c46eec65ce17f8d0b12251 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 15:23:38 -0400 Subject: [PATCH 018/105] reorganized how data is saved by object_on_table_segmenter --- launch/object_on_table_segmenter.launch | 2 ++ src/object_on_table_segmenter.cpp | 21 +++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index cbc12b4b..e302dc5a 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -2,6 +2,7 @@ + @@ -26,6 +27,7 @@ + diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index d06c3c05..953a5732 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -35,7 +35,7 @@ bool dist_viewer ,haveTable,update_table; std::string POINTS_IN; -std::string save_directory, object_name, load_directory, original_directory; +std::string save_directory, object_name, load_directory, original_directory, ground_truth_directory; std::string tableTFname; int cloud_save_index; ros::Subscriber pc_sub; @@ -166,12 +166,12 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud cloud_input) +void saveCloud(pcl::PointCloud cloud_input, std::string dir, std::string additional_text = std::string("")) { std::stringstream ss; - ss << save_directory << object_name << cloud_save_index << ".pcd"; + ss << dir << object_name << cloud_save_index << additional_text << ".pcd"; writer.write (ss.str (), cloud_input, true); - std::cerr << "Saved " << save_directory << object_name << cloud_save_index << ".pcd"; + std::cerr << "Saved " << ss.str(); cloud_save_index++; } @@ -256,7 +256,7 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil extract.setKeepOrganized(true); extract.filter(*cloud_cluster); - saveCloud(*cloud_cluster); + saveCloud(*cloud_cluster,ground_truth_directory, "_ground_truth"); std::cerr << "\tcluster size: "<< euclidean_label_indices[i].indices.size () << std::endl; } } @@ -304,15 +304,14 @@ void callback(const sensor_msgs::PointCloud2 &pc) ss << original_directory << object_name << cloud_save_index << "_original_cloud.pcd"; std::cout << "original saved to :" << ss.str() << "\n"; try { - std::cerr << "cloud of size " << cloud->size() << " read in from topic!\n"; - writer.write (ss.str (), *cloud, true); + saveCloud(*cloud,original_directory,"_original"); } catch (pcl::IOException e) { ROS_ERROR("could not write to %s!",ss.str().c_str()); } segmentCloudAboveTable(cloud,tableHull); if (doCluster) cloud_segmenter_and_save(cloud); - else saveCloud(*cloud); + else saveCloud(*cloud,ground_truth_directory,"_ground_truth"); } else { @@ -375,8 +374,9 @@ int main (int argc, char** argv) nh.param("POINTS_IN", POINTS_IN,std::string("/camera/depth_registered/points")); //getting save parameters - nh.param("save_directory",save_directory,std::string("result/")); + nh.param("save_directory",save_directory,std::string("./")); nh.param("original_directory",original_directory,std::string("original/")); + nh.param("ground_truth_directory",ground_truth_directory,std::string("ground_truth/")); nh.param("object",object_name,std::string("cloud_cluster_")); nh.param("pcl_viewer",dist_viewer,false); nh.param("save_index",cloud_save_index,0); @@ -401,8 +401,9 @@ int main (int argc, char** argv) bool justCaptureEnvironment; nh.param("environment_only",justCaptureEnvironment,false); boost::filesystem::create_directories(load_directory); - boost::filesystem::create_directories(original_directory); boost::filesystem::create_directories(save_directory); + boost::filesystem::create_directories(original_directory); + boost::filesystem::create_directories(ground_truth_directory); if (justCaptureEnvironment) { From cc9b36463d855020628e2e9006989ab5006a1987 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Mon, 11 Apr 2016 16:23:51 -0400 Subject: [PATCH 019/105] removing non-compiling code from master --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e2b955ff..a2016d63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,7 +136,7 @@ include_directories( ## Declare a C++ executable add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) -add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) +#add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) #target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) ## Add cmake target dependencies of the executable From 0ed842c4ae4f7ce279549b06652cd323d9ef9aab Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 16:29:00 -0400 Subject: [PATCH 020/105] data collection now writes out the current time --- src/object_on_table_segmenter.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 953a5732..7e58f37a 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -32,6 +32,8 @@ // for creating directory automatically #include +#include +#include bool dist_viewer ,haveTable,update_table; std::string POINTS_IN; @@ -168,8 +170,11 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud cloud_input, std::string dir, std::string additional_text = std::string("")) { + std::stringstream ss; - ss << dir << object_name << cloud_save_index << additional_text << ".pcd"; + boost::shared_ptrfacet(new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_")); + ss.imbue(std::locale(ss.getloc(), facet)); + ss << dir << current_date << object_name << "_" << cloud_save_index << additional_text << ".pcd"; writer.write (ss.str (), cloud_input, true); std::cerr << "Saved " << ss.str(); cloud_save_index++; From bb3d88784d308cc9ac1265b3e605a43d0488d750 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 16:31:25 -0400 Subject: [PATCH 021/105] fixed commented cmake --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a2016d63..4f7bd1b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,8 +136,8 @@ include_directories( ## Declare a C++ executable add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) -#add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) -#target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) +add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) +target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) ## Add cmake target dependencies of the executable ## same as for the library above From 3ced9d0e58ac7c1e28d1b875ef5e8aba3ceea59d Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 16:32:51 -0400 Subject: [PATCH 022/105] disable pcd segmenter --- CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f7bd1b2..7d817614 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,8 +136,8 @@ include_directories( ## Declare a C++ executable add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) -add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) -target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) +#add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) +#target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) ## Add cmake target dependencies of the executable ## same as for the library above @@ -149,10 +149,10 @@ target_link_libraries(object_on_table_segmenter ${Boost_LIBRARIES} ) -target_link_libraries(pcd2png_segment_gt - ${PCL_LIBRARIES} - ${Boost_LIBRARIES} -) +#target_link_libraries(pcd2png_segment_gt +# ${PCL_LIBRARIES} +# ${Boost_LIBRARIES} +#) ############# ## Install ## From be44b62dc19ca382d89fae3054eb36d183913e03 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 16:36:18 -0400 Subject: [PATCH 023/105] fix compiler error --- src/object_on_table_segmenter.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 7e58f37a..7cd11d7b 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -170,11 +170,13 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud cloud_input, std::string dir, std::string additional_text = std::string("")) { + using namespace boost::posix_time; + using namespace std; std::stringstream ss; - boost::shared_ptrfacet(new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_")); - ss.imbue(std::locale(ss.getloc(), facet)); - ss << dir << current_date << object_name << "_" << cloud_save_index << additional_text << ".pcd"; + boost::shared_ptrfacet(new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_")); + ss.imbue(std::locale(ss.getloc(), facet.get())); + ss << dir << boost::posix_time::second_clock::local_time() << object_name << "_" << cloud_save_index << additional_text << ".pcd"; writer.write (ss.str (), cloud_input, true); std::cerr << "Saved " << ss.str(); cloud_save_index++; From fd369c10a4703ec5b94657bca8d03c3310352ca8 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 16:46:02 -0400 Subject: [PATCH 024/105] object on table improved error handling and how pcd files are printed/saved --- src/object_on_table_segmenter.cpp | 33 ++++++++++++++----------------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 7cd11d7b..a42f5584 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -170,16 +170,20 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud cloud_input, std::string dir, std::string additional_text = std::string("")) { - using namespace boost::posix_time; - using namespace std; - - std::stringstream ss; - boost::shared_ptrfacet(new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_")); - ss.imbue(std::locale(ss.getloc(), facet.get())); - ss << dir << boost::posix_time::second_clock::local_time() << object_name << "_" << cloud_save_index << additional_text << ".pcd"; - writer.write (ss.str (), cloud_input, true); - std::cerr << "Saved " << ss.str(); - cloud_save_index++; + try{ + using namespace boost::posix_time; + using namespace std; + + std::stringstream ss; + boost::shared_ptrfacet(new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_")); + ss.imbue(std::locale(ss.getloc(), facet.get())); + ss << dir << boost::posix_time::second_clock::local_time() << object_name << "_" << cloud_save_index << additional_text << ".pcd"; + writer.write (ss.str (), cloud_input, true); + std::cerr << "Saved: " << ss.str() << "\n"; + cloud_save_index++; + } catch (pcl::IOException e) { + ROS_ERROR("could not write to %s!",ss.str().c_str()); + } } void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_filtered) @@ -307,14 +311,7 @@ void callback(const sensor_msgs::PointCloud2 &pc) pcl::fromROSMsg(pc, *cloud); if (haveTable and keyPress) { - std::stringstream ss; - ss << original_directory << object_name << cloud_save_index << "_original_cloud.pcd"; - std::cout << "original saved to :" << ss.str() << "\n"; - try { - saveCloud(*cloud,original_directory,"_original"); - } catch (pcl::IOException e) { - ROS_ERROR("could not write to %s!",ss.str().c_str()); - } + saveCloud(*cloud,original_directory,"_original"); segmentCloudAboveTable(cloud,tableHull); if (doCluster) cloud_segmenter_and_save(cloud); From 38971117342258e11ce1fc227481183db63c17d5 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 16:47:13 -0400 Subject: [PATCH 025/105] fixed compiler error --- src/object_on_table_segmenter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index a42f5584..660a4a11 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -170,11 +170,12 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud cloud_input, std::string dir, std::string additional_text = std::string("")) { + std::stringstream ss; + try{ using namespace boost::posix_time; using namespace std; - std::stringstream ss; boost::shared_ptrfacet(new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_")); ss.imbue(std::locale(ss.getloc(), facet.get())); ss << dir << boost::posix_time::second_clock::local_time() << object_name << "_" << cloud_save_index << additional_text << ".pcd"; From 69b88f22c871f5118dbd0e0f6c5314949247ec7e Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 17:19:45 -0400 Subject: [PATCH 026/105] fixed filenames to be consistent in time and index between original and ground truth --- src/object_on_table_segmenter.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 660a4a11..3baffead 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -53,7 +53,8 @@ int num_to_capture = 0; bool useTFsurface; bool useRosbag; bool doCluster; - +boost::posix_time::ptime time_to_save; + // function getch is from http://answers.ros.org/question/63491/keyboard-key-pressed/ int getch() { @@ -168,7 +169,7 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud cloud_input, std::string dir, std::string additional_text = std::string("")) +void saveCloud(const pcl::PointCloud& cloud_input, std::string dir, std::string additional_text = std::string("")) { std::stringstream ss; @@ -178,10 +179,9 @@ void saveCloud(pcl::PointCloud cloud_input, std::string dir, boost::shared_ptrfacet(new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_")); ss.imbue(std::locale(ss.getloc(), facet.get())); - ss << dir << boost::posix_time::second_clock::local_time() << object_name << "_" << cloud_save_index << additional_text << ".pcd"; + ss << dir << time_to_save << object_name << "_" << cloud_save_index << additional_text << ".pcd"; writer.write (ss.str (), cloud_input, true); std::cerr << "Saved: " << ss.str() << "\n"; - cloud_save_index++; } catch (pcl::IOException e) { ROS_ERROR("could not write to %s!",ss.str().c_str()); } @@ -309,6 +309,9 @@ void callback(const sensor_msgs::PointCloud2 &pc) { pcl::PointCloud::Ptr cloud (new pcl::PointCloud); // convert sensor_msgs::PointCloud2 to pcl::PointXYZRGBA + // update the time which will become the leading string of collected data + time_to_save = boost::posix_time::second_clock::local_time(); + cloud_save_index++; pcl::fromROSMsg(pc, *cloud); if (haveTable and keyPress) { From db7f6004c68ffef73df822713fde6fdf4241d7ab Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 17:46:33 -0400 Subject: [PATCH 027/105] improved instructions --- src/object_on_table_segmenter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 3baffead..abdce80b 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -435,11 +435,11 @@ int main (int argc, char** argv) pc_sub = nh.subscribe(POINTS_IN,1,callback); if (!haveTable) - std::cerr << "Remove all object on table and press 's' key" << std::endl; + std::cerr << "1) Remove all object from the table\n2) make sure the AR tag you specified is visible\n3) press the 's' key to save the segmentation plane." << std::endl; else { std::cerr << "Press 'q' key to exit \n"; - std::cerr << "Press 's' key to do object on table segmentation \n"; + std::cerr << "Press 's' key to start object on table segmentation \n"; } ros::Rate r(10); // 10 hz From aa53b5cb5df4685fb4ff97632dfc307f2ddaf7e2 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 19:25:54 -0400 Subject: [PATCH 028/105] constructing all objects on initialization --- src/object_on_table_segmenter.cpp | 34 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index abdce80b..41cbcd8c 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -42,7 +42,7 @@ std::string tableTFname; int cloud_save_index; ros::Subscriber pc_sub; pcl::PCDWriter writer; -pcl::PointCloud::Ptr tableHull(new pcl::PointCloud); +pcl::PointCloud::Ptr tableHull(new pcl::PointCloud()); tf::TransformListener * listener; double aboveTableMin; double aboveTableMax; @@ -118,11 +118,11 @@ void segmentCloudAboveTable(pcl::PointCloud::Ptr &cloud_input // from 1 cm above table to 50 cm above table //prism.setHeightLimits(0.135f, 0.5f); prism.setHeightLimits(aboveTableMin,aboveTableMax); - pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices); + pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices()); prism.segment(*objectIndices); // Get and show all points retrieved by the hull. - pcl::PointCloud::Ptr objects(new pcl::PointCloud); + pcl::PointCloud::Ptr objects(new pcl::PointCloud()); pcl::ExtractIndices extract; extract.setInputCloud(cloud_input); extract.setIndices(objectIndices); @@ -136,7 +136,7 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud::Ptr normals (new pcl::PointCloud); + pcl::PointCloud::Ptr normals (new pcl::PointCloud()); pcl::IntegralImageNormalEstimation ne; ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT); ne.setMaxDepthChangeFactor(0.02f); @@ -155,11 +155,11 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud, Eigen::aligned_allocator > > regions; mps.segmentAndRefine (regions); - pcl::PointCloud::Ptr boundary(new pcl::PointCloud); + pcl::PointCloud::Ptr boundary(new pcl::PointCloud()); boundary->points = regions[0].getContour(); // Retrieve the convex hull. - pcl::PointCloud::Ptr convexHull(new pcl::PointCloud); + pcl::PointCloud::Ptr convexHull(new pcl::PointCloud()); pcl::ConvexHull hull; hull.setInputCloud(boundary); @@ -203,7 +203,7 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil } // Get Normal Cloud - pcl::PointCloud::Ptr normals (new pcl::PointCloud); + pcl::PointCloud::Ptr normals (new pcl::PointCloud()); pcl::IntegralImageNormalEstimation ne; ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT); ne.setMaxDepthChangeFactor(0.03f); @@ -215,7 +215,7 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil pcl::OrganizedMultiPlaneSegmentation< pcl::PointXYZRGBA, pcl::Normal, pcl::Label > mps; std::vector model_coefficients; std::vector inlier_indices; - pcl::PointCloud::Ptr labels (new pcl::PointCloud); + pcl::PointCloud::Ptr labels (new pcl::PointCloud()); std::vector label_indices; std::vector boundary_indices; @@ -258,10 +258,10 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil { if (euclidean_label_indices[i].indices.size () > 500) { - pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud); + pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud()); pcl::ExtractIndices extract; - pcl::PointIndices::Ptr object_cloud_indices (new pcl::PointIndices); + pcl::PointIndices::Ptr object_cloud_indices (new pcl::PointIndices()); *object_cloud_indices = euclidean_label_indices[i]; extract.setInputCloud(cloud_filtered); extract.setIndices(object_cloud_indices); @@ -280,7 +280,7 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil pcl::PointCloud::Ptr useTFConvexHull(tf::StampedTransform transform, double distance = 0.5) { - pcl::PointCloud::Ptr tableTmp(new pcl::PointCloud); + pcl::PointCloud::Ptr tableTmp(new pcl::PointCloud()); for (int i = -1; i < 2; i+=2) for (int j = -1; j < 2; j+=2) { @@ -290,11 +290,11 @@ pcl::PointCloud::Ptr useTFConvexHull(tf::StampedTransform tra tmp.z = 0; tableTmp->push_back(tmp); } - pcl::PointCloud::Ptr tfTable(new pcl::PointCloud); + pcl::PointCloud::Ptr tfTable(new pcl::PointCloud()); pcl_ros::transformPointCloud (*tableTmp, *tfTable, transform); writer.write (load_directory+"TF_boundary.pcd", *tfTable, true); - pcl::PointCloud::Ptr convexHull(new pcl::PointCloud); + pcl::PointCloud::Ptr convexHull(new pcl::PointCloud()); pcl::ConvexHull hull; hull.setInputCloud(tfTable); @@ -307,7 +307,7 @@ pcl::PointCloud::Ptr useTFConvexHull(tf::StampedTransform tra void callback(const sensor_msgs::PointCloud2 &pc) { - pcl::PointCloud::Ptr cloud (new pcl::PointCloud); + pcl::PointCloud::Ptr cloud (new pcl::PointCloud()); // convert sensor_msgs::PointCloud2 to pcl::PointXYZRGBA // update the time which will become the leading string of collected data time_to_save = boost::posix_time::second_clock::local_time(); @@ -323,7 +323,7 @@ void callback(const sensor_msgs::PointCloud2 &pc) } else { - pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud); + pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud()); std::string tableTFparent; tf::StampedTransform transform; listener->getParent(tableTFname,ros::Time(0),tableTFparent); @@ -364,7 +364,7 @@ void callback(const sensor_msgs::PointCloud2 &pc) void callbackCaptureEnvironment(const sensor_msgs::PointCloud2 &pc) { - pcl::PointCloud::Ptr cloud (new pcl::PointCloud); + pcl::PointCloud::Ptr cloud (new pcl::PointCloud()); // convert sensor_msgs::PointCloud2 to pcl::PointXYZRGBA pcl::fromROSMsg(pc, *cloud); std::stringstream ss; @@ -404,7 +404,7 @@ int main (int argc, char** argv) nh.param("aboveTableMin",aboveTableMin,0.135); nh.param("aboveTableMax",aboveTableMax,0.50); - listener = new (tf::TransformListener); + listener = new (tf::TransformListener()); bool justCaptureEnvironment; nh.param("environment_only",justCaptureEnvironment,false); From dc695a335aee0161f414eea003625e1c7b1eff55 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 19:31:31 -0400 Subject: [PATCH 029/105] small compiler error fix --- src/object_on_table_segmenter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 41cbcd8c..af0a7472 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -404,7 +404,7 @@ int main (int argc, char** argv) nh.param("aboveTableMin",aboveTableMin,0.135); nh.param("aboveTableMax",aboveTableMax,0.50); - listener = new (tf::TransformListener()); + listener = new (tf::TransformListener); bool justCaptureEnvironment; nh.param("environment_only",justCaptureEnvironment,false); From b6279bfc67ce92b46f5c3b4240fe766e686f810b Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Mon, 11 Apr 2016 21:26:01 -0400 Subject: [PATCH 030/105] fixed crash due to double delete --- src/object_on_table_segmenter.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index af0a7472..23a06317 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -177,8 +177,7 @@ void saveCloud(const pcl::PointCloud& cloud_input, std::strin using namespace boost::posix_time; using namespace std; - boost::shared_ptrfacet(new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_")); - ss.imbue(std::locale(ss.getloc(), facet.get())); + ss.imbue(std::locale(ss.getloc(), new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_"))); ss << dir << time_to_save << object_name << "_" << cloud_save_index << additional_text << ".pcd"; writer.write (ss.str (), cloud_input, true); std::cerr << "Saved: " << ss.str() << "\n"; From 86ad60f1cfb812abb1785fc604ad2202eda3904a Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Tue, 12 Apr 2016 11:39:20 -0400 Subject: [PATCH 031/105] print time first --- src/object_on_table_segmenter.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 23a06317..34192c41 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -267,7 +267,10 @@ void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_fil extract.setKeepOrganized(true); extract.filter(*cloud_cluster); - saveCloud(*cloud_cluster,ground_truth_directory, "_ground_truth"); + std::stringstream ss; + ss << "_cluster_" << i+1 << "_ground_truth"; + + saveCloud(*cloud_cluster,ground_truth_directory, ss.str()); std::cerr << "\tcluster size: "<< euclidean_label_indices[i].indices.size () << std::endl; } } From ed74a69ad1a7ba328dc4a5f855e9cde228ef9a21 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Tue, 12 Apr 2016 14:36:49 -0400 Subject: [PATCH 032/105] Expanded object_on_table_segmenter instructions --- README.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ecf9c119..0e05f39f 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,69 @@ tableTF : marker we are going to use ## Examples +We use aruco markers that are 90mm across the black part 100mm total width on white outline. + +Before starting make sure your sensor has a full and accurate view of the target region free of clutter. + + +``` +roslaunch object_on_table_segmenter object_on_table_segmenter.launch tableTF:=ar_marker_2 useTFsurface:=true aboveTableMin:=0.01 object:=blue_bin load_table:=true num_to_capture:=200 +``` + +1. Here on the first run you put the marker on the table/turntable. +2. press 's' to get the pose of the marker, this is saved to disk +3. remove the marker, place your detection object on the table where the marker was +4. press 's' again to begin collecting data + +``` +roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_vert tableTF:=ar_marker_2 load_table:=false num_to_capture:=200 +roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_horizontal tableTF:=ar_marker_2 load_table:=false num_to_capture:=200 +``` + +Results will be placed in the local directory with the following structure + +``` +~/catkin_ws/src/costar_stack/costar_tools/object_on_table_segmenter +├── data +├── launch +├── link_uniform +├── node_uniform +├── original +├── res +├── result +│   ├── red_bin +│   │   ├── ground_truth +│   │   └── original +│   ├── blue_bin +│   │ ├── ground_truth +│   │ └── original +│   └── red_link +│   ├── ground_truth +│   └── original +├── result_vert_01 +├── sander +│   └── original +└── src + +``` + +"original" will contain the full source pcd (pcl point cloud format) files. +"ground_truth" will contain only segmented object data. + +Files are written as follows: +``` +___ground_truth.pcd +2016_04_12_11_51_30_blue_bin_400_ground_truth.pcd + +___original.pcd +2016_04_12_11_51_30_blue_bin_400_original.pcd +``` + +If clustering is enabled each ground truth may have multiple entries. For example, +if you want to collect separate data for multiple objects on the table simultaneously. +Then the gorund truth format will be: + ``` -roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_vert_ tableTF:=ar_marker_2 loadTable:=false num_to_capture:=200 -roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_horizontal_ tableTF:=ar_marker_2 loadTable:=false num_to_capture:=200 +___cluster__ground_truth.pcd +2016_04_12_11_51_30_blue_bin_400_ground_truth.pcd ``` From 7f046ab498353e57530d3d7da2459cce027ca3f4 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Tue, 12 Apr 2016 15:28:37 -0400 Subject: [PATCH 033/105] added images and more documentation --- README.md | 23 +++++++++++++++++++++++ ar_tag_sets_plane.jpg | Bin 0 -> 410469 bytes scanning_blue_bin_on_turntable.jpg | Bin 0 -> 396754 bytes 3 files changed, 23 insertions(+) create mode 100644 ar_tag_sets_plane.jpg create mode 100644 scanning_blue_bin_on_turntable.jpg diff --git a/README.md b/README.md index 0e05f39f..bbe0661c 100644 --- a/README.md +++ b/README.md @@ -43,8 +43,14 @@ roslaunch object_on_table_segmenter object_on_table_segmenter.launch tableTF:=ar ``` 1. Here on the first run you put the marker on the table/turntable. + +![Use the AR tag and a vertical area above it to define the object region](ar_tag_sets_plane.jpg) + 2. press 's' to get the pose of the marker, this is saved to disk 3. remove the marker, place your detection object on the table where the marker was + +![place the object where the tag was](scanning_blue_bin_on_turntable.jpg) + 4. press 's' again to begin collecting data ``` @@ -99,3 +105,20 @@ Then the gorund truth format will be: ___cluster__ground_truth.pcd 2016_04_12_11_51_30_blue_bin_400_ground_truth.pcd ``` + +#### Verify your data + +Be sure to verify your data and make sure no incorrect data is present! + +`pcl viewer path/to/file.pcd` + +You can load everything at once to make your life easier and check for outliers: + +`pcl viewer path/to/folder/with/pcds/*` + + +#### image extraction and segmentation + +You can run `pcl_pcd2png` to convert your pcds into images + +You can run `pcd2png_segment_gt.cpp` to perform semantic segmentation of your ground truth data and your image data. \ No newline at end of file diff --git a/ar_tag_sets_plane.jpg b/ar_tag_sets_plane.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b87899635886c186f2e38b26327d238127780bed GIT binary patch literal 410469 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

^ zDj(oa{Ayc#)qa|92|7{7-FJP0kI7c|v~7FSsxX)pRYRt73q+8%uUU-!= z??pRDQPt2c>XEpLx%(-i?WZ%*W{jVxWi5|QkB3VD>tdV%Yg>={X(RzlR?t4?cM8W& z`G7&FHDNi}Kso9NFr$pG#~PNPxl_{ARX;(S+6-s&>$ndl2r#_?IKH9!Ff9i55sXNpDt5O_KPnOg;7eSj3 zHBsc>8$b4{j|xBGRDT+p-!*@(pY>G#00J(ECi&aqFC}06o~ex`X96rWRLovQhiW%$ zn^@|moI)Xg5te(m+p72_0)v*}ed{T<0}D27jkg3!$<5DTEm;2mSIiW%7-oh@onzf) z6U=&sIK+Kb60xmgXQy`amYn1`^t%R5Op_{BWjt(P38M|wU)7E26LzxH=PJHhB+3`7YKhdoRO8(qvXm#h3dZB>puS=?iex*^nPu zv(vlkeQIf)x|PYv%1-qE0I03aM7bA8*`TX2%Hq`)=dHfAKbw4P@7k(6Q-2bt`1IZ= zcdYFP>a94_nkezbWk@$)aZZnpSLs>JnKlcLUBZo|RAaQ#pq9QMK$@ z<%BQwrt}$bW2J8CRL-;(iysD4bFFxC=8N`{;$ut=K!ReC`M&EJ0cQP z*RnCM*NTbBB{JKIEQ2YmQNh=H8ebXWQ0X$rscE98W-TK)kxI>y)C;!Ml1)-{rf{KB zN*bKv<99qYImN{WlA7FmQp^~pr~y`0zEnNY&Usv$`u_md1lu@tjN(FiCzMrpN{SQz z02$Ujh6ksfWW&4oRMO1nxQy+WIsp>ce$}=CY-N^atnL{nliTKGysP#Q19QD z<<})tI}y2QTVhYuCc%36r1W$LlWdMxx=K%!Mw>u_Y0UK4bw5zci1gNMrlwuc9ZzrPl5x%jM=UA9 z5~||kMMiMPB8XD?KnB~tvpUk%w{<-WgCeSy83LQkc0;>=VyW_n^ws`~f7fc?+~3uz z{{Rv{7x+Wo()dH#oB0*oN4-Krj_>RwwuSOCU$yBd-C#bbFd`V<@ zbK&k6a>n7ByqzN*A#TX+7kbxy&Y}hb1|vf6?fqfTl-C8F?rxtMZmFlbno2fiN{W~% zUstHhD#8I50GS+;sN!oAB6E{k#wTUU7~dbdPqeKCGY7P-w)9oC!A;STKmimT2)3eVRE>$P|CM~<+66FepTaNchi zykO|@4(RdgPB}jzFl9T)TTGXSRN!OO6-X|M9`N;^!9!~X!uz@vL)Wu&&FCk~VQZdKKS0Lr&iw@1|+ z==FN&pAAl?;?tK95g;asB{5UAh%~siAk9+deMFvkmd3z0d!bbLx#Iyzr85LCdr zZ(jO$Z-kK0`3tTa?RFB>6+J^@6%`MduHbZbl~IGK!NH%9`(xN0ieXPam`+rEn2$jr z%ON~KlfB+vr~ShH=T!gzhbHVp;q|A`j^F5@`Bb1 zZ;ZdL9@d>l;Lp@cvc;T6hag`O9j~qFUcOI9Kz}1xWQN&aD>eut*mk)@CWHnqT#4!v zfZ1x7VX8P@-8!0zHxWlb)uQRt^;DY843yJ6VQHs{31CI2i(=SB0RF_xk=lscE8i=CU69=K4I%&p$d^Ez@D(FHMmcCdApS}@acf6qsBeJv)9=Orgu;uR7cR& z-5#mlnHX{&oKyU1e@l~xSCIKo@mqpB%EQ9ni6MU4>im7pIK?WP_E;#q)kp6=>r`K> z#f>h3{aiad^eA%tD&N))Lwmc)o>Y@?q^gOn7s}0mO|VXO z91Z?%5eWAPt*0TXShqc*CMP}aRQCF9n>4?vW!3 z;DR|jJ5HZ#wHSDE{{UE7zDholL4}o-^Cz4qqtle%s-N_`ySfMuslyKc0AD^ye4OVS zHRMF4{gw(JH8=7d=Ue8_50<0WapkN304Yt{KMPIg@kBox+v*7U9%gn5Z&ef>VQP1p zWAObpc8AqK=p-mC^{}|_ayr}_fz=WM;{@p(?nrzGdLP3>^(7OhI>Zcs(wx?i5oPeO zh*(%pZd*w69Yqy)Np(FkDt$v$GRWdw>jQ#LNL0hBg}bCxj^fqRw{*9e+$vourP8;n zohST?ElY-KCXTWILqyaxl?-laBqu9YmuwC>Kh`7xU8}?_QR8pRY`s4N$*wb}?%X=RwKXW=KCn^5`Okb_a zp~@cp3rDQ-IiRSc-XxC@j>=!#Z-{);zmq4OckXY3XOll_)jyu6Oz^ayu~XE#0Z{QJ zLrsq;QLpxAT6#a#oC`O~bGBL;*;!94ZjJ7+DYhK{04VZy4w$a|%;?&7@13m7Z0f$a zhizRqN|Ry&D5Gp9ZOoiJ%s6w&SJFwG?nksWwqWZR=&1sg`yzv@s9SO0Ta#=wjp4u@ zvNe*TsC;TYQP}&CRaWT@GoKpNX5vl#Qmb`HAXRnM6+{FYgKp=5nG~|9Y1tYBDXalW zAZX${jYp)-E2*jBrf(r~FX!x}ofDf>4bV&ETkDoRw(5u~Ct>hOn0IAmWe!)$8l{v4 zU8s_YE;o_8lyBI12SY_R4SaiF{ePDtJv4u-9UIxn-@oLiDahfoz^Oc-QXC-NtmUQs z{#2g|U)y8j50LKP<-5wa`2(_Nls;|ms2u7lZzlNI^^ts!BhoZ^3JNsuDo&!DekpoI zW_e1^Ac99m@LOL4fd<39fk39%+@Z-o>*gLyMQ0OIiAXld^|&8n5AMazRuLA$bD9*A zhKh&pl&V^Js%6w@YIOOzVI4hPg{`L_@#a3z*^vbtUsHr$Xs5a%mCbmhGG_7g@HZ){oRL=EL>Gf4Ahfji)oTc8x zlC_EQIsBPbtlKnk@nv-jijllI7gC$i)UV87pn?~3n!zmP%Brofs=BEsb(!TGw=&YR zDi`CBs9l5mpm5rMtK4=)4%9B&C`?W(yx;75Jx((ld?hGJ&Q=^$v$^b~ z{kC_6J=@+NlVlVW_C zbL7aUsC+4txvi1!k^F!t8`BCgm#XJ+Dxq#Mqg9z zv@NOaPHTdzt%8_WYO_yZ5N+}T%idw6O=xOtWUhe{sp)2&^cqx9a~A|pIU%A+$>n^3 zsqb@^rP0hgU%v*pepuRG=0_7l+}!EU>VgPbT86PnCRJs43GOd-$Bi-c-d1HrCm`sk z<-)Iz2ihLkPP@j?!?}SJ(fJ+bQBN`%Zj3phfVF_0JDWHLn3CI zH6=?RT&}z>4UKfuZnIJjEbR=+WkU)02~YYDeN|QZ><-{D+S$-ZOVLckZ*i zA@1KQALe|^)}eem^-}rM{@DKjYJcsq@rTJf!5<~?E(iQjnvZDCB(EQqr^TJ>2S~ia z>Qhwl;L%jR7tIqY*@6(bS@usrd-FqYryI9SRX?lhs>w#I`JVIsRvdqpiGP)ef0d1W z{{RuaN^!t@(K)d1&kIvKD25rSKWq>TM@}&vqZxHs`;A4RRFcuvVPS0xXj=l*9snwq zJ}km8TkYjOP!&~sT89#K_kxyrbwc`mUcHrKnn2Hw<&5vQ{;1&Q$w6t7;2Hbqj_+2EPT-jB;Z+~lMHSunk+=5 zm@!KxRb_B$d))KN!IL+5P9-Ci?8=S%ZWSb$HPQPc+xbVgaC=gIs;IcFqnjn}$O!qT z*eajYRaH#2E|17~^2^}=0M_dt+i5>s2zS%Jmd`Hp+F#L0R8l*1QF%^36FdI^>p>o>Xp2=1L5=lriiq-oSxxML_9i%IJYFkFX4)*O zqv_XV;_Cd388KitdV7j-_Mz%wY6-nuwFhx3Slqkf&UXr%O=jsKZs*AD^75QDwUP(S zw77Q1%OP-Wu(4-I0*W`z;ax|?mIhNdbk#`BNkpnAmY}p*&jB(yWiZo68V$;9U|5w; zOEp2HpoR`yr#(5utn)d+qFSU}Pb1vcsbw#_AwjrUMNG#v?2=ed-%f*GQz@l#q@s;* z{Z4Rbnx#oFV5_Qpp1>PHIX$`LX5|~Un?&p;Vo0QJ*ZUdvzEN4V8T5rMGhQ1kke0X* zeAD~6H}=&2rji`xA7SImCx>`Clo$TnOZwnJX`jlE&7Een{{Y9OS=$6X)O}>Mzpft6 z?IL#}K{*c*VQGC-YCkUGFrE5`B=PJzbzzP5um=T;1MJkEob2rw-6S}U)sE{>?ep?R z+yr_j6^x!@Q*ad128m^Jl(XST z;#2H-SQMuM(HzEkrEXLX$X$&y)oU^?549%igUIwdDnhcDRN=BGLio!i$p;{(Cw8gz zvNw!LfadgTe0g8s&*P6J{{XVmez;f0nf!?S;r*7V{S=+0=|>Hs^R&JZc)zhI@)Qwj znC)jHdeZ^Xz1(ofLVtkmasg7u!*vZ=VyKCzU8c=hwotVGe9i9FrZ;~h*0j?WQEKT0{*Z^&y7>`nZ*eP4+rx=dWjJ~Y>#-$rpu`lMMlOvO$ zRq{2}D@TW9Drbn}G6pZTVR&fSY^~}_mbFq=QM!2cZTf~NsnelTSDbu+yDYiJ3Pje1 zhQ>+&H4=tgX>`XqMH?b-Ax?5OHWz!^!7R>l!otGZp7yaw^5uoMDmWI^wP9@t0nPC( zMii3m6;*}iJneFKepWX&dE9MH`p<4=bd?nou$Xv^mAfDBjz=NcQh6ryPG1j=uW{cB z5(flS#I>&O#_lP;JcBNDlz(rfGxU!nKV_x;aQL4cGxs%9{>xQz;9sm0Iars~FzSXulGIB7nS%I>XmOm3v9EKqF?6kfR_`AbP{ht*70J7CzuAlYSf8*is ze}p~lH+Fc-&+^04UaC=!N<;ZS_ee1EeGOg5Gk|b#EOjkGVUz~~ha*r#hKcG6(Cy6_ z$zM#2H#YjZOlh}j&m$V=m;`LI>LF^LUMqQM+lYm!$E=(NeoC5V<<=`$e#(75J{>-( zCkIYZp1O1M$*4#qooG;qDfq2IXw=g2c^tJ0xar$dUnIse1EY>}vChqa%El3Lik?Xf zFfuUEO5@YAStW3&%B7{2pwiI84>2g7Ko%Aj6p{ufxV+(EV$w(&p7QGflGy#e!fK2s z%A}FbQhC((9!dPHX5}xXvGh(kH>Wt6Jaad!w~X~++}T^T{{YfAr~Rx_b_+cRbW`wF zN_bB3XNm`;Fv%)q0%)g+KBNyg-aBp$sJG0Kyctzs>0N17WJ{10TtMP;NYDW}N zcuV@>yxwE8?0H-h5mFFaV3>BkqtiU&ufuHK+{9%#78oiE7p7F^k;oL2wTf9CAx!6o zvd~+$fS*t+>b6NTAcM@viA>JvCS)o}9U{kBeGTMj+~}KuYH{e*C*adk564b0!it1$ zlA!(8r5jh&Cv%f~(mQO{t(#;{IWaNPKCRVkr!dvMHYf44=p6gcG;p%FSbLMpo^Y^N zitd`lkQ8xAGKQUzpcK->PAaRVnKbQmG0RrkEh({~fH?_8%QwQs+(T5e6UyfXi6$oP zjFi!jYZ*kx0Ge{;JnK16cnhnQM`n4a-@0sgv+;*JJfopUw;?zX`P?X+svEhSgWvg3 ze%7ZZr>3Bv*xNf(+v$ambn)qGPqBfot{^_TQk^`mw12W+5BDFmcaP4~c*WxGtkc=G zKlM|2TCGF+wNK+m`sMJ4wWae;@;sq!+&dhnTw1JUrMsg+4$=1HH^xMf7N$6a+Jq#7 z8>3uyg(UBFn$qJ9FbZLbIinthPxy5FJySsq zJbbQlKE$&CoJ+Z1HWP_)O$4S!2e~y)6w`X%;!(gw#mF|({yrmr$Q8}}HLctY{)RFke zF!bLhc-!O@ijJKC8aH%t-0o)hux@;Dg8UfWT^|;gveKgBRsBu3 z{H5V7Y?4mKr#QHTAt=b!4p68^R@woVlYvk9>uKAW3UYGR9kLxhJ(T*ah8-@S_i8N; zE$$UK-Xvg-DP6h15?v)l4xU|6R%uy@M`cq{HA9dHHK^ z!A?W5PL-iPM?2Z1Cx)aQFELT{XCP6zOgA%-e?f=T+YW-oI?hnFu*X$7l)tv$KsdES zF%|;KYliakx*U^)6n<8lw0<$Oe1bj^m-JI!tM@mxe_`5g(fC{c0A-Dfu?#}QVB8!T z1{{KNr|V4#^-tM1_72N72#!FrV%DI>AlBXHIqMgwxHD$ zD7mr`cd$qbNsf7BnRl~TT$;e&a#_GrNt;O{TDHCDG&K}Xc|J#HCq3xA_itLvZXakNg@Ue&k+T=$>`TsPR-H%S6*r9k0H&L@ zs(*0pRlwn?`?JE#{g(Jo?B2>zkzr%vf+~pm@wQoiT4$K-ZaaHTv-@%iI-V3X6;m2* z0!J-YhL(yIqKwy3bcvl+Teva9D5#B(k~eCA$9RV4^;>;S4&L{Xs9lk%q6B7T=;+8H8}2bSX^P_(^10_5Dp-{>Aj zIPm@~-o-E$gCJZ&oJ)&^oJM-NM;79G5gAe&!R52kqVlxKo-r`J@vyK?e+@s4r~T_u zfBc0vlY3e}JGlFsR6oH--`@wOdb;{nkN0rHrqIHVP@CIdn~A8c z3}8Y>*u~rGCx63&c_DtCRTXr4g&3Ze{a00!ZO*}a%Hlt3oLy%3RE^y`MWJq9q9%I! zR^~#UoV91|f{B|V)T9w<+vx;(>872-SA@e{6xj`0L^*p~(`ZZ?dLauJ0GP=oH1w@u zQaU(WRj9q;F|K>GucqacQqw_87b$Wl*n8T=B(8TWh-iGo-K;K6Xm7KY?zFW431&}_ zl;@Wg#4~3n0emc4tM*frRKwZA+OQO7YnWJ94a!E@-5VEvb`-@Z!@c(}gJ$@PIqVDW z5tZkfM((q6np=$GSIy9<;(OyzOSHQj1s8ivnc+W$2l1*uRX>HF)@5DRxlQCO?-;y| z&t{w(xMWMW_##gDY#7xWr?eFD_2TBN)xEj5^qk-mbSnlky1+-fk6y8E3aW7_s0p!6E4 zpFGX(Rg2Eja?s-tz?-Yd{zQwHk;C?sMFAGbl137mDU7usJ zmZ5j$e849X>i|k@V0&UH#E*MeCY-rGLQLD5gimtD0J%;_Czh+mBZsL6Oe|juYTB{L z-sln+75K<1ZwQA^VTYr-k8EcbHZ~J9G|uGbx!%^+7f#L-!NHVtB>|HY+Z=NYN}y@r zD7)Hz?eU+&hxpY#5O^Sm?NtXg>Q6gA!W3?LBha+&ZQbQ|_Dn@d>ZNaIc}AFee?#SI zaGHwZo_4m1J)wO;Hw#T~VxSu+fkFG=)l6nc>Ncv7?j;=N32R{B%kCbg2JK+9V+_}% z%&@a;Y;M*R^)t9|X^c=1)x|6eS%XxPDW>QLqx}kXf+q-) zPc*|Z4u^0~a9CSb7CEr6n%+XDOz6z6iyYCOsonkJLf!ob_FoDSwGN`JBEy!r9W6!P z(|I?>r^b)?)gCbTAeq)d-1V(T_S#EkNz1rf$d@zNnjZLivA7MIjAzJZR?8ijzvJ3V39KMm))j>@QHhFBmmQBz7K zVyUQxnN?OzQEF;=>SfaYn`CK?Ya7a3iS{2OSfrWG0a9JoL%CWH|SX|t5RUl$H5 za9)*;L+?BKPDEuJMJuBn6Za@vhQvxeqVH+Ehia8e{Cb5Kg`)Fsc7Guc*=f9D@PB6G zm4_nI@|zCSM-w@_XPGe*gWua07IprXi)|XL97=>R*4In-70Q*oN{LQpM5u-$x798m zaZK&97DXzaozb`0i9F=#%=C*=HEJ^OX!OQ4q;3Ke^xsw$B7YOb8HYt zs7*{bb!hyPc(FgUKB)NzwDWxn{{R%AEt^r6Mnuh9R+gd7=yxg!11kaQifL&Nk&PAF zpo~uUN&;is!-r}1M@W@BcEl|f8y>qhRXlqkiMwO9beswuEuMz@1CHm}$Y9Kx+PUy6~3a+tfx?LpzZ!Upz1`y%drRc1JI3F~H%Ecf3EmNRJsAge7oDa|@%3j~Zx)Ko zW8`pTFqzpTtOYT}hjUz{7em)M2I-6?HWZ zY(%K((1ojp(3#mksNMFI^Gz&@o{Y;aKmu6X)!~FtG2e8criNIKp7k{}@Qy>;oxA3+ z?ilhU(}a??2M2ytiI8lHdRS_sf`);O)#0LMnuAHSac)w8*R`ck@$||9;^+SW>sozS zq=uRqYUi(ol+tP&X3?W?lSH8YFEgC8>^aS1nquy0CIJ#nhg8V%?#Va`NfuoqV_M5h z>;{)P!Im9a3G}(xMY&smAwBp}?kYCzYnbqfvAcV(mm%C61OfqVSiUS%;nwf^J>uAd?uv$jJ_Igba|@IEJ-5F90=* zadK+|RR)-&?8+z1JwpgiYBY{-M#ANiwO0V%Uxg8c*m0cY4%u@NO6%2p=6mDw~ z3}P>mS35hgX9O2y@ztkkn`@eZwlJuji6mhYwKKWs`F&J(9OBOHgxJ$qHzM#8rcRYP z>vAqxTxWf)G`whQw(X{C_Qk1G(n(v1^s5D>e*|8L;;y)2veAq*_oHUWElx8cr*7$H z;+JfdY>`ZMz@Tnqub=KKTW2X<)49_rDdEzkcKK92<&s(Dr-le9TaxWN;oeFm7w5q?(BL~)4PH!b}^1yoT|R4R|B;c~0dE20v__8p~d zC^VqN)}Ymnc_hls-{TQLa}XBQ>kB!)#jx|`Wd{@NcCRwVNU&tgV9u57Lxgn6A6v- zwi@bwqV8>tjlo^e=w-{B^4{`xq&!L$n+uDSEalK5^kq(w7oz2!Scu(06XB()r1q*ovgZb=CNAcD zp{eh4uE@%00>rHQFL-K_T$yFU!=ylA7XY&7AkZx{wzps}Cjc`k&J9sxfMd5mi!`G>1`B}3an>nkp7JO1MzRO~9SY&DS3BH{i=hFEd{zNLSv?{?5n zO)1Q6POl)D){CkxCA(ym)v!LAMxs~KoHt2br^!mtrALHY}OYhFgE%2 zrkpiM{G#&o$ir{9s(X-WB3FjBq&aVEN3G;Fj7)y_0r*(bU8m_F9*rJWm8^Rrjf`&B zaZhF)$@$w9Q?=-^#@?m5ba1HB=%!QXWGU!sq2+UfM2{{!&l`gsw1N+_xvO|wM>QFq zQ(}9U+Y|v}5(S*15olXV4qZ7I?AhT1i%`o8WS$o@ov{+X97;-pQOlRl!+Sr#Af4Ry ziqZHT!a(iG-TA>!ds^6@9xISc{fUz7VEbmE{WA^!02t-=G;crSwk^7ZYC5UdbEVW8 zjSx9h(A3kS+>1D3;>>o}R5NfEq&sD({kLqA1;xtDMFwR#k7~-w2&sK9=fVMPSi)&h zzX(?`f~!!G@$Nb9u&}YoN&EZSOKHv91)y%}ZaFD{GFQv@6?j-uxG*$1?#3NXcB+?V z@bp3_%S}%ddUYg^bh3+mF%A#Zb2YRa@=DezBy;(nIz37qQzE%O$wci{6XiZkEv5Xf zb`aj>>1rj;PXVGgaT8%^PnoSkH%Oq3q4d00;Z&=oll{}m6EdL+_~+c$dH}LTPjYBxb()O@AA>P z%o|0i8`GY;Pq))T!hfJ)(?}Q?-m*Qe!pPy-owV6HRI~1Ak3xcnRDCriG*udvPb-LM zmVEO*MzuZeb=tyH8XJ83Q&csn^Et`V6&pb0B{9M101?-&6-t|0A;XWv}Wukw*sb_(mEJ8 zK*Yjj?fD3AYQNv{7j*1yF2cfNy0zhDZrZ-(?U{tQM>N#Rk6U|Dl9I8papP5#G?l`; zPpG3!QZsKLDi;Ezk6~s*+%k+$SU%7sE-TAk+&Be=g@uBg^KstP!!ylN=G9dH03>&R zc6JH>0LQ$xccqI@X6eP^8(Cn5!upP1%n(z&%`7p9*;w^T&5`}P9$!q>MQFW9lMJ-a z%GV-fb;vCrPp7GhIOB<&l23%^7jlvUl5C3sl-R(z_N0(CR8%?X@50zzT$*uwsnO}ri#4kY3Er7s9EjY&J*&$O+p(iUwg%K~b6 zDmIX|xgEg?CEdhvLz5+Bt0 zs3KJ!sZ|MwQKyz(9`{NXlRTgxb2kxiU-M>)*0KT3d@b38<#U!qOG_r=GNxNe}0b}jY zQGoZCEyd}fv8}|H9HvEtUINBfK(;uz;x>Bab66Usl$4Y8k^?sBwxZ6YCxqD_j{KWS+Pxue zSv<0Mgw*Af(*1;!cM=`F>wDJ`>xlKmdg8fpp0JBDu!B)O&i3N zY1HlrvBR0;4vZkA@PB09i$1D&jH*b?Zqr#4DI}ycm3H}ef*-=5X5g}Yg5L2+Sy zT7S0EM5}w8nA|L?hnG4rwUH*KsYWGlcK4XK{8oxd)9a3FKum5;Bw`2=APFZ&uPdI` zsUw#>T%T%3wlPsVoSf_}rO3H_hN9rr>U#7r4bM$r4Nd@p_Ato9#oEyK9I942 zSt#fk5+?uxZ8b9_k&O{Et@|d7@<+REiY-m+W6=QY=a`|8vuchZWjiEounIl$R^Xo2 zJXGkqe9EWkxk9MZs~|0nZ9J77g~yz3>I%x-vVmD!mT#3QN3@Q^tsAh5niHRtP$>0Y zmAP&{%luGI{bRW4Oix1P@b3J;bz7EJ+(nRq1$-X-jdw`_YQ`5rqaLrD4>8d|$zJ*` zSTXff@K(cJODzT?mf_k-2PZd06$dJVp@yO+rErfENkOnT% zgx>b*7UkIIC=25#0ugWs5Jqx^$UtFb1w3X|PZtU_OF-yXs4dI7o`#ZjQK3dvPLEp> zdtAbZ$UO?ejfydam6es03f#8^m6f?=9`EfZkUc-7{>iDGZBWgWt7x(B(P3d>7W6{c zD0Y+h&Ic?9C$a8|Yp`t__Nf}yFG*W)u!~$Q8UpAPd`VO4BY;q9Q_@MAU0#N=np#=& z*3IwO#6e=soYy8bYzqzx;KstZAx8SR(`)7lmDJBbK_Yb<3N7Kf&g6{Y_4Dyu&r@e- z4uusE-1&}WT7OwC%jvB_1i_aJ1S~Bc0;-tLQ+Y}QWI-_kfmJ`qOh?rib{T4JvZ2cP zLsQ=8n>D1SunUvzK1Q)kQMpL)0}mL3wV)EP8l58H?oDWDxgn@ax$wepu(!GI)AXjW z=V;FBJ*{(E$k;IAhfDWCf4NvC5Ktj@e|wM?+@K2yatLPU3mLvb?uGHWVRcywcm(c- zCPNyQNaGFK@q)5}QpFUaqeG&VRQ*3t)l)+}M~2m~AU&7vxi*;L5SnrQIeVa(RGxL; zp#yE*a>Q|W3^aEgU1F!{OJcr4cXSB|b+b=NS+OzBUlB>yX)zYOG_|ZRd!2eZnQ3Ns z2Un!1fy|KP6%oUwYh2hJwf@1rRvK3Ui+s^okP&|<>1ccEKgC5-k5#ChwxUtCTRWpI zOwExCQ#Y-{*_-P#a5T?7Fk>ce0b5www^5s)h$b|E{Q>DFsvMh0PS_doT7%g!K`G8TYg zg2$^_)yN>eq?>hJ-g-m$=>iB9l+vVb_Pwem<#tbR5shPkEgp0gD_g zWdVhoWedrNCbJ8zzEiD~*v5LStgWbZwpP%vx~fRk?I3YIr6UIu#^}r$elbOAN4{aGlusJNlA&CiYA@T92`Xg@qlqrmD}< zTADF%oD+^31+#?HkeYCw&P{P>3r5Y>jgZ9q^-Q zFEpsrIdGmAtS!!4o|{nMnLblo(|oB88Ql?!^jm`5R^%MAgOG=YDt~K6T{-Jut36cc zdRc8bzMz6&%Z242x}Cdj2xDfD%Qe6*b$-z*%E|`s8;}S!F>DT6br6zPgwh()^(3x! z+6hgJ3zO}3RTW{W?k+VI42VxV<>jI~>Bnn1!J+b(mc_UL0SzTdBO*{iQ(o#CC}~<; z0>)KL(nM*bd!x$7Asdzrx-RHFP(*ZNoWjcIgeoZ>xU?)% zPUlaqzljQCgWDu!rbwK|w5TS^!gDgVj2PNi0jbcrIwHM6M?0FMm9Di(^yKCKqr-C8 z<*=-BwQXybq}{G(p|=UYlTO%Eo0Y;`AgNdx2(>WvUm-`)me*$CP;zO2335riBPR7u z>$hY9$B#+W(ge=$S-T@x1KpBV#wscuA#;OOU1`gSaplq^OtiA?Q3)h1jf_nN%MDx#mQSjep=CxHwE2d-ILk9jc=!_$X;BX)&mb!m7Tl0I3^*z*S7#22x7tnsBhP;I|7@P*P5+KAnlm zqeiZYIgepe9**prY!#2_KglF00d+v~9bD_s zfWpABI4!wATM5Lp4)&fy6g0BSE7s7xL2p68sbh*!QKM1Ht3IBbD!MwD5KK{dDZilq z03rM zuOSBqvRGdmfmE{>43(Z|MAr(4b{2Tp6}cCuTqbvbC$n^Vh;*@iyO-LzeW_n+RFJui z)7`SFsk(U%NE^bZPU$wC-kY>ztd_^SER2XvP+Vkw66KAM=r`p2OpXy{yVR~kc9|7AI18(j zvew5fOQZxYr3>Y43#!V>#rr7+;kOH_+!t4JcR{0lfo~x=KrNv-I33{&lZDiv3zK1b z5H1Ta7{IVSoCUFqfXtW*bZ%-SggHB`EG#arK^2twYaJ!Fth*$x8wr+<2}MqU1cIkR ztcgnuu^({ucaj#pajEJ&03DAHa z-IyuN8)A*PF@)aWEvpL_cnY(OL{O=yJbFt+|&f~ zfyIm|YN2Sau57W`;g3{{VDK+m*F-3n61R{{Yy#tObSD2V{YZ zl7QH77gX5fa%DPfY;W}oTI68~@i;EXWb%1juB#&TZ>SHa-@!$p9l>O-g*qlZRA`!f z%B$(QTB>x~>VIt5c3N-kuKkF2Jw_2gEOKEK*5y$QD(~dwVC`m6aa)iaU1uPh@7K0s z1*HfjG)8S|Z>_x(Tg}!UAw;awYOUDR-qe=FC~7N3YnK|KYSjp>7;Tjf{k8x1>6;J4 zr#$Z5=f2OmuIpSUdW(w~ephP?Q=<)2Y9FXjPf1@6D2&Gh!?aU!I>C4*1Y_ zfew7}5SExBriJywT&0LH*MV!)*)C{Yr8$z@&#F)NL<*I(6UP_d4TLUPT54d;=~WmV zUN7*c0cxwS{qrBJe}4{i>8;+_lBAZsD5yd zHUYp~;BK*U`apNdvdtCqTh>3mHxSltWEW_j_?1SQ09_5G>pIXplLmjL*#Eo=R+Ve& z-_mea>e|ouH#fI7=JgNjXY-)tvA=^@_`TY9N?XSr%(jlYJXF1Jw3S8pCqxhz2;5eM8R}rtJ z^zZk&NXp9PF}&KoG6p$y5by?VQeuFd&>ofk@?|bF80Xl=-6x^5gd8zgz3Wmk?S;U2 zNd^D-z>Rs}T9$hZ#UvD8o#t*=WjRe4Dkpg0>hO&!0hsPa zD8+>?;c*bUc$;*3m^lQ25EmASn;(9&Pwf4K|FdOo!6~7fA&dgxypsR91SLM7JedjhFiLEa}s+RHR_eFyyXuGZF-xph=#ll@gIHepS za_3iuwd4}F+uhWB2!0mX1zLIz4JB{C4?lPIQF{BRtmZ^-ar1St;`- z$3!ZRlK0D&hpKKd|0k?132G9SN<2trtl&@cwmUxnN|HN_u=vVF!wCtQOx&Mj30Uaa z){8NP=jA4u>sa{*GAvocp%iVI>$jOt3hIj)69WxJd?|wnPdU{0`Y=7J(f=%+{9u{B#ocEhOz6?OJQ;5 zEA#I+tr+S$$!y9F)nDV_HXIU0Q`S2@s=Qz;$gDWjLacgL-j3ZIn9K@fs@u z7nV9lL9}hWYSBqWEv5+eKUY}Mu&9d9Ox*F*EZ&F}@Oe)X>yacv0!_qwrbE#@{5P}o z$j;iX_PPOsFpLoupVs^Rv`PslvU>HCBinJOvJ8iE3Tf=JZ%E(KLqTJ`deV*d#aq>9 zQdDgnHs!2On$N?Q(w;RQmNzUQiyPt{GF1{2nhaNJv`|5`YObsI`zunLnQh5_Q+X$q z?Okz-F3ysYl958Y0ZXetiApzEpmARs6@hZ43$ogBD*nfQLuoL_daO^a4#HMAI??s! z!Oem)mi*7BwPY8ty}gx~NYqjAF483nph2oIf{}#Q65=<&XCA`JP?yM0de5Ku%;gTr z)T$VCLmRW(u5KtKbcZv9gZ;|~S=q_W*Yez)&J=0a1$Ix(LB{f7T~rW4LAG|=0At!P z@nexVnU_aN_;(9xC~TIaPp-u?v>>zT^X}FYgDi7zrnsEIvtw6F!OeNst&RlQer)!D z%zw#*B;~GfM~0lD2D#=RT@pVPe=2F|M*qU#x(0O%tYXZ}1mo{Z@cuEWVb-#WnBRI) zd54^y79{66ujowme&e|Znoy6sYEa3u#c? z<}kLoca8U+u;Z^R?Rma;5mv_|$0}3@q{i{Zj-PKh9UTH*RXazY7~tO^(lMyp_PX;; z(X^}Yzjl$0Q=~(SJ@U06ime<0Se~2~mM0X%^5h@3zwbZqke`25Vz>@6SFmz8xrn@> zOZ)YGHyg7ad>B|y2yjX-)4}X*QVsZBBOg;e^Zl~pWej?8(Yf3q%J1Q1GdX1hnFdD;| z(OMnWGba<0iK7E$m#pKpDKQCLw)A>6o5UN3V>+vC@;|5V@6qZuMQ`ldp}n4&m<*UdZaR1T5RkBNuJT38^FAhcQVPIwN6y-J}DWDgIZ?HZJLU zYo8{Eh&%~)0X>Kr-d?I3$>1h)g)OgdSe5kORq+|)jUl1gPLI!~W{SKpX3l*^jDcT^z-JmwgKl*RNy`*K6NdHjrdM699$T%ADLR7*G8+%JTB{e-i;MKTpIPc`a^x6@;THUb z?RfaiIDi@DsWtR83j<>muyOI$@i0=uzZ)?+}B-3gPA|RmdpW z%sG8Yg9WaNX&iGEDs}q8N>8JvE_7mTDwx}SrKc46&d?xmUu*yLMKW^(e|G0R;$@1z zyQhRw@))m>N1?eyTHQyk>jCsM*O32uewP%B{jE-jRkD@y-;GR|f`l8~0N`o%3l|<- znT~hp2`7t%4WWw_Zu~Lu1;c>xMCu1~C-5sT&?`s%hk0e%^BLrxLxPFjqfA%h_DOk8 zmcDzYxJR`$CHjDs)xZYpL3z!cfXY}Y(6V>b8GGVFTx@@hO^gecC836#-klUqLit_| z@08*kpl7ur6BMV#3oMr2+o>b!sicafOuJ3WC%HI}GEDsrfdelq6it%uvN)J)4dwar zlYg1nX0@s!x6zPsP50U3dO0vCkxGE$Aih2^fp^CEexv|ggYQmf|I=VDM4I62pvY2n zc6aK0zh2j{SEpw|>&9q}THqDAspet+`S|M#YXOR1SR7{*dc=M!S=mpRnKf9=x{6VN zP1GWL(v|wODLOhg1(Ee|3r@x02rw=Dvh2j*wMcmxJ9hsesBh{;#XMwG+Q(I+NS6&LtxT6|`u9l< zmC=!hPpuFiv#JKGw>GsedaLHS>86@1DvD0 z0^tqC=DU>6=#Kqfr)Xr<>q|a`{7Y$Dq=Q%H>PMgrZ0t*0cQedbXWB$r|64X+m+p=* z(zrIqgegZNdP2!UF30?24z8CcDYkVVQwwU=kL@_RS|U_j(It244k!s-p^PonySIau zvYbMfRjR@82X`gh!!`FVEe98-TCI9g+nQa~&d%CG#)u?|=57bhSTM)2JF~7QM~Ts9CY1eqBn?g*~L~srA|hB{mVmsrZ2O zBY?17onTLFB;M$fy1ERn@n`ct4he9^kvnIJez$7sD^}ihwOnKwIrA@Y4l7$l^FoG z9IcgdaeH1KOBPTGLH^n5=)%)lkXj4+scCJ2MYS=O<#~`P_fK?wqjY7 zWVj-m?rnyc;;2jvd`&evO6ge|zDYqv$*p6Nf=!r$+eoq0JxdA^4tllc)!^_Z7+C*g zJuaMx$klhq`9EV<&d(=|U_^0|8oa*a-$oJk;<7HkiL*s$&n6{>bi-kuJ&(GozmO>S z8fn~yw3DRC0kz+5ue4flyJ@{O-+$&!(T$CV91E+S1!pPW4*ON*OZ;oKKN! z<6+LOx#5qR;NK<9V=*(T-A`RF%PtK7KUMhD;N>Cud+ffZE8eEQ&WT zk%#KYtqz-KJl>VrnK%9p1qOLl>2#ilJr_S$EpJ?G5=3~Gy-h@6yVTM>#@Ss;QC)%7 z14+=6@r6XHQE518(%A~R25`%5jyO&UbhixWjfeA9pO{LM?;?%dXWHMwrAwBM@Uu!5 z=gE5X33rw*wB&2BWWCshxJ`Z8_{BL1F&5_&Fc6aNhVP93DCjY3Q>b{O7+d}KVkAj& zmFa`!^ZV_EYY@iiN!MTUZIET66n1NLTM9&GG-9rOCh(~(fj7fFXq06uz9INtAgJX? zZh>Jx*I&AJo==yMRmfwE(rh1r^fgVnoG259#E(8*@XX$NX5QKm5m%jpdUoVdqBi&7 zq~8A-{y8NgxhjH>B|+{`i;Rf1F*n`0P_ zXc<#6JNL0;ng65&jenZN>w_$`_%Js!aQJ;`(C;9FWCPxwP6D_2xAFP$7#;ZQgv;n~ zt9rbKuuoI9c?I{2G>AjW#22-jZ>&a}~q z^gZEgzed*>MjXc`%qmkZNuw7q9YoS_pbM|*z%bH|$nW(Zx<}nzEsfEck;H8EY>0^HPvCdu zOn4cjgXpv*zYqF_y->9&g|2;K*0MNn>y)VYO89fDw5z`%$Hu^K!d`4prYh3vZTffH z{E_3ObHm>DmQ3tSlTDNVSQ^=Kpsl;l=hrkJkbhyr>7B(`-~&ZCSl}IR?(@~lY+wns z4<=d;*GshU2zFnOQiiq?tcQhWAlMFiok1=vBF{a9Lx3VY&-(fkL^* z)hml1u_k=RrK=z)Hn&4sN_M(&5r!!T(gRw#oeq!Av}L8AS$`Gy-X19R|1UA&F!@)oQrJMIg?4=cl2-{d=6fTqy44(6TD)n z+V`m~%1}3oTT~?Et+<1qLvLWS+d9zk5q+-wWW27I#tsxK|*uwU*{WfFky}blF3xYJYFGZeYk?s^tI(@bT)uv$SZCdKhsf zkyV1F^}BoK;!K0Ja&GCLm6pcRNZ{#pLKKTixf{JBGJdYeo+y1tVnCN-q_OFgsGBBX z#4iR=w!UH57UC0=a}Z>g$a1P{FCBZwvgc!V>yNcmjE|behuZQO$q>!j`Y&9~gvZM# z*==>Ht%emRQk8~cWCuF~B_(Icp>n%0JH^(~iCb~CJn%E7h>D` z8?)j2_p{WIm5NP%uJ*?;9l)R8l+c;|9m#{J2YY$t^ijlW!&t!(Ka$^}RJ`(xz=PE1 zx_Cfm2AVlA*YoQqI1nmjc@E ztcVK4;(_ijGurtKX_RGCI2?KU zxvG%oRnm}nnPau(T+^ecE!bNsawM0VjpuhIa&~1us(pU2SBK(^+|an>%)Q!^ov;?T zm$;CnOZ^rf)DEL0ZvL@x>;%L^(xjkhis3eU^z;0)0fC3X5zEU#`msE+GW!dj&+H0F zM|rW!*k$kAxGdGZfs_D8P0X|tJUgShA2c=P#EcI{Gj)l$*VHDSeR#c3XUk=TV}yTg&w-;Kiu z#`M}U>1GQD1jWv;Hu`(mjI(3ptN6*DFg3Y?HmP2i?pqfObsq}s50(_-`^BIw1+3)M zsZ35Sw9*U=7M9)tPwaf2Tl`s}XV+iJ&LM9zPWmK_%xVBOWAVO?8QgXnXhU4K<1tw!y$=OMe$@%hnbzM=azq;hEq_hzp^N9c!=skbsx+gyMUpz zxaO+6ag!AEpL-_SNWAxk2L5EKQ|)hk8GG!O(Z4LW?7B@K1&c}^tt#GO!u3z!N2LrR z0q*@k*VB?7gzci0ZlYI$3&FCYTqS2?M{Da9VDq#s``_HShUsZcmtH>)}5~`;bHEZ^!05<_(vY^O{ZI@Bga=T8eM2v1>u#aDDNkO#B7nv5t zuTxec1vL|(9&a~bG^wnWs;h-i+Uj%c)_ZLX+aPUW%Ze6tsVVBL8$_mOMdi~8T%| z|Jar#Xs+S(6A#!h=&wukB|gAmiu+(NwE}fvcaJe=zArV?9Ld}U<{HK2WE)v2)JHwn zt!mtxilv1#AI}BN)VDyo0U=?iD8FdhsNJnwDyt>FM2SmIM zcJlJ{WRb8%b~g^Wet&mt+gOjJB_1XFAbryZ+i-ZG|MQizisKk=;y;A7{eHF8S7GY+ zxMD+opvhOjJ-2=A+6~Nw6lZ5kJxbEw*>u#0N+I@&b9_9ckx)u))Fek%QQFI=pu_}3 zspr#5cX2^tBhPkML2ik6%cjadP_(uq_Fj@|Uj zdIt<-Mas2RQT(kiKe(g6*GS|B&1s&qWMHRpkezSI-JPTN{mYk?MyEBmA6)&j$i+{3@%Trpx8HX+T>tt+ zoH489f_>@rs>gQ;kyVKsUgoW>g;fol*DcpQR@)sM4rlY}RT`QKsf`E|f}RQ3%RV;` ze3yu+oUm086tGSl)CmGhLMu+XqT@HXY^L6O-at7D1cN+t=CnQL&btPR=TDBfUrrQ! zuQ|b2LQa9)(Bf%xZK0Z?y9F=|CzPuD5eV0<#FZ)e({-x1?3?iP)a5QmN(3V}tMj_)XA$C5 z5WiQ9Co@&nUv_|1U`s1m2TMu_<8!};!H@r)+rW$MJEitkX@?&(q>%&1Y9t!|3ixzx z<6=YB;6biFw}A(WJ>z00L{#yO`-!#=1o4N*NhXz-3@4cblC38c!} z1+u}tm7~HQrhpa8BVWGi1gg*UR10M<2|xQ@Jze(MYx*TbwjZ<^uJtoV`u#I&_E@%= zfOC4Ak%ez?P|0zZG%WE<7sjrT`-^B)PbK^P45p?9QVN?-I`!J%fcq^DrqeFQq8lmQ0$#y4tbM+WCg8R$ z9u~;!4-dy9edE)I+LY~srunGog~;7h*Bs#*vs1&qwrtFR6d?+k&OMODZb$`_;`qU_ z;qj4p#L76LGd4%VZ+M|RY$VMzN98vLNVip}RvFe~gX`3e{X9#*)ai8)KmI1HC@I2N z>F*NmA6B;zavSbIS0xxl#yItJ?Q9RvYYNNkiTC}=%arh^@Z*twx2;6!2lY2c8?RN& z>Wi|#!A$6n_Y~~eJQ^%w**@Z` zyX(zjz7KZeTyBau)zzk8kEFO`Uxf*ZmU8J-3rB_wbC0EJdwc{%cW8<6{=#TdtvNlp zywlf=vad4Dl0TmZ$glf6FAR<;6fwNr-en;Ua64 z^ZTTPNd&baWZs_MIVaLE13Vbv01S3(WIeSZV}^k%xP$+%&hj*Y1?UNtb-Ha+_}pr^ z7U_XRa^Wl0?*|Z`+DK+ub!Rr*#7U~WJe)SKxM#ig#5vMRwr_DE4XLmZQODb4X3s@z zoR42xFC9%2dtV!h=j(RhE5vZxsCtyTE!?p@+}e8!?w?o{KttFVP8{?@Ux!FYPm|eK z--+t)xGz9}L{-37GqLsiS`TXvi_L<^>gW`GFHDW!#!$M;3k$r{9zAaXKe5MXhNpWGifdOCr6>!UQQGs$~Z zH&`b!c9*)eM{4zQ6P>RAAGq@h=R_Ch0DQT4)6J3e*TS14;G>3qb|5v01U=;k`X z%uM0#)g1qHo-!^>x9=Zy#5#2p97sR4lz{ z45eA7&eq*sMF6@W-L;fHeS&G05UP{2{TB0&8-Y_7N_5m7_G%2yyiYB)69TK`rV3tx ziL7X4QO!mIK*>q3%pFBAeZ6Z&>4xp|@|?+T{XPmB38rT%)2g0L{k9|#opNw}Q&`a! z86sz4qoot*kAub2i!@Zf*YA3|+XX78{n0(2D$T5_0|x$c6a>a`a$H15rs@)HR zj);UbWCwk=>KoDL(zxNp`|B3T+pXwAJ0XM|^VXKuH8(RbDj=b>gp2{=DB3U)pxvDO z9ht%b56+WV7%b0mV10R^bDZ*>Ka#R;mHM`AS_j{gHxCWOcMpn=#X~*lECsiM|U`!{%^E z2N0Z1$U=8lI{YndApib{|6rf^!Y>R-X zVEEVN2X&~V5Oj~scLHg4MuMMbaVp#fp#T8+VGd40pbTgQ8DV^CZ*8Wy->gF;#i~QY zDnY>MuvA!+ah@m5;dMS=sFx7CQc@qRz`z;5HDB^Bd#5Esq#4KvCwYW`+lH12)K%|3 zqOQBZue|w@vepj>yvE+xH+pq1S?UgLvG;8GyD#1Qo^^MhtW|Z# zYRMoFhF>+LZ!naP{g?xPEccJTB@Fi~fyl(LjdIwlMKFg`k@6e+@?SB-u*MBKrT0ZhFxO=iZy2d)jn`6N1uKH!^E`Oz! z?J5$VKYf;VYZ87+oTzHUKKGmgVsR9hvFq+miE0V~*GyCAiGkX^5@qe})#MY<=~NdY z*;ZmKM*OukLXs@>s)F`vHy*9Dm+6jfq-R61lpf1uaEd~ft|hna-Z#+!hJ7_nQ8^Z2 zA1yMU;LC{)n(F*6=||P|J9H~kzm=T1EyhZ(@|2QIX&ic zi4M4VPD9J8sg1Ftc+I!h z?V5i3d1)#}7i{_ydvcf@bbP0vf#B~8*^*D z_B+h#J17>eL-S6g4@~VF*{voEcs>J;#SYpoJt5bSG`zoLHnMoLS%7yxv^}#gR~DE1 zf4TNuu@zeD(4|wp;TGH{>2|j&j`sD%$)rnyJ!JQJz9}`N{(50Uogts*6Sfz9a||P@ zg6yT`Y;8Fw@FqNx2kUl^bj0<`bosA!7ayXt*44p=AOTIi;qLCS`>NPMz^9?1CR$+L z*#4QUl2rx`tK+cWSa)Yjov5)xwe(tMQn*h&iam#GIj`_V33TCDppSffQ@3qy7gLU^ z_CF5vKV|ZcK^#7@LEW^-ZU3SNWy2hO_{FxlIaGB03#ZOHq6~Qtej^Pt9gO!H$4toZ zs>q8JIDKctq)8t9+y_D>4j#c85tAV$2qcpK0(Df9OB&?WPCZaGI0*_z&h1TQZWNDh z?Iy`R7FKtO9rUm7^$ob1Y*vXo)jn}OHKnFHWvG6mGor`;&Bk)I3~qdwzLUA2UMWVb zR%1;uU`@9|P7GwZzhMRT64XPMhZo57Y`zuMwN${)nH=VC>q(DbdMifx5oBf~TUhF@ z=v4R=eviM_^isXc=q9%qvVNCwMd@u$M%GaK(p5}qThG#SWhKJ9lJd;X7`bHwKv?{S z(|^;R_;*bs;xPSg#HKXMLdMJN@CW%JAFZV=kZhuFRzG}yldHBT_o8+di%o<;)F|PS zm}wTB6+l4skC}oIox1U6o+vw;1~lwLKVR!-%K+u7qkYOOBmNp$0G3YhK*t_o(A`vR zx*t5y0~_I(GiTkIcpBa)OkP1;2Ee)sVq(W?+#e7c0?qwyyg9Gfgp&4hva*l@s)A2M zfUOAzUtgey#WU3AoQ{SLvzz*sbkm0`4@(B*RodQPBZA6zOJ$`2yMa!9$MoKl09sJG zZip0HA1m`)o$Jn(O$_y8@1d0zL-Q3cUfw6gkkZs3D|mUj<^KCc2sSmXTpeM~U$&XN z1mzs5UUxNwBwpbVuv2V+$(yjPmib*eRwz=aZ7y__PZIwUJyATDC973k;7Gf&?6MCB zPnL1niS8yz@`*u#j|nfl|5Nk?ra(EfdaQO!r+e(Qq$5YyCn2Q8IPIzFO6iS)Y^HM0*`L2DG zW}orYHKadCkxShd=ma?})LDGBrJT*+`f(zwjv|IV@uL^H>zcU_mt_)j zsdD#e#QX@hlVko%54M~(0~5w52RPL^Lm?k&-YHg-BSp&qt+E*!aWRmq4-|p!L1Hi5 zYnl5r^k}J8fj)v^vCA`{4PyE;PSC5M;KDA;T)LE!T_@h~6`$??>wHs+zBNSon)kE+ zQS6n1%Xe2tZ$zrgl)q0oIktt`RPIEE#R%QA)%a4?SzS6aebSzlx%tk}cW%$xHOo^UI`v1&CxyB;es@O-k&=v=LD&ivx0p*Fu8^qsQ5mG~Hi%ZaE3O2NKY#Zqe|j@@4{xA1nu#Q!Ls z9+T-%lsYz<%aW4h4A2pV_wjl*{+y%cntSDT~NbX_SVNKB& z`h$*Vhy(YnA|mYco0H^!yp?^Sr!suEswcTmi84J>s5a-CPQAJjh<~#x{Q2Ah_i%eA z?z3C!jPh(U{@q$?$bGbCZe>DMJ4NGZfa9T`8YydYf|%ufgF*bQ!AeMoPOC5_uZezj zZdj6XC4wB~885BdZHi}8p7-+%eN_MV-qIe=Ju%V>%ck6K&WXc8Rr`VO3Mn0w_obwkUs5je-0(bD&=!JBfK}^z&qNW?joWKbdg7*Ro@| z!4eS%1QT|?#W@Q6wM3E?ed6O*;&@d@NBWoYeW~UowYnIuH~!QD6bX_1Mjv5Jv<;^W ztsvDZ*>d@^mG{hSoi*bH$^SM|QszY7)Qrak4V3-Y-H5J)05s#8{VwESCqZ+_`k@;q z8H{<{ly|3^2YbU?iny4+QZl${pMIQl9CeYYji2 zSESQciwMW-PxxHe$qujdtBt?b6<|$q_*)D|23WRZLRW0R8PQ;7Zg?#`_tW-9k>%&1 zj7Rx#yFTaK$my$&Ltj{TDFeQ_s8ZD}? z&3k*lhj>6_bd^WZ4*QY9O^3!k=BGFX(qc#{2Jrh zc8|NX+44KyC)N=oJTLVqfc@*~L-4@16& z^E;9SW6hc~=ih}Xv58E+dxqcq$?7Dv!5DXs&B_EWh*!fiR2*&>bWYTF(M6X>YvM@s zT3qM;8~@?Pf7t|WO~N1$*6(d?DF!KB>V8hW?P{#R)RA^l`NgHRrWIxS$>?slA4v=H zTAmTcNk(4T#Z=nmI zUAFF#ZQyjyNNm^dn!Nj7z2-T-nppv+4;jAp3bKLu4;b0>LS#F3LUCTNZFVQRXWv!D6jEOEX))SAbK^fL7YC7Vm4Q+mb|{yy-DtdzG`W~{Quj`x2sqSqR0T7)fBr3` zesx>wRIhtO`uh#abl$5Jrzs%!5xVp!Om6Hbu&O{2i5?2tYMg%k4=|_iV<`vZ#snBA zQFXd0d3v_3eE8j`$3Mpeq@SD|6f_5|e7FWwK+?Ts34n%EGExK+J0bKXf!_I< zz$@*yl7nVJ%K(4E;u5TbWzu7b98}%E&FztMn7L7R-_27#LAkm0@ayFcehQwQIF;uE z0MZlfK=HrU9-4TUEni4*oKM%2yj{$sEw7 z+9O)|i3Ni(k+^i#?D(j)6%{{c-3x55$mLt1KS4lY;;ybeKfd!K<6>xC_k!j}GA1vM z`xC)^7w2C-CBL2A>L?r-LcT0(63HF;>Aaw#9AMJ64;Jsp{%#AZB~JQYKC_crY{_!7 z^=-LfYp&QIk%?m%D!^(SA}iJmlQ}t3F#D{~#_EO&yBH0G_Cj48#CTMO^>1Rw1iKf} z#V*G7^EI8MK+EJmnvK(ahsES=5GmLa$K)7$;c> z1jy>=zRMdPAj6sUG3z1l0*3605Zzr+Uz0%COM?Y3!7mwc*Q`p^b*(V72e>58TMa)1 zIG(HXxUs`nqytLJ;=8NZvmmo6;b3qTWm%RtLmh`yj8V=6We#oJ3)prbJMhQfT7bZo zipNx*v}B;5#T$Q`h^(+R>)7F!ZXXB-sqQE<$M-!nD>X}g{`J00`F5se zro$+7_r0TY|2@lQZz17|Z+)$H{0#$*l6MapYVBS1K5A6i!a zWQ{UAaIYsGf^Foo44KMU0lDmhR5a{N^CcL2^|V!`_g$C2Nm1j&wx zkL$9XZEP&{omGIw84ol zg$#diuMMJ{7karCHaP*NuK+$0rYyIVvxVoh^)cp!YX)s`WUWn(uavVrJG{~mWi{X*Q(MGv zHuk(Qt^Uo!tKB}x(wO(1INYZAZ=P1E^Db6CRiEmPzwDz|2Y+d76q~(L=*Wt>ebVJB zFJShDfmW?Y0-5Sxw|L<|E{saBgJfqxs}I%i<7fbC*#R9JIf7X2KDmshzF^)F_~< z$@&P2nP>aHivMmc4xrZKGu7gH0OgE_Z2#NlZJ#6BiV*si8I#+x3b9Y$D~9{Edt9Se zHAdZxLmV%p560H=glozd9X1v`+tCSV>sRI-?17G{fO=j(lMt1aDq4h2WDP{nzBL;73 zl|;A@`Ij(gp|>LJYy6)bbY@jV{W9DzTGfluqb#(i8qU1vn_u^pn!I;y?dNr@o5UI$ zw0BqOwpJ~cF5u_Y0XCWtdfh_O$EVAJBe?TwA>XYw(<@fElwAU$IAv-8@%la5 z>AO}8aW<_`U2U((FamT#(&pS}u)uc7M*ZuwZa`t&-NW@ttCRG;D!hL!rZCmSLdc5d zo+O&F2B&CuQNohC2!(ZiV)~YqF2=cO>))9tk;&tOcQ0fQnIHd8TtXHXKAq;RL$I+^ zgl^6T6hevb5+ci$)sY!`+-Z^nM8ktB9ep~7a+&{HFJNH%(`TxF+%!AUsU$7?H`1$p zs{3`mrW2nZ0m*;)m!qqt5P5)@M+_Ul6wJ+{W{P z<|y3SDQ8%~_YoJBMtm(9Y#x*jXq~AKIU7$joW{3>;=8kZSQ8STk$@z3y$k<4V#)Ta zU|M}H^QeiMFxt~SXhq`veaqDg&VE~rxJNEsZs(=SvR0`pOwI_Zqe=JNrYc;a#mM&4 z2gmVB!ZXwN7JfIR)x-U=?fI6&>E8Jy?gciyXnAjCA!W*Z*Uj~=Xr2QutaYb1Gt1#Q zztf|NSL9dCQmnUry=eCFs&&6=-A6Fgs);NRwUcCDkKZYr zpNFz{NhByq&En#&yL1zUKin2>H%$(qci<_1I$SCHrZ#tWqx(RBZ0p_?{SXfGQ+Hr*1z-cIpwCqem`5KR& z597ksk=13{&~z783|Q5UW3<7z#>;GQ%Mu_460raE=>R5t&h3w7tkJOsRnGt#6sdgP zocFLIXF9~1>*- z%O28`Q`zXy(rZ0#ftPlzrn1<9b7;NI*@C*?#b){9APNq4Yy*w}NP$30b7e*3L=y+}SY zLz%iR{$8D2h6O4W2F#7+mVp%8htjl@&{QGclbjsI!fS#^+dL~Oq4+hPmG2+6Hxl37W6~5V*Y(y=K}e;K0ch=$4?FNKrac( zdVkJJ%{&RB{=1a*8c>q0gyv~~z`SU7Vg%|-;6^K&vg)#*DngBheyRMLD7BEzPNblc z1_6p4)(hUprwCPTj|tp*qHE%Zdjbdzy=&=(@q_L`SD~KS+4JKYvD*F&pUK0@>6LMr zGAgSaSvdr);`<|XD*VqQm0GR2##c9Z)ULGr_+;}x3SQ5Rd3w#<=!$aiF{Q2-JQSWB zE+Ejt>s0r^(_1X{xef8@3uftTt!vz`)z^$@yJ>gQY7iX4q~HIeungSJ z3bkXeu(KgpS~Si~vx1?;Rx^o=SGGF82e%-h@&BW^&aC+=Z}+zayB`8MVUQnXK#CWq zxpeV1)6?|oI?wEOL`hwSRlX}^JaM-K63Xi`dN+-Ky)`29n-nc0( zEK?cUFgZ{5Rk|gt1I>6)T#LrcJ0CsC$FPLVS?-TYI~#NH{c`2y_o+&qhO6zUUvqFe zmdVlvebQXDqiCbU-5bbhmHz)VGyUnq1>@`*p}UaL%XRcj(Xrx#H+);|@A7gB-^Wlx zU_gqrzmN1e&FzObXShE>2RwpzlX}oD+Lqk=XMJSl6B}cPlIgvCfHl!U%s8|6@Ee`O zgVdC1%*wZQNWzM;y!lRyMJc7*L>AYG%MTbzy7^+^45isfpvokn{h0#Ju4Buljj5SY zzgx=c|6wJ)v8w|rxjy?Uq1yK?G#sxA_}})T6|O?>W_z zT6v*w9;mE->Q3ZI(R)fCYn#8Ic`Ko*svw2L?|-e=1aW}d%f4N(q%Ne>GR4#QEXgOH zc@h)|xca>~@0hWJQzVK2Y0OUG)W3(#jhztZUD=SH&i7Ey8>*h5_@PV>Drj$Fq1U`O zlYf5oidk`4AHI(FYN_1xZ2@PCbd#f>5ud5|!rG~l?3i*<{tEG~A z)5?hO9xJJzks8;aeC#V+*(XgfD|+yLsQdPRpBpVcI{qI~Ume!;|GkZYB1kuk94P|? zsgX*JkeDDX2m|RxI+V_hMp_yakPV4RNiz_XkWLxhE$Q?Ae4jsl{K0i?@Op2rKKFg@ zbB;-Me(Qmn(T+r;ws?li7}U$oSD*b=yWG19zGeUX=g{;AochDk_I7_LpU%Uth2P^2 z`i11m?jkJLIy|3|G04_FtkY9l{iFpy_++yF=IQKWRXF>Vus~a{Ysv3y6-bVq(<1Q+ zVKej=(n0`P`W!}gC9~8w2`P;SgtZTbX0!XW32;K2Js>pnV_63J38-v*S8+Ui?wpLQ zrWQ$U`jsRpbv1*+yTJ3;W0%IS*VK2GZ@c&H>BlUFONR%D$~Fl-s3vPhPLGpT;Xgblg;^s1E9vwP*T`d=PehhtBFHagLL z4FLwCEhR`#o2u}!zN?_96!t0=o#_DBab{(N;U>AvW_;^QRO0WgdSxnwkM?95z6wF3 zT68H^&eNJ$J40z)1jS5p(4QREOP(%#n{2R}n_nJbkwYimQNiIRe*>Tb(7nBo6g5Rb5g8g7(!DTm3N*y%-`%;Ma&5@ z_v!yWRIS)5OuUn)*fnC5jT1|V3%Orj&wLcxX_rI(bx>if^5)@gpp2&X$ zV}Ea=&p>eH>h|Ze(R0{_%qA|&&d>*ugYNbvUjp9{kN0JH2%}v%?qsWt_fOitj!HZ> zS9=GD607b=;!Lj5%F-Hey8hQ4lR&Ts8CnkZ47Uom6Bwsfd;0EX4KTJ4?p6TAW>-py zCAb9uzZwX(99k?n=Eu5I5JvCY@gw`}KKn0%4L4NPDLZh57*Y^6#D4G)7OQ%lutRxZ zng%w~^L;P>RE+_IJZT0kyfzNd7k2uB=MqQXX14le0HUd-6MrY3lYB8ZJ)P5<6udU? z8OHEu^V|13ri10b>PwPEhFc`QyS%+C`^Zi3Kfk+N(!!){&w{`TGt%i#XX<2t4b93F zf|uya1ow)|`k2sqC=p@!h)Km~3#!s;q%x6gL>w1Kym_mq4#5-oV3@xOvnIzU_hjWu zst*#8v++fZJc-aitlC}6o}k(A9a0uQt{$dd5myij$Nt&_T4?CsG5-W`bP7p^=)Xdv zyXf)24r%^)2L_z_OYic#5FbvPO~bm=5>fSg8M3{QR;73@wtRneeSLtTsgAd{vn2N;X)dJiTL$;YuiCg>yzWMmn%!` zaKZ8>gkhES*V*6=Gh#cNOwZECyOxXajt|Wrq{jBU{#*AdOiEo=J3L6&TqeFQB0uu5 z>ZJ5o9Q`Ke+%ZJo83ao_CcQ5)6VdcwXnpv7-*WQ3+w1^)#S(GJ(icFk7XdI-ZrZ7j zRp+1k=l%KBv*Qf#!8cEHg>;RfO)ahf?@Aa+oe@DjBXADdCVG!wTKoo6ofN4}Mnryf zc1TM|N*W$TUz*WiJ(Eo08-$EKne)jk!eaQB*cqgb}&E3KN z-u1gpKah817iRJOJs^myaV2%dty6VPT=|CmnZluzWX7oi5Ijb~K3RUPy2~7S!-Vj^ zXX(muo3z;7?)CJ{l19y}Gly%(eSrt_WgdiU0$CHnriK)+TCsxJtiRsY#+IkV2=f@g zPf0QFP38>F*1yh5UB4^7ezk2ly6~cOohPc>&W~XhnIC@Wk7G zy8L64SRrwJ!RZ+?__a_IR;!;*zQ_M#ltOpHzMnC_mZt_oz0=J*dU{&+$(zNgo!M@Z z>e2MWmkJLbWi}E~(aM=6eez$GyOSzpM7&7^)dKP5o^t~VB7sxAXFcV&#H{vii9suh zSry%~L-ekx0o^Sz8f`tPkeX!@c_5#=N+RB8e<#p{rH;e5b!5FoRz?S z4w~Nyl}H-kn7+f@;263P*Qa4eO7&0*^d*hAJn=uz;-9?}`AMUO93*g&IV(Q%X64GM zJdp!vq5?>b5~=>Mc5GCI@yi$PZ}5NX4V(gyr;>f7m6<0m#oUPPpo5rVM&yFVcdqh( z1Rv#gA#kN^qS6AyHZ!(j5SGZJq3HNtagjHCsZr4_VUs!PPAJ(^IEdM5GT9~bqI)Gz@g1p}I(Qi^>k zo$Vj@?zJSrbiUOq*Qhp97f*c`s&5^0VRG87L)9S<6@5s8 z8+ZXW>9vJbGO&ZuwaI|>W{Pf@iGUyxRx=IBh>bh9)R<0H0QR_k>A6|dQ-cDYJ{`VQ zIlpL=u^wq>s)u=IN8?YTUbLn~*GJ{AO@Z=dizX#VB+gfeKDJWswoT6b>22$XEre2s z3aUiM1G$TF(OSNe{LA+&Ly6oZJbffF?zBgwt1zDRr+g%v%{uj=`SCaEB9V1FT5hu8|LxxpJ5Ddh5HJvy05$iQkc)FCvfAVS zDCVK&5$;SP?BJNSh1--%#HWn=I-A!6BHE^Z1mJU>YM4m1MN+w%=ps>c?z{(C&UWtVvuHuXeK}($aRyLh{^#CKcvb!2sO&Mxaw$P5 zG4Jcb&mbj@V%M@s!e@G1Fr5lo(Xlqt&lz4{_ie=A@jeFpzmD&fkI(J z@Kof%2!1%@%eim8`@FK$*$2(`oJiplbkAP*V!Tf>*~{(x#KCHGy~L$>IC9b(&-&|> zG^)nWbbbL;A~|)A4|Mi$T#bQ=c>sdaI5?hA;zd}yiZ(UbX*Ok2=tH3iYX|7dxBpuYVbwi*U=A|1YZr*UN&L|$h8Sn88yh!vX)w^0oh?bX1$FTzR0Gr`KvMmhV~0#>yP>5Odfy8g?0WQLeHzaO(STZ|(UpnNReIc=B6?c46fe>^ zUsBGK6T#RKV#{~We8DBDnN&e9$>tfHOCw(wkwU~l0{vJCt*FNJAFd=DEo*UV?sUwC zvNqw?T%Xw1u&>=60X6>=-UiaV8wKe4!p2wfl(ya?iKil(Bl5u5SLZA~k0H&19fpT( z<6E|oXClQnPjgQD4hDoPCOl16q9P#glBUSwB=Tzr2*sSzl61fKrZ@7Nx&6BH(yN&d z0*#2k)DE}I%~@9sNM!FjNGYW_^or<{c7|XNEaxWv(o28}Xeb)-=WRc0{$}C1vbaI$ z{+ygKn2?_Jvq2BeE^EZS`>#Ki`Yb<6BX`KmF^TQ9OmmqN#C$AI25VJ_;KF5+z5~Eq zd_Zz5EHfWQe=k49WzD5~^#C^J;>=DiIQxAaLt2G@&4|wsinKi2t=Pc>fB#wwJrhYjJ`A+|Dl+o91`RjomfxKpu zhs<}K23QS>Lh|j0#rve~Qf#c_i0Uj6DUb5_=fOqfFYI?`jH$B}E&ErYMjZF2=1UHID2AKWqBNaN?{ zmIFDV+~h+BP_hC7!O+^>TnF7Djc0w~HrYM zD*9NMeHQG)c(xRQ9eno3o&q?x@Q_upd{h18`w&FB53qq<2c4Q9g{<4W#gmw@k9S@` zqj+9Q4fMKL&Ljp{u=b%h>@B{EEKTqowSBWyrrbI3{`-&M*@5_$*D#MJ^Ejmg=a@d` zr8-&uL$x|5^N;zRsW0sX1;QX?&opM$$x(G5$p_2ZrXuY*-^v#g0~I3|2nr|ePLP?L z!{#>J+%g7N?Pj#FHKF8S@<2*UBNL5?(>z#L;lIV!fY_> zOd`?rV%WG|?z{1+xnAqFd!=M(-}F$-X=x)Ah>vGSxJs{v_XEH2)mC@LO=xivdpc7>5*tcw?5PToW*g~xuV3xVFpRhThK)I(=__>g1>X_TggMW1{|{* zKWLxe1|&@3*2q zB~Wwq;N;HM8N*pkyLn*}3gF4UhLaIVcn~_g`0z1Qo?Fp2EeAk(>502fQRRnyqv=hr z_xjG9Ng3$n^xrpGS;s$HJfwclz*W=-Uf@})`;YT#@vu#N6d6M{Q6s)2bzg#0rPTY5 z3DdkfOI?ymU3ShGkz2EzpWBDIqZyOR*X533*r-UJHvwa&np;?U*Hq|o&)#Q9200E)63?#2jfp5a!>xf{K zEgC<53jWWWW9vI?eUhv}te5iZ?yC5}p}5G7N7{_Zc%&HH%ULB;3U*;6>qF!t{yS4_ zRab2oYw8apZD2j~3H}zd-(=H$GZ@iNHcm8$vN*8%y*%eW%4@PM28l85%h*pwT{Jgy z4+G|Q$URp(dh`D*NJyNoo%6SRIrJm#JzgL&D-Ke2S9!t;h`m;w!gFd43LbnO&Er=~2A&Jz&|EFgaLa4UOjPX`@Wq zn&&$ZCbX-w)A8Gvc%vpqP8X=zI97E^(v=8ec7b21M3Gr~Dw$0H{wj>bwkx<()6%iy z4Cvx`aMWbdYpkMF zc$>FVkT4A;BZ#*yVld75-AEBtb%n_tXO{wa1!_XI>nenI-F>qhBGLCtaz7kVcn8O6 zCpnM9!A*fbt@kiZYF?p0qV+aME0?~pJ<48zAE>~G9)ZHH0^9*KZ?*V~nd3;-QuwMA z_2gbc%$VHgSIFMP1G(O<*k(cR+1zGNiTpw^=jV6_*=i6RPR@u-=)6dNN=&6mm9U)z zgm8e~ebn_MhSp@Vzr}BQEpJxs%9wfP={fY*{DyI@9JCx{1*xkDaDj5fWd@Y|4}U+m zL^wDksPqv!d+M!j0$}>g+3_BfbsXyt1Y{;%m5tvhe%BvLE6nYDqc}LfINl@DXYhkZ zu6r?*T6TxGYGaVh$$IL$lx7Q11THM`nBru`lPMc}WNMt9tY!pcT!R{|i42bc2P-Hn zMdFh?5^!Oi2#^TKhIVl{sJbL_Y}?qTEax1d0#fF)$ zBY0D^(cv_roVBXpgT%s7K^= z>QvC+7{Mn0F-id3Y;n3>@?u0n$gs)I(cf9nOj&3Fj^EDRa<}uCKCNc|`S}s-wMdg` zpPF4li!I92GFC0c+A-tl?V}_zbq$tV@z$A4MS{SrSH(1`36VA^mmLxIZdwqUy`Vrm|UAOD$iUdr+C!T(--Lm2XWDkxkAKz<8 z%pr>6NT@bSs=z!b#fOxPvS~hbbgi*&8IHBRkJLdX>vPs+p7w4-3pzBcPqC#-qJ^sE zpAa6q&;S4@E<2FO|Jt;h!pM+$4jf#I48fltqH7v1uEc2%+BGBg=uoU!^BtzcrJn+s;ZsxZT82i_D6J#GskS?cZGINmfjj^=n9CM zqmv)TZad9i{UdmIAcuk~O)Wl_?P{P=vVQTDq!>}8FtVFVMwI#Exu6@6h0S38>0x0S zOiGJmygKV?#U?%>Xm)FN&B9Z+@q{Gqh2G{Pro8hqZsa{_za07Df$hX12bxO7dxRZU z5ABqN{}GJK7?=DIyNC;o^j!fV<7qR*>ZZv5qeaD?A=>fGA3A1DvO~%7$=_EGrNVn6 z>w9E{z@f8q=o4AY#lpMLzkpF*2VDjPnPYk`Kh4sC*IgZHGwh)mO5og&F`wgp~#AMU~LB(H&u9Lyvd#(HBD~4U+;XdO+vza zHF?xjmpv4aDnsKZ5Al=tn;pk8q!052_%KC3x4p2oVQ@2*$uconiio2?vHQV)WWv*o zR_gFD$JpfRW^(NAd_-A$}Sm8U@pTwS+87$IN~|Jm`m#+zWEL)jpeM z+B#JhyXnoai2v}`UZjEJ`--Fl*DZ!EkI?kT=aO<2#WG2||0zkz4<-J49a9bP6{D;P z46eLg?$)~j@RLX>DH97*>>KYMy(iZ8-G&1_6=%JEh4E!0yy8DrkpHb~u>Y6#!V%Ki z?TwvdqX64EI@$Muc~?W*PD45wMrR%@NqakFH$!f3X2hK4SM=^JY$l~zwmac@(p!oF z)iM!MwYjvJmgeKVL}xiOc$6kwf4#t3lPs~9!j4Y1WAwPf)kP8W;c!%|92(2Goa!O{ z*uZ>b>P}X%Odo+q^R|<7cP<0po`bz(WeE7(+8dxT9lV@*g{=Tm;K>9pq_^m)oyxnE zE(b?U+&hX36r{DxsAnX%E8<50D@e(dK*sM?%$xep3S?}79w16?0gXT%n~2#pqOZMm z$+yWdJuAn{l$T`-d_I82Q-aTI^2{}$PNC6aCnWFLkNH1V*#a!v%=Z(EZ}oqA7-IAe z9v;f;smn3m!9m$Skp}u?*s8WvtkPa6ks&RyXtkCCzTN%uX7UQ^CN$v;tjp!=3j9q8$89vxDo-)2`$Wj&4NLVo7 zIGxSjbnW3W*bt?jTYYQbrPqG@nNTT2BIR(vSv&Y4+f*RLKj=wEi0Y`HxpWLuQF+4E zH>V(oLha2}*#}^1tj;Cq03c*wbjs2y50RlgjQ#7t4}?bXeKPN+eeQZ{{bsdq6qFAr zFxMXg+v|hLN%(&u8;x52$d{lgpej#X+NIZ^FVMMZ6RVcp)#WZFJ{;?< zS3OMA9eVhWU>b-MDG-E|bKDpIK0{PzwOGCa*T{MX>V6sgNoV56@=vgjP(O6`H_gX# zf%$GgERBTqOhD8btP8ptoe}ibq_d0n8EZLy@e(ZFnGR2oh<5SdhLUJ(6Mc7tx0{KM zadoUm;WN^9C;PJN>O}~#gHJ>Ax6*sdQ3qJrMLo$vxw@FYX`r=FfAOFlM()P7Pd7pd zmqLHR{>f?Wpg5Z#D4oR)Y90N-NBAcncGn5YGSzb9+)aK`Yv6^gX0` zM-4>HoedPaIAt6>tkf_#?vi^Y zv+_18#1iG0u2NzbfCyGD3#h8lug}X)kfcm=_8=ppJHLr^@^er?72V7m)_r;LqD*{H z8e%4`;N*#N3n07;C5?LB3V*JYvbq5JN5J#bxlh}{O`9mrTfeTP0!i+?Vi&-ij=P=! zIzcsp>*M%7*O^F56U%r9tC8Iic5+Cwyd&3y1(&*8>>G7Lte6D?+61W}akm zs~(ow>$iSHJ*(1e*?lvLfl`+GnmI(rJzC~3DGmV7e@U^Hwl=*lWlOm)=@h*1^YPjJ z$LJNlGp!ZZgjNd0UJNL5aCZw^&wm}Q%o`4`lT-TRMf>oB#S54I@%%k(!S|l^A3BaW zJ0J_qQ+*v>T(en4lkVR`sY{g0uF)oOtcs5LX?YnE-ghc8K&9FcI*tHkMcB^pIc&-w zu6(RQI(W5*K7Oi{Y+mj~@Ab?jfJWG9#G_?~kwne8v^dh3vm}%!Sd|~d<@5Se2}LJ3 zZhkS&Eo)1js93usz>w80^`!{*A?3A}%1miQBP#EGb}5TOD+Jz%enukQ(^=O_{Exum zT`R=_Xn}v+K^EnllS3Wq?;-JspM|-6vnzCZSx$uQf)PxvtKp%@A?tCw$UpYgvVeqd ze=G+ZI97gZCeJX6uH6)@|3ti>_)J{o2^R>70M4&FY#DcgH0U+#%B>OAPD|Y(55w8Q zTvOh0fJUj9I9?Ovb>xL({A>Ul1#$Q zOw?lOHySQ6wQgk@zI~RSNl+l??ms7Wq)x123L2Ds+Y)6U9WYjkqi?s`$1wuAAAAuFBT=)JN z;D|k6@ze`_q_4G9CffR0Go78GFh2CVFK^8T-_Ab*B^fuXl<2Xg{*l7OujuwcJb&+n zu!~upVTbT@f?wErABb84{#z} zX+Pm|#J-w-h#jBUl=h^EQYQP)7*toM&Y01nime)ic$&}qv5wy{Ca?$~zFbE?9pZ*b zykwRfYL9Ga_~sHcZ0R`!HAz5upW%J@R0p?FZ*R(vWvgBE-__~2@yS%l$*cq^Z-*j` z4!wAT1_hs6J^FxfjJl~)D6NRPN%-E$&hfpB>}i(1&U6&qhi#*8cHSp(iH8FEV6I)z z>m?N4^32SnFfG{w$82qCZHY9%k`+9cjJE$6ewdGYw6x?78j}w9Cz8%HeuYkKa0HEG z9WY~hU5_lZgK3}j6NrB@j1(=^6TABRDp7*SQr9~0<^7t*Z5=r7$TjWgbplG+bw6uKEO5xqtqLGGAVQf( zv9IK_GLJrR+B?$<{~Z)YZaCN@*QBh(jjtvzLx!bXC{rHBw6i|_u<|h5MMGiC(<7Qg zU$Ru6j8hqp|Be0OB>o9XL%aLGc}kX0LkobW-cy7j6}{^L>Eu_Bx_y!l7kiKwtQ>z= z6p|hFJNl#BdeD0_V2VWAduEr8wL7R8!aLi8S~Ss}@LREUs;8|dWa8pZx8hHa*H62E z{TpEBqZ0Tr%F5piJnPxe==vpTd>3Uc{Ny3|asRv@zj3CO(8IEH*b7XQ<{Naym;=?w z*S#WzWQ+073Yl!zT$SWBBb?EI6A}CL7_Knk+aV$eNvPsG<@5Qf?RoblBfL3+&@(jl zjT)3IA(<3|9{xczxMEAi^UPqw-fFQ6U|u3YRe)W5*Bs{L^n7~ABvj2&$)wZ`;ZXWy zEI=7z#O7ecnWhedSnH1|msSbI>4bj`aF+~BdiXfRw*Y~7Gg&~6Kz;D7^w+MirTem4G?y!qcaXh~J^qDTT zs3M$`kOutZ^$W{?(*#7f?%cYiaO-Rf62+?W%`ExH<*7iu<@Yw{9b-WnO`S6A-|Z{g zXTmD3$>s?v#wF|Deisdg6xa_*mR}|xx9yaTgn)kygk9_0%*<7MkEq|r1rUj0RwwRk zW^gWQai|A9;=H87hn>E_r!x{=ZAaa{ZkDe&-pH~j?5y-hT}-VnT&W%3lqPL)2s$g^ zu1QjcpIqymA!m5D)yy9R@a1yTc*TkzqZhR!Vfl|{W)*&VkOO`LiB6)uwQk8EdD00oXq4uy2o_e0A2Pxvqg!Rmf?g~*iRS8*2~EQ{9q z>whLIQQ8{NaSRNVV!{d>+v8pcQzfH#%}Ux0aU)(xzK!Sp6d|{VQx#N|#xz(;qaB3c zj9xf($`hK)tc(0)7bTnAS6hN{!k%pJRca4v4`T2CEgW6mD(XYMzvNHeSCVd7i$0Vy zp*jx$<0_MvX>@;m(VAY=i{q9Uxal1Nv!240vEU4Be5uzHpmlx%3kk`Sd=2J$yPGyM zEIoL;M@aVbo1%iVefxv-rc~~44=g& zhm}}3*NtieL@8mI8!g?bG_a`KY%med1y`DK+7x8_Bh~+EXM9eFfn|84hu0l#i6z@pxoPpLD zxZq3V5els5TYzTVnT>?V#l;H|eU@e%k;;V_ZAj5nJ9fnh(`WG&#_~VljI2Nu7sfIT zK(_YXUR~4pvFo5%a{D`eGy*A6a$10vq`Wt#%Z9TjdfNOpOdfA8*D9kB6byR*Qub<(joy5{sV4DbsVw&5;K1f0{~vZ!nq z!&QO|vh|Jn4$!q&bHb>oZ_oe*B>krS5jsU)WZ&-adZgPqKssrxwM6+Ds;KMyJFr1JIPV`Z_)y6f*)(n}cXhQ=Z-7VLh zG7jC<5mjdEtx1xrG%BnQ0V#})uD$t)<;Jn9uRxxio;sNa7pUPY;pTrLK$r-+zjWc5 zH&dul9FtvkLqv@C?yK`8&H$sD7^fSlKqgahqC-*HWXc&D*tFn8ivU--+BXg{W1C#_ z`Fi`TxC`lTeqviC1`u=yBt0Bf*iDD#vj4WTmIOKBP?v?Y!yd535xv4<$ zF%?ps&8V|)I*~9_ol6dGZbwO^+|^{{{(`F`Ok2Q)N}G43(Bx1~%%B<*j}yu;M)#rn zqXY&8+GJy>LWtIH4h$nOaF{x`(lV9U*9k+T+N!&&#V|_oum1=*H@+!M4*Vm)$Vb6t zHpMzBuPixBhqRc>iZ~INr~i*ZS}~A#v&%M5cYg*ruT@P?E#06z ze#LgmT4XK~7OsZtp2ROm>0&78k~_r_O481GxyOSnMoupM(`gCi9Gaio(o$yYwrgKSEm9>sw zznsjs9H6a(T|%q_qz}=Da-Zv`KC^+Bsm1z)MOh}G;#`CQeR-nj-5j5I8o2zAU@%=C*29Yt25ZPAO)kg@6;(8?>g@Ue(-HcRR9?)H=R1|Aj{NI9aJyOX>do^OaSA)_io zJ-;EDOkBIBN5|EEfz)3u?N~Qg%|s$*S@9r~J1sn?u*G(*9@OKZ-R0#g`nm7;b@%87|&n!`ig~E>5$g=iO=}1XKJ6>= zz{4a{yc_0JIbh6Gny)36Q`yTDA5RmgmCJ)E)chocl8d0^7-|&mXi|XGi%@R>CFfWr zFp9w9mvHb~);)#5?X_I!Jo zeY^*EOt+f9&ZWW(CzFOOh$rVW2WSSApa3&`fg5=Ze4`s=Syz#7y+%?gpeU z^n7;Ux}@YDl2Uo|XmSqn%01kE{jG!DYyoR(}-WnpMZKebn=ew@aUazNtn zO;_@NgaU2T`@UeJU8{qZ&yu;?>Le-W&Ns?fc38fpZ_7x>i%(c0&W^EfboY=R=AGoqr>5?~l; zN-?)4>10#N9KsJ6wndMYn(IIsxG8ht)!{28ZAke3pXI5YmSnuuU`FPl+Gi?|Yo{<_ z2D&P@zL(1T6eir%$*0z|Q`d~OY9>?J1ww1cX>(N)b}^^JDzurs<%{7_KEZVIs+Ytr zTh?VG{6^syBR0&Uv*)BC5cGFK>URh;INh9)%pGEGR+AB` zchgL}V^=Aj)}#lY<1{khF&=x%qVsssF1bMYz1jv$gX?n`wr|hc*e{2k%XWk}tv*)3 zc{>0c(-gptIqa*dR`ND{j~?(hUp*KxSY2;I7-G&~@oKyF+nLrDYIDt8;;`FN(vg)L zu#MD#1;JeKtFvPDk$usKI&`xk@ab{$8N*wei%7Nz_n27aC)QZ5;W7*G8nKZ(^@h-} zQYZV3#8fZ|>q-Lb07KFiic`b%?@J`{n;*BPyG%V)AnqyJ^)8SW7I(@jq^wK*l_eb+ zzC{((MC{1M`(pX6)q#?63O%EdQT85&B?-~J67T!vZrL?`K)L2dj-CP&h_PKLQ12R< z1xqryG?i&lO6y@YR-YNh513pKltay5Clw zK#ZQ6I$C9`t=S~3P%T@#`&v!*Pp>E!&u<=@z;0 zZ6)vI(o+)B3=16)rW{X(GC{)XwKc%uwsTaQD4yi4WW}BO^#JL(Iq^T*u>&1Ou5aJ; zd|r?>Flg7!$zk5 z$`#J8y}-J+_VKzLt8};V6#%9jpHULVz44}z`$2D7oOFT|_EhY6jMhn0a2(&=U|_*& zG}xv0+}ayH(sF2(sh$j||JuX@9$ffprfUBBM{wA8q0T!SPGfMoWzCt%ZKTmZB{>qg z_j63uFts&ysNNefaub=gM!TGHk2ZEpVE@^_( zyTKJA?eh2Onze>Q)UJq9I+VJ6r>YbZ`njFZqWg=*nkv=um@BP>)tgVJnk3T68>U6X z`;)~y8pO)SS(g$$H~mJ&<3XoAv@6J>b83uMiC5w5XIhOxM5MSJzqSi?_Gz`a*lHa%ry?tJ4-5%lD;py9up*CAnsP_TF#Yv_P%U zF3RRlVeEym0GRmFh2)6CGA;@8s_)xd;7tJs^J~(ij2lXlhbS=L`J7EgeJqmz<=Gce z3n`tQ!mH1a=-xk=fhiR-uvcp+#Qn7H33JS#?6SFh6wyr1OOaoV;jlHm0Y&OTk zgzhVKE#z0k>6%2NkLo_1Rb(vshFBVin-)&=CC?~-O<_$@0iavMLffWv9Iyrd-R~OG+1P#ws_-5 zp8khYqi&G-%0GgzV5Y-gdm>avx{FdzirqjO{pluBK(W7rz3-TDv0;?}Vx@P-y|-hh z_cKHO!m>{NnTX-_nxi4gUu`H0x<<{%qe?Rc$=CgzogDi6Q)p8D5eyVR^ZNATYZ0e; zRwJ1B>ua2Rmv;r#;(7?Tv&AdF-~mN(w&H@yQrYUR+{EdanA{J)U39h<(8@1` z%LPM;l&)vU#X>Kh3_$?NF zBBUL2!cv`}U2mqGS6qg>DFS~3p{!=egP4;1Ow85VIbn8-Kp~Z^Ql(JG$urn{D*^0q zm9X4r>zEM27Q{0%+&==|2;Y$#yG>dLQj(;91e8fr)83*Yh2|eTcdCYyW}^gTq6BWz zm5Z#{SSRX1lpX&FCMZ{$b^ccU&dWHb#;aX9pt`}D+8Pc+W#{SK_`ruTiqYv#!D&0_ z+D6PZ?KNn>#3?Yqe9}!h^wN4R)qqu8$~ZFL?HG^jjg|4{;pwj63Vtb!k6Bj@e(hbi zl=dfzN`STwz2u5wjp9P}qx$8PuyGd~ZfZ*lo$m>)^G6mwpM3B&vUQnqvy+&}jmZ_h2V zhCdG(7CM(Kj%W$Xv_`~1T9O&2=D@AC_>A?dg|ETBBrk;b#*Rk0=AML=qZUrKQBg5R zJAU!PeZ`*=8%pqFH>Mxz4X7uvpwDC~8FdK>>5$Wc4V7!Q_dzTvW@;_gN-vy8P4f&R zVK13>mv=&jHIoCAykjoQ;qV*fvRS1hR}>d^j@$aBb3tL(K@W4wsf27PKTEH>%}z_Y zvG4QUgRB`-wqs9mKQWy9j_x(`ZTk>MUqe@L`udCKXwmTiq-tCDMc$>Y`>e4|LT;Bu z(qEYStkH)&_;j$s=1O}-J6Vw0jzTxfLO~NNqOalF-&oweWA3g)2-_=`GJ6%;R^$lf zp-$M>N@GS5okxOss^vQ~Dzw+syzQ)R=d&p`+_J!I{3G}@)`V8yRq>P`&RD@Y{OBgL&*g9m5lj+1kt&GB zXFxU1f=~(3W+X(L!L7>b3akKeA;Z)Wz2Nwjr;cKm(^g>^s*9f=+5)-vpEU~+?EoWs ze4V^(?N*auXR1J~K+Ih>-TH{TRoZTGSLHJ|7;el6XXHQBkSnzLbK{IOZq^CYdCZ3W zBTG4rWu-3+bc&>7*Btoq`%82S3CmBXf(zQhC#^8HU&TJ01Lp=%r{>MJd+An#Drfub zFeg7&$nJu?gnhgc$B?O-_MnQ+QnB1t5RC?Bnum!X9dhL`pr*?Rp8?){jk@Yf+Wa_Z z_$I3)#xweSU)+54DRS~CJ)(B+$+Go5j-)B;8}Mw>vZwW{gf#2pDHWD7*Iw5*K%!Mr z`b)0i@|h$R8h#wbCYPX>hWa1Km_;zqp6^QUnku}guU_yX@gD)%PL`XCgzOV-GIPp* z1aTD?+$9Rbe04*NMr-pe58}~sXeB!N8>Ikd&_M0`S_1{V0iTHtu>{|EK(1lyT{YOw zzMSDrk#npTxs$O~zc|ljfVaI?xi{+JaK0^YeF=t)1?gK1S8&ZOuZIwlkE$Kixe2-5 zJV~nH7b2CoIh-T2uA{=6OmNtmunH4%CRi%@AML~tI^}$^9Y0BRAb-5*r!g$dtT3^} zrTNTzq3{&#$4D3x2z$g@vd?#oKL1h2_d6Rg{#NCWFzuT{;1Gg6FiIocaf$98M9Q_w zm5Ij{_aHYU-zL<;NL0A8R$etR*|#)wMU?U#AKvd6sP~dy33Jj zo*y4vO4u=D9e$m}yJAsCxwI2kEFNqyDQ(ryJJe^p7l@^pz*pTFpKWELVuzd zrxbp4jSdKzcz}}Nu%wz|Ny&C-kS7esskR6>QkKLDP)+xFs2Sla4cJP11=FFV*O(xk zYZ$MPk8V0ux66?b(MCyBJ;Wiu-J;i@j#A!R**JZ#5+izHU1T18gavDgrjeO0BFz!8 ze2M9o0**;m)?!-QT04HvF`Ii+q}G@u|a*;5Y?(t~({#=G%c;Cv-_v8-p z;UX7#GniN!ZHcNAjFCCzLy?1Mk%8}N=mO5uGa82zk*Is6m37cT+B8ZSF}Lpg2~~pu zZeMWr%L}@hPNkP0+&J=0gKKd9tgKrQ4*`dPV^QKM$wd@{Su#V6sDNh@PR_{w(BXtC z&rXw{m_ZHRy%#SjII>J+N-MfcrkFi!D()8 zC0pXO!)glU<|cIdy*YD0oipBj8yH*jla*gZrsGbS1I4-i;{tlDG*@#*v>V6%|9_J3 zn`-)WK~!L4SD`o_BG4OH8JPZa4}oq#1vU2SaQHdKKiKmUbX#NK#|5iHsd*0WwA-l?AJ{uT) ziwas5T`_Y$eo{ZcXcdfqbjkEZi~PT*EMf-0Lp{|}qaz+i$J%n0Ur(DAH1Tk>IHiNI z^?g^l#)2G(IbHwcNAB=SjkpDCuYUvq;?sJLPqJbUH9uW*yrs0Vk3-n3aKL`6*l{r9+lT+DzkcArDDj?6&y?IL}oVboNfW!h=*Hk7B(%e0a<9hUI(8ahaRzfNoX7?vp zLJAW>0&;Xx_skL?kuax3%nyn?nX(G-rBnAur}JsV3Hv7`MY#T+KxRUHWRB;J8T(}^ zH}P2TZsKP`t&ZSb*a0ZiV8I;K3>G-aqg6pL0+4Bxh$cvv+sy+<8Xw zs$ z7dMrXjJFpt2c&ah?PI9H*0%AuPc~@m#wJq1imx6j^1nQgPCXK4~z*9 zj1}YgzOg^^d)Q}3Jrv49Hx9K|C=_NYQ@x*s0nB^gYk3 zqNRGToPO#}d|z+42#z6}RG&|F&gH9hIOY2TtFWX$R@w(Se^6NH{~AP9AMO`dfLm?;+L4$M^)AP)irDV4tM zd9(Jg&Y`ng*%KZh%+t{_=xYGiYe2FiUts?OL4M;w1rnU!g&;W$iFsJ3hFCwCgerMh*Cd)+R76qA|hoKdM7gxm2EKF_9w@fQtQF7FPF8EaFABMHV z1)a_s3e9EggeXjf$IWY4EwP6q{}SfVE>>nno(tq)Fw@EPFJdTD^L#OCRVF&hJTJUMdmC9pK2HG2agz$@QORIKY4Q-Xs7PMwx>@7v`6}}_1^pEC6luk=r z8)$rAy7zT&kL!=)jxG1#S0kq<>)`8nzr+@OQ$f^TGbLuJL?H}X_%hPa0J@oPO>;Xi z&WIZf(mBmex-Z&N@eknpISMHhI&R_;lMy6pZ`Vj{tWYPyaiT!7?7L1Tr#0)7MWg{X z``gd*iRO>2BUO&bl1ZRZXEh3%4_UkFM8-zk=sHoc@BpWQk=>%l_F?J*Rz4^B@8ff0 z?q&80&GLN*&Y<5-!c_vE1x&jH&UJ#*C=hL9d|K+**AfKY72rAw4_CSQxCb;WcTEexegu(QqMDXjT87pP!NvcOT1VhiK z{mEqMw6x4+>Lwr^N5SpQE#Z8fOwcWj^6%9lETz~Df1-n>s8?(20pulv5DB)GARX^|8K< zZaAGp?_2-IlJ(MjFWnFN85SM`{L(){KVp-bdc1D#ySs5%okD-E=Md>@V4oYneZZhP z`fYu4M`3>^)st#)Q2V@$Z3GwtEcT$MABF9AL>cV1_XEh644kN>IN$mn^q~llm8;*+ zsmIT)qp3ImWUircFq$h#5oT)#h@wr*xuMN=s|PTqZ>{57Cbc!o)}WlqSG_x?0z72f zAOB>=&0DQA^w!^(Swj8S%Y4U2fiND!5`kTt109Mfs`F@IUPQ?)Fcx*<*O4gh^RQl+ zng*B=vFxuevRs{-*3qj6-#Q-(PR;k1T5(Ohu~a3C16n6sYsGoy>jlEA%))rI>S*dZ zu7eD+Q@A$ccJ2o@zio~1wW9qJt}gcia}9+Ncm8PrJI7m@QO4oFf`~;Z74$}s^p7J0 zes9q&2c^Kf^I&%lJeAD&(o@y;_Ge##;A)S<uCnB7Kh{{?Dmr26g zA30#0;>3=>XT2s$DcJ(Wc9IzU5Cu&03uOKYB4iO^Vh;(EE@u8NZ+6YQW>cN%hpFL@ z%svb{97VUoY^O7E{o)F~?wSezPbi!`n0CwYDD@oFpoq#JD5%&Yw;a$cLJ)_}s@*%? z0w^kH;xqx0G5eoSHDSMaP8HO7d_{_s_Eiz$=)5nJ+6Dcrbj|i)0(j=1TQxyKgH=IV z$3bP7N?qDVBA&$Ee;A7B3Ek~d3N|PlubOhWR9Nl6O>79BGPKE}qJ8JK3b8(h7)A9@CLhowk#_S zEjm<1W9A=*MjZzj%}Bl2aWlfNVlOMr^4N?!<%cmEHC|b;K9^CkKqG~6YE32wMV(a4Z3k?JkscrMzu(sfE%f8v#J)Y>glMJSxtP_h|{*>vLv<15FdsZx+wf zf)9>we_ZZ%?EP%VMwPkIl~-*9WH@Jiwyw>9a!@kE7FWch55452t12Sq{tU-mc$hys zUboIQCb`rz0>0bfR8s{l;a*8{CIm@q&Q0|E@x0Ddyt|-(ERS1VwjqoII2q*m<0Vce zK?gL{%{$aUayOh)K9$Ke8jR>G{&y#3{&F0r*f5p`jKC7d->0O_Wu`BuJS4Y46 z!u@g7N82)|<;v9`B~y7u9H)xgR^Up<)JbUC8-V-r%=(x3b3eEP_ z$?RRc;@aX0Ido2MOv??-EPBe!=wj13*sisoJI1?oS&=gVSDhtcnNra${9b!zas^U*iS*)iDa#m{pLis6UOE9#fGtoGxP68RG8tSYtds_?v-j9(1=M&yqgB9LYV#f3DVPDo%QkdF zr1kHx(Krai9i{93`^q|_u|1TV1yW1j7bIpov^^w!S;lAKtaqAex&tJk0`<`YNv?#8 zMFo-teI2x2))p-o^nSZRDsw}hLa|Y%nT1onlwT#oc8cPzf$6>SwRV$`?jRlaZBNs? zXN*_svprrcKjr{YlcZ8d)sKT)b|&lWD#C0Mi&kLcQt#ZYEJ<^vBL+=H>Acb2>JMWI z50u$y2eitWex~7rl|_ahyTpSz!hlW~8ch#>1)h#RNiP}12%@ChsI{Y76yQg(O0+)z zC@{j{kF9AJoJloNW2Z0ZcfkHo4i>FA3)i%D&D85lr=KX*`BwA~!=?sKh%K%)6uT2V{{x}dTHAUhb6bl4eweh)Q?6_- zT0F}0dYEeVIW|(_&1lNkO4~CsaQbL|xtVjThK7=n*P$riS9jjP3Z#*Q2ZZyA#@;ef zDhS~Qt7h%O04un1-CFsqjfy}SNyOi5rl2Lxa5Euvnd0J-n1#jlDTM-R&>*E6vwt8S zdB{EaG38GU(w}$re{;%zO5iYCamO1VE;BzoUsL0%TtRvy0`@g8E&*5fMO|7a|HJU9 zHNP^}1pmYE4u%&brd3JL#u%f&MRuG}kLBieo*2Xs{1L{rmXGcAub5&gJ%9X*9z6t_ z$DBri0;XU+svQc;)WXGJt5an#$xc*L`yV^Kr;MsD=^v*$*AtYZqd~3zFwFMPwMER~ zoBEXeFY7aM$2f?h$9w@QYlIG7LjXrayPV$ac&`1TQcsi_t;QwvnnABVtJD^;KIFXc z@{EwVKabXKgqCvQfTc(oNDoc`Bpu34n!a2EGnz8 zPI&qFvgju<`wq;eHjp`MwlZ~jvC~NAg3mFFi0VOi5$?eJ`5Ik&f&u*cSflj1e;8B^t~}cC zSaPyrso_}Mph3(z)+$#RGS}5!G&85^N)OCbnIs_AaeD>XDW?9UmX2>UsfW>RQaE$% zhb3fDMA^1P)t6eL+r1ofp_*vFxekS&w9EwMr|$87Np7%JQ3`8oW1ybu3^NGaO!^Iz z{|w`75V{V-EElfDtR(GG9>pYhdjFgOWLGnfnDRf7HP+w=II^-SI$I9?@in^$UphS9 zc{`{;?7_5V#4Z~9i;)*M-cS?>h;#{)inL#CJw0b!D9bz(7`+V>?|!8TkHDj&)gB=b z{fAMf{F36$WDN;#3)|dbnY&&+%u1Q@8E+}cD*Y=aaY`$M#EiK8j?$siXh~1Vqr4~f z54!2ya>^24m-LL|t*F&>*GSw|UJvkr(J;aRaK5G-)2}xloOdii4E;P35M8%lMngpN zT`?He)T#(jlli&CZ>DFC@)QKOrYk!+|no8+4=tPf~5t5-=RA%mV2~)0~Wa#j->*5HkGp3Jd za?A(3$6;1sk-LISB@CP%>bxQ^e@o-N^OM_6dw^w*KQmb;F#o2Q(hN%oQ3;&U9sU@o zFI6N+Bs)ZbBC8^w$=mx=YOIAY_i}q(wGIA6>GXrW=8t^)L2x&b^BxI z8e~eBe5+kq(Q3)*vD;iw8V4_!Zjv719L-P!rNGM_9bR2jdL@ou@FznfbXFb}6W}&! zQh@zZl1GU^bh^c(n|B=rrQd$tXig3MW$Bx=A&4M-cUO9lTCcMjeEXySFJC|C_PQQ=eh4>*_+n9XB88;mAt3u@f`u!r1WwYIkRA zukK17zcK7$+B=-tqp>3d>s`;gG-kJS9)*Ql=Uj<>xJUmg{e@wQH9)5R6^?^l-87dW zDscj*Zke=DHeb7Pwd*1NLmlU&$RaGgSFXfhao^BTO2A1h=b7G1Ar$7!`cP2inQpxu zJeP46phlJ0=WOuOj~92?*w)8bDPOfbdkOrDKwBzx4;#eaVW=g`|lKm*z3h_8$hVcKS|C zAccF;fGRv!YzAZrOa^pOH~->}z18}gu1idCt`rgd^5s+uwAKiGaE!IR)@`c!LebLV zP}@Puk*65G3Q-$nTzDnYLRw^-)7iE zrwL%mvBZ9DtHW@(ps3hb&qW#^Y1RGkc8_YbhB&Rr?fn5A_Ak3^lxwx8cR!^OrIFro zs|BbV#gL239ik3mIKpRuIHcFV=X#gOT`1L>)nN3RiS{lpT}q3bZFd0FyqZZZbiJMY zr^Y=5RL*se+YlMV>s?R+y7dYyyDi*QaK9UICjuOzt6P*C?BEm6M1TIn_=JRwmH(DXkv;&q z$uQzls6}_#?{OR}O;Vj%-FW4jaZn2=?? zDR*xJBNpiUy;4uuBG|?^8Q19Qb}4T<9AVg)uA+5%$Px{ZMLyRjg2w@R;dEew(DzZz zl&tnK41^#oxmG^kzBk}V!xRyUUAi!ak=*g1Gud@grgnNVbQ zWV{OBsU1O}(B>3{_D9}l(bAgO;my!Y>|PHofnVmNW*kkvdNE*>(LF;EFsk{__lybF z^)zIaD;!zvaTAeHP^_m{&N9lA=+Ps*nyaSw=^X)Hs5{@w(rX$j%+-w*4Lb6A)HD0`*gCC|8}) zRXv7>!>6G>v8z*o-&ZG=BHVnGGv4E*^@!RZRGv~B2^}Q1B(T1Wf2qfbi|<<|l*fwi z$g2L^hpt;HxjX}sv_Xu+Vm#xeQ6*FjVqW$6{m9LER)AVR@#57O@h!GL8)kmnA9Qu6$J9w&fSX?N1$*xoSyVI|DZ%+u3F?d*fia=<~LgvVvyJ5 zs5+6`uzAYbLCH`WlXEcTByU!e^$~{wT%J9-F*SB}0@j5in4HM#m(rCS5z9HbW6|Q~ zv_$d{sPAD3f^qWHUE(L!T!fgDhX6m~8K-_&nbJ>gg3dk191&*RusdoJHIE*>0x9w5 z&PZ1g-oB0jj({SOuCW^6Co?G-gfmk3=AJXv;iE;e9wjJIzM+E5=7(hSUx{(rmR_p1 zk@Q~fwP4#F%312zAzvf?@b>63rkLFKo^;rN>K{)1;SzB*S=bU8S})Wc@pJC@Oh67F z`U*L4X};OZ3plxjb30@BF5a;{4K2mZ5aI@Y%05=p+~VBI(kFGhHcD14|5jREUmt6x z|GQMdO}3<23zU{Bes(yZdss5Ke3*(v`?$lcCS)>mG&C6As+&zr8q7t>VT-pnga`NqM*Uor}2h(yI;JBUjQ3*{f%jjPl7ssb0 zD*pig0F}+h)mqDK(fDhAY+|lZph!x#!6sFQ;SJ#LgsyWmMTSu^<;W+p}00LN%g~{9Prn>YrG?91=&P_-k>1C z=M(vS5{J<7N%4>1w3%#wR9&Md6#YHBfd|0SD;co|Y90SNhunhEE{zc5~C}I!=O{%IB%9Nd_v}qv_7)J*^enbk$dpF z+?=7Clw~gR`=rZ=8B6#0E@zzAqZY&f!h%>Xce&ra#Mc1x=8009k$$j+*5Ki#JQAS! z1=nO@^ZDK+l#i->Uhw+F;heQ!^pi~*=Wn~fNoMkf=^ApGkhfc z^xdmzI~2GVG`Q_4m+xPgW<3Mi^i4LxM_L$n=l84B9#KP#!i&+vzN5~`wV(_Gd5uWPyubwAtjKOTvKozT!p>>oB@A7#%M@ zx;%lNU-6fOEu71|1z^(w$NW;wHW8t%%l|>3Vd5ffsL{%%)DQj1B982|AES6Pvio zVXF?8fpwJI!X`7r&G?1t{z2Nref~WGV-2!vlq!Hecv%mqpUMQ)Dn^`Zd+Rh>pI|Ey z;+vs$MPEbtcs|Rhu1qy8!paWi!JUryPpp3!9z2;kii!=7;JliD7?Y0F5{9uDmX*6bW z+Sy^a{NBKM2;fj1VY|o$pJrPK;Ji@5bN2p+fgu}A3gLgzSX;tGeDHuvU|K-Ytwe6 zn_61snb`4Xs90@aV&M_6TN(lt3qqknL0^-vsh_lY;=UU1xncrf7q;r!^ornqmJIJ@ z#E%O9hv7#+&)<_F&I3HmV?E&i=x!AB!1;;FAmFcNb)SpF;}XImPZ!C|L73Om;wKw4 z_*#9sk-MoUk9K~E*e>#ddjpqshJIo8h%J4ioc!j=wfr_fll4+g7?*r@)Kphz7}yNsCiOVTdI4(crrb?bDA{(YEg^8? z?^<4qdUZMrhUiuob-Z|bLDzK~)0vo8K9_p=L1d*bydTbMnP#U#^%jn6b|FSQwJ#}z z=wDXn~}-4KC{(yZ>TviTbJLUb%lRG_C$|7oC6b zmMT_2NUD=hPT9DX+xK;$p7TmFd8k`7R zx+Ti^AkG1f10v`LDSrl?z-Vk zF2o{)ys@#L^xDna4m!vmLt^Lx0B@cOXMQUN^vNfH8cmd@j(edlI*cq zw#|&Z1SYQc;2&Vzg{*WzwW8n^!1X~se01x$ocPh=yS-AV z_oX~1(2<)Fa@B03ZW%hVNJlkfb||~vhE}O{w=fG|xsti3Naldn6j5sLSTGhRIVTScqTd<;;{_NuDL68U;g<+!k)V^S>R>fpBb`s;l{<~ z2IBc{{za|Bfy>`rtH&J+RxnfOawI`f=bTK zi;tGvjiiJ<(QL0=CCAQeqPbR0z2$!5@&h_a;cIyQHGENhY$W0{_N%34;3bZioCs$4 zN!rLS9ft^d7^Slc+zBWp44if+iPdEL3{gIp6T2fGcD?YZc^vd^EIf5e1nrdj83y+) z+b>I^*XWi6iN~?^rf0BC6?|y99nn^*rqp~_a_sLegY@c?QoY%c>k}=#7^S=kd#V`C zB_Z(;akNtEsfEroS=IY_5R0Zb$Fp!5cJxj?yQb8>#g;9cnb)Id_E`p=2`|l_Ozt*4 z4u1^dWSc6!e$eq}A@^XIHT(%+LE*wJC5SJ$IsG;mNlbIcNivLniyQseN_W?g;)}*x zqHK$BI1-LQ_Zu2hyP(}`b-6I(ysaQno}K6<9v0f)k1eSW-u2P^Eyho}ZBlcrvy$k; z{~I4T$54rtEINR@8cV8|eX9(E9Cw4UWK!Us_cW zHBWpjzPHXkwM3p7q`?yVM|=+-wzz78F>=Sc|NJzgn|M(wYDBaAcDZfjhwaLK+d+-# zI3K@rom^f@WjplH>|&~uKZXp48WgbLCR1!|u(H*0cyMNZY0Je6bKr))@Y z|A#T`!ARP?aQnpVas4#Qw{=mH)pzG}161x~-}S1*!Y709rX3~9>^eiS8UaM@he^M@9f$)lfq{8!GaujKo^wJtcuF0{J1ezcJ5 zGG%Jjx@0sSNe{SSr)0=q>2+S{AS`!42Yidmd8e-|)O{r>{6&%@5<)nv;Lmw zv_3V1KJ6@hoxFmU^3^|#CZk{*r+*kfA!5eCwQT7RshP`f%^*;qoL3`1CH9@DO%XiS zBPP}M&#de6<8!*?!y$VHlB&zpXA5ytb-){nzX0X604PKARS3~N((MROJIE?pm#W`fX4fEv1iBex)Mrv5lnrPhVawQ_5{$a)`WomCR zwCo(L>#+>Br?#`x=XoJ<|7>Hxb^OXbOv1%LY{*%1BHKHv9_DNOzFj`)ABJV{pS8V= zo|g5z-9dM8>=J+y_FFNdmM`YOebe7;#gqDB<@nHxrZ$q+#VJI(x;>`fb5U;!R^woF zw85|#w!`Qe1()h0W%jKlUfJyWw~JBRy8I8)qh?c+}i zElKJ~WnMDqHh;Y@reF|c`g1_k1L3i8gr4%uLP(50+}peKWCrwCS+H9C(4Jv8U1!hP z_*UuH!h%okJTM%pMLpcj`!t6e*Ylx+va|=}TJ!bk-g1?ADnlhj`zL2yfTMwL_-(ng z{E1=kWUCp>jLbioCdb3T=tYrXruU&!s*)Cbyp^Qh1$U3Mb4%P?ZeI3Gewu*@_N&x# zrl?r^uLOfq5FZaM$EHP<4Ru@HDgIZSa$Q;D_t-uuiYbID*sx_2jnS)}yxJkys zE2Aa(ljLdJ60Eu2n39jEnRcUb1&TpIo2g%KUv0iQ_XZ z$ovmu-y9zN(07aWrCgD^WVTf}v^a=V_;6Vm9K09#PzfO&@N0&TixZQ@NQG&FLe=igs8VwN4@Wp24|-YA;fmK^twkf0*$#OHo`&djqt^R0 zpU2g1z)BYL1v+X`0ip6e`#leRmbLEgBTAexY9+NGNuH5fiz@Q2SADXMyFhDDL#JrjJLLF#-mkeRsgH;-yMgMhGKG>qYaQ zQL*&o3cVr|a+xY6W9Iv6*s>q?tooX*U~XQFXo%`TTTVjbOM5|v=^X|R*&&X1Q*9N& z;Mwg3KcXvYEc{d&tp&7{gd_zOZacbdeFIs_H39X}7)!XxQaVi&ssigDISpVJ-0t2W zDDeUhoV7{{bTA|^I;5IotgIUT+##0ZHRRoLgRNDX%|^+{sQ#*r$col=E>!6s#+h2| z+olW)QE{8IR^nm{15HfIQkCcWF%gP_(vX_7_jrrTEBQy_kf} zp{$(c*taN8{~AC6r5K^*T4fI(bx9X`QlX2T)2->h#mqrKphSWAgii#wn_H^X!qrwej1J;#`@(lPI3O1jSokCxwIpVECR`s+rTu2>Nn%Z8g;;=pb0Rc24p&fkg}xK z>1led3Qmc7r#op0Sgc1rT~i5zzb5>dXvRcY&R2ffnT3P@?)F(&xK=b9`qID!sLkRN9R#(QEFyYUAu zzct_X42D$0y=9swm;S>|20k4Bk$FUTz1W;3AOn>@+<}YgYc(>Ho zPK1nmbB z6v*e@!?*KfVH(8iPOdkDYhH>)WcNN1ZpIqj%b2%3-k4v)xs<3ZH7TR|OD!r_ipxMz z_ZoJM_IsOw1^EggEO;6&LK>mk*-j4cb)UG=^5!*-pq9ebQR}lBUIn3wex3wA@+;Hu;uH14 z*OH&wb|LP+;oay-p4S-XC60s)Z71(*xK4S+fA?;A$TbWGTRr|=jAN0(gLitm%Tc&e zlXn%+8>Tjgc&G^Eum{+wXcg7EH$Q7$0hxzH9d7Mw99LTM{E-ooyK5*@FJ{}jR%gif zSzq$wTr?Un_v_4?8xPYkVb}3m6yUZFm?|giRoH12JeS*lMWoX=eZ5qK0n2}fB{01F zi;lwB*`l=O(stFAQs9+u`dVJJX)T!2QU9Kg-@$#AB)FD=@D^Go>O#mkGLZJQ90SwN zKVjAP*wQH(%q>{q4SrrEBJfH#^OXfOY{KI@-?ue4c_1xbg;xuv;yz=9IKgd5UteYv6xI|;HH0hVme-CdcfD^&nTr5thDXJIWhb>%EVb7dzU(~9ve&E_2X<1pCyyY(nsW;?` zNtuck6Mj(E3H-4tXI;C9<9Q^Vo5B+KZmjz9adM&=t-lZ=oeZzR5$I|GZ3&a&oW=wM z0D6O4G;GjNQ+$(FwqIo1*AcMlm@~flL?pv8MAjTYv}z%5^X;*ZF}u4iI-)YkwoVd?5*PW4m|dHd707dXH@`!Y<560VD2<-CPn(GVziuZn@qpX)1%w zF$}<^$z{&FsfqXFE*puS+c#RDHZAFNG(aCzUB>>pX0kqKJ-Toar*s5@ zJ~^Tm5#^m&I>9s^lBUA66ZiS2BQJ3)1D#0k{)jca6rg+=96+Ck3cv}rXZW*$nPf)6*DwP0k8JD7hS7Qr3-IM6#>Hw7! zNtSI|-NRC!>O%r@n7HYv+@Jfjd=z$PnQ=?Rx%`fjr{l(J8FcqH`E|eD;Jd_T)(1># zG5A^2qx@?4*3JiqES^Kc9!`+-kftlgR@5K^^=*Jb-zk%Q-R(Uim?wi%EXqJ!M1Ry^ zfskqbz0_T1K^0F=8lq6|+is>OS;pfNYPNe=HT^i=Y?k~(Lf*I~0d>tfLj#{_4DzrP zyYwvtl>xPX!%PskevMtf<2w2Jm>^2m`0c6O&)$|caaeqT z1-ZZ2?CqLxUq|CwhdA((^WBdb(a1YyJgtu`=={iG8nyBkBu;z&^^PstRJ*ufI0g?L z_8Uf^Odu@;{7lh*a>jHQ1s>AfL4~?on8T$>EtWp!aJ@f8l_=J`eJuQTo)Y=1=w5VG8aUyKv<8c;AZk~DShL<`G`ms zU;7p(!5JpjtRIb=PsJNMb{%oU_kW{o#D4j4$WG{h!6XX3zSI_{vep3;wcJ?S{!sRiYuZqPWyy}WGZr;h&Uf%lc=veW_zf?%5wD5!{-?O^ z0hc3w;4X)P{i`!DHxoA{P3B(JgPa9jo=Z09G|VlMU_@B7z|zlvZ@O_z9z-jIO*Hz| zK8Po!da6=z!<@Wn;cbL{+ zsL6N4775F*<$=C4v8D>Qfb;;(7o>WG&I$(bF9tKis@s8vfG3wu;_Gc{c!%$l7D@fN z*qy%=U}XKnV9ioL^@awSt;-gUjZ3d@0^^D40hB)ks%wig7i$#c(^WmRCK3srxUW_P zpo8!24GhL7Rups-6W(bp2@>wP_U;+1Y^R+R7g{dauF6PJ+u2< z{-VUEhpICczOkDb$nb&kLnW-S(ox{uio=6|D;RBx22^`senOE$p6zy!e;jA|HQP^z zt~(6xAR(UpyJ9;4Du1d}#}spJ)}i!RdY-+9J`}H3^KYppn$#UWL&KoWn>~#t3qsQ? zO%6d%-0V$SP!qKq=8g=(c=ajDE?>T-+yBFWzGFF*gZ(1^rHZy>a&%2xiE8KVmICU# z);rp_8g0Hz!_$kK@+i0+K2zqKcmLofS7;!}*XPsZuKoiSknZt(J0myp^`m&B;D)ei zW;w&_ja10J{jI%~~e5=x1Ux1G0RO&J|Z zrEjgaghc95-^MUg|6abnG8!E;(An(+|9-ahrKy7-9s~O8HC`Esr((=glX%uMjmtGnZ z-bR1#f8=UU(0$FX`bjQm_AMLSKw5sH;~Xx0EBM@7dpDqwkObX72}67Ri2_9?sElYU zAl3?4`(aSk`R5?Weppf!1ej5Aq(hGB*$v9_6(~6~3Cz zWu*ZD&fRNcBUjV5)NFqoH*yuS?@L`(o_=_Gu_#nP8}O_Cu)u1}a274CwODR%-oqh+ z_D;q)l!_|Bf2DeM_1W`M0uA?!wt81j z!IMlhu?2W>JbBSYrnNk*7>{FjV%ECl`>d_qj8&Cok4jG~#X+(P5__SwO>mQouNC&PF)DqqoXe&JpS7&7KzYvrqEAj+Z2e zHKDCpC_cAd(AXOg7rfJBNTVAC5iQbpaCcWHnl4JEC0Yzsw-SI$7Yw9gKj-gm3AU=i z-Z&7LTPXh!2&lQVKp2*+1W{p&W<}FcW0ZJ3;jp|6eY#6Pn697_sGXx_vmHn^=SQf0 znwx~*HodaFEFTvk;mgG8foh~5q+{A9P)sOazD36GlvSJ!f_AbW^x@QThtc&rI7<}% z){Nr;&m{`wk+0M>^s$sxY(u>urUl8$CrgPLrg1wCVjcjbCS&>qc$9uRo3zY6I~d?s}FSP;mO%ig9u}ZU;JzCo_P{wHhqUEPpT+}=|$%Q zM!7t;f$1_0j{a-MbX9KqmZ)~q$}y*<`qqGJ$HWx+M2(|t>=$sy(#2CP3TwARsZ$g) zx|xqOh3i_d;_G+wu4MJt(8eMI$L+x6$j$VzZ77v0@RvF6K&)0p|86PYH&h0%d2Dl5jOmNr5vEDu%XHaJ4Ktt(L! zkE)%gZu-Ia3=&-5s;|tiS6cOqFC8W2aX@#hC2ADQliFJ_ zt%LT@D^Ao=$=rPPZ_6G|3R0Xmb9opJT^95ZVo{LImiP0np& zQr70eH>1;?tUgpLrKd*0rrDHMTr6^u}*d`ZoKkp9Z3d12IEb_%z*~ruFQ12gjpB zH%&ZyFjEictBipd27wtLTp9P?C4|yUZZmcfn7jB;Jv`Or+c%(@Sm^(Nb1Zyg`1Q&P(T>jOO#)6jPU?Ow}sS8IUv1xVKfspDV8z2L_b9wyz21wqq1YIk4< zk0tOwzjGo?dY4Umj0w>En9FGDYSf68N=b$mWCCbYUp`qm#W`Va`c$ZaWn_ zJo$+jV#&@HIaUX78SmN&<&%y3(SK9-@$?TNz6)_e2o)CtKmBme{z2jeW%NW}|GrPw z)=1QJaa9d+dA;P?XrscfR(Dj~6#Nw2up2}npS}YJ^VS{un@V6PtmAk`{%s4U#Fetw z2b8VVt$a+Dtg9!0r+4S_qvuZMT9rFrg9hw%%} zHP^TbU%8nU&lD1?W!!N^JT)+OiNr@g9U}rE7x*d8Xkc7xK=$X*;dZo_;~ti2pC)~` zkk)h4c|w|%W=8>XU%*p!frD}xjo|`IXshJ2iU4Pta97#0cYI?9149g)D<1W0$35FUr>Y_w@Om-#N~if1Ekzx#zxL z_w~B2*L6K^!`Po_6njvZqKKhm&osWZXaL6$I)@*YTv8=d9S) zF^InkvnAJJGa;NkCz40%HnSyb0l?KUE5njM+;Y43Q~-R|;rw7KgKRX4ZD`r>ShNT!M$%{8Xf(ZSKJ}UJTX2 zapF2x&^Ke!oMtGCQrw^7PgctC3s0r+eU+WB1FKQ#d?Ms=oQhJVo`Pml6fN4*P98!kAxd zU?j>wr*eJMR-o?cZFKyLGP~j(oh|$}0IK!yATp{v+?a zgg&!}H=;3J{V_{m;hp`yHLw3@>I@Pz_M384-`0ONWtRjgA;RL0udhdI{ne}!rKN@w z^XiZ||B0=!#50pT$NEsSN&De#MBEUIJhkl=MPo;i_;7(FwZoPjGi#919@cV@bw(?6cJzq|voGhPz`ycf@}3Uaaxi;K zPT05gX!6xa@HqyYVM+;ZAGs|Rf=sOK9Pgx_^YR>eeuek=xwJ&b+y~Ts?wwN3mU2&7 z`o}DWEDC!}^)lc)$o+CuLlu&8JQasO-zAl`onPyXpIAc|zKUP*$qqYwJbN+z$XHZ3 zgVh&r)D#Nj;-;we7fs(4SC<5l`**$GHzGa_(6$!PRK&Yn3NXR=MMidRV9Q+6=9=Vr zb@}F;`$Tder;lnvYiCf|weQ3wFUSPUUY42v6?tyaZd4TN3$hh zEBC49f;dI>`58dk9VKbDp|>X|tSd9$oy!t^&hk4V9F~4Jf&yRq{s$9T_5`F?kkN0^ zK$vrKF&P~3BlT+jHZ1MFvt7T!DTbCzz*ICOr8jZVfDdvOlR z9n4#j8&dtP@E@1#ZYu6s6fpvaH?WXOZ=b%#; zF{CQHvMkM%nx2fErsc#`FNeVYU`D^T^EzxsSJ{mN%n(1OQfSB;A%l8M>z1q&7f|$%P*7q*Nxcch8r?c^z zxfE5ZcaNpCR2L#5H}{cMXX#Q5>TaA|gWM>2^sASLzHA}U%c>zqTEYz6cI$@5SJUO~7!cDLt0K)ac5_9cIISekk&>exk;+fGQD183+L8I0MLeMJpX_~u)`n0^3tXT9^tOfY^a*&wEx0t`DdFy;@eoOjA z%7NcVS7E>sfXah#!o(jd>*COsnj^Jv-;@v1k)zOe8EWceH6 zOvJd@HS^*FA07?mwsjF2E?i#qL4MpzCtN#BAV@W>T_p2NlSTtI*)=F_Mi&dV*BX>^dGz-q#yC5@v%#BfyW3f>i^|86-Y}h)Kt2df? zH5ZmE+cOTN3d<1-Wth@q{#=8gq!FE86SIc^JbH(qj0xrs$|yGMVf9jdOqRxrER1A? z#t(aj-Xvb$g>&U0JAEk_$)8xX@;rr}Dm%!dwjb4p9~unGi=WpgYrS6n?)9QGDxH0a zU6v5HC^_?-hS%=dr|@gBzf-!)FYSMx^dy}jtl+)=zJvJ_T@Rw&pz6Gpl1|;q@FI^- zhVNGrMbGum)#J72?Z8P!`8#||emFb3n@@BOu#f1{!oBaj%0elpSZac}`-haJqQITX zy@i(YDHF$$CUFVvZ6GgJ*VJi8d}ScwD63$9CAe0rEdEDgN6!_8RgwsLm}7>=Ny<0W zv*PJ}Jamcu`!fYBTyfZyyKi95SWYH({t>P2YNU&F3k7+G1d}nRU+kDz^iW%cXq}fO z8`xOf7_eceqX})nz^gSpU%TvsrYRH6yjgbW)n`S%UNy`YORH?p_ZGpqTO$3I4DDQO zoD>%6sZtycrOOOs*So|kf`p{rd`426xQotRQ^;WD8Wp{4vDe2SldsjG{MBQ7J!0}s z1Lw;>+;<(pyBc&&WRBqV= zD6@*M-L5RT6b$BPp^|9*!8G>X*L)k<8CTq^y{{i`*=*D+<^_$3o#eYYFL2+8otn_4 zD_h7gd3GmLnx4sY`)WywW|X<^vCR`jC)*dX1^c5%`j-4E6h&!ay>ukXSlHO)Ylm+u znaTebLoyGJL$iRR76n0VJ6{XvL4Lu?W@V!mpfCOqg0%D$kJ7CaW24yFih=+Fodd*V zkg?XLgzLWK;I_Y@kj;~RR|pnxePzHvc@i8z%v1@Uj0Xpdjb1sve4nu`-+Z$-G1Jb` zaTCqS8{QW5B9ftdgs#co4VAYIFVSzMv}ydw5>SbHcy#l6gO*gIFq2E^Z429_-f8D6 z-pVbiCvgj&eFu#s_%do4H-7@WfRjI^$G-~ zI3{k!(YDFKtP`T&=gM!oTaeoNS}S_-?C_tqcc%#qO!U@&qWw^3(u)mBLV~Ec|7aL$ zVWy#%649S1TCw!;SG-zSi1Zu)mD*f?PdS@0>99<@7 zl)WCL1_RW6tF3lAiWKg#4iK#Ja#7FIcd}mf;r^Vn6f{VSRRV`x0oa)ujNOa$GOuSc z8VW%GSu=`G^g;5n%dxM;<^uYy%q@7e(i*_XS$0i#WCqz>pDUiX?ImY!D46Z~v!N~{ z`;+gmYk#rbEMn>iR{`41;Zo=!ZWT)TPpq%&4Wpl1S`4>-SH~e?)nxr$igQ;Z?8Oeg zj~dTvdWTnh=wo|V`PEmoH9mQ+pRn2;b?hQ;{`e7W^=8p3R3Q-#NO$*4GTG7NLUkNzG?>H%eU7VYN=k2rF$AILkbm*P~%vB z4-~%iN>Np(e_h-R_H5sPYY(~Gs1+#k04N3}U7@d@=a|VhtS}zbHIDY)qTTsvoO|H9 zBPThG5rsSxls9t!?$PQ=7k4cIVhhNp8?c;Lwq2uz*PQc4U3$Nck{3IQ!JbQaV`#G} zMZ`+Q*R8kwM^o9%xW#eT-OBtMTFkC~&+~VRtxR0*?0|6Y;)?&>S?6RclJ{CGqGQP`Pi~~c{i>!<{=P@% zrpWL{*a)bCQ=-~lQr89_=#NdXtOVNXk+FSh#g^y@$RcFbyWor zr|RupFSHK1IRA<7XB=x1rME{5t&#F$r|ta`cT$L%%BwXwv6lG_g-TO8(Uidqf_yRV zrQ4^ky{USTu%$50@}3#Yqt)l1T1}sS%FMYiDPY%z$m#egsXVc3VP$(i1n$x>wDh$} zQZs5y`ccG`cx`0$dcz8sg<28$s)yD#&YTT{XQW@q>%MDmxXJU2KtsbO(Pzr+J~cxs z925%PYI1OI%IIAb0K#sXzI;-~BZ*R}X%um$?tT^t`@wRenaQb!d85*@|6*!ohwf~* ziAsX3L?5EqcMQ~6Ng^n*xNmi3Q&ZPN4^7Yu^)p>>XGGuTb)Own4$?3$h7-SJu0pFc zMSTTlDoSN6eVY2X-Ze#}aO@Zt#~zX)YT>t^T+K2qVv8Lb3G>s8^F1R|D^+odeYxnF z-(&#}UjF@-I5#x5e&%wT!EWrZS8uAum?*nQMqHl5>`1AYIICZ{RNs4HI){nhq1epR zs`EP}uSUO1Vc;nS)$^XfIgWXL&Pm&O$w&7MjI&t^wIIrix;HGGgF7{vsaVT<-nfXq zy!;en$KnBlyn3=x3(z?W3fEev?7~s3B*HTT&D@@bpziapda48^bOlrqC@A!@q@uuX zBVj?tlvL_g+jC;$fcnS>h#*y7<*<(lh{9AK?=~XNd=7g)X%H8?kdLSs4b9 zAG&;zNe}^E%-tZ|V6RtJe~R>(|zgf{(J*&FyL z>>%e+y1(tfD87ehe{UOe`p16E&MP|*)cZ02@3>BOa&T^ zsbOr&Ncb5N1gIq=%~7T@<^YvFv3JRLA$z*w{7L;f00l&xjko!?%zivrXRUzfpJ>Ku zNk1SA7Eo{bFLR&h)_WSKS)QC*Av^iVzjf`A`1Gv&>Mlrpdd}2~cs?$_nx&b3FZ&A6 zxzk{dEwJ3Zjtgtzlwo^uMRc)6_YH@FX#Z?w`xY!c7DhDN8i^zX{;s>%>>n5@(izCs zx%pu5Bi~CW28NotnnDp=PudfQzVVrj53?7E3t|GK8uwj{GaWvRHM3&tg0=rzP#fTP zo*IL0qkhw=W`6?X%qU51rzoL{7Yaw(7YMm9f?;k`n6c{%eCJ5%%&4ss*=oMvi|}+z zsor$x(k4;H^mUTl&0c#6h`r&R2W`GOc}dXY?*P$jW4#2s^r<7`m#$P+5SVT{|S*`9dW%pFR^7W$6MH{0{rO!2+>`Ej?l-(5{(L!iH7G@46eY2_oxtCLaUJ zFEYfz3pM6b?i82HrRt0K`uZr0QGbe@$x>5GFv3cw7%#f7n7klWA9xgGI!*GGsw=0A z5f4iBZ0w-?0wJGsq{ml)sO9pI%JmQLC85tta+IT0N>K1Sg-7eJT%#_7sZ26}poj8S zrqB)f{toLe5F5)-pmWqNtub9nbF{!<-DGiS6W6WWz8pkd+Wwc zPd;KZ52wNu`%REreQ-X)b(qDKGj8^dtTaHA(D|>P&^gMsh>R<{JG+JZTl4@8hA93E zg=xo_1d19_+#yW)o(lz@ttDYiS`F3&Jf7?rE-Lb-@se%C_nIIqgvrHI1!)RR zaq(Y;w)?#M%dZnRZU2zr_k@^RYC!d_YN1Mo?8?}kh8B5}q{GYyR8e3&3YO=a*qcy` zpf&_`i7w=R@BBOQd7lg6oAN@nD^WPez1duj_@1A869fHR>pXp9GutV^Z*86*`B222eGg}j%*d$M5vJ_cfi<;M5V0B1}q?&4{-8Nm1 zbnp>%!{(xN_j}g`56kgMKpy7qdU9O#*;(-eG;wOF@>o9XJH8~i z6VGKM)i*DdjjT~MuYs~Vd5|QjZ0a!6CC@|6og+5GbvAW;-X|}FtyM>{^W1d_S3SF$ zm8kDugR;96FTq=&)$Ez-_GH0>GD@%K`S@?f)m_%Nhns+pjY6x(pi zZMhCKKI@3<8^lIF;YRo61l)8a5i?9#=ram-#Q$BP*=_`^ixUZ^?-<3)_pM2rzjkC+ z1rUvvknu7vn9310TN;0ql-gY3&*e4TT@lJRw=pMI_}eQno$o9IW(hj&;RSK292eHU z8gOn}S^G|G&&*c)k-HH5HL7q!Y%-ooz?f>5GfV^$6eHE57Ff5CTVeE_BP>wia%)1z3mXsk*&n7o8(qJKG7 zg|D85ditP*kCji54-1OY{=7&W2HbQHTMWg!J7?FMA?+w-jNilT5}Ri9BRhYK6@0$x z$6c(>Z30Onic!-g>A9(EHnztiuzk0>$M^M4W`(@zlw_OM4(1}4Kkw|wOUUcmqdnNC z6~T?8m)5juE*8?NNf%0-yTvYIMA%SCG}Ky|H*kDD!|AOyjZ&s7YW4ly-fWL^1A>Jg zP*{Eop)gDftd}_x4v{Dzyk_N6`NIyq*s*nK7tn?1`k;eLXKMB_-^y|^ym#G01*XMquAG$J&~K$6r^Ys2l%_*oym@W zOJ0=zv0fvD0?S?~qE5N`QIAe!z6?4Yax;I|dXB9MLUvcM>o2 z*IwqDprr4cf5^)`a|%S{qu*aNNwr>6)tgc-zu&qcpg)7s*w#Sb@7$bpWL-~}|3>8O zm^^qHZ}}kXlv#vT&TMVx0%_gz*&bpl>JqPhfdj;00B#=ua8}R_{+7HPL7j{MZPQ}L zPf-G9-#pvwCnKUZ5+F78DG#FdDxTIzcp}&p5`8d0TuF$h69gKzTm+C2z{}Ox^Z`@{ zxFNEStBgiBQApRm{!NAv+_ej4Y>Q@BoB8cs@uQk+iMsWli`^606VHvow}n4~6fPM- z6eyrvtvk)m-F0C-e%O}O={>c?g+sG^!zqIJ@xcDPFe*M1a3?5p3`1?~W z6tE!QW!Ga_>wBf*%ZP`uGu3QMh`Xq{_QbUBYX7^2i_Q<8_ftIk;6v+Vg9fKIPw<)s z%F^#<@@to?>E((Gb8o}3RdGZiDohEJ6r=P#ZTqFJvb%1xpL5j_N9DZ^lN*u@XKHHXGYn@>+)Adw zsJ^)BsvO%t5Sr25$ps<94kNNwvZU7Q-??=!1#7%>kDpdo9fKV~no2lOrcA(=M z#VUForR2HsOF`TDMTvyQ8zYN@&r@yvE6R@_R-5*XoBf=c=Yj|Ag~mSob=#W=je{?m zvEj2IfpfXIuUI}2^`OP8AIiu%++QR2l!Z`B5R*g=hG=$pyF2`&c3OlL-h~H$#e;F7 zjFQjz>~$F*WxQW)A7#p{;I=kP=N!<}NzQmVZ6|j&X`>W;WwqeJXL;j1^z0lGt1D34 zH0a=csjD?A5RV2Vxc^jFS$MrUC-M-_>13M(-jR6|?cTlLpu>Yn;LP-W5cR6vZ^hk=L^O*!e*F!j`Y=ROQ0pP0D$ zMAm;z#4&eB6O?2_CjaD(&loiVe&}+$H|i zs9-1^2M_@*VI*dn$wo?9ObGlbuJ|9lS^_;81L0JY2h^q)x+WstV4My2Nm5|0n}tcrU6kbl zK^es^pH*ftU<$a zrsm#uJh8fqLmIaw@@31=Ji2@E5korPk3{@=jT-@i1|`HTug7l-DNPF9@Lxjlqb-|p z+{=|uA5MgNyTi-j&=glUMC`*ahJ3JFuSHZ6jv99j35fN`ieTJbK-?ktYS_SSY+WV{ zqk&>wN%PrK0tYH%7=K-_Z0g?-P>Ey8sM#AVHj@r4ANK=J)dR~pTa03kmh(Q@mipX~ zi9AE}!T3jFpS9Ov)_(eC_dPeFHk0v(LX7W$bkdlqJazU=0mR%X_XrB5nTYRjE~cE1 zYHZ~EkrZUa`8_paDPKS<7g?N9CT%2q&MNk+AHVJ~cX4??xfnDLN%&(V7~l-yPE_gd zAqcmcsmAWzabdI+(SP|lyQT<|6eu{K^k*K3LG}rNUS8+rjSZ^0f_P?(a_nq}6D&_( z^$VA5UcaBk;)bs`(%6POMOW_UED`d8Z1%nJbGFa zAo2pDjcWy>&Ww#7Sp(ydz2BGWLQrB$wHVVr&xT2@8vXfa&WbbN=D79i>I1wIOwev# zm!ZjY6)sHyBLuHw_MO1)(F-d(h}T;N!DS$-?$dF@;{^Cz=R+70`L;f-Ns?k_>N2Yv z-?7^hR`kD-Ot*zO72wQ1@g*7la=`0N`d!58+kmyv1_6#74L|)HEL@dA#NNMnGNZuD zlXc5tGA?sWOmg&CQB7Y#_nF(}ebeekx)b^39)+gRIIWsS#KH9a8bRkrE6;qRwQ5W~ z!#h{KNe#<1(q+A!&Zn>a=lAn$tiRan+pT}V0R{B!5Ix6~r>FA$P+uKJ`x#b7WXm&` zT)wp_MIfKw4VaQZx$G2$?D!F%xns<=afbK%kfzH8bJ>Rnp;j_Pzqar2A-<&It_T8%hi(fF+5-gwEc9hRYWP zGTpj3v3?C3J0}{aCDla0UMn5um(q2~{bhF0x4GAcew|4^8^JxaOV%HoY|Oj;4zZb7 z;Mv^3GNaKbE$Bd^11F|lsA_N0b;9_+-?9gA;)mu(j$!dAk@

Z*4hZ6IaZ?{-`(P=>Hv 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

u$Cp6Bh6NS;3s)Q-!@)&TY8$)7hZ8+)-m&C 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�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 tJwc$RT&7G{{X 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/lI# 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 U;i`p~n1$C3!9y)~FLyux*@I%S=Kufz literal 0 HcmV?d00001 diff --git a/scanning_blue_bin_on_turntable.jpg b/scanning_blue_bin_on_turntable.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d7b0c7279bd6a2f2034aa2a252053a749068446 GIT binary patch literal 396754 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 nQ>A8;bo%oXsq|>1IM9@sBr@+) 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�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

IQGRiaHP7znPo`(tBw+&CB2tZ23_g>xdiIgHo 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

HOgZTtJrchVTID07ZP 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

&vDZ$^b0c`OkyJ$`S?C8 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�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 BEMx!x literal 0 HcmV?d00001 From 9e506d3a67649d50e0c55624a9b4a9fb4aafd36f Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 8 Feb 2017 20:52:37 -0500 Subject: [PATCH 034/105] Use state validity for faster smartmove planning Increase the threshold for sp_segmenter cropbox --- launch/SPServerStructureAssembly.launch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/launch/SPServerStructureAssembly.launch b/launch/SPServerStructureAssembly.launch index 535f6440..18f88b4e 100644 --- a/launch/SPServerStructureAssembly.launch +++ b/launch/SPServerStructureAssembly.launch @@ -60,7 +60,7 @@ - + From 754b2b4ca633e72363297ba7aaa9d2b6735978a7 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 15 Feb 2017 15:30:03 -0500 Subject: [PATCH 035/105] table frame --- launch/SPServerStructureAssembly.launch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/launch/SPServerStructureAssembly.launch b/launch/SPServerStructureAssembly.launch index 18f88b4e..68aff9fe 100644 --- a/launch/SPServerStructureAssembly.launch +++ b/launch/SPServerStructureAssembly.launch @@ -25,7 +25,7 @@ - + From dddfb3dd814849e536354bda01e1be0b3013c167 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Fri, 17 Feb 2017 20:59:58 -0500 Subject: [PATCH 036/105] increase min confidence, no median filter --- launch/SPServerStructureAssembly.launch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/launch/SPServerStructureAssembly.launch b/launch/SPServerStructureAssembly.launch index 68aff9fe..deb185a5 100644 --- a/launch/SPServerStructureAssembly.launch +++ b/launch/SPServerStructureAssembly.launch @@ -14,10 +14,10 @@ - + - + From 7d822d1834ccfa9d981e0afa64a80026124aed42 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Sat, 18 Feb 2017 14:13:30 -0500 Subject: [PATCH 037/105] fixes to sp segmenter: modifications and fixes --- CMakeLists.txt | 2 +- include/sp_segmenter/semantic_segmentation.h | 1 + .../sp_segmenter/symmetricOrientationRealignment.h | 8 ++++---- launch/SPServerStructureAssembly.launch | 2 +- python_binding/py_semantic_segmentation.cpp | 2 +- src/ros_semantic_segmentation.cpp | 13 +++++++++++-- src/semantic_segmentation.cpp | 7 +++++++ 7 files changed, 26 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d9f2d5cb..6639d85c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ SET(CMAKE_BUILD_TYPE "Release") OPTION(BUILD_ROS_BINDING "Build ROS Binding" ON) OPTION(BUILD_USE_OBJRECRANSAC "Use ObjRecRANSAC" ON) -OPTION(BUILD_PYTHON_BINDING "Build Python Binding" ON) +OPTION(BUILD_PYTHON_BINDING "Build Python Binding" OFF) OPTION(BUILD_ENABLE_TRACKING "Build Enable Tracking Keypoints (EXPERIMENTAL)" OFF) # Enable C++11 diff --git a/include/sp_segmenter/semantic_segmentation.h b/include/sp_segmenter/semantic_segmentation.h index 2ee7d132..2ae2c2c3 100644 --- a/include/sp_segmenter/semantic_segmentation.h +++ b/include/sp_segmenter/semantic_segmentation.h @@ -172,6 +172,7 @@ class SemanticSegmentation void addModelSymmetricProperty(const std::string &model_name, const NumericType &roll, const NumericType &pitch, const NumericType &yaw, const NumericType &step, const std::string &preferred_axis); void addModelSymmetricProperty(const std::map &object_dict); void setUsePreferredOrientation(const bool &use_preferred_orientation); + void setUsePreferredOrientation(const bool &use_preferred_orientation, const Eigen::Quaterniond &input_preferred_orientation); template void setPreferredOrientation(const Eigen::Quaternion &base_rotation); diff --git a/include/sp_segmenter/symmetricOrientationRealignment.h b/include/sp_segmenter/symmetricOrientationRealignment.h index 8a875658..95739444 100644 --- a/include/sp_segmenter/symmetricOrientationRealignment.h +++ b/include/sp_segmenter/symmetricOrientationRealignment.h @@ -53,12 +53,14 @@ void realignOrientation (Eigen::Matrix &rotMatrix, const objAxes[0] = Eigen::Vector3f(rotMatrix(0,0),rotMatrix(1,0),rotMatrix(2,0)); objAxes[1] = Eigen::Vector3f(rotMatrix(0,1),rotMatrix(1,1),rotMatrix(2,1)); objAxes[2] = Eigen::Vector3f(rotMatrix(0,2),rotMatrix(1,2),rotMatrix(2,2)); + for (int i = 0; i < 3; i++) double pi = boost::math::constants::pi(); Eigen::Vector3f axis(0,0,0); axis[axisToAlign] = 1; double dotProduct = axis.dot(objAxes[axisToAlign]); double angle = std::acos(dotProduct); //since the vector is unit vector + if (angle < 0) angle += 2*boost::math::constants::pi(); Eigen::Vector3f bestAxis[3]; bestAxis[0] = Eigen::Vector3f(1,0,0); @@ -108,9 +110,7 @@ void realignOrientation (Eigen::Matrix &rotMatrix, const } objectLimit = tmp; } - - // std::cerr << "Number of step: " << std::floor(abs(angle)/objectLimit + 0.3333) << " " << angle * 180 / pi << " " << objectLimit * 180 / pi <(); if (std::floor(std::abs(angle+0.5236)/objectLimit) < 1) { //min angle = within 30 degree to the objectLimit to be aligned std::cerr << "Angle: " << angle * 180 / pi << " is too small, no need to fix the rotation\n"; @@ -196,7 +196,7 @@ Eigen::Quaternion normalizeModelOrientation(const Eigen::Quaternion Eigen::Matrix normalize_orientation = minQuaternion.matrix(); realignOrientation(normalize_orientation,object,2); - realignOrientation(normalize_orientation,object,0,true,2); + //realignOrientation(normalize_orientation,object,0,true,2); return Eigen::Quaternion(normalize_orientation); } diff --git a/launch/SPServerStructureAssembly.launch b/launch/SPServerStructureAssembly.launch index deb185a5..f28445dd 100644 --- a/launch/SPServerStructureAssembly.launch +++ b/launch/SPServerStructureAssembly.launch @@ -5,7 +5,7 @@ - + diff --git a/python_binding/py_semantic_segmentation.cpp b/python_binding/py_semantic_segmentation.cpp index fa707d0b..28c39c9f 100644 --- a/python_binding/py_semantic_segmentation.cpp +++ b/python_binding/py_semantic_segmentation.cpp @@ -111,7 +111,7 @@ BOOST_PYTHON_MODULE(SemanticSegmentationPy) .def("segmentAndCalculateObjTransform", &SemanticSegmentation::segmentAndCalculateObjTransform) .def("getUpdateOnOneObjTransform", &SemanticSegmentation::getUpdateOnOneObjTransform) .def("addModel", &SemanticSegmentation::addModel) - .def("setUsePreferredOrientation", &SemanticSegmentation::setUsePreferredOrientation) + // .def("setUsePreferredOrientation", &SemanticSegmentation::setUsePreferredOrientation) .def("setPreferredOrientation", &SemanticSegmentation::setPreferredOrientation) .def("setPreferredOrientation", &SemanticSegmentation::setPreferredOrientation) .def("addModelSymmetricProperty", &SemanticSegmentation::addModelSymmetricProperty) diff --git a/src/ros_semantic_segmentation.cpp b/src/ros_semantic_segmentation.cpp index 7eda8511..82cd00e9 100644 --- a/src/ros_semantic_segmentation.cpp +++ b/src/ros_semantic_segmentation.cpp @@ -163,7 +163,17 @@ void RosSemanticSegmentation::initializeSemanticSegmentationFromRosParam() else if (objRecRANSACdetector == "StandardRecognize") this->setModeObjRecRANSAC(STANDARD_RECOGNIZE); else ROS_ERROR("Unsupported objRecRANSACdetector!"); this->setMinConfidenceObjRecRANSAC(minConfidence); - this->setUsePreferredOrientation(setObjectOrientationTarget); + + // TODO: use preferred orientation from TF listener + Eigen::Affine3d cam_to_world; + tf::StampedTransform transform; + listener = new (tf::TransformListener); + listener->waitForTransform("/world", "/camera_rgb_optical_frame",ros::Time::now(),ros::Duration(5)); + listener->lookupTransform("/world", "/camera_rgb_optical_frame", + ros::Time(0), transform); + tf::transformTFToEigen(transform, cam_to_world); + Eigen::Quaterniond preferred_orientation(cam_to_world.rotation()); + this->setUsePreferredOrientation(setObjectOrientationTarget,preferred_orientation); this->setUseObjectPersistence(useObjectPersistence); std::string mesh_path; @@ -226,7 +236,6 @@ void RosSemanticSegmentation::initializeSemanticSegmentationFromRosParam() else { std::cerr << "Node publish TF.\n"; - listener = new (tf::TransformListener); spSegmenter = this->nh.advertiseService("SPSegmenter",&RosSemanticSegmentation::serviceCallback,this); #ifdef COSTAR segmentGripper = this->nh.advertiseService("segmentInGripper",&RosSemanticSegmentation::serviceCallbackGripper,this); diff --git a/src/semantic_segmentation.cpp b/src/semantic_segmentation.cpp index 5563c789..cd5ff836 100644 --- a/src/semantic_segmentation.cpp +++ b/src/semantic_segmentation.cpp @@ -606,6 +606,13 @@ void SemanticSegmentation::setUsePreferredOrientation(const bool &use_preferred_ this->use_preferred_orientation_ = use_preferred_orientation; } + +void SemanticSegmentation::setUsePreferredOrientation(const bool &use_preferred_orientation, const Eigen::Quaterniond &input_preferred_orientation) +{ + this->use_preferred_orientation_ = use_preferred_orientation; + this->base_rotation_ = input_preferred_orientation; +} + void SemanticSegmentation::setUseObjectPersistence(const bool &use_object_persistence) { this->use_object_persistence_ = use_object_persistence; From fe52e2fd3788599d147130f048ffff07a044d488 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Sat, 18 Feb 2017 15:37:01 -0500 Subject: [PATCH 038/105] remove unused code and set perception for costar --- CMakeLists.txt | 2 +- include/sp_segmenter/semantic_segmentation.h | 2 +- src/semantic_segmentation.cpp | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 81da5b4d..f6120b72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,7 @@ IF(OPENMP_FOUND) ENDIF(OPENMP_FOUND) # COSTAR specific application. Leave this off all time if you are not working at costar -OPTION(TURN_THIS_OFF "TURN_THIS_OFF" OFF) +OPTION(TURN_THIS_OFF "TURN_THIS_OFF" ON) if (TURN_THIS_OFF) message(STATUS "Warning, only turn this on when you are a part of CoSTAR team. You will need to have costar_objrec_msgs from costar_stack package in github to compile this successfully") ADD_DEFINITIONS( -DCOSTAR) diff --git a/include/sp_segmenter/semantic_segmentation.h b/include/sp_segmenter/semantic_segmentation.h index 2ae2c2c3..bee784c2 100644 --- a/include/sp_segmenter/semantic_segmentation.h +++ b/include/sp_segmenter/semantic_segmentation.h @@ -172,7 +172,7 @@ class SemanticSegmentation void addModelSymmetricProperty(const std::string &model_name, const NumericType &roll, const NumericType &pitch, const NumericType &yaw, const NumericType &step, const std::string &preferred_axis); void addModelSymmetricProperty(const std::map &object_dict); void setUsePreferredOrientation(const bool &use_preferred_orientation); - void setUsePreferredOrientation(const bool &use_preferred_orientation, const Eigen::Quaterniond &input_preferred_orientation); + // void setUsePreferredOrientation(const bool &use_preferred_orientation, const Eigen::Quaterniond &input_preferred_orientation); template void setPreferredOrientation(const Eigen::Quaternion &base_rotation); diff --git a/src/semantic_segmentation.cpp b/src/semantic_segmentation.cpp index cd5ff836..d82d9b6b 100644 --- a/src/semantic_segmentation.cpp +++ b/src/semantic_segmentation.cpp @@ -607,11 +607,11 @@ void SemanticSegmentation::setUsePreferredOrientation(const bool &use_preferred_ } -void SemanticSegmentation::setUsePreferredOrientation(const bool &use_preferred_orientation, const Eigen::Quaterniond &input_preferred_orientation) -{ - this->use_preferred_orientation_ = use_preferred_orientation; - this->base_rotation_ = input_preferred_orientation; -} +// void SemanticSegmentation::setUsePreferredOrientation(const bool &use_preferred_orientation, const Eigen::Quaterniond &input_preferred_orientation) +// { +// this->use_preferred_orientation_ = use_preferred_orientation; +// this->base_rotation_ = input_preferred_orientation; +// } void SemanticSegmentation::setUseObjectPersistence(const bool &use_object_persistence) { From 1c03371dc5e9f80481ea7bb8c90a5f7ebeba288a Mon Sep 17 00:00:00 2001 From: Baichuan Jiang Date: Mon, 6 Mar 2017 17:54:57 -0500 Subject: [PATCH 039/105] Merge branch 'master' of https://github.com/cpaxton/costar_stack into kinetic-devel # Conflicts: # costar_instructor/instructor_core/nodes/instructor_gui.py # costar_instructor/instructor_core/nodes/instructor_view.py --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f6120b72..632c02ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,7 @@ message(STATUS "** CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") # CORE LIBRARIES NEEDED FOR SP_SEGMENTER find_package(PCL REQUIRED) -find_package(OpenCV REQUIRED) +find_package(OpenCV 2 REQUIRED) find_package(OpenMP ) find_package(Boost) find_package(VTK) @@ -231,4 +231,4 @@ ELSE() ENDIF() # add_executable(TestSymmetricOrientationRealignment src/TestSymmetricOrientationRealignment.cpp) -# target_link_libraries(TestSymmetricOrientationRealignment semanticSegmentation Utility DataParser PoolLib ${Boost_LIBRARIES} ) \ No newline at end of file +# target_link_libraries(TestSymmetricOrientationRealignment semanticSegmentation Utility DataParser PoolLib ${Boost_LIBRARIES} ) From 606cc3bfc3b66a25d7c1cf2c15665727f26bb836 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Fri, 10 Mar 2017 12:50:44 -0800 Subject: [PATCH 040/105] remove unused dependencies --- CMakeLists.txt | 1 - package.xml | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d817614..6da93990 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,6 @@ find_package(catkin REQUIRED COMPONENTS PCL tf pcl_ros - pcl_conversions sensor_msgs ) diff --git a/package.xml b/package.xml index e0d0dbae..c6ca1117 100644 --- a/package.xml +++ b/package.xml @@ -40,12 +40,10 @@ catkin - pcl_conversion sensor_msgs tf pcl_ros - pcl_conversion sensor_msgs tf pcl_ros @@ -56,4 +54,4 @@ - \ No newline at end of file + From e4e3a5b3f900aa990a14f75b632aa4eff399e7a9 Mon Sep 17 00:00:00 2001 From: Andrew Hundt Date: Fri, 10 Mar 2017 22:49:15 -0500 Subject: [PATCH 041/105] build now works on kinetic --- CMakeLists.txt | 1 + package.xml | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 632c02ff..e46e0eed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,6 +121,7 @@ IF (BUILD_USE_OBJRECRANSAC) message(STATUS "ObjRecRANSAC enabled") ADD_DEFINITIONS( -DUSE_OBJRECRANSAC) add_library(GreedyObjRecRANSAC include/sp_segmenter/greedyObjRansac.h src/greedyObjRansac.cpp) + include_directories(${ObjRecRANSAC_INCLUDE_DIRS}) target_link_libraries(GreedyObjRecRANSAC Utility ${ObjRecRANSAC_LIBRARY}) if(NOT EXISTS OBJREC_USE_CUDA) diff --git a/package.xml b/package.xml index 85001ad5..6e30e15e 100644 --- a/package.xml +++ b/package.xml @@ -13,7 +13,7 @@ - TODO + BSD @@ -41,6 +41,8 @@ catkin + costar_objrec_msgs + objrecransac sensor_msgs geometry_msgs pcl_ros From 058f444ff22ef214797408c4682d395d167ffcf9 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Wed, 26 Apr 2017 16:05:31 -0400 Subject: [PATCH 042/105] Refused to do segmentation if preferred orientation needed but has not been set yet. --- src/ros_semantic_segmentation.cpp | 58 +++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/src/ros_semantic_segmentation.cpp b/src/ros_semantic_segmentation.cpp index 8ac51d47..ff313391 100644 --- a/src/ros_semantic_segmentation.cpp +++ b/src/ros_semantic_segmentation.cpp @@ -262,14 +262,22 @@ void RosSemanticSegmentation::callbackPoses(const sensor_msgs::PointCloud2 &inpu this->setCropBoxSize(crop_box_size); this->setCropBoxPose(crop_box_pose_table_); - if (need_preferred_tf_ && listener->waitForTransform(inputCloud.header.frame_id,targetNormalObjectTF,ros::Time::now(),ros::Duration(5.0))) + if (need_preferred_tf_) { - listener->lookupTransform(inputCloud.header.frame_id,targetNormalObjectTF,ros::Time(0),preferred_transform); - Eigen::Affine3d preferred_transform_eigen; - tf::transformTFToEigen(preferred_transform, preferred_transform_eigen); - Eigen::Quaterniond q(preferred_transform_eigen.rotation()); - this->setPreferredOrientation(q); - this->need_preferred_tf_ = false; + if (listener->waitForTransform(inputCloud.header.frame_id,targetNormalObjectTF,ros::Time::now(),ros::Duration(5.0))) + { + listener->lookupTransform(inputCloud.header.frame_id,targetNormalObjectTF,ros::Time(0),preferred_transform); + Eigen::Affine3d preferred_transform_eigen; + tf::transformTFToEigen(preferred_transform, preferred_transform_eigen); + Eigen::Quaterniond q(preferred_transform_eigen.rotation()); + this->setPreferredOrientation(q); + this->need_preferred_tf_ = false; + } + else + { + ROS_WARN("Cannot find preferred orientation frame"); + return; + } } pcl::PointCloud::Ptr labelled_point_cloud_result; @@ -354,14 +362,22 @@ void RosSemanticSegmentation::updateCloudData (const sensor_msgs::PointCloud2 &p // The callback from main only update the cloud data inputCloud = pc; - if (need_preferred_tf_ && listener->waitForTransform(inputCloud.header.frame_id,targetNormalObjectTF,ros::Time::now(),ros::Duration(5.0))) + if (need_preferred_tf_) { - listener->lookupTransform(inputCloud.header.frame_id,targetNormalObjectTF,ros::Time(0),preferred_transform); - Eigen::Affine3d preferred_transform_eigen; - tf::transformTFToEigen(preferred_transform, preferred_transform_eigen); - Eigen::Quaterniond q(preferred_transform_eigen.rotation()); - this->setPreferredOrientation(q); - this->need_preferred_tf_ = false; + if (listener->waitForTransform(inputCloud.header.frame_id,targetNormalObjectTF,ros::Time::now(),ros::Duration(5.0))) + { + listener->lookupTransform(inputCloud.header.frame_id,targetNormalObjectTF,ros::Time(0),preferred_transform); + Eigen::Affine3d preferred_transform_eigen; + tf::transformTFToEigen(preferred_transform, preferred_transform_eigen); + Eigen::Quaterniond q(preferred_transform_eigen.rotation()); + this->setPreferredOrientation(q); + this->need_preferred_tf_ = false; + } + else + { + ROS_WARN("Cannot find preferred orientation frame"); + return; + } } if (!has_crop_box_pose_table_ && use_crop_box_) @@ -522,6 +538,11 @@ bool RosSemanticSegmentation::serviceCallback (std_srvs::Empty::Request& request ROS_ERROR("Class is not ready!"); return false; } + else if (this->need_preferred_tf_) + { + ROS_ERROR("Does not have preferred frame yet. Cannot do semantic segmentation."); + return false; + } // Service call will run SPSegmenter pcl::PointCloud::Ptr full_cloud(new pcl::PointCloud()); @@ -608,6 +629,15 @@ bool RosSemanticSegmentation::serviceCallback (std_srvs::Empty::Request& request #if COSTAR bool RosSemanticSegmentation::serviceCallbackGripper (sp_segmenter::SegmentInGripper::Request & request, sp_segmenter::SegmentInGripper::Response& response) { + if (!this->class_ready_) { + ROS_ERROR("Class is not ready!"); + return false; + } + else if (this->need_preferred_tf_) + { + ROS_ERROR("Does not have preferred frame yet. Cannot do semantic segmentation."); + return false; + } ROS_INFO("Segmenting object on gripper..."); int objRecRANSAC_mode_original = this->objRecRANSAC_mode_; // Use the detector for objects in the gripper From 82aca4c75e5a639a889df2eaf48a4a80f64be3e7 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Sun, 30 Apr 2017 23:07:18 -0400 Subject: [PATCH 043/105] Clear hypothesis list every detection Proper deallocation object transform pointer after each object detection Use biggest planar region as the table --- src/greedyObjRansac.cpp | 5 +++++ src/semantic_segmentation.cpp | 4 ++++ src/table_segmenter.cpp | 9 ++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/greedyObjRansac.cpp b/src/greedyObjRansac.cpp index a43dbdf4..a4e75a54 100644 --- a/src/greedyObjRansac.cpp +++ b/src/greedyObjRansac.cpp @@ -45,6 +45,8 @@ poseT greedyObjRansac::getBestModel(list< boost::shared_ptr >& de mat4x4[2][0], mat4x4[2][1], mat4x4[2][2]; new_pose.shift = Eigen::Vector3f (mat4x4[0][3], mat4x4[1][3], mat4x4[2][3]); + mat_dealloc(mat4x4, 4); + new_pose.rotation = rot; new_pose.confidence = max_confidence; } @@ -151,6 +153,7 @@ void greedyObjRansac::StandardBest(const pcl::PointCloud::Ptr scene_ mat4x4[2][0], mat4x4[2][1], mat4x4[2][2]; new_pose.shift = Eigen::Vector3f (mat4x4[0][3], mat4x4[1][3], mat4x4[2][3]); + mat_dealloc(mat4x4, 4); new_pose.rotation = rot; new_pose.confidence = best_shape -> getConfidence(); poses.push_back(new_pose); @@ -197,6 +200,7 @@ void greedyObjRansac::StandardRecognize(const pcl::PointCloud::Ptr s mat4x4[3][0], mat4x4[3][1], mat4x4[3][2], mat4x4[3][3]; new_pose.model_name = std::string (shape->getUserData()->getLabel()); */ + mat_dealloc(mat4x4, 4); poses.push_back(new_pose); } @@ -429,6 +433,7 @@ void greedyObjRansac::mergeHypotheses(const pcl::PointCloud::Ptr sce mat4x4[3][0], mat4x4[3][1], mat4x4[3][2], mat4x4[3][3]; new_pose.model_name = instance_name; */ + mat_dealloc(mat4x4, 4); poses.push_back(new_pose); } } diff --git a/src/semantic_segmentation.cpp b/src/semantic_segmentation.cpp index 75706010..e6a64635 100644 --- a/src/semantic_segmentation.cpp +++ b/src/semantic_segmentation.cpp @@ -625,6 +625,10 @@ std::vector SemanticSegmentation::calculateObjTransf std::cerr << "Please set compute pose to true and initialize semantic segmentation before calculating obj transform\n"; return std::vector(); } + +#ifdef SCENE_PARSING + hypothesis_list_.clear(); +#endif std::vector all_poses; diff --git a/src/table_segmenter.cpp b/src/table_segmenter.cpp index 8972d19d..0f3c6d32 100644 --- a/src/table_segmenter.cpp +++ b/src/table_segmenter.cpp @@ -50,6 +50,9 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud::Ptr convexHull(new pcl::PointCloud); + std::size_t largest_region_index = 0; + std::size_t max_region_size = 0; + if (regions.size() > 0) { std::cerr << "Number of possible table regions: " << regions.size() << std::endl; std::cerr<<"Visualize region"<::Ptr getTableConvexHull(pcl::PointCloud::Ptr contour (new pcl::PointCloud); contour->points = regions[i].getContour(); + if (max_region_size < regions[i].getCount()) + { + largest_region_index = i; + } if (viewer) { @@ -71,7 +78,7 @@ pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud::Ptr boundary(new pcl::PointCloud); - boundary->points = regions[0].getContour(); + boundary->points = regions[largest_region_index].getContour(); pcl::ConvexHull hull; hull.setInputCloud(boundary); From b045e0bd15aef653b717c9169676c65882c5a776 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Mon, 1 May 2017 00:18:03 -0400 Subject: [PATCH 044/105] Fixed bug that causes hypotheses name does not match detected object msgs name --- .../sp_segmenter/ros_semantic_segmentation.h | 4 +--- src/ros_semantic_segmentation.cpp | 24 ++++++++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/include/sp_segmenter/ros_semantic_segmentation.h b/include/sp_segmenter/ros_semantic_segmentation.h index 877c4c70..1040370f 100644 --- a/include/sp_segmenter/ros_semantic_segmentation.h +++ b/include/sp_segmenter/ros_semantic_segmentation.h @@ -36,11 +36,9 @@ // ros service messages for segmenting gripper #include "sp_segmenter/SegmentInGripper.h" -class segmentedObjectTF +struct segmentedObjectTF { -private: tf::Transform transform; -public: std::string TFname; segmentedObjectTF(const objectTransformInformation &input); segmentedObjectTF(); diff --git a/src/ros_semantic_segmentation.cpp b/src/ros_semantic_segmentation.cpp index ff313391..50819146 100644 --- a/src/ros_semantic_segmentation.cpp +++ b/src/ros_semantic_segmentation.cpp @@ -721,6 +721,17 @@ objrec_hypothesis_msgs::AllModelHypothesis RosSemanticSegmentation::generateAllM objrec_hypothesis_msgs::AllModelHypothesis result; result.all_hypothesis.reserve(vec_greedy_hypo.size()); + pcl::KdTreeFLANN tf_coordinate_tree; + pcl::PointCloud::Ptr tf_coordinate_points(new pcl::PointCloud()); + + for (std::size_t i = 0; i < segmentedObjectTFV.size(); i++){ + const tf::Transform &t = segmentedObjectTFV[i].transform; + pcl::PointXYZ p(t.getOrigin().x(), + t.getOrigin().y(), t.getOrigin().z()); + tf_coordinate_points->points.push_back(p); + } + tf_coordinate_tree.setInputCloud(tf_coordinate_points); + for (std::vector::iterator it = vec_greedy_hypo.begin(); it != vec_greedy_hypo.end(); ++it) { std::map< std::size_t, std::vector > &object_hypotheses = it->by_object_hypothesis; @@ -728,9 +739,6 @@ objrec_hypothesis_msgs::AllModelHypothesis RosSemanticSegmentation::generateAllM it_2 != object_hypotheses.end(); ++it_2) { objrec_hypothesis_msgs::ModelHypothesis object_i; - std::stringstream ss; - ss << "obj_" << it->model_id << "_" << it_2->first; - object_i.tf_name = ss.str(); object_i.model_hypothesis.reserve( it_2->second.size() ); object_i.model_name = it->model_id; for (std::vector::iterator it_3 = it_2->second.begin(); @@ -755,6 +763,16 @@ objrec_hypothesis_msgs::AllModelHypothesis RosSemanticSegmentation::generateAllM tmp.transform.rotation.z = q.z(); tmp.transform.rotation.w = q.w(); object_i.model_hypothesis.push_back(tmp); + + if (it_3 == it_2->second.begin()) + { + pcl::PointXYZ p(rigid_transform[9], rigid_transform[10], rigid_transform[11]); + std::vector< int > k_indices(1); + std::vector< float > distances(1); + tf_coordinate_tree.nearestKSearch(p, 1, k_indices, distances); + std::size_t vector_index = k_indices[0]; + object_i.tf_name = segmentedObjectTFV[vector_index].TFname; + } } result.all_hypothesis.push_back(object_i); } From f0596974f33ec94d386da5c5e06bbc6b4456db4e Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Mon, 1 May 2017 14:39:07 -0400 Subject: [PATCH 045/105] Support for hypothesis msg with confidence --- include/sp_segmenter/greedyObjRansac.h | 2 +- src/greedyObjRansac.cpp | 2 +- src/ros_semantic_segmentation.cpp | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/sp_segmenter/greedyObjRansac.h b/include/sp_segmenter/greedyObjRansac.h index 3612af44..a1c9a7b1 100644 --- a/include/sp_segmenter/greedyObjRansac.h +++ b/include/sp_segmenter/greedyObjRansac.h @@ -18,7 +18,7 @@ #include struct GreedyHypothesis { - std::map< std::size_t, std::vector > by_object_hypothesis; + std::map< std::size_t, std::vector > by_object_hypothesis; std::string model_id; // std::vector > hypothesis; }; diff --git a/src/greedyObjRansac.cpp b/src/greedyObjRansac.cpp index a4e75a54..bd3e6c2c 100644 --- a/src/greedyObjRansac.cpp +++ b/src/greedyObjRansac.cpp @@ -514,7 +514,7 @@ void greedyObjRansac::getPairFeas(const pcl::PointCloud::Ptr cloud, #if SCENE_PARSING GreedyHypothesis greedyObjRansac::getLatestAcceptedHypothesis(const bool &combined_ransac) { - std::vector > acc_hypothesis = objrec.getShapeHypothesis(); + std::vector > acc_hypothesis = objrec.getShapeHypothesis(); GreedyHypothesis result; if (acc_hypothesis.size() > 0) { diff --git a/src/ros_semantic_segmentation.cpp b/src/ros_semantic_segmentation.cpp index 50819146..a54b6dd6 100644 --- a/src/ros_semantic_segmentation.cpp +++ b/src/ros_semantic_segmentation.cpp @@ -734,14 +734,14 @@ objrec_hypothesis_msgs::AllModelHypothesis RosSemanticSegmentation::generateAllM for (std::vector::iterator it = vec_greedy_hypo.begin(); it != vec_greedy_hypo.end(); ++it) { - std::map< std::size_t, std::vector > &object_hypotheses = it->by_object_hypothesis; - for (std::map< std::size_t, std::vector >::iterator it_2 = object_hypotheses.begin(); + std::map< std::size_t, std::vector > &object_hypotheses = it->by_object_hypothesis; + for (std::map< std::size_t, std::vector >::iterator it_2 = object_hypotheses.begin(); it_2 != object_hypotheses.end(); ++it_2) { objrec_hypothesis_msgs::ModelHypothesis object_i; object_i.model_hypothesis.reserve( it_2->second.size() ); object_i.model_name = it->model_id; - for (std::vector::iterator it_3 = it_2->second.begin(); + for (std::vector::iterator it_3 = it_2->second.begin(); it_3 != it_2->second.end(); ++it_3) { objrec_hypothesis_msgs::Hypothesis tmp; @@ -762,6 +762,7 @@ objrec_hypothesis_msgs::AllModelHypothesis RosSemanticSegmentation::generateAllM tmp.transform.rotation.y = q.y(); tmp.transform.rotation.z = q.z(); tmp.transform.rotation.w = q.w(); + tmp.confidence = it_3->confidence; object_i.model_hypothesis.push_back(tmp); if (it_3 == it_2->second.begin()) From afa983b733204cafb4a5e6ceec9d84e02f23b2d3 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Wed, 3 May 2017 00:07:03 -0400 Subject: [PATCH 046/105] Normalize the hypothesis orientation according to object symmetry parameter. Removed some unnecessary prints --- .../symmetricOrientationRealignment.h | 22 +++++++++---------- src/ros_semantic_segmentation.cpp | 10 ++++++--- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/include/sp_segmenter/symmetricOrientationRealignment.h b/include/sp_segmenter/symmetricOrientationRealignment.h index 180dd1fc..684ead6e 100644 --- a/include/sp_segmenter/symmetricOrientationRealignment.h +++ b/include/sp_segmenter/symmetricOrientationRealignment.h @@ -114,15 +114,15 @@ void realignOrientation (Eigen::Matrix &rotMatrix, const if (std::floor(std::abs(angle+0.5236)/objectLimit) < 1) { //min angle = within 30 degree to the objectLimit to be aligned - std::cerr << "Angle: " << angle * 180 / pi << " is too small, no need to fix the rotation\n"; + // std::cerr << "Angle: " << angle * 180 / pi << " is too small, no need to fix the rotation\n"; return; } - std::cerr << "Quaternion corrected matrix\n" << rotMatrix << std::endl; + // std::cerr << "Quaternion corrected matrix\n" << rotMatrix << std::endl; // rotate target axis to align as close as possible with its original axis by rotating the best axis to align the target axis. Use -angle because we want to undo the rotation rotMatrix = rotMatrix * Eigen::AngleAxisf(std::round(angle/objectLimit) * objectLimit,bestAxis[axisToRotate]); - std::cerr << "Axis corrected matrix\n" << rotMatrix << std::endl; - std::cerr << "Rotated axis" << axisToRotate << " : " << angle * 180 / pi << " -> " << std::round(angle/objectLimit) * objectLimit * 180 / pi < " << std::round(angle/objectLimit) * objectLimit * 180 / pi < @@ -211,18 +211,18 @@ void printQuaternion(const Eigen::Quaternion &input) template Eigen::Quaternion normalizeModelOrientation(const Eigen::Quaternion &q_new, const Eigen::Quaternion &q_previous, const objectSymmetry &object) { - std::cerr << "Input Qnew: "; printQuaternion(q_new); - std::cerr << "Input Qold: "; printQuaternion(q_previous); - std::cerr << "Previous Rot Matrix:\n" << q_previous.matrix() << std::endl; - std::cerr << "Initial Rot Matrix:\n" << q_new.matrix() << std::endl; + // std::cerr << "Input Qnew: "; printQuaternion(q_new); + // std::cerr << "Input Qold: "; printQuaternion(q_previous); + // std::cerr << "Previous Rot Matrix:\n" << q_previous.matrix() << std::endl; + // std::cerr << "Initial Rot Matrix:\n" << q_new.matrix() << std::endl; Eigen::Quaternion rotationChange = q_previous.inverse() * q_new; // Since the rotationChange should be close to identity, realign the rotationChange as close as identity based on symmetric property of the object rotationChange = normalizeModelOrientation(rotationChange, object); Eigen::Quaternion result = q_previous * rotationChange; - std::cerr << "Output Q: "; printQuaternion(result); - std::cerr << "Corrected Rot Matrix:\n" << result.matrix() << std::endl; + // std::cerr << "Output Q: "; printQuaternion(result); + // std::cerr << "Corrected Rot Matrix:\n" << result.matrix() << std::endl; // fix the orientation of new pose return (result); } @@ -240,7 +240,7 @@ void normalizeAllModelOrientation (std::vector &all_poses, const Eigen::Q for (unsigned int i = 0; i < all_poses.size(); i++) { // std::cerr << "Rot"<< i <<" before normalization: \n" << all_poses[i].rotation.toRotationMatrix() << std::endl; - std::cerr << "Object name: " << all_poses[i].model_name << std::endl; + // std::cerr << "Object name: " << all_poses[i].model_name << std::endl; all_poses[i].rotation = normalizeModelOrientation(all_poses[i].rotation, normalOrientation, objectDict.find(all_poses[i].model_name)->second); // std::cerr << "Rot"<< i <<" after normalization: \n" << all_poses[i].rotation.toRotationMatrix() << std::endl; } diff --git a/src/ros_semantic_segmentation.cpp b/src/ros_semantic_segmentation.cpp index a54b6dd6..594707b9 100644 --- a/src/ros_semantic_segmentation.cpp +++ b/src/ros_semantic_segmentation.cpp @@ -731,7 +731,7 @@ objrec_hypothesis_msgs::AllModelHypothesis RosSemanticSegmentation::generateAllM tf_coordinate_points->points.push_back(p); } tf_coordinate_tree.setInputCloud(tf_coordinate_points); - + Eigen::Quaternionf base_rotation = this->base_rotation_.template cast (); for (std::vector::iterator it = vec_greedy_hypo.begin(); it != vec_greedy_hypo.end(); ++it) { std::map< std::size_t, std::vector > &object_hypotheses = it->by_object_hypothesis; @@ -741,6 +741,7 @@ objrec_hypothesis_msgs::AllModelHypothesis RosSemanticSegmentation::generateAllM objrec_hypothesis_msgs::ModelHypothesis object_i; object_i.model_hypothesis.reserve( it_2->second.size() ); object_i.model_name = it->model_id; + const objectSymmetry obj_sym = object_dict_.find(it->model_id)->second; for (std::vector::iterator it_3 = it_2->second.begin(); it_3 != it_2->second.end(); ++it_3) { @@ -749,19 +750,22 @@ objrec_hypothesis_msgs::AllModelHypothesis RosSemanticSegmentation::generateAllM tmp.model_name = it_3->model_entry->getUserData()->getLabel(); // transform: 12 double double *rigid_transform = it_3->rigid_transform; - Eigen::Matrix3d rotation; + Eigen::Matrix3f rotation; rotation << rigid_transform[0], rigid_transform[1], rigid_transform[2], rigid_transform[3], rigid_transform[4], rigid_transform[5], rigid_transform[6], rigid_transform[7], rigid_transform[8]; - Eigen::Quaterniond q(rotation); + Eigen::Quaternionf q(rotation); tmp.transform.translation.x = rigid_transform[9]; tmp.transform.translation.y = rigid_transform[10]; tmp.transform.translation.z = rigid_transform[11]; + + q = normalizeModelOrientation(q,base_rotation, obj_sym); tmp.transform.rotation.x = q.x(); tmp.transform.rotation.y = q.y(); tmp.transform.rotation.z = q.z(); tmp.transform.rotation.w = q.w(); + tmp.confidence = it_3->confidence; object_i.model_hypothesis.push_back(tmp); From 15a046538f4e0f6edb26b56b05ba12104937a803 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Fri, 16 Jun 2017 07:18:03 -0400 Subject: [PATCH 047/105] Add option to just do objransac pose estimation --- .../sp_segmenter/ros_semantic_segmentation.h | 2 +- include/sp_segmenter/semantic_segmentation.h | 6 +++ include/sp_segmenter/spatial_pose.h | 1 - launch/SPServerStructureAssembly.launch | 6 ++- src/ros_semantic_segmentation.cpp | 29 +++++++++--- src/semantic_segmentation.cpp | 46 +++++++++++++++++-- 6 files changed, 76 insertions(+), 14 deletions(-) diff --git a/include/sp_segmenter/ros_semantic_segmentation.h b/include/sp_segmenter/ros_semantic_segmentation.h index 9ed48640..1e25032a 100644 --- a/include/sp_segmenter/ros_semantic_segmentation.h +++ b/include/sp_segmenter/ros_semantic_segmentation.h @@ -64,7 +64,7 @@ class RosSemanticSegmentation : public SemanticSegmentation void populateTFMap(std::vector all_poses); ros::NodeHandle nh; - bool classReady, useTFinsteadOfPoses; + bool useTFinsteadOfPoses; // TF related bool hasTF; diff --git a/include/sp_segmenter/semantic_segmentation.h b/include/sp_segmenter/semantic_segmentation.h index 2ee7d132..e03af2f8 100644 --- a/include/sp_segmenter/semantic_segmentation.h +++ b/include/sp_segmenter/semantic_segmentation.h @@ -17,6 +17,7 @@ #include "sp_segmenter/table_segmenter.h" enum ObjRecRansacMode {STANDARD_BEST, STANDARD_RECOGNIZE, GREEDY_RECOGNIZE}; +enum RgbToLabelChannel {RED, GREEN, BLUE, ALL}; #ifdef USE_OBJRECRANSAC #include "sp_segmenter/greedyObjRansac.h" @@ -105,6 +106,9 @@ class SemanticSegmentation // Update one object pose that has matching transform name and object type, then returns that updated pose with other poses(from previous detection). std::vector getUpdateOnOneObjTransform(const pcl::PointCloud::Ptr &labelled_point_cloud, const std::string &transform_name, const std::string &object_type); + + pcl::PointCloud::Ptr convertRgbChannelToLabelCloud(const pcl::PointCloud::Ptr &input_cloud, const int &channel_to_convert); + #endif // ---------------------------------------------------------- ADDITIONAL OPERATIONAL FUNCTIONS -------------------------------------------------------------------------------------- @@ -178,6 +182,7 @@ class SemanticSegmentation // Object persistence will post-process ObjRecRANSAC pose to get an object orientation that is closest to the previous detection, // if the detected object position is within 2.5 cm compared to previous object position void setUseObjectPersistence(const bool &use_object_persistence); + void setUseExternalSegmentation(const bool &use_external_segmentation); #endif #ifdef USE_TRACKING @@ -240,6 +245,7 @@ class SemanticSegmentation #ifdef USE_OBJRECRANSAC boost::shared_ptr combined_ObjRecRANSAC_; std::vector > individual_ObjRecRANSAC_; + bool use_external_segmentation_; // map of symmetries for orientation normalization objectRtree segmented_object_tree_; diff --git a/include/sp_segmenter/spatial_pose.h b/include/sp_segmenter/spatial_pose.h index f338cc9f..f0ca02d0 100644 --- a/include/sp_segmenter/spatial_pose.h +++ b/include/sp_segmenter/spatial_pose.h @@ -116,7 +116,6 @@ void updateOneValue(objectRtree &rtree, std::string tfToUpdate, const std::map baseRotation; - std::cerr << __FILE__ << ":" << __LINE__ << " DBG\n"; if (result_nn.size() > 0) { // std::cerr << "Found old pose: " << result_nn.size() << std::endl; diff --git a/launch/SPServerStructureAssembly.launch b/launch/SPServerStructureAssembly.launch index 535f6440..c29678c2 100644 --- a/launch/SPServerStructureAssembly.launch +++ b/launch/SPServerStructureAssembly.launch @@ -11,13 +11,14 @@ - - + + + @@ -78,6 +79,7 @@ + diff --git a/src/ros_semantic_segmentation.cpp b/src/ros_semantic_segmentation.cpp index a1898685..78a7acc0 100644 --- a/src/ros_semantic_segmentation.cpp +++ b/src/ros_semantic_segmentation.cpp @@ -145,16 +145,18 @@ void RosSemanticSegmentation::initializeSemanticSegmentationFromRosParam() this->nh.param("visualization",visualization,true); this->setUseVisualization(visualization); +#ifdef USE_OBJRECRANSAC // Setting up ObjRecRANSAC - bool compute_pose, use_cuda, useObjectPersistence; + bool compute_pose, use_cuda, use_object_persistence, use_external_segmentation; double minConfidence; std::string objRecRANSACdetector; this->nh.param("compute_pose",compute_pose,true); this->nh.param("use_cuda", use_cuda,true); this->nh.param("objRecRANSACdetector", objRecRANSACdetector, std::string("StandardRecognize")); this->nh.param("minConfidence", minConfidence, 0.0); - this->nh.param("useObjectPersistence",useObjectPersistence,false); -#ifdef USE_OBJRECRANSAC + this->nh.param("useObjectPersistence",use_object_persistence,false); + this->nh.param("use_external_segmentation", use_external_segmentation, false); + this->setUseComputePose(compute_pose); this->setUseCuda(use_cuda); if (objRecRANSACdetector == "StandardBest") this->setModeObjRecRANSAC(STANDARD_BEST); @@ -162,7 +164,8 @@ void RosSemanticSegmentation::initializeSemanticSegmentationFromRosParam() else if (objRecRANSACdetector == "StandardRecognize") this->setModeObjRecRANSAC(STANDARD_RECOGNIZE); else ROS_ERROR("Unsupported objRecRANSACdetector!"); this->setMinConfidenceObjRecRANSAC(minConfidence); - this->setUseObjectPersistence(useObjectPersistence); + this->setUseObjectPersistence(use_object_persistence); + this->setUseExternalSegmentation(use_external_segmentation); std::string mesh_path; //get parameter for mesh path and cur_name @@ -245,7 +248,6 @@ void RosSemanticSegmentation::initializeSemanticSegmentationFromRosParam() table_corner_published = 0; this->need_preferred_tf_ = setObjectOrientation; this->setUsePreferredOrientation(setObjectOrientation); - } void RosSemanticSegmentation::callbackPoses(const sensor_msgs::PointCloud2 &inputCloud) @@ -343,7 +345,7 @@ bool RosSemanticSegmentation::getAndSaveTable (const sensor_msgs::PointCloud2 &p void RosSemanticSegmentation::updateCloudData (const sensor_msgs::PointCloud2 &pc) { - if (!classReady) return; + if (!this->class_ready_) return; // The callback from main only update the cloud data inputCloud = pc; @@ -385,6 +387,7 @@ void RosSemanticSegmentation::updateCloudData (const sensor_msgs::PointCloud2 &p if (!this->have_table_) getAndSaveTable(inputCloud); if (this->have_table_) { + // publish the table corner every 15 frame of inputCloud if (table_corner_published == 0) { @@ -537,7 +540,19 @@ bool RosSemanticSegmentation::serviceCallback (std_srvs::Empty::Request& request pcl::PointCloud::Ptr labelled_point_cloud_result; #ifdef USE_OBJRECRANSAC std::vector object_transform_result; - bool segmentation_success = segmentAndCalculateObjTransform(full_cloud, labelled_point_cloud_result, object_transform_result); + bool segmentation_success; + if (!this->use_external_segmentation_) + { + segmentation_success = segmentAndCalculateObjTransform(full_cloud, labelled_point_cloud_result, object_transform_result); + } + else + { + // R channel of the point cloud is the label + labelled_point_cloud_result = this->convertRgbChannelToLabelCloud(full_cloud, RED); + object_transform_result = this->calculateObjTransform(labelled_point_cloud_result); + segmentation_success = object_transform_result.size() > 0; + } + if (segmentation_success) { pcl::PointCloud::Ptr segmented_cloud; diff --git a/src/semantic_segmentation.cpp b/src/semantic_segmentation.cpp index 5563c789..0e90d11e 100644 --- a/src/semantic_segmentation.cpp +++ b/src/semantic_segmentation.cpp @@ -74,6 +74,10 @@ SemanticSegmentation::SemanticSegmentation() : class_ready_(false), visualizer_f this->table_distance_threshold_ = 0.02; this->table_angular_threshold_ = 2.0; this->table_minimal_inliers_ = 5000; + +#ifdef USE_OBJRECRANSAC + this->use_external_segmentation_ = false; +#endif } void SemanticSegmentation::setDirectorySHOT(const std::string &path_to_shot_directory) @@ -287,7 +291,7 @@ void SemanticSegmentation::initializeSemanticSegmentation() std::cerr << "Number of loaded model = " << this->number_of_added_models_ << std::endl; if (this->number_of_added_models_ == 0) std::cerr << "No model has been loaded. Please add at least 1 model.\n"; - this->class_ready_ = (this->number_of_added_models_ > 0 && this->svm_loaded_ && this->shot_loaded_); + this->class_ready_ = this->number_of_added_models_ > 0; } else this->class_ready_ = (this->svm_loaded_ && this->shot_loaded_); @@ -373,6 +377,7 @@ bool SemanticSegmentation::getTableSurfaceFromPointCloud(const pcl::PointCloud

size() < 3) { std::cerr << "Failed segmenting the table. Please check the input point cloud and the table segmentation parameters.\n"; return false; @@ -400,7 +405,7 @@ bool SemanticSegmentation::getTableSurfaceFromPointCloud(const pcl::PointCloud

::Ptr &input_cloud, pcl::PointCloud::Ptr &result) { - if (!this->class_ready_) + if (!this->class_ready_ || !(this->svm_loaded_ && this->shot_loaded_)) { std::cerr << "Please initialize semantic segmentation first before doing point cloud segmentation\n"; return false; @@ -563,7 +568,7 @@ void SemanticSegmentation::addModel(const std::string &path_to_model_directory, if (model_path.back() != '/') model_path += "/"; - if (use_combined_objRecRANSAC_ || !use_multi_class_svm_) + if (use_combined_objRecRANSAC_ || !(use_multi_class_svm_ || use_external_segmentation_)) { std::cerr << "Using combined ObjRecRANSAC.\n"; if (combined_ObjRecRANSAC_ == NULL) @@ -611,6 +616,11 @@ void SemanticSegmentation::setUseObjectPersistence(const bool &use_object_persis this->use_object_persistence_ = use_object_persistence; } +void SemanticSegmentation::setUseExternalSegmentation(const bool &use_external_segmentation) +{ + this->use_external_segmentation_ = use_external_segmentation; +} + std::vector SemanticSegmentation::calculateObjTransform(const pcl::PointCloud::Ptr &labelled_point_cloud) { if (!this->class_ready_ || !this->compute_pose_) @@ -827,6 +837,36 @@ std::vector SemanticSegmentation::getUpdateOnOneObjT return result; } +pcl::PointCloud::Ptr SemanticSegmentation::convertRgbChannelToLabelCloud(const pcl::PointCloud::Ptr &input_cloud, + const int &channel_to_convert) +{ + pcl::PointCloud::Ptr result(new pcl::PointCloud()); + for (pcl::PointCloud::const_iterator it = input_cloud->begin(); it != input_cloud->end(); ++it) + { + pcl::PointXYZL point; + point.x = it->x; + point.y = it->y; + point.z = it->z; + switch(channel_to_convert) + { + case RED: + point.label = it->r; + break; + case GREEN: + point.label = it->g; + break; + case BLUE: + point.label = it->b; + break; + case ALL: + point.label = it->r + it->g + it->b; + break; + } + result->push_back(point); + } + return result; +} + bool SemanticSegmentation::segmentAndCalculateObjTransform(const pcl::PointCloud::Ptr &input_cloud, pcl::PointCloud::Ptr &labelled_point_cloud_result, std::vector &object_transform_result) { From 8c82e886c4d4094bc1eaf491eaaaa01b92b3d282 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Tue, 11 Jul 2017 10:47:14 -0700 Subject: [PATCH 048/105] enable sp segmenter in master --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0290ab14..193b8827 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,8 @@ OPTION(BUILD_USE_OBJRECRANSAC "Use ObjRecRANSAC" ON) OPTION(BUILD_PYTHON_BINDING "Build Python Binding" OFF) OPTION(BUILD_ENABLE_TRACKING "Build Enable Tracking Keypoints (EXPERIMENTAL)" OFF) -OPTION(BUILD_SCENE_PARSING_SUPPORT "Build with Scene Parsing Hypothesis Message (EXPERIMENTAL)" ON) +OPTION(BUILD_SCENE_PARSING_SUPPORT + "Build with Scene Parsing Hypothesis Message (EXPERIMENTAL)" OFF) # Enable C++11 include(CheckCXXCompilerFlag) From d5511de792832a0dfefebf6edeefcc7b39c34ad9 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Tue, 11 Jul 2017 10:50:58 -0700 Subject: [PATCH 049/105] fix object list --- include/sp_segmenter/ros_semantic_segmentation.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/sp_segmenter/ros_semantic_segmentation.h b/include/sp_segmenter/ros_semantic_segmentation.h index 877c4c70..b0f8178c 100644 --- a/include/sp_segmenter/ros_semantic_segmentation.h +++ b/include/sp_segmenter/ros_semantic_segmentation.h @@ -70,10 +70,10 @@ class RosSemanticSegmentation : public SemanticSegmentation void initializeSemanticSegmentationFromRosParam(); void populateTFMap(std::vector all_poses); -#ifdef SCENE_PARSING - objrec_hypothesis_msgs::AllModelHypothesis generateAllModelHypothesis() const; costar_objrec_msgs::DetectedObjectList last_object_list_; sensor_msgs::PointCloud2 last_segmented_cloud_; +#ifdef SCENE_PARSING + objrec_hypothesis_msgs::AllModelHypothesis generateAllModelHypothesis() const; bool getLastHypotheses (std_srvs::Empty::Request& request, std_srvs::Empty::Response& response); #endif From 63a13b878647433b44e8b0ecf3c53c8be65de14a Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Tue, 11 Jul 2017 11:15:00 -0700 Subject: [PATCH 050/105] objrec ransac --- package.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.xml b/package.xml index 6e30e15e..118f34e0 100644 --- a/package.xml +++ b/package.xml @@ -42,7 +42,7 @@ catkin costar_objrec_msgs - objrecransac + ObjRecRANSAC sensor_msgs geometry_msgs pcl_ros From e1949cf4b6da4cd5d5955d6d6ddfcf9eec3ea9bb Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Fri, 21 Jul 2017 13:15:51 -0400 Subject: [PATCH 051/105] modify colors --- .../instructor_core/nodes/instructor_view.py | 8 ++--- .../instructor_plugins/package.xml | 30 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/costar_instructor/instructor_core/nodes/instructor_view.py b/costar_instructor/instructor_core/nodes/instructor_view.py index 44f35552..77c599f1 100755 --- a/costar_instructor/instructor_core/nodes/instructor_view.py +++ b/costar_instructor/instructor_core/nodes/instructor_view.py @@ -132,22 +132,22 @@ def __init__(self,app): self.app_ = app self.types__ = ['LOGIC', 'ACTION', - 'CONDITION', 'TASK', + 'CONDITION', 'PROCESS', 'SERVICE', 'VARIABLE'] self.colors__ = ['blue', 'green', - 'purple', 'orange', + 'purple', 'pink', 'gray', 'gray'] self.labels__ = ['BUILDING BLOCKS', - 'ROBOT ACTIONS', + 'BASIC ACTIONS', + 'ADVANCED ACTIONS', 'SYSTEM KNOWLEDGE', - 'TASK MODEL', 'PROCESSES', 'SERVICE', 'VARIABLES'] diff --git a/costar_instructor/instructor_plugins/package.xml b/costar_instructor/instructor_plugins/package.xml index 6f010351..c38297c4 100644 --- a/costar_instructor/instructor_plugins/package.xml +++ b/costar_instructor/instructor_plugins/package.xml @@ -21,7 +21,7 @@ type="ACTION" group="TIMING" description="Sleep Action" - cases="baseline" + cases="baseline drvk" name="Sleep"/> @@ -76,45 +76,45 @@ From 286b3bf3988b8eedf0a7e98199c49ed75a14b76b Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Fri, 21 Jul 2017 13:26:28 -0400 Subject: [PATCH 052/105] setting up colors --- .../instructor_core/nodes/instructor_view.py | 4 ++-- .../src/instructor_plugins/instructor_action_smartmove.py | 6 +++--- .../src/instructor_plugins/smartmove_multipurpose.py | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/costar_instructor/instructor_core/nodes/instructor_view.py b/costar_instructor/instructor_core/nodes/instructor_view.py index 77c599f1..b190824a 100755 --- a/costar_instructor/instructor_core/nodes/instructor_view.py +++ b/costar_instructor/instructor_core/nodes/instructor_view.py @@ -139,7 +139,7 @@ def __init__(self,app): 'VARIABLE'] self.colors__ = ['blue', 'green', - 'orange', + 'sea_green', 'purple', 'pink', 'gray', @@ -516,7 +516,7 @@ def set_up_gui(self): self.component_widgets[t] = w self.component_layout.addWidget(w) - self.subtree_container = ListContainer('SUBTREES','SUBTREES',colors['green_light'],'large') + self.subtree_container = ListContainer('SUBTREES','SUBTREES',colors['orange'],'large') # self.node_container = ListContainer('NODES','NODES',colors['pink'],'large') self.subtree_container.show() self.subtree_container.register_callbacks(self.collapse_unused,self.subtree_selected_callback) diff --git a/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_action_smartmove.py b/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_action_smartmove.py index 63cc7c67..46cdcc42 100644 --- a/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_action_smartmove.py +++ b/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_action_smartmove.py @@ -28,14 +28,14 @@ # Node Wrappers ----------------------------------------------------------- class NodeActionSmartmoveGUI(NodeGUI): def __init__(self): - super(NodeActionSmartmoveGUI,self).__init__('green') + super(NodeActionSmartmoveGUI,self).__init__('sea_green') rospack = rospkg.RosPack() ui_path = rospack.get_path('instructor_plugins') + '/ui/action_smartmove.ui' self.title.setText('SMARTMOVE') - self.title.setStyleSheet('background-color:'+ colors['green'].normal+';color:#ffffff') - self.setStyleSheet('background-color:'+ colors['green'].normal+' ; color:#ffffff') + self.title.setStyleSheet('background-color:'+ colors['sea_green'].normal+';color:#ffffff') + self.setStyleSheet('background-color:'+ colors['sea_green'].normal+' ; color:#ffffff') self.waypoint_ui = QWidget() uic.loadUi(ui_path, self.waypoint_ui) diff --git a/costar_instructor/instructor_plugins/src/instructor_plugins/smartmove_multipurpose.py b/costar_instructor/instructor_plugins/src/instructor_plugins/smartmove_multipurpose.py index 49b9b243..b727837a 100644 --- a/costar_instructor/instructor_plugins/src/instructor_plugins/smartmove_multipurpose.py +++ b/costar_instructor/instructor_plugins/src/instructor_plugins/smartmove_multipurpose.py @@ -30,7 +30,7 @@ # Node Wrappers ----------------------------------------------------------- class NodeActionSmartmoveMultiPurposeGUI(NodeGUI): def __init__(self, grasp=True): - super(NodeActionSmartmoveMultiPurposeGUI,self).__init__('green') + super(NodeActionSmartmoveMultiPurposeGUI,self).__init__('sea_green') rospack = rospkg.RosPack() ui_path = rospack.get_path('instructor_plugins') + '/ui/action_smart_grasp.ui' @@ -38,8 +38,8 @@ def __init__(self, grasp=True): self.grasp = grasp self.title.setText('SMARTMOVE') - self.title.setStyleSheet('background-color:'+ colors['green'].normal+';color:#ffffff') - self.setStyleSheet('background-color:'+ colors['green'].normal+' ; color:#ffffff') + self.title.setStyleSheet('background-color:'+ colors['sea_green'].normal+';color:#ffffff') + self.setStyleSheet('background-color:'+ colors['sea_green'].normal+' ; color:#ffffff') self.waypoint_ui = QWidget() uic.loadUi(ui_path, self.waypoint_ui) @@ -247,7 +247,7 @@ def __init__(self,name,label,selected_region,selected_object,selected_smartmove, "with backoff dist: %f cm"%(backoff*100) super(NodeActionSmartmoveMultiPurpose,self).__init__(name, L, - colors['green'].normal, + colors['sea_green'].normal, service_description, display_name = selected_smartmove) self.selected_region = selected_region From 595cbd88e227efd6b8ff860f64d5afe5f1bb46cc Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Tue, 8 Aug 2017 12:12:23 -0700 Subject: [PATCH 053/105] move plan relative to high level --- .travis.yml | 2 +- costar_instructor/instructor_plugins/package.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index bbf2226e..d5241cca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin + - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev diff --git a/costar_instructor/instructor_plugins/package.xml b/costar_instructor/instructor_plugins/package.xml index c38297c4..46b87bf5 100644 --- a/costar_instructor/instructor_plugins/package.xml +++ b/costar_instructor/instructor_plugins/package.xml @@ -54,7 +54,7 @@ cases="planning" name="Plan to Home"/> From a388cd290e93c797666b5c179d5e034de827713f Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Tue, 8 Aug 2017 12:14:26 -0700 Subject: [PATCH 054/105] update travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d5241cca..7855474e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin + - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev From c32c98437b3357989015969979faf756c011fe93 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 9 Aug 2017 09:13:23 -0700 Subject: [PATCH 055/105] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7855474e..986398d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit + - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit-* - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev From 06f341704f3e73db32427cf36adfc596489d9726 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 9 Aug 2017 09:19:44 -0700 Subject: [PATCH 056/105] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 986398d4..9e8ef922 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit-* + - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit-* ros-$ROS_DISTRO-warehouse-ros - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev From bd75c3daf6e3775dcfd58913da0f17a0397f3028 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Wed, 9 Aug 2017 09:31:58 -0700 Subject: [PATCH 057/105] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9e8ef922..e00d8083 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit-* ros-$ROS_DISTRO-warehouse-ros + - sudo apt-get install -y mongodb python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit-* ros-$ROS_DISTRO-warehouse-ros - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev From e6d70fb3a7df4b6169f4a788e8e367f26c6efa54 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Fri, 11 Aug 2017 17:37:24 -0700 Subject: [PATCH 058/105] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e00d8083..64ae1229 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y mongodb python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit-* ros-$ROS_DISTRO-warehouse-ros + - sudo apt-get install -y mongodb python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit ros-$DISTRO-moveit-full-pr2 - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev From b9d2b426533369291d57af9fdeb591346b91bc7d Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Fri, 11 Aug 2017 17:45:53 -0700 Subject: [PATCH 059/105] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 64ae1229..93afb221 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y mongodb python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit ros-$DISTRO-moveit-full-pr2 + - sudo apt-get install -y mongodb python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit ros-$ROS_DISTRO-moveit-full-pr2 - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev From 69b60f12372894be75784bb27ad25ead23be9c22 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Fri, 11 Aug 2017 17:46:22 -0700 Subject: [PATCH 060/105] remove mongodb from travis deps --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 93afb221..3319e7ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y mongodb python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit ros-$ROS_DISTRO-moveit-full-pr2 + - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit ros-$ROS_DISTRO-moveit-full-pr2 - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev From 83e1d2bf99a0ea96951d0c1ba622e0393d8b2af1 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Fri, 11 Aug 2017 17:54:37 -0700 Subject: [PATCH 061/105] Update .travis.yml --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3319e7ff..d6704f32 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,8 +47,6 @@ dist: trusty sudo: required language: - generic -cache: - - apt # Configuration variables. All variables are global now, but this can be used to # trigger a build matrix for different ROS distributions if desired. From 75af58d5ac1b090d95e8b72d16f39d866a8b0809 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Sat, 12 Aug 2017 02:24:20 -0400 Subject: [PATCH 062/105] Refactored object_on_table_segmenter Modify plane segmentation function into package importable libraries --- .../object_on_table_segmenter/CMakeLists.txt | 181 ++------- .../object_on_table_segmenter/README.md | 15 +- .../plane_segmenter.h | 76 ++++ .../ros_plane_segmenter.h | 42 ++ .../launch/object_on_table_segmenter.launch | 96 ++--- .../object_on_table_segmenter/package.xml | 9 +- .../src/object_on_table_segmenter.cpp | 365 +++--------------- .../src/plane_segmenter.cpp | 283 ++++++++++++++ .../src/ros_plane_segmenter.cpp | 139 +++++++ 9 files changed, 680 insertions(+), 526 deletions(-) create mode 100644 costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/plane_segmenter.h create mode 100644 costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/ros_plane_segmenter.h create mode 100644 costar_tools/object_on_table_segmenter/src/plane_segmenter.cpp create mode 100644 costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp diff --git a/costar_tools/object_on_table_segmenter/CMakeLists.txt b/costar_tools/object_on_table_segmenter/CMakeLists.txt index 6da93990..04fa500e 100644 --- a/costar_tools/object_on_table_segmenter/CMakeLists.txt +++ b/costar_tools/object_on_table_segmenter/CMakeLists.txt @@ -10,104 +10,16 @@ find_package(Boost REQUIRED) find_package(catkin REQUIRED COMPONENTS PCL tf + tf_conversions pcl_ros sensor_msgs ) - -## System dependencies are found with CMake's conventions -# find_package(Boost REQUIRED COMPONENTS system) - -## Uncomment this if the package has a setup.py. This macro ensures -## modules and global scripts declared therein get installed -## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html -# catkin_python_setup() - -################################################ -## Declare ROS messages, services and actions ## -################################################ - -## To declare and build messages, services or actions from within this -## package, follow these steps: -## * Let MSG_DEP_SET be the set of packages whose message types you use in -## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). -## * In the file package.xml: -## * add a build_depend tag for "message_generation" -## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET -## * If MSG_DEP_SET isn't empty the following dependency has been pulled in -## but can be declared for certainty nonetheless: -## * add a run_depend tag for "message_runtime" -## * In this file (CMakeLists.txt): -## * add "message_generation" and every package in MSG_DEP_SET to -## find_package(catkin REQUIRED COMPONENTS ...) -## * add "message_runtime" and every package in MSG_DEP_SET to -## catkin_package(CATKIN_DEPENDS ...) -## * uncomment the add_*_files sections below as needed -## and list every .msg/.srv/.action file to be processed -## * uncomment the generate_messages entry below -## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) - -## Generate messages in the 'msg' folder -# add_message_files( -# FILES -# Message1.msg -# Message2.msg -# ) - -## Generate services in the 'srv' folder -# add_service_files( -# FILES -# Service1.srv -# Service2.srv -# ) - -## Generate actions in the 'action' folder -# add_action_files( -# FILES -# Action1.action -# Action2.action -# ) - -## Generate added messages and services with any dependencies listed here -# generate_messages( -# DEPENDENCIES -# sensor_msgs -# ) - -################################################ -## Declare ROS dynamic reconfigure parameters ## -################################################ - -## To declare and build dynamic reconfigure parameters within this -## package, follow these steps: -## * In the file package.xml: -## * add a build_depend and a run_depend tag for "dynamic_reconfigure" -## * In this file (CMakeLists.txt): -## * add "dynamic_reconfigure" to -## find_package(catkin REQUIRED COMPONENTS ...) -## * uncomment the "generate_dynamic_reconfigure_options" section below -## and list every .cfg file to be processed - -## Generate dynamic reconfigure parameters in the 'cfg' folder -# generate_dynamic_reconfigure_options( -# cfg/DynReconf1.cfg -# cfg/DynReconf2.cfg -# ) - -################################### -## 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 you 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( -# INCLUDE_DIRS include -# LIBRARIES object_on_table_segmenter -# CATKIN_DEPENDS pcl_conversion sensor_msgs -# DEPENDS system_lib + INCLUDE_DIRS include + LIBRARIES PlaneSegmenter RosPlaneSegmenter + CATKIN_DEPENDS tf tf_conversions pcl_ros sensor_msgs + DEPENDS PCL Boost ) ########### @@ -116,87 +28,40 @@ catkin_package( ## Specify additional locations of header files ## Your package locations should be listed before other locations -# include_directories(include) include_directories( + include ${catkin_INCLUDE_DIRS} + ${PCL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) ## Declare a C++ library +add_library(PlaneSegmenter src/plane_segmenter.cpp) -# add_library(object_on_table_segmenter -# src/${PROJECT_NAME}/object_on_table_segmenter.cpp -# ) - -## Add cmake target dependencies of the library -## as an example, code may need to be generated before libraries -## either from message generation or dynamic reconfigure -# add_dependencies(object_on_table_segmenter ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) +add_library(RosPlaneSegmenter src/ros_plane_segmenter.cpp) ## Declare a C++ executable add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) -#add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) -#target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) - -## Add cmake target dependencies of the executable -## same as for the library above -# add_dependencies(object_on_table_segmenter_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) ## Specify libraries to link a library or executable target against +target_link_libraries(PlaneSegmenter ${PCL_LIBRARIES}) + +target_link_libraries(RosPlaneSegmenter PlaneSegmenter ${Boost_LIBRARIES} ${catkin_LIBRARIES}) + target_link_libraries(object_on_table_segmenter + RosPlaneSegmenter ${catkin_LIBRARIES} ${Boost_LIBRARIES} ) -#target_link_libraries(pcd2png_segment_gt -# ${PCL_LIBRARIES} -# ${Boost_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 object_on_table_segmenter object_on_table_segmenter_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/${PROJECT_NAME}/ -# 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(FILES -# # myfile1 -# # myfile2 -# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} -# ) - -############# -## Testing ## -############# +install(TARGETS RosPlaneSegmenter PlaneSegmenter + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +) -## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_object_on_table_segmenter.cpp) -# if(TARGET ${PROJECT_NAME}-test) -# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) -# endif() +install(DIRECTORY include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) -## Add folders to be run by python nosetests -# catkin_add_nosetests(test) +install(FILES package.xml + DESTINATION share/${PROJECT_NAME}) diff --git a/costar_tools/object_on_table_segmenter/README.md b/costar_tools/object_on_table_segmenter/README.md index bbe0661c..3d338f54 100644 --- a/costar_tools/object_on_table_segmenter/README.md +++ b/costar_tools/object_on_table_segmenter/README.md @@ -21,15 +21,16 @@ It is possible to pass some arguments to set the directory data, point cloud inp Args list: object : the object folder name without extension. Default: ```cloud_cluster_``` pcl_in : Input point cloud topic name. Default: ```/camera/depth_registered/points``` -viewer : See first distance filtered pcl and save it. Default: ```false``` -save_directory : Location of save directory. Default: ```$(find object_on_table_segmenter)/result``` +viewer : See first distance filtered and table segmented pcl. Default: ```false``` +save_directory : Location of save directory for the data collection. Default: ```$(find object_on_table_segmenter)/result``` save_index = 0 -laod_directory +load_directory -tableTF : marker we are going to use +table_tf : marker we are going to use +See launch/object_on_table_segmenter.launch for more arguments that can be passed into the code. ## Examples @@ -39,7 +40,7 @@ Before starting make sure your sensor has a full and accurate view of the target ``` -roslaunch object_on_table_segmenter object_on_table_segmenter.launch tableTF:=ar_marker_2 useTFsurface:=true aboveTableMin:=0.01 object:=blue_bin load_table:=true num_to_capture:=200 +roslaunch object_on_table_segmenter object_on_table_segmenter.launch tableTF:=ar_marker_2 use_tf_surface:=true above_table_min:=0.01 object:=blue_bin load_table:=true num_to_capture:=200 ``` 1. Here on the first run you put the marker on the table/turntable. @@ -54,8 +55,8 @@ roslaunch object_on_table_segmenter object_on_table_segmenter.launch tableTF:=ar 4. press 's' again to begin collecting data ``` -roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_vert tableTF:=ar_marker_2 load_table:=false num_to_capture:=200 -roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_horizontal tableTF:=ar_marker_2 load_table:=false num_to_capture:=200 +roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_vert table_tf:=ar_marker_2 load_table:=false num_to_capture:=200 +roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_horizontal table_tf:=ar_marker_2 load_table:=false num_to_capture:=200 ``` Results will be placed in the local directory with the following structure diff --git a/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/plane_segmenter.h b/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/plane_segmenter.h new file mode 100644 index 00000000..7d48c4b5 --- /dev/null +++ b/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/plane_segmenter.h @@ -0,0 +1,76 @@ +#ifndef PLANE_SEGMENTER +#define PLANE_SEGMENTER + +#include +#include +#include +#include + +// plane segmentation +#include +#include + +// segment object above plane +#include +#include +#include + +// for eucledian clustering +#include +#include + +#include +#include + +typedef pcl::PointCloud CloudXYZRGBA; + +class PlaneSegmenter +{ +public: + PlaneSegmenter() : ready(false), + plane_convex_hull_(new CloudXYZRGBA()), + distance_threshold_(0.02), angular_threshold_(2.0), minimal_inliers_(5000), + min_above_plane_(0.01), max_above_plane_(0.5), + visualize_(false) {}; + + CloudXYZRGBA::Ptr cropBox(const CloudXYZRGBA &input_cloud, const Eigen::Affine3f &box_pose, const Eigen::Vector3f &box_size) const; + CloudXYZRGBA::Ptr generatePlaneConvexHull(const CloudXYZRGBA &input_cloud) const; + CloudXYZRGBA::Ptr generatePlaneConvexHullFromPoseXYplane(const Eigen::Affine3f &pose, const double &size = 0.5) const; + + std::vector clusterPointCloud(const CloudXYZRGBA &input_cloud, const unsigned int &minimal_cluster_size = 500); + + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull, + const double &min_above_plane, const double &max_above_plane) const; + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, + const double &min_above_plane, const double &max_above_plane) const; + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const; + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud) const; + + void setPlaneSegmentationParameters(const double &distance_threshold, const double &angular_threshold, const unsigned int &minimal_inliers); + void setPlaneConvexHull(const CloudXYZRGBA &plane_convex_hull); + void setPlaneSegmentationHeight(const double &min_above_plane, const double &max_above_plane); + void setVisualizationFlag(const bool visualize = true); + + CloudXYZRGBA getPlaneConvexHull() const { return *plane_convex_hull_; }; + + bool ready; + ; +private: + void organizedPlaneSegmentation( + const CloudXYZRGBA &input_cloud, + std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > ®ions, + pcl::PointCloud::Ptr &labels, + std::vector &label_indices) const; + CloudXYZRGBA::Ptr plane_convex_hull_; + pcl::visualization::PCLVisualizer::Ptr viewer_; + double distance_threshold_; + double angular_threshold_; + unsigned int minimal_inliers_; + double min_above_plane_; + double max_above_plane_; + + bool visualize_; + ; +}; + +#endif diff --git a/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/ros_plane_segmenter.h b/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/ros_plane_segmenter.h new file mode 100644 index 00000000..62858ace --- /dev/null +++ b/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/ros_plane_segmenter.h @@ -0,0 +1,42 @@ +#ifndef ROS_PLANE_SEGMENTER +#define ROS_PLANE_SEGMENTER + +#include +// include to convert from messages to pointclouds and vice versa +#include +#include +#include + +// for using tf surface +#include + +// for creating directory automatically +#include + +#include "object_on_table_segmenter/plane_segmenter.h" + +// This class extend PlaneSegmenter to automatically configures and updates the plane segmenter parameters using ros param +class RosPlaneSegmenter : public PlaneSegmenter +{ +public: + RosPlaneSegmenter() : initialized_(false) {}; + ~RosPlaneSegmenter(); + + void initialize(const ros::NodeHandle &nh); + + // this will update the plane if the plane data does not exist yet + void segmentPlaneIfNotExist(const sensor_msgs::PointCloud2 &input_cloud); + +private: + bool initialized_; + bool update_table_; + bool use_rosbag_; + std::string table_tf_name_; + std::string load_table_path_; + pcl::PCDWriter writer_; + pcl::PCDReader reader_; + tf::TransformListener * listener_; + bool use_tf_surface_; +}; + +#endif \ No newline at end of file diff --git a/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch b/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch index e302dc5a..9a8a9176 100644 --- a/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch +++ b/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch @@ -1,58 +1,60 @@ - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/costar_tools/object_on_table_segmenter/package.xml b/costar_tools/object_on_table_segmenter/package.xml index c6ca1117..82314d16 100644 --- a/costar_tools/object_on_table_segmenter/package.xml +++ b/costar_tools/object_on_table_segmenter/package.xml @@ -43,15 +43,18 @@ sensor_msgs tf pcl_ros + tf_conversions sensor_msgs tf - pcl_ros - + pcl_ros + tf_conversions - + + PCL + Boost diff --git a/costar_tools/object_on_table_segmenter/src/object_on_table_segmenter.cpp b/costar_tools/object_on_table_segmenter/src/object_on_table_segmenter.cpp index 34192c41..fba40ef9 100644 --- a/costar_tools/object_on_table_segmenter/src/object_on_table_segmenter.cpp +++ b/costar_tools/object_on_table_segmenter/src/object_on_table_segmenter.cpp @@ -1,19 +1,8 @@ #include #include -// For removing point cloud outside certain distance -// based on http://pointclouds.org/documentation/tutorials/passthrough.php tutorial -#include -#include +#include #include -#include - -// for pcl segmentation -#include -#include -#include -#include -#include // ros stuff #include @@ -24,35 +13,33 @@ // include to convert from messages to pointclouds and vice versa #include #include +#include + // for using tf surface #include -// for segment object above table -#include -#include // for creating directory automatically #include #include #include -bool dist_viewer ,haveTable,update_table; -std::string POINTS_IN; -std::string save_directory, object_name, load_directory, original_directory, ground_truth_directory; -std::string tableTFname; +// for pcl segmentation +// #include "object_on_table_segmenter/plane_segmenter.h" +#include "object_on_table_segmenter/ros_plane_segmenter.h" + + +std::string points_in; +std::string save_directory, object_name, original_directory, ground_truth_directory; int cloud_save_index; ros::Subscriber pc_sub; pcl::PCDWriter writer; -pcl::PointCloud::Ptr tableHull(new pcl::PointCloud()); -tf::TransformListener * listener; -double aboveTableMin; -double aboveTableMax; double time_step; -bool keyPress = false; +bool keypress = false; bool run_auto; int num_to_capture = 0; -bool useTFsurface; -bool useRosbag; -bool doCluster; +bool do_cluster; + +RosPlaneSegmenter segmenter; boost::posix_time::ptime time_to_save; // function getch is from http://answers.ros.org/question/63491/keyboard-key-pressed/ @@ -70,105 +57,6 @@ int getch() return c; } -pcl::PointCloud::Ptr cloud_filter_distance(pcl::PointCloud::Ptr cloud_input, const tf::StampedTransform &transform) -{ - //std::cerr << "Cloud points before distance filtering: " << cloud_input->points.size() << std::endl; - double region = 0.5; - for (unsigned int i = 0; i < 3; i++) - { - pcl::PassThrough pass; - std::cerr << "cloud input organized" << cloud_input->isOrganized() << std::endl; - pass.setInputCloud (cloud_input); - pass.setKeepOrganized(true); - std::string axisName; - double positionToSegment; - - switch (i){ - case 0: - axisName = "x"; - positionToSegment = transform.getOrigin().getX(); - break; - case 1: - axisName = "y"; - positionToSegment = transform.getOrigin().getY(); - break; - default: - axisName = "z"; - positionToSegment = transform.getOrigin().getZ(); - break; - } - std::cerr << "Segmenting axis: " << axisName << "max: " << positionToSegment + region << " min: " << positionToSegment - region << std::endl; - pass.setFilterFieldName (axisName); - pass.setFilterLimits (positionToSegment - region, positionToSegment + region); - pass.filter (*cloud_input); - std::cerr << "cloud output organized" << cloud_input->isOrganized() << std::endl; - } - return cloud_input; -} - -void segmentCloudAboveTable(pcl::PointCloud::Ptr &cloud_input, const pcl::PointCloud::Ptr &convexHull) -{ - std::cerr << "cloud input organized" << cloud_input->isOrganized() << std::endl; - std::cerr << "\nSegment object above table \n"; - // Prism object. - pcl::ExtractPolygonalPrismData prism; - prism.setInputCloud(cloud_input); - prism.setInputPlanarHull(convexHull); - - // from 1 cm above table to 50 cm above table - //prism.setHeightLimits(0.135f, 0.5f); - prism.setHeightLimits(aboveTableMin,aboveTableMax); - pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices()); - - prism.segment(*objectIndices); - // Get and show all points retrieved by the hull. - pcl::PointCloud::Ptr objects(new pcl::PointCloud()); - pcl::ExtractIndices extract; - extract.setInputCloud(cloud_input); - extract.setIndices(objectIndices); - extract.setKeepOrganized(true); - extract.filter(*objects); - *cloud_input = *objects; - std::cerr << "cloud output organized" << cloud_input->isOrganized() << std::endl; -} - -pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud::Ptr negative) -{ - - // Get Normal Cloud - pcl::PointCloud::Ptr normals (new pcl::PointCloud()); - pcl::IntegralImageNormalEstimation ne; - ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT); - ne.setMaxDepthChangeFactor(0.02f); - ne.setNormalSmoothingSize(10.0f); - ne.setInputCloud(negative); - ne.compute(*normals); - - // Segment planes - pcl::OrganizedMultiPlaneSegmentation< pcl::PointXYZRGBA, pcl::Normal, pcl::Label > mps; - - mps.setMinInliers (15000); - mps.setAngularThreshold (0.017453 * 2.0); // 2 degrees - mps.setDistanceThreshold (0.02); // 2cm - mps.setInputNormals (normals); - mps.setInputCloud (negative); - std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; - mps.segmentAndRefine (regions); - - pcl::PointCloud::Ptr boundary(new pcl::PointCloud()); - boundary->points = regions[0].getContour(); - - // Retrieve the convex hull. - pcl::PointCloud::Ptr convexHull(new pcl::PointCloud()); - - pcl::ConvexHull hull; - hull.setInputCloud(boundary); - // Make sure that the resulting hull is bidimensional. - hull.setDimension(2); - hull.reconstruct(*convexHull); - return convexHull; -} - void saveCloud(const pcl::PointCloud& cloud_input, std::string dir, std::string additional_text = std::string("")) { std::stringstream ss; @@ -189,122 +77,18 @@ void saveCloud(const pcl::PointCloud& cloud_input, std::strin void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_filtered) { std::cerr << "Object Segmentation process begin \n"; - if (dist_viewer) - { - std::cerr << "See distance filtered cloud. Press q to quit viewer. \n"; - pcl::visualization::CloudViewer viewer ("Distance Filtered Cloud Viewer"); - viewer.showCloud (cloud_filtered); - while (!viewer.wasStopped ()) - { - } - dist_viewer = false; - writer.write (load_directory+"distance_filtered.pcd", *cloud_filtered, true); - } - - // Get Normal Cloud - pcl::PointCloud::Ptr normals (new pcl::PointCloud()); - pcl::IntegralImageNormalEstimation ne; - ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT); - ne.setMaxDepthChangeFactor(0.03f); - ne.setNormalSmoothingSize(10.0f); - ne.setInputCloud(cloud_filtered); - ne.compute(*normals); - - // Segment planes - pcl::OrganizedMultiPlaneSegmentation< pcl::PointXYZRGBA, pcl::Normal, pcl::Label > mps; - std::vector model_coefficients; - std::vector inlier_indices; - pcl::PointCloud::Ptr labels (new pcl::PointCloud()); - std::vector label_indices; - std::vector boundary_indices; - - mps.setMinInliers (10000); - mps.setAngularThreshold (0.017453 * 3.0); // 2 degrees - mps.setDistanceThreshold (0.03); // 2cm - mps.setInputNormals (normals); - mps.setInputCloud (cloud_filtered); - std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; - mps.segmentAndRefine (regions, model_coefficients, inlier_indices, labels, label_indices, boundary_indices); + std::vector clustered_cloud = segmenter.clusterPointCloud(*cloud_filtered, 500); - // Remove detected planes (table) and segment the object - // int planar_region_number = 0; - std::vector plane_labels; - plane_labels.resize (label_indices.size (), false); - // for (size_t i = 0; i < label_indices.size (); i++) - // { - // if (label_indices[i].indices.size () > 10000) - // { - // plane_labels[i] = true; - // planar_region_number ++; - // } - // } - // std::cerr << "Detected planar region: " << planar_region_number << std::endl; - - pcl::EuclideanClusterComparator::Ptr euclidean_cluster_comparator_(new pcl::EuclideanClusterComparator ()); - euclidean_cluster_comparator_->setInputCloud (cloud_filtered); - euclidean_cluster_comparator_->setLabels (labels); - euclidean_cluster_comparator_->setExcludeLabels (plane_labels); - euclidean_cluster_comparator_->setDistanceThreshold (0.03f, false); - - pcl::PointCloud euclidean_labels; - std::vector euclidean_label_indices; - pcl::OrganizedConnectedComponentSegmentation euclidean_segmentation (euclidean_cluster_comparator_); - euclidean_segmentation.setInputCloud (cloud_filtered); - euclidean_segmentation.segment (euclidean_labels, euclidean_label_indices); unsigned int initialIndex = cloud_save_index; // save detected cluster data - for (size_t i = 0; i < euclidean_label_indices.size (); i++) + for (size_t i = 0; i < clustered_cloud.size(); i++) { - if (euclidean_label_indices[i].indices.size () > 500) - { - pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud()); - pcl::ExtractIndices extract; - - pcl::PointIndices::Ptr object_cloud_indices (new pcl::PointIndices()); - *object_cloud_indices = euclidean_label_indices[i]; - extract.setInputCloud(cloud_filtered); - extract.setIndices(object_cloud_indices); - extract.setKeepOrganized(true); - extract.filter(*cloud_cluster); - - std::stringstream ss; - ss << "_cluster_" << i+1 << "_ground_truth"; - - saveCloud(*cloud_cluster,ground_truth_directory, ss.str()); - std::cerr << "\tcluster size: "<< euclidean_label_indices[i].indices.size () << std::endl; - } + std::stringstream ss; + ss << "_cluster_" << i+1 << "_ground_truth"; + saveCloud(*clustered_cloud[i],ground_truth_directory, ss.str()); } - std::cerr << "Segmented object: " << cloud_save_index - initialIndex <<". Segmentation done.\n Waiting for keypress to get new data \n"; -} - - - -pcl::PointCloud::Ptr useTFConvexHull(tf::StampedTransform transform, double distance = 0.5) -{ - pcl::PointCloud::Ptr tableTmp(new pcl::PointCloud()); - for (int i = -1; i < 2; i+=2) - for (int j = -1; j < 2; j+=2) - { - pcl::PointXYZRGBA tmp; - tmp.x = i * distance/2; - tmp.y = j * distance/2; - tmp.z = 0; - tableTmp->push_back(tmp); - } - pcl::PointCloud::Ptr tfTable(new pcl::PointCloud()); - pcl_ros::transformPointCloud (*tableTmp, *tfTable, transform); - writer.write (load_directory+"TF_boundary.pcd", *tfTable, true); - - pcl::PointCloud::Ptr convexHull(new pcl::PointCloud()); - - pcl::ConvexHull hull; - hull.setInputCloud(tfTable); - // Make sure that the resulting hull is bidimensional. - hull.setDimension(2); - hull.reconstruct(*convexHull); - writer.write (load_directory+"TFconvexHull.pcd", *tfTable, true); - return convexHull; + std::cerr << "Segmented object: " << clustered_cloud.size() << ". Segmentation done.\n Waiting for keypress to get new data \n"; } void callback(const sensor_msgs::PointCloud2 &pc) @@ -313,54 +97,30 @@ void callback(const sensor_msgs::PointCloud2 &pc) // convert sensor_msgs::PointCloud2 to pcl::PointXYZRGBA // update the time which will become the leading string of collected data time_to_save = boost::posix_time::second_clock::local_time(); - cloud_save_index++; - pcl::fromROSMsg(pc, *cloud); - if (haveTable and keyPress) + if (segmenter.ready and keypress) { + pcl::fromROSMsg(pc, *cloud); + cloud_save_index++; saveCloud(*cloud,original_directory,"_original"); - segmentCloudAboveTable(cloud,tableHull); - if (doCluster) - cloud_segmenter_and_save(cloud); - else saveCloud(*cloud,ground_truth_directory,"_ground_truth"); + cloud = segmenter.segmentAbovePlane(*cloud); + if (do_cluster) cloud_segmenter_and_save(cloud); + else saveCloud(*cloud,ground_truth_directory,"_ground_truth"); } else { - pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud()); - std::string tableTFparent; - tf::StampedTransform transform; - listener->getParent(tableTFname,ros::Time(0),tableTFparent); - if (useRosbag || listener->waitForTransform(tableTFparent,tableTFname,ros::Time::now(),ros::Duration(1.5))) - { - std::cerr << "Table TF with name: '" << tableTFname << "' found with parent frame: " << tableTFparent << std::endl; - listener->lookupTransform(tableTFparent,tableTFname,ros::Time(0),transform); - cloud_filtered = cloud_filter_distance(cloud, transform); - } - else{ - std::cerr << "Fail to get TF: "<< tableTFname << std::endl; - return; - } + segmenter.segmentPlaneIfNotExist(pc); - if (dist_viewer) + if (segmenter.ready) { - std::cerr << "See distance filtered cloud. Press q to quit viewer. \n"; - pcl::visualization::CloudViewer viewer ("Distance Filtered Cloud Viewer"); - viewer.showCloud (cloud_filtered); - while (!viewer.wasStopped ()) - { - } + std::cerr << "Add new object to the table \n"; + std::cerr << "Press 's' key to do object on table segmentation \n"; + std::cerr << "Press 'q' key to exit \n"; } - if (useTFsurface) - tableHull = useTFConvexHull(transform); else - tableHull = getTableConvexHull(cloud_filtered); - - if (update_table) - writer.write (load_directory+"/table.pcd", *tableHull, true); - haveTable = true; - - std::cerr << "Add new object to the table \n"; - std::cerr << "Press 's' key to do object on table segmentation \n"; - std::cerr << "Press 'q' key to exit \n"; + { + std::cerr << "Fail perfoming plane segmentation.\n"; + std::cerr << "Press the 's' key to retry.\n"; + } } } @@ -379,45 +139,35 @@ int main (int argc, char** argv) { ros::init(argc,argv,"object_on_table_segmenter_Node"); ros::NodeHandle nh("~"); - bool load_table; + //getting subscriber parameters - nh.param("POINTS_IN", POINTS_IN,std::string("/camera/depth_registered/points")); + nh.param("points_in", points_in,std::string("/camera/depth_registered/points")); //getting save parameters nh.param("save_directory",save_directory,std::string("./")); nh.param("original_directory",original_directory,std::string("original/")); nh.param("ground_truth_directory",ground_truth_directory,std::string("ground_truth/")); nh.param("object",object_name,std::string("cloud_cluster_")); - nh.param("pcl_viewer",dist_viewer,false); nh.param("save_index",cloud_save_index,0); nh.param("num_to_capture",num_to_capture,200); nh.param("time_step",time_step,0.1); nh.param("run_auto",run_auto,false); + + nh.param("do_cluster",do_cluster,true); - nh.param("load_table",load_table,false); - nh.param("update_table",update_table,false); - nh.param("load_directory",load_directory,std::string("./data")); - nh.param("tableTF", tableTFname,std::string("/tableTF")); - nh.param("useTFsurface",useTFsurface,false); - nh.param("useRosbag",useRosbag,false); - nh.param("doCluster",doCluster,true); - - nh.param("aboveTableMin",aboveTableMin,0.135); - nh.param("aboveTableMax",aboveTableMax,0.50); - - listener = new (tf::TransformListener); - - bool justCaptureEnvironment; - nh.param("environment_only",justCaptureEnvironment,false); - boost::filesystem::create_directories(load_directory); + bool just_capture_environment; + nh.param("environment_only",just_capture_environment,false); boost::filesystem::create_directories(save_directory); boost::filesystem::create_directories(original_directory); boost::filesystem::create_directories(ground_truth_directory); - if (justCaptureEnvironment) + // initialize plane segmenter + segmenter.initialize(nh); + + if (just_capture_environment) { - pc_sub = nh.subscribe(POINTS_IN,1,callbackCaptureEnvironment); + pc_sub = nh.subscribe(points_in,1,callbackCaptureEnvironment); ros::Rate r(1); while (ros::ok()){ r.sleep(); @@ -426,17 +176,8 @@ int main (int argc, char** argv) } else { - if (load_table) - { - pcl::PCDReader reader; - reader.read (load_directory+"/table.pcd", *tableHull); - haveTable = true; - } - else - haveTable = false; - - pc_sub = nh.subscribe(POINTS_IN,1,callback); - if (!haveTable) + pc_sub = nh.subscribe(points_in,1,callback); + if (!segmenter.ready) std::cerr << "1) Remove all object from the table\n2) make sure the AR tag you specified is visible\n3) press the 's' key to save the segmentation plane." << std::endl; else { @@ -448,6 +189,7 @@ int main (int argc, char** argv) int key = 0; if (not run_auto) { + keypress = true; while (ros::ok()) { key = getch(); @@ -462,16 +204,17 @@ int main (int argc, char** argv) int count = 0; while (ros::ok()) { - if (not haveTable) { + if (not segmenter.ready) { key = getch(); if ((key == 's') || (key == 'S')) ros::spinOnce(); else if ((key == 'q') || (key == 'Q')) break; - } else if (not keyPress) { + } + else if (not keypress) { std::cout << "Press any key to start data collection...\n"; key = getch(); - keyPress = true; + keypress = true; } ++count; @@ -485,7 +228,7 @@ int main (int argc, char** argv) } } } - delete (listener); + ros::shutdown(); return (0); } diff --git a/costar_tools/object_on_table_segmenter/src/plane_segmenter.cpp b/costar_tools/object_on_table_segmenter/src/plane_segmenter.cpp new file mode 100644 index 00000000..8256d55e --- /dev/null +++ b/costar_tools/object_on_table_segmenter/src/plane_segmenter.cpp @@ -0,0 +1,283 @@ +#include "object_on_table_segmenter/plane_segmenter.h" + +CloudXYZRGBA::Ptr PlaneSegmenter::cropBox(const CloudXYZRGBA &input_cloud, const Eigen::Affine3f &box_pose, const Eigen::Vector3f &box_size) const +{ + CloudXYZRGBA::Ptr cropped_cloud(new CloudXYZRGBA()); + pcl::CropBox crop_box; + bool is_organized = input_cloud.isOrganized(); + + crop_box.setKeepOrganized(is_organized); + crop_box.setInputCloud(input_cloud.makeShared()); + crop_box.setMax(box_size.homogeneous()); + crop_box.setMin((-box_size).homogeneous()); + crop_box.setTransform(box_pose.inverse()); + crop_box.filter(*cropped_cloud); + + if (visualize_) + { + viewer_->setWindowName("CropBox Result"); + viewer_->removeAllPointClouds(); + viewer_->addPointCloud(cropped_cloud, "cropbox"); + viewer_->spin(); + viewer_->removeAllPointClouds(); + } + + return cropped_cloud; +} + +void PlaneSegmenter::organizedPlaneSegmentation( + const CloudXYZRGBA &input_cloud, + std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > ®ions, + pcl::PointCloud::Ptr &labels, + std::vector &label_indices) const +{ + // Get Normal Cloud + pcl::PointCloud::Ptr normals (new pcl::PointCloud); + pcl::IntegralImageNormalEstimation ne; + ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT); + ne.setMaxDepthChangeFactor(0.02f); + ne.setNormalSmoothingSize(10.0f); + CloudXYZRGBA::Ptr input_cloud_ptr = input_cloud.makeShared(); + ne.setInputCloud(input_cloud_ptr); + ne.compute(*normals); + + // Segment planes + pcl::OrganizedMultiPlaneSegmentation< pcl::PointXYZRGBA, pcl::Normal, pcl::Label > mps; + + mps.setMinInliers (minimal_inliers_); + mps.setAngularThreshold (0.017453 * angular_threshold_); // in radians + mps.setDistanceThreshold (distance_threshold_); // in meters + mps.setInputNormals (normals); + mps.setInputCloud (input_cloud_ptr); + mps.setProjectPoints (true); // project the boundary points to the plane + std::vector model_coefficients; + std::vector inlier_indices; + std::vector boundary_indices; + + mps.segmentAndRefine (regions, model_coefficients, inlier_indices, labels, label_indices, boundary_indices); +} + +CloudXYZRGBA::Ptr PlaneSegmenter::generatePlaneConvexHull(const CloudXYZRGBA &input_cloud) const +{ + std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; + pcl::PointCloud::Ptr labels (new pcl::PointCloud()); + std::vector label_indices; + this->organizedPlaneSegmentation(input_cloud,regions,labels,label_indices); + + // Retrieve the convex hull. + CloudXYZRGBA::Ptr convex_hull(new CloudXYZRGBA()); + unsigned int best_region = 0; + unsigned int best_region_idx = 0; + + if (regions.size() > 0) { + std::cout << "Number of possible plane regions: " << regions.size() << std::endl; + + for (size_t i = 0; i < regions.size(); i++){ + std::cout << "Region" << i <<" size: " << regions[i].getCount() << std::endl; + pcl::PointCloud::Ptr contour (new pcl::PointCloud); + contour->points = regions[i].getContour(); + + if (regions[i].getCount() > best_region) + { + best_region = regions[i].getCount(); + best_region_idx = i; + } + + if (visualize_) + { + std::stringstream ss; + ss << "Region" << i; + viewer_->setWindowName(ss.str()); + viewer_->removeAllPointClouds(); + viewer_->addPointCloud(contour, ss.str()); + viewer_->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1.0f, 0.0f, 0.0f, ss.str()); + viewer_->spin(); + viewer_->removeAllPointClouds(); + } + } + + pcl::PointCloud::Ptr boundary(new pcl::PointCloud); + boundary->points = regions[best_region_idx].getContour(); + + pcl::ConvexHull hull; + hull.setInputCloud(boundary); + // Make sure that the resulting hull is bidimensional. + hull.setDimension(2); + hull.reconstruct(*convex_hull); + } + return convex_hull; +} + +std::vector PlaneSegmenter::clusterPointCloud(const CloudXYZRGBA &input_cloud, const unsigned int &minimal_cluster_size) +{ + CloudXYZRGBA::Ptr input_cloud_ptr = input_cloud.makeShared(); + std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; + pcl::PointCloud::Ptr labels (new pcl::PointCloud()); + std::vector label_indices; + this->organizedPlaneSegmentation(input_cloud,regions,labels,label_indices); + + std::vector plane_labels; + plane_labels.resize(label_indices.size(), false); + + pcl::EuclideanClusterComparator::Ptr euclidean_cluster_comparator( + new pcl::EuclideanClusterComparator()); + euclidean_cluster_comparator->setInputCloud (input_cloud_ptr); + euclidean_cluster_comparator->setLabels (labels); + euclidean_cluster_comparator->setExcludeLabels (plane_labels); + euclidean_cluster_comparator->setDistanceThreshold(0.03f, false); + + pcl::PointCloud euclidean_labels; + std::vector euclidean_label_indices; + pcl::OrganizedConnectedComponentSegmentation euclidean_segmentation (euclidean_cluster_comparator); + euclidean_segmentation.setInputCloud (input_cloud_ptr); + euclidean_segmentation.segment (euclidean_labels, euclidean_label_indices); + + std::vector result_cluster; + for (std::size_t i = 0; i < euclidean_label_indices.size (); i++) + { + if (euclidean_label_indices[i].indices.size() > minimal_cluster_size) + { + pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud()); + pcl::ExtractIndices extract; + + pcl::PointIndices::Ptr object_cloud_indices (new pcl::PointIndices()); + *object_cloud_indices = euclidean_label_indices[i]; + extract.setInputCloud(input_cloud_ptr); + extract.setIndices(object_cloud_indices); + extract.setKeepOrganized(true); + extract.filter(*cloud_cluster); + result_cluster.push_back(cloud_cluster); + + std::cerr << "\tCluster size: "<< euclidean_label_indices[i].indices.size() << std::endl; + } + } + return result_cluster; +} + + +CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull, + const double &min_above_plane, const double &max_above_plane) const +{ + CloudXYZRGBA::Ptr input_cloud_ptr = input_cloud.makeShared(); + if (plane_convex_hull.empty()) + { + std::cerr << "Error, the plane convex hull is still empty.\nReturning unsegmented input point cloud\n"; + return input_cloud_ptr; + } + std::cout << "\nSegment object above plane \n"; + bool is_organized = input_cloud.isOrganized(); + + // Prism object. + pcl::ExtractPolygonalPrismData prism; + prism.setInputCloud(input_cloud_ptr); + prism.setInputPlanarHull(plane_convex_hull.makeShared()); + + // from 1 cm above plane to 50 cm above plane + prism.setHeightLimits(min_above_plane, max_above_plane); + pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices()); + + prism.segment(*objectIndices); + // Get and show all points retrieved by the hull. + CloudXYZRGBA::Ptr objects(new CloudXYZRGBA()); + pcl::ExtractIndices extract; + extract.setInputCloud(input_cloud_ptr); + extract.setIndices(objectIndices); + + extract.setKeepOrganized(is_organized); + + extract.filter(*objects); + return objects; +} + +CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud, const double &min_above_plane, const double &max_above_plane) const +{ + return this->segmentAbovePlane(input_cloud, *plane_convex_hull_, min_above_plane, max_above_plane); +} + +CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const +{ + return this->segmentAbovePlane(input_cloud, plane_convex_hull, min_above_plane_, max_above_plane_); +} + +CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud) const +{ + return this->segmentAbovePlane(input_cloud, *plane_convex_hull_, min_above_plane_, max_above_plane_); +} + +CloudXYZRGBA::Ptr PlaneSegmenter::generatePlaneConvexHullFromPoseXYplane(const Eigen::Affine3f &pose, const double &size) const +{ + CloudXYZRGBA::Ptr plane_points(new CloudXYZRGBA()); + for (int i = -1; i < 2; i+=2) + { + for (int j = -1; j < 2; j+=2) + { + pcl::PointXYZRGBA tmp; + tmp.x = i * size/2; + tmp.y = j * size/2; + tmp.z = 0; + plane_points->push_back(tmp); + } + } + CloudXYZRGBA::Ptr plane_hull(new CloudXYZRGBA()); + pcl::transformPointCloud (*plane_points, *plane_hull, pose); + + pcl::PointCloud::Ptr convex_hull(new pcl::PointCloud()); + + pcl::ConvexHull hull; + hull.setInputCloud(plane_hull); + // Make sure that the resulting hull is bidimensional. + hull.setDimension(2); + hull.reconstruct(*convex_hull); + return convex_hull; +} + +void PlaneSegmenter::setPlaneSegmentationParameters(const double &distance_threshold, const double &angular_threshold, const unsigned int &minimal_inliers) +{ + this->distance_threshold_ = distance_threshold; + this->angular_threshold_ = angular_threshold; + this->minimal_inliers_ = minimal_inliers; +} + +void PlaneSegmenter::setPlaneConvexHull(const CloudXYZRGBA &plane_convex_hull) +{ + if (plane_convex_hull.empty()) + { + std::cerr << "Error, the input convex hull is empty.\n"; + this->ready = false; + return; + } + else + { + this->ready = true; + *plane_convex_hull_ = plane_convex_hull; + if (visualize_) + { + viewer_->setWindowName("Selected Plane Convex Hull"); + viewer_->removeAllPointClouds(); + viewer_->addPointCloud(plane_convex_hull_, "plane_hull"); + viewer_->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1.0f, 0.0f, 0.0f, "plane_hull"); + viewer_->spin(); + viewer_->removeAllPointClouds(); + } + } +} + +void PlaneSegmenter::setPlaneSegmentationHeight(const double &min_above_plane, const double &max_above_plane) +{ + this->min_above_plane_ = min_above_plane; + this->max_above_plane_ = max_above_plane; +} + +void PlaneSegmenter::setVisualizationFlag(const bool visualize) +{ + this->visualize_ = visualize; + + if (visualize && !viewer_) + { + viewer_ = pcl::visualization::PCLVisualizer::Ptr (new pcl::visualization::PCLVisualizer ("Visualizer")); + viewer_->initCameraParameters(); + viewer_->addCoordinateSystem(0.1); + viewer_->setCameraPosition(0, 0, 0.1, 0, 0, 1, 0, -1, 0); + viewer_->setSize(1280, 960); + } +} diff --git a/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp b/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp new file mode 100644 index 00000000..3f38301a --- /dev/null +++ b/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp @@ -0,0 +1,139 @@ +#include "object_on_table_segmenter/ros_plane_segmenter.h" + +RosPlaneSegmenter::~RosPlaneSegmenter() +{ + if (listener_) + { + delete (listener_); + } +} + +void RosPlaneSegmenter::initialize(const ros::NodeHandle &nh) +{ + this->initialized_ = true; + listener_ = new (tf::TransformListener); + + bool load_table; + bool visualization; + nh.param("plane_segmenter_viewer",visualization,false); + nh.param("load_table",load_table,false); + nh.param("load_table_path",load_table_path_,std::string("./data/table.pcd")); + + namespace fs = boost::filesystem; + fs::path p(load_table_path_); + if (!fs::exists(p)) + { + ROS_INFO("Cannot find plane data in %s.",load_table_path_.c_str()); + fs::path plane_data_directory = p.parent_path(); + if (!fs::exists(plane_data_directory)) + { + if (fs::create_directories(plane_data_directory)) + { + ROS_ERROR("Fail to generate plane data save directory %s.",plane_data_directory.string().c_str()); + } + else + { + ROS_INFO("Created plane data save directory %s.",plane_data_directory.string().c_str()); + } + } + } + else + { + ROS_INFO("Found plane data in %s.",load_table_path_.c_str()); + } + + if (load_table) + { + pcl::PointCloud::Ptr table_hull(new pcl::PointCloud()); + if (reader_.read(load_table_path_, *table_hull) < 0) + { + ROS_WARN("Fail to load plane data from %s.",load_table_path_.c_str()); + } + else + { + ROS_INFO("Plane data loaded."); + } + this->setPlaneConvexHull(*table_hull); + } + + nh.param("use_rosbag",use_rosbag_,false); + nh.param("update_table",update_table_,false); + nh.param("table_tf", table_tf_name_,std::string("/table_tf")); + nh.param("use_tf_surface",use_tf_surface_,false); + + double above_table_min, above_table_max; + nh.param("above_table_min",above_table_min,0.01); + nh.param("above_table_max",above_table_max,0.50); + + double table_distance_threshold, table_angular_threshold, table_minimal_inliers; + nh.param("table_distance_threshold",table_distance_threshold,0.02); + nh.param("table_angular_threshold",table_angular_threshold,2.0); + nh.param("table_minimal_inliers",table_minimal_inliers,5000.0); + + this->setPlaneSegmentationHeight(above_table_min,above_table_max); + this->setPlaneSegmentationParameters(table_distance_threshold,table_angular_threshold,table_minimal_inliers); + this->setVisualizationFlag(visualization); + +} + +void RosPlaneSegmenter::segmentPlaneIfNotExist(const sensor_msgs::PointCloud2 &input_cloud) +{ + if (!initialized_) + { + std::cerr << "ERROR, RosPlaneSegmenter is not initialized yet.\n"; + return; + } + else if (!this->ready) + { + ROS_INFO("Performing plane segmentation"); + // perform table segmentation + CloudXYZRGBA::Ptr cloud(new CloudXYZRGBA()); + fromROSMsg(input_cloud,*cloud); + CloudXYZRGBA::Ptr cloud_filtered (new CloudXYZRGBA()); + std::string table_tf_parent; + tf::StampedTransform transform; + + if (!listener_->frameExists(table_tf_name_)) + { + ROS_WARN("Fail to find table frame [%s]",table_tf_name_.c_str()); + return; + } + + listener_->getParent(table_tf_name_,ros::Time(0),table_tf_parent); + if (use_rosbag_ || listener_->waitForTransform(table_tf_parent,table_tf_name_,ros::Time::now(),ros::Duration(1.5))) + { + ROS_INFO("Found table frame [%s]",table_tf_name_.c_str()); + listener_->lookupTransform(table_tf_parent,table_tf_name_,ros::Time(0),transform); + Eigen::Affine3d box_pose; + tf::transformTFToEigen(transform, box_pose); + Eigen::Affine3f box_pose_float(box_pose); + cloud_filtered = this->cropBox(*cloud, box_pose_float, Eigen::Vector3f(0.5,0.5,0.5)); + } + else + { + ROS_WARN("Fail to find table frame [%s]",table_tf_name_.c_str()); + return; + } + + CloudXYZRGBA::Ptr table_hull; + + if (use_tf_surface_) + { + Eigen::Affine3d plane_pose; + tf::transformTFToEigen(transform, plane_pose); + Eigen::Affine3f plane_pose_float(plane_pose); + table_hull = this->generatePlaneConvexHullFromPoseXYplane(plane_pose_float,0.5); + } + else + { + table_hull = this->generatePlaneConvexHull(*cloud_filtered); + } + + if (table_hull->size() > 0) + { + this->setPlaneConvexHull(*table_hull); + + if (update_table_) writer_.write (load_table_path_, *table_hull, true); + } + } +} \ No newline at end of file From 8877b4f340f762e2c218f6f2b67431177813f3fc Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Sat, 12 Aug 2017 02:24:20 -0400 Subject: [PATCH 063/105] Refactored object_on_table_segmenter Modify plane segmentation function into package importable libraries --- CMakeLists.txt | 181 ++------- README.md | 15 +- .../plane_segmenter.h | 76 ++++ .../ros_plane_segmenter.h | 42 ++ launch/object_on_table_segmenter.launch | 96 ++--- package.xml | 9 +- src/object_on_table_segmenter.cpp | 365 +++--------------- src/plane_segmenter.cpp | 283 ++++++++++++++ src/ros_plane_segmenter.cpp | 139 +++++++ 9 files changed, 680 insertions(+), 526 deletions(-) create mode 100644 include/object_on_table_segmenter/plane_segmenter.h create mode 100644 include/object_on_table_segmenter/ros_plane_segmenter.h create mode 100644 src/plane_segmenter.cpp create mode 100644 src/ros_plane_segmenter.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 6da93990..04fa500e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,104 +10,16 @@ find_package(Boost REQUIRED) find_package(catkin REQUIRED COMPONENTS PCL tf + tf_conversions pcl_ros sensor_msgs ) - -## System dependencies are found with CMake's conventions -# find_package(Boost REQUIRED COMPONENTS system) - -## Uncomment this if the package has a setup.py. This macro ensures -## modules and global scripts declared therein get installed -## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html -# catkin_python_setup() - -################################################ -## Declare ROS messages, services and actions ## -################################################ - -## To declare and build messages, services or actions from within this -## package, follow these steps: -## * Let MSG_DEP_SET be the set of packages whose message types you use in -## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). -## * In the file package.xml: -## * add a build_depend tag for "message_generation" -## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET -## * If MSG_DEP_SET isn't empty the following dependency has been pulled in -## but can be declared for certainty nonetheless: -## * add a run_depend tag for "message_runtime" -## * In this file (CMakeLists.txt): -## * add "message_generation" and every package in MSG_DEP_SET to -## find_package(catkin REQUIRED COMPONENTS ...) -## * add "message_runtime" and every package in MSG_DEP_SET to -## catkin_package(CATKIN_DEPENDS ...) -## * uncomment the add_*_files sections below as needed -## and list every .msg/.srv/.action file to be processed -## * uncomment the generate_messages entry below -## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) - -## Generate messages in the 'msg' folder -# add_message_files( -# FILES -# Message1.msg -# Message2.msg -# ) - -## Generate services in the 'srv' folder -# add_service_files( -# FILES -# Service1.srv -# Service2.srv -# ) - -## Generate actions in the 'action' folder -# add_action_files( -# FILES -# Action1.action -# Action2.action -# ) - -## Generate added messages and services with any dependencies listed here -# generate_messages( -# DEPENDENCIES -# sensor_msgs -# ) - -################################################ -## Declare ROS dynamic reconfigure parameters ## -################################################ - -## To declare and build dynamic reconfigure parameters within this -## package, follow these steps: -## * In the file package.xml: -## * add a build_depend and a run_depend tag for "dynamic_reconfigure" -## * In this file (CMakeLists.txt): -## * add "dynamic_reconfigure" to -## find_package(catkin REQUIRED COMPONENTS ...) -## * uncomment the "generate_dynamic_reconfigure_options" section below -## and list every .cfg file to be processed - -## Generate dynamic reconfigure parameters in the 'cfg' folder -# generate_dynamic_reconfigure_options( -# cfg/DynReconf1.cfg -# cfg/DynReconf2.cfg -# ) - -################################### -## 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 you 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( -# INCLUDE_DIRS include -# LIBRARIES object_on_table_segmenter -# CATKIN_DEPENDS pcl_conversion sensor_msgs -# DEPENDS system_lib + INCLUDE_DIRS include + LIBRARIES PlaneSegmenter RosPlaneSegmenter + CATKIN_DEPENDS tf tf_conversions pcl_ros sensor_msgs + DEPENDS PCL Boost ) ########### @@ -116,87 +28,40 @@ catkin_package( ## Specify additional locations of header files ## Your package locations should be listed before other locations -# include_directories(include) include_directories( + include ${catkin_INCLUDE_DIRS} + ${PCL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) ## Declare a C++ library +add_library(PlaneSegmenter src/plane_segmenter.cpp) -# add_library(object_on_table_segmenter -# src/${PROJECT_NAME}/object_on_table_segmenter.cpp -# ) - -## Add cmake target dependencies of the library -## as an example, code may need to be generated before libraries -## either from message generation or dynamic reconfigure -# add_dependencies(object_on_table_segmenter ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) +add_library(RosPlaneSegmenter src/ros_plane_segmenter.cpp) ## Declare a C++ executable add_executable(object_on_table_segmenter src/object_on_table_segmenter.cpp) -#add_executable(pcd2png_segment_gt src/pcd2png_segment_gt.cpp) -#target_include_directories(pcd2png_segment_gt ${PCL_LIBRARIES}) - -## Add cmake target dependencies of the executable -## same as for the library above -# add_dependencies(object_on_table_segmenter_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) ## Specify libraries to link a library or executable target against +target_link_libraries(PlaneSegmenter ${PCL_LIBRARIES}) + +target_link_libraries(RosPlaneSegmenter PlaneSegmenter ${Boost_LIBRARIES} ${catkin_LIBRARIES}) + target_link_libraries(object_on_table_segmenter + RosPlaneSegmenter ${catkin_LIBRARIES} ${Boost_LIBRARIES} ) -#target_link_libraries(pcd2png_segment_gt -# ${PCL_LIBRARIES} -# ${Boost_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 object_on_table_segmenter object_on_table_segmenter_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/${PROJECT_NAME}/ -# 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(FILES -# # myfile1 -# # myfile2 -# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} -# ) - -############# -## Testing ## -############# +install(TARGETS RosPlaneSegmenter PlaneSegmenter + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +) -## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_object_on_table_segmenter.cpp) -# if(TARGET ${PROJECT_NAME}-test) -# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) -# endif() +install(DIRECTORY include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) -## Add folders to be run by python nosetests -# catkin_add_nosetests(test) +install(FILES package.xml + DESTINATION share/${PROJECT_NAME}) diff --git a/README.md b/README.md index bbe0661c..3d338f54 100644 --- a/README.md +++ b/README.md @@ -21,15 +21,16 @@ It is possible to pass some arguments to set the directory data, point cloud inp Args list: object : the object folder name without extension. Default: ```cloud_cluster_``` pcl_in : Input point cloud topic name. Default: ```/camera/depth_registered/points``` -viewer : See first distance filtered pcl and save it. Default: ```false``` -save_directory : Location of save directory. Default: ```$(find object_on_table_segmenter)/result``` +viewer : See first distance filtered and table segmented pcl. Default: ```false``` +save_directory : Location of save directory for the data collection. Default: ```$(find object_on_table_segmenter)/result``` save_index = 0 -laod_directory +load_directory -tableTF : marker we are going to use +table_tf : marker we are going to use +See launch/object_on_table_segmenter.launch for more arguments that can be passed into the code. ## Examples @@ -39,7 +40,7 @@ Before starting make sure your sensor has a full and accurate view of the target ``` -roslaunch object_on_table_segmenter object_on_table_segmenter.launch tableTF:=ar_marker_2 useTFsurface:=true aboveTableMin:=0.01 object:=blue_bin load_table:=true num_to_capture:=200 +roslaunch object_on_table_segmenter object_on_table_segmenter.launch tableTF:=ar_marker_2 use_tf_surface:=true above_table_min:=0.01 object:=blue_bin load_table:=true num_to_capture:=200 ``` 1. Here on the first run you put the marker on the table/turntable. @@ -54,8 +55,8 @@ roslaunch object_on_table_segmenter object_on_table_segmenter.launch tableTF:=ar 4. press 's' again to begin collecting data ``` -roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_vert tableTF:=ar_marker_2 load_table:=false num_to_capture:=200 -roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_horizontal tableTF:=ar_marker_2 load_table:=false num_to_capture:=200 +roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_vert table_tf:=ar_marker_2 load_table:=false num_to_capture:=200 +roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_horizontal table_tf:=ar_marker_2 load_table:=false num_to_capture:=200 ``` Results will be placed in the local directory with the following structure diff --git a/include/object_on_table_segmenter/plane_segmenter.h b/include/object_on_table_segmenter/plane_segmenter.h new file mode 100644 index 00000000..7d48c4b5 --- /dev/null +++ b/include/object_on_table_segmenter/plane_segmenter.h @@ -0,0 +1,76 @@ +#ifndef PLANE_SEGMENTER +#define PLANE_SEGMENTER + +#include +#include +#include +#include + +// plane segmentation +#include +#include + +// segment object above plane +#include +#include +#include + +// for eucledian clustering +#include +#include + +#include +#include + +typedef pcl::PointCloud CloudXYZRGBA; + +class PlaneSegmenter +{ +public: + PlaneSegmenter() : ready(false), + plane_convex_hull_(new CloudXYZRGBA()), + distance_threshold_(0.02), angular_threshold_(2.0), minimal_inliers_(5000), + min_above_plane_(0.01), max_above_plane_(0.5), + visualize_(false) {}; + + CloudXYZRGBA::Ptr cropBox(const CloudXYZRGBA &input_cloud, const Eigen::Affine3f &box_pose, const Eigen::Vector3f &box_size) const; + CloudXYZRGBA::Ptr generatePlaneConvexHull(const CloudXYZRGBA &input_cloud) const; + CloudXYZRGBA::Ptr generatePlaneConvexHullFromPoseXYplane(const Eigen::Affine3f &pose, const double &size = 0.5) const; + + std::vector clusterPointCloud(const CloudXYZRGBA &input_cloud, const unsigned int &minimal_cluster_size = 500); + + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull, + const double &min_above_plane, const double &max_above_plane) const; + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, + const double &min_above_plane, const double &max_above_plane) const; + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const; + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud) const; + + void setPlaneSegmentationParameters(const double &distance_threshold, const double &angular_threshold, const unsigned int &minimal_inliers); + void setPlaneConvexHull(const CloudXYZRGBA &plane_convex_hull); + void setPlaneSegmentationHeight(const double &min_above_plane, const double &max_above_plane); + void setVisualizationFlag(const bool visualize = true); + + CloudXYZRGBA getPlaneConvexHull() const { return *plane_convex_hull_; }; + + bool ready; + ; +private: + void organizedPlaneSegmentation( + const CloudXYZRGBA &input_cloud, + std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > ®ions, + pcl::PointCloud::Ptr &labels, + std::vector &label_indices) const; + CloudXYZRGBA::Ptr plane_convex_hull_; + pcl::visualization::PCLVisualizer::Ptr viewer_; + double distance_threshold_; + double angular_threshold_; + unsigned int minimal_inliers_; + double min_above_plane_; + double max_above_plane_; + + bool visualize_; + ; +}; + +#endif diff --git a/include/object_on_table_segmenter/ros_plane_segmenter.h b/include/object_on_table_segmenter/ros_plane_segmenter.h new file mode 100644 index 00000000..62858ace --- /dev/null +++ b/include/object_on_table_segmenter/ros_plane_segmenter.h @@ -0,0 +1,42 @@ +#ifndef ROS_PLANE_SEGMENTER +#define ROS_PLANE_SEGMENTER + +#include +// include to convert from messages to pointclouds and vice versa +#include +#include +#include + +// for using tf surface +#include + +// for creating directory automatically +#include + +#include "object_on_table_segmenter/plane_segmenter.h" + +// This class extend PlaneSegmenter to automatically configures and updates the plane segmenter parameters using ros param +class RosPlaneSegmenter : public PlaneSegmenter +{ +public: + RosPlaneSegmenter() : initialized_(false) {}; + ~RosPlaneSegmenter(); + + void initialize(const ros::NodeHandle &nh); + + // this will update the plane if the plane data does not exist yet + void segmentPlaneIfNotExist(const sensor_msgs::PointCloud2 &input_cloud); + +private: + bool initialized_; + bool update_table_; + bool use_rosbag_; + std::string table_tf_name_; + std::string load_table_path_; + pcl::PCDWriter writer_; + pcl::PCDReader reader_; + tf::TransformListener * listener_; + bool use_tf_surface_; +}; + +#endif \ No newline at end of file diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index e302dc5a..9a8a9176 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -1,58 +1,60 @@ - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/package.xml b/package.xml index c6ca1117..82314d16 100644 --- a/package.xml +++ b/package.xml @@ -43,15 +43,18 @@ sensor_msgs tf pcl_ros + tf_conversions sensor_msgs tf - pcl_ros - + pcl_ros + tf_conversions - + + PCL + Boost diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp index 34192c41..fba40ef9 100644 --- a/src/object_on_table_segmenter.cpp +++ b/src/object_on_table_segmenter.cpp @@ -1,19 +1,8 @@ #include #include -// For removing point cloud outside certain distance -// based on http://pointclouds.org/documentation/tutorials/passthrough.php tutorial -#include -#include +#include #include -#include - -// for pcl segmentation -#include -#include -#include -#include -#include // ros stuff #include @@ -24,35 +13,33 @@ // include to convert from messages to pointclouds and vice versa #include #include +#include + // for using tf surface #include -// for segment object above table -#include -#include // for creating directory automatically #include #include #include -bool dist_viewer ,haveTable,update_table; -std::string POINTS_IN; -std::string save_directory, object_name, load_directory, original_directory, ground_truth_directory; -std::string tableTFname; +// for pcl segmentation +// #include "object_on_table_segmenter/plane_segmenter.h" +#include "object_on_table_segmenter/ros_plane_segmenter.h" + + +std::string points_in; +std::string save_directory, object_name, original_directory, ground_truth_directory; int cloud_save_index; ros::Subscriber pc_sub; pcl::PCDWriter writer; -pcl::PointCloud::Ptr tableHull(new pcl::PointCloud()); -tf::TransformListener * listener; -double aboveTableMin; -double aboveTableMax; double time_step; -bool keyPress = false; +bool keypress = false; bool run_auto; int num_to_capture = 0; -bool useTFsurface; -bool useRosbag; -bool doCluster; +bool do_cluster; + +RosPlaneSegmenter segmenter; boost::posix_time::ptime time_to_save; // function getch is from http://answers.ros.org/question/63491/keyboard-key-pressed/ @@ -70,105 +57,6 @@ int getch() return c; } -pcl::PointCloud::Ptr cloud_filter_distance(pcl::PointCloud::Ptr cloud_input, const tf::StampedTransform &transform) -{ - //std::cerr << "Cloud points before distance filtering: " << cloud_input->points.size() << std::endl; - double region = 0.5; - for (unsigned int i = 0; i < 3; i++) - { - pcl::PassThrough pass; - std::cerr << "cloud input organized" << cloud_input->isOrganized() << std::endl; - pass.setInputCloud (cloud_input); - pass.setKeepOrganized(true); - std::string axisName; - double positionToSegment; - - switch (i){ - case 0: - axisName = "x"; - positionToSegment = transform.getOrigin().getX(); - break; - case 1: - axisName = "y"; - positionToSegment = transform.getOrigin().getY(); - break; - default: - axisName = "z"; - positionToSegment = transform.getOrigin().getZ(); - break; - } - std::cerr << "Segmenting axis: " << axisName << "max: " << positionToSegment + region << " min: " << positionToSegment - region << std::endl; - pass.setFilterFieldName (axisName); - pass.setFilterLimits (positionToSegment - region, positionToSegment + region); - pass.filter (*cloud_input); - std::cerr << "cloud output organized" << cloud_input->isOrganized() << std::endl; - } - return cloud_input; -} - -void segmentCloudAboveTable(pcl::PointCloud::Ptr &cloud_input, const pcl::PointCloud::Ptr &convexHull) -{ - std::cerr << "cloud input organized" << cloud_input->isOrganized() << std::endl; - std::cerr << "\nSegment object above table \n"; - // Prism object. - pcl::ExtractPolygonalPrismData prism; - prism.setInputCloud(cloud_input); - prism.setInputPlanarHull(convexHull); - - // from 1 cm above table to 50 cm above table - //prism.setHeightLimits(0.135f, 0.5f); - prism.setHeightLimits(aboveTableMin,aboveTableMax); - pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices()); - - prism.segment(*objectIndices); - // Get and show all points retrieved by the hull. - pcl::PointCloud::Ptr objects(new pcl::PointCloud()); - pcl::ExtractIndices extract; - extract.setInputCloud(cloud_input); - extract.setIndices(objectIndices); - extract.setKeepOrganized(true); - extract.filter(*objects); - *cloud_input = *objects; - std::cerr << "cloud output organized" << cloud_input->isOrganized() << std::endl; -} - -pcl::PointCloud::Ptr getTableConvexHull(pcl::PointCloud::Ptr negative) -{ - - // Get Normal Cloud - pcl::PointCloud::Ptr normals (new pcl::PointCloud()); - pcl::IntegralImageNormalEstimation ne; - ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT); - ne.setMaxDepthChangeFactor(0.02f); - ne.setNormalSmoothingSize(10.0f); - ne.setInputCloud(negative); - ne.compute(*normals); - - // Segment planes - pcl::OrganizedMultiPlaneSegmentation< pcl::PointXYZRGBA, pcl::Normal, pcl::Label > mps; - - mps.setMinInliers (15000); - mps.setAngularThreshold (0.017453 * 2.0); // 2 degrees - mps.setDistanceThreshold (0.02); // 2cm - mps.setInputNormals (normals); - mps.setInputCloud (negative); - std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; - mps.segmentAndRefine (regions); - - pcl::PointCloud::Ptr boundary(new pcl::PointCloud()); - boundary->points = regions[0].getContour(); - - // Retrieve the convex hull. - pcl::PointCloud::Ptr convexHull(new pcl::PointCloud()); - - pcl::ConvexHull hull; - hull.setInputCloud(boundary); - // Make sure that the resulting hull is bidimensional. - hull.setDimension(2); - hull.reconstruct(*convexHull); - return convexHull; -} - void saveCloud(const pcl::PointCloud& cloud_input, std::string dir, std::string additional_text = std::string("")) { std::stringstream ss; @@ -189,122 +77,18 @@ void saveCloud(const pcl::PointCloud& cloud_input, std::strin void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_filtered) { std::cerr << "Object Segmentation process begin \n"; - if (dist_viewer) - { - std::cerr << "See distance filtered cloud. Press q to quit viewer. \n"; - pcl::visualization::CloudViewer viewer ("Distance Filtered Cloud Viewer"); - viewer.showCloud (cloud_filtered); - while (!viewer.wasStopped ()) - { - } - dist_viewer = false; - writer.write (load_directory+"distance_filtered.pcd", *cloud_filtered, true); - } - - // Get Normal Cloud - pcl::PointCloud::Ptr normals (new pcl::PointCloud()); - pcl::IntegralImageNormalEstimation ne; - ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT); - ne.setMaxDepthChangeFactor(0.03f); - ne.setNormalSmoothingSize(10.0f); - ne.setInputCloud(cloud_filtered); - ne.compute(*normals); - - // Segment planes - pcl::OrganizedMultiPlaneSegmentation< pcl::PointXYZRGBA, pcl::Normal, pcl::Label > mps; - std::vector model_coefficients; - std::vector inlier_indices; - pcl::PointCloud::Ptr labels (new pcl::PointCloud()); - std::vector label_indices; - std::vector boundary_indices; - - mps.setMinInliers (10000); - mps.setAngularThreshold (0.017453 * 3.0); // 2 degrees - mps.setDistanceThreshold (0.03); // 2cm - mps.setInputNormals (normals); - mps.setInputCloud (cloud_filtered); - std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; - mps.segmentAndRefine (regions, model_coefficients, inlier_indices, labels, label_indices, boundary_indices); + std::vector clustered_cloud = segmenter.clusterPointCloud(*cloud_filtered, 500); - // Remove detected planes (table) and segment the object - // int planar_region_number = 0; - std::vector plane_labels; - plane_labels.resize (label_indices.size (), false); - // for (size_t i = 0; i < label_indices.size (); i++) - // { - // if (label_indices[i].indices.size () > 10000) - // { - // plane_labels[i] = true; - // planar_region_number ++; - // } - // } - // std::cerr << "Detected planar region: " << planar_region_number << std::endl; - - pcl::EuclideanClusterComparator::Ptr euclidean_cluster_comparator_(new pcl::EuclideanClusterComparator ()); - euclidean_cluster_comparator_->setInputCloud (cloud_filtered); - euclidean_cluster_comparator_->setLabels (labels); - euclidean_cluster_comparator_->setExcludeLabels (plane_labels); - euclidean_cluster_comparator_->setDistanceThreshold (0.03f, false); - - pcl::PointCloud euclidean_labels; - std::vector euclidean_label_indices; - pcl::OrganizedConnectedComponentSegmentation euclidean_segmentation (euclidean_cluster_comparator_); - euclidean_segmentation.setInputCloud (cloud_filtered); - euclidean_segmentation.segment (euclidean_labels, euclidean_label_indices); unsigned int initialIndex = cloud_save_index; // save detected cluster data - for (size_t i = 0; i < euclidean_label_indices.size (); i++) + for (size_t i = 0; i < clustered_cloud.size(); i++) { - if (euclidean_label_indices[i].indices.size () > 500) - { - pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud()); - pcl::ExtractIndices extract; - - pcl::PointIndices::Ptr object_cloud_indices (new pcl::PointIndices()); - *object_cloud_indices = euclidean_label_indices[i]; - extract.setInputCloud(cloud_filtered); - extract.setIndices(object_cloud_indices); - extract.setKeepOrganized(true); - extract.filter(*cloud_cluster); - - std::stringstream ss; - ss << "_cluster_" << i+1 << "_ground_truth"; - - saveCloud(*cloud_cluster,ground_truth_directory, ss.str()); - std::cerr << "\tcluster size: "<< euclidean_label_indices[i].indices.size () << std::endl; - } + std::stringstream ss; + ss << "_cluster_" << i+1 << "_ground_truth"; + saveCloud(*clustered_cloud[i],ground_truth_directory, ss.str()); } - std::cerr << "Segmented object: " << cloud_save_index - initialIndex <<". Segmentation done.\n Waiting for keypress to get new data \n"; -} - - - -pcl::PointCloud::Ptr useTFConvexHull(tf::StampedTransform transform, double distance = 0.5) -{ - pcl::PointCloud::Ptr tableTmp(new pcl::PointCloud()); - for (int i = -1; i < 2; i+=2) - for (int j = -1; j < 2; j+=2) - { - pcl::PointXYZRGBA tmp; - tmp.x = i * distance/2; - tmp.y = j * distance/2; - tmp.z = 0; - tableTmp->push_back(tmp); - } - pcl::PointCloud::Ptr tfTable(new pcl::PointCloud()); - pcl_ros::transformPointCloud (*tableTmp, *tfTable, transform); - writer.write (load_directory+"TF_boundary.pcd", *tfTable, true); - - pcl::PointCloud::Ptr convexHull(new pcl::PointCloud()); - - pcl::ConvexHull hull; - hull.setInputCloud(tfTable); - // Make sure that the resulting hull is bidimensional. - hull.setDimension(2); - hull.reconstruct(*convexHull); - writer.write (load_directory+"TFconvexHull.pcd", *tfTable, true); - return convexHull; + std::cerr << "Segmented object: " << clustered_cloud.size() << ". Segmentation done.\n Waiting for keypress to get new data \n"; } void callback(const sensor_msgs::PointCloud2 &pc) @@ -313,54 +97,30 @@ void callback(const sensor_msgs::PointCloud2 &pc) // convert sensor_msgs::PointCloud2 to pcl::PointXYZRGBA // update the time which will become the leading string of collected data time_to_save = boost::posix_time::second_clock::local_time(); - cloud_save_index++; - pcl::fromROSMsg(pc, *cloud); - if (haveTable and keyPress) + if (segmenter.ready and keypress) { + pcl::fromROSMsg(pc, *cloud); + cloud_save_index++; saveCloud(*cloud,original_directory,"_original"); - segmentCloudAboveTable(cloud,tableHull); - if (doCluster) - cloud_segmenter_and_save(cloud); - else saveCloud(*cloud,ground_truth_directory,"_ground_truth"); + cloud = segmenter.segmentAbovePlane(*cloud); + if (do_cluster) cloud_segmenter_and_save(cloud); + else saveCloud(*cloud,ground_truth_directory,"_ground_truth"); } else { - pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud()); - std::string tableTFparent; - tf::StampedTransform transform; - listener->getParent(tableTFname,ros::Time(0),tableTFparent); - if (useRosbag || listener->waitForTransform(tableTFparent,tableTFname,ros::Time::now(),ros::Duration(1.5))) - { - std::cerr << "Table TF with name: '" << tableTFname << "' found with parent frame: " << tableTFparent << std::endl; - listener->lookupTransform(tableTFparent,tableTFname,ros::Time(0),transform); - cloud_filtered = cloud_filter_distance(cloud, transform); - } - else{ - std::cerr << "Fail to get TF: "<< tableTFname << std::endl; - return; - } + segmenter.segmentPlaneIfNotExist(pc); - if (dist_viewer) + if (segmenter.ready) { - std::cerr << "See distance filtered cloud. Press q to quit viewer. \n"; - pcl::visualization::CloudViewer viewer ("Distance Filtered Cloud Viewer"); - viewer.showCloud (cloud_filtered); - while (!viewer.wasStopped ()) - { - } + std::cerr << "Add new object to the table \n"; + std::cerr << "Press 's' key to do object on table segmentation \n"; + std::cerr << "Press 'q' key to exit \n"; } - if (useTFsurface) - tableHull = useTFConvexHull(transform); else - tableHull = getTableConvexHull(cloud_filtered); - - if (update_table) - writer.write (load_directory+"/table.pcd", *tableHull, true); - haveTable = true; - - std::cerr << "Add new object to the table \n"; - std::cerr << "Press 's' key to do object on table segmentation \n"; - std::cerr << "Press 'q' key to exit \n"; + { + std::cerr << "Fail perfoming plane segmentation.\n"; + std::cerr << "Press the 's' key to retry.\n"; + } } } @@ -379,45 +139,35 @@ int main (int argc, char** argv) { ros::init(argc,argv,"object_on_table_segmenter_Node"); ros::NodeHandle nh("~"); - bool load_table; + //getting subscriber parameters - nh.param("POINTS_IN", POINTS_IN,std::string("/camera/depth_registered/points")); + nh.param("points_in", points_in,std::string("/camera/depth_registered/points")); //getting save parameters nh.param("save_directory",save_directory,std::string("./")); nh.param("original_directory",original_directory,std::string("original/")); nh.param("ground_truth_directory",ground_truth_directory,std::string("ground_truth/")); nh.param("object",object_name,std::string("cloud_cluster_")); - nh.param("pcl_viewer",dist_viewer,false); nh.param("save_index",cloud_save_index,0); nh.param("num_to_capture",num_to_capture,200); nh.param("time_step",time_step,0.1); nh.param("run_auto",run_auto,false); + + nh.param("do_cluster",do_cluster,true); - nh.param("load_table",load_table,false); - nh.param("update_table",update_table,false); - nh.param("load_directory",load_directory,std::string("./data")); - nh.param("tableTF", tableTFname,std::string("/tableTF")); - nh.param("useTFsurface",useTFsurface,false); - nh.param("useRosbag",useRosbag,false); - nh.param("doCluster",doCluster,true); - - nh.param("aboveTableMin",aboveTableMin,0.135); - nh.param("aboveTableMax",aboveTableMax,0.50); - - listener = new (tf::TransformListener); - - bool justCaptureEnvironment; - nh.param("environment_only",justCaptureEnvironment,false); - boost::filesystem::create_directories(load_directory); + bool just_capture_environment; + nh.param("environment_only",just_capture_environment,false); boost::filesystem::create_directories(save_directory); boost::filesystem::create_directories(original_directory); boost::filesystem::create_directories(ground_truth_directory); - if (justCaptureEnvironment) + // initialize plane segmenter + segmenter.initialize(nh); + + if (just_capture_environment) { - pc_sub = nh.subscribe(POINTS_IN,1,callbackCaptureEnvironment); + pc_sub = nh.subscribe(points_in,1,callbackCaptureEnvironment); ros::Rate r(1); while (ros::ok()){ r.sleep(); @@ -426,17 +176,8 @@ int main (int argc, char** argv) } else { - if (load_table) - { - pcl::PCDReader reader; - reader.read (load_directory+"/table.pcd", *tableHull); - haveTable = true; - } - else - haveTable = false; - - pc_sub = nh.subscribe(POINTS_IN,1,callback); - if (!haveTable) + pc_sub = nh.subscribe(points_in,1,callback); + if (!segmenter.ready) std::cerr << "1) Remove all object from the table\n2) make sure the AR tag you specified is visible\n3) press the 's' key to save the segmentation plane." << std::endl; else { @@ -448,6 +189,7 @@ int main (int argc, char** argv) int key = 0; if (not run_auto) { + keypress = true; while (ros::ok()) { key = getch(); @@ -462,16 +204,17 @@ int main (int argc, char** argv) int count = 0; while (ros::ok()) { - if (not haveTable) { + if (not segmenter.ready) { key = getch(); if ((key == 's') || (key == 'S')) ros::spinOnce(); else if ((key == 'q') || (key == 'Q')) break; - } else if (not keyPress) { + } + else if (not keypress) { std::cout << "Press any key to start data collection...\n"; key = getch(); - keyPress = true; + keypress = true; } ++count; @@ -485,7 +228,7 @@ int main (int argc, char** argv) } } } - delete (listener); + ros::shutdown(); return (0); } diff --git a/src/plane_segmenter.cpp b/src/plane_segmenter.cpp new file mode 100644 index 00000000..8256d55e --- /dev/null +++ b/src/plane_segmenter.cpp @@ -0,0 +1,283 @@ +#include "object_on_table_segmenter/plane_segmenter.h" + +CloudXYZRGBA::Ptr PlaneSegmenter::cropBox(const CloudXYZRGBA &input_cloud, const Eigen::Affine3f &box_pose, const Eigen::Vector3f &box_size) const +{ + CloudXYZRGBA::Ptr cropped_cloud(new CloudXYZRGBA()); + pcl::CropBox crop_box; + bool is_organized = input_cloud.isOrganized(); + + crop_box.setKeepOrganized(is_organized); + crop_box.setInputCloud(input_cloud.makeShared()); + crop_box.setMax(box_size.homogeneous()); + crop_box.setMin((-box_size).homogeneous()); + crop_box.setTransform(box_pose.inverse()); + crop_box.filter(*cropped_cloud); + + if (visualize_) + { + viewer_->setWindowName("CropBox Result"); + viewer_->removeAllPointClouds(); + viewer_->addPointCloud(cropped_cloud, "cropbox"); + viewer_->spin(); + viewer_->removeAllPointClouds(); + } + + return cropped_cloud; +} + +void PlaneSegmenter::organizedPlaneSegmentation( + const CloudXYZRGBA &input_cloud, + std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > ®ions, + pcl::PointCloud::Ptr &labels, + std::vector &label_indices) const +{ + // Get Normal Cloud + pcl::PointCloud::Ptr normals (new pcl::PointCloud); + pcl::IntegralImageNormalEstimation ne; + ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT); + ne.setMaxDepthChangeFactor(0.02f); + ne.setNormalSmoothingSize(10.0f); + CloudXYZRGBA::Ptr input_cloud_ptr = input_cloud.makeShared(); + ne.setInputCloud(input_cloud_ptr); + ne.compute(*normals); + + // Segment planes + pcl::OrganizedMultiPlaneSegmentation< pcl::PointXYZRGBA, pcl::Normal, pcl::Label > mps; + + mps.setMinInliers (minimal_inliers_); + mps.setAngularThreshold (0.017453 * angular_threshold_); // in radians + mps.setDistanceThreshold (distance_threshold_); // in meters + mps.setInputNormals (normals); + mps.setInputCloud (input_cloud_ptr); + mps.setProjectPoints (true); // project the boundary points to the plane + std::vector model_coefficients; + std::vector inlier_indices; + std::vector boundary_indices; + + mps.segmentAndRefine (regions, model_coefficients, inlier_indices, labels, label_indices, boundary_indices); +} + +CloudXYZRGBA::Ptr PlaneSegmenter::generatePlaneConvexHull(const CloudXYZRGBA &input_cloud) const +{ + std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; + pcl::PointCloud::Ptr labels (new pcl::PointCloud()); + std::vector label_indices; + this->organizedPlaneSegmentation(input_cloud,regions,labels,label_indices); + + // Retrieve the convex hull. + CloudXYZRGBA::Ptr convex_hull(new CloudXYZRGBA()); + unsigned int best_region = 0; + unsigned int best_region_idx = 0; + + if (regions.size() > 0) { + std::cout << "Number of possible plane regions: " << regions.size() << std::endl; + + for (size_t i = 0; i < regions.size(); i++){ + std::cout << "Region" << i <<" size: " << regions[i].getCount() << std::endl; + pcl::PointCloud::Ptr contour (new pcl::PointCloud); + contour->points = regions[i].getContour(); + + if (regions[i].getCount() > best_region) + { + best_region = regions[i].getCount(); + best_region_idx = i; + } + + if (visualize_) + { + std::stringstream ss; + ss << "Region" << i; + viewer_->setWindowName(ss.str()); + viewer_->removeAllPointClouds(); + viewer_->addPointCloud(contour, ss.str()); + viewer_->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1.0f, 0.0f, 0.0f, ss.str()); + viewer_->spin(); + viewer_->removeAllPointClouds(); + } + } + + pcl::PointCloud::Ptr boundary(new pcl::PointCloud); + boundary->points = regions[best_region_idx].getContour(); + + pcl::ConvexHull hull; + hull.setInputCloud(boundary); + // Make sure that the resulting hull is bidimensional. + hull.setDimension(2); + hull.reconstruct(*convex_hull); + } + return convex_hull; +} + +std::vector PlaneSegmenter::clusterPointCloud(const CloudXYZRGBA &input_cloud, const unsigned int &minimal_cluster_size) +{ + CloudXYZRGBA::Ptr input_cloud_ptr = input_cloud.makeShared(); + std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; + pcl::PointCloud::Ptr labels (new pcl::PointCloud()); + std::vector label_indices; + this->organizedPlaneSegmentation(input_cloud,regions,labels,label_indices); + + std::vector plane_labels; + plane_labels.resize(label_indices.size(), false); + + pcl::EuclideanClusterComparator::Ptr euclidean_cluster_comparator( + new pcl::EuclideanClusterComparator()); + euclidean_cluster_comparator->setInputCloud (input_cloud_ptr); + euclidean_cluster_comparator->setLabels (labels); + euclidean_cluster_comparator->setExcludeLabels (plane_labels); + euclidean_cluster_comparator->setDistanceThreshold(0.03f, false); + + pcl::PointCloud euclidean_labels; + std::vector euclidean_label_indices; + pcl::OrganizedConnectedComponentSegmentation euclidean_segmentation (euclidean_cluster_comparator); + euclidean_segmentation.setInputCloud (input_cloud_ptr); + euclidean_segmentation.segment (euclidean_labels, euclidean_label_indices); + + std::vector result_cluster; + for (std::size_t i = 0; i < euclidean_label_indices.size (); i++) + { + if (euclidean_label_indices[i].indices.size() > minimal_cluster_size) + { + pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud()); + pcl::ExtractIndices extract; + + pcl::PointIndices::Ptr object_cloud_indices (new pcl::PointIndices()); + *object_cloud_indices = euclidean_label_indices[i]; + extract.setInputCloud(input_cloud_ptr); + extract.setIndices(object_cloud_indices); + extract.setKeepOrganized(true); + extract.filter(*cloud_cluster); + result_cluster.push_back(cloud_cluster); + + std::cerr << "\tCluster size: "<< euclidean_label_indices[i].indices.size() << std::endl; + } + } + return result_cluster; +} + + +CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull, + const double &min_above_plane, const double &max_above_plane) const +{ + CloudXYZRGBA::Ptr input_cloud_ptr = input_cloud.makeShared(); + if (plane_convex_hull.empty()) + { + std::cerr << "Error, the plane convex hull is still empty.\nReturning unsegmented input point cloud\n"; + return input_cloud_ptr; + } + std::cout << "\nSegment object above plane \n"; + bool is_organized = input_cloud.isOrganized(); + + // Prism object. + pcl::ExtractPolygonalPrismData prism; + prism.setInputCloud(input_cloud_ptr); + prism.setInputPlanarHull(plane_convex_hull.makeShared()); + + // from 1 cm above plane to 50 cm above plane + prism.setHeightLimits(min_above_plane, max_above_plane); + pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices()); + + prism.segment(*objectIndices); + // Get and show all points retrieved by the hull. + CloudXYZRGBA::Ptr objects(new CloudXYZRGBA()); + pcl::ExtractIndices extract; + extract.setInputCloud(input_cloud_ptr); + extract.setIndices(objectIndices); + + extract.setKeepOrganized(is_organized); + + extract.filter(*objects); + return objects; +} + +CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud, const double &min_above_plane, const double &max_above_plane) const +{ + return this->segmentAbovePlane(input_cloud, *plane_convex_hull_, min_above_plane, max_above_plane); +} + +CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const +{ + return this->segmentAbovePlane(input_cloud, plane_convex_hull, min_above_plane_, max_above_plane_); +} + +CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud) const +{ + return this->segmentAbovePlane(input_cloud, *plane_convex_hull_, min_above_plane_, max_above_plane_); +} + +CloudXYZRGBA::Ptr PlaneSegmenter::generatePlaneConvexHullFromPoseXYplane(const Eigen::Affine3f &pose, const double &size) const +{ + CloudXYZRGBA::Ptr plane_points(new CloudXYZRGBA()); + for (int i = -1; i < 2; i+=2) + { + for (int j = -1; j < 2; j+=2) + { + pcl::PointXYZRGBA tmp; + tmp.x = i * size/2; + tmp.y = j * size/2; + tmp.z = 0; + plane_points->push_back(tmp); + } + } + CloudXYZRGBA::Ptr plane_hull(new CloudXYZRGBA()); + pcl::transformPointCloud (*plane_points, *plane_hull, pose); + + pcl::PointCloud::Ptr convex_hull(new pcl::PointCloud()); + + pcl::ConvexHull hull; + hull.setInputCloud(plane_hull); + // Make sure that the resulting hull is bidimensional. + hull.setDimension(2); + hull.reconstruct(*convex_hull); + return convex_hull; +} + +void PlaneSegmenter::setPlaneSegmentationParameters(const double &distance_threshold, const double &angular_threshold, const unsigned int &minimal_inliers) +{ + this->distance_threshold_ = distance_threshold; + this->angular_threshold_ = angular_threshold; + this->minimal_inliers_ = minimal_inliers; +} + +void PlaneSegmenter::setPlaneConvexHull(const CloudXYZRGBA &plane_convex_hull) +{ + if (plane_convex_hull.empty()) + { + std::cerr << "Error, the input convex hull is empty.\n"; + this->ready = false; + return; + } + else + { + this->ready = true; + *plane_convex_hull_ = plane_convex_hull; + if (visualize_) + { + viewer_->setWindowName("Selected Plane Convex Hull"); + viewer_->removeAllPointClouds(); + viewer_->addPointCloud(plane_convex_hull_, "plane_hull"); + viewer_->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1.0f, 0.0f, 0.0f, "plane_hull"); + viewer_->spin(); + viewer_->removeAllPointClouds(); + } + } +} + +void PlaneSegmenter::setPlaneSegmentationHeight(const double &min_above_plane, const double &max_above_plane) +{ + this->min_above_plane_ = min_above_plane; + this->max_above_plane_ = max_above_plane; +} + +void PlaneSegmenter::setVisualizationFlag(const bool visualize) +{ + this->visualize_ = visualize; + + if (visualize && !viewer_) + { + viewer_ = pcl::visualization::PCLVisualizer::Ptr (new pcl::visualization::PCLVisualizer ("Visualizer")); + viewer_->initCameraParameters(); + viewer_->addCoordinateSystem(0.1); + viewer_->setCameraPosition(0, 0, 0.1, 0, 0, 1, 0, -1, 0); + viewer_->setSize(1280, 960); + } +} diff --git a/src/ros_plane_segmenter.cpp b/src/ros_plane_segmenter.cpp new file mode 100644 index 00000000..3f38301a --- /dev/null +++ b/src/ros_plane_segmenter.cpp @@ -0,0 +1,139 @@ +#include "object_on_table_segmenter/ros_plane_segmenter.h" + +RosPlaneSegmenter::~RosPlaneSegmenter() +{ + if (listener_) + { + delete (listener_); + } +} + +void RosPlaneSegmenter::initialize(const ros::NodeHandle &nh) +{ + this->initialized_ = true; + listener_ = new (tf::TransformListener); + + bool load_table; + bool visualization; + nh.param("plane_segmenter_viewer",visualization,false); + nh.param("load_table",load_table,false); + nh.param("load_table_path",load_table_path_,std::string("./data/table.pcd")); + + namespace fs = boost::filesystem; + fs::path p(load_table_path_); + if (!fs::exists(p)) + { + ROS_INFO("Cannot find plane data in %s.",load_table_path_.c_str()); + fs::path plane_data_directory = p.parent_path(); + if (!fs::exists(plane_data_directory)) + { + if (fs::create_directories(plane_data_directory)) + { + ROS_ERROR("Fail to generate plane data save directory %s.",plane_data_directory.string().c_str()); + } + else + { + ROS_INFO("Created plane data save directory %s.",plane_data_directory.string().c_str()); + } + } + } + else + { + ROS_INFO("Found plane data in %s.",load_table_path_.c_str()); + } + + if (load_table) + { + pcl::PointCloud::Ptr table_hull(new pcl::PointCloud()); + if (reader_.read(load_table_path_, *table_hull) < 0) + { + ROS_WARN("Fail to load plane data from %s.",load_table_path_.c_str()); + } + else + { + ROS_INFO("Plane data loaded."); + } + this->setPlaneConvexHull(*table_hull); + } + + nh.param("use_rosbag",use_rosbag_,false); + nh.param("update_table",update_table_,false); + nh.param("table_tf", table_tf_name_,std::string("/table_tf")); + nh.param("use_tf_surface",use_tf_surface_,false); + + double above_table_min, above_table_max; + nh.param("above_table_min",above_table_min,0.01); + nh.param("above_table_max",above_table_max,0.50); + + double table_distance_threshold, table_angular_threshold, table_minimal_inliers; + nh.param("table_distance_threshold",table_distance_threshold,0.02); + nh.param("table_angular_threshold",table_angular_threshold,2.0); + nh.param("table_minimal_inliers",table_minimal_inliers,5000.0); + + this->setPlaneSegmentationHeight(above_table_min,above_table_max); + this->setPlaneSegmentationParameters(table_distance_threshold,table_angular_threshold,table_minimal_inliers); + this->setVisualizationFlag(visualization); + +} + +void RosPlaneSegmenter::segmentPlaneIfNotExist(const sensor_msgs::PointCloud2 &input_cloud) +{ + if (!initialized_) + { + std::cerr << "ERROR, RosPlaneSegmenter is not initialized yet.\n"; + return; + } + else if (!this->ready) + { + ROS_INFO("Performing plane segmentation"); + // perform table segmentation + CloudXYZRGBA::Ptr cloud(new CloudXYZRGBA()); + fromROSMsg(input_cloud,*cloud); + CloudXYZRGBA::Ptr cloud_filtered (new CloudXYZRGBA()); + std::string table_tf_parent; + tf::StampedTransform transform; + + if (!listener_->frameExists(table_tf_name_)) + { + ROS_WARN("Fail to find table frame [%s]",table_tf_name_.c_str()); + return; + } + + listener_->getParent(table_tf_name_,ros::Time(0),table_tf_parent); + if (use_rosbag_ || listener_->waitForTransform(table_tf_parent,table_tf_name_,ros::Time::now(),ros::Duration(1.5))) + { + ROS_INFO("Found table frame [%s]",table_tf_name_.c_str()); + listener_->lookupTransform(table_tf_parent,table_tf_name_,ros::Time(0),transform); + Eigen::Affine3d box_pose; + tf::transformTFToEigen(transform, box_pose); + Eigen::Affine3f box_pose_float(box_pose); + cloud_filtered = this->cropBox(*cloud, box_pose_float, Eigen::Vector3f(0.5,0.5,0.5)); + } + else + { + ROS_WARN("Fail to find table frame [%s]",table_tf_name_.c_str()); + return; + } + + CloudXYZRGBA::Ptr table_hull; + + if (use_tf_surface_) + { + Eigen::Affine3d plane_pose; + tf::transformTFToEigen(transform, plane_pose); + Eigen::Affine3f plane_pose_float(plane_pose); + table_hull = this->generatePlaneConvexHullFromPoseXYplane(plane_pose_float,0.5); + } + else + { + table_hull = this->generatePlaneConvexHull(*cloud_filtered); + } + + if (table_hull->size() > 0) + { + this->setPlaneConvexHull(*table_hull); + + if (update_table_) writer_.write (load_table_path_, *table_hull, true); + } + } +} \ No newline at end of file From 6d7e306dbf07bc064e3c389a1808e03c1974a560 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Sat, 12 Aug 2017 02:44:46 -0400 Subject: [PATCH 064/105] Add comments and rearrange roslaunch argument passes --- .../plane_segmenter.h | 13 +++++++-- .../ros_plane_segmenter.h | 3 +- .../launch/object_on_table_segmenter.launch | 29 ++++++++++--------- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/plane_segmenter.h b/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/plane_segmenter.h index 7d48c4b5..d21cdc04 100644 --- a/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/plane_segmenter.h +++ b/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/plane_segmenter.h @@ -33,17 +33,26 @@ class PlaneSegmenter min_above_plane_(0.01), max_above_plane_(0.5), visualize_(false) {}; + // Returns all points inside a box with dimension `box_size` located at `box_pose` CloudXYZRGBA::Ptr cropBox(const CloudXYZRGBA &input_cloud, const Eigen::Affine3f &box_pose, const Eigen::Vector3f &box_size) const; + // Generate plane convex hull from biggest planar area in the input cloud CloudXYZRGBA::Ptr generatePlaneConvexHull(const CloudXYZRGBA &input_cloud) const; + // Generate 4 corner points based on XY plane of the `pose` with dimension `size` x `size` CloudXYZRGBA::Ptr generatePlaneConvexHullFromPoseXYplane(const Eigen::Affine3f &pose, const double &size = 0.5) const; + // Perform eucledian clusterization from input cloud std::vector clusterPointCloud(const CloudXYZRGBA &input_cloud, const unsigned int &minimal_cluster_size = 500); + // Returns all points above the input plane convex hull CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull, const double &min_above_plane, const double &max_above_plane) const; + // Returns all points above the input plane convex hull with parameters from setPlaneSegmentationHeight + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const; + + // Returns all points above the saved plane convex hull from setPlaneConvexHull function CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const double &min_above_plane, const double &max_above_plane) const; - CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const; + // Returns all points above the saved plane convex hull from setPlaneConvexHull function with parameters from setPlaneSegmentationHeight CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud) const; void setPlaneSegmentationParameters(const double &distance_threshold, const double &angular_threshold, const unsigned int &minimal_inliers); @@ -52,7 +61,7 @@ class PlaneSegmenter void setVisualizationFlag(const bool visualize = true); CloudXYZRGBA getPlaneConvexHull() const { return *plane_convex_hull_; }; - + // Flag that shows whether the plane_convex_hull has been set or not bool ready; ; private: diff --git a/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/ros_plane_segmenter.h b/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/ros_plane_segmenter.h index 62858ace..bc96ea74 100644 --- a/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/ros_plane_segmenter.h +++ b/costar_tools/object_on_table_segmenter/include/object_on_table_segmenter/ros_plane_segmenter.h @@ -22,9 +22,10 @@ class RosPlaneSegmenter : public PlaneSegmenter RosPlaneSegmenter() : initialized_(false) {}; ~RosPlaneSegmenter(); + // Load all rosparam for the plane segmentation void initialize(const ros::NodeHandle &nh); - // this will update the plane if the plane data does not exist yet + // Update the plane if the plane data does not exist yet void segmentPlaneIfNotExist(const sensor_msgs::PointCloud2 &input_cloud); private: diff --git a/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch b/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch index 9a8a9176..d129479e 100644 --- a/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch +++ b/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch @@ -7,22 +7,24 @@ + + + + - - + + + - - - - + @@ -36,14 +38,19 @@ + + + + + - - - + + + @@ -51,10 +58,6 @@ - - - - From 3863475f686541e5fd5e26d103d3d9e7b5bdb616 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Sat, 12 Aug 2017 02:44:46 -0400 Subject: [PATCH 065/105] Add comments and rearrange roslaunch argument passes --- .../plane_segmenter.h | 13 +++++++-- .../ros_plane_segmenter.h | 3 +- launch/object_on_table_segmenter.launch | 29 ++++++++++--------- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/include/object_on_table_segmenter/plane_segmenter.h b/include/object_on_table_segmenter/plane_segmenter.h index 7d48c4b5..d21cdc04 100644 --- a/include/object_on_table_segmenter/plane_segmenter.h +++ b/include/object_on_table_segmenter/plane_segmenter.h @@ -33,17 +33,26 @@ class PlaneSegmenter min_above_plane_(0.01), max_above_plane_(0.5), visualize_(false) {}; + // Returns all points inside a box with dimension `box_size` located at `box_pose` CloudXYZRGBA::Ptr cropBox(const CloudXYZRGBA &input_cloud, const Eigen::Affine3f &box_pose, const Eigen::Vector3f &box_size) const; + // Generate plane convex hull from biggest planar area in the input cloud CloudXYZRGBA::Ptr generatePlaneConvexHull(const CloudXYZRGBA &input_cloud) const; + // Generate 4 corner points based on XY plane of the `pose` with dimension `size` x `size` CloudXYZRGBA::Ptr generatePlaneConvexHullFromPoseXYplane(const Eigen::Affine3f &pose, const double &size = 0.5) const; + // Perform eucledian clusterization from input cloud std::vector clusterPointCloud(const CloudXYZRGBA &input_cloud, const unsigned int &minimal_cluster_size = 500); + // Returns all points above the input plane convex hull CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull, const double &min_above_plane, const double &max_above_plane) const; + // Returns all points above the input plane convex hull with parameters from setPlaneSegmentationHeight + CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const; + + // Returns all points above the saved plane convex hull from setPlaneConvexHull function CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const double &min_above_plane, const double &max_above_plane) const; - CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const; + // Returns all points above the saved plane convex hull from setPlaneConvexHull function with parameters from setPlaneSegmentationHeight CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud) const; void setPlaneSegmentationParameters(const double &distance_threshold, const double &angular_threshold, const unsigned int &minimal_inliers); @@ -52,7 +61,7 @@ class PlaneSegmenter void setVisualizationFlag(const bool visualize = true); CloudXYZRGBA getPlaneConvexHull() const { return *plane_convex_hull_; }; - + // Flag that shows whether the plane_convex_hull has been set or not bool ready; ; private: diff --git a/include/object_on_table_segmenter/ros_plane_segmenter.h b/include/object_on_table_segmenter/ros_plane_segmenter.h index 62858ace..bc96ea74 100644 --- a/include/object_on_table_segmenter/ros_plane_segmenter.h +++ b/include/object_on_table_segmenter/ros_plane_segmenter.h @@ -22,9 +22,10 @@ class RosPlaneSegmenter : public PlaneSegmenter RosPlaneSegmenter() : initialized_(false) {}; ~RosPlaneSegmenter(); + // Load all rosparam for the plane segmentation void initialize(const ros::NodeHandle &nh); - // this will update the plane if the plane data does not exist yet + // Update the plane if the plane data does not exist yet void segmentPlaneIfNotExist(const sensor_msgs::PointCloud2 &input_cloud); private: diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index 9a8a9176..d129479e 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -7,22 +7,24 @@ + + + + - - + + + - - - - + @@ -36,14 +38,19 @@ + + + + + - - - + + + @@ -51,10 +58,6 @@ - - - - From d90ba059360ba208f2e5f8815bf70ebde254e894 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Mon, 14 Aug 2017 18:50:30 -0400 Subject: [PATCH 066/105] Moved table segmentation parameters into its own roslaunch file --- launch/object_on_table_segmenter.launch | 54 +++++++++---------------- launch/table_seg_params.launch | 39 ++++++++++++++++++ 2 files changed, 59 insertions(+), 34 deletions(-) create mode 100644 launch/table_seg_params.launch diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch index d129479e..cfe1f27b 100644 --- a/launch/object_on_table_segmenter.launch +++ b/launch/object_on_table_segmenter.launch @@ -9,25 +9,28 @@ + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -35,30 +38,13 @@ - - - - - - - - - - - - - - - - - diff --git a/launch/table_seg_params.launch b/launch/table_seg_params.launch new file mode 100644 index 00000000..6ec14387 --- /dev/null +++ b/launch/table_seg_params.launch @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 11f76f152428096b1ad45231d2f8f92be2affd0e Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Mon, 14 Aug 2017 19:03:05 -0400 Subject: [PATCH 067/105] Update README.md --- README.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 3d338f54..fda9ea9a 100644 --- a/README.md +++ b/README.md @@ -19,18 +19,17 @@ roslaunch object_on_table_segmenter object_on_table_segmenter.launch It is possible to pass some arguments to set the directory data, point cloud input, etc. Args list: -object : the object folder name without extension. Default: ```cloud_cluster_``` -pcl_in : Input point cloud topic name. Default: ```/camera/depth_registered/points``` -viewer : See first distance filtered and table segmented pcl. Default: ```false``` -save_directory : Location of save directory for the data collection. Default: ```$(find object_on_table_segmenter)/result``` - -save_index = 0 - -load_directory - -table_tf : marker we are going to use - -See launch/object_on_table_segmenter.launch for more arguments that can be passed into the code. + - object: the object folder name without extension. Default: ```cloud_cluster_``` + - pcl_in: Input point cloud topic name. Default: ```/camera/depth_registered/points``` + - plane_seg_viewer: See first distance filtered and table segmented pcl. Default: ```false``` + - save_directory: Location of save directory for the data collection. Default: ```$(find object_on_table_segmenter)/result``` + - save_index: Index of the first segmented cloud. + - load_table: Load existing `table.pcd` data generated from previous table segmentation result + - load_table_path: Location of `table.pcd` file to load + - table_tf: The name of tf frame we are going to use + - auto_capture: Automatically capture new data after the table has been initialized + +`launch/table_seg_params.launch` contains table segmentation parameters that can be set and `launch/object_on_table_segmenter.launch` contains more arguments that can be passed into the code for modifying data capture operation. ## Examples @@ -122,4 +121,4 @@ You can load everything at once to make your life easier and check for outliers: You can run `pcl_pcd2png` to convert your pcds into images -You can run `pcd2png_segment_gt.cpp` to perform semantic segmentation of your ground truth data and your image data. \ No newline at end of file +You can run `pcd2png_segment_gt.cpp` to perform semantic segmentation of your ground truth data and your image data. From 91dc07c2a69045edb1b09b3d8e160d93cd85afc3 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 22 Aug 2017 17:13:45 -0400 Subject: [PATCH 068/105] Fix minor bug related to loading table point cloud --- .../object_on_table_segmenter/src/ros_plane_segmenter.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp b/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp index 3f38301a..98455f76 100644 --- a/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp +++ b/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp @@ -29,17 +29,18 @@ void RosPlaneSegmenter::initialize(const ros::NodeHandle &nh) { if (fs::create_directories(plane_data_directory)) { - ROS_ERROR("Fail to generate plane data save directory %s.",plane_data_directory.string().c_str()); + ROS_INFO("Created plane data save directory %s.",plane_data_directory.string().c_str()); } else { - ROS_INFO("Created plane data save directory %s.",plane_data_directory.string().c_str()); + ROS_ERROR("Fail to generate plane data save directory %s.",plane_data_directory.string().c_str()); } } } else { ROS_INFO("Found plane data in %s.",load_table_path_.c_str()); + this->ready = true; } if (load_table) From b89932c363adfdf36a928ce7f189797750645ca9 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 22 Aug 2017 17:13:45 -0400 Subject: [PATCH 069/105] Fix minor bug related to loading table point cloud --- src/ros_plane_segmenter.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ros_plane_segmenter.cpp b/src/ros_plane_segmenter.cpp index 3f38301a..98455f76 100644 --- a/src/ros_plane_segmenter.cpp +++ b/src/ros_plane_segmenter.cpp @@ -29,17 +29,18 @@ void RosPlaneSegmenter::initialize(const ros::NodeHandle &nh) { if (fs::create_directories(plane_data_directory)) { - ROS_ERROR("Fail to generate plane data save directory %s.",plane_data_directory.string().c_str()); + ROS_INFO("Created plane data save directory %s.",plane_data_directory.string().c_str()); } else { - ROS_INFO("Created plane data save directory %s.",plane_data_directory.string().c_str()); + ROS_ERROR("Fail to generate plane data save directory %s.",plane_data_directory.string().c_str()); } } } else { ROS_INFO("Found plane data in %s.",load_table_path_.c_str()); + this->ready = true; } if (load_table) From 5c4dbfd1189b13afed0180c970cfc0ecc6b40a91 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 22 Aug 2017 17:44:47 -0400 Subject: [PATCH 070/105] Add ability to retain collision objects --- .../CMakeLists.txt | 18 ++-- .../include/collision_env.h | 6 ++ .../include/planning_scene_generator.h | 5 ++ .../src/collision_env.cpp | 89 +++++++++++++------ .../src/main_collision_env.cpp | 4 + .../src/planning_scene_generator.cpp | 12 +++ 6 files changed, 100 insertions(+), 34 deletions(-) diff --git a/costar_tools/moveit_collision_environment/CMakeLists.txt b/costar_tools/moveit_collision_environment/CMakeLists.txt index a119aeef..4a1c9a21 100755 --- a/costar_tools/moveit_collision_environment/CMakeLists.txt +++ b/costar_tools/moveit_collision_environment/CMakeLists.txt @@ -24,6 +24,7 @@ find_package(catkin REQUIRED COMPONENTS moveit_ros_planning_interface tf costar_objrec_msgs + std_msgs ) ## System dependencies are found with CMake's conventions @@ -67,11 +68,10 @@ find_package(Boost REQUIRED COMPONENTS thread) # ) ## Generate services in the 'srv' folder -# add_service_files( -# FILES -# Service1.srv -# Service2.srv -# ) +add_service_files( + FILES + RetainedCollision.srv +) ## Generate actions in the 'action' folder # add_action_files( @@ -81,10 +81,10 @@ find_package(Boost REQUIRED COMPONENTS thread) # ) ## Generate added messages and services with any dependencies listed here -# generate_messages( -# DEPENDENCIES -# geometry_msgs -# ) +generate_messages( + DEPENDENCIES + std_msgs +) ################################################ ## Declare ROS dynamic reconfigure parameters ## diff --git a/costar_tools/moveit_collision_environment/include/collision_env.h b/costar_tools/moveit_collision_environment/include/collision_env.h index 0a2e433e..d0a11f15 100644 --- a/costar_tools/moveit_collision_environment/include/collision_env.h +++ b/costar_tools/moveit_collision_environment/include/collision_env.h @@ -31,6 +31,7 @@ class collision_environment std::vector detectedObjectsTF; std::vector* segmentedObjects; moveit_msgs::CollisionObject tableObject; + std::vector retained_obstacle_objects; std::string tableTFname, parentTableTF, baseLinkName; std::string mesh_source, file_extension; @@ -58,6 +59,11 @@ class collision_environment void setNodeHandle(const ros::NodeHandle &nh); void getAllObjectTF(); void getAllObjectTFfromDetectedObjectMsgs(const costar_objrec_msgs::DetectedObjectList &detectedObject); + + bool addObjectAsRetainedObstacle(const std::string &frame_id); + void removeAllRetainedObstacles(); + + moveit_msgs::CollisionObject generateCollisionObjectFromObjectTF(const objectTF &object_info); void updateCollisionObjects(const bool &updateFrame = true); std::vector getListOfTF() const; diff --git a/costar_tools/moveit_collision_environment/include/planning_scene_generator.h b/costar_tools/moveit_collision_environment/include/planning_scene_generator.h index d4eb6b50..48be8ca0 100644 --- a/costar_tools/moveit_collision_environment/include/planning_scene_generator.h +++ b/costar_tools/moveit_collision_environment/include/planning_scene_generator.h @@ -14,6 +14,8 @@ #include #include +#include "moveit_collision_environment/RetainedCollision.h" + #include class moveitPlanningSceneGenerator @@ -37,6 +39,9 @@ class moveitPlanningSceneGenerator void addCollisionObjects (const std::vector& collision_objects); moveitPlanningSceneGenerator(const ros::NodeHandle &nh); bool updateWithBackground(std_srvs::Empty::Request& request, std_srvs::Empty::Response& response); + bool addRetainedCollisionObject (moveit_collision_environment::RetainedCollision::Request& request, + moveit_collision_environment::RetainedCollision::Response& response); + bool removeAllRetainedObject(std_srvs::Empty::Request& request, std_srvs::Empty::Response& response); ; }; diff --git a/costar_tools/moveit_collision_environment/src/collision_env.cpp b/costar_tools/moveit_collision_environment/src/collision_env.cpp index d9d876b3..1a807846 100644 --- a/costar_tools/moveit_collision_environment/src/collision_env.cpp +++ b/costar_tools/moveit_collision_environment/src/collision_env.cpp @@ -85,6 +85,36 @@ void collision_environment::setNodeHandle(const ros::NodeHandle &nh) getAllObjectTF(); } +moveit_msgs::CollisionObject collision_environment::generateCollisionObjectFromObjectTF(const objectTF &object_info) +{ + moveit_msgs::CollisionObject co; + // name of collision object = TF name + co.id = object_info.frame_id; + co.header.frame_id = parentFrame; + std::stringstream file_location, ss; + // read the location of the mesh file + + file_location << mesh_source << "/" << object_info.name << "." << file_extension; + if (!boost::filesystem::exists( file_location.str() )) + { + std::cerr << "Warning: Mesh file not found at: " << file_location.str() << std::endl; + co.id = "INVALID"; + return co; + } + ss << "file://" << file_location.str(); + + // Generate moveit mesh from mesh file + shapes::Mesh * tmpMesh = shapes::createMeshFromResource(ss.str()); + shape_msgs::Mesh co_mesh; + shapes::ShapeMsg co_mesh_msg; + shapes::constructMsgFromShape(tmpMesh,co_mesh_msg); + co_mesh = boost::get(co_mesh_msg); + co.meshes.push_back(co_mesh); + co.mesh_poses.push_back(object_info.pose); + co.operation = co.ADD; + return co; +} + void collision_environment::updateCollisionObjects(const bool &updateFrame) { // This function will update the collision object list based on the list of object TF @@ -105,6 +135,10 @@ void collision_environment::updateCollisionObjects(const bool &updateFrame) // update table and add it to list of collision objects if (getTable()) segmentedObjects->push_back(this->tableObject); + + // clear retained collision objects + retained_obstacle_objects.clear(); + } else { // use previous table data if available. If it is not available, get new table @@ -112,6 +146,12 @@ void collision_environment::updateCollisionObjects(const bool &updateFrame) if (hasTableTF) segmentedObjects->push_back(this->tableObject); + + for (std::vector::iterator it = retained_obstacle_objects.begin(); + it != retained_obstacle_objects.end(); ++it) + { + segmentedObjects->push_back(*it); + } } @@ -131,30 +171,8 @@ void collision_environment::updateCollisionObjects(const bool &updateFrame) // Add the collision objects based on available object TF for (int i = 0; i < detectedObjectsTF.size(); i++) { - moveit_msgs::CollisionObject co; - // name of collision object = TF name - co.id = detectedObjectsTF.at(i).frame_id; - co.header.frame_id = parentFrame; - std::stringstream file_location, ss; - // read the location of the mesh file - - file_location << mesh_source << "/" << detectedObjectsTF.at(i).name << "." << file_extension; - if (!boost::filesystem::exists( file_location.str() )) - { - std::cerr << "Warning: Mesh file not found at: " << file_location.str() << std::endl; - continue; - } - ss << "file://" << file_location.str(); - - // Generate moveit mesh from mesh file - shapes::Mesh * tmpMesh = shapes::createMeshFromResource(ss.str()); - shape_msgs::Mesh co_mesh; - shapes::ShapeMsg co_mesh_msg; - shapes::constructMsgFromShape(tmpMesh,co_mesh_msg); - co_mesh = boost::get(co_mesh_msg); - co.meshes.push_back(co_mesh); - co.mesh_poses.push_back(detectedObjectsTF.at(i).pose); - co.operation = co.ADD; + moveit_msgs::CollisionObject co = generateCollisionObjectFromObjectTF(detectedObjectsTF[i]); + if (co.id == "INVALID") continue; segmentedObjects->push_back(co); } @@ -163,7 +181,28 @@ void collision_environment::updateCollisionObjects(const bool &updateFrame) std::cerr << segmentedObjects->size() < Date: Tue, 22 Aug 2017 17:45:51 -0400 Subject: [PATCH 071/105] Squashed 'costar_perception/color_nn_segmenter/' content from commit 21c67ae git-subtree-dir: costar_perception/color_nn_segmenter git-subtree-split: 21c67aedd1101f7822f7e9afd34d1c2c5a54cf9b --- CMakeLists.txt | 57 ++++++ README.md | 61 ++++++ include/color_nn_segmenter.h | 56 ++++++ include/utility.h | 75 ++++++++ launch/segmenter.launch | 54 ++++++ package.xml | 23 +++ src/color_nn_segmenter.cpp | 346 +++++++++++++++++++++++++++++++++++ src/main.cpp | 192 +++++++++++++++++++ 8 files changed, 864 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 README.md create mode 100644 include/color_nn_segmenter.h create mode 100644 include/utility.h create mode 100644 launch/segmenter.launch create mode 100644 package.xml create mode 100644 src/color_nn_segmenter.cpp create mode 100644 src/main.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..bc1b7dba --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,57 @@ +cmake_minimum_required(VERSION 2.8.3) +project(color_nn_segmenter) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages + +find_package(PCL REQUIRED) +find_package(OpenCV REQUIRED) +find_package(Boost REQUIRED) + +find_package(catkin REQUIRED COMPONENTS + PCL + OpenCV + pcl_conversions + std_msgs + sensor_msgs + object_on_table_segmenter +) + +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES color_nn_segmenter +# CATKIN_DEPENDS message_generation message_runtime pcl_conversions pcl_ros sensor_msgs +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( + include + ${catkin_INCLUDE_DIRS} + ${PCL_INCLUDE_DIRS} + ${OpenCV_INCLUDE_DIRS} +) + +## Declare a C++ library + +add_library(ColorSegmenter src/color_nn_segmenter.cpp) + +## Declare a C++ executable +add_executable(pcl_color_segmenter src/main.cpp) + +## Add cmake target dependencies of the executable +## same as for the library above + +target_link_libraries( + ColorSegmenter ${PCL_LIBRARIES} ${OpenCV_LIBRARIES} ${BOOST_LIBRARIES} +) + +target_link_libraries( + pcl_color_segmenter ColorSegmenter ${catkin_LIBRARIES} +) diff --git a/README.md b/README.md new file mode 100644 index 00000000..3dbb3a6e --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +# Color Nearest Neighboor Segmenter + +Author: Felix Jonathan (fjonath1@jhu.edu) + +This rosnode will perform a color based segmentation for objects with flat color. The color training is performed using k-means clustering of each object color category from their color point clouds. Then the model is used for perfoming nearest neighboor search on input color point cloud. + +# Requirements +This package requires these dependencies: + - PCL 1.7.2+ + - OpenCV 2.4.x + - ROS Indigo + - [object_on_table_segmenter](https://github.com/jhu-lcsr/object_on_table_segmenter) + +This package has been tested on 14.04 using PCL 1.7.2, OpenCV 2.4.8, and ROS Indigo. + +# Usage +Run this node using roslaunch with: +``` +roslaunch color_nn_segmenter segmenter.launch +``` + +## Roslaunch Parameters +The default ros parameter use this following layout for training and saving data +``` +$(catkin source directory)/color_nn_segmenter +├── include +├── launch +├── models +│ ├── model.dat +│ ├── model.pcd +│ └── ... +├── src +└── training_data + ├── color_category1 + │ ├── file1.pcd + │ ├── file2.pcd + │ └── ... + ├── color_category2 + │ ├── file1.pcd + │ ├── file2.pcd + │ └── ... + └── ... +``` + +These are the required parameters for loading the model: + - load_existing_model: Loads the color model saved specified in the model path. If set to false, model training will be done before color segmentation is performed; + - model_directory: Directory that contains the model data; + - model_name: The name of the model to be loaded/saved. + +These are the required parameters for saving the model: + - save_new_model + - training_data_directory: Location of the training data that contains color category folders + - kmeans_point_per_model: The number of kmeans points per color category + - save_directory: Target directory for saving the new model + +To specify the point cloud input/output topic, these parameters can be set: + - cloud_input_topic: Name of the point cloud topic to be segmented + - segmented_cloud_topic: Name of the topic to publish segmented cloud that contains PointXYZL + - visualized_cloud_topic: Name of the topic to publish segmented cloud in rviz-compatible point cloud + +This program also include a way to perform segmentation on a volume above a convex hull/table. This convex hull is generated by searching largest region around a tf frame based on [object_on_table_segmenter](https://github.com/jhu-lcsr/object_on_table_segmenter). diff --git a/include/color_nn_segmenter.h b/include/color_nn_segmenter.h new file mode 100644 index 00000000..e1136166 --- /dev/null +++ b/include/color_nn_segmenter.h @@ -0,0 +1,56 @@ +#ifndef COLOR_NN_SEGMENTER +#define COLOR_NN_SEGMENTER + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +// #include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "utility.h" + +typedef pcl::PointCloud PointCloudXYZRGB; +typedef pcl::PointCloud PointCloudXYZ; +typedef pcl::PointCloud PointCloudXYZL; + +class ColorNnSegmenter +{ +public: + ColorNnSegmenter() : ready(false), unlabelled_model_cloud(new PointCloudXYZ()) {}; + + bool trainModel(const std::string &training_data_directory, const int kmeans_point_per_model = 5); + bool saveModel(const std::string &target_directory, const std::string &model_name); + bool loadModel(const std::string &model_dat_file_path); + + PointCloudXYZL::Ptr segment(const PointCloudXYZRGB &input_cloud); + +private: + bool checkDirectoryValid(const boost::filesystem::path dir_path); + PointCloudXYZ::Ptr stripCloudCoordinate(const PointCloudXYZRGB &input_cloud); + void rgbToLabCloud(PointCloudXYZ::Ptr input_cloud); + PointCloudXYZ::Ptr openCvKMeans(const PointCloudXYZ &input_cloud, const int &cluster_size); + + bool ready; + pcl::KdTreeFLANN kdtree; + PointCloudXYZ::Ptr unlabelled_model_cloud; + PointCloudXYZL::Ptr model_cloud; + std::map label_index_map; +}; + +#endif \ No newline at end of file diff --git a/include/utility.h b/include/utility.h new file mode 100644 index 00000000..db545d46 --- /dev/null +++ b/include/utility.h @@ -0,0 +1,75 @@ +#ifndef UTILITY +#define UTILITY + +#include + +// Based on opencv imgproc color conversion +static const float ref_x = 0.950456; +static const float ref_z = 1.088754; + +template +void convertRgbToXyzColorSpace(T &ori_r, T &ori_g, T &ori_b, bool normalized = false) +{ + // r,g,b is a float number 0-255 if not normalized + float r = ori_r, + g = ori_g, + b = ori_b; + + if (!normalized) + { + r /= 255; g /= 255; b /= 255; + } + + float x,y,z; + + x = r * 0.412453 + g * 0.357580 + b * 0.180423; + y = r * 0.212671 + g * 0.715160 + b * 0.072169; + z = r * 0.019334 + g * 0.119193 + b * 0.950227; + + ori_r = x, ori_g = y, ori_b = z; +} + +template +inline T f_t(const T &t) +{ + return t > 0.00856 ? pow(t,1./3) : 7.787 * t + 16./116; +} + +template +void convertXyzColorSpaceToLab(T &x, T &y, T &z) +{ + x /= ref_x; + z /= ref_z; + + // CIE x,y,z = L*a*b + T L, a, b; + L = y > 0.008856 ? 116 * pow(y, (1./3)) - 16 : 903.3 * y; + + a = 500 * (f_t(x) - f_t(y)); + b = 200 * (f_t(y) - f_t(z)); + + x = L; + y = a; + z = b; +} + +template +void convertRgbToLab(T &r, T &g, T &b, bool normalized = false) +{ + convertRgbToXyzColorSpace(r,g,b,normalized); + convertXyzColorSpaceToLab(r,g,b); +} + +bool isFileExist(const std::string &filename) +{ + std::ifstream file_tmp(filename.c_str()); + if (!file_tmp.is_open()) + { + return false; + } + file_tmp.close(); + return true; +} + + +#endif \ No newline at end of file diff --git a/launch/segmenter.launch b/launch/segmenter.launch new file mode 100644 index 00000000..a37ff87c --- /dev/null +++ b/launch/segmenter.launch @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/package.xml b/package.xml new file mode 100644 index 00000000..c2e228bb --- /dev/null +++ b/package.xml @@ -0,0 +1,23 @@ + + + color_nn_segmenter + 0.0.0 + The color_nn_segmenter package + + Felix Jonathan + + TODO + + catkin + pcl_ros + sensor_msgs + object_on_table_segmenter + pcl_ros + sensor_msgs + std_msgs + object_on_table_segmenter + + + + + \ No newline at end of file diff --git a/src/color_nn_segmenter.cpp b/src/color_nn_segmenter.cpp new file mode 100644 index 00000000..39aeb4fe --- /dev/null +++ b/src/color_nn_segmenter.cpp @@ -0,0 +1,346 @@ +#include "color_nn_segmenter.h" + +PointCloudXYZ::Ptr ColorNnSegmenter::stripCloudCoordinate(const PointCloudXYZRGB &input_cloud) +{ + // removes the spatial coordinate from point cloud and returns the XYZ point cloud with color coordinate. + PointCloudXYZ::Ptr result(new PointCloudXYZ()); + result->width = input_cloud.width; + result->height = input_cloud.height; + result->resize(result->height*result->width); + + std::size_t i = 0; + for(PointCloudXYZRGB::const_iterator it = input_cloud.begin(); it != input_cloud.end(); ++it, ++i) + { + result->points[i] = pcl::PointXYZ(it->r,it->g,it->b); + } + return result; +} + +void ColorNnSegmenter::rgbToLabCloud(PointCloudXYZ::Ptr input_cloud) +{ + for(PointCloudXYZ::iterator it = input_cloud->begin(); it != input_cloud->end(); ++it) + { + convertRgbToLab(it->x,it->y,it->z); + } +} + +PointCloudXYZ::Ptr ColorNnSegmenter::openCvKMeans(const PointCloudXYZ &input_cloud, const int &cluster_size) +{ + // convert input cloud to opencv Mat + cv::Mat points(input_cloud.size(),1, CV_32FC3); + std::size_t idx = 0; + + std::cout << "Input model points:\n"; + for(PointCloudXYZ::const_iterator it = input_cloud.begin(); it != input_cloud.end(); ++it, ++idx) + { + points.at(idx,0) = cv::Vec3f(it->x,it->y,it->z); + // std::cerr << points.at(0,idx) << std::endl; + } + + // reshape to + + cv::Mat labels; + int attempts = 10; + cv::Mat centers; + // bool success = false; + + int max_cluster_size = input_cloud.size() > cluster_size ? cluster_size : input_cloud.size(); + + // use opencv kmeans to extract the cluster center, since pcl 1.7.2 does not have kmeans + cv::kmeans(points, max_cluster_size, labels, + cv::TermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS, 10e4, 1e-4), + attempts, cv::KMEANS_RANDOM_CENTERS, centers); + + // std::cerr << "Kmeans size: " << centers.size() << std::endl; + // success = centers.rows > 0; + + PointCloudXYZ::Ptr kmeans_result(new PointCloudXYZ()); + std::cout << "Kmeans of the model:\n"; + for (unsigned int i = 0; i < centers.rows; ++i ) + { + // for (unsigned int j = 0; j < centers.cols; ++j) + { + cv::Vec3f cv_center = centers.at(i); + std::cout << i << ": " << cv_center << std::endl; + pcl::PointXYZ center_point(cv_center[0],cv_center[1],cv_center[2]); + kmeans_result->push_back(center_point); + } + } + return kmeans_result; +} + +bool ColorNnSegmenter::checkDirectoryValid(const boost::filesystem::path dir_path) +{ + namespace fs = boost::filesystem; + if ( !fs::exists(dir_path)) + { + std::cerr << "Error: '" << dir_path << "' does not exist.\n"; + return false; + } + else if (!fs::is_directory(dir_path)) + { + std::cerr << "Error: '" << dir_path << "' is not a directory.\n"; + return false; + } + else + { + return true; + } +} + +bool ColorNnSegmenter::trainModel(const std::string &training_data_directory, const int kmeans_point_per_model) +{ + namespace fs = boost::filesystem; + fs::path p(training_data_directory); + fs::directory_iterator end_iter; + + if (!checkDirectoryValid(p)) + { + this->ready = false; + return false; + } + + // Find all training files + std::map > filepath_in_model; + for (fs::directory_iterator model_iter(p); model_iter != end_iter; ++model_iter) + { + if (fs::is_directory(model_iter->status())) + { + std::string model_name = model_iter->path().filename().string(); + std::cout << "Found model directory: '" << model_name << std::endl; + filepath_in_model[model_name] = std::vector(); + for (fs::directory_iterator file_iter(model_iter->path()); file_iter != end_iter; ++file_iter) + { + std::string extension = boost::filesystem::extension(file_iter->path()); + if (extension == ".pcd") + { + std::cout << "Found training data: " << file_iter->path().filename() << std::endl; + filepath_in_model[model_name].push_back(file_iter->path().string()); + } + else + { + std::cout << "Ignored file: " << file_iter->path().filename() << std::endl; + } + } + } + } + + PointCloudXYZL::Ptr result_model_cloud(new PointCloudXYZL()); + + unsigned int label_counter = 0; + // process the files + for (std::map >::const_iterator it = filepath_in_model.begin(); it != filepath_in_model.end(); ++it, ++label_counter) + { + PointCloudXYZ combined_lab_color_cloud; + for (std::vector::const_iterator file_it = it->second.begin(); file_it != it->second.end(); ++file_it ) + { + pcl::PointCloud::Ptr cloud(new pcl::PointCloud()); + + if (pcl::io::loadPCDFile (*file_it, *cloud) == -1) + { + std::cerr << "Fail to load file " << *file_it << std::endl; + continue; + } + else if (cloud->size() == 0) + { + std::cerr << "Cloud in file " << *file_it << " is empty.\n"; + continue; + } + + // remove NaN points from all saved training clouds + std::vector indices; + pcl::removeNaNFromPointCloud(*cloud,*cloud, indices); + if (pcl::io::savePCDFile(*file_it,*cloud,true) == -1) + { + std::cerr << "Fail to update saved cloud after removing NaN points.\n"; + } + + PointCloudXYZ::Ptr color_only_cloud = this->stripCloudCoordinate(*cloud); + this->rgbToLabCloud(color_only_cloud); + if (file_it == it->second.begin()) + { + combined_lab_color_cloud = *color_only_cloud; + } + else + { + combined_lab_color_cloud += *color_only_cloud; + } + } + + // pcl::Kmeans kmeans(combined_lab_color_cloud.size(), 3); + // kmeans.setClusterSize(kmeans_point_per_model); + // kmeans.addDataPoint (combined_lab_color_cloud.points); + // kmeans.kMeans(); + + // pcl::Kmeans::Centroids centroids = kmeans.get_centroids(); + if (combined_lab_color_cloud.size() == 0) + { + std::cerr << "Warning, color model type: " << it->first << " is skipped because it has no data points.\n"; + continue; + } + + PointCloudXYZ::Ptr centroids = this->openCvKMeans(combined_lab_color_cloud, kmeans_point_per_model); + + for(PointCloudXYZ::const_iterator pt_it = centroids->begin(); pt_it != centroids->end(); ++pt_it) + { + pcl::PointXYZL cluster_centroid; + cluster_centroid.x = pt_it->x; + cluster_centroid.y = pt_it->y; + cluster_centroid.z = pt_it->z; + cluster_centroid.label = label_counter; + result_model_cloud->points.push_back(cluster_centroid); + } + + label_index_map[label_counter] = it->first; + } + + if (result_model_cloud->size() > 0) + { + model_cloud = result_model_cloud; + + pcl::copyPointCloud(*model_cloud, *unlabelled_model_cloud); + kdtree.setInputCloud(unlabelled_model_cloud); + this->ready = true; + return true; + } + else + { + std::cerr << "Training failed, no model cloud is generated.\n"; + this->ready = false; + return false; + } +} + +bool ColorNnSegmenter::saveModel(const std::string &target_directory, const std::string &model_name) +{ + namespace fs = boost::filesystem; + fs::path p(target_directory); + if (!checkDirectoryValid(p)) + { + if (fs::create_directories(p)) + { + std::cout << "Created model directory" << p.string().c_str() << std::endl; + } + else + { + std::cerr << "Fail to create model directory" << p.string().c_str() << std::endl; + return false; + } + } + + if (model_cloud->size() > 0) + { + fs::path cloud_path = p; + cloud_path /= model_name + ".pcd"; + if (pcl::io::savePCDFile(cloud_path.string().c_str(),*model_cloud,true) == -1) + { + std::cerr << "Error, fail to save the model cloud data in: " << cloud_path.string(); + return false; + } + + std::map data_map; + for (std::map::const_iterator it = label_index_map.begin(); it != label_index_map.end(); ++it) + { + std::string label_as_string = boost::lexical_cast(it->first); + data_map[label_as_string] = it->second; + } + // assume that the cloud is always saved in the same directory as the dat file + data_map["cloud_filename"] = cloud_path.filename().string(); + + fs::path map_path = p; + map_path /= model_name + ".dat"; + std::ofstream out_map_file; + out_map_file.open(map_path.string().c_str()); + boost::archive::text_oarchive oarch(out_map_file); + oarch << data_map; + + return true; + } + else + { + std::cerr << "Error, the model cloud is empty.\n"; + return false; + } +} + +bool ColorNnSegmenter::loadModel(const std::string &model_dat_file_path) +{ + namespace fs = boost::filesystem; + fs::path p(model_dat_file_path); + if (!fs::exists(p)) + { + std::cerr << "Model file: " << p.string() << " does not exist.\n"; + return false; + } + fs::path cloud_path = p.parent_path(); + + std::ifstream in_map_file(model_dat_file_path.c_str()); + boost::archive::text_iarchive iarch(in_map_file); + std::map data_map; + + iarch >> data_map; + std::string cloud_filename = data_map["cloud_filename"]; + cloud_path /= cloud_filename; + + std::string str_cloud_path = cloud_path.string(); + PointCloudXYZL::Ptr cloud_data(new PointCloudXYZL()); + + if (pcl::io::loadPCDFile(str_cloud_path.c_str(), *cloud_data) == -1) + { + std::cerr << "Fail to load file " << str_cloud_path << std::endl; + this->ready = false; + return false; + } + else if (cloud_data->size() == 0) + { + std::cerr << "Error: Cloud data in " << str_cloud_path << " is empty.\n"; + this->ready = false; + return false; + } + + data_map.erase("cloud_filename"); + for (std::map::const_iterator it = data_map.begin(); it != data_map.end(); ++it) + { + unsigned int label_index = boost::lexical_cast(it->first); + label_index_map[label_index] = it->second; + } + + model_cloud = cloud_data; + pcl::copyPointCloud(*model_cloud, *unlabelled_model_cloud); + kdtree.setInputCloud(unlabelled_model_cloud); + this->ready = true; + + return true; +} + +PointCloudXYZL::Ptr ColorNnSegmenter::segment(const PointCloudXYZRGB &input_cloud) +{ + if (!this->ready) + { + std::cerr << "Error: Color segmenter is not ready yet.\n"; + return PointCloudXYZL::Ptr(); + } + + PointCloudXYZ::Ptr color_only_cloud = this->stripCloudCoordinate(input_cloud); + this->rgbToLabCloud(color_only_cloud); + + int k = 1; + std::vector point_idx_knn(k); + std::vector point_knn_distance(k); + + PointCloudXYZL::Ptr segmentation_result(new PointCloudXYZL()); + pcl::copyPointCloud(input_cloud,*segmentation_result); + + std::size_t idx = 0; + for(PointCloudXYZ::const_iterator pt_it = color_only_cloud->begin(); pt_it != color_only_cloud->end(); ++pt_it, ++idx) + { + if ( kdtree.nearestKSearch (*pt_it, k, point_idx_knn, point_knn_distance) > 0 ) + { + // use the nearest neighboor to find the color label + const int &nearest_neighboor_pt_idx = point_idx_knn[0]; + const unsigned int &label = model_cloud->points[nearest_neighboor_pt_idx].label; + segmentation_result->points[idx].label = label; + } + } + return segmentation_result; +} diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 00000000..73e522f1 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,192 @@ +#include + +#include +#include +#include +#include +#include +#include + +#include + +#include "color_nn_segmenter.h" + +sensor_msgs::PointCloud2 cached_cloud; +ros::Publisher pc_pub, pc_vis_pub; +ColorNnSegmenter color_based_segmenter; + +RosPlaneSegmenter plane_segmenter; +bool use_table, have_table, update_table; +std::string table_tf_name, load_table_path; +pcl::PCDWriter writer; +tf::TransformListener * listener; +bool use_tf_surface; + +uchar color_label[11][3] = +{ + {255, 255, 255}, + {255, 0, 0}, + {0, 255, 0}, + {0, 0, 255}, + {255, 255, 0}, + {255, 0, 255}, + {0, 255, 255}, + {255, 128, 0}, + {255, 0, 128}, + {0, 128, 255}, + {128, 0, 255} +}; + +pcl::PointCloud convertPointCloudLabelToRGBA(const PointCloudXYZL &input) +{ + pcl::PointCloud result; + for (pcl::PointCloud::const_iterator it = input.begin(); it != input.end(); ++it) + { + pcl::PointXYZRGBA point; + point.x = it->x; + point.y = it->y; + point.z = it->z; + point.r = color_label[it->label][0]; + point.b = color_label[it->label][1]; + point.g = color_label[it->label][2]; + point.a = 255; + result.push_back(point); + } + return result; +} + +void cacheCloudInput(const sensor_msgs::PointCloud2 &input_cloud) +{ + // std::cerr << "Updated cached cloud.\n"; + cached_cloud = input_cloud; + + if (use_table) + { + plane_segmenter.segmentPlaneIfNotExist(input_cloud); + } +} + +bool colorSegmenter(std_srvs::Empty::Request& request, std_srvs::Empty::Response& response) +{ + PointCloudXYZRGB::Ptr input_cloud(new PointCloudXYZRGB()); + + if (use_table) + { + ROS_INFO("Removing background with plane segmentation."); + pcl::PointCloud::Ptr filtered_cloud(new pcl::PointCloud()); + fromROSMsg(cached_cloud,*filtered_cloud); + filtered_cloud = plane_segmenter.segmentAbovePlane(*filtered_cloud); + pcl::copyPointCloud(*filtered_cloud,*input_cloud); + } + else + { + fromROSMsg(cached_cloud,*input_cloud); + } + ROS_INFO("Performing color based segmentation."); + + // std::cerr << "Input cloud size: " << input_cloud->size() << std::endl; + PointCloudXYZL::Ptr seg_cloud = color_based_segmenter.segment(*input_cloud); + + sensor_msgs::PointCloud2 output_msg; + output_msg.header.frame_id = cached_cloud.header.frame_id; + toROSMsg(*seg_cloud,output_msg); + pc_pub.publish(output_msg); + + pcl::PointCloud seg_cloud_vis = convertPointCloudLabelToRGBA(*seg_cloud); + sensor_msgs::PointCloud2 output_msg2; + toROSMsg(seg_cloud_vis,output_msg2); + output_msg2.header.frame_id = cached_cloud.header.frame_id; + + pc_vis_pub.publish(output_msg2); + + ROS_INFO("Done."); + return true; +} + +int main(int argc, char* argv[]) +{ + ros::init(argc,argv, "color_based_segmenter"); + ros::NodeHandle nh("~"); + ros::Rate r(60); // 60 Hz + + bool load_existing_model; + nh.param("load_existing_model",load_existing_model,false); + std::string model_name; + nh.param("model_name",model_name,std::string("model")); + + if (load_existing_model) + { + std::string model_directory; + nh.param("model_directory",model_directory,std::string("")); + boost::filesystem::path p(model_directory); + p /= model_name + ".dat"; + + if (!color_based_segmenter.loadModel(p.string())) + { + ROS_ERROR("Fail to load the color model."); + return -1; + } + else + { + ROS_INFO("Successfully load the color model."); + } + } + else + { + std::string training_data_directory; + int kmeans_point_per_model; + + nh.param("training_data_directory",training_data_directory,std::string("")); + nh.param("kmeans_point_per_model",kmeans_point_per_model,5); + + ROS_INFO("Generating a new color model"); + if (!color_based_segmenter.trainModel(training_data_directory, kmeans_point_per_model)) + { + ROS_ERROR("Fail to generate a new color model."); + return -1; + } + + ROS_INFO("New color model generated"); + + bool save_new_model; + nh.param("save_new_model",save_new_model,true); + if (save_new_model) + { + std::string save_directory; + nh.param("save_directory",save_directory,std::string("")); + + if (color_based_segmenter.saveModel(save_directory,model_name)) + { + ROS_INFO("New color model saved"); + } + else + { + ROS_WARN("Fail to save the new color model"); + } + } + else + { + ROS_INFO("Skipped saving the new color model"); + } + } + + std::string cloud_in, cloud_out,cloud_out_vis; + nh.param("cloud_input_topic",cloud_in,std::string("/camera/depth_registered/points")); + nh.param("segmented_cloud_topic",cloud_out,std::string("segmented_cloud")); + nh.param("visualized_cloud_topic",cloud_out_vis,std::string("visualized_cloud")); + + nh.param("use_plane_segmentation",use_table,false); + if (use_table) + { + plane_segmenter.initialize(nh); + } + + ros::Subscriber cloud_subscriber = nh.subscribe(cloud_in,1,cacheCloudInput); + pc_pub = nh.advertise(cloud_out,1000); + pc_vis_pub = nh.advertise(cloud_out_vis,1000); + ros::ServiceServer segmenter_service = nh.advertiseService("Segmenter",colorSegmenter); + + ros::spin(); + + return 0; +} \ No newline at end of file From 6a24e3c5068108bd27fac0d3330d563a477aea89 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 22 Aug 2017 20:47:57 -0400 Subject: [PATCH 072/105] Added back missing roslaunch for table parameter setting --- launch/table_seg_params.launch | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 launch/table_seg_params.launch diff --git a/launch/table_seg_params.launch b/launch/table_seg_params.launch new file mode 100644 index 00000000..6ec14387 --- /dev/null +++ b/launch/table_seg_params.launch @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 1b9c53af57554e4445988fb8536c3b516ccd0079 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 22 Aug 2017 21:11:21 -0400 Subject: [PATCH 073/105] Add ability to ignore background color label in segmentation --- .../include/color_nn_segmenter.h | 5 +++ .../launch/segmenter.launch | 9 +++-- .../src/color_nn_segmenter.cpp | 37 ++++++++++++++++++- .../color_nn_segmenter/src/main.cpp | 5 +++ 4 files changed, 52 insertions(+), 4 deletions(-) diff --git a/costar_perception/color_nn_segmenter/include/color_nn_segmenter.h b/costar_perception/color_nn_segmenter/include/color_nn_segmenter.h index e1136166..988a64c1 100644 --- a/costar_perception/color_nn_segmenter/include/color_nn_segmenter.h +++ b/costar_perception/color_nn_segmenter/include/color_nn_segmenter.h @@ -5,6 +5,7 @@ #include #include #include +#include #include #include @@ -22,6 +23,7 @@ #include #include #include +#include #include "utility.h" @@ -38,6 +40,8 @@ class ColorNnSegmenter bool saveModel(const std::string &target_directory, const std::string &model_name); bool loadModel(const std::string &model_dat_file_path); + void setBackgroundColorLabel(const std::string &ignored_labels); + PointCloudXYZL::Ptr segment(const PointCloudXYZRGB &input_cloud); private: @@ -51,6 +55,7 @@ class ColorNnSegmenter PointCloudXYZ::Ptr unlabelled_model_cloud; PointCloudXYZL::Ptr model_cloud; std::map label_index_map; + std::set background_label_index_map; }; #endif \ No newline at end of file diff --git a/costar_perception/color_nn_segmenter/launch/segmenter.launch b/costar_perception/color_nn_segmenter/launch/segmenter.launch index a37ff87c..06d157b7 100644 --- a/costar_perception/color_nn_segmenter/launch/segmenter.launch +++ b/costar_perception/color_nn_segmenter/launch/segmenter.launch @@ -15,12 +15,13 @@ + - + @@ -37,7 +38,7 @@ - + @@ -48,7 +49,9 @@ - + + + \ No newline at end of file diff --git a/costar_perception/color_nn_segmenter/src/color_nn_segmenter.cpp b/costar_perception/color_nn_segmenter/src/color_nn_segmenter.cpp index 39aeb4fe..0e7939a6 100644 --- a/costar_perception/color_nn_segmenter/src/color_nn_segmenter.cpp +++ b/costar_perception/color_nn_segmenter/src/color_nn_segmenter.cpp @@ -313,6 +313,29 @@ bool ColorNnSegmenter::loadModel(const std::string &model_dat_file_path) return true; } + +void ColorNnSegmenter::setBackgroundColorLabel(const std::string &ignored_labels) +{ + background_label_index_map.clear(); + std::vector ignored_label_list; + boost::split(ignored_label_list,ignored_labels,boost::is_any_of(",")); + + std::map inverted_label_map; + for (std::map::const_iterator it = label_index_map.begin(); it != label_index_map.end(); ++it) + { + inverted_label_map[it->second] = it->first; + } + + for (std::vector::const_iterator it = ignored_label_list.begin(); it != ignored_label_list.end(); ++it) + { + if (inverted_label_map.find(*it)!=inverted_label_map.end()) + { + std::cerr << "Ignored color label: " << *it << " with index: " << inverted_label_map[*it] << std::endl; + background_label_index_map.insert(inverted_label_map[*it]); + } + } +} + PointCloudXYZL::Ptr ColorNnSegmenter::segment(const PointCloudXYZRGB &input_cloud) { if (!this->ready) @@ -332,6 +355,11 @@ PointCloudXYZL::Ptr ColorNnSegmenter::segment(const PointCloudXYZRGB &input_clou pcl::copyPointCloud(input_cloud,*segmentation_result); std::size_t idx = 0; + + const float bad_distance = std::numeric_limits::quiet_NaN(); + pcl::PointXYZL ignored_point; + ignored_point.x = bad_distance; ignored_point.y = bad_distance; ignored_point.z = bad_distance; + for(PointCloudXYZ::const_iterator pt_it = color_only_cloud->begin(); pt_it != color_only_cloud->end(); ++pt_it, ++idx) { if ( kdtree.nearestKSearch (*pt_it, k, point_idx_knn, point_knn_distance) > 0 ) @@ -339,7 +367,14 @@ PointCloudXYZL::Ptr ColorNnSegmenter::segment(const PointCloudXYZRGB &input_clou // use the nearest neighboor to find the color label const int &nearest_neighboor_pt_idx = point_idx_knn[0]; const unsigned int &label = model_cloud->points[nearest_neighboor_pt_idx].label; - segmentation_result->points[idx].label = label; + if (background_label_index_map.find(label) == background_label_index_map.end()) + { + segmentation_result->points[idx].label = label; + } + else + { + segmentation_result->points[idx] = ignored_point; + } } } return segmentation_result; diff --git a/costar_perception/color_nn_segmenter/src/main.cpp b/costar_perception/color_nn_segmenter/src/main.cpp index 73e522f1..87e569a3 100644 --- a/costar_perception/color_nn_segmenter/src/main.cpp +++ b/costar_perception/color_nn_segmenter/src/main.cpp @@ -176,6 +176,11 @@ int main(int argc, char* argv[]) nh.param("visualized_cloud_topic",cloud_out_vis,std::string("visualized_cloud")); nh.param("use_plane_segmentation",use_table,false); + + std::string background_labels; + nh.param("background_labels",background_labels,std::string("")); + color_based_segmenter.setBackgroundColorLabel(background_labels); + if (use_table) { plane_segmenter.initialize(nh); From 8c4016648fc5ae084e8b2037022e8e88a997c8ae Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 22 Aug 2017 21:31:34 -0400 Subject: [PATCH 074/105] Add missing roslaunch file, minor fixes for object_on_table_segmenter --- .../launch/segmenter.launch | 5 ++- .../launch/table_seg_params.launch | 39 +++++++++++++++++++ .../src/ros_plane_segmenter.cpp | 2 +- 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 costar_tools/object_on_table_segmenter/launch/table_seg_params.launch diff --git a/costar_perception/color_nn_segmenter/launch/segmenter.launch b/costar_perception/color_nn_segmenter/launch/segmenter.launch index 06d157b7..155a0060 100644 --- a/costar_perception/color_nn_segmenter/launch/segmenter.launch +++ b/costar_perception/color_nn_segmenter/launch/segmenter.launch @@ -1,4 +1,5 @@ + @@ -20,7 +21,7 @@ - + @@ -35,7 +36,7 @@ - diff --git a/costar_tools/object_on_table_segmenter/launch/table_seg_params.launch b/costar_tools/object_on_table_segmenter/launch/table_seg_params.launch new file mode 100644 index 00000000..6ec14387 --- /dev/null +++ b/costar_tools/object_on_table_segmenter/launch/table_seg_params.launch @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp b/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp index 98455f76..9bee4724 100644 --- a/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp +++ b/costar_tools/object_on_table_segmenter/src/ros_plane_segmenter.cpp @@ -40,7 +40,6 @@ void RosPlaneSegmenter::initialize(const ros::NodeHandle &nh) else { ROS_INFO("Found plane data in %s.",load_table_path_.c_str()); - this->ready = true; } if (load_table) @@ -53,6 +52,7 @@ void RosPlaneSegmenter::initialize(const ros::NodeHandle &nh) else { ROS_INFO("Plane data loaded."); + this->ready = true; } this->setPlaneConvexHull(*table_hull); } From 662892325d461bf74f9af23baa367140d112e9a9 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 22 Aug 2017 21:56:57 -0400 Subject: [PATCH 075/105] Removed unused prints. Updated CMakeLists --- CMakeLists.txt | 4 ++-- README.md | 2 +- .../symmetricOrientationRealignment.h | 22 ++++--------------- 3 files changed, 7 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 870c8372..39d39c43 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ OPTION(BUILD_USE_OBJRECRANSAC "Use ObjRecRANSAC" ON) OPTION(BUILD_PYTHON_BINDING "Build Python Binding" ON) OPTION(BUILD_ENABLE_TRACKING "Build Enable Tracking Keypoints (EXPERIMENTAL)" OFF) -OPTION(BUILD_SCENE_PARSING_SUPPORT "Build with Scene Parsing Hypothesis Message (EXPERIMENTAL)" ON) +OPTION(BUILD_SCENE_PARSING_SUPPORT "Build with Scene Parsing Hypothesis Message (EXPERIMENTAL)" OFF) # Enable C++11 include(CheckCXXCompilerFlag) @@ -51,7 +51,7 @@ IF(OPENMP_FOUND) ENDIF(OPENMP_FOUND) # COSTAR specific application. Leave this off all time if you are not working at costar -OPTION(TURN_THIS_OFF "TURN_THIS_OFF" ON) +OPTION(TURN_THIS_OFF "TURN_THIS_OFF" OFF) if (TURN_THIS_OFF) message(STATUS "Warning, only turn this on when you are a part of CoSTAR team. You will need to have costar_objrec_msgs from costar_stack package in github to compile this successfully") ADD_DEFINITIONS( -DCOSTAR) diff --git a/README.md b/README.md index 6c09cb6c..53b7280a 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ sudo make install If you want to build the code with pose estimation, you will need to build and install ObjRecRANSAC: ``` -git clone https://github.com/ahundt/ObjRecRANSAC +git clone https://github.com/jhu-lcsr/ObjRecRANSAC cd ObjRecRANSAC mkdir build cmake .. diff --git a/include/sp_segmenter/symmetricOrientationRealignment.h b/include/sp_segmenter/symmetricOrientationRealignment.h index 684ead6e..96ab2680 100644 --- a/include/sp_segmenter/symmetricOrientationRealignment.h +++ b/include/sp_segmenter/symmetricOrientationRealignment.h @@ -113,16 +113,12 @@ void realignOrientation (Eigen::Matrix &rotMatrix, const } if (std::floor(std::abs(angle+0.5236)/objectLimit) < 1) { - //min angle = within 30 degree to the objectLimit to be aligned + // min angle = within 30 degree to the objectLimit to be aligned // std::cerr << "Angle: " << angle * 180 / pi << " is too small, no need to fix the rotation\n"; return; } - // std::cerr << "Quaternion corrected matrix\n" << rotMatrix << std::endl; - // rotate target axis to align as close as possible with its original axis by rotating the best axis to align the target axis. Use -angle because we want to undo the rotation rotMatrix = rotMatrix * Eigen::AngleAxisf(std::round(angle/objectLimit) * objectLimit,bestAxis[axisToRotate]); - // std::cerr << "Axis corrected matrix\n" << rotMatrix << std::endl; - // std::cerr << "Rotated axis" << axisToRotate << " : " << angle * 180 / pi << " -> " << std::round(angle/objectLimit) * objectLimit * 180 / pi < @@ -174,9 +170,7 @@ Eigen::Quaternion normalizeModelOrientation(const Eigen::Quaternion * Eigen::AngleAxisf(j * object.pitch, Eigen::Vector3f::UnitY()) * Eigen::AngleAxisf(k * object.roll, Eigen::Vector3f::UnitX()); Eigen::Quaternion rotatedInputQuaternion = q_from_pose * Eigen::Quaternion(symmetricOffset); - //std::cerr << " - " - // << minAngle << " " << rotatedInputQuaternion.angularDistance(Eigen::Quaternion::Identity()) - // << "\n"; + if (minAngle > rotatedInputQuaternion.angularDistance(Eigen::Quaternion::Identity())) { minAngle = rotatedInputQuaternion.angularDistance(Eigen::Quaternion::Identity ()); @@ -211,18 +205,13 @@ void printQuaternion(const Eigen::Quaternion &input) template Eigen::Quaternion normalizeModelOrientation(const Eigen::Quaternion &q_new, const Eigen::Quaternion &q_previous, const objectSymmetry &object) { - // std::cerr << "Input Qnew: "; printQuaternion(q_new); - // std::cerr << "Input Qold: "; printQuaternion(q_previous); - // std::cerr << "Previous Rot Matrix:\n" << q_previous.matrix() << std::endl; - // std::cerr << "Initial Rot Matrix:\n" << q_new.matrix() << std::endl; - Eigen::Quaternion rotationChange = q_previous.inverse() * q_new; + // Since the rotationChange should be close to identity, realign the rotationChange as close as identity based on symmetric property of the object rotationChange = normalizeModelOrientation(rotationChange, object); Eigen::Quaternion result = q_previous * rotationChange; - // std::cerr << "Output Q: "; printQuaternion(result); - // std::cerr << "Corrected Rot Matrix:\n" << result.matrix() << std::endl; + // fix the orientation of new pose return (result); } @@ -239,10 +228,7 @@ void normalizeAllModelOrientation (std::vector &all_poses, const Eigen::Q { for (unsigned int i = 0; i < all_poses.size(); i++) { - // std::cerr << "Rot"<< i <<" before normalization: \n" << all_poses[i].rotation.toRotationMatrix() << std::endl; - // std::cerr << "Object name: " << all_poses[i].model_name << std::endl; all_poses[i].rotation = normalizeModelOrientation(all_poses[i].rotation, normalOrientation, objectDict.find(all_poses[i].model_name)->second); - // std::cerr << "Rot"<< i <<" after normalization: \n" << all_poses[i].rotation.toRotationMatrix() << std::endl; } } From 7fc8aaadf4d613022e1c4758f4b991b062887409 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 22 Aug 2017 22:07:45 -0400 Subject: [PATCH 076/105] Updated ObjRecRansac package name in package.xml --- package.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.xml b/package.xml index 118f34e0..6e30e15e 100644 --- a/package.xml +++ b/package.xml @@ -42,7 +42,7 @@ catkin costar_objrec_msgs - ObjRecRANSAC + objrecransac sensor_msgs geometry_msgs pcl_ros From 254323c52c11d5b355b8c432b523b054f2a3e89e Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Tue, 22 Aug 2017 22:19:17 -0400 Subject: [PATCH 077/105] Minor fi --- .../config/iiwa_s_model_camera.rviz | 149 ++++++++---------- 1 file changed, 69 insertions(+), 80 deletions(-) diff --git a/costar_bringup/config/iiwa_s_model_camera.rviz b/costar_bringup/config/iiwa_s_model_camera.rviz index 71c864b9..3d49f560 100644 --- a/costar_bringup/config/iiwa_s_model_camera.rviz +++ b/costar_bringup/config/iiwa_s_model_camera.rviz @@ -6,17 +6,14 @@ Panels: Expanded: - /Global Options1 - /Status1 - - /TF1 - /TF1/Frames1 - /TF1/Tree1 - - /PlanningScene1 - /PlanningScene1/Scene Geometry1 - /PlanningScene1/Scene Robot1 - - /PointCloud22 - /Planned Path1 - - /PointCloud23 + - /PointCloud24 Splitter Ratio: 0.413174 - Tree Height: 948 + Tree Height: 852 - Class: rviz/Selection Name: Selection - Class: rviz/Tool Properties @@ -87,18 +84,6 @@ Visualization Manager: Use Fixed Frame: true Use rainbow: true Value: true - - Class: rviz/Image - Enabled: false - Image Topic: /camera/color/image_raw - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Queue Size: 2 - Transport Hint: raw - Unreliable: false - Value: false - Class: rviz/TF Enabled: true Frame Timeout: 15 @@ -106,8 +91,16 @@ Visualization Manager: 00 Home: Value: true All Enabled: false - ar_marker_0: - Value: false + a1: + Value: true + a2: + Value: true + a3: + Value: true + a4: + Value: true + ar_marker_2: + Value: true base: Value: false base_link: @@ -136,33 +129,13 @@ Visualization Manager: Value: false marker_link: Value: false - obj_link_uniform_1: - Value: true - obj_link_uniform_2: - Value: true - obj_link_uniform_3: - Value: true - obj_node_uniform_1: + place1: Value: true - obj_node_uniform_2: + place2: Value: true - obj_node_uniform_3: + place3: Value: true - obj_node_uniform_4: - Value: true - objects/link_uniform/1: - Value: false - objects/link_uniform/2: - Value: true - objects/link_uniform/3: - Value: true - objects/node_uniform/1: - Value: false - objects/node_uniform/2: - Value: false - objects/node_uniform/3: - Value: true - objects/node_uniform/4: + place4: Value: true preferred_orientation: Value: false @@ -194,25 +167,19 @@ Visualization Manager: {} camera_rgb_frame: camera_rgb_optical_frame: - ar_marker_0: - {} - obj_link_uniform_1: - {} - obj_link_uniform_2: - {} - obj_link_uniform_3: - {} - obj_node_uniform_1: - {} - obj_node_uniform_2: - {} - obj_node_uniform_3: - {} - obj_node_uniform_4: + ar_marker_2: {} world: 00 Home: {} + a1: + {} + a2: + {} + a3: + {} + a4: + {} base_link: preferred_orientation: {} @@ -235,19 +202,13 @@ Visualization Manager: {} table_frame: {} - objects/link_uniform/1: - {} - objects/link_uniform/2: + place1: {} - objects/link_uniform/3: + place2: {} - objects/node_uniform/1: + place3: {} - objects/node_uniform/2: - {} - objects/node_uniform/3: - {} - objects/node_uniform/4: + place4: {} Update Interval: 0 Value: true @@ -609,6 +570,36 @@ Visualization Manager: Use Fixed Frame: true Use rainbow: true Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz/PointCloud2 + Color: 255; 255; 255 + Color Transformer: RGB8 + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Queue Size: 10 + Selectable: true + Size (Pixels): 3 + Size (m): 0.005 + Style: Spheres + Topic: /pcl_color_segmenter/visualized_cloud_topic + Unreliable: false + Use Fixed Frame: true + Use rainbow: true + Value: true Enabled: true Global Options: Background Color: 48; 48; 48 @@ -633,32 +624,30 @@ Visualization Manager: Views: Current: Class: rviz/Orbit - Distance: 0.655068 + Distance: 0.612647 Enable Stereo Rendering: Stereo Eye Separation: 0.06 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: 0.723894 - Y: 0.0879182 - Z: 0.196104 + X: 0.727214 + Y: 0.00867184 + Z: 0.164382 Name: Current View Near Clip Distance: 0.01 - Pitch: 0.269797 + Pitch: 0.369797 Target Frame: Value: Orbit (rviz) - Yaw: 0.080116 + Yaw: 0.460128 Saved: ~ Window Geometry: Displays: collapsed: false - Height: 1151 + Height: 1055 Hide Left Dock: false Hide Right Dock: true - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd0000000400000000000002ae00000446fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006700fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000001b00000446000000e300fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002d7000000c90000001600ffffff000000010000010f00000378fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000002800000378000000b300fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000063e0000003efc0100000002fb0000000800540069006d006502000000020000046d0000063e00000043fb0000000800540069006d006501000000000000045000000000000000000000038c0000044600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730000000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd0000000400000000000002ae000003e6fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006700fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000001b000003e6000000e300fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d0061006700650000000338000000c90000000000000000000000010000010f00000378fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000002800000378000000b300fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000063e0000003efc0100000002fb0000000800540069006d006502000000020000046d0000063e00000043fb0000000800540069006d006501000000000000045000000000000000000000038c000003e600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730000000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -668,5 +657,5 @@ Window Geometry: Views: collapsed: true Width: 1600 - X: 0 - Y: 25 + X: 1759 + Y: 0 From a5aae8555e74b58fc3473d1f3064929ff510b208 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Wed, 23 Aug 2017 23:09:30 -0400 Subject: [PATCH 078/105] Add segmentation done ros topic --- .../src/color_nn_segmenter.cpp | 15 ++++- .../color_nn_segmenter/src/main.cpp | 56 +++++++++++++++++-- 2 files changed, 63 insertions(+), 8 deletions(-) diff --git a/costar_perception/color_nn_segmenter/src/color_nn_segmenter.cpp b/costar_perception/color_nn_segmenter/src/color_nn_segmenter.cpp index 0e7939a6..d5ed626f 100644 --- a/costar_perception/color_nn_segmenter/src/color_nn_segmenter.cpp +++ b/costar_perception/color_nn_segmenter/src/color_nn_segmenter.cpp @@ -127,7 +127,8 @@ bool ColorNnSegmenter::trainModel(const std::string &training_data_directory, co PointCloudXYZL::Ptr result_model_cloud(new PointCloudXYZL()); - unsigned int label_counter = 0; + // label 0 is reserved for background objects + unsigned int label_counter = 1; // process the files for (std::map >::const_iterator it = filepath_in_model.begin(); it != filepath_in_model.end(); ++it, ++label_counter) { @@ -362,6 +363,13 @@ PointCloudXYZL::Ptr ColorNnSegmenter::segment(const PointCloudXYZRGB &input_clou for(PointCloudXYZ::const_iterator pt_it = color_only_cloud->begin(); pt_it != color_only_cloud->end(); ++pt_it, ++idx) { + pcl::PointXYZL &target_point = segmentation_result->points[idx]; + if (!pcl_isfinite(target_point.x) || !pcl_isfinite(target_point.y) || !pcl_isfinite(target_point.z)) + { + target_point.label = 0; + continue; + } + if ( kdtree.nearestKSearch (*pt_it, k, point_idx_knn, point_knn_distance) > 0 ) { // use the nearest neighboor to find the color label @@ -369,11 +377,12 @@ PointCloudXYZL::Ptr ColorNnSegmenter::segment(const PointCloudXYZRGB &input_clou const unsigned int &label = model_cloud->points[nearest_neighboor_pt_idx].label; if (background_label_index_map.find(label) == background_label_index_map.end()) { - segmentation_result->points[idx].label = label; + target_point.label = label; } else { - segmentation_result->points[idx] = ignored_point; + target_point.label = 0; + // segmentation_result->points[idx] = ignored_point; } } } diff --git a/costar_perception/color_nn_segmenter/src/main.cpp b/costar_perception/color_nn_segmenter/src/main.cpp index 87e569a3..70736a06 100644 --- a/costar_perception/color_nn_segmenter/src/main.cpp +++ b/costar_perception/color_nn_segmenter/src/main.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -12,7 +13,7 @@ #include "color_nn_segmenter.h" sensor_msgs::PointCloud2 cached_cloud; -ros::Publisher pc_pub, pc_vis_pub; +ros::Publisher pc_pub, pc_vis_pub, seg_done; ColorNnSegmenter color_based_segmenter; RosPlaneSegmenter plane_segmenter; @@ -21,6 +22,7 @@ std::string table_tf_name, load_table_path; pcl::PCDWriter writer; tf::TransformListener * listener; bool use_tf_surface; +bool label_as_rgb; uchar color_label[11][3] = { @@ -55,6 +57,38 @@ pcl::PointCloud convertPointCloudLabelToRGBA(const PointCloud return result; } +pcl::PointCloud convertPointCloudLabelToRChannel(const PointCloudXYZL &input) +{ + std::map label_counter; + pcl::PointCloud result; + for (pcl::PointCloud::const_iterator it = input.begin(); it != input.end(); ++it) + { + pcl::PointXYZRGBA point; + point.x = it->x; + point.y = it->y; + point.z = it->z; + point.r = it->label; + point.b = 0; + point.g = 0; + point.a = 255; + result.push_back(point); + if (label_counter.find(it->label)==label_counter.end()) + { + label_counter[it->label] = 1; + } + else + { + label_counter[it->label]++; + } + } + + for (std::map::const_iterator it = label_counter.begin(); it!= label_counter.end(); ++it) + { + std::cerr << "Number of points in label: " << it->first << " = " << it->second << std::endl; + } + return result; +} + void cacheCloudInput(const sensor_msgs::PointCloud2 &input_cloud) { // std::cerr << "Updated cached cloud.\n"; @@ -88,8 +122,17 @@ bool colorSegmenter(std_srvs::Empty::Request& request, std_srvs::Empty::Response PointCloudXYZL::Ptr seg_cloud = color_based_segmenter.segment(*input_cloud); sensor_msgs::PointCloud2 output_msg; + if (label_as_rgb) + { + pcl::PointCloud::Ptr r_as_label_cloud(new pcl::PointCloud()); + *r_as_label_cloud = convertPointCloudLabelToRChannel(*seg_cloud); + toROSMsg(*r_as_label_cloud,output_msg); + } + else + { + toROSMsg(*seg_cloud,output_msg); + } output_msg.header.frame_id = cached_cloud.header.frame_id; - toROSMsg(*seg_cloud,output_msg); pc_pub.publish(output_msg); pcl::PointCloud seg_cloud_vis = convertPointCloudLabelToRGBA(*seg_cloud); @@ -98,7 +141,7 @@ bool colorSegmenter(std_srvs::Empty::Request& request, std_srvs::Empty::Response output_msg2.header.frame_id = cached_cloud.header.frame_id; pc_vis_pub.publish(output_msg2); - + seg_done.publish(std_msgs::Empty()); ROS_INFO("Done."); return true; } @@ -170,12 +213,14 @@ int main(int argc, char* argv[]) } } - std::string cloud_in, cloud_out,cloud_out_vis; + std::string cloud_in, cloud_out, cloud_out_vis, segment_done; nh.param("cloud_input_topic",cloud_in,std::string("/camera/depth_registered/points")); nh.param("segmented_cloud_topic",cloud_out,std::string("segmented_cloud")); nh.param("visualized_cloud_topic",cloud_out_vis,std::string("visualized_cloud")); + nh.param("segmentation_done_topic",segment_done,std::string("segment_done")); nh.param("use_plane_segmentation",use_table,false); + nh.param("send_label_as_rgb",label_as_rgb,true); std::string background_labels; nh.param("background_labels",background_labels,std::string("")); @@ -189,7 +234,8 @@ int main(int argc, char* argv[]) ros::Subscriber cloud_subscriber = nh.subscribe(cloud_in,1,cacheCloudInput); pc_pub = nh.advertise(cloud_out,1000); pc_vis_pub = nh.advertise(cloud_out_vis,1000); - ros::ServiceServer segmenter_service = nh.advertiseService("Segmenter",colorSegmenter); + seg_done = nh.advertise(segment_done,1); + ros::ServiceServer segmenter_service = nh.advertiseService("segmenter",colorSegmenter); ros::spin(); From ba4f6a8228b79e8304970849bf6fa28ca0c4c8f6 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 24 Aug 2017 15:28:31 -0400 Subject: [PATCH 079/105] Revert wrong commit --- README.md | 125 --- ar_tag_sets_plane.jpg | Bin 410469 -> 0 bytes .../plane_segmenter.h | 85 -- .../ros_plane_segmenter.h | 43 - launch/object_on_table_segmenter.launch | 64 -- launch/table_seg_params.launch | 39 - scanning_blue_bin_on_turntable.jpg | Bin 396754 -> 0 bytes src/object_on_table_segmenter.cpp | 234 ----- src/pcd2png_segment_gt.cpp | 990 ------------------ src/plane_segmenter.cpp | 283 ----- src/ros_plane_segmenter.cpp | 140 --- 11 files changed, 2003 deletions(-) delete mode 100644 README.md delete mode 100644 ar_tag_sets_plane.jpg delete mode 100644 include/object_on_table_segmenter/plane_segmenter.h delete mode 100644 include/object_on_table_segmenter/ros_plane_segmenter.h delete mode 100644 launch/object_on_table_segmenter.launch delete mode 100644 launch/table_seg_params.launch delete mode 100644 scanning_blue_bin_on_turntable.jpg delete mode 100644 src/object_on_table_segmenter.cpp delete mode 100644 src/pcd2png_segment_gt.cpp delete mode 100644 src/plane_segmenter.cpp delete mode 100644 src/ros_plane_segmenter.cpp diff --git a/README.md b/README.md deleted file mode 100644 index 3d338f54..00000000 --- a/README.md +++ /dev/null @@ -1,125 +0,0 @@ -# object_on_table_segmenter (BETA) - -Author: Felix Jonathan (fjonath1@jhu.edu) - -## Prerequisites - -To run this code you need: - - Some point cloud2 publisher - - ROS - - PCL 1.7 - -## Executing - -How to run the code: - -``` -roslaunch object_on_table_segmenter object_on_table_segmenter.launch -``` - -It is possible to pass some arguments to set the directory data, point cloud input, etc. -Args list: -object : the object folder name without extension. Default: ```cloud_cluster_``` -pcl_in : Input point cloud topic name. Default: ```/camera/depth_registered/points``` -viewer : See first distance filtered and table segmented pcl. Default: ```false``` -save_directory : Location of save directory for the data collection. Default: ```$(find object_on_table_segmenter)/result``` - -save_index = 0 - -load_directory - -table_tf : marker we are going to use - -See launch/object_on_table_segmenter.launch for more arguments that can be passed into the code. - -## Examples - -We use aruco markers that are 90mm across the black part 100mm total width on white outline. - -Before starting make sure your sensor has a full and accurate view of the target region free of clutter. - - -``` -roslaunch object_on_table_segmenter object_on_table_segmenter.launch tableTF:=ar_marker_2 use_tf_surface:=true above_table_min:=0.01 object:=blue_bin load_table:=true num_to_capture:=200 -``` - -1. Here on the first run you put the marker on the table/turntable. - -![Use the AR tag and a vertical area above it to define the object region](ar_tag_sets_plane.jpg) - -2. press 's' to get the pose of the marker, this is saved to disk -3. remove the marker, place your detection object on the table where the marker was - -![place the object where the tag was](scanning_blue_bin_on_turntable.jpg) - -4. press 's' again to begin collecting data - -``` -roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_vert table_tf:=ar_marker_2 load_table:=false num_to_capture:=200 -roslaunch object_on_table_segmenter object_on_table_segmenter.launch object:=link_horizontal table_tf:=ar_marker_2 load_table:=false num_to_capture:=200 -``` - -Results will be placed in the local directory with the following structure - -``` -~/catkin_ws/src/costar_stack/costar_tools/object_on_table_segmenter -├── data -├── launch -├── link_uniform -├── node_uniform -├── original -├── res -├── result -│   ├── red_bin -│   │   ├── ground_truth -│   │   └── original -│   ├── blue_bin -│   │ ├── ground_truth -│   │ └── original -│   └── red_link -│   ├── ground_truth -│   └── original -├── result_vert_01 -├── sander -│   └── original -└── src - -``` - -"original" will contain the full source pcd (pcl point cloud format) files. -"ground_truth" will contain only segmented object data. - -Files are written as follows: -``` -___ground_truth.pcd -2016_04_12_11_51_30_blue_bin_400_ground_truth.pcd - -___original.pcd -2016_04_12_11_51_30_blue_bin_400_original.pcd -``` - -If clustering is enabled each ground truth may have multiple entries. For example, -if you want to collect separate data for multiple objects on the table simultaneously. -Then the gorund truth format will be: - -``` -___cluster__ground_truth.pcd -2016_04_12_11_51_30_blue_bin_400_ground_truth.pcd -``` - -#### Verify your data - -Be sure to verify your data and make sure no incorrect data is present! - -`pcl viewer path/to/file.pcd` - -You can load everything at once to make your life easier and check for outliers: - -`pcl viewer path/to/folder/with/pcds/*` - - -#### image extraction and segmentation - -You can run `pcl_pcd2png` to convert your pcds into images - -You can run `pcd2png_segment_gt.cpp` to perform semantic segmentation of your ground truth data and your image data. \ No newline at end of file diff --git a/ar_tag_sets_plane.jpg b/ar_tag_sets_plane.jpg deleted file mode 100644 index b87899635886c186f2e38b26327d238127780bed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410469 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

^ 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

Z*4hZ6IaZ?{-`(P=>Hv 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

u$Cp6Bh6NS;3s)Q-!@)&TY8$)7hZ8+)-m&C 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�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 tJwc$RT&7G{{X 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/lI# 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 U;i`p~n1$C3!9y)~FLyux*@I%S=Kufz diff --git a/include/object_on_table_segmenter/plane_segmenter.h b/include/object_on_table_segmenter/plane_segmenter.h deleted file mode 100644 index d21cdc04..00000000 --- a/include/object_on_table_segmenter/plane_segmenter.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef PLANE_SEGMENTER -#define PLANE_SEGMENTER - -#include -#include -#include -#include - -// plane segmentation -#include -#include - -// segment object above plane -#include -#include -#include - -// for eucledian clustering -#include -#include - -#include -#include - -typedef pcl::PointCloud CloudXYZRGBA; - -class PlaneSegmenter -{ -public: - PlaneSegmenter() : ready(false), - plane_convex_hull_(new CloudXYZRGBA()), - distance_threshold_(0.02), angular_threshold_(2.0), minimal_inliers_(5000), - min_above_plane_(0.01), max_above_plane_(0.5), - visualize_(false) {}; - - // Returns all points inside a box with dimension `box_size` located at `box_pose` - CloudXYZRGBA::Ptr cropBox(const CloudXYZRGBA &input_cloud, const Eigen::Affine3f &box_pose, const Eigen::Vector3f &box_size) const; - // Generate plane convex hull from biggest planar area in the input cloud - CloudXYZRGBA::Ptr generatePlaneConvexHull(const CloudXYZRGBA &input_cloud) const; - // Generate 4 corner points based on XY plane of the `pose` with dimension `size` x `size` - CloudXYZRGBA::Ptr generatePlaneConvexHullFromPoseXYplane(const Eigen::Affine3f &pose, const double &size = 0.5) const; - - // Perform eucledian clusterization from input cloud - std::vector clusterPointCloud(const CloudXYZRGBA &input_cloud, const unsigned int &minimal_cluster_size = 500); - - // Returns all points above the input plane convex hull - CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull, - const double &min_above_plane, const double &max_above_plane) const; - // Returns all points above the input plane convex hull with parameters from setPlaneSegmentationHeight - CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const; - - // Returns all points above the saved plane convex hull from setPlaneConvexHull function - CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud, - const double &min_above_plane, const double &max_above_plane) const; - // Returns all points above the saved plane convex hull from setPlaneConvexHull function with parameters from setPlaneSegmentationHeight - CloudXYZRGBA::Ptr segmentAbovePlane(const CloudXYZRGBA &input_cloud) const; - - void setPlaneSegmentationParameters(const double &distance_threshold, const double &angular_threshold, const unsigned int &minimal_inliers); - void setPlaneConvexHull(const CloudXYZRGBA &plane_convex_hull); - void setPlaneSegmentationHeight(const double &min_above_plane, const double &max_above_plane); - void setVisualizationFlag(const bool visualize = true); - - CloudXYZRGBA getPlaneConvexHull() const { return *plane_convex_hull_; }; - // Flag that shows whether the plane_convex_hull has been set or not - bool ready; - ; -private: - void organizedPlaneSegmentation( - const CloudXYZRGBA &input_cloud, - std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > ®ions, - pcl::PointCloud::Ptr &labels, - std::vector &label_indices) const; - CloudXYZRGBA::Ptr plane_convex_hull_; - pcl::visualization::PCLVisualizer::Ptr viewer_; - double distance_threshold_; - double angular_threshold_; - unsigned int minimal_inliers_; - double min_above_plane_; - double max_above_plane_; - - bool visualize_; - ; -}; - -#endif diff --git a/include/object_on_table_segmenter/ros_plane_segmenter.h b/include/object_on_table_segmenter/ros_plane_segmenter.h deleted file mode 100644 index bc96ea74..00000000 --- a/include/object_on_table_segmenter/ros_plane_segmenter.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef ROS_PLANE_SEGMENTER -#define ROS_PLANE_SEGMENTER - -#include -// include to convert from messages to pointclouds and vice versa -#include -#include -#include - -// for using tf surface -#include - -// for creating directory automatically -#include - -#include "object_on_table_segmenter/plane_segmenter.h" - -// This class extend PlaneSegmenter to automatically configures and updates the plane segmenter parameters using ros param -class RosPlaneSegmenter : public PlaneSegmenter -{ -public: - RosPlaneSegmenter() : initialized_(false) {}; - ~RosPlaneSegmenter(); - - // Load all rosparam for the plane segmentation - void initialize(const ros::NodeHandle &nh); - - // Update the plane if the plane data does not exist yet - void segmentPlaneIfNotExist(const sensor_msgs::PointCloud2 &input_cloud); - -private: - bool initialized_; - bool update_table_; - bool use_rosbag_; - std::string table_tf_name_; - std::string load_table_path_; - pcl::PCDWriter writer_; - pcl::PCDReader reader_; - tf::TransformListener * listener_; - bool use_tf_surface_; -}; - -#endif \ No newline at end of file diff --git a/launch/object_on_table_segmenter.launch b/launch/object_on_table_segmenter.launch deleted file mode 100644 index d129479e..00000000 --- a/launch/object_on_table_segmenter.launch +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/launch/table_seg_params.launch b/launch/table_seg_params.launch deleted file mode 100644 index 6ec14387..00000000 --- a/launch/table_seg_params.launch +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scanning_blue_bin_on_turntable.jpg b/scanning_blue_bin_on_turntable.jpg deleted file mode 100644 index 6d7b0c7279bd6a2f2034aa2a252053a749068446..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396754 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 nQ>A8;bo%oXsq|>1IM9@sBr@+) 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�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

IQGRiaHP7znPo`(tBw+&CB2tZ23_g>xdiIgHo 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

HOgZTtJrchVTID07ZP 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

&vDZ$^b0c`OkyJ$`S?C8 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�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 BEMx!x diff --git a/src/object_on_table_segmenter.cpp b/src/object_on_table_segmenter.cpp deleted file mode 100644 index fba40ef9..00000000 --- a/src/object_on_table_segmenter.cpp +++ /dev/null @@ -1,234 +0,0 @@ -#include -#include - -#include -#include - -// ros stuff -#include -#include -#include -#include - -// include to convert from messages to pointclouds and vice versa -#include -#include -#include - -// for using tf surface -#include - -// for creating directory automatically -#include -#include -#include - -// for pcl segmentation -// #include "object_on_table_segmenter/plane_segmenter.h" -#include "object_on_table_segmenter/ros_plane_segmenter.h" - - -std::string points_in; -std::string save_directory, object_name, original_directory, ground_truth_directory; -int cloud_save_index; -ros::Subscriber pc_sub; -pcl::PCDWriter writer; -double time_step; -bool keypress = false; -bool run_auto; -int num_to_capture = 0; -bool do_cluster; - -RosPlaneSegmenter segmenter; -boost::posix_time::ptime time_to_save; - -// function getch is from http://answers.ros.org/question/63491/keyboard-key-pressed/ -int getch() -{ - static struct termios oldt, newt; - tcgetattr( STDIN_FILENO, &oldt); // save old settings - newt = oldt; - newt.c_lflag &= ~(ICANON); // disable buffering - tcsetattr( STDIN_FILENO, TCSANOW, &newt); // apply new settings - - int c = getchar(); // read character (non-blocking) - - tcsetattr( STDIN_FILENO, TCSANOW, &oldt); // restore old settings - return c; -} - -void saveCloud(const pcl::PointCloud& cloud_input, std::string dir, std::string additional_text = std::string("")) -{ - std::stringstream ss; - - try{ - using namespace boost::posix_time; - using namespace std; - - ss.imbue(std::locale(ss.getloc(), new boost::posix_time::time_facet("%Y_%m_%d_%H_%M_%S_"))); - ss << dir << time_to_save << object_name << "_" << cloud_save_index << additional_text << ".pcd"; - writer.write (ss.str (), cloud_input, true); - std::cerr << "Saved: " << ss.str() << "\n"; - } catch (pcl::IOException e) { - ROS_ERROR("could not write to %s!",ss.str().c_str()); - } -} - -void cloud_segmenter_and_save(pcl::PointCloud::Ptr &cloud_filtered) -{ - std::cerr << "Object Segmentation process begin \n"; - std::vector clustered_cloud = segmenter.clusterPointCloud(*cloud_filtered, 500); - - unsigned int initialIndex = cloud_save_index; - // save detected cluster data - for (size_t i = 0; i < clustered_cloud.size(); i++) - { - std::stringstream ss; - ss << "_cluster_" << i+1 << "_ground_truth"; - saveCloud(*clustered_cloud[i],ground_truth_directory, ss.str()); - } - - std::cerr << "Segmented object: " << clustered_cloud.size() << ". Segmentation done.\n Waiting for keypress to get new data \n"; -} - -void callback(const sensor_msgs::PointCloud2 &pc) -{ - pcl::PointCloud::Ptr cloud (new pcl::PointCloud()); - // convert sensor_msgs::PointCloud2 to pcl::PointXYZRGBA - // update the time which will become the leading string of collected data - time_to_save = boost::posix_time::second_clock::local_time(); - if (segmenter.ready and keypress) - { - pcl::fromROSMsg(pc, *cloud); - cloud_save_index++; - saveCloud(*cloud,original_directory,"_original"); - cloud = segmenter.segmentAbovePlane(*cloud); - if (do_cluster) cloud_segmenter_and_save(cloud); - else saveCloud(*cloud,ground_truth_directory,"_ground_truth"); - } - else - { - segmenter.segmentPlaneIfNotExist(pc); - - if (segmenter.ready) - { - std::cerr << "Add new object to the table \n"; - std::cerr << "Press 's' key to do object on table segmentation \n"; - std::cerr << "Press 'q' key to exit \n"; - } - else - { - std::cerr << "Fail perfoming plane segmentation.\n"; - std::cerr << "Press the 's' key to retry.\n"; - } - } -} - -void callbackCaptureEnvironment(const sensor_msgs::PointCloud2 &pc) -{ - pcl::PointCloud::Ptr cloud (new pcl::PointCloud()); - // convert sensor_msgs::PointCloud2 to pcl::PointXYZRGBA - pcl::fromROSMsg(pc, *cloud); - std::stringstream ss; - ss << save_directory << "environment" << ++cloud_save_index << ".pcd"; - writer.write (ss.str(), *cloud, true); - std::cerr << "Saved " << ss.str() << std::endl; -} - -int main (int argc, char** argv) -{ - ros::init(argc,argv,"object_on_table_segmenter_Node"); - ros::NodeHandle nh("~"); - - //getting subscriber parameters - nh.param("points_in", points_in,std::string("/camera/depth_registered/points")); - - //getting save parameters - nh.param("save_directory",save_directory,std::string("./")); - nh.param("original_directory",original_directory,std::string("original/")); - nh.param("ground_truth_directory",ground_truth_directory,std::string("ground_truth/")); - nh.param("object",object_name,std::string("cloud_cluster_")); - nh.param("save_index",cloud_save_index,0); - nh.param("num_to_capture",num_to_capture,200); - - nh.param("time_step",time_step,0.1); - nh.param("run_auto",run_auto,false); - - nh.param("do_cluster",do_cluster,true); - - bool just_capture_environment; - nh.param("environment_only",just_capture_environment,false); - boost::filesystem::create_directories(save_directory); - boost::filesystem::create_directories(original_directory); - boost::filesystem::create_directories(ground_truth_directory); - - // initialize plane segmenter - segmenter.initialize(nh); - - if (just_capture_environment) - { - pc_sub = nh.subscribe(points_in,1,callbackCaptureEnvironment); - ros::Rate r(1); - while (ros::ok()){ - r.sleep(); - ros::spinOnce(); - } - } - else - { - pc_sub = nh.subscribe(points_in,1,callback); - if (!segmenter.ready) - std::cerr << "1) Remove all object from the table\n2) make sure the AR tag you specified is visible\n3) press the 's' key to save the segmentation plane." << std::endl; - else - { - std::cerr << "Press 'q' key to exit \n"; - std::cerr << "Press 's' key to start object on table segmentation \n"; - } - - ros::Rate r(10); // 10 hz - int key = 0; - - if (not run_auto) { - keypress = true; - while (ros::ok()) - { - key = getch(); - if ((key == 's') || (key == 'S')) - ros::spinOnce(); - else if ((key == 'q') || (key == 'Q')) - break; - r.sleep(); - } - } else { - // run loop with time - int count = 0; - while (ros::ok()) { - - if (not segmenter.ready) { - key = getch(); - if ((key == 's') || (key == 'S')) - ros::spinOnce(); - else if ((key == 'q') || (key == 'Q')) - break; - } - else if (not keypress) { - std::cout << "Press any key to start data collection...\n"; - key = getch(); - keypress = true; - } - - ++count; - - if (num_to_capture > 0 && count >= num_to_capture) { - break; - } - - ros::spinOnce(); - ros::Duration(time_step).sleep(); - } - } - } - - ros::shutdown(); - return (0); -} diff --git a/src/pcd2png_segment_gt.cpp b/src/pcd2png_segment_gt.cpp deleted file mode 100644 index af7fed4f..00000000 --- a/src/pcd2png_segment_gt.cpp +++ /dev/null @@ -1,990 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Point Cloud Library (PCL) - www.pointclouds.org - * Copyright (c) 2013-, Open Perception, Inc. - * - * 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 copyright holder(s) 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 - * COPYRIGHT OWNER 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. - * - */ - -/** \brief PCD 2 PNG converter - * - * This converter takes 4 inputs: names of the input PCD and Ground Truth PCD files, the output PNG and PNG Ground Truth files, and the name of the field. - * - * \author Sergey Alexandrov - * \author Andrew Hundt - * - */ - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -using namespace pcl; -using namespace pcl::io; -using namespace pcl::console; - - -#include - -#if PCL_VERSION_COMPARE(<, 1, 8, 0) -#include -namespace pcl -{ - - struct RGB; - - PCL_EXPORTS RGB - getRandomColor (double min = 0.2, double max = 2.8); - - /** Color lookup table consisting of 256 colors structured in a maximally - * discontinuous manner. Generated using the method of Glasbey et al. - * (see https://github.com/taketwo/glasbey) */ - class PCL_EXPORTS GlasbeyLUT - { - - public: - - /** Get a color from the lookup table with a given id. - * - * The id should be less than the size of the LUT (see size()). */ - static RGB at (unsigned int color_id); - - /** Get the number of colors in the lookup table. - * - * Note: the number of colors is different from the number of elements - * in the lookup table (each color is defined by three bytes). */ - static size_t size (); - - /** Get a raw pointer to the lookup table. */ - static const unsigned char* data (); - - }; - -} - - -#if 0 -/// Lookup table -static const unsigned char GLASBEY_LUT[] = -{ - 77 , 175, 74 , - 228, 26 , 28 , - 55 , 126, 184, - 152, 78 , 163, - 255, 127, 0 , - 255, 255, 51 , - 166, 86 , 40 , - 247, 129, 191, - 153, 153, 153, - 0 , 0 , 255, - 255, 0 , 255, - 0 , 255, 248, - 0 , 255, 0 , - 0 , 101, 255, - 255, 255, 180, - 52 , 68 , 1 , - 0 , 0 , 68 , - 96 , 0 , 41 , - 158, 147, 0 , - 116, 0 , 185, - 255, 0 , 114, - 0 , 149, 125, - 209, 186, 255, - 255, 183, 156, - 240, 0 , 174, - 208, 255, 245, - 0 , 255, 176, - 170, 255, 93 , - 0 , 207, 255, - 255, 190, 1 , - 241, 117, 255, - 52 , 74 , 167, - 150, 166, 103, - 255, 114, 114, - 171, 100, 109, - 161, 0 , 41 , - 160, 135, 255, - 105, 86 , 121, - 178, 21 , 105, - 0 , 3 , 123, - 255, 221, 236, - 160, 238, 173, - 237, 161, 77 , - 0 , 141, 255, - 0 , 97 , 109, - 1 , 238, 98 , - 81 , 0 , 78 , - 128, 103, 66 , - 0 , 108, 44 , - 209, 224, 94 , - 155, 0 , 255, - 0 , 45 , 223, - 88 , 28 , 0 , - 166, 2 , 162, - 165, 205, 239, - 84 , 121, 0 , - 76 , 109, 80 , - 122, 180, 0 , - 104, 204, 204, - 145, 95 , 255, - 214, 208, 177, - 185, 130, 176, - 130, 120, 194, - 128, 96 , 0 , - 247, 161, 255, - 10 , 65 , 119, - 232, 102, 54 , - 7 , 191, 131, - 105, 54 , 171, - 10 , 177, 0 , - 215, 191, 105, - 198, 66 , 249, - 140, 255, 145, - 135, 60 , 105, - 254, 170, 191, - 130, 173, 255, - 161, 35 , 0 , - 197, 255, 0 , - 40 , 153, 180, - 215, 83 , 185, - 255, 77 , 161, - 128, 175, 147, - 216, 91 , 124, - 193, 144, 91 , - 210, 196, 0 , - 232, 39 , 73 , - 76 , 52 , 116, - 159, 206, 110, - 138, 147, 187, - 140, 5 , 114, - 0 , 56 , 183, - 191, 105, 0 , - 83 , 58 , 0 , - 94 , 224, 0 , - 121, 99 , 99 , - 212, 123, 104, - 89 , 160, 99 , - 146, 58 , 54 , - 231, 46 , 215, - 93 , 245, 200, - 191, 147, 133, - 255, 211, 89 , - 171, 77 , 214, - 0 , 121, 0 , - 60 , 14 , 107, - 255, 82 , 1 , - 112, 115, 43 , - 0 , 172, 245, - 255, 184, 240, - 1 , 210, 111, - 203, 151, 0 , - 95 , 114, 129, - 183, 215, 17 , - 80 , 110, 231, - 201, 25 , 87 , - 218, 250, 203, - 255, 148, 103, - 255, 217, 163, - 198, 172, 199, - 78 , 139, 135, - 197, 255, 134, - 38 , 0 , 165, - 197, 208, 211, - 193, 117, 225, - 111, 0 , 128, - 147, 255, 238, - 125, 62 , 254, - 112, 213, 78 , - 198, 76 , 61 , - 155, 48 , 82 , - 0 , 199, 176, - 118, 6 , 0 , - 2 , 106, 192, - 140, 167, 49 , - 189, 81 , 145, - 254, 162, 38 , - 134, 138, 106, - 0 , 68 , 17 , - 122, 73 , 61 , - 255, 251, 239, - 127, 94 , 193, - 181, 140, 48 , - 66 , 235, 255, - 189, 140, 218, - 190, 0 , 138, - 132, 177, 185, - 90 , 54 , 202, - 0 , 35 , 131, - 251, 139, 149, - 74 , 0 , 225, - 0 , 106, 90 , - 106, 199, 155, - 104, 169, 217, - 255, 239, 134, - 44 , 94 , 130, - 126, 0 , 78 , - 196, 214, 145, - 160, 238, 255, - 222, 215, 255, - 255, 87 , 126, - 170, 161, 255, - 81 , 120, 60 , - 255, 242, 91 , - 168, 130, 145, - 158, 153, 64 , - 211, 123, 156, - 255, 0 , 3 , - 210, 118, 197, - 0 , 41 , 111, - 198, 178, 125, - 211, 255, 169, - 109, 215, 130, - 41 , 90 , 0 , - 235, 193, 183, - 114, 58 , 0 , - 140, 96 , 155, - 163, 223, 193, - 255, 142, 63 , - 66 , 155, 1 , - 83 , 96 , 152, - 106, 133, 230, - 255, 85 , 72 , - 141, 216, 0 , - 162, 102, 73 , - 79 , 0 , 146, - 190, 0 , 30 , - 165, 0 , 193, - 81 , 84 , 255, - 0 , 148, 74 , - 203, 0 , 255, - 121, 54 , 71 , - 215, 255, 97 , - 163, 178, 0 , - 111, 154, 68 , - 120, 93 , 222, - 254, 187, 126, - 112, 0 , 27 , - 204, 59 , 0 , - 0 , 165, 167, - 151, 255, 0 , - 104, 41 , 124, - 138, 89 , 113, - 255, 94 , 224, - 86 , 91 , 48 , - 75 , 255, 76 , - 204, 190, 67 , - 255, 224, 0 , - 49 , 126, 85 , - 145, 196, 135, - 187, 64 , 79 , - 255, 130, 233, - 205, 127, 68 , - 105, 195, 223, - 161, 213, 81 , - 165, 183, 240, - 125, 255, 180, - 126, 255, 111, - 67 , 255, 145, - 154, 138, 83 , - 46 , 145, 231, - 118, 121, 0 , - 154, 2 , 222, - 185, 119, 255, - 255, 0 , 62 , - 131, 28 , 170, - 177, 70 , 183, - 217, 0 , 115, - 186, 196, 95 , - 97 , 46 , 97 , - 84 , 134, 167, - 81 , 54 , 145, - 107, 117, 107, - 51 , 15 , 80 , - 215, 139, 143, - 255, 247, 203, - 255, 86 , 192, - 153, 91 , 0 , - 255, 1 , 156, - 183, 79 , 19 , - 235, 255, 146, - 211, 1 , 224, - 178, 167, 144, - 217, 97 , 0 , - 134, 91 , 38 , - 175, 151, 206, - 0 , 182, 63 , - 210, 40 , 179, - 2 , 213, 42 , - 94 , 84 , 160, - 136, 48 , 0 , - 255, 110, 163, - 144, 121, 157, - 153, 61 , 225, - 237, 87 , 255, - 87 , 24 , 206, - 117, 143, 207, -}; - -/// Number of colors in Glasbey lookup table -static const std::size_t GLASBEY_LUT_SIZE = sizeof (GLASBEY_LUT) / (sizeof (GLASBEY_LUT[0]) * 3); - -#endif - -pcl::RGB -pcl::GlasbeyLUT::at (unsigned int color_id) -{ - assert (color_id < GLASBEY_LUT_SIZE); - pcl::RGB color; - color.r = GLASBEY_LUT[color_id * 3 + 0]; - color.g = GLASBEY_LUT[color_id * 3 + 1]; - color.b = GLASBEY_LUT[color_id * 3 + 2]; - return (color); -} - -size_t -pcl::GlasbeyLUT::size () -{ - return GLASBEY_LUT_SIZE; -} - -const unsigned char* -pcl::GlasbeyLUT::data () -{ - return GLASBEY_LUT; -} - -pcl::RGB -pcl::getRandomColor (double min, double max) -{ - double sum; - static unsigned stepRGBA = 100; - double r, g, b; - do - { - sum = 0; - r = (rand () % stepRGBA) / static_cast (stepRGBA); - while ((g = (rand () % stepRGBA) / static_cast (stepRGBA)) == r) {} - while (((b = (rand () % stepRGBA) / static_cast (stepRGBA)) == r) && (b == g)) {} - sum = r + g + b; - } - while (sum <= min || sum >= max); - pcl::RGB color; - color.r = uint8_t (r * 255.0); - color.g = uint8_t (g * 255.0); - color.b = uint8_t (b * 255.0); - return (color); -} - -#endif // PCL_VERSION_COMPARE(<, 1, 8, 0) - -////////////////////////////////////////////////////////////////////////////////////// -/** \brief Image Extractor which uses the data present in the "rgb" or "rgba" fields - * to produce a color image with rgb8 encoding. - * \author Sergey Alexandrov - * \ingroup io - */ - -////////////////////////////////////////////////////////////////////////////////////// -/** \brief Image Extractor which uses the data present in the "label" field to produce - * either monochrome or RGB image where different labels correspond to different - * colors. - * See the documentation for ColorMode to learn about available coloring options. - * \author Sergey Alexandrov - * \ingroup io - */ -template -class PointCloudImageExtractorGTLabelFromRGBField : public PointCloudImageExtractor -{ - typedef typename PointCloudImageExtractor::PointCloud PointCloud; - - public: - typedef boost::shared_ptr > Ptr; - typedef boost::shared_ptr > ConstPtr; - - /** \brief Different modes for color mapping. */ - enum ColorMode - { - /// Shades of gray (according to label id) - /// \note Labels using more than 16 bits will cause problems - COLORS_MONO, - /// Randomly generated RGB colors - COLORS_RGB_RANDOM, - /// Fixed RGB colors from the [Glasbey lookup table](http://fiji.sc/Glasbey), - /// assigned in the ascending order of label id - COLORS_RGB_GLASBEY, - }; - - /** \brief Constructor. */ - PointCloudImageExtractorGTLabelFromRGBField (int foreground_label =1, int background_label = 0, const ColorMode color_mode = COLORS_MONO) - : foreground_label_(foreground_label),background_label_(background_label),color_mode_ (color_mode) - { - } - - /** \brief Destructor. */ - virtual ~PointCloudImageExtractorGTLabelFromRGBField () {} - - /** \brief Set color mapping mode. */ - inline void - setColorMode (const ColorMode color_mode) - { - color_mode_ = color_mode; - } - - protected: - - virtual bool - extractImpl (const PointCloud& cloud, pcl::PCLImage& img) const; - - // Members derived from the base class - using PointCloudImageExtractor::paint_nans_with_black_; - - private: - - int foreground_label_; - int background_label_; - ColorMode color_mode_; - -}; - -// /////////////////////////////////////////////////////////////////////////////////////////// -// template bool -// pcl::io::PointCloudImageExtractorGTLabelFromRGBField::extractImpl (const PointCloud& cloud, pcl::PCLImage& img) const -// { -// std::vector fields; -// int field_idx = pcl::getFieldIndex (cloud, "rgb", fields); -// if (field_idx == -1) -// { -// field_idx = pcl::getFieldIndex (cloud, "rgba", fields); -// if (field_idx == -1) -// return (false); -// } -// -// int field_z_idx = pcl::getFieldIndex (cloud, "z", fields); -// if (field_z_idx == -1) -// return (false); -// -// const size_t offset = fields[field_idx].offset; -// const size_t z_offset = fields[field_z_idx].offset; -// -// img.encoding = "rgb8"; -// img.width = cloud.width; -// img.height = cloud.height; -// img.step = img.width * sizeof (unsigned char) * 3; -// img.data.resize (img.step * img.height); -// -// for (size_t i = 0; i < cloud.points.size (); ++i) -// { -// uint32_t val; -// pcl::getFieldValue (cloud.points[i], offset, val); -// img.data[i * 3 + 0] = (val >> 16) & 0x0000ff; -// img.data[i * 3 + 1] = (val >> 8) & 0x0000ff; -// img.data[i * 3 + 2] = (val) & 0x0000ff; -// } -// -// return (true); -// } - - -/////////////////////////////////////////////////////////////////////////////////////////// -template bool -PointCloudImageExtractorGTLabelFromRGBField::extractImpl (const PointCloud& cloud, pcl::PCLImage& img) const -{ - char black[3] = {0,0,0}; - std::vector fields; - int field_idx = pcl::getFieldIndex (cloud, "rgb", fields); - if (field_idx == -1) - { - field_idx = pcl::getFieldIndex (cloud, "rgba", fields); - if (field_idx == -1) - return (false); - } - - int field_z_idx = pcl::getFieldIndex (cloud, "z", fields); - if (field_z_idx == -1) - return (false); - - const size_t offset = fields[field_idx].offset; - const size_t z_offset = fields[field_z_idx].offset; - - switch (color_mode_) - { - case COLORS_MONO: - { - img.encoding = "mono16"; - img.width = cloud.width; - img.height = cloud.height; - img.step = img.width * sizeof (unsigned short); - img.data.resize (img.step * img.height); - unsigned short* data = reinterpret_cast(&img.data[0]); - for (size_t i = 0; i < cloud.points.size (); ++i) - { - - if(!pcl::isFinite (cloud.points[i])){ - data[i] = static_cast(background_label_); - } else { - uint32_t val; - pcl::getFieldValue (cloud.points[i], z_offset, val); - // data[i] = static_cast(val); - data[i] = static_cast(foreground_label_); - - } - } - break; - } - case COLORS_RGB_RANDOM: - { - img.encoding = "rgb8"; - img.width = cloud.width; - img.height = cloud.height; - img.step = img.width * sizeof (unsigned char) * 3; - img.data.resize (img.step * img.height); - - - std::srand(std::time(0)); - std::map colormap; - - for (size_t i = 0; i < cloud.points.size (); ++i) - { - float_t val; - pcl::getFieldValue (cloud.points[i], z_offset, val); - if (colormap.count (val) == 0) - { - colormap[val] = i * 3; - img.data[i * 3 + 0] = static_cast ((std::rand () % 256)); - img.data[i * 3 + 1] = static_cast ((std::rand () % 256)); - img.data[i * 3 + 2] = static_cast ((std::rand () % 256)); - } - else - { - memcpy (&img.data[i * 3], &img.data[colormap[val]], 3); - } - } - break; - } - case COLORS_RGB_GLASBEY: - { - img.encoding = "rgb8"; - img.width = cloud.width; - img.height = cloud.height; - img.step = img.width * sizeof (unsigned char) * 3; - img.data.resize (img.step * img.height); - - std::srand(std::time(0)); - std::set labels; - std::map colormap; - - // First pass: find unique labels - /// @todo should a black label be given in the !pcl::isFinite case? - for (size_t i = 0; i < cloud.points.size (); ++i) - { - // If we need to paint NaN points with black do not waste colors on them - if (paint_nans_with_black_ && !pcl::isFinite (cloud.points[i])) - continue; - // uint32_t val; - // pcl::getFieldValue (cloud.points[i], offset, val); - // labels.insert (val); - labels.insert(foreground_label_); - } - - // Assign Glasbey colors in ascending order of labels - // Note: the color LUT has a finite size (256 colors), therefore when - // there are more labels the colors will repeat - //size_t color = 0; - for (std::set::iterator iter = labels.begin (); iter != labels.end (); ++iter) - { - //colormap[*iter] = color % GlasbeyLUT::size (); - colormap[*iter] = foreground_label_ % GlasbeyLUT::size (); - //++color; - } - - // Second pass: copy colors from the LUT - for (size_t i = 0; i < cloud.points.size (); ++i) - { - - if (paint_nans_with_black_ && !pcl::isFinite (cloud.points[i])) - { - // copy the color 3 channel black memory addresses into the image - memcpy (&img.data[i * 3], black, 3); } - else - { - std::size_t offset_into_colormap = colormap[foreground_label_]; - // copy the color 3 channel memory addresses into the image - memcpy (&img.data[i * 3], GlasbeyLUT::data () + offset_into_colormap * 3, 3); - } - } - - break; - } - } - - return (true); -} - - -void -printHelp (int, char **argv) -{ - std::cout << std::endl; - std::cout << "****************************************************************************" << std::endl; - std::cout << "* *" << std::endl; - std::cout << "* PCD 2 PNG SEGMENTATION GROUND TRUTH CONVERTER - Usage Guide *" << std::endl; - std::cout << "* *" << std::endl; - std::cout << "****************************************************************************" << std::endl; - std::cout << std::endl; - std::cout << "Usage: " << argv[0] << " [Options] input.pcd input_ground_truth.pcd [output_source_data.png output_ground_truth_data.png]" << std::endl; - std::cout << std::endl; - std::cout << "Options:" << std::endl; - std::cout << std::endl; - std::cout << " --help : Show this help" << std::endl; - std::cout << " --nan-class : Paint NaN (infinite) points with their own class color " << std::endl; - std::cout << " this overrides the default of always making nan black" << std::endl; - std::cout << " --foreground-class : The Class ID integer of foreground/nonzero data" << std::endl; - std::cout << " in the ground truth cloud. Supported options:" << std::endl; - std::cout << " - : id to assign valid ground truth data" << std::endl; - std::cout << " --background-class : The Class ID integer of invalid data in the" << std::endl; - std::cout << " ground truth cloud. Supported options:" << std::endl; - std::cout << " - : id to assign valid ground truth data (default: 0)"<< std::endl; - std::cout << " --field : Set the field to extract foreground data from." << std::endl; - std::cout << " Ground truth data is currently always extracted from rgb." << std::endl; - std::cout << " Supported fields:" << std::endl; - std::cout << " - normal" << std::endl; - std::cout << " * rgb (default)" << std::endl; - std::cout << " - label" << std::endl; - std::cout << " - z" << std::endl; - std::cout << " - curvature" << std::endl; - std::cout << " - intensity" << std::endl; - std::cout << " --colors : Choose color mapping mode for labels (only for label field)." << std::endl; - std::cout << " Supported options:" << std::endl; - std::cout << " - mono : Shades of gray representing direct label values." << std::endl; - std::cout << " mono is easiest to load into caffe but has poor" << std::endl; - std::cout << " visibility because of similar gray color values" << std::endl; - std::cout << " - rgb : Randomly generated RGB colors" << std::endl; - std::cout << " * glasbey : Fixed colors from the Glasbey table¹ (default)" << std::endl; - std::cout << " high visibility colors but labels need to be" << std::endl; - std::cout << " mapped back to sequential integers in caffe." << std::endl; - std::cout << " --scale : Apply scaling to extracted data (only for z, curvature, and" << std::endl; - std::cout << " intensity fields). Supported options:" << std::endl; - std::cout << " - : Scale by a fixed number" << std::endl; - std::cout << " - auto : Auto-scale to the full range" << std::endl; - std::cout << " - no : No scaling" << std::endl; - std::cout << " If the option is omitted then default scaling (depends on" << std::endl; - std::cout << " the field type) will be used." << std::endl; - std::cout << std::endl; - std::cout << "Notes:" << std::endl; - std::cout << std::endl; - std::cout << "¹) The Glasbey lookup table is a color table structured in a maximally" << std::endl; - std::cout << " discontinuous manner. Adjacent color bins are chosen to be as distinct" << std::endl; - std::cout << " from one another as possible (see https://github.com/taketwo/glasbey)." << std::endl; - std::cout << " The label with the smallest id will be assigned the first color from the" << std::endl; - std::cout << " table, the second smallest will have the second color, and so on. Thus," << std::endl; - std::cout << " if you have several clouds with the same labels, you will get repetitive" << std::endl; - std::cout << " consistently colored PNG images." << std::endl; -} - -bool -loadCloud (const std::string &filename, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f& blob_origin, Eigen::Quaternionf& blob_orientation) -{ - TicToc tt; - print_highlight ("Loading "); print_value ("%s ", filename.c_str ()); - - tt.tic (); - if (loadPCDFile (filename, cloud,blob_origin,blob_orientation) < 0) - return (false); - print_info ("[done, "); print_value ("%g", tt.toc ()); print_info (" ms : "); print_value ("%d", cloud.width * cloud.height); print_info (" points]\n"); - print_info ("Available dimensions: "); print_value ("%s\n", pcl::getFieldsList (cloud).c_str ()); - - return (true); -} - -void -saveImage (const std::string &filename, const pcl::PCLImage& image) -{ - TicToc tt; - tt.tic (); - print_highlight ("Saving "); print_value ("%s ", filename.c_str ()); - savePNGFile (filename, image); - print_info ("[done, "); print_value ("%g", tt.toc ()); print_info (" ms : "); print_value ("%d", image.width * image.height); print_info (" points]\n"); -} - -template bool -parseScaleOption (int argc, char** argv, T& pcie) -{ - std::string scaling = "default"; - pcl::console::parse_argument (argc, argv, "--scale", scaling); - print_info ("Scaling: "); print_value ("%s\n", scaling.c_str()); - if (scaling == "default") - { - // scaling option omitted, use whatever defaults image extractor has - } - else if (scaling == "no") - { - pcie.setScalingMethod(pcie.SCALING_NO); - } - else if (scaling == "auto") - { - pcie.setScalingMethod(pcie.SCALING_FULL_RANGE); - } - else - { - try - { - float factor = boost::lexical_cast (scaling); - pcie.setScalingMethod(pcie.SCALING_FIXED_FACTOR); - pcie.setScalingFactor(factor); - } - catch (const boost::bad_lexical_cast&) - { - print_error ("The value of --scale option should be \"no\", \"auto\", or a floating point number.\n"); - return false; - } - } - return true; -} - -template bool -parseColorsOption (int argc, char** argv, T& pcie) -{ - std::string colors = "glasbey"; - pcl::console::parse_argument (argc, argv, "--colors", colors); - print_info ("Colors: "); print_value ("%s\n", colors.c_str()); - if (colors == "mono") - { - pcie.setColorMode(pcie.COLORS_MONO); - } - else if (colors == "rgb") - { - pcie.setColorMode(pcie.COLORS_RGB_RANDOM); - } - else if (colors == "glasbey") - { - pcie.setColorMode(pcie.COLORS_RGB_GLASBEY); - } - else - { - return false; - } - return true; -} - -/* ---[ */ -int -main (int argc, char** argv) -{ - print_info ("Convert a PCD file to PNG format.\nFor more information, use: %s --help\n", argv[0]); - - if (argc < 5 || pcl::console::find_switch (argc, argv, "--help")) - { - printHelp (argc, argv); - return (-1); - } - - // Parse the command line arguments for .pcd and .png files - std::vector pcd_file_index = parse_file_extension_argument (argc, argv, ".pcd"); - std::vector png_file_index = parse_file_extension_argument (argc, argv, ".png"); - - if (pcd_file_index.size () != 2 || (png_file_index.size () != 2 && png_file_index.size() != 0)) - { - print_error ("Need two input PCD files and two output PNG files.\n"); - return (-1); - } - - std::string png_filename; - std::string png_gt_filename; - std::string pcd_filename = argv[pcd_file_index[0]]; - std::string pcd_gt_filename = argv[pcd_file_index[1]]; - if(png_file_index.size() == 0) - { - png_filename = pcd_filename; - png_gt_filename = pcd_gt_filename; - boost::filesystem::change_extension(png_filename, "png").string(); - boost::filesystem::change_extension(png_gt_filename, "png").string(); - - } else { - png_filename = argv[png_file_index[0]]; - png_gt_filename = argv[png_file_index[1]]; - } - - int background_class = 0; - int foreground_class = 1; - - parse(argc, argv, "--foreground-class", foreground_class); - parse(argc, argv, "--background-class", background_class); - - - // Load the input file - pcl::PCLPointCloud2::Ptr blob (new pcl::PCLPointCloud2()); - pcl::PCLPointCloud2::Ptr blob_gt (new pcl::PCLPointCloud2()); - Eigen::Vector4f blob_origin, blob_gt_origin; - Eigen::Quaternionf blob_orientation, blob_gt_orientation; - - if (!loadCloud (pcd_filename, *blob,blob_origin,blob_orientation)) - { - print_error ("Unable to load PCD input file 1.\n"); - return (-1); - } - - if (!loadCloud (pcd_gt_filename, *blob_gt,blob_gt_origin,blob_gt_orientation)) - { - print_error ("Unable to load PCD ground truth input file 1.\n"); - return (-1); - } - - // Check if the cloud is organized - if (blob->height == 1) - { - print_error ("Input cloud is not organized.\n"); - return (-1); - } - - // Check if the cloud is organized - if (blob_gt->height == 1) - { - print_error ("Input ground truth cloud is not organized.\n"); - return (-1); - } - - bool paint_nans_with_black = !pcl::console::find_switch (argc, argv, "--nan-class"); - print_info ("Paint infinite points with black: "); print_value ("%s\n", paint_nans_with_black ? "YES" : "NO"); - - std::string field_name = "rgb"; - parse_argument (argc, argv, "--field", field_name); - print_info ("Field name: "); print_value ("%s\n", field_name.c_str()); - - - pcl::PCLImage image; - bool extracted; - if (field_name == "normal") - { - PointCloud cloud; - fromPCLPointCloud2 (*blob, cloud); - PointCloudImageExtractorFromNormalField pcie; - pcie.setPaintNaNsWithBlack (paint_nans_with_black); - extracted = pcie.extract(cloud, image); - } - else if (field_name == "rgb") - { - PointCloud cloud; - fromPCLPointCloud2 (*blob, cloud); - PointCloudImageExtractorFromRGBField pcie; - pcie.setPaintNaNsWithBlack (paint_nans_with_black); - extracted = pcie.extract(cloud, image); - } - else if (field_name == "label") - { - PointCloud cloud; - fromPCLPointCloud2 (*blob, cloud); - PointCloudImageExtractorFromLabelField pcie; - pcie.setPaintNaNsWithBlack (paint_nans_with_black); - if (!parseColorsOption(argc, argv, pcie)) - return (-1); - extracted = pcie.extract(cloud, image); - } - else if (field_name == "z") - { - PointCloud cloud; - fromPCLPointCloud2 (*blob, cloud); - PointCloudImageExtractorFromZField pcie; - pcie.setPaintNaNsWithBlack (paint_nans_with_black); - if (!parseScaleOption(argc, argv, pcie)) - return (-1); - extracted = pcie.extract(cloud, image); - } - else if (field_name == "curvature") - { - PointCloud cloud; - fromPCLPointCloud2 (*blob, cloud); - PointCloudImageExtractorFromCurvatureField pcie; - pcie.setPaintNaNsWithBlack (paint_nans_with_black); - if (!parseScaleOption(argc, argv, pcie)) - return (-1); - extracted = pcie.extract(cloud, image); - } - else if (field_name == "intensity") - { - PointCloud cloud; - fromPCLPointCloud2 (*blob, cloud); - PointCloudImageExtractorFromIntensityField pcie; - pcie.setPaintNaNsWithBlack (paint_nans_with_black); - if (!parseScaleOption(argc, argv, pcie)) - return (-1); - extracted = pcie.extract(cloud, image); - } - else - { - print_error ("Unsupported field \"%s\".\n", field_name.c_str()); - return (-1); - } - - int ret = 0; - - if (!extracted) - { - print_error ("Failed to extract original image from field \"%s\".\n", field_name.c_str()); - ret |=1; - } - else - { - saveImage (png_filename, image); - } - - - // Ground Truth image is always extracted from RGB - pcl::PCLImage gt_image; - - { - - PointCloud gt_cloud; - fromPCLPointCloud2 (*blob_gt, gt_cloud); - PointCloudImageExtractorGTLabelFromRGBField pcie(foreground_class,background_class); - pcie.setPaintNaNsWithBlack (paint_nans_with_black); - if (!parseColorsOption(argc, argv, pcie)) - return (-1); - extracted = pcie.extract(gt_cloud, gt_image); - } - - if (!extracted) - { - print_error ("Failed to extract ground truth image from field \"%s\".\n", field_name.c_str()); - ret |=3; - } - - saveImage (png_gt_filename, gt_image); - - return (ret); -} diff --git a/src/plane_segmenter.cpp b/src/plane_segmenter.cpp deleted file mode 100644 index 8256d55e..00000000 --- a/src/plane_segmenter.cpp +++ /dev/null @@ -1,283 +0,0 @@ -#include "object_on_table_segmenter/plane_segmenter.h" - -CloudXYZRGBA::Ptr PlaneSegmenter::cropBox(const CloudXYZRGBA &input_cloud, const Eigen::Affine3f &box_pose, const Eigen::Vector3f &box_size) const -{ - CloudXYZRGBA::Ptr cropped_cloud(new CloudXYZRGBA()); - pcl::CropBox crop_box; - bool is_organized = input_cloud.isOrganized(); - - crop_box.setKeepOrganized(is_organized); - crop_box.setInputCloud(input_cloud.makeShared()); - crop_box.setMax(box_size.homogeneous()); - crop_box.setMin((-box_size).homogeneous()); - crop_box.setTransform(box_pose.inverse()); - crop_box.filter(*cropped_cloud); - - if (visualize_) - { - viewer_->setWindowName("CropBox Result"); - viewer_->removeAllPointClouds(); - viewer_->addPointCloud(cropped_cloud, "cropbox"); - viewer_->spin(); - viewer_->removeAllPointClouds(); - } - - return cropped_cloud; -} - -void PlaneSegmenter::organizedPlaneSegmentation( - const CloudXYZRGBA &input_cloud, - std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > ®ions, - pcl::PointCloud::Ptr &labels, - std::vector &label_indices) const -{ - // Get Normal Cloud - pcl::PointCloud::Ptr normals (new pcl::PointCloud); - pcl::IntegralImageNormalEstimation ne; - ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT); - ne.setMaxDepthChangeFactor(0.02f); - ne.setNormalSmoothingSize(10.0f); - CloudXYZRGBA::Ptr input_cloud_ptr = input_cloud.makeShared(); - ne.setInputCloud(input_cloud_ptr); - ne.compute(*normals); - - // Segment planes - pcl::OrganizedMultiPlaneSegmentation< pcl::PointXYZRGBA, pcl::Normal, pcl::Label > mps; - - mps.setMinInliers (minimal_inliers_); - mps.setAngularThreshold (0.017453 * angular_threshold_); // in radians - mps.setDistanceThreshold (distance_threshold_); // in meters - mps.setInputNormals (normals); - mps.setInputCloud (input_cloud_ptr); - mps.setProjectPoints (true); // project the boundary points to the plane - std::vector model_coefficients; - std::vector inlier_indices; - std::vector boundary_indices; - - mps.segmentAndRefine (regions, model_coefficients, inlier_indices, labels, label_indices, boundary_indices); -} - -CloudXYZRGBA::Ptr PlaneSegmenter::generatePlaneConvexHull(const CloudXYZRGBA &input_cloud) const -{ - std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; - pcl::PointCloud::Ptr labels (new pcl::PointCloud()); - std::vector label_indices; - this->organizedPlaneSegmentation(input_cloud,regions,labels,label_indices); - - // Retrieve the convex hull. - CloudXYZRGBA::Ptr convex_hull(new CloudXYZRGBA()); - unsigned int best_region = 0; - unsigned int best_region_idx = 0; - - if (regions.size() > 0) { - std::cout << "Number of possible plane regions: " << regions.size() << std::endl; - - for (size_t i = 0; i < regions.size(); i++){ - std::cout << "Region" << i <<" size: " << regions[i].getCount() << std::endl; - pcl::PointCloud::Ptr contour (new pcl::PointCloud); - contour->points = regions[i].getContour(); - - if (regions[i].getCount() > best_region) - { - best_region = regions[i].getCount(); - best_region_idx = i; - } - - if (visualize_) - { - std::stringstream ss; - ss << "Region" << i; - viewer_->setWindowName(ss.str()); - viewer_->removeAllPointClouds(); - viewer_->addPointCloud(contour, ss.str()); - viewer_->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1.0f, 0.0f, 0.0f, ss.str()); - viewer_->spin(); - viewer_->removeAllPointClouds(); - } - } - - pcl::PointCloud::Ptr boundary(new pcl::PointCloud); - boundary->points = regions[best_region_idx].getContour(); - - pcl::ConvexHull hull; - hull.setInputCloud(boundary); - // Make sure that the resulting hull is bidimensional. - hull.setDimension(2); - hull.reconstruct(*convex_hull); - } - return convex_hull; -} - -std::vector PlaneSegmenter::clusterPointCloud(const CloudXYZRGBA &input_cloud, const unsigned int &minimal_cluster_size) -{ - CloudXYZRGBA::Ptr input_cloud_ptr = input_cloud.makeShared(); - std::vector< pcl::PlanarRegion, Eigen::aligned_allocator > > regions; - pcl::PointCloud::Ptr labels (new pcl::PointCloud()); - std::vector label_indices; - this->organizedPlaneSegmentation(input_cloud,regions,labels,label_indices); - - std::vector plane_labels; - plane_labels.resize(label_indices.size(), false); - - pcl::EuclideanClusterComparator::Ptr euclidean_cluster_comparator( - new pcl::EuclideanClusterComparator()); - euclidean_cluster_comparator->setInputCloud (input_cloud_ptr); - euclidean_cluster_comparator->setLabels (labels); - euclidean_cluster_comparator->setExcludeLabels (plane_labels); - euclidean_cluster_comparator->setDistanceThreshold(0.03f, false); - - pcl::PointCloud euclidean_labels; - std::vector euclidean_label_indices; - pcl::OrganizedConnectedComponentSegmentation euclidean_segmentation (euclidean_cluster_comparator); - euclidean_segmentation.setInputCloud (input_cloud_ptr); - euclidean_segmentation.segment (euclidean_labels, euclidean_label_indices); - - std::vector result_cluster; - for (std::size_t i = 0; i < euclidean_label_indices.size (); i++) - { - if (euclidean_label_indices[i].indices.size() > minimal_cluster_size) - { - pcl::PointCloud::Ptr cloud_cluster (new pcl::PointCloud()); - pcl::ExtractIndices extract; - - pcl::PointIndices::Ptr object_cloud_indices (new pcl::PointIndices()); - *object_cloud_indices = euclidean_label_indices[i]; - extract.setInputCloud(input_cloud_ptr); - extract.setIndices(object_cloud_indices); - extract.setKeepOrganized(true); - extract.filter(*cloud_cluster); - result_cluster.push_back(cloud_cluster); - - std::cerr << "\tCluster size: "<< euclidean_label_indices[i].indices.size() << std::endl; - } - } - return result_cluster; -} - - -CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull, - const double &min_above_plane, const double &max_above_plane) const -{ - CloudXYZRGBA::Ptr input_cloud_ptr = input_cloud.makeShared(); - if (plane_convex_hull.empty()) - { - std::cerr << "Error, the plane convex hull is still empty.\nReturning unsegmented input point cloud\n"; - return input_cloud_ptr; - } - std::cout << "\nSegment object above plane \n"; - bool is_organized = input_cloud.isOrganized(); - - // Prism object. - pcl::ExtractPolygonalPrismData prism; - prism.setInputCloud(input_cloud_ptr); - prism.setInputPlanarHull(plane_convex_hull.makeShared()); - - // from 1 cm above plane to 50 cm above plane - prism.setHeightLimits(min_above_plane, max_above_plane); - pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices()); - - prism.segment(*objectIndices); - // Get and show all points retrieved by the hull. - CloudXYZRGBA::Ptr objects(new CloudXYZRGBA()); - pcl::ExtractIndices extract; - extract.setInputCloud(input_cloud_ptr); - extract.setIndices(objectIndices); - - extract.setKeepOrganized(is_organized); - - extract.filter(*objects); - return objects; -} - -CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud, const double &min_above_plane, const double &max_above_plane) const -{ - return this->segmentAbovePlane(input_cloud, *plane_convex_hull_, min_above_plane, max_above_plane); -} - -CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud, const CloudXYZRGBA &plane_convex_hull) const -{ - return this->segmentAbovePlane(input_cloud, plane_convex_hull, min_above_plane_, max_above_plane_); -} - -CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cloud) const -{ - return this->segmentAbovePlane(input_cloud, *plane_convex_hull_, min_above_plane_, max_above_plane_); -} - -CloudXYZRGBA::Ptr PlaneSegmenter::generatePlaneConvexHullFromPoseXYplane(const Eigen::Affine3f &pose, const double &size) const -{ - CloudXYZRGBA::Ptr plane_points(new CloudXYZRGBA()); - for (int i = -1; i < 2; i+=2) - { - for (int j = -1; j < 2; j+=2) - { - pcl::PointXYZRGBA tmp; - tmp.x = i * size/2; - tmp.y = j * size/2; - tmp.z = 0; - plane_points->push_back(tmp); - } - } - CloudXYZRGBA::Ptr plane_hull(new CloudXYZRGBA()); - pcl::transformPointCloud (*plane_points, *plane_hull, pose); - - pcl::PointCloud::Ptr convex_hull(new pcl::PointCloud()); - - pcl::ConvexHull hull; - hull.setInputCloud(plane_hull); - // Make sure that the resulting hull is bidimensional. - hull.setDimension(2); - hull.reconstruct(*convex_hull); - return convex_hull; -} - -void PlaneSegmenter::setPlaneSegmentationParameters(const double &distance_threshold, const double &angular_threshold, const unsigned int &minimal_inliers) -{ - this->distance_threshold_ = distance_threshold; - this->angular_threshold_ = angular_threshold; - this->minimal_inliers_ = minimal_inliers; -} - -void PlaneSegmenter::setPlaneConvexHull(const CloudXYZRGBA &plane_convex_hull) -{ - if (plane_convex_hull.empty()) - { - std::cerr << "Error, the input convex hull is empty.\n"; - this->ready = false; - return; - } - else - { - this->ready = true; - *plane_convex_hull_ = plane_convex_hull; - if (visualize_) - { - viewer_->setWindowName("Selected Plane Convex Hull"); - viewer_->removeAllPointClouds(); - viewer_->addPointCloud(plane_convex_hull_, "plane_hull"); - viewer_->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1.0f, 0.0f, 0.0f, "plane_hull"); - viewer_->spin(); - viewer_->removeAllPointClouds(); - } - } -} - -void PlaneSegmenter::setPlaneSegmentationHeight(const double &min_above_plane, const double &max_above_plane) -{ - this->min_above_plane_ = min_above_plane; - this->max_above_plane_ = max_above_plane; -} - -void PlaneSegmenter::setVisualizationFlag(const bool visualize) -{ - this->visualize_ = visualize; - - if (visualize && !viewer_) - { - viewer_ = pcl::visualization::PCLVisualizer::Ptr (new pcl::visualization::PCLVisualizer ("Visualizer")); - viewer_->initCameraParameters(); - viewer_->addCoordinateSystem(0.1); - viewer_->setCameraPosition(0, 0, 0.1, 0, 0, 1, 0, -1, 0); - viewer_->setSize(1280, 960); - } -} diff --git a/src/ros_plane_segmenter.cpp b/src/ros_plane_segmenter.cpp deleted file mode 100644 index 98455f76..00000000 --- a/src/ros_plane_segmenter.cpp +++ /dev/null @@ -1,140 +0,0 @@ -#include "object_on_table_segmenter/ros_plane_segmenter.h" - -RosPlaneSegmenter::~RosPlaneSegmenter() -{ - if (listener_) - { - delete (listener_); - } -} - -void RosPlaneSegmenter::initialize(const ros::NodeHandle &nh) -{ - this->initialized_ = true; - listener_ = new (tf::TransformListener); - - bool load_table; - bool visualization; - nh.param("plane_segmenter_viewer",visualization,false); - nh.param("load_table",load_table,false); - nh.param("load_table_path",load_table_path_,std::string("./data/table.pcd")); - - namespace fs = boost::filesystem; - fs::path p(load_table_path_); - if (!fs::exists(p)) - { - ROS_INFO("Cannot find plane data in %s.",load_table_path_.c_str()); - fs::path plane_data_directory = p.parent_path(); - if (!fs::exists(plane_data_directory)) - { - if (fs::create_directories(plane_data_directory)) - { - ROS_INFO("Created plane data save directory %s.",plane_data_directory.string().c_str()); - } - else - { - ROS_ERROR("Fail to generate plane data save directory %s.",plane_data_directory.string().c_str()); - } - } - } - else - { - ROS_INFO("Found plane data in %s.",load_table_path_.c_str()); - this->ready = true; - } - - if (load_table) - { - pcl::PointCloud::Ptr table_hull(new pcl::PointCloud()); - if (reader_.read(load_table_path_, *table_hull) < 0) - { - ROS_WARN("Fail to load plane data from %s.",load_table_path_.c_str()); - } - else - { - ROS_INFO("Plane data loaded."); - } - this->setPlaneConvexHull(*table_hull); - } - - nh.param("use_rosbag",use_rosbag_,false); - nh.param("update_table",update_table_,false); - nh.param("table_tf", table_tf_name_,std::string("/table_tf")); - nh.param("use_tf_surface",use_tf_surface_,false); - - double above_table_min, above_table_max; - nh.param("above_table_min",above_table_min,0.01); - nh.param("above_table_max",above_table_max,0.50); - - double table_distance_threshold, table_angular_threshold, table_minimal_inliers; - nh.param("table_distance_threshold",table_distance_threshold,0.02); - nh.param("table_angular_threshold",table_angular_threshold,2.0); - nh.param("table_minimal_inliers",table_minimal_inliers,5000.0); - - this->setPlaneSegmentationHeight(above_table_min,above_table_max); - this->setPlaneSegmentationParameters(table_distance_threshold,table_angular_threshold,table_minimal_inliers); - this->setVisualizationFlag(visualization); - -} - -void RosPlaneSegmenter::segmentPlaneIfNotExist(const sensor_msgs::PointCloud2 &input_cloud) -{ - if (!initialized_) - { - std::cerr << "ERROR, RosPlaneSegmenter is not initialized yet.\n"; - return; - } - else if (!this->ready) - { - ROS_INFO("Performing plane segmentation"); - // perform table segmentation - CloudXYZRGBA::Ptr cloud(new CloudXYZRGBA()); - fromROSMsg(input_cloud,*cloud); - CloudXYZRGBA::Ptr cloud_filtered (new CloudXYZRGBA()); - std::string table_tf_parent; - tf::StampedTransform transform; - - if (!listener_->frameExists(table_tf_name_)) - { - ROS_WARN("Fail to find table frame [%s]",table_tf_name_.c_str()); - return; - } - - listener_->getParent(table_tf_name_,ros::Time(0),table_tf_parent); - if (use_rosbag_ || listener_->waitForTransform(table_tf_parent,table_tf_name_,ros::Time::now(),ros::Duration(1.5))) - { - ROS_INFO("Found table frame [%s]",table_tf_name_.c_str()); - listener_->lookupTransform(table_tf_parent,table_tf_name_,ros::Time(0),transform); - Eigen::Affine3d box_pose; - tf::transformTFToEigen(transform, box_pose); - Eigen::Affine3f box_pose_float(box_pose); - cloud_filtered = this->cropBox(*cloud, box_pose_float, Eigen::Vector3f(0.5,0.5,0.5)); - } - else - { - ROS_WARN("Fail to find table frame [%s]",table_tf_name_.c_str()); - return; - } - - CloudXYZRGBA::Ptr table_hull; - - if (use_tf_surface_) - { - Eigen::Affine3d plane_pose; - tf::transformTFToEigen(transform, plane_pose); - Eigen::Affine3f plane_pose_float(plane_pose); - table_hull = this->generatePlaneConvexHullFromPoseXYplane(plane_pose_float,0.5); - } - else - { - table_hull = this->generatePlaneConvexHull(*cloud_filtered); - } - - if (table_hull->size() > 0) - { - this->setPlaneConvexHull(*table_hull); - - if (update_table_) writer_.write (load_table_path_, *table_hull, true); - } - } -} \ No newline at end of file From 9c78b271ae8a90161d128bca040424a709d3e635 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 24 Aug 2017 15:29:17 -0400 Subject: [PATCH 080/105] Fixed instructor crash --- costar_instructor/instructor_plugins/package.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/costar_instructor/instructor_plugins/package.xml b/costar_instructor/instructor_plugins/package.xml index 46b87bf5..5f1636b1 100644 --- a/costar_instructor/instructor_plugins/package.xml +++ b/costar_instructor/instructor_plugins/package.xml @@ -43,18 +43,18 @@ name="Move Relative"/> From cfbc2388fbabc10ef2d13e3d2a7d3f71f6ba8dfd Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 24 Aug 2017 15:30:30 -0400 Subject: [PATCH 081/105] Add missing msg field for sp_segmenter scene parsing build --- costar_tools/objrec_hypothesis_msgs/msg/Hypothesis.msg | 1 + 1 file changed, 1 insertion(+) diff --git a/costar_tools/objrec_hypothesis_msgs/msg/Hypothesis.msg b/costar_tools/objrec_hypothesis_msgs/msg/Hypothesis.msg index a2eea336..f1e837bb 100644 --- a/costar_tools/objrec_hypothesis_msgs/msg/Hypothesis.msg +++ b/costar_tools/objrec_hypothesis_msgs/msg/Hypothesis.msg @@ -1,3 +1,4 @@ string model_name int32 match geometry_msgs/Transform transform +float32 confidence \ No newline at end of file From ffa138af5e3619f4acf8cf0d1c3480129d332964 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 24 Aug 2017 15:31:52 -0400 Subject: [PATCH 082/105] Add ability to set certain color labels as background label --- .../launch/segmenter.launch | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/costar_perception/color_nn_segmenter/launch/segmenter.launch b/costar_perception/color_nn_segmenter/launch/segmenter.launch index 155a0060..b8384131 100644 --- a/costar_perception/color_nn_segmenter/launch/segmenter.launch +++ b/costar_perception/color_nn_segmenter/launch/segmenter.launch @@ -5,6 +5,7 @@ + @@ -13,27 +14,28 @@ + - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file From 7fcec72fd85c53f335182202dbd924b3b0419d4b Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 24 Aug 2017 15:35:17 -0400 Subject: [PATCH 083/105] Fixed object_on_table_segmenter roslaunch --- .../launch/object_on_table_segmenter.launch | 60 +++++++------------ .../launch/table_seg_params.launch | 2 +- .../src/plane_segmenter.cpp | 1 + 3 files changed, 25 insertions(+), 38 deletions(-) diff --git a/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch b/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch index d129479e..65d4cf59 100644 --- a/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch +++ b/costar_tools/object_on_table_segmenter/launch/object_on_table_segmenter.launch @@ -5,29 +5,32 @@ - - + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -35,30 +38,13 @@ - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/costar_tools/object_on_table_segmenter/launch/table_seg_params.launch b/costar_tools/object_on_table_segmenter/launch/table_seg_params.launch index 6ec14387..eaf1e306 100644 --- a/costar_tools/object_on_table_segmenter/launch/table_seg_params.launch +++ b/costar_tools/object_on_table_segmenter/launch/table_seg_params.launch @@ -11,7 +11,7 @@ - + diff --git a/costar_tools/object_on_table_segmenter/src/plane_segmenter.cpp b/costar_tools/object_on_table_segmenter/src/plane_segmenter.cpp index 8256d55e..c3825345 100644 --- a/costar_tools/object_on_table_segmenter/src/plane_segmenter.cpp +++ b/costar_tools/object_on_table_segmenter/src/plane_segmenter.cpp @@ -173,6 +173,7 @@ CloudXYZRGBA::Ptr PlaneSegmenter::segmentAbovePlane(const CloudXYZRGBA &input_cl prism.setInputPlanarHull(plane_convex_hull.makeShared()); // from 1 cm above plane to 50 cm above plane + std::cerr << "Segmentation range: " << min_above_plane << " to " << max_above_plane << std::endl; prism.setHeightLimits(min_above_plane, max_above_plane); pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices()); From 339ddbb7ac09309c72ae2c2fe307612a1c185757 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 24 Aug 2017 15:37:56 -0400 Subject: [PATCH 084/105] Updated gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 8d4c87d3..23a31eb9 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ *.zip *.bag *.swo +*.dat +*.pcd \ No newline at end of file From e7d1a68baad8571cfb6fdaf0b96cf034bb91af11 Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Thu, 24 Aug 2017 14:34:31 -0700 Subject: [PATCH 085/105] Update .travis.yml --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d6704f32..78582828 100644 --- a/.travis.yml +++ b/.travis.yml @@ -57,6 +57,7 @@ env: - CI_SOURCE_PATH=$(pwd) - CATKIN_OPTIONS=$CI_SOURCE_PATH/catkin.options - ROS_PARALLEL_JOBS='-j8 -l6' + - PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages #- ROSINSTALL_FILE=$CI_SOURCE_PATH/dependencies.rosinstall ################################################################################ @@ -67,7 +68,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin ros-$ROS_DISTRO-moveit ros-$ROS_DISTRO-moveit-full-pr2 + - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev From 0ba35f502f365b8f04f6fa52678aabe2bb8f79cd Mon Sep 17 00:00:00 2001 From: Chris Paxton Date: Thu, 24 Aug 2017 14:39:12 -0700 Subject: [PATCH 086/105] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 78582828..f8614b0c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -68,7 +68,7 @@ before_install: - wget http://packages.ros.org/ros.key -O - | sudo apt-key add - # Do not build/test costar-perception: it requires OpenCV-nonfree, which is not automatically installed. - sudo apt-get update -qq - - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools + - sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool python-catkin-tools ros-$ROS_DISTRO-catkin - sudo add-apt-repository --yes ppa:xqms/opencv-nonfree - sudo apt-get update - sudo apt-get install libopencv-nonfree-dev From 629ea2ed8f04964c4279db2ba69eb3dfdc95989f Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 24 Aug 2017 21:16:51 -0400 Subject: [PATCH 087/105] Fix bugs associated with publishing hypothesis list --- .../include/sp_segmenter/greedyObjRansac.h | 2 ++ .../sp_segmenter/semantic_segmentation.h | 2 ++ .../sp_segmenter/src/greedyObjRansac.cpp | 27 ++++++++++++++++--- .../src/semantic_segmentation.cpp | 7 ++++- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/costar_perception/sp_segmenter/include/sp_segmenter/greedyObjRansac.h b/costar_perception/sp_segmenter/include/sp_segmenter/greedyObjRansac.h index a1c9a7b1..bd275146 100644 --- a/costar_perception/sp_segmenter/include/sp_segmenter/greedyObjRansac.h +++ b/costar_perception/sp_segmenter/include/sp_segmenter/greedyObjRansac.h @@ -76,6 +76,8 @@ class greedyObjRansac{ double visibility; //0.1 double relativeObjSize; //0.1 + + double min_confidence; }; diff --git a/costar_perception/sp_segmenter/include/sp_segmenter/semantic_segmentation.h b/costar_perception/sp_segmenter/include/sp_segmenter/semantic_segmentation.h index 7238a0af..d9d82ecb 100644 --- a/costar_perception/sp_segmenter/include/sp_segmenter/semantic_segmentation.h +++ b/costar_perception/sp_segmenter/include/sp_segmenter/semantic_segmentation.h @@ -6,6 +6,7 @@ #include #include #include +#include #include "sp_segmenter/features.h" #include "sp_segmenter/JHUDataParser.h" @@ -259,6 +260,7 @@ class SemanticSegmentation boost::shared_ptr combined_ObjRecRANSAC_; std::map cloud_idx_map; std::map > individual_ObjRecRANSAC_; + std::map > objrecransac_lock_; bool use_external_segmentation_; diff --git a/costar_perception/sp_segmenter/src/greedyObjRansac.cpp b/costar_perception/sp_segmenter/src/greedyObjRansac.cpp index bd3e6c2c..492bd299 100644 --- a/costar_perception/sp_segmenter/src/greedyObjRansac.cpp +++ b/costar_perception/sp_segmenter/src/greedyObjRansac.cpp @@ -1,7 +1,8 @@ #include "sp_segmenter/greedyObjRansac.h" //greedyObjRansac::greedyObjRansac(double pairWidth_, double voxelSize_) : objrec(pairWidth_, voxelSize_, 1.0) -greedyObjRansac::greedyObjRansac(double pairWidth_, double voxelSize_, double relNumOfPairsInHashTable_) : objrec(pairWidth_, voxelSize_, relNumOfPairsInHashTable_) +greedyObjRansac::greedyObjRansac(double pairWidth_, double voxelSize_, double relNumOfPairsInHashTable_) : objrec(pairWidth_, voxelSize_, relNumOfPairsInHashTable_), + min_confidence(0.0) { // successProbability = 0.9999999; successProbability = 0.99; @@ -97,6 +98,8 @@ void greedyObjRansac::GreedyRecognize(const pcl::PointCloud::Ptr sce pcl::PointCloud::Ptr cur_scene = scene_xyz; int iter = 0; + min_confidence = 0.; + while(true) { std::cerr<< "Recognizing Attempt --- " << iter << std::endl; @@ -130,6 +133,9 @@ void greedyObjRansac::StandardBest(const pcl::PointCloud::Ptr scene_ float max = -1000; boost::shared_ptr best_shape; + + min_confidence = 0.; + for ( list< boost::shared_ptr >::iterator it = detectedObjects.begin() ; it != detectedObjects.end() ; ++it ) { // if ( (*it)->getUserData() ) @@ -169,7 +175,8 @@ void greedyObjRansac::StandardRecognize(const pcl::PointCloud::Ptr s //list detectedObjects; list< boost::shared_ptr > detectedObjects; objrec.doRecognition(scene, successProbability, detectedObjects); - + min_confidence = minConfidence; + for ( list< boost::shared_ptr >::iterator it = detectedObjects.begin() ; it != detectedObjects.end() ; ++it ) { boost::shared_ptr shape = (*it); @@ -519,12 +526,24 @@ GreedyHypothesis greedyObjRansac::getLatestAcceptedHypothesis(const bool &combin if (acc_hypothesis.size() > 0) { // result.hypothesis = acc_hypothesis; - if (!combined_ransac) result.model_id = acc_hypothesis[0][0].model_entry->getUserData()->getLabel(); - if (combined_ransac) result.model_id = "combined_ransac(UNSUPPORTED)"; + for (std::size_t i = 0; i < acc_hypothesis.size(); ++i) + { + if (acc_hypothesis[i].size() > 0) + { + if (!combined_ransac) result.model_id = acc_hypothesis[0][0].model_entry->getUserData()->getLabel(); + if (combined_ransac) result.model_id = "combined_ransac(UNSUPPORTED)"; + break; + } + } // separate the object hypothesis by its best position for (std::size_t i = 0; i < acc_hypothesis.size(); ++i) { + if (acc_hypothesis[i].size() == 0) continue; + + // skip object that has been skipped by the pose estimation + if (acc_hypothesis[i][0].confidence < min_confidence) continue; + // object index starts from 1, not zero. std::size_t object_tf_index = i + 1; result.by_object_hypothesis[object_tf_index] = acc_hypothesis[i]; diff --git a/costar_perception/sp_segmenter/src/semantic_segmentation.cpp b/costar_perception/sp_segmenter/src/semantic_segmentation.cpp index c1316c66..405f8db9 100644 --- a/costar_perception/sp_segmenter/src/semantic_segmentation.cpp +++ b/costar_perception/sp_segmenter/src/semantic_segmentation.cpp @@ -606,6 +606,8 @@ void SemanticSegmentation::addModel(const std::string &path_to_model_directory, new_obj_ransac->setUseCUDA(use_cuda_); new_obj_ransac->AddModel(model_path + model_name, model_name); individual_ObjRecRANSAC_[model_name] = new_obj_ransac; + boost::shared_ptr new_lock(new boost::mutex()); + objrecransac_lock_[model_name] = new_lock; } } ModelT mesh_buf = LoadMesh(model_path + model_name, model_name); @@ -691,6 +693,7 @@ std::vector SemanticSegmentation::calculateObjTransf { std::cerr << object_name << " cloud set " << j << " size: " << cloud_set[j]->size() << std::endl; std::vector tmp_poses; + objrecransac_lock_[object_name]->lock(); switch (objRecRANSAC_mode_) { case STANDARD_BEST: @@ -705,7 +708,6 @@ std::vector SemanticSegmentation::calculateObjTransf default: std::cerr << "Unsupported objRecRANSACdetector!\n"; } - if (viewer) { individual_ObjRecRANSAC_[object_name]->visualize(viewer, tmp_poses, color_label[j]); @@ -719,6 +721,7 @@ std::vector SemanticSegmentation::calculateObjTransf #ifdef SCENE_PARSING hypothesis_list_.push_back(individual_ObjRecRANSAC_[object_name]->getLatestAcceptedHypothesis()); #endif + objrecransac_lock_[object_name]->unlock(); } } @@ -836,6 +839,7 @@ std::vector SemanticSegmentation::getUpdateOnOneObjT if( cloud_set[objrec_index + 1]->empty() == false ) { std::vector tmp_poses; + objrecransac_lock_[object_type]->lock(); switch (objRecRANSAC_mode_) { case STANDARD_BEST: @@ -851,6 +855,7 @@ std::vector SemanticSegmentation::getUpdateOnOneObjT std::cerr << "Unsupported objRecRANSACdetector!\n"; } all_poses.insert(all_poses.end(), tmp_poses.begin(), tmp_poses.end()); + objrecransac_lock_[object_type]->unlock(); } } else From a2ad248f1ff4d65de258d4cab848560204628a63 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 24 Aug 2017 21:17:39 -0400 Subject: [PATCH 088/105] Uses ROS_INFO and ROS_WARN for printing, fixed whitespaces --- .../src/ros_semantic_segmentation.cpp | 48 ++++++++++--------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/costar_perception/sp_segmenter/src/ros_semantic_segmentation.cpp b/costar_perception/sp_segmenter/src/ros_semantic_segmentation.cpp index 5bea4123..68b14907 100644 --- a/costar_perception/sp_segmenter/src/ros_semantic_segmentation.cpp +++ b/costar_perception/sp_segmenter/src/ros_semantic_segmentation.cpp @@ -11,10 +11,10 @@ segmentedObjectTF::segmentedObjectTF() segmentedObjectTF::segmentedObjectTF(const ObjectTransformInformation &input) { - this->transform.setOrigin(tf::Vector3( input.origin_.x(), input.origin_.y(), input.origin_.z() )); - this->transform.setRotation(tf::Quaternion( + this->transform.setOrigin(tf::Vector3( input.origin_.x(), input.origin_.y(), input.origin_.z() )); + this->transform.setRotation(tf::Quaternion( input.rotation_.x(),input.rotation_.y(),input.rotation_.z(),input.rotation_.w())); - this->TFname = input.transform_name_; + this->TFname = input.transform_name_; } tf::StampedTransform segmentedObjectTF::generateStampedTransform(const std::string &parent) const @@ -27,9 +27,9 @@ tf::StampedTransform segmentedObjectTF::generateStampedTransform(const std::stri std::map fillObjectPropertyDictionary(const ros::NodeHandle &nh, const std::vector &cur_name) { std::map objectDict; - std::cerr << "LOADING IN OBJECTS\n"; + ROS_INFO("Loading object symmetric properties"); for (unsigned int i = 0; i < cur_name.size(); i++) { - std::cerr << "Name of obj: " << cur_name[i] << "\n"; + ROS_INFO("Found symmetric property for object: %s",cur_name[i].c_str()); double r, p, y, step; std::string preferred_axis; @@ -48,7 +48,7 @@ std::map fillObjectPropertyDictionary(const ros::No std::map fillObjectPropertyDictionary(std::map &modelObjRecRansacParamDict,const ros::NodeHandle &nh, const std::vector &cur_name) { std::map objectDict; - std::cerr << "LOADING IN OBJECTS\n"; + ROS_INFO("Loading object symmetric properties"); double default_pair_width, default_voxel_size, default_scene_visibility, default_object_visibility; nh.param("default_object_param/pair_width", default_pair_width, 0.005); @@ -57,7 +57,7 @@ std::map fillObjectPropertyDictionary(std::mapaddModelSymmetricProperty(objectDict); #else - std::cerr << "WARNING. Could not compute pose because the library is not compiled with USE_OBJRECRANSAC = ON.\n"; - std::cerr << "This class will only publish the segmented cloud.\n"; + ROS_WARN("Could not compute pose because the library is not compiled with USE_OBJRECRANSAC = ON."); + ROS_INFO("This class will only publish the segmented cloud."); #endif #ifdef USE_TRACKING @@ -204,7 +204,7 @@ void RosSemanticSegmentation::initializeSemanticSegmentationFromRosParam() { if(!tracker_->addTracker(model)) { - std::cout << "Warning: tried to add duplicate model name to tracker" << std::endl; + ROS_WARN("Tried to add duplicate model name to tracker"); } } } @@ -231,13 +231,13 @@ void RosSemanticSegmentation::initializeSemanticSegmentationFromRosParam() if (!useTFinsteadOfPoses) { - std::cerr << "Node publish pose array.\n"; + ROS_INFO("Node publish pose array."); pose_pub = nh.advertise(POSES_OUT,1000); pc_sub = nh.subscribe(POINTS_IN,1,&RosSemanticSegmentation::callbackPoses,this); } else { - std::cerr << "Node publish TF.\n"; + ROS_INFO("Node publish TF frames."); spSegmenter = this->nh.advertiseService("SPSegmenter",&RosSemanticSegmentation::serviceCallback,this); #ifdef COSTAR segmentGripper = this->nh.advertiseService("segmentInGripper",&RosSemanticSegmentation::serviceCallbackGripper,this); @@ -404,11 +404,11 @@ void RosSemanticSegmentation::updateCloudData (const sensor_msgs::PointCloud2 &p nh.param("tableTF", tableTFname,std::string("/tableTF")); tableTFparent = pc.header.frame_id; - std::cerr << "Getting Table TF with name: '" << tableTFname << " and parent frame: " << tableTFparent << std::endl; + ROS_INFO("Looking for Table frame [%s] with parent frame [%s]",(tableTFname.c_str(), tableTFparent.c_str())); if (listener->frameExists(tableTFname) && listener->waitForTransform(tableTFparent,tableTFname,ros::Time::now(),ros::Duration(1.5))) { - std::cerr << "Table TF found\n"; + ROS_INFO("Table frame found"); listener->lookupTransform(tableTFparent,tableTFname,ros::Time(0),table_transform); tf::transformTFToEigen(table_transform, this->crop_box_pose_table_); Eigen::Quaterniond q(this->crop_box_pose_table_.rotation()); @@ -419,7 +419,7 @@ void RosSemanticSegmentation::updateCloudData (const sensor_msgs::PointCloud2 &p ROS_INFO("Crop Box activated"); } else - std::cerr << "Fail to find table TF.\n"; + ROS_INFO("Fail to find table frame."); } if (this->use_table_segmentation_) @@ -434,7 +434,7 @@ void RosSemanticSegmentation::updateCloudData (const sensor_msgs::PointCloud2 &p sensor_msgs::PointCloud2 output_msg; toROSMsg(*table_corner_points_,output_msg); output_msg.header.frame_id = inputCloud.header.frame_id; - // std::cerr << "Published table corner point cloud\n"; + // ROS_INFO("Published table corner point cloud"); table_corner_pub.publish(output_msg); } else @@ -555,8 +555,8 @@ pcl::PointCloud::Ptr MedianPointCloud(const std::vectorclass_ready_) { - ROS_ERROR("Class is not ready!"); - return false; + ROS_ERROR("Class is not ready!"); + return false; } else if (this->need_preferred_tf_) { @@ -567,12 +567,14 @@ bool RosSemanticSegmentation::serviceCallback (std_srvs::Empty::Request& request pcl::PointCloud::Ptr full_cloud(new pcl::PointCloud()); if (!use_median_filter) // not using median filter + { fromROSMsg(inputCloud,*full_cloud); + } else if(cloud_ready == true ) { - std::cerr << "Averaging point clouds" << std::endl; + ROS_INFO("Averaging point clouds"); full_cloud = MedianPointCloud(cloud_vec); - std::cerr << "Averaging point clouds Done" << std::endl; + ROS_INFO("Averaging point clouds Done"); } else { @@ -662,8 +664,8 @@ bool RosSemanticSegmentation::serviceCallback (std_srvs::Empty::Request& request bool RosSemanticSegmentation::serviceCallbackGripper (sp_segmenter::SegmentInGripper::Request & request, sp_segmenter::SegmentInGripper::Response& response) { if (!this->class_ready_) { - ROS_ERROR("Class is not ready!"); - return false; + ROS_ERROR("Class is not ready!"); + return false; } else if (this->need_preferred_tf_) { @@ -724,7 +726,7 @@ bool RosSemanticSegmentation::serviceCallbackGripper (sp_segmenter::SegmentInGri } else { - std::cerr << "Fail to get transform between: "<< gripperTF << " and "<< inputCloud.header.frame_id << std::endl; + ROS_INFO("Fail to get transform between [%s] and [%s]",(gripperTF.c_str(), inputCloud.header.frame_id.c_str())); response.result = segmentFail; } this->setModeObjRecRANSAC(objRecRANSAC_mode_original); From 9405dbc22824ce4f2978420a986562835a87d172 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Thu, 24 Aug 2017 23:26:16 -0400 Subject: [PATCH 089/105] Fixed invalid transform bug caused by pointer data overwrite by objrecransac --- .../include/sp_segmenter/greedyObjRansac.h | 15 +++++++- .../sp_segmenter/src/greedyObjRansac.cpp | 38 +++++++++++++++---- .../src/ros_semantic_segmentation.cpp | 33 +++++++--------- 3 files changed, 57 insertions(+), 29 deletions(-) diff --git a/costar_perception/sp_segmenter/include/sp_segmenter/greedyObjRansac.h b/costar_perception/sp_segmenter/include/sp_segmenter/greedyObjRansac.h index bd275146..f29d8280 100644 --- a/costar_perception/sp_segmenter/include/sp_segmenter/greedyObjRansac.h +++ b/costar_perception/sp_segmenter/include/sp_segmenter/greedyObjRansac.h @@ -16,9 +16,22 @@ #if SCENE_PARSING #include #include + +struct ObjRansacHypothesisEigen +{ + ObjRansacHypothesisEigen(){}; + ObjRansacHypothesisEigen(const AcceptedHypothesisWithConfidence &input); + + Eigen::Vector3f t_; + Eigen::Quaternionf q_; + int match_; + std::string model_type_; + double confidence_; +}; + struct GreedyHypothesis { - std::map< std::size_t, std::vector > by_object_hypothesis; + std::map< std::size_t, std::vector > by_object_hypothesis; std::string model_id; // std::vector > hypothesis; }; diff --git a/costar_perception/sp_segmenter/src/greedyObjRansac.cpp b/costar_perception/sp_segmenter/src/greedyObjRansac.cpp index 492bd299..02cc0481 100644 --- a/costar_perception/sp_segmenter/src/greedyObjRansac.cpp +++ b/costar_perception/sp_segmenter/src/greedyObjRansac.cpp @@ -76,7 +76,7 @@ poseT greedyObjRansac::recognizeOne(const pcl::PointCloud::Ptr scene poseT new_pose = getBestModel(detectedObjects); pcl::PointCloud::Ptr trans_model(new pcl::PointCloud()); - for( int i = 0 ; i < models.size() ; i++ ) + for( std::size_t i = 0 ; i < models.size() ; i++ ) { if(models[i].model_label == new_pose.model_name ) { @@ -252,7 +252,7 @@ void greedyObjRansac::visualize(pcl::visualization::PCLVisualizer::Ptr viewer, c int count = 0; for(std::vector::const_iterator it = poses.begin() ; it < poses.end() ; it++, count++ ) { - for( int i = 0 ; i < models.size() ; i++ ) + for( std::size_t i = 0 ; i < models.size() ; i++ ) { if(models[i].model_label == it->model_name ) { @@ -288,7 +288,7 @@ void greedyObjRansac::visualize_m(pcl::visualization::PCLVisualizer::Ptr viewer, int count = 0; for(std::vector::const_iterator it = poses.begin() ; it < poses.end() ; it++, count++ ) { - for( int i = 0 ; i < models.size() ; i++ ) + for( std::size_t i = 0 ; i < models.size() ; i++ ) { if(models[i].model_label == it->model_name ) { @@ -317,7 +317,7 @@ void greedyObjRansac::clearMesh(pcl::visualization::PCLVisualizer::Ptr viewer, c int count = 0; for(std::vector::const_iterator it = poses.begin() ; it < poses.end() ; it++, count++ ) { - for( int i = 0 ; i < models.size() ; i++ ) + for( std::size_t i = 0 ; i < models.size() ; i++ ) { if(models[i].model_label == it->model_name ) { @@ -348,7 +348,7 @@ void greedyObjRansac::ICP(std::vector &poses, const pcl::PointCloud::iterator it = poses.begin() ; it < poses.end() ; it++ ) { - for( int i = 0 ; i < models.size() ; i++ ) + for( std::size_t i = 0 ; i < models.size() ; i++ ) { if(models[i].model_label == it->model_name ) { @@ -455,7 +455,7 @@ pcl::PointCloud::Ptr greedyObjRansac::FillModelCloud(const std::vect pcl::PointCloud::Ptr model_cloud(new pcl::PointCloud()); for(std::vector::const_iterator it = poses.begin() ; it < poses.end() ; it++ ) { - for( int i = 0 ; i < models.size() ; i++ ) + for( std::size_t i = 0 ; i < models.size() ; i++ ) { if(models[i].model_label == it->model_name ) { @@ -519,6 +519,21 @@ void greedyObjRansac::getPairFeas(const pcl::PointCloud::Ptr cloud, } #if SCENE_PARSING +ObjRansacHypothesisEigen::ObjRansacHypothesisEigen(const AcceptedHypothesisWithConfidence &input) +{ + double* rigid_transform = input.rigid_transform; + Eigen::Matrix3f rotation; + rotation << + rigid_transform[0], rigid_transform[1], rigid_transform[2], + rigid_transform[3], rigid_transform[4], rigid_transform[5], + rigid_transform[6], rigid_transform[7], rigid_transform[8]; + t_ << rigid_transform[9], rigid_transform[10], rigid_transform[11]; + q_ = Eigen::Quaternionf(rotation); + match_ = input.match; + model_type_ = input.model_entry->getUserData()->getLabel(); + confidence_ = input.confidence; +} + GreedyHypothesis greedyObjRansac::getLatestAcceptedHypothesis(const bool &combined_ransac) { std::vector > acc_hypothesis = objrec.getShapeHypothesis(); @@ -530,7 +545,7 @@ GreedyHypothesis greedyObjRansac::getLatestAcceptedHypothesis(const bool &combin { if (acc_hypothesis[i].size() > 0) { - if (!combined_ransac) result.model_id = acc_hypothesis[0][0].model_entry->getUserData()->getLabel(); + if (!combined_ransac) result.model_id = acc_hypothesis[i][0].model_entry->getUserData()->getLabel(); if (combined_ransac) result.model_id = "combined_ransac(UNSUPPORTED)"; break; } @@ -546,7 +561,14 @@ GreedyHypothesis greedyObjRansac::getLatestAcceptedHypothesis(const bool &combin // object index starts from 1, not zero. std::size_t object_tf_index = i + 1; - result.by_object_hypothesis[object_tf_index] = acc_hypothesis[i]; + std::vector eigen_objransac_hypotheses; + + for (std::vector::iterator it = acc_hypothesis[i].begin(); + it != acc_hypothesis[i].end(); ++it) + { + eigen_objransac_hypotheses.push_back(ObjRansacHypothesisEigen(*it)); + } + result.by_object_hypothesis[object_tf_index] = eigen_objransac_hypotheses; } } diff --git a/costar_perception/sp_segmenter/src/ros_semantic_segmentation.cpp b/costar_perception/sp_segmenter/src/ros_semantic_segmentation.cpp index 68b14907..f57abcd3 100644 --- a/costar_perception/sp_segmenter/src/ros_semantic_segmentation.cpp +++ b/costar_perception/sp_segmenter/src/ros_semantic_segmentation.cpp @@ -769,44 +769,37 @@ objrec_hypothesis_msgs::AllModelHypothesis RosSemanticSegmentation::generateAllM Eigen::Quaternionf base_rotation = this->base_rotation_.template cast (); for (std::vector::iterator it = vec_greedy_hypo.begin(); it != vec_greedy_hypo.end(); ++it) { - std::map< std::size_t, std::vector > &object_hypotheses = it->by_object_hypothesis; - for (std::map< std::size_t, std::vector >::iterator it_2 = object_hypotheses.begin(); + std::map< std::size_t, std::vector > &object_hypotheses = it->by_object_hypothesis; + for (std::map< std::size_t, std::vector >::iterator it_2 = object_hypotheses.begin(); it_2 != object_hypotheses.end(); ++it_2) { objrec_hypothesis_msgs::ModelHypothesis object_i; object_i.model_hypothesis.reserve( it_2->second.size() ); object_i.model_name = it->model_id; const ObjectSymmetry obj_sym = object_dict_.find(it->model_id)->second; - for (std::vector::iterator it_3 = it_2->second.begin(); + for (std::vector::iterator it_3 = it_2->second.begin(); it_3 != it_2->second.end(); ++it_3) { objrec_hypothesis_msgs::Hypothesis tmp; - tmp.match = it_3->match; - tmp.model_name = it_3->model_entry->getUserData()->getLabel(); - // transform: 12 double - double *rigid_transform = it_3->rigid_transform; - Eigen::Matrix3f rotation; - rotation << - rigid_transform[0], rigid_transform[1], rigid_transform[2], - rigid_transform[3], rigid_transform[4], rigid_transform[5], - rigid_transform[6], rigid_transform[7], rigid_transform[8]; - Eigen::Quaternionf q(rotation); - tmp.transform.translation.x = rigid_transform[9]; - tmp.transform.translation.y = rigid_transform[10]; - tmp.transform.translation.z = rigid_transform[11]; - - q = normalizeModelOrientation(q,base_rotation, obj_sym); + tmp.match = it_3->match_; + tmp.model_name = it_3->model_type_; + + tmp.transform.translation.x = it_3->t_[0]; + tmp.transform.translation.y = it_3->t_[1]; + tmp.transform.translation.z = it_3->t_[2]; + + Eigen::Quaternionf q = normalizeModelOrientation(it_3->q_,base_rotation, obj_sym); tmp.transform.rotation.x = q.x(); tmp.transform.rotation.y = q.y(); tmp.transform.rotation.z = q.z(); tmp.transform.rotation.w = q.w(); - tmp.confidence = it_3->confidence; + tmp.confidence = it_3->confidence_; object_i.model_hypothesis.push_back(tmp); if (it_3 == it_2->second.begin()) { - pcl::PointXYZ p(rigid_transform[9], rigid_transform[10], rigid_transform[11]); + pcl::PointXYZ p(it_3->t_[0], it_3->t_[1], it_3->t_[2]); std::vector< int > k_indices(1); std::vector< float > distances(1); tf_coordinate_tree.nearestKSearch(p, 1, k_indices, distances); From 831060a6dab1c7a68378f35099d6e8a0ababec04 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 5 Sep 2017 20:07:12 -0400 Subject: [PATCH 090/105] Add costar structure msgs --- .../costar_structure_msgs/CMakeLists.txt | 47 +++++++++++++++++++ .../costar_structure_msgs/msg/SceneGraph.msg | 2 + .../costar_structure_msgs/msg/SceneNodes.msg | 1 + .../msg/StructureGraph.msg | 1 + .../costar_structure_msgs/package.xml | 25 ++++++++++ 5 files changed, 76 insertions(+) create mode 100644 costar_tools/costar_structure_msgs/CMakeLists.txt create mode 100644 costar_tools/costar_structure_msgs/msg/SceneGraph.msg create mode 100644 costar_tools/costar_structure_msgs/msg/SceneNodes.msg create mode 100644 costar_tools/costar_structure_msgs/msg/StructureGraph.msg create mode 100644 costar_tools/costar_structure_msgs/package.xml diff --git a/costar_tools/costar_structure_msgs/CMakeLists.txt b/costar_tools/costar_structure_msgs/CMakeLists.txt new file mode 100644 index 00000000..cd1a8d39 --- /dev/null +++ b/costar_tools/costar_structure_msgs/CMakeLists.txt @@ -0,0 +1,47 @@ +cmake_minimum_required(VERSION 2.8.3) +project(costar_structure_msgs) + +find_package(catkin REQUIRED COMPONENTS + roscpp + rospy + message_generation + std_msgs + geometry_msgs +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## Generate messages in the 'msg' folder +add_message_files( + FILES + SceneNodes.msg + StructureGraph.msg + SceneGraph.msg +) + +## Generate added messages and services with any dependencies listed here +generate_messages( + DEPENDENCIES + std_msgs +) + +################################### +## 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 you 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( +# INCLUDE_DIRS include +# LIBRARIES costar_objrec_msgs + CATKIN_DEPENDS message_runtime std_msgs +# DEPENDS system_lib +) diff --git a/costar_tools/costar_structure_msgs/msg/SceneGraph.msg b/costar_tools/costar_structure_msgs/msg/SceneGraph.msg new file mode 100644 index 00000000..14a81b80 --- /dev/null +++ b/costar_tools/costar_structure_msgs/msg/SceneGraph.msg @@ -0,0 +1,2 @@ +StructureGraph[] structure +string[] base_objects_id \ No newline at end of file diff --git a/costar_tools/costar_structure_msgs/msg/SceneNodes.msg b/costar_tools/costar_structure_msgs/msg/SceneNodes.msg new file mode 100644 index 00000000..7ab98f5e --- /dev/null +++ b/costar_tools/costar_structure_msgs/msg/SceneNodes.msg @@ -0,0 +1 @@ +string[] object_names \ No newline at end of file diff --git a/costar_tools/costar_structure_msgs/msg/StructureGraph.msg b/costar_tools/costar_structure_msgs/msg/StructureGraph.msg new file mode 100644 index 00000000..3c4a1e8c --- /dev/null +++ b/costar_tools/costar_structure_msgs/msg/StructureGraph.msg @@ -0,0 +1 @@ +SceneNodes[] nodes_level \ No newline at end of file diff --git a/costar_tools/costar_structure_msgs/package.xml b/costar_tools/costar_structure_msgs/package.xml new file mode 100644 index 00000000..edf58bbb --- /dev/null +++ b/costar_tools/costar_structure_msgs/package.xml @@ -0,0 +1,25 @@ + + + costar_structure_msgs + 0.0.0 + The costar_structure_msgs package + + fjonath1 + + TODO + + catkin + message_generation + std_msgs + geometry_msgs + message_runtime + std_msgs + geometry_msgs + + + + + + + + \ No newline at end of file From 30e1341620652b96a06592753a34d09bf791cec7 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 5 Sep 2017 20:07:44 -0400 Subject: [PATCH 091/105] Add costar scene predicator --- .../predicator_scene_structure/CMakeLists.txt | 25 ++++++ .../predicator_scene_structure/package.xml | 32 +++++++ .../scripts/scene_structure_node.py | 12 +++ .../scripts/test_scene_structure_node.py | 41 +++++++++ .../predicator_scene_structure/setup.py | 13 +++ .../predicator_scene_structure/__init__.py | 3 + .../scene_structures.py | 89 +++++++++++++++++++ 7 files changed, 215 insertions(+) create mode 100644 costar_predicator/predicator_scene_structure/CMakeLists.txt create mode 100644 costar_predicator/predicator_scene_structure/package.xml create mode 100755 costar_predicator/predicator_scene_structure/scripts/scene_structure_node.py create mode 100755 costar_predicator/predicator_scene_structure/scripts/test_scene_structure_node.py create mode 100644 costar_predicator/predicator_scene_structure/setup.py create mode 100644 costar_predicator/predicator_scene_structure/src/predicator_scene_structure/__init__.py create mode 100644 costar_predicator/predicator_scene_structure/src/predicator_scene_structure/scene_structures.py diff --git a/costar_predicator/predicator_scene_structure/CMakeLists.txt b/costar_predicator/predicator_scene_structure/CMakeLists.txt new file mode 100644 index 00000000..684c2936 --- /dev/null +++ b/costar_predicator/predicator_scene_structure/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 2.8.3) +project(predicator_scene_structure) + +## 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 + costar_objrec_msgs + predicator_core + predicator_msgs + sequential_scene_parsing +) + +catkin_python_setup() + +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES predicator_detected_objects +# CATKIN_DEPENDS costar_objrec_msgs predicator_core predicator_msgs +# DEPENDS system_lib +) + +include_directories( + ${catkin_INCLUDE_DIRS} +) diff --git a/costar_predicator/predicator_scene_structure/package.xml b/costar_predicator/predicator_scene_structure/package.xml new file mode 100644 index 00000000..8ecf0f8d --- /dev/null +++ b/costar_predicator/predicator_scene_structure/package.xml @@ -0,0 +1,32 @@ + + + predicator_scene_structure + 0.0.0 + The predicator_scene_structure package + + + + + fjonath1 + + + + + + TODO + + catkin + costar_structure_msgs + predicator_core + predicator_msgs + costar_structure_msgs + predicator_core + predicator_msgs + + + + + + + + \ No newline at end of file diff --git a/costar_predicator/predicator_scene_structure/scripts/scene_structure_node.py b/costar_predicator/predicator_scene_structure/scripts/scene_structure_node.py new file mode 100755 index 00000000..0e38086b --- /dev/null +++ b/costar_predicator/predicator_scene_structure/scripts/scene_structure_node.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python + +import rospy +from predicator_scene_structure import SceneStructurePublisher + +print "Starting node..." +rospy.init_node('predicator_scene_structure') + +print "Creating publisher..." +dop = SceneStructurePublisher() + +rospy.spin() diff --git a/costar_predicator/predicator_scene_structure/scripts/test_scene_structure_node.py b/costar_predicator/predicator_scene_structure/scripts/test_scene_structure_node.py new file mode 100755 index 00000000..556be60e --- /dev/null +++ b/costar_predicator/predicator_scene_structure/scripts/test_scene_structure_node.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +import rospy +from costar_structure_msgs.msg import * + +rospy.init_node('publish_fake_scene_structures') + +ls = SceneGraph() +ls.structure = [] +ls.base_objects_id = ['fake_object_1','fake_object_2','fake_object_3'] + +ls.structure.append(StructureGraph()) + +ls.structure.append( + StructureGraph(nodes_level=[ + SceneNodes(object_names=["fake_s_object_1"]), + SceneNodes(object_names=["fake_s_object_2"]) + ]) + ) + +ls.structure.append( + StructureGraph(nodes_level=[ + SceneNodes(object_names=["fake_s_object_3","fake_s_object_4"]), + SceneNodes(object_names=["fake_s_object_5"]), + SceneNodes(object_names=["fake_s_object_6"]) + ]) + ) + +rate = rospy.Rate(10) +pub = rospy.Publisher("scene_structure_list",SceneGraph,queue_size=1000) + +rospy.loginfo("Sending fake scene structures...") + +try: + while not rospy.is_shutdown(): + pub.publish(ls) + + rate.sleep() +except rospy.ROSInterruptException, e: + pass + diff --git a/costar_predicator/predicator_scene_structure/setup.py b/costar_predicator/predicator_scene_structure/setup.py new file mode 100644 index 00000000..6e7dea70 --- /dev/null +++ b/costar_predicator/predicator_scene_structure/setup.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python + +from distutils.core import setup +from catkin_pkg.python_setup import generate_distutils_setup + +d = generate_distutils_setup( + ## don't do this unless you want a globally visible script + packages=['predicator_scene_structure'], + package_dir={'': 'src'}, +) + +setup(**d) + diff --git a/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/__init__.py b/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/__init__.py new file mode 100644 index 00000000..ded52b88 --- /dev/null +++ b/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/__init__.py @@ -0,0 +1,3 @@ +__all__ = ['SceneStructurePublisher'] + +from scene_structures import * diff --git a/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/scene_structures.py b/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/scene_structures.py new file mode 100644 index 00000000..7a51362b --- /dev/null +++ b/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/scene_structures.py @@ -0,0 +1,89 @@ +import rospy +from costar_structure_msgs.msg import * +from predicator_msgs.msg import * + +''' +convert scene structure msg into predicate messages we can query later on +''' +class SceneStructurePublisher: + + valid_msg = None + + def __init__(self): + self.pub = rospy.Publisher('/predicator/input', PredicateList, queue_size=1000) + self.vpub = rospy.Publisher('/predicator/valid_input', ValidPredicates, queue_size=1000) + self.valid_msg = ValidPredicates() + self.valid_msg.pheader.source = rospy.get_name() + self.valid_msg.predicates = ['is_base', 'is_part_of_structure', 'is_top_structure'] + self.valid_msg.predicate_length = [1, 1, 1] + + self.sub = rospy.Subscriber('/scene_structure_list', SceneGraph, self.callback) + + + def callback(self,msg): + # rospy.loginfo("Received input msg") + true_msg = PredicateList() + true_msg.pheader.source = rospy.get_name() + + for idx, object_id in enumerate(msg.base_objects_id): + self.valid_msg.assignments.append(object_id) + structure = msg.structure[idx] + + ps = PredicateStatement() + ps.predicate = "is_base" + ps.num_params = 1 + ps.confidence = 1.0 + ps.param_classes.append(object_id) + ps.params[0] = object_id + ps.value = True + true_msg.statements.append(ps) + + ps = PredicateStatement() + ps.predicate = "is_top_structure" + ps.num_params = 1 + ps.confidence = 1.0 + ps.param_classes.append(object_id) + ps.params[0] = object_id + ps.value = True + true_msg.statements.append(ps) + + if len(structure.nodes_level) > 0: + ps = PredicateStatement() + ps.predicate = "is_part_of_structure" + ps.num_params = 1 + ps.confidence = 1.0 + ps.param_classes.append(object_id) + ps.params[0] = object_id + ps.value = len(structure.nodes_level) > 0 + true_msg.statements.append(ps) + + + for structure in msg.structure: + top_of_structure_idx = len(structure.nodes_level) - 1 + if top_of_structure_idx == 0: + continue + self.valid_msg.assignments.append(object_id) + + for idx, nodes in enumerate(structure.nodes_level): + is_top_structure = idx == top_of_structure_idx + for object_id in nodes.object_names: + ps = PredicateStatement() + ps.predicate = "is_part_of_structure" + ps.num_params = 1 + ps.confidence = 1.0 + ps.param_classes.append(object_id) + ps.params[0] = object_id + ps.value = True + true_msg.statements.append(ps) + + if is_top_structure: + ps = PredicateStatement() + ps.predicate = "is_top_structure" + ps.num_params = 1 + ps.confidence = 1.0 + ps.param_classes.append(object_id) + ps.params[0] = object_id + ps.value = True + true_msg.statements.append(ps) + self.pub.publish(true_msg) + self.vpub.publish(self.valid_msg) From edb4ea6d3b569acc5ccae93153a4826e813ab975 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 5 Sep 2017 20:29:24 -0400 Subject: [PATCH 092/105] Change scene structure predicates name and is top logic --- costar_bringup/launch/predicator_nodes.launch | 5 +++++ .../src/predicator_scene_structure/scene_structures.py | 9 --------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/costar_bringup/launch/predicator_nodes.launch b/costar_bringup/launch/predicator_nodes.launch index 8a662be1..3515f9fd 100644 --- a/costar_bringup/launch/predicator_nodes.launch +++ b/costar_bringup/launch/predicator_nodes.launch @@ -8,6 +8,11 @@ + + + + + 0: ps = PredicateStatement() ps.predicate = "is_part_of_structure" From d24da276fb4a365286f49033e281f96fe623048c Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Tue, 5 Sep 2017 20:34:53 -0400 Subject: [PATCH 093/105] Renamed is_base predicate to is_base_structure predicate --- .../src/predicator_scene_structure/scene_structures.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/scene_structures.py b/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/scene_structures.py index 2693c0f7..04214da7 100644 --- a/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/scene_structures.py +++ b/costar_predicator/predicator_scene_structure/src/predicator_scene_structure/scene_structures.py @@ -14,7 +14,7 @@ def __init__(self): self.vpub = rospy.Publisher('/predicator/valid_input', ValidPredicates, queue_size=1000) self.valid_msg = ValidPredicates() self.valid_msg.pheader.source = rospy.get_name() - self.valid_msg.predicates = ['is_base', 'is_part_of_structure', 'is_top_structure'] + self.valid_msg.predicates = ['is_base_structure', 'is_part_of_structure', 'is_top_structure'] self.valid_msg.predicate_length = [1, 1, 1] self.sub = rospy.Subscriber('/scene_structure_list', SceneGraph, self.callback) @@ -30,7 +30,7 @@ def callback(self,msg): structure = msg.structure[idx] ps = PredicateStatement() - ps.predicate = "is_base" + ps.predicate = "is_base_structure" ps.num_params = 1 ps.confidence = 1.0 ps.param_classes.append(object_id) From 5fc5d87aa7c007b987fcf55d309f475f406cce27 Mon Sep 17 00:00:00 2001 From: Felix Jonathan Date: Wed, 6 Sep 2017 23:50:21 -0400 Subject: [PATCH 094/105] Add ability to put additional predicates on smartmove --- .../instructor_action_smartmove.py | 74 ++++++++++++++--- .../instructor_knowledge_test.py | 47 +++++++---- .../smartmove_multipurpose.py | 74 ++++++++++++++--- .../ui/action_smart_grasp.ui | 80 ++++++++++++++++++- .../instructor_plugins/ui/action_smartmove.ui | 80 ++++++++++++++++++- 5 files changed, 316 insertions(+), 39 deletions(-) diff --git a/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_action_smartmove.py b/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_action_smartmove.py index 46cdcc42..84106ed3 100644 --- a/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_action_smartmove.py +++ b/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_action_smartmove.py @@ -20,6 +20,7 @@ from costar_robot_msgs.srv import * from smart_waypoint_manager import SmartWaypointManager from predicator_msgs.msg import * +from predicator_msgs import srv colors = ColorOptions().colors @@ -45,6 +46,7 @@ def __init__(self): self.selected_reference = 'none' self.selected_object = None self.selected_smartmove = None + self.selected_predicates = set() self.command_waypoint_name = None self.command_vel = .75 @@ -62,14 +64,26 @@ def __init__(self): self.waypoint_ui.object_list.itemClicked.connect(self.object_selected_cb) self.waypoint_ui.smartmove_list.itemClicked.connect(self.smartmove_selected_cb) + self.waypoint_ui.available_pred_list.itemClicked.connect(self.add_predicates_cb) + self.waypoint_ui.selected_pred_list.itemClicked.connect(self.remove_predicates_cb) + self.waypoint_ui.acc_slider.valueChanged.connect(self.acc_changed) self.waypoint_ui.vel_slider.valueChanged.connect(self.vel_changed) #self.waypoint_ui.refresh_btn.clicked.connect(self.update_relative_waypoints) - self.manager.load_all() - self.update_regions() - self.update_references() - self.update_objects() + try: + rospy.wait_for_service('/predicator/get_predicate_names_by_source',2) + rospy.loginfo('FOUND predicator service') + except: + rospy.logerr('Could not find service') + + try: + self.get_predicate_names_by_source = rospy.ServiceProxy('/predicator/get_predicate_names_by_source', srv.GetTypedList) + except rospy.ServiceException, e: + print e + + self.refresh_data() + def vel_changed(self,t): self.waypoint_ui.vel_field.setText(str(float(t))) @@ -88,7 +102,34 @@ def region_selected_cb(self,item): def object_selected_cb(self,item): self.selected_object = str(item.text()) self.update_smartmoves() - + + def update_predicates(self): + self.waypoint_ui.available_pred_list.clear() + self.waypoint_ui.selected_pred_list.clear() + + try: + predicate_list = self.get_predicate_names_by_source('/predicator_scene_structure_node').data + rospy.loginfo('Found list of predicates: %s',(" ".join(predicate_list))) + for predicate in predicate_list: + self.waypoint_ui.available_pred_list.addItem(QListWidgetItem(predicate)) + except rospy.ServiceException, e: + print e + + def add_predicates_cb(self,item): + items = self.waypoint_ui.selected_pred_list.findItems(item.text(),Qt.MatchContains) + if len(items) == 0: + self.waypoint_ui.selected_pred_list.addItem(item.text()) + self.selected_predicates.add(str(item.text())) + rospy.loginfo("Added %s to the selected predicate",item.text()) + else: + rospy.loginfo("%s already exists in the selected predicate",item.text()) + + def remove_predicates_cb(self,item): + item_idx = self.waypoint_ui.selected_pred_list.row(item) + self.waypoint_ui.selected_pred_list.takeItem(item_idx) + self.selected_predicates.discard(str(item.text())) + rospy.loginfo("Removed %s from the selected predicate",item.text() ) + def smartmove_selected_cb(self,item): self.selected_smartmove = str(item.text()) @@ -195,7 +236,8 @@ def generate(self): self.selected_reference, self.command_vel, self.command_acc, - self.manager) + self.manager, + self.selected_predicates) #"%s %s %s %s"%(self.selected_smartmove,self.selected_objet,self.selected_region,self.selected_reference), else: @@ -207,11 +249,15 @@ def refresh_data(self): self.update_regions() self.update_references() self.update_objects() + self.update_predicates() # Nodes ------------------------------------------------------------------- class NodeActionSmartmove(ServiceNode): - def __init__(self,name,label,selected_region,selected_object,selected_smartmove,selected_reference,vel,acc,smartmove_manager): + def __init__(self,name,label,selected_region,selected_object,selected_smartmove,selected_reference,vel,acc,smartmove_manager,selected_predicates): L = 'SMART MOVE to \\n ['+selected_smartmove+'] \\n [' + selected_region + ' ' + selected_reference + ']' + if len(selected_predicates) > 0: + L +='\nwith predicates [%s]'%', '.join(selected_predicates) + super(NodeActionSmartmove,self).__init__(name,L,'#26A65B',"SmartMove Service",display_name=selected_smartmove) self.selected_region = selected_region self.selected_reference = selected_reference @@ -221,6 +267,7 @@ def __init__(self,name,label,selected_region,selected_object,selected_smartmove, self.command_vel = vel self.manager = smartmove_manager self.listener_ = smartmove_manager.listener + self.selected_predicates = list(selected_predicates) def make_service_call(self,request,*args): self.manager.load_all() @@ -238,15 +285,18 @@ def make_service_call(self,request,*args): msg = SmartMoveRequest() msg.pose = self.manager.lookup_waypoint(self.selected_object,self.selected_smartmove) if msg.pose is None: - rospy.logerr('Invalid Smarresulttmove Waypoint') + rospy.logerr('Invalid Smartmove Waypoint') self.finished_with_success = False return msg.obj_class = self.selected_object msg.name = self.selected_smartmove - predicate = PredicateStatement() - predicate.predicate = self.selected_region - predicate.params = ['*',self.selected_reference,'world'] - msg.predicates = [predicate] + + position_predicate = PredicateStatement(predicate=self.selected_region, params=['*',self.selected_reference,'world']) + msg.predicates = [position_predicate] + for predicate_name in self.selected_predicates: + new_predicate = PredicateStatement(predicate=predicate_name, params=['*','','']) + msg.predicates.append(new_predicate) + msg.vel = self.command_vel msg.accel = self.command_acc # Send SmartMove Command diff --git a/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_knowledge_test.py b/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_knowledge_test.py index 2bc901a1..ff081023 100644 --- a/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_knowledge_test.py +++ b/costar_instructor/instructor_plugins/src/instructor_plugins/instructor_knowledge_test.py @@ -48,21 +48,7 @@ def __init__(self): ### Git initial list of targets ### rospy.loginfo('Waiting for service...') - try: - rospy.wait_for_service('/predicator/get_possible_assignment',2) - rospy.loginfo('FOUND') - except: - rospy.logerr('Could not find service') - try: - proxy = rospy.ServiceProxy('predicator/get_possible_assignment', srv.GetTypedList) - - rospy.loginfo('Found TARGETS:') - self.found_assignments = proxy().data - rospy.loginfo(self.found_assignments) - for a in self.found_assignments: - self.ui.target_box.addItem(str(a).upper()) - except rospy.ServiceException, e: - print e + self.refresh_data() # Finish self.reset() @@ -76,8 +62,35 @@ def reset(self): self.ui.statement_label.hide() self.ui.value_box.setCurrentIndex(0) self.ui.knowledge_box.setCurrentIndex(0) + self.refresh_data() self.ui.target_box.setCurrentIndex(0) + def refresh_data(self): + try: + rospy.wait_for_service('/predicator/get_possible_assignment',2) + rospy.loginfo('FOUND') + except: + rospy.logerr('Could not find service') + try: + proxy = rospy.ServiceProxy('predicator/get_possible_assignment', srv.GetTypedList) + + rospy.loginfo('Found TARGETS:') + self.found_assignments = proxy().data + rospy.loginfo(self.found_assignments) + + self.ui.target_box.clear(); + list_of_items = [] + for a in self.found_assignments: + # self.ui.target_box.addItem(str(a).upper()) + list_of_items.append(str(a).upper()) + + list_of_items.sort() + for item in list_of_items: + self.ui.target_box.addItem(item) + + except rospy.ServiceException, e: + print e + def reset_knowledge(self): self.ui.knowledge_box.clear() self.ui.knowledge_box.addItem('