From 73551ef452aef5f6433d051c361107ac30262390 Mon Sep 17 00:00:00 2001 From: ralphieraccoon Date: Sun, 2 Feb 2025 19:36:08 +0000 Subject: [PATCH] Guard condition to check node clock is not zero, to suppress "No clock received" error from ros2_control. (#1027) Added guard condition to check node clock is not zero, to suppress "No clock received" error from ros2_control. --- webots_ros2_control/src/Ros2Control.cpp | 2 +- webots_ros2_driver/CMakeLists.txt | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/webots_ros2_control/src/Ros2Control.cpp b/webots_ros2_control/src/Ros2Control.cpp index e610edc1c..fb253da55 100644 --- a/webots_ros2_control/src/Ros2Control.cpp +++ b/webots_ros2_control/src/Ros2Control.cpp @@ -90,7 +90,7 @@ namespace webots_ros2_control { void Ros2Control::step() { const int nowMs = wb_robot_get_time() * 1000.0; const int periodMs = nowMs - mLastControlUpdateMs; - if (periodMs >= mControlPeriodMs) { + if (periodMs >= mControlPeriodMs && mNode->get_clock()->now() != rclcpp::Time(0, 0, mNode->get_clock()->get_clock_type())) { const rclcpp::Duration dt = rclcpp::Duration::from_seconds(mControlPeriodMs / 1000.0); mControllerManager->read(mNode->get_clock()->now(), dt); diff --git a/webots_ros2_driver/CMakeLists.txt b/webots_ros2_driver/CMakeLists.txt index 8856bcb90..693d9eda9 100644 --- a/webots_ros2_driver/CMakeLists.txt +++ b/webots_ros2_driver/CMakeLists.txt @@ -32,6 +32,8 @@ find_package(yaml-cpp REQUIRED) if($ENV{ROS_DISTRO} MATCHES "humble") find_package(Python 3.10 EXACT REQUIRED COMPONENTS Development) +elseif($ENV{ROS_DISTRO} MATCHES "iron") + find_package(Python 3.10 EXACT REQUIRED COMPONENTS Development) elseif($ENV{ROS_DISTRO} MATCHES "jazzy") find_package(Python 3.12 EXACT REQUIRED COMPONENTS Development) elseif($ENV{ROS_DISTRO} MATCHES "rolling")