Hello Stefan, Dan,
Let me chime in here as that's "my" project. It indeed uses Chrono to
run real-time vehicle physics (with a lot of work on top as well as Dan
mentions, I've been working on this full-time for over three years now).
Let me answer your questions though:
As to how to achieve "stable" simulation at 1000 Hz (to be honest, you
don't always need 1000, 500 might be fine too, but that's another
discussion), what I've done is completely removed the graphics rendering
from the core simulation loop as a first step: you certainly don't need
to render every 1 ms, most GPUs won't be able to keep up with that, no
monitors can. So decouple that and make a physics loop that does just
that: calculate the physics. Well, there is one other thing you want to
do there and that's read controller inputs (and possibly provide force
feedback effects to wheel and pedals). Then you simply need that thread
to keep up with real-time and pace it as well as you can. Most modern
computers will be fast enough. Most operating systems you run this on
won't be (hard) real-time OS'es and that means you have to settle for a
"best effort" synchronization with time. In practice that is very
do-able though in my experience.
As for the solver, I agree with Dan's feedback, start with the defaults.
I found them pretty good.
As for performance bottlenecks on a non-deformable, triangulated mesh, I
would say you might run into some bottlenecks there if you end up with a
big mesh, but like so many things in Chrono, the "tire vs mesh"
interaction is something you can optimize and plug in your own
implementation and there are many ways to replace what's there now with
something more specialized for your use case.
All in all I would say what you're trying to do is certainly feasible.
Chrono is a great platform for this.
Greetings, Marcel
On 26-Jul-25 19:39, 'Dan Negrut' via ProjectChrono wrote:
Hi Stefan – here’s an example of real-time simulation using Chrono:
https://thelastgarage.com/ .
Disclaimer: the link above is not to a “one afternoon” project, but
what you want is very likely possible.
As about your three questions, I would start with the defaults in
Chrono and then tweak the model parameters to get the level of
performance you need.
Dan
---------------------------------------------
Bernard A. and Frances M. Weideman Professor
NVIDIA CUDA Fellow
Department of Mechanical Engineering
Department of Computer Science
University of Wisconsin - Madison
4150ME, 1513 University Avenue
Madison, WI 53706-1572
608 772 0914
http://sbel.wisc.edu/ <http://sbel.wisc.edu/>
http://projectchrono.org/ <http://projectchrono.org/>
---------------------------------------------
*From:*[email protected] <[email protected]>
*On Behalf Of *Stefan Oberpeilsteiner
*Sent:* Friday, July 25, 2025 5:08 AM
*To:* ProjectChrono <[email protected]>
*Subject:* [chrono] Real-Time Capability of Rigid Body Vehicle Model
on Rigid Terrain
Dear Chrono Team,
I am currently implementing a simplified tractor model in Chrono for
use in a real-time simulation environment. The model consists of a
rigid chassis, a fixed rear axle with steered and driven wheels, and a
front axle modeled as a rigid beam suspended via a central pivot (as
commonly used in tractor front axles) with additional steering. The
goal is to capture the essential dynamic behavior of the
vehicle—particularly in heave, pitch, and roll—sufficiently well for
deployment on a motion platform.
The vehicle operates on a rigid, non-deformable terrain, represented
by a tessellated triangular mesh. The primary excitation arises from
terrain-induced vertical disturbances with dominant frequency
components up to approximately 10 Hz.
*My core question is:*
What is the expected feasibility of running such a model in real time
using Chrono? In particular:
* Are there benchmarks or best practices for achieving stable
simulation at control loop frequencies ~1 kHz?
* Which solver/integrator is recommended for this type of setup?
* Are there known performance bottlenecks when using non-deformable
terrains modeled as triangular meshes?
Any insights—especially from prior experience with real-time vehicle
simulation or motion cueing applications—would be highly appreciated.
Best regards,
Stefan Oberpeilsteiner
--
You received this message because you are subscribed to the Google
Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/projectchrono/ddfef702-fd37-4479-aceb-72186eeac1f0n%40googlegroups.com
<https://urldefense.com/v3/__https:/groups.google.com/d/msgid/projectchrono/ddfef702-fd37-4479-aceb-72186eeac1f0n*40googlegroups.com?utm_medium=email&utm_source=footer__;JQ!!Mak6IKo!OiK8ujXNh3As54pZIhOOwQOT6cgJDkI2-J8LI6YfZlY5nGUWl67isPd8wIg--H1NPXJfblqL_ZWseE9tE_UgWcwN3w$>.
--
You received this message because you are subscribed to the Google
Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/projectchrono/DM8PR06MB770344053BDBC5518E6BCB10B158A%40DM8PR06MB7703.namprd06.prod.outlook.com
<https://groups.google.com/d/msgid/projectchrono/DM8PR06MB770344053BDBC5518E6BCB10B158A%40DM8PR06MB7703.namprd06.prod.outlook.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/projectchrono/bcaafcdc-e413-40e2-80bb-a94a5b320cc1%40gmail.com.