In the consumer electronics space, engineers leverage lidar for several functions, such as facial recognition and 3D mapping. While vastly different embodiments of lidar systems exist, a “flash lidar” solution serves to generate an array of detectable points across a target scene with solid-state optical elements. The benefit in obtaining three-dimensional spatial data for use in a small-form package has caused this solid-state lidar system to become more commonplace in consumer electronics products, such as smart phones and tablets. In this series of articles, we will explore how OpticStudio can be used for modelling these kinds of systems from sequential starting points to incorporating mechanical housing.
Authored By Angel Morales and Mojtaba Falahati
Lidar (Light Detection and Ranging) systems have been used in several cases across many industries. While there are different types of lidar systems, such as systems with scanning elements that determine the field of view, this example will explore the use of diffractive optics to replicate the projection of an array of sources across a target scene. An imaging lens system then observes this projected array of sources to obtain time-of-flight information from the incoming rays, thus generating depth information from the projected dots.
In Part 3, we cover the conversion of our optical model into a .ZBD file using Prepare for OpticsBuilder. This conversion enables the optical model to be opened in OpticsBuilder for a supported CAD platform to generate mechanical housing and perform ray trace validation.
Using Prepare for OpticsBuilder
Over the last two articles in this series, we have created a full end-to-end model for a flash lidar system in OpticStudio.
Now, the next step in the design process requires the construction of some mechanical housing to hold the optics within their respective tracks (i.e., the transmit and receive-specific modules). The mechanical design also requires some packaging that can hold the individual modules. The Prepare for OpticsBuilder tool generates a file with the .ZBD extension which can be read in by the OpticsBuilder module for supported CAD platforms, enabling quick file-sharing and collaboration between optical and opto-mechanical engineers.
To begin, we look at a slightly modified version of the non-sequential model flash lidar model we have been investigating with just the optical components and the single scattering wall (note that for this article, the wall has been changed to a Rectangle 2D surface in replacement of the Detector Rectangle). This file is provided as “FlashLidar_FullSystem_Nominal.ZAR.” Next, we open Prepare for OpticsBuilder via the File tab…Prepare for OpticsBuilder:
In Prepare for OpticsBuilder, the optical engineer determines some appropriate settings that check that the conversion to the ZBD file retains the same performance as the native OpticStudio file. For the conversion of the flash lidar system, since we model ray splitting and scattering, we want to ensure that the Analyze With settings have the Scattering and Ray splitting boxes checked. It is also up to the engineer whether to make the file read-only or not within OpticsBuilder – for this example, we’ll leave the read-only box unchecked:
Once the User Inputs tab is done being edited, you can select Prepare to begin the conversion and have the tool check that the ZBD file performs within your set Allowable Deltas and Tolerances (which we have left at the default values for this example). In the Save .ZBD File tab, click Save to generate the OpticsBuilder-ready file.
Working in OpticsBuilder
Once the .ZBD file has been created, it is ready to be imported into OpticsBuilder by the opto-mechanical engineer (or whomever will design the mechanical housing). This is done by opening a new assembly file in your CAD program with which you have the OpticsBuilder plugin installed. After selecting the appropriate file, OpticsBuilder will begin generating the optical system within the CAD program you are working with:
When the importing is complete, the full optical model and geometry will be viewable and the optical components will be listed in the Optics Manager. If Read-only? was unchecked in the Prepare for OpticsBuilder tool, they will also be editable by the opto-mechanical engineer:
Since the settings in the OpticStudio file are preserved, we can use the Simulate button to perform a ray trace identical to OpticStudio directly in OpticsBuilder. This allows the optomechanical engineer to generate some ideas on the overall design for the housing:
Mechanical components can now be added in using the CAD software. The geometry of the imported optical components can be used as a reference for creation of the mechanical components in a top-down design. The optical components are fixed by default, but the newly created mechanical components can be constrained by assigning mate properties. You may also use previously constructed off-the-shelf parts which can be inserted into the assembly and positioned using mates. Lastly, optical definitions of the newly-introduced components (such as coating and scattering profile data) can be included as well. For example, mechanical spacers are added between the optics in each track:
The next mechanical component added are the barrels holding each individual module:
For all of these objects, within the Optics Manager tab, you can introduce these optical properties by right-clicking the relevant objects and selecting Edit Surface Properties:
Validating Performance in OpticsBuilder
Once the mechanical packaging has been completed, OpticsBuilder can perform another simulation to see how the added housing affects ray tracing for the full optical system. Let’s say that we had the following mechanical design ready for validation:
To run another simulation, we can navigate to the OpticsBuilder tab and click Simulate. With the new mechanical components added, OpticsBuilder can assess any changes to our nominal performance on the detector in spot size, beam clipping, and image contamination:
So, with these mechanical components, the main change to our system is with respect to beam clipping. In this model, the spot size reports on the change of the entire detector performance, meaning it reports a spot size based on the dot array our diffraction gratings create, and so this value is not very relevant in this situation. Image contamination measures undesired light arriving at our detector, so this remains relevant and is maintained within the allowable delta we defined in the initial Prep for OB steps. Detector results before and after adding mechanical components can be visualized by clicking in the “Spot size” area, then clicking Show Detectors…:
These results can also be reviewed by generating an OpticsBuilder report with the “Print” button:
For further investigation, OpticsBuilder saves rays based on whether they contaminate the detector or whether they are clipped by the new geometry. We can allow the clipped rays to be shown while defining the other sets (“Image contamination” and “All Rays”) to be hidden by right-clicking on the respective ray sets:
Closer inspection of the rays from this perspective allows for some diagnosis of the source for some of the beam clipping. The engineer can check the performance of the full housing, or they can evaluate potential interference of any combination of added geometries by including or excluding individual mechanical components within the simulation. For instance, one source of clipping arises from the mounting of the housing to the diffraction grating elements at the end of the transmitting module. Rays interact with this portion of the housing and subsequently become trapped within the housing:
With these details, the mechanical engineer can make informed decisions in modifying the housing design to reduce beam clipping performance.
Iteration between OpticsBuilder and OpticStudio
Should there be a need to send this design iteration to the optical engineer for further review, the opto-mechanical engineer can export a .ZBD file from OpticsBuilder for easy file transfer between the CAD program and OpticStudio from the OpticsBuilder tab. Engineers have the option to save the parts as native components of the CAD program being used, though it should be noted this will require the optical engineer have a Premium OpticStudio license and access to the same CAD software. Users also have the option to save the components as static STEP/IGES/SAT files:
Since the .ZBD files are analogous to an OpticStudio .ZAR archive file, this can be opened in OpticStudio and fully reproduce the optics and mechanical components added by the opto-mechanical engineer. The .ZBD from this example has been attached to this article as "FlashLidar_FullSystem_FromOB.ZBD":
It should be noted that at the time of writing this article, the Importance Sampling settings as defined in Part 2 of this article series will need to be re-defined for the scattering wall to achieve the ray trace shown above.
In this article, we have demonstrated the conversion process between OpticStudio and OpticsBuilder to enable the creation of mechanical packing for our optical modules. After bringing in the optical model into the compatible CAD program of choice, OpticsBuilder can simulate a ray trace using the same ray trace core as OpticStudio to check for changes in spot size, beam clipping, and image contamination. Isolation of these ray sets help assess which aspects of the mechanical or optical design may need to be modified. Finally, optical and opto-mechanical engineers can leverage seamless iteration of their designs by sharing .ZBD files between OpticsBuilder and OpticStudio.