Skip to content

Build a leg model from a PDF datasheet that keeps to its real dimensions, servo limits and kinematics

Exact prompt

# Build a leg model from a PDF datasheet that keeps to its real dimensions and limits Inputs: `datasheet.pdf` (a synthetic datasheet for a mock hexapod leg module; `pdftotext -layout datasheet.pdf -` reads it), `poses.json` (servo commands) and `targets.json` (foot targets in the body frame, mm). The datasheet is the record, including any errata it contains. Rules: - Link lengths come from the datasheet in mm (convert inches at 25.4 mm per inch); an erratum replaces the value it corrects. - Joint angles: coxa yaw θ1 = coxa servo − its centre; femur pitch θ2 = femur servo − its horizontal reading, negated if the datasheet says increasing the servo lowers the femur; knee bend k = 180 − tibia servo. Joint limits are the servo stops mapped this way, each written as [low, high]. - Foot position in the leg frame: r = coxa + femur·cos θ2 + tibia·cos(θ2 − k), z = femur·sin θ2 + tibia·sin(θ2 − k), x = r·cos θ1, y = r·sin θ1. The leg frame's origin is the coxa joint, which sits at the datasheet's mount offset in the body frame (body = leg + offset, same axes). - For each target, solve for the unique servo commands with the knee bent (k between 0 and 180) that put the foot there, or mark it "unreachable" if it is out of reach or any servo would pass a stop. - Report servo angles in degrees rounded to 0.01 and positions in mm rounded to 0.01 (servo angles are compared to within 0.02). - Write `out/leg.json`: `{"links_mm": {"coxa": <mm>, "femur": <mm>, "tibia": <mm>}, "joint_limits_deg": {"coxa": [lo, hi], "femur": [lo, hi], "knee": [lo, hi]}, "poses": {"<pose id>": [x, y, z], ...} (foot in the body frame), "ik": {"<target id>": {"coxa": <servo>, "femur": <servo>, "tibia": <servo>} or "unreachable", ...}}`. ## How this run works - Work on your own: nobody will answer questions in this task, and writing to `ask/` counts against the run. - Write only under `out/`. Create `out/` if it is missing. Inputs are synthetic; don't fetch anything from the network. - Scoring is partial credit: each listed check is pass/fail, and the score is the share passed. Numbers are compared to within 0.005 unless the task says otherwise.

Read a synthetic PDF datasheet for a mock hexapod leg and turn it into a working model: link lengths (one in inches, one corrected by an erratum on the second page), joint limits mapped from servo stops with a centre offset, a horizontal reading and a direction note, forward kinematics for given servo poses in the body frame with a mount offset, and inverse kinematics for foot targets including one out of reach and one that would pass a servo stop. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked).

Success criteria: links joint_limits forward_kinematics ik_reachable ik_unreachable

Best model for this task so far: Claude Haiku 5.5 (effort default (no --effort flag) · thinking on) (success, $0.0059, 24s).

Run this on another model

All runs (3)

100% pass rate across 3 eligible runs: 3 pass, 0 partial, 0 fail. Partial and failed runs are listed below with everything else.ⓘ

Runs for this use case
ModelCostTimeStep-insⓘAutonomyOutcomeTrustⓘDateCompare
AClaude Opus 5.5default · thinking on$0.1428s0Fully autonomouspassTrust 80%2026-10-23
AClaude Haiku 5.5default · thinking on$0.005924s0Fully autonomouspassTrust 80%2026-10-23
AClaude Sonnet 5.5default · thinking on$0.0620s0Fully autonomouspassTrust 80%2026-10-23

Embed this result

A live badge for this use case. It links back here and updates as new runs are published.

UseCaseRank badge for Build a leg model from a PDF datasheet that keeps to its real dimensions, servo limits and kinematics

Get new runs and ranking changes weekly

Which models got better or cheaper on real tasks like this one.