Precision landing using IR markers - Perspective-n-Point Problem

Hi, I’m wanting to use the OpenMV cam with an IR lens for precision landing of a drone. I want to create a program similar to the mavlink_apritags_landing_trage_1.py example. However instead of using an AprilTag I’m going to use a set of three or more IR LEDs to act as a marker. There is a product called IRLOCK which does what I am describing for an example.

I am wanting to find the pose/position of an OpenMV cam given a set of n known 3D points (IR LEDS) in the world and their corresponding 2D projections in the image. Also known as the Perspective-n-Point problem. Most of the time people use cv2.solvePnP but I assume this is not available to use on a OpenMV cam since its in microPython. Is there any kind of PnP solvers available to use in OpenMV ODE? I assume there is something similar being used to find the pose of the April tags. Is there any way of using the for a custom marker?

If not would the best option be to write my own PnP solver function?

Hi, there’s a NP library on the camera. So, if you google the algorithm someone probably has a matrix version that you can implement with our NP like library.

NP being numpy.