UniversalRobots / Universal_Robots_ROS2_Driver

Universal Robots ROS2 driver supporting CB3 and e-Series
BSD 3-Clause "New" or "Revised" License
408 stars 212 forks source link

Error encountered when following installation instructions for foxy #818

Closed timmarkhuff closed 1 year ago

timmarkhuff commented 1 year ago

Affected ROS2 Driver version(s)

foxy

Used ROS distribution.

Foxy

Which combination of platform is the ROS driver running on.

Docker

How is the UR ROS2 Driver installed.

Build the driver from source and using the UR Client Library from binary

Which robot platform is the driver connected to.

UR CB3 robot

Robot SW / URSim version(s)

CB3, URSoftware 3.15.1

How is the ROS driver used.

Others

Issue details

Summary

I am trying to follow the instructions on https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/tree/foxy#readme to install the UR ROS2 driver for foxy.

I am running this on a docker image that I got from Nvidia: https://developer.nvidia.com/blog/accelerating-ai-modules-for-ros-and-ros-2-on-jetson/#_1ay9zay9rlbz

Specifically, I am using nvidiajetson/deepstream-ros2-foxy:5.0.1

Steps to Reproduce

When I run: colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release, I get the following error:

Starting >>> ur_dashboard_msgs
Starting >>> ur_description
Starting >>> ur_moveit_config
Finished <<< ur_moveit_config [1.93s]
Finished <<< ur_description [2.06s]
Finished <<< ur_dashboard_msgs [8.18s]
Starting >>> ur_controllers
--- stderr: ur_controllers
CMake Error at CMakeLists.txt:14 (find_package):
  By not providing "Findcontroller_interface.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "controller_interface", but CMake did not find one.

  Could not find a package configuration file provided by
  "controller_interface" with any of the following names:

    controller_interfaceConfig.cmake
    controller_interface-config.cmake

  Add the installation prefix of "controller_interface" to CMAKE_PREFIX_PATH
  or set "controller_interface_DIR" to a directory containing one of the
  above files.  If "controller_interface" provides a separate development
  package or SDK, be sure it has been installed.

---
Failed   <<< ur_controllers [1.66s, exited with code 1]

Summary: 3 packages finished [10.7s]
  1 package failed: ur_controllers
  1 package had stderr output: ur_controllers
  3 packages not processed

At this point, I am stuck and unable to install the UR ROS2 driver for foxy.

Workaround Suggestion

I have yet to find any workaround

Accept Public visibility

fmauch commented 1 year ago

Please note that Foxy is end-of-life and therefore not supported anymore. Hence, I'll close this issue with this comment.

However, I've given that a quick try on the ros:foxy docker container and for me the instructions still work fine. Since your build misses a dependency, I assume that you skipped the rosdep install step / there was an error in rosdep install. Try running that command with the -r parameter removed:

rosdep install --ignore-src --from-paths src -y

Note: It might also be necessary to update rosdep's cache using rosdep update --include-eol-distros.

I hope this helps and that you understand we cannot give in-depth support for Foxy anymore. We highly recommend to upgrade to a supported ROS distribution such as Humble.