Tuesday, June 14, 2005

Keeping busy

Many people have asked me about what I'm doing this summer. I usually give a short explanation that doesn't really do it justice. If you're interested, I'd like to take some time to explain in a bit more detail about what I'll be working on this summer.

I'm working for a company in Austin, TX, called National Instruments. The program that I'm a part of is called the Engineering Leadership Program, or ELP. The purpose of ELP is to give new hires and interns a chance to sort of sample the company and determine how they want to shape their career at NI, while continuing to gain experience with NI products. Basically, this means that ELPs work in the Applications Engineering department for 1-3 years and sort of alternate between doing things like phone support or teaching classes, and working on projects with other departments in the company.

As a 3-month intern in the program, basically what this means is that my internship has three parts: two weeks of LabVIEW training, a week of phone support on LabVIEW, and then a little more training and I move off to a sweet project in the consulting department. Oh look, a topic sentence.

My first two weeks at NI were spent in various orientation activities and an 8-day crash-course in LabVIEW. What is LabVIEW, you say? I'm glad you asked.

For that matter, what is National Instruments? NI creates "innovative computer-based products that improve everyday life. We give our customers a better solution for measuring and automating the world around them." So, the key words there are "computer-based," "measuring," and "automating." Traditionally, tests and measurements are done by large, dedicated pieces of hardware. If you need to measure voltage, you use a big voltmeter. If you need to monitor a signal, you get a big oscilloscope (fig. 1). These instruments are expensive, proprietary, largely non-interoperable, and have fixed functionality. By contrast, NI has pioneered the concept of the virtual instrument. In this approach, you just buy a data aquisition (DAQ) card (fig. 2) that goes in a PC or in one of our chassis. You can then control all of your hardware easily and intuitively using our graphical programming environment called, you guessed it, LabVIEW. It's cheap, it's small, it's customizeable, it's flexible, it's powerful, and our world-class support (provided by well-trained, knowledgeable engineers like myself) will be glad to help all along the way.

Fig. 1 Fig. 2
After two weeks of training, I then went on the phones for a week, which was definitely an interesting experience. Suddenly, after two weeks of training, I'm supposed to be the expert on a piece of software that many of our customers have been using for 15 years. I did better than I expected, though, and you would amaze yourself at how much you can learn while rambling away on the phone and clicking frantically around the LabVIEW help files (the fact that the user could have done this himself is beside the point). My favorite call was definitely the guy who called in and had some trouble running some software off of one of our training CD's. After restraining myself from saying "maybe you should just give up now," I proceeded to help him solve his problem. As I was wrapping up the call, he said "oh, by the way, you might want to know that there's a tech support phone number printed on this CD which goes to a phone sex service." Apparently we printed "800" instead of our area code. I thought about explaining to the customer that he had actually just reached our new customer satisfaction department which we were now directing customers to before routing them to our tech support department.

Now, I'm taking a few more classes on DAQ and some of our specialty products (LabVIEW real-time, LabVIEW FPGA, and motion-control). In another week or so, I'll move over to the NI Consulting Services group and begin working on a project to improve a demo that we use at trade shows and such. The demo consists of a scaled-down aircraft wing undergoing a deflection test. We use a motor with a lead screw to deflect the end of the wing and monitor the strain experience by the wing via 15 strain guages on the surface. The data is processed and displayed in pretty pictures and graphs.

Currently, the entire demo is run off of a single Windows-based machine. This includes all of the motion control, data aquisition (from 15 strain guages and a load cell), data processing, and visualization. The problem is that the processing demands get extremely high and even with an impressive computer the user interface starts to slow down and a lot of the visualization gets laggy.

My job is to redesign the system to use a separate, real-time system to do the motion control to administer the test. This will accomplish three things. First it will lighten the load on the PC so that it can focus on fancy analysis and display. Second, it will allow more precise control of the test itself (I'll be using a closed-loop architechture with a PID feed-back loop, in case you care). Finally, it will allow us to show off another really cool piece of NI hardware. The system I design will run on a box called compact Reconfigurable Input-Output, or cRIO. This is basically a little computer-in-a-box designed for time-critical (i.e. real-time) applications in extreme environments. It's rated for -40°F to 158°F and can take up to 50 gees of shock. This page describes some of the fun things you can do with cRIO (like launch it in a rocket or throw it off a building) and has a link to a great video. I heard they also ran over it with a Hummer.

The company is really cool, too. Everybody is really laid back and friendly. A few weekends ago my entire department (about 80 people) went tubing down the Guadalupe River, complete with a raft full of beer coolers. They also like to have "deck parties" whenever they can find an excuse (such as a new product release, or being rated one of the fortune-500 top 100 places to work for the 6th year in a row), where all the employees go hang out for a while at the end of the day (on the clock, for the interns) and eat and drink and such. My department is particularly fond of shooting rubber bands at each other whenever the opportunity presents itself. The guys right around me often play soccer in our cube.

So basically I'm getting paid to hang out with really cool people, learn lots of cool stuff, and play with some cool toys. Pretty sweet.

No comments: