Yes. What I want is a completely new suspension like the one I posted 
before. What I want to know is if I can use ChGenericWheeledSuspension to 
meet my needs of creating different suspensions. Even if the request is 
what I said before
在2023年9月21日星期四 UTC+8 16:51:29<Radu Serban> 写道:

> I’m not sure I understand what you want to do, so maybe the following may 
> be a complete misinterpretation.  Please note that, in the existing 
> ChDoubleWishbone template, there are *not* 2 separate bodies that make up 
> the lower control arm! The lower control arm is a single rigid body, 
> connected through a revolute joint to the chassis and with a spherical 
> joint to the upright body. The two locations that you highlighted in the 
> JSON specification file are used only for visualization purposes (the 
> revolute joint that connects the arm to the chassis is created at the 
> midpoint between these two locations). As you can see in the JSON file, 
> both these points are under the “Lower Control Arm” which also specifies 
> properties for only one body (mass, inertia, COM). 
>
>  
>
> If you are thinking of something else (additional bodies and additional 
> joints), maybe you can provide a schematic that shows these (similar to this 
> one 
> <http://www.projectchrono.org/assets/manual/vehicle/wheeled/DoubleWishbone_topology.png>
>  
> we have for the current template).  In any case, if you want to model a 
> suspension with a topology different from the current one, then yes, use 
> ChGenericWheeledSuspension as I suggested in my previous email.
>
>  
>
> --Radu
>
>  
>
> *From:* '马浩楠' via ProjectChrono <[email protected]> 
> *Sent:* Thursday, September 21, 2023 10:01 AM
> *To:* ProjectChrono <[email protected]>
> *Subject:* Re: [chrono] I have a question about "void getLocation" when 
> using the Chrono vehicle
>
>  
>
> Thanks for your answer. Sorry for the problem with my expression. My 
> purpose is to add a hardpoint, and the two links of the lower control arm 
> become a whole. I'm hoping to create a new suspension to use. You said that 
> it is feasible to implement a new suspension through 
> "ChGenericWheeledSuspension", right?
>
> What I want to do is add a connection point where the two lower control 
> arm links each become one piece. Add another lower control arm to the 
> existing lower control arm, and the connection points between the two 
> independent lower control arms, the chassis and the steering knuckle are 
> all at one point 
>
> 在2023年9月21日星期四 UTC+8 15:39:02<Radu Serban> 写道:
>
> Hello,
>
>  
>
> You did not receive yet an answer because your question was not well 
> formulated. You are asking about “creating a new suspension in 
> ChDoubleWishbone”. That does not make sense, given how the Chrono::Vehicle 
> is designed and what the meaning of a subsystem template is.  You may want 
> to consult the online documentation (
> https://api.projectchrono.org/manual_vehicle.html) and/or the paper (
> https://projectchrono.org/assets/white_papers/chronoVehicle_IJVP.pdf) to 
> familiarize yourself with the architecture and design of Chrono::Vehicle. 
> You will then understand that each subsystem template imposes a given 
> topology of the mechanical system for that particular subsystem. This means 
> a specific number of bodies, joints, and force elements and a fixed 
> connectivity between these. The hardpoints that are part of the definition 
> of a given subsystem (in this case the double wishbone suspension subsystem 
> implemented in ChDoubleWishbone) are therefore the complete set that is 
> needed to specify this topology.  
>
>  
>
> Therefore, the question is why you want to add a new hardpoint. I doubt it 
> is just for monitoring a location on a particular body of that type of 
> suspension (if that is the case, you can simply get a handle to that body 
> by its name and then invoke an appropriate Chrono API function to get the 
> absolute location of some point specified through its local position on 
> that body).  Instead, I suspect you want to use that point to add some 
> other modeling component to the suspension subsystem. If that is the case, 
> that will not be a ChDoubleWishbone suspension, but rather a new suspension 
> template (like the many we already have in Chrono::Vehicle, each one of 
> them with a different topology).
>
>  
>
> Creating a new vehicle subsystem template requires adding new files to the 
> Chrono code base and modifying some others so that the new subsystem type 
> becomes available for use in vehicle models. That’s obviously not a simple 
> task and requires a deeper understanding of the code.  
>
> Alternatively, only for wheeled vehicle suspension, I recently added a 
> “generic” template which allows a user to construct a new suspension 
> topology by specifying (in a derived class or else through a JSON file) an 
> arbitrary number of bodies, joints, force elements, etc. as well as their 
> connectivity.  As I said above, I am not absolutely clear on what you are 
> trying to achieve, but if what you want is your own custom suspension 
> subsystem, this is the route I suggest for you.
>
>  
>
> This “generic” template is named ChGenericWheeledSuspension 
> <https://github.com/projectchrono/chrono/blob/main/src/chrono_vehicle/wheeled_vehicle/suspension/ChGenericWheeledSuspension.h>
>  
> and the derived class that can build one from a JSON specification is 
> implemented in GenericWheeledSuspension 
> <https://github.com/projectchrono/chrono/blob/main/src/chrono_vehicle/wheeled_vehicle/suspension/GenericWheeledSuspension.h>.
>   
> There are two JSON samples to illustrate how you can use this mechanism for 
> constructing your own, custom suspension:
>
>    - HMMWV_DoubleWishboneFront_replica.json 
>    
> <https://github.com/projectchrono/chrono/blob/main/data/vehicle/hmmwv/suspension/HMMWV_DoubleWishboneFront_replica.json>
>  
>    – which replicates the double wishbone suspension on the front of a HMMWV.
>    - UAZBUS_FrontSAELeafspringAxle_replica.json 
>    
> <https://github.com/projectchrono/chrono/blob/main/data/vehicle/uaz/suspension/UAZBUS_FrontSAELeafspringAxle_replica.json>
>  
>    – which replicates the same topology as the SAELeafspringAxle suspension 
> on 
>    the front of a UAZ vehicle.
>
> These two samples are for illustration only, as they simply replicate 
> already existing suspension templates. But you could now modify any of 
> them, e.g., by adding new bodies, or additional springs, etc, and get a 
> completely new suspension topology.  Since you seem interested in a 
> slightly modified double wishbone suspension, you should probably start 
> from the 1st one I listed above.
>
>  
>
> You can read more about this new mechanism for creating a generic 
> suspension topology in the Chrono ChangeLog 
> <https://github.com/projectchrono/chrono/blob/main/CHANGELOG.md#added-new-generic-template-for-wheeled-suspension-subsystems>
>  
> file.
>
>  
>
> Best,
> Radu
>
>  
>
> *From:* '马浩楠' via ProjectChrono <[email protected]> 
> *Sent:* Wednesday, September 20, 2023 9:05 AM
> *To:* ProjectChrono <[email protected]>
> *Subject:* [chrono] I have a question about "void getLocation" when using 
> the Chrono vehicle
>
>  
>
> I want to add a "UCA_UF" to the enum PointId in ChDoubleWishbone.h, which 
> means "Location Upright Front". 
>
> What I want to know is that in "Initialize", I need to calculate the 
> position of "UCA_UF". Is it possible to do this using getLocation, or do we 
> need to calculate it manually?
>
> -- 
> 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 on the web visit 
> https://groups.google.com/d/msgid/projectchrono/b3fb67bc-5492-4331-aee1-0e94e675d419n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/projectchrono/b3fb67bc-5492-4331-aee1-0e94e675d419n%40googlegroups.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 on the web visit 
> https://groups.google.com/d/msgid/projectchrono/a23e20bb-6a5d-4afc-aabd-989032774bfan%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/projectchrono/a23e20bb-6a5d-4afc-aabd-989032774bfan%40googlegroups.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 on the web visit 
https://groups.google.com/d/msgid/projectchrono/504bfc17-82c5-4032-9015-f4ac3c1c00a3n%40googlegroups.com.

Reply via email to