Page 1 of 11 12345 ... LastLast
Results 1 to 10 of 102

Thread: Point optimisation: how to

  1. #1
    Join Date
    Jul 2008
    Location
    My momentum is too precisely determined :S
    Posts
    1,764

    Default Point optimisation: how to

    This thread is for the discussion of optimising point based art such as ilda files or frames being prepared to be sent to a DAC. All input is appreciated.
    Maybe when a few key elements have been discussed, all information can be condensed down to a page on the Wiki.

    It's a good idea if programmers and engineers can share their ideas for the benefit of the community. Remember, information not shared is information lost forever.


    I have identified the following steps:

    -Remove all unnecessary points: in-between collinear points, identical points, blanked points that aren't on the same location as an unblanked point, ...
    -Add them again based on optimisation settings: linear interpolation of large distances so the scanners don't have to go too fast, dwell points at angles to allow well-defined corners
    -Magic like placing points in such a way that the scanners move ballistic to allow for arcs being accurately displayed.
    -Reordering the segments (= series of unblanked points between blanked points) so the most optimal path is traced (depending on the programmers skill, either the shortest path or the path that takes the least amount of time to draw on scanners).

    A clever programmer might be able to combine the first and second step because removing a bunch of points and then place them back sounds silly.

    What else?

  2. #2
    Join Date
    Aug 2009
    Location
    Norway
    Posts
    279

    Default

    I don't have much to contribute unfortunately, but I'll be watching this thread carefully. This will be very useful.
    LaserShowGen - Freemium Laser show editor and player: http://www.photonlexicon.com/forums/...-creation-tool
    Helios - Low cost, open source DAC: http://www.photonlexicon.com/forums/...e-low-cost-DAC

  3. #3
    Join Date
    Jul 2010
    Location
    Netherlands
    Posts
    3,140

    Default

    Quote Originally Posted by colouredmirrorball View Post
    -Magic like placing points in such a way that the scanners move ballistic to allow for arcs being accurately displayed.
    Correct naming for that is curve compensation or point pulling.

    I will share some things because of the community also helping me.

    - Big point spacing on straight lines and curves minus the parts where a color change is desired.. for a color change around 3 points are spaced really closely together to serve as a "color stop".
    - Bigger scansize but smaller graphic allowing for bigger ballistic curves.
    - you can remove at least 1 point or several in between a long blanking period to briefly make scanners go even more ballistic.. you add extra color stops on the bigger jumps so the scanners can settle and cool down a lil with each scan as a compensation for continous ballistic jumps.

    There are more .. much more
    Last edited by masterpj; 12-09-2014 at 15:10.

  4. #4
    Join Date
    Jan 2014
    Location
    North Carolina, USA
    Posts
    219

    Default

    Playing around with the etherdream driver has definitely sparked my interest in frame optimization. I created a frame with 4 points - a perfect square - and blasted it to the dac... and well, the results were not so good... Not only did I not get a square on LP, but the scanners where whining pretty bad - they obviously didn't like that few of points per frame.

    So - is there a "standard" of sorts for how many "stop" points to add when making large angular momentum changes? What is an angular momentum value to strive for when deciding if you should add some resting points? Is this all done through trial-and-error?

    I never really thought about this - but it is certainly a fascinating topic.

    I noticed that when I took my 4 points square and processed it with ILD-SOS - it grew lots of points.
    Last edited by BlueFang; 01-01-2015 at 22:00.

  5. #5
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    1,345

    Default

    I played around a lot with dwell points in LaserBoy.

    If you look at frame 17 in in.ild that comes with LB, you will see a bunch of simple vectors with angles from zero to 180 degrees in 10 degree increments.

    The frame is 3D, but you can go into menu h and flatten Z to make it a 2D image.

    180 degrees (a 100% fold back on a line) is the greatest simple angle you can have.

    If you think about it, every angle in 3D vector space is really a simple 2D angle.

    I figured the greatest amount of dwell that would be needed would be for a 180 degree angle.

    Less of an angle should require less dwell.

    So, in the [Tab] menu, you can set the maximum dwell time in milliseconds (for a 180 degree angle) based on the sample rate of the output. The default output for formatted, optimized data for LaserBoy is a wave file. So the default sample rate is 48000 points per second.

    If you flatten Z for frame 17 and then add angle dwell in menu h, you can exit out of there and go into menu u and enable view vector order in Z, then escape out of there and rotate the frame with the digit 4, you can see that a varying amount of dwell is added per the acuteness of the angle.

    James.
    Last edited by james; 01-01-2015 at 22:08.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOSX and Linux.
    http://laserboy.org/code/LaserBoy_Current.zip
    http://theamerikans.org/LaserBoy

    http://laserboy.org/formatt/
    Ask me about my LaserBoy Correction Amp Kit for sale!

    Either do or do not do. There is no undo!

  6. #6
    mixedgas's Avatar
    mixedgas is offline Creaky Old Award Winning Bastard Technologist
    Infinitus Excellentia Ion Laser Dominatus
    Join Date
    May 2007
    Location
    A lab with some dripping water on the floor.
    Posts
    9,186

    Default

    Obtain the Cambridge app note on path optimization for retraces.
    It covers optimizing retraces, and its applicable to more then laser marking.
    It is somewhat math intensive. However its not so bad that the average programmer could not handle the math.
    Its in the time domain, so it will take some thinking to optimize/apply it for a 30K PPS image.
    It covers LONG jumps. What is says is not so applicable to short moves.

    The title is:

    Application Note # A.4.1.2.2.A
    Raster/Cycloid Retrace Waveform Generation

    You have to register to see it.

    For the sake of this post, Disregard the following if you have DSP amps that "look ahead" to the next command:

    One thing to think about. If Galvos were tuned for classical Newtonian motion, the fastest way between two points is to linearly accelerate to maximum velocity, and then half way through, apply an equal and opposite acceleration to brake. In reality, one way of stopping a galvo on a dime/in least time is to linearly accelerate to maximum, linearly brake at the same rate from the half way point. At the destination, apply a opposite polarity pulse of 1/2 T where T is the step period of the scanner. That pulse stops the ringing in less then one cycle. The scanner amp already does much of this process for you. So does the Dac when you adjust for the best number of "Anchor" or "Corner" points. If the galvo is not near resonance and is still in the Ballistic mode, then it is always at least 1/2T behind the command when in motion.

    However the performance on a long blanking jump can be optimized by using a non-linear waveform. The app note covers that.

    Keep in mind that while a software optimization might be peachy for one scanner set at one angle, the traditional way of tuning is designed to be as system agnostic as possible. One does not want to convert all of one's ILDA files to look awesome on one model of Galvo Pair, only to find they look "off" on a different model. (Especially if you convert every file in the directory without backups!) The ILDA tuning scheme was designed to avoid pulling points after file transfer*. Hence its best if the DAC and/or its Driver does the final optimization. Hence the adjustable point settings available in better show software.


    That said, there are a lot of images that "clean up" when a mild algorithm is applied.

    If you have really, really, good software, it crosses the image over to "Vector" mode and applies the corrections long before you get to the Scanner Amplifier.


    * In fact the ILDA tuning scheme was invented to END the PULLING OF POINTS during file transfer.

    **None of this is hush hush magic, I learned of the 1/2T technique while in College in 1993. It was published in a late 70s paper on optimizing open loop scanning.

    Steve
    Last edited by mixedgas; 01-01-2015 at 15:03.
    Qui habet Christos, habet Vitam!
    I should have rented the space under my name for advertising.
    When I still could have...

  7. #7
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    1,345

    Default

    If you use a non-linear step to accelerate to the half way point and then decelerate to a stop, your line density will also be non-linear.

    You can compensate for this by adjusting the brightness of the laser per length of each step, but then you have to work outside of the colors defined in an palette.

    And the art looks weird on the computer screen unless you correct the brightness when you display the art on a monitor.

    Also, the only adjustment you have to control the perceived brightness of the laser is to take energy away from its maximum output.

    All of that is a mess.

    It makes a lot more sense to just normalize everything to linear steps to control scanner velocity.

    I guess the proof of that is in the projected image.

    It works.

    James.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOSX and Linux.
    http://laserboy.org/code/LaserBoy_Current.zip
    http://theamerikans.org/LaserBoy

    http://laserboy.org/formatt/
    Ask me about my LaserBoy Correction Amp Kit for sale!

    Either do or do not do. There is no undo!

  8. #8
    mixedgas's Avatar
    mixedgas is offline Creaky Old Award Winning Bastard Technologist
    Infinitus Excellentia Ion Laser Dominatus
    Join Date
    May 2007
    Location
    A lab with some dripping water on the floor.
    Posts
    9,186

    Default

    James,

    Did you even download the App Note? The prior post is about optimizing the blanking retrace or any long blanked traces. Doing that frees up a heck of a lot of scanner headroom. It is well known in the art that keeping the scanner in linear mode keeps the brightness even. Controlling the entry velocity into the start of the trace gets rid of bright spots and lets you start the lit vector at a more even speed.

    The graphs of actual Galvo motion in the App Note are rather interesting.

    Quoting the App Note (Author at Cambridge Technologies is Unknown) :

    "The linear sweep portion of the waveform is the working part. This is portion that the customer wants to
    be accurately positioned both in space and time. All other parts of the waveform are there just to make
    this part the most accurate. For example, when forming of an image, this is the part of the waveform
    when the beam is on."


    Steve
    Last edited by mixedgas; 01-01-2015 at 15:24.
    Qui habet Christos, habet Vitam!
    I should have rented the space under my name for advertising.
    When I still could have...

  9. #9
    Join Date
    Jul 2008
    Location
    My momentum is too precisely determined :S
    Posts
    1,764

    Default

    Quote Originally Posted by mixedgas View Post

    Keep in mind that while a mechanical optimization might be peachy for one scanner set at one angle, the traditional way of tuning is designed to be as system agnostic as possible. One does not want to convert all of one's ILDA files to look awesome on one model of scanner, only to find they look "off" on a different model. (especially if you convert every file in the directory without backups!) The ILDA tuning scheme was designed to avoid pulling points after file transfer. Hence its best if the DAC and/or its Driver does the final optimization. Hence the adjustable point settings available in better show software.


    That said, there are a lot of images that "clean up" when a mild algorithm is applied.


    Steve
    There should be two Ilda formats: one for interchange of art across systems and one for sending art to hardware for display. The first one should have no unnecessary points (= collinear points, optimisation points at corners, extra blank points etc).

  10. #10
    swamidog's Avatar
    swamidog is offline Jr. Woodchuckington Janitor III, Esq.
    Join Date
    Nov 2006
    Location
    santa fe, nm
    Posts
    1,545,365

    Default

    Quote Originally Posted by colouredmirrorball View Post
    There should be two Ilda formats: one for interchange of art across systems and one for sending art to hardware for display. The first one should have no unnecessary points (= collinear points, optimisation points at corners, extra blank points etc).
    more ideally, modern dacs and software should automagically do this on the fly without baking pulled points into your files.
    suppose you're thinkin' about a plate o' shrimp. Suddenly someone'll say, like, plate, or shrimp, or plate o' shrimp out of the blue, no explanation. No point in lookin' for one, either. It's all part of a cosmic unconciousness.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •