I am attempting to minimize the energy consumption used by an electric-motor-powered car given the speed restrictions: $$\text{speed}: [v_{\text{min}},v_{\text{max}}]$$ Currently, we are utilizing a bang-bang controller where we tell the motor to run at full voltage until $v_\text{max}$ is reached. After this, the motor is cut. Once the speed approaches $v_\text{min}$ due to energy losses in the system, we will repeat this cycle.

We are striving to achieve the least energy consumption per unit distance. Is it worth while to implement some motion profiling system, or would this just increase energy consumption?

  • $\begingroup$ I think you're missing some extra information. If the motor is at $v_{max}$ what causes it to go to $v_{min}$? What is this "cycle" you refer to? $\endgroup$ – ryan0270 Feb 21 '18 at 20:19
  • $\begingroup$ Motion profiling would make sense but all factors (mechanical and electrical), not just airdrag should be considered $\endgroup$ – 50k4 Feb 21 '18 at 21:37
  • $\begingroup$ @ryan0270 the motor will approach $v_\text{min}$ due to a variety of factors, including (but not limited to) friction and air resistance of the vehicle. The cycle is where the car will apply full voltage to motors until the car reaches $v_{\text{max}}$ if the car reaches the velocity of $v=v_{\text{min}}$ from not powering motors. $\endgroup$ – Andrew Gazelka Feb 22 '18 at 17:33
  • $\begingroup$ When you say "not powering motors", do you mean after you hit $v=v_{max}$ you stop applying voltage? $\endgroup$ – ryan0270 Feb 22 '18 at 19:40
  • $\begingroup$ @ryan0270 correct. This is a common method used in the Shell Eco Marathon for attempting to use the least joules / distance. $\endgroup$ – Andrew Gazelka Feb 22 '18 at 21:11

To paraphrase your question, you are using "bang-bang" control to keep the velocity of your vehicle within a desired range, and want to know if there is a better way to minimize energy consumption per distance traveled.

The answer is almost definitely "yes," with one exception: IF $v_{min}$ and $v_{max}$ values are very close together, and IF the system contains sufficient damping so that the velocity does not overshoot the target $v$, and IF the bang-bang controller is implemented efficiently, and IF the target $v$ is at the most efficient operating point for your vehicle, then no, there would likely not be a more efficient algorithm. But all of these conditions are probably not true.

To implement a controller that minimizes energy consumption, you really need to know the efficiency of your vehicle for the universe of operating conditions the vehicle will be subjected to. I would map this out (experimentally or algorithmically, as @hauptmech describes), then determine the optimal operating points. Since your vehicle probably starts from rest, you will need to integrate the energy used for various acceleration profiles when speeding up to the desired operating point in order to reduce losses at the beginning of travel, then use the optimal acceleration profile to define the velocity setpoints for the controller during a journey. Repeat this for the deceleration period when ending a journey. Finally, the system stability (or its ability to remain at a target $v$ over time) will determine whether or not you need to implement a more advanced controller than bang-bang. I would start with a proportional-plus-derivative controller attempting to servo around a specific velocity target, rather than a velocity range as you have implemented. That way you can minimize the variance from the target $v$ without allowing it to vary by an arbitrary amount.


How much energy are you using now with this strategy? You can't minimize if you can't measure or estimate with equations.

It appears that kinetic and potential energy both start and end at zero in your scenario. So all energy expenditure is from losses. If you make a list of your losses you will see by looking at the variables which ones are influenced by a motion profile and which are not.

Air friction and wheel contact friction are only some of the losses and whether they are significant depends. You need to list the equations, assumptions, and estimates of physical parameters you are using.

As a hint, battery internal losses, motor losses, gear losses and motor driver switching losses all are potentially significant depending on the size of your vehicle, the technology used, and the operating environment.

This can be solved mathematically or experimentally. Experimental requires less math but takes a lot longer to do. (In truth, a mathematical approach would end with experimental validation but take less time because your experiments would start closer to the solution). I'll expand this answer if you add details on your own progress towards a solution.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.