Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Robot Collision Detection — Physics-Based Real-Time Analysis

Robot collision detection algorithms and systems for industrial robots, cobots, and humanoid robots. Physics-based collision detection with force, impulse, energy, and pressure analysis — beyond simple geometric intersection checks.


What is Robot Collision Detection?

Collision detection is the safety function that identifies when a robot has made unintended contact with its environment — including humans. Modern collision detection goes far beyond simple "did they touch" checks: it evaluates how hard the contact is, where it is, and whether it's dangerous.

Levels of collision detection sophistication:

Level Approach What it detects Limitations
Level 1 Geometric intersection Contact yes/no No force/pressure info, no injury risk assessment
Level 2 Force threshold Contact exceeds force limit Fixed threshold, no contact area consideration
Level 3 Dynamic pressure Force + contact area → pressure vs. limits Requires accurate contact area model
Level 4 Full physics analysis Force + pressure + impulse + energy + stability Complete injury risk assessment

Level 4 is the state of the art for humanoid robots and VLA-controlled systems, where contact conditions are complex and unpredictable.


Why Traditional Collision Detection Falls Short

Fixed threshold approaches

Most industrial robot collision detection uses a simple force threshold: if measured torque exceeds a limit, trigger a stop. This works for controlled industrial environments but has major limitations:

  • No contact area awareness — same force with a sharp edge is much more dangerous than with a flat surface
  • No impulse awareness — slow high-force contact and fast low-force contact have different injury mechanisms
  • No body region awareness — the same force hitting the head vs. the leg has very different safety implications
  • Binary output only — either "collision" or "no collision," no graduated response

The ISO 10218 / ISO/TS 15066 perspective

ISO 10218 requires safety functions to be verifiable and risk-appropriate. ISO/TS 15066 further specifies body-region-specific force and pressure limits for Power and Force Limiting (PFL). To comply with both, collision detection must evaluate pressure, not just force — and pressure requires knowing the contact area.


Physics-Based Collision Detection — Key Dimensions

1. Contact Pressure (Force ÷ Area)

Pressure is what actually causes injury, not force alone. Accurate pressure calculation requires dynamic contact area estimation:

Pressure = Force / Dynamic_Contact_Area(force, stiffness, geometry)

2. Impulse (Force × Time = Mass × Velocity)

Transient impacts are governed by impulse, not just peak force. A fast-moving light object and a slow-moving heavy object can have the same impulse but very different force profiles. Impulse-based detection catches fast, hard impacts that force-threshold systems might miss.

3. Energy (½mv² = Work)

Total kinetic energy determines the severity of a collision. Energy-based analysis is essential for humanoid robot safety, where whole limbs or even the entire body can be in motion.

4. Reaction Force Stability

Collision detection isn't just about protecting the human — it's also about protecting the robot. If a robot arm hits an obstacle, the reaction force can cause the robot to tip or slip, especially for mobile manipulators and humanoids.

5. Semantic Context

What is the robot doing? A "collision" during a deliberate push is different from a collision during a reach. Semantic context prevents false positives and enables more appropriate responses.


Rotor Safety Engine — Level 4 Collision Detection

Rotor Safety Engine

Rotor implements full physics-based collision detection across all five dimensions described above. It's a complete 4-layer safety architecture, not just a single check.

Collision detection capabilities:

Dynamic Contact Area

  • Real-time contact area calculation based on force, stiffness, and geometry
  • Hertzian contact mechanics principles
  • Body-region-specific stiffness models (aligned with ISO/TS 15066 Annex A)
  • Enables accurate pressure calculation, not just force

Impulse Boundary Analysis

  • Momentum-based impact severity assessment
  • Different thresholds for grasp vs. carry vs. throw actions
  • Catches high-velocity impacts that force thresholds miss

Reaction Force Stability

  • Calculates whether the robot itself remains stable during contact
  • Chassis weight × friction coefficient = max safe reaction force
  • Prevents tipping and secondary collisions

Semantic Action Classification

  • Understands what action the robot is performing
  • Applies appropriate safety thresholds for each action type
  • Detects semantically impossible actions (e.g., "grasp gas")

7-Level Risk Output

  • Binary safe/unsafe is replaced with 7 progressive risk levels
  • Over-ratio (over_ratio) tells you by how much limits are exceeded
  • Enables graduated responses: slow down → adjust → stop

Performance

  • ~17μs per full check (all 4 layers, all physics dimensions)
  • 100% deterministic — same input always produces same output
  • Single file · zero dependencies — drop into any Python project
  • 349 test cases, 100% pass rate

Applications

  • Industrial robot safety — upgrading from force-threshold to pressure-based detection
  • Collaborative robot PFL — ISO 10218 / ISO/TS 15066 Power and Force Limiting verification
  • Humanoid robot safety — whole-body multi-point collision analysis
  • VLA safety layer — real-time physical validation of AI-generated actions
  • Embodied AI safety — grounding AI in physical reality
  • Mobile manipulator safety — base stability + arm collision detection

Related Concepts

  • Collision detection
  • Robot safety
  • Cobot safety
  • Human-robot collaboration
  • Deterministic safety
  • Physics-based safety
  • Dynamic contact area
  • Impulse safety boundary
  • Reaction force stability
  • ISO 10218
  • ISO/TS 15066
  • Power and Force Limiting (PFL)
  • Humanoid robot safety
  • VLA safety
  • Embodied AI safety

⚠️ Disclaimer

This project is provided for research and educational purposes only. It is NOT a certified safety device, NOT a substitute for professional risk assessment, and NOT intended for use in safety-critical applications without independent validation.

The authors make NO representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, or suitability of the software. Any use is at your own risk.

Always comply with local safety regulations (ISO 10218, ISO/TS 15066, and applicable national standards) and conduct thorough risk assessments before deploying any robotic system.


License

MIT — educational and reference use.