QuanergySystems / quanergy_client_ros

Quanergy ROS driver sample source
MIT License
19 stars 10 forks source link

useRosTime in settings/client.xml doesn't work #10

Closed worldpotato closed 3 years ago

worldpotato commented 3 years ago

The problem:

The ros node doesn't use the ros time even if the value for useRosTime is set to true. The default value is true, see:

https://github.com/QuanergySystems/quanergy_client_ros/blob/bd7bcac41fafaba3b568a24b01be193e15c4c140/settings/client.xml#L6

How it should work:

The ros node should use the ros time if it is set in the settings.

possible solution

I think the option should be renamed to use-ros-time because it is read with as that name value. See: https://github.com/QuanergySystems/quanergy_client_ros/blob/bd7bcac41fafaba3b568a24b01be193e15c4c140/src/client_node.cpp#L72

rossctaylor commented 3 years ago

Thanks for pointing this out. It looks like the problem is the parent node name for the setting. The code is expecting Settings.RosNode.useRosTime: https://github.com/QuanergySystems/quanergy_client_ros/blob/bd7bcac41fafaba3b568a24b01be193e15c4c140/src/client_node.cpp#L333 While the default settings uses Settings.ClientRos.useRosTime: https://github.com/QuanergySystems/quanergy_client_ros/blob/bd7bcac41fafaba3b568a24b01be193e15c4c140/settings/client.xml#L3

I will get this fixed soon. In the meantime, you can change ClientRos to RosNode in the settings file or use the command line option (--use-ros-time) to override.

worldpotato commented 3 years ago

Yes, figured it out on the weekend, too. But our lidar (M8) got damaged and I had no chance to test it properly.