Most suitable solvePnP flag

Good afternoon. I think I have confusion about usage of solvePnP(). I have two square targets located at angle to each other. I have tried different flags of solve PnP, but the result always is much more off than I expect it to be (since I just select the points on target corners manually, which seems simple enough).
Most recently I tried SOLVEPNP_P3P, with 4 points (I tried 3 on one target and 1 on another, 2 and 2, all 4 coplanar - not even sure from docs whether they should or should not be coplanar). First 3 points are always fit perfectly, and 4th is always way off (sorta expected because of P3P ambiguity… But I thought that with such easy targets that should not happen).
What would be the best PnP approach for my set-up? Any advice, code, literature are appreciated.

can’t do anything without a MRE.

lierature iss
appreciated

Have you calibrated the intrinsics of your camera? If not you won’t be able to recover the camera pose correctly.

If your camera (lens) doesn’t have distortion and you only want to calibrate to a single plane, SolvePNP should be able to generate a solution that maps all of your points correctly, but in that case maybe just use a homography for your calibration.

If you are using points from two different planes you will need to have a calibrated camera (intrinsics) for it to work.

When you say the 4th point is “way off” what do you mean? Can you provide data? Are you certain your world coordinates are correct / in a consistent space when you use 2 planes?

Yeah, an MRE would definitely help here.