0
$\begingroup$

i use cli sudo apt install ros-humble-ros2-control* to install the ros2 control,but has no fun "joint_limits_urdf.hpp” in package joint_limit ,why ?????? i check source package in https://github.com/ros-controls/ros2_control,in branch master , the package joint_limit contains 3 fun include "joint_limits_urdf.hpp”,but in humble branch ,only 2 funs,without "joint_limits_urdf.hpp”,tell me why ??? and use sudo apt install ros-humble-ros2-control* to install which branch code ?

enter image description here enter image description here enter image description here enter image description here

$\endgroup$

2 Answers 2

1
$\begingroup$

It was just not backported to humble yet. We triggered the backport, it might be merged soon. See this issue and the linked PRs.

$\endgroup$
0
$\begingroup$

You are encountering this because the version of ros2_control that you installed via apt for ROS Humble does not include the joint_limits_urdf.hpp file you're looking for.

This difference arises because the ROS Humble distribution is based on this stable release branch, which does not have the file you pointed out. The master branch typically contains the most recent developments, functionalities, and bug fixes. The file joint_limits_urdf.hpp is available in the master branch but not the humble branch.

You can try installing ros2_control from the source if you want specific new functionality. Notice that the master branch may contain changes incompatible with the Humble release. You may encounter API changes or dependency issues requiring additional modifications.

To install from the source, first uninstall the apt installed package.

sudo apt remove ros-humble-ros2-control*

Next, clone the ros2_control branch in your ROS 2 workspace's src directory, and resolve dependencies.

cd ~/ros2_ws/src   # navigate to (your) workspace

git clone -b master https://github.com/ros-controls/ros2_control.git

cd ~/ros2_ws 

rosdep update

rosdep install --from-paths src --ignore-src --rosdistro=humble -y #install dependencies

Then, build and source workspace.

cd ~/ros2_ws 

colcon build --symlink-install

source ~/ros2_ws/install/setup.bash

This would be it. It is advisable to review the ros2_control GitHub issues to check any recent compatibility problems relevant to ROS Humble.

$\endgroup$
2
  • $\begingroup$ do you have any idea for Ros humble contain joint_limits_urdf.hpp? actually, humble branch has package joint_limits_interface which contains joint_limits_urdf.hpp, but my linux only has package joint_limits via apt $\endgroup$ Commented Feb 26 at 3:29
  • $\begingroup$ You can try installing ros2_control from source. I updated the answer accordingly. $\endgroup$
    – Robotawi
    Commented Feb 26 at 4:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.