Carma-platform v4.2.0
CARMA Platform is built on robot operating system (ROS) and utilizes open source software (OSS) that enables Cooperative Driving Automation (CDA) features to allow Automated Driving Systems to interact and cooperate with infrastructure and other vehicles through communication.
route_following_plugin_config.hpp
Go to the documentation of this file.
1#pragma once
2/*
3 * Copyright (C) 2022 LEIDOS.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18#include <string>
19
21{
26 struct Config
27 {
28 // Minimal duration of maneuver, loaded from config file
29 double min_plan_duration_ = 16.0;
30 //Tactical plugin being used for planning lane change
31 std::string lane_change_plugin_ = "cooperative_lanechange";
32 std::string stop_and_wait_plugin_ = "stop_and_wait_plugin";
33 std::string vehicle_id = "vehicle_id";
34 std::string lanefollow_planning_tactical_plugin_ = "inlanecruising_plugin";
36 double accel_limit_ = 2.0;
39 double min_maneuver_length_ = 10.0; // Minimum length to allow for a maneuver when updating it for stop and wait
40
41 // Stream operator for this config
42 friend std::ostream &operator<<(std::ostream &output, const Config &c)
43 {
44 output << "route_following_plugin::Config { " << std::endl
45 << "min_plan_duration_: " << c.min_plan_duration_ << std::endl
46 << "lane_change_plugin_: " << c.lane_change_plugin_ << std::endl
47 << "stop_and_wait_plugin_: " << c.stop_and_wait_plugin_ << std::endl
48 << "lanefollow_planning_tactical_plugin_: " << c.lanefollow_planning_tactical_plugin_ << std::endl
49 << "route_end_point_buffer_: " << c.route_end_point_buffer_ << std::endl
50 << "accel_limit_: " << c.accel_limit_ << std::endl
51 << "lateral_accel_limit_: " << c.lateral_accel_limit_ << std::endl
52 << "stopping_accel_limit_multiplier_: " << c.stopping_accel_limit_multiplier_ << std::endl
53 << "min_maneuver_length_: " << c.min_maneuver_length_ << std::endl
54 << "vehicle_id: " << c.vehicle_id << std::endl
55 << "}" << std::endl;
56 return output;
57 }
58 };
59} // route_following_plugin
Struct containing config values values for route_following_plugin.
friend std::ostream & operator<<(std::ostream &output, const Config &c)