Click or drag to resize

9.5.1 Skywriting

The very fact that scanners exhibit inertia can be a problem for some applications.

  • Inertia causes the scanner to deviate, to a greater or lesser extent, from the ideal path of our designed vectors;

  • it also makes the effective marking density (i.e. the exposure time of the target to the laser beam, at any given point along the path) vary along those vectors.

SkywritingEffectOfScannerInertia.svg not found.
Sky Writing: Effect of scanner's inertia.

In some applications, we wish to have the vertices of our paths marked with the highest possible precision: crisp, sharp corners, without rounding due to the scanner's inertial resistance to the change of direction.

For others, it is important to maintain, as nearly as possible, constant exposure (i.e. power density) over the entire length of any given MARK vector, without variations due to the scanner's acceleration and deceleration at the beginning and end, respectively, of the vector.

Sky Writing: Fundamental Concept.

If we extend a MARK vector linearly by a suitable amount before its original start point and after its original end point, the scanner can use these extensions to accelerate and decelerate while still outside the limits of the original vector.

The scanner then moves between the original start point and the original end point of each vector at constant velocity.

This is the fundamental concept behind Sky Writing as implemented on the SP-ICE-3 Card.

SkywritingExtendedVector.svg not found.
Sky Writing: Extended Vectors
Sky Writing: Successive MARK vectors.

In the general case of multiple successive MARK vectors, where the end of a given vector and the start of the subsequent vector are both extended, it may be necessary to introduce an additional JUMP vector between the extended end point of the preceding vector and the extended start point of the succeeding vector.

The Sky Writing algorithm implemented on the SP-ICE-3 Card inserts this JUMP automatically as necessary.

SkywritingSuccessiveMarks.svg not found.
Sky Writing: Successive Marks
Sky Writing: Delays between successive MARK vectors.

The currently defined SKYWRITING_DECELERATION_DELAY will take effect before the additional JUMP vector. The current MARK_DELAY is ignored.

The currently defined SKYWRITING_ACCELERATION_DELAY will take effect after the additional JUMP vector. The current JUMP_DELAY is ignored.

It may be appropriate to use application-specific values for either or both of these delays while performing Sky Writing.

  • If the calculated Extension Distance is enough to allow the scanners to settle completely after the change of heading, the delays may be reduced to 0.

  • On the other hand, if the scanners cannot settle sufficiently within the available Extension Distance, the delays can be increased to allow more settling time.

Sky Writing: Change of Heading and Marking Efficiency.

In the interest of marking efficiency, and taking into consideration the level of marking quality deemed acceptable, it may be desirable to suppress the generation of extensions and jump vectors over part(s) of a vector sequence where the vectors are co-linear, or where the Change of Heading between successive mark vectors does not exceed a user-definable upper limit.

SkywritingChangeOfHeadingIllustrated.svg not found.
Sky Writing: Change Of Heading
Sky Writing: Extension Generating Modes.

Mode

Description

ForceAtStartFinish

Extensions are always generated for the start of the very first and the end of the very last vector of a sequence.

Extensions are generated between vectors within the sequence, subject to the change of heading criterion described above.

SkywritingForceStartEndMode.svg not found.
Sky Writing: ForceAtStartFinish Mode

Note that the diagram above only illustrates what happens at the start of the sequence: the end of the sequence is handled in an equivalent manner.

MinimumCoH

Extensions are generated between vectors in the sequence, and for the first and last vectors of the sequence, strictly in accordance with the change of heading criterion described above.

SkywritingChangeOfHeadingMode.svg not found.
Sky Writing: MinimumCoH Mode

Note that the diagram above only illustrates what happens at the start of the sequence: the end of the sequence is handled in an equivalent manner.

Sky Writing Settings.

All settings affecting the operation of Sky Writing can be found in ProcessVariables.

The values can be set via the APIs and by appropriate List Commands.

Description

API

List Command

Selects the generating mode for Sky Writing extensions and jump vectors.

If SkyWritingModeDisabled is selected, no sky-writing vectors will be generated.

SkyWritingSettingsMode

SKYWRITING_MODE

If the change of heading between successive mark vectors is less than this value, the extensions and the jump vector will be suppressed.

SkyWritingSettingsMinCoH

SKYWRITING_MIN_COH

Delay that is applied after the jump to the extended start position, before acceleration.

SkyWritingSettingsAccelerationDelay

SKYWRITING_ACCELERATION_DELAY

Delay that is applied after deceleration at the end of a mark vector.

SkyWritingSettingsDecelerationDelay

SKYWRITING_DECELERATION_DELAY

The Extension Distance is calculated as:

ExtensionTime * MarkSpeed

SkyWritingSettingsExtensionTime

ProcessVariablesMarkSpeed

SKYWRITING_EXTENSION_TIME

MARK_SPEED

LaserOn Delay that is used for sky writing.

This will be used instead of ProcessVariablesLaserOnDelay for all marking vectors that use sky writing.

SkyWritingSettingsLaserOnDelay

SKYWRITING_LASERON_DELAY

LaserOff Delay that is used for sky writing.

This will be used instead of ProcessVariablesLaserOffDelay for all marking vectors that use sky writing.

SkyWritingSettingsLaserOffDelay

SKYWRITING_LASEROFF_DELAY