133 for (
long unsigned int it = 0; it <= 7; it++) {
134 std::stringstream ss;
135 ss << inputFilesPaths <<
"PointCloud" << it <<
".pcd";
136 std::string file_name = ss.str();
141 pcl::io::loadPCDFile<pcl::PointXYZI>(file_name, *pcl_cloud);
142 sensor_msgs::msg::PointCloud2 msg;
143 pcl::toROSMsg(*pcl_cloud, msg);
144 pcl_cloud.reset(
new pcl::PointCloud<pcl::PointXYZI>);
146 auto start_time = std::chrono::high_resolution_clock::now();
148 pcl::fromROSMsg(msg, *pcl_cloud);
150 auto conversion_time = std::chrono::high_resolution_clock::now();
153 std::chrono::duration_cast<std::chrono::milliseconds>(start_time - conversion_time).count();
155 const pcl::PointCloud<pcl::PointXYZI>::Ptr ground_removed_cloud(
156 new pcl::PointCloud<pcl::PointXYZI>);
159 const SplitParameters split_params;
161 ground_removal->ground_removal(pcl_cloud, ground_removed_cloud, plane, split_params);
163 auto ransac_time = std::chrono::high_resolution_clock::now();
165 std::chrono::duration_cast<std::chrono::milliseconds>(ransac_time - conversion_time)
168 std::vector<Cluster> clusters;
169 clustering->clustering(ground_removed_cloud, &clusters);
171 auto dbscan_time = std::chrono::high_resolution_clock::now();
173 std::chrono::duration_cast<std::chrono::milliseconds>(dbscan_time - ransac_time).count();
175 executionTime.
blues = 0;
178 for (
auto cluster : clusters) {
179 cone_differentiator->coneDifferentiation(&cluster);
180 std::string color = cluster.get_color();
182 executionTime.
blues++;
183 else if (color ==
"yellow")
189 auto end_time = std::chrono::high_resolution_clock::now();
191 std::chrono::duration_cast<std::chrono::milliseconds>(end_time - dbscan_time).count();
194 std::chrono::duration_cast<std::chrono::duration<double, std::milli>>(end_time - start_time)
200 writeToFile(executionTime);