File tree Expand file tree Collapse file tree 3 files changed +7
-4
lines changed
include/nav2_mppi_controller Expand file tree Collapse file tree 3 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -120,8 +120,9 @@ class Optimizer
120120
121121 /* *
122122 * @brief Reset the optimization problem to initial conditions
123+ * @param Whether to reset the constraints to its base values
123124 */
124- void reset ();
125+ void reset (bool reset_dynamic_speed_limits = true );
125126
126127 /* *
127128 * @brief Get the motion model time step
Original file line number Diff line number Diff line change @@ -86,7 +86,7 @@ void MPPIController::deactivate()
8686
8787void MPPIController::reset ()
8888{
89- optimizer_.reset ();
89+ optimizer_.reset (false /* Don't reset zone-based speed limits between requests */ );
9090}
9191
9292geometry_msgs::msg::TwistStamped MPPIController::computeVelocityCommands (
Original file line number Diff line number Diff line change @@ -132,7 +132,7 @@ void Optimizer::setOffset(double controller_frequency)
132132 }
133133}
134134
135- void Optimizer::reset ()
135+ void Optimizer::reset (bool reset_dynamic_speed_limits )
136136{
137137 state_.reset (settings_.batch_size , settings_.time_steps );
138138 control_sequence_.reset (settings_.time_steps );
@@ -141,7 +141,9 @@ void Optimizer::reset()
141141 control_history_[2 ] = {0 .0f , 0 .0f , 0 .0f };
142142 control_history_[3 ] = {0 .0f , 0 .0f , 0 .0f };
143143
144- settings_.constraints = settings_.base_constraints ;
144+ if (reset_dynamic_speed_limits) {
145+ settings_.constraints = settings_.base_constraints ;
146+ }
145147
146148 costs_.setZero (settings_.batch_size );
147149 generated_trajectories_.reset (settings_.batch_size , settings_.time_steps );
You can’t perform that action at this time.
0 commit comments