Now recruiting capture teams worldwide. Get paid to record first-person video of real work.

Apply to capture

Task family

Stereo Window and Glass Cleaning Data

Wet the window with a pole applicator, pull the water off with a squeegee, clean interior and exterior glass, polish the edges: window cleaning is a run of tool passes over a pane. This page covers the stereo and container side of window cleaning robot training data for two catalog rows: what a calibrated stereo pair adds when the thing being worked is glass, what MCAP is according to its own documentation, and what the site does not state. We run custom commercial cleaning data collection fast and on demand against a spec you write, as stereo squeegee window washing video and an egocentric glass cleaning dataset in MCAP.
Catalog rows
Two window rows, Commercial Cleaning & Janitorial, both Medium
Container
MCAP (.mcap), open source
Stereo head rig (06)
Dual fisheye, 1080p per eye, 62 mm baseline
License
Perpetual, buyer-owned

Why stereo and MCAP here

What do a stereo pair and an MCAP file add to window cleaning video?

01

Depth of the pane and the tool

The site states that a stereo pair at human-eye spacing makes depth recoverable from every frame pair, so the pane, the pole applicator and the squeegee sit in the same frame as the hands.

02

Hands on a tool, with a flag when they are hidden

A squeegee or applicator is held and guided by the hands. 3D hand pose carries a per-joint visibility flag, so a finger hidden behind a handle is flagged as hidden rather than silently guessed.

03

Ordered passes on one clock

Wetting, pulling the water off, cleaning interior or exterior glass and polishing edges are different operations. Streams are hardware-triggered onto one clock with a 2.0 ms cross-stream ceiling, and action segments carry start, end, verb and noun as the skill spec defines them.

04

Several streams in one container

MCAP stores multiple channels of timestamped, pre-serialized data, so a stereo pair, hand pose and IMU can share one file on one log-time axis. Which streams go in the file is set in the skill spec.

Definition

What is stereo window and glass cleaning data?

It is first-person video of a person cleaning windows and glass, recorded from their own point of view with two calibrated cameras and with hand pose and sensor streams alongside. The tasks are the two rows the site’s catalog lists for it in Commercial Cleaning & Janitorial. Stereo describes the capture, and MCAP describes the container. They are separate choices.

The site does not state that stereo is already running on these rows. The catalog lists a head-mounted phone or a multiview rig as the capture setup, and a stereo pair is a capture choice agreed in the skill spec and confirmed on a Spec Pilot. The data is human capture by paid, consented contributors, not robot or teleoperation data. Firsthand is not affiliated with Foxglove or the MCAP maintainers.

Catalog rows

Which catalog rows does this page rely on?

Two, both in the Commercial Cleaning & Janitorial environment under the Facilities & Cleaning sector, and both rated Medium. "Wash and squeegee windows using extension poles and squeegees" is described as wetting windows with a pole applicator and pulling the water off with a squeegee, and is listed as Active collection. "Window & Glass Cleaning" is described as cleaning interior and exterior glass with applicators and squeegees and polishing edges, and is listed as Ready to deploy.

Both rows list a head-mounted phone or a multiview rig as the capture setup. The first table below reproduces them as the catalog states them. This page names only the tools, parts and steps that appear in those rows: extension poles, pole applicator, applicators, squeegees, interior and exterior glass, wetting, pulling the water off and polishing edges.

Difference

How is this different from the egocentric window cleaning, mopping and stripping pages?

The egocentric window cleaning page covers the same two catalog rows and describes the capture as first-person video with ten streams, delivered in RLDS, LeRobot or WebDataset. The stereo floor mopping page and the stereo floor stripping and waxing page cover floor-care rows and do not list the window rows.

This page is the stereo and MCAP treatment of just the two window and glass rows. It does not repeat the catalog narrative of the egocentric page or any floor steps. The comparison table below sets the pages side by side.

Why stereo

Why capture window and glass cleaning in stereo?

Window cleaning is about the state of a pane: where it has been wetted, where the water has been pulled off, which edge is left to polish. A stereo pair recovers depth from the calibrated frame pair rather than from a standalone depth sensor, so the pane and the tool share a frame with the hands. The site gives no depth accuracy figure and no label for how clean a pane is, so whether wet or cleaned glass is resolvable in depth is Not stated.

The hard-environments page states that stereo keeps working outdoors where active depth sensors struggle, and that many programs capture both and sync them on one clock. The catalog rows list interior and exterior glass, but the site does not say where any batch is captured, so the setting is agreed in the spec.

Capture setup

What does the capture setup look like, and what is not stated?

The site describes two stereo setups and does not say which one a window order uses. The hard-environments stack is a global-shutter 4K/60 head camera with a 120° lens, two 1080p/60 wrist cameras, a depth sensor at 848×480 and 30 fps, and 200 Hz 6-DoF IMUs. The off-the-shelf stereo head rig, dataset 06, is dual fisheye cameras at 1080p per eye, a 62 mm baseline, per-unit calibration, a 9-axis IMU and hand-tracking output.

Which rig, resolution and streams a window order uses is Not stated on the site, and the third table below sets what is stated beside what is not. Intrinsics and extrinsics are re-solved at the start and end of every session, and streams are hardware-triggered onto one clock with a 2.0 ms cross-stream ceiling.

MCAP

What is MCAP, per its own documentation?

MCAP is an open source container file format for multimodal log data, supporting multiple channels of timestamped pre-serialized data. It is serialization-agnostic, so messages can be Protobuf, DDS (CDR), ROS, JSON and more. Its design is row-oriented and append-only, it stores schemas alongside the data, and it offers an optional index plus optional LZ4 or Zstandard chunk compression.

Reader and writer libraries exist for C++, Go, Python, Rust, Swift and TypeScript, and the mcap CLI can inspect, merge and split files. The foxglove/mcap repository is MIT-licensed; that is the MCAP project’s licence, not the licence of a Firsthand delivery. The MCAP hub page and the glossary entry cover the format in full.

Streams

Which streams can ship in an MCAP delivery of window cleaning data?

Firsthand offers MCAP delivery, and dataset 06 is stated as shipping as MCAP. For glass work the site states hand pose, a stereo-derived depth stream, IMU, contact events, action segments and per-frame instance masks elsewhere. What it does not state is which of those are channels in an MCAP file, how they are named, what encoding they use or at what rate.

No topic name, message schema or rate is stated on this page, and none should be assumed. Name the streams that matter in the skill spec and confirm them on a Spec Pilot batch. The fourth table below sets each stream beside what the site states about it.

Failure modes

What goes wrong when you record window cleaning in stereo?

Hands are the first risk. A squeegee handle sits in the fist and an applicator or pole can hide the fingers, so the contact point is often hidden. The visibility flag on each joint is the answer the site gives, and contact events mark when a hand or tool meets an item. A spec can also ask for wrist views, so a grip the head camera loses is still recorded.

Depth is the second. The site says depth degrades on wet and reflective surfaces and masks low-confidence regions with per-frame confidence maps, and an episode is rejected when more than 35 percent of depth pixels in the manipulation region are invalid. A freshly wetted window is a wet surface, but the site does not say how depth behaves on glass, so this page promises no figure.

Calibration is the third, because stereo depth is only as good as the rectification behind it: calibration is measured at the start and end of every session under a 0.28 px RMS gate. An episode is also rejected when the manipulated object is out of frame for more than 15 percent of it or an undocumented bystander appears, and a reject log ships with every batch.

Privacy

How are people in frame handled?

Commercial buildings are shared spaces, so bystanders matter, and glass can show people on the other side. For every delivered episode the site states that faces, plates and screens are blurred irreversibly and that footage that cannot be de-identified is discarded. Blurring of signage or text seen through glass is not stated, so raise any such need before the spec is signed.

The site states no contributor safety protocol, no height, rope-access, ladder or lift setup, no guidance on cleaning products and no certification for any window row, so this page describes none. Capture at your own facility is listed as not offered.

Scale

How do off-the-shelf stereo data and custom collection combine?

Off-the-shelf covers what is already in stock: the stereo category lists the stereo datasets and hand-tracking video, and only dataset 06 is stated as MCAP. This page does not claim off-the-shelf coverage of the window rows. Custom collection covers the rest: custom collection at scale through a network of thousands of capture providers, for a consistent, recurring data flow to labs.

Where coverage is deep, the median time from signed spec to first validated batch is a median of 48 hours; where it is thin, turnaround runs three to four weeks. The site does not say which applies to these rows, so ask when you request the quote. Collections are billed per validated hour.

Ordering

How do you order a stereo window and glass cleaning dataset?

Describe the tool, the glass, the setting and the steps in order, what counts as one completed pass, and the variation your pipeline is missing. Then name the streams you want in the file, the topic naming and message encoding your reader expects, whether calibration ships inside the file or beside it, and whether MCAP is the only delivery or sits beside RLDS, LeRobot or WebDataset.

Most programs begin with a Spec Pilot, a small first batch that proves the spec and accept criteria on real footage before you scale. The fifth table below shows what each spec element decides.

At a glance

What you get.

Catalog rows
Two rows in Commercial Cleaning & Janitorial (Facilities & Cleaning): "Wash and squeegee windows using extension poles and squeegees" (Active collection) and "Window & Glass Cleaning" (Ready to deploy); both Medium
Catalog capture setup
Phone (head-mounted) / multiview rig; a stereo pair is agreed in the skill spec
Stereo head rig (06)
Dual fisheye, 1080p per eye, 62 mm baseline, per-unit calibration, 9-axis IMU, hand-tracking output; shipped as MCAP
Hand pose
21 joints per hand with a per-joint visibility flag
Sync
Hardware-triggered onto one clock; 2.0 ms cross-stream ceiling
MCAP topics, schemas, rates
Not stated on the site; agreed in the skill spec
License
Perpetual, irrevocable, buyer-owned, non-exclusive by default

Every collection runs through the same seven-stage end-to-end custom collection pipeline. End-to-end custom data collection is a managed service that takes an AI data need from problem to owned dataset in a single accountable pipeline.

Catalog rows

Which catalog rows cover window and glass cleaning?

The two rows relied on by this page, with the catalog description, environment, skill, capture setup and status as listed.
Task (as listed)Description (as listed)EnvironmentSkillCapture setupStatus
Wash and squeegee windows using extension poles and squeegeesWet windows with a pole applicator and pull the water off with a squeegee.Commercial Cleaning & JanitorialMediumPhone (head-mounted) / multiview rigActive collection
Window & Glass CleaningClean interior and exterior glass with applicators and squeegees and polish edges.Commercial Cleaning & JanitorialMediumPhone (head-mounted) / multiview rigReady to deploy

Compared pages

How does this page differ from the neighbouring window and floor pages?

Each page, what it covers and how it treats the two window rows. “Not covered” means the page does not list them.
PageRows it coversTreatment of the window rows
This page: stereo window and glass cleaning dataThe two window and glass rowsStereo pair and MCAP delivery, stream map and failure modes for these rows only
Egocentric window cleaning dataThe same two window and glass rowsEgocentric catalog treatment, ten streams; delivery in RLDS, LeRobot or WebDataset
Stereo floor mopping dataNine floor-care rows, mopping firstNot covered
Stereo floor stripping and waxing dataThe two strip-and-wax rowsNot covered

Stated vs not stated

What the site states about stereo capture for window work

Left to right: the item, what the site states, and what that means for a window order. “Not stated” means the site does not say.
ItemWhat the site statesFor a window order
Catalog capture setupPhone (head-mounted) / multiview rig on both rowsA stereo pair is a spec choice; not stated on the rows
Stereo head rig (dataset 06)Dual fisheye, 1080p per eye, 62 mm baseline, per-unit calibration, 9-axis IMU, hand-tracking output; shipped as MCAPWhether a window order uses it: Not stated
Hard-environments stack4K/60 head camera, 120° lens; two 1080p/60 wrist cameras; depth 848×480 at 30 fps; 200 Hz 6-DoF IMUWhether a window order uses it: Not stated
Depth on wet and reflective surfacesDegrades; per-frame confidence maps mask low-confidence regionsStated; behaviour on glass is Not stated
CalibrationMeasured every session and shipped with the episode; 0.28 px RMS reprojection gateStated
SynchronizationHardware-triggered onto one clock; 2.0 ms cross-stream ceilingStated
Hand pose21 joints per hand with a per-joint visibility flagStated
Glass type, pane size or count, working height, access method, cleaning products, force data, safety or certificationNot stated; the rows say extension poles, pole applicator, applicators, squeegees, interior and exterior glass and polishing edges onlyAgreed in the skill spec, or not claimed on this page
MCAP topics, schemas, ratesNot statedAgreed in the skill spec

Stream map

Streams for window work and what the site states about an MCAP file

Left to right: the stream or item, what the site states about it, and what the site states about it in MCAP. “Not stated” means the site does not say.
Stream or itemWhat the site statesIn an MCAP delivery, as the site states it
Stereo pairDual fisheye, 1080p per eye, 62 mm baseline (dataset 06)Dataset 06 is stated as shipped as MCAP; channel layout not stated
Depth with confidence mapsRecovered from the calibrated stereo pair; confidence map masks low-confidence regionsNot stated
Hand pose21 joints per hand with a per-joint visibility flagChannel layout and joint order not stated
IMU9-axis (dataset 06); 6-DoF at 200 Hz (hard-environments stack)Channel layout and rate not stated
Contact events, action segments, instance masksListed in the site’s episode schema; masks stored at 848×480Not stated
Task instructionOne per episodeNot stated
CalibrationMeasured every session and shipped with the episodePlacement in the file not stated
Topic names, schemas, encoding, ratesNot statedAgreed in the skill spec

Skill spec

What the skill spec fixes for a stereo window cleaning order

Spec element and where a buyer can see it in the delivery. “Set per program” means the site states no fixed value.
Spec elementWhat it decidesWhere it shows up
Step and orderWhat one step is: wet, pull the water off, clean interior glass, clean exterior glass, polish edgesEpisode boundaries and action segments; set per program
Which rowThe pole-and-squeegee row or the Window & Glass Cleaning rowSet per program; both are Medium
Episode boundaryOne pass, one pane or one full cleaning of a windowSet per program; the site does not state an episode length
Rig and streamsStereo pair, wrist views, hand pose, IMU and any othersThe channels you can read; confirm on the Spec Pilot
MCAP topics and encodingWhat your reader expectsSet per program
Calibration deliveryInside the file or beside itSet per program
Delivery formatHow the data is packagedMCAP alone, or beside RLDS, LeRobot, WebDataset, HDF5 or zarr
Accept criteriaWhat passes QAReject log per batch
PrivacyHow people in frame are protectedFaces and screens blurred at ingest
LicenseWho owns the datasetPerpetual, irrevocable, buyer-owned, non-exclusive by default

Example footage

What does egocentric footage of cleaning work and stereo capture look like?

Two real clips already published on this site. The first is a household chores clip of an operator carrying a cordless vacuum down a staircase into a living room, the nearest cleaning clip hosted on the site. The second is a format and rig example: a head-mounted stereo capture with hands in frame. Neither shows window or glass cleaning.

sample-egocentric-capture.mp4 · household chores · carrying a vacuum between floors · fisheye, 960 × 540 web preview · not a window cleaning clip
egocentric_stereo_sample.mp4 · head-mounted stereo · hands in frame · 1920 × 1080 web preview · rig example

The stereo + wrist-cam examples page lists a 12-minute commercial cleaning recording, "Cleaning with a mop", described as including window work. It is hosted there as a full recording, the site does not say where the window work falls in it, and it is not embedded here. Request a sample to see delivered files. See stereo sample page, stereo + wrist-cam example videos (includes a commercial cleaning clip), request an egocentric data sample.

FAQ

Window cleaning robot training data, answered.

What is stereo window and glass cleaning data?
First-person video from two calibrated cameras of a person wetting windows with a pole applicator, pulling the water off with a squeegee and cleaning interior and exterior glass, with depth and hand pose alongside.
Which catalog rows cover it?
"Wash and squeegee windows using extension poles and squeegees" (wet windows with a pole applicator and pull the water off with a squeegee) and "Window & Glass Cleaning" (clean interior and exterior glass with applicators and squeegees and polish edges), both in Commercial Cleaning & Janitorial and rated Medium.
Is stereo already captured on these rows?
Not stated. The catalog lists a head-mounted phone or multiview rig, and a stereo pair is agreed in the skill spec and confirmed on a Spec Pilot.
Can it be delivered as MCAP, and what is in the file?
Yes. Firsthand offers MCAP delivery. Topic names, message schemas and rates are Not stated on the site and are agreed in the skill spec.
Does it include glass-type, height, product or force labels?
Not stated. The site lists no glass type, pane size, working height, cleaning product or force label for these rows. The delivered fields are action segments, hand pose with visibility flags, contact events, objects and instance masks where the spec calls for them.
How fast is a first batch, and who owns the data?
Where coverage is deep, the median time from signed spec to first validated batch is a median of 48 hours; thin coverage runs three to four weeks. The buyer owns the dataset under a perpetual, irrevocable, non-exclusive-by-default licence, with exclusivity available.

Sources

Where is MCAP documented?

Request a custom window and glass cleaning dataset delivered as MCAP.

Tell us the tool, the glass, the setting, the steps and their order, the streams you want in the file and whether MCAP sits alone or beside a training format. We will quote reach, timeline and price against a written spec, with a first validated batch in a median of 48 hours where coverage is deep.