You are on page 1of 13

STRATEGY

MODULE
RECRUITMENT’24

APPLICATION FOR THE


POSITION OF CREW MEMBER
General
Instructions:
Try to answer as many questions as possible.

You can use the help of any online resources to


answer the questions.

We have attached a few references (hyperlinks in


questions) which will be helpful to solve the
questions.

Try to be creative but feasible with your ideas.

Explain your ideas/strategy wherever possible.

Save your answer script as a pdf file with the name


<Module Acronym>_<Roll Number>_<Name>.pdf Eg:
ST_ME23xxxx_Rick.pdf (ST for Strategy module)

Upload your answer script in this Google Form.

The deadline for submission is 12th February eod.

agnirath.iitm

Kailash - +91 82203 71910 (Strategy)


CONTENT

Getting to know your car


This section is about how much you know about modelling
the Agnirath car, the related mathematical equations and
such

Getting to know your data


You now know your car. But do you know how, where, how
often to get the data from?

Deciding the high level of the model


Now that you know the relevant information, let’s decide
how we want our model to be.

Controls?
A tangent into another really important paradigm

Some Math
Just some background math to understand how your
model works.

Coding the Model Yourself


For the final really exciting task, let’s code the model
ourselves!
GETTING TO KNOW ABOUT
YOUR CAR

Any good race strategist will have an intuitive understanding of how


the car works and how all the components interact together. In the
process of answering these questions below, I hope you’ll get an
understanding on how to think about and model a car. Please list out
the assumptions to your solution very clearly at the start of each
question.

Power consumed by the car


Find out a “law” for power consumed by a car moving at constant
speed.
Find out a “law” for power consumed by a car moving at constant
acceleration.
Find out a “law” for power consumed by a car moving at constant
deceleration.
(Model the car as a body, and not as a system that regenerates some
of the energy that it has lost)

Power gained by the car


At a place with a given latitude and longitude, what is the average
power received by a solar panel placed at a given tilt facing a given
direction at a given time?
How do you find the average energy received by this static panel in a
given time period?
What is the power gained by regenerative braking?

Power stored in the car


Explain what SOC of the battery is.
What is the State of Health (SOH) of a battery?
Why would either the SOC or SOH be useful in a strat model?
What other parameters of a battery would be useful in a strat?

Power lost by the car mechanically


How do you figure out the coefficient of friction between the car and
the road? Is it same for all roads?
How do you characterize the aerodynamic losses faced by the car?
What data would you need? How would you model it?
GETTING TO KNOW YOUR
DATA
However beautiful the strategy, you should occasionally look at
the results.
– Sir Winston Churchill

We are engineers after all, and we understand that we live in


the “real” world (whatever that might mean..). Our model is
based on real data and we need to keep receiving it in order to
build our theoretical model. By answering this section, I want
you to think about where we receive data from, what sensors we
might need and so on.

Electrical data - Motor


What data can you get about the functioning of the motor of the
car to model it? How would you get it? One example would be
the Motor Controller measured voltage output to the motor.

Electrical data - Solar


How do you get information about solar data for 1) A predictive
model 2) A real time model? How would the data you obtain
from these two sources be different?

Electrical data - Battery


What would you use to gain data about the state of the battery
of the car?

Electrical data - Thermal


Which components’ temperature data is relevant to modelling
the car? How is it relevant and how would you measure it?

Electrical data - Mechanical


What data would you need to get about the current mechanical
state of the car? How would you get it?
For all the above, if you need data from sensors or
such, mention the name of the sensor. If you need data
from calculations, then detail the calculations
involved.
DECIDING THE HIGH LEVEL
OF THE MODEL:

We have information, and we know how to use it. Now,


let’s move on to making our first “strat” model. There are
a couple of things you need to decide before you start
though.

Objective Function
Define what parameter you want to maximise or minimise.
This could be time, distance travelled, energy saved,
minimising acceleration or whatever you want. Be creative,
but at the same time be realistic. It is required to mention
your rationale too, for whatever choice you make.

Constraints
What constraints are you taking into consideration? How do
you want to frame these constraints? List your assumptions,
and rationale behind them at the top, and list down your
constraints mathematically.

Decision Variables
Define what variables you can control. List down how you will
implement this control effectively.

Optimisation type
For this question, mention the common optimisation types
used, and an overview on them at the start of your answer.
Then, list down what techniques you will use to find the
optimal function. There are a couple of real world
considerations to take into consideration. Keep this in mind,
and try to list them in your answer.
Input:
Explain what inputs your model will require. Keep in mind
that the model could be both predictive and live. Explain why
we need either model, explain how if you were to implement
both models, how would you use the data. Detail your
abstraction, in the sense assume what inputs you’ll get.

Output
Come up with ways to implement controls and how to
visualize the data, learn from it and understand. Give a
detailed description of each idea.
CONTROLS?

This section is an introduction to a popular paradigm used in


solar car optimization, a controls based viewpoint.

Introduction
One popular paradigm is writing the objective function, and
then doing gradient descent or some kind of optimization
right. How is the controls paradigm different from this?

Equations
How would you convert the equations you have written about
to a controls based equation? I need at least one example on
this conversion.

Coupled equations
What are coupled equations? How do you uncouple them?

Solving
How are controls based equations solved?

Drawbacks
What are the drawbacks of a controls based approach? What
are the benefits it offers?
SOME MATH?

In this part, we’ll explore some of the common math concepts


optimization models use. In particular, we will focus on two
of the more commonly used systems, a gradient descent
based predictive model and a controls based live model.

Lagrangian
Explain what a Lagrangian is? When can a Lagrangian of a
function be defined?

Gradient Descent
Explain how the gradient descent method works. I want you
to list down the various steps in the algorithm, and give an
idea of why it works. Finally, I want you to show me how the
Adam optimiser works.

Differential Equations
What is the order and degree of a differential equation?
Explain how you construct a set of adjoint equations to
reduce the order of a differential equation.
Explain 2-3 method to numerically solve a differential
equation. Psst psst Runge Kutta

Stochastic Gradient Descent


Explain how stochastic gradient descent works. What kind of
guarantees does a random process like SGD give? Also,
mention what advantages and disadvantages this has.
CODING THE PROBLEM
YOURSELF!

This is the last and in my opinion, the most interesting


section of them all! We will code the entirety of the model
that we have developed step by step and by doing this, I
hope you will get some closure on having designed an entire
basic race strategy model yourself! One point. I need to run
this model on my laptop, so I’m restricting the languages
that you can use to C++ and Python. If you give me a
Mathematica based model, I will accept it but it would be a
bit harder for me to run and check. Make a GitHub repository,
upload your code into it and attach the link. Be very clear in
stating your purpose and assumptions.

Overall implementation idea:


Consider discrete intervals of time where you have to decide
the velocity to go at. Now, use the optimisation model you
have to calculate the total energy consumption for a given
velocity profile. Optimize your objective function, according
to the constraints. You can either use a prebuilt optimizer
like Adam/ scikitlearn, or code your own.

Inputs
Based on whatever you have answered above, you would have
gotten an idea of what inputs you need and in what range
they fall in. Generate randomly, a medium sized dataset
consisting of these inputs.

Outputs
Give various charts and takeaways from your model. Suggest
an optimal strategy based on the controls you have defined.
The velocity profile is the strategy,
Some Points:
The model should run in a reasonable amount of time (5-10
mins) for a medium sized dataset. Some kind of visualization
along with the velocity profile should be presented as the
output. Try to break your model into various interacting
modules as I have split in the application. Try to comment your
code, so that I can understand what you have done.

Model type
For this exercise, it suffices to do a predictive model (assuming
you have no live data). Try to implement a gradient descent
algorithm for this model.
References:
Optimal energy management for solar-powered cars -
Peter Pudney
Winning solar
Gradient descent reference:
https://towardsdatascience.com/gradient-descent-
algorithm-a-deep-dive-cf04e8115f21
Stochastic gradient descent:
https://scikit-
learn.org/stable/modules/sgd.html#:~:text=Stochastic%
20gradient%20descent%20is%20an,training%20example
%20at%20a%20time.
Lagrangian and Hamiltonian reference
https://scholar.harvard.edu/files/david-
morin/files/cmchap6.pdf
Something for data collection ideas
https://solarcar.mst.edu/wp-
content/uploads/sites/14/2019/03/Cureton_et_al_2015061
9.pdf
General
https://www.20sim.com/downloads/Factsheets/Factshee
t-Solar-Team.pdf

You might also like