Apollo 10.0
自动驾驶开放平台
apollo::prediction::Evaluator类 参考abstract

#include <evaluator.h>

类 apollo::prediction::Evaluator 继承关系图:
apollo::prediction::Evaluator 的协作图:

Public 成员函数

 Evaluator ()=default
 Constructor
 
virtual ~Evaluator ()=default
 Destructor
 
virtual bool Evaluate (Obstacle *obstacle, ObstaclesContainer *obstacles_container)=0
 Evaluate an obstacle
 
virtual bool Evaluate (Obstacle *obstacle, ObstaclesContainer *obstacles_container, std::vector< Obstacle * > dynamic_env)
 Evaluate an obstacle
 
virtual bool Evaluate (const ADCTrajectoryContainer *adc_trajectory_container, Obstacle *obstacle, ObstaclesContainer *obstacles_container)
 Evaluate an obstacle
 
virtual std::string GetName ()=0
 Get the name of evaluator
 

Protected 成员函数

std::pair< double, double > WorldCoordToObjCoord (std::pair< double, double > input_world_coord, std::pair< double, double > obj_world_coord, double obj_world_angle)
 
std::pair< double, double > WorldCoordToObjCoordNorth (std::pair< double, double > input_world_coord, std::pair< double, double > obj_world_coord, double obj_world_angle)
 
double WorldAngleToObjAngle (double input_world_angle, double obj_world_angle)
 
Eigen::MatrixXf VectorToMatrixXf (const std::vector< double > &nums, const int start_index, const int end_index)
 
Eigen::MatrixXf VectorToMatrixXf (const std::vector< double > &nums, const int start_index, const int end_index, const int output_num_row, const int output_num_col)
 

Protected 属性

ObstacleConf::EvaluatorType evaluator_type_
 

详细描述

在文件 evaluator.h40 行定义.

构造及析构函数说明

◆ Evaluator()

apollo::prediction::Evaluator::Evaluator ( )
default

Constructor

◆ ~Evaluator()

virtual apollo::prediction::Evaluator::~Evaluator ( )
virtualdefault

Destructor

成员函数说明

◆ Evaluate() [1/3]

virtual bool apollo::prediction::Evaluator::Evaluate ( const ADCTrajectoryContainer adc_trajectory_container,
Obstacle obstacle,
ObstaclesContainer obstacles_container 
)
inlinevirtual

Evaluate an obstacle

参数
ADCtrajectory container
Obstaclepointer
Obstaclescontainer

apollo::prediction::MultiAgentEvaluator , 以及 apollo::prediction::JointlyPredictionPlanningEvaluator 重载.

在文件 evaluator.h81 行定义.

83 {
84 return Evaluate(obstacle, obstacles_container);
85 }
virtual bool Evaluate(Obstacle *obstacle, ObstaclesContainer *obstacles_container)=0
Evaluate an obstacle

◆ Evaluate() [2/3]

◆ Evaluate() [3/3]

virtual bool apollo::prediction::Evaluator::Evaluate ( Obstacle obstacle,
ObstaclesContainer obstacles_container,
std::vector< Obstacle * >  dynamic_env 
)
inlinevirtual

Evaluate an obstacle

参数
Obstaclepointer
Obstaclescontainer
vectorof all Obstacles

apollo::prediction::LaneScanningEvaluator 重载.

在文件 evaluator.h69 行定义.

71 {
72 return Evaluate(obstacle, obstacles_container);
73 }

◆ GetName()

◆ VectorToMatrixXf() [1/2]

Eigen::MatrixXf apollo::prediction::Evaluator::VectorToMatrixXf ( const std::vector< double > &  nums,
const int  start_index,
const int  end_index 
)
inlineprotected

在文件 evaluator.h121 行定义.

122 {
123 CHECK_LT(start_index, end_index);
124 CHECK_GE(start_index, 0);
125 CHECK_LE(end_index, static_cast<int>(nums.size()));
126 Eigen::MatrixXf output_matrix;
127 output_matrix.resize(1, end_index - start_index);
128 for (int i = start_index; i < end_index; ++i) {
129 output_matrix(0, i - start_index) = static_cast<float>(nums[i]);
130 }
131 return output_matrix;
132 }

◆ VectorToMatrixXf() [2/2]

Eigen::MatrixXf apollo::prediction::Evaluator::VectorToMatrixXf ( const std::vector< double > &  nums,
const int  start_index,
const int  end_index,
const int  output_num_row,
const int  output_num_col 
)
inlineprotected

在文件 evaluator.h134 行定义.

137 {
138 CHECK_LT(start_index, end_index);
139 CHECK_GE(start_index, 0);
140 CHECK_LE(end_index, static_cast<int>(nums.size()));
141 CHECK_EQ(end_index - start_index, output_num_row * output_num_col);
142 Eigen::MatrixXf output_matrix;
143 output_matrix.resize(output_num_row, output_num_col);
144 int input_index = start_index;
145 for (int i = 0; i < output_num_row; ++i) {
146 for (int j = 0; j < output_num_col; ++j) {
147 output_matrix(i, j) = static_cast<float>(nums[input_index]);
148 ++input_index;
149 }
150 }
151 CHECK_EQ(input_index, end_index);
152 return output_matrix;
153 }

◆ WorldAngleToObjAngle()

double apollo::prediction::Evaluator::WorldAngleToObjAngle ( double  input_world_angle,
double  obj_world_angle 
)
inlineprotected

在文件 evaluator.h116 行定义.

117 {
118 return common::math::NormalizeAngle(input_world_angle - obj_world_angle);
119 }
double NormalizeAngle(const double angle)
Normalize angle to [-PI, PI).
Definition math_utils.cc:53

◆ WorldCoordToObjCoord()

std::pair< double, double > apollo::prediction::Evaluator::WorldCoordToObjCoord ( std::pair< double, double >  input_world_coord,
std::pair< double, double >  obj_world_coord,
double  obj_world_angle 
)
inlineprotected

在文件 evaluator.h94 行定义.

96 {
97 double x_diff = input_world_coord.first - obj_world_coord.first;
98 double y_diff = input_world_coord.second - obj_world_coord.second;
99 double rho = std::sqrt(x_diff * x_diff + y_diff * y_diff);
100 double theta = std::atan2(y_diff, x_diff) - obj_world_angle;
101
102 return std::make_pair(std::cos(theta) * rho, std::sin(theta) * rho);
103 }

◆ WorldCoordToObjCoordNorth()

std::pair< double, double > apollo::prediction::Evaluator::WorldCoordToObjCoordNorth ( std::pair< double, double >  input_world_coord,
std::pair< double, double >  obj_world_coord,
double  obj_world_angle 
)
inlineprotected

在文件 evaluator.h105 行定义.

107 {
108 double x_diff = input_world_coord.first - obj_world_coord.first;
109 double y_diff = input_world_coord.second - obj_world_coord.second;
110 double theta = M_PI / 2 - obj_world_angle;
111 double x = std::cos(theta) * x_diff - std::sin(theta) * y_diff;
112 double y = std::sin(theta) * x_diff + std::cos(theta) * y_diff;
113 return std::make_pair(x, y);
114 }

类成员变量说明

◆ evaluator_type_

ObstacleConf::EvaluatorType apollo::prediction::Evaluator::evaluator_type_
protected

在文件 evaluator.h156 行定义.


该类的文档由以下文件生成: