The Coefficient of Restitution (COR) is a dimensionless scalar value between 0 and 1 that characterizes the elasticity of a collision, defined as the negative ratio of the relative separation velocity to the relative approach velocity of two bodies after and before impact, respectively. A value of 1 represents a perfectly elastic collision with no kinetic energy loss, while 0 represents a perfectly inelastic collision where the bodies coalesce. In physics-based simulation for robotics, COR is a critical parameter for modeling realistic post-impact behavior of objects and end-effectors.
Glossary
Coefficient of Restitution (COR)

What is Coefficient of Restitution (COR)?
A fundamental scalar parameter in rigid body dynamics that quantifies the elasticity of a binary collision.
Accurate COR modeling is essential for sim-to-real transfer, as it directly influences the bounce, roll, and final resting state of manipulated objects. In simulation engines, COR is often applied at the contact point during the collision resolution step within the constraint solver. For complex materials, it can be defined per collision pair. Domain randomization of COR during training helps create robust policies that can handle real-world variability in material properties, bridging the reality gap for tasks like grasping, pushing, or assembly.
Key Properties and Characteristics
The Coefficient of Restitution (COR) is a fundamental scalar parameter in collision physics. Its value, bounded between 0 and 1, dictates the post-impact energy distribution and is critical for accurate sim-to-real transfer.
Definition and Formula
The Coefficient of Restitution (COR) is formally defined as the negative ratio of the relative separation velocity to the relative approach velocity of two bodies along the line of impact. For a collision between bodies A and B:
COR = - (v_A2 - v_B2) / (v_A1 - v_B1)
Where v_A1, v_B1 are pre-impact velocities and v_A2, v_B2 are post-impact velocities. This dimensionless value quantifies the elasticity of the collision.
Interpretation of Values
The COR's scalar range has direct physical meaning:
- COR = 1: A perfectly elastic collision. Kinetic energy is conserved; bodies rebound with reversed relative velocity. Idealized case (e.g., superball).
- COR = 0: A perfectly inelastic collision. Maximum kinetic energy loss; bodies stick together post-impact (e.g., clay).
- 0 < COR < 1: A partially elastic collision. Most real-world impacts (e.g., baseball on bat, robot gripper on object). Energy is dissipated as heat, sound, or deformation.
Dependence on Material and Geometry
COR is not a pure material property. It depends on:
- Material Pair: The combination of the two colliding materials (steel-on-steel vs. rubber-on-concrete).
- Impact Velocity: COR often decreases with increasing impact speed due to greater plastic deformation.
- Geometry & Temperature: Shape, surface roughness, and temperature affect the effective COR. In simulation, a constant COR is often used, but high-fidelity models may implement velocity-dependent COR tables for greater accuracy.
Role in Sim-to-Real Transfer
Accurate COR modeling is vital for sim-to-real transfer in robotics. An incorrect COR in simulation leads to:
- Divergent Dynamics: A simulated robot will learn policies based on incorrect rebound behavior.
- Reality Gap: Policies fail on physical hardware where real-world damping and material properties differ. Domain randomization of COR during training is a common technique to build robust policies that can handle a range of real-world physical interactions.
Relationship to Energy Loss
The COR directly determines the kinetic energy lost in a collision. For a central impact, the fractional kinetic energy loss is:
Energy Loss = 1 - COR²
This quadratic relationship shows that a small decrease in COR causes a significant increase in energy dissipation. A COR of 0.8 results in a 36% energy loss. This is crucial for simulating systems where damping and friction (Coulomb friction) are coupled with collision response.
Integration in Physics Engines
In physics engines like MuJoCo, Bullet, or Isaac Sim, the COR is a key parameter in the contact model. It is typically applied in the constraint solver or impulse-based dynamics resolution step:
- The solver calculates a normal impulse to prevent penetration.
- The COR scales this impulse to achieve the correct post-impact relative velocity.
- It works in conjunction with the friction cone model for tangential forces. Incorrect solver ordering between friction and restitution can cause visual artifacts like jitter.
How COR Works in Physics Simulation
The Coefficient of Restitution (COR) is a core parameter in physics engines that dictates the energy conservation and realism of simulated collisions.
The Coefficient of Restitution (COR) is a dimensionless scalar value between 0 and 1 that defines the elasticity of a collision between two bodies. It is calculated as the negative ratio of the final relative separation velocity to the initial relative approach velocity along the contact normal. A COR of 1 represents a perfectly elastic collision with kinetic energy conserved, while a COR of 0 represents a perfectly inelastic collision where the bodies stick together post-impact. This parameter is critical for simulating realistic bounce, energy dissipation, and material response in rigid body dynamics.
Within a constraint solver, the COR is used to compute the magnitude of the restitution impulse applied during the collision resolution phase. This impulse scales the relative velocity reversal to model energy loss. For accurate sim-to-real transfer, the COR must be carefully identified and tuned from real-world collision data, as an incorrect value can cause unnatural bouncing or excessive damping. It is often paired with Coulomb friction models to fully define a contact's material properties, directly influencing the stability and physical plausibility of the simulated interaction.
COR vs. Related Contact Parameters
This table compares the Coefficient of Restitution (COR) to other key parameters that define the physical behavior of a contact or collision between rigid bodies in a simulation engine.
| Parameter | Coefficient of Restitution (COR) | Friction Coefficient (μ) | Contact Stiffness (k) | Contact Damping (b) |
|---|---|---|---|---|
Definition | Ratio of separation to approach velocity post-collision. | Ratio of tangential friction force to normal force. | Spring constant resisting penetration (N/m). | Damping constant dissipating contact energy (N·s/m). |
Primary Role | Models energy loss and rebound elasticity. | Models resistance to sliding/rolling motion. | Models material compliance; prevents infinite penetration. | Models viscoelastic damping; stabilizes numerical integration. |
Typical Value Range | 0.0 (perfectly inelastic) to 1.0 (perfectly elastic). | 0.0 (frictionless) to >1.0 (high friction). Often 0.2-0.8. | 10^3 to 10^9 N/m, based on material and simulation scale. | 0.1 to 10^4 N·s/m, tuned for numerical stability. |
Dimensionality | Scalar (1D). | Scalar (1D) or anisotropic tensor for directionality. | Scalar (1D) or full 3x3 matrix for anisotropic materials. | Scalar (1D). |
Governs | Post-collision velocities along the contact normal. | Tangential forces parallel to the contact surface. | Magnitude of the normal penalty force due to penetration. | Rate of energy dissipation in the normal contact direction. |
Simulation Method | Applied as a velocity update in impulse-based solvers. | Modeled via Coulomb's law in constraint or penalty solvers. | Core parameter in penalty/spring-damper contact models. | Core parameter in penalty/spring-damper contact models. |
Interaction with COR | N/A - This is the parameter. | Independent; governs tangential behavior orthogonal to COR's normal axis. | High stiffness can cause numerical instability if COR is near 1.0. | Works with COR; damping directly removes energy, lowering effective rebound. |
Real-World Calibration | Measured via drop tests or high-speed collision analysis. | Measured via incline plane or tribometer tests. | Derived from material Young's modulus and geometry. | Often tuned empirically for stable simulation rather than from direct measurement. |
Frequently Asked Questions
The Coefficient of Restitution (COR) is a fundamental scalar value in physics simulation that quantifies the elasticity of a collision between two bodies. These questions address its definition, calculation, role in simulation, and practical implications for robotics and engineering.
The Coefficient of Restitution (COR) is a dimensionless scalar value between 0 and 1 that characterizes the elasticity of a collision, defined as the ratio of the relative separation velocity to the relative approach velocity of two bodies after and before impact, respectively. A COR of 1 represents a perfectly elastic collision with no kinetic energy loss, while a COR of 0 represents a perfectly inelastic collision where the bodies stick together post-impact. This value is material-dependent and is critical for predicting post-collision dynamics in physics engines and rigid body simulations.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
The Coefficient of Restitution (COR) is a fundamental parameter within rigid body collision models. Understanding its relationship with other core simulation concepts is essential for accurate physics modeling.
Collision Detection
The computational process of identifying when two or more simulated objects intersect. COR is applied after collision detection provides the contact points and normals. The pipeline is:
- Broad Phase: Quickly filters non-colliding object pairs using bounding volumes.
- Narrow Phase: Computes precise contact details (point, normal, penetration depth).
- Resolution: Applies impulses based on physics properties, including COR, to separate bodies.
Contact Force
The force generated at the interface of two colliding bodies. In impulse-based resolution, the COR directly scales the normal component of the contact impulse. Key components:
- Normal Force: Acts perpendicular to the contact surface, repelling bodies. Magnitude is influenced by COR.
- Tangential (Friction) Force: Acts parallel to the surface, governed by a separate friction model (e.g., Coulomb). A COR of 1 results in a perfectly elastic normal impulse, while 0 results in an inelastic, dampening impulse.
Impulse-Based Dynamics
A simulation method that resolves collisions via instantaneous changes in velocity (impulses) rather than continuous forces. COR is central to its collision response formula:
J = -(1 + e) * (v_rel · n) / (1/m_a + 1/m_b + ...)
Where J is the impulse magnitude, e is the COR, v_rel is relative velocity, and n is the contact normal. This method is computationally efficient for real-time applications like games and interactive robotics simulators.
Linear Complementarity Problem (LCP)
A mathematical framework used in advanced physics engines to solve for contact and friction forces simultaneously. COR is embedded within the LCP formulation as a restitution parameter that defines the relationship between pre- and post-impact velocities. The solver finds impulses that satisfy:
- Non-penetration constraints.
- Coulomb friction cone constraints.
- The velocity-based restitution law (
v_sep >= -e * v_app). This provides a more unified and stable solution for complex, multi-contact scenarios.
Penalty Method
An alternative constraint enforcement technique where intersecting objects are pushed apart by a spring-damper force proportional to penetration depth. COR is implicitly modeled by the damping coefficient of the contact spring.
- High Damping: Simulates a low COR (inelastic collision).
- Low Damping: Simulates a high COR (elastic collision). While simpler to implement, the penalty method can suffer from stability issues with stiff springs and does not directly enforce the velocity-based definition of COR.
Coulomb Friction
The classical model for dry friction tangential to a contact surface. It operates independently of the COR, which governs the normal direction. The model defines:
- Static Friction: Maximum force before sliding begins:
|f_t| ≤ μ_s * |f_n|. - Kinetic Friction: Constant force during sliding:
|f_t| = μ_k * |f_n|. In a collision, the normal impulse (scaled by COR) determinesf_n, which then caps the available friction forcef_t. This separation is critical for simulating realistic object behavior like a bouncing, spinning ball.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us