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.
|
Enumerations | |
enum class | LaneChangeType { ToRight , ToLeft , Both , None } |
Functions | |
std::vector< lanelet::traffic_rules::TrafficRulesUPtr > | getAllGermanTrafficRules () |
Helper function to return the set of all german traffic rules which are currently implemented. More... | |
template<typename Map , typename Key , typename Value > | |
Value | getMapOrDefault (const Map &map, Key key, Value defaultVal) |
Helper function to get a value from a map or return a default value when key is not present. More... | |
bool | startswith (const std::string &str, const std::string &substr) |
Helper function to check if a string starts with another string. More... | |
LaneChangeType | getChangeType (const std::string &type, const std::string &subtype, const std::string &participant) |
Helper function to determine the type of lane change implicitly allowed by the markings on the road. More... | |
PassingControlLinePtr | buildControlLine (LineString3d &bound, const LaneChangeType type, const std::string &participant) |
Helper function constructs a PassingControlLine based off the provided bound and lane change type. More... | |
void | addInferredAccessRule (Lanelet &lanelet, lanelet::LaneletMapPtr map, const std::vector< lanelet::traffic_rules::TrafficRulesUPtr > &default_traffic_rules) |
Generate RegionAccessRules from the inferred regulations in the provided map and lanelet. More... | |
void | addInferredAccessRule (Area &area, lanelet::LaneletMapPtr map, const std::vector< lanelet::traffic_rules::TrafficRulesUPtr > &default_traffic_rules) |
Generate RegionAccessRules from the inferred regulations in the provided map and area. More... | |
void | addInferredPassingControlLine (Lanelet &lanelet, lanelet::LaneletMapPtr map) |
Generate PassingControlLines from the inferred regulations in the provided map and lanelet. More... | |
void | addInferredPassingControlLine (Area &area, lanelet::LaneletMapPtr map) |
Generate PassingControlLines from the inferred regulations in the provided map and area. More... | |
void | addInferredDirectionOfTravel (Lanelet &lanelet, lanelet::LaneletMapPtr map, const std::vector< lanelet::traffic_rules::TrafficRulesUPtr > &default_traffic_rules) |
Generate DirectionOfTravel from the inferred regulations in the provided map and lanelet Only adds a regulatory element if the direction of travel is not one_way as that is the default. More... | |
void | addValidSpeedLimit (Lanelet &lanelet, lanelet::LaneletMapPtr map, lanelet::Velocity config_limit, const std::vector< lanelet::traffic_rules::TrafficRulesUPtr > &default_traffic_rules) |
Variables | |
constexpr size_t | PARTICIPANT_COUNT = 12 |
constexpr const char * | participant_types [PARTICIPANT_COUNT] |
|
strong |
void lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::addInferredAccessRule | ( | Area & | area, |
lanelet::LaneletMapPtr | map, | ||
const std::vector< lanelet::traffic_rules::TrafficRulesUPtr > & | default_traffic_rules | ||
) |
Generate RegionAccessRules from the inferred regulations in the provided map and area.
area | The area to generate the rules for |
map | The map which the area is part of |
default_traffic_rules | The set of traffic rules to treat as guidance for interpreting the map |
Definition at line 278 of file MapConformer.cpp.
Referenced by lanelet::MapConformer::ensureCompliance().
void lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::addInferredAccessRule | ( | Lanelet & | lanelet, |
lanelet::LaneletMapPtr | map, | ||
const std::vector< lanelet::traffic_rules::TrafficRulesUPtr > & | default_traffic_rules | ||
) |
Generate RegionAccessRules from the inferred regulations in the provided map and lanelet.
lanelet | The lanelet to generate the rules for |
map | The map which the lanelet is part of |
default_traffic_rules | The set of traffic rules to treat as guidance for interpreting the map |
Definition at line 245 of file MapConformer.cpp.
void lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::addInferredDirectionOfTravel | ( | Lanelet & | lanelet, |
lanelet::LaneletMapPtr | map, | ||
const std::vector< lanelet::traffic_rules::TrafficRulesUPtr > & | default_traffic_rules | ||
) |
Generate DirectionOfTravel from the inferred regulations in the provided map and lanelet Only adds a regulatory element if the direction of travel is not one_way as that is the default.
lanelet | The lanelet to generate directions of travel for |
map | The map which the lanelet is part of |
default_traffic_rules | The set of traffic rules to treat as guidance for interpreting the map |
Definition at line 452 of file MapConformer.cpp.
Referenced by lanelet::MapConformer::ensureCompliance().
void lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::addInferredPassingControlLine | ( | Area & | area, |
lanelet::LaneletMapPtr | map | ||
) |
Generate PassingControlLines from the inferred regulations in the provided map and area.
area | The area to generate control lines for |
map | The map which the area is part of |
Definition at line 386 of file MapConformer.cpp.
References buildControlLine(), getChangeType(), and process_bag::i.
Referenced by lanelet::MapConformer::ensureCompliance().
void lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::addInferredPassingControlLine | ( | Lanelet & | lanelet, |
lanelet::LaneletMapPtr | map | ||
) |
Generate PassingControlLines from the inferred regulations in the provided map and lanelet.
lanelet | The lanelet to generate control lines for |
map | The map which the lanelet is part of |
Definition at line 310 of file MapConformer.cpp.
References buildControlLine(), and getChangeType().
void lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::addValidSpeedLimit | ( | Lanelet & | lanelet, |
lanelet::LaneletMapPtr | map, | ||
lanelet::Velocity | config_limit, | ||
const std::vector< lanelet::traffic_rules::TrafficRulesUPtr > & | default_traffic_rules | ||
) |
Definition at line 481 of file MapConformer.cpp.
Referenced by lanelet::MapConformer::ensureCompliance().
PassingControlLinePtr lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::buildControlLine | ( | LineString3d & | bound, |
const LaneChangeType | type, | ||
const std::string & | participant | ||
) |
Helper function constructs a PassingControlLine based off the provided bound and lane change type.
bound | The bound which will mark the control line |
type | The type of lane change permitted by this bound's implied regulations |
participant | The participant that is allowed to cross this control line |
Definition at line 198 of file MapConformer.cpp.
Referenced by addInferredPassingControlLine().
std::vector< lanelet::traffic_rules::TrafficRulesUPtr > lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::getAllGermanTrafficRules | ( | ) |
Helper function to return the set of all german traffic rules which are currently implemented.
Definition at line 66 of file MapConformer.cpp.
References process_bag::i, PARTICIPANT_COUNT, and participant_types.
Referenced by lanelet::MapConformer::ensureCompliance().
LaneChangeType lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::getChangeType | ( | const std::string & | type, |
const std::string & | subtype, | ||
const std::string & | participant | ||
) |
Helper function to determine the type of lane change implicitly allowed by the markings on the road.
This function has been copied from lanelet2_traffic_rules/src/GenericTrafficRules.cpp as it was not exposed by the Lanelet2 libraray. The function therefore has the same functionality as the GenericTrafficRules class
https://github.com/fzi-forschungszentrum-informatik/Lanelet2/blob/master/lanelet2_traffic_rules/src/GenericTrafficRules.cpp The source function is copyrighted under BSD 3-Clause "New" or "Revised" License a copy of that notice has been included with this package
type | The type of the line string marking |
subtype | The sub-type of the line string marking |
participant | The type of participant the rules apply too |
Definition at line 155 of file MapConformer.cpp.
References getMapOrDefault(), and startswith().
Referenced by addInferredPassingControlLine().
Value lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::getMapOrDefault | ( | const Map & | map, |
Key | key, | ||
Value | defaultVal | ||
) |
Helper function to get a value from a map or return a default value when key is not present.
This function has been copied from lanelet2_traffic_rules/src/GenericTrafficRules.cpp as it was not exposed by the Lanelet2 libraray. The function therefore has the same functionality as the GenericTrafficRules class
https://github.com/fzi-forschungszentrum-informatik/Lanelet2/blob/master/lanelet2_traffic_rules/src/GenericTrafficRules.cpp The source function is copyrighted under BSD 3-Clause "New" or "Revised" License a copy of that notice has been included with this package
map | The map to search |
key | The key to evaluate |
defaultVal | The default to return if key is not in map |
Definition at line 109 of file MapConformer.cpp.
Referenced by getChangeType().
bool lanelet::MapConformer::anonymous_namespace{MapConformer.cpp}::startswith | ( | const std::string & | str, |
const std::string & | substr | ||
) |
Helper function to check if a string starts with another string.
This function has been copied from lanelet2_traffic_rules/src/GenericTrafficRules.cpp as it was not exposed by the Lanelet2 libraray. The function therefore has the same functionality as the GenericTrafficRules class
https://github.com/fzi-forschungszentrum-informatik/Lanelet2/blob/master/lanelet2_traffic_rules/src/GenericTrafficRules.cpp The source function is copyrighted under BSD 3-Clause "New" or "Revised" License a copy of that notice has been included with this package
str | Base string |
substr | Starting string to check for |
Definition at line 134 of file MapConformer.cpp.
Referenced by getChangeType().
|
constexpr |
Definition at line 47 of file MapConformer.cpp.
Referenced by getAllGermanTrafficRules().
|
constexpr |
Definition at line 48 of file MapConformer.cpp.
Referenced by getAllGermanTrafficRules().