Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Project Lead

All

Team Members

Tim Kang, Jeff Mak

Objective

Generate an optimized velocity profile that minimizes energy usage within given constraints

Due date

10/28/2023

Key outcomes

Status

IN PROGRESS

\uD83E\uDD14 Problem Statement

Research Optimization Legacy Code

Code Breakdown

Function: “load_course_map“

  • Parameters: The name of the course we’re trying to load in (course_name)

  • Returns: The map of elevations on said course (elev_profile).

  • The map of elevations has dimensions num_points x 2, with column 1 (Index 0) representing the y-coordinates and column 2 (Index 1) representing the x-coordinates.

Function: “generate_initial_profile“

  • Parameters: The maximum allowable time to cover a distance in seconds (time), the distance to be covered in meters (distance), the list of pitches map of elevations that the car must travel (e_profile), the minimum allowable velocity (min_velocity), and the list of indices where the car must stop (stop_profile)

  • Returns: A map of the same dimensions as the map of elevations with each element representing the average velocity required for the car to move at each point on the map of elevations (initial_profile).

  • Ex. initial_profile[2] = 10 means that according to the initial profile, the car should be moving 10 m/s at point 3 (Index 2) on the map of elevations.

  • This function basically generates the naive/initial solution that will be improved upon through the optimization function later in the program.

Function: “objective“

  • Parameters: The velocity profile (v_profile)

  • Returns: The amount of energy used by the car as a result of driving at the stated velocities in v_profile throughout each point on the map of elevations (energy / 100000). The energy usage is calculated by a function located in car_model.py

  • This objective function will be minimized by the optimization function later in the program because we’d want to minimize how much energy the car uses.

Function: “time_constraint“

  • Parameters: The velocity profile (v_profile)

  • Returns: Time spent driving as a result of moving at the stated velocities in v_profile throughout each point on the map of elevations subtracted from the maximum allowable time by the competition. (time-sum(time_used))

  • Basically returns how much more time we used than is allowed.

  • Time used by the v-profile shouldn’t be greater than the maximum time allowed by the competition.

  • Used as a constraint for the optimization function later in the program

Function: “speed_constraint“

  • Parameters: The velocity profile (v_profile)

  • Returns:

What does it accomplish?

Inputs/Outputs

Dependencies

Processing Outputs (how do we gain strategical advantage using the output)

🎯 Scope

Must have:

Nice to have:

Not in scope:

\uD83D\uDDD3 Timeline

Oct2021NovDecJan2022FebMarAprMayJun
Lane 1
Lane 2

Feature 1

Feature 2

Feature 3

Feature 4

iOS app

Android app

\uD83D\uDEA9 Milestones and deadlines

Milestone

Owner

Deadline

Status

\uD83D\uDD17 Reference materials


  • No labels