Hello. This question might fall under the "Dumb Question" heading but...... When I talked to a Fanuc tech I believe he told me "How your robot operates in RoboGuide-HandlingPRO is how your real robot will run", but I could have misunderstood him. I have a pick and place that runs perfectly in RoboGuide however, on the actual robot it throws up overlimit A:6 (J2 & J3) alarm. I downloaded my entire program (all files) from RoboGuide to the RC. Hopefully this is enough info to answer my question, if not I can add more. Thank you
Sim vs. Reality differences
-
ceilingwalker -
August 22, 2023 at 2:50 PM -
Thread is Unresolved
-
- Go to Best Answer
-
I don't think I've seen a robot run differently from roboguide. In cases where I run into the axis limits I put in a joint move to avoid the axis limit. When you are doing linear moves the robot will try to take the fastest route to the next point, sometimes that route ends up wrapping up the joints. If you put in a joint move that gets you moving in the direction you want while unwrapping your joints it should pick up as normal from there.
Also, you can extend the allowable range on some (maybe all, I don't recall exactly) of the joints. I usually avoid this unless it's needed for reach, not so much to accommodate moves.
-
Are you sure yous User and Tool frames, and Payload are the same between Roboguide and Real robot?
-
Also, how different is the simulated cell from the real one? I've had instances where the fixture was over a foot away from where is was supposed to be.
-
Are the Axis limits set the same between the real and virtual robots? And are the robot models exactly the same?
-
This thread may be helpful: Best practice to calibrate real world to roboguide
-
I put in a joint move to avoid the axis limit.
Yup, it's already a joint move for that reason but still getting the alarm.
-
I don't think I've seen a robot run differently from roboguide. In cases where I run into the axis limits I put in a joint move to avoid the axis limit. When you are doing linear moves the robot will try to take the fastest route to the next point, sometimes that route ends up wrapping up the joints. If you put in a joint move that gets you moving in the direction you want while unwrapping your joints it should pick up as normal from there.
Also, you can extend the allowable range on some (maybe all, I don't recall exactly) of the joints. I usually avoid this unless it's needed for reach, not so much to accommodate moves.
Hey Alan, where is this option/variable to extend the range on Fanuc R30iA and iBs? Might be useful in the future.
-
If you want to restrict the range you can go to menu > system > axis limits. I don't think this lets you extend, only restrict the range.
To extend the range go to system variables, $PARAM_GROUP[1], $LOWERLIMS to change your lower limits and $PARAM_GROUP[1], $UPPERLIMS to change your upper limits.
If you change the limits using the variables you'll have to restart. There is something about the interaction with joints 2 & 3, I don't really know what that is so I leave those joints alone. Also, I don't know how far you can safely push the limits. Whenever I have done it I've only done like 5 or maybe 10 degrees or so.
-
Also, I don't know how far you can safely push the limits. Whenever I have done it I've only done like 5 or maybe 10 degrees or so.
AFAIK, the default limits are usually the physical maximum -- extending those is definitely a risky move, so do so only with caution.
The "J2/J3" limit isn't entirely obvious, but if you take a typical Fanuc (in my experience), and jog J2, J3 moves physically, but the POSN display shows it not moving. Instead, the J2/J3 Interaction value changes. Fanuc's kinematic model is apparently built on tracking J3's orientation relative to the world, rather than relative to J2.
Instead, the J2/J3 limit keeps track of J3's physical position relative to J2. That is, if you look at most Fanucs, J3 has some fixed hard stops limiting its range of travel, and the J2/J3 Interaction appears to track that, not just J3's "raw" joint position data.
There's probably some subtleties and details I'm missing here, but that seems to be most of it. If you put the robot in Mastering position, the J2/J3 Interaction is 0, along with all the Jx values. Jog J2 by itself, J2 and J2/J3 will change. If J2 is at 0, J3 and J2/J3 will show the same value. If J2 and J3 both move, the J2/J3 value seems to follow the sum(?) of the J2 and J3 values.
-
Thanks!
-
Are the Axis limits set the same between the real and virtual robots? And are the robot models exactly the same?
Nope, and this was my issue. It was a joint move command with a large Z-plunge. To resolve it I just changed it -200mm so it was very close, just not quite. Thanks
-
- Best Answer
Nope, and this was my issue.
Ah. Yes, that'll do it. If there's any physical differences between the virtual and real robot, it really hurts the validity of your sim results. Likewise if there's differences between the real and virtual UTOOL or UFRAME settings, though those are easier to fix.