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.
port_drayage_plugin_config.hpp
Go to the documentation of this file.
1#pragma once
2
3/*
4 * Copyright (C) 2022 LEIDOS.
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
7 * use this file except in compliance with the License. You may obtain a copy of
8 * the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15 * License for the specific language governing permissions and limitations under
16 * the License.
17 */
18
19#include <iostream>
20#include <vector>
21
22namespace port_drayage_plugin
23{
24
28 struct Config
29 {
30 std::string cmv_id = ""; // The CMV's static ID, which is its license plate
31
32 std::string cargo_id = ""; // The ID of the cargo that is being carried at system start-up. Empty if CMV is not carrying cargo.
33
34 bool enable_port_drayage = false; // Flag to activate/deactivate port drayage operations. If false, the port drayage state machine will remain INACTIVE
35
36 bool starting_at_staging_area = true; // Flag to indicate CMV's first destination; 'true' indicates Staging Area Entrance, 'false' indicates Port Entrance
37
38 // Stream operator for this config
39 friend std::ostream &operator<<(std::ostream &output, const Config &c)
40 {
41 output << "port_drayage_plugin::Config { " << std::endl
42 << "cmv_id: " << c.cmv_id << std::endl
43 << "cargo_id: " << c.cargo_id << std::endl
44 << "enable_port_drayage: " << c.enable_port_drayage << std::endl
45 << "starting_at_staging_area: " << c.starting_at_staging_area << std::endl
46 << "}" << std::endl;
47 return output;
48 }
49 };
50
51} // port_drayage_plugin
Struct containing the algorithm configuration values for port_drayage_plugin.
friend std::ostream & operator<<(std::ostream &output, const Config &c)