|
Apollo 10.0
自动驾驶开放平台
|
This is the class that associates an Obstacle with its path properties. 更多...
#include <obstacle.h>
Public 成员函数 | |
| Obstacle ()=default | |
| Obstacle (const std::string &id, const perception::PerceptionObstacle &perception_obstacle, const prediction::ObstaclePriority::Priority &obstacle_priority, const bool is_static) | |
| Obstacle (const std::string &id, const perception::PerceptionObstacle &perception_obstacle, const prediction::Trajectory &trajectory, const prediction::ObstaclePriority::Priority &obstacle_priority, const bool is_static) | |
| const std::string & | Id () const |
| void | SetId (const std::string &id) |
| double | speed () const |
| int32_t | PerceptionId () const |
| bool | IsStatic () const |
| bool | IsVirtual () const |
| common::TrajectoryPoint | GetPointAtTime (const double time) const |
| common::math::Box2d | GetBoundingBox (const common::TrajectoryPoint &point) const |
| const common::math::Box2d & | PerceptionBoundingBox () const |
| const common::math::Polygon2d & | PerceptionPolygon () const |
| const prediction::Trajectory & | Trajectory () const |
| bool | HasTrajectory () const |
| const perception::PerceptionObstacle & | Perception () const |
| bool | IsCautionLevelObstacle () const |
| const ObjectDecisionType & | LateralDecision () const |
| return the merged lateral decision Lateral decision is one of {Nudge, Ignore} | |
| const ObjectDecisionType & | LongitudinalDecision () const |
| return the merged longitudinal decision Longitudinal decision is one of {Stop, Yield, Follow, Overtake, Ignore} | |
| std::string | DebugString () const |
| void | PrintPolygonCurve () const |
| const SLBoundary & | PerceptionSLBoundary () const |
| const STBoundary & | reference_line_st_boundary () const |
| const STBoundary & | path_st_boundary () const |
| const std::vector< std::string > & | decider_tags () const |
| const std::vector< ObjectDecisionType > & | decisions () const |
| void | AddLongitudinalDecision (const std::string &decider_tag, const ObjectDecisionType &decision) |
| void | AddLateralDecision (const std::string &decider_tag, const ObjectDecisionType &decision) |
| bool | HasLateralDecision () const |
| void | set_path_st_boundary (const STBoundary &boundary) |
| bool | is_path_st_boundary_initialized () |
| void | SetStBoundaryType (const STBoundary::BoundaryType type) |
| void | EraseStBoundary () |
| void | EraseDecision () |
| void | SetReferenceLineStBoundary (const STBoundary &boundary) |
| void | SetReferenceLineStBoundaryType (const STBoundary::BoundaryType type) |
| void | EraseReferenceLineStBoundary () |
| bool | HasLongitudinalDecision () const |
| bool | HasNonIgnoreDecision () const |
| double | MinRadiusStopDistance (const common::VehicleParam &vehicle_param) const |
| Calculate stop distance with the obstacle using the ADC's minimum turning radius | |
| bool | IsIgnore () const |
| Check if this object can be safely ignored. | |
| bool | IsLongitudinalIgnore () const |
| bool | IsLateralIgnore () const |
| void | BuildReferenceLineStBoundary (const ReferenceLine &reference_line, const double adc_start_s) |
| void | SetPerceptionSlBoundary (const SLBoundary &sl_boundary) |
| void | SetBlockingObstacle (bool blocking) |
| bool | IsBlockingObstacle () const |
| bool | IsLaneBlocking () const |
| void | CheckLaneBlocking (const ReferenceLine &reference_line) |
| bool | IsLaneChangeBlocking () const |
| void | SetLaneChangeBlocking (const bool is_distance_clear) |
| common::math::Polygon2d | GetObstacleTrajectoryPolygon (const common::TrajectoryPoint &point) const |
静态 Public 成员函数 | |
| static std::list< std::unique_ptr< Obstacle > > | CreateObstacles (const prediction::PredictionObstacles &predictions) |
| This is a helper function that can create obstacles from prediction data. | |
| static std::unique_ptr< Obstacle > | CreateStaticVirtualObstacles (const std::string &id, const common::math::Box2d &obstacle_box) |
| static bool | IsValidPerceptionObstacle (const perception::PerceptionObstacle &obstacle) |
| static bool | IsValidTrajectoryPoint (const common::TrajectoryPoint &point) |
| static bool | IsLongitudinalDecision (const ObjectDecisionType &decision) |
| check if an ObjectDecisionType is a longitudinal decision. | |
| static bool | IsLateralDecision (const ObjectDecisionType &decision) |
| check if an ObjectDecisionType is a lateral decision. | |
This is the class that associates an Obstacle with its path properties.
An obstacle's path properties relative to a path. The s and l values are examples of path properties. The decision of an obstacle is also associated with a path.
The decisions have two categories: lateral decision and longitudinal decision. Lateral decision includes: nudge, ignore. Lateral decision safety priority: nudge > ignore. Longitudinal decision includes: stop, yield, follow, overtake, ignore. Decision safety priorities order: stop > yield >= follow > overtake > ignore
Ignore decision belongs to both lateral decision and longitudinal decision, and it has the lowest priority.
在文件 obstacle.h 第 62 行定义.
|
default |
| apollo::planning::Obstacle::Obstacle | ( | const std::string & | id, |
| const perception::PerceptionObstacle & | perception_obstacle, | ||
| const prediction::ObstaclePriority::Priority & | obstacle_priority, | ||
| const bool | is_static | ||
| ) |
在文件 obstacle.cc 第 63 行定义.
| apollo::planning::Obstacle::Obstacle | ( | const std::string & | id, |
| const perception::PerceptionObstacle & | perception_obstacle, | ||
| const prediction::Trajectory & | trajectory, | ||
| const prediction::ObstaclePriority::Priority & | obstacle_priority, | ||
| const bool | is_static | ||
| ) |
在文件 obstacle.cc 第 98 行定义.
| void apollo::planning::Obstacle::AddLateralDecision | ( | const std::string & | decider_tag, |
| const ObjectDecisionType & | decision | ||
| ) |
在文件 obstacle.cc 第 661 行定义.
| void apollo::planning::Obstacle::AddLongitudinalDecision | ( | const std::string & | decider_tag, |
| const ObjectDecisionType & | decision | ||
| ) |
在文件 obstacle.cc 第 646 行定义.
| void apollo::planning::Obstacle::BuildReferenceLineStBoundary | ( | const ReferenceLine & | reference_line, |
| const double | adc_start_s | ||
| ) |
在文件 obstacle.cc 第 316 行定义.
| void apollo::planning::Obstacle::CheckLaneBlocking | ( | const ReferenceLine & | reference_line | ) |
在文件 obstacle.cc 第 739 行定义.
|
static |
This is a helper function that can create obstacles from prediction data.
The original prediction may have multiple trajectories for each obstacle. But this function will create one obstacle for each trajectory.
| predictions | The prediction results |
在文件 obstacle.cc 第 197 行定义.
|
static |
在文件 obstacle.cc 第 244 行定义.
| std::string apollo::planning::Obstacle::DebugString | ( | ) | const |
在文件 obstacle.cc 第 675 行定义.
| const std::vector< std::string > & apollo::planning::Obstacle::decider_tags | ( | ) | const |
在文件 obstacle.cc 第 525 行定义.
| const std::vector< ObjectDecisionType > & apollo::planning::Obstacle::decisions | ( | ) | const |
在文件 obstacle.cc 第 529 行定义.
| void apollo::planning::Obstacle::EraseDecision | ( | ) |
在文件 obstacle.cc 第 709 行定义.
| void apollo::planning::Obstacle::EraseReferenceLineStBoundary | ( | ) |
在文件 obstacle.cc 第 724 行定义.
| void apollo::planning::Obstacle::EraseStBoundary | ( | ) |
在文件 obstacle.cc 第 707 行定义.
| common::math::Box2d apollo::planning::Obstacle::GetBoundingBox | ( | const common::TrajectoryPoint & | point | ) | const |
在文件 obstacle.cc 第 159 行定义.
| common::math::Polygon2d apollo::planning::Obstacle::GetObstacleTrajectoryPolygon | ( | const common::TrajectoryPoint & | point | ) | const |
在文件 obstacle.cc 第 773 行定义.
| common::TrajectoryPoint apollo::planning::Obstacle::GetPointAtTime | ( | const double | time | ) | const |
在文件 obstacle.cc 第 124 行定义.
| bool apollo::planning::Obstacle::HasLateralDecision | ( | ) | const |
在文件 obstacle.cc 第 631 行定义.
| bool apollo::planning::Obstacle::HasLongitudinalDecision | ( | ) | const |
在文件 obstacle.cc 第 636 行定义.
| bool apollo::planning::Obstacle::HasNonIgnoreDecision | ( | ) | const |
在文件 obstacle.cc 第 641 行定义.
|
inline |
在文件 obstacle.h 第 98 行定义.
|
inline |
在文件 obstacle.h 第 75 行定义.
|
inline |
在文件 obstacle.h 第 165 行定义.
|
inline |
在文件 obstacle.h 第 217 行定义.
|
inline |
在文件 obstacle.h 第 124 行定义.
| bool apollo::planning::Obstacle::IsIgnore | ( | ) | const |
Check if this object can be safely ignored.
The object will be ignored if the lateral decision is ignore and the longitudinal decision is ignore return longitudinal_decision_ == ignore && lateral_decision == ignore.
在文件 obstacle.cc 第 585 行定义.
|
inline |
在文件 obstacle.h 第 222 行定义.
|
inline |
在文件 obstacle.h 第 224 行定义.
|
static |
check if an ObjectDecisionType is a lateral decision.
在文件 obstacle.cc 第 533 行定义.
| bool apollo::planning::Obstacle::IsLateralIgnore | ( | ) | const |
在文件 obstacle.cc 第 593 行定义.
|
static |
check if an ObjectDecisionType is a longitudinal decision.
在文件 obstacle.cc 第 537 行定义.
| bool apollo::planning::Obstacle::IsLongitudinalIgnore | ( | ) | const |
在文件 obstacle.cc 第 589 行定义.
|
inline |
在文件 obstacle.h 第 82 行定义.
|
static |
在文件 obstacle.cc 第 167 行定义.
|
static |
在文件 obstacle.cc 第 278 行定义.
|
inline |
在文件 obstacle.h 第 83 行定义.
| const ObjectDecisionType & apollo::planning::Obstacle::LateralDecision | ( | ) | const |
return the merged lateral decision Lateral decision is one of {Nudge, Ignore}
在文件 obstacle.cc 第 581 行定义.
| const ObjectDecisionType & apollo::planning::Obstacle::LongitudinalDecision | ( | ) | const |
return the merged longitudinal decision Longitudinal decision is one of {Stop, Yield, Follow, Overtake, Ignore}
在文件 obstacle.cc 第 577 行定义.
| double apollo::planning::Obstacle::MinRadiusStopDistance | ( | const common::VehicleParam & | vehicle_param | ) | const |
Calculate stop distance with the obstacle using the ADC's minimum turning radius
在文件 obstacle.cc 第 293 行定义.
| const STBoundary & apollo::planning::Obstacle::path_st_boundary | ( | ) | const |
在文件 obstacle.cc 第 521 行定义.
|
inline |
在文件 obstacle.h 第 102 行定义.
|
inline |
在文件 obstacle.h 第 90 行定义.
|
inline |
在文件 obstacle.h 第 80 行定义.
|
inline |
在文件 obstacle.h 第 93 行定义.
| const SLBoundary & apollo::planning::Obstacle::PerceptionSLBoundary | ( | ) | const |
在文件 obstacle.cc 第 694 行定义.
| void apollo::planning::Obstacle::PrintPolygonCurve | ( | ) | const |
在文件 obstacle.cc 第 796 行定义.
| const STBoundary & apollo::planning::Obstacle::reference_line_st_boundary | ( | ) | const |
在文件 obstacle.cc 第 517 行定义.
| void apollo::planning::Obstacle::set_path_st_boundary | ( | const STBoundary & | boundary | ) |
在文件 obstacle.cc 第 698 行定义.
|
inline |
在文件 obstacle.h 第 216 行定义.
|
inline |
在文件 obstacle.h 第 76 行定义.
| void apollo::planning::Obstacle::SetLaneChangeBlocking | ( | const bool | is_distance_clear | ) |
在文件 obstacle.cc 第 767 行定义.
| void apollo::planning::Obstacle::SetPerceptionSlBoundary | ( | const SLBoundary & | sl_boundary | ) |
在文件 obstacle.cc 第 289 行定义.
| void apollo::planning::Obstacle::SetReferenceLineStBoundary | ( | const STBoundary & | boundary | ) |
在文件 obstacle.cc 第 715 行定义.
| void apollo::planning::Obstacle::SetReferenceLineStBoundaryType | ( | const STBoundary::BoundaryType | type | ) |
在文件 obstacle.cc 第 719 行定义.
| void apollo::planning::Obstacle::SetStBoundaryType | ( | const STBoundary::BoundaryType | type | ) |
在文件 obstacle.cc 第 703 行定义.
|
inline |
在文件 obstacle.h 第 78 行定义.
|
inline |
在文件 obstacle.h 第 96 行定义.