Arm design

Sweep the arm. Find the one that reaches.

One study file names the links to vary, the workspace, the payload, the obstacles and the limits. CommandAGI scores every variant, ranks them, and steps the best one in the physics engine.

Simulated: an SO-101 arm with a longer upper arm and forearm reaches down into a blue tray 40 mm deep, its gripper against the tray's front wall. Each part is drawn as the convex collision pieces the physics engine uses, in white, at the joint angles the engine held 5.200 s into the run.
Simulated. Variant v17 of the SO-101 at 5.200 s of its engine run, the step its gripper first touches the tray, on its front wall. Each collision piece is drawn at the joint angles the engine held. Rendered in Blender's path tracer.

Case study · the SO-101's reach

The arm as made reaches 63.9%. v17 reaches 95.6%.

The study varies three lengths of the SO-101 follower arm: the upper arm, the forearm and the elbow offset. It sweeps 18 variants. Each one must pick from above at 252 points of a 200 × 150 mm patch, with 0.5 kg in the gripper, inside a tray 40 mm deep. A point counts only if a pose reaches it and no link touches the tray, the table, the base or the arm itself.

of the patch for v17 (241 of 252 points): a 140 mm upper arm and a 150 mm forearm
95.6%
for the SO-101 as made, 15th of 18
63.9%
variants pass all three limits (coverage 0.9, manipulability 60 mm/rad, torque 0.7 of rated)
4 of 18
for the whole sweep, 8 starting poses for each point
26.2 s

Simulated

Coverage of each variant, without the tray and with it
数値
Coverage of each variant, without the tray and with it
Variant, in rank orderWithout the tray (2026-11-03)With the tray
v1798.8%95.6%
v1898.4%94.8%
v1595.6%92.9%
v1695.2%91.7%
v1192.9%89.3%
v1391.3%87.7%
v1290.5%86.9%
v988.5%85.3%
v1489.7%85.3%
v1086.1%81.8%
v781.3%76.6%
v879.4%74.6%
v573.4%71%
v670.6%67.1%
v3 (as made)68.2%63.9%
v465.9%61.1%
v160.7%55.6%
v259.5%54.4%
ProvenanceFile cloud://global/examples/arm-design/Reach.study.tsxRun runs/20261105t154819z-e4ioOutput case-studies/arm-design/stats.jsonTool commandagi study run Reach.study.tsxRan on This computer (dell-gb10-1)When

One obstacle changes the answer

A 40 mm tray takes three arms below the limit.

The tray is one line of the study: <obstacle id="tray" … wall={4} />. Every variant loses 6 to 13 points of the grid to it, each one a pose whose gripper meets a wall. v17 still ranks first. v11, v13 and v12 passed the 0.9 coverage limit before the tray, and now they do not. v9 and v14 change places. A ranking that ignores what is around the arm picks the wrong arm.

Open the studySee physics worlds

Simulated

points of v17's grid lost to the tray, 11 of the SO-101's as made
8
for v11, below the limit
92.9% → 89.3%
for v13 and 90.5% → 86.9% for v12
91.3% → 87.7%
v17's lowest manipulability (the limit is 60)
143.4 mm/rad
ProvenanceFile cloud://global/examples/arm-design/Reach.study.tsxRun runs/20261105t154819z-e4ioOutput case-studies/arm-design/stats.jsonTool commandagi study run Reach.study.tsxWhen

The best arm, in the engine

The ranking says v17 passes. The engine says its servos cannot keep up.

The study then steps v17's whole trajectory through its 241 reached poses in the physics engine, 1,000 steps a second, with the servos' torque and speed limits. The static check passes at 0.585 of the rated torque. In motion, the servos are at their limit for most of the run, and the tool point falls far behind its path. The gripper also touches the tray between two reached poses: the pose check does not test the moves between poses, and the engine finds the contact. The case study stepped the trajectory again from the same files and got the same figures, step for step.

engine steps, 44.7 s of motion
44,741
with a servo at its rated torque (elbow 29.7 s)
35.2 s
the furthest the tool point fell behind its path
74.2 mm
touches of the tray, 1 to 2 ms each, 0.027 s in all
26

Simulated

Simulated: the same moment in a tall frame: the SO-101 variant v17 from the side, its base on the left, its arm arching over into the blue tray, the gripper touching the tray's front wall. Drawn from the engine's collision pieces at 5.200 s.
ProvenanceFile cloud://global/examples/arm-design/Reach.study.tsxRun runs/20261105t154819z-e4ioOutput case-studies/arm-design/stats.jsonTool scripts/sites/case-studies.mjs arm-design (sim-engine.js, Rapier)Ran on This computer (dell-gb10-1, 20 cores)When

What this is not

A ranking of the declared model, not physical evidence.

The SO-101's values come from its URDF and MJCF, and the definition says verified: "none". The rated torque is the MJCF's force range. Each of the five links is parametric CAD (a printed PLA body and the STS3215 it carries as its case), built by the 3D kernel at each length, and their masses come from the kernel. At the SO-101's own lengths each weighs within 3% of the SO-101's model. The printed walls are solid and the servo mass is the datasheet's, not weighed. The base's pieces are its visual meshes, cut into convex pieces. The tray is a declared box. No arm of these lengths has been built or measured. A physical run of a built v17 is what would make it evidence, and its records would never mix with these.

physical runs of any variant
0
the definition's verified level
none
checks pass; dynamics is unknown
7 of 8
rated torque of each servo, from the MJCF
3.35 N·m
ProvenanceFile cloud://global/examples/arm-design/devices/so101-reach/definition.tsxRun runs/20261105t154819z-e4ioWhen

Put your arm through the study.

Name the links to vary, the workspace, the payload and what is in the way. Run the sweep, read the ranking, and adopt the best variant into the definition, in one file.