Progress and Final Report Requirements

The final report should have details on the followings

  1. Description of the vehicle: This include all raw and processed data of the vehicle you plan to design for, the free body diagram and the dynamics model for acceleration (Problem 1), or the energy consumption model for Problem 2.

  2. The description and code that you used for the system level design, where you determine the target gear ratio(s) based on the model you built in (1). Please include all assumptions you make during the modeling and design. Also include validation attempts (e.g., comparison of your results with real test data of the vehicle).

  3. The description and code for the detailed gearbox design, where you determine the sizes and material selections for the shafts, gears, bearings, and keys to meet the target gear ratio(s) while minimizing the gearbox volume. Please include all assumptions you make during the design process.

What is expected at Preliminary Report?

You should have (1) ready, with all details on the data, their sources, and the post-processes. You should have the majority of (2) done, with evidence that your code is working properly or you have identified the issues and have a good plan to address them. For part (3), you can describe the design flow, i.e., how you plan to connect the element-wise designs covered in class together.

Documentation and submission

Please submit a single PDF file on Canvas. If you like what you did in the project, I recommend that you post it on GitHub.

FAQ

The project has two stages: 1) find the target gear ratio(s), 2) design the gearbox for these ratios. See the following answers for 1). For 2), please follow Chapter 18 and homework.

Here are the steps:

  1. Derive the differential equation for vehicle speed. The function should look like \(\dot{v} = f(v)\), where \(\dot{v}\) is the acceleration, and \(f(v)\) is the total force, which includes the tractive force (contributed from the engine torque) and the friction forces (contributed by rolling resistance and drag). Note 1: the tractive force is linearly related to the gear ratio to be determined. Note 2: the engine torque is a function of engine speed (rev per second), and thus a function of the vehicle speed.

  2. Use MATLAB to solve the differential equation, with the initial condition \(v(0)=0\). The solution will be a velocity-time curve from where we can find the time cost for accelerating to 60 mph. Note: There are two cases where one would need to switch to the second gear. The first is when switching gear increases the output torque at the wheel; the second is when the first gear cannot reach 60 mph. In either cases, one should be able to determine when and where to switch gear. When gear switching is needed, one would need to solve 2 ODEs. The second one should use the terminal point of the first one (the time and the velocity) as the initial condition.

  3. With 1 and 2, one can now perform trial and error to find the optimal ratios that minimize the total time.

Note that the engine is connected to the transmission, which is connected to the final drive, which is connected to the wheel, all through shafts. Therefore, there is a linear relation between the engine and the vehicle speed.

This is up to you.

Normally from solving the differential equation, you will found that your car runs faster its real performance number. This is largely because we do not consider energy/torque loss in the system.

Here are some common problems:

  1. Please check if you divide by the mass for the RHS of the ODE.

  2. Please check if units are consistent!

  3. In some cases you may have negative torque when interpolating the engine torque at low rpm. If this is the case, set your engine torque to be always larger than a small positive number. This number should be such that you will have a positive net force to accelerate the car.

  4. You will need to fit the engine data and use the fit function inside the ODE.

  5. With 1st and 2nd gears, you will need to compute when the switch happens. This does not always happen at the red line.

Please use this code. fMPG.m takes in a gear ratio and a drive cycle (see definition inside the code) and outputs the MPG number of that gear ratio on that drive cycle. You can then tune the gear ratio to try to improve the MPG.

Some explanation of the code: For a parallel hybrid, the power demand of the car (calculated based on the drive cycle) will be split between the engine and the motor. The engine and motor speed are fixed based on the gear ratio, the final drive ratio and the vehicle speed demand. But the torque can be split freely between the engine and the motor. By scanning the feasible range of engine torque, we will get a series of engine fuel consumptions (based on engine speed and torque) and battery energy consumptions (based on motor speed and torque). The first part of the the file fMPG.m computes all these consumption data for every time step during the drive cycle, and finds the Pareto optimal engine and motor operating points based on the consumptions. A Pareto point (fuel, power) in this context is such that there is no better fuel (energy) consumption for the same or better battery (fuel) consumption that can be found among all splits. This resultant data is then saved, and will allow us to only pick from the Pareto optimal operating points during optimal control.

The second part of the code (starting from Line 198) is for solving the optimal control problem, so that the minimal fuel consumption can be achieved while keeping battery state of charge unchanged. This is an implementation of the equivalent consumption minimization strategy.