forked from speed-dreams/speed-dreams-code
sync with master
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6425 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 636eb5a2c2d040d0161156b86296cc86bb537018 Former-commit-id: 0ec4d496a46eaed21b47645969c248b83a443fd5
This commit is contained in:
parent
89acccc8b5
commit
80e56de5ab
2 changed files with 18 additions and 15 deletions
|
@ -220,11 +220,11 @@ int ForceFeedbackManager::autocenterEffect(tCarElt* car, tSituation *s){
|
|||
int sign;
|
||||
|
||||
//force acting on the front wheels
|
||||
effectForce = car->_steerTq * this->effectsConfig["autocenterEffect"]["frontwheelsmultiplier"] / 1000;
|
||||
effectForce = -1 * car->_steerTqAlign * this->effectsConfig["autocenterEffect"]["frontwheelsmultiplier"] / 1000;
|
||||
|
||||
//force action on the back wheels
|
||||
effectForce += -1 * car->_wheelFy(REAR_RGT) * this->effectsConfig["autocenterEffect"]["rearwheelsmultiplier"] / 1000 ;
|
||||
effectForce += -1 * car->_wheelFy(REAR_LFT) * this->effectsConfig["autocenterEffect"]["rearwheelsmultiplier"] / 1000;
|
||||
effectForce += car->_wheelFy(REAR_RGT) * this->effectsConfig["autocenterEffect"]["rearwheelsmultiplier"] / 1000 ;
|
||||
effectForce += car->_wheelFy(REAR_LFT) * this->effectsConfig["autocenterEffect"]["rearwheelsmultiplier"] / 1000;
|
||||
|
||||
|
||||
//smooth
|
||||
|
@ -239,7 +239,7 @@ int ForceFeedbackManager::autocenterEffect(tCarElt* car, tSituation *s){
|
|||
//be sure this is a positive number
|
||||
effectForce = effectForce * sign;
|
||||
|
||||
effectForce = (int)((pow((double) effectForce, (double) 1/2) * 120) * sign);
|
||||
// effectForce = (int)((pow((double) effectForce, (double) 1/2) * 120) * sign);
|
||||
|
||||
return effectForce;
|
||||
|
||||
|
|
|
@ -560,23 +560,25 @@ SimUpdate(tSituation *s, double deltaTime)
|
|||
// }else{
|
||||
// carElt->_steerTq = ((-1 * car->wheel[0].forces.y) + (-1 * car->wheel[1].forces.y))/2;
|
||||
// }
|
||||
if (false){
|
||||
carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y + car->wheel[REAR_RGT].forces.y + car->wheel[REAR_LFT].forces.y)/4;
|
||||
}else{
|
||||
carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
|
||||
}
|
||||
// if (false){
|
||||
// carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y + car->wheel[REAR_RGT].forces.y + car->wheel[REAR_LFT].forces.y)/4;
|
||||
// }else{
|
||||
// carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
|
||||
// }
|
||||
/*
|
||||
extern GfTelemetry telemetry;
|
||||
telemetry.log("YFORCEFR",car->wheel[FRNT_RGT].forces.y);
|
||||
telemetry.log("YFORCEFL",car->wheel[FRNT_LFT].forces.y);
|
||||
telemetry.log("YFORCERR",car->wheel[REAR_RGT].forces.y);
|
||||
telemetry.log("YFORCERL",car->wheel[REAR_LFT].forces.y);
|
||||
*/
|
||||
/*
|
||||
GfOut("FR = %f\n", car->wheel[FRNT_RGT].forces.y);
|
||||
GfOut("FL = %f\n", car->wheel[FRNT_LFT].forces.y);
|
||||
GfOut("RR = %f\n", car->wheel[REAR_RGT].forces.y);
|
||||
GfOut("RL = %f\n", car->wheel[REAR_LFT].forces.y);
|
||||
*/
|
||||
carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
|
||||
// carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
|
||||
carElt->_steerTqCenter = -car->ctrl->steer;
|
||||
carElt->_steerTqAlign = car->wheel[FRNT_RGT].torqueAlign + car->wheel[FRNT_LFT].torqueAlign;
|
||||
|
||||
|
@ -711,24 +713,25 @@ SimUpdateSingleCar(int index, double deltaTime,tSituation *s)
|
|||
carElt->_steerTqAlign = car->wheel[FRNT_RGT].torqueAlign + car->wheel[FRNT_LFT].torqueAlign;
|
||||
//carElt->_steerTq = -car->ctrl->steer; /*TODO: torque from Pacejka*/
|
||||
|
||||
carElt->_steerTq = ((-1 * car->wheel[0].forces.y) + (-1 * car->wheel[1].forces.y))/2;
|
||||
// carElt->_steerTq = ((-1 * car->wheel[0].forces.y) + (-1 * car->wheel[1].forces.y))/2;
|
||||
|
||||
/*
|
||||
extern GfTelemetry telemetry;
|
||||
telemetry.log("ZFORCEFR",car->wheel[0].forces.y);
|
||||
telemetry.log("ZFORCEFL",car->wheel[1].forces.y);
|
||||
telemetry.log("ZFORCERR",car->wheel[2].forces.y);
|
||||
telemetry.log("ZFORCERL",car->wheel[3].forces.y);
|
||||
carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
|
||||
|
||||
*/
|
||||
//front wheels: use only a force that is the delta between where the car is pointing and wheel is pointing
|
||||
carElt->_steerTq += car->wheel[FRNT_RGT].forces.y * car->wheel[FRNT_RGT].sa;
|
||||
carElt->_steerTq += car->wheel[FRNT_LFT].forces.y * car->wheel[FRNT_LFT].sa;
|
||||
// carElt->_steerTq += car->wheel[FRNT_RGT].forces.y * car->wheel[FRNT_RGT].sa;
|
||||
// carElt->_steerTq += car->wheel[FRNT_LFT].forces.y * car->wheel[FRNT_LFT].sa;
|
||||
|
||||
//rear wheels: use all the lateral force
|
||||
//carElt->_steerTq += car->wheel[REAR_RGT].forces.y;
|
||||
//carElt->_steerTq += car->wheel[REAR_LFT].forces.y;
|
||||
|
||||
carElt->_steerTq *=-1;
|
||||
//carElt->_steerTq *=-1;
|
||||
|
||||
//carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
|
||||
|
||||
|
|
Loading…
Reference in a new issue