Custom Software for Device Control
Laser Templating Control and User Interface
The TLSI division of General Scanning (now GSI Group) obtained a substantial R&D contract from Boeing to produce a 3-D laser template generator to assist in manufacturing complex composite parts for the Boeing 777. The pattern generator is essentially an accurate laser light show which outlines the placement of graphite composite fabric on large forms. Composite layup technicians are guided by the laser pattern as they buildup the parts. GSI’s agreement with its software partner had collapsed , and so they needed the scanning-control and user-interface software built from scratch against a 3-month deadline.
The software was object-oriented “C” running under DOS, but mimicked the Windows pull-down menu standard, as per Boeing’s specification. The software was completed on time and resulted in a successful buyoff from Boeing and follow-on production orders. Over the next several years, our expertise was utilized to make specific extensions to the software for other customers, including Aerospatiale, and to adapt the software for use in other industries, notably prefabricated housing. Finally we helped newly-hired software engineers migrate code to Windows NT, adding features as the product evolved to support a networked, client-server architecture.
ECG, Neural Recording and Analysis Package
Setpoint, a biomedical start-up, needed a portable EMG recording and real-time custom analysis machine for clinical trials on short notice. Course Six designed and built a Windows-based software package to run on a laptop with associated data collection hardware.
Subsequently, Setpoint required a neural stimulating and recording device for product development. Course Six wrote the control, recording, and UI code for this device in C#.
Five-axis Laser Cutting Machine
Lumen Laboratories is a custom optics design company which had contracted to build Laser cutting machines for a synthetic diamond company. Lumen was familiar with Course Six’s combination of quality and speed from the GSI laser templating project, and so they turned to us to fill their control software needs.
As a subcontractor to Lumen, Course Six designed and coded all the software for this product. Building this software required considerable customer interaction in user-interface design, as well as 3-D geometry, machine vision and machine-control. Artful combination of in-house software with use of an off-the-shelf multi-axis controller allowed the customer to enter the market in successful competition with much more heavily capitalized vendors.
Sub-Nanometer Laser Measurement System
Sparta, Inc’s Electro-Optical Systems Division developed a dual-wavelength, laser interferometric measurement system, NanAlign, with application in the semiconductor wafer-stepper industry. After a software effort from a different Sparta division came up short, Course Six was called in to lead the software effort both for the DSP and the host processor in a hybrid VME system. The host, a Concurrent Computer Corporation, Pentium-II, SBC, mastered the VME bus for a slave Spectrum Signal Processing, Inc., C40 carrier board, able to support 4 - C40's.
Although NT is certainly not a real-time OS, Sparta desired to use it to support the user-interface and to take advantage of the floating-point processing power of the Pentium processor for relatively long-latency control loops. By using highest-priority NT timers we were able to meet the 50 ms. latency requirement for these loops, while short-latency control and signal processing were handled on the C40's. One of the requirements was the collection of data in formats suitable for analysis and manipulation in Matlab,. For added excitement, we also had to interface with the stepper manufacturer's proprietary serial bus and integrate their Agilent interferometer data into our calculations in real time.
Real-time Pathogen Detection by Spectroscopy
Sparta, Inc. was developing a multi-wavelength spectroscopy system for a Department of Defense agency to detect airborne pathogens in real-time. Based on its performance in the NanAlign program, Course Six was again called to lead the software effort of this multi-vendor system. We wrote the C++ control system, oversaw integration with LABVIEW and embedded subsystems and recast algorithms from Matlab to C++. The work culminated in a one-week, hands-off, system test, in which the software performed flawlessly. In addition to real-time detection, all data collected were stored in Matlab-compatible form for subsequent analysis.