From f7e18e09fa1543575f6d0cf039ea03e718e14637 Mon Sep 17 00:00:00 2001 From: Florian Vahl Date: Sun, 1 Jan 2023 19:04:16 +0100 Subject: [PATCH 1/3] Fix cv_bridge deprication warning --- src/ros_bridge/src/webots_controller.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ros_bridge/src/webots_controller.cpp b/src/ros_bridge/src/webots_controller.cpp index 8b75351..1bc8db9 100644 --- a/src/ros_bridge/src/webots_controller.cpp +++ b/src/ros_bridge/src/webots_controller.cpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include "ros_bridge/robot_client/robot_client.hpp" From b85ccbe31d3d3e011b61a27371837aa709155239 Mon Sep 17 00:00:00 2001 From: Florian Vahl Date: Sun, 1 Jan 2023 20:50:04 +0100 Subject: [PATCH 2/3] Fix relative file access --- src/ros_bridge/src/webots_controller.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ros_bridge/src/webots_controller.cpp b/src/ros_bridge/src/webots_controller.cpp index 1bc8db9..165a17b 100644 --- a/src/ros_bridge/src/webots_controller.cpp +++ b/src/ros_bridge/src/webots_controller.cpp @@ -28,6 +28,7 @@ class WebotsController : public rclcpp::Node { // Parameters this->declare_parameter("host", "127.0.0.1"); this->declare_parameter("port", 10001); + this->declare_parameter("devices", "src/ros_bridge/resources/devices.json"); // Publishers clock_publisher_ = this->create_publisher("clock", 10); @@ -52,8 +53,14 @@ class WebotsController : public rclcpp::Node { // Enable devices ActuatorRequests request; Json::Value devices; - std::ifstream json_file("src/ros_bridge/resources/devices.json"); - json_file >> devices; + std::ifstream json_file(this->get_parameter("devices").as_string()); + + // Check if we can open the file + if (json_file.is_open()) { + json_file >> devices; + } else { + throw std::runtime_error("Could not open devices.json, check 'devices' parameter!"); + } // Cameras for (unsigned int i = 0; i < devices["cameras"].size(); i++) { From 5bf8a7d83e10e6464571ee01f3ac4097b632c405 Mon Sep 17 00:00:00 2001 From: Florian Vahl Date: Sun, 1 Jan 2023 20:50:25 +0100 Subject: [PATCH 3/3] Fix misscaled time --- src/ros_bridge/src/webots_controller.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ros_bridge/src/webots_controller.cpp b/src/ros_bridge/src/webots_controller.cpp index 165a17b..ce4e3fd 100644 --- a/src/ros_bridge/src/webots_controller.cpp +++ b/src/ros_bridge/src/webots_controller.cpp @@ -102,7 +102,10 @@ class WebotsController : public rclcpp::Node { client->sendRequest(request); SensorMeasurements sensors = client->receive(); auto clk = rosgraph_msgs::msg::Clock(); - clk.clock = rclcpp::Time(sensors.time()); + int time = sensors.time(); // Time in ms + clk.clock.sec = time / 1000; + clk.clock.nanosec = (time % 1000) * 1000000; + clock_publisher_->publish(clk); publishImage(sensors); publishSensors(sensors);