Go to the documentation of this file.
47 PRINT_WARNING(
"MinTimeViaPointsCost::update(): no via_point container specified");
65 assert(n == fd_grid->
getN());
70 _vp_association.resize(n, std::make_pair<std::vector<const teb_local_planner::PoseSE2*>, std::size_t>({}, 0));
79 int start_pose_idx = 0;
88 if (idx > n - 2) idx =
n - 2;
97 PRINT_DEBUG(
"TebOptimalPlanner::AddEdgesViaPoints(): skipping a via-point that is close or behind the current robot pose.");
108 if (item.first.size() != item.second)
110 item.second = item.first.size();
111 new_structure =
true;
117 return new_structure;
std::vector< std::pair< std::vector< const teb_local_planner::PoseSE2 * >, std::size_t > > _vp_association
#define PRINT_WARNING(msg)
std::shared_ptr< StagePreprocessor > Ptr
int findClosestPose(double x_ref, double y_ref, int start_idx=0, double *distance=nullptr) const
Find the closest pose (first part of the state vector) on the grid w.r.t. to a provided reference poi...
int getNonIntegralStateTermDimension(int k) const override
void computeNonIntegralStateTerm(int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, Eigen::Ref< Eigen::VectorXd > cost) const override
#define PRINT_DEBUG_NAMED(msg)
double _vp_orientation_weight
double _vp_position_weight
double normalize_theta(double theta)
normalize angle to interval [-pi, pi)
const ViaPointContainer * _via_points
int getN() const override
get current horizon length
Full discretization grid specialization for SE2.
bool update(int n, double, corbo::ReferenceTrajectoryInterface &, corbo::ReferenceTrajectoryInterface &, corbo::ReferenceTrajectoryInterface *, bool single_dt, const Eigen::VectorXd &x0, corbo::StagePreprocessor::Ptr, const std::vector< double > &, const corbo::DiscretizationGridInterface *grid) override
void computeNonIntegralDtTerm(int k, double dt, Eigen::Ref< Eigen::VectorXd > cost) const override
mpc_local_planner
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:35:06