Skip to content

Commit 07097d8

Browse files
authored
Support zero value for std_wz in mppi controller (#5110)
* Support zero value for std_wz in mppi controller Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> * Update for better readability Signed-off-by: mini-1235 <mauricepurnawan@gmail.com> --------- Signed-off-by: mini-1235 <mauricepurnawan@gmail.com>
1 parent f5543c3 commit 07097d8

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

nav2_mppi_controller/src/optimizer.cpp

+7-4
Original file line numberDiff line numberDiff line change
@@ -438,13 +438,16 @@ void Optimizer::updateControlSequence()
438438
auto & s = settings_;
439439

440440
auto vx_T = control_sequence_.vx.transpose();
441-
auto wz_T = control_sequence_.wz.transpose();
442441
auto bounded_noises_vx = state_.cvx.rowwise() - vx_T;
443-
auto bounded_noises_wz = state_.cwz.rowwise() - wz_T;
444442
const float gamma_vx = s.gamma / (s.sampling_std.vx * s.sampling_std.vx);
445-
const float gamma_wz = s.gamma / (s.sampling_std.wz * s.sampling_std.wz);
446443
costs_ += (gamma_vx * (bounded_noises_vx.rowwise() * vx_T).rowwise().sum()).eval();
447-
costs_ += (gamma_wz * (bounded_noises_wz.rowwise() * wz_T).rowwise().sum()).eval();
444+
445+
if (s.sampling_std.wz > 0.0f) {
446+
auto wz_T = control_sequence_.wz.transpose();
447+
auto bounded_noises_wz = state_.cwz.rowwise() - wz_T;
448+
const float gamma_wz = s.gamma / (s.sampling_std.wz * s.sampling_std.wz);
449+
costs_ += (gamma_wz * (bounded_noises_wz.rowwise() * wz_T).rowwise().sum()).eval();
450+
}
448451

449452
if (is_holo) {
450453
auto vy_T = control_sequence_.vy.transpose();

0 commit comments

Comments
 (0)