The following warnings occurred: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.27 (Linux)
|
Wrong calculation of rolling resistance - Printable Version +- Forums (https://www.vdrift.net/Forum) +-- Forum: Community (https://www.vdrift.net/Forum/forumdisplay.php?fid=3) +--- Forum: Bugs (https://www.vdrift.net/Forum/forumdisplay.php?fid=7) +--- Thread: Wrong calculation of rolling resistance (/showthread.php?tid=1537) |
- NaN - 07-30-2011 I've had this fixed in my rewrite by limiting friction torque to the torque needed to reduce contact velocity to zero if I remember correctly. - LBodnar - 07-30-2011 Another bug elsewhere: I have dumped input parameters coming into PacejkaFy function and in a spin I see slip angles alpha of 100, 300, 2000 degrees and more! Pacejka Fy formula does not work for slip angle outside of +-90 degrees! It is not designed to be periodical. From common sense it has to be symmetrical around 90 degrees but it is responsibility of the calling function to wrap around slip angles. This has to be fixed at the calling point where slip angle is generated. - NaN - 07-30-2011 The output of atan2 is [-pi,+pi] -> [-180, 180]. But then there is also the Fx, Fy combining method which I can't really comment, no idea what is going on there. - LBodnar - 07-30-2011 NaN Wrote:The output of atan2 is [-pi,+pi] -> [-180, 180]. Even this is not right, 180 degrees means tyre just freely rolling backwards and its Fy should be almost zero. PacejkaFy on the other hand will produce lateral force at 0.5...1 Fz level if you just calculate Fy(180). Code: assert (btFabs(alpha) <= 180); Same story with Mz: PacejkaMz will generate non-zero aligning torque at 90 degrees and above while common sense suggests that if you drag the tyre sidewise it will not have any aligning torque due to its symmetry. Thus real world Mz has to be anti-simmetrical around 90 degrees value. - NaN - 07-30-2011 Quote:Even this is not right, 180 degrees means tyreI didn't want to imply that it is correct, was just looking for the reason for this values. The slip angle should be obviously atan(v_lat/abs(v_lon)) not atan2. But there is still the combining equation which will scale it. - LBodnar - 07-30-2011 For Mz I suggest using this: Code: btScalar CARTIRE::PacejkaMz(btScalar sigma, btScalar alpha, btScalar Fz, btScalar gamma, btScalar friction_coeff, btScalar & max_Mz) const Caller still has to limit the input slip angle to +-180 degrees! Update: Haha! I have just had a look in Pacejka's 2006 book and he includes cos(alpha) factor in Mz stating Quote:factor cos(a) appearing in the equations for the aligning torque to properly handle the case of large slip angles and possibly backwards running... :lol: |