Physics of collisions

4 posts / 0 new
Last post
Gio
Gio's picture
 
Legend
Posts: 256/5740
Last seen: 1 week 22 hours ago
Joined: 04 Jun 2015
Physics of collisions

Basic representation of a car - the basic model must consist of a body with certain dimensions and mass, a center of mass of the car as stopped, the mass distribution around the center of mass, and the tires' thrust and lateral grip (which shifts the center of mass). All this properties ultimately impose or restrict the changes in momentum.

Changes in linear momentum is the fancy name for acceleration/deceleration, be it by throttle/brakes, drafting, (...), or collisions! Changes in rotation occur due to steering, sliding, (...), or again: collisions!

In RR3, the center of mass seems to be very low, cars seem heavy with hard suspensions, so the cars never jump curbs or rollover.

Momentum transfer of solid, elastic bodies - The behavior of each car in a collision depends basically on how efficiently the momentum will be transferred between the two cars. Linear momentum equals mass times velocity (p = m * v): the heavier is a car compared to the other, it will transfer momentum more easily if it's the faster one, or will present more resistance to receiving momentum if it's the slower one.

If car A is doing 100 mph and hits a similar car doing 80, car A's speed is ideally reduced a little and the other accelerates a little. If a bike hits a truck, bike stops and the truck almost doesn't feel the impact.

In RR3, bots seem to be modeled as fifty-ton bricks with respect to linear momentum. Any collision of car A heading towards a point over or close to a bot's center of mass - given both cars were riding parallel or perpendicular lines - will reduce car A's momentum drastically. A small fraction of the momentum of each car is ideally absorbed by both cars, and most of it is converted into acceleration/deceleration (impulse), the problem being the cars are NOT modeled as elastic bodies...

Inelastic bodies - for the same condition as above and a bot modeled as a totally inelastic body, a collision will send car A away, the same for collisions with the walls. Since there's no absorption or dumping, all momentum of OUR car is converted into momentum in the opposite direction (rebounding), and the car may decelerate, accelerate in the opposite direction or even just stop, depending on the speed and mass involved. 

Tires grip and body mass distribution doesn't seem to be relevant until this point, because both impulse and rebound occur faster than the characteristic time of the tires action, and the forces actuate to the center of mass. 

Rotational inertia - rotation happens when we hit a spot not as close to the bot's center of mass, such as the tip of a bumper and specially when the cars are not riding parallel lines. If the very edge of our bumper hits a bot even going in a parallel line to ours, our four tips fell light and present no resistance to spinning.

Tires grip appears here as the agent to resist to the car rotation. If the tires lift a little at the moment of impact though, and if all weight is simply located in the center of mass, there's no initial resistance to rotation and the car spins briefly (frames 1-5 in the animation below), until the tires touch the ground again and the rotation slows down and stops.

 

Practical implications of the simplified model - As per some trainee's idea, bots come with huge grip (in collisions) and mass, so it'll stop rotating soon. Carbon-fiber bodies (cheeky) guarantee it's not going to absorb any impact, and huge mass impedes it to fly away.
The core of the game is fine.

But what about us, poor players and secondary agents in the game?

They could increase our grip on collisions, avoid the tires to lift from the ground... it would look all unrealistic.
They could work on a mass distribution over the car body... too much work, it could be hard to implement and still look weird.
Develop a decent coupled model relating mass distribution with tires grip? Nah....

Mmmm... They could force us to spin just a bit and convert the rest of the momentum in backwards movement... That would look kind of ok, it's easy to calculate, typical Monkey solution.
That's what we see today!

But wait! Momentum transfer is proportional to the bot's weight, and some FMEA trainee from the past set all bots extremely heavy so that the entire game could work as it is. Can we change the weight of the bots?

Nah... Let them players fly. indecision

Edit changed: circular momentum -> rotational inertia; nearly inelastic -> elastic.
 

 
You must sign-in or register in order to view and reply to forum topics.