Autoware.Auto
autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner Class Reference

#include <lanelet2_global_planner.hpp>

Public Member Functions

 Lanelet2GlobalPlanner ()=default
 
void load_osm_map (const std::string &file, float64_t lat, float64_t lon, float64_t alt)
 
void parse_lanelet_element ()
 
bool8_t plan_route (TrajectoryPoint &start, TrajectoryPoint &end, std::vector< lanelet::Id > &route) const
 
TrajectoryPoint refine_pose_by_parking_spot (const lanelet::Id &parking_id, const TrajectoryPoint &input_point) const
 Refine an arbitrary pose within a parking spot to one of two possible outcomes. More...
 
bool8_t point_in_parking_spot (const lanelet::Point3d &point, const lanelet::Id &parking_id) const
 
std::string get_primitive_type (const lanelet::Id &prim_id)
 
lanelet::Id find_nearparking_from_point (const lanelet::Point3d &point) const
 
lanelet::Id find_nearroute_from_parking (const lanelet::Id &park_id) const
 
lanelet::Id find_parkingaccess_from_parking (const lanelet::Id &park_id) const
 
std::vector< lanelet::Id > find_lane_from_parkingaccess (const lanelet::Id &parkaccess_id) const
 
lanelet::Id find_lane_id (const lanelet::Id &cad_id) const
 
std::vector< lanelet::Id > get_lane_route (const std::vector< lanelet::Id > &from_id, const std::vector< lanelet::Id > &to) const
 
bool8_t compute_parking_center (lanelet::Id &parking_id, lanelet::Point3d &parking_center) const
 
float64_t p2p_euclidean (const lanelet::Point3d &p1, const lanelet::Point3d &p2) const
 
std::vector< lanelet::Id > lanelet_chr2num (const std::string &str) const
 
std::vector< lanelet::Id > lanelet_str2num (const std::string &str) const
 

Public Attributes

std::shared_ptr< lanelet::LaneletMap > osm_map
 

Constructor & Destructor Documentation

◆ Lanelet2GlobalPlanner()

autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::Lanelet2GlobalPlanner ( )
default

Member Function Documentation

◆ compute_parking_center()

bool8_t autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::compute_parking_center ( lanelet::Id &  parking_id,
lanelet::Point3d &  parking_center 
) const

◆ find_lane_from_parkingaccess()

std::vector< lanelet::Id > autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::find_lane_from_parkingaccess ( const lanelet::Id &  parkaccess_id) const

◆ find_lane_id()

lanelet::Id autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::find_lane_id ( const lanelet::Id &  cad_id) const

◆ find_nearparking_from_point()

lanelet::Id autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::find_nearparking_from_point ( const lanelet::Point3d &  point) const

◆ find_nearroute_from_parking()

lanelet::Id autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::find_nearroute_from_parking ( const lanelet::Id &  park_id) const

◆ find_parkingaccess_from_parking()

lanelet::Id autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::find_parkingaccess_from_parking ( const lanelet::Id &  park_id) const

◆ get_lane_route()

std::vector< lanelet::Id > autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::get_lane_route ( const std::vector< lanelet::Id > &  from_id,
const std::vector< lanelet::Id > &  to 
) const

◆ get_primitive_type()

std::string autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::get_primitive_type ( const lanelet::Id &  prim_id)

◆ lanelet_chr2num()

std::vector< lanelet::Id > autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::lanelet_chr2num ( const std::string &  str) const

◆ lanelet_str2num()

std::vector< lanelet::Id > autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::lanelet_str2num ( const std::string &  str) const

◆ load_osm_map()

void autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::load_osm_map ( const std::string &  file,
float64_t  lat,
float64_t  lon,
float64_t  alt 
)

◆ p2p_euclidean()

float64_t autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::p2p_euclidean ( const lanelet::Point3d &  p1,
const lanelet::Point3d &  p2 
) const

◆ parse_lanelet_element()

void autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::parse_lanelet_element ( )

◆ plan_route()

bool8_t autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::plan_route ( TrajectoryPoint &  start,
TrajectoryPoint &  end,
std::vector< lanelet::Id > &  route 
) const

◆ point_in_parking_spot()

bool8_t autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::point_in_parking_spot ( const lanelet::Point3d &  point,
const lanelet::Id &  parking_id 
) const

◆ refine_pose_by_parking_spot()

TrajectoryPoint autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::refine_pose_by_parking_spot ( const lanelet::Id &  parking_id,
const TrajectoryPoint &  input_point 
) const

Refine an arbitrary pose within a parking spot to one of two possible outcomes.

For any TrajectoryPoint within a parking spot with parking_id, return a TrajectoryPoint that is in the center of the parking spot with heading pointing along the center line (the long side) of the parking spot in the direction of positive dot product with the input heading; i.e. if input_point.heading points to the exit of the parking spot, so does the output heading.

  • The parking spot is assumed to be a perfect rectangle whose boundary polygon has 5 points of which the first and last coincide.
  • The heading is undefined for a square parking spot

In the illustration, the dots represent the center line, the caret is the heading, the x are the corners, and o is the center of the parking spot.

x ^ x
.
.
.
.
o
.
.
.
.
x . x
Parameters
parking_idOnly the outer boundary polygon of the parking spot with this ID is considered.
input_pointOnly the heading of the input point is considered.
Returns
If successful, return a trajectory point at the center of the spot pointing along the center line. In case the id doesn't exist in the map, or boundary polygon doesn't have 5 points, return the unmodified input_point.

Member Data Documentation

◆ osm_map

std::shared_ptr<lanelet::LaneletMap> autoware::planning::lanelet2_global_planner::Lanelet2GlobalPlanner::osm_map

The documentation for this class was generated from the following files: