feat(iace): open-source safety KB sources + bp_iace_safety_kb (Thema 2)
Versioned, license-tagged source docs for the multi-layer GT knowledge base, ingested into the new core RAG collection bp_iace_safety_kb (whitelisted in the RAG search handler): - prism_risk_methodology.md — OPSS PRISM v2 (OGL v3): full severity(4)× probability(8) → risk-level matrix (Serious/High/Medium/Low), RAPEX-aligned. - cobot_biomech_limits.md — CC BY 4.0 papers (Behrens 2022 / Park 2019): force (N) & pressure (N/cm²) pain thresholds by body region (the data behind ISO/TS 15066, cited from the open papers — standard tables NOT reproduced). - hse_example_risk_assessments.md — HSE (OGL v3): qualitative hazard→control. - osha_robot_safety.md — OSHA OTM (public domain): 250 mm/s teach anchor, robot hazard taxonomy, safeguarding hierarchy. No DIN/EN/ISO/IEC/DGUV content reproduced; each doc states its license + attribution. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -34,6 +34,7 @@ var AllowedCollections = map[string]bool{
|
||||
"bp_legal_templates": true,
|
||||
"bp_iace_libraries": true,
|
||||
"bp_iace_accident_stats": true,
|
||||
"bp_iace_safety_kb": true,
|
||||
}
|
||||
|
||||
// SearchRequest represents a RAG search request.
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
# Collaborative-robot biomechanical pain limits (force & pressure by body region)
|
||||
|
||||
Canonical, citable source document for the IACE cobot / power-and-force-limiting
|
||||
(PFL) severity anchors. The figures below are the **experimental biomechanical
|
||||
pain-threshold data** that underlie the ISO/TS 15066 collaborative-robot limits,
|
||||
taken **only from open-access CC BY papers** — not from the (copyrighted) ISO/TS
|
||||
15066 tables themselves.
|
||||
|
||||
## Source A — Force thresholds (Behrens et al. 2022, Frontiers, CC BY 4.0)
|
||||
|
||||
- **Source:** Behrens R, Pliske G, Umbreit M, Piatek S, Walcher F, Elkmann N
|
||||
- **Doc:** *A Statistical Model to Determine Biomechanical Limits for Physically Safe Interactions With Collaborative Robots*
|
||||
- **Journal:** Frontiers in Robotics and AI, vol. 8, art. 667818 (2022)
|
||||
- **License:** CC BY 4.0 (Frontiers open access — reuse with attribution)
|
||||
- **Attribution:** `Behrens et al. (2022), Front. Robot. AI 8:667818, CC BY 4.0`
|
||||
- **Retrieved:** 2026-06 · **DOI:** https://doi.org/10.3389/frobt.2021.667818
|
||||
- **Study:** 112 subjects, emulated impact (transient) and pinching (quasi-static)
|
||||
loads at 28 body locations; force raised until slightly painful.
|
||||
|
||||
### Force pain thresholds by body region (N)
|
||||
|
||||
Values are the 75th-percentile limits for a mixed-gender group (≈70% male),
|
||||
blunt contact, from the paper's results. **Pinching ≈ quasi-static contact;
|
||||
Impact ≈ transient contact** — transient limits are higher (≈1.5–2×).
|
||||
|
||||
| Body region | Pinching / quasi-static (N) | Impact / transient (N) |
|
||||
|---|---|---|
|
||||
| Forehead | 110 | 150 |
|
||||
| Temple | 60 | 90 |
|
||||
| Masticatory muscle | 40 | 70 |
|
||||
| Neck muscle | 70 | 110 |
|
||||
| C7 vertebra | 50 | 70 |
|
||||
| Shoulder joint | 60 | 100 |
|
||||
| L5 vertebra | 110 | 180 |
|
||||
| Sternum | 80 | 110 |
|
||||
| Pectoral muscle | 60 | 110 |
|
||||
| Abdominal muscle | 60 | 90 |
|
||||
| Pelvic bone | 90 | 140 |
|
||||
| Deltoid muscle | 100 | 110 |
|
||||
| Humerus | 70 | 150 |
|
||||
| Radial bone | 100 | 180 |
|
||||
| Forearm muscle | 100 | 170 |
|
||||
| Arm nerve | 80 | 140 |
|
||||
| Forefinger pad | 150 | 390 |
|
||||
| Forefinger DIP joint | 160 | 370 |
|
||||
| Thenar eminence | 120 | 260 |
|
||||
| Palm | 150 | 330 |
|
||||
| Back of hand | 150 | 250 |
|
||||
| Thigh muscle | 140 | 200 |
|
||||
| Kneecap | 160 | 270 |
|
||||
| Middle of shin | 150 | 260 |
|
||||
| Calf muscle | 130 | 260 |
|
||||
|
||||
Lowest-tolerance regions: face (masticatory muscle, temple) and neck (C7,
|
||||
shoulder joint) — these dominate worst-case severity for a head/neck contact.
|
||||
|
||||
## Source B — Pressure thresholds (Park et al. 2019, PLOS ONE, CC BY 4.0)
|
||||
|
||||
- **Source:** Park MY, Han D, Lim JH, Shin MK, Han YR, Kim DH, Rhim S, Kim KS
|
||||
- **Doc:** *Assessment of pressure pain thresholds in collisions with collaborative robots*
|
||||
- **Journal:** PLOS ONE 14(5): e0215890 (2019)
|
||||
- **License:** CC BY 4.0 (PLOS open access — reuse with attribution)
|
||||
- **Attribution:** `Park et al. (2019), PLOS ONE 14(5):e0215890, CC BY 4.0`
|
||||
- **Retrieved:** 2026-06 · **DOI:** https://doi.org/10.1371/journal.pone.0215890
|
||||
|
||||
### Pressure pain thresholds by body region (N/cm²)
|
||||
|
||||
Overall measured range across body sites: **65.1 ± 22.6 to 196.1 ± 85.8 N/cm²**.
|
||||
Younger subjects showed 3–33% lower thresholds; BMI effect minimal at most sites.
|
||||
|
||||
| Body region | Pressure pain threshold (N/cm²) |
|
||||
|---|---|
|
||||
| Arm nerve | 65.1 ± 22.6 (lowest) |
|
||||
| Shoulder joint | ≈ 87 |
|
||||
| Neck muscle / forehead / ball of thumb / shin | ≈ 100–120 |
|
||||
| Index finger pad / palm of hand | > 160 |
|
||||
| Back of hand | 196.1 ± 85.8 (highest) |
|
||||
|
||||
## How these are used in IACE
|
||||
|
||||
1. **Severity anchor for cobot/PFL hazards:** force (N) and pressure (N/cm²)
|
||||
thresholds per body region set the IACE **S** (severity) tier for a
|
||||
power-and-force-limited contact — a contact below the regional limit is
|
||||
tolerable, above it is an injury-relevant exposure.
|
||||
2. **Transient vs quasi-static:** the two force columns let IACE distinguish
|
||||
transient (impact) from quasi-static (clamping/pinching) contact, matching the
|
||||
two ISO/TS 15066 contact regimes without reproducing the standard's tables.
|
||||
3. **Worst-case body region:** the lowest-threshold regions (face, neck) drive the
|
||||
conservative default when the contact body region is unknown.
|
||||
|
||||
Licensing note: the ISO/TS 15066 limit tables are **not** reproduced. All numeric
|
||||
values above are taken from the two CC BY 4.0 academic papers cited and are
|
||||
attributed to those papers. No DGUV/IFA or Beuth/ISO table is used.
|
||||
@@ -0,0 +1,83 @@
|
||||
# HSE example risk assessments (qualitative hazard → control structure)
|
||||
|
||||
Canonical, citable source document for the IACE qualitative hazard→control
|
||||
pattern. The UK HSE risk-assessment template and worked examples give an
|
||||
openly-licensed, **non-numeric** model of how a hazard is paired with existing
|
||||
controls and further actions — used by IACE to validate that each identified
|
||||
hazard has at least one mapped control/measure.
|
||||
|
||||
## Source
|
||||
|
||||
- **Source:** UK Health and Safety Executive (HSE)
|
||||
- **Doc:** *Risk assessment: Template and examples*, plus worked-example PDFs
|
||||
(maintenance work in a factory; a warehouse)
|
||||
- **License:** Open Government Licence v3.0 (OGL v3) — reuse with attribution
|
||||
- **Attribution:** `Source: HSE risk-assessment template & examples, © Crown copyright, licensed under the Open Government Licence v3.0`
|
||||
- **Retrieved:** 2026-06
|
||||
- **URLs:**
|
||||
- https://www.hse.gov.uk/simple-health-safety/risk/risk-assessment-template-and-examples.htm
|
||||
- https://www.hse.gov.uk/simple-health-safety/assets/docs/factory.pdf
|
||||
- https://www.hse.gov.uk/simple-health-safety/assets/docs/warehouse.pdf
|
||||
|
||||
**Qualitative only:** the HSE method is deliberately **non-numeric** — it does not
|
||||
assign severity/probability scores or a risk matrix. It identifies hazards,
|
||||
records existing controls, and plans further action. (Numeric severity×probability
|
||||
comes from PRISM, see `prism_risk_methodology.md`.)
|
||||
|
||||
## Assessment structure (7 fields)
|
||||
|
||||
The HSE blank template is a single table with seven columns:
|
||||
|
||||
| # | Column |
|
||||
|---|---|
|
||||
| 1 | What are the hazards? |
|
||||
| 2 | Who might be harmed and how? |
|
||||
| 3 | What are you already doing to control the risks? |
|
||||
| 4 | What further action do you need to take to control the risks? |
|
||||
| 5 | Who needs to carry out the action? |
|
||||
| 6 | When is the action needed by? |
|
||||
| 7 | Done (date completed) |
|
||||
|
||||
Method: walk the workplace, note hazards, talk to workers/safety reps, record
|
||||
who could be harmed, list existing controls, then decide what more is needed.
|
||||
HSE stresses the examples are illustrative — "do not just copy an example."
|
||||
|
||||
Named worked examples published: office-based business, local shop/newsagent,
|
||||
food preparation and service, motor vehicle repair shop, factory maintenance,
|
||||
warehouse.
|
||||
|
||||
## Worked example — maintenance work in a factory (hazard → controls)
|
||||
|
||||
| Hazard | Existing controls / further action (summary) |
|
||||
|---|---|
|
||||
| Machinery / equipment | Guards and emergency-stop buttons fitted; add operator training on lockout/isolation procedures. |
|
||||
| Slips, trips, falls | Housekeeping protocols in place; improve drainage and floor markings in work areas. |
|
||||
| Chemical exposure | Safety data sheets held; upgrade ventilation, provide respiratory protection where needed. |
|
||||
| Noise | Hearing protection supplied; assess noise levels, consider engineering controls at source. |
|
||||
| Manual handling | Mechanical lifting aids available; refresh safe-lifting training. |
|
||||
| Electrical | Maintenance staff qualified; set a formal inspection schedule and document lockout/tagout. |
|
||||
|
||||
## Worked example — warehouse (hazard → controls)
|
||||
|
||||
| Hazard | Existing controls / further action (summary) |
|
||||
|---|---|
|
||||
| Manual handling | Proper lifting techniques, mechanical aids, ergonomics training, weight limits. |
|
||||
| Storage & stacking | Appropriate racking, stable stacks, regular inspection, clear aisles / emergency routes. |
|
||||
| Falls from height | Guardrails on elevated platforms, fall-protection equipment, working-at-height training. |
|
||||
| Moving / powered equipment (FLTs) | Speed limits, segregated pedestrian zones, operator licensing, scheduled maintenance, visible warnings. |
|
||||
| Slips, trips & falls | Floors clean/dry, walkways clear, lighting, suitable footwear, prompt spill clean-up. |
|
||||
| Noise | Hearing protection where needed, noise barriers, equipment maintenance, sound-level monitoring. |
|
||||
|
||||
## How these are used in IACE
|
||||
|
||||
1. **Hazard → control completeness check:** the 7-field structure backs the IACE
|
||||
rule that every identified hazard must carry at least one existing control and,
|
||||
where residual risk remains, a further-action/measure entry.
|
||||
2. **Control vocabulary:** the worked-example hazard→control pairs seed IACE's
|
||||
library of typical machinery/warehouse measures (guarding, LOTO, segregation,
|
||||
manual-handling aids, PPE) for suggesting measures against a detected hazard.
|
||||
3. **Qualitative complement:** HSE supplies the *narrative* control side; PRISM
|
||||
supplies the *numeric* severity×probability side — IACE combines both.
|
||||
|
||||
No copyrighted standard text or table is reproduced; all content here is
|
||||
OGL-v3 Crown-copyright HSE material.
|
||||
@@ -0,0 +1,49 @@
|
||||
# Industrial & collaborative robot safety (OSHA, US public domain)
|
||||
|
||||
Citable source document for the IACE robot/cobot hazard taxonomy and the
|
||||
reduced-speed anchor. US Government work — free to reuse verbatim.
|
||||
|
||||
## Source
|
||||
|
||||
- **Source:** US OSHA — Technical Manual (OTM), Section IV, Chapter 4: Industrial Robots & Robot System Safety; and OSHA Guidelines for Robotics Safety (STD 01-12-002)
|
||||
- **License:** US Government work — **public domain** (17 U.S.C. §105)
|
||||
- **Attribution:** `Source: US OSHA Technical Manual §IV ch.4 / STD 01-12-002, public domain`
|
||||
- **Retrieved:** 2026-06
|
||||
- **URLs:** https://www.osha.gov/otm/section-4-safety-hazards/chapter-4 · https://www.osha.gov/enforcement/directives/std-01-12-002
|
||||
|
||||
## Reduced / teach-mode speed limit
|
||||
|
||||
OSHA states (quoting the ANSI/RIA basis): during teach/manual mode, robot speed
|
||||
should be at a **reduced speed of 10 inches per second (250 mm/s) or less** at the
|
||||
tool center point. This is the public, citable basis for the IACE 250 mm/s teach
|
||||
anchor (matches the GT Bremse session and engine measure M340/M492).
|
||||
|
||||
## Robot hazard taxonomy
|
||||
|
||||
| Hazard | Description |
|
||||
|---|---|
|
||||
| Impact / collision | Unpredicted movement, component malfunction, unexpected program changes |
|
||||
| Crushing / trapping | Operator trapped between robot arm and fixed structure; pinch points |
|
||||
| Struck-by (mechanical part) | Failure of gripper/end-effector; ejected workpiece, tool or debris |
|
||||
| Electrical / hydraulic / pneumatic | Stored energy, high-pressure fluid injection, energized parts |
|
||||
| Slip / trip / fall | Around the cell, cabling, fluids |
|
||||
| Environmental | Arc flash, fumes, noise, radiation depending on process |
|
||||
|
||||
## Safeguarding hierarchy (OSHA / ANSI basis)
|
||||
|
||||
Fixed barriers → interlocked guards → presence-sensing (light curtains, area
|
||||
scanners, safety mats) → enabling/hold-to-run devices in teach mode → speed-and-
|
||||
separation monitoring (collaborative) → power-and-force limiting (collaborative)
|
||||
→ awareness barriers/signs. Energy isolation (lockout/tagout) for maintenance.
|
||||
|
||||
## How these are used in IACE
|
||||
|
||||
1. **Reduced-speed anchor:** the 250 mm/s teach limit is a public-domain anchor
|
||||
for robot/cobot speed-limiting measures (no copyrighted standard needed).
|
||||
2. **Hazard taxonomy:** seeds the robot/cobot hazard categories (impact, crush,
|
||||
struck-by, energy) for pattern coverage checks.
|
||||
3. **Safeguarding hierarchy:** orders the protective-measure suggestions for
|
||||
robot cells (barriers → sensing → enabling → SSM/PFL → LOTO).
|
||||
|
||||
For the collaborative force/pressure LIMITS see `cobot_biomech_limits.md`
|
||||
(CC BY 4.0 papers); ISO/TS 15066 tables are not reproduced.
|
||||
@@ -0,0 +1,107 @@
|
||||
# PRISM — Product Safety Risk Assessment Methodology (severity × probability matrix)
|
||||
|
||||
Canonical, citable source document for the IACE severity/probability risk-matrix
|
||||
anchors. PRISM gives a complete, openly-licensed severity-of-harm × probability
|
||||
risk-rating method that maps directly onto the IACE S (severity) and W
|
||||
(frequency/probability) tiers and the four-level risk output.
|
||||
|
||||
## Source
|
||||
|
||||
- **Source:** UK Office for Product Safety & Standards (OPSS), Dept. for Business & Trade
|
||||
- **Doc:** Product Safety Risk Assessment Methodology (PRISM), *A Guide for GB Market Surveillance Authorities*, Version 2.0, October 2024 (52 pp.)
|
||||
- **License:** Open Government Licence v3.0 (OGL v3) — reuse permitted with attribution
|
||||
- **Attribution:** `Source: OPSS, PRISM v2.0 (Oct 2024), © Crown copyright, licensed under the Open Government Licence v3.0`
|
||||
- **Retrieved:** 2026-06
|
||||
- **URL (guidance):** https://www.gov.uk/guidance/product-safety-risk-assessment-methodology-prism
|
||||
- **URL (PDF):** https://assets.publishing.service.gov.uk/media/66fd385ae84ae1fd8592ec93/prism-guidance-v02.pdf
|
||||
|
||||
**Safety Gate / RAPEX alignment:** PRISM is the GB revision of the EU Safety Gate
|
||||
(RAPEX) risk-assessment guidance (Commission Implementing Decision (EU) 2019/417).
|
||||
It retains the same severity×probability structure and the same four resulting
|
||||
risk levels (Serious / High / Medium / Low), so the matrix below is broadly
|
||||
interoperable with the EU Safety Gate methodology.
|
||||
|
||||
## Risk-assessment model
|
||||
|
||||
Risk = f(severity of harm, probability of harm). The assessor builds one or more
|
||||
**harm scenarios** (3–5 steps: hazard exists → exposure occurs → exposure causes
|
||||
harm), then determines (v) severity and (vi) probability and reads off the risk
|
||||
level. The four output risk levels are **Serious, High, Medium, Low**.
|
||||
|
||||
### Severity-of-harm levels (PRISM Table 2)
|
||||
|
||||
Four levels, by reversibility and treatment required. (Descriptions distilled; the
|
||||
standard's full clinical example lists are not reproduced.)
|
||||
|
||||
| Level | Description (severity of harm) |
|
||||
|---|---|
|
||||
| 1 | Minor: after basic first aid does not substantially hamper functioning or cause excessive pain; consequences usually fully reversible. |
|
||||
| 2 | Moderate: A&E visit may be needed, hospitalisation generally not; functioning affected for a limited period (≤ ~6 months), recovery more or less complete. |
|
||||
| 3 | Serious: normally requires hospitalisation; affects functioning for > 6 months or causes permanent loss of function. |
|
||||
| 4 | Critical/fatal: is or could be fatal (incl. brain death); reproductive harm; severe loss of limbs/function (> ~10% disability). |
|
||||
|
||||
Each level also carries a "potential for multiple casualties?" (Yes/No) flag.
|
||||
|
||||
### Probability-of-harm bands (PRISM Table 3, row axis)
|
||||
|
||||
Probability that the harm scenario materialises over the product lifetime, in
|
||||
eight bands. Per-step probabilities are multiplied to give the overall figure.
|
||||
|
||||
| Band | Probability over product lifetime |
|
||||
|---|---|
|
||||
| 1 | > 50 % |
|
||||
| 2 | > 1 in 10 |
|
||||
| 3 | > 1 in 100 |
|
||||
| 4 | > 1 in 1,000 |
|
||||
| 5 | > 1 in 10,000 |
|
||||
| 6 | > 1 in 100,000 |
|
||||
| 7 | > 1 in 1,000,000 |
|
||||
| 8 | < 1 in 1,000,000 |
|
||||
|
||||
### Risk matrix — single item (PRISM Table 3)
|
||||
|
||||
Severity (column) × probability (row) → risk level.
|
||||
|
||||
| Probability ↓ \ Severity → | Level 1 | Level 2 | Level 3 | Level 4 |
|
||||
|---|---|---|---|---|
|
||||
| > 50 % | High | Serious | Serious | Serious |
|
||||
| > 1 in 10 | Medium | Serious | Serious | Serious |
|
||||
| > 1 in 100 | Medium | Serious | Serious | Serious |
|
||||
| > 1 in 1,000 | Low | High | Serious | Serious |
|
||||
| > 1 in 10,000 | Low | Medium | High | Serious |
|
||||
| > 1 in 100,000| Low | Low | Medium | High |
|
||||
| > 1 in 1,000,000 | Low | Low | Low | Medium |
|
||||
| < 1 in 1,000,000 | Low | Low | Low | Low |
|
||||
|
||||
### Population escalation — all items in use (PRISM Table 4)
|
||||
|
||||
Single-item risk can escalate by the number of items in the field (population risk).
|
||||
|
||||
| Items in use ↓ \ single-item risk → | Low | Medium | High | Serious |
|
||||
|---|---|---|---|---|
|
||||
| > 1m | High | Serious | Serious | Serious |
|
||||
| > 500k | Medium | High | Serious | Serious |
|
||||
| > 100k | Medium | High | High | Serious |
|
||||
| ≤ 100k | Low | Medium | High | Serious |
|
||||
|
||||
(For ≤ 100k the mapping is constant: Low→Low, Medium→Medium, High→High, Serious→Serious.)
|
||||
|
||||
After rating, the assessor records an **uncertainty level** (low/medium/high) and
|
||||
may run a sensitivity analysis by varying severity, probability or item count.
|
||||
|
||||
## How these are used in IACE
|
||||
|
||||
1. **Tier definition (S × W):** the four severity levels map to the IACE **S**
|
||||
(severity) tiers and the eight probability bands map to the IACE **W**
|
||||
(frequency/probability) tiers, giving a defensible, openly-licensed scale.
|
||||
2. **Risk lookup:** Table 3 anchors the severity×probability → risk-level lookup
|
||||
in `risk_estimation.go`; the four outputs (Serious/High/Medium/Low) align the
|
||||
IACE risk categories with the EU Safety Gate scale.
|
||||
3. **Population escalation:** Table 4 provides the pattern for scaling
|
||||
single-instance risk by exposure/population where IACE has fleet/installed-base
|
||||
counts.
|
||||
4. **Uncertainty:** PRISM's low/medium/high uncertainty + sensitivity-analysis
|
||||
step backs the IACE confidence flag on each estimate.
|
||||
|
||||
No DIN/EN/ISO/IEC risk-graph, decision tree or SIL/PL table is reproduced; the
|
||||
matrix above is the OGL-v3 PRISM/Safety-Gate matrix only.
|
||||
Reference in New Issue
Block a user