The problem of using the ChSuspension base class to construct different suspensions, similar to ChDoubleWishbone.

48 views
Skip to first unread message

马浩楠

unread,
Aug 31, 2023, 4:05:21 AM8/31/23
to ProjectChrono
My current requirement is to create several different types of suspensions. The suspensions available in the vehicle library don't quite meet my needs. I'd like to create my own suspensions. Could you please advise if this is feasible? If it is, how can I use the ChSuspension base class to create the suspensions I need?
I'm using a translation software, so there might be some grammar issues.  Sorry 

Marcel Offermans

unread,
Aug 31, 2023, 4:15:45 AM8/31/23
to projec...@googlegroups.com

Hi,

You will find that all of the existing suspensions are derived from ChSuspension so yes, you can take that as a base class and create your own. The good news is that there are many examples you can study as a starting point.

The other alternative you have is to build your own suspension based on the "Generic Wheeled Suspension". Admittedly, that is not currently documented extensively, but this is a type of suspension that allows you to "build your own" using existing building blocks. It is based on the JSON templates that are available for all of these suspensions [1]. There are a few examples to get you started. The UAZ has a FrontSAELeafspringAxle suspension that is both available as a SAEToeBarLeafspringAxle based template [2] and a replica of that as a GenericWheeledSuspension [3]. This one is quite complex. Another example is for the HMMWV [4].

Greetings, Marcel


[1] https://github.com/projectchrono/chrono/blob/main/src/chrono_vehicle/wheeled_vehicle/suspension/GenericWheeledSuspension.h

[2] https://github.com/projectchrono/chrono/blob/main/data/vehicle/uaz/suspension/UAZBUS_FrontSAELeafspringAxle.json

[3] https://github.com/projectchrono/chrono/blob/main/data/vehicle/uaz/suspension/UAZBUS_FrontSAELeafspringAxle_replica.json

[4] https://github.com/projectchrono/chrono/blob/main/data/vehicle/hmmwv/suspension/HMMWV_DoubleWishboneFront_replica.json




On 31-Aug-23 10:05, '马浩楠' via ProjectChrono wrote:
My current requirement is to create several different types of suspensions. The suspensions available in the vehicle library don't quite meet my needs. I'd like to create my own suspensions. Could you please advise if this is feasible? If it is, how can I use the ChSuspension base class to create the suspensions I need?
I'm using a translation software, so there might be some grammar issues.  Sorry 
--
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/5f856bb5-3288-4898-8a77-a71ca3a7519fn%40googlegroups.com.

马浩楠

unread,
Aug 31, 2023, 4:48:57 AM8/31/23
to ProjectChrono
I can implement my suspension by writing code and inheriting from the ChSuspension class. Alternatively, I can achieve my suspension using the Generic Wheeled Suspension as well, although this implementation takes the form of a JSON document. This is my understanding.

Marcel Offermans

unread,
Aug 31, 2023, 4:51:10 AM8/31/23
to projec...@googlegroups.com

That is a good summary, yes.

马浩楠

unread,
Aug 31, 2023, 4:55:41 AM8/31/23
to ProjectChrono


Thank you. . I have another question. So, assuming I use the Generic Wheeled Suspension to create the suspension I need, would I only need to configure my suspension's JSON file based on the JSON nodes parsed by the Generic Wheeled Suspension?

Marcel Offermans

unread,
Aug 31, 2023, 4:58:58 AM8/31/23
to projec...@googlegroups.com

Yes, in the JSON file you create you define all the different bodies, joints, springs and dampers that make up your suspension topology.

Reply all
Reply to author
Forward
0 new messages