{"documentation":"/glossary","source":"src/pipeline/registry.txt","keys":{"heightCm":{"l":"Height","a":"standing height of the whole robot, in the page's own unit","r":"height of a hand, arm, box or shipping crate; seated/folded height unless the page gives only that"},"widthCm":{"l":"Width","a":"body width (side to side), often the middle number of an HxWxD size","r":"packaging size; hand width"},"depthCm":{"l":"Depth","a":"body depth (front to back), often the last number of an HxWxD size","r":"packaging size"},"massKg":{"l":"Weight","a":"total robot weight, with battery unless the page says otherwise","r":"payload, hand weight, battery weight, shipping weight"},"reachM":{"l":"Reach","a":"maximum reach of the arm or robot","r":"arm length when a separate reach is not stated"},"armSpanMm":{"l":"Arm span","a":"fingertip-to-fingertip span with arms outstretched","r":"single arm length — Unitree's own \"Arm Span\" column prints ONE arm's length, not fingertip-to-fingertip; a reach figure"},"legLengthMm":{"l":"Leg length","a":"total leg length, or thigh + calf given as one number","r":"a single segment unless the page names it as leg length (\"400mm × 2\" is thigh × 2, one SEGMENT); never a thigh + calf sum you add up yourself"},"armLengthMm":{"l":"Arm length","a":"length of one arm","r":"arm span, reach; a per-segment number (\"338mm × 2\" is upper-arm × 2, one SEGMENT, not the whole arm) and never a sum you compute yourself"},"materials":{"l":"Materials","a":"body/structure materials the page names","r":"materials of a charger, box or accessory; materials of one part (battery enclosure, motor stator, tendon, actuator, hand, cover) unless the page says body, frame, structure or shell"},"workspaceHeightRangeM":{"l":"Workspace height range","a":"vertical range the robot can work in (floor to highest shelf)","r":"robot height"},"jointCountTotal":{"l":"Degrees of freedom","a":"total DoF / joint count of the robot; a range when variants differ","r":"a DoF count of one hand or arm only"},"jointCountExcludesHands":{"l":"DoF count excludes hands","a":"true when the page says the total DoF excludes the hands","r":"guessing from arithmetic"},"jointCountPerLeg":{"l":"DoF per leg","a":"DoF of ONE leg","r":"both legs added together"},"jointCountPerArm":{"l":"DoF per arm","a":"DoF of ONE arm (excluding hand unless stated)","r":"both arms added; hand DoF"},"jointCountWaist":{"l":"DoF waist","a":"DoF of the waist/torso/spine","r":"hip DoF counted in the leg"},"jointCountHead":{"l":"DoF head","a":"DoF of the head/neck","r":"camera pan of a sensor module"},"wristJointCount":{"l":"DoF wrist","a":"DoF of one wrist","r":"hand finger DoF"},"actuatorTypes":{"l":"Actuator types","a":"type of joint actuator or motor","r":"a motor model name alone"},"reducerTypes":{"l":"Reducer types","a":"gearing / transmission type of the joints","r":"guessing from the motor type"},"reductionRatio":{"l":"Reduction ratio","a":"gear reduction ratio as the page writes it (1:108 -> 108)","r":"anything computed"},"torqueDensityNmPerKg":{"l":"Torque density","a":"a stated N.m/kg number","r":"a torque divided by a weight you computed"},"maxJointPeakTorqueNm":{"l":"Max joint torque","a":"highest joint torque of the WHOLE robot (usually a knee, hip or other leg joint)","r":"torque of a finger, thumb, hand or wrist joint (use jointPeakTorqueNm); a different model"},"jointPeakTorqueNm":{"l":"Joint torque (per joint)","a":"torque of a named joint; put the joint name in the quote","r":"maximum torque of the whole robot when already given"},"jointRangeDeg":{"l":"Joint range (per joint)","a":"range of one named joint as printed (0~165° -> 0-165)","r":"converting ±155° into 0-310"},"encoderType":{"l":"Encoder type","a":"encoder type of the joints","r":"guessing"},"coolingType":{"l":"Cooling","a":"joint/body cooling method","r":"cooling of a charger, battery or dock — this key is joint/body cooling"},"hollowShaftCabling":{"l":"Hollow-shaft cabling","a":"true when joints route cables through a hollow shaft / internal wiring","r":"external cable harness"},"actuatorCycleLife":{"l":"Actuator cycle life","a":"rated number of cycles of an actuator/hand","r":"battery cycle life"},"positionRepeatabilityMm":{"l":"Position repeatability","a":"stated repeatability in mm","r":"accuracy of a sensor; ANY figure the page calls accuracy or precision — accuracy is NOT repeatability, so \"Accuracy 1mm\" does not prove this key"},"ratedLoadKg":{"l":"Rated payload","a":"rated / sustained payload of the WHOLE robot; a plain \"payload\" with no max/peak word goes here","r":"peak or instantaneous load; a load of another model; a value per arm, per hand, per finger or per joint — this key is the WHOLE robot (\"Payload: 3 kg per arm\" is loadPerArmKg, \"hand grasp load\" is handGraspLoadKg)"},"limitingLoadKg":{"l":"Peak payload","a":"maximum / peak / instantaneous payload of the WHOLE robot","r":"rated load; a plain \"payload\" with no max/peak word; a per-arm, per-hand, per-finger or per-joint value EVEN when it says peak or maximum (\"Arm normal load Peak: About 21Kg\" is loadPerArmKg) — this key is the WHOLE robot"},"liftLoadKg":{"l":"Lift capacity","a":"weight the WHOLE robot can lift","r":"weight it can CARRY — \"carry\" is not \"lift\", use ratedLoadKg; a per-arm, per-hand, per-finger or per-joint lift (\"each arm lifts 7 kg\" is loadPerArmKg) — this key is the WHOLE robot"},"loadPerArmKg":{"l":"Payload per arm","a":"payload of ONE arm","r":"total payload of both arms or of the whole robot — the quote itself must say per arm / each arm / single arm (\"25 kg carrying capacity\" is ratedLoadKg); what one hand can grasp (use handGraspLoadKg)"},"endEffectorMaxSpeedMps":{"l":"Hand/end-effector speed","a":"top speed of the hand/end effector","r":"walking speed"},"fingerCount":{"l":"Fingers per hand","a":"number of fingers on one hand","r":"joint count; a both-hands total — a directory's \"Number of fingers: 10\" or \"N total\" cell counts BOTH hands, this key is ONE hand; a count written only as a word (three)"},"handJointCount":{"l":"Hand DoF","a":"DoF of ONE hand","r":"DoF of both hands added — a directory's \"DOF in hands\", \"44 (32 in hands)\" or \"20 DOF total\" cell is the both-hands total, this key is ONE hand; never add two hands up yourself"},"handActiveJointCount":{"l":"Hand active DoF","a":"actively driven DoF of one hand","r":"passive joints"},"tactileSensing":{"l":"Tactile sensing","a":"true when the hands have tactile/touch sensors","r":"a touch screen"},"tactilePointCount":{"l":"Tactile points","a":"number of tactile sensing points per hand","r":"number of sensors of another kind"},"minDetectableForceG":{"l":"Minimum detectable force","a":"smallest force the hand can sense, as printed (3 grams)","r":"fingertip force"},"fingertipForceN":{"l":"Fingertip force","a":"force at the fingertip","r":"grip of the whole hand"},"gripperForceN":{"l":"Grip force","a":"grip / clamping force of the hand or gripper","r":"fingertip force"},"handGraspLoadKg":{"l":"Hand grasp load","a":"weight one hand can hold","r":"arm payload"},"handSensors":{"l":"Hand sensors","a":"sensors built into the hand/wrist","r":"sensors in the head"},"endEffectorSwappable":{"l":"Swappable end effector","a":"true when hands/end effectors can be swapped or options exist","r":"a battery swap"},"handMassG":{"l":"Hand weight","a":"weight of one hand","r":"robot weight"},"handControlInterface":{"l":"Hand control interface","a":"communication interface of the hand","r":"robot-level ports"},"walkingSpeedMps":{"l":"Walking speed","a":"normal walking speed","r":"running / maximum / top speed, including a speed the page itself calls a record (\"Moving speed of 3.3m/s(world record)\" is maxSpeedMps, not walking); hand, finger or arm speed (use endEffectorMaxSpeedMps) — this key is the WHOLE robot walking"},"maxSpeedMps":{"l":"Max speed","a":"top speed (running or maximum moving speed)","r":"walking speed when a separate max is given; hand, finger or arm speed (use endEffectorMaxSpeedMps) — this key is the WHOLE robot moving"},"maxSlopeDeg":{"l":"Max slope","a":"steepest slope it can walk, in degrees","r":"stairs height"},"stairClimbing":{"l":"Stair climbing","a":"true when the page says it climbs/navigates stairs","r":"a demo of a different robot"},"fallRecovery":{"l":"Fall recovery","a":"true when it can get up by itself after lying/falling","r":"fall detection only; push recovery, balance recovery or dynamic recovery — any \"recovery\" that is not getting up off the ground by itself"},"navigationMethod":{"l":"Navigation","a":"how it localises and navigates","r":"obstacle avoidance alone"},"batteryChemistry":{"l":"Battery chemistry","a":"battery chemistry as printed","r":"guessing lithium from \"battery\""},"batteryCapacityAh":{"l":"Battery capacity","a":"battery charge capacity in Ah or mAh","r":"energy in Wh"},"batteryNominalVoltageV":{"l":"Battery voltage (nominal)","a":"nominal battery voltage","r":"charger or max voltage"},"batteryMaxVoltageV":{"l":"Battery voltage (max)","a":"maximum / full-charge battery voltage","r":"nominal voltage"},"batteryEnergyWh":{"l":"Battery energy","a":"battery energy in Wh/kWh as printed","r":"capacity in Ah"},"batteryMassKg":{"l":"Battery weight","a":"weight of the battery pack","r":"robot weight"},"batteryPackCount":{"l":"Battery packs","a":"number of battery packs in the robot","r":"cells in series (\"13 string\"); a digit that is part of a company or product name (1X, Dex1-1, H1) is not a count; a count written only as a word (dual)"},"batterySwapMode":{"l":"Battery swap","a":"how the battery is exchanged","r":"charging method"},"batterySwapTimeSec":{"l":"Battery swap time","a":"time to swap a battery","r":"charge time"},"batteryReplaceableBy":{"l":"Battery replaceable by","a":"who may replace the battery","r":"guessing"},"batteryCycleLife":{"l":"Battery cycle life","a":"battery charge cycles","r":"actuator cycles"},"chargeMethod":{"l":"Charging method","a":"how the robot is charged","r":"battery swap mode"},"chargeTimeMin":{"l":"Charge time","a":"time to full charge, in the page's own unit; when the page prints two ends give BOTH","r":"runtime"},"chargePowerW":{"l":"Charge power","a":"charging power in W/kW","r":"battery energy"},"chargerInputVac":{"l":"Charger input voltage","a":"charger AC input voltage","r":"output voltage"},"chargerOutputVoltageV":{"l":"Charger output voltage","a":"charger output voltage","r":"battery nominal voltage"},"chargerOutputCurrentA":{"l":"Charger output current","a":"charger output current in A","r":"battery capacity"},"runtimeMin":{"l":"Runtime","a":"time on one charge, in the page's own unit; when the page prints two ends give BOTH","r":"charge time; standby time"},"runToChargeRatio":{"l":"Run-to-charge ratio","a":"a ratio the page prints itself (10:1)","r":"a ratio you computed from minutes per hour"},"dutyHoursPerDay":{"l":"Duty hours per day","a":"stated operating hours per day","r":"runtime per charge"},"sensors":{"l":"Sensors","a":"sensor types on the robot","r":"sensors of the charger or app"},"cameraCount":{"l":"Camera count","a":"number of cameras on the robot","r":"pixels; a digit that is part of a company or product name (1X, Dex1-1, D435) is not a count"},"cameraResolutionMp":{"l":"Camera resolution","a":"camera resolution in MP","r":"video resolution like 1080p unless MP is printed"},"cameraFrameRateFps":{"l":"Camera frame rate","a":"camera frame rate (fps or Hz)","r":"control loop frequency"},"cameraFovHorizontalDeg":{"l":"Camera FOV (horizontal)","a":"horizontal field of view in degrees","r":"vertical FOV"},"cameraFovVerticalDeg":{"l":"Camera FOV (vertical)","a":"vertical field of view in degrees","r":"horizontal FOV"},"cameraShutterType":{"l":"Camera shutter","a":"camera shutter type","r":"guessing"},"depthMethod":{"l":"Depth method","a":"how depth is sensed","r":"a method the page never names for THIS robot; a bare \"depth camera\" with no method and no model — a named depth-camera model whose method is known (RealSense D435 = stereo) is fine, it is not a guess"},"depthMinRangeM":{"l":"Depth min range","a":"closest distance depth works at","r":"maximum range"},"lidar":{"l":"LiDAR","a":"true when a LiDAR is on the robot (false when page says vision-only/no lidar)","r":"a lidar on a charger or dock"},"imuAxes":{"l":"IMU axes","a":"number of IMU axes (6-axis -> 6)","r":"number of IMUs"},"microphoneCount":{"l":"Microphones","a":"number of microphones","r":"speakers"},"speakerPowerW":{"l":"Speaker power","a":"speaker power in W","r":"charger power"},"displayScreens":{"l":"Displays","a":"screens on the robot body","r":"app screens"},"computeUnit":{"l":"Compute","a":"main onboard computer hardware (CPU/GPU/SoC board) as printed, with role if given","r":"compute of the charger/app/cloud; an AI model or software name (Helix, GR00T, Redwood, UnifoLM) — this key is hardware; a phrase that names no hardware at all (\"onboard computer hardware\"); a guess the page itself marks as one (\"(likely NVIDIA Jetson platform)\") — copy the hardware, not the hedge"},"computeAiPerformance":{"l":"AI compute","a":"AI compute number as printed (TOPS or TFLOPS)","r":"CPU clock; the AI compute of an accessory sold separately (e.g. a compute backpack) — that is not the robot's own compute"},"computeAiMetric":{"l":"AI compute metric","a":"the unit/metric the AI compute number is given in","r":"a version number; the metric printed for an accessory sold separately (e.g. a compute backpack) — that is not the robot's own compute"},"computeMemoryGb":{"l":"Memory","a":"onboard RAM","r":"storage"},"computeStorageGb":{"l":"Storage","a":"onboard storage","r":"RAM"},"computeOptionalModule":{"l":"Optional compute module","a":"a compute module the page itself calls optional / add-on / upgrade / available for purchase","r":"the standard computer; a module the page does not call optional; an AI model or software name (Helix, GR00T, Redwood, UnifoLM) — this key is hardware"},"safetyController":{"l":"Safety controller","a":"a separate safety-rated controller as described","r":"general safety claims"},"wifiStandard":{"l":"Wi-Fi","a":"Wi-Fi standard (plain WIFI only if no version)","r":"Bluetooth"},"bluetoothVersion":{"l":"Bluetooth","a":"Bluetooth version as printed (\"5.2\")","r":"Wi-Fi; the bare word \"Bluetooth\" in a connectivity list (\"Wifi, Bluetooth, 5G\") or a \"Bluetooth: Yes / supported\" cell — this key is the version number only"},"cellular":{"l":"Cellular","a":"cellular radio","r":"Wi-Fi"},"ethernetPortCount":{"l":"Ethernet ports","a":"number of Ethernet ports","r":"USB ports"},"fieldbusPorts":{"l":"Fieldbus ports","a":"fieldbus ports exposed to developers","r":"Ethernet, USB"},"auxPowerOutputs":{"l":"Aux power outputs","a":"external power outputs as printed","r":"battery voltage"},"robotOs":{"l":"Robot OS","a":"the robot's operating system as printed","r":"SDK host OS; the OS of an accessory sold separately (e.g. a compute backpack) — that is not the robot's own OS; a cell that says N/A, none or \"not published\" — that is not a value"},"sdkHostOs":{"l":"SDK host OS","a":"OS the SDK runs on as printed","r":"the robot OS when not stated for the SDK — a line about what the ROBOT ships with (\"typically shipped with Ubuntu 20.04\") is robotOs, not the SDK host"},"middleware":{"l":"Middleware","a":"robot communication middleware","r":"a programming language"},"ros2Distros":{"l":"ROS 2 distros","a":"ROS 2 distributions supported","r":"plain \"ROS 2\" with no distro"},"sdkLanguages":{"l":"SDK languages","a":"languages of the official SDK/API","r":"languages of an unrelated tool"},"sdkUrl":{"l":"SDK link","a":"URL of the official SDK, copied exactly from the page","r":"a URL you build"},"sdkLicense":{"l":"SDK license","a":"SDK licence as printed","r":"hardware licence"},"apiDocsUrl":{"l":"API docs link","a":"URL of the developer docs, copied exactly from the page","r":"a URL you build"},"simulationAssets":{"l":"Simulation assets","a":"simulators/robot models provided","r":"a generic mention of AI"},"otaUpdates":{"l":"OTA updates","a":"true when software updates are delivered over the air","r":"updates of an app only"},"secondaryDevelopmentSupported":{"l":"Open to developers","a":"true when the page says users can develop on it","r":"a different variant"},"hardwareLicense":{"l":"Hardware license","a":"open-hardware licence as printed","r":"software licence"},"cadFilesUrl":{"l":"CAD files link","a":"URL of CAD files, copied exactly from the page","r":"a URL you build"},"mobileApp":{"l":"Mobile app","a":"true when a companion phone app exists","r":"a web dashboard"},"handheldControllerIncluded":{"l":"Handheld controller","a":"true when a handheld controller comes with it","r":"a phone app"},"operatingModes":{"l":"Operating modes","a":"modes the robot can be operated in","r":"motion states like \"squat mode\""},"aiLearningMethod":{"l":"AI learning method","a":"how the robot's AI is trained","r":"marketing words; a buyer segment or a \"Best for / Who is it for\" list (\"for reinforcement learning research labs\") — that names the buyer, not how the AI is trained"},"fleetLearning":{"l":"Fleet learning","a":"true when learning from one robot improves the fleet","r":"single-robot learning"},"multiRobotCoordination":{"l":"Multi-robot coordination","a":"true when robots coordinate with each other","r":"one robot with a human"},"voiceInteraction":{"l":"Voice interaction","a":"true when you can talk to it","r":"a speaker spec alone"},"teleopInterfaces":{"l":"Teleoperation interfaces","a":"devices a human uses to teleoperate","r":"voice commands"},"humanDetection":{"l":"Human detection","a":"true when it detects humans nearby","r":"generic obstacle avoidance"},"emergencyStop":{"l":"Emergency stop","a":"how the robot can be emergency-stopped","r":"a pause button in an app unless called emergency stop"},"supervisoryRemoteStop":{"l":"Supervisory remote stop","a":"true when a supervisor can stop it remotely","r":"local e-stop only"},"motionIntentSignals":{"l":"Motion intent signals","a":"true when it signals where it will move (lights/projection)","r":"status LEDs only"},"pinchFreeDesign":{"l":"Pinch-free design","a":"true when the page claims pinch points are removed/protected","r":"soft padding alone"},"safeStateOnFault":{"l":"Safe state on fault","a":"what the robot does when a fault occurs","r":"normal shutdown"},"safetyZoneDiameterM":{"l":"Safety zone","a":"recommended keep-clear zone size (diameter, or radius x2 only if printed)","r":"a room size"},"ipRating":{"l":"IP rating","a":"IP code as printed, with body part if given","r":"guessing from \"water resistant\"; a cell that says N/A, none or \"not published\" — that is not an IP code"},"operatingTempMinC":{"l":"Operating temp (min)","a":"lowest operating temperature","r":"storage temperature"},"operatingTempMaxC":{"l":"Operating temp (max)","a":"highest operating temperature","r":"storage temperature"},"operatingHumidityMinPct":{"l":"Operating humidity (min)","a":"lowest operating humidity %","r":"storage humidity"},"operatingHumidityMaxPct":{"l":"Operating humidity (max)","a":"highest operating humidity %","r":"storage humidity"},"noiseEmissionDbA":{"l":"Noise level","a":"noise emission in dB","r":"speaker loudness"},"cloudDependency":{"l":"Cloud dependency","a":"whether THIS robot needs the cloud to work, as stated for it","r":"speculation (\"likely depends\"); general statements about humanoids as a category"},"trainsOnCustomerData":{"l":"Trains on customer data","a":"whether customer data is used to train the AI","r":"speculation"},"encryptionInTransit":{"l":"Encryption in transit","a":"true when data sent from the robot is encrypted in transit","r":"at-rest or file/firmware encryption; research findings about obfuscation"},"encryptionAtRest":{"l":"Encryption at rest","a":"true when stored data is encrypted","r":"in-transit encryption only"},"dataActPreContractInfoUrl":{"l":"Data Act info link","a":"URL of the EU Data Act pre-contract information, copied exactly","r":"a privacy policy URL"},"dataTypesGenerated":{"l":"Data generated","a":"kinds of data the ROBOT itself generates or collects (camera, audio, maps, telemetry)","r":"speculation; what the vendor's WEBSITE or app collects from visitors (cookies, IP address, browser data in a website privacy policy)"},"dataStorageLocation":{"l":"Data storage location","a":"where the ROBOT's data is stored","r":"speculation; what the vendor's WEBSITE or app collects from visitors (cookies, IP address, browser data in a website privacy policy)"},"dataRetentionPeriod":{"l":"Data retention","a":"retention period as printed","r":"guessing; what the vendor's WEBSITE or app collects from visitors (cookies, IP address, browser data in a website privacy policy)"},"userDataAccessMethod":{"l":"User data access","a":"how users access/export their data, as printed","r":"generic privacy text; what the vendor's WEBSITE or app collects from visitors (cookies, IP address, browser data in a website privacy policy)"},"vulnDisclosureUrl":{"l":"Vulnerability disclosure link","a":"URL of the security/vulnerability disclosure page, copied exactly","r":"a general contact page"},"sbomUrl":{"l":"SBOM link","a":"URL of a published SBOM","r":"a licence page"},"supportPeriodEndMonth":{"l":"Support period end","a":"month security support ends (YYYY-MM)","r":"warranty period"},"craSinglePointOfContact":{"l":"CRA contact point","a":"the security contact as printed","r":"sales contact"},"automaticSecurityUpdatesDefault":{"l":"Automatic security updates","a":"true when security updates install automatically by default","r":"manual OTA"},"secureDecommissioningInfoUrl":{"l":"Decommissioning info link","a":"URL of decommission/erase instructions","r":"a privacy policy"},"euDeclarationOfConformityUrl":{"l":"EU Declaration of Conformity link","a":"URL of the EU DoC document","r":"a CE mark mention without a document"},"digitalInstructionsUrl":{"l":"Digital instructions link","a":"URL of the official user manual/instructions","r":"a marketing page"},"requiresNotifiedBody":{"l":"Needs notified body","a":"true/false only when the page says it","r":"guessing from the regulation"},"safetyDecisionLogging":{"l":"Safety decision logging","a":"true when safety-relevant decisions are logged","r":"generic data collection"},"safetySoftwareIdentification":{"l":"Safety software identification","a":"true when the safety software version is identifiable","r":"app version"},"aiInteractionDisclosure":{"l":"AI interaction disclosure","a":"true when it tells people they interact with an AI","r":"general AI marketing"},"batteryPassportId":{"l":"Battery passport ID","a":"battery passport identifier as printed","r":"battery model"},"domesticEndProduct":{"l":"Domestic end product (US)","a":"true/false when the page says the robot is made/assembled in the USA","r":"HQ location; \"domestic use\" (= for home use)"},"chinaIdentityModelCode":{"l":"China identity model code","a":"MIIT identity/model code as printed","r":"a product model name"},"fieldServiceType":{"l":"Field service","a":"how the vendor services robots","r":"warranty length; on-site or remote said of something else (on-site training, remote teleoperation, a remote operator) — the page must say the SERVICE or repair is on-site / depot / remote"},"serviceResponseHours":{"l":"Service response time","a":"hours to respond to a service request","r":"repair time"},"serviceOnSiteHours":{"l":"Service on-site time","a":"hours until a technician is on site","r":"response time"},"serviceRepairHours":{"l":"Repair time","a":"hours to repair","r":"response time"},"maintenanceIntervalMonths":{"l":"Maintenance interval","a":"months between scheduled maintenance","r":"warranty period"},"fieldReplaceableModules":{"l":"Field-replaceable modules","a":"modules that can be swapped in the field","r":"factory-only repairs"},"customerSelfRepair":{"l":"Customer self-repair","a":"true when the customer can repair/replace parts","r":"vendor service; a warranty exclusion clause (\"damage caused by self-repair or disassembly is not covered\") — that says nothing about whether the customer MAY repair it"},"fleetSoftware":{"l":"Fleet software","a":"name of the fleet management software","r":"the robot OS"},"fleetKpis":{"l":"Fleet KPIs","a":"KPIs the fleet software reports","r":"marketing claims"},"integrations":{"l":"Integrations","a":"external systems it integrates with","r":"customer names"},"washableCover":{"l":"Washable cover","a":"true when the body cover is washable","r":"washable hands only unless stated"},"homeFeatures":{"l":"Home features","a":"home features the page claims","r":"features of a different robot"},"priceFromUsd":{"l":"Price from (USD)","a":"lowest list price of this robot in US dollars as the page prints it ($13.5K stays 13.5K)","r":"a price in another currency (never convert ¥/€); rent, lease, RaaS or subscription per month; a used, reseller or street price (\"depending on vendor\"); ANY hedged price — est., (est.), estimated, target price, around, approximately, typical, likely, a third-party range — this key is only a price the seller itself asks; a different model, variant or accessory"},"lifecycleStage":{"l":"Stage","a":"the robot's current commercial stage as the page states it for THIS robot","r":"a stage of another model; a company-wide statement; a future plan as if it were now"},"locomotionType":{"l":"Locomotion","a":"how the robot moves","r":"a different model's base; an optional accessory"},"userType":{"l":"User type","a":"the main buyer the page names for this robot","r":"every possible use; a single demo"},"applicationClasses":{"l":"Applications","a":"kinds of work the page says this robot does or is designed for","r":"a single anecdote about another robot"},"announcedAt":{"l":"Announced","a":"date the robot was first announced, as printed (YYYY-MM-DD, YYYY-MM or YYYY)","r":"a date of a different event (funding, delivery); a date you infer"},"availableAt":{"l":"Available from","a":"date deliveries start / it becomes available, as printed","r":"announcement date; a pre-order date unless it is when it ships; an \"as of <year>\" status note (that is when the page was written, not when sales began)"},"discontinuedAt":{"l":"Discontinued","a":"date the robot was discontinued, as printed","r":"a successor's launch date"},"priceStatus":{"l":"Price status","a":"how the page presents this robot's price","r":"a price of another model"},"autonomyClaim":{"l":"Autonomy claim","a":"how autonomous the vendor says the robot is in normal use","r":"a single demo clip; a claim about a future version"},"designCountryCode":{"l":"Designed in","a":"country where the maker designs the robot / is headquartered, as printed","r":"where it is sold; a customer's country"},"manufacturingCountryCodes":{"l":"Made in","a":"countries where the page says the robot is made / assembled","r":"headquarters when manufacturing is not mentioned"},"generation":{"l":"Generation","a":"the robot's generation as printed (\"third-generation\", \"Gen 3\")","r":"a version number of software"},"predecessorName":{"l":"Predecessor","a":"name of the model this robot replaces, as printed","r":"a competitor's robot; another version or variant of THIS SAME robot (\"compared to the prior H1, H1-2 offers…\" names a variant of itself, not a predecessor)"},"logoUrl":{"l":"Logo","a":"URL of the maker's logo image, copied exactly from the vendor page","r":"a product photo; a URL you build; a logo re-hosted by a directory (humanoid.guide/wp-content/…, a directory's own CDN copy) — it must be on the maker's own domain"},"availabilityRegions":{"l":"Sold in","a":"regions where the page says the robot can be bought or delivered","r":"where the company is based; a country badge, flag caption or a \"Country / Nationality / Origin\" field (a bare \"China\" cell, a flag image, \"made by Unitree Robotics in Hangzhou, China\") — this key is where the ROBOT is sold or delivered"},"depositUsd":{"l":"Deposit (USD)","a":"refundable or non-refundable deposit to reserve, in US dollars as printed","r":"full price; monthly subscription"},"subscriptionUsdPerMonth":{"l":"Subscription (USD/month)","a":"monthly subscription or rental price in US dollars as printed","r":"one-time purchase price"},"warrantyMonths":{"l":"Warranty","a":"warranty length in months or years as printed","r":"service response time"},"standardsClaimed":{"l":"Standards claimed","a":"safety / product standards the page says this robot meets or is certified to","r":"standards of a component supplier; plans to certify"},"fccId":{"l":"FCC ID","a":"the FCC ID string as printed on the page","r":"a model number"},"hqCity":{"l":"Headquarters","a":"city of the maker's headquarters as printed","r":"a factory or office city not called headquarters; a COUNTRY, state, province or region standing alone — \"headquartered in Norway\" names no city, so omit the key; a city WITH its state or country is fine (\"Salem, Oregon\")"},"foundedYear":{"l":"Founded","a":"year the maker was founded, as printed","r":"a product launch year"},"employeeCount":{"l":"Employees","a":"number of employees as printed","r":"number of engineers in one team"},"totalFundingUsd":{"l":"Total funding (USD)","a":"total money raised in US dollars as printed","r":"valuation; a market cap; an IPO, listing or flotation figure; a revenue or order-backlog figure; a single round (a Series A/B/C amount) when the total is also given — one block may print several of these side by side (\"IPO planned at $7B. Total Funding $200M+ Valuation $1.4B+\"), so take only the one the page labels as raised or total funding"}}}