{
  "schemaVersion": 1,
  "checkedDate": "2026-10-23",
  "platform": {
    "autopilot": "ArduPilot / SIYI N7 (user supplied; board ports to verify)",
    "name": "M17",
    "statedWeightKG": 25,
    "additionalPayloadKG": 10,
    "payloadConfirmed": false
  },
  "fx": {
    "usdPerEur": 1.1205,
    "date": "2026-10-22",
    "source": "https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/eurofxref-graph-usd.en.html",
    "note": {
      "de": "Letzter veröffentlichter EZB-Wert bei Prüfung: 22.10.; 23.10. noch leer. Referenzkurs, kein Bank-/Checkoutkurs.",
      "en": "Latest published ECB rate when checked: Oct22; Oct23 still blank. Reference rate, not a bank/checkout rate."
    }
  },
  "pricePolicy": {
    "contingencyPercent": 15,
    "optionalVATUpliftPercent": 19,
    "note": {
      "de": "BOM-Summen sind vorläufige Hardware-Planungsbeträge: bestätigte Nettopreise und steuerlich unbestätigte USD-Shoppreise werden getrennt gekennzeichnet. 19 % sind ein optionaler deutscher Budgetaufschlag, keine verbindliche Endpreisberechnung. Unbestätigt bedeutet nicht netto. Wechselkurs, Versand, Import und Checkout können abweichen.",
      "en": "BOM totals are provisional hardware planning figures: confirmed net prices and tax-unconfirmed USD shop prices are labelled separately. 19% is an optional German budget uplift, not a binding landed-price calculation. Unconfirmed does not mean net. Exchange, shipping, import and checkout may differ."
    },
    "exclusions": {
      "de": "Drohne, Autopilot, Fernsteuerung/Bodenstation, Pumpen, Wasserführung, Schlauchmanagement, Softwareentwicklung, Lizenzkosten, Zulassung und Betriebsabsicherung sind nicht enthalten. Zubehöransätze sind eigene Schätzungen, keine Händlerangebote.",
      "en": "Aircraft, autopilot, RC/ground station, pumps, water circuit, hose management, software development, licenses, authorization and operational controls are excluded. Accessory allowances are estimates rather than vendor quotes."
    }
  },
  "items": {
    "urm14": {
      "id": "urm14",
      "name": "DFRobot URM14 SEN0358",
      "amount": 99,
      "currency": "USD",
      "taxBasis": "unconfirmed",
      "priceSource": "https://www.dfrobot.com/product-2173.html",
      "checkedDate": "2026-10-23",
      "productId": "dfrobot-urm14",
      "availability": {
        "de": "Mit öffentlichem Preis bestellbar; konkreten Bestand bestätigen.",
        "en": "Publicly priced; confirm stock."
      },
      "note": {
        "de": "RS485/Modbus, 7–15 V. Sensorangabe ±0,3 %, keine Sprühfluggarantie.",
        "en": "RS485/Modbus, 7–15 V. Sensor specification ±0.3%; no spray-flight guarantee."
      },
      "component": "sensor",
      "minRangeM": 0.1,
      "maxRangeM": 1.5
    },
    "pico100i": {
      "id": "pico100i",
      "name": "microsonic pico+100/I",
      "amount": 234.1,
      "currency": "EUR",
      "taxBasis": "net",
      "priceSource": "https://sensorpartners.com/en/product/microsonic-pico100-i/",
      "checkedDate": "2026-10-23",
      "productId": "microsonic-pico-plus-100-i",
      "availability": {
        "de": "Händler nennt Lagerbestand; geraden Kopf bestätigen.",
        "en": "Dealer lists stock; confirm straight sensor head."
      },
      "sources": [
        "https://www.microsonic.de/de/produktdetail/pico%2B100-I"
      ],
      "note": {
        "de": "30 g, 120–1000 mm Betriebsbereich, 80 ms, 4–20 mA, 10–30 V. Händler-Kurztext verwechselt Kopfvariante.",
        "en": "30 g, 120–1000 mm operating range, 80 ms, 4–20 mA, 10–30 V. Dealer short description confuses the head variant."
      },
      "component": "sensor",
      "minRangeM": 0.12,
      "maxRangeM": 1.0
    },
    "zws70ciqs": {
      "id": "zws70ciqs",
      "name": "microsonic zws-70/CI/QS",
      "amount": 234.1,
      "currency": "EUR",
      "taxBasis": "net",
      "priceSource": "https://sensorpartners.com/de/produkt/microsonic-zws-70-ci-qs/",
      "checkedDate": "2026-10-23",
      "productId": "microsonic-zws-70-ci-qs",
      "sources": [
        "https://www.microsonic.de/en/sensordetail/zws-70-CI-QS"
      ],
      "note": {
        "de": "11 g, 120–700 mm Betriebsbereich, 70 ms, 20–30 V, 4–20 mA. Leichtere Alternative; externe Synchronisation nötig. Nicht zusätzlich zum pico addieren.",
        "en": "11 g, 120–700 mm operating range, 70 ms, 20–30 V, 4–20 mA. Lighter alternative requiring external synchronization. Do not add it on top of pico."
      },
      "component": "sensor"
    },
    "lw20ha": {
      "id": "lw20ha",
      "name": "LightWare LW20/HA",
      "amount": 389,
      "currency": "USD",
      "taxBasis": "unconfirmed",
      "priceSource": "https://nwblue.com/products/lw20-ha-100-m",
      "checkedDate": "2026-10-23",
      "productId": "lightware-lw20-ha",
      "availability": {
        "de": "NW Blue listet LW20/HA für 389 USD als In stock und Deutschland im Ländermenü; Endpreis und Versand bestätigen. Hersteller-Shop selbst: Backorder.",
        "en": "NW Blue lists LW20/HA at USD389 as In stock and includes Germany in its country menu; confirm final price and shipping. Manufacturer shop itself: backorder."
      },
      "note": {
        "de": "19,5 g, IP67, ab 20 cm. <1 cm gilt bei 20–30 °C, <5 cm bei 0–15 °C. Glas und nasse Reflexionen müssen separat geprüft werden.",
        "en": "19.5 g, IP67, from 20 cm. <1 cm applies at 20–30 °C, <5 cm at 0–15 °C. Glass and wet reflections require separate validation."
      },
      "manufacturerNetPriceSource": "https://lightwarelidar.com/shop/lw20-ha/",
      "sources": [
        "https://lightwarelidar.com/shop/lw20-ha/"
      ],
      "component": "sensor",
      "minRangeM": 0.2,
      "maxRangeM": 100
    },
    "oakprowwglobal": {
      "id": "oakprowwglobal",
      "name": "Luxonis OAK-D Pro W USB, OV9782 RGB",
      "amount": 579,
      "currency": "USD",
      "taxBasis": "unconfirmed",
      "priceSource": "https://shop.luxonis.com/products/oak-d-pro-w",
      "checkedDate": "2026-10-23",
      "productId": "luxonis-oak-d-pro-w",
      "variantOverride": {
        "de": "OV9782 statt katalogisierter IMX378: 529 USD Basis +50 USD.",
        "en": "OV9782 rather than catalogued IMX378: USD529 base +USD50."
      },
      "availability": {
        "de": "Bestellbar; Bestand der OV9782-Variante bestätigen.",
        "en": "Listed for ordering; confirm OV9782 stock."
      },
      "note": {
        "de": "Global-Shutter-RGB für bewegte Markerbilder; weite Stereoansicht und integrierte IMU. VIO/Markerpose braucht eine eigene Softwarepipeline. IP66 nur mit vorgesehenem USB-Kabel.",
        "en": "Global-shutter RGB for moving marker images, wide stereo field and integrated IMU. VIO/marker pose needs a separate software pipeline. IP66 requires the specified USB cable."
      },
      "sources": [
        "https://docs.luxonis.com/hardware/products/OAK-D%20Pro%20W",
        "https://spectacularai.github.io/docs/sdk/wrappers/oak.html"
      ],
      "component": "sensor"
    },
    "mid360s": {
      "id": "mid360s",
      "name": "Livox MID-360S",
      "amount": 599,
      "currency": "EUR",
      "taxBasis": "net",
      "priceSource": "https://tpi-livox.eu/products/mid360s.html",
      "checkedDate": "2026-10-23",
      "productId": "livox-mid-360s",
      "availability": {
        "de": "Autorisierter EU-Händler bietet Kauf an; Liefertermin bestätigen.",
        "en": "Authorized EU dealer offers ordering; confirm lead time."
      },
      "note": {
        "de": "3D-LiDAR und IMU für LIO/Karte. 265 g, 6,5 W, 360°×59°. Kein Ersatz für separaten Wandabstand.",
        "en": "3D LiDAR and IMU for LIO/mapping. 265 g, 6.5 W, 360°×59°. Does not replace independent wall ranging."
      },
      "sources": [
        "https://www.livoxtech.com/mid-360s/specs"
      ],
      "component": "sensor"
    },
    "midcable15": {
      "id": "midcable15",
      "name": "Livox Connector Cable 1.5 m, MID-360S",
      "amount": 79,
      "currency": "EUR",
      "taxBasis": "net",
      "priceSource": "https://tpi-livox.eu/products/mid360s.html",
      "checkedDate": "2026-10-23",
      "note": {
        "de": "Zum gewählten MID-360S-Paket einmal addieren.",
        "en": "Add once for the selected MID-360S bundle."
      },
      "component": "sensor"
    },
    "seeedj3011": {
      "id": "seeedj3011",
      "name": "Seeed reComputer Super J3011, SKU 114110312",
      "amount": 769,
      "currency": "USD",
      "taxBasis": "unconfirmed",
      "priceSource": "https://www.seeedstudio.com/reComputer-Super-J3011-p-6444.html",
      "checkedDate": "2026-10-23",
      "availability": {
        "de": "Hersteller-Shop am Prüftag: In stock. Zielland, Endpreis und Lieferumfang bestätigen.",
        "en": "Manufacturer shop on review date: In stock. Confirm destination, final price and package."
      },
      "note": {
        "de": "Orin Nano 8GB, 128GB NVMe laut Herstellerwiki, 2×GbE, 4×USB3.2; 12–19 V, 130×120×66 mm. Fluggewicht, Leistungsbudget, Kühlung und Sprühschutz vor Kauf klären. Die 67 TOPS belegen keine getestete Gesamtpipeline.",
        "en": "Orin Nano 8GB, 128GB NVMe per manufacturer wiki, 2×GbE, 4×USB3.2; 12–19 V, 130×120×66 mm. Confirm flight weight, power, cooling and spray protection before purchase. 67 TOPS is not validation of the full pipeline."
      },
      "sources": [
        "https://wiki.seeedstudio.com/recomputer_jetson_super_getting_started/"
      ],
      "component": "computer"
    },
    "jetsondevkit": {
      "id": "jetsondevkit",
      "name": "NVIDIA Jetson Orin Nano Super Developer Kit 8GB",
      "amount": 399,
      "currency": "USD",
      "taxBasis": "msrp",
      "priceSource": "https://developer.nvidia.com/embedded/faq",
      "checkedDate": "2026-10-23",
      "availability": {
        "de": "US-Hersteller-Shop nicht auf Lager. SparkFun DEV-22098 zeigt widersprüchlich In stock/Backorder; RS-EU-SKU derzeit nicht erhältlich.",
        "en": "US manufacturer shop out of stock. SparkFun DEV-22098 gives conflicting In stock/Backorder; RS EU SKU currently unavailable."
      },
      "note": {
        "de": "Günstigere Alternative für den Prüfstand, sobald lieferbar. EU-SKU 945-13766-0005-000. Referenzträger und SSD/SD zusätzlich planen; NVIDIA bezeichnet Developer Kits als Entwicklungsgeräte, nicht für Produktion.",
        "en": "Lower-cost bench alternative once available. EU SKU945-13766-0005-000. Reference carrier; budget storage separately. NVIDIA describes developer kits as development devices rather than production hardware."
      },
      "sources": [
        "https://www.sparkfun.com/nvidia-jetson-orin-nano-developer-kit.html",
        "https://de.rs-online.com/web/p/entwicklungstools-prozessor/2647384"
      ],
      "component": "computer"
    },
    "airy96": {
      "id": "airy96",
      "name": "RoboSense Airy Device Only 96-Beam",
      "amount": 999,
      "currency": "USD",
      "taxBasis": "unconfirmed",
      "priceSource": "https://store.robosense.ai/products/airy?variant=44401434165301",
      "checkedDate": "2026-10-23",
      "productId": "robosense-airy-96",
      "availability": {
        "de": "Hersteller zeigt Verfügbarkeitsbenachrichtigung; Liefertermin nicht gesichert.",
        "en": "Manufacturer shows availability notification; lead time unconfirmed."
      },
      "note": {
        "de": "360°×90° statt MID-360S 360°×59°; Orientierung/Scanlücke berücksichtigen. DDP-Text lässt Steueranteil des angezeigten Grundpreises offen. Daher nur bedingtes Vergleichspaket.",
        "en": "360°×90° rather than MID-360S360°×59°; account for orientation/scan gap. DDP text leaves the displayed base-price tax share unclear, so this is a conditional comparison bundle only."
      },
      "component": "sensor"
    },
    "mic130": {
      "id": "mic130",
      "name": "microsonic mic+130/IU/TC",
      "amount": 284.7,
      "currency": "EUR",
      "taxBasis": "net",
      "priceSource": "https://www.automation24.de/ultraschallsensor-microsonic-mic-130-iu-tc",
      "checkedDate": "2026-10-22",
      "productId": "microsonic-mic-plus-130-iu-tc",
      "component": "sensor",
      "minRangeM": 0.2,
      "maxRangeM": 1.3,
      "note": {
        "de": "Längerer Betriebsbereich 200–1300 mm bei größerem Düsenversatz; Strom-/Spannungsanbindung und 24-V-Versorgung einplanen. Keine Flugqualifikation.",
        "en": "Longer 200–1300 mm operating range for larger nozzle offset; plan current/voltage integration and 24 V supply. No flight qualification."
      }
    },
    "pressure400": {
      "id": "pressure400",
      "name": "ifm PT5400 · 0–400 bar",
      "amount": 176.1,
      "currency": "USD",
      "taxBasis": "unconfirmed",
      "priceSource": "https://www.digikey.com/en/products/detail/ifm-efector-inc/PT5400/12145157",
      "checkedDate": "2026-10-23",
      "productId": "ifm-pt5400",
      "component": "sensor",
      "note": {
        "de": "Drucküberwachung als Prozesskanal. Medien, Anschluss, Druckspitzen und Einbauort müssen zum Wasser-/Pumpenkreis passen; 4–20-mA-Adapter und separate Wasserfreigabe validieren.",
        "en": "Pressure monitoring as a process channel. Media, fitting, pressure spikes and mounting point must match the water/pump circuit; validate the 4–20 mA adapter and separate water-enable path."
      }
    }
  },
  "kits": [
    {
      "id": "bench",
      "title": {
        "de": "Nur Sensor-Prüfstand",
        "en": "Sensor bench only"
      },
      "items": [
        {
          "itemId": "urm14",
          "quantity": 1
        }
      ],
      "accessoryAllowanceEUR": 80,
      "markerMaterialAllowanceEUR": 0,
      "capability": {
        "de": "Materialprüfung vor Glas, Putz und nassen Oberflächen. Keine automatische Flugbahn.",
        "en": "Material tests against glass, render and wet surfaces. No automatic flight path."
      },
      "limitations": {
        "de": "Fester Prüfstand; noch kein Flugregler, keine 3D-Position und keine optische Gegenprüfung.",
        "en": "Fixed bench; no flight-control integration, 3D pose or optical cross-check."
      },
      "rankable": true,
      "markerPolicy": "any",
      "rank": 0,
      "level": 0,
      "references": "none",
      "autoSelect": true
    },
    {
      "id": "distance-assist",
      "title": {
        "de": "Pilotierte Abstandshilfe",
        "en": "Piloted distance assistance"
      },
      "items": [
        {
          "itemId": "urm14",
          "quantity": 1
        },
        {
          "itemId": "lw20ha",
          "quantity": 1
        }
      ],
      "accessoryAllowanceEUR": 120,
      "markerMaterialAllowanceEUR": 0,
      "capability": {
        "de": "Zwei unterschiedliche Messprinzipien am Wandabstand entwickeln und protokollieren. Der Pilot steuert Höhe und seitliche Bewegung.",
        "en": "Develop and log two different wall-ranging methods. The pilot commands vertical and lateral movement."
      },
      "limitations": {
        "de": "Nicht als autonome Reinigungsdrohne einordnen. Sensorwiderspruch oder ungültige Werte müssen zur Pause führen; keine Mittelwertbildung durch Glas.",
        "en": "Do not classify this as an autonomous cleaning drone. Conflicting or invalid readings must cause a pause; do not average through-glass readings."
      },
      "rankable": true,
      "markerPolicy": "any",
      "rank": 1,
      "level": 1,
      "references": "none",
      "autoSelect": true
    },
    {
      "id": "marker-vio",
      "title": {
        "de": "Lokale Bahnen mit Markern und VIO",
        "en": "Local paths with markers and VIO"
      },
      "items": [
        {
          "itemId": "pico100i",
          "quantity": 1,
          "alternatives": [
            "mic130"
          ]
        },
        {
          "itemId": "lw20ha",
          "quantity": 1
        },
        {
          "itemId": "oakprowwglobal",
          "quantity": 1
        },
        {
          "itemId": "seeedj3011",
          "quantity": 1
        },
        {
          "itemId": "pressure400",
          "quantity": 1
        }
      ],
      "accessoryAllowanceEUR": 400,
      "markerMaterialAllowanceEUR": 80,
      "capability": {
        "de": "Entwicklung wiederholbarer lokaler Bahnen an vorbereiteter Fassade: Kamera/IMU für Bewegung, vermessene Marker für Referenz, Ultraschall plus Laser für den Wandabstand.",
        "en": "Develop repeatable local paths on a prepared facade: camera/IMU for motion, surveyed markers for reference, ultrasound plus laser for wall ranging."
      },
      "limitations": {
        "de": "Nur mit sichtbaren, ausreichend verteilten Markern und erprobter Pose-/Failsafe-Software. Keine garantierten ±5 cm. Softwareintegration, kommerzielle VIO-Lizenz und Vermessungsarbeit nicht eingepreist.",
        "en": "Requires visible, sufficiently distributed markers and tested pose/failsafe software. No guaranteed ±5 cm. Software integration, commercial VIO licensing and surveying labor are not priced."
      },
      "rankable": true,
      "markerPolicy": "required",
      "rank": 2,
      "level": 2,
      "references": "markers",
      "autoSelect": true
    },
    {
      "id": "lidar-local",
      "title": {
        "de": "Bevorzugter 3D-Entwicklungsaufbau",
        "en": "Preferred 3D development setup"
      },
      "items": [
        {
          "itemId": "pico100i",
          "quantity": 2,
          "alternatives": [
            "mic130"
          ]
        },
        {
          "itemId": "lw20ha",
          "quantity": 1
        },
        {
          "itemId": "oakprowwglobal",
          "quantity": 1
        },
        {
          "itemId": "seeedj3011",
          "quantity": 1
        },
        {
          "itemId": "mid360s",
          "quantity": 1
        },
        {
          "itemId": "midcable15",
          "quantity": 1
        },
        {
          "itemId": "pressure400",
          "quantity": 1
        }
      ],
      "accessoryAllowanceEUR": 650,
      "markerMaterialAllowanceEUR": 120,
      "capability": {
        "de": "3D-LiDAR/IMU für Umgebung und LIO, Kamera/IMU als zweite Modalität, zwei zeitlich koordinierte Ultraschallköpfe und ein optischer Wandkanal. Marker dienen bei Bedarf als vermessene Referenz.",
        "en": "3D LiDAR/IMU for surroundings and LIO, camera/IMU as a second modality, two time-coordinated ultrasonic heads and an optical wall channel. Markers provide a surveyed reference when needed."
      },
      "limitations": {
        "de": "Zwei Ultraschallköpfe können denselben Umweltfehler teilen und brauchen Synchronisation. Eine glatte, ebene oder repetitive Fassade kann LIO/VIO trotz höherem Preis entarten lassen. Ohne Marker oder andere lokale Referenzen wird absolute Wiederholgenauigkeit nicht zugesagt.",
        "en": "Two ultrasound heads can share environmental failure modes and require synchronization. Flat, smooth or repetitive facades can make LIO/VIO degenerate despite a higher price. Without markers or other local references, absolute repeatability is not assured."
      },
      "rankable": true,
      "markerPolicy": "preferred",
      "rank": 3,
      "level": 3,
      "references": "features",
      "autoSelect": true
    },
    {
      "id": "airy-comparison",
      "title": {
        "de": "Bedingter Vergleich mit breiterem 3D-Sichtfeld",
        "en": "Conditional wider-FOV 3D comparison"
      },
      "items": [
        {
          "itemId": "pico100i",
          "quantity": 2,
          "alternatives": [
            "mic130"
          ]
        },
        {
          "itemId": "lw20ha",
          "quantity": 1
        },
        {
          "itemId": "oakprowwglobal",
          "quantity": 1
        },
        {
          "itemId": "seeedj3011",
          "quantity": 1
        },
        {
          "itemId": "airy96",
          "quantity": 1
        },
        {
          "itemId": "pressure400",
          "quantity": 1
        }
      ],
      "accessoryAllowanceEUR": 850,
      "markerMaterialAllowanceEUR": 120,
      "capability": {
        "de": "Airy ersetzt den MID-360S und dessen Kabel im Vergleichsaufbau. Das größere vertikale Sichtfeld kann Überhänge und obere/untere Umgebung besser abdecken, abhängig von Einbaulage.",
        "en": "Airy replaces MID-360S and its cable in this comparison. The larger vertical field may improve coverage of overhangs and upper/lower surroundings, depending on mounting."
      },
      "limitations": {
        "de": "Keine automatische Kaufempfehlung: Verfügbarkeit und steuerlicher Endpreis unklar. Größeres Sichtfeld macht Glas und Sprühnebel nicht zuverlässig messbar und liefert keine validierte autonome Reinigung.",
        "en": "Not an automatic purchase recommendation: availability and final tax treatment are unclear. Wider field does not make glass or spray reliable and does not deliver validated autonomous cleaning."
      },
      "rankable": false,
      "markerPolicy": "preferred",
      "rank": 4,
      "level": 3,
      "references": "features",
      "autoSelect": false
    }
  ],
  "defaults": {
    "budgetEUR": 3500,
    "usdPerEur": 1.1205,
    "taxPercent": 19,
    "reservePercent": 15,
    "ownComputer": false,
    "references": "markers",
    "surface": "mixed",
    "goal": "local",
    "sensorOffsetCM": 0,
    "beamAngleDeg": 0
  },
  "softwareSources": [
    {
      "title": "Spectacular AI OAK-D support",
      "url": "https://spectacularai.github.io/docs/sdk/wrappers/oak.html",
      "note": {
        "de": "OAK-D(Pro)W mit IMU unterstützt; Beispielpfad, kein fertiger PX4-Reinigungsregler.",
        "en": "OAK-D(Pro)W with IMU supported; example pipeline rather than a complete PX4 cleaning controller."
      }
    },
    {
      "title": "Spectacular AI commercial licensing",
      "url": "https://www.spectacularai.com/mapping",
      "note": {
        "de": "Kostenlos für nichtkommerzielle Nutzung; kommerzielle Lizenz auf Anfrage außerhalb Hardwarebudget.",
        "en": "Free for non-commercial use; commercial license by quote outside the hardware budget."
      }
    },
    {
      "title": "AprilTag 3 pose parameters",
      "url": "https://github.com/AprilRobotics/apriltag",
      "note": {
        "de": "Reale Markergröße und Kamerakalibrierung für Pose erforderlich. Materialbudget enthält keine Montage- und Vermessungsarbeit.",
        "en": "Physical marker size and camera calibration are required for pose. Material allowance excludes installation and surveying labor."
      }
    }
  ]
}
