How to find and modify the dynamics formula

64 views
Skip to first unread message

wonderful Boston

unread,
Jul 31, 2024, 2:37:00 PM7/31/24
to ProjectChrono
Dear project manager, my research direction is tracked vehicle dynamics control, and I want to use chrono to do simulation. If I want to change or view the dynamics formula in chrono, such as modifying the ground contact formula and the vehicle dynamics formula, where should I check and modify? I haven't found any dynamics formulas in the code, are these packaged? Looking forward to answer, thank you very much

wonderful Boston

unread,
Jul 31, 2024, 2:37:05 PM7/31/24
to ProjectChrono

Dear project manager, my research direction is tracked vehicle dynamics control, and I want to use chrono to do simulation. If I want to change or view the dynamics formula in chrono, such as modifying the ground contact formula and the vehicle dynamics formula, where should I check and modify? I haven't found any dynamics formulas in the code, are these packaged? Looking forward to answer, thank you very much!

Harry ZHANG

unread,
Jul 31, 2024, 3:03:33 PM7/31/24
to ProjectChrono
Hello!

There are demo in Chrono repo showcase the tracked vehicle (link). For vehicle dynamics formulation, check the powertrain models and functions (link).

Best,
Harry

JINGQUAN WANG

unread,
Jul 31, 2024, 3:14:41 PM7/31/24
to ProjectChrono
Hi,

You can find concrete Python vehicle demos in our GitHub repository under the [PyChrono projects vehicle folder](https://github.com/projectchrono/pychrono-projects). For C++ demos, please refer to the [Chrono vehicle directory](https://github.com/projectchrono/chrono/tree/main/src/chrono_vehicle). Additionally, specific vehicle dynamics formulas are available in the C++ codes, including the [powertrain](https://github.com/projectchrono/chrono/tree/main/src/chrono_vehicle/powertrain), [terrain dynamics](https://github.com/projectchrono/chrono/tree/main/src/chrono_vehicle/terrain), and [tracked vehicles dynamics](https://github.com/projectchrono/chrono/tree/main/src/chrono_vehicle/tracked_vehicle).

Best regards,  
Jingquan
On Wednesday, July 31, 2024 at 1:37:05 PM UTC-5 aa854...@gmail.com wrote:

Radu Serban

unread,
Aug 1, 2024, 6:03:30 AM8/1/24
to ProjectChrono

Some clarifications and corrections to the answers posted in reply to the original question:

 

You will not find anywhere in Chrono or Chrono::Vehicle equations that you might see in “Vehicle dynamics” textbooks.  This is because vehicles in Chrono::Vehicle are modeled as full multibody systems, with the dynamics of the vehicle system emerging from solving the equations of motion for the entire constrained multibody system.

 

In particular, for tracked vehicles, every track shoe body (and connector bodies, depending on the track topology) is modeled as a rigid body connected with kinematic joints or bushings to the neighboring track shoes.  Similarly, the vehicle chassis, suspension components, road wheels, sprockets, etc. are all modeled as 3D rigid bodies with the appropriate joint and/or bushing connections (as dictated by the particular vehicle template).

 

Vehicle models in Chrono::Vehicle, including tracked vehicles, rely on the underlying contact support in Chrono for all contacts, both internal (e.g., between road wheels and track shoes, or sprocket and track shoes) and external (e.g., contacts between track shoes and terrain).  That can be either of the contact formulations supported in Chrono, namely smooth contact (also known as “penalty”, or “soft body” contact) or non-smooth contact (also known as “complementarity” or “rigid body” contact).

 

Finally, collision detection for vehicle models (including tracked vehicles) also relies on the general-purpose collision detection libraries in Chrono (either the Bullet-based one or the custom multi-core collision detection).  The only exception here is for the collision detection between sprockets and track shoes where we use a custom (2D) line-line collision detection.

 

--Radu

--
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 on the web visit https://groups.google.com/d/msgid/projectchrono/8c94d9ea-77a3-46c0-8213-11649440c0abn%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages