{"api":"v1","generated_at":"2026-09-15T19:12:59.480Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/jobs-rqmtechnologies-com-x402-buyer-jobs-robotics-normalize-sensor-frames-v1-9b45cd","pinned_page":"https://tollindex.com/e/jobs-rqmtechnologies-com-x402-buyer-jobs-robotics-normalize-sensor-frames-v1-9b45cd/at/2026-09-15T16-57Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-09-15T16:57:44.360Z","snapshot_stamp":"2026-09-15T16-57Z","endpoint":{"slug":"jobs-rqmtechnologies-com-x402-buyer-jobs-robotics-normalize-sensor-frames-v1-9b45cd","canonical_url":"https://jobs.rqmtechnologies.com/x402/buyer-jobs/robotics.normalize-sensor-frames.v1","resource":"https://jobs.rqmtechnologies.com/x402/buyer-jobs/robotics.normalize-sensor-frames.v1","http_method":"POST","type":"http","x402_version":2,"registries":["cdp"],"primary_registry":"cdp","curated_by_coinbase":false,"description":"Problem: Convert these bounded sensor observations into the supplied target frame and unit convention. Input: JSON with frame graph, target frame id, observations. Result: normalized or unsupported verdict, normalized observations, transform paths. Limits: Software/model evidence only; 65536 request bytes; 5 s execution.","service_name":"RQM Sensor frame normalization","declared_category":null,"declared_tags":["robotics","buyer-job"],"route_template":null,"registry_updated":"2026-09-10T00:49:23.102Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"buyer jobs robotics normalize sensor frames v1","category":"search","first_observed_by_toll":"2026-09-10T19:08:24.178Z","last_observed_by_toll":"2026-09-15T16:57:44.360Z","observation_began":"2026-09-10"},"presence":{"listed_now":true,"first_absent_at":null,"delisting_confirmed_at":null,"events":[{"registry":"cdp","at":"2026-09-10T19:08:24.178Z","event":"listed"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.01 USDC","amount_units":0.01,"decimals_known":true,"pay_to":"0x8F43274b121663b18a0246E9908bac8eAC866C12","scheme":"exact"}],"counters":{"observed_at":"2026-09-15T16:57:44.360Z","calls_30d":2,"unique_payers_30d":1,"last_called_at":"2026-09-10T00:49:22.309Z"},"validation":{"latest":{"observed_at":"2026-09-15T05:59:13.310Z","state":"pass","failed_checks":[],"endpoint_http_status":402,"run_id":"daily-2026-09-15"},"uptime":[{"days":7,"observed":5,"passed":3,"ratio":0.6},{"days":30,"observed":5,"passed":3,"ratio":0.6},{"days":90,"observed":5,"passed":3,"ratio":0.6}],"history_90d":[{"observed_at":"2026-09-15T05:59:13.310Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-15","state_changed":false},{"observed_at":"2026-09-14T05:30:38.668Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-14","state_changed":true},{"observed_at":"2026-09-13T05:25:22.718Z","state":"fail","failed_checks":["returns_402"],"run_id":"daily-2026-09-13","state_changed":false},{"observed_at":"2026-09-12T07:41:57.693Z","state":"fail","failed_checks":["endpoint_reachable"],"run_id":"daily-2026-09-12","state_changed":true},{"observed_at":"2026-09-11T11:31:51.103Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-11","state_changed":true}]},"seller":{"wallet":"0x8F43274b121663b18a0246E9908bac8eAC866C12","page":"https://tollindex.com/seller/0x8F43274b121663b18a0246E9908bac8eAC866C12","endpoints":41,"hosts":2},"reports":0,"registry_record":{"cdp":[{"tags":["robotics","buyer-job"],"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"payTo":"0x8F43274b121663b18a0246E9908bac8eAC866C12","amount":"10000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":300}],"quality":{"lastCalledAt":"2026-09-10T00:49:22.309Z","l30DaysTotalCalls":2,"l30DaysUniquePayers":1},"resource":"https://jobs.rqmtechnologies.com/x402/buyer-jobs/robotics.normalize-sensor-frames.v1","extensions":{"bazaar":{"info":{"input":{"body":{"request":{"frame_graph":{"frames":[{"frame_id":"base","rotation":{"kind":"quaternion","order":"wxyz","values":[1,0,0,0]},"handedness":"right","translation":{"unit":"m","values":[0,0,0]},"axis_convention":"FLU","parent_frame_id":null,"rotation_semantics":"active","transform_direction":"parent_to_child"},{"frame_id":"tool","rotation":{"kind":"matrix","values":[[1,0,0],[0,1,0],[0,0,1]]},"handedness":"right","translation":{"unit":"m","values":[0.4,0,0.7]},"axis_convention":"FLU","parent_frame_id":"base","rotation_semantics":"active","transform_direction":"parent_to_child"}],"tolerances":{"quaternion_norm":0.000001,"matrix_determinant":1e-8,"matrix_orthogonality":1e-8},"schema_version":"rqm.robotics.frame-convention-validation-request.v1","declared_handedness":"right","declared_length_unit":"m","declared_axis_convention":"FLU","declared_rotation_semantics":"active","declared_transform_direction":"parent_to_child"},"observations":[{"unit":"m","point":[0,0,0],"frame_id":"tool","observation_id":"point-1"}],"schema_version":"rqm.robotics.sensor-frame-normalization-request.v1","target_frame_id":"base"},"schema_version":"rqm.jobs.bazaar-buyer-job-request.v1","idempotency_key":"example-robotics.normalize-sensor-frames.v1","max_total_price":"0.010000"},"type":"http","method":"POST","bodyType":"json"},"output":{"type":"json","example":{"job_id":"job-robotics.normalize-sensor-frames.v1","status":"queued","product":"robotics","quote_id":"00000000-0000-4000-8000-000000000001","duplicate":false,"capability_id":"robotics.normalize-sensor-frames.v1","retrieval_url":"https://jobs.rqmtechnologies.com/x402/buyer-jobs/robotics.normalize-sensor-frames.v1/jobs/job-robotics.normalize-sensor-frames.v1","artifact_names":["normalized or unsupported verdict","normalized observations","transform paths"],"reservation_id":"00000000-0000-4000-8000-000000000002","schema_version":"rqm.jobs.bazaar-buyer-job-accepted.v1","retrieval_token":"rqm_retrieval_<opaque-job-scoped-token>","caller_next_step":"Fuse, compare, or archive normalized observations; repair the frame graph on unsupported.","result_schema_id":"rqm.robotics.sensor-frame-normalization-result.v1","x402_settlement_id":"00000000-0000-4000-8000-000000000003","x402_transaction_id":"0x<base-transaction>","result_schema_digest":"dbfa519d81d3b97f3c5421a90fe98eac6b01114faf295b86bd6346de6514350b","retrieval_token_expires_in":86400}}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["schema_version","idempotency_key","max_total_price","request"],"properties":{"request":{"type":"object","title":"SensorFrameNormalizationRequest","required":["frame_graph","target_frame_id","observations"],"properties":{"frame_graph":{"type":"object","title":"FrameConventionValidationRequest","required":["frames","declared_length_unit","declared_transform_direction","declared_rotation_semantics","declared_handedness","declared_axis_convention"],"properties":{"frames":{"type":"array","items":{"type":"object","title":"CoordinateFrame","required":["frame_id","translation","rotation","transform_direction","rotation_semantics","handedness","axis_convention"],"properties":{"frame_id":{"type":"string","title":"Frame Id","pattern":"^[A-Za-z][A-Za-z0-9_.:-]{0,63}$"},"rotation":{"oneOf":[{"type":"object","title":"QuaternionRotation","required":["values","order"],"properties":{"kind":{"type":"string","const":"quaternion","title":"Kind","default":"quaternion"},"order":{"enum":["wxyz","xyzw"],"type":"string","title":"Order"},"values":{"type":"array","title":"Values","maxItems":4,"minItems":4,"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}]}},"additionalProperties":false},{"type":"object","title":"MatrixRotation","required":["values"],"properties":{"kind":{"type":"string","const":"matrix","title":"Kind","default":"matrix"},"values":{"type":"array","title":"Values","maxItems":3,"minItems":3,"prefixItems":[{"type":"array","maxItems":3,"minItems":3,"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}]},{"type":"array","maxItems":3,"minItems":3,"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}]},{"type":"array","maxItems":3,"minItems":3,"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}]}]}},"additionalProperties":false}],"title":"Rotation","discriminator":{"mapping":{"matrix":"#/$defs/MatrixRotation","quaternion":"#/$defs/QuaternionRotation"},"propertyName":"kind"}},"handedness":{"enum":["right","left"],"type":"string","title":"Handedness"},"translation":{"type":"object","title":"Translation","required":["values","unit"],"properties":{"unit":{"enum":["m","cm","mm"],"type":"string","title":"Unit"},"values":{"type":"array","title":"Values","maxItems":3,"minItems":3,"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}]}},"additionalProperties":false},"axis_convention":{"enum":["ENU","NED","NWU","FLU","FRD"],"type":"string","title":"Axis Convention"},"parent_frame_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_.:-]{0,63}$"},{"type":"null"}],"title":"Parent Frame Id","default":null},"rotation_semantics":{"enum":["active","passive"],"type":"string","title":"Rotation Semantics"},"transform_direction":{"enum":["parent_to_child","child_to_parent"],"type":"string","title":"Transform Direction"}},"additionalProperties":false},"title":"Frames","maxItems":64,"minItems":1},"tolerances":{"type":"object","title":"Tolerances","properties":{"quaternion_norm":{"type":"number","title":"Quaternion Norm","default":0.000001,"maximum":0.01,"minimum":1e-12},"matrix_determinant":{"type":"number","title":"Matrix Determinant","default":1e-8,"maximum":0.01,"minimum":1e-12},"matrix_orthogonality":{"type":"number","title":"Matrix Orthogonality","default":1e-8,"maximum":0.01,"minimum":1e-12}},"additionalProperties":false},"schema_version":{"type":"string","const":"rqm.robotics.frame-convention-validation-request.v1","title":"Schema Version","default":"rqm.robotics.frame-convention-validation-request.v1"},"declared_handedness":{"enum":["right","left"],"type":"string","title":"Declared Handedness"},"declared_length_unit":{"enum":["m","cm","mm"],"type":"string","title":"Declared Length Unit"},"declared_axis_convention":{"enum":["ENU","NED","NWU","FLU","FRD"],"type":"string","title":"Declared Axis Convention"},"declared_rotation_semantics":{"enum":["active","passive"],"type":"string","title":"Declared Rotation Semantics"},"declared_transform_direction":{"enum":["parent_to_child","child_to_parent"],"type":"string","title":"Declared Transform Direction"}},"additionalProperties":false},"observations":{"type":"array","items":{"type":"object","title":"SensorObservation","required":["observation_id","frame_id","point","unit"],"properties":{"unit":{"enum":["m","cm","mm"],"type":"string","title":"Unit"},"point":{"type":"array","title":"Point","maxItems":3,"minItems":3,"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}]},"frame_id":{"type":"string","title":"Frame Id","maxLength":64,"minLength":1},"observation_id":{"type":"string","title":"Observation Id","maxLength":64,"minLength":1},"orientation_xyzw":{"anyOf":[{"type":"array","maxItems":4,"minItems":4,"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}]},{"type":"null"}],"title":"Orientation Xyzw","default":null},"position_covariance":{"anyOf":[{"type":"array","items":{"type":"array","items":{"type":"number"}},"maxItems":3},{"type":"null"}],"title":"Position Covariance","default":null}},"additionalProperties":false},"title":"Observations","maxItems":10000,"minItems":1},"schema_version":{"type":"string","const":"rqm.robotics.sensor-frame-normalization-request.v1","title":"Schema Version","default":"rqm.robotics.sensor-frame-normalization-request.v1"},"target_frame_id":{"type":"string","title":"Target Frame Id","maxLength":64,"minLength":1}},"additionalProperties":false},"schema_version":{"const":"rqm.jobs.bazaar-buyer-job-request.v1"},"idempotency_key":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]*$","maxLength":128,"minLength":1},"max_total_price":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,13})(?:\\.\\d{1,6})?$"}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["schema_version","product","capability_id","job_id","status","quote_id","reservation_id","x402_settlement_id","x402_transaction_id","retrieval_url","retrieval_token","retrieval_token_expires_in","result_schema_id","result_schema_digest","caller_next_step","duplicate"],"properties":{"job_id":{"type":"string"},"status":{"enum":["queued","running","completed"]},"product":{"enum":["wave","quantum","robotics"]},"quote_id":{"type":"string","format":"uuid"},"duplicate":{"type":"boolean"},"capability_id":{"type":"string"},"retrieval_url":{"type":"string","format":"uri"},"artifact_names":{"type":"array","items":{"type":"string"}},"reservation_id":{"type":"string","format":"uuid"},"schema_version":{"const":"rqm.jobs.bazaar-buyer-job-accepted.v1"},"retrieval_token":{"type":"string","pattern":"^rqm_retrieval_"},"caller_next_step":{"type":"string"},"result_schema_id":{"type":"string"},"x402_settlement_id":{"type":"string","format":"uuid"},"x402_transaction_id":{"type":"string"},"result_schema_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"retrieval_token_expires_in":{"type":"integer","minimum":1}},"additionalProperties":false}}}}}}},"description":"Problem: Convert these bounded sensor observations into the supplied target frame and unit convention. Input: JSON with frame graph, target frame id, observations. Result: normalized or unsupported verdict, normalized observations, transform paths. Limits: Software/model evidence only; 65536 request bytes; 5 s execution.","lastUpdated":"2026-09-10T00:49:23.102Z","serviceName":"RQM Sensor frame normalization","x402Version":2}]}}