$darkmode
vtd::VtdConfiguration Struct Reference

#include <vtd_conf.hpp>

Inheritance diagram for vtd::VtdConfiguration:
Collaboration diagram for vtd::VtdConfiguration:

Public Member Functions

 CONFABLE_SCHEMA (VtdConfiguration)
 
- Public Member Functions inherited from fable::Confable
 Confable (const Confable &) noexcept
 
 Confable (Confable &&) noexcept=default
 
Confableoperator= (const Confable &other) noexcept
 
Confableoperator= (Confable &&other) noexcept
 
virtual void reset_schema ()
 
Schemaschema ()
 
const Schemaschema () const
 
virtual void validate_or_throw (const Conf &c) const
 
virtual bool validate (const Conf &c, std::optional< SchemaError > &err) const
 
virtual void from_conf (const Conf &c)
 
virtual void to_json (Json &j) const
 
Json to_json () const
 

Public Attributes

cloe::utility::TcpTransceiverFullConfiguration paramserver {"localhost", VTD_PARAMSERVER_PORT}
 
cloe::utility::TcpTransceiverFullConfiguration connection {"localhost", VTD_DEFAULT_SCP_PORT}
 
cloe::utility::TcpTransceiverConfiguration task_control_params
 
cloe::utility::TcpTransceiverConfiguration rdb_params {60, std::chrono::duration<float>{0.5}}
 
uint16_t configuration_retry_attempts {10}
 
uint16_t sensor_initial_port {48196}
 
std::map< std::string, VtdVehicleConfigvehicles
 
std::string setup = "Cloe.Default"
 
std::string scenario = ""
 
std::string project = ""
 
bool image_generator = true
 
bool camera_third_person = true
 
std::string camera_focus_on = ""
 
LabelConfiguration label_vehicle = LabelConfiguration::Text
 
std::string dat_file = ""
 
std::map< std::string, std::string > scp_actions {}
 

Additional Inherited Members

- Protected Member Functions inherited from fable::Confable
virtual Schema schema_impl ()
 

Detailed Description

The VtdConfiguration class contains all configuration values for VTD. It can be merged from an input JSON object, as well as serialized to a JSON object.

Member Data Documentation

◆ camera_focus_on

std::string vtd::VtdConfiguration::camera_focus_on = ""

What player to focus the camera on, by name. If this is empty or not found, a random player is taken.

◆ camera_third_person

bool vtd::VtdConfiguration::camera_third_person = true

Whether to use the third person for the camera. Currently, this is a prerequisite for setting the camera at all.

◆ configuration_retry_attempts

uint16_t vtd::VtdConfiguration::configuration_retry_attempts {10}

Attempt to recover configuration failure this many times.

This commonly occurs with VTD; in certain circumstances up to 50% of configurations fail with a broken TCP pipe. By retrying N times, we increase the chances of success to 1 - 1/2^N.

◆ connection

cloe::utility::TcpTransceiverFullConfiguration vtd::VtdConfiguration::connection {"localhost", VTD_DEFAULT_SCP_PORT}

Connection parameters for the SCP connection, including host and port.

◆ dat_file

std::string vtd::VtdConfiguration::dat_file = ""

Record VTD dat file.

◆ image_generator

bool vtd::VtdConfiguration::image_generator = true

Whether to use the VTD image generator.

This is also derived to be false when the setup is "Cloe.noGUInoIG" or "Cloe.noIG".

◆ label_vehicle

LabelConfiguration vtd::VtdConfiguration::label_vehicle = LabelConfiguration::Text

Whether to label the ego vehicle controller state.

◆ paramserver

cloe::utility::TcpTransceiverFullConfiguration vtd::VtdConfiguration::paramserver {"localhost", VTD_PARAMSERVER_PORT}

Connection parameters for the SCP connection, including host and port.

◆ rdb_params

cloe::utility::TcpTransceiverConfiguration vtd::VtdConfiguration::rdb_params {60, std::chrono::duration<float>{0.5}}

Connection parameters for the RDB sensor connections.

◆ scp_actions

std::map<std::string, std::string> vtd::VtdConfiguration::scp_actions {}

A set of predefined SCP actions to be used by the action trigger.

◆ sensor_initial_port

uint16_t vtd::VtdConfiguration::sensor_initial_port {48196}

TCP port for the first sensor RDB connection.

Because these parameters are used not only for creating multiple vehicles, but also for each sensor in a vehicle, the port is only used for the very first sensor configured across all vehicles, and is subsequently incremented for each opened RDB sensor connection.

◆ task_control_params

cloe::utility::TcpTransceiverConfiguration vtd::VtdConfiguration::task_control_params
Initial value:
{60,
std::chrono::duration<float>{0.5}}

Connection parameters for the Task Control client connection.

◆ vehicles

std::map<std::string, VtdVehicleConfig> vtd::VtdConfiguration::vehicles

Vehicle parameters such as sensor definitions and component mappings


The documentation for this struct was generated from the following file: