Collision detection in most robots really sucks.
That they can't actually predict the amount of force needed for a movement, well being used to abb's i will never understand this.
My normal use cases was products with different sizes and densities, even where they were to be picked in the tool.
So adding this to the tool load, and letting the ABB run with standard coldetect settings, nothing bad would ever happen in case the product sucked.
It also wasn't unusual to have something like 3000 different permutations, but only have the heaviest, longest/ shortest 4-5 types when testing.
So the solution, like panic suggests, More sensors, and make sure no collision occurs, because actually setting up collision detection needs a very locked program/payload/speed structure.
This kind of negates the very usefull ability of robots to adapt to new products, but there you go