Finished my thesis, and lessons learned.

So I’ve been spending the last 2 years doing research, and have never written about it.  My thesis was “Automated Synthesis and Topology Optimization of Hybrid Electric Vehicle Powertrains”, and is freely available to read here.  I assume most people don’t want to read it all, but I’ve included the abstract at the bottom of this post.

In laymans terms, I created an algorithm to automatically assemble different configurations of hybrid electric powertrains.  Because there more components than a gasoline powertrain, you can connect them in different configurations.  Therefore, the question arises:  what is the most efficient configuration?  I like to think I’m a big picture guy, so I’m more concerned about the system architecture, than the performance of the individual components.  As soon as I heard the project, I immediately agreed to do it.  One (small) regret is that I didn’t choose do to this as a PhD project from the start.

I also liked this project because I wanted to see if I could spend an entire year doing a programming project.  I learned quite a few lessons along the way:

  1. If you keep worrying about the big picture and don’t do any coding, you’ll ever get anything done.  When I first started, I spent a few weeks trying to outline the whole algorithm.  I had no idea what the inputs or outputs to each code block would be.  I didn’t start making any progress until I arbitrarily set a target and started coding towards it.
  2. Sometimes the best way to learn is to fail repeatedly.  I wrote the Dynamic Program from the ground up about 4 times.  I got to know the algorithm really well, and learned about efficient Matlab coding.  In the end, It ran somewhere on the order of 20x faster than the original code.
  3. If you are unfamiliar with a subject, books are definitely the best way to introduce yourself.  Articles give you many vantage points and applications, but they do not contain any of the depth.
  4. Design from the interfaces outward.  Make sure two programs can talk to each other!  I spent a month and a half trying to make MapleSim automatically generate code for Matlab.  It didn’t work.  I worked around it by writing the Graph Theoretic Method by hand.


This thesis presents a framework to automate the process of designing Hybrid Electric Vehicle (HEV) powertrain architectures. An algorithm was developed to assemble and compare all possible configurations of powertrain components. Combinatorics was used to discover all possible combinations of: an internal combustion engine, high-torque low-speed electric motor, low-torque high-speed electric motor, planetary gearset, and five-speed discrete gearbox. The Graph Theoretic Method was used to generate the powertrain models. The powertrain models were comprised of steady-state equations in symbolic form. An optimal control strategy is required to fairly compare the different topologies because a powertrain control strategy is dependant on the configuration. Dynamic Programming was used to determine the control law that minimizes the energy consumption for a given drivecycle. Evaluating every possible topology would take an extremely long time, so topologies were evaluated using a multi-stage screening process. The first stage examined the structure of the powertrain and used heuristics to eliminate infeasible topologies; 512 topologies were feasible. The second stage eliminated topologies that could not meet basic driving performance; 193 topologies were feasible. Basic driving performance was tested using a section of the US06 drivecycle. The sizes of three components were optimized to ensure the topology is feasible independent of the size of the components. The third stage eliminated topologies which could not achieve driving performance design goals; 159 could achieve the performance requirements, but only 119 were reasonably fuel efficient. The driving performance goals were implemented with a drivecycle based on the Partnership for a New Generation of Vehicles (PNGV) goals. The sizes for five components were optimized at this stage. The 20 most fuel efficient powertrains were selected for further evaluation. Additionally, 4 common powertrains were evaluated for reference. The size of the components were optimized for a combination of the PNGV drivecycle and the HWFET drivecycle. The most fuel efficient topology was found to be a Powersplit hybrid which has a discrete gearbox between the final drive and the powersplit device. The electric motor, planetary carrier gear, and gearbox were connected in parallel. It was found that Parallel-like, Powersplit-like, and Complex-like topologies were were the most efficient powertrain configurations. Powertrains containing two gearboxes were more efficient because the geartrain models ignored mechanical inefficiencies.

One Reply to “Finished my thesis, and lessons learned.”

  1. Yep exactly! I feel the same pain and same lesson of no.1&3.
    No matter how afraid I am to coding I still have to and the sooner the better

Comments are closed.