Dealing with “getInverse: Unable to find a solution”
How to deal with this message when moving programs between robots
What is the problem?
When loading a CB3 program on an e-Series robot, waypoints in the program are automatically converted to a new updated format. This conversion may occasionally be unsuccessful and result in the “getInverse: Unable to find a solution" message when running the program. This may also occur occasionally when moving programs between two e-Series robots.
Why does it occur?
This usually occurs due to mechanical differences between the CB3 and e-Series (including the taller base, extended wrist2 joint and longer tool plate) which affect the relationship between tool position and joint angles (Kinematics). These can cause the updated waypoint to either be outside the reach of the robot, or close to a singularity (to learn more about singularities, see this support article: What is a singularity?
How do I resolve it?
Most commonly it will be the tool pose (Cartesian) that is most important for the waypoint, for example when a pick or place operation is carried out at this point. In this case it is necessary to re-teach the waypoint.
If however, the specific joint angles need to be used, for example when moving to home position (with the robot straight upright), or at an intermediate waypoint where the tool pose is not so important (not a pick or place point), then the “Use Joint Angles” option under the move command can be selected. This is only possible for a movej and will ignore any previously configured TCP or feature.