State of charge estimates how much usable charge or energy remains now. State of health compares a defined aging property, commonly capacity or resistance, with a reference condition. They are not one battery percentage, and SoH must name the property and reference behind the number.
A robot BMS estimates these states from cell voltage, pack or cell current, temperature and time. Measurement offset, unknown initial state, chemistry, load, rest, imbalance and aging all change error. Protection hardware can work correctly while the displayed estimate is inaccurate.
Use this guide with the robot power architecture guide and fleet allocation guide. Validate runtime with the actual robot mission profile.
Define SoC and each SoH metric separately
Charge SoC often expresses remaining ampere-hours relative to usable capacity, while energy SoC accounts for voltage over discharge. Define endpoints, temperature and usable window. Two systems can display the same percentage while predicting different deliverable energy.
Capacity SoH compares measured usable capacity with a new or rated reference. Resistance SoH tracks voltage sag and power capability. Keep both values when the robot needs runtime and peak-power prediction; combining them into one health score loses operational meaning.

Time-align voltage, current and temperature
Current integration and model correction require timestamps. A delay between current and voltage can make a load transient look like wrong resistance or wrong SoC. Record sensor sampling, filtering, communication and estimator update times on one clock.
Calibrate current gain, offset, direction and temperature drift. Verify cell-voltage channel accuracy and wiring drops. The Texas Instruments battery gauging application note provides implementation context, but the deployed pack still needs system-level calibration.
| Quantity | Meaning | Primary error | Validation |
|---|---|---|---|
| Cell voltage | Electrochemical and loaded voltage | Gain, offset, wiring drop | Precision reference |
| Pack current | Charge flow and power | Offset and direction | Bidirectional load |
| Temperature | Model and protection condition | Sensor placement | Thermal chamber |
| Time | Integration interval | Clock drift and gaps | Timestamp audit |
| Cell balance | Weakest-cell constraint | Missing channel or mismatch | Cell-level cycle |
Use coulomb counting with explicit error growth
Coulomb counting integrates measured current from an initial SoC. It responds during motion, but initial error and current-sensor offset accumulate. The estimator should propagate uncertainty and detect missing samples rather than returning a precise percentage after an unobserved interval.
Reset or correct integration only when valid evidence exists. Test long idle periods, small parasitic loads, reboot and clock discontinuity. Store charge throughput and sign conventions so charger and propulsion current cannot silently cancel in the wrong direction.
Apply open-circuit voltage correction only after valid rest
Open-circuit voltage can anchor SoC after the cell relaxes, using a chemistry- and temperature-specific curve. During and soon after robot load, terminal voltage contains ohmic and polarization effects. Treating every voltage sample as OCV causes SoC to jump with motion.
Define rest current, duration and temperature conditions before correction. Some chemistries have a flat OCV region that gives weak SoC information. Blend corrections gradually and retain confidence rather than forcing an exact value.

Separate BMS protection from estimator accuracy
The BMS measures cells and current, controls contactors or FETs, balances cells and enforces limits. These functions can protect the pack while SoC or SoH is biased. Conversely, an accurate estimate does not guarantee protection hardware interrupts a fault.
Test measurement, estimation and protection as separate layers. The TI humanoid robot BMS overview shows subsystem concerns; product selection and safety validation still depend on cell chemistry, pack energy and robot architecture.
| Test condition | Estimator expectation | Protection expectation | Operational result |
|---|---|---|---|
| Low temperature | Wider uncertainty, derating | Temperature limits active | Reduced mission range |
| High pulse load | Model voltage sag | Undervoltage response valid | No false empty state |
| Sensor offset | Drift detected | Independent limits retained | Maintenance flag |
| Weak cell | Cell constraint visible | Cell cutoff protected | Pack average not trusted |
| Restart | State restored with age | Outputs remain controlled | No false full state |
Use an equivalent-circuit model under load
An equivalent-circuit model represents open-circuit voltage, ohmic resistance and slower polarization behavior. A filter can combine model prediction with voltage observation. Accuracy depends on identified parameters across SoC, temperature and age.
Fit parameters from representative current profiles, not only gentle laboratory discharge. Check observability in flat-voltage regions. Preserve residuals so model mismatch is visible instead of being absorbed silently into SoC.
Update capacity health from controlled evidence
Capacity SoH needs a credible charge or energy interval between known endpoints. Robot operation rarely provides full cycles, so updates may be sparse or inferred from partial data. Do not declare capacity recovered because balancing temporarily increased usable pack range.
Record cell temperature, rate, cutoff and rest conditions with each capacity estimate. Compare ampere-hour and watt-hour results. Version the reference capacity because supplier rating, initial measured capacity and usable operational capacity differ.
Track resistance and power capability
Internal resistance produces voltage sag and heat under current. Estimate it from controlled pulses or model identification over matched conditions. Connector and cable resistance can appear inside a pack-level estimate unless voltage measurement points are defined.
Use resistance and source limits to predict allowable peak power without crossing cell voltage or temperature bounds. Revalidate after service because a loose connection can mimic cell aging and needs a different repair.
Let the weakest cell constrain the pack
A pack can show substantial average SoC while one weak cell reaches undervoltage under load. Monitor cell-level voltage, temperature and balance. Pack runtime ends at the first limiting cell, not at the arithmetic mean.
Test imbalance and a degraded cell. Quantify balance current and time. Balancing equalizes cell state near its operating region; it does not restore lost capacity or remove high resistance.
Predict robot runtime from the planned power profile
Remaining time equals available usable energy divided by future power only in a simplified steady case. Robots alternate locomotion, manipulation, compute, idle and charging. Use the planned task mix, payload and route to estimate energy and uncertainty.
Compare predicted and actual completion energy by mission class. Feed conservative feasibility into fleet allocation, but keep BMS protection authoritative. A scheduler should not order a mission solely because a central estimate is more optimistic.
Validate temperature, aging and sensor faults
Run cold, nominal and hot cycles; new, aged and imbalanced packs; continuous and pulsed loads; long rest and reboot. Inject current offset, missing cell samples, timestamp gaps and temperature bias. Measure SoC, capacity, resistance and runtime error separately.
Report maximum and percentile error over the defined test set. Include confidence and fallback behavior. An estimator that is accurate on average can still be unsafe near a low-energy cutoff.
Expose evidence and uncertainty to operations
Display SoC and SoH with timestamp, temperature, limiting cell, confidence, active derating and estimator mode. Log correction events and reasons. Operators need to distinguish a genuinely low pack from an estimator recovering after reboot.
Release with a traceable checklist.
- Define charge, energy, capacity and resistance metrics.
- Synchronize and calibrate every estimator input.
- Correct integration only under valid evidence.
- Model weakest-cell and temperature limits.
- Validate mission runtime and uncertainty on aged packs.
Frequently asked questions
Can battery voltage alone determine SoC?
Usually not during robot operation because load, temperature, relaxation and chemistry alter terminal voltage.
What does 80 percent SoH mean?
Only the declared metric: for example, measured usable capacity at 80 percent of a defined reference capacity.
Why does coulomb counting drift?
Initial-state error, current-sensor offset, gain error, missed samples and clock error accumulate over time.
Does cell balancing restore SoH?
No. It can reduce imbalance and improve usable pack range, but it does not recover lost capacity or resistance.
How is SoC converted into robot runtime?
Combine usable energy with the planned task power profile, temperature and uncertainty, then validate against missions.
Battery Estimation and Protection Boundary
Battery estimation does not replace cell protection, thermal design, charging controls or qualified pack safety review. Use chemistry- and product-specific data.