Hello, I have recently run into an issue using the palletizing wizard on the UR10e robot running Polyscope 5.13.1. I am running a program that calls multiple subprograms, each of which contains two palletizing wizards.
Yesterday, after I opened another program and then returned to the original program, the palletizing wizard, which had been working fine, suddenly crashed, giving me an error message and preventing me from making any changes to the corner points and the approach, tool action, and exit points. An image of the error message is provided below.
I’ve seen this a few other times by people reporting this, and it seems they are always using subprograms as well. It’s a bug on UR’s end, unfortunately, and there won’t be anything you can do to fix it beyond what you’ve done by reporting it. You could try workarounds like rebooting the robot or something.
I am no expert on code by any means, but I have done a little digging into this problem and I think this error could be a result of how the wizards extrapolate their points in the generated movements from the initial set points.
Using the same sub-programs with 2 pallet wizards per sub program I got the error, so I went in and started looking at the script for the program to see if I could figure out what was making it error:.
I found that;
- In the palletizing wizard, you can rename the pallet, pallet count, and the pattern without it causing problems. When this error comes up, the “At each point” movement nodes turn yellow and have the error, but the pallet setup before that will remain completed. So, the only part of the pallet wizard that malfunctions is the “generated movements at each point” section of the wizard- where the points are the approach, tool action, exit, and corner points.
- The wizard will rename the variables that are not in the pallet setup the entire way through the script, however, once it does the background part of the wizard, it can be seen in the script that all of the variables in the generated “At each point” movement section get renamed into the global variables such as “CornerItem_#, Pallet_1_lno, and pallet_1_lno”, despite all of the pallet wizards being set up and all of the corner points, pallets, pallet counts, approach points, exit points, and tool action points independently.’
I think since the pallet wizard is only using the initial points in the generated sections and then is automatically renaming them without using the same naming convention that was initially used by the operator- when multiple pallet wizards (or other wizard caps) are being used in the sub-programs the reference points and variables naming gets confused in the naming logic causing the error.
This is just a theory I have. I would like to try to copy the entire script for the pallet wizard and manually rename all of the points to see if it would work to upload it as a script instead of the pallet wizard.
Yeah so the error is actually happening either pre-script generation, or during. The null pointer is being thrown by the Java environment. So one of their methods is trying to operate on a piece of data that no longer exists. This may be stemming from a failure to correctly name the variables, as you’re describing, but you can’t really DO a whole lot with variables on the Java side, so I’m not sure. Just seems like every time I’ve seen someone post about the null pointer here, they are also always using subprograms, so I’m assuming that’s the underlying cause. Unfortunately, this issue still hasn’t been fixed, as you can see from this post (Java Null Pointer Error on Palletizing Node After Restart) it was reported as far back as 2021. (also here Palletizing subprogram gives error when clicked on 'Keep subprogram updated')