Closed loop control with BlackBox

From: [at]} <skulski{>
Date: Thu, 13 May 2004 22:14:31 -0400 (EDT)

----boundary-LibPST-iamunique-1985967187_-_-
Content-type: text/plain

Dear Robert:

  I wish to thank you for your Lib graphics and math, and
for your help with the closed loop control project. I started
this project from scratch only 3 months ago. It was the first
time I used your math or graphics packages. This week we achieved
an overwhelming success. We used interferometric techniques
to continuously measure relative positions of two optical flats
illuminated by a laser beam. Every three seconds we collected
camera images from a 640*480 gray-scale RS-170 camera connected
to a National Instruments frame grabber board NI-1407. The images
were acquired by a BlackBox program directly from the frame grabber,
and analyzed using the Spatially Separated Phase Detection (SSPD)
implemented in BlackBox with calls to your matrix and vector library.

With this unassuming equipment we measured the relative alignment
of optical flats to an astounding accuracy of about 2 nanometers,
what corresponds to about 20* the size of an atom (see
http://www.bu.edu/core/cc105/lectures/L12-Atoms/howbig.html ).
We then closed the active control loop with the PicoMotors available
from New Focus (www.newfocus.com) to continuosly adjust positions
of optical flats, in order to keep them aligned to within one
picomotor step of about 15 nanometers. The commands to drive the
picomotors were derived from the SSPD analysis and sent to the
picomotor control hardware by BlackBox. We thus achieved a complete
closed loop control entirely within the BlackBox package. The results
of this pilot experiment will help develop temporal compression
of laser pulses in order to decrease the duration of such pulses
by about a factor of a thousand.

It is worth reflecting on the software development process.
Over the course of about three months I was able to continuosly add
new features to the BlackBox software package under development,
while keeping the package operational all the time. There was not
a single day when the package would not be in full working order,
within the scope of those features that had been implemented up to
a given date. The corollary of this development came yesterday,
when I flipped the boolean switch to engage the motors,
and went home. Upon my arrival the next day the control system
was happily working, and the overnight history plots showed how
the picomotors kept the optics in good alignment all the time.
It is most remarkable that the software of such complexity worked
right out of the box, on the day the development had been completed.
This development mode, by continuosly refining the software of
considerable complexity without breaking it in the process,
is only possible due to the modular architecture, as well as
strong security features of both the development system and the
underlying language.

I do appreciate many discussions and comments that we exchanged
during this project. I would not have achieved this much, and so fast,
without your help. I feel indebted for both, your magnificent software

library and for helping me making good use of it. This success would
not have been possible without the rock-solid foundation provided by
the BlackBox development environment.

Thank you again,

Wojtek

PS: for those interested in seeing the software, please drop me an
e-mail and I will send you a copy.
--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.


----boundary-LibPST-iamunique-1985967187_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIERlYXIgUm9iZXJ0OlxwYXINClxwYXINCiAgSSB3
aXNoIHRvIHRoYW5rIHlvdSBmb3IgeW91ciBMaWIgZ3JhcGhpY3MgYW5kIG1hdGgsIGFuZFxwYXIN
CmZvciB5b3VyIGhlbHAgd2l0aCB0aGUgY2xvc2VkIGxvb3AgY29udHJvbCBwcm9qZWN0LiBJIHN0
YXJ0ZWRccGFyDQp0aGlzIHByb2plY3QgZnJvbSBzY3JhdGNoIG9ubHkgMyBtb250aHMgYWdvLiBJ
dCB3YXMgdGhlIGZpcnN0XHBhcg0KdGltZSBJIHVzZWQgeW91ciBtYXRoIG9yIGdyYXBoaWNzIHBh
Y2thZ2VzLiBUaGlzIHdlZWsgd2UgYWNoaWV2ZWRccGFyDQphbiBvdmVyd2hlbG1pbmcgc3VjY2Vz
cy4gV2UgdXNlZCBpbnRlcmZlcm9tZXRyaWMgdGVjaG5pcXVlc1xwYXINCnRvIGNvbnRpbnVvdXNs
eSBtZWFzdXJlIHJlbGF0aXZlIHBvc2l0aW9ucyBvZiB0d28gb3B0aWNhbCBmbGF0c1xwYXINCmls
bHVtaW5hdGVkIGJ5IGEgbGFzZXIgYmVhbS4gRXZlcnkgdGhyZWUgc2Vjb25kcyB3ZSBjb2xsZWN0
ZWRccGFyDQpjYW1lcmEgaW1hZ2VzIGZyb20gYSA2NDAqNDgwIGdyYXktc2NhbGUgUlMtMTcwIGNh
bWVyYSBjb25uZWN0ZWRccGFyDQp0byBhIE5hdGlvbmFsIEluc3RydW1lbnRzIGZyYW1lIGdyYWJi
ZXIgYm9hcmQgTkktMTQwNy4gVGhlIGltYWdlc1xwYXINCndlcmUgYWNxdWlyZWQgYnkgYSBCbGFj
a0JveCBwcm9ncmFtIGRpcmVjdGx5IGZyb20gdGhlIGZyYW1lIGdyYWJiZXIsXHBhcg0KYW5kIGFu
YWx5emVkIHVzaW5nIHRoZSBTcGF0aWFsbHkgU2VwYXJhdGVkIFBoYXNlIERldGVjdGlvbiAoU1NQ
RClccGFyDQppbXBsZW1lbnRlZCBpbiBCbGFja0JveCB3aXRoIGNhbGxzIHRvIHlvdXIgbWF0cml4
IGFuZCB2ZWN0b3IgbGlicmFyeS5ccGFyDQpccGFyDQpXaXRoIHRoaXMgdW5hc3N1bWluZyBlcXVp
cG1lbnQgd2UgbWVhc3VyZWQgdGhlIHJlbGF0aXZlIGFsaWdubWVudFxwYXINCm9mIG9wdGljYWwg
ZmxhdHMgdG8gYW4gYXN0b3VuZGluZyBhY2N1cmFjeSBvZiBhYm91dCAyIG5hbm9tZXRlcnMsXHBh
cg0Kd2hhdCBjb3JyZXNwb25kcyB0byBhYm91dCAyMCogdGhlIHNpemUgb2YgYW4gYXRvbSAoc2Vl
XHBhcg0KaHR0cDovL3d3dy5idS5lZHUvY29yZS9jYzEwNS9sZWN0dXJlcy9MMTItQXRvbXMvaG93
YmlnLmh0bWwgKS5ccGFyDQpXZSB0aGVuIGNsb3NlZCB0aGUgYWN0aXZlIGNvbnRyb2wgbG9vcCB3
aXRoIHRoZSBQaWNvTW90b3JzIGF2YWlsYWJsZVxwYXINCmZyb20gTmV3IEZvY3VzICh3d3cubmV3
Zm9jdXMuY29tKSB0byBjb250aW51b3NseSBhZGp1c3QgcG9zaXRpb25zXHBhcg0Kb2Ygb3B0aWNh
bCBmbGF0cywgaW4gb3JkZXIgdG8ga2VlcCB0aGVtIGFsaWduZWQgdG8gd2l0aGluIG9uZVxwYXIN
CnBpY29tb3RvciBzdGVwIG9mIGFib3V0IDE1IG5hbm9tZXRlcnMuIFRoZSBjb21tYW5kcyB0byBk
cml2ZSB0aGVccGFyDQpwaWNvbW90b3JzIHdlcmUgZGVyaXZlZCBmcm9tIHRoZSBTU1BEIGFuYWx5
c2lzIGFuZCBzZW50IHRvIHRoZVxwYXINCnBpY29tb3RvciBjb250cm9sIGhhcmR3YXJlIGJ5IEJs
YWNrQm94LiBXZSB0aHVzIGFjaGlldmVkIGEgY29tcGxldGVccGFyDQpjbG9zZWQgbG9vcCBjb250
cm9sIGVudGlyZWx5IHdpdGhpbiB0aGUgQmxhY2tCb3ggcGFja2FnZS4gVGhlIHJlc3VsdHNccGFy
DQpvZiB0aGlzIHBpbG90IGV4cGVyaW1lbnQgd2lsbCBoZWxwIGRldmVsb3AgdGVtcG9yYWwgY29t
cHJlc3Npb25ccGFyDQpvZiBsYXNlciBwdWxzZXMgaW4gb3JkZXIgdG8gZGVjcmVhc2UgdGhlIGR1
cmF0aW9uIG9mIHN1Y2ggcHVsc2VzXHBhcg0KYnkgYWJvdXQgYSBmYWN0b3Igb2YgYSB0aG91c2Fu
ZC5ccGFyDQpccGFyDQpJdCBpcyB3b3J0aCByZWZsZWN0aW5nIG9uIHRoZSBzb2Z0d2FyZSBkZXZl
bG9wbWVudCBwcm9jZXNzLlxwYXINCk92ZXIgdGhlIGNvdXJzZSBvZiBhYm91dCB0aHJlZSBtb250
aHMgSSB3YXMgYWJsZSB0byBjb250aW51b3NseSBhZGRccGFyDQpuZXcgZmVhdHVyZXMgdG8gdGhl
IEJsYWNrQm94IHNvZnR3YXJlIHBhY2thZ2UgdW5kZXIgZGV2ZWxvcG1lbnQsXHBhcg0Kd2hpbGUg
a2VlcGluZyB0aGUgcGFja2FnZSBvcGVyYXRpb25hbCBhbGwgdGhlIHRpbWUuIFRoZXJlIHdhcyBu
b3RccGFyDQphIHNpbmdsZSBkYXkgd2hlbiB0aGUgcGFja2FnZSB3b3VsZCBub3QgYmUgaW4gZnVs
bCB3b3JraW5nIG9yZGVyLFxwYXINCndpdGhpbiB0aGUgc2NvcGUgb2YgdGhvc2UgZmVhdHVyZXMg
dGhhdCBoYWQgYmVlbiBpbXBsZW1lbnRlZCB1cCB0b1xwYXINCmEgZ2l2ZW4gZGF0ZS4gVGhlIGNv
cm9sbGFyeSBvZiB0aGlzIGRldmVsb3BtZW50IGNhbWUgeWVzdGVyZGF5LFxwYXINCndoZW4gSSBm
bGlwcGVkIHRoZSBib29sZWFuIHN3aXRjaCB0byBlbmdhZ2UgdGhlIG1vdG9ycyxccGFyDQphbmQg
d2VudCBob21lLiBVcG9uIG15IGFycml2YWwgdGhlIG5leHQgZGF5IHRoZSBjb250cm9sIHN5c3Rl
bVxwYXINCndhcyBoYXBwaWx5IHdvcmtpbmcsIGFuZCB0aGUgb3Zlcm5pZ2h0IGhpc3RvcnkgcGxv
dHMgc2hvd2VkIGhvd1xwYXINCnRoZSBwaWNvbW90b3JzIGtlcHQgdGhlIG9wdGljcyBpbiBnb29k
IGFsaWdubWVudCBhbGwgdGhlIHRpbWUuXHBhcg0KSXQgaXMgbW9zdCByZW1hcmthYmxlIHRoYXQg
dGhlIHNvZnR3YXJlIG9mIHN1Y2ggY29tcGxleGl0eSB3b3JrZWRccGFyDQpyaWdodCBvdXQgb2Yg
dGhlIGJveCwgb24gdGhlIGRheSB0aGUgZGV2ZWxvcG1lbnQgaGFkIGJlZW4gY29tcGxldGVkLlxw
YXINClRoaXMgZGV2ZWxvcG1lbnQgbW9kZSwgYnkgY29udGludW9zbHkgcmVmaW5pbmcgdGhlIHNv
ZnR3YXJlIG9mXHBhcg0KY29uc2lkZXJhYmxlIGNvbXBsZXhpdHkgd2l0aG91dCBicmVha2luZyBp
dCBpbiB0aGUgcHJvY2VzcyxccGFyDQppcyBvbmx5IHBvc3NpYmxlIGR1ZSB0byB0aGUgbW9kdWxh
ciBhcmNoaXRlY3R1cmUsIGFzIHdlbGwgYXNccGFyDQpzdHJvbmcgc2VjdXJpdHkgZmVhdHVyZXMg
b2YgYm90aCB0aGUgZGV2ZWxvcG1lbnQgc3lzdGVtIGFuZCB0aGVccGFyDQp1bmRlcmx5aW5nIGxh
bmd1YWdlLlxwYXINClxwYXINCkkgZG8gYXBwcmVjaWF0ZSBtYW55IGRpc2N1c3Npb25zIGFuZCBj
b21tZW50cyB0aGF0IHdlIGV4Y2hhbmdlZFxwYXINCmR1cmluZyB0aGlzIHByb2plY3QuIEkgd291
bGQgbm90IGhhdmUgYWNoaWV2ZWQgdGhpcyBtdWNoLCBhbmQgc28gZmFzdCxccGFyDQp3aXRob3V0
IHlvdXIgaGVscC4gSSBmZWVsIGluZGVidGVkIGZvciBib3RoLCB5b3VyIG1hZ25pZmljZW50IHNv
ZnR3YXJlXHBhcg0KbGlicmFyeSBhbmQgZm9yIGhlbHBpbmcgbWUgbWFraW5nIGdvb2QgdXNlIG9m
IGl0LiBUaGlzIHN1Y2Nlc3Mgd291bGRccGFyDQpub3QgaGF2ZSBiZWVuIHBvc3NpYmxlIHdpdGhv
dXQgdGhlIHJvY2stc29saWQgZm91bmRhdGlvbiBwcm92aWRlZCBieVxwYXINCnRoZSBCbGFja0Jv
eCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC5ccGFyDQpccGFyDQpUaGFuayB5b3UgYWdhaW4sXHBh
cg0KXHBhcg0KV29qdGVrXHBhcg0KXHBhcg0KUFM6IGZvciB0aG9zZSBpbnRlcmVzdGVkIGluIHNl
ZWluZyB0aGUgc29mdHdhcmUsIHBsZWFzZSBkcm9wIG1lIGFuXHBhcg0KZS1tYWlsIGFuZCBJIHdp
bGwgc2VuZCB5b3UgYSBjb3B5LlxwYXINCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tXHBhcg0KXHBhcg0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIG1haWxpbmcg
bGlzdCwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29yZCAidW5zdWJzY3JpYmUiIHRv
OlxwYXINCiAgIGJsYWNrYm94LXJlcXVlc3RAb2Jlcm9uLmNoXHBhcg0KXHBhcg0KVG8gZ2V0IGEg
bGlzdCBvZiB2YWxpZCBlLW1haWwgY29tbWFuZHMgYW5kIGluc3RydWN0aW9ucyBvbiB0aGVpciB1
c2FnZSwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29yZCAiaGVscCIgdG8gdGhlIGFi
b3ZlIGFkZHJlc3MuXHBhcg0KXHBhcg0KU2VuZCBhbnkgcHJvYmxlbSByZXBvcnRzIG9yIHF1ZXN0
aW9ucyByZWxhdGVkIHRvIHRoaXMgZW1haWwgbGlzdCB0byB0aGUgbGlzdCBvd25lciBhdFxwYXIN
CiAgIG93bmVyLWJsYWNrYm94QG9iZXJvbi5jaFxwYXINClxwYXINCkN1cnJlbnQgcG9zdGluZyBw
b2xpY3k6XHBhcg0KXHBhcg0KYSkgVG8gcG9zdCB5b3Ugc2hvdWxkIHVzZSB0aGUgc2FtZSBhZGRy
ZXNzIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCB0byB0aGUgbWFpbGluZyBsaXN0LiBUaGF0
IHdheSwgdGhlIGxpc3Qgc2VydmVyIHdpbGwgcmVjb2duaXplIHlvdSBhcyBzdWJzY3JpYmVyIGFu
ZCBmb3J3YXJkIHlvdXIgcG9zdGluZyBpbW1lZGlhdGVseSwgd2l0aG91dCBjcmVhdGluZyBhbnkg
b3ZlcmhlYWQuXHBhcg0KXHBhcg0KYikgSWYsIGZvciBzb21lIHJlYXNvbiwgeW91IGNhbm5vdCBw
b3N0IGZyb20gdGhlIGFkZHJlc3MsIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCwgeW91ciBt
ZXNzYWdlIHdpbGwgYmUgbW9kZXJhdGVkIHRvIGF2b2lkIHNwYW0uIFBsZWFzZSB1bmRlcnN0YW5k
IHRoYXQgbW9kZXJhdGlvbiB3aWxsIG9mdGVuIGNhdXNlIHNvbWUgZGVsYXksIGluIHBhcnRpY3Vs
YXIgb3ZlciB3ZWVrZW5kcyBvciBob2x5ZGF5fX0AZWNrZXItVmVyc2lv


----boundary-LibPST-iamunique-1985967187_-_---
Received on Fri May 14 2004 - 04:14:31 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:45 UTC