Using it with an AGV

What a UID is, and why it is usually enough

Every RFID tag carries a UID: 8 bytes, unique worldwide, burned in at the factory. It cannot be changed and never repeats.

E0 04 01 50 3F 1A 2B 7C

Tip

Most systems only need the UID — you never have to write to a tag.

The simplest and most robust approach is a lookup table in the AGV software:

E0040150 3F1A2B7C  ->  Loading point A
E0040150 8842C19D  ->  Junction 1
E0040150 AA31D40E  ->  Charging dock

Why this wins — if a tag is damaged, fit a new one and edit one line. No writing to tags, and no way to overwrite the wrong one.

When writing to tags does make sense — when several robots need the same data without synchronising a table, or when the data changes often on site.

How it works in a running system

AGV drives ──> software polls the reader ──> gets a UID ──> looks it up ──> acts
                        ↑
              no tag = an empty result, not a failure

Important

“No tag” and “read failed” must be different things in your code.

Between tags, an empty result is entirely normal. If you log a warning every time no tag is found, you will produce so many warnings nobody reads them.

What deserves an alarm is “cannot reach the reader” — a completely different condition.

Polling rate — the most common mistake

Danger

🔴 The robot can drive past a tag before anyone looks at it.

The reader handles tags moving faster than 3 m/s without trouble. The bottleneck is how often your software asks.

Work out how long a tag is in range:

readable distance ÷ robot speed = time available

50 mm tag · robot at 0.5 m/s
0.05 ÷ 0.5 = 0.1 seconds

Only 0.1 seconds. Poll every 0.5 s and you will miss most tags.

Robot speed

Poll every

0.3 m/s

50 ms

0.5 m/s

30 ms

1.0 m/s

15 ms

Tip

The alternative is to let the reader push. It can report a tag by itself instead of waiting to be asked — enable it through the automatic-upload register.

You then never miss a tag and use less bus traffic, at the cost of your software having to listen continuously rather than ask when convenient.

Placing the tags

Leave enough spacing. Two tags close enough to be seen together produce an unpredictable result — one of them, and you cannot tell which.

Place them before the point they refer to. A robot needs distance to slow down. A “stop here” tag placed exactly at the stop is read only once the robot is past it.

Use a spare on critical points. Two tags a short distance apart means a missed first read still leaves a second chance.

Commissioning checklist

Run this at the real site, not on a bench.

1. Switch a light on         proves you can talk to the reader
2. Read a UID from a still tag  proves it reads tags
3. Measure the real range    lift the tag until it stops reading; write it down
4. Push the robot over slowly   proves it reads while moving
5. Run at full speed         the step that usually catches people out

Warning

🔴 Step 3 matters most and is the one most often skipped.

The real range on site is usually shorter than the datasheet, because of rebar in the floor and metal on the robot. Mount to the datasheet figure and it may work during commissioning, then fail after the wheels wear down a little.

The test tool helps with every step — it can poll continuously and count successful reads, so you can see how many times a pass over a tag actually registered.