Using project chrono with UE4

898 views
Skip to first unread message

Manish Prajapat

unread,
Feb 9, 2019, 6:19:05 AM2/9/19
to projec...@googlegroups.com
Dear all,

I am part of formula student team - AMZ Driverless. I am looking into options for simulating our complete autonomous pipeline and hence upgrading our simulator platform. We are currently using standard ROS tools i.e. Rviz and Gazebo for simulation. It provides an advantage in terms of run time eg: for any change in algorithm we can run 50 laps within seconds and is pretty accurate up to 15m/s and low accelerations. But beyond that we can see huge deviations from reality. Also we cannot simulate our perception setup in it. Hence we thought of utilizing project chrono as our physics engine and Unreal as graphics engines for simulating perception.

I have mainly 2 questions below and rest will be follow up doubts based on your answers. I will try to keep question as specific as possible.

1) What will be runtime of the project chrono to simulate 4 wheel driven electric car? For initial level, we will be interested in simulating this as two track model also involving motor and tire models. A rough estimate of runtime on a standard pc will be enough. Furthermore, without compromising on the performance, if we parallelize the simulator then how fast could we run it with current visualization of project chrono. 

2) Feasibility of ingratiating project chrono with Unreal engine 4. Do you know if anyone have tried it out or if you have resources for guidance to move in this direction than it will be great help.

Thanks for your time and any feedback is more than welcome.

Regards,
--------------------------------------------------------------------
Manish Prajapat
Estimation, Driverless

Akademischer Motorsportverein Zürich
ETH Formula Student Project | driverless.amzracing.ch

Mobile: +41 779872803

Jiaxi Liu

unread,
Feb 9, 2019, 8:18:30 AM2/9/19
to ProjectChrono
Hi Manish,

For question 1), I am not sure about the difference between an electric car and the wheeled car with suspension in the demo (perhaps you would consider the speed-torque curve, etc.? I think this can be easily handled by chrono).  If the motor model is involved and the wheel and terrain are both rigid body and without parallelization, I think it can still run fluently on my laptop with i7-8750h CPU.

For question 2), I am an UE4 amateur, UE4 uses PhysX as it physics engine and UE4 itself is tightly coupled with PhysX, but you can disable the PhysX simulation and maintain a chrono physical system yourself at a shallow level in UE4, use the simulation result to control the transformation of everything in the UE4 scene. So I think it is possible to integrate UE4 with chrono but maybe not so gracefully :). I once integrate OpenCV into UE4 and use the rendered result for some toy example like depth estimation and it works fine. But this kind of trial is rare and UE4 is poorly documented.

Jiaxi Liu

Alessandro Tasora

unread,
Feb 13, 2019, 11:01:21 AM2/13/19
to Manish Prajapat, projec...@googlegroups.com, Radu Serban

Dear Manish:

A- I cannot tell you a precise estimate on the performance of Chrono at simulating a 3D car model with a motor model plus tire models, but as a ballpark figure I can tell you that I was able to run a vehicle with full suspensions in real-time with full suspensions on a single core. It was a 13 bodies + 20 constraint model, plus some LUT-based engine.
Note. We still do not have a 'simplified' 14-dof object as in videogames to make super-fast simulations, ex. with just K&C curves instead of full 3d suspension, but maybe we'll have in future.
Maybe Dr. Radu Serban (here in CC) can comment on this, because he's the main developer of the vehicle module.

B- about Chrono+Unreal interaction: currently we haven't a solution for this, but as I worked a lot with Unreal for other projects, I can tell you that in principle it can be done.
B.1 - In fact, one or two years ago someone already made a simulator where Chrono sent simulation outputs to a TCP/IP socket, and a custom Unreal visualizer continuously updated 3D shapes on the screen depending on the TCP socket input. This maybe the simpliest way to go, but also the less powerful.
B.2 - A more tight interaction could be that you link directly the ChronoEngine.dll in the Unreal C++ build system, and you use it from within Unreal (in this case, remember that you could also exploit inheritance from Unreal's Actor classes and Chrono ChBody clesses, for example, but for all Chrono data you would loose the nice feature to access class members via Unreal's introspection mechanism, that is based on the UPROPERTY macros. That is, Chrono classes would stay in Unreal except that you won't be able to use them via Blueprint scripting)

Alessandro

Jiaxi Liu

unread,
Apr 3, 2019, 10:31:40 AM4/3/19
to ProjectChrono
Hi everyone,
I am currently working on a plugin for UE4, I wrap ChBody in a ActorComponent which can be attached to a StaticMeshActor and ChLink as an Actor, it works quite good. Geometry data for basic shapes, convex hull and triangle mesh can be easily get through UE4 api, and you can interactively or by script put some body and link in the scene. If anyone is interested in that, I can share with you.

Page

unread,
Nov 14, 2023, 2:42:26 AM11/14/23
to ProjectChrono
Hi Jiaxi
I am very interested in your project (chrono integrated in UE), Can you share your project?

Aman Chauhan

unread,
Sep 18, 2024, 5:17:49 AM9/18/24
to ProjectChrono
Hello Jiaxi Liu, hope you are doing fine. Can you please share the details on how can someone integrate chrono engine with the Unreal Engine 5. Please I really need this integration.

闫闫波

unread,
Dec 3, 2024, 4:29:19 AM12/3/24
to ProjectChrono

Hello Jiaxi Liu, I’d like to learn more about your integration method in Unreal. Could I take a look at your Unreal project?

Zero

unread,
Jun 26, 2025, 12:41:28 AMJun 26
to ProjectChrono
I compiled Chrono as a library and integrated it as a third-party library into Unreal Plugins. However, during Unreal compilation, I consistently encounter the following error, which points to an issue in ChQuaternion.h.
"C1001 Internal compiler error."
Snipaste_2025-06-26_12-41-01.png

Alan Weaver

unread,
Jun 26, 2025, 4:26:53 AMJun 26
to projec...@googlegroups.com

Try disabling optimization in settings, if you can.

Cheers, Alan.

--
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 projectchron...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/projectchrono/d7abde0b-a859-4972-aa43-b36ff6919cdcn%40googlegroups.com.

Virus-free.www.avast.com

Zero

unread,
Jun 26, 2025, 9:16:36 AMJun 26
to Alan Weaver, projec...@googlegroups.com

Hello, Alan!
I set CH_WHOLE_PROG_OPT:BOOL=OFF in the CMake configuration. After recompiling and replacing the library file in the Unreal third-party libraries, the above error still occurs!


'Alan Weaver' via ProjectChrono <projec...@googlegroups.com> 于2025年6月26日周四 16:26写道:
Reply all
Reply to author
Forward
0 new messages