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.
|
Class which implements the WorldModel interface. In addition this class provides write access to the world model. Write access is achieved through setters for the Map and Route and getMutableMap(). NOTE: This class should NOT be used in runtime code by users and is exposed solely for use in unit tests where the WMListener class cannot be instantiated. More...
#include <CARMAWorldModel.hpp>
Public Member Functions | |
CARMAWorldModel ()=default | |
Constructor. More... | |
~CARMAWorldModel ()=default | |
Destructor as required by interface. More... | |
void | setMap (lanelet::LaneletMapPtr map, size_t map_version=0, bool recompute_routing_graph=true) |
Set the current map. More... | |
void | setRoutingGraph (LaneletRoutingGraphPtr graph) |
Set the routing graph for the participant type. This function may serve as an optimization to recomputing the routing graph when it is already available. More... | |
void | setRoute (LaneletRoutePtr route) |
Set the current route. This route must match the current map for this class to function properly. More... | |
void | setTrafficLightIds (uint32_t id, lanelet::Id lanelet_id) |
Sets the id mapping between intersection/signal group and lanelet::Id for traffic lights in the map. More... | |
lanelet::LaneletMapPtr | getMutableMap () const |
Get a mutable version of the current map. More... | |
void | setRoadwayObjects (const std::vector< carma_perception_msgs::msg::RoadwayObstacle > &rw_objs) |
Update internal records of roadway objects. These objects MUST be guaranteed to be on the road. More... | |
void | processSpatFromMsg (const carma_v2x_msgs::msg::SPAT &spat_msg, bool use_sim_time=false, bool is_spat_wall_time=true) |
processSpatFromMsg update map's traffic light states with SPAT msg More... | |
lanelet::Optional< std::tuple< TrackPos, carma_perception_msgs::msg::RoadwayObstacle > > | getNearestObjInLane (const lanelet::BasicPoint2d &object_center, const LaneSection §ion=LANE_AHEAD) const |
This function is called by distanceToObjectBehindInLane or distanceToObjectAheadInLane. Gets Downtrack distance to AND copy of the closest object on the same lane as the given point. Also returns crosstrack distance relative to that object. Plus downtrack if the object is ahead along the lane, and also plus crosstrack if the object is to the right relative to the reference line that crosses given object_center and is parallel to the centerline of the lane. More... | |
boost::posix_time::ptime | min_end_time_converter_minute_of_year (boost::posix_time::ptime min_end_time, bool moy_exists, uint32_t moy=0, bool is_simulation=true, bool is_spat_wall_time=false) |
update minimum end time to account for minute of the year More... | |
void | setConfigSpeedLimit (double config_lim) |
void | setVehicleParticipationType (const std::string &participant) |
Set vehicle participation type. More... | |
std::string | getVehicleParticipationType () |
Get vehicle participation type. More... | |
void | setRouteEndPoint (const lanelet::BasicPoint3d &end_point) |
Set endpoint of the route. More... | |
void | setRouteName (const std::string &route_name) |
Set the name of the route. More... | |
void | setRos1Clock (const rclcpp::Time &time_now) |
Set current Ros1 clock (only used in simulation runs) More... | |
void | setSimulationClock (const rclcpp::Time &time_now) |
Set simulation clock clock (only used in simulation runs) More... | |
lanelet::Id | getTrafficSignalId (uint16_t intersection_id, uint8_t signal_id) |
helper for traffic signal Id More... | |
lanelet::CarmaTrafficSignalPtr | getTrafficSignal (const lanelet::Id &id) const |
helper for getting traffic signal with given lanelet::Id More... | |
std::vector< lanelet::Lanelet > | getLaneletsFromPoint (const lanelet::BasicPoint2d &point, const unsigned int n) |
(non-const version) Gets the underlying lanelet, given the cartesian point on the map More... | |
std::vector< lanelet::Lanelet > | nonConnectedAdjacentLeft (const lanelet::BasicPoint2d &input_point, const unsigned int n=10) |
(non-const version) Given the cartesian point on the map, tries to get the opposite direction lanelet on the left This function is intended to find "adjacentLeft lanelets" that doesn't share points between lanelets where adjacentLeft of lanelet library fails More... | |
std::pair< TrackPos, TrackPos > | routeTrackPos (const lanelet::ConstArea &area) const override |
Returns a pair of TrackPos, computed in 2d, of the provided area relative to the current route. The distance is based on the Area vertex with the smallest and largest downtrack distance This method overload is the most expensive of the routeTrackPos methods. More... | |
TrackPos | routeTrackPos (const lanelet::ConstLanelet &lanelet) const override |
Returns the TrackPos, computed in 2d, of the provided lanelet relative to the current route. The distance is based on the first point in the lanelet centerline. More... | |
TrackPos | routeTrackPos (const lanelet::BasicPoint2d &point) const override |
Returns the TrackPos, computed in 2d, of the provided point relative to the current route. More... | |
std::vector< lanelet::ConstLanelet > | getLaneletsBetween (double start, double end, bool shortest_path_only=false, bool bounds_inclusive=true) const override |
Returns a list of lanelets which are part of the route and whose downtrack bounds exist within the provided start and end distances. More... | |
std::vector< lanelet::BasicPoint2d > | sampleRoutePoints (double start_downtrack, double end_downtrack, double step_size) const override |
Samples the route centerline between the provided downtracks with the provided step size. At lane changes the points should exhibit a discontinuous jump at the end of the initial lanelet to the end of the lane change lanelet as expected by the route definition. Returned points are always inclusive of provided bounds, so the last step might be less than step_size. More... | |
boost::optional< lanelet::BasicPoint2d > | pointFromRouteTrackPos (const TrackPos &route_pos) const override |
Converts a route track position into a map frame cartesian point. More... | |
lanelet::LaneletMapConstPtr | getMap () const override |
Get a pointer to the current map. If the underlying map has changed the pointer will also need to be reacquired. More... | |
LaneletRouteConstPtr | getRoute () const override |
Get a pointer to the current route. If the underlying route has changed the pointer will also need to be reacquired. More... | |
std::string | getRouteName () const override |
Get the current route name. More... | |
TrackPos | getRouteEndTrackPos () const override |
Get trackpos of the end of route point relative to the route. More... | |
LaneletRoutingGraphConstPtr | getMapRoutingGraph () const override |
Get a pointer to the routing graph for the current map. If the underlying map has changed the pointer will also need to be reacquired. More... | |
lanelet::Optional< TrafficRulesConstPtr > | getTrafficRules (const std::string &participant) const override |
Get a pointer to the traffic rules object used internally by the world model and considered the carma system default. More... | |
lanelet::Optional< TrafficRulesConstPtr > | getTrafficRules () const override |
Get the Traffic Rules object. More... | |
std::vector< carma_perception_msgs::msg::RoadwayObstacle > | getRoadwayObjects () const override |
Get most recent roadway objects - all objects on the road detected by perception stack. More... | |
std::vector< carma_perception_msgs::msg::RoadwayObstacle > | getInLaneObjects (const lanelet::ConstLanelet &lanelet, const LaneSection §ion=LANE_AHEAD) const override |
Gets all roadway objects currently in the same lane as the given lanelet. More... | |
lanelet::Optional< lanelet::Lanelet > | getIntersectingLanelet (const carma_perception_msgs::msg::ExternalObject &object) const override |
Gets the a lanelet the object is currently on determined by its position on the semantic map. If it's across multiple lanelets, get the closest one. More... | |
lanelet::Optional< carma_perception_msgs::msg::RoadwayObstacle > | toRoadwayObstacle (const carma_perception_msgs::msg::ExternalObject &object) const override |
Converts an ExternalObject in a RoadwayObstacle by mapping its position onto the semantic map. Can also be used to determine if the object is on the roadway. More... | |
lanelet::Optional< double > | distToNearestObjInLane (const lanelet::BasicPoint2d &object_center) const override |
Gets Cartesian distance to the closest object on the same lane as the given point. More... | |
lanelet::Optional< std::tuple< TrackPos, carma_perception_msgs::msg::RoadwayObstacle > > | nearestObjectAheadInLane (const lanelet::BasicPoint2d &object_center) const override |
Gets Downtrack distance to AND copy of the closest object AHEAD on the same lane as the given point. Also returns crosstrack distance relative to that object. Plus downtrack if the object is ahead along the lane, and also plus crosstrack if the object is to the right relative to the reference line that crosses given object_center and is parallel to the centerline of the lane. More... | |
lanelet::Optional< std::tuple< TrackPos, carma_perception_msgs::msg::RoadwayObstacle > > | nearestObjectBehindInLane (const lanelet::BasicPoint2d &object_center) const override |
Gets Downtrack distance to AND copy of the closest object BEHIND on the same lane as the given point. Also returns crosstrack distance relative to that object. Plus downtrack if the object is ahead along the lane, and also plus crosstrack if the object is to the right relative to the reference line that crosses given object_center and is parallel to the centerline of the lane. More... | |
std::vector< lanelet::ConstLanelet > | getLane (const lanelet::ConstLanelet &lanelet, const LaneSection §ion=LANE_AHEAD) const override |
Gets the specified lane section achievable without lane change, sorted from the start, that includes the given lanelet. More... | |
size_t | getMapVersion () const override |
Returns a monotonically increasing version number which represents the version stamp of the map geometry data It is possible for the non-geometric aspects of the map to change without this value increasing. More... | |
std::vector< lanelet::ConstLanelet > | getLaneletsFromPoint (const lanelet::BasicPoint2d &point, const unsigned int n=10) const override |
Gets the underlying lanelet, given the cartesian point on the map. More... | |
std::vector< lanelet::ConstLanelet > | nonConnectedAdjacentLeft (const lanelet::BasicPoint2d &input_point, const unsigned int n=10) const override |
Given the cartesian point on the map, tries to get the opposite direction lanelet on the left This function is intended to find "adjacentLeft lanelets" that doesn't share points between lanelets where adjacentLeft of lanelet library fails. More... | |
std::vector< lanelet::CarmaTrafficSignalPtr > | getSignalsAlongRoute (const lanelet::BasicPoint2d &loc) const override |
Return a list of traffic lights/intersections along the current route. The traffic lights along a route and the next traffic light ahead of us on the route specifically, so a sorted list (by downtrack distance) of traffic lights on the route ahead of us thus eliminating those behind the vehicle. More... | |
std::vector< lanelet::BusStopRulePtr > | getBusStopsAlongRoute (const lanelet::BasicPoint2d &loc) const override |
Return a list of bus stop along the current route. The bus stop along a route and the next bus stop ahead of us on the route specifically, so a sorted list (by downtrack distance) of bus stop on the route ahead of us thus eliminating those behind the vehicle. More... | |
boost::optional< std::pair< lanelet::ConstLanelet, lanelet::ConstLanelet > > | getEntryExitOfSignalAlongRoute (const lanelet::CarmaTrafficSignalPtr &traffic_signal) const override |
Returns the entry and exit lanelet of the signal along the SHORTEST PATH of route. This is useful if traffic_signal controls both directions in an intersection for example. More... | |
std::vector< std::shared_ptr< lanelet::AllWayStop > > | getIntersectionsAlongRoute (const lanelet::BasicPoint2d &loc) const override |
Return a list of all way stop intersections along the current route. The tall way stop intersections along a route and the next all way stop intersections ahead of us on the route specifically, so a sorted list (by downtrack distance) of all way stop intersections on the route ahead of us thus eliminating those behind the vehicle. More... | |
std::vector< lanelet::SignalizedIntersectionPtr > | getSignalizedIntersectionsAlongRoute (const lanelet::BasicPoint2d &loc) const |
Return a list of signalized intersections along the current route. The signalized intersections along a route and the next signalized intersections ahead of us on the route specifically, so a sorted list (by downtrack distance) of signalized intersections on the route ahead of us thus eliminating those behind the vehicle. More... | |
std::optional< lanelet::ConstLanelet > | getFirstLaneletOnShortestPath (const std::vector< lanelet::ConstLanelet > &lanelets_to_filter) const |
Given the vector of lanelets, returns the lanelet that's on the shortest path. Returns earliest lanelet possible on the shortest path. More... | |
Public Member Functions inherited from carma_wm::WorldModel | |
virtual | ~WorldModel () |
Virtual destructor to ensure delete safety for pointers to implementing classes. More... | |
virtual std::pair< TrackPos, TrackPos > | routeTrackPos (const lanelet::ConstArea &area) const =0 |
Returns a pair of TrackPos, computed in 2d, of the provided area relative to the current route. The distance is based on the Area vertex with the smallest and largest downtrack distance This method overload is the most expensive of the routeTrackPos methods. More... | |
virtual TrackPos | routeTrackPos (const lanelet::ConstLanelet &lanelet) const =0 |
Returns the TrackPos, computed in 2d, of the provided lanelet relative to the current route. The distance is based on the first point in the lanelet centerline. More... | |
virtual TrackPos | routeTrackPos (const lanelet::BasicPoint2d &point) const =0 |
Returns the TrackPos, computed in 2d, of the provided point relative to the current route. More... | |
virtual std::vector< lanelet::ConstLanelet > | getLaneletsBetween (double start, double end, bool shortest_path_only=false, bool bounds_inclusive=true) const =0 |
Returns a list of lanelets which are part of the route and whose downtrack bounds exist within the provided start and end distances. More... | |
virtual std::vector< lanelet::BasicPoint2d > | sampleRoutePoints (double start_downtrack, double end_downtrack, double step_size) const =0 |
Samples the route centerline between the provided downtracks with the provided step size. At lane changes the points should exhibit a discontinuous jump at the end of the initial lanelet to the end of the lane change lanelet as expected by the route definition. Returned points are always inclusive of provided bounds, so the last step might be less than step_size. More... | |
virtual boost::optional< lanelet::BasicPoint2d > | pointFromRouteTrackPos (const TrackPos &route_pos) const =0 |
Converts a route track position into a map frame cartesian point. More... | |
virtual lanelet::LaneletMapConstPtr | getMap () const =0 |
Get a pointer to the current map. If the underlying map has changed the pointer will also need to be reacquired. More... | |
virtual LaneletRouteConstPtr | getRoute () const =0 |
Get a pointer to the current route. If the underlying route has changed the pointer will also need to be reacquired. More... | |
virtual std::string | getRouteName () const =0 |
Get the current route name. More... | |
virtual TrackPos | getRouteEndTrackPos () const =0 |
Get trackpos of the end of route point relative to the route. More... | |
virtual LaneletRoutingGraphConstPtr | getMapRoutingGraph () const =0 |
Get a pointer to the routing graph for the current map. If the underlying map has changed the pointer will also need to be reacquired. More... | |
virtual std::vector< carma_perception_msgs::msg::RoadwayObstacle > | getRoadwayObjects () const =0 |
Get most recent roadway objects - all objects on the road detected by perception stack. More... | |
virtual lanelet::Optional< TrafficRulesConstPtr > | getTrafficRules (const std::string &participant) const =0 |
Get a pointer to the traffic rules object used internally by the world model and considered the carma system default. More... | |
virtual lanelet::Optional< TrafficRulesConstPtr > | getTrafficRules () const =0 |
Get the Traffic Rules object. More... | |
virtual lanelet::Optional< carma_perception_msgs::msg::RoadwayObstacle > | toRoadwayObstacle (const carma_perception_msgs::msg::ExternalObject &object) const =0 |
Converts an ExternalObject in a RoadwayObstacle by mapping its position onto the semantic map. Can also be used to determine if the object is on the roadway. More... | |
virtual lanelet::Optional< lanelet::Lanelet > | getIntersectingLanelet (const carma_perception_msgs::msg::ExternalObject &object) const =0 |
Gets the a lanelet the object is currently on determined by its position on the semantic map. If it's across multiple lanelets, get the closest one. More... | |
virtual std::vector< lanelet::BusStopRulePtr > | getBusStopsAlongRoute (const lanelet::BasicPoint2d &loc) const =0 |
Return a list of bus stop along the current route. The bus stop along a route and the next bus stop ahead of us on the route specifically, so a sorted list (by downtrack distance) of bus stop on the route ahead of us thus eliminating those behind the vehicle. More... | |
virtual std::vector< carma_perception_msgs::msg::RoadwayObstacle > | getInLaneObjects (const lanelet::ConstLanelet &lanelet, const LaneSection §ion=LANE_AHEAD) const =0 |
Gets all roadway objects currently in the same lane as the given lanelet. More... | |
virtual lanelet::Optional< double > | distToNearestObjInLane (const lanelet::BasicPoint2d &object_center) const =0 |
Gets Cartesian distance to the closest object on the same lane as the given point. More... | |
virtual lanelet::Optional< std::tuple< TrackPos, carma_perception_msgs::msg::RoadwayObstacle > > | nearestObjectAheadInLane (const lanelet::BasicPoint2d &object_center) const =0 |
Gets Downtrack distance to AND copy of the closest object AHEAD on the same lane as the given point. Also returns crosstrack distance relative to that object. Plus downtrack if the object is ahead along the lane, and also plus crosstrack if the object is to the right relative to the reference line that crosses given object_center and is parallel to the centerline of the lane. More... | |
virtual lanelet::Optional< std::tuple< TrackPos, carma_perception_msgs::msg::RoadwayObstacle > > | nearestObjectBehindInLane (const lanelet::BasicPoint2d &object_center) const =0 |
Gets Downtrack distance to AND copy of the closest object BEHIND on the same lane as the given point. Also returns crosstrack distance relative to that object. Plus downtrack if the object is ahead along the lane, and also plus crosstrack if the object is to the right relative to the reference line that crosses given object_center and is parallel to the centerline of the lane. More... | |
virtual std::vector< lanelet::ConstLanelet > | getLane (const lanelet::ConstLanelet &lanelet, const LaneSection §ion=LANE_AHEAD) const =0 |
Gets the specified lane section achievable without lane change, sorted from the start, that includes the given lanelet. More... | |
virtual size_t | getMapVersion () const =0 |
Returns a monotonically increasing version number which represents the version stamp of the map geometry data It is possible for the non-geometric aspects of the map to change without this value increasing. More... | |
virtual std::vector< lanelet::ConstLanelet > | getLaneletsFromPoint (const lanelet::BasicPoint2d &point, const unsigned int n=10) const =0 |
Gets the underlying lanelet, given the cartesian point on the map. More... | |
virtual std::vector< lanelet::CarmaTrafficSignalPtr > | getSignalsAlongRoute (const lanelet::BasicPoint2d &loc) const =0 |
Return a list of traffic lights/intersections along the current route. The traffic lights along a route and the next traffic light ahead of us on the route specifically, so a sorted list (by downtrack distance) of traffic lights on the route ahead of us thus eliminating those behind the vehicle. More... | |
virtual boost::optional< std::pair< lanelet::ConstLanelet, lanelet::ConstLanelet > > | getEntryExitOfSignalAlongRoute (const lanelet::CarmaTrafficSignalPtr &traffic_signal) const =0 |
Returns the entry and exit lanelet of the signal along the SHORTEST PATH of route. This is useful if traffic_signal controls both directions in an intersection for example. More... | |
virtual std::vector< std::shared_ptr< lanelet::AllWayStop > > | getIntersectionsAlongRoute (const lanelet::BasicPoint2d &loc) const =0 |
Return a list of all way stop intersections along the current route. The tall way stop intersections along a route and the next all way stop intersections ahead of us on the route specifically, so a sorted list (by downtrack distance) of all way stop intersections on the route ahead of us thus eliminating those behind the vehicle. More... | |
virtual std::vector< lanelet::SignalizedIntersectionPtr > | getSignalizedIntersectionsAlongRoute (const lanelet::BasicPoint2d &loc) const =0 |
Return a list of signalized intersections along the current route. The signalized intersections along a route and the next signalized intersections ahead of us on the route specifically, so a sorted list (by downtrack distance) of signalized intersections on the route ahead of us thus eliminating those behind the vehicle. More... | |
virtual std::vector< lanelet::ConstLanelet > | nonConnectedAdjacentLeft (const lanelet::BasicPoint2d &input_point, const unsigned int n=10) const =0 |
Given the cartesian point on the map, tries to get the opposite direction lanelet on the left This function is intended to find "adjacentLeft lanelets" that doesn't share points between lanelets where adjacentLeft of lanelet library fails. More... | |
virtual std::optional< lanelet::ConstLanelet > | getFirstLaneletOnShortestPath (const std::vector< lanelet::ConstLanelet > &lanelets_to_filter) const =0 |
Given the vector of lanelets, returns the lanelet that's on the shortest path. Returns earliest lanelet possible on the shortest path. More... | |
Public Attributes | |
std::unordered_map< uint32_t, lanelet::Id > | traffic_light_ids_ |
carma_wm::SignalizedIntersectionManager | sim_ |
Private Member Functions | |
void | computeDowntrackReferenceLine () |
Helper function to compute the geometry of the route downtrack/crosstrack reference line This function should generally only be called from inside the setRoute function as it uses member variables set in that function. More... | |
lanelet::LineString3d | copyConstructLineString (const lanelet::ConstLineString3d &line) const |
Helper function to perform a deep copy of a LineString and assign new ids to all the elements. Used during route centerline construction. More... | |
FRIEND_TEST (CARMAWorldModelTest, getFirstLaneletOnShortestPath) | |
Private Attributes | |
double | config_speed_limit_ |
std::string | participant_type_ = lanelet::Participants::Vehicle |
std::optional< rclcpp::Time > | ros1_clock_ = std::nullopt |
std::optional< rclcpp::Time > | simulation_clock_ = std::nullopt |
std::shared_ptr< lanelet::LaneletMap > | semantic_map_ |
LaneletRoutePtr | route_ |
LaneletRoutingGraphPtr | map_routing_graph_ |
double | route_length_ = 0 |
lanelet::LaneletSubmapConstUPtr | shortest_path_view_ |
std::vector< lanelet::LineString3d > | shortest_path_centerlines_ |
IndexedDistanceMap | shortest_path_distance_map_ |
lanelet::LaneletMapUPtr | shortest_path_filtered_centerline_view_ |
std::vector< carma_perception_msgs::msg::RoadwayObstacle > | roadway_objects_ |
size_t | map_version_ = 0 |
std::string | route_name_ |
Static Private Attributes | |
static constexpr double | RED_LIGHT_DURATION = 20.0 |
static constexpr double | YELLOW_LIGHT_DURATION = 3.0 |
static constexpr double | GREEN_LIGHT_DURATION = 20.0 |
Class which implements the WorldModel interface. In addition this class provides write access to the world model. Write access is achieved through setters for the Map and Route and getMutableMap(). NOTE: This class should NOT be used in runtime code by users and is exposed solely for use in unit tests where the WMListener class cannot be instantiated.
Proper usage of this class dictates that the Map and Route object be kept in sync. For this reason normal WorldModel users should not try to construct this class directly unless in unit tests.
NOTE: This class uses the CarmaUSTrafficRules class internally to interpret routes. So routes which are set on this model should use the getTrafficRules() method to build using the correct rule set
Definition at line 48 of file CARMAWorldModel.hpp.
|
default |
Constructor.
|
default |
Destructor as required by interface.
|
private |
Helper function to compute the geometry of the route downtrack/crosstrack reference line This function should generally only be called from inside the setRoute function as it uses member variables set in that function.
Sets the shortest_path_centerlines_, shortest_path_centerlines_lengths_, and shortest_path_filtered_centerline_view_ member variables
Definition at line 675 of file CARMAWorldModel.cpp.
References copyConstructLineString(), getTrafficRules(), participant_type_, carma_wm::IndexedDistanceMap::pushBack(), route_, shortest_path_centerlines_, shortest_path_distance_map_, shortest_path_filtered_centerline_view_, shortest_path_view_, and carma_wm::IndexedDistanceMap::size().
Referenced by setRoute().
|
private |
Helper function to perform a deep copy of a LineString and assign new ids to all the elements. Used during route centerline construction.
line | The linestring to be coppied |
Definition at line 662 of file CARMAWorldModel.cpp.
Referenced by computeDowntrackReferenceLine().
|
overridevirtual |
Gets Cartesian distance to the closest object on the same lane as the given point.
object_center | the point to measure the distance from |
std::invalid_argument | if the map is not set, contains no lanelets, or the given point is not on the current semantic map |
Implements carma_wm::WorldModel.
Definition at line 950 of file CARMAWorldModel.cpp.
References getInLaneObjects(), carma_wm::geometry::objectToMapPolygon(), roadway_objects_, and semantic_map_.
|
private |
|
overridevirtual |
Return a list of bus stop along the current route. The bus stop along a route and the next bus stop ahead of us on the route specifically, so a sorted list (by downtrack distance) of bus stop on the route ahead of us thus eliminating those behind the vehicle.
loc | location |
std::invalid_argument | if the map is not set, contains no lanelets, or route is not set |
Implements carma_wm::WorldModel.
Definition at line 119 of file CARMAWorldModel.cpp.
References route_, routeTrackPos(), and semantic_map_.
|
overridevirtual |
Returns the entry and exit lanelet of the signal along the SHORTEST PATH of route. This is useful if traffic_signal controls both directions in an intersection for example.
traffic_signal | traffic signal of interest |
std::invalid_argument | if nullptr is passed in traffic_signal |
Implements carma_wm::WorldModel.
Definition at line 1268 of file CARMAWorldModel.cpp.
References route_.
|
virtual |
Given the vector of lanelets, returns the lanelet that's on the shortest path. Returns earliest lanelet possible on the shortest path.
lanelets_to_filter | lanelets to pick from |
Implements carma_wm::WorldModel.
Definition at line 1566 of file CARMAWorldModel.cpp.
References route_.
|
overridevirtual |
Gets all roadway objects currently in the same lane as the given lanelet.
lanelet | the lanelet that is part of the continuous lane |
section | either of LANE_AHEAD, LANE_BEHIND, LANE_FULL each including the current lanelet |
std::invalid_argument | if the map is not set, contains no lanelets, or if the given lanelet is not on the current semantic map, or lane section input is not of the three |
Implements carma_wm::WorldModel.
Definition at line 856 of file CARMAWorldModel.cpp.
References getLane(), process_bag::i, map_routing_graph_, carma_wm::geometry::objectToMapPolygon(), and roadway_objects_.
Referenced by distToNearestObjInLane(), and getNearestObjInLane().
|
overridevirtual |
Gets the a lanelet the object is currently on determined by its position on the semantic map. If it's across multiple lanelets, get the closest one.
object | the external object to get the lanelet of |
std::invalid_argument | if the map is not set or contains no lanelets |
Implements carma_wm::WorldModel.
Definition at line 927 of file CARMAWorldModel.cpp.
References carma_wm::geometry::objectToMapPolygon(), and semantic_map_.
Referenced by toRoadwayObstacle().
|
overridevirtual |
Return a list of all way stop intersections along the current route. The tall way stop intersections along a route and the next all way stop intersections ahead of us on the route specifically, so a sorted list (by downtrack distance) of all way stop intersections on the route ahead of us thus eliminating those behind the vehicle.
loc | location |
std::invalid_argument | if the map is not set, contains no lanelets, or route is not set |
Implements carma_wm::WorldModel.
Definition at line 1318 of file CARMAWorldModel.cpp.
References route_, routeTrackPos(), and semantic_map_.
|
overridevirtual |
Gets the specified lane section achievable without lane change, sorted from the start, that includes the given lanelet.
lanelet | the lanelet to get the full lane of |
section | either of LANE_AHEAD, LANE_BEHIND, LANE_FULL each including the current lanelet |
std::invalid_argument | if the map is not set, contains no lanelets, or the given lanelet is not on the current semantic map, or lane section input is not of the three |
Implements carma_wm::WorldModel.
Definition at line 1116 of file CARMAWorldModel.cpp.
References carma_wm::LANE_AHEAD, carma_wm::LANE_BEHIND, carma_wm::LANE_FULL, map_routing_graph_, and semantic_map_.
Referenced by getInLaneObjects(), and getNearestObjInLane().
|
overridevirtual |
Returns a list of lanelets which are part of the route and whose downtrack bounds exist within the provided start and end distances.
start | The starting downtrack for the query |
end | The ending downtrack for the query. |
shortest_path_only | If true the lanelets returned will be part of the route shortest path param bounds_inclusive If true, the bounds are included so areas which end exactly at start or start exactly at end are included. NOTE: Non-inclusive behavior toggled by !bounds_inclusive is not equivalent to a != check as it merely shrinks bounds by 0.00001 to get new start and end distances. |
std::invalid_argument | If the route is not yet loaded or if start > end |
Implements carma_wm::WorldModel.
Definition at line 305 of file CARMAWorldModel.cpp.
References carma_wm::TrackPos::downtrack, process_bag::i, route_, routeTrackPos(), and shortest_path_view_.
std::vector< lanelet::Lanelet > carma_wm::CARMAWorldModel::getLaneletsFromPoint | ( | const lanelet::BasicPoint2d & | point, |
const unsigned int | n | ||
) |
(non-const version) Gets the underlying lanelet, given the cartesian point on the map
point | Cartesian point to check the corressponding lanelet |
n | Number of lanelets to return. Default is 10. As there could be many lanelets overlapping. |
std::invalid_argument | if the map is not set, contains no lanelets |
Definition at line 1198 of file CARMAWorldModel.cpp.
References carma_wm::query::getLaneletsFromPoint(), process_traj_logs::point, and semantic_map_.
|
overridevirtual |
Gets the underlying lanelet, given the cartesian point on the map.
point | Cartesian point to check the corressponding lanelet |
n | Number of lanelets to return. Default is 10. As there could be many lanelets overlapping. |
std::invalid_argument | if the map is not set, contains no lanelets |
Implements carma_wm::WorldModel.
Definition at line 1203 of file CARMAWorldModel.cpp.
References carma_wm::query::getLaneletsFromPoint(), getMap(), and process_traj_logs::point.
|
overridevirtual |
Get a pointer to the current map. If the underlying map has changed the pointer will also need to be reacquired.
Implements carma_wm::WorldModel.
Definition at line 547 of file CARMAWorldModel.cpp.
References semantic_map_.
Referenced by getLaneletsFromPoint(), and nonConnectedAdjacentLeft().
|
overridevirtual |
Get a pointer to the routing graph for the current map. If the underlying map has changed the pointer will also need to be reacquired.
Implements carma_wm::WorldModel.
Definition at line 756 of file CARMAWorldModel.cpp.
References map_routing_graph_.
|
overridevirtual |
Returns a monotonically increasing version number which represents the version stamp of the map geometry data It is possible for the non-geometric aspects of the map to change without this value increasing.
Implements carma_wm::WorldModel.
Definition at line 606 of file CARMAWorldModel.cpp.
References map_version_.
lanelet::LaneletMapPtr carma_wm::CARMAWorldModel::getMutableMap | ( | ) | const |
Get a mutable version of the current map.
NOTE: the user must make sure to setMap() after any edit to the map and to set a valid route
Definition at line 611 of file CARMAWorldModel.cpp.
References semantic_map_.
lanelet::Optional< std::tuple< TrackPos, carma_perception_msgs::msg::RoadwayObstacle > > carma_wm::CARMAWorldModel::getNearestObjInLane | ( | const lanelet::BasicPoint2d & | object_center, |
const LaneSection & | section = LANE_AHEAD |
||
) | const |
This function is called by distanceToObjectBehindInLane or distanceToObjectAheadInLane. Gets Downtrack distance to AND copy of the closest object on the same lane as the given point. Also returns crosstrack distance relative to that object. Plus downtrack if the object is ahead along the lane, and also plus crosstrack if the object is to the right relative to the reference line that crosses given object_center and is parallel to the centerline of the lane.
object_center | the point to measure the distance from |
section | either of LANE_AHEAD, LANE_BEHIND, LANE_FULL each including the current lanelet |
std::invalid_argument | if the map is not set, contains no lanelets, or the given point is not on the current semantic map |
Definition at line 992 of file CARMAWorldModel.cpp.
References carma_wm::TrackPos::downtrack, getInLaneObjects(), getLane(), process_bag::i, map_routing_graph_, roadway_objects_, semantic_map_, and carma_wm::geometry::trackPos().
Referenced by nearestObjectAheadInLane(), and nearestObjectBehindInLane().
|
overridevirtual |
Get most recent roadway objects - all objects on the road detected by perception stack.
Implements carma_wm::WorldModel.
Definition at line 851 of file CARMAWorldModel.cpp.
References roadway_objects_.
|
overridevirtual |
Get a pointer to the current route. If the underlying route has changed the pointer will also need to be reacquired.
Implements carma_wm::WorldModel.
Definition at line 552 of file CARMAWorldModel.cpp.
References route_.
|
overridevirtual |
Get trackpos of the end of route point relative to the route.
Implements carma_wm::WorldModel.
Definition at line 557 of file CARMAWorldModel.cpp.
References route_length_.
Referenced by pointFromRouteTrackPos(), and sampleRoutePoints().
|
overridevirtual |
Get the current route name.
Implements carma_wm::WorldModel.
Definition at line 657 of file CARMAWorldModel.cpp.
References route_name_.
|
virtual |
Return a list of signalized intersections along the current route. The signalized intersections along a route and the next signalized intersections ahead of us on the route specifically, so a sorted list (by downtrack distance) of signalized intersections on the route ahead of us thus eliminating those behind the vehicle.
loc | location |
std::invalid_argument | if the map is not set, contains no lanelets, or route is not set |
Implements carma_wm::WorldModel.
Definition at line 1355 of file CARMAWorldModel.cpp.
References route_, routeTrackPos(), and semantic_map_.
|
overridevirtual |
Return a list of traffic lights/intersections along the current route. The traffic lights along a route and the next traffic light ahead of us on the route specifically, so a sorted list (by downtrack distance) of traffic lights on the route ahead of us thus eliminating those behind the vehicle.
loc | location |
std::invalid_argument | if the map is not set, contains no lanelets, or route is not set |
Implements carma_wm::WorldModel.
Definition at line 1218 of file CARMAWorldModel.cpp.
References route_, routeTrackPos(), and semantic_map_.
|
overridevirtual |
Get the Traffic Rules object.
Implements carma_wm::WorldModel.
Definition at line 787 of file CARMAWorldModel.cpp.
References getTrafficRules(), and participant_type_.
Referenced by computeDowntrackReferenceLine(), getTrafficRules(), and setMap().
|
overridevirtual |
Get a pointer to the traffic rules object used internally by the world model and considered the carma system default.
participant | The lanelet participant to return the traffic rules object for. Defaults to a generic vehicle |
Implements carma_wm::WorldModel.
Definition at line 762 of file CARMAWorldModel.cpp.
References config_speed_limit_.
lanelet::CarmaTrafficSignalPtr carma_wm::CARMAWorldModel::getTrafficSignal | ( | const lanelet::Id & | id | ) | const |
helper for getting traffic signal with given lanelet::Id
Definition at line 1392 of file CARMAWorldModel.cpp.
References semantic_map_.
Referenced by processSpatFromMsg().
lanelet::Id carma_wm::CARMAWorldModel::getTrafficSignalId | ( | uint16_t | intersection_id, |
uint8_t | signal_id | ||
) |
helper for traffic signal Id
Definition at line 84 of file CARMAWorldModel.cpp.
References carma_wm::SignalizedIntersectionManager::intersection_id_to_regem_id_, carma_wm::SignalizedIntersectionManager::signal_group_to_traffic_light_id_, and sim_.
Referenced by processSpatFromMsg().
std::string carma_wm::CARMAWorldModel::getVehicleParticipationType | ( | ) |
Get vehicle participation type.
Definition at line 1193 of file CARMAWorldModel.cpp.
References participant_type_.
boost::posix_time::ptime carma_wm::CARMAWorldModel::min_end_time_converter_minute_of_year | ( | boost::posix_time::ptime | min_end_time, |
bool | moy_exists, | ||
uint32_t | moy = 0 , |
||
bool | is_simulation = true , |
||
bool | is_spat_wall_time = false |
||
) |
update minimum end time to account for minute of the year
min_end_time | minimum end time of the spat movement event list |
moy_exists | tells weather minute of the year exist or not |
moy | value of the minute of the year |
is_spat_wall_time | Boolean to indicate if the incoming spat is based on wall clock. Defaults to true. |
Definition at line 1430 of file CARMAWorldModel.cpp.
References ros1_clock_, simulation_clock_, and carma_cooperative_perception::to_string().
Referenced by processSpatFromMsg().
|
overridevirtual |
Gets Downtrack distance to AND copy of the closest object AHEAD on the same lane as the given point. Also returns crosstrack distance relative to that object. Plus downtrack if the object is ahead along the lane, and also plus crosstrack if the object is to the right relative to the reference line that crosses given object_center and is parallel to the centerline of the lane.
object_center | the point to measure the distance from |
std::invalid_argument | if the map is not set, contains no lanelets, or the given point is not on the current semantic map |
Implements carma_wm::WorldModel.
Definition at line 1106 of file CARMAWorldModel.cpp.
References getNearestObjInLane(), and carma_wm::LANE_AHEAD.
|
overridevirtual |
Gets Downtrack distance to AND copy of the closest object BEHIND on the same lane as the given point. Also returns crosstrack distance relative to that object. Plus downtrack if the object is ahead along the lane, and also plus crosstrack if the object is to the right relative to the reference line that crosses given object_center and is parallel to the centerline of the lane.
object_center | the point to measure the distance from |
std::invalid_argument | if the map is not set, contains no lanelets, or the given point is not on the current semantic map |
Implements carma_wm::WorldModel.
Definition at line 1112 of file CARMAWorldModel.cpp.
References getNearestObjInLane(), and carma_wm::LANE_BEHIND.
std::vector< lanelet::Lanelet > carma_wm::CARMAWorldModel::nonConnectedAdjacentLeft | ( | const lanelet::BasicPoint2d & | input_point, |
const unsigned int | n = 10 |
||
) |
(non-const version) Given the cartesian point on the map, tries to get the opposite direction lanelet on the left This function is intended to find "adjacentLeft lanelets" that doesn't share points between lanelets where adjacentLeft of lanelet library fails
point | Cartesian point to check the corressponding lanelet |
n | Number of lanelets to return. Default is 10. As there could be many lanelets overlapping. |
std::invalid_argument | if the map is not set, contains no lanelets, or if adjacent lanelet is not opposite direction NOTE: Only to be used on 2 lane, opposite direction road. Number of points in all linestrings are assumed to be roughly the same. The point is assumed to be on roughly similar shape of overlapping lanelets if any |
Definition at line 1208 of file CARMAWorldModel.cpp.
References carma_wm::query::getLaneletsFromPoint(), and semantic_map_.
|
overridevirtual |
Given the cartesian point on the map, tries to get the opposite direction lanelet on the left This function is intended to find "adjacentLeft lanelets" that doesn't share points between lanelets where adjacentLeft of lanelet library fails.
semantic_map | Lanelet Map Ptr |
point | Cartesian point to check the corressponding lanelet |
n | Number of lanelets to return. Default is 10. As there could be many lanelets overlapping. |
std::invalid_argument | if the map is not set, contains no lanelets, or if adjacent lanelet is not opposite direction NOTE: Only to be used on 2 lane, opposite direction road. Number of points in all linestrings are assumed to be roughly the same. The point is assumed to be on roughly similar shape of overlapping lanelets if any |
Implements carma_wm::WorldModel.
Definition at line 1213 of file CARMAWorldModel.cpp.
References carma_wm::query::getLaneletsFromPoint(), and getMap().
|
overridevirtual |
Converts a route track position into a map frame cartesian point.
route_pos | The TrackPos to convert to and x,y point. This position should be relative to the route |
NOTE: This method will run faster if the crosstrack is unset or set to 0. The default implementation lookup has complexity O(log n) where n is the number of lane changes is a route + 1
Implements carma_wm::WorldModel.
Definition at line 430 of file CARMAWorldModel.cpp.
References carma_wm::TrackPos::crosstrack, carma_wm::IndexedDistanceMap::distanceToElement(), carma_wm::IndexedDistanceMap::distanceToPointAlongElement(), carma_wm::TrackPos::downtrack, carma_wm::IndexedDistanceMap::getElementIndexByDistance(), getRouteEndTrackPos(), carma_wm::geometry::point_to_point_yaw(), route_, shortest_path_centerlines_, shortest_path_distance_map_, carma_cooperative_perception::to_string(), process_traj_logs::x, and process_traj_logs::y.
Referenced by sampleRoutePoints().
void carma_wm::CARMAWorldModel::processSpatFromMsg | ( | const carma_v2x_msgs::msg::SPAT & | spat_msg, |
bool | use_sim_time = false , |
||
bool | is_spat_wall_time = true |
||
) |
processSpatFromMsg update map's traffic light states with SPAT msg
spat_msg | Msg to update with |
use_sim_time | Boolean to indicate if it is currently simulation or not |
is_spat_wall_time | Boolean to indicate if the incoming spat is based on wall clock. Defaults to true. |
Definition at line 1483 of file CARMAWorldModel.cpp.
References getTrafficSignal(), getTrafficSignalId(), min_end_time_converter_minute_of_year(), semantic_map_, sim_, carma_cooperative_perception::to_string(), carma_wm::SignalizedIntersectionManager::traffic_signal_start_times_, and carma_wm::SignalizedIntersectionManager::traffic_signal_states_.
|
overridevirtual |
Returns the TrackPos, computed in 2d, of the provided point relative to the current route.
NOTE: The route definition used in this class contains discontinuities in the reference line at lane changes. It is important to consider that when using route related functions.
point | The lanelet2 point which will have its distance computed |
std::invalid_argument | If the route is not yet loaded |
Implements carma_wm::WorldModel.
Definition at line 169 of file CARMAWorldModel.cpp.
References carma_wm::IndexedDistanceMap::distanceBetween(), carma_wm::IndexedDistanceMap::distanceToElement(), carma_wm::IndexedDistanceMap::distanceToPointAlongElement(), carma_wm::TrackPos::downtrack, carma_wm::IndexedDistanceMap::getIndexFromId(), carma_wm::geometry::matchSegment(), process_traj_logs::point, route_, shortest_path_centerlines_, shortest_path_distance_map_, shortest_path_filtered_centerline_view_, and carma_wm::geometry::trackPos().
|
overridevirtual |
Returns a pair of TrackPos, computed in 2d, of the provided area relative to the current route. The distance is based on the Area vertex with the smallest and largest downtrack distance This method overload is the most expensive of the routeTrackPos methods.
NOTE: The route definition used in this class contains discontinuities in the reference line at lane changes. It is important to consider that when using route related functions.
area | The lanelet2 area which will have its distance computed |
std::invalid_argument | If the route is not yet loaded or the area does not contain vertices |
Implements carma_wm::WorldModel.
Definition at line 40 of file CARMAWorldModel.cpp.
References carma_wm::TrackPos::crosstrack, carma_wm::TrackPos::downtrack, process_traj_logs::point, route_, and routeTrackPos().
Referenced by getBusStopsAlongRoute(), getIntersectionsAlongRoute(), getLaneletsBetween(), getSignalizedIntersectionsAlongRoute(), getSignalsAlongRoute(), routeTrackPos(), setRoute(), and setRouteEndPoint().
|
overridevirtual |
Returns the TrackPos, computed in 2d, of the provided lanelet relative to the current route. The distance is based on the first point in the lanelet centerline.
NOTE: The route definition used in this class contains discontinuities in the reference line at lane changes. It is important to consider that when using route related functions.
lanelet | The lanelet2 lanelet which will have its distance computed |
std::invalid_argument | If the route is not yet loaded or the lanelet centerline cannot be found |
Implements carma_wm::WorldModel.
Definition at line 102 of file CARMAWorldModel.cpp.
References route_, and routeTrackPos().
|
overridevirtual |
Samples the route centerline between the provided downtracks with the provided step size. At lane changes the points should exhibit a discontinuous jump at the end of the initial lanelet to the end of the lane change lanelet as expected by the route definition. Returned points are always inclusive of provided bounds, so the last step might be less than step_size.
NOTE: If start_downtrack == end_downtrack a single point is returned. If the route is not set or the bounds lie outside the route an empty vector is returned.
In the default implementation, this method has m * O(log n) complexity where n is the number of lane changes in the route + 1 and m is the number of sampled points which is nominally 1 + ((start_downtrack - end_downtrack) / step_size). Since the route is fixed for the duration of method execution this can generally be thought of as a linear complexity call dominated by m.
start_downtrack | The starting route downtrack to sample from in meters |
end_downtrack | The ending downtrack to stop sampling at in meters |
step_size | The sampling step size in meters. |
NOTE: This method really needs clarification of behavior for lane changes.
Implements carma_wm::WorldModel.
Definition at line 389 of file CARMAWorldModel.cpp.
References carma_wm::TrackPos::downtrack, getRouteEndTrackPos(), pointFromRouteTrackPos(), and route_.
void carma_wm::CARMAWorldModel::setConfigSpeedLimit | ( | double | config_lim | ) |
config_lim | the configurable speed limit value populated from WMListener using the config_speed_limit parameter in VehicleConfigParams.yaml |
Definition at line 1183 of file CARMAWorldModel.cpp.
References config_speed_limit_.
void carma_wm::CARMAWorldModel::setMap | ( | lanelet::LaneletMapPtr | map, |
size_t | map_version = 0 , |
||
bool | recompute_routing_graph = true |
||
) |
Set the current map.
map | A shared pointer to the map which will share ownership to this object |
map_version | Optional field to set the map version. While this is technically optional its uses is highly advised to manage synchronization. |
recompute_routing_graph | Optional field which if true will result in the routing graph being recomputed. NOTE: If this map is the first map set the graph will always be recomputed |
Definition at line 563 of file CARMAWorldModel.cpp.
References getTrafficRules(), map_routing_graph_, map_version_, participant_type_, and semantic_map_.
void carma_wm::CARMAWorldModel::setRoadwayObjects | ( | const std::vector< carma_perception_msgs::msg::RoadwayObstacle > & | rw_objs | ) |
Update internal records of roadway objects. These objects MUST be guaranteed to be on the road.
These are detected by the sensor fusion node and are passed as objects compatible with lanelet
Definition at line 846 of file CARMAWorldModel.cpp.
References roadway_objects_.
void carma_wm::CARMAWorldModel::setRos1Clock | ( | const rclcpp::Time & | time_now | ) |
Set current Ros1 clock (only used in simulation runs)
Definition at line 616 of file CARMAWorldModel.cpp.
References ros1_clock_.
void carma_wm::CARMAWorldModel::setRoute | ( | LaneletRoutePtr | route | ) |
Set the current route. This route must match the current map for this class to function properly.
route | A shared pointer to the route which will share ownership to this object |
Definition at line 626 of file CARMAWorldModel.cpp.
References computeDowntrackReferenceLine(), route_, route_length_, routeTrackPos(), and shortest_path_view_.
void carma_wm::CARMAWorldModel::setRouteEndPoint | ( | const lanelet::BasicPoint3d & | end_point | ) |
Set endpoint of the route.
Definition at line 637 of file CARMAWorldModel.cpp.
References route_, route_length_, and routeTrackPos().
void carma_wm::CARMAWorldModel::setRouteName | ( | const std::string & | route_name | ) |
Set the name of the route.
Definition at line 652 of file CARMAWorldModel.cpp.
References route_name_.
void carma_wm::CARMAWorldModel::setRoutingGraph | ( | LaneletRoutingGraphPtr | graph | ) |
Set the routing graph for the participant type. This function may serve as an optimization to recomputing the routing graph when it is already available.
NOTE: The set graph will be overwritten if setMap(recompute_routing_graph=true) is called. It will not, be overwritten if the map is set with recompute_routing_graph=false
graph | The graph to set. NOTE: This graph must be for the participant type specified getVehicleParticipationType(). There is no way to validate this from the object so the user must ensure consistency. |
Definition at line 599 of file CARMAWorldModel.cpp.
References map_routing_graph_.
void carma_wm::CARMAWorldModel::setSimulationClock | ( | const rclcpp::Time & | time_now | ) |
Set simulation clock clock (only used in simulation runs)
Definition at line 621 of file CARMAWorldModel.cpp.
References simulation_clock_.
void carma_wm::CARMAWorldModel::setTrafficLightIds | ( | uint32_t | id, |
lanelet::Id | lanelet_id | ||
) |
Sets the id mapping between intersection/signal group and lanelet::Id for traffic lights in the map.
id | intersection_id (16bit) and signal_group_id (8bit) concatenated in that order and saved in 32bit |
lanelet_id | lanelet_id |
Definition at line 1178 of file CARMAWorldModel.cpp.
References traffic_light_ids_.
void carma_wm::CARMAWorldModel::setVehicleParticipationType | ( | const std::string & | participant | ) |
Set vehicle participation type.
Definition at line 1188 of file CARMAWorldModel.cpp.
References participant_type_.
|
overridevirtual |
Converts an ExternalObject in a RoadwayObstacle by mapping its position onto the semantic map. Can also be used to determine if the object is on the roadway.
object | the external object to convert |
std::invalid_argument | if the map is not set or contains no lanelets |
Implements carma_wm::WorldModel.
Definition at line 794 of file CARMAWorldModel.cpp.
References carma_wm::TrackPos::crosstrack, carma_wm::TrackPos::downtrack, getIntersectingLanelet(), carma_wm::geometry::objectToMapPolygon(), semantic_map_, and carma_wm::geometry::trackPos().
|
private |
Definition at line 278 of file CARMAWorldModel.hpp.
Referenced by getTrafficRules(), and setConfigSpeedLimit().
|
staticconstexprprivate |
Definition at line 325 of file CARMAWorldModel.hpp.
|
private |
Definition at line 305 of file CARMAWorldModel.hpp.
Referenced by getInLaneObjects(), getLane(), getMapRoutingGraph(), getNearestObjInLane(), setMap(), and setRoutingGraph().
|
private |
Definition at line 316 of file CARMAWorldModel.hpp.
Referenced by getMapVersion(), and setMap().
|
private |
Definition at line 280 of file CARMAWorldModel.hpp.
Referenced by computeDowntrackReferenceLine(), getTrafficRules(), getVehicleParticipationType(), setMap(), and setVehicleParticipationType().
|
staticconstexprprivate |
Definition at line 323 of file CARMAWorldModel.hpp.
|
private |
Definition at line 314 of file CARMAWorldModel.hpp.
Referenced by distToNearestObjInLane(), getInLaneObjects(), getNearestObjInLane(), getRoadwayObjects(), and setRoadwayObjects().
|
private |
Definition at line 300 of file CARMAWorldModel.hpp.
Referenced by min_end_time_converter_minute_of_year(), and setRos1Clock().
|
private |
Definition at line 304 of file CARMAWorldModel.hpp.
Referenced by computeDowntrackReferenceLine(), getBusStopsAlongRoute(), getEntryExitOfSignalAlongRoute(), getFirstLaneletOnShortestPath(), getIntersectionsAlongRoute(), getLaneletsBetween(), getRoute(), getSignalizedIntersectionsAlongRoute(), getSignalsAlongRoute(), pointFromRouteTrackPos(), routeTrackPos(), sampleRoutePoints(), setRoute(), and setRouteEndPoint().
|
private |
Definition at line 306 of file CARMAWorldModel.hpp.
Referenced by getRouteEndTrackPos(), setRoute(), and setRouteEndPoint().
|
private |
Definition at line 318 of file CARMAWorldModel.hpp.
Referenced by getRouteName(), and setRouteName().
|
private |
Definition at line 303 of file CARMAWorldModel.hpp.
Referenced by distToNearestObjInLane(), getBusStopsAlongRoute(), getIntersectingLanelet(), getIntersectionsAlongRoute(), getLane(), getLaneletsFromPoint(), getMap(), getMutableMap(), getNearestObjInLane(), getSignalizedIntersectionsAlongRoute(), getSignalsAlongRoute(), getTrafficSignal(), nonConnectedAdjacentLeft(), processSpatFromMsg(), setMap(), and toRoadwayObstacle().
|
private |
Definition at line 309 of file CARMAWorldModel.hpp.
Referenced by computeDowntrackReferenceLine(), pointFromRouteTrackPos(), and routeTrackPos().
|
private |
Definition at line 311 of file CARMAWorldModel.hpp.
Referenced by computeDowntrackReferenceLine(), pointFromRouteTrackPos(), and routeTrackPos().
|
private |
Definition at line 312 of file CARMAWorldModel.hpp.
Referenced by computeDowntrackReferenceLine(), and routeTrackPos().
|
private |
Definition at line 307 of file CARMAWorldModel.hpp.
Referenced by computeDowntrackReferenceLine(), getLaneletsBetween(), and setRoute().
carma_wm::SignalizedIntersectionManager carma_wm::CARMAWorldModel::sim_ |
Definition at line 274 of file CARMAWorldModel.hpp.
Referenced by getTrafficSignalId(), and processSpatFromMsg().
|
private |
Definition at line 301 of file CARMAWorldModel.hpp.
Referenced by min_end_time_converter_minute_of_year(), and setSimulationClock().
std::unordered_map<uint32_t, lanelet::Id> carma_wm::CARMAWorldModel::traffic_light_ids_ |
Definition at line 272 of file CARMAWorldModel.hpp.
Referenced by setTrafficLightIds().
|
staticconstexprprivate |
Definition at line 324 of file CARMAWorldModel.hpp.