Callibration of Servos using OpenMV

Hello all, hope you are doing well and are safe in this unprecedented time.

I am going to be building a mount for the camera that can actuate in the Yaw and Pitch directions based on Servo motors. I realize I do not have to do any feedback controls to control the servos as they are built closed loop. However, I do have to calibrate the PWM and angle of them.

I was thinking about using protractors… but I realized I had access to a great computer vision tool!

What would be the best way to calibrate these motors with this camera? I know you can detect camera turning with pixel differentiation, but would it be best to use the blob method and measure the distance between 2 blob centers? In this method I would line up the center of the blob with the center of the frame in either the horizontal or vertical reference (for yaw and pitch). when a blob’s center is measured at that axis, the servo would increment until the next blob enters the center of the frame. The 2 duty cycle’s are subtracted and I have a calibrated system perhaps.

Just trying to think of the best methods to calibrate servos with this tool. Open to any suggestions!

If you have a target that is in a known position and find_blobs() can find the edges really well and the centroid is stable then that would work the best. Just one blob is enough. You’d just turn the servos until the blob hit the edge of the image. Then you go the other way. You’d do all 4 directions.