From 98a9977066351a1e413b3e628029947d0d9ab5e9 Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Fri, 30 Aug 2024 14:31:56 +0900 Subject: [PATCH 1/8] chore(continental): add missing imports, fix symbols --- .../continental/continental_ars548_hw_interface_wrapper.hpp | 2 +- .../continental/continental_ars548_hw_interface_wrapper.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/nebula_ros/include/nebula_ros/continental/continental_ars548_hw_interface_wrapper.hpp b/nebula_ros/include/nebula_ros/continental/continental_ars548_hw_interface_wrapper.hpp index 2931ca5c1..e90112ea6 100644 --- a/nebula_ros/include/nebula_ros/continental/continental_ars548_hw_interface_wrapper.hpp +++ b/nebula_ros/include/nebula_ros/continental/continental_ars548_hw_interface_wrapper.hpp @@ -66,7 +66,7 @@ class ContinentalARS548HwInterfaceWrapper /// @brief Callback to send the steering angle information to the radar device /// @param msg The steering angle message - void SteeringAngleCallback(const std_msgs::msg::Float32::SharedPtr msg); + void steeringAngleCallback(const std_msgs::msg::Float32::SharedPtr msg); /// @brief Service callback to set the new sensor ip /// @param request service request diff --git a/nebula_ros/src/continental/continental_ars548_hw_interface_wrapper.cpp b/nebula_ros/src/continental/continental_ars548_hw_interface_wrapper.cpp index 9e6d3086f..890f01525 100644 --- a/nebula_ros/src/continental/continental_ars548_hw_interface_wrapper.cpp +++ b/nebula_ros/src/continental/continental_ars548_hw_interface_wrapper.cpp @@ -67,7 +67,8 @@ void ContinentalARS548HwInterfaceWrapper::SensorInterfaceStart() steering_angle_sub_ = parent_node_->create_subscription( "steering_angle_input", rclcpp::SensorDataQoS(), std::bind( - &ContinentalARS548HwInterfaceWrapper::SteeringAngleCallback, this, std::placeholders::_1)); + &::nebula::ros::ContinentalARS548HwInterfaceWrapper::steeringAngleCallback, this, + std::placeholders::_1)); set_network_configuration_service_server_ = parent_node_->create_service( @@ -151,7 +152,7 @@ void ContinentalARS548HwInterfaceWrapper::AccelerationCallback( hw_interface_->SetAccelerationLongitudinalCog(msg->accel.accel.linear.x); } -void ContinentalARS548HwInterfaceWrapper::SteeringAngleCallback( +void ContinentalARS548HwInterfaceWrapper::steeringAngleCallback( const std_msgs::msg::Float32::SharedPtr msg) { constexpr float rad_to_deg = 180.f / M_PI; From c3f90afcee57737431af047b357a0bc24bf84f3f Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Fri, 30 Aug 2024 14:34:13 +0900 Subject: [PATCH 2/8] chore(hesai): add missing imports --- nebula_ros/src/hesai/hesai_ros_wrapper.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nebula_ros/src/hesai/hesai_ros_wrapper.cpp b/nebula_ros/src/hesai/hesai_ros_wrapper.cpp index e0e0b91c1..c9d0e82ff 100644 --- a/nebula_ros/src/hesai/hesai_ros_wrapper.cpp +++ b/nebula_ros/src/hesai/hesai_ros_wrapper.cpp @@ -2,6 +2,10 @@ #include "nebula_ros/hesai/hesai_ros_wrapper.hpp" +#include "nebula_ros/common/parameter_descriptors.hpp" + +#include + #pragma clang diagnostic ignored "-Wbitwise-instead-of-logical" namespace nebula From 4580c2b7f9b109b69d07ee03da71e20c2717db38 Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Fri, 30 Aug 2024 14:35:06 +0900 Subject: [PATCH 3/8] feat(hesai): add multicast support --- .../nebula_common/hesai/hesai_common.hpp | 3 +++ .../hesai_hw_interface.cpp | 24 +++++++++++++------ nebula_ros/src/hesai/hesai_ros_wrapper.cpp | 1 + 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/nebula_common/include/nebula_common/hesai/hesai_common.hpp b/nebula_common/include/nebula_common/hesai/hesai_common.hpp index 555f4f1e8..50a5d55ab 100644 --- a/nebula_common/include/nebula_common/hesai/hesai_common.hpp +++ b/nebula_common/include/nebula_common/hesai/hesai_common.hpp @@ -34,6 +34,7 @@ namespace drivers /// @brief struct for Hesai sensor configuration struct HesaiSensorConfiguration : public LidarConfigurationBase { + std::string multicast_ip; uint16_t gnss_port{}; double scan_phase{}; double dual_return_distance_threshold{}; @@ -54,6 +55,8 @@ inline std::ostream & operator<<(std::ostream & os, HesaiSensorConfiguration con { os << "Hesai Sensor Configuration:" << '\n'; os << (LidarConfigurationBase)(arg) << '\n'; + os << "Multicast: " + << (arg.multicast_ip.empty() ? "disabled" : "enabled, group " + arg.multicast_ip) << '\n'; os << "GNSS Port: " << arg.gnss_port << '\n'; os << "Scan Phase: " << arg.scan_phase << '\n'; os << "Rotation Speed: " << arg.rotation_speed << '\n'; diff --git a/nebula_hw_interfaces/src/nebula_hesai_hw_interfaces/hesai_hw_interface.cpp b/nebula_hw_interfaces/src/nebula_hesai_hw_interfaces/hesai_hw_interface.cpp index 1657b72f7..dd5055850 100644 --- a/nebula_hw_interfaces/src/nebula_hesai_hw_interfaces/hesai_hw_interface.cpp +++ b/nebula_hw_interfaces/src/nebula_hesai_hw_interfaces/hesai_hw_interface.cpp @@ -144,8 +144,15 @@ Status HesaiHwInterface::SensorInterfaceStart() { try { std::cout << "Starting UDP server on: " << *sensor_configuration_ << std::endl; - cloud_udp_driver_->init_receiver( - sensor_configuration_->host_ip, sensor_configuration_->data_port); + if (sensor_configuration_->multicast_ip.empty()) { + cloud_udp_driver_->init_receiver( + sensor_configuration_->host_ip, sensor_configuration_->data_port); + } else { + cloud_udp_driver_->init_receiver( + sensor_configuration_->multicast_ip, sensor_configuration_->data_port, + sensor_configuration_->host_ip, sensor_configuration_->data_port); + cloud_udp_driver_->receiver()->setMulticast(true); + } #ifdef WITH_DEBUG_STDOUT_HESAI_HW_INTERFACE PrintError("init ok"); #endif @@ -165,8 +172,8 @@ Status HesaiHwInterface::SensorInterfaceStart() #endif } catch (const std::exception & ex) { Status status = Status::UDP_CONNECTION_ERROR; - std::cerr << status << sensor_configuration_->sensor_ip << "," - << sensor_configuration_->data_port << std::endl; + std::cerr << status << " for " << sensor_configuration_->sensor_ip << ":" + << sensor_configuration_->data_port << " - " << ex.what() << std::endl; return status; } return Status::OK; @@ -839,10 +846,13 @@ HesaiStatus HesaiHwInterface::CheckAndSetConfig( << static_cast(hesai_config.dest_ipaddr[2]) << "." << static_cast(hesai_config.dest_ipaddr[3]); auto current_host_addr = ss.str(); - if (sensor_configuration->host_ip != current_host_addr) { + auto desired_host_addr = sensor_configuration->multicast_ip.empty() + ? sensor_configuration->host_ip + : sensor_configuration->multicast_ip; + if (desired_host_addr != current_host_addr) { set_flg = true; PrintInfo("current lidar dest_ipaddr: " + current_host_addr); - PrintInfo("current configuration host_ip: " + sensor_configuration->host_ip); + PrintInfo("current configuration host_ip: " + desired_host_addr); } auto current_host_dport = hesai_config.dest_LiDAR_udp_port; @@ -867,7 +877,7 @@ HesaiStatus HesaiHwInterface::CheckAndSetConfig( if (set_flg) { std::vector list_string; - boost::split(list_string, sensor_configuration->host_ip, boost::is_any_of(".")); + boost::split(list_string, desired_host_addr, boost::is_any_of(".")); std::thread t([this, sensor_configuration, list_string] { SetDestinationIp( std::stoi(list_string[0]), std::stoi(list_string[1]), std::stoi(list_string[2]), diff --git a/nebula_ros/src/hesai/hesai_ros_wrapper.cpp b/nebula_ros/src/hesai/hesai_ros_wrapper.cpp index c9d0e82ff..2a212b8d1 100644 --- a/nebula_ros/src/hesai/hesai_ros_wrapper.cpp +++ b/nebula_ros/src/hesai/hesai_ros_wrapper.cpp @@ -81,6 +81,7 @@ nebula::Status HesaiRosWrapper::DeclareAndGetSensorConfigParams() config.host_ip = declare_parameter("host_ip", param_read_only()); config.sensor_ip = declare_parameter("sensor_ip", param_read_only()); + config.multicast_ip = declare_parameter("multicast_ip", param_read_only()); config.data_port = declare_parameter("data_port", param_read_only()); config.gnss_port = declare_parameter("gnss_port", param_read_only()); config.frame_id = declare_parameter("frame_id", param_read_write()); From 888eca1a59722ab1c3021df378a965838fa9a8ee Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Fri, 30 Aug 2024 14:36:30 +0900 Subject: [PATCH 4/8] chore(hesai): add multicast_ip parameter to schemas and param files --- nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml | 3 ++- nebula_ros/config/lidar/hesai/Pandar40P.param.yaml | 1 + nebula_ros/config/lidar/hesai/Pandar64.param.yaml | 1 + nebula_ros/config/lidar/hesai/PandarAT128.param.yaml | 1 + nebula_ros/config/lidar/hesai/PandarQT128.param.yaml | 1 + nebula_ros/config/lidar/hesai/PandarQT64.param.yaml | 1 + nebula_ros/config/lidar/hesai/PandarXT32.param.yaml | 1 + nebula_ros/config/lidar/hesai/PandarXT32M.param.yaml | 1 + nebula_ros/schema/Pandar128E4X.schema.json | 4 ++++ nebula_ros/schema/Pandar40P.schema.json | 4 ++++ nebula_ros/schema/Pandar64.schema.json | 4 ++++ nebula_ros/schema/PandarAT128.schema.json | 4 ++++ nebula_ros/schema/PandarQT128.schema.json | 4 ++++ nebula_ros/schema/PandarQT64.schema.json | 4 ++++ nebula_ros/schema/PandarXT32.schema.json | 4 ++++ nebula_ros/schema/PandarXT32M.schema.json | 4 ++++ nebula_ros/schema/sub/lidar_hesai.json | 7 +++++++ 17 files changed, 48 insertions(+), 1 deletion(-) diff --git a/nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml b/nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml index 7f0375f42..95066f9d3 100644 --- a/nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml +++ b/nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml @@ -1,7 +1,8 @@ /**: ros__parameters: - host_ip: 255.255.255.255 + host_ip: 192.168.1.10 sensor_ip: 192.168.1.201 + multicast_ip: 239.1.1.234 data_port: 2368 gnss_port: 10110 packet_mtu_size: 1500 diff --git a/nebula_ros/config/lidar/hesai/Pandar40P.param.yaml b/nebula_ros/config/lidar/hesai/Pandar40P.param.yaml index c24d61d36..0ee7b83ec 100644 --- a/nebula_ros/config/lidar/hesai/Pandar40P.param.yaml +++ b/nebula_ros/config/lidar/hesai/Pandar40P.param.yaml @@ -2,6 +2,7 @@ ros__parameters: host_ip: 255.255.255.255 sensor_ip: 192.168.1.201 + multicast_ip: "" data_port: 2368 gnss_port: 10110 packet_mtu_size: 1500 diff --git a/nebula_ros/config/lidar/hesai/Pandar64.param.yaml b/nebula_ros/config/lidar/hesai/Pandar64.param.yaml index 1a1b975f6..1bb195550 100644 --- a/nebula_ros/config/lidar/hesai/Pandar64.param.yaml +++ b/nebula_ros/config/lidar/hesai/Pandar64.param.yaml @@ -2,6 +2,7 @@ ros__parameters: host_ip: 255.255.255.255 sensor_ip: 192.168.1.201 + multicast_ip: "" data_port: 2368 gnss_port: 10110 packet_mtu_size: 1500 diff --git a/nebula_ros/config/lidar/hesai/PandarAT128.param.yaml b/nebula_ros/config/lidar/hesai/PandarAT128.param.yaml index 7db50fb52..462a4fd78 100644 --- a/nebula_ros/config/lidar/hesai/PandarAT128.param.yaml +++ b/nebula_ros/config/lidar/hesai/PandarAT128.param.yaml @@ -2,6 +2,7 @@ ros__parameters: host_ip: 255.255.255.255 sensor_ip: 192.168.1.201 + multicast_ip: "" data_port: 2368 gnss_port: 10110 packet_mtu_size: 1500 diff --git a/nebula_ros/config/lidar/hesai/PandarQT128.param.yaml b/nebula_ros/config/lidar/hesai/PandarQT128.param.yaml index c26977a2b..f9ee8029a 100644 --- a/nebula_ros/config/lidar/hesai/PandarQT128.param.yaml +++ b/nebula_ros/config/lidar/hesai/PandarQT128.param.yaml @@ -2,6 +2,7 @@ ros__parameters: host_ip: 255.255.255.255 sensor_ip: 192.168.1.201 + multicast_ip: "" data_port: 2368 gnss_port: 10110 packet_mtu_size: 1500 diff --git a/nebula_ros/config/lidar/hesai/PandarQT64.param.yaml b/nebula_ros/config/lidar/hesai/PandarQT64.param.yaml index c707f7e12..fcb7f89ac 100644 --- a/nebula_ros/config/lidar/hesai/PandarQT64.param.yaml +++ b/nebula_ros/config/lidar/hesai/PandarQT64.param.yaml @@ -2,6 +2,7 @@ ros__parameters: host_ip: 255.255.255.255 sensor_ip: 192.168.1.201 + multicast_ip: "" data_port: 2368 gnss_port: 10110 packet_mtu_size: 1500 diff --git a/nebula_ros/config/lidar/hesai/PandarXT32.param.yaml b/nebula_ros/config/lidar/hesai/PandarXT32.param.yaml index db56ed435..51666ea7f 100644 --- a/nebula_ros/config/lidar/hesai/PandarXT32.param.yaml +++ b/nebula_ros/config/lidar/hesai/PandarXT32.param.yaml @@ -2,6 +2,7 @@ ros__parameters: host_ip: 255.255.255.255 sensor_ip: 192.168.1.201 + multicast_ip: "" data_port: 2368 gnss_port: 10110 packet_mtu_size: 1500 diff --git a/nebula_ros/config/lidar/hesai/PandarXT32M.param.yaml b/nebula_ros/config/lidar/hesai/PandarXT32M.param.yaml index 66cee1218..01fc35990 100644 --- a/nebula_ros/config/lidar/hesai/PandarXT32M.param.yaml +++ b/nebula_ros/config/lidar/hesai/PandarXT32M.param.yaml @@ -2,6 +2,7 @@ ros__parameters: host_ip: 255.255.255.255 sensor_ip: 192.168.1.201 + multicast_ip: "" data_port: 2368 gnss_port: 10110 packet_mtu_size: 1500 diff --git a/nebula_ros/schema/Pandar128E4X.schema.json b/nebula_ros/schema/Pandar128E4X.schema.json index 913d58be0..9de8b1134 100644 --- a/nebula_ros/schema/Pandar128E4X.schema.json +++ b/nebula_ros/schema/Pandar128E4X.schema.json @@ -12,6 +12,9 @@ "sensor_ip": { "$ref": "sub/communication.json#/definitions/sensor_ip" }, + "multicast_ip": { + "$ref": "sub/lidar_hesai.json#/definitions/multicast_ip" + }, "data_port": { "$ref": "sub/communication.json#/definitions/data_port" }, @@ -97,6 +100,7 @@ "required": [ "host_ip", "sensor_ip", + "multicast_ip", "data_port", "gnss_port", "packet_mtu_size", diff --git a/nebula_ros/schema/Pandar40P.schema.json b/nebula_ros/schema/Pandar40P.schema.json index 5f822f4fc..f83cdc393 100644 --- a/nebula_ros/schema/Pandar40P.schema.json +++ b/nebula_ros/schema/Pandar40P.schema.json @@ -12,6 +12,9 @@ "sensor_ip": { "$ref": "sub/communication.json#/definitions/sensor_ip" }, + "multicast_ip": { + "$ref": "sub/lidar_hesai.json#/definitions/multicast_ip" + }, "data_port": { "$ref": "sub/communication.json#/definitions/data_port" }, @@ -88,6 +91,7 @@ "required": [ "host_ip", "sensor_ip", + "multicast_ip", "data_port", "gnss_port", "packet_mtu_size", diff --git a/nebula_ros/schema/Pandar64.schema.json b/nebula_ros/schema/Pandar64.schema.json index 680ffc501..0b15a0f9b 100644 --- a/nebula_ros/schema/Pandar64.schema.json +++ b/nebula_ros/schema/Pandar64.schema.json @@ -12,6 +12,9 @@ "sensor_ip": { "$ref": "sub/communication.json#/definitions/sensor_ip" }, + "multicast_ip": { + "$ref": "sub/lidar_hesai.json#/definitions/multicast_ip" + }, "data_port": { "$ref": "sub/communication.json#/definitions/data_port" }, @@ -85,6 +88,7 @@ "required": [ "host_ip", "sensor_ip", + "multicast_ip", "data_port", "gnss_port", "packet_mtu_size", diff --git a/nebula_ros/schema/PandarAT128.schema.json b/nebula_ros/schema/PandarAT128.schema.json index 5b4c07f13..08c85e108 100644 --- a/nebula_ros/schema/PandarAT128.schema.json +++ b/nebula_ros/schema/PandarAT128.schema.json @@ -12,6 +12,9 @@ "sensor_ip": { "$ref": "sub/communication.json#/definitions/sensor_ip" }, + "multicast_ip": { + "$ref": "sub/lidar_hesai.json#/definitions/multicast_ip" + }, "data_port": { "$ref": "sub/communication.json#/definitions/data_port" }, @@ -105,6 +108,7 @@ "required": [ "host_ip", "sensor_ip", + "multicast_ip", "data_port", "gnss_port", "packet_mtu_size", diff --git a/nebula_ros/schema/PandarQT128.schema.json b/nebula_ros/schema/PandarQT128.schema.json index f139b890c..efac39914 100644 --- a/nebula_ros/schema/PandarQT128.schema.json +++ b/nebula_ros/schema/PandarQT128.schema.json @@ -12,6 +12,9 @@ "sensor_ip": { "$ref": "sub/communication.json#/definitions/sensor_ip" }, + "multicast_ip": { + "$ref": "sub/lidar_hesai.json#/definitions/multicast_ip" + }, "data_port": { "$ref": "sub/communication.json#/definitions/data_port" }, @@ -91,6 +94,7 @@ "required": [ "host_ip", "sensor_ip", + "multicast_ip", "data_port", "gnss_port", "packet_mtu_size", diff --git a/nebula_ros/schema/PandarQT64.schema.json b/nebula_ros/schema/PandarQT64.schema.json index 81f30a875..bb16cfcbb 100644 --- a/nebula_ros/schema/PandarQT64.schema.json +++ b/nebula_ros/schema/PandarQT64.schema.json @@ -12,6 +12,9 @@ "sensor_ip": { "$ref": "sub/communication.json#/definitions/sensor_ip" }, + "multicast_ip": { + "$ref": "sub/lidar_hesai.json#/definitions/multicast_ip" + }, "data_port": { "$ref": "sub/communication.json#/definitions/data_port" }, @@ -88,6 +91,7 @@ "required": [ "host_ip", "sensor_ip", + "multicast_ip", "data_port", "gnss_port", "packet_mtu_size", diff --git a/nebula_ros/schema/PandarXT32.schema.json b/nebula_ros/schema/PandarXT32.schema.json index 2ef52aa39..e4ff2eae9 100644 --- a/nebula_ros/schema/PandarXT32.schema.json +++ b/nebula_ros/schema/PandarXT32.schema.json @@ -12,6 +12,9 @@ "sensor_ip": { "$ref": "sub/communication.json#/definitions/sensor_ip" }, + "multicast_ip": { + "$ref": "sub/lidar_hesai.json#/definitions/multicast_ip" + }, "data_port": { "$ref": "sub/communication.json#/definitions/data_port" }, @@ -91,6 +94,7 @@ "required": [ "host_ip", "sensor_ip", + "multicast_ip", "data_port", "gnss_port", "packet_mtu_size", diff --git a/nebula_ros/schema/PandarXT32M.schema.json b/nebula_ros/schema/PandarXT32M.schema.json index ac5051f5e..43198d162 100644 --- a/nebula_ros/schema/PandarXT32M.schema.json +++ b/nebula_ros/schema/PandarXT32M.schema.json @@ -12,6 +12,9 @@ "sensor_ip": { "$ref": "sub/communication.json#/definitions/sensor_ip" }, + "multicast_ip": { + "$ref": "sub/lidar_hesai.json#/definitions/multicast_ip" + }, "data_port": { "$ref": "sub/communication.json#/definitions/data_port" }, @@ -91,6 +94,7 @@ "required": [ "host_ip", "sensor_ip", + "multicast_ip", "data_port", "gnss_port", "packet_mtu_size", diff --git a/nebula_ros/schema/sub/lidar_hesai.json b/nebula_ros/schema/sub/lidar_hesai.json index 2a74eb481..caed4db7a 100644 --- a/nebula_ros/schema/sub/lidar_hesai.json +++ b/nebula_ros/schema/sub/lidar_hesai.json @@ -31,6 +31,13 @@ "minimum": 300, "maximum": 1200, "multipleOf": 60 + }, + "multicast_ip": { + "type": "string", + "default": "\"\"", + "pattern": "(^((22[4-9]|23[0-9])\\.)((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){2}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$)|", + "readOnly": true, + "description": "Multicast IPv4 address (leave empty to disable multicast)." } } } From aaf07a4ed1ffdd42134408e9e266873269fd4dc7 Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Fri, 30 Aug 2024 15:48:06 +0900 Subject: [PATCH 5/8] chore: fix missing dependencies that cause CI fail --- nebula_tests/CMakeLists.txt | 1 + nebula_tests/continental/CMakeLists.txt | 2 ++ 2 files changed, 3 insertions(+) diff --git a/nebula_tests/CMakeLists.txt b/nebula_tests/CMakeLists.txt index da2481a2f..8b5cf9f5d 100644 --- a/nebula_tests/CMakeLists.txt +++ b/nebula_tests/CMakeLists.txt @@ -56,6 +56,7 @@ if(BUILD_TESTING) set(CONTINENTAL_TEST_LIBRARIES ${NEBULA_TEST_LIBRARIES} + ${diagnostic_updater_TARGETS} nebula_decoders::nebula_decoders_continental ) diff --git a/nebula_tests/continental/CMakeLists.txt b/nebula_tests/continental/CMakeLists.txt index 10e01ca1f..b2047d062 100644 --- a/nebula_tests/continental/CMakeLists.txt +++ b/nebula_tests/continental/CMakeLists.txt @@ -6,6 +6,7 @@ add_library(continental_ros_decoder_test_ars548 SHARED target_include_directories(continental_ros_decoder_test_ars548 PUBLIC ${NEBULA_TEST_INCLUDE_DIRS} + ${diagnostic_updater_INCLUDE_DIRS} ) target_link_libraries(continental_ros_decoder_test_ars548 @@ -32,6 +33,7 @@ add_library(continental_ros_decoder_test_srr520 SHARED target_include_directories(continental_ros_decoder_test_srr520 PUBLIC ${NEBULA_TEST_INCLUDE_DIRS} + ${diagnostic_updater_INCLUDE_DIRS} ) target_link_libraries(continental_ros_decoder_test_srr520 From 858f294b1b4198b34cddf998c66ffb90ec3f8c85 Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Fri, 30 Aug 2024 15:57:22 +0900 Subject: [PATCH 6/8] chore(nebula_tests): fix diagnostic_updater dependency for all vendors --- nebula_tests/CMakeLists.txt | 1 - nebula_tests/continental/CMakeLists.txt | 2 -- 2 files changed, 3 deletions(-) diff --git a/nebula_tests/CMakeLists.txt b/nebula_tests/CMakeLists.txt index 8b5cf9f5d..da2481a2f 100644 --- a/nebula_tests/CMakeLists.txt +++ b/nebula_tests/CMakeLists.txt @@ -56,7 +56,6 @@ if(BUILD_TESTING) set(CONTINENTAL_TEST_LIBRARIES ${NEBULA_TEST_LIBRARIES} - ${diagnostic_updater_TARGETS} nebula_decoders::nebula_decoders_continental ) diff --git a/nebula_tests/continental/CMakeLists.txt b/nebula_tests/continental/CMakeLists.txt index b2047d062..10e01ca1f 100644 --- a/nebula_tests/continental/CMakeLists.txt +++ b/nebula_tests/continental/CMakeLists.txt @@ -6,7 +6,6 @@ add_library(continental_ros_decoder_test_ars548 SHARED target_include_directories(continental_ros_decoder_test_ars548 PUBLIC ${NEBULA_TEST_INCLUDE_DIRS} - ${diagnostic_updater_INCLUDE_DIRS} ) target_link_libraries(continental_ros_decoder_test_ars548 @@ -33,7 +32,6 @@ add_library(continental_ros_decoder_test_srr520 SHARED target_include_directories(continental_ros_decoder_test_srr520 PUBLIC ${NEBULA_TEST_INCLUDE_DIRS} - ${diagnostic_updater_INCLUDE_DIRS} ) target_link_libraries(continental_ros_decoder_test_srr520 From 529c9bd15f703ce73af436ef11bed5581218a6e2 Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Tue, 3 Sep 2024 10:40:16 +0900 Subject: [PATCH 7/8] chore: correct default params for OT128 --- nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml b/nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml index 95066f9d3..9da22a169 100644 --- a/nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml +++ b/nebula_ros/config/lidar/hesai/Pandar128E4X.param.yaml @@ -1,8 +1,8 @@ /**: ros__parameters: - host_ip: 192.168.1.10 + host_ip: 255.255.255.255 sensor_ip: 192.168.1.201 - multicast_ip: 239.1.1.234 + multicast_ip: "" data_port: 2368 gnss_port: 10110 packet_mtu_size: 1500 From 7abe20f7fd84b2dbd052cc0272febb6946c3b5c3 Mon Sep 17 00:00:00 2001 From: Max Schmeller <6088931+mojomex@users.noreply.github.com> Date: Sat, 7 Sep 2024 00:41:28 +0900 Subject: [PATCH 8/8] chore(ars548): revert erroneously committed case style changes --- .../continental/continental_ars548_hw_interface_wrapper.hpp | 2 +- .../continental/continental_ars548_hw_interface_wrapper.cpp | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/nebula_ros/include/nebula_ros/continental/continental_ars548_hw_interface_wrapper.hpp b/nebula_ros/include/nebula_ros/continental/continental_ars548_hw_interface_wrapper.hpp index e90112ea6..2931ca5c1 100644 --- a/nebula_ros/include/nebula_ros/continental/continental_ars548_hw_interface_wrapper.hpp +++ b/nebula_ros/include/nebula_ros/continental/continental_ars548_hw_interface_wrapper.hpp @@ -66,7 +66,7 @@ class ContinentalARS548HwInterfaceWrapper /// @brief Callback to send the steering angle information to the radar device /// @param msg The steering angle message - void steeringAngleCallback(const std_msgs::msg::Float32::SharedPtr msg); + void SteeringAngleCallback(const std_msgs::msg::Float32::SharedPtr msg); /// @brief Service callback to set the new sensor ip /// @param request service request diff --git a/nebula_ros/src/continental/continental_ars548_hw_interface_wrapper.cpp b/nebula_ros/src/continental/continental_ars548_hw_interface_wrapper.cpp index 890f01525..9e6d3086f 100644 --- a/nebula_ros/src/continental/continental_ars548_hw_interface_wrapper.cpp +++ b/nebula_ros/src/continental/continental_ars548_hw_interface_wrapper.cpp @@ -67,8 +67,7 @@ void ContinentalARS548HwInterfaceWrapper::SensorInterfaceStart() steering_angle_sub_ = parent_node_->create_subscription( "steering_angle_input", rclcpp::SensorDataQoS(), std::bind( - &::nebula::ros::ContinentalARS548HwInterfaceWrapper::steeringAngleCallback, this, - std::placeholders::_1)); + &ContinentalARS548HwInterfaceWrapper::SteeringAngleCallback, this, std::placeholders::_1)); set_network_configuration_service_server_ = parent_node_->create_service( @@ -152,7 +151,7 @@ void ContinentalARS548HwInterfaceWrapper::AccelerationCallback( hw_interface_->SetAccelerationLongitudinalCog(msg->accel.accel.linear.x); } -void ContinentalARS548HwInterfaceWrapper::steeringAngleCallback( +void ContinentalARS548HwInterfaceWrapper::SteeringAngleCallback( const std_msgs::msg::Float32::SharedPtr msg) { constexpr float rad_to_deg = 180.f / M_PI;