Skip to content

Commit edd2ba3

Browse files
clean up
Signed-off-by: Arjun Jagdish Ram <arjun.ram@tier4.jp>
1 parent 0fb9b2a commit edd2ba3

File tree

2 files changed

+12
-21
lines changed

2 files changed

+12
-21
lines changed

planning/autoware_path_optimizer/include/autoware/path_optimizer/mpt_optimizer.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,7 @@ class MPTOptimizer
321321
mutable std::shared_ptr<DebugData> debug_data_ptr_;
322322
mutable std::shared_ptr<autoware_utils::TimeKeeper> time_keeper_;
323323
rclcpp::Logger logger_;
324+
mutable std::shared_ptr<ConditionalTimer> conditional_timer_{nullptr};
324325
MPTParam mpt_param_;
325326

326327
StateEquationGenerator state_equation_generator_;

planning/autoware_path_optimizer/src/mpt_optimizer.cpp

+11-21
Original file line numberDiff line numberDiff line change
@@ -128,18 +128,6 @@ std::vector<double> toStdVector(const Eigen::VectorXd & eigen_vec)
128128
return {eigen_vec.data(), eigen_vec.data() + eigen_vec.rows()};
129129
}
130130

131-
std::string vectorToString(const std::vector<double> & vec)
132-
{
133-
std::ostringstream oss;
134-
if (!vec.empty()) {
135-
oss << vec.front(); // Add the first element
136-
for (size_t i = 1; i < vec.size(); ++i) {
137-
oss << "," << vec[i]; // Add the rest with commas
138-
}
139-
}
140-
return oss.str();
141-
}
142-
143131
bool isLeft(const geometry_msgs::msg::Pose & pose, const geometry_msgs::msg::Point & target_pos)
144132
{
145133
const double base_theta = tf2::getYaw(pose.orientation);
@@ -420,7 +408,8 @@ MPTOptimizer::MPTOptimizer(
420408
traj_param_(traj_param),
421409
debug_data_ptr_(debug_data_ptr),
422410
time_keeper_(time_keeper),
423-
logger_(node->get_logger().get_child("mpt_optimizer"))
411+
logger_(node->get_logger().get_child("mpt_optimizer")),
412+
conditional_timer_(std::make_shared<ConditionalTimer>())
424413
{
425414
// initialize mpt param
426415
mpt_param_ = MPTParam(node, vehicle_info);
@@ -505,6 +494,15 @@ std::pair<std::vector<TrajectoryPoint>, int> MPTOptimizer::optimizeTrajectory(
505494
return traj_points;
506495
};
507496

497+
conditional_timer_->update(true);
498+
499+
const double elapsed_time = conditional_timer_->getElapsedTime().count();
500+
const bool elapsed_time_over_twenty_seconds = (elapsed_time > 20.0);
501+
502+
if (elapsed_time_over_twenty_seconds) {
503+
return std::make_pair(get_prev_optimized_traj_points(), -1);
504+
}
505+
508506
// 1. calculate reference points
509507
auto ref_points = calcReferencePoints(planner_data, traj_points);
510508
if (ref_points.size() < 2) {
@@ -1546,10 +1544,6 @@ std::optional<Eigen::VectorXd> MPTOptimizer::calcOptimizedSteerAngles(
15461544
const int solution_status = osqp_result.solution_status;
15471545
prev_solution_status_ = solution_status;
15481546
if (solution_status != 1) {
1549-
const std::vector<double> lagrange_multiplier = osqp_result.lagrange_multipliers;
1550-
const int status_polish = osqp_result.polish_status;
1551-
const int exit_flag = osqp_result.exit_flag;
1552-
15531547
osqp_solver_ptr_->logUnsolvedStatus("[MPT]");
15541548
return std::nullopt;
15551549
}
@@ -1566,10 +1560,6 @@ std::optional<Eigen::VectorXd> MPTOptimizer::calcOptimizedSteerAngles(
15661560
optimization_result.begin(), optimization_result.end(),
15671561
[](const auto v) { return std::isnan(v); });
15681562
if (has_nan) {
1569-
const std::vector<double> lagrange_multiplier = osqp_result.lagrange_multipliers;
1570-
const int status_polish = osqp_result.polish_status;
1571-
const int exit_flag = osqp_result.exit_flag;
1572-
15731563
return std::nullopt;
15741564
}
15751565
const Eigen::VectorXd optimized_variables =

0 commit comments

Comments
 (0)