PDA

View Full Version : help,I am running a ADAMS/CAR simulation,problem encountered



Duolex
09-13-2010, 09:42 PM
when i modifying the templates of double_wish_bone.tpl ,i run into a problem ,i need to measure the forces between uper_control_arm & upright ,but there was no default force request located here ,so i need to built it first ,but it is out of my ablity ,so could anyone please show me a demo that how to build a request here ?
THX

John_Burford
09-19-2010, 01:42 AM
The context of your requests is fundamental to understanding your results. If you are going to use Adams you will have to learn how to make and review requests to understand the relation, orientation, and sign of the results. There just aren't any short cuts here, but some examples can get you started.

The following text will create the request you are looking for. First, edit you acar.cfg file and add the following lines

ENVIRONMENT MDI_ACAR_USERMODE expert
ENVIRONMENT MDI_ACAR_MODEPROMPT no
ENVIRONMENT MDI_ACAR_PLUS_AVIEW yes

Open the "double_wishbone.tpl" template in template biulder. Hit the F3 key to open the command line window, then cut and paste each of the following lines, one at a time, pressing enter after each line. Then go to the Edit menu and search for the request you just created. The Modify Request dialog box and the create dialog box looking similar. Try deleting and recreating the request through the GUI. Under builder menu goto REQUEST and create.

output_control create request request_name=Knuckle_upper_ball_rh_global f2="JOINT(._double_wishbone.jorsph_uca_balljoint, 0, 2, ._double_wishbone.ground.origo)" f3="JOINT(._double_wishbone.jorsph_uca_balljoint, 0, 3, ._double_wishbone.ground.origo)" f4="JOINT(._double_wishbone.jorsph_uca_balljoint, 0, 4, ._double_wishbone.ground.origo)" f6="JOINT(._double_wishbone.jorsph_uca_balljoint, 0, 6, ._double_wishbone.ground.origo)" f7="JOINT(._double_wishbone.jorsph_uca_balljoint, 0, 7, ._double_wishbone.ground.origo)" f8="JOINT(._double_wishbone.jorsph_uca_balljoint, 0, 8, ._double_wishbone.ground.origo)"

acar template_builder request_names create request_name=Knuckle_upper_ball_rh_global x_component="X" y_component="Y" z_component="Z" r1_component="RX" r2_component="RY" r3_component="RZ" x_units=no_units y_units=no_units z_units=no_units mag_units=no_units r1_units=no_units r2_units=no_units r3_units=no_units amag_units=no_units

output_control create request request_name=Knuckle_upper_ball_lh_global f2="JOINT(._double_wishbone.jolsph_uca_balljoint, 0, 2, ._double_wishbone.ground.origo)" f3="JOINT(._double_wishbone.jolsph_uca_balljoint, 0, 3, ._double_wishbone.ground.origo)" f4="JOINT(._double_wishbone.jolsph_uca_balljoint, 0, 4, ._double_wishbone.ground.origo)" f6="JOINT(._double_wishbone.jolsph_uca_balljoint, 0, 6, ._double_wishbone.ground.origo)" f7="JOINT(._double_wishbone.jolsph_uca_balljoint, 0, 7, ._double_wishbone.ground.origo)" f8="JOINT(._double_wishbone.jolsph_uca_balljoint, 0, 8, ._double_wishbone.ground.origo)"

acar template_builder request_names create request_name=Knuckle_upper_ball_lh_global x_component="X" y_component="Y" z_component="Z" r1_component="RX" r2_component="RY" r3_component="RZ" x_units=no_units y_units=no_units z_units=no_units mag_units=no_units r1_units=no_units r2_units=no_units r3_units=no_units amag_units=no_units

output_control create request request_name=Knuckle_lower_ball_rh_global f2="JOINT(._double_wishbone.jorsph_lca_balljoint, 0, 2, ._double_wishbone.ground.origo)" f3="JOINT(._double_wishbone.jorsph_lca_balljoint, 0, 3, ._double_wishbone.ground.origo)" f4="JOINT(._double_wishbone.jorsph_lca_balljoint, 0, 4, ._double_wishbone.ground.origo)" f6="JOINT(._double_wishbone.jorsph_lca_balljoint, 0, 6, ._double_wishbone.ground.origo)" f7="JOINT(._double_wishbone.jorsph_lca_balljoint, 0, 7, ._double_wishbone.ground.origo)" f8="JOINT(._double_wishbone.jorsph_lca_balljoint, 0, 8, ._double_wishbone.ground.origo)"

acar template_builder request_names create request_name=Knuckle_lower_ball_rh_global x_component="X" y_component="Y" z_component="Z" r1_component="RX" r2_component="RY" r3_component="RZ" x_units=no_units y_units=no_units z_units=no_units mag_units=no_units r1_units=no_units r2_units=no_units r3_units=no_units amag_units=no_units

output_control create request request_name=Knuckle_lower_ball_lh_global f2="JOINT(._double_wishbone.jolsph_lca_balljoint, 0, 2, ._double_wishbone.ground.origo)" f3="JOINT(._double_wishbone.jolsph_lca_balljoint, 0, 3, ._double_wishbone.ground.origo)" f4="JOINT(._double_wishbone.jolsph_lca_balljoint, 0, 4, ._double_wishbone.ground.origo)" f6="JOINT(._double_wishbone.jolsph_lca_balljoint, 0, 6, ._double_wishbone.ground.origo)" f7="JOINT(._double_wishbone.jolsph_lca_balljoint, 0, 7, ._double_wishbone.ground.origo)" f8="JOINT(._double_wishbone.jolsph_lca_balljoint, 0, 8, ._double_wishbone.ground.origo)"

acar template_builder request_names create request_name=Knuckle_lower_ball_lh_global x_component="X" y_component="Y" z_component="Z" r1_component="RX" r2_component="RY" r3_component="RZ" x_units=no_units y_units=no_units z_units=no_units mag_units=no_units r1_units=no_units r2_units=no_units r3_units=no_units amag_units=no_units

Duolex
09-21-2010, 01:52 AM
thx,you are so kind and helped a lot ,thx to your suggestioon,i have carried it out and can simulate correctly .but a new problem occur ,when i modify the hard point of tie_rod_inner to match my steering subsystem rock_pinion_steering ,it crushed when simulation .
when simulate every time ,the riginal template works right,but when changing the hard point ,it crushed.
if it is possible ,i can send you my riginal assembly and my modified assembly with detailed information that changed.
thx

John_Burford
09-21-2010, 06:22 PM
My initial guess is that when the tie-rod locations were changed the steering arm and tie-rod reached a "toggle" or "lock-up" condition. Try reducing the range you are using to exercise the event. If that does not work, send me a PM and I'll give you an address to send your files.

Duolex
09-24-2010, 07:37 PM
Originally posted by John_Burford:
My initial guess is that when the tie-rod locations were changed the steering arm and tie-rod reached a "toggle" or "lock-up" condition. Try reducing the range you are using to exercise the event. If that does not work, send me a PM and I'll give you an address to send your files.

thank you ,now the problem is ,i can shift the template fore or aft ,up or down to match the point,it will works well, but when i modify a exact point, it crushed.i have PMed you with a copy message,thans for your kindness again.

milad
07-07-2012, 02:22 AM
I read what you had written because i have a similar problem, when i assembly a full vehicle car model with my new subsystems that I've changed them in adams/car(for exp:I've changed the location of power_train when i was creating new power_train.sub) the simulation wont run successfully.I think the different subsystems are not connected.I want to know how i should define the interaction between different subsystems in adams/car???
would you please help me what should i do?

Joe_Little
07-07-2012, 07:59 AM
You've only moved a subsystem, not changed the templates? What does the error say?

The interaction between each subsystem is controlled by 'communicators', which you can learn about by doing the template tutorial in 'Getting Started with Adams/Car' located in the help docs.

But, if you haven't modified the template, then this probably isn't the issue..

milad
07-08-2012, 03:30 AM
thnx for your advice, the error is
" The simulation stopped at time = 0.390 . Adams cannot solve the equations of motion.
The greatest error in an equation is 9.69768E-04 in the equation for FLEX_BODY job_acceleration.twist_beam2.fbs_twist_beam ."

you know i wana trasnfer the engine from rear axel to front axel to have a front wheel drive car. when i create new power_train.sub from powertrain.tpl that engine is shifted to front axel, it seems that engine is not connected to the body(because when i animate the simulated model, body and other subsystems that are attached to body move but just engine dosent move),so simulation fails.

milad
07-11-2012, 01:24 AM
you said that i have to create new communicators to define the interaction and i did.
i want to know when I'm transferring power train(engine) from rear to front suspension to have a FWD vehicle,in which template i should create input and in which one i should create output communicators????
and what should i do with old communicators????
would you please help me

Joe_Little
07-16-2012, 09:10 AM
If you watch the 0.39 seconds from the failed simulation, what do you see?

Start the simulation at the beginning and increment the first 5-10 frames with the + button.

My guess is you will likely see some part incorrectly attached to ground because a communicator is not setup properly. If so, open up the templates involved and perform a communicator test to make sure they connect properly.

Finally what steps did you take to add drive line activity to the front suspension template? Did you remember to switch that activity on for the front and off for the rear?

Setting the FSAE template to front wheel task is going to be a difficult task for a new user, you need to be slow and methodical, do the template tutorials, and do plenty of reading in the help docs, and plenty of looking at how the already templates are working and communicating with each other.

milad
08-15-2012, 08:39 AM
Thanx alot
I've read the tutorial(getting start with adams/car) but unfortunately i still have problem with communicating two subsystem. I found that for communicating for example engine(_powertrain.tpl) and suspension(_double_wishbone.tpl) I have to create some input and output communicators with the same matching names,but I exactly don't know in which template I have to create input and in which one I have to create output communicators???!!
Could you do me a favor and help me

Joe_Little
08-27-2012, 08:34 AM
If I do a communicator test between the current _fsae_rearsusp and _powertrain, which looks like:

https://dl.dropbox.com/u/2672479/com_test.png

The results are:



!--------------------------- Matched communicators: ---------------------------!

Communicator Matching Name: tripot_to_differential
Input Communicator Name: ci[lr]_tripot_to_differential
Located in: _fsae_rearsusp
Output Communicator Name: co[lr]_tripot_to_differential
Output from: _powertrain

Communicator Matching Name: tripot_to_differential
Input Communicator Name: ci[lr]_diff_tripot
Located in: _powertrain
Output Communicator Name: co[lr]_tripot_to_differential
Output from: _fsae_rearsusp



But, obviously, the template has to have a drive shaft in the first place. Looks at the one in the rear suspension to see how it is setup. Keep in mind that the one in the rear is "swtichable" i.e. the rear driveline, joints, parts, etc, can be totally deactivated. Your doesn't necessarily need to do so, just mentioning so you don't get confused by the associated switch part objects.

You, of course, need to make sure that the one in the rear is deactivated, and that your new suspension and powertrain subsystems have roles set to "front"

John_Burford
08-31-2012, 06:05 PM
some how I think the typo in that communicator wasn't an accident.

Joe_Little
08-31-2012, 07:27 PM
??

John_Burford
09-04-2012, 10:45 PM
_tripot_ instead of _tripod_

I've found the standard naming convention for communicators is part_name to part_name. This communicator connects the tripod to the differential (tripod_to_differential). I'd bet money to the developer got a laugh misspelling this communicator. Especially because it is difficult to change. This communicator attaches to the testrig and can't be changed unless you create a new site binary or use acarBS.cmd

John B

Joe_Little
09-05-2012, 12:24 PM
Oh.. Haha.. Whoops. Done well before my time.

At least we are consistent, for the Demo Car and FSAE templates its never spelled tripod. I always assumed tripot was an alternative name.

For what its worth, this only matters if you've created your own communicator (spelled "tripod_...") AND you're doing a rear suspension analysis with the drive line switched on. For full vehicle, the corresponding communicator belongs to the power train and you can just modify and save it there to match (again, *if* you've changed the name or created your own communicator in the suspension template spelled "tripod..).

milad
10-20-2012, 03:26 AM
A question
In adams/car software package there is a model of full car vehicle named 'MDI_Demo_Vehicle.asy'. I want to know what real car is similar to this model? or Which car this model is created based on???
Would you please guide me...

Joe_Little
10-20-2012, 07:32 AM
Its physical properties are not based on any real car in particular. The graphics belong to a Ferrari Testarossa.

milad
11-28-2012, 09:14 AM
thanks, and another important question
What coordinate system is used for plotting output data in Adams/PostProcessing????
Gloabal cordinate systems or part coordinate systems????

Joe_Little
12-03-2012, 02:20 PM
Most likely you are referring to the Request output. The reference frame varies w.r.t. request, but in most cases its the intuitive one. I.e. chassis displacement/velocity/acceleration, roll/pitch/yaw, etc., are all chassis [insert measure name] w.r.t ground in the chassis reference frame.

To find out for a specific request, I would look it up in the database navigator (Tools > Database Nav > [optinally, pick 'Browse..' then 'Requests' for the filter). If it uses a ReqSUB definition like:

User Function : 902.0, 2.0, 3.0 (.MDI_Demo_Vehicle.TR_Rear_Tires.til_wheel.force.a dams_id)
Routine : abgTire::req902
Results Name : til_wheel_tire_kinematics

Then it is documented in the help docs (e.g. tire requests use req902, a detailed description of which is found in the help at Adams/Car > Adams/Tire > Learning Adams/Tire > Simulation and Results)

Hope this helps,
Joe