# Validating Ray Simulation Using SOLIDWORKS

I recently worked on a project to design a novel interferometer system with the University of Oxford, the University of Bath and the UK’s National Physical Laboratory (NPL). Key to evaluating the feasibility of the system was simulating the laser ray path and beam dispersion using a numerical simulation in MATLAB. Geometric constraint-based sketches in SOLIDWORKS provided a really useful and intuitive way to validate the ray path models.

## Interferometer Design

Measuring at the required accuracy is a big challenge for aerospace manufacturers, who must operate in factory environments with large temperature variations and line-of-sight obstructions. Thermal gradients of 1°C/m distort laser straightness and optical triangulation measurements over the 25m length of a wing by approximately 0.3mm. The next generation of aerospace structures will require surface profile tolerances of less than 0.5mm to achieve natural laminar flow and feature positions tolerances of less than 40µm to achieve component interchange ability. Proving conformance with these specifications requires measurement uncertainties of the order of 50µm over 20m and 4µm over 4m, respectively.

Absolute multilateration between spheres (AMS) has been proposed as a way to measure within factory environments without being affected by the environment in the way that current laser tracker and photogrammetry systems are. AMS uses laser interferometers to measure the distances between pairs of steel spheres. The laser path is contained in a tube, allowing environmental parameters to be controlled and measured.

The laser is directed through a collimating lens and a polarizing wave plate, onto a polarization dependent beam splitter. This splits the beam into two paths: the reference path, which continues directly into a photodetector; and the measurement path. Quarter wave plates first direct the measurement beam to one sphere and then to the other sphere before recombining it with the reference beam to the detector as shown in Figure 1.

Most of the spheres’ surfaces are exposed, providing datums for probing and scanning. Taking multiple distance measurements between common spheres allows coordinate measurement. Such a measurement network could be embedded within jigs and tooling to provide reference networks and monitor positions (see Figure 2).

Potentially the tubes could also be actuated, enabling highly accurate feedback within parallel kinematic machines. Concept designs for a coordinate measurement machine and a snake arm robot are shown in Figure 3.

## Beam Divergence

When the laser reflects on the curved surfaces of the spheres, it will diverge. This results in only a very small amount of the total beam power reaching the detector. Lenses close to each sphere could prevent this from occurring but would introduce measurement errors that would be difficult to correct. Extensive simulation was carried out to determine whether it would be possible to obtain a sufficient signal-to-noise ratio for measurements without lenses. Simulations also considered the feasibility of beam alignment for self-calibration (see Figure 4).

## Beam Simulation

Simulation of the beam starts with simulation of an individual ray. A numerical simulation of the beam is then carried out by dividing it up into a number of finite rays. For example, the beam power is divided between the rays and the total beam power reaching the detector is the total beam power for those rays that reach the detector. Critical parameters for the interferometer system are as follows:

- The power reaching the detector, calculated by determining the number of rays that reach the detector.
- The mean error; that is, the distance traveled by the rays reaching the detector, compared to the actual distance between the spheres. This is the system’s measurement error due to misalignments.
- The range of optical paths lengths for all the rays reaching the detector. This determines how clearly fringes can be observed in order to perform interferometric measurement.

Although specialized ray tracing software
is available for optical design, this was found to be unsuitable due to the
extreme beam divergence in this system. As little as 10^{-9}of the
laser power might reach the detector. Fully simulating the entire beam at
sufficient resolution to characterize what is happening at the detector would,
therefore, require of the order of 10^{12} individual rays. This was
not practical. Instead, a pattern search was used to find the edges of the
detector and then detailed simulation was only carried out for the region of
the beam that actually reaches the detector. The simulation algorithms were
created using MATLAB.

## Ray Model of Interferometer

Simulation requires a mathematical model that
describes the path of a ray in the laser beam using vectors. If the
interferometer is perfectly aligned, then a ray on the measurement path travels
from the laser source (**A**) to a point
(**B**) on the beam splitter, then to a
point (**C**) on the surface of the first
sphere, then to a point (**D**) on the
second sphere, then to a point (**E**)
on the beam splitter, and finally arrives at a point (**F**) on the detector. When alignment errors are present, the path **ABCDEF** becomes **A’B’C’D’E’F’**.

A ray on the reference path travels from point **Ar** to interfere with the measurement path ray at point **F’**. The coordinate system was arranged so that point **B** is at the origin, the path **AB **lies along the x-axis (in the negative direction), and the path **BC** lies on the positive y-axis (as shown in Figure 5).

Vector geometry can be used to find each of the points in the path in turn. For example, the direction of vector A’B’ is given by applying rotation matrices to the nominal direction vector:

The intersection of this vector with the plane of the beam splitter gives the position of B and the direction of B’C’ can be found by reflecting A’B’ about a vector normal to the beam splitter (N_{x}):

The intersection of the first sphere with vector B’C’ gives two possible positions for C. The one with the minimum y-coordinate is the correct one. The direction of C’D’ is then found by reflecting B’C’ about the surface normal to the sphere at point C’. The surface normal has the direction from the center of the sphere to the point C’. A similar process is carried out to model the rest of the ray path.

I’ve not gone into too much detail about how the intersections between vectors and planes or spheres are calculated, or how the vector dot products are calculated in the above equations. The point is that an efficient beam calculation is possible. This can then be used to perform numerical searches and simulations involving millions of rays to determine beam power and accuracy, and to simulate the alignment process. However, the ray model is reasonably complex and difficult to validate. SOLIDWORKS provides a really simple and intuitive way to check the beam calculation.

## Validating the Ray Calculation Using SOLIDWORKS

A 3D sketch can be used to simulate the ray path for the AMS interferometer. First, the geometric elements for the spheres, beam splitter, laser source and detector need to be modeled. The spheres can be modeled as solids, while the beam splitter and detector are modeled as reference planes (see Figure 6).

The ray path can then be modeled using a series of sketches, with each section in the ray path modeled as a straight line. The surface normals for each surface of reflection are also represented by straight lines in the sketch.

The first section AB is simply a straight line, originating from and in the direction of the laser source. The endpoint of this line is set to be coincident with the beam splitter plane to find the position of point B as shown in Figure 7.

The surface normal vector is then modeled as an axis that is coincident with the endpoint of line AB and which is perpendicular to the plane of the beam splitter. A reference plane is created for the plane of reflection; this is coincident with both the surface normal vector and the other endpoint of the line AB, at point A. Sketching on this plane, the direction vector for BC is a line that is symmetrical with the line AB about a centerline along the surface normal axis (see Figure 8).

A 3D sketch of the actual path BC is then created. This sketch contains a single line with an endpoint at B that is collinear with the direction vector just created. The final unconstrained endpoint of the 3D sketch is then located on the surface of the first sphere. This finds the point of intersection between the ray and the sphere (see Figure 9).

The surface normal to the sphere can then be found by creating a 3D sketch with a single line. This line has an endpoint at point C, the endpoint of BC on the surface of the sphere. It can then be fully defined by either setting its other endpoint to be at the center of the sphere, or by making it perpendicular to the surface of the sphere.

A plane for the reflection can then be created as before, by making the plane coincident with the surface normal vector and the point at the other end of the incoming ray. The direction of CD is then found by again using a 2D sketch on the reflection plane and creating a line that is symmetric to the incoming ray—about a centerline on the surface normal vector. A 3D sketch is then used to extend this ray to the surface of the second sphere (see Figure 10).

The process is repeated for each section in the ray path. The basic process is to use a 3D sketch line or a reference axis to find a surface normal, create a plane to reduce the reflection to a 2D symmetry, use a 2D sketch to find the direction vector, and then use a 3D sketch line to find the point of intersection.

This project shows how the geometric constraint-based sketching in a parametric CAD program such as SOLIDWORKS can be a powerful tool to help solve engineering problems that are far removed from simply modeling part geometry.