Skip to content

Commit

Permalink
nav2_controller: add loop rate log (#4228)
Browse files Browse the repository at this point in the history
* added current loop rate printout

Signed-off-by: ARK3r <kermani.areza@gmail.com>

* remove empty line

Signed-off-by: ARK3r <kermani.areza@gmail.com>

---------

Signed-off-by: ARK3r <kermani.areza@gmail.com>
  • Loading branch information
ARK3r committed Mar 28, 2024
1 parent 63b6d90 commit 19e3f46
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions nav2_controller/src/controller_server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,8 @@ void ControllerServer::computeControl()
last_valid_cmd_time_ = now();
rclcpp::WallRate loop_rate(controller_frequency_);
while (rclcpp::ok()) {
auto start_time = this->now();

if (action_server_ == nullptr || !action_server_->is_server_active()) {
RCLCPP_DEBUG(get_logger(), "Action server unavailable or inactive. Stopping.");
return;
Expand Down Expand Up @@ -479,10 +481,12 @@ void ControllerServer::computeControl()
break;
}

auto cycle_duration = this->now() - start_time;
if (!loop_rate.sleep()) {
RCLCPP_WARN(
get_logger(), "Control loop missed its desired rate of %.4fHz",
controller_frequency_);
get_logger(),
"Control loop missed its desired rate of %.4f Hz. Current loop rate is %.4f Hz.",
controller_frequency_, 1 / cycle_duration.seconds());
}
}
} catch (nav2_core::InvalidController & e) {
Expand Down

0 comments on commit 19e3f46

Please sign in to comment.