plan路径优化,路径平滑
//欧氏距离
double global_planner::euclidean_distance(const geometry_msgs::Point& p1, const geometry_msgs::Point& p2) {
double dx = p1.x - p2.x;
double dy = p1.y - p2.y;
return std::sqrt(dx * dx + dy * dy);
}
//插入中间点
void global_planner::insert_intermediate_points(std::vector<geometry_msgs::PoseStamped>& path, double max_distance) {
std::vector<geometry_msgs::PoseStamped> new_path;
new_path.reserve(path.size() * 2);
for (size_t i = 0; i < path.size() - 1; ++i) {
new_path.push_back(path[i]);
double dist = euclidean_distance(path[i].pose.position, path[i + 1].p