Applications
......................................................................................................................................

Nozzle Positioning System for Proton Therapy

Developed a Galil based servo positioning system for a cyclotron nozzle.  The nozzle system is used to precisely position a cyclotron beam for patient proton therapy.  Two motors are used to position an X-Ray Tube and Nozzle in and out of the proton beam, and two others are used for precise horizontal and rotational positioning of the nozzle in the beam.  Dual resolver feedback is employed.  Responsible for electrical design, software design, user interface design, implementation, and verification.


Stereotaxic Alignment of Patients for Radio Surgery

Developed control software for a 5-axis positioning system used to locate patients for cranial radio surgery.  The system included redundant encoders and "real time" position comparison to insure that critical positioning requirements were met.  The user interface and top level control code were written in Visual BASIC and low level servo functions were implemented in the Delta Tau servo controller.


Proton Therapy Modulation

Eye Line - Developed a Siemens PLC and Copley servo drive system to modulate proton beam eye treatments.  One axis required redundant feedback of position via analog transducer, and another required redundant feedback of velocity.  A Siemens touch screen interface was employed.




Pan/Tilt Control System

Developed a mobile-PC and Galil based system to control pan, tilt, and firing for a Dillon machine gun.  The system has the following peripherals:  Joystick, visible camera, IR camera, laser range finder, access doors, and redundant encoders.  The top level application is written in VB.NET, with real time servo functions written in Galil code.  Extremely througough watchdog functions and task monitoring were implemented.  The completed code was reviewed and approved by a 3rd party independent reviewer.



Vision Inspection of LCD Display

Wrote software to control a vision inspection and hi-pot station for on-line quality control.   The vision station cycled the device through various operating modes using infra-red remote commands, inspecting the LCD display in each mode.  The hi-pot station performed an automated hi-pot test of the device's wiring.  The two stations employed pneumatics,  stepper motors, infra-red transmitter, conveyor control, and data collection of test results.



Content Assurance

Implemented a multiple-factory server based system for verifying that the proper component tests are performed and the proper components are packaged.  Involved bar code scanning, label printing, weighing, and tracability of all operations.  SQL Server 2005 was used for component data and build data.  The user interface application was written in VB.NET.



Automated Label Printing

Implemented several automatic print-and-apply label systems.  Included developing custom software for control of the overall label station, custom label formats, and inspection and verification of 1D and 2D printed barcodes.  The process included raising and lowering the part, printing and applying the label, and inspecting the label.  The main control code was written in Think and Do, custom interface software was written in Visual BASIC, and label formats were designed in LabelVision.



Laser Marking

Developed a custom filter cartridge laser marking interface.  The system laser etched logo and product information, and a 2D datamatrix.  After laser etching, the datamatrix was automatically inspected.  The system was fully integrated with an MES system via a SQL database.



Plate Handling System

Developed a robotic pick and place system to shuttle plates from a high capacity stacker to another robotic work cell.  The system communicated with the stacker via RS-232, and with the robotic work cell via a custom TCP/IP interface.  The robot was a Precise Automation X/Y/Z with custom gripper.  The application was written in C# and VB.NET.



Generic Device Interfaces

Developed several custom device-specific software interfaces.  These applications interfaced a robotic work cell to devices such as plate feeders, labelers, heaters, plate washers, etc.  A variety of device interfaces such as RS-232, Ethernet, Active X, and custom DLLs were employed depending on the specific device and available software from the device manufacturer.  The interfaces were written in C# and VB.




Semiconductor Handling Systems

Revised robotic collision avoidance algorithms to improve robustness on a semiconductor storage system.  Implemented servo software required for a new semiconductor reticle scanning station. (Delta Tau)

Ported the application code for a robot used in large-scale semiconductor storage systems from a PC based Delta Tau PMAC2 Ultalite to a stand-alone mini-PMAC2.  The port required remapping of several axes, and determining all affected code in a very large scale application.  The final code was required to be completely backwards compatible via a compile-time switch.


Oxygen Measurement System

Assisted with the development of an instrument that measures Oxygen concentration levels.  The instrument is available in a PC based version and as a stand-alone instrument.  The PC application is written in Visual BASIC.  The embedded device was developed using a TI DSP.  Wrote all high level C code for overall system operation, keypad and LCD user interface, and oxygen concentration calculations.  Worked directly with the scientist that patented the measurement process.


Automated Assembly and Test

Developed software for a robotic pick-and-place assembly system used to manufacture cellular phones for Nokia.  The robot is an Adept SCARA, and the application is written in Adept AIM.  The assembly operation required that the robot pick small electrical motors from a pallet, place them into the phone chassis, pick a retaining clip, and snap the clip into place.



Flute ManufacturingMachine

Developed PMAC servo code for production micro machining operations on musical flutes.  The 10-axis machine has interchangeable machine tools, and is programmed to drill holes, cut, grind, and polish faces.  Two machine tool heads were programmed to perform concurrent machining operations.