Apollo 11.0
自动驾驶开放平台
rss_decider.h
浏览该文件的文档.
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
21#pragma once
22
23#include <algorithm>
24#include <memory>
25#include <string>
26
27#include "ad_rss/core/RssResponseResolving.hpp"
28#include "ad_rss/core/RssResponseTransformation.hpp"
29#include "ad_rss/core/RssSituationChecking.hpp"
30#include "ad_rss/core/RssSituationExtraction.hpp"
31#include "ad_rss/situation/SituationVector.hpp"
32#include "ad_rss/state/ResponseState.hpp"
33#include "ad_rss/state/ResponseStateVector.hpp"
34#include "situation/RSSFormulas.hpp"
35#include "modules/planning/tasks/rss_decider/proto/rss_decider.pb.h"
38
39namespace apollo {
40namespace planning {
41
72
73class RssDecider : public Task {
74 public:
75 bool Init(const std::string &config_dir, const std::string &name,
76 const std::shared_ptr<DependencyInjector> &injector) override;
77
79 Frame *frame, ReferenceLineInfo *reference_line_info) override;
80
81 private:
82 apollo::common::Status Process(Frame *frame,
83 ReferenceLineInfo *reference_line_info);
84 struct rss_world_model_struct rss_world_info;
85 void rss_config_default_dynamics(::ad_rss::world::Dynamics *dynamics);
86 void rss_create_ego_object(::ad_rss::world::Object *ego, double vel_lon,
87 double vel_lat);
88 void rss_create_other_object(::ad_rss::world::Object *other, double vel_lon,
89 double vel_lat);
90 void rss_dump_world_info(const struct rss_world_model_struct &rss_info);
91
92 RssDeciderConfig config_;
93};
94
96
97} // namespace planning
98} // namespace apollo
A general class to denote the return status of an API call.
Definition status.h:43
Frame holds all data for one planning cycle.
Definition frame.h:62
ReferenceLineInfo holds all data for one reference line.
apollo::common::Status Execute(Frame *frame, ReferenceLineInfo *reference_line_info) override
bool Init(const std::string &config_dir, const std::string &name, const std::shared_ptr< DependencyInjector > &injector) override
Planning module main class.
#define CYBER_PLUGIN_MANAGER_REGISTER_PLUGIN(name, base)
class register implement
Definition arena_queue.h:37