Skip to main content

Reports

Contents:



Meeting Minutes:

Week 17 (5/9-5/13)

5/9 - Meeting #34

Start Time: 4:00 pm - End Time: pm

Kathryn Rohlfing, Tingkai Li

Discussed:

  • Error in capacity data being loaded in graph
    • From the downloaded data on the frontend, some of the values look right (should be 0.0…. not 3….)
    • Likely an error within the initial database load
  • Gaps in data, runner.py not always running, possibly when lab computer is sleeping
  • Differential graphs won’t necessarily work since the time between data points is too small, not something for this team to fix
  • Need to fix x/y labels on first QV graph, and units should be mAh on that page, not Ah

Week 16 (5/2-5/6)

5/6 - Meeting #33

Start Time: 4:00 pm - End Time: 4:30 pm

Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams,YewKen Chai, Tingkai Li, Chao Hu, Simanta Mitra, Carey Novak

Discussed:

  • Final demo for client
  • Capacity/voltage values are too large in capacity fade graph
  • Add key to prediction diagram
  • QV should have x and y axis swapped potentially
    • Values are not quite right, but not sure why
  • Work with Dr. Hu to fix errors in the data before submission
    • Look at sample excel file
    • Can have a Zoom or in-preson meeting with Tingkai
  • Provide documentation on all the pieces and how to run to Dr. Hu
  • Save data as csv rather than json
  • Meet on Monday with Tingkai at 1 pm

5/5 - Meeting #32

Start Time: 1:00 pm - End Time: 2:00 pm

Kathryn Rohlfing, Evan Williams

Discussed:

  • Adding prediction code to the frontend
  • Moving threshold input from home page, since it has to be provided for prediction code anyways

5/2 - Meeting #31

Start Time: 10:0 pm - End Time: 10:30 pm

Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams,YewKen Chai

Discussed:

  • Real data loads from database now
  • Needed to change cid to id in frontend to make correct database calls
  • Some errors with database if no data is found in capacity table for a row in genTable
  • Channel Name is not showing up on frontend, some debugging needed

5/2 - Meeting #30

Start Time: 5:30 pm - End Time: 6:00 pm

Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams,YewKen Chai

Discussed:

  • Worked on presentation
  • Expect that database should be done
    • Aidan will meet with with Ken tonight to discuss
  • For demo, Kathryn will show either live frontend site or pre-recorded video
  • Jihoo will remote into lab computer on his laptop, Ken and Aidan will go over that demo
  • Ken and Aidan will work on database tonight

5/1 - Meeting #29

Start Time: 2:15 pm - End Time: 4:00 pm

Jihoo Kim, Kathryn Rohlfing, Evan Williams

Discussed:

  • Worked on updating documentation
  • server.py, client.py, related files not in use anymore due to database
  • Need clarification on some of the backend files, but a first draft of components has been written for all

Week 15 (4/25-4/29)

4/29 - Meeting #28

Start Time: 4:00 pm - End Time: 4:30 pm

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams, Tingkai Li

Discussed:

  • From Jihoo: INSERT INTO table_name (column_list) VALUES (value_list_1)
  • Dr. Hu is in a different meeting currently, won’t be able to join
  • Tingkai says frontend has the major features wanted for the site
  • Able to get data from the Neware API into the database prior to its crash
    • This is from the http request loading method
    • Not currently displayed in frontend
  • SQL database can store up to 1 trillion rows so should be able to store the full file
  • Jihoo has idea to solve it by changing how the initial load is done
    • Can also write into file and use import manually
  • Ken says can also return latest in a timestamp, but sometimes 2 rows have same timestamp so data may be lost this way 
    • Tingkai says that there should be a slight difference between all
    • But, if they’re written too close to each other and data is pulled every 5 seconds, a few points could be lost 
    • Shouldn’t be a problem as they will do interpolation on the data anyways
  • Ken working on splitting cycling and testing dataset
    • Is there any indicator that current cell will finish soon? Thinking a way to do it would be check data every few minutes to see if timeseries type has changed, but this would be expensive, 
      • No automatic way Tingkai says
  • Neware API only returns most recent testing timeseries
  • Tingkai says don’t set characterization/cycling test based on things like how long they’re running based on their current setup
    • Could change how they’re running things, such as longer cycling tests only
    • No fixed time, cycling test is manually stopped but characterization is automatically stopped
  • Would be better to manually put in parameters for users
    • On home page, set whether a cell uses characterization or cycling
      • Text field input so there can be more choices later
      • Jihoo will add endpoint to update test type
  • Predicting cycle life is most important graph to have
  • Deadline would be next week for dead week
    • Tingkai will check with Dr. Hu to see if he wants to meet - would be good to do final presentation for him and Carey

4/28 - Meeting #27

Start Time: 4:30 pm - End Time: 6:20pm

Jihoo Kim, YewKen Chai, Aidan Webster

Discussed:

  • We will reconvene later tonight once the JSON formatting has been changed
  • Refactoring JSON object format to match database
    • Make a dictionary where keys are the “channel IDs” 1-64, and the values are lists of JSON objects where each object is a data point that contains current,capacity,voltage, etc.
    • Make one JSON object per channel id where the format is { cell name channel id status } (edited) [5:34 PM]
    • the cell name can just be the exact same as the channel id, which is the "1-1" name field [5:35 PM]
  • Established python to sql connection
  • Things that need to be changed in database:
    • Change time field to string instead of datetime
    • Removed redundant q entry
    • Change channel id to 1-1,1-2, will be provided as input 1-64

4/28 - Meeting #26

Start time: 12:40 pm - End time: 12:50 pm

Kathryn Rohlfing, Evan Williams, Dr. Mitra

Discussed:

  • Need to meet with Chao to show him progress on our project
  • For class presentation, also demo remoting into the lab computer and showing how data is pushed to the database

4/26 - Meeting #25

Start time: 12:15 pm - End time: 1:00 pm

Kathryn Rohlfing, Evan Williams

Discussed:

  • 415 error with the put request for names -resolved by adding a content-type header
  • Decided to make a database call to refresh the table when the name is changed so that it’s as user-friendly as possible and reflects changes as quickly as possible
  • To-do: finalize course website including team members page, documentation, verify that all data shows up properly when database is filled with real data

Week 14 (4/18-4/22)

4/22 - Meeting #24

Start time: 4:00 pm - End time: 4:30pm

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Tingkai Li

Discussed:

  • For graphs, y axis should be between 3 and 4.2 for capacity/voltage, x maximum 0.27 ish (units Mah)
  • Frontend download works, and update to CanvasJS is complete - home page pulls from endpoints, graph page needs to be updated to pulling from database
    • Jihoo says endpoint should be complete by next week
  • Aidan has made good progress on pushing data to the database
  • Ken working on the Gaussian process code from last week
    • Takes some modifications to get it to work
    • Data may be stored on lab computer, not Neware
    • API is giving only most current cycle currently
      • At first may need something to get initial data, but eventually just updating it with newest data should work
    • Double exponential graph only, not other 8 models provided in example
  • Max number of channels is 64 in tester

4/19 - Meeting #23

Start time: 12:40 pm - End time: 1:00 pm

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams

Discussed:

  • Id in capacity read_table request is channel request
  • Jihoo can add more endpoints, will send him data of what the frontend needs
    • At least one for capacity read to only return top data, since home page only needs most recent
    • Kathryn will send current documentation, eventually need backend assistance but main priority is getting real data to database

Week 13 (4/11-4/15)

4/15 - Meeting #22

Start time: 4:00 pm - End time: 4:15 pm

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams, Tingkai Li

Discussed:

  • Ok to use CanvasJS - can apply for student license, but also ok in the meantime to just use the trial version
  • Capacity-voltage x axis should have a max value of about .2, not 5. Need to take a look at this
  • Database should be working in the next 1-2 days
  • Graph data from Ken and Aidan should all be up to date – they’ll look this weekend at the remaining life prediction
  • Ken asked What values should we use for the first prediction time and and end of life threshold when predicting for your cells?
    • Tingkai says that the end of life threshold should be 80% (.8)
      • May need to modify a bit to make prediction from 3rd or 4th week
    • May be able to split characterization and cycling test - only the characterization tests should be used for end of life prediction 
      • Easiest way is to, when storing in database, label the different kinds, but need to be able to determine what kind of a test it is
      • Alternates between cycle and characterization test
    • Simplest way to distinguish between the two cycles is based on how long they run
  • NDA file records end capacity of each step
    • Can store this for each step in a separate table in database (Capacity of discharge(Ah) - make sure it’s a discharge status, and get that row’s capacity
    • One value each week

4/13 - Meeting #21

Start time: 3:30 pm - End time: 4:00pm

Evan Williams, Kathryn Rohlfing

Discussed:

  • Victory is having difficulty rendering the full size of the real data
    • Evan will test using react-timeseries charts to see if it handles the larger dataset better
  • Kathryn will work on jsdocs

Week 12 (4/4-4/8)

4/8 - Meeting #20

Start time : 4:00 pm - End time: 4:30pm 

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams, Tingkai Li

Discussed:

  • For download data, want to be able to get all data for a particular cycle (or range of cycles, not just for each graph
    • Important to be able to track cycles in the database
  • Edit Cell names feature looks good
  • Monthly flush of database should be fine, may check with Chao to be sure
  • Tingkai will check on machine learning/prediction status
    • Will likely be part of the capacity fade surve if we implement it

4/5 - Meeting #19

Start time : 2:45 pm - End time: 3:30pm 

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams

Discussed:

  • Want to ask Friday - do we need to call/display machine learning algo, or just have data available to download
  • Graph data should be done this Friday (tentative)
    • Update runner.py to make http requests
  • Jihoo will work on database
    • Should be done in next week
  • How often do we need to get rid/flush test data from database?
  • Shouldn’t have to store real-time in database, just history (for graphs) and also battery cell names

To-Do:

  • Display graph data
    • Add a slider to move across steps?
  • Can view and download past channel data
    • List all previously stored data, when clicked shows graphs
  • Create a database to store 1. past test data  2. current cell names
    • Table 1: 20 cell names
    • Table 2: Tables for previous test data
      • May need 2 tables, 1 with intervals of seconds and 1 with cycles
    • How often do we need to flush old(est) data?
  • Can change cell names on frontend, saves to db, pull down updated data
  • Send full data to server/database, then in a particular response send back only needed columns etc to frontend
  • Will update runner.py to run as service to start on boot

Week 11 (3/28-4/1)

4/1 - Meeting #18

Start time: 4:00 pm - End time: 4:30pm

Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams, Dr. Mitra, Chao Hu, Tingkai Li, Carey Novak

Discussed:

  • Need to get graphs loaded
  • Frontend should be able to filter/sort data
  • Need to get cycles column, since that’s the basis of their data
  • Database to store everything, Jihoo is working on this
  • Need to be able to display web page on different computers/host on server
  • Merge in other branches so that it’s all in one place

Week 10 (3/21-3/25)

3/25 - Meeting #17 - Demo

Start time : 4:00 pm - End time: 4:30pm 

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams

Discussed:

  • Need to update Cycle Life (%) column, current data is in 100s or 1000s which isn’t a percent
    • Currently coming from relative time parameter currently?
    • Not found in the raw data, will have to be computed
    • Should be titled like ‘Cycles Completed’, starts at 0 and counts up every time
      • May need to save somewhere in server etc to track that since it stops and restarts weekly
    • Cycle should be renamed Steps
  • Change Battery Name to Channel Name, and maybe have a separate Battery name that’s customizable within the UI, figure out how to track which battery name was in a particular channel at a particular time
  • Under Status, instead of working say either charging or discharging
    • Change based on current value if positive or negative
  • Want to be able to save how many cycles cell has gone through
    • Develop a file to record each battery
    • Example:
      • Battery1-1
        • Week 1 x number of cycles
        • Week 2 y number of cycles
    • Start counting from the present since we don’t have access to past data
    • Would be good eventually to display on site
      • Could do a separate tab on graphs page for each battery
  • Capacity fade graph requires for you to check past data, each data point is one cycle
    • Neware API has a function to get channel history (need to get the right timestamp to make sure it’s for the right cell)
    • Should look similar to a cubic function, but shouldn’t reach 0

3/25 - Meeting #16

Start time : 2:45 pm - End time: 3:30pm 

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams

Discussed:

  • Networking looks good 
    • Need to look into adding in the specific filepath for data in React to get networking working there (to find data from server)
  • Combining folders on lab computer to combine front/backend
    • Need to output json to a file in Backend folder so it can be sent to the server
  • Doesn’t work to run fronted on the server because of node version, but can run locally for demo. Will look into this next week or soon after
  • Main battery page runs great and updates instantly with new data, graph pages aren’t updated yet - need to decide if frontend will send a request to the backend when a battery page is opened, or how that should work to not stream all the data when it won’t be used

3/24 - Meeting #15

Start time : 12:40 pm - End time: 1:10 pm 

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Aidan Webster, Evan Williams

Discussed:

  • Networking is going well: real data may take a long time since there is so much
    • Once the transfer data is received, info will be in server and won’t have to run locally soon (but not received yet today)
  • For tomorrow: run locally
  • Will regroup tonight or tomorrow to connect everything, backend had some bugs that should be good by tonight

3/22 - Meeting #14

Start time : 12:40 pm - End time: 1:00 pm 

YewKen Chai, Jihoo Kim, Kathryn Rohlfing, Aidan Webster

Discussed:

  • Jihoo was able to send data to server (once, doesn’t check for updates)
  • Pipeline code that was on main isn’t the right one, is on a different branch
    • Ken will merge it into main
  • Aidan is almost done with data pre-processing, should be by end of day today
  • Will run locally for the demo
    • Having some issues with Teamviewer
  • Before Friday, need to run once to get data into json file to run on the lab computer
  • Thursday meeting to go over pieces
  • For frontend, won’t have to do any fetching to update data, updates automatically when json changes

Week 9 (3/14-3/18)

Spring Break - No meetings occurred


Week 8 (3/7-3/11)

3/8 - Meeting #13

Start time : 12:50 pm - End time: 1:30 pm 

Evan Williams, Jihoo Kim, Kathryn Rohlfing

Discussed:

  • Networking
  • Kathryn will attempt to host frontend on class server, see if it can run
  • For demo on 3/25, just run it locally
  • Communicate directly with the lab computer, grab data directly from there and have endpoint on lab computer to send to frontend
  • Will ask Mitra about how to communicate between front/backend

Week 7 (2/28-3/4)

3/4 - Meeting #12

Start time : 4:00 pm - End time:   4:15 pm

Jihoo Kim, Aidan Webster, YewKen Chai, Kathryn Rohlfing, Tingkai Li, Adam

Discussed:

  • Tingkai will restart lab computer to help with backend package installs
  • Small style changes on frontend, next big thing is just to get data from backend
  • Chris says they only have nda to excel, but have already figured out another option
  • Dummy server isn’t possible, so will need to be careful with data on lab computer
  • Host react project on the server (Jihoo will look into this)

Week 6 (2/21-2/25)

2/25 - Meeting #11

Start time : 4:00 pm - End time:  4:15 pm

Evan Williams, Jihoo Kim, Aidan Webster, YewKen Chai, Kathryn Rohlfing, Tingkai Li, Carey Novak

Discussed:

  • Status update on project, have been able to convert nda files, updates on battery site page
  • Add differential curve for qv curve and capacity fade
  • Have main dashboard update with new data every 5-10 seconds would be good
  • Start with graphing data from one cycle
  • Will give update in about 1 month, Fri Mar 25 (need to impress Dr. Hu :)

2/24 - Meeting #10

Start time : 12:45 pm - End time:  1:52 pm

Evan Williams, Jihoo Kim, Aidan Webster, YewKen Chai, Kathryn Rohlfing

Discussed:

  • Still haven’t heard back from Chris :(
  • Backend was able to convert the .nda files into either .csv or json depending on what we want to do
  • Frontend cleaned up the battery graph page and added tabs for different plot curves
  • Determined that initially we will populate the graphs by using the .nda files. However, those files are megabytes in size so after initialization we will continuously update the graphs using the pipeline.
  • A feature that we decided will be very useful is a button to re-initialize the graphs if needed via the .nda file
  • Frontend showed how the json files are structured so the backend knows how to send the data to them in a format that is convenient
  • We need to ask if they want the data since the start of the test existence 
  • Also need to ask what tests they want shown, for example if they use one battery for multiple tests do they want the ability to save old test graphs or do they just want the ability to monitor the live data?
  • Idea for a future feature: the ability to save and view old test graphs in an archive of sorts
  • Backend sending handshake message to frontend
  • Backend split up work:
    • Ken: Neware API data extraction
    • Aidan: Data pre-processing
      • Package for pre-processing: Pandas
    • Jihoo: Networking component (frontend to backend communication)
      • Package for networking: Requests 

Week 5 (2/14-2/18)

2/18 - Meeting #9

Start time : 4:15pm - End time: 4:40 pm

Evan Williams, Jihoo Kim, Aidan Webster, YewKen Chai, Kathryn Rohlfing, Tingkai Li

Discussed:

  • Backend was able to pull .nda files, need to talk to Chris to figure out how to parse those
  • Don’t need to view all of the data charts for individual battery page, plots are more important
  • CC_DChg means constant capacity discharge, Qv = capacity vs voltage
  • Frontend team received feedback on UI

2/17 - Meeting #8

Start time : 12:00pm - End time : 3:30pm

Evan Williams, Kathryn Rohlfing

Worked on:

  • Reviewed change to data table
  • Determined which columns should be present in main dashboard
    • Battery Name, Status, Cycle, Cur(A), Voltage(V), CapaCity(Ah), Energy(Wh), Cycle Life(%)
  • Began designing individual battery page

Week 4 (2/7-2/11)

2/08 - Meeting #7

Start time :  12:40pm - End time: 1:00pm

Jihoo Kim, Aidan Webster, Kathryn Rohlfing, YewKen Chai, 

Worked on:

  • Sent follow up email to Tingkai inquiring about the python code he has for us and when we will get to meet the Neware person/how
  • Kathryn showed us the progress her and Evan have made on the frontend GUI
  • Jihoo is going to contact Mitra to get information on getting a server for the backend and potentially presentation, Aidan will attempt to connect to Neware

2/07 - Meeting #6

Start time : 12:00pm - End time : 2:00pm

Evan Williams, Kathryn Rohlfing

Worked on:

  • Initial work on reactjs app
  • Started on an actionable data table for the list of batteries
  • Created new issues and layed out the next week of work to be done

Week 3 (1/31-2/4)

2/03 - Class #4 (Presentation)

Start time : 12:40pm - End time: 1:15pm

Evan Williams, Jihoo Kim, Aidan Webster, YewKen Chai, Kathryn Rohlfing

Discussed:

  • Went over use cases, screens, and components/overview in class
  • Dr. Mitra says it would be cool to move the graph every time more data comes in
    • Will look into Recharts, and react-timeseries-charts
  • Should look into libraries for drawing graphs and also organizing code well
  • Sending email to client to ask about how to get data from API, server questions

2/02 - Meeting #5

Start time : 5:00pm - End time : 5:15pm

Jihoo Kim, Aidan Webster, YewKen Chai

Discussed:

  • Discuss backend plans for Thursday meeting
  • Reviewed Neware API document

2/01 - Meeting #4

Start time : 1:30pm - End time: 2:15pm

Evan Williams, Kathryn Rohlfing

Discussed:

  • Began sketching UI screens

2/01 - Meeting #3

Start time : 12:40pm - End time: 1:00pm

Evan Williams, Jihoo Kim, Aidan Webster, YewKen Chai, Kathryn Rohlfing

Discussed:

  • Preparing the use case and requirements for Thursday meeting

1/31 - Meeting #2

Start time: 5:00pm - End time: 5:45pm

Evan Williams, Jihoo Kim, Aidan Webster, YewKen Chai, Kathryn Rohlfing

Discussed:

  • Viewed battery test setup
  • Cycle: 1 charge and discharge
    • Not all discharges are equal (sometimes fully discharged, sometimes less)
    • Each cycle has steps within the cycle (don’t need to show in UI)
  • Tingkai will send API for battery test equipment that backend will use & python model
  • Began describing requirements and plan to be shared on Thursday
  • Frontend: Kathryn & Evan
  • Backend: Jihoo, Aidan, YewKen 
  • Both email and discord work equally well

Week 2 (1/24-1/28)

1/28 - Meeting #1

Start time: 4:00pm - End time: 4:25pm

Evan Williams, Jihoo Kim, Aidan Webster, YewKen Chai, Kathryn Rohlfing

Discussed:

  • Met with client for the first time
  • Introductions
  • Currently shouldn’t be a need for a server
    • Primarily local, web-based tool 
  • Will be provided with sample code for stats analysis, already has some python code
  • UI is from scratch, can use figure in proposal as reference (can make changes as needed)
    • Similar to Voltaiq (but better)
  • Use Java or similar to import data created from python predictions
  • Next week schedule time to walk through lab, see test machine & data
    • Can all come, request to wear a mask
  • Needs to do 3 things listed in proposal 
  • Dr. Mitra recommended React/JS but open to using something else as needed
  • For next week:
    • Look at lab/equipment
    • Monday at 5 pm, in 2081 Black Engineering

1/27 - Class #3

Evan Williams, Jihoo Kim, Kathryn Rohlfing, YewKen Chai


Week 1 (1/17-1/21)

1/20 - Class #2

Evan Williams, Jihoo Kim, Kathryn Rohlfing, YewKen Chai


1/18 - Class #1

Evan Williams, Jihoo Kim, Kathryn Rohlfing, YewKen Chai