Re: Very high changes in acceleration and wheel forces which is not logical

Bernhard Wymann <[email protected]>
Newsgroups gmane.games.torcs.general
Organization wytec
Message-ID <[email protected]>
Hi

Which TORCS version did you use, 1.3.4? Which car was in use?

This might matter, because in older releases (up to 1.2.4 for sure, 
maybe up to 1.3.1) the suspension course and fast rebound was set 
"unhappily" on some cars, this caused "high frequency micro bouncing" on 
the wheels (you could not see this visually, but this pretty much fits 
your experience).

Just for fun, could you try the robot with some other cars?

Btw. you interpret the output wrong I guess (at least you did not 
mention it), because it is always wheel 1,2,3,4,1,2,3,4,... but even 
then the values are bouncing.

Another thing: Does the situation improve if you replace

// wheel axis based
Ft -= F * sx / s;
Fn -= F * sy / s;

with (see added braces)

Ft -= F * (sx / s);
Fn -= F * (sy / s);

(This could be numerically more stable, because sx/sy/s could be small 
compared to F).

The gear-wheel example was just a "metaphor", because the system is not 
damped, it could indeed bounce around.

Please let me know about your findings and give me a bit more 
information, when the problem persists I could then have a look into it.

Best regards

Bernhard

On 03/13/2013 08:05 PM, Alan Ali wrote:
> Hi
>
> Actually the test condition are the following:
>
> 1- I have used  "bt1" car (only on car in the race).
> 2-
>       car->ctrl.gear = 0;
>       car->ctrl.accelCmd = 0.1f;
>       car->ctrl.brakeCmd = 0;
> the lateral control is the simplest control law (following path angle).
> 3- The track is "road Tracks"    "forza"   (i think i has nothing to do
> with the track because i have tested anothers tracks).
> 4- The samples rate is 500 HZ (because i watch the values of the force,
> which is computed in void "SimWheelUpdateForce(tCar *car, int index)"
> function in wheel.cpp file).
> 6- The problem exist all the time (from start until reaching the maximum
> value (about 70 km/h for first gear)).
>
> we put the following  command :
> printf("logitudinal force Ft = %f \n",Ft );
> in the end of the "void SimWheelUpdateForce(tCar *car, int index)"
> function which exist in "wheel.cpp" file
> and we will see all the values of the logitudinal force.
> You will see that it change in unloigical way (some times from about
> 6000  to  about -6000) .
>
> Actually i have avareged the values, but it needs long average
> time(about 1 sec) which is not very acceptable in my control (it will
> add undesired delay in the system model).
>
> And i think it not very logical because it changes very rapidely from
> very big force to very big negative force, and i think it is not from
> the gear.
>
> And finaly i think it is has nothing to do with the calculation of the
> forces when the speed is very small, because the problem exist even in
> high speeds.
>
> Thank you very much in advance.
>
>
>
>
> On Fri, Mar 8, 2013 at 6:07 PM, Bernhard Wymann <[email protected]
> <mailto:[email protected]>> wrote:
>
>     Hi Alan
>
>     Do you sample these values in every simulation timestep (500Hz) or
>     from the robot (50Hz), what are the conditions for the experiment
>     (track, speed, cars, ...). What about averaging to get a better
>     signal (e.g. cosider it as noise)? Is all output from the same wheel
>     (just asking)?
>
>     For me these values "make sense", you can think of a gear wheel,
>     which bounces within its play.
>
>     I am aware that the force calculation around speed=0 is a mess
>     there, but I did not find so far the time to improve it, e.g. I want
>     to get rid of "if v < 0.000001" etc.
>
>     The trick will be to add the result of another function around zero,
>     this function will need to fulfill these requirements:
>     - I must be plausible
>     - It must fade out completely for the ranges where the current model
>     is correct
>     - Ideally there would be no "if" decisions to do anymore.
>
>     Best regards
>
>     Bernhard
>
>
>
>     On 02/27/2013 01:50 PM, Alan Ali wrote:
>
>         Hi All,
>
>         I am trying to control the vehicles, my control law needs to know
>         vehicle acceleration "DynGCg.acc".
>         watching this acceleration show that it change very quickly in
>         unlogical  way (we don't see all this changes as the speed is the
>         accumulation (filteration) of the acceleration and we will see
>         filtred
>         response...)
>
>         trying to konw the source of the problem :
>         i found that the problem is from the forces applied on the wheels
>         computed in (void SimWheelUpdateForce(tCar *car, int index))
>         function
>         where the forces change very rapidly in unlogical way
>         as un exempl:
>            taking          Car->ctrl.accelCmd = 0.1;
>         i get the following forces acting on the wheels:
>
>
>
>         you can see that the longitudial force changes very rapidly (eg.
>         from Ft
>         =-6360 to 7843) which is not logiacl
>
>         Searching more and more to know the problem i have found that it is
>         caused as a result of high changes of  sx = (vt - wrl) / fabs(vt);
>         which is it its turn change as a result of high changes of wrl =
>         wheel->spinVel * wheel->radius;
>         so it is very clear that the problem is from high changes of
>         "wheel->spinVel" but i couldn't know much more ...
>         can any one help me to know why it change rapidly and how to
>         reduce this
>         changes as it is not logical.
>
>         thanks for all.
>
>
>
>         ------------------------------__------------------------------__------------------
>         Everyone hates slow websites. So do we.
>         Make your web apps faster with AppDynamics
>         Download AppDynamics Lite for free today:
>         http://p.sf.net/sfu/appdyn___d2d_feb
>         <http://p.sf.net/sfu/appdyn_d2d_feb>
>
>
>
>         _________________________________________________
>         Torcs-users mailing list
>         [email protected].__net
>         <mailto:[email protected]>
>         https://lists.sourceforge.net/__lists/listinfo/torcs-users
>         <https://lists.sourceforge.net/lists/listinfo/torcs-users>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
>
>
>
> _______________________________________________
> Torcs-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/torcs-users
>


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.