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

Add Universal Robots non-time-based and time-based post processors #44

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

aatb-ch
Copy link
Contributor

@aatb-ch aatb-ch commented Nov 15, 2023

This PR adds support for Universal Robots post processors in Mimic, in 2 versions:

  • Non-time-based post-processor, with linear/non-linear and IO support via the movej, movel and set standard_digital_out commands
  • Time-based post-processor, with IO support via the servoj script command, export parameters are hardcoded to run at 25fps so export settings should be set at 1f and timeline at 25fps.

This branch depends on #43 to work properly, so #43 should be reviewed and merged first to master.

The exported script files can be imported on the Teachpendant of the robot in a Script Code node. On CB-series robots, the maximum line number before getting unstable is a few thousand lines, on e-series more like 10-15k lines. This allows multiple minutes of time-based animation to run smoothly.

I am still testing and validating the output scripts on real robots so it's not 100% ready but as soon as I'm done testing I'll enable merging.

@evanatherton evanatherton marked this pull request as ready for review November 15, 2023 17:25
@aatb-ch
Copy link
Contributor Author

aatb-ch commented Nov 16, 2023

So I could test further generated code today and can confirm that it works really well for non-linear non-time-based and time-based export, as well digital outputs work fine.

Linear export is good regarding position but seems off for rotation so I'm exploring that part, might be the rotation matrix which is copied from ABB right now to convert the pose.

Also when using "Sample keyframe only" it works fine for motion but digital output is not taken into account.

@aatb-ch
Copy link
Contributor Author

aatb-ch commented Nov 24, 2023

so i'm getting really close to having it done, just figuring out the proper rotation matrix for UR and should be good to go, working nicely for non-linear stuff, i've made changes to the "sample keyframes only" logic so that it will grab any frame where target_CTRL or tool_CTRL have any attribute keyed, this means if you're quickly animating without mimic gui and setting keyframes directly with shortcuts and only on specific translate/rotate attributes it will still pick up the frames.

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.

1 participant