提交 b8c4562b 编写于 作者: Z Zhang Liangliang 提交者: Calvin Miao

added speed_optimizer

上级 9ffb4086
......@@ -42,3 +42,23 @@ cc_library(
"//modules/planning/optimizer:path_optimizer",
],
)
cc_library(
name = "speed_optimizer",
srcs = [
"speed_optimizer.cc",
],
hdrs = [
"speed_optimizer.h",
"optimizer.h",
],
deps = [
"@eigen//:eigen",
"//modules/common/proto:error_code_proto",
"//modules/planning/common:data_center",
"//modules/planning/common:decision_data",
"//modules/planning/common:planning_data",
"//modules/planning/common/path:path_data",
"//modules/planning/common/speed:speed_data",
],
)
......@@ -18,16 +18,18 @@
* @file path_optimizer.h
**/
#ifndef MODULES_PLANNING_OPTIMIZER_PATH_OPTIMIZER_H
#define MODULES_PLANNING_OPTIMIZER_PATH_OPTIMIZER_H
#ifndef MODULES_PLANNING_OPTIMIZER_PATH_OPTIMIZER_H_
#define MODULES_PLANNING_OPTIMIZER_PATH_OPTIMIZER_H_
#include "modules/planning/optimizer/optimizer.h"
#include "modules/common/proto/error_code.pb.h"
#include "modules/planning/common/data_center.h"
#include "modules/planning/common/decision_data.h"
#include "modules/planning/common/path/path_data.h"
#include "modules/planning/common/speed/speed_data.h"
#include "modules/planning/common/decision_data.h"
#include "modules/planning/reference_line/reference_line.h"
#include "modules/planning/common/data_center.h"
namespace apollo {
namespace planning {
......@@ -36,7 +38,7 @@ class PathOptimizer : public Optimizer {
public:
explicit PathOptimizer(const std::string &name);
virtual ~PathOptimizer() = default;
virtual ::apollo::common::ErrorCode optimize(
virtual apollo::common::ErrorCode optimize(
const DataCenter &data_center, const SpeedData &speed_data,
const ReferenceLine &reference_line,
const ::apollo::planning::TrajectoryPoint &init_point,
......@@ -44,6 +46,6 @@ class PathOptimizer : public Optimizer {
};
} // namespace planning
} // namespace adu
} // namespace apollo
#endif // BAIDU_IDG_HOUSTON_OPTIMIZER_PATH_OPTIMIZER_H
#endif // MODULES_PLANNING_OPTIMIZER_PATH_OPTIMIZER_H_
/******************************************************************************
* 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 speed_optimizer.cc
**/
#include "modules/planning/optimizer/speed_optimizer.h"
#include <string>
namespace apollo {
namespace planning {
SpeedOptimizer::SpeedOptimizer(const std::string& name) : Optimizer(name) {}
} // 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 speed_optimizer.h
**/
#ifndef MODULES_PLANNING_OPTIMIZER_SPEED_OPTIMIZER_H_
#define MODULES_PLANNING_OPTIMIZER_SPEED_OPTIMIZER_H_
#include "modules/planning/optimizer/optimizer.h"
#include "modules/common/proto/error_code.pb.h"
#include "modules/planning/common/data_center.h"
#include "modules/planning/common/decision_data.h"
#include "modules/planning/common/path/path_data.h"
#include "modules/planning/common/planning_data.h"
#include "modules/planning/common/speed/speed_data.h"
namespace apollo {
namespace planning {
class SpeedOptimizer : public Optimizer {
public:
explicit SpeedOptimizer(const std::string& name);
virtual ~SpeedOptimizer() = default;
virtual common::ErrorCode optimize(const DataCenter& data_center,
const PathData& path_data,
const TrajectoryPoint& init_point,
DecisionData* const decision_data,
SpeedData* const speed_data) const = 0;
};
} // namespace planning
} // namespace apollo
#endif // MODULES_PLANNING_OPTIMIZER_SPEED_OPTIMIZER_H_
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册