realitydeslab / holokit-x-hardware

HoloKit X Hardware Development
1 stars 1 forks source link

Calibration Rig #17

Closed botaohu closed 2 years ago

botaohu commented 4 years ago
botaohu commented 4 years ago

@nicolehong0 initial meeting Mar 14, 2020 3pm.

nicolehong0 commented 4 years ago

meeting note for calibration rig discussion on 2020/3/14. optical calibration rig discussion_20200314.pptx

botaohu commented 4 years ago

ChArUco chart: https://calib.io/pages/camera-calibration-pattern-generator

We will use Zed 2 camera https://support.stereolabs.com/hc/article_attachments/360056836934/ZED2.step

botaohu commented 4 years ago

@nicolehong0 can you upload the apple's slides here?

nicolehong0 commented 4 years ago

@botaohu this is the A2 OQC test intro. Lens OQC 10.2.19.pdf

nicolehong0 commented 4 years ago

A2 optical variability study fixture used as below: image

botaohu commented 4 years ago

Product Requirement Document for AR HME Calibration Rig

Definition

Objective

Design and make a calibration rig to place phone, ARHME, test camera, calibration object in the system in order to match the virtual rendered images with the physical calibration object from test camera's perspective.

There are two major testing phases in the calibration.

Assumptions:

Known information

Phone static rendering:

Necessary input information for static rendering:

Given above information, renderer can render the virtual image of calibration object based on the ideal optical system of ARHME.

Phone dynamic rendering:

Additional to static rendering, the software will estimate the pose (position + rotation) of the phone $^{G}\hat\mathbf{p}_{P}$ to renderer to render a static images 60 frame per second.

The software needs to predict the predict pose before rendering start to reduce the latency to match the virtual image to the actual object.

For example, 60 frame per second rendering refresh rate needs 16.6ms rendering time per frame. $\Delta t = 1000ms / 60$

If we want to display an image at time $t$, we need to predict the pose $^{G}\hat\mathbf{p}_{P}(t)$ at time $t0 = t - \Delta t$. The goal for dynamic rendering is to minimize the error $^{G}\hat\mathbf{p}{P}(t) - ^{G}\mathbf{p}_{P}(t)$ in order to match virtual and real object.

Design

Calibration Rig Design

Test camera

Test camera rig:

Calibration object

Testing Phone.

This calibration should be designed to be easily compatible with all the phone with different size.

Testing Process.

rig.pdf

botaohu commented 4 years ago

VR Rig for our lens and calibration.

451585498382_ pic 461585498385_ pic VR jig.step.zip

botaohu commented 4 years ago

@nicolehong0 please make an initial verison.

botaohu commented 4 years ago

@nicolehong0 whats' the ETC?

nicolehong0 commented 4 years ago

Released CAD: https://github.com/holokit/HoloKitX-Optics/tree/master/Internal_Optical_Calibration_System/HME_Calibration_System/Release

nicolehong0 commented 4 years ago

Set iPhone 11 Pro rear camera 1 keepout cone tip as the origin of coordinates. The location of real chart and designed eye as: iPhone 11Pro main camera coordinates.pptx

nicolehong0 commented 4 years ago

Some key dimension as: image image image

nicolehong0 commented 4 years ago

The CAD and introduction files for the calibration system (HME+real chart+device) with the coordinate system which use main camera as the origin for different device (such as iPhone 11 Pro, iPhone 11 Pro Max,, etc) can be found by link: https://github.com/holokit/HoloKitX-Optics/tree/master/Internal_Optical_Calibration_System/HME_Calibration_System/Release/HME_device_realimage

botaohu commented 2 years ago

Close due to new optical calibration system required.