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

Use new ur_description_model #97

Merged
merged 10 commits into from
May 20, 2021
Merged

Conversation

fmauch
Copy link
Collaborator

@fmauch fmauch commented Jan 29, 2020

This PR can be used for testing ros-industrial/universal_robot#477. Therefore, this is also the testing branch for ur16e support (see #73).

Note: This PR will not be merged before there's any decision on testing ros-industrial/universal_robot#477.

@fmauch fmauch added enhancement New feature or request PR pending A PR exists for this issue labels Jan 29, 2020
@fmauch fmauch force-pushed the description_dev branch 4 times, most recently from 69a9829 to f880ca9 Compare April 8, 2020 07:58
@fmauch fmauch force-pushed the description_dev branch from f880ca9 to cf3847f Compare June 15, 2020 19:05
@@ -26,7 +26,7 @@ Debug flag that will get passed on to ur_common.launch

Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot.

##### kinematics_config (default: "$(find ur_e_description)/config/ur3e_default.yaml")
##### kinematics_config (default: "$(find ur_description)/config/ur3e/default_kinematics.yaml")

Kinematics config file used for calibration correction. This will be used to verify the robot's calibration is matching the robot_description.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: be vocal about the fact that the default value will not result in accurate FK results -- as it's really just a default, with the values of a "random robot".

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a note in 00b09ba

<arg name="headless_mode" default="false" doc="Automatically send URScript to robot to execute. On e-Series this does require the robot to be in 'remote-control' mode. With this, the URCap is not needed on the robot."/>

<!-- robot model -->
<include file="$(arg robot_description_file)">
<arg name="limited" value="$(arg limited)"/>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would you also want to allow to pass joint_limits_params in order to be able to configure the former limited/unlimited variant?

Copy link
Contributor

@gavanderhoorn gavanderhoorn Jun 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That doesn't exist any more. All joints get their full +-2pi range, except the elbow, as that is the only joint which can't actually use that range.

That solves works-around the issue sufficiently.


Edit: oh wait, are you asking whether it should still be possible to use different joint limits?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, it's a valid question to raise what arguments should be forwarded / at what point users should write their own description launch files instead.

My initial thought:

  • kinematics_params: This is the most important one that will depend on the *actual robot *in use
  • joints_limits_params: This might be changed depending on the use case (e.g. the robot being mounted on a table). I would naively assume that in this situation would provide their own xacro and thus their own launchfile. Therefor I wouldn't forward this argument.
  • physical_params: This is only depending on the actual robot model, I don't see any necessity to forward this.
  • visual_params: This is only depending on the actual robot model, I don't see any necessity to forward this.
  • transmission_hw_interface: As far as I understand, this is used for gazebo, so I wouldn't forward it.
  • safety_limits: Probably should be forwarded, see Add support for ros_control joint limits? #198. Or is this something different?
  • safety_pos_margin: see above
  • safety_k_position: see above

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to come down to how do we expect users to use the driver with custom setups (ie: just about any real use of the driver)?

Personally I would probably create a custom version of one of the load_urNN.launch files, override the defaults for the relevant args and then make the bringup .launch file in ur_robot_driver/launch use that .launch file instead of the defaults.

That would only require the ability to pass a path to my custom .launch file to the bringup .launch.

It would not be very convenient to always have to provide all args to the bringup .launch.

visual_params: This is only depending on the actual robot model, I don't see any necessity to forward this.

So I know of at least one use-case which would become possible by allowing access to this arg: ros-industrial/universal_robot#267, and this was actually partly what motivated me to suggest moving to a completely parameterised _macro.xacro: the ability to override specific aspects of the visual model of the robot.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, I'll stick with the current implementation, as we actually want users to provide their own calibration file. If users want to modify other things themselves, they should bring along their own description launch file, as @gavanderhoorn suggested.

Documenting this still has to be done.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documentation added in f6a7328

@fmauch
Copy link
Collaborator Author

fmauch commented Jul 7, 2020

This should now be ready apart from the fact, that using the melodic-devel-staging currently breaks moveit-compatibility.

Once melodic-devel-staging gets merged into melodic-devel we should be able to simply merge this.

@urrsk
Copy link
Member

urrsk commented Mar 17, 2021

@fmauch Do you know that the status is on this one?

@fmauch
Copy link
Collaborator Author

fmauch commented Mar 17, 2021

I'll work on ros-industrial/universal_robot#538 next to get this forward.

@fmauch
Copy link
Collaborator Author

fmauch commented Mar 17, 2021

I've rebased this branch ontop of the current master.

@fmauch fmauch force-pushed the description_dev branch from caff5df to 6192bc3 Compare May 15, 2021 22:03
@fmauch fmauch merged commit b27e406 into UniversalRobots:master May 20, 2021
@fmauch fmauch deleted the description_dev branch May 20, 2021 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request PR pending A PR exists for this issue wrid20
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants