提交 299cc8ff 编写于 作者: Z Zhang Liangliang 提交者: Dong Li

removed unused sampler class.

上级 9e7a3553
......@@ -8,13 +8,11 @@ cc_library(
"qp_frenet_frame.cc",
"qp_spline_path_generator.cc",
"qp_spline_path_optimizer.cc",
"qp_spline_path_sampler.cc",
],
hdrs = [
"qp_frenet_frame.h",
"qp_spline_path_generator.h",
"qp_spline_path_optimizer.h",
"qp_spline_path_sampler.h",
],
deps = [
"//modules/common/configs:vehicle_config_helper",
......@@ -26,7 +24,7 @@ cc_library(
"//modules/planning/common:decision_data",
"//modules/planning/common:obstacle",
"//modules/planning/common:planning_data",
"//modules/planning/common:planning_gflags",
"//modules/planning/common:planning_gflags",
"//modules/planning/common/path:discretized_path",
"//modules/planning/common/path:frenet_frame_path",
"//modules/planning/common/path:path_data",
......
......@@ -32,7 +32,6 @@
#include "modules/planning/common/planning_gflags.h"
#include "modules/planning/math/double.h"
#include "modules/planning/math/sl_analytic_transformation.h"
#include "modules/planning/optimizer/qp_spline_path/qp_spline_path_sampler.h"
namespace apollo {
namespace planning {
......
/******************************************************************************
* Copyright 2017 The Apollo Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*****************************************************************************/
/**
* @file qp_spline_path_simple_sampler.cc
**/
#include "modules/planning/optimizer/qp_spline_path/qp_spline_path_sampler.h"
#include <algorithm>
#include "modules/planning/common/planning_gflags.h"
#include "modules/planning/math/double.h"
namespace apollo {
namespace planning {
QpSplinePathSampler::QpSplinePathSampler(const QpSplinePathConfig& config)
: config_(config) {}
bool QpSplinePathSampler::Sample(const common::FrenetFramePoint& init_point,
const ReferenceLine& reference_line,
const double s_lower_bound,
const double s_upper_bound,
std::vector<double>* const sampling_point) {
double sampling_distance =
std::min(reference_line.map_path().length(), s_upper_bound) -
init_point.s();
sampling_distance = std::min(sampling_distance, FLAGS_planning_distance);
if (Double::compare(sampling_distance, 0.0) <= 0) {
AERROR << "Failed to allocate init trajectory point SL("
<< init_point.ShortDebugString() << ") on target lane with length "
<< reference_line.map_path().length();
return false;
}
if (s_lower_bound > init_point.s()) {
AERROR << "The coordinate system s lower bound " << s_lower_bound
<< " is greater than projected car position " << init_point.s();
return false;
}
double start_s = init_point.s();
sampling_point->emplace_back(start_s);
// map sampling point
if (config_.number_of_knots() == 0) {
AERROR << "sampling point shall greater than 0";
return false;
}
const double delta_s = sampling_distance / config_.number_of_knots();
double s = start_s + delta_s;
for (uint32_t i = 1; i <= config_.number_of_knots(); ++i) {
sampling_point->emplace_back(s);
s += delta_s;
}
return true;
}
} // namespace planning
} // namespace apollo
/******************************************************************************
* Copyright 2017 The Apollo Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*****************************************************************************/
/**
* @file qp_spline_path_sampler.h
**/
#ifndef MODULES_PLANNING_OPTIMIZER_QP_SPLINE_PATH_QP_SPLINE_PATH_SAMPLER_H_
#define MODULES_PLANNING_OPTIMIZER_QP_SPLINE_PATH_QP_SPLINE_PATH_SAMPLER_H_
#include "modules/common/proto/pnc_point.pb.h"
#include "modules/planning/proto/qp_spline_path_config.pb.h"
#include "modules/planning/reference_line/reference_line.h"
namespace apollo {
namespace planning {
class QpSplinePathSampler {
public:
explicit QpSplinePathSampler(const QpSplinePathConfig& config);
bool Sample(const common::FrenetFramePoint& init_point,
const ReferenceLine& reference_line, const double s_lower_bound,
const double s_upper_bound,
std::vector<double>* const sampling_point);
private:
const QpSplinePathConfig config_;
};
} // namespace planning
} // namespace apollo
#endif // MODULES_PLANNING_OPTIMIZER_QP_SPLINE_PATH_QP_SPLINE_PATH_SAMPLER_H_
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册