|
Apollo 10.0
自动驾驶开放平台
|
#include <reference_line.h>
Public 成员函数 | |
| ReferenceLine ()=default | |
| ReferenceLine (const ReferenceLine &reference_line)=default | |
| template<typename Iterator > | |
| ReferenceLine (const Iterator begin, const Iterator end) | |
| ReferenceLine (const std::vector< ReferencePoint > &reference_points) | |
| ReferenceLine (const hdmap::Path &hdmap_path) | |
| bool | Stitch (const ReferenceLine &other) |
| Stitch current reference line with the other reference line The stitching strategy is to use current reference points as much as possible. | |
| bool | Segment (const common::math::Vec2d &point, const double distance_backward, const double distance_forward) |
| bool | Segment (const double s, const double distance_backward, const double distance_forward) |
| const hdmap::Path & | map_path () const |
| const std::vector< ReferencePoint > & | reference_points () const |
| ReferencePoint | GetReferencePoint (const double s) const |
| common::FrenetFramePoint | GetFrenetPoint (const common::PathPoint &path_point) const |
| std::pair< std::array< double, 3 >, std::array< double, 3 > > | ToFrenetFrame (const common::TrajectoryPoint &traj_point) const |
| std::vector< ReferencePoint > | GetReferencePoints (double start_s, double end_s) const |
| size_t | GetNearestReferenceIndex (const double s) const |
| ReferencePoint | GetNearestReferencePoint (const common::math::Vec2d &xy) const |
| std::vector< hdmap::LaneSegment > | GetLaneSegments (const double start_s, const double end_s) const |
| ReferencePoint | GetNearestReferencePoint (const double s) const |
| ReferencePoint | GetReferencePoint (const double x, const double y) const |
| bool | GetApproximateSLBoundary (const common::math::Box2d &box, const double start_s, const double end_s, SLBoundary *const sl_boundary) const |
| bool | GetSLBoundary (const common::math::Box2d &box, SLBoundary *const sl_boundary, double warm_start_s=-1.0) const |
| Get the SL Boundary of the box. | |
| bool | GetSLBoundary (const common::math::Polygon2d &polygon, SLBoundary *const sl_boundary, double warm_start_s=-1.0) const |
| bool | GetSLBoundary (const std::vector< common::math::Vec2d > &corners, SLBoundary *const sl_boundary, double warm_start_s) const |
| bool | GetSLBoundary (const hdmap::Polygon &polygon, SLBoundary *const sl_boundary) const |
| bool | SLToXY (const common::SLPoint &sl_point, common::math::Vec2d *const xy_point) const |
| bool | XYToSL (const common::math::Vec2d &xy_point, common::SLPoint *const sl_point, double warm_start_s=-1.0) const |
| Transvert Cartesian coordinates to Frenet. | |
| bool | XYToSL (const double heading, const common::math::Vec2d &xy_point, common::SLPoint *const sl_point, double warm_start_s=-1.0) const |
| bool | XYToSL (const common::math::Vec2d &xy_point, common::SLPoint *const sl_point, double hueristic_start_s, double hueristic_end_s) const |
| template<class XYPoint > | |
| bool | XYToSL (const XYPoint &xy, common::SLPoint *const sl_point) const |
| bool | GetLaneWidth (const double s, double *const lane_left_width, double *const lane_right_width) const |
| bool | GetOffsetToMap (const double s, double *l_offset) const |
| bool | GetRoadWidth (const double s, double *const road_left_width, double *const road_right_width) const |
| hdmap::Road::Type | GetRoadType (const double s) const |
| void | GetLaneBoundaryType (const double s, hdmap::LaneBoundaryType::Type *const left_boundary_type, hdmap::LaneBoundaryType::Type *const right_boundary_type) const |
| void | GetLaneFromS (const double s, std::vector< hdmap::LaneInfoConstPtr > *lanes) const |
| double | GetDrivingWidth (const SLBoundary &sl_boundary) const |
| bool | IsOnLane (const common::SLPoint &sl_point) const |
| : check if a box/point is on lane along reference line | |
| bool | IsOnLane (const common::math::Vec2d &vec2d_point) const |
| template<class XYPoint > | |
| bool | IsOnLane (const XYPoint &xy) const |
| bool | IsOnLane (const SLBoundary &sl_boundary) const |
| bool | IsOnRoad (const common::SLPoint &sl_point) const |
| : check if a box/point is on road (not on sideways/medians) along reference line | |
| bool | IsOnRoad (const common::math::Vec2d &vec2d_point) const |
| bool | IsOnRoad (const SLBoundary &sl_boundary) const |
| bool | IsBlockRoad (const common::math::Box2d &box2d, double gap) const |
| Check if a box is blocking the road surface. | |
| bool | HasOverlap (const common::math::Box2d &box) const |
| check if any part of the box has overlap with the road. | |
| double | Length () const |
| std::string | DebugString () const |
| double | GetSpeedLimitFromS (const double s) const |
| void | AddSpeedLimit (double start_s, double end_s, double speed_limit) |
| uint32_t | GetPriority () const |
| void | SetPriority (uint32_t priority) |
| const hdmap::Path & | GetMapPath () const |
| void | SetEgoPosition (common::math::Vec2d ego_pos) |
在文件 reference_line.h 第 40 行定义.
|
default |
|
explicitdefault |
|
inline |
在文件 reference_line.h 第 45 行定义.
|
explicit |
在文件 reference_line.cc 第 51 行定义.
|
explicit |
在文件 reference_line.cc 第 60 行定义.
| void apollo::planning::ReferenceLine::AddSpeedLimit | ( | double | start_s, |
| double | end_s, | ||
| double | speed_limit | ||
| ) |
在文件 reference_line.cc 第 951 行定义.
| std::string apollo::planning::ReferenceLine::DebugString | ( | ) | const |
在文件 reference_line.cc 第 908 行定义.
| bool apollo::planning::ReferenceLine::GetApproximateSLBoundary | ( | const common::math::Box2d & | box, |
| const double | start_s, | ||
| const double | end_s, | ||
| SLBoundary *const | sl_boundary | ||
| ) | const |
在文件 reference_line.cc 第 695 行定义.
| double apollo::planning::ReferenceLine::GetDrivingWidth | ( | const SLBoundary & | sl_boundary | ) | const |
在文件 reference_line.cc 第 611 行定义.
| common::FrenetFramePoint apollo::planning::ReferenceLine::GetFrenetPoint | ( | const common::PathPoint & | path_point | ) | const |
在文件 reference_line.cc 第 185 行定义.
| void apollo::planning::ReferenceLine::GetLaneBoundaryType | ( | const double | s, |
| hdmap::LaneBoundaryType::Type *const | left_boundary_type, | ||
| hdmap::LaneBoundaryType::Type *const | right_boundary_type | ||
| ) | const |
在文件 reference_line.cc 第 590 行定义.
| void apollo::planning::ReferenceLine::GetLaneFromS | ( | const double | s, |
| std::vector< hdmap::LaneInfoConstPtr > * | lanes | ||
| ) | const |
在文件 reference_line.cc 第 599 行定义.
| std::vector< hdmap::LaneSegment > apollo::planning::ReferenceLine::GetLaneSegments | ( | const double | start_s, |
| const double | end_s | ||
| ) | const |
在文件 reference_line.cc 第 847 行定义.
| bool apollo::planning::ReferenceLine::GetLaneWidth | ( | const double | s, |
| double *const | lane_left_width, | ||
| double *const | lane_right_width | ||
| ) | const |
在文件 reference_line.cc 第 530 行定义.
|
inline |
在文件 reference_line.h 第 221 行定义.
| size_t apollo::planning::ReferenceLine::GetNearestReferenceIndex | ( | const double | s | ) | const |
在文件 reference_line.cc 第 269 行定义.
| ReferencePoint apollo::planning::ReferenceLine::GetNearestReferencePoint | ( | const common::math::Vec2d & | xy | ) | const |
在文件 reference_line.cc 第 130 行定义.
| ReferencePoint apollo::planning::ReferenceLine::GetNearestReferencePoint | ( | const double | s | ) | const |
在文件 reference_line.cc 第 245 行定义.
| bool apollo::planning::ReferenceLine::GetOffsetToMap | ( | const double | s, |
| double * | l_offset | ||
| ) | const |
在文件 reference_line.cc 第 542 行定义.
|
inline |
在文件 reference_line.h 第 217 行定义.
| ReferencePoint apollo::planning::ReferenceLine::GetReferencePoint | ( | const double | s | ) | const |
在文件 reference_line.cc 第 303 行定义.
| ReferencePoint apollo::planning::ReferenceLine::GetReferencePoint | ( | const double | x, |
| const double | y | ||
| ) | const |
在文件 reference_line.cc 第 347 行定义.
| std::vector< ReferencePoint > apollo::planning::ReferenceLine::GetReferencePoints | ( | double | start_s, |
| double | end_s | ||
| ) | const |
在文件 reference_line.cc 第 285 行定义.
| hdmap::Road::Type apollo::planning::ReferenceLine::GetRoadType | ( | const double | s | ) | const |
在文件 reference_line.cc 第 563 行定义.
| bool apollo::planning::ReferenceLine::GetRoadWidth | ( | const double | s, |
| double *const | road_left_width, | ||
| double *const | road_right_width | ||
| ) | const |
在文件 reference_line.cc 第 555 行定义.
| bool apollo::planning::ReferenceLine::GetSLBoundary | ( | const common::math::Box2d & | box, |
| SLBoundary *const | sl_boundary, | ||
| double | warm_start_s = -1.0 |
||
| ) | const |
Get the SL Boundary of the box.
| box | The box to calculate. |
| sl_boundary | Output of the SLBoundary. |
| warm_start_s | The initial s for searching mapping point on reference line to accelerate computation time. |
在文件 reference_line.cc 第 734 行定义.
| bool apollo::planning::ReferenceLine::GetSLBoundary | ( | const common::math::Polygon2d & | polygon, |
| SLBoundary *const | sl_boundary, | ||
| double | warm_start_s = -1.0 |
||
| ) | const |
在文件 reference_line.cc 第 742 行定义.
| bool apollo::planning::ReferenceLine::GetSLBoundary | ( | const hdmap::Polygon & | polygon, |
| SLBoundary *const | sl_boundary | ||
| ) | const |
在文件 reference_line.cc 第 852 行定义.
| bool apollo::planning::ReferenceLine::GetSLBoundary | ( | const std::vector< common::math::Vec2d > & | corners, |
| SLBoundary *const | sl_boundary, | ||
| double | warm_start_s | ||
| ) | const |
在文件 reference_line.cc 第 749 行定义.
| double apollo::planning::ReferenceLine::GetSpeedLimitFromS | ( | const double | s | ) | const |
在文件 reference_line.cc 第 919 行定义.
| bool apollo::planning::ReferenceLine::HasOverlap | ( | const common::math::Box2d & | box | ) | const |
check if any part of the box has overlap with the road.
在文件 reference_line.cc 第 877 行定义.
| bool apollo::planning::ReferenceLine::IsBlockRoad | ( | const common::math::Box2d & | box2d, |
| double | gap | ||
| ) | const |
Check if a box is blocking the road surface.
The criteria is to check whether the remaining space on the road surface is larger than the provided gap space.
| boxed | the provided box |
| gap | check the gap of the space |
在文件 reference_line.cc 第 657 行定义.
| bool apollo::planning::ReferenceLine::IsOnLane | ( | const common::math::Vec2d & | vec2d_point | ) | const |
在文件 reference_line.cc 第 623 行定义.
| bool apollo::planning::ReferenceLine::IsOnLane | ( | const common::SLPoint & | sl_point | ) | const |
: check if a box/point is on lane along reference line
在文件 reference_line.cc 第 643 行定义.
| bool apollo::planning::ReferenceLine::IsOnLane | ( | const SLBoundary & | sl_boundary | ) | const |
在文件 reference_line.cc 第 631 行定义.
|
inline |
在文件 reference_line.h 第 181 行定义.
| bool apollo::planning::ReferenceLine::IsOnRoad | ( | const common::math::Vec2d & | vec2d_point | ) | const |
在文件 reference_line.cc 第 662 行定义.
| bool apollo::planning::ReferenceLine::IsOnRoad | ( | const common::SLPoint & | sl_point | ) | const |
: check if a box/point is on road (not on sideways/medians) along reference line
在文件 reference_line.cc 第 679 行定义.
| bool apollo::planning::ReferenceLine::IsOnRoad | ( | const SLBoundary & | sl_boundary | ) | const |
在文件 reference_line.cc 第 667 行定义.
|
inline |
在文件 reference_line.h 第 209 行定义.
| const MapPath & apollo::planning::ReferenceLine::map_path | ( | ) | const |
在文件 reference_line.cc 第 528 行定义.
| const std::vector< ReferencePoint > & apollo::planning::ReferenceLine::reference_points | ( | ) | const |
在文件 reference_line.cc 第 524 行定义.
| bool apollo::planning::ReferenceLine::Segment | ( | const common::math::Vec2d & | point, |
| const double | distance_backward, | ||
| const double | distance_forward | ||
| ) |
在文件 reference_line.cc 第 144 行定义.
| bool apollo::planning::ReferenceLine::Segment | ( | const double | s, |
| const double | distance_backward, | ||
| const double | distance_forward | ||
| ) |
在文件 reference_line.cc 第 155 行定义.
|
inline |
在文件 reference_line.h 第 223 行定义.
|
inline |
在文件 reference_line.h 第 219 行定义.
| bool apollo::planning::ReferenceLine::SLToXY | ( | const common::SLPoint & | sl_point, |
| common::math::Vec2d *const | xy_point | ||
| ) | const |
在文件 reference_line.cc 第 388 行定义.
| bool apollo::planning::ReferenceLine::Stitch | ( | const ReferenceLine & | other | ) |
Stitch current reference line with the other reference line The stitching strategy is to use current reference points as much as possible.
The following two examples show two successful stitch cases.
Example 1 this: |-----—A--—x--—B---—| other: |--—C---—x-----—D----—| Result: |---—A--—x--—B---—x-----—D----—| In the above example, A-B is current reference line, and C-D is the other reference line. If part B and part C matches, we update current reference line to A-B-D.
Example 2 this: |--—A---—x-----—B----—| other: |-----—C--—x--—D---—| Result: |-----—C--—x--—A---—x-----—B----—| In the above example, A-B is current reference line, and C-D is the other reference line. If part A and part D matches, we update current reference line to C-A-B.
在文件 reference_line.cc 第 72 行定义.
| std::pair< std::array< double, 3 >, std::array< double, 3 > > apollo::planning::ReferenceLine::ToFrenetFrame | ( | const common::TrajectoryPoint & | traj_point | ) | const |
在文件 reference_line.cc 第 218 行定义.
| bool apollo::planning::ReferenceLine::XYToSL | ( | const common::math::Vec2d & | xy_point, |
| common::SLPoint *const | sl_point, | ||
| double | hueristic_start_s, | ||
| double | hueristic_end_s | ||
| ) | const |
在文件 reference_line.cc 第 449 行定义.
| bool apollo::planning::ReferenceLine::XYToSL | ( | const common::math::Vec2d & | xy_point, |
| common::SLPoint *const | sl_point, | ||
| double | warm_start_s = -1.0 |
||
| ) | const |
Transvert Cartesian coordinates to Frenet.
| xy_point | The Cartesian coordinates. |
| sl_point | The output Frenet coordinates. |
| warm_start_s | The initial s for searching mapping point on reference line to accelerate computation time. If not given, search begin at the start of the reference line. |
在文件 reference_line.cc 第 402 行定义.
| bool apollo::planning::ReferenceLine::XYToSL | ( | const double | heading, |
| const common::math::Vec2d & | xy_point, | ||
| common::SLPoint *const | sl_point, | ||
| double | warm_start_s = -1.0 |
||
| ) | const |
在文件 reference_line.cc 第 425 行定义.
|
inline |
在文件 reference_line.h 第 153 行定义.