Apollo  6.0
Open source self driving car software
autotuning_base_model.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2018 The Apollo Authors. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *****************************************************************************/
16 
17 #pragma once
18 
19 #include <memory>
20 
22 #include "modules/planning/proto/auto_tuning_model_input.pb.h"
25 
26 namespace apollo {
27 namespace planning {
28 
30  public:
31  AutotuningBaseModel() = default;
32  virtual ~AutotuningBaseModel() = default;
33 
37  virtual common::Status SetParams() = 0;
38 
44  virtual double Evaluate(
45  const autotuning::TrajectoryFeature& trajectory_feature) const = 0;
46 
52  virtual double Evaluate(
53  const autotuning::TrajectoryPointwiseFeature& point_feature) const = 0;
54 
55  protected:
59  std::unique_ptr<AutotuningMLPModel> mlp_model_ = nullptr;
60  std::unique_ptr<AutotuningFeatureBuilder> feature_builder_ = nullptr;
61 };
62 
63 } // namespace planning
64 } // namespace apollo
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
std::unique_ptr< AutotuningMLPModel > mlp_model_
: stored autotuning mlp model
Definition: autotuning_base_model.h:59
std::unique_ptr< AutotuningFeatureBuilder > feature_builder_
Definition: autotuning_base_model.h:60
Planning module main class. It processes GPS and IMU as input, to generate planning info...
Definition: autotuning_base_model.h:29
virtual common::Status SetParams()=0
set mlp model as well as feature builder
A general class to denote the return status of an API call. It can either be an OK status for success...
Definition: status.h:43
virtual double Evaluate(const autotuning::TrajectoryFeature &trajectory_feature) const =0
: evaluate by trajectory