Short answer
Primitive shape annotation labels an object, or each of its parts, as a box, cylinder, sphere, cone or compound of these, with approximate dimensions and axes. Grasp planners can use such coarse geometry as a prior. Labels come from images, scans or CAD plus annotation partners. They describe shape, not weight, friction or how an object responds to a grasp.
What primitive annotations are for
Many grasp planners reason about simple geometry before they reason about detail. A mug becomes a cylinder with a handle, a carton becomes a box, a ball is a sphere, a funnel is a cone on a tube. Once an object is reduced to a few primitives, a planner can propose approach directions, aperture widths and contact surfaces without a full mesh. Compound objects are described as assemblies of primitives with relative poses.
The label is coarse by design. It trades fidelity for speed and for the ability to generalize to objects the system has never seen. For a buyer, the question is whether to pay for these labels, or to derive them automatically from scans or CAD, and what fit tolerance makes them useful.
This page is a specification for the labels. For labels that already describe grasps on products, read grasp annotations for products; for part-level meaning (handle, lid, spout), affordance and part labels. The cluster overview is the product and object data hub.
Where grasp labels sit in published work
ACRONYM contains 17.7M simulated parallel-jaw grasps over 8,872 objects in 262 categories, with grasp outcomes labeled by physics simulation (Eppner et al., 2020). It shows the scale at which simulation-labeled grasps can be generated for object meshes.
It is a reference for how grasp labels are produced, not a primitive-shape dataset, and nothing in the facts above says it contains primitive annotations. Its labels are simulated outcomes, which depend on the simulator's contact model, so they are not measurements of real grasps. Treat it as context for what a downstream consumer of your annotations may look like, not as evidence that primitive labels improve any particular planner.
Illustrative annotation schema
Illustrative only. Every value is synthetic, and the class list and tolerances are choices a buyer would make, not recommendations or minimums.
{
"object_id": "obj_01882",
"source_modality": "mesh | rgbd_scan | multi_view_images | cad",
"frame": "object_centered_z_up",
"units": "mm",
"parts": [
{
"part_id": "p1",
"primitive": "cylinder",
"params": {"radius": 38.0, "height": 95.0},
"pose_in_object": {"t": [0, 0, 47.5], "q": [0, 0, 0, 1]},
"fit_error_mm": 2.4,
"fit_method": "annotator_manual | automatic_then_reviewed",
"confidence": "high"
},
{
"part_id": "p2",
"primitive": "box",
"params": {"extents": [12.0, 30.0, 55.0]},
"role": "handle",
"fit_error_mm": 4.1,
"confidence": "medium"
}
],
"symmetry": "rotational_z",
"notes": "handle approximated as one box; curvature ignored"
}
Values such as fit_error_mm are placeholders. Whether 2 mm or 10 mm matters depends on the gripper aperture, the object size and the planner.
Decisions to make in the spec
Primitive vocabulary
Boxes, cylinders and spheres are the usual start. Decide whether to add cones, capsules, ellipsoids, tori and generic extrusions. A larger vocabulary fits better and takes longer to label with agreement.
Granularity
One primitive per object, or one per part? One-primitive labels are fast and cheap but poor for mugs, tools and bottles with necks. Part-level labels capture structure but require a part definition. State the maximum number of parts and the rule for ignoring small features.
Coordinate frame and units
Define the object frame, units, axis convention and rule for symmetric objects, so annotators do not rotate a cylinder arbitrarily. Orientation ambiguity is a cause of low agreement. See 6D pose annotation for the related frame-and-symmetry problem.
Source geometry
Labels fitted to a clean CAD model, a depth scan or images alone differ in accuracy. If sourcing from manufacturers' models, see manufacturer 3D models and CAD; for scans, point clouds and depth scans of products. Make source_modality a required field so you know what each label was fitted to.
Fit method
Decide whether annotators fit shapes by hand, whether software proposes fits that annotators correct, or whether fits are fully automatic with spot checks. Record the method per label. Automatic fits can be systematically wrong on thin, concave or transparent objects.
Who produces the labels
Annotation partners with 3D tooling can fit primitives to meshes and scans. They need a written guideline with worked examples, a golden set of objects labeled by your team, and a plan for adjudication. SourceX's role is sourcing, rights review, licensing and delivery coordination; annotation can be arranged case by case, so ask whether an annotation partner is feasible for your objects.
Suppliers of object assets (manufacturers, scanning studios, retailers) hold the geometry that labels are fitted to. Rights to the underlying model or images matter too; see simulation-ready object assets and product image rights. This is not legal advice.
Automatic pipelines that fit primitives to meshes can bootstrap the work, but you remain responsible for validation.
What primitive labels cannot support
Primitive shapes say nothing about mass, center of mass, friction, softness, internal contents or fragility. A cylinder label does not tell a planner whether the object is a rigid can or a squeezable bottle, and a box label cannot distinguish an empty carton from a full one. Primitives also approximate away features such as lips, grooves and handles that decide whether a grasp holds. Learning to grasp, carry and place real objects needs robot or teleoperation data with contact, force and outcome signals, or simulation validated against such data. Shape labels alone do not provide it, and neither do images or CAD.
Other limits:
- Approximation error. A fitted cylinder may overstate the stable contact area.
- Deformables. Bags, cloth and soft packaging do not hold a primitive shape. See deformable product properties.
- Hand versus gripper. A primitive that suits a two-finger gripper may not suit a multi-finger hand. See object data for hands versus grippers.
- Evaluation. Hold out object categories or manufacturers, not individual views of a seen object.
Acceptance tests
- Inter-annotator agreement. On a sample, report primitive-class agreement and parameter spread, with thresholds you set.
- Fit error. Compute the distance between the primitive and the source geometry and report its distribution.
- Frame consistency. Axes follow the written convention, including for symmetric objects.
- Coverage. Report counts per primitive and per part count, so empty cells are visible.
- Provenance. Each label records source modality, method and annotator or tool version.
Questions to ask annotation partners and suppliers
- Which 3D tools and source geometry will be used, and who verifies fits?
- Is there a written guideline with examples, and a golden set?
- How is agreement measured, and what happens on disagreement?
- What primitive vocabulary and part granularity can you deliver?
- How are symmetric and thin objects handled?
- Are fits manual, automatic or hybrid, and is that recorded per label?
- Who owns the labels, and who owns the underlying meshes or scans?
- Can the labels be delivered in a format your pipeline reads?
- Can a separate object set be annotated for evaluation?
Discuss your requirements
If you are specifying shape annotations for a grasp-planning project, describe the objects, source geometry and permitted uses to SourceX. SourceX looks for US businesses that hold suitable material, checks the data and the supplier's licensing permissions, and coordinates the license and delivery. A request does not guarantee a match; SourceX follows up about potential sources. The humanoid training data guide maps the other routes, and the catalog entry for expert annotations and labels describes a related data type.
Discuss your humanoid training-data requirements with SourceX
Sources
- ACRONYM: A Large-Scale Grasp Dataset Based on Simulation — simulation-labeled grasps on object meshes; context for grasp labels, not a primitive-shape dataset.