Physically adjusting the camera is an unacceptable solution.
For example if I want to find the blobs to get centroid X, Y and the rotation of a fairly large object directly under the suction cup. Moving the camera back and forth would result in incorrect positioning unless we are able to calibrate the values in vision.ino.
Your extensive use of so called “magic numbers” makes this program quite ridiculous to calibrate.
x_uarm = y_openmv*(-0.7035)-3.635 + 88 + 70 + 200;
y_uarm = x_openmv*(-0.7488)+12.391 + 107.5 + 15 +0;
What is this supposed to mean?? why add 0, that does absolutely nothing. Why was the value 0.7305 picked, or any of the values for that manner. Why subtract a number then add 3 numbers seperately?
it is my opinion that this is quite an unrefined algorithm, impractical for any use than the basic red cube example