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

Generate IK URDF on-the-fly #108

Merged
merged 16 commits into from
Oct 28, 2024
Merged

Generate IK URDF on-the-fly #108

merged 16 commits into from
Oct 28, 2024

Conversation

hello-binit
Copy link
Collaborator

@hello-binit hello-binit commented Oct 9, 2024

Description

Previously, Web Teleop's click-to-pregrasp feature required the user to run a script to generate a custom URDF for its inverse kinematics package. This step effectively cached a modified version of the calibrated URDF in ~/stretch_user.

Caching URDFs is a bad idea because a robot's "calibrated" URDF is unique to it, and likely won't work as well or at all on another Stretch robot. Even within a single robot, calibration parameters (e.g. backlash, offset, etc.) change over time, and it's common for users to use Stretch Calibration to recalibrate their robot. By caching the IK urdf, Web Teleop isn't keeping up with the latest calibration. This can also make debugging complicated because developers can't trust if their application is using the latest calibration.

A solution is to generate the URDF your application needs on-the-fly. Everytime Web Teleop is launched, it takes the URDF in ~/stretch_user and creates the IK urdf it needs. Recently, the Stretch URDF package received a utility module to generate custom URDFs on-the-fly. This PR uses the new module to generate the IK URDFs it needs.

Testing procedure

Create a new ROS workspace. You'll want to modify the .repos file in Stretch Install to pull this branch for Web Teleop (i.e. replace version: master with version: bugfix/dont_cache_urdf on line 33). Then launch the interface as normal. Ensure click to pregrasp works as usual.

Before opening a pull request

From the top-level of this repository, run:

  • pre-commit run --all-files

To merge

  • Squash & Merge

@hello-binit hello-binit changed the title WIP: Generate URDFs on-the-fly WIP: Generate IK URDF on-the-fly Oct 9, 2024
@hello-binit hello-binit changed the title WIP: Generate IK URDF on-the-fly Generate IK URDF on-the-fly Oct 9, 2024
@hello-binit hello-binit marked this pull request as ready for review October 9, 2024 19:09
Copy link
Collaborator

@hello-vinitha hello-vinitha left a comment

Choose a reason for hiding this comment

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

All tests pass on 3030

@hello-vinitha hello-vinitha merged commit eef1035 into master Oct 28, 2024
1 check passed
@hello-vinitha hello-vinitha deleted the bugfix/dont_cache_urdf branch October 28, 2024 18:11
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

Successfully merging this pull request may close these issues.

2 participants