Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,9 @@ class Optimizer

/**
* @brief Reset the optimization problem to initial conditions
* @param Whether to reset the constraints to its base values
*/
void reset();
void reset(bool reset_dynamic_speed_limits = true);

/**
* @brief Get the motion model time step
Expand Down
2 changes: 1 addition & 1 deletion nav2_mppi_controller/src/controller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ void MPPIController::deactivate()

void MPPIController::reset()
{
optimizer_.reset();
optimizer_.reset(false /*Don't reset zone-based speed limits between requests*/);
}

geometry_msgs::msg::TwistStamped MPPIController::computeVelocityCommands(
Expand Down
6 changes: 4 additions & 2 deletions nav2_mppi_controller/src/optimizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ void Optimizer::setOffset(double controller_frequency)
}
}

void Optimizer::reset()
void Optimizer::reset(bool reset_dynamic_speed_limits)
{
state_.reset(settings_.batch_size, settings_.time_steps);
control_sequence_.reset(settings_.time_steps);
Expand All @@ -141,7 +141,9 @@ void Optimizer::reset()
control_history_[2] = {0.0f, 0.0f, 0.0f};
control_history_[3] = {0.0f, 0.0f, 0.0f};

settings_.constraints = settings_.base_constraints;
if (reset_dynamic_speed_limits) {
settings_.constraints = settings_.base_constraints;
}

costs_.setZero(settings_.batch_size);
generated_trajectories_.reset(settings_.batch_size, settings_.time_steps);
Expand Down
Loading