function [acceleration]=acceleration_motor_response(percent,rpm_vector,torque_vector,curr_rpm,gear_ratio,differential_ratio,transmission_efficiency,wheel_radius,car_mass,curr_gear)
%ACCELERATION_MOTOR_RESPONSE Calcula a aceleração proporcional a uma
%                            variavel percentual, que tem como máximo a
%                            variável "max_acceleration".
%##########################################################################
% A função aceita uma variavel de percentagem, que vai de 0 a 1, e retorna
% uma acelaração proporcional a essa percentagem, com um limite máximo de
% "max_acceleration"
%
% INPUTS:
% percent -> Valor entre 0 e 1, que serve de constante de
%            proporcionalidade;
% max_acceleration -> Aceleração máxima do carro [m/s²].
%
% OUTPUTS:
% acceleration -> Aceleração final a aplicar ao veiculo [m/s²].
%##########################################################################
% Cálculo to Torque máximo, ás RPM requeridas:
torque=percent*linear_interp(rpm_vector,torque_vector,abs(curr_rpm));
% Troca-se o sinal da aceleração se estiver em marcha atrás:
if curr_gear==6
    sign=-1;
else
    sign=1;
end
% Cálculo da aceleração:
acceleration=sign*torque*gear_ratio*differential_ratio*transmission_efficiency/(wheel_radius*car_mass);
end