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

ur_robot_driver colcon build error #942

Closed
1 task done
victorfeijoo opened this issue Mar 7, 2024 · 1 comment
Closed
1 task done

ur_robot_driver colcon build error #942

victorfeijoo opened this issue Mar 7, 2024 · 1 comment

Comments

@victorfeijoo
Copy link

Affected ROS2 Driver version(s)

humble and iron at least

Used ROS distribution.

Humble

Which combination of platform is the ROS driver running on.

Ubuntu Linux with standard kernel

How is the UR ROS2 Driver installed.

Build both the ROS driver and UR Client Library from source

Which robot platform is the driver connected to.

UR E-series robot

Robot SW / URSim version(s)

UR3e

How is the ROS driver used.

Through the robot teach pendant using External Control URCap

Issue details

Summary

I'm trying to colcon build the repository for humble, i'm just following the steps of the GitHub and i have an error when i colcon build because it tells me that the function setKeepaliveCount() is deprecated. so mi ur_robot_driver has an error.

Issue details

I have to include a personal github and build it so i need to build the ROS driver from source.
Im am following the steps of the GitHub and i have this error:

--- stderr: ur_robot_driver
/home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/src/hardware_interface.cpp: In member function ‘virtual hardware_interface::CallbackReturn ur_robot_driver::URPositionHardwareInterface::on_configure(const rclcpp_lifecycle::State&)’:
/home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/src/hardware_interface.cpp:432:34: warning: ‘void urcl::UrDriver::setKeepaliveCount(uint32_t)’ is deprecated: Set keepaliveCount is deprecated, instead set the robot receive timeout directly in the write commands. [-Wdeprecated-declarations]
432 | ur_driver_->setKeepaliveCount(keep_alive_count);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from /home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/include/ur_robot_driver/hardware_interface.hpp:55,
from /home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/src/hardware_interface.cpp:50:
/opt/ros/humble/include/ur_client_library/ur/ur_driver.h:461:3: note: declared here
461 | setKeepaliveCount(const uint32_t count);
| ^~~~~~~~~~~~~~~~~

Steps to Reproduce

sudo apt install python3-colcon-common-extensions python3-vcstool
export COLCON_WS=~/workspace/ros_ur_driver
mkdir -p $COLCON_WS/src
cd $COLCON_WS
git clone -b humble https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver.git src/Universal_Robots_ROS2_Driver
vcs import src --skip-existing --input src/Universal_Robots_ROS2_Driver/Universal_Robots_ROS2_Driver-not-released.${ROS_DISTRO}.repos
rosdep update
rosdep install --ignore-src --from-paths src -y
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.bash

Expected Behavior

im expecting not having errors on the build

Actual Behavior

Starting >>> ur_dashboard_msgs
Starting >>> ur_description
Finished <<< ur_description [2.06s]
Starting >>> ur_moveit_config
Finished <<< ur_moveit_config [1.48s]
Finished <<< ur_dashboard_msgs [15.3s]
Starting >>> ur_controllers
Finished <<< ur_controllers [13.8s]
Starting >>> ur_robot_driver
Starting >>> ur_bringup
Finished <<< ur_bringup [0.79s]
--- stderr: ur_robot_driver
/home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/src/hardware_interface.cpp: In member function ‘virtual hardware_interface::CallbackReturn ur_robot_driver::URPositionHardwareInterface::on_configure(const rclcpp_lifecycle::State&)’:
/home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/src/hardware_interface.cpp:432:34: warning: ‘void urcl::UrDriver::setKeepaliveCount(uint32_t)’ is deprecated: Set keepaliveCount is deprecated, instead set the robot receive timeout directly in the write commands. [-Wdeprecated-declarations]
432 | ur_driver_->setKeepaliveCount(keep_alive_count);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from /home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/include/ur_robot_driver/hardware_interface.hpp:55,
from /home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/src/hardware_interface.cpp:50:
/opt/ros/humble/include/ur_client_library/ur/ur_driver.h:461:3: note: declared here
461 | setKeepaliveCount(const uint32_t count);
| ^~~~~~~~~~~~~~~~~

Workaround Suggestion

I don't know if i can change the function or what, it tells me to include the time directly but i don't know how, i appreciate any help.

Relevant log output

Starting >>> ur_dashboard_msgs
Starting >>> ur_description
Finished <<< ur_description [2.06s]                                      
Starting >>> ur_moveit_config
Finished <<< ur_moveit_config [1.48s]                                    
Finished <<< ur_dashboard_msgs [15.3s]                       
Starting >>> ur_controllers
Finished <<< ur_controllers [13.8s]                       
Starting >>> ur_robot_driver
Starting >>> ur_bringup                        
Finished <<< ur_bringup [0.79s]                                      
--- stderr: ur_robot_driver                                
/home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/src/hardware_interface.cpp: In member function ‘virtual hardware_interface::CallbackReturn ur_robot_driver::URPositionHardwareInterface::on_configure(const rclcpp_lifecycle::State&)’:
/home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/src/hardware_interface.cpp:432:34: warning: ‘void urcl::UrDriver::setKeepaliveCount(uint32_t)’ is deprecated: Set keepaliveCount is deprecated, instead set the robot receive timeout directly in the write commands. [-Wdeprecated-declarations]
  432 |     ur_driver_->setKeepaliveCount(keep_alive_count);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from /home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/include/ur_robot_driver/hardware_interface.hpp:55,
                 from /home/victor/workspace/ros_ur_driver/src/Universal_Robots_ROS2_Driver/ur_robot_driver/src/hardware_interface.cpp:50:
/opt/ros/humble/include/ur_client_library/ur/ur_driver.h:461:3: note: declared here
  461 |   setKeepaliveCount(const uint32_t count);
      |   ^~~~~~~~~~~~~~~~~

Accept Public visibility

  • I agree to make this context public
@RobertWilbrandt
Copy link
Collaborator

This is not an error, but a warning. We are aware that we should switch to a receive timeout instead at some point (this is tracked in #822 ), but this is currently the expected behavior and should not give you any problems when using the robot.

Please let us know if you have further problems with this, otherwise i'd go ahead and close this issue as the required change is already tracked in #822.

@fmauch fmauch closed this as completed Jul 10, 2024
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

No branches or pull requests

3 participants