-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
In 9f09b06 I enabled Jazzy distribution to work on the main branch by using preprocessor macros and ROS 2 versions to set the API differences of underlying libraries.
However, that is not possible for Humble due to the sweeping changes made in the CMakeLists to modernize it. That would involve a near complete duplication in the CMakeLists that is unrealistic to maintain and support. There are some other API changes to be made w.r.t. service QoS that are pretty simple to resolve with [get_rmw_qos_profile](https://docs.ros2.org/foxy/api/rclcpp/classrclcpp_1_1QoS.html#abe5cb7d1ee2f6874e03f0c02937a3194) (or similar).
So, I think it would be useful to have a humble_main branch that is the main branch with the humble-compatible ROS 2 APIs and old-version of CMake. This can facilitate users on Humble to leverage more modern capabilities of Nav2 and/or test changes for PRs made to main and humble without using the rolling distribution that may not be installed on their development machines.
This is a good first issue for users:
- Clone
mainand build with ROS 2 Humble - Address compiler errors until completed
- Many will relate to CMakeLists that things like
tf2_geometry_msgs::tf2_geometry_msgslibrary doesn't exist. See the currenthumblebranch method of linking against ROS libraries usingament_target_dependenciesand thedependenciesvariable - Others will relate to service clients requiring in RMW QoS profile rather than an
rclcpp::QoSobject. That can be resolved easily with.get_rmw_qos_profile()
- Many will relate to CMakeLists that things like
- Open a PR for a review!