基于RRT的路径规划算法,通过对状态空间中的采样点进行碰撞检测,避免了对空间的建模,能够有效地解决高维空间和复杂约束的路径规划问题。该方法的特点是能够快速有效地搜索高维空间,通过状态空间的随机采样点,把搜索导向空白区域,从而寻找到一条从起始点到目标点的规划路径。适合解决多自由度机器人在复杂环境下和动态环境中的路径规划。
对图片进行灰度图处理,并对像素点进行修改为0和255两个值,来代替二维栅格地图,来实现rrt路径搜索算法,c++主要类实现如下图:
class RRT_Eigen
{
public:
RRT_Eigen(MatrixXd startpoint, MatrixXd endpoint);
~RRT_Eigen();
void rrt(Mat map);
MatrixXd find_qNew(MatrixXd a, MatrixXd b);
bool equal_vers(MatrixXd a, MatrixXd b);
bool goalonedges(MatrixXd a, MatrixXd b,int c);
bool Edge_freespace(Mat map, MatrixXd a, MatrixXd b);
MatrixXd matrix_together(MatrixXd a, MatrixXd b)