Forums

Full Version: New sim code
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
A small update.

Current ABS, TCS are adjusting per wheel brake value to match tire ideal slip(maximum grip). They don't deal with car stability though. Thus I've been trying to figure out a simple stability control(using brakes too). Unfortunately it is a bit more involved to infer current car state, identify over steer and adjust the brakes correctly to reduce it. A few naive attempts didn't work as expected.

I really would like this to be working before making a release as it would help the AI and keyboard drivers controlling the car. This means delays though.

I think I will prioritize gui changes/fixes (single race menu) for now to get the translations finally updated.
(09-08-2012, 06:35 AM)NaN Wrote: [ -> ]A small update.

Current ABS, TCS are adjusting per wheel brake value to match tire ideal slip(maximum grip). They don't deal with car stability though. Thus I've been trying to figure out a simple stability control(using brakes too). Unfortunately it is a bit more involved to infer current car state, identify over steer and adjust the brakes correctly to reduce it. A few naive attempts didn't work as expected.

I really would like this to be working before making a release as it would help the AI and keyboard drivers controlling the car. This means delays though.

If I may...

Toyota details its system (VSC, not the much more advanced VDIM in all Lexus) the following way:

Quote:Yaw rate sensor: The sensor is installed parallel to the vertical axis of the vehicle. It detects only the rotational angular velocity (yaw rate) around the axis.

G sensor: This sensor is set in a horizontal position near the center of gravity of the vehicle. It detects acceleration in the longitudinal and lateral directions.

Steering angle sensor: This sensor is installed on the back of the steering wheel, and directly detects the driver's steering operation.

Brake pressure sensor: This sensor is installed on the VSC hydraulic control unit to detect changes in brake pressure.

Wheel speed sensor: This sensor is set at each wheel to detect each wheel's rotational angular velocity.

Throttle angle sensor: This sensor detects the driver's acceleration pedal operation and the throttle angle when engine output is controlled by VSC.
VSC hydraulic control unit: The TRC and ABS functions work when wheels slip on acceleration and deceleration. The VSC function works when the vehicle skids. The unit supplies hydraulic pressure to control each wheel.

Throttle actuator: It opens and closes the throttle valve when the VSC controls engine output.

The bold, underlined parts are, I suspect, what most physics engine deal with.

I know a crude, basic measure found in some platforms is to use a combination of a certain percentage of the contact patch sliding and yaw angle variation.

As I am giving my first steps with vDrift I fear I cannot help much more than this.
My understanding of the way stability control works is that it uses a model to determine the driver's intent, then uses a control system to achieve that intent. In its simplest form the driver model takes steering wheel position as input and outputs desired vehicle travel direction, while the control system keeps the vehicle pointed in the direction of the intended travel direction by using asymmetric braking to adjust yaw.
joevenzon,

is the Pacejka Editor still available for download (the win32 dlls and exe)?


--

In regards to TCS, the description I posted above is Toyota's own description of their system. The more advanced system has Toyota's TCS integrated, probably a different, more sophisticated version of it.

A question someone posed to me recently is this: regardless of sporting/technical regulations by FIA, pilots seemingly prefer no driver aids, they find TCS systems too intrusive. So, racing sims also have to take this into account, allowing the simracer to turn driver aids off.

Drifting wise, aren't these systems too intrusive also? How much intervention is acceptable?
(09-15-2012, 09:17 AM)MiguelM Wrote: [ -> ]In regards to TCS, the description I posted above is Toyota's own description of their system. The more advanced system has Toyota's TCS integrated, probably a different, more sophisticated version of it.

A question someone posed to me recently is this: regardless of sporting/technical regulations by FIA, pilots seemingly prefer no driver aids, they find TCS systems too intrusive. So, racing sims also have to take this into account, allowing the simracer to turn driver aids off.

Drifting wise, aren't these systems too intrusive also? How much intervention is acceptable?

This stability control systems can be quite sophisticated. I've seen some papers where they are using a real time quarter car + tire model fed with sensor data for tire state estimation.

We are in the position to have a model already, can use current tire state for the controller.

The issue with driver aids in racing sims/games has an additional function compared to real life, compensating for the input and feedback. As an exaggerated example, I don't think one could control a real world racing car with a gamepad.
(09-15-2012, 11:10 AM)NaN Wrote: [ -> ]The issue with driver aids in racing sims/games has an additional function compared to real life, compensating for the input and feedback. As an exaggerated example, I don't think one could control a real world racing car with a gamepad.

Also, in racing games they are usually user preferences. Whereas, IRL, if you have a nissan skyline, you get very good tcs and, if i'm not mistaken, stability management...if you have a mclaren f1, you don't even get abs brakes.
Weird. I've tried something very primitive today. I used car body slip angle to trigger brake release/lock (depending on wheel roll direction, relative position) and it seems to be very effective (tested with F1-02, Z06). I had a really hard time to force oversteer beyond the trigger angle limit. It is somewhat clunky/aggressive, needs an angular velocity factor I think, but it works.
(09-15-2012, 09:17 AM)MiguelM Wrote: [ -> ]joevenzon,

is the Pacejka Editor still available for download (the win32 dlls and exe)?

There should be an old copy on svn.vdrift.net under /trunk/win32/bin
(09-18-2012, 11:20 AM)joevenzon Wrote: [ -> ]
(09-15-2012, 09:17 AM)MiguelM Wrote: [ -> ]joevenzon,

is the Pacejka Editor still available for download (the win32 dlls and exe)?

There should be an old copy on svn.vdrift.net under /trunk/win32/bin

Hello, Joe.

Thanks for replying.

Problem is, the only thing is access to the repository for full retrieval is possible only through ViewVC. ViewVC is only available through building its source code, which I cannot atm build.

(09-16-2012, 12:29 PM)NaN Wrote: [ -> ]Weird. I've tried something very primitive today. I used car body slip angle to trigger brake release/lock (depending on wheel roll direction, relative position) and it seems to be very effective (tested with F1-02, Z06). I had a really hard time to force oversteer beyond the trigger angle limit. It is somewhat clunky/aggressive, needs an angular velocity factor I think, but it works.

Maybe not weird nor primitive. It looks like a feasible, albeit simple, solution - at least partially.

A while back a friend of mine former alumnus at Stanford pointed me towards a then Stanford thesis and lab research suggesting the use of Pneumatic Trail as a means of achieving an effective traction control system. According to a source, Dave Kaemmer uses this, though not for traction control.

I went through it several times and undoubtedly it is a faultless strategy.

---

On another matter, I would like to know the opinion of both Joe and you about coupled/decoupled variables and the current method(s) of integration used within vDrift. I hope you don't mind my asking this.

Cheers
We are using bullet physics library for rigid body dynamics. This means Semi-implicit Euler integration and Projected Gauss Seidel constraint solver.
(09-23-2012, 03:02 PM)MiguelM Wrote: [ -> ]Problem is, the only thing is access to the repository for full retrieval is possible only through ViewVC. ViewVC is only available through building its source code, which I cannot atm build.

I don't know what you mean. Any SVN client should be able to check out from svn.vdrift.net.
Well, the reason I asked about ViewVC was because SVN is being refused a conn:

Quote:"Can't connect to host 'svn.vdrift.net': No connection could be made because the target machine actively refused it."
oh, sorry, the repository is rooted at http://svn.vdrift.net/repos/pacejka
Ahhh! Success!

Thanks Joe. That did it. *thumbs up*
I am a bit stuck atm. While comparing current tire code with new one I've lowered the simulation timestep. As a direct effect the handling in critical conditions(high slip, drift) got much better especially for the high powered cars. Currently the sim is running with 90Hz. I've noticed a difference up to 800-900Hz. Running current solver setup at such frequencies is too taxing though, no way to get playable framerates as soon as a few cars simulated at once. I'll maybe have to go back to simple forward integration with substeps...

There was this other idea with low pass filtering the slip ratio/angle to deal with the low sim frequency. But it will only help with slip changes to a certain degree, haven't tried/tested it yet though.
Pages: 1 2 3 4 5