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.
WorldModelUtils.hpp File Reference
#include <exception>
#include <lanelet2_core/LaneletMap.h>
#include <lanelet2_core/primitives/Area.h>
#include <lanelet2_core/primitives/Point.h>
#include <lanelet2_core/primitives/Lanelet.h>
#include <lanelet2_core/primitives/Polygon.h>
#include <lanelet2_core/geometry/Polygon.h>
#include <lanelet2_core/geometry/LineString.h>
#include <lanelet2_core/utility/Optional.h>
#include "carma_wm/TrackPos.hpp"
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <rclcpp/rclcpp.hpp>
#include <carma_wm/Geometry.hpp>
#include <unordered_set>
#include <unordered_map>
#include <lanelet2_routing/RoutingGraph.h>
Include dependency graph for WorldModelUtils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  carma_wm
 
namespace  carma_wm::query
 
namespace  carma_wm::utils
 

Functions

std::vector< lanelet::ConstLanelet > carma_wm::query::getLaneletsFromPoint (const lanelet::LaneletMapConstPtr &semantic_map, const lanelet::BasicPoint2d &point, const unsigned int n=10)
 carma_wm::query namespace contains implementations for query functions (input and output read or write-able) for stand-alone lanelet map without rest of the CARMAWorldModel features. Currently mainly WMBroadcaster (carma_wm_ctrl) is using this to manipulate its own map without creating instance of carma_wm More...
 
std::vector< lanelet::Lanelet > carma_wm::query::getLaneletsFromPoint (const lanelet::LaneletMapPtr &semantic_map, const lanelet::BasicPoint2d &point, const unsigned int n=10)
 (non-const version) Gets the underlying lanelet, given the cartesian point on the map More...
 
std::vector< lanelet::ConstLanelet > carma_wm::query::nonConnectedAdjacentLeft (const lanelet::LaneletMapConstPtr &semantic_map, const lanelet::BasicPoint2d &input_point, const unsigned int n=10)
 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::Lanelet > carma_wm::query::nonConnectedAdjacentLeft (const lanelet::LaneletMapPtr &semantic_map, 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...
 
lanelet::ConstLaneletOrAreas carma_wm::query::getAffectedLaneletOrAreas (const lanelet::Points3d &gf_pts, const lanelet::LaneletMapPtr &lanelet_map, std::shared_ptr< const lanelet::routing::RoutingGraph > routing_graph, double max_lane_width)
 Gets the affected lanelet or areas based on the points in the given map's frame. More...
 
std::unordered_set< lanelet::Lanelet > carma_wm::query::filterSuccessorLanelets (const std::unordered_set< lanelet::Lanelet > &possible_lanelets, const std::unordered_set< lanelet::Lanelet > &root_lanelets, const lanelet::LaneletMapPtr &lanelet_map, std::shared_ptr< const lanelet::routing::RoutingGraph > routing_graph)
 A function that filters successor lanelets of root_lanelets from possible_lanelets. More...
 
uint32_t carma_wm::utils::get32BitId (uint16_t intersection_id, uint8_t signal_group_id)
 Get 32bit id by concatenating 16bit id with 8bit signal_group_id. More...