Date: Wed, 4 May 2016 14:41:47 -0700
From: Toby Schachman
Subject: Using UHF RFID to identify the movement of objects
Problem:

We want to be able to track the locations of lots of objects in our space without too much instrumentation (like putting battery-powered accelerometers etc on the objects). The retroreflective dot approach is good for robust tracking, but we see only dots, we have no way to identify which object we're looking at.


Potential solution:

We mount several of these ultra high-frequency RFID antennas on the ceilings around our space:

Inline image 2
(The antenna is the white boxy thing clamped to the rack.)

Unlike the near-field RFID you're used to (e.g. on your BART card), these can sense up to 30 feet away. Think of them as having the range and field of view of a wide angle camera. This technology is designed for tracking large inventories in warehouses.

Any time you want to track a specific object, you put an RFID sticker like this on it:

Inline image 3
(I have smaller stickers in my sample pack, but I didn't get reliable performance out of them. More testing required.)

Now we know when this specific object is under a specific antenna, which gives us identification and low-resolution location. (Each antenna should be able to track at least tens of objects with no problem, but I haven't tested this capacity yet.)

And with this one weird trick, we can also tell when the object is moving! 🎉

The reader gives us the phase angle of the reading, which will change whenever you move it. More details in this paper (IDSense).

Here I am measuring the difference in phase angle from one reading to the next:

Inline image 1
(Full video here)

As you can see, this should give us reasonable quality data about when specific objects are moving. (An interesting side effect which you can see in the video is that phase changes also when a water-filled body (my hand) comes near the tag.)

By combining this with the retroreflective dots tracking, we can correlate specific dots moving with specific IDed objects moving, thus giving us the missing identification piece of the retroreflective tracking solution.

If for some reason we lose visuals on an object, because you put in a drawer, etc., as soon as it comes back into view (and moves) we've got it again. (If there are multiple moving objects in the same vicinity then we've got uncertainty, but I'm thinking this would be rare enough to be livable. Remember we only need to identify once, then we track moving dots.)

This wouldn't be the only way we'd locate objects in RealTalk, but it is a nice generic way to quickly start tracking medium-scale objects. Just slap an RFID sticker and a couple of retroreflective dots on it. An ideal use case would be e.g. the Serengeti diorama.

One big issue with this approach is that the RFID tag stops tracking when it's within ~1 inch of metal, including our magnetic whiteboards. But even this would be okay if we identified the object as you put it on the board.

We can also take advantage of this "limitation" by specifically putting conductive foil in strategic places as in this work (RapID).


I am using the Impinj Speedway Revolution R420 reader, which is what the above papers use. Impinj has a C# SDK which compiles cross-platform using Mono. I managed to tweak one of the examples to get it dumping out readings to standard out. Readings look like this:

Inline image 4

Rough economics:

- Each reader is $1600 and supports 4 antennas. Maybe more with a multiplexer. I'd need to test how multiple antennas and longer cables impact read rate.
- Each antenna is ~$150. An antenna on the ceiling could surely cover 200-300 sq ft, like a wide-angle camera.
- Each UHF RFID tag is ~$0.15 if purchased in the 1000s.