With everything (basically) working, and a reasonable way to generate disturbances, I was able to run the full-blown IIR controller yesterday without any problems. I'd like to be a little more rigorous though and so some id on the closed-loop plant, and play around more with the number of modes to get a sense of how the handling is going to be. Luckily, running 5000 samples takes a few minutes now instead of an hour.
- Verify closed-loop (classical) plant matches model
- Close classical loop with different number of modes. Any instability or saturation?
- Set up target camera with CMU driver
The objective is to have the target camera working, and a good idea of the max number of modes I can use by the end of the week.
Tuesday, November 30, 2010
Tuesday, November 23, 2010
11.23.10
Many re-installations, a new software version, much cursing, and a birthday later, I finally have everything (relatively) working with the WFS. Frame rates at the ~260x260px resolution I'm using now are around 250-300 fps, but for some reason in Matlab I'm limited to a mere 30-40. The external trigger guarantees that each frame is fresh though, so this is still an order of magnitude faster than before with that ridiculous artificial pause. I suspect the frame rate problem has to do with the bytes per packet, which I can't seem to change from Matlab directly.
Anyway, at the moment that's a minor problem. This new speed means that generating a poke matrix only takes around 10 seconds. Here's an example after a few realignments:

Recall that I'm now doing differential measurements . I've tried to correct for the bias WF as much as possible, but its no a pure focus so moving lenses around won't completely obliterate it. Surprisingly, most of the modes are recognizable on the 9x9 measurement grid. For comparison, here are the ideal mode shapes resized to that grid from an original 128x128 image:

Most of them look pretty good, and the higher frequency ones might still be usable. The next step is mapping disturbances on the DM. Right now I'm trying to work out a more systematic way of doing that instead of just blindly using the reconstructor matrix. I'm thinking that projecting the desired WF onto a set of modes, other than the DM modes for the 61 actuator mirror, might be useful for this purpose. Maybe PCA modes from the original data or SVD modes of the DM.
Anyway, at the moment that's a minor problem. This new speed means that generating a poke matrix only takes around 10 seconds. Here's an example after a few realignments:

Recall that I'm now doing differential measurements . I've tried to correct for the bias WF as much as possible, but its no a pure focus so moving lenses around won't completely obliterate it. Surprisingly, most of the modes are recognizable on the 9x9 measurement grid. For comparison, here are the ideal mode shapes resized to that grid from an original 128x128 image:

Most of them look pretty good, and the higher frequency ones might still be usable. The next step is mapping disturbances on the DM. Right now I'm trying to work out a more systematic way of doing that instead of just blindly using the reconstructor matrix. I'm thinking that projecting the desired WF onto a set of modes, other than the DM modes for the 61 actuator mirror, might be useful for this purpose. Maybe PCA modes from the original data or SVD modes of the DM.
Friday, November 12, 2010
11.12.10
Unbelievably I spent all of last week dealing with .NET issues. Mainly, I couldn't get Matlab to load the assemblies I needed to control the DM or connect to the WFS camera.
Mysteriously the problem with the DM assemblies fixed itself after reinstalling things in apparently the right order. The camera issue took a few conference calls and some digging through some arcane .NET barf logs. We finally figured out that the version of some dll the camera driver needed was slightly out of date, like v1.0.0.1 instead of v1.1.0.0, and this was enough to basically send my week down the toilet.
All's good now. I'll have to re-write some code to use the new driver, but that should be minor. The triggering, the whole reason for doing all this shit, still isn't working because of, surprise surprise, a problem loading a .NET assembly. I'll muck around with it more on Monday to see if I can sort the problem out, but my patience for fixing this shit on my own is basically nonexistant. I'm sure another conference call is on the horizon.
Hey, at least I was able to modify the driver box to accept the triggering cable without soldering anything. Who knew IDC connectors were so useful?
Stuff to finish off in the next few days (by Monday):
- Email about triggering problem
- Rewrite code to use new cam driver
- Verify it works with embedded matlab
- This .NET camera interface has no built-in preview method, so maybe I could cook one up with some incredible GUI interface
Tuesday and the rest of the week should be left to alignment, and verifying the triggering is working (using the ARX model stuff).
Mysteriously the problem with the DM assemblies fixed itself after reinstalling things in apparently the right order. The camera issue took a few conference calls and some digging through some arcane .NET barf logs. We finally figured out that the version of some dll the camera driver needed was slightly out of date, like v1.0.0.1 instead of v1.1.0.0, and this was enough to basically send my week down the toilet.
All's good now. I'll have to re-write some code to use the new driver, but that should be minor. The triggering, the whole reason for doing all this shit, still isn't working because of, surprise surprise, a problem loading a .NET assembly. I'll muck around with it more on Monday to see if I can sort the problem out, but my patience for fixing this shit on my own is basically nonexistant. I'm sure another conference call is on the horizon.
Hey, at least I was able to modify the driver box to accept the triggering cable without soldering anything. Who knew IDC connectors were so useful?
Stuff to finish off in the next few days (by Monday):
- Email about triggering problem
- Rewrite code to use new cam driver
- Verify it works with embedded matlab
- This .NET camera interface has no built-in preview method, so maybe I could cook one up with some incredible GUI interface
Tuesday and the rest of the week should be left to alignment, and verifying the triggering is working (using the ARX model stuff).
Thursday, November 04, 2010
W7 Upgrade During Action Report
Installing the hw trigger requires a different camera driver, so rather than try to remove all the remnants of the old one I decided to wipe out my entire system and upgrade to x64. Surprise surprise, upgrading to W7 has turned out to be a huge time vampire, with the usual bullshit-every-step-of-the-way syndrome.
Invariably I'll have to go through this crap again in the near future, so to help prevent another lost week here's brief rundown of some of the problems and solutions.
Problem 1: PC wouldn't start up from W7 x64 install CD. Creating multiple CD's from different ISO's did nothing.
Solution: Created an ISO from an install CD (on my Mac no less), then used the "Windows 7 USB/DVD Download Tool" to create a bootable USB drive. But this required...
Problem 2: Since I was upgrading from XP x86 to W7 x64, the USB/DVD Download stuff required an additional program to create the MBR on the USB drive. Normally you have to download this from MS based on your purchase history, but since my ISO came from a MSDN site I had no download history.
Solution: Thankfully this is a common problem and someone on the interwebs posted a direct link to what I needed.
Problem 3: W7 activation couldn't find the DNS server to register the product key.
Solution: After a few emails to the campus network overlords, they sent me the direct address.
Problem 4: Installing video card driver resulted in everyone's favorite BSOD.
Solution: Quickly unplug all USB connections right before installer begins. Seriously.
There were other, but you get the gist.
Invariably I'll have to go through this crap again in the near future, so to help prevent another lost week here's brief rundown of some of the problems and solutions.
Problem 1: PC wouldn't start up from W7 x64 install CD. Creating multiple CD's from different ISO's did nothing.
Solution: Created an ISO from an install CD (on my Mac no less), then used the "Windows 7 USB/DVD Download Tool" to create a bootable USB drive. But this required...
Problem 2: Since I was upgrading from XP x86 to W7 x64, the USB/DVD Download stuff required an additional program to create the MBR on the USB drive. Normally you have to download this from MS based on your purchase history, but since my ISO came from a MSDN site I had no download history.
Solution: Thankfully this is a common problem and someone on the interwebs posted a direct link to what I needed.
Problem 3: W7 activation couldn't find the DNS server to register the product key.
Solution: After a few emails to the campus network overlords, they sent me the direct address.
Problem 4: Installing video card driver resulted in everyone's favorite BSOD.
Solution: Quickly unplug all USB connections right before installer begins. Seriously.
There were other, but you get the gist.
Subscribe to:
Comments (Atom)
