Skip to content
Permalink
Browse files
Hopefully a fix for the start jitter bug
  • Loading branch information
David committed Mar 22, 2023
1 parent d6e5c4a commit 7413084f3418618dc7ab369b08231dcd74edcd72
Showing 1 changed file with 70 additions and 5 deletions.
@@ -13,7 +13,7 @@ void adas_api::AxleControlFrame::set_torque( const float torque )

float adas_api::AxleControlFrame::torque_rpm_limit( const float rpm )
{
if( rpm > 700 )
/*if( rpm > 700 )
return 50.f;
else if( rpm > 600 )
return 85.f;
@@ -24,9 +24,74 @@ float adas_api::AxleControlFrame::torque_rpm_limit( const float rpm )
else if( rpm > 300 )
return 150.f;
return 200.f;

return 200.f;*/

// Cavern Taylor's Code Potential Optimum from Ian's Limits (SET 21.9kW Motor Power Limit)
if ( rpm < 305 ) {
return 195.f;
} else if ( rpm > 800 ){
return -0.02 + 59596 * pow(rpm,-0.999);
} else {
return 59596 * pow(rpm,-0.999);
}

//***Cavern Taylor's Code Values using code from ideal curve smoothing (SET 24.95kW Motor Power Limit)
/*if ( rpm > 345 )
return 194.5f;
else if ( rpm > 350 ) {
return 67896 * pow(rpm,-1);
} else {
return 195.f;
}*/

// ***07-03-2023 TESTING DATA POINTS***
/*if( rpm > 470 )
return 150.f;
else if( rpm > 430 )
return 160.f;
else if( rpm > 390 )
return 170.f;
return 192.f;*/

//***Cavern Taylor's TESTING DATA POINT OPTIMISATION 1 (Straight line connecting data points) (wheel)
/*if ( rpm > 500 )
return 150.f;
else if ( rpm > 470 )
return -0.33 * rpm + 316.6;
else if ( rpm > 430 )
return -0.25 * rpm + 277.5;
else if ( rpm > 380 )
return -0.55 * rpm + 406.5;
else
return 190.f;*/



/*float e = ( -0.3055 * rpm ) + 284.05;
if( e > 200.f ) e = 200.f;
if( e < 0 ) e = 0;
return e;*/

/*if( rpm < 390 )
return 195.f;
return 76169 * powf( rpm, -1 );*/

/*if( rpm <390 )return 192.f;
if( rpm < 430 ) return 170.f;
if( rpm < 470 ) return 160.f;
return 150.f;*/

// Cavern Taylor's Code to check potential maximum TORQUE limits
// if ( rpm > 305 ) {
// return 59596 * pow(rpm,-0.999);
// } else {
// return 195.f
// } // if ( rpm > 305 ) {
// return 59596 * pow(rpm,-0.999);
// } else {
// return 195.f
// }
}

can_frame adas_api::AxleControlFrame::_process() const
@@ -38,8 +103,8 @@ can_frame adas_api::AxleControlFrame::_process() const
if( this->_brakeControl.on() == false &&
this->_statusFrame.is_recent() &&
this->_statusFrame.as_state() == adas_api::StatusFrame::AsState::DRIVING && // in driving mode
this->_brakeFrame.is_recent() &&
this->_brakeFrame.on() == false && // brakes are off
/*this->_brakeFrame.is_recent() &&
this->_brakeFrame.on() == false &&*/ // brakes are off
this->_torqueFrame.is_recent() &&
this->_speedsFrame.is_recent() )
{

0 comments on commit 7413084

Please sign in to comment.