Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.roboticks.io/llms.txt

Use this file to discover all available pages before exploring further.

ISO/TS 15066

ISO/TS 15066:2016, Robots and robotic devices — Collaborative robots, is the technical specification that puts numbers on the collaborative-operation clauses of ISO 10218. It defines the quantitative biomechanical limits for transient and quasi-static contact between a cobot and a human operator. It is normatively a Technical Specification, not a full International Standard — but it is the dominant reference for cobot conformity claims under ISO 10218 collaborative-operation clauses, and is cross-cited by EU MR 2023/1230 conformity assessments for cobot applications.
Roboticks is audit-readiness tooling, not a certified toolchain. We assemble the evidence your notified body, certification body, or QA process ingests. We do not replace tool qualification (DO-178C, ISO 26262-8 TCL) and we do not issue conformity assessments. Verify the regulatory interpretations on this page against the standard text and your accredited assessor.

Scope

Applies to:
  • Collaborative robot systems (robot + end-effector + cell) operating in Power and Force Limiting (PFL) mode per ISO 10218.
  • Quantitative biomechanical limits for transient (impact, ≤0.5 s) and quasi-static (clamping, >0.5 s) contact.
  • Contact-pressure and contact-force thresholds per body region (head, face, chest, abdomen, upper limb, hand, etc.) — Annex A.
It does not apply to:
  • Safety-rated Monitored Stop (SMS), Hand Guiding (HG), or Speed-and-Separation Monitoring (SSM) modes — the other three collaborative modes of ISO 10218. Those have their own clauses and do not require force / pressure verification.

What the thresholds look like

Annex A gives, per body region, a maximum quasi-static force, transient force, quasi-static pressure, and transient pressure. The numbers are the result of biomechanical pain-onset studies. As an illustrative example (consult the standard for exact values and the most current edition):
Body regionQuasi-static forceTransient force
Hand, fingerlowmoderate
Forearmmoderatehigher
Upper armmoderatehigher
Chestlowmoderate
Head, facevery low (effectively zero contact recommended)very low
The clinical numbers are in Annex A of the TS. Your contact assessment must produce, for every contact scenario the risk assessment identifies, a force/pressure measurement (or validated model) below the applicable threshold.

What Roboticks supports

  • Clause-level derivation from ISO/TS 15066, particularly the Annex A tables.
  • Per-body-region requirement structure — author one requirement per (body region, contact mode) tuple, derive it from the corresponding Annex A row.
  • Sim-based force measurement — capture wrench data on contact-candidate surfaces in Gazebo or Webots; the SDK provides roboticks.gazebo.contact_force() and roboticks.webots.touch_sensor() helpers.
  • Hardware-test ingestion — JUnit XML from your hardware-in-the-loop rig with roboticks.confirms properties tying back to the derived requirement.
  • MCAP capture of contact events — every contact scenario records a bag containing TF, contact wrenches, joint states. The evidence pack references the MCAPs.

What Roboticks does not do

  • We do not maintain the Annex A threshold tables. Pull them from your licensed copy of ISO/TS 15066.
  • We do not provide certified contact-force sensors. You bring the hardware or the validated sim model.
  • We do not perform the biomechanical-equivalence assessment that justifies sim-only verification (when sim is your evidence vehicle, your safety engineer documents the equivalence).

Sim-based vs hardware verification

Both are acceptable; both have trade-offs.
ApproachProsCons
Sim-based (Gazebo / Webots with contact models)Scales to thousands of scenarios; cheap; reproducibleRequires validated contact model; assessment-time scrutiny on sim-vs-reality
Hardware-in-the-loopDirect measurement; persuasive to assessorsSlow; expensive; limited scenario coverage
Hybrid (sim broad coverage + hardware spot validation)Best of bothMore tooling to maintain
Most production cobot programs end up hybrid: a few hundred sim scenarios cover the breadth of contact configurations, and a curated set of ~20 hardware spot tests anchor the sim-vs-reality equivalence claim. The evidence pack accommodates both — sim runs and hardware runs are equally first-class JUnit + MCAP inputs.

Example derived requirement

- id: REQ-PFL-007
  title: Quasi-static contact force on upper arm below TS 15066 Annex A limit
  type: safety
  asil_pl: PLd
  derives_from:
    - standard: iso-ts-15066-2016
      clause: "Annex A, Table A.2 — upper arm, quasi-static"
      edition: "2016"
    - standard: iso-10218-1-2025
      clause: "§5.10.5 Power and Force Limiting"
      edition: "2025-07"
  text: |
    In any operating mode where contact with an operator's upper arm
    is foreseeable, the cobot shall not produce a quasi-static
    contact force exceeding the Annex A Table A.2 quasi-static limit
    for the upper arm. Verified across the contact-scenario set
    defined in `scenarios/contact_upper_arm.yaml`.
  acceptance:
    - test: tests/pfl/test_upper_arm_contact.py
The test is parameterised across the contact-scenario set:
import pytest
from roboticks import confirms
from roboticks.gazebo import contact_force

CONTACT_SCENARIOS = load_scenarios("scenarios/contact_upper_arm.yaml")
UPPER_ARM_QS_LIMIT_N = 150  # placeholder; consult ISO/TS 15066 Annex A

@pytest.mark.parametrize("scenario", CONTACT_SCENARIOS, ids=lambda s: s.id)
@confirms("REQ-PFL-007")
def test_upper_arm_contact(robot, scenario):
    robot.load_world(scenario.world)
    robot.execute(scenario.trajectory)
    peak_quasi_static = contact_force(
        robot, body_region="upper_arm", duration_threshold_s=0.5
    ).peak()
    assert peak_quasi_static < UPPER_ARM_QS_LIMIT_N, (
        f"{scenario.id}: peak {peak_quasi_static} N exceeds limit"
    )
Every scenario run captures an MCAP of contact wrench, TF, and joint states. The evidence pack references every MCAP for auditor inspection.

Conformity route

A cobot conforming to ISO/TS 15066 typically:
  1. Pins ISO 10218-1:2025 + ISO 10218-2:2025 + ISO/TS 15066.
  2. Derives per-body-region contact requirements from Annex A.
  3. Defines a contact-scenario set covering every foreseeable contact configuration the risk assessment identified.
  4. Runs the scenarios in sim, captures MCAPs, generates evidence pack.
  5. Anchors with a hardware spot-test set for sim-vs-reality equivalence.
See the cobot ISO/TS 15066 compliance pattern for the end-to-end workflow.

Pinning

rbtk standard pin iso-ts-15066-2016 --project acme-cobot/firmware
Or via the cobot-eu bulk template.

Next steps

Cobot compliance pattern

End-to-end workflow.

ISO 10218

The parent standard that cites TS 15066 for PFL operation.