Glossary & Terminology
This glossary explains the technical terms you meet in the LumiScan documentation. Each entry gives a short definition that needs no prior knowledge, followed by what the term means in LumiScan. The glossary explains what something is; the linked guides explain how to use it. In the documentation, a term is underlined with a dotted line where it first occurs in a section: hover over it for the short definition, click it for the full entry. General terms link to Wikipedia for background; where a standards body exists, it is linked as the primary source.
Terminology used in this documentation
The LumiScan manuals use the following words with a fixed meaning. Use them the same way when you write about LumiScan, for example in a specification or a support request.
What a LumiScan app is - and what it runs on. A LumiScan app is one program, for example LumiScan Cam Driver or LumiScan Template Finder. It offers its functions as nodes of a Data Layer and does nothing without one. The Data Layer is provided by the platform the app runs on: on a ctrlX CORE or ctrlX IPC it is the ctrlX Data Layer of ctrlX OS, on a PC with Windows 11 or Ubuntu 24.04 it is LumiScan Keryx, which you install before the apps and whose broker the first app starts. The same app, with the same node addresses, runs on both. There is no "LumiScan Runtime": the manuals call this layer the Data Layer - ctrlX Data Layer or LumiScan Keryx when only one is meant. The word "runtime" appears only in licensing, where runtimes are the products used in production (one-time purchase) as opposed to engineering apps, and in the name of the third-party CodeMeter Runtime.
| Use | Meaning | Instead of |
|---|---|---|
LumiScan app |
A program of HD Vision Systems that offers its functions as nodes of the Data Layer: Cam Driver, the processing apps, Calibration, Cockpit. Overview pages also say vision app. |
LumiScan Runtime, ctrlX app (when the PC version is meant too) |
processing app |
A LumiScan app that evaluates an image: the finders (Template Finder, Object Finder, Area Detector, Text Reader), the code readers (DMC, QR Code, Aztec Code, Barcode Reader) and AI Object Matching. |
vision tool, inspection app |
module |
One configured instance inside a LumiScan app - a camera in the Cam Driver, a neural network in AI Object Matching, a plane in Calibration, a search configuration in a finder - with its own Data Layer address. The code readers have no modules. |
instance, job, channel |
Data Layer |
The interface through which the LumiScan apps, the PLC and your program exchange data. Written alone, a statement holds for both Data Layers. LumiScan Data Layer is the title of the manual that describes this interface, not a third Data Layer. |
datalayer, data layer, DataLayer |
ctrlX Data Layer |
The Data Layer of ctrlX OS, used by the apps on a ctrlX CORE or ctrlX IPC. |
- |
LumiScan Keryx |
The Data Layer of HD Vision Systems for PCs (Windows 11, Ubuntu 24.04); its broker program is |
PC Data Layer, HDV Data Layer |
LumiScan Key |
The USB licence key for LumiScan software (a CodeMeter CmStick/C). |
dongle, CmStick, licence stick |
ctrlX OS, ctrlX CORE, ctrlX IPC |
ctrlX OS is the operating system of Bosch Rexroth; ctrlX CORE (a controller) and ctrlX IPC (an industrial PC) are devices that run it. ctrlX device means either. |
ctrlX (alone), X3 (alone) |
PC |
A computer with Windows 11 or Ubuntu 24.04 on which LumiScan apps run with LumiScan Keryx. LumiScan VGR runs on a Windows 11 IPC with an NVIDIA GPU. |
host, Windows runtime |
PLC |
The programmable logic controller of the machine. ctrlX PLC is the PLC on ctrlX OS. German: SPS. |
SPS (in English text) |
PROFINET |
The spelling of the fieldbus in all prose. |
Profinet, profinet |
engineering app, runtime |
Licensing categories. Engineering apps (LumiScan Annotation, LumiScan Training, LumiScan VGR Engineering) are annual subscriptions; runtimes and vision apps (for example LumiScan VGR, LumiScan Cam Driver, the code readers) are one-time purchases. |
- |
annotation, annotate |
Marking objects in images (boxes and class labels) as training data for a neural network; done with LumiScan Annotation or in the manual mode of LumiScan VGR. Label stays the noun for a class name. |
labeling, label (as a verb), LumiScan Labeling |
LumiScan X |
The 3D light-field camera of HD Vision Systems. |
LumiScanX |
LumiScan Cam Driver |
The LumiScan app that connects GenICam cameras. |
CamDriver, camdriver |
ctrlX Store |
The Bosch Rexroth store in which ctrlX apps and licences are bought. |
App Store |
A
Annotation
Marking objects in images by hand - for example with a box and a label - so that a neural network can learn from these examples.
In LumiScan: You annotate images with LumiScan Annotation: you draw oriented bounding boxes around the objects, give each box a label (class) and can restrict the image area with an ROI. LumiScan Training then trains a network on these images. In LumiScan VGR, manual mode lets you correct or add boxes in the Image tab and export the result as new training data.
Related documentation: LumiScan Annotation: Annotating images with boxes, LumiScan VGR: Correcting boxes in manual mode, LumiScan Annotation: Labels and the settings file
Wikipedia: Labeled data
annotation|annotations|Annotation|annotate|annotated
API
A defined interface through which one program uses the functions of another, for example by calling methods or reading values.
In LumiScan: The LumiScan apps have no programming library of their own: their interface is the Data Layer, where every function is a node that is read, written or called - directly, or through the OPC UA Connector on a PC. LumiScan VGR documents its interfaces as the Settings API (the JSON settings), the PROFINET interface and the OPC UA interface.
Related documentation: Integrating LumiScan into your own program, Data Layer: Choosing how to call a function, LumiScan VGR: Settings API reference
Wikipedia: API
API|APIs
Auto-exposure polygon
The image area that an automatic exposure control evaluates to judge how bright the image is; only the pixels inside the polygon count.
In LumiScan: In LumiScan VGR, auto-exposure is part of the recording settings (autoexposureEnabled, autoexposure): the camera’s exposure time is recomputed after each trigger so that the mean (or median) intensity inside the polygon matches the reference intensity (default 60). The polygon is a list of image coordinates, by default the corners (50, 50), (1230, 50), (1230, 910) and (50, 910). In debug mode the polygon is shown in yellow in the Image tab, which helps when you set the initial exposure parameters. If auto-exposure is unsuccessful, LumiScan VGR returns CAMERA_HARDWARE_TRIGGER_AGAIN; trigger twice at the start of a new process so that the brightness of the scene is initialised. For Enable Autoexposure in the LumiScan Viewer, the manual describes a target intensity but no polygon.
Related documentation: LumiScan VGR: Setting the auto-exposure polygon, LumiScan VGR: Switching auto-exposure on, LumiScan VGR: Showing the polygon in debug mode
Wikipedia: Exposure (photography)
auto-exposure polygon|Auto-exposure polygon|autoexposure polygon
Aztec code
A compact 2D code with a bullseye-shaped finder pattern in its centre; it needs no empty margin (quiet zone) around it.
In LumiScan: LumiScan Aztec Code Reader finds every Aztec code in an image and reports its text, position, outline and score. It needs no template and no configuration: you give it the address of an image node and call execute.
Related documentation: Aztec Code Reader: Reading a code, Aztec Code Reader: Reading the result, Aztec Code Reader: Reading codes on an image stream
Wikipedia: Aztec Code
Aztec code|Aztec codes|Aztec
B
Barcode
A linear (1D) code of parallel bars and gaps that is read across its width, for example EAN-13 or Code 128.
In LumiScan: LumiScan Barcode Reader reads the whole family of linear barcodes in one call - among others Code 128, Code 39, EAN-13 and UPC-A - without the symbology having to be set in advance. It reports text, centre, outline and score of every barcode in the image and always searches the whole image.
Related documentation: Barcode Reader: Reading a code, Barcode Reader: Reading the result, Barcode Reader: Reading codes on an image stream
External reference: GS1
Wikipedia: Barcode
barcode|barcodes|Barcode|Barcodes
Baseline
The distance between two viewpoints - for example the centres of two cameras - from which the same scene point is observed; the longer the baseline, the larger the parallax at a given depth.
In LumiScan: The LumiScan X has 13 cameras in one housing, so its camera pairs have several different baselines, and its reconstruction uses several of them. Short baselines make it easier to find corresponding points; long baselines give more parallax and a better depth sensitivity. For a fixed baseline, the depth uncertainty grows approximately with the square of the distance, which is why the depth sensitivity depends on the working distance (recommended: 250 to 3000 mm).
Related documentation: LumiScan X: Baseline and depth sensitivity, LumiScan X: How the baseline affects measurement quality
Wikipedia: Computer stereo vision
baseline|baselines|Baseline
Bayer pattern
The arrangement of red, green and blue colour filters on the pixels of a colour camera sensor; each pixel records only one colour, and the full colour image is calculated from neighbouring pixels.
In LumiScan: The finders and code readers accept Bayer pixel formats from the camera (for example BayerRG8, BayerGR12) and convert such images to colour before processing. The Barcode Reader writes the names with an underscore (Bayer_RG8) but also accepts them without.
Related documentation: Template Finder: Supported pixel formats, Barcode Reader: Supported pixel formats
Wikipedia: Bayer filter
Bayer|de-Bayering
Bin picking
A robot task in which parts lying unsorted in a container are located by a camera and picked one at a time.
In LumiScan: Bin picking is a main application of LumiScan VGR: it locates the parts in the point cloud of a LumiScan X, calculates grip points and sends the best one to the PLC. For parts on a flat plane, LumiScan Calibration converts 2D image positions into 3D coordinates, for example for robotic picking.
Related documentation: VGR Engineering: Building a first picking configuration, LumiScan VGR: Requesting grip points from the PLC, What to install for robot picking
bin picking|Bin picking|Bin Picking|bin-picking
Blob
A connected region of pixels that stand out from the background, for example all pixels of one part in a thresholded image.
In LumiScan: LumiScan Area Detector reports every region it finds as an entry of blobs[] in its result, with its area in pixels and its position. The label image output/blob-labels shows which pixels belong to which blob; Cockpit tints each region in its own colour.
Related documentation: Area Detector: Measuring part area from a camera image, Area Detector: Detecting areas, Area Detector: Finding the pixels of a blob in the label image
Wikipedia: Blob detection
blob|blobs|Blob|Blobs
Bounding box
A rectangle drawn around an object in an image to mark where it is; an axis-aligned box is parallel to the image edges.
In LumiScan: LumiScan Object Finder reports each match as an axis-aligned rectangle. Most other LumiScan tools work with rotated boxes: LumiScan Annotation, the manual mode of LumiScan VGR, AI Object Matching and Template Finder use oriented bounding boxes. Cockpit draws the boxes of the running apps on the image.
Related documentation: Object Finder: Reading the match rectangles, Cockpit: Seeing the boxes on the image, LumiScan Annotation: Drawing boxes
Wikipedia: Minimum bounding box
bounding box|bounding boxes|Bounding box|Bounding boxes|axis-aligned rectangle
Broker
A program that connects other programs: each one registers with the broker, and every message between them passes through it.
In LumiScan: On a PC, the broker of LumiScan Keryx (krxsystem) connects the LumiScan apps, Cockpit, the OPC UA Connector and your program. You normally do not start it yourself: the first app that finds no broker starts it at tcp://127.0.0.1:5555, and it keeps running when the apps end. It is reachable from the same PC only and has no authentication. The OPC UA Connector never starts a broker.
Related documentation: LumiScan Keryx: How the broker is started, LumiScan Keryx: Using another broker address, Troubleshooting: No broker answers
Wikipedia: Message broker
broker|brokers|Broker
C
CAD model
A digital 3D description of the exact geometry of a part, created with design (CAD) software; STL is a common file format for such models that describes the surface with triangles.
In LumiScan: LumiScan VGR uses CAD models in two ways. For rigid objects that always match their CAD model, the 3D object fit methods OBJECT_MATCHING and OBJECT_REFINEMENT fit the CAD model of the object (cadPath) to the point cloud; a point cloud file of the object (pointcloudPath) can be given instead, and for OBJECT_MATCHING it is used if both are set. In the robot configuration, robots and grippers can be visualised with CAD models in .stl format, and additional 3D geometry can be provided for collision detection. The manuals do not state which file format cadPath expects.
Related documentation: LumiScan VGR: Fitting a CAD model (Object Matching), LumiScan VGR: Refining a known position with a CAD model, LumiScan VGR: Robot and gripper geometry in the settings
Wikipedia: Computer-aided design, STL (file format)
CAD model|CAD models|CAD file|CAD files|STL
Calibration
Determining the relationship between what a camera sees and real-world measurements, so that positions in the image can be converted into positions in space.
In LumiScan: The word has three uses. LumiScan Calibration converts 2D image coordinates into 3D coordinates on a calibrated plane; its calibration data is a TIFF file that HD Vision Systems creates from images of a calibration plate you send in. Each LumiScan X has a factory camera calibration (.hdvcal file). LumiScan VGR needs a hand-eye calibration for every robot configuration.
Related documentation: Calibration: Getting the calibration data (TIFF file), Calibration: Adding a calibrated plane as a module, Calibration: Transforming image points into 3D coordinates, Calibration: Troubleshooting wrong coordinates
Wikipedia: Calibration
calibration|calibrated|calibration plate|calibration plates
Camera calibration
Measuring the exact optical properties and geometry of a camera so that its images can be converted into accurate measurements or 3D data.
In LumiScan: Every LumiScan X is calibrated by HD Vision Systems and comes with a calibration file (.hdvcal) that carries the camera’s serial number in its name. The LumiScan Viewer needs it to compute point clouds; LumiScan VGR references it as calibrationFile of each camera, and LumiScan VGR Engineering uploads it into the configuration. If the point cloud stays poor despite correct settings and a clean front glass, the camera must be recalibrated by HD Vision Systems.
Related documentation: LumiScan Viewer: Selecting the calibration file, LumiScan X: How the camera array is calibrated, VGR Engineering: Uploading the .hdvcal file of a camera, LumiScan X FAQ: Which calibration file do I need?
Wikipedia: Camera resectioning
camera calibration|Camera calibration|camera calibration file
cifX card
A PC interface card by Hilscher that connects a computer to an industrial network such as PROFINET.
In LumiScan: The manuals mention the cifX card only in the troubleshooting of LumiScan Hand-Eye Calibration: if the robot position read from the PLC "Can not be interpreted" and the PROFINET tab shows that no connection has been established, check the cifX card name - normally cifx0;0 if there is only one Hilscher card. The system requirements of LumiScan VGR name PROFINET as an interface but no specific card.
Related documentation: LumiScan VGR: Checking the cifX card name (hand-eye calibration), Troubleshooting: Hand-eye calibration
cifX card|cifx card|cifx card name|cifX|cifx|Hilscher card|Hilscher Card
Code readers
Programs that find machine-readable codes in an image and decode their content.
In LumiScan: The manuals call four LumiScan apps the code readers: DMC Reader, QR Code Reader, Aztec Code Reader and Barcode Reader. They need no template and no configuration, have no modules (one reader per installation at hdvisionsystems/<app>), are called with one execute method, and report every code in the image with text, centre, outline and score. They are licensed as Standard and Advanced.
Related documentation: DMC Reader: Reading a code (same for all code readers), Data Layer: Where the code readers keep their nodes, Licensing: Standard and Advanced licences
code readers|code reader
CodeMeter Runtime
Software by WIBU-SYSTEMS AG that lets programs read licences from a CodeMeter licence container, such as a USB licence key.
In LumiScan: Every PC that uses a LumiScan Key needs CodeMeter Runtime 9.00 or later. In CodeMeter Control Center the key appears as CmStick/C; cmu --list shows it on the command line. Apps running natively on ctrlX OS do not need CodeMeter. CodeMeter is the licensing system of WIBU-SYSTEMS AG; the LumiScan Key is a CodeMeter container.
Related documentation: Installing and checking CodeMeter Runtime, CodeMeter for virtual machines and containers, Troubleshooting: The key is not detected
CodeMeter Runtime|CodeMeter
Confidence
A number, usually between 0 and 1, that says how certain an algorithm is about a result; also called score.
In LumiScan: Template Finder reports a confidence for each match and sorts by it; Object Finder reports a score and drops matches below input/confidence-threshold (default 0.6). AI Object Matching reports a score per object and uses one threshold per class (thresholdList in the model JSON file). The code readers report a score per code, Text Reader a confidence per word (filter with input/min-score). In the LumiScan Viewer, the Confidence Threshold removes uncertain points from the point cloud.
Related documentation: Template Finder: Tuning the search, Object Finder: Tuning the search, Text Reader: Setting a minimum score, AI Object Matching: Setting the class thresholds
confidence|confidences|Confidence|confidence threshold|Confidence Threshold
Container
A packaged, isolated environment in which a program runs together with everything it needs, independently of the rest of the computer; Podman is one program that runs containers.
In LumiScan: The model conversion of LumiScan Training (ONNX to Hailo) runs in a container. It needs the Hailo PlugIn and the Podman CLI 6.0.x for Windows with Hyper-V; the first conversion starts the Podman machine. If LumiScan software runs in a container, CodeMeter Runtime runs on the host with the LumiScan Key, and the software reaches it over the network.
Related documentation: LumiScan Training: Installing Podman, LumiScan Training: Installing the Hailo PlugIn, Licensing software that runs in a container
Wikipedia: Containerization (computing)
Podman|Podman machine
ctrlX CORE
A compact industrial controller by Bosch Rexroth that runs the ctrlX OS operating system and its apps.
In LumiScan: The LumiScan apps run on a ctrlX CORE as ctrlX apps and use its ctrlX Data Layer; a ctrlX PLC on the same device calls them directly. The Cam Driver manual describes how to connect a camera to a ctrlX CORE X3. AI Object Matching can use a TPU on a ctrlX CORE X3 or X7.
Related documentation: Your first vision application on ctrlX OS, Cam Driver: Connecting a camera to a ctrlX CORE X3, AI Object Matching: Using the TPU of a ctrlX CORE
ctrlX CORE|ctrlX X3|ctrlX CORE X3|ctrlX CORE X7
ctrlX Data Layer
The data exchange layer of ctrlX OS, through which the apps on a ctrlX device and the PLC share values and call each other’s functions.
In LumiScan: On a ctrlX CORE or ctrlX IPC, the LumiScan apps register their nodes in the ctrlX Data Layer under hdvisionsystems/<app>. There is nothing to install for it. You look at the nodes in the Data Layer view of the ctrlX OS web interface; a method call answers with ctrlX results such as DL_OK or DL_TOO_MANY_OPERATIONS.
Related documentation: Working with the ctrlX Data Layer on ctrlX OS, What differs from LumiScan Keryx
ctrlX Data Layer
ctrlX IPC
An industrial PC by Bosch Rexroth that runs ctrlX OS.
In LumiScan: A ctrlX IPC is used like a ctrlX CORE: the LumiScan apps run on it as ctrlX apps with the ctrlX Data Layer and ctrlX licences.
Related documentation: Installing the apps and licences on ctrlX OS, Licensing apps on ctrlX OS
ctrlX IPC
ctrlX OS
The Linux-based operating system of Bosch Rexroth for automation devices, on which apps are installed and exchange data.
In LumiScan: ctrlX OS is one of the two platforms of the LumiScan apps (the other is a PC with LumiScan Keryx). On a ctrlX CORE or ctrlX IPC you install the apps as ctrlX apps and their ctrlX licences in the License Manager; an app without a licence stops shortly after starting and writes the reason to the system log. Settings files are uploaded through the web interface or WebDAV.
Related documentation: Installing the apps and licences on ctrlX OS, Working with the ctrlX Data Layer on ctrlX OS, Uploading files to ctrlX OS with WebDAV, Licensing apps on ctrlX OS
ctrlX OS
ctrlX PLC
The PLC function of ctrlX OS, programmed with ctrlX PLC Engineering.
In LumiScan: A ctrlX PLC program reads, writes and calls the nodes of the LumiScan apps directly on the same ctrlX device. Build the PLC logic on plain nodes (numbers, booleans, strings); FlatBuffers results need their schema - AI Object Matching describes how to import it into ctrlX PLC Engineering.
Related documentation: Triggering a vision app from the ctrlX PLC, Reading FlatBuffers results in ctrlX PLC Engineering, Data Layer: Connecting the ctrlX PLC
ctrlX PLC|ctrlX PLC Engineering
ctrlX Store
The Bosch Rexroth online store for ctrlX apps and their licences.
In LumiScan: Where you bought a product decides how it is licensed. Bought in the ctrlX Store for ctrlX OS: a ctrlX licence on the device. Bought in the ctrlX Store for Windows 11: a licence in ctrlX WORKS plus a LumiScan Key. Bought from HD Vision Systems: the licence is on the LumiScan Key.
Related documentation: Licensing a ctrlX Store app on ctrlX OS, Licensing a ctrlX Store app on Windows, ctrlX licence part numbers
ctrlX Store|App Store
ctrlX WORKS
The Bosch Rexroth engineering software for ctrlX devices on a Windows PC, which also manages ctrlX licences there.
In LumiScan: For LumiScan software bought in the ctrlX Store and running on Windows 11, the licence is held in ctrlX WORKS; a LumiScan Key is needed in addition to protect the software against reverse engineering.
Related documentation: Licensing ctrlX Store apps on Windows with ctrlX WORKS
ctrlX WORKS
CUDA
NVIDIA’s platform for running calculations on its graphics cards (GPUs); cuDNN is its library for neural networks.
In LumiScan: LumiScan VGR and LumiScan VGR Engineering need CUDA Toolkit 11.8 and cuDNN 8.8.1 (installers from HD Vision Systems), LumiScan Training needs CUDA Toolkit 11.8. AI Object Matching on a PC uses the GPU when provider is CUDA in the model JSON file; it needs CUDA Toolkit 12.9 and cuDNN 9.11.1.
Related documentation: VGR Engineering: Installing CUDA and cuDNN first, LumiScan VGR: Required CUDA and cuDNN versions, AI Object Matching: Inference on the GPU (provider CUDA), LumiScan Training: Required CUDA version
CUDA|CUDA Toolkit|cuDNN
D
Data Layer
A shared data space in which programs publish values and functions under fixed addresses, so that other programs can read, write and call them.
In LumiScan: Every function of a LumiScan app is a node of the Data Layer, which the apps, the PLC, Cockpit and your program use. There are two Data Layers with the same addresses, node types and call patterns: the ctrlX Data Layer on ctrlX OS and LumiScan Keryx on a PC. Where a manual writes only "Data Layer", the statement holds for both. LumiScan Data Layer is the manual that describes what all apps have in common.
Related documentation: Finding the address of a node, Choosing how to call a function, Integrating LumiScan into your own program, LumiScan Data Layer manual
Data Layer|LumiScan Data Layer|data layer|datalayer
Data Matrix code
A square or rectangular 2D code made of small square cells, often marked directly onto parts; abbreviated DMC.
In LumiScan: LumiScan DMC Reader reads ECC 200 Data Matrix codes, the modern square-module standard used for part marking and direct part marking. It reports every code in the image with text, centre, outline and score, and needs no template and no configuration.
Related documentation: DMC Reader: Reading a code, DMC Reader: Reading the result, DMC Reader: Reading codes on an image stream
Wikipedia: Data Matrix
Data Matrix code|Data Matrix codes|Data Matrix|DMC
Depth map
An image in which each pixel holds the distance to the scene instead of a brightness; it can be converted into a point cloud.
In LumiScan: The LumiScan X computes depth with a resolution of 1.2 MP (1280 × 960). The LumiScan Viewer shows the result as a point cloud; the Depth Range setting limits the distances that are calculated, which also speeds up the calculation.
Related documentation: LumiScan X: How depth maps and point clouds are computed, LumiScan Viewer: Setting the depth range, LumiScan X: Depth resolution
Wikipedia: Depth map
depth map|depth maps|Depth map
Disparity
The shift in position of the same scene point between two images taken from different viewpoints; the closer the point, the larger the disparity.
In LumiScan: The LumiScan X derives depth from the disparities between the images of its 13 cameras. For two cameras with parallel optical axes, the depth is Z = f · B / d (focal length f and disparity d in pixels, baseline B): a point twice as far away shows half the disparity. Uncertain points can be removed with the Confidence Threshold of the LumiScan Viewer.
Related documentation: LumiScan X: Parallax, disparity and depth, LumiScan X: Finding corresponding points
Wikipedia: Binocular disparity
disparity|disparities|Disparity
E
Engineering app
Software used to prepare or configure an application, as opposed to the software that runs it in production.
In LumiScan: The engineering apps are LumiScan Annotation, LumiScan Training and LumiScan VGR Engineering. Bought from HD Vision Systems, they are an annual subscription on the LumiScan Key and stop working when it is not renewed. The runtimes and vision apps - for example LumiScan VGR, LumiScan Cam Driver and the code readers - are one-time purchases without renewal.
Related documentation: Renewing engineering licences, Requesting a licence update, Licences bought from HD Vision Systems
engineering app|engineering apps|Engineering apps|Engineering app
Epipolar geometry
The geometry of two cameras that observe the same scene: a point in one image can only correspond to points on one line in the other image, the epipolar line.
In LumiScan: The epipolar geometry between the cameras of the LumiScan X follows from their calibration (the .hdvcal file), and the reconstruction of the LumiScan X uses this epipolar constraint: the point corresponding to a point in one camera image must lie on the epipolar line in another camera image, which reduces the search space for finding correspondences.
Related documentation: LumiScan X: Correspondence and epipolar geometry
Wikipedia: Epipolar geometry
epipolar geometry|Epipolar geometry|epipolar line|epipolar lines
Execute method
A function that is started with a single call and returns only when the operation has finished.
In LumiScan: An execute method is one of the three ways to call a function of a LumiScan app, meant for operations that finish within about 1 s, such as capture or find-template. The client writes the inputs (separate nodes), then writes to the execute node. Check both results: the result of the call (could it run?) and the status (did it succeed?). Over OPC UA an execute node is a method called with the Call service.
Related documentation: Calling an execute method, Calling a function from your program, Reading the result of a method call
execute method|execute methods|Execute method|Execute methods
Exposure time
How long the camera sensor collects light for one image; a longer exposure gives a brighter image but blurs moving parts.
In LumiScan: In the LumiScan Viewer you set the exposure time of the LumiScan X in µs, or let Enable Autoexposure choose it. The Cam Driver sets it through input/exposure-time or the camera’s GenICam features; it is not applied while a stream runs. LumiScan VGR can use auto-exposure and reports CAMERA_BAD_EXPOSURETIME_SETTING when the requested exposure time cannot be reached.
Related documentation: LumiScan Viewer: Setting exposure time and auto-exposure, Cam Driver: Setting camera features such as the exposure time, Cam Driver: Exposure settings before streaming, LumiScan VGR: Auto-exposure limits
Wikipedia: Shutter speed
exposure time|exposure times|Exposure time|Exposure Time|exposure|auto-exposure|Auto-exposure|autoexposure|Autoexposure
Extrinsic parameters
The position and orientation (translation and rotation) of a camera relative to a common coordinate system.
In LumiScan: The extrinsic parameters describe how the 13 cameras of the LumiScan X are positioned and oriented relative to each other; the .hdvcal calibration file contains them for all 13 cameras, together with the intrinsic parameters. Small errors in them cause systematic depth deviations, which is why a camera array needs a mechanically stable construction. The point cloud is output in the coordinate system of the LumiScan X, with the camera at the origin and aligned in the direction of the Z axis; the position of the camera relative to a robot is determined by the hand-eye calibration. Not to be confused with the extrinsic Euler angle conventions (EXT_…) in the LumiScan VGR robot settings.
Related documentation: LumiScan X: Extrinsic parameters, LumiScan X: The calibration file
Wikipedia: Camera resectioning
extrinsic parameters|Extrinsic parameters|extrinsic camera parameters
F
Field of view
The area of the scene a camera sees at a given distance; it grows with the distance and with the opening angle of the lens.
In LumiScan: The LumiScan X comes in three opening angles (60°, 40°, 30°). For each standard configuration the manual lists the field of view at the minimum and the maximum working distance, for example about 180 mm × 100 mm to 400 mm × 280 mm for LumiScanX-60-F035.
Related documentation: LumiScan X: Choosing a configuration by field of view
Wikipedia: Field of view
field of view|Field of view|Field of View|opening angle
Finders
A group name for the LumiScan apps that search an image for something you describe and report what they found.
In LumiScan: The Data Layer manual calls Template Finder, Object Finder, Area Detector and Text Reader the finders. They share one way of working: modules are created and removed while the app runs (system/create-module), each function is an execute method under <module>/<method>/, the outcome is in <method>/output/status-code with their own execution status values, and on ctrlX OS one licence covers ten modules.
Related documentation: Creating and saving finder modules, Template Finder: Managing modules, Reading the execution status of a finder
finders
Firewall
A protective function of the operating system or network that blocks connections unless they are allowed by a rule.
In LumiScan: On Windows, the LumiScan software must be allowed through the Windows Firewall, otherwise the LumiScan X is not found or only a black image with a timeout appears. Open TCP 4840 for the OPC UA Connector only for the address of the PLC. File Transfer and a shared LumiScan Training backend need their ports allowed as well.
Related documentation: LumiScan X: Allowing the software through the Windows Firewall, LumiScan X: Granting network access by hand, OPC UA Connector: Restricting port 4840
Wikipedia: Firewall (computing)
firewall|firewalls|Firewall|Windows Firewall|Windows firewall
FlatBuffers
A compact binary data format: a message is described by a schema and can be read without unpacking it first.
In LumiScan: Images and structured results of the LumiScan apps are FlatBuffers values on the Data Layer; their schemas are published under types/hdvisionsystems/<app>/…. Decode them with the FlatBuffers library of your language. For PLC logic use the plain nodes instead; over OPC UA a FlatBuffers value is a ByteString.
Related documentation: Reading a FlatBuffers result in a PLC, Decoding results in your own program, Data Layer: Where the schemas are
Wikipedia: FlatBuffers
FlatBuffers|FlatBuffer|flatbuffer|flatbuffers
Frame rate
How many images a camera delivers per second, given in frames per second (fps).
In LumiScan: The LumiScan X delivers up to 6 fps with Mono8 and 3 fps with Mono12. For 2D cameras, the image stream of the Cam Driver is faster than one capture call per image (63 to 68 against about 34 images per second in HD Vision Systems' measurement); the GenICam feature TriggerOverlap can raise the frame rate further.
Related documentation: Cam Driver: Getting the highest frame rate, Cam Driver: Measured frame rates, LumiScan Viewer: Pixel format and frame rate
Wikipedia: Frame rate
frame rate|frame rates|Frame rate|fps|FPS
G
Gain
An electronic amplification of the sensor signal that makes an image brighter without a longer exposure, but also amplifies noise.
In LumiScan: The Area Detector manual names sensor noise at high gain as one cause of soft edges, which make a fixed threshold brittle, and recommends lowering the gain and adding light instead. Like other GenICam features of a 2D camera, gain is set through the Cam Driver’s feature nodes when the camera offers it.
Related documentation: Cam Driver: Setting camera features such as gain, Area Detector: Reducing noise and soft edges
Wikipedia: Gain (electronics)
gain
GenICam
A camera standard of the EMVA that gives camera functions (features such as exposure time or trigger mode) uniform names, so that one program can control cameras of different makers.
In LumiScan: The LumiScan Cam Driver connects Ethernet-enabled, GenICam-compliant cameras. After connecting, the camera’s own features appear under <camera>/features on the Data Layer, with names and values from the camera. Implementations differ between makers, so some functions may be missing on untested cameras. The Cam Driver accesses a camera through the GenTL producer configured for it, which must be installed.
Related documentation: Cam Driver: Editing GenICam features, Cam Driver: Configuring a camera, Cam Driver: Mapping feature names of a camera, Cam Driver: Tested cameras
External reference: EMVA - European Machine Vision Association
Wikipedia: GenICam
GenICam|GenTL|GenTL producer
GigE Vision
An interface standard for industrial cameras that transmit images over Gigabit Ethernet.
In LumiScan: The Cam Driver works with Ethernet-enabled GenICam cameras. In the image stream, the external_id of a frame is the camera’s GigE Vision block ID; a gap there without a gap in sequence means images were lost between the camera and the Cam Driver.
Related documentation: Cam Driver: Setting the MTU for Ethernet cameras, Cam Driver: Connecting a camera to a ctrlX CORE X3, Cam Driver: What each frame carries (block ID)
External reference: A3 - Association for Advancing Automation
Wikipedia: GigE Vision
GigE Vision|GigE
GPU
The processor of a graphics card; it performs many calculations in parallel and therefore speeds up neural networks and 3D processing.
In LumiScan: LumiScan VGR and LumiScan VGR Engineering need an NVIDIA GPU that supports CUDA 11.8, LumiScan Training an NVIDIA RTX graphics card. AI Object Matching on a PC can infer on an NVIDIA GPU (provider = CUDA). The computer for the LumiScan X needs at least an NVIDIA GTX 1650.
Related documentation: AI Object Matching: Running inference on the GPU, LumiScan VGR: GPU requirements, LumiScan Training: Choosing the training profile for the GPU memory
Wikipedia: Graphics processing unit
GPU|GPUs|graphics card|graphics cards
Grip point
The position and orientation at which a robot gripper takes hold of an object.
In LumiScan: LumiScan VGR calculates a set of possible grip points for every detected object and returns the best valid one, by grip priority, to the PLC. Get Best Result returns it without consuming it; Grip Best Result marks it as gripped and moves on to the next candidate. RESULTS_EMPTY means no valid grip point is left for the active robot.
Related documentation: LumiScan VGR: Configuring the grip point calculation, LumiScan VGR: Requesting the best grip point from the PLC, LumiScan VGR: Requesting grip poses over OPC UA, Get Best Result or Grip Best Result?
grip point|grip points|Grip point|Grip points
H
HALCON
A commercial machine vision software library by MVTec.
In LumiScan: LumiScan VGR needs a valid HALCON licence for point cloud matching, and the HALCON bin directory must be in the PATH environment variable; otherwise no point cloud matching can be performed.
Related documentation: Installing the HALCON licence and setting PATH, LumiScan VGR: Troubleshooting
HALCON|Halcon
Hand-eye calibration
Determining where a camera is relative to a robot, so that positions the camera sees can be converted into robot coordinates.
In LumiScan: Every robot configuration of LumiScan VGR needs a valid hand-eye calibration transformation; without it, a function returns MISSING_TRANSFORM. In LumiScan VGR Engineering it is part of the robot element. Repeat the calibration whenever the camera or the robot has been moved, even slightly. The troubleshooting pages describe the LumiScan Hand-Eye Calibration program: 6 to 15 images of the calibration plate from clearly different angles, with the robot pose read from the PLC.
Related documentation: VGR Engineering: Adding the hand-eye calibration to a robot, Hand-eye calibration: Fixing a poor result, LumiScan VGR: Robot settings
Wikipedia: Hand eye calibration problem
hand-eye calibration|Hand-eye calibration|Hand-Eye Calibration|hand-eye calibration transformation
Handshake
A way for two programs to take turns on a few signals - request, acknowledge, done - so that a long operation can be started and followed without waiting inside a call.
In LumiScan: In the Cam Driver, AI Object Matching and Calibration, a function such as connect-camera or inference is started with the ready/request handshake: wait for ready = true, set request, wait for ready = false, reset request, wait for ready = true, then read the status and outputs. Use it for operations longer than about 1 s. LumiScan VGR uses a similar handshake with its PLC signals Ready, Request and Running.
Related documentation: Running a ready/request handshake, Running a long operation from your program, LumiScan VGR: The PLC handshake, Troubleshooting: A handshake does not finish
Wikipedia: Handshake (computing)
handshake|handshakes|Handshake|Handshakes
Heartbeat
A signal that one device toggles regularly and the other mirrors, so that both can see that the connection is alive; also called live bit.
In LumiScan: LumiScan VGR mirrors the PLC’s IN_HeartBeat in OUT_HeartBeat. In admin mode, both blink red and green in the PROFINET tab while the PROFINET connection is active - the first thing to check when LumiScan VGR does not react to the PLC.
Related documentation: LumiScan VGR: The heartbeat signals in the PROFINET interface, Checking the heartbeat when LumiScan VGR does not react
Wikipedia: Heartbeat (computing)
heartbeat|live bit|livebit
I
Inference
Applying a trained neural network to new data, for example to find objects in a camera image.
In LumiScan: AI Object Matching runs an inference with the inference handshake or execute method, or on every frame of a camera stream. It runs on the CPU, on an NVIDIA GPU on a PC (CUDA) or on a Hailo TPU on ctrlX OS (HAILO). In LumiScan Training, Start Inference applies a trained network to a folder of images.
Related documentation: AI Object Matching: Running an inference, AI Object Matching: Inference on every camera image, LumiScan Training: Testing a network on images (Start Inference)
inference|inferences|Inference
Intrinsic parameters
The parameters that describe the optics of a single camera - focal length, principal point and lens distortion - and thus how a point in space is projected onto the image sensor.
In LumiScan: The .hdvcal calibration file of a LumiScan X contains the intrinsic parameters of all 13 cameras, together with their extrinsic parameters; HD Vision Systems supplies it with the serial number of the camera in its name. The manual describes no procedure for setting them yourself: if the point cloud stays poor despite correct settings and a clean front glass, the camera must be recalibrated by HD Vision Systems.
Related documentation: LumiScan X: Intrinsic parameters, LumiScan X: The calibration file
Wikipedia: Camera resectioning
intrinsic parameters|Intrinsic parameters|intrinsic camera parameters|intrinsic camera matrix
IPC
A PC built for industrial use, for example in a control cabinet.
In LumiScan: LumiScan VGR runs on a Windows 11 IPC with an NVIDIA GPU, connected to the LumiScan X via Ethernet. A configuration for it can be built with LumiScan VGR Engineering on the same IPC or on a separate engineering PC with the same requirements. A ctrlX IPC is an IPC by Bosch Rexroth with ctrlX OS.
Related documentation: Installing LumiScan VGR on the IPC, LumiScan VGR: IPC requirements, VGR Engineering: IPC requirements
Wikipedia: Industrial PC
IPC|IPCs
J
JSON
A text format for structured data made of names, values, lists and nested objects, readable by people and programs.
In LumiScan: Almost all LumiScan settings are JSON files: the application and module files of the LumiScan apps, the settings of LumiScan VGR, the training configuration of LumiScan Training and the model description (model.json) next to the .onnx file. The Cam Driver, AI Object Matching and Calibration also show their loaded settings as one JSON document on system/settings.
Related documentation: Changing the settings of an app, LumiScan VGR: The JSON settings file, LumiScan Training: Writing the training configuration
External reference: Ecma International - ECMA-404
Wikipedia: JSON
JSON
Jumbo frames
Ethernet packets larger than the standard 1500 bytes; they carry camera images with less overhead. The largest packet size is called MTU.
In LumiScan: For the LumiScan X, set jumbo frames of the network adapter to Maximum (9014 bytes) and the receive and transmit buffers to 2048. For the Cam Driver, set the MTU to 8000 or 9000; an Ethernet switch between camera and ctrlX CORE X3 must support jumbo frames.
Related documentation: LumiScan X: Setting jumbo frames and buffers, Cam Driver: Changing the MTU size, Cam Driver: Choosing a switch for a ctrlX CORE X3
Wikipedia: Jumbo frame, Maximum transmission unit
jumbo frames|Jumbo frames|jumbo frame|MTU
K
Keryx
Short name for LumiScan Keryx, the Data Layer of HD Vision Systems for PCs.
In LumiScan: Keryx is the part of the platform that the LumiScan apps on a PC talk through - it plays the role that the ctrlX Data Layer plays on ctrlX OS. The documentation always writes the full name LumiScan Keryx; the full entry is LumiScan Keryx.
Related documentation: Installing LumiScan Keryx, Running the apps on a PC with LumiScan Keryx
Keryx page
A web page that shows the tree of nodes of a Data Layer and lets you read, write and call them by hand.
In LumiScan: Every LumiScan Keryx broker comes with a Keryx page, http://127.0.0.1:7555/ for the default broker (the broker’s port + 2000). Select a node to see its value, type and permissions, edit a writable node, call a method with Invoke, or follow values in a watch list. On ctrlX OS, the Data Layer view of the ctrlX OS web interface does the same.
Related documentation: Using the Keryx page, Taking a first image on the Keryx page
Keryx page|Data Layer page
krxclient
The command-line client of LumiScan Keryx for reading, writing and calling Data Layer nodes from a terminal or a script.
In LumiScan: krxclient stands in for a PLC in tests and scripts: read, write, browse, metadata, tree, execute, subscribe, and handshake, which runs a whole ready/request handshake. It connects to the broker at tcp://127.0.0.1:5555 unless you give another one. krxclient subscribe shows a FlatBuffers value by its size only.
Related documentation: Using krxclient, Calling functions with krxclient
krxclient|dlcli
L
Light field imaging
Recording not only how bright the light of a scene is, but also the direction from which it arrives - so that the 3D structure of the scene can be calculated from a single shot.
Light field imaging builds on the plenoptic function P(x, y, z, θ, φ, λ, t): the radiance of light at every position, in every direction, for every wavelength and at every time. A conventional camera adds up the light from all directions at each pixel and keeps only a 2D projection. A light field camera also records the direction of the rays. In free space this reduces to the four-dimensional light field L(u, v, s, t), where (u, v) and (s, t) are the points at which a ray crosses two reference planes. Because many perspectives are captured at once, depth, digital refocusing, changes of perspective and 3D measurements can be computed from one acquisition. Stereo vision uses two viewpoints; the dense set of perspectives of a light field adds a high angular redundancy, which makes depth estimation robust even in difficult industrial scenes.
In LumiScan: The LumiScan X is a 3D light field camera: 13 cameras with 1.2 MPix each in one housing capture the scene from 13 perspectives at the same time, and the LumiScan software computes the depth and a point cloud from them. In the Point Cloud Viewer, the white grid plane is the camera plane, the origin of the light field.
Related documentation: LumiScan X: How light field imaging works, LumiScan X: Product description
Wikipedia: Light field
light field imaging|light-field imaging|Light field imaging|light field|light-field|Light field|lightfield|Lightfield
LumiScan app
One of HD Vision Systems' programs that offer their functions as nodes of the Data Layer, so that a PLC, other apps or your own program can use them.
In LumiScan: The LumiScan apps are the Cam Driver, the processing apps (Template Finder, Object Finder, Area Detector, Text Reader, the four code readers and AI Object Matching), Calibration and Cockpit. Each one runs either on ctrlX OS (installed as a ctrlX app, using the ctrlX Data Layer) or on a PC with Windows 11 or Ubuntu 24.04 (installed after LumiScan Keryx), with the same node addresses under hdvisionsystems/<app>. Overview pages also call them vision apps.
Related documentation: Choosing the apps to install, Your first vision application, Calling the apps from your own program
LumiScan app|LumiScan apps|vision app|vision apps|processing app|processing apps|LumiScan application|LumiScan applications
LumiScan Cam Driver
The LumiScan app that connects industrial cameras and provides their images and camera functions to the other apps.
In LumiScan: The Cam Driver connects Ethernet-enabled, GenICam-compliant cameras to ctrlX OS or a PC; each configured camera is a module, for example hdvisionsystems/lumiscan-cam-driver/camera1, with connect-camera, capture, trigger and its image on output/image. It is the start of every chain of vision apps. On ctrlX OS it needs one licence per connected camera.
Related documentation: Connecting and configuring a camera, Cam Driver: Connecting the camera and capturing, Cam Driver: Editing the camera configuration, Cam Driver: Setting the camera IP address
LumiScan Cam Driver|Cam Driver|LumiScan CamDriver|CamDriver
LumiScan Cockpit
A viewer that shows the images and results of the running LumiScan apps.
In LumiScan: Cockpit reads images and results from the Data Layer and draws the findings on the image. On ctrlX OS it opens from the sidebar of the ctrlX web interface in a browser; on a PC it opens its own window (or a browser on the same PC with --no-gui). It only displays: it configures nothing and provides no Data Layer output. Calibration is not shown, because it produces coordinates, not an image.
Related documentation: Opening Cockpit, Viewing the results of the apps, Drawing fixed overlays, Setting up the live view
LumiScan Cockpit|Cockpit
LumiScan Keryx
The Data Layer of HD Vision Systems for PCs; it offers the same interface as the ctrlX Data Layer.
In LumiScan: On a PC with Windows 11 or Ubuntu 24.04, you install LumiScan Keryx first, then the LumiScan apps. Its broker krxsystem connects the apps and is started by the first app that finds none. LumiScan Keryx comes with the Keryx page and krxclient; a PLC or SCADA system connects through the OPC UA Connector. The name comes from the Greek kēryx, the herald.
Related documentation: Installing LumiScan Keryx on Windows, Starting the apps, Options and environment variables, Tools for looking at the nodes
LumiScan Keryx|Keryx
LumiScan Keryx Utilities
A Windows program for watching Data Layer nodes: you subscribe to nodes and read what they publish in one list.
In LumiScan: LumiScan Keryx Utilities connects to a LumiScan Keryx broker (by default 127.0.0.1, port 5555), lets you search and subscribe to nodes and follows one stream result through the chain of apps. It is a client only: it changes nothing on the broker.
Related documentation: Using LumiScan Keryx Utilities
LumiScan Keryx Utilities|Keryx Utilities|LumiScan Datalayer Utilities|Datalayer Utilities
LumiScan Key
The USB licence key for LumiScan software.
In LumiScan: The LumiScan Key is a CodeMeter container (CmStick/C, serial number of the form 3-1234567) and needs CodeMeter Runtime. For software bought from HD Vision Systems it carries the licences; for software bought in the ctrlX Store for Windows 11 it protects the software, while the licence is in ctrlX WORKS. You need one key per device on which the software runs at the same time; keys can be moved between devices. WIBU-SYSTEMS calls such USB keys CmDongles; CodeMeter Control Center shows the LumiScan Key as CmStick/C.
Related documentation: Connecting the key and checking it, Moving the key to another PC, Requesting a licence update, Importing a licence update
LumiScan Key|LumiScan Keys|CmDongle|CmDongles|CmStick/C|CmStick
LumiScan VGR
The robot guidance software of HD Vision Systems: it finds objects in 3D camera data and tells a robot where to grip them.
In LumiScan: LumiScan VGR runs on a Windows 11 IPC with an NVIDIA GPU and a LumiScan X. It detects objects (with neural networks and/or 3D models), calculates their 6-DoF pose and grip points, and sends the best grip point to the PLC over PROFINET or OPC UA. It is configured with a JSON settings file, usually created with LumiScan VGR Engineering. The overview page also names a variant VGR Lite.
Related documentation: Installing LumiScan VGR, Starting LumiScan VGR, Connecting the PLC over PROFINET, Connecting an OPC UA client
LumiScan VGR|VGR Lite
LumiScan VGR Engineering
The configuration tool for LumiScan VGR: it builds, previews and exports the settings.
In LumiScan: You build the configuration from three kinds of element - cameras, object detections and robots - connect them, check each one in a live preview (image and point cloud) and click Download to get a .zip file with the settings for LumiScan VGR. It needs the same IPC requirements as LumiScan VGR; without a camera, the preview stays empty.
Related documentation: Building a first configuration, Configuring cameras, object detections and robots, Finding your way around the window
LumiScan VGR Engineering|VGR Engineering
LumiScan Viewer
The Windows program supplied with the LumiScan X for setting up the camera, capturing images and point clouds, and exporting them.
In LumiScan: In the LumiScan Viewer you set the IP address of the LumiScan X, its pixel format, exposure, trigger, depth range, filters and calibration file, view the images of all 13 cameras (Frame) and the point cloud (Point Cloud), and export images and .ply/.pcd point clouds. It is started with Start → HD Vision Systems → LumiScan Viewer.
Related documentation: First image in 10 minutes, LumiScan Viewer: Setting up the camera, LumiScan Viewer: Exporting images and point clouds
LumiScan Viewer
LumiScan X
The 3D light-field camera of HD Vision Systems.
In LumiScan: The LumiScan X combines 13 monochrome cameras of 1.2 MPix in one housing (IP54), delivers images and point clouds at up to 6 fps and is powered with 24 V DC or PoE. It comes in three variants (60°, 40°, 30° opening angle) for working distances of 250 to 3000 mm. It is used with the LumiScan Viewer and by LumiScan VGR.
Related documentation: First image in 10 minutes, LumiScan X: Mounting and connecting the camera, LumiScan X: Setting the IP address
LumiScan X|LumiScanX
M
Manual mode
An operating mode in which a person works with the system directly and the automatic control by the PLC is paused.
In LumiScan: In manual mode of LumiScan VGR you capture an image, correct or add the detected objects as bounding boxes and export them as training data; you can also continue the workflow by hand when automatic detection fails. While manual mode is active (OUT_OperationMode = 2), most functions cannot be started by the PLC. After leaving it, the PLC must set the operation mode back to automatic. Admin mode (Ctrl + Shift + A) shows further controls, which are active only in manual mode.
Related documentation: LumiScan VGR: Working in manual mode, LumiScan VGR: Correcting boxes in manual mode, Returning to automatic mode from the PLC, Admin and debug modes
manual mode|Manual mode|Manual Mode|admin mode|Admin mode
Model
The result of training: a neural network with its learned values, stored as a file that a program can load to recognise objects.
In LumiScan: A LumiScan model consists of two files that belong together: the network (.onnx) and its description (.json, with classes, thresholds and the inference provider). LumiScan Training creates them; AI Object Matching and LumiScan VGR use them. File Transfer sends new models from the training PC back to the production system.
Related documentation: AI Object Matching: Installing a model, AI Object Matching: Using a newly trained model, LumiScan Training: Converting a model for a Hailo TPU, File Transfer: Sending a new model to the production system
trained model|trained models|neural network model|neural network models
Module
One self-contained, configured unit inside a program, with its own settings; a program can run several modules side by side.
In LumiScan: In a LumiScan app, a module is one instance with its own Data Layer address hdvisionsystems/<app>/<module>/: a camera in the Cam Driver, a neural network in AI Object Matching, a calibrated plane in Calibration, a search configuration in a finder. The Cam Driver, AI Object Matching and Calibration take their modules from module files; the finders create them at run time. The code readers have no modules. LumiScan VGR uses the word differently: there, modules are its cameras, pipelines and robots.
Related documentation: Creating, activating and removing modules, Naming modules, Cam Driver: Adding a camera module, Template Finder: Managing modules at run time
module|modules|Module|Modules
N
Neural network
A computing model that learns from examples to recognise patterns, for example which objects an image contains and where they are.
In LumiScan: AI Object Matching and LumiScan VGR use neural networks to detect objects. You prepare them with the AI tools: annotate images with LumiScan Annotation, train the network with LumiScan Training, and move images and networks between production system and training PC with File Transfer.
Related documentation: LumiScan Training: Training a network, LumiScan Training: Configuring classes and network type, LumiScan Annotation: Annotating training images, LumiScan VGR: Loading networks
Wikipedia: Neural network (machine learning)
neural network|neural networks|Neural network|Neural networks|Neural Network Models
Node
One named entry in a tree of data - a value, a folder or a callable method - reached by its address.
In LumiScan: Every function, input, output and status of a LumiScan app is a node of the Data Layer, for example hdvisionsystems/lumiscan-cam-driver/camera1/control/capture/execute. Addresses are lower case and the same on ctrlX OS and a PC. Through the OPC UA Connector, every node is an OPC UA node whose NodeId is its Data Layer address. Each manual lists its app’s nodes in its Data Layer Reference.
Related documentation: Finding the address of a node, Finding the nodes from your program, Looking at nodes with the Data Layer tools
Wikipedia: Node (computer science)
node|nodes|Node|Nodes
O
Object detection
Finding objects in sensor data and determining where they are. 2D object detection works on the camera image and gives, for example, a box per object; 3D object detection works on 3D data such as a point cloud and gives the position and orientation in space.
In LumiScan: In LumiScan VGR every object can have a 2D and a 3D detection; depending on the application, 2D detection, 3D detection or both are used. The 2D detection (detection2d) is a list of steps run in order on oriented bounding boxes - for example SET_NETWORK, which applies an object detection network and returns the objects with scores above its threshold, or SET_ROI, FEATURE_MATCHING, SCALE and ROTATE_ANGLE. The 3D detection (detection3d) computes the object pose from the point cloud with one object fit method: PLANE_FIT, RANSAC_PLANE_FIT, MIXED_PLANE_FIT, RANSAC_CYLINDER_FIT, LINE_FIT_LONG_AXIS, OBJECT_MATCHING or OBJECT_REFINEMENT (with a CAD model), or GRIP_FROM_ENVIRONMENT. Over OPC UA, ComputeObjects returns the number of 2D and 3D objects. In LumiScan VGR Engineering, an object detection element configures networks, objects and pipelines. AI Object Matching performs 2D object detection with a neural network on ctrlX OS or a PC.
Related documentation: LumiScan VGR: Configuring 2D and 3D object detection, VGR Engineering: Adding an object detection, LumiScan VGR: 2D detection steps, LumiScan VGR: 3D object fit methods
Wikipedia: Object detection
object detection|Object detection|object detections|2D detection|3D detection|2D object detection|3D object detection
OCR
Reading printed or marked text from an image and turning it into characters a computer can process.
In LumiScan: LumiScan Text Reader reads text such as part numbers, batch and date codes with the Tesseract OCR engine and its language models (.traineddata). Unlike a code, OCR always returns something: each word comes with a confidence, so restrict the permitted characters (input/characters/mode) and set a minimum score (input/min-score). For Data Matrix, QR, Aztec codes and barcodes, use the code readers instead.
Related documentation: Text Reader: Reading a part marking from a camera image, Text Reader: Reading text, Text Reader: Reading accurately, Text Reader: Adding language models
Wikipedia: Optical character recognition
OCR|Tesseract
ONNX
An open file format for trained neural networks, so that a network trained with one tool can be run by another.
In LumiScan: LumiScan Training exports trained networks as ONNX files. AI Object Matching loads the .onnx file named by pathToNetwork in its model JSON file. For a Hailo TPU, the Hailo PlugIn of LumiScan Training converts the ONNX model into a Hailo model (.hef).
Related documentation: LumiScan Training: Converting an ONNX model to Hailo, AI Object Matching: Pointing to the .onnx file, LumiScan Training: Setting the export folder
External reference: ONNX
Wikipedia: Open Neural Network Exchange
ONNX
OPC UA
A vendor-independent standard for industrial communication: a server offers variables and methods in an address space, and clients such as a PLC or SCADA system read, write, call and subscribe to them.
In LumiScan: On a PC, the OPC UA Connector makes the Data Layer of LumiScan Keryx available as an OPC UA server (opc.tcp://<pc>:4840). LumiScan VGR has its own OPC UA server (opc.tcp://<host>:4840, nodes under Objects/LumiScanVGR) as an alternative to PROFINET. Both accept anonymous, unencrypted connections only, so run them on a network you trust.
Related documentation: Connecting a PLC or SCADA system with the OPC UA Connector, LumiScan VGR: OPC UA client integration, Triggering a vision app from a PLC over OPC UA, Troubleshooting: OPC UA
External reference: OPC Foundation
Wikipedia: OPC Unified Architecture
OPC UA|OPC-UA
OPC UA Connector
A LumiScan program that presents the Data Layer on a PC as an OPC UA server, so that PLCs and SCADA systems can use the LumiScan apps.
In LumiScan: The LumiScan OPC UA Connector (lumiscan_opcua_connector) shows the tree of LumiScan Keryx at opc.tcp://<pc>:4840; the NodeId of each node is its Data Layer address in the namespace urn:hdvisionsystems:datalayer, and an execute node is an OPC UA method. Start it after the apps - it never starts a broker. It has no security: open TCP 4840 only for the PLC’s address. It works with LumiScan Keryx on a PC; on ctrlX OS, the ctrlX PLC on the same device calls the nodes directly.
Related documentation: Starting the OPC UA Connector, Calling functions over OPC UA, Securing the connector, Troubleshooting: OPC UA
OPC UA Connector|LumiScan OPC UA Connector
Oriented bounding box
A bounding box that may be rotated to follow the orientation of the object, described by its centre, width, height and angle.
In LumiScan: In LumiScan Annotation and in the manual mode of LumiScan VGR you draw oriented bounding boxes in three clicks and rotate them by dragging a corner. AI Object Matching reports each detected object with an oriented bounding box (oriented_bounding_box: centre, size, angle), and Template Finder reports every match as one.
Related documentation: LumiScan Annotation: Drawing and rotating boxes, LumiScan VGR: Drawing boxes in manual mode, AI Object Matching: Reading the box of a detected object, Template Finder: Reading the match box
Wikipedia: Minimum bounding box
oriented bounding box|oriented bounding boxes|Oriented bounding boxes|Oriented bounding box|oriented box
P
Parallax
The apparent displacement of an object when it is observed from different viewpoints; near objects are displaced more than distant ones.
In LumiScan: Because the 13 cameras of the LumiScan X are physically separated, every scene point appears with parallax between the camera images. Measured as disparity between corresponding image points, this parallax is the geometric information from which the depth map and the point cloud are computed.
Related documentation: LumiScan X: From light fields to 3D reconstruction, LumiScan X: Camera arrangement
Wikipedia: Parallax
parallax|Parallax
Pipeline
A fixed sequence of processing steps through which data passes, one after the other.
In LumiScan: In LumiScan VGR, a pipeline defines how image and point cloud data are processed to find object poses and grip points: point cloud processing steps (filters such as ROR and SOR), a region of interest and the objects to detect. A project can have several pipelines; together with the active camera and robot, the active pipeline selected by the PLC (or through OPC UA with SetActivePipeline) defines how a grip is performed.
Related documentation: LumiScan VGR: Configuring pipelines, LumiScan VGR: Pipeline settings reference, LumiScan VGR: Selecting the active pipeline
Wikipedia: Pipeline (computing)
pipeline|pipelines|Pipeline|Pipelines
Pixel format
How the value of each pixel is stored: grey or colour, the order of the colour channels and the number of bits, for example Mono8 or RGB8.
In LumiScan: The LumiScan X delivers Mono8 (6 fps) or Mono12 (3 fps, more accurate). The image node of the Cam Driver carries the pixel format in pixel-type. The finders and code readers accept Mono, RGB, BGR and Bayer formats with 8 or 12 bits; AI Object Matching takes Mono8 or RGB8. The label image of Area Detector is Mono16.
Related documentation: LumiScan Viewer: Choosing Mono8 or Mono12, Finders: Supported pixel formats, AI Object Matching: Supported image formats
Wikipedia: Color depth
pixel format|pixel formats|Pixel format|Pixel Format|pixel type
PLC
The industrial computer that controls a machine or cell: it runs the control program, reads sensors and drives actuators.
In LumiScan: A PLC triggers the LumiScan apps and reads their results. On ctrlX OS, the ctrlX PLC calls the app nodes directly on the same device; on a PC, any PLC with an OPC UA client connects through the OPC UA Connector. LumiScan VGR exchanges signals with its PLC over PROFINET or OPC UA. Build PLC logic on plain nodes, not on FlatBuffers values.
Related documentation: Triggering a vision app from your PLC, Choosing how the PLC connects, LumiScan VGR: PLC settings and process flow, Connecting a PLC over OPC UA
External reference: IEC - International Electrotechnical Commission (IEC 61131)
Wikipedia: Programmable logic controller
PLC|PLCs
Plenoptic function
A function that describes all the light in a scene: its radiance at every position, in every direction, for every wavelength and at every time.
In LumiScan: The plenoptic function P(x, y, z, θ, φ, λ, t) is the theoretical basis of light field imaging. For one moment, a defined spectral range and light travelling in straight lines through free space, it reduces to the four-dimensional light field L(u, v, s, t), which the LumiScan X samples with its 13 cameras.
Related documentation: LumiScan X: The plenoptic function, LumiScan X: The four-dimensional light field
Wikipedia: Light field
plenoptic function|Plenoptic function
PoE
Power supply over the Ethernet cable, so that a device such as a camera needs no separate power cable.
In LumiScan: The LumiScan X can be powered with PoE (IEEE 802.3af) from a PoE port of the computer or a PoE injector instead of 24 V DC. The 2D cameras of the Cam Driver are powered by PoE or an external supply.
Related documentation: LumiScan X: Connecting the camera with PoE, First image: Powering the camera
External reference: IEEE Standards Association (IEEE 802.3)
Wikipedia: Power over Ethernet
PoE|Power over Ethernet|PoE injector
Point cloud
A set of points in 3D space, each with X, Y and Z coordinates, that describes the surface of the captured scene.
In LumiScan: The LumiScan X delivers a point cloud of the scene. In the LumiScan Viewer you view it in the Point Cloud tab, clean it with the confidence threshold, box and ROR filters, and export it as .ply or .pcd; the coordinate system has the camera at its origin and the unit metre. LumiScan VGR uses the point cloud to calculate the 6-DoF pose of each object.
Related documentation: LumiScan Viewer: Viewing the point cloud, LumiScan X: How depth maps and point clouds are computed, LumiScan Viewer: Filtering the point cloud, LumiScan Viewer: Exporting .ply and .pcd files, LumiScan VGR: Recording and filtering point clouds
Wikipedia: Point cloud
point cloud|point clouds|Point cloud|Point Cloud|Point clouds
Pose
The position and orientation of an object in space; a 6-DoF pose has three values for the position and three for the rotation.
In LumiScan: In its workflow, LumiScan VGR calculates the 6-DoF pose of every detected object using the point cloud (after detecting the objects in the image) and returns grip poses as seven numbers - three for the translation and up to four for the rotation, whose convention depends on the robot configuration (OUT_PoseMoveInRobot over PROFINET, GripPointPose over OPC UA). AI Object Matching reports position and orientation in pixel coordinates of the image.
Related documentation: LumiScan VGR: Reading the grip pose over PROFINET, LumiScan VGR: Reading GripPointPose over OPC UA, LumiScan VGR: From image to 6-DoF pose
Wikipedia: Pose (computer vision), Six degrees of freedom
pose|poses|Pose|6-DoF pose
PROFINET
An Ethernet-based fieldbus standard over which a PLC exchanges input and output data with field devices in a fixed cycle.
In LumiScan: LumiScan VGR talks to the PLC over PROFINET: the PLC writes IN_* signals, LumiScan VGR answers with OUT_* signals, organised in slots, and each function follows a Ready/Request/Running handshake. In admin mode, the PROFINET tab shows the exchanged data. The troubleshooting of LumiScan Hand-Eye Calibration refers to a Hilscher cifX card (card name usually cifx0;0). For the other LumiScan apps the manuals describe the ctrlX PLC on the same device and OPC UA instead.
Related documentation: LumiScan VGR: PLC process flow and return values, LumiScan VGR: PROFINET interface reference, LumiScan VGR: Simulating the PLC (--simulate-sps), When LumiScan VGR does not react to the PLC
External reference: PROFIBUS & PROFINET International
Wikipedia: PROFINET
PROFINET|Profinet
Q
QR code
A square 2D code with a finder pattern in three corners; it can hold a long text such as a URL or a serial number.
In LumiScan: LumiScan QR Code Reader finds every QR code in an image and reports its text, centre, outline and score. It needs no template and no configuration; Cockpit draws the codes in the view qr-code.
Related documentation: QR Code Reader: Reading a code, QR Code Reader: Reading the result, QR Code Reader: Reading codes on an image stream
Wikipedia: QR code
QR code|QR codes|QR
R
REST API
A web interface through which a program reads and changes data with ordinary HTTP requests.
In LumiScan: On ctrlX OS, the Data Layer can also be reached through the ctrlX REST API. The manuals note two differences: a FlatBuffers result arrives there as JSON with its numbers quoted as strings, and a refused write answers with a bare HTTP status code (400).
Related documentation: DMC Reader: Reading a result over the ctrlX REST API, Template Finder: Calling a method (answer over REST)
Wikipedia: REST
REST API|REST|REST client
Robot base
The fixed foot of a robot; its coordinate system is the reference in which robot positions are usually given.
In LumiScan: LumiScan VGR returns grip poses in robot coordinates; its settings name the robot base coordinate system (ROBOT) as a reference frame. The hand-eye calibration places the robot relative to the camera; the robot settings also define which direction is "up" in the robot base coordinate system, used to find the topmost objects.
Related documentation: LumiScan VGR: Robot settings, LumiScan VGR: Setting the base frame
robot base|robot coordinates|robot coordinate system
ROI
The part of an image that is processed; everything outside it is ignored, which makes processing faster and avoids false results.
In LumiScan: In LumiScan VGR the ROI is the purple rectangle in which the network searches, defined per pipeline; LumiScan Annotation sets it for training. Template Finder, Object Finder, Area Detector and Text Reader take a region to search in input/crop (status -5 if it does not fit the image). The code readers have no ROI and always search the whole image. Cockpit can draw a fixed ROI as an overlay.
Related documentation: Template Finder: Restricting the search region (crop), Text Reader: Cropping to the text, LumiScan Annotation: Setting the ROI for training, LumiScan VGR: Setting the image ROI of a pipeline
Wikipedia: Region of interest
ROI|ROIs|region of interest|Region of interest|regions of interest
ROR
A point cloud filter that removes every point with too few neighbouring points within a given radius, so that isolated outliers disappear.
In LumiScan: The LumiScan Viewer offers it as ROR Filter with Minimum number of neighbors and Radius (in metres). In LumiScan VGR, a pipeline applies it with radiusOutlierRemoval (radius default 0.01, minNeighbors default 10), as the second filter in the order box filters → ROR → downsampling → RemoveNaN → SOR; the recording settings list it among their point cloud filters as well.
Related documentation: LumiScan Viewer: Setting the ROR filter, LumiScan VGR: ROR in a pipeline, LumiScan VGR: ROR parameters
Wikipedia: Outlier
ROR|ROR filter|ROR Filter|radius outlier removal|Radius Outlier Removal
Runner and Trainer
The two roles of LumiScan File Transfer: the Runner on the production system and the Trainer on the training workstation.
In LumiScan: The Runner sends annotated images from the production system to the Trainer and receives trained networks back; the Trainer stores the images for training and sends new networks to the Runner. Each role has its own folder structure and network settings (port, destination IP, destination port); the roles can be switched in the settings file.
Related documentation: File Transfer: Creating the folder structure, File Transfer: Setting up and starting the Runner, File Transfer: Setting up and starting the Trainer, File Transfer: Switching roles
Runner|Trainer|LumiScan File Transfer|File Transfer
S
SCADA
Software for monitoring and operating plants from a control room: it collects data from PLCs and devices and shows them to the operators.
In LumiScan: A SCADA system with OPC UA reaches the LumiScan apps on a PC through the OPC UA Connector. For a client that only observes, run a second, read-only connector instance on its own port.
Related documentation: Connecting a SCADA system with the OPC UA Connector, Running a read-only connector for observing clients
Wikipedia: SCADA
SCADA
SDK
A package of libraries, tools and documentation for developing software for a particular platform or device.
In LumiScan: The LumiScan apps have no SDK of their own: every function is a Data Layer node, so any client that can read, write and call Data Layer or OPC UA nodes can use them. A program that runs on a ctrlX device is built like any ctrlX app, for example with the ctrlX AUTOMATION SDK.
Related documentation: Choosing the interface for your program
Wikipedia: Software development kit
SDK|SDKs|ctrlX AUTOMATION SDK
Settings file
A file that stores how a program is configured, so that the configuration is kept and can be copied.
In LumiScan: Each LumiScan app has an application settings file that lists its module files, for example lumiscan-cam-driver.json with camera1.json. On ctrlX OS you edit them under Manage app data or upload them with WebDAV; on Windows they are in C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\<program>\etc\<settings folder>, and --generate-settings writes an example. The Cam Driver, AI Object Matching and Calibration also show and accept their settings on system/settings (a restart is then required).
Related documentation: Changing settings files and restarting, Where the settings files are on Windows, Cam Driver: Creating camera settings files, Cam Driver: Uploading settings files
Wikipedia: Configuration file
settings file|settings files|Settings file|module file|module files|application settings file
SOR
A point cloud filter that compares each point’s mean distance to its nearest neighbours with that of all points and removes the points that lie too far away from the rest.
In LumiScan: In LumiScan VGR, enableSOR in the pipeline settings switches on the statistical outlier removal filter for the recorded point cloud (off by default). It removes outliers for a better grip computation but increases the processing time. sorMeanK sets the number of neighbours considered (default 5), sorStddevMulThresh the threshold from which a point counts as an outlier (default 0.2). SOR is the last filter in the order box filters → ROR → downsampling → RemoveNaN → SOR.
Related documentation: LumiScan VGR: Switching on SOR (enableSOR), LumiScan VGR: Pipeline settings
Wikipedia: Outlier
SOR|statistical outlier removal|Statistical outlier removal|statistic outlier removal
Static IP address
A network address that is set permanently on a device instead of being assigned automatically by a DHCP server.
In LumiScan: For the LumiScan X, a static IP address is strongly recommended over DHCP; set it in the LumiScan Viewer under Menu → IP Configuration, in the same subnet as the network adapter but not the same address. A 2D camera must be in the same local network as the ctrlX CORE or the PC; the Cam Driver can set its address with the system/force-ip handshake.
Related documentation: LumiScan Viewer: Setting a static IP address, Cam Driver: Setting the camera IP address, Cam Driver: Forcing an IP address
Wikipedia: IP address
static IP address|static IP|Static IP|subnet|DHCP
Status code
A number with which a program reports the state of an operation, for example ready, running or a specific error.
In LumiScan: The Cam Driver, AI Object Matching and Calibration report the state of each module on control/status/code (0 ready, 2 running, 3 waitingForClient, negative values are errors). The finders write the outcome of each method to <method>/output/status-code with their own values (1 ok, negative values are errors). A method call also has a result of its own (for example Ok, DL_OK or Good). LumiScan VGR reports return codes such as SUCCESS and RESULTS_EMPTY. Use the numbers, never the texts, in program logic.
Related documentation: Reading status codes and method results, Data Layer: Troubleshooting, Template Finder: Execution status, LumiScan VGR: Return values
status code|status codes|Status code|Status codes|return code|return codes|return value|return values
Stereo vision
Computing depth from two images of the same scene, taken by two cameras at a known distance from each other, by measuring the disparity of corresponding points.
In LumiScan: The LumiScan X is not a stereo camera but a light field camera with 13 cameras: it extends the stereo principle to many viewpoints and baselines. Evaluating correspondences across several images instead of two adds geometric constraints, can make the depth reconstruction more robust, and lets a surface that is hidden from one camera be seen by another.
Related documentation: LumiScan X: From stereo to many viewpoints, LumiScan X: Camera arrays
Wikipedia: Computer stereo vision
stereo vision|Stereo vision|stereo camera|stereo cameras
Stream
A continuous flow of data: the source pushes every new item, for example each camera image, and the receiver processes it as it arrives, without a request per item.
In LumiScan: In the LumiScan apps, streams are experimental: the Cam Driver publishes every frame, and AI Object Matching, the finders and code readers subscribe to it; Calibration can subscribe to points or to another app’s result. Each consumer has one source and is started with control/subscribe/execute. A stream is faster than one execute call per image. In the LumiScan Viewer, the trigger mode Stream (trigger off) means the LumiScan X captures continuously.
Related documentation: Starting and stopping a stream, Cam Driver: Streaming images, Template Finder: Searching every image of a stream, Troubleshooting: A stream delivers nothing
Wikipedia: Stream (computing)
stream|streams|Stream|Streams|image stream|image streams
T
Template matching
Finding a known object in an image by comparing it with a small reference picture of the object, the template.
In LumiScan: LumiScan Template Finder compares brightness and searches a range of scales and rotations; it reports an oriented box, a confidence, the scale and the rotation. LumiScan Object Finder compares the outline (shape) of the object, which is more robust to lighting, but needs one template per orientation or working distance. Both cut their templates from a live camera image.
Related documentation: Template Finder: Matching a part from a camera image, Object Finder: Finding a part from a camera image, Template Finder: Creating a template, Object Finder: Teaching an object
Wikipedia: Template matching
template matching|Template matching|Template Matching|template|templates
Thresholding
Dividing an image into foreground and background by comparing each pixel’s brightness with a limit, the threshold.
In LumiScan: LumiScan Area Detector thresholds the image once at a level you set (method FIXED) and measures every connected region by counting its pixels. Analysing a Scene measures the image, suggests a level and publishes the grey-level histogram.
Related documentation: Area Detector: Finding the threshold level, Area Detector: Measuring part area from a camera image, Area Detector: Tuning the detection
Wikipedia: Thresholding (image processing)
thresholding|thresholded
Tool center point
The reference point of the tool on a robot, for example the point between the gripper fingers; robot motions are planned for this point.
In LumiScan: In LumiScan VGR the TCP is a link in the robot description (tcpFrame in the URDF). Over PROFINET, OUT_PoseObjectInTcp gives the pose of the object in TCP coordinates.
Related documentation: LumiScan VGR: Setting the TCP frame, LumiScan VGR: Object pose in TCP coordinates (PROFINET)
tool center point|Tool center point|TCP coordinates
TooManyOperations
The answer "busy": the operation was refused because another operation is still running.
In LumiScan: A module of a LumiScan app runs one operation at a time. A method called while another operation of the same module runs - an execute, a handshake or, in the finders, a stream frame - is refused as busy: TooManyOperations on LumiScan Keryx, DL_TOO_MANY_OPERATIONS on the ctrlX Data Layer, BadTooManyOperations over OPC UA. Nothing is queued; retry once the running operation has finished.
Related documentation: Troubleshooting: A call is refused, One operation at a time: retrying, Results of a method call
TooManyOperations|DL_TOO_MANY_OPERATIONS|BadTooManyOperations
TPU
A processor built to run neural networks quickly and with little power; in this documentation, the Hailo AI accelerator.
In LumiScan: AI Object Matching can run its inference on a Hailo TPU of a ctrlX CORE X3 (app version 1.2 or later) or X7 (1.1 or later) with Hardware Support 2.6.2; set provider to HAILO. The TPU is optional. LumiScan Training converts an ONNX model into a Hailo model (.hef) with the optional Hailo PlugIn.
Related documentation: AI Object Matching: Using a Hailo TPU on ctrlX OS, LumiScan Training: Converting a model for the Hailo TPU, LumiScan Training: Installing the Hailo PlugIn
Wikipedia: AI accelerator
TPU|TPUs|Hailo|HAILO|Hailo PlugIn
Training
Teaching a neural network with annotated example images until it recognises the objects reliably.
In LumiScan: LumiScan Training trains networks from scratch or continues training an existing one. A JSON configuration defines training and validation data, classes, network type and training profile; the result is exported as ONNX. It needs Windows 11 Pro or Enterprise and an NVIDIA RTX graphics card. Training data comes from LumiScan Annotation or from the manual mode of LumiScan VGR.
Related documentation: LumiScan Training: Starting training and testing, LumiScan Training: Writing the training configuration, LumiScan Training: Installing the software, LumiScan Training: Sharing a training backend
Wikipedia: Training, validation, and test data sets
training|Training|training data
Trigger
The signal that tells a camera to take an image: a hardware trigger is an electrical pulse on an input of the camera, a software trigger is a command sent over the network.
In LumiScan: The LumiScan X can be triggered by hardware (Trigger IN, minimum 5 V, optimum 24 V), by software, or capture continuously; its Trigger OUT can fire a flash such as the LumiScan SL. The Cam Driver never triggers a camera by itself: control/trigger/execute sends a software trigger only while the camera is in software trigger mode (TriggerMode On, TriggerSource Software); otherwise the camera is triggered by hardware or runs freely.
Related documentation: Cam Driver: Sending a software trigger, Cam Driver: Choosing the trigger mode, LumiScan Viewer: Trigger settings, LumiScan X: Wiring the trigger input
hardware trigger|Hardware trigger|Hardware Trigger|software trigger|Software trigger|Software Trigger|trigger mode|trigger signal|trigger signals|trigger input
U
URDF
An XML file format that describes a robot: its links, joints and their geometry.
In LumiScan: Every robot configuration of LumiScan VGR references a robot description file in .urdf format, which names, among others, the move frame and the TCP frame. Robots and grippers can additionally be shown with CAD models in .stl format. In LumiScan VGR Engineering, the robot description belongs to the robot element.
Related documentation: LumiScan VGR: Setting the robot description file, VGR Engineering: Configuring a robot
URDF|robot description|robot description file
V
Vision-guided robotics
Robot applications in which a camera tells the robot where the parts are, so that it can pick or place parts whose position is not fixed.
In LumiScan: LumiScan VGR is the 3D vision-guided robotics software of HD Vision Systems for bin picking and automated assembly; LumiScan VGR Engineering configures it. For 2D applications, the results of a finder or AI Object Matching can be converted into 3D coordinates with LumiScan Calibration.
Related documentation: VGR Engineering: Building a first configuration, LumiScan VGR: How it works, What to install for robot picking
vision-guided robotics|Vision-guided robotics|vision guided robotics
W
Waypoint
A named pose that a robot moves to or through, for example a position above a part before it grips.
In LumiScan: Each robot configuration of LumiScan VGR defines its waypoints (waypoints in the robot settings): WP_GRIP_POINT is the grip point of each object, WP_ABSOLUTE a fixed pose in the robot coordinate system, WP_RELATIVE a pose relative to other waypoints (for example the grip point), applied in robot coordinates (LEFT) or in object coordinates (RIGHT), and WP_CLONE a copy of another waypoint. Path segments define the motion from the current pose to a destination waypoint - linear in state space (the other segment types are not implemented) - with a collision check per segment (on by default) and an optional sendActionId that is transmitted to the PLC when the waypoint is returned.
Related documentation: LumiScan VGR: Defining waypoints and path segments, LumiScan VGR: Waypoint types, LumiScan VGR: Path segment settings
Wikipedia: Motion planning
waypoint|waypoints|Waypoint|Waypoints|path segment|path segments
WebDAV
An extension of HTTP for uploading, downloading and managing files on a server over the network.
In LumiScan: On ctrlX OS, settings files, models and calibration files are usually uploaded through the ctrlX web interface; where that is not possible, use WebDAV, for example with WinSCP (WebDAV, TLS/SSL, path /solutions/webdav/appdata). The model files of AI Object Matching must be uploaded with WebDAV.
Related documentation: Uploading files with WebDAV (WinSCP), Calibration: Uploading the TIFF file to ctrlX OS
External reference: IETF RFC 4918
Wikipedia: WebDAV
WebDAV
Working distance
The distance between the camera and the object it observes.
In LumiScan: The LumiScan X works at distances of 250 to 3000 mm; each standard configuration has its own focus, calibration range and field of view at the minimum and maximum working distance. A calibration file that does not match the current measurement distance gives a poor point cloud. Template Finder and Object Finder templates are cut at the real working distance; Object Finder needs one template per working distance it should recognise.
Related documentation: LumiScan X: Choosing a configuration by working distance
working distance|working distances|Working distance|measurement distance|measuring distance