CCPP、ECPP全覆盖路径规划-牛耕法弓字路径(tsp和整数规划)及改进、回字路径规划实现

覆盖路径规划,牛耕法弓字路径(tsp和整数规划)及改进;光滑回字路径实现;

 

 

全覆盖路径规划相关

使用区域分解的方法,实现,和cleanPack一样的效果

 

 

 

技术要点

轮廓相关,计算多边形相交,可见性图计算最短路径;

这个使用了cgal库,这个库需要依赖boost;

RicheyHuang/CoveragePlanner: Complete Coverage Path Planning Using BCD Algorithm (github.com)

E:\[openFromGit]\CoveragePlanner-master

 

 

从代码里面看到的论文链接

 

// Choset, Howie. "Coverage of known spaces: The boustrophedon cellular

// decomposition." Autonomous Robots 9.3 (2000): 247-253.

// https://www.cs.cmu.edu/~motionplanning/lecture/Chap6-CellDecomp_howie.pdf

 

E:\[openFromGit]\Chap6-CellDecomp_howie(牛耕法原理).pdf

full_coverage_path_planner-master,效果一般

common.h

实现了:到一个区域的astar路径规划算法;

bool a_star_to_open_space(std::vector<std::vector<bool> > const &grid, gridNode_t init, int cost,

std::vector<std::vector<bool> > &visited, std::list<Point_t> const &open_space,

std::list<gridNode_t> &pathNodes);

 

全覆盖规划开源项目中的技术要点总结

  • todo全覆盖路径规划开源项目里面还有很多可以参考的代码和实现思路,例如tsp问题的求解,地图旋转,raytrace,距离变换,astar搜索,wavefront,tsp求解是使用的图的数据结构,使用的是线程的操作;
  • 地图降采样,路径降采样,腐蚀;返回链码路径;
  • void AStarPlanner::downsampleMap(const cv::Mat& map, cv::Mat& downsampled_map, const double downsampling_factor, const double robot_radius, const double map_resolution)
    {
    	//erode the map so the planner doesn't go near the walls
    	//	--> calculate the number of times for eroding from Robot Radius [m]
    	cv::Mat eroded_map;
    	int number_of_erosions = (robot_radius / map_resolution);
    	cv::erode(map, eroded_map, cv::Mat(), cv::Point(-1, -1), number_of_erosions);
    	//downsampling of the map to reduce calculation time
    	if (downsampling_factor != 1.)
    		cv::resize(eroded_map, downsampled_map, cv::Size(0, 0), downsampling_factor, downsampling_factor, cv::INTER_NEAREST);//_LINEAR);
    	else
    		downsampled_map = eroded_map;
    }
    

      

    极大团,图论算法
    /home/tang/Desktop/123MyProj/test_room_segmentation/lib_navigation/common/src/maximal_clique_finder.cpp
    concorde TSP 求解器,开源求解器
    /home/tang/Desktop/123MyProj/test_room_segmentation/lib_navigation/common/include/ipa_building_navigation/concorde_TSP. 
    路径降采样
     
     

 

 

 

posted @ 2023-02-08 18:27  tmjDD  阅读(2659)  评论(0编辑  收藏  举报