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_control.launch.py) custom description file from custom pkg #947

Closed
1 task done
MatthijsBurgh opened this issue Mar 18, 2024 · 7 comments · Fixed by #977
Closed
1 task done

(ur_control.launch.py) custom description file from custom pkg #947

MatthijsBurgh opened this issue Mar 18, 2024 · 7 comments · Fixed by #977
Labels
fix pending A fix for this issue is pending in an existing PR

Comments

@MatthijsBurgh
Copy link
Contributor

Affected ROS2 Driver version(s)

2.4.3

Used ROS distribution.

Rolling

Which combination of platform is the ROS driver running on.

Ubuntu Linux with standard kernel

How is the UR ROS2 Driver installed.

From binary packets

Which robot platform is the driver connected to.

URSim in docker

Robot SW / URSim version(s)

5.15

How is the ROS driver used.

Through the robot teach pendant using External Control URCap

Issue details

Summary

The current version of ur_control.launch.py doesn't allow for a custom description file. As you can only specify a file inside the ur_robot_driver package.

PathJoinSubstitution([FindPackageShare("ur_robot_driver"), "urdf", description_file]),

Issue details

Of course you could fork the repo and add a custom description file. Of course, you shouldn't. I wanted to suggest a change to use the description_package argument instead of the hardcoded ur_robot_driver, though, the default of the description_package is ur_description. So there is a conflict. So I leave it up to you, whether you want to introduce another argument or come with another solution. But I think it very useful if the ur_control.launch.py can be used with a custom description file from a custom package.

Steps to Reproduce

Not relevant

Expected Behavior

Being able to use the ur_control.launch.py with my own custom description file located in my own description package.

Actual Behavior

Only being able to use a description file from ur_robot_driver.

Workaround Suggestion

Besides just copying (parts of) the ur_control.launch.py to my own package, there is no workaround.

Relevant log output

No response

Accept Public visibility

  • I agree to make this context public
@MatthijsBurgh MatthijsBurgh changed the title Issue name (ur_control.launch.py) custom description file from custom pkg Mar 18, 2024
@RobertWilbrandt
Copy link
Collaborator

Thank you for the issue, this was introduced in #877 and seems like an oversight to me. I'll create a PR to fix this.

@MatthijsBurgh
Copy link
Contributor Author

MatthijsBurgh commented Mar 18, 2024

I have now implemented the following change for myself. Let me know you want to a PR with this solution.

Change the default value of the description_file DeclareLaunchArgument to PathJoinSubstitution([FindPackageShare("ur_robot_driver"), "urdf", "ur.urdf.xacro"]),
and just replace

PathJoinSubstitution([FindPackageShare("ur_robot_driver"), "urdf", description_file]),

with description_file,.

But I could also see, you will move all the urdf/xacro files to ur_description. Then you can use description_package. But than you can't use default xacro, with custom calibration files.

So let me know what you want.

@liamcarlos
Copy link

Hey @RobertWilbrandt there's a similar issue but with the moveit_config_package variable in ur_moveit.launch.py where this variable is used to set the package for the srdf, rviz, kinematics, and other configurations. It would probably be best to have separate variables for some of these that would most likely have different values in a custom project.

That could also be said for the description_package variable in the same file, since it dictates the package for the urdf and yaml parameters.

@RobertWilbrandt
Copy link
Collaborator

Oh yeah it makes sense that we had to take a urdf from a package different from description_package at that point, as we wanted to move all specific driver / gazebo / ignition parts out of the description package. Maybe we have to do some restructuring here, e.g. have some new kinematics_package argument to load the yamls from and use description_package for the urdf again. Do you have any thoughts on this @fmauch @VinDp ?

@liamcarlos
Copy link

@RobertWilbrandt Yeah just another heads up, the Gazebo ROS2 simulation package would also have to be updated. It also uses those packages, so changing them would break that package as well..

@RobertWilbrandt
Copy link
Collaborator

Thanks, yeah i think we have to go through all ur packages and see how this is handled after the change.

@fmauch
Copy link
Collaborator

fmauch commented Apr 24, 2024

We're currently in the processing of updating things, see #977 and ros-controls/ros2_control#1501

@fmauch fmauch added the fix pending A fix for this issue is pending in an existing PR label Apr 24, 2024
@fmauch fmauch linked a pull request Apr 24, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix pending A fix for this issue is pending in an existing PR
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants