case1:
riskrrt学术理解
一、节点初始化rrt->init()
Node* node //定义(指向结构体的)结构体类型的指针
node = new Node //为根节点node分配一个新的内存空间
根节点里面记录的信息:pose、vel、parent、sons、possible_controls、节点状态(open||close)、depth、risk、isFree?
discretizeVelocities(node) //vector<Control> controls定义用于装载Control类型的controls结构体组的容器。
将速度、角速度离散化,打开节点,controls.push_back(control),将得到的所有的组合放入node的信息中。
best_node //离random goal或者final goal最理想的node
candidate_nodes //具有以上所有类型的信息的node,先将根节点(指针)放入其中。
二、生成扩展点grow()(相当于nearest)
chooseRandomGoal() //根据best node产生,window_size_grid将random goal随机选取的世界长度范围转变为栅格坐标系下的单元格个数。抛出一个问题:栅格坐标系的原点(0,0)。注:random goal不带信息,只有位置信息
best_node_to_grow:由best_node至random goal之间的最佳点
chooseBestNode(random_goal) //根据距离尺度从candidate_nodes中