This course is part of the Algorithms for Battery Management Systems Specialization

Offered By

Algorithms for Battery Management Systems Specialization

University of Colorado System

About this Course

4.6

8 ratings

In this course, you will learn how to implement different state-of-charge estimation methods and to evaluate their relative merits. By the end of the course, you will be able to:
- Implement simple voltage-based and current-based state-of-charge estimators and understand their limitations
- Explain the purpose of each step in the sequential-probabilistic-inference solution
- Execute provided Octave/MATLAB script for a linear Kalman filter and evaluate results
- Execute provided Octave/MATLAB script for state-of-charge estimation using an extended Kalman filter on lab-test data and evaluate results
- Execute provided Octave/MATLAB script for state-of-charge estimation using an sigma-point Kalman filter on lab-test data and evaluate results
- Implement method to detect and discard faulty voltage-sensor measurements

Start instantly and learn at your own schedule.

Reset deadlines in accordance to your schedule.

Suggested: 11 hours/week...

Subtitles: English

Start instantly and learn at your own schedule.

Reset deadlines in accordance to your schedule.

Suggested: 11 hours/week...

Subtitles: English

Week

1This week, you will learn some rigorous definitions needed when discussing SOC estimation and some simple but poor methods to estimate SOC. As background to learning some better methods, we will review concepts from probability theory that are needed to be able to deal with the impact of uncertain noises on a system's internal state and measurements made by a BMS....

8 videos (Total 120 min), 13 readings, 7 quizzes

3.1.2: What is the importance of a good SOC estimator?8m

3.1.3: How do we define SOC carefully?16m

3.1.4: What are some approaches to estimating battery cell SOC?26m

3.1.5: Understanding uncertainty via mean and covariance17m

3.1.6: Understanding joint uncertainty of two unknown quantities15m

3.1.7: Understanding time-varying uncertain quantities22m

3.1.8: Summary of "The importance of a good SOC estimator" and next steps3m

Notes for lesson 3.1.11m

Frequently Asked Questions5m

Course Resources5m

How to Use Discussion Forums5m

Earn a Course Certificate5m

Notes for lesson 3.1.21m

Notes for lesson 3.1.31m

Notes for lesson 3.1.41m

Introducing a new element to the course!10m

Notes for lesson 3.1.51m

Notes for lesson 3.1.61m

Notes for lesson 3.1.71m

Notes for lesson 3.1.81m

Practice quiz for lesson 3.1.210m

Practice quiz for lesson 3.1.310m

Practice quiz for lesson 3.1.410m

Practice quiz for lesson 3.1.515m

Practice quiz for lesson 3.1.610m

Practice quiz for lesson 3.1.76m

Quiz for week 140m

Week

2This week, you will learn how to derive the steps of the Gaussian sequential probabilistic inference solution, which is the basis for all Kalman-filtering style state estimators. While this content is highly theoretical, it is important to have a solid foundational understanding of these topics in practice, since real applications often violate some of the assumptions that are made in the derivation, and we must understand the implication this has on the process. By the end of the week, you will know how to derive the linear Kalman filter....

6 videos (Total 97 min), 6 readings, 6 quizzes

3.2.2: The Kalman-filter gain factor23m

3.2.3: Summarizing the six steps of generic probabilistic inference9m

3.2.4: Deriving the three Kalman-filter prediction steps21m

3.2.5: Deriving the three Kalman-filter correction steps16m

3.2.6: Summary of "Introducing the linear KF as a state estimator" and next steps2m

Notes for lesson 3.2.11m

Notes for lesson 3.2.21m

Notes for lesson 3.2.31m

Notes for lesson 3.2.41m

Notes for lesson 3.2.51m

Notes for lesson 3.2.61m

Practice quiz for lesson 3.2.112m

Practice quiz for lesson 3.2.210m

Practice quiz for lesson 3.2.310m

Practice quiz for lesson 3.2.410m

Practice quiz for lesson 3.2.510m

Quiz for week 230m

Week

3The steps of a Kalman filter may appear abstract and mysterious. This week, you will learn different ways to think about and visualize the operation of the linear Kalman filter to give better intuition regarding how it operates. You will also learn how to implement a linear Kalman filter in Octave code, and how to evaluate outputs from the Kalman filter....

7 videos (Total 86 min), 7 readings, 7 quizzes

3.3.2: Introducing Octave code to generate correlated random numbers15m

3.3.3: Introducing Octave code to implement KF for linearized cell model10m

3.3.4: How do we improve numeric robustness of Kalman filter?10m

3.3.5: Can we automatically detect bad measurements with a Kalman filter?14m

3.3.6: How do I initialize and tune a Kalman filter?12m

3.3.7: Summary of "Coming to understand the linear KF" and next steps2m

Notes for lesson 3.3.11m

Notes for lesson 3.3.21m

Notes for lesson 3.3.31m

Notes for lesson 3.3.41m

Notes for lesson 3.3.51m

Notes for lesson 3.3.61m

Notes for lesson 3.3.71m

Practice quiz for lesson 3.3.110m

Practice quiz for lesson 3.3.210m

Practice quiz for lesson 3.3.310m

Practice quiz for lesson 3.3.410m

Practice quiz for lesson 3.3.510m

Practice quiz for lesson 3.3.610m

Quiz for week 330m

Week

4A linear Kalman filter can be used to estimate the internal state of a linear system. But, battery cells are nonlinear systems. This week, you will learn how to approximate the steps of the Gaussian sequential probabilistic inference solution for nonlinear systems, resulting in the "extended Kalman filter" (EKF). You will learn how to implement the EKF in Octave code, and how to use the EKF to estimate battery-cell SOC....

8 videos (Total 101 min), 8 readings, 7 quizzes

3.4.2: Deriving the three extended-Kalman-filter prediction steps15m

3.4.3: Deriving the three extended-Kalman-filter correction steps6m

3.4.4: Introducing a simple EKF example, with Octave code15m

3.4.5: Preparing to implement EKF on an ECM20m

3.4.6: Introducing Octave code to initialize and control EKF for SOC estimation13m

3.4.7: Introducing Octave code to update EKF for SOC estimation16m

3.4.8: Summary of "Cell SOC estimation using an EKF" and next steps2m

Notes for lesson 3.4.11m

Notes for lesson 3.4.21m

Notes for lesson 3.4.31m

Notes for lesson 3.4.41m

Notes for lesson 3.4.51m

Notes for lesson 3.4.61m

Notes for lesson 3.4.71m

Notes for lesson 3.4.81m

Practice quiz for lesson 3.4.110m

Practice quiz for lesson 3.4.210m

Practice quiz for lesson 3.4.310m

Practice quiz for lesson 3.4.410m

Practice quiz for lesson 3.4.510m

Practice quiz for lesson 3.4.710m

Quiz for week 430m

Week

5The EKF is the best known and most widely used nonlinear Kalman filter. But, it has some fundamental limitations that limit its performance for "very nonlinear" systems. This week, you will learn how to derive the sigma-point Kalman filter (sometimes called an "unscented Kalman filter") from the Gaussian sequential probabilistic inference steps. You will also learn how to implement this filter in Octave code and how to use it to estimate battery cell SOC....

7 videos (Total 116 min), 7 readings, 6 quizzes

3.5.2: Approximating uncertain variables using sigma points31m

3.5.3: Deriving the six sigma-point-Kalman-filter steps17m

3.5.4: Introducing a simple SPKF example with Octave code19m

3.5.5: Introducing Octave code to initialize and control SPKF for SOC estimation9m

3.5.6: Introducing Octave code to update SPKF for SOC estimation18m

3.5.7: Summary of "Cell SOC estimation using a SPFK" and next steps7m

Notes for lesson 3.5.11m

Notes for lesson 3.5.21m

Notes for lesson 3.5.31m

Notes for lesson 3.5.41m

Notes for lesson 3.5.51m

Notes for lesson 3.5.61m

Notes for lesson 3.5.71m

Practice quiz for lesson 3.5.110m

Practice quiz for lesson 3.5.210m

Practice quiz for lesson 3.5.310m

Practice quiz for lesson 3.5.46m

Practice quiz for lesson 3.5.610m

Quiz for week 530m

Week

6Kalman filtering requires that noises have zero mean. What do we do if the current-sensor has a dc bias error, as is often the case? How can we implement Kalman-filter type SOC estimators in a computationally efficient way for a battery pack comprising many cells? This week you will learn how to compensate for current-sensor bias error and how to implement the bar-delta method for computational efficiency. You will also learn about desktop validation as an approach for initial testing and tuning of BMS algorithms....

5 videos (Total 71 min), 5 readings, 4 quizzes

3.6.2: Developing a "bar" filter using an ECM6m

3.6.3: Developing the "delta" filters using an ECM15m

3.6.4: Introducing "desktop validation" as a method for predicting performance21m

3.6.5: Summary of "Improving computational efficiency using the bar-delta method" and next steps2m

Notes for lesson 3.6.11m

Notes for lesson 3.6.21m

Notes for lesson 3.6.31m

Notes for lesson 3.6.41m

Notes for lesson 3.6.51m

Quiz for lesson 3.6.115m

Quiz for lesson 3.6.210m

Quiz for lesson 3.6.310m

Quiz for lessons 3.6.4 and 3.6.515m

Week

7You have already learned that Kalman filters must be "tuned" by adjusting their process-noise, sensor-noise, and initial state-estimate covariance matrices in order to give acceptable performance over a wide range of operating scenarios. This final course module will give you some experience hand-tuning both an EKF and SPKF for SOC estimation. ...

2 quizzes

The University of Colorado is a recognized leader in higher education on the national and global stage. We collaborate to meet the diverse needs of our students and communities. We promote innovation, encourage discovery and support the extension of knowledge in ways unique to the state of Colorado and beyond....

In this specialization, you will learn the major functions that must be performed by a battery management system, how lithium-ion battery cells work and how to model their behaviors mathematically, and how to write algorithms (computer methods) to estimate state-of-charge, state-of-health, remaining energy, and available power, and how to balance cells in a battery pack....

When will I have access to the lectures and assignments?

Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

What will I get if I subscribe to this Specialization?

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

What is the refund policy?

Is financial aid available?

More questions? Visit the Learner Help Center.

Coursera provides universal access to the world’s best education,
partnering with top universities and organizations to offer courses online.