inspectAR 2.12 Release

inspectAR 2.12 improves calibration and adds a new feature for large board calibration

Product Updates
 — 
8
 Min read
 — 
October 5, 2022

inspectAR 2.12 introduces substantial new functionality to our calibration process. Previously, calibration required the user to put the full board into the camera's frame. On larger designs, particularly those exceeding30cm in dimensions, this can cause the resolution of the calibration to be too low to effectively view overlays such as components and nets.

Now users can calibrate the PCB to a specific region of the design instead of using the full board only. This means that the camera can always be kept at a comfortable working height above the board, and by extension, the resolution will be acceptable even for small component sizes on a large design.

We have also overhauled the existing full board calibration method to improve the user experience and lead to faster, higher fidelity calibrations. The full board calibration method is still recommended for boards 15cm or smaller, as it takes less time to complete.


Figure 1: Sub-region calibration

Sub-Region Calibration

The sub-region calibration method works by dividing the calibration region into four different quadrants, and then uses PCB pads as a fiducial for the calibration. We recommend that you select 3 pads for best performance on a PCB area of 10-15cm. If you are calibrating to a small board with a large distance between the camera lens and the PCB then you can select either one or two pads per quadrant. During the calibration if you want to calibrate more pads per quadrant then that is fine.

When you start a brand-new calibration in the sub-region method you must first select the area which you intend to calibrate. This ensures that there will be enough pads to produce usable fiducials within the calibration region, and once you have made sub-region calibrations this map will evaluate conflicts which may arise from overlaps in sub-regions.

You can also select previous calibrations which have been made on the project to edit from this menu.

Figure 2: Sub-region calibration window

To use the sub-region calibration feature move the viewport presented in the calibration to the area you intend to calibrate. You should move the viewport to the area which you intend to use AR on, however please remember that you can make multiple calibrations at once if the area is larger than 15cm. If you intend on working on multiple areas more than 15cm apart, then this is another situation to use multiple sub-regions.

Sub-region calibrations are only possible on desktop platforms of inspectAR.

Let’s walk through the process of creating a sub-region calibration.

Flip Rotate and Align the Board

Previous users of inspectAR will be familiar with first step of calibration, to ensure that the camera is pointing at the correct side of the PCB under calibration, as well as the correct orientation. The sub-region calibration method is no different. To evaluate whether the orientation (top or bottom side) rotation, and alignment is correct inspectAR displays a silhouette of the PCB silkscreen and solder mask. This should produce a unique image which the user can match. Look for large distinct components, silkscreen text or logos, and other unique features to confirm a match quickly. You can also use this guide to help:

·       Flip the board: check that the silkscreen and solder mask match the PCB under calibration. If it is the wrong layer then you will see components which are not there, etc.

·       Rotate the board: check for distinctive features in the solder mask such as connectors, large BGA packages, repeating arrays of components, and silkscreen text to make sure the board is oriented correctly. For example, if the board is calibrated upside down, then all the overlays displayed afterwards will be upside down. While this is true the PCB orientation does not need to be 100% accurate to the silhouette displayed,15-30 degrees of precision is enough for the calibration process to correct.

·       Align the board: try to put the center of the PCB at the center of the cameras focal point by either moving the PCB across the work surface or moving the camera.

Figure 3: Flip, rotate, and align step

Board Coverage Map – First Pass

The board coverage map helps users select a valid calibration region based on the presence of valid fiducials which can be used to calibrate as well as interference with other calibration regions. To use the coverage map, click and drag the viewport which you are presented with around the board coverage map. To select a smaller calibration region, use the scroll wheel to zoom in and make the viewport smaller.

Figure 4: Board coverage map first pass

As you move the viewport around a notification will be presented to you if you have selected an area which is not suitable to calibrate. There are two possibilities of why this might happen:

1.     The calibration region does not have enough fiducials for the user to align.

2.     The calibration region conflicts with another previously calibrated region.

We will revisit point #2 later, but for now if you encounter point #1 then you must either move the viewport to bring more pads into view or expand the viewport with the scroll wheel to select a larger area.

It is important to note that the board coverage map only represents the area which you intend to calibrate. In the subsequent step the coverage map will adjust itself according to the area which is actually calibrated.

Overlay Alignment Step

The purpose of the alignment step is to reduce the mean distance which the AR fiducials will have to be moved in our subsequent step, the pad alignment step. To complete this step, click and drag the overlays to move them, use the scroll wheel to scale the overlays, making them either larger or smaller to match the size of the pads on your board. There is a sensitivity adjuster on the bottom toolbar which you can use to scale the overlays very precisely.

Try to line up one component on the center of your board well, it does not need to be perfect, only close. The closer you can match the scale of the AR overlays to the real-world pads on the board the better, this will improve your correspondences in the subsequent step.

Figure 5: Overlay alignment step

The reason that the overlay alignment step does not need to be perfect is because it is nearly impossible to achieve perfect alignment at this stage. Cameras have a small warp near the edge of the lens which means that all the overlays cannot be lined up at once. Additionally, it is unlikely that the plane of the camera and the plane of the PCB will be perfectly parallel, this will cause a skew between the AR overlays and the real-world pads. Our next step will account for both these factors.

Pad Alignment Step – First Pass

During this step the calibration region will be divided into four quadrants. In each quadrant you will be asked to make a correspondence between 1-3 AR pads and real-world pads. These correspondences must be made manually by the user, so it is entirely possible that an “off-by-one" error could occur on similar looking pads. This is why we reduced the distance which pads will have to be moved in the previous step. Additionally, if you were able to line up a component in the center of the screen then there will likely be some pads in every quadrant which line up very closely from the beginning to help you.

Figure 6: Pad alignment step, no adjustments made

To align the pads, click and drag them to their correct location. If it is an especially small pad, you may need to zoom out a little bit using the scroll wheel to see it properly. To help you manage the different pads, a special menu called the “Pad List” will appear in the upper right corner of your screen. Each pad which you select will appear in this list, allowing you to manage all the pads which you have calibrated for that quadrant. This menu also gives you up and down arrows for previse, fine-tune adjustments. Finally, to move on to your next pad you will need to click the “Accept” button on the pad list. Once the “Accept” button has been clicked you will zoom back out to view your full quadrant where you can select the next pad.

Figure 7: Pad fiducial list

As you calibrate each pad, the number of pads you have calibrated will be tracked at the bottom of the screen. Once you have calibrated the minimum required number of pads, click the arrow to advance to the next quadrant. Repeat this process for the remaining three quadrants. In general, it is best to select one pad near the upper right corner of each quadrant, followed by one in the center, and then one on the outer edges, however any combination of pads will work with enough iterations so don’t spend too much time optimizing this.

Figure 8: Pad alignment step with adjustments

Inspection Step

Now that you have calibrated each quadrant it is time to see how well the overlays line up. If you’re happy with the alignment you see, then you can accept the calibration and move on. If not, click the edit button and add more pads to the quadrants which you are unhappy with. There is no need to distribute the pads equally at this point, if only the upper right quadrant is misaligned then only add more pads to that quadrant, and then check to see if this succeeded in aligning the overlays. If you have tried adding more pads to a quadrant but you are still unsatisfied, then you may have to try calibrating a smaller region. If this is the case, we recommend still accepting the calibration and trying the overlay adjustment window in the AR scene first, so that you can still reuse this work if needed.

Figure 9: Inspection step

Board Coverage Map – Second Pass

Now you will return to the board coverage map. This time you will see the region which you just calibrated. Note that it may be slightly different than the one which you selected one the first pass, because this is the actual area which you calibrated not the intended.

To the left of the board coverage map you will see a list of all the regions you have calibrated within the calibration file. If you move the viewport around now, either by translating it or expanding it, you will notice that the region we have just calibrated changes color on a scale from green to yellow to red. This color scale corresponds to a 1-3 star rating right above the list of calibration regions. This informs you about the experience you will have if you use inspectAR on that area of the board.

·       Three-star rating and board coverage map green:

o  This means that 80% or more of the calibration is within the viewport, meaning inspectAR is operating under optimal conditions. If you move the viewport and see three stars there is no need to calibrate another sub-region.

o  You cannot calibrate a new region within this area because there is too much overlap within an existing region.

Figure 10: Sub-region calibration map with three stars

·       Two-star rating and board coverage map yellow:

o  This means that 20-80% of the calibration is within the viewport. inspectAR will most likely not find tracking within this area because the 80% calibration threshold has not been met. If you start work within the green region and then move the PCB or the camera to the yellow area, then tracking will still be maintained.

o  You cannot calibrate a new region within this area because there is too much overlap with an existing region. If you cannot move the PCB or camera to bring this into view, then you will need to make afresh calibration.

o  Clicking the “extended coverage area” toggle will show you the extent of this area on the map.

Figure 11: Sub-region calibration map with two stars

·       One-star rating and board coverage map red:

o  This means less than 20% of the calibration is within the viewport. inspectAR will not find or maintain tracking in this region.

o  Calibrating a new region adjacent to this one should provide satisfactory coverage.

Figure 12: Sub-region calibration map with one star

This system will help you evaluate future calibration regions and determine whether a brand-new calibration needs to be made. If you are satisfied with the board coverage map you see, then you can click the save button and begin work.

Figure 13 :Sub-region calibration map with zero stars

Full Board Calibration

The traditional calibration method which inspectAR has used since its launch in 2019 has also been overhauled alongside the new sub-region calibration method. The advantage of the full board calibration method is that it is much faster than the sub-region calibration method. As such, it is still the preferred methods for PCBs which are 15cm in size or smaller.

You can now load a static image from a local file for the full board calibration. Additionally, you can calibrate the top and bottom ofthe board separately. This is very useful if the board will be mechanically held in a fixture and cannot be rotated.

Figure 14: Full board calibration showing static image options

When making a full board calibration, the overall process remains the same:

1.     Flip the board to the correct side, rotate it to the correct orientation, move it to the center of the camera, make sure the PCB is in focus.

2.     Capture an image.

3.     Adjust the board outline which is presented to you using the four corners.

a.     In 2.12 click on the four quadrants to automatically zoom the camera to the corner of interest. This should make the calibration process faster.

b.     Just like before, you can lock handles and lock axes to move the corners more precisely.

4.     Once you are satisfied with the fit of the board outline click accept and move to the other side if applicable.

Figure 15: Full board calibration adjustment step
Figure 16: Full board calibration corner adjustment, user will automatically be zoomed to the four corners of the PCB

AR Tracking Menu

Figure 17: Sub-region tracking menu

The AR tracking window helps you to understand the quality of your tracking for both full board and sub-region calibrations. Six parameters are displayed:

·       Board direction

o  This is the direction of the board relative to its design space.

·       Target direction

o  This is the direction of the calibration in-view relative to how it was calibrated. Best tracking results occur when the board and target direction are parallel. If they are anti-parallel you may lose tracking easier but in general it should be stable.

·       Target rotation

o  Actual target rotation in degrees, this tells you if you have rotated the board differently than the person who calibrated it.

·       Target in frame

o  The fraction of the target which is in frame. This allows you to determine the 80% and 20% rule visually.

·       Frame clarity

o  This measures the level of focus, the higher the number the better. If the icon is green then you should have good focus.

·       Target scale

o  This compares the scale of the calibration sub-region to the actual height and zoom levels of the camera

Figure 18: Tracking menu

 

New Active Overlays Menu

The active overlays menus has been overhauled to create amore intuitive experience. Previously several other menus depended upon the active overlays menu to select the overlay which they apply to. For example, to create a comment on an overlay you would first need to select that overlay either through the active overlay's menu or via board touch by clicking on it. Now you can directly launch all these menus from a toolbar at the bottom of the active overlay's menu. If you only wish to browse comments, add an overlay or similar, then these quick commands will be useful to you.

Figure 19: The new active overlays menu

On-Prem Users Server Configuration File

For users who use an on-prem server to connect to inspectAR they have previously needed to manually configure four separate links to configure full functionality. This was done to provide flexibility to enterprises with complex proxying policies. As the on-prem product has matured, we have been able to improve this aspect of the service, and users will now connect to their on-prem server by loading a configuration file into the client.

Figure 20: On-prem server configuration menu

The checkbox indicates whether you are using inspectAR cloud or a custom server setup. The custom server input fields will contain the IP addresses of core microservices, prefixed by http. E.g. http://localhost:8080

The fields are as follows:

·       CustomBackend Endpoint

·       CustomProcedures Endpoint

·       CustomAuthentication Endpoint

·       CustomWebapp Endpoint

 

Section2: Network Proxy

If your company uses a proxy server, tick the box and fill out the address and login information required.

·       URL

·       Username

·       Password

Once those settings values are set, click the save button and sign in using your credentials.

Using a Settings File

While copying and pasting URL’s is an improvement over typing them in manually, it’s far more efficient to apply settings from a file. Setting the file up can be done in two ways. Keep in mind, this file is not referenced on start-up, but only the file is selected with the Import button.

Figure 21: Important buttons


 

Export File

Fill out the Server Selection and Network Proxy settings correctly once, export it, and send it to anyone else using those settings. The click import, select the file, and save. (Note: the program does not support drag and drop)

 

Edit a Template

You can use the following example below to create an on-premises server configuration file. The file is created using the TOML language which you can learn more about here, however editing the file is more than sufficient.

# On Premise Config Document

FileVersion = "1.0.0"

ServerSelection =  "Production" # (Production | Custom) Uses the inspectAR Cloud or  [CustomServerURLs] contents

UsingCustomProxy = false #  (true | false)

#

[CustomServerURLs]

BackendEndpointURL = "http://inspectar/venditio" # E.g. http://localhost:8080

ProceduresEndpointURL =  ""

AuthEndpointURL = "http://inspectar/keycloak/auth/realms/inspectar"

WebappEndpointURL = "http://inspectar/larkin"

#

[ProxySettings]

ProxyURL = ""

Username = ""

Password = ""

 

Like the article? Spread the word

Other Articles