1-day shipping on stock items3-year warranty minimumFree expert support from licensed P.E.sVolume discountsNet 30 for businesses
Configure a systemQuote

System designExplainer

Barcode verification before picking with multiple robots

Design barcode verification before picking with item IDs, encoder tracking, scan deadlines and robot handshakes that reject stale or ambiguous results.

LumaSpec Vision Applications Team11 min readShare on LinkedIn

On this page 11 sections
  1. 01Make verification an item-specific decision
  2. 02Define the identity and message contract first
  3. 03Track position using conveyor travel
  4. 04Associate the scan with one physical item
  5. 05Calculate the deadline from the available travel
  6. 06Use a state machine instead of independent bits
  7. 07Bind authorization to the assigned robot
  8. 08Define no-read, mismatch and communication failures separately
  9. 09Check the integration before ordering
  10. 10Commission with deliberate transaction faults
  11. 11Questions

A downstream barcode reader can confirm an item detected upstream, but only if the control system preserves that item's identity between stations. A successful decode alone does not establish which tracked object was read or which robot may pick it. For conveyor integrators, the practical task is to build a transaction connecting detection, reader trigger, verification and robot assignment. This approach lets you reject late, duplicated or ambiguous results before they authorize the wrong pick.

Make verification an item-specific decision

Use a separate verification transaction for each physical item. Do not connect a reader's general good-read output directly to a shared pick-enable signal. That signal can remain active while another item enters the station, or arrive after the robot assignment changes.

The decision should require all of these conditions:

  • The tracked item still exists and its position estimate remains valid.
  • The barcode result belongs to that item's scan transaction.
  • The decoded identity matches the permitted product or order rule.
  • The result arrived before the transaction deadline.
  • The current robot assignment matches the pick request.
  • The authorization has not expired or already been consumed.

Treat this as a process permissive, not a safety-rated function. Guarding, emergency stops and other protective functions need an independent, appropriately designed safety system. Barcode acceptance must never override them.

This article addresses identity and authorization before motion. The separate guide to visual servoing loop design covers the different problem of correcting motion from vision feedback.

Define the identity and message contract first

Create an internal item ID when the upstream detection becomes an accepted track. Keep that ID separate from the barcode payload: two physical packages can carry the same product code.

A useful transaction record contains:

Field Purpose
Run epoch and item ID Distinguish tracks across restarts and counter reuse
Detection encoder count Anchor the original position to conveyor travel
Expected identity rule Define what constitutes an acceptable barcode
Assigned robot and assignment revision Identify the current owner of the pick
Reader ID and trigger sequence Associate a reader result with its request
Verification state and deadline Prevent pending or expired records from authorizing picks
Pick token and acknowledgement state Prevent repeated consumption of an authorization

The expected identity might be a product identifier from the production order or a unique serial identifier from a trusted upstream record. State that rule explicitly. A decoder reporting valid syntax is not equivalent to confirming the required identity.

Use the reader's documented result-correlation mechanism where available. If it cannot return a transaction identifier, the integration needs another unambiguous method, such as one outstanding trigger per reader with bounded result timing. Confirm that behavior before choosing hardware.

Track position using conveyor travel

For a straight conveyor with a suitable encoder reference, estimate position from encoder displacement rather than elapsed time alone. A basic model is:

x_now = x_detection + (E_now - E_detection) × k x: conveyor position, mm E: signed encoder count k: conveyor travel per encoder count, mm/count

For example, a displacement of 2,400 counts at 0.1 mm/count represents 240 mm of conveyor travel. Add that displacement to the original detection position to predict arrival at the reader.

This model assumes the object follows the measured conveyor motion. Belt slip, rolling packages, transfers and accumulation can break that assumption. Establish an error allowance through measurements at the actual scan station, including the most difficult packaging and speed changes.

An upstream MV-DPS200P-02 is a projected structured-light 3D camera candidate. Confirm its detection output, coordinate conventions and acquisition timing before designing the tracking interface.

3D sensorsHikrobot MV-DPS200P-02 Projected structured-light 3D cameraMV-DPS200P-02
Type
Stereo / structured light
$8,829.00 · quotedView and quote

Browse 3D sensors for the sensing role, but do not assume that a sensor-generated object label remains stable across frames. The tracking layer must define how repeated detections become one item record.

Associate the scan with one physical item

At each reader, predict when the tracked item enters a validated reading zone. Open a scan transaction for that item, record the trigger sequence, and accept results only within that transaction's bounds.

The reading zone must make physical association credible. A reader can decode a perfectly valid label on a neighboring package. A trigger sequence proves which acquisition produced the result; it does not, by itself, prove which package supplied the barcode.

Use controlled presentation, restricted field of view or documented position-resolved decoding when nearby labels could appear together. If two tracked items could plausibly produce the result, mark the association ambiguous rather than selecting the nearest prediction without validation.

The LS-RS100-12 is an Ethernet fixed code reader candidate. Check its documented trigger handling, result framing and correlation capabilities against the transaction requirements.

Fixed code readersDual aviation plug RS series fixed industrial barcode reader, 1.2 MP, focal length 12 mm (LS-RS100-12)LS-RS100-12
Resolution
Up to 3 MP
Shutter
Global
Interface
Ethernet
$559.00View part

The fixed code readers category and camera and reader finder help shortlist hardware. Interface compatibility is only the first filter; result association and bounded behavior determine whether the integration works.

For the software receiving side, see barcode scanner data capture in an application. Message framing and application-level acceptance still matter after a reader decodes successfully.

Calculate the deadline from the available travel

The result must be verified early enough for the assigned robot to accept or reject the transaction before its last valid pick-entry boundary. Calculate that boundary from the actual cell geometry and documented robot interface behavior.

At constant conveyor speed, a first timing estimate is:

t_available = d_remaining / v t_required = t_read + t_transport + t_validation + t_handshake + t_margin Accept only if t_required < t_available

Suppose the scan reference is 400 mm upstream of the last pick-entry boundary, and conveyor speed is 500 mm/s:

t_available = 400 mm / 500 mm/s = 0.8 s = 800 ms t_required = 60 ms + 20 ms + 10 ms + 30 ms + 80 ms = 200 ms Timing headroom = 800 ms - 200 ms = 600 ms

These are application assumptions, not specifications for any listed product. Replace them with validated upper bounds, including reader retries, message queues and controller scheduling delays. Average latency is insufficient for a deadline decision.

With acceleration or changing speed, use a conservative earliest-arrival prediction instead of the constant-speed estimate. Include position uncertainty in the boundary calculation. If the operating conditions exceed the validated envelope, withhold the permissive.

The guide to camera triggering with external pulses helps distinguish trigger arrival from completed acquisition. Add decoding, transport and handshake time separately.

Use a state machine instead of independent bits

Keep one authoritative transaction state, with explicit transitions. Several unrelated Boolean flags can accidentally describe an impossible combination, such as verified and expired at the same time.

State Entry condition Permitted next action
Tracked Detection accepted and tracking valid Reserve an eligible robot
Reserved Robot ownership recorded Open the matching scan transaction
Scan pending Trigger issued for this item Accept a matching result or time out
Verified Correct identity received before deadline Prepare an item-specific pick authorization
Authorized Current ownership and validity rechecked Accept a matching pick acknowledgement
Consumed Pick authorization accepted once Reject repeated authorization requests
Rejected or expired Any required condition failed Follow the defined exception route

A transaction can also require cancellation when tracking becomes invalid or ownership changes. Define those transitions before writing the normal sequence.

Perform the final validity checks atomically in the coordinator: item ID, run epoch, assignment revision, state, deadline and token-consumption status must agree at the decision point. If separate tasks update those values independently, use synchronization that prevents a mixed snapshot.

Retain rejected messages in the diagnostic log, but do not let them modify an active record with a different transaction key.

Bind authorization to the assigned robot

For multiple robots, reservation and verification must refer to the same assignment revision. A shared verified queue without ownership control can let two robots claim the same object.

An authorization should identify the item, run epoch, assigned robot, assignment revision, validity limit and unique pick token. The robot interface must check the fields it receives and return an acknowledgement identifying the same transaction. Establish these semantics through the supported robot-controller interface; do not assume a generic input bit carries them.

If ownership changes, cancel the old authorization and advance the assignment revision. A delayed acknowledgement from the previous robot must not complete the new assignment. Reuse a previous identity observation only when the design explicitly permits it and the physical track remains unambiguous.

The MV-SVC2506-16G60-128G is a vision controller candidate. Confirm that the selected software and communication interfaces support the required coordination logic.

Vision controllersHikrobot MV-SVC2506-16G60-128G 4 camera GigE ports, 1 configuration GigE port, 1 communication GigE port, 6100pro encryption supportedMV-SVC2506-16G60-128G
LAN ports
5+ LAN ports
USB 3 ports
2 USB 3 ports
Light outputs
4 built-in channels
Memory
16 GB
Price on requestView and quoteBuild a system with it

Compare vision controllers by the complete integration requirements, not simply their available camera connections. Also define recovery for an acknowledgement lost after a request was accepted: a retry must not create a second physical pick request.

Define no-read, mismatch and communication failures separately

A no-read means the reader did not provide an acceptable decode for the transaction. A mismatch means it decoded an identity that the acceptance rule rejects. An ambiguous association means the payload cannot be confidently attached to the tracked item. These are different diagnostic outcomes, even when all inhibit picking.

Choose a defined response for each outcome: allow the item to pass unpicked, route it to an independently validated reject path, or request a controlled production stop. The correct response depends on cell mechanics and the production requirements. Do not substitute a previously accepted barcode or a general good-read latch.

Bound retries by both count and remaining travel. Every retry must remain tied to the original item and must leave sufficient time for the final decision. If the remaining window is too short, expire the transaction rather than extending its deadline.

A reader disconnection should close affected pending scans. Encoder discontinuity or lost tracking may require invalidating all affected items. After a controller restart, create a new run epoch and prevent buffered results from the previous run from being accepted.

For tightly controlled production, barcode matching is one process control, not evidence by itself that the complete application meets traceability or regulatory requirements.

Check the integration before ordering

Select the sensor, reader and coordinator around a written message contract. Ask for documented answers to these questions:

  • Does the sensor provide enough timing and coordinate information to establish conveyor tracks?
  • Can the reader associate results with triggers, and how does it report no-read or multiple-code conditions?
  • Are result buffering, reconnection behavior and message delimiters documented?
  • Can the coordinator maintain item ownership and transactional state under concurrent events?
  • Does the robot interface support item-specific acceptance, cancellation and acknowledgement?

The LS-R172-S1 is a USB-interface reader candidate. Its interface alone does not establish whether the required transaction information is available.

Fixed code readersCompact R series fixed industrial barcode reader, 1.2 MP, USB 2.0, focal length Short 60~120 (LS-R172-S1)LS-R172-S1
Resolution
Up to 3 MP
Shutter
Global
Interface
USB
$559.00View part

A keyboard-style data stream may be convenient for manual entry but insufficient for unattended multi-item coordination. Confirm the documented operating mode and receiving-software behavior rather than inferring capabilities from the connector.

The usual upstream-detection, downstream-reading arrangement is wrong when objects can exchange order, leave the tracked belt, or accumulate without individual tracking. In those cases, move identification earlier, add a re-identification station, or change the mechanical presentation. Software cannot recover certainty from an observation that never distinguished the objects.

Commission with deliberate transaction faults

Test the identity chain independently from the final pick, using the documented commissioning mode and approved safety procedures. Start with a simulated robot acceptance endpoint where practical, then validate the complete sequence under the cell's commissioning plan.

Use this checklist to challenge the design:

  • Send the same reader result twice. Only the first valid result may affect the transaction.
  • Delay a correct result beyond its deadline. It must remain rejected.
  • Place identical product codes on adjacent packages. Internal item IDs must remain distinct.
  • Present two readable labels together. An uncertain association must not authorize either item.
  • Reassign an item while a scan or acknowledgement is pending. The old assignment must lose authority.
  • Disconnect and reconnect the reader with buffered messages present. Previous transactions must not revive.
  • Stop, accelerate and reverse the conveyor where those operating modes are permitted. Position tracking must remain valid or explicitly invalidate affected items.
  • Restart the coordinator with pending work. Old epochs and authorizations must be rejected.
  • Drop a pick acknowledgement and retry the message. The transaction must not be consumed twice.

Log the item key, encoder reference, trigger sequence, decoded payload, state transitions, assignment revision and rejection reason. Use coordinator-side monotonic timing for local deadlines; compare timestamps across devices only when synchronization and its error bounds are established.

Repeat these tests after relevant software changes using the software upgrade validation checklist. Record the permitted operating envelope, including speed, spacing and tracking uncertainty.

Before selecting parts, send the station layout, timing budget and message contract through applications support. The next step is to confirm that each interface supports the transaction—not merely that each device can detect, decode or move an item independently.

Questions

Can a barcode reader's good-read output directly enable picking?

A general good-read signal is insufficient when several items or robots share the process. It does not identify the physical package, current robot assignment or result age. Use an item-specific transaction that checks identity, ownership and timing before issuing a single-use process authorization.

How do you distinguish packages carrying the same barcode?

Maintain a separate internal tracking ID for every physical package. The barcode may identify a product type rather than a unique instance. Associate the observation through a validated reading zone, trigger correlation and conveyor tracking; reject the result if neighboring packages remain plausible sources.

What should happen when a correct barcode arrives after the deadline?

Reject the result for authorization and retain it only for diagnostics. Do not transfer it to another waiting item or extend the deadline after the fact. The affected package should follow the predefined no-pick, reject or controlled-stop procedure appropriate to the cell.

Can a verified item be reassigned to another robot?

Potentially, but reassignment must cancel the earlier authorization and create a new assignment revision. The original identity observation can remain usable only if tracking stayed unambiguous and the application permits reuse. The receiving robot still needs its own current, item-specific authorization.

Is the barcode pick permissive a machine safety function?

No. Barcode verification is a process control for identity and routing. Protective functions require their own appropriately designed and validated safety system. A verified identity must never override guarding, emergency stops or other safety-related conditions governing robot operation.