Skip to content

Conversation

@kmhallen
Copy link
Contributor

  • Add ublox_msg_filters package to time synchronize multiple messages with iTOW to get a single callback
  • Rename iTOW field of NavRELPOSNED messages to be the same as all other Nav messages

I wasn't sure about the license when adding a new package, so I copied the license header from other source code in this repository

@kmhallen
Copy link
Contributor Author

I plan to provide something similar for the ROS2 branch in the next couple months

@versatran01
Copy link
Collaborator

Thanks for the PR. I had a quick look and have a few questions.

  1. Why do we need a special message filter? Can't we just use the ros message filter?
  2. The exact_time.h has the wrong license header if it is ported from the original one. https://github.com/ros/ros_comm/blob/noetic-devel/utilities/message_filters/include/message_filters/sync_policies/exact_time.h
  3. The cmakelist of this package sets cxx standard to 17. This is different from the rest of the package. However, I think it's time we all move to c++17 so maybe we can do a synchronized change if this get's merged (unless you need c++17 features).

@versatran01
Copy link
Collaborator

Regarding the license, this package is missing a LICENSE file but has license header in some files.
I think we could add a permissive one like Apache-v2 and make it clear. @meyerj

@kmhallen
Copy link
Contributor Author

It is a port of that filter. The message_filters one uses the header/stamp field that is a ros::Time type. The ublox messages don't have a ROS time stamp or a std_msgs/Header.

Additionally, a user is most likely interested in all ublox messages that were created based on the same measurement update (which is specified by iTOW). If a ros::Time stamp at message reception was used, each timestamp would be a little different.

@kmhallen
Copy link
Contributor Author

The cmake could be changed to be more similar to the existing packages.

I'll defer to someone else's judgement on what to put in the license headers.

@versatran01
Copy link
Collaborator

Thanks for the explanation, that makes sense.

For the license on exact_time.h, I'm almost certain you need to keep the original willow garage one.
As for the rest, if we agree on a repo-wise license then you don't need to put in anything.

@kmhallen
Copy link
Contributor Author

Okay, I'll use the Willow Garage one in the header and remove the license in the example cpp.

Should I keep set(CMAKE_CXX_STANDARD 17) or remove it?

@versatran01
Copy link
Collaborator

Are you using any 17 features by any chance? If not I suggest you change it to 11 to be compatible with the rest of the packages.
Later I can do a full CMake update to default to 17 if no one objects.

@kmhallen
Copy link
Contributor Author

I'd prefer to remove it instead of specifying 11. The message_filters version doesn't specify, and I don't think it's using anything added in 11 or 17:
https://github.com/ros/ros_comm/blob/noetic-devel/utilities/message_filters/CMakeLists.txt

@versatran01
Copy link
Collaborator

Sounds good.

…ith iTOW to get a single callback

Rename iTOW field of NavRELPOSNED messages to be the same as all other Nav messages
@kmhallen kmhallen force-pushed the ros1/msg_filters_exact_time_pr branch from 92d7242 to d0f2062 Compare February 21, 2022 20:15
@versatran01 versatran01 merged commit 11938e4 into KumarRobotics:master Feb 22, 2022
@kmhallen kmhallen deleted the ros1/msg_filters_exact_time_pr branch February 22, 2022 05:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants