Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rolling Support #188

Open
2 tasks done
peterdavidfagan opened this issue Oct 25, 2023 · 6 comments
Open
2 tasks done

Rolling Support #188

peterdavidfagan opened this issue Oct 25, 2023 · 6 comments
Assignees
Labels
feature_request New feature or request

Comments

@peterdavidfagan
Copy link

peterdavidfagan commented Oct 25, 2023

Preliminary Checks

  • This issue is not a duplicate. Before opening a new issue, please search existing issues.
  • This issue is not a question, bug report, or anything other than a feature request directly related to this project.

Proposal

Support ROS rolling in order to enable applications that leverage the latest versions of ROS packages.

Use-Case

Leveraging rolling versions of existing ROS packages. Currently I am looking to build a Zed container leveraging rolling for the following repository.

@peterdavidfagan peterdavidfagan added the feature_request New feature or request label Oct 25, 2023
@Myzhar Myzhar self-assigned this Oct 25, 2023
@Myzhar
Copy link
Member

Myzhar commented Oct 25, 2023

@peterdavidfagan This is not scheduled, but I agree this could be useful for R&D.
We will consider this Feature Request for future development.

@peterdavidfagan
Copy link
Author

Thanks @Myzhar much appreciated, for now I will remove these checks and test the launch files.

@Myzhar
Copy link
Member

Myzhar commented Oct 25, 2023

Maybe you can modify this part in all the CMakeLists.txt files too:

################################################
# Check the ROS2 version
set(ROS2_FOUND FALSE)
if(DEFINED ENV{ROS_DISTRO})
set(FOUND_ROS2_DISTRO $ENV{ROS_DISTRO})
set(ROS2_FOUND TRUE)
#message("* Found ROS2 ${FOUND_ROS2_DISTRO}")
else()
message("* ROS2 distro variable not set. Trying to figure it out...")
set(ROS2_DISTROS "ardent;crystal;dashing;eloquent;foxy;galactic;humble;rolling")
set(ROS2_FOUND FALSE)
foreach(distro ${ROS2_DISTROS})
if(NOT ROS2_FOUND)
find_path(RCLCPP_H rclcpp.hpp PATHS /opt/ros/${distro}/include/rclcpp)
if(RCLCPP_H)
#message("* Found ROS2 ${distro}")
set(FOUND_ROS2_DISTRO ${distro})
set(ROS2_FOUND TRUE)
endif()
endif()
endforeach()
endif()
if(ROS2_FOUND)
if(${FOUND_ROS2_DISTRO} STREQUAL "foxy")
#message("* ROS2 ${FOUND_ROS2_DISTRO} is officially supported by this package.")
add_definitions(-DFOUND_FOXY)
elseif(${FOUND_ROS2_DISTRO} STREQUAL "humble")
#message("* ROS2 ${FOUND_ROS2_DISTRO} is officially supported by this package.")
add_definitions(-DFOUND_HUMBLE)
else()
message("*** WARNING *** ROS2 ${FOUND_ROS2_DISTRO} is not officially supported by this package. Correct working is not guarantee.")
endif()
else()
message("*** WARNING *** ROS2 distro is unknown. This package could not work correctly.")
endif()
################################################

so you can add officially the ROLLING support

@Myzhar
Copy link
Member

Myzhar commented Oct 25, 2023

a nice and good

   elseif(${FOUND_ROS2_DISTRO} STREQUAL "rolling") 
     #message("* ROS2 ${FOUND_ROS2_DISTRO} is officially supported by this package.") 
     add_definitions(-DFOUND_ROLLING) 

at line 38 before the else() and you are ready

@peterdavidfagan
Copy link
Author

peterdavidfagan commented Oct 25, 2023

Ok yes this is good advice, also a lot better than the quick solution I was going for to test things. Shall I open a PR with these changes?

Update: so far so good, I guess for opening a PR I would also need to update the CMakeLists.txt of the submodule dependency: https://github.com/stereolabs/zed-ros2-interfaces/blob/6dfb08531c324481418342e789adb2c3d836c917/CMakeLists.txt.

For my current purposes I think the above changes are ideal and better than simply deleting the check as I was doing.

@Myzhar
Copy link
Member

Myzhar commented Oct 25, 2023

Yes, you're welcome to open a PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature_request New feature or request
Development

No branches or pull requests

2 participants