B RU Tevian·Practitioner post·

Making a cleaning robot check price tags: OrangePi, two cameras and some "unclean paths" (Как заставить робота‑уборщика проверять ценники: OrangePi, две камеры и немного «нечистых путей»)

B · Useful, limited Computer-vision vendor Tevian's first-hand account of a short pilot in a Dixy store; candid engineering detail on hardware and the recognition pipeline, but no accuracy or match-rate figures are reported.

Summary based on the full text·Original: about 21 minutes to read

In short

A Habr post (6 November 2026) from Tevian, a Russian computer-vision company, on a pilot with the Dixy grocery chain: using the store's own PUDU CC1 cleaning robot as a moving camera platform to check shelf price tags against the store's product list. The robot had no API for stop-and-shoot routes, so the team built the route from dozens of half-metre segments, bolted on an OrangePi with USB cameras that shot continuously, and filtered about 500 photos per run. The full chain from robot to price-mismatch report worked; the pilot's aim was feasibility, not accuracy.

Key numbers

  • ~500photos taken per robot run along the route, most of them unusable
  • ~0.5 mlength of each hand-built route segment, so the robot paused 1-2 s between them for a photo
  • 8 MP vs 12 MPthe two USB cameras tested; the 12 MP one worked better despite a settings bug

As reported by the source.

Read the original on habr.com

Russian·Web page·opens habr.com

What it reports

  • The robot is built for "map, zone, clean". Its "unclean path" route type lets it follow a line without cleaning; a long path gave no stops, so the route was cut into many ~0.5 m segments, each giving a 1-2 s pause.
  • A job could not be created without a cleaning zone, so a tiny one was added near the security guard's chair.
  • With no stop signal from the robot, the camera shot at a fixed interval regardless; photos in motion were too blurred for small text.
  • MIPI CSI cameras on the OrangePi 5B were never detected; USB cameras worked. The 12 MP camera did better than the 8 MP one. Sharpness fell off towards the frame edges even when the robot was still.
  • Pipeline: motion-blur filter, the company's price-tag detector with a confidence threshold, text detection and OCR, layout analysis to separate name, prices, weight, SKU and date, a readability check on the product-name OCR confidence, fuzzy matching to the product list with weight or volume as a second key, and dropping frames where most tags were unreadable.
  • Store problems: glare from ceiling lights at the robot's camera height, overlapping and crumpled tags, poor print, non-standard abbreviations.
  • Output: a JSON result with an HTML view (hover to see what was read and matched) and an Excel export.
  • A shopper's bag knocked the magnet-mounted camera unit off the robot; a production unit needs a proper mount and housing.
  • Next step: a robot with an API, controlled photo points and in-pass frame-quality checks, so a few dozen good photos replace 500 random ones; later stock, gaps and planogram checks on the same images.

How they got it

A short pilot: office rehearsal, then runs in one Dixy store, with images processed by Tevian's research team.

Limits

  • No figures for detection accuracy, OCR accuracy, match rate or mismatches found.
  • One store, a few runs, a robot borrowed in a partly serviced state.
  • Vendor self-report that ends in a pitch for its shelf-audit product.

Why it matters for companies

Retailers already own cleaning robots that cover every aisle; this pilot shows they can carry cameras for shelf audits without buying new hardware, if the robot vendor exposes route and stop control. Most of the effort went into making the robot stop and the photos sharp, not into the models. Any similar pilot should demand an API, a mounting standard and measured accuracy before scaling.

Key passages in translation

Russian original

Цель пилота — проверить гипотезу, а не выиграть каждую техническую войну, которая встретилась по дороге.

English translation

The aim of a pilot is to test a hypothesis, not to win every technical war met along the way.

Russian original

«В нормальной промышленной системе снимать стеллаж нужно именно после подтверждённой остановки робота»

English translation

"In a proper industrial system the shelf must be photographed only after the robot has confirmed it has stopped."

Russian original

Тогда вместо пятисот случайных фотографий можно будет получать несколько десятков нужных.

English translation

Then instead of five hundred random photos you could get a few dozen of the right ones.

Summary based on the full text. Read the original for the full argument and data.Read the original on habr.com

Same week

All of Week 45