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

Program passes Mimic checks and still fails when run on robot #19

Open
rider-rebooted opened this issue Oct 2, 2020 · 4 comments
Open

Comments

@rider-rebooted
Copy link

This maybe something we’re doing wrong on our end.

When we try and push the high speed moves and tweak the acceleration curves to eliminate jerk and velocity errors, the program passes Mimic analysis but still fails when run on the robot.

Unfortunately the pendent doesn’t report whether this is velocity or jerk so we have to return to Maya and tweak blindly.

@aatb-ch
Copy link
Contributor

aatb-ch commented Oct 2, 2020

What robot brand? What I have found is that the timestep used changes the analysis granularity so it might pass or fail analysis depending on how fine/rough you are stepping through the path. If you are very close to limits it becomes unpredictable as any variability from the ideal model will change your kinematics from being below/over the edge.. With our Universal Robots on high-speed moves, we can trigger e-stops just because the base is not perfectly bolted to the floor and some moves will shake and resonate while passing analysis without issue. Best to stay with some margin off limits.

@evanatherton
Copy link
Member

@rider-rebooted the acceleration and jerk limits we check are nominal because they actually depend on the payload and center of mass of your tool. So the controller calculates those limits dynamically. You can pull the calculated limits off the controller for more accurate checks.

Assuming you have a KUKA, you can look at the log and it will show you exactly what limit was violated and at what timestamp in the program.

@evanatherton
Copy link
Member

Assuming you're using entertainTech or ready2_animate:

In file mdrEmily.ini: set the variable DERIVATES to MAXIMA to log the max speed/accel/jerk for each axis or ALL to log speed/accel/jerk for each command in the table (every 12 ms step).
Any change to the mdrEmily.ini requires a “cold boot/reload files"
The log can be found in C:\KRC\ROBOTER\LOG.
Multiply the timestamp by your fps rate to determine the keyframe location of your issue.

@rider-rebooted
Copy link
Author

Thanks for your replies @aatb-ch and @evanatherton !

In answer to your question @aatb-ch, we are using a Kuka robot and always analyse at 12ms increments.

@evanatherton
Thank you for explaining how to generate and view these logs.

Am I correct in thinking the controller builds a ‘profile’ of the current payload which gets more comprehensive with experience?

You say that that we can pull the calculated limits off the controller. Is this a case of dialling values for each axis into Mimic manually?

I wonder if it would be possible to run a ‘calibration’ movement sequence that would quickly gather enough info to calculate limits then (with some scripting) read and import these into Mimic automatically to account for payload changes and give us a custom set of limits for programming.

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