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

Apply to capture

Task family

Stereo Water Heater Replacement Data

Draining and disconnecting the old heater, positioning the new unit, connecting water and power and testing is one long, two-handed job, usually done in a cramped space. This page covers the stereo and container side of water heater installation robot training data for the one catalog row that names this work: what a calibrated stereo pair adds to stereo water heater replacement video, what MCAP is according to its own documentation, and what the site does not state. We run custom trade service data collection fast and on demand against a spec you write, as an egocentric plumbing service call dataset in MCAP, as custom collection at scale through a network of thousands of capture providers, for a consistent, recurring data flow to labs.
Catalog row
One, Trade Service Calls: "Water Heater Replacement" (Hard)
Status
Ready to deploy, as the catalog lists it
Container
MCAP (.mcap), open source
License
Perpetual, buyer-owned

Why stereo and MCAP here

What do a stereo pair and an MCAP file add to water heater replacement video?

01

Depth around the unit and its connections

The site states that a stereo pair at human-eye spacing makes depth recoverable from every frame pair, so the heater, the connections and the hands sit in one frame. The site gives no depth accuracy figure for this row and no label for how a connection was made.

02

Hands behind a tank, flagged when hidden

The egocentric water heater page states that behind a tank or at a connection a hand is often half out of view. 3D hand pose carries a per-joint visibility flag, so a finger hidden behind the unit is flagged as hidden rather than silently guessed.

03

Metal fittings and wet surfaces are flagged, not hidden

The site says depth degrades on wet and reflective surfaces and handles that with per-frame confidence maps that mask low-confidence regions. How depth behaves on a given tank, pipe or fitting in a given recording is Not stated, so the mask matters here.

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 water heater replacement data?

It is first-person video of a water heater swap on a trade service call, recorded from the worker’s own point of view with two calibrated cameras, with hand pose and sensor streams alongside. Stereo describes the capture, and MCAP describes the container. They are separate choices.

The site does not state that stereo is already running on this row. The catalog lists a head-mounted phone or a multiview rig as its capture setup, so 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, so using it for a specific robot still needs your own retargeting step. Firsthand is not affiliated with Foxglove or the MCAP maintainers.

Catalog row

Which catalog row does this page rely on, and what is its status?

One, in the Trade Service Calls (Plumbing / HVAC / Electrical) environment of the Construction & Trades sector, listed in lib/commercial-catalog-data.ts. "Water Heater Replacement" is described as "Drain and disconnect the old heater, position the new unit, connect water and power and test." It is rated Hard.

It is listed as Ready to deploy. The site states no delivered hours and no delivered stereo footage for it, so this page claims none. The environment examples read "Plumber, electrician or HVAC crew on service calls at client sites"; these are kinds of crew, not named firms, and this page names none. The first table below reproduces the row as the catalog states it.

Difference

How is this different from the egocentric water heater, plumbing, HVAC and handyman pages?

This page is the stereo and MCAP treatment of the one water heater row on a trade service call. The egocentric water heater replacement page covers the same row without stereo as its subject: it goes deeper on the steps, the ten synchronized streams and the labels. The stereo plumbing and pipe fitting page covers six plumbing and pipe rows and does not list the water heater row among them. The stereo HVAC installation and service page covers five HVAC rows and does not list it either. The stereo handyman and home repair page covers four On-Site Home Repair rows, all Available on request, and does not list it.

No heater type, fuel, size, venting, code, permit or inspection requirement appears here, because the site states none. The second table below sets the pages side by side, with each row’s status as the site lists it.

Capture setup

What capture setup does this row list, and where does stereo come in?

The catalog lists "Phone (head-mounted) / multiview rig" for the row. The site does not state a head-mounted stereo setup for it. Stereo applies through the site general stereo offer: a stereo pair is a capture choice agreed in the skill spec and confirmed on a Spec Pilot.

A multiview rig adds synchronized third-person angles, and wrist cameras give a closer view of the hands, when the spec asks for them. Whether a stereo pair is worn, mounted or combined with a multiview rig on this row is Not stated, and so is where a rig sits relative to the heater.

Why stereo

Why capture a water heater replacement in stereo?

A heater swap is about where a heavy unit, a supply and a connection sit relative to the hands and the wall. A stereo pair recovers depth from the calibrated frame pair rather than from a standalone depth sensor, so the geometry sits in the same capture that shows the hands working it. The site gives no depth accuracy figure for this row, so what a buyer does with that depth is their pipeline’s question.

A stereo pair adds depth, not a verdict. The site states 1080p per eye for dataset 06, and whether that resolves a small connection at working distance is Not stated, so a spec should check it on a Spec Pilot.

Drain and disconnect

What does the drain and disconnect step describe, and what does it leave unstated?

The row begins with "Drain and disconnect the old heater". It names the step and nothing about the method: hoses, valves, fittings, tools, shut-off steps, how water is handled and how the old unit is moved are Not stated, and this page adds none. Scalding water and lifting are Not stated either, and the site makes no safety claim for this row.

A spec that wants draining and disconnecting separated has to name them as action segments, and the site does not set an episode length. Contact events can mark when a hand meets a part, where the spec asks for them.

Position and connect

What do positioning the unit and connecting water and power add?

The row continues with "position the new unit, connect water and power". How heavy the unit is, whether it needs a second person, what the connections are and what power source it uses are Not stated. The site states no fuel type, no venting, no gas or electrical safety procedure and no plumber licensing for this row, and this page adds none.

Whether an episode ends at the connection, at the test or covers the whole job is a choice for the spec. A connection is where depth and hand visibility matter most, and the fourth table below sets what the site states about each stream.

Test

What does the test step mean, and is there a pass or fail label?

The row ends with "and test". How a test is judged is not stated on the site, and the site lists no pass, fail, leak or completion label for this row, so none is claimed here. A spec that wants a label has to define it and ask for it at the start.

Utility spaces

What do tight utility spaces and low light do to the capture?

The site states that a hand is often half out of view behind a tank or at a connection, which is the case a head camera and an optional wrist view are meant to cover. It states no closet, clearance or room dimensions, no accuracy figure for depth at close range and no lighting setup for this row, so this page promises none.

The site notes that glare-heavy and low-texture scenes make single-frame depth worse, and that depth degrades on wet and reflective surfaces. Raise lighting and space in the spec and check them on a Spec Pilot. An episode is rejected when the manipulated object is out of frame for more than 15 percent of it, and for a heater job the spec decides what that object is.

Occlusion

What do hand tools and the unit do to hand visibility?

A tool, a hose and the tank itself can sit between the lens and the fingers. The site states that fingers disappear behind objects, which is why each hand joint carries a visibility flag, and that reach and grasp frames are where blur and occlusion show up. The head camera is global-shutter, which avoids rolling-shutter skew.

The site gives no figure for how often a finger is hidden on this job, so a spec can ask for wrist views or a second angle and check it on a Spec Pilot. The site states no grip-force, torque or tool-pose stream, and this page does not claim one.

Safety and privacy

What does the site say about safety and a client’s home?

Protective equipment, gas, electrical safety, scalding water and lifting are Not stated, and this page makes no safety or compliance claim. Heater brands, tank sizes, job durations and cycle counts are Not stated too.

For every delivered episode the site states that faces, plates and screens are blurred irreversibly, that a reviewer confirms the result before anything ships, and that footage that cannot be de-identified is discarded. The anonymization record ships with the data, an undocumented bystander is a stated reject criterion, and every episode links to a signed contributor release. The site states no separate rule for a household beyond that, so settle it in the spec before capture. This is not legal advice, and the executed agreement controls.

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 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 water heater replacement data?

Firsthand offers MCAP delivery, and dataset 06 is stated as shipping as MCAP. For this row the site states hand pose, a stereo-derived depth stream with confidence maps, IMU, contact events, action segments, per-frame instance masks and one task instruction per episode 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 a water heater swap in stereo, and what does QA reject?

Hand and tool occlusion is the first risk, under the visibility flag above. Invalid depth on wet or reflective surfaces is the second: an episode is rejected when more than 35 percent of depth pixels in the manipulation region are invalid, and confidence maps ship with depth.

Calibration is measured at the start and end of every session under a 0.28 px RMS gate, and an episode is rejected for a sync breach beyond the ceiling for more than three consecutive frames, for an undocumented bystander or for a mismatch against the named skill spec. A reject log ships with every batch. Whether a connection was made correctly or a heater works is Not stated. The fifth table below lists the failure modes beside what the site states.

Scale

How do off-the-shelf coverage and custom collection combine for water heater work?

The October 2026 off-the-shelf catalog lists ~324,800 hours across 18 datasets, of which stereo is ~64,800 hours across 9 datasets. The site names no water heater, plumbing or trade service dataset among them, so this work is custom collection, not an off-the-shelf purchase.

It is 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 speed applies to this row, so the timeline is quoted against your spec. Collections are billed per validated hour, and rejected episodes and recaptures are never billed.

Ordering

How do you order a stereo water heater replacement dataset?

Describe the steps and where each starts and ends: draining and disconnecting, positioning the unit, connecting water, connecting power, testing. Say whether an episode covers one stage or the whole job, what counts as the object and what counts as a completed step, and name 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 sixth table below shows what each spec element decides.

At a glance

What you get.

Catalog row
"Water Heater Replacement" (Hard), in the Trade Service Calls (Plumbing / HVAC / Electrical) environment of the Construction & Trades sector
Catalog description
"Drain and disconnect the old heater, position the new unit, connect water and power and test."
Environment examples
"Plumber, electrician or HVAC crew on service calls at client sites"
Status
Ready to deploy, as the catalog lists it; no delivered hours or delivered stereo footage are stated
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
Language data
One task instruction per episode
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 row

Which catalog row covers water heater replacement, and what is its status?

The subject row from lib/commercial-catalog-data.ts, with the catalog description, environment, skill, capture setup and status as listed.
Task (as listed)Description (as listed)EnvironmentSkillCapture setupStatus
Water Heater ReplacementDrain and disconnect the old heater, position the new unit, connect water and power and test.Trade Service Calls (Plumbing / HVAC / Electrical)HardPhone (head-mounted) / multiview rigReady to deploy

Compared pages

How does this page differ from the egocentric water heater, plumbing, HVAC and handyman pages?

Each page, what it covers and how it treats the water heater row. Statuses are as the site lists them; “Not listed” means the page does not include that row.
PageWhat it coversRow status as listedTreatment of the water heater row
This page: stereo water heater replacement dataOne water heater row in Trade Service Calls (Hard)Ready to deployStereo pair and MCAP delivery, stream map and failure modes for a water heater swap on a trade service call
Egocentric water heater replacement dataThe same single row, first-personReady to deployThe task page: steps, ten synchronized streams and labels; stereo and MCAP are not its subject
Stereo plumbing and pipe fitting dataSix plumbing and pipe rows in four environmentsPlumbing Fixture Installation, the fixture removal row and both pipe rows Ready to deploy; Plumbing Active collection; Plumbing repair call Available on requestNot listed; its rows are fixtures, plumbing calls and pipe cutting and fitting
Stereo HVAC installation and service dataFive HVAC rows: four in Trade Service Calls, one in On-Site Home RepairFour Ready to deploy; HVAC service call Available on requestNot listed; HVAC units, filters, thermostat wiring and a service call
Stereo handyman and home repair dataFour On-Site Home Repair rows (handyman, electrical, HVAC, plumbing calls)Available on request on all fourNot listed; repair calls in a client’s home
Egocentric stereo data in MCAPThe stereo and MCAP hub across tasksNot applicableGeneral stereo and MCAP treatment; not specific to water heater work

Stated vs not stated

What the site states about stereo capture for water heater replacement

Left to right: the item, what the site states, and what that means for a water heater order. “Not stated” means the site does not say.
ItemWhat the site statesFor a water heater replacement order
Catalog capture setupPhone (head-mounted) / multiview rig on the rowNo head-mounted stereo setup is stated; a stereo pair is a spec choice through the general stereo offer
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 an 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 an order uses it: Not stated
Hands, contacts and masksPer-joint visibility flag on hand pose; contact events; per-frame instance masks stored at 848×480Stated; what counts as the object is set in the spec
Depth on wet and reflective surfacesDegrades; per-frame confidence maps mask low-confidence regionsStated; behaviour on a given tank or fitting 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
Row statusThe row is Ready to deployNo volume, hours or delivered stereo footage is claimed on this page
Safety: PPE, gas, electrical safety, scalding water, liftingNot statedNot claimed on this page
Heater brands, tank sizes, fuel types (gas, electric, tankless), ventingNot statedNot claimed on this page
Code, permit or inspection requirements; plumber licensingNot statedNot claimed on this page
Job durations, cycle counts, customer namesNot statedNot claimed on this page
Pass, fail, leak or completion labelNot stated; no such label is listed for the rowNot claimed; set in the spec
MCAP topics, schemas, ratesNot statedAgreed in the skill spec

Stream map

Streams for water heater replacement 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 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

Failure modes and QA

What goes wrong in water heater replacement capture, and what QA does about it

Left to right: the failure mode, what the site states, and what a buyer sees. “Not stated” means the site does not say.
Failure modeWhat the site statesWhat a buyer sees
Fingers hidden by the tank, a hose or a toolPer-joint visibility flag on hand pose; wrist views and a multiview angle available in the specA hidden joint flagged as hidden, not guessed
Reach and grasp blur and occlusionReach and grasp frames are where blur and occlusion show up; the head camera is global-shutterHow often it occurs on this row: Not stated
Glare or weak depth on wet or reflective metalDepth degrades on wet and reflective surfaces; confidence maps mask low-confidence regionsBehaviour on a given tank or fitting: Not stated
Invalid depth in the manipulation regionEpisode rejected when more than 35 percent of depth pixels are invalidReject log per batch; confidence maps ship with depth
Unit or connection out of frameEpisode rejected when the object is out of frame for more than 15 percent of itReject log per batch; space and lighting are raised in the spec
Judgement of the swap or the testNot stated; no pass, fail or completion label is listedNot claimed; set in the spec
Bystander at the client siteFaces, plates and screens blurred and reviewer-confirmed; undocumented bystander rejected; footage that cannot be de-identified is discardedReject log per batch; anonymization record ships with the data
Calibration driftSolved at the start and end of every session; 0.28 px RMS gateCalibration shipped with the episode
Sync breachRejected beyond the 2.0 ms ceiling for more than three consecutive framesReject log per batch
Spec mismatchRejected for a mismatch against the named skill specReject log per batch

Skill spec

What the skill spec fixes for a stereo water heater replacement 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
Which rowThe Water Heater Replacement row; the only row this page coversSet per program; Ready to deploy as listed
Steps and orderWhat one step is: drain and disconnect, position, connect water, connect power, testEpisode boundaries and action segments; set per program
Episode scopeOne stage or the whole jobSet per program; the site does not state an episode length
Object definitionWhether the heater, a hose or a connection counts as the objectContact events and the out-of-frame reject rule; set per program
Rig and streamsStereo pair, multiview angles, wrist views, hand pose, IMU and any othersThe channels you can read; confirm on the Spec Pilot
Setting and lightingWhere and when capture runs, and how tight or dim spaces are handledSet per program; the site states no lighting setup for this row
MCAP topics and encodingWhat your reader expectsSet per program
Delivery formatHow the data is packagedMCAP alone, or beside RLDS, LeRobot, WebDataset, HDF5 or zarr
Accept criteriaWhat passes QA, including what counts as a rejectReject log per batch
PrivacyHow people, plates and screens in a client’s home are handledFaces, plates and screens blurred at ingest; other text agreed in the spec
LicenseWho owns the datasetPerpetual, irrevocable, buyer-owned, non-exclusive by default

Example footage

What does egocentric stereo capture look like?

One real clip already published on this site, shown as a format and rig example: a head-mounted stereo capture with hands in frame. It does not show a water heater, a plumbing job or a trade service call.

egocentric_stereo_sample.mp4 · head-mounted stereo · hands in frame · 1920 × 1080 web preview · rig example, not a water heater replacement clip

No water heater replacement clip is published on the site, so this is labelled as a format and rig example. Request a sample to see delivered files. See stereo sample page, stereo + wrist-cam example videos, request an egocentric data sample.

FAQ

Water heater installation robot training data, answered.

What is stereo water heater replacement data?
First-person video from two calibrated cameras of a person draining and disconnecting an old water heater, positioning the new unit, connecting water and power and testing, with depth and hand pose alongside.
Which catalog row covers it, and what is its status?
One row in Trade Service Calls: "Water Heater Replacement", rated Hard and listed as Ready to deploy. This page claims no delivered hours.
Is stereo already captured on this row?
Not stated. The catalog lists a head-mounted phone or a multiview rig as the capture setup, and no head-mounted stereo setup is stated for this row. A stereo pair is agreed in the skill spec through the general stereo offer and confirmed on a Spec Pilot.
Is there an off-the-shelf water heater or trade service dataset?
No listed dataset names water heater, plumbing or trade service work. Stereo water heater replacement data is custom collection, at scale through a network of thousands of capture providers, for a consistent, recurring data flow to labs.
Does the data include heater types, safety procedures or a pass or fail label?
Not stated. The site lists no heater type, fuel, venting, code, safety procedure or pass, fail or completion label for this row, so none is claimed. Labels are set in the spec.
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.

Sources

Where is MCAP documented?

Request a custom water heater replacement dataset delivered as MCAP.

Tell us the steps and where each starts and ends, whether an episode covers one stage or the whole job, what counts as the object, the setting and lighting, 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.