Apollo 11.0
自动驾驶开放平台
apollo::planning::AffineConstraint类 参考

#include <affine_constraint.h>

apollo::planning::AffineConstraint 的协作图:

Public 成员函数

 AffineConstraint ()=default
 
 AffineConstraint (const bool is_equality)
 
 AffineConstraint (const Eigen::MatrixXd &constraint_matrix, const Eigen::MatrixXd &constraint_boundary, const bool is_equality)
 
void SetIsEquality (const double is_equality)
 
const Eigen::MatrixXd & constraint_matrix () const
 
const Eigen::MatrixXd & constraint_boundary () const
 
bool AddConstraint (const Eigen::MatrixXd &constraint_matrix, const Eigen::MatrixXd &constraint_boundary)
 

详细描述

在文件 affine_constraint.h 第 30 行定义.

构造及析构函数说明

◆ AffineConstraint() [1/3]

apollo::planning::AffineConstraint::AffineConstraint ( )
default

◆ AffineConstraint() [2/3]

apollo::planning::AffineConstraint::AffineConstraint ( const bool  is_equality)
explicit

在文件 affine_constraint.cc 第 28 行定义.

29 : is_equality_(is_equality) {}

◆ AffineConstraint() [3/3]

apollo::planning::AffineConstraint::AffineConstraint ( const Eigen::MatrixXd &  constraint_matrix,
const Eigen::MatrixXd &  constraint_boundary,
const bool  is_equality 
)

在文件 affine_constraint.cc 第 31 行定义.

34 : constraint_matrix_(constraint_matrix),
35 constraint_boundary_(constraint_boundary),
36 is_equality_(is_equality) {
37 CHECK_EQ(constraint_boundary.rows(), constraint_matrix.rows());
38}
const Eigen::MatrixXd & constraint_boundary() const
const Eigen::MatrixXd & constraint_matrix() const

成员函数说明

◆ AddConstraint()

bool apollo::planning::AffineConstraint::AddConstraint ( const Eigen::MatrixXd &  constraint_matrix,
const Eigen::MatrixXd &  constraint_boundary 
)

在文件 affine_constraint.cc 第 52 行定义.

54 {
55 if (constraint_matrix.rows() != constraint_boundary.rows()) {
56 AERROR << "Fail to add constraint because constraint matrix rows != "
57 "constraint boundary rows.";
58 AERROR << "constraint matrix rows = " << constraint_matrix.rows();
59 AERROR << "constraint boundary rows = " << constraint_boundary.rows();
60 return false;
61 }
62
63 if (constraint_matrix_.rows() == 0) {
64 constraint_matrix_ = constraint_matrix;
65 constraint_boundary_ = constraint_boundary;
66 return true;
67 }
68 if (constraint_matrix_.cols() != constraint_matrix.cols()) {
69 AERROR
70 << "constraint_matrix_ cols and constraint_matrix cols do not match.";
71 AERROR << "constraint_matrix_.cols() = " << constraint_matrix_.cols();
72 AERROR << "constraint_matrix.cols() = " << constraint_matrix.cols();
73 return false;
74 }
75 if (constraint_boundary.cols() != 1) {
76 AERROR << "constraint_boundary.cols() should be 1.";
77 return false;
78 }
79
80 Eigen::MatrixXd n_matrix(constraint_matrix_.rows() + constraint_matrix.rows(),
81 constraint_matrix_.cols());
82 Eigen::MatrixXd n_boundary(
83 constraint_boundary_.rows() + constraint_boundary.rows(), 1);
84
85 n_matrix << constraint_matrix_, constraint_matrix;
86 n_boundary << constraint_boundary_, constraint_boundary;
87 constraint_matrix_ = n_matrix;
88 constraint_boundary_ = n_boundary;
89 return true;
90}
#define AERROR
Definition log.h:44

◆ constraint_boundary()

const Eigen::MatrixXd & apollo::planning::AffineConstraint::constraint_boundary ( ) const

在文件 affine_constraint.cc 第 48 行定义.

48 {
49 return constraint_boundary_;
50}

◆ constraint_matrix()

const Eigen::MatrixXd & apollo::planning::AffineConstraint::constraint_matrix ( ) const

在文件 affine_constraint.cc 第 44 行定义.

44 {
45 return constraint_matrix_;
46}

◆ SetIsEquality()

void apollo::planning::AffineConstraint::SetIsEquality ( const double  is_equality)

在文件 affine_constraint.cc 第 40 行定义.

40 {
41 is_equality_ = is_equality;
42}

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